aq-fe-framework 0.1.886 → 0.1.888

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,12 +1,3 @@
1
- import {
2
- createGenericStore,
3
- useAppStore,
4
- useStore_Permission
5
- } from "./chunk-3P5GXZPO.mjs";
6
- import {
7
- utils_date,
8
- utils_mantineReactTable
9
- } from "./chunk-IRA4J5UX.mjs";
10
1
  import {
11
2
  utils_aq_mapBaseEntityToDomain,
12
3
  utils_aq_mapDomainToEntity,
@@ -18,6 +9,15 @@ import {
18
9
  utils_file_fileToAQDocumentType,
19
10
  utils_pdf_download
20
11
  } from "./chunk-E4JVWPXS.mjs";
12
+ import {
13
+ createGenericStore,
14
+ useAppStore,
15
+ useStore_Permission
16
+ } from "./chunk-3P5GXZPO.mjs";
17
+ import {
18
+ utils_date,
19
+ utils_mantineReactTable
20
+ } from "./chunk-PHIQKJYJ.mjs";
21
21
  import {
22
22
  baseColumns
23
23
  } from "./chunk-O7YCQQO5.mjs";
@@ -266,6 +266,7 @@ function MyButton(_a) {
266
266
  // src/core/button/MyButtonCreateUpdate.tsx
267
267
  import { Modal, ScrollArea, Space, Tooltip, useMantineColorScheme as useMantineColorScheme3 } from "@mantine/core";
268
268
  import { useDisclosure } from "@mantine/hooks";
269
+ import { notifications } from "@mantine/notifications";
269
270
 
270
271
  // src/core/layout/MyFlexColumn.tsx
271
272
  import { Flex } from "@mantine/core";
@@ -316,6 +317,13 @@ function MyButtonCreateUpdate({
316
317
  onSuccess == null ? void 0 : onSuccess(...args);
317
318
  },
318
319
  onError: (error) => {
320
+ if (error.message != null) {
321
+ notifications.show({
322
+ color: "red",
323
+ message: error.message
324
+ });
325
+ return;
326
+ }
319
327
  let parsed;
320
328
  try {
321
329
  parsed = JSON.parse(error.message);
@@ -995,11 +1003,11 @@ function MyLabelValueRow({
995
1003
  groupProps
996
1004
  }) {
997
1005
  return /* @__PURE__ */ jsxs10(Group5, __spreadProps(__spreadValues({ gap: 5, wrap: "nowrap" }, groupProps), { children: [
998
- /* @__PURE__ */ jsxs10(Text5, __spreadProps(__spreadValues({ fw: 600 }, labelProps), { children: [
1006
+ /* @__PURE__ */ jsxs10(Text5, __spreadProps(__spreadValues({ fw: 600, size: "sm" }, labelProps), { children: [
999
1007
  label,
1000
1008
  ":"
1001
1009
  ] })),
1002
- /* @__PURE__ */ jsx18(Text5, __spreadProps(__spreadValues({}, valueProps), { children: value }))
1010
+ /* @__PURE__ */ jsx18(Text5, __spreadProps(__spreadValues({ size: "sm" }, valueProps), { children: value }))
1003
1011
  ] }));
1004
1012
  }
1005
1013
 
@@ -9266,10 +9274,10 @@ function AcademicYearExport({ data: data2, table }) {
9266
9274
  };
9267
9275
  const exportData = data2.map((item) => {
9268
9276
  return __spreadProps(__spreadValues({}, item), {
9269
- academicYearStart: item.academicYearStart ? utils_date.toDDMMYYY(item.academicYearStart) : void 0,
9270
- academicYearEnd: item.academicYearEnd ? utils_date.toDDMMYYY(item.academicYearEnd) : void 0,
9271
- administrativeYearStart: item.administrativeYearStart ? utils_date.toDDMMYYY(item.administrativeYearStart) : void 0,
9272
- administrativeYearEnd: item.administrativeYearEnd ? utils_date.toDDMMYYY(item.administrativeYearEnd) : void 0
9277
+ academicYearStart: item.academicYearStart ? utils_date.toDDMMYYYY(item.academicYearStart) : void 0,
9278
+ academicYearEnd: item.academicYearEnd ? utils_date.toDDMMYYYY(item.academicYearEnd) : void 0,
9279
+ administrativeYearStart: item.administrativeYearStart ? utils_date.toDDMMYYYY(item.administrativeYearStart) : void 0,
9280
+ administrativeYearEnd: item.administrativeYearEnd ? utils_date.toDDMMYYYY(item.administrativeYearEnd) : void 0
9273
9281
  });
9274
9282
  });
9275
9283
  return /* @__PURE__ */ jsx82(
@@ -9278,10 +9286,10 @@ function AcademicYearExport({ data: data2, table }) {
9278
9286
  objectName: "Danh m\u1EE5c n\u0103m h\u1ECDc",
9279
9287
  data: table.getIsAllPageRowsSelected() ? exportData : table.getSelectedRowModel().rows.map((item) => {
9280
9288
  return __spreadProps(__spreadValues({}, item.original), {
9281
- academicYearStart: item.original.academicYearStart ? utils_date.toDDMMYYY(item.original.academicYearStart) : void 0,
9282
- academicYearEnd: item.original.academicYearEnd ? utils_date.toDDMMYYY(item.original.academicYearEnd) : void 0,
9283
- administrativeYearStart: item.original.administrativeYearStart ? utils_date.toDDMMYYY(item.original.administrativeYearStart) : void 0,
9284
- administrativeYearEnd: item.original.administrativeYearEnd ? utils_date.toDDMMYYY(item.original.administrativeYearEnd) : void 0
9289
+ academicYearStart: item.original.academicYearStart ? utils_date.toDDMMYYYY(item.original.academicYearStart) : void 0,
9290
+ academicYearEnd: item.original.academicYearEnd ? utils_date.toDDMMYYYY(item.original.academicYearEnd) : void 0,
9291
+ administrativeYearStart: item.original.administrativeYearStart ? utils_date.toDDMMYYYY(item.original.administrativeYearStart) : void 0,
9292
+ administrativeYearEnd: item.original.administrativeYearEnd ? utils_date.toDDMMYYYY(item.original.administrativeYearEnd) : void 0
9285
9293
  });
9286
9294
  }),
9287
9295
  exportConfig: exportConfig3
@@ -9782,22 +9790,22 @@ function AcademicYearsRead() {
9782
9790
  {
9783
9791
  header: "Ng\xE0y b\u1EAFt \u0111\u1EA7u n\u0103m h\u1ECDc",
9784
9792
  accessorKey: "startDate",
9785
- accessorFn: (row) => utils_date.toDDMMYYY(row.academicYearStart)
9793
+ accessorFn: (row) => utils_date.toDDMMYYYY(row.academicYearStart)
9786
9794
  },
9787
9795
  {
9788
9796
  header: "Ng\xE0y k\u1EBFt th\xFAc n\u0103m h\u1ECDc",
9789
9797
  accessorKey: "endDate",
9790
- accessorFn: (row) => utils_date.toDDMMYYY(row.academicYearEnd)
9798
+ accessorFn: (row) => utils_date.toDDMMYYYY(row.academicYearEnd)
9791
9799
  },
9792
9800
  {
9793
9801
  header: "Ng\xE0y b\u1EAFt \u0111\u1EA7u n\u0103m h\xE0nh ch\xEDnh",
9794
9802
  accessorKey: "startDateHC",
9795
- accessorFn: (row) => utils_date.toDDMMYYY(row.administrativeYearStart)
9803
+ accessorFn: (row) => utils_date.toDDMMYYYY(row.administrativeYearStart)
9796
9804
  },
9797
9805
  {
9798
9806
  header: "Ng\xE0y k\u1EBFt th\xFAc n\u0103m h\xE0nh ch\xEDnh",
9799
9807
  accessorKey: "endDateHC",
9800
- accessorFn: (row) => utils_date.toDDMMYYY(row.administrativeYearEnd)
9808
+ accessorFn: (row) => utils_date.toDDMMYYYY(row.administrativeYearEnd)
9801
9809
  },
9802
9810
  {
9803
9811
  header: "Hi\u1EC7n h\xE0nh",
@@ -13882,7 +13890,7 @@ function EmailTemplateButtonImport({ emailTemplateEnum }) {
13882
13890
  // src/modules-features/admin/core/EmailTemplate/EmailTemplateCreateUpdateButton.tsx
13883
13891
  import { Button as Button19, Grid as Grid6 } from "@mantine/core";
13884
13892
  import { useForm as useForm26 } from "@mantine/form";
13885
- import { notifications } from "@mantine/notifications";
13893
+ import { notifications as notifications2 } from "@mantine/notifications";
13886
13894
  import { useEffect as useEffect27, useMemo as useMemo24 } from "react";
13887
13895
  import { jsx as jsx171, jsxs as jsxs94 } from "react/jsx-runtime";
13888
13896
  var getDefaultBodyFortype1 = () => {
@@ -13990,7 +13998,7 @@ function EmailTemplateCreateUpdateButton({ initValue, emailTemplateEnum }) {
13990
13998
  const typeName = emailTemplateEnum[values.type || 0] || `Type ${values.type}`;
13991
13999
  const errorMessage = `Lo\u1EA1i h\xE0nh \u0111\u1ED9ng "${typeName}" \u0111\xE3 t\u1ED3n t\u1EA1i. Ch\u1EC9 \u0111\u01B0\u1EE3c t\u1EA1o 1 Template trong 1 lo\u1EA1i h\xE0nh \u0111\u1ED9ng.`;
13992
14000
  form.setFieldError("type", errorMessage);
13993
- notifications.show({
14001
+ notifications2.show({
13994
14002
  title: "L\u1ED7i t\u1EA1o template",
13995
14003
  message: errorMessage,
13996
14004
  color: "red",
@@ -14446,7 +14454,7 @@ function SubRead4({
14446
14454
  },
14447
14455
  {
14448
14456
  header: "Ng\xE0y ban h\xE0nh",
14449
- accessorFn: (row) => utils_date.toDDMMYYY(new Date(row.promulgateDate))
14457
+ accessorFn: (row) => utils_date.toDDMMYYYY(new Date(row.promulgateDate))
14450
14458
  },
14451
14459
  {
14452
14460
  header: "T\xEAn t\xE0i li\u1EC7u",
@@ -15380,7 +15388,7 @@ function SubRead5({
15380
15388
  },
15381
15389
  {
15382
15390
  header: "Ng\xE0y ban h\xE0nh",
15383
- accessorFn: (row) => utils_date.toDDMMYYY(new Date(row.promulgateDate))
15391
+ accessorFn: (row) => utils_date.toDDMMYYYY(new Date(row.promulgateDate))
15384
15392
  },
15385
15393
  {
15386
15394
  header: "T\xEAn t\xE0i li\u1EC7u",
@@ -15577,7 +15585,7 @@ function Feat_PageContentTable({ menuData }) {
15577
15585
 
15578
15586
  // src/modules-features/admin/core/pageContentConfig/F_pageContentConfig_ReadMenu.tsx
15579
15587
  import { Group as Group32 } from "@mantine/core";
15580
- import { notifications as notifications2 } from "@mantine/notifications";
15588
+ import { notifications as notifications3 } from "@mantine/notifications";
15581
15589
  import { useMemo as useMemo33, useState as useState24 } from "react";
15582
15590
 
15583
15591
  // src/modules-features/admin/core/pageContentConfig/F_pageContentConfig_Export.tsx
@@ -15682,7 +15690,7 @@ function F_pageContentConfig_ReadMenu({ menuData }) {
15682
15690
  });
15683
15691
  setEditedDescriptions((prev) => __spreadValues(__spreadValues({}, prev), updated));
15684
15692
  table.resetRowSelection();
15685
- notifications2.show({
15693
+ notifications3.show({
15686
15694
  message: "X\xF3a th\xE0nh c\xF4ng",
15687
15695
  color: "green"
15688
15696
  });
@@ -16130,7 +16138,7 @@ function Adapter_UserTable(_a) {
16130
16138
 
16131
16139
  // src/modules/User/adapter/Adapter_UserAddToRole.tsx
16132
16140
  import { useDisclosure as useDisclosure16 } from "@mantine/hooks";
16133
- import { notifications as notifications3 } from "@mantine/notifications";
16141
+ import { notifications as notifications4 } from "@mantine/notifications";
16134
16142
  import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
16135
16143
  import { useEffect as useEffect35, useState as useState26 } from "react";
16136
16144
  import { jsx as jsx214 } from "react/jsx-runtime";
@@ -16165,7 +16173,7 @@ function Adapter_UserAddToRole({
16165
16173
  onSuccess: () => {
16166
16174
  disc[1].close();
16167
16175
  queryClient.invalidateQueries();
16168
- notifications3.show({
16176
+ notifications4.show({
16169
16177
  message: "C\u1EADp nh\u1EADt th\xE0nh c\xF4ng",
16170
16178
  color: "green"
16171
16179
  });
@@ -17216,7 +17224,7 @@ function SubRead6({
17216
17224
  },
17217
17225
  {
17218
17226
  header: "Ng\xE0y ban h\xE0nh",
17219
- accessorFn: (row) => utils_date.toDDMMYYY(new Date(row.promulgateDate))
17227
+ accessorFn: (row) => utils_date.toDDMMYYYY(new Date(row.promulgateDate))
17220
17228
  },
17221
17229
  {
17222
17230
  header: "T\xEAn t\xE0i li\u1EC7u",
@@ -17289,7 +17297,7 @@ import {
17289
17297
  Title as Title2
17290
17298
  } from "@mantine/core";
17291
17299
  import { useForm as useForm44 } from "@mantine/form";
17292
- import { notifications as notifications4 } from "@mantine/notifications";
17300
+ import { notifications as notifications5 } from "@mantine/notifications";
17293
17301
  import { useMutation as useMutation4 } from "@tanstack/react-query";
17294
17302
  import Link4 from "next/link.js";
17295
17303
  import { useRouter as useRouter4 } from "next/navigation.js";
@@ -17383,7 +17391,7 @@ function Feat_Authenticate_Login({
17383
17391
  router.replace(redirectUrlAfterLogin);
17384
17392
  },
17385
17393
  onError: (error) => {
17386
- notifications4.show({
17394
+ notifications5.show({
17387
17395
  message: "C\xF3 l\u1ED7i x\u1EA3y ra vui l\xF2ng th\u1EED l\u1EA1i",
17388
17396
  color: "red"
17389
17397
  });
@@ -17761,6 +17769,19 @@ function User_AvatarMenu() {
17761
17769
  ] });
17762
17770
  }
17763
17771
 
17772
+ // src/modules/User/components/SessionUserInfo/User_SessionUserInfo.tsx
17773
+ import { Card as Card5 } from "@mantine/core";
17774
+ import { jsx as jsx245, jsxs as jsxs135 } from "react/jsx-runtime";
17775
+ function User_SessionUserInfo() {
17776
+ const authenticateStore = useStore_Authenticate();
17777
+ const fullName = authenticateStore.state.fullName || null;
17778
+ const code = authenticateStore.state.code || null;
17779
+ return /* @__PURE__ */ jsxs135(Card5, { bg: const_object_colors.mantineBackgroundTealLight, children: [
17780
+ /* @__PURE__ */ jsx245(MyLabelValueRow, { label: "T\xE0i kho\u1EA3n", value: code }),
17781
+ /* @__PURE__ */ jsx245(MyLabelValueRow, { label: "H\u1ECD v\xE0 t\xEAn", value: fullName })
17782
+ ] });
17783
+ }
17784
+
17764
17785
  // src/components/Layouts/BasicAppShell/utils.ts
17765
17786
  function findBreadcrumbPath(items, currentPath, parents = []) {
17766
17787
  for (const item of items) {
@@ -17880,7 +17901,7 @@ function extractLinkedMenuItems(menu) {
17880
17901
  }
17881
17902
 
17882
17903
  // src/components/Layouts/BasicAppShell/BasicAppShell.tsx
17883
- import { jsx as jsx245, jsxs as jsxs135 } from "react/jsx-runtime";
17904
+ import { jsx as jsx246, jsxs as jsxs136 } from "react/jsx-runtime";
17884
17905
  function base64ToFaviconUrl(base64, ext) {
17885
17906
  const byteCharacters = atob(base64.trim());
17886
17907
  const byteArray = new Uint8Array([...byteCharacters].map((c4) => c4.charCodeAt(0)));
@@ -17974,25 +17995,25 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17974
17995
  }
17975
17996
  }, [pathname, allChildItems, filteredMenu, readablePageIds, pageContentQuery.data]);
17976
17997
  const canAccess = isDev || isAccessible || permissionStore.state.isSuperAdmin;
17977
- const renderHeader = () => /* @__PURE__ */ jsx245(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs135(Group37, { h: "100%", px: "md", justify: "space-between", children: [
17978
- /* @__PURE__ */ jsxs135(Group37, { h: "100%", children: [
17979
- /* @__PURE__ */ jsx245(Tooltip7, { label: appShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu", children: /* @__PURE__ */ jsx245(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx245(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx245(IconLayoutSidebarLeftCollapse, {}) }) }),
17980
- /* @__PURE__ */ jsx245(Tooltip7, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx245(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.clearGroupMenuOpenId, children: /* @__PURE__ */ jsx245(IconLibraryMinus, {}) }) })
17998
+ const renderHeader = () => /* @__PURE__ */ jsx246(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs136(Group37, { h: "100%", px: "md", justify: "space-between", children: [
17999
+ /* @__PURE__ */ jsxs136(Group37, { h: "100%", children: [
18000
+ /* @__PURE__ */ jsx246(Tooltip7, { label: appShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu", children: /* @__PURE__ */ jsx246(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx246(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx246(IconLayoutSidebarLeftCollapse, {}) }) }),
18001
+ /* @__PURE__ */ jsx246(Tooltip7, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx246(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.clearGroupMenuOpenId, children: /* @__PURE__ */ jsx246(IconLibraryMinus, {}) }) })
17981
18002
  ] }),
17982
- /* @__PURE__ */ jsx245(Tooltip7, { label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`, children: /* @__PURE__ */ jsx245(Group37, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx245(Text27, { c: "green", fw: "bold", size: "sm", children: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}` }) }) }),
17983
- /* @__PURE__ */ jsxs135(Group37, { children: [
18003
+ /* @__PURE__ */ jsx246(Tooltip7, { label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`, children: /* @__PURE__ */ jsx246(Group37, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx246(Text27, { c: "green", fw: "bold", size: "sm", children: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}` }) }) }),
18004
+ /* @__PURE__ */ jsxs136(Group37, { children: [
17984
18005
  extraTopRight,
17985
- /* @__PURE__ */ jsx245(MySwitchTheme, {}),
17986
- /* @__PURE__ */ jsx245(User_AvatarMenu, {})
18006
+ /* @__PURE__ */ jsx246(MySwitchTheme, {}),
18007
+ /* @__PURE__ */ jsx246(User_AvatarMenu, {})
17987
18008
  ] })
17988
- ] }) : /* @__PURE__ */ jsxs135(Group37, { h: "100%", px: "md", justify: "space-between", children: [
17989
- /* @__PURE__ */ jsx245(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx245(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx245(IconLayoutSidebarLeftCollapse, {}) }),
17990
- /* @__PURE__ */ jsx245(
18009
+ ] }) : /* @__PURE__ */ jsxs136(Group37, { h: "100%", px: "md", justify: "space-between", children: [
18010
+ /* @__PURE__ */ jsx246(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx246(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx246(IconLayoutSidebarLeftCollapse, {}) }),
18011
+ /* @__PURE__ */ jsx246(
17991
18012
  Tooltip7,
17992
18013
  {
17993
18014
  label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`,
17994
18015
  withArrow: true,
17995
- children: /* @__PURE__ */ jsx245(
18016
+ children: /* @__PURE__ */ jsx246(
17996
18017
  Text27,
17997
18018
  {
17998
18019
  c: "green",
@@ -18013,21 +18034,23 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
18013
18034
  )
18014
18035
  }
18015
18036
  ),
18016
- /* @__PURE__ */ jsxs135(Group37, { children: [
18037
+ /* @__PURE__ */ jsxs136(Group37, { children: [
18017
18038
  extraTopRight,
18018
- /* @__PURE__ */ jsx245(MySwitchTheme, {}),
18019
- /* @__PURE__ */ jsx245(User_AvatarMenu, {})
18039
+ /* @__PURE__ */ jsx246(MySwitchTheme, {}),
18040
+ /* @__PURE__ */ jsx246(User_AvatarMenu, {})
18020
18041
  ] })
18021
18042
  ] }) });
18022
18043
  const renderNavbar = () => {
18023
18044
  var _a, _b;
18024
- return /* @__PURE__ */ jsxs135(AppShell.Navbar, { children: [
18025
- /* @__PURE__ */ jsx245(MyAppSpotlight, { menu: filteredMenu }),
18026
- /* @__PURE__ */ jsx245(AppShell.Section, { grow: true, component: ScrollArea6, p: 5, children: /* @__PURE__ */ jsx245(RenderNavLinks, { items: filteredMenu }) }),
18027
- /* @__PURE__ */ jsxs135(AppShell.Section, { px: "md", children: [
18028
- /* @__PURE__ */ jsx245(Divider4, {}),
18029
- /* @__PURE__ */ jsx245(Feat_Authenticate_Logout, { redirectURL: logoutRedirect }),
18030
- /* @__PURE__ */ jsx245(
18045
+ return /* @__PURE__ */ jsxs136(AppShell.Navbar, { children: [
18046
+ /* @__PURE__ */ jsx246(MyAppSpotlight, { menu: filteredMenu }),
18047
+ /* @__PURE__ */ jsx246(AppShell.Section, { grow: true, component: ScrollArea6, p: 5, children: /* @__PURE__ */ jsx246(RenderNavLinks, { items: filteredMenu }) }),
18048
+ /* @__PURE__ */ jsxs136(AppShell.Section, { px: "md", children: [
18049
+ /* @__PURE__ */ jsx246(Divider4, {}),
18050
+ /* @__PURE__ */ jsx246(User_SessionUserInfo, {}),
18051
+ /* @__PURE__ */ jsx246(Divider4, {}),
18052
+ /* @__PURE__ */ jsx246(Feat_Authenticate_Logout, { redirectURL: logoutRedirect }),
18053
+ /* @__PURE__ */ jsx246(
18031
18054
  Image4,
18032
18055
  {
18033
18056
  fit: "contain",
@@ -18041,11 +18064,11 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
18041
18064
  ] })
18042
18065
  ] });
18043
18066
  };
18044
- const renderMain = () => /* @__PURE__ */ jsx245(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children: isLoadingPermission ? /* @__PURE__ */ jsx245("div", { style: { padding: "2rem", textAlign: "center" }, children: /* @__PURE__ */ jsx245(Text27, { fw: 600, size: "md", children: "\u0110ang t\u1EA3i quy\u1EC1n truy c\u1EADp..." }) }) : canAccess ? children : /* @__PURE__ */ jsxs135("div", { style: { padding: "2rem", textAlign: "center" }, children: [
18045
- /* @__PURE__ */ jsx245("h1", { children: "404 - Kh\xF4ng t\xECm th\u1EA5y trang" }),
18046
- /* @__PURE__ */ jsx245("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." })
18067
+ const renderMain = () => /* @__PURE__ */ jsx246(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children: isLoadingPermission ? /* @__PURE__ */ jsx246("div", { style: { padding: "2rem", textAlign: "center" }, children: /* @__PURE__ */ jsx246(Text27, { fw: 600, size: "md", children: "\u0110ang t\u1EA3i quy\u1EC1n truy c\u1EADp..." }) }) : canAccess ? children : /* @__PURE__ */ jsxs136("div", { style: { padding: "2rem", textAlign: "center" }, children: [
18068
+ /* @__PURE__ */ jsx246("h1", { children: "404 - Kh\xF4ng t\xECm th\u1EA5y trang" }),
18069
+ /* @__PURE__ */ jsx246("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." })
18047
18070
  ] }) });
18048
- return /* @__PURE__ */ jsxs135(
18071
+ return /* @__PURE__ */ jsxs136(
18049
18072
  AppShell,
18050
18073
  {
18051
18074
  header: { height: 60 },
@@ -18069,10 +18092,10 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
18069
18092
 
18070
18093
  // src/components/Layouts/Container/MyContainer.tsx
18071
18094
  import { Container, Flex as Flex9 } from "@mantine/core";
18072
- import { jsx as jsx246 } from "react/jsx-runtime";
18095
+ import { jsx as jsx247 } from "react/jsx-runtime";
18073
18096
  function MyContainer(_a) {
18074
18097
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
18075
- return /* @__PURE__ */ jsx246(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx246(Flex9, { direction: "column", children }) }));
18098
+ return /* @__PURE__ */ jsx247(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx247(Flex9, { direction: "column", children }) }));
18076
18099
  }
18077
18100
 
18078
18101
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
@@ -18118,7 +18141,7 @@ function useHeaderMegaMenuStore() {
18118
18141
  }
18119
18142
 
18120
18143
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
18121
- import { jsx as jsx247, jsxs as jsxs136 } from "react/jsx-runtime";
18144
+ import { jsx as jsx248, jsxs as jsxs137 } from "react/jsx-runtime";
18122
18145
  var mockdata = [
18123
18146
  {
18124
18147
  icon: IconCode,
@@ -18156,27 +18179,27 @@ function HeaderMegaMenu({ children, menus }) {
18156
18179
  const [linksOpened, { toggle: toggleLinks }] = useDisclosure19(false);
18157
18180
  const HeaderMegaMenuStore = useHeaderMegaMenuStore();
18158
18181
  const theme = useMantineTheme();
18159
- const links = mockdata.map((item) => /* @__PURE__ */ jsx247(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs136(Group38, { wrap: "nowrap", align: "flex-start", children: [
18160
- /* @__PURE__ */ jsx247(ThemeIcon3, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx247(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
18161
- /* @__PURE__ */ jsxs136("div", { children: [
18162
- /* @__PURE__ */ jsx247(Text28, { size: "sm", fw: 500, children: item.title }),
18163
- /* @__PURE__ */ jsx247(Text28, { size: "xs", c: "dimmed", children: item.description })
18182
+ const links = mockdata.map((item) => /* @__PURE__ */ jsx248(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs137(Group38, { wrap: "nowrap", align: "flex-start", children: [
18183
+ /* @__PURE__ */ jsx248(ThemeIcon3, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx248(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
18184
+ /* @__PURE__ */ jsxs137("div", { children: [
18185
+ /* @__PURE__ */ jsx248(Text28, { size: "sm", fw: 500, children: item.title }),
18186
+ /* @__PURE__ */ jsx248(Text28, { size: "xs", c: "dimmed", children: item.description })
18164
18187
  ] })
18165
18188
  ] }) }, item.title));
18166
- return /* @__PURE__ */ jsxs136(Box6, { children: [
18167
- /* @__PURE__ */ jsx247("header", { className: css_default.header, children: /* @__PURE__ */ jsxs136(Group38, { justify: "space-between", h: "100%", children: [
18168
- /* @__PURE__ */ jsxs136(Group38, { children: [
18169
- /* @__PURE__ */ jsx247(Image5, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
18170
- /* @__PURE__ */ jsx247(Group38, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx247(Button26, { component: Link5, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
18189
+ return /* @__PURE__ */ jsxs137(Box6, { children: [
18190
+ /* @__PURE__ */ jsx248("header", { className: css_default.header, children: /* @__PURE__ */ jsxs137(Group38, { justify: "space-between", h: "100%", children: [
18191
+ /* @__PURE__ */ jsxs137(Group38, { children: [
18192
+ /* @__PURE__ */ jsx248(Image5, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
18193
+ /* @__PURE__ */ jsx248(Group38, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx248(Button26, { component: Link5, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
18171
18194
  ] }),
18172
- /* @__PURE__ */ jsxs136(Group38, { children: [
18173
- /* @__PURE__ */ jsx247(TextInput12, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx247(IconSearch6, {}), radius: "xl", w: "250px" }),
18174
- /* @__PURE__ */ jsx247(MySwitchTheme, {})
18195
+ /* @__PURE__ */ jsxs137(Group38, { children: [
18196
+ /* @__PURE__ */ jsx248(TextInput12, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx248(IconSearch6, {}), radius: "xl", w: "250px" }),
18197
+ /* @__PURE__ */ jsx248(MySwitchTheme, {})
18175
18198
  ] }),
18176
- /* @__PURE__ */ jsx247(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
18199
+ /* @__PURE__ */ jsx248(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
18177
18200
  ] }) }),
18178
- /* @__PURE__ */ jsx247(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
18179
- /* @__PURE__ */ jsx247(
18201
+ /* @__PURE__ */ jsx248(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
18202
+ /* @__PURE__ */ jsx248(
18180
18203
  Drawer,
18181
18204
  {
18182
18205
  opened: drawerOpened,
@@ -18186,10 +18209,10 @@ function HeaderMegaMenu({ children, menus }) {
18186
18209
  title: "Navigation",
18187
18210
  hiddenFrom: "sm",
18188
18211
  zIndex: 1e6,
18189
- children: /* @__PURE__ */ jsxs136(ScrollArea7, { h: "calc(100vh - 80px", mx: "-md", children: [
18190
- /* @__PURE__ */ jsx247(Divider5, { my: "sm" }),
18191
- /* @__PURE__ */ jsx247(MyFlexColumn2, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx247(Button26, { component: Link5, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
18192
- /* @__PURE__ */ jsx247(Divider5, { my: "sm" })
18212
+ children: /* @__PURE__ */ jsxs137(ScrollArea7, { h: "calc(100vh - 80px", mx: "-md", children: [
18213
+ /* @__PURE__ */ jsx248(Divider5, { my: "sm" }),
18214
+ /* @__PURE__ */ jsx248(MyFlexColumn2, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx248(Button26, { component: Link5, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
18215
+ /* @__PURE__ */ jsx248(Divider5, { my: "sm" })
18193
18216
  ] })
18194
18217
  }
18195
18218
  )
@@ -18210,7 +18233,7 @@ var service_aq = __spreadProps(__spreadValues({}, createBaseApi(CONTROLLER12, ba
18210
18233
  // src/components/Layouts/PageContent/MyPageContent.tsx
18211
18234
  import { Badge as Badge6, Breadcrumbs, Center as Center12, Container as Container3, Divider as Divider6, Flex as Flex10, Group as Group39, Stack as Stack11, Text as Text29, Title as Title4, Tooltip as Tooltip8 } from "@mantine/core";
18212
18235
  import { useClipboard, useDisclosure as useDisclosure20 } from "@mantine/hooks";
18213
- import { notifications as notifications5 } from "@mantine/notifications";
18236
+ import { notifications as notifications6 } from "@mantine/notifications";
18214
18237
  import { IconBrandParsinta } from "@tabler/icons-react";
18215
18238
  import { useEffect as useEffect42 } from "react";
18216
18239
 
@@ -18237,7 +18260,7 @@ function getFinalLinkVieo(url) {
18237
18260
  }
18238
18261
 
18239
18262
  // src/components/Layouts/PageContent/MyPageContent.tsx
18240
- import { jsx as jsx248, jsxs as jsxs137 } from "react/jsx-runtime";
18263
+ import { jsx as jsx249, jsxs as jsxs138 } from "react/jsx-runtime";
18241
18264
  var getStatusColor = (status) => {
18242
18265
  switch (status) {
18243
18266
  case "Prototype":
@@ -18250,10 +18273,10 @@ var getStatusColor = (status) => {
18250
18273
  };
18251
18274
  function PageTitle({ title, status, note }) {
18252
18275
  const color = getStatusColor(status);
18253
- return /* @__PURE__ */ jsx248(Group39, { children: /* @__PURE__ */ jsxs137(MyFlexColumn2, { gap: 0, children: [
18254
- /* @__PURE__ */ jsxs137(Group39, { align: "center", children: [
18255
- /* @__PURE__ */ jsx248(Title4, { order: 3, children: title }),
18256
- status && /* @__PURE__ */ jsx248(
18276
+ return /* @__PURE__ */ jsx249(Group39, { children: /* @__PURE__ */ jsxs138(MyFlexColumn2, { gap: 0, children: [
18277
+ /* @__PURE__ */ jsxs138(Group39, { align: "center", children: [
18278
+ /* @__PURE__ */ jsx249(Title4, { order: 3, children: title }),
18279
+ status && /* @__PURE__ */ jsx249(
18257
18280
  Badge6,
18258
18281
  {
18259
18282
  variant: "gradient",
@@ -18264,7 +18287,7 @@ function PageTitle({ title, status, note }) {
18264
18287
  }
18265
18288
  )
18266
18289
  ] }),
18267
- /* @__PURE__ */ jsx248(Text29, { size: "lg", c: "dimmed", fs: "italic", children: note })
18290
+ /* @__PURE__ */ jsx249(Text29, { size: "lg", c: "dimmed", fs: "italic", children: note })
18268
18291
  ] }) });
18269
18292
  }
18270
18293
  function MyPageContent({
@@ -18292,13 +18315,13 @@ function MyPageContent({
18292
18315
  if (!query.data) return;
18293
18316
  basicAppShellStore.setProperty("fileGuildDetail", query.data);
18294
18317
  }, [query.data]);
18295
- return /* @__PURE__ */ jsxs137(Container3, { p: 0, fluid: true, children: [
18296
- /* @__PURE__ */ jsxs137(Group39, { justify: "space-between", children: [
18297
- /* @__PURE__ */ jsxs137(Group39, { children: [
18298
- /* @__PURE__ */ jsx248(MyButtonRouterBack, {}),
18299
- /* @__PURE__ */ jsxs137(Stack11, { gap: 2, children: [
18300
- /* @__PURE__ */ jsxs137(Flex10, { align: "center", gap: "10", children: [
18301
- /* @__PURE__ */ jsx248(
18318
+ return /* @__PURE__ */ jsxs138(Container3, { p: 0, fluid: true, children: [
18319
+ /* @__PURE__ */ jsxs138(Group39, { justify: "space-between", children: [
18320
+ /* @__PURE__ */ jsxs138(Group39, { children: [
18321
+ /* @__PURE__ */ jsx249(MyButtonRouterBack, {}),
18322
+ /* @__PURE__ */ jsxs138(Stack11, { gap: 2, children: [
18323
+ /* @__PURE__ */ jsxs138(Flex10, { align: "center", gap: "10", children: [
18324
+ /* @__PURE__ */ jsx249(
18302
18325
  PageTitle,
18303
18326
  {
18304
18327
  title: finalTitle,
@@ -18306,7 +18329,7 @@ function MyPageContent({
18306
18329
  note: basicAppShellStore.state.note
18307
18330
  }
18308
18331
  ),
18309
- /* @__PURE__ */ jsx248(Tooltip8, { label: "Xem video h\u01B0\u1EDBng d\u1EABn", children: /* @__PURE__ */ jsx248(
18332
+ /* @__PURE__ */ jsx249(Tooltip8, { label: "Xem video h\u01B0\u1EDBng d\u1EABn", children: /* @__PURE__ */ jsx249(
18310
18333
  MyButtonModal,
18311
18334
  {
18312
18335
  isActionIcon: true,
@@ -18319,11 +18342,11 @@ function MyPageContent({
18319
18342
  size: "80%"
18320
18343
  },
18321
18344
  actionIconProps: {
18322
- children: /* @__PURE__ */ jsx248(IconBrandParsinta, {}),
18345
+ children: /* @__PURE__ */ jsx249(IconBrandParsinta, {}),
18323
18346
  disabled: basicAppShellStore.state.videoLink == void 0 || basicAppShellStore.state.videoLink == "",
18324
18347
  color: "red"
18325
18348
  },
18326
- children: /* @__PURE__ */ jsx248(Center12, { h: "67vh", p: "md", children: getFinalLinkVieo(basicAppShellStore.state.videoLink || "") == "" ? "\u0110\u01B0\u1EDDng d\u1EABn video kh\xF4ng h\u1EE3p l\u1EC7" : /* @__PURE__ */ jsx248(
18349
+ children: /* @__PURE__ */ jsx249(Center12, { h: "67vh", p: "md", children: getFinalLinkVieo(basicAppShellStore.state.videoLink || "") == "" ? "\u0110\u01B0\u1EDDng d\u1EABn video kh\xF4ng h\u1EE3p l\u1EC7" : /* @__PURE__ */ jsx249(
18327
18350
  "iframe",
18328
18351
  {
18329
18352
  width: "90%",
@@ -18337,7 +18360,7 @@ function MyPageContent({
18337
18360
  ) })
18338
18361
  }
18339
18362
  ) }),
18340
- /* @__PURE__ */ jsx248(
18363
+ /* @__PURE__ */ jsx249(
18341
18364
  MyButtonViewFile,
18342
18365
  {
18343
18366
  isActionIcon: true,
@@ -18355,38 +18378,38 @@ function MyPageContent({
18355
18378
  }
18356
18379
  )
18357
18380
  ] }),
18358
- /* @__PURE__ */ jsx248(Text29, { children: basicAppShellStore.state.description })
18381
+ /* @__PURE__ */ jsx249(Text29, { children: basicAppShellStore.state.description })
18359
18382
  ] }),
18360
18383
  leftTopBar
18361
18384
  ] }),
18362
- /* @__PURE__ */ jsxs137(Group39, { p: "md", children: [
18385
+ /* @__PURE__ */ jsxs138(Group39, { p: "md", children: [
18363
18386
  rightTopBar,
18364
- /* @__PURE__ */ jsx248(Breadcrumbs, { style: { cursor: "pointer" }, separatorMargin: "7", onClick: () => {
18387
+ /* @__PURE__ */ jsx249(Breadcrumbs, { style: { cursor: "pointer" }, separatorMargin: "7", onClick: () => {
18365
18388
  var _a2;
18366
18389
  clipboard.copy((_a2 = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a2.join(" / "));
18367
- notifications5.show({
18390
+ notifications6.show({
18368
18391
  message: "Sao ch\xE9p \u0111\u01B0\u1EDDng d\u1EABn menu th\xE0nh c\xF4ng"
18369
18392
  });
18370
- }, children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx248(Text29, { fw: "600", c: "blue", children: item }, idx)) })
18393
+ }, children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx249(Text29, { fw: "600", c: "blue", children: item }, idx)) })
18371
18394
  ] })
18372
18395
  ] }),
18373
- /* @__PURE__ */ jsx248(Divider6, { my: "xs" }),
18396
+ /* @__PURE__ */ jsx249(Divider6, { my: "xs" }),
18374
18397
  children,
18375
- /* @__PURE__ */ jsx248(Divider6, { my: "xs" })
18398
+ /* @__PURE__ */ jsx249(Divider6, { my: "xs" })
18376
18399
  ] });
18377
18400
  }
18378
18401
 
18379
18402
  // src/components/Layouts/Tab/MyTab.tsx
18380
18403
  import { rem, Space as Space10, Tabs as Tabs4 } from "@mantine/core";
18381
- import { jsx as jsx249, jsxs as jsxs138 } from "react/jsx-runtime";
18404
+ import { jsx as jsx250, jsxs as jsxs139 } from "react/jsx-runtime";
18382
18405
  function MyTab(_a) {
18383
18406
  var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
18384
18407
  const iconStyle = { width: rem(20), height: rem(20) };
18385
- return /* @__PURE__ */ jsxs138(Tabs4, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
18386
- /* @__PURE__ */ jsx249(Tabs4.List, { children: tabList.map((item, idx) => {
18387
- return /* @__PURE__ */ jsx249(Tabs4.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx249(item.icon, { style: iconStyle }), children: item.label }, idx);
18408
+ return /* @__PURE__ */ jsxs139(Tabs4, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
18409
+ /* @__PURE__ */ jsx250(Tabs4.List, { children: tabList.map((item, idx) => {
18410
+ return /* @__PURE__ */ jsx250(Tabs4.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx250(item.icon, { style: iconStyle }), children: item.label }, idx);
18388
18411
  }) }),
18389
- /* @__PURE__ */ jsx249(Space10, { my: "md" }),
18412
+ /* @__PURE__ */ jsx250(Space10, { my: "md" }),
18390
18413
  children
18391
18414
  ] }));
18392
18415
  }
@@ -18395,33 +18418,33 @@ function MyTab(_a) {
18395
18418
  import { ActionIcon as ActionIcon13, Button as Button27, Fieldset as Fieldset5, Group as Group40, Modal as Modal16 } from "@mantine/core";
18396
18419
  import { useDisclosure as useDisclosure21 } from "@mantine/hooks";
18397
18420
  import { IconX as IconX4 } from "@tabler/icons-react";
18398
- import { jsx as jsx250, jsxs as jsxs139 } from "react/jsx-runtime";
18421
+ import { jsx as jsx251, jsxs as jsxs140 } from "react/jsx-runtime";
18399
18422
  function MyDataTableSelect(_a) {
18400
18423
  var _b = _a, { modalSize, renderTopToolbarCustomActions, data: data2, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
18401
18424
  const disc = useDisclosure21(false);
18402
18425
  if (data2 == void 0) return "\u0110ang t\u1EA3i...";
18403
- return /* @__PURE__ */ jsxs139(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
18404
- /* @__PURE__ */ jsx250(
18426
+ return /* @__PURE__ */ jsxs140(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
18427
+ /* @__PURE__ */ jsx251(
18405
18428
  MyDataTable,
18406
18429
  __spreadValues({
18407
18430
  renderTopToolbarCustomActions: ({ table }) => {
18408
- return /* @__PURE__ */ jsxs139(Group40, { children: [
18431
+ return /* @__PURE__ */ jsxs140(Group40, { children: [
18409
18432
  renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
18410
- /* @__PURE__ */ jsx250(Button27, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
18433
+ /* @__PURE__ */ jsx251(Button27, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
18411
18434
  ] });
18412
18435
  },
18413
18436
  columns,
18414
18437
  data: listState[0],
18415
18438
  renderRowActions: ({ row }) => {
18416
- return /* @__PURE__ */ jsx250(MyCenterFull, { children: /* @__PURE__ */ jsx250(ActionIcon13, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx250(IconX4, {}) }) });
18439
+ return /* @__PURE__ */ jsx251(MyCenterFull, { children: /* @__PURE__ */ jsx251(ActionIcon13, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx251(IconX4, {}) }) });
18417
18440
  }
18418
18441
  }, rest)
18419
18442
  ),
18420
- /* @__PURE__ */ jsx250(Modal16, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx250(
18443
+ /* @__PURE__ */ jsx251(Modal16, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx251(
18421
18444
  MyDataTable,
18422
18445
  __spreadValues({
18423
18446
  renderTopToolbarCustomActions: ({ table }) => {
18424
- return /* @__PURE__ */ jsx250(Button27, { onClick: () => {
18447
+ return /* @__PURE__ */ jsx251(Button27, { onClick: () => {
18425
18448
  table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
18426
18449
  disc[1].close();
18427
18450
  }, children: "Ch\u1ECDn" });
@@ -18437,7 +18460,7 @@ function MyDataTableSelect(_a) {
18437
18460
  // src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
18438
18461
  import { Select as Select10 } from "@mantine/core";
18439
18462
  import { useQuery as useQuery13 } from "@tanstack/react-query";
18440
- import { jsx as jsx251 } from "react/jsx-runtime";
18463
+ import { jsx as jsx252 } from "react/jsx-runtime";
18441
18464
  function MySelectAPIGet(_a) {
18442
18465
  var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
18443
18466
  var _a2;
@@ -18456,7 +18479,7 @@ function MySelectAPIGet(_a) {
18456
18479
  label: `${item.code}-${item.name}`
18457
18480
  };
18458
18481
  });
18459
- return /* @__PURE__ */ jsx251(
18482
+ return /* @__PURE__ */ jsx252(
18460
18483
  Select10,
18461
18484
  __spreadValues({
18462
18485
  label,
@@ -18471,7 +18494,7 @@ import { useNextCalendarApp as useNextCalendarApp2, ScheduleXCalendar as Schedul
18471
18494
  import { createEventsServicePlugin as createEventsServicePlugin2 } from "@schedule-x/events-service";
18472
18495
  import { useState as useState31 } from "react";
18473
18496
  import { createEventModalPlugin as createEventModalPlugin2 } from "@schedule-x/event-modal";
18474
- import { jsx as jsx252 } from "react/jsx-runtime";
18497
+ import { jsx as jsx253 } from "react/jsx-runtime";
18475
18498
  function MyScheduleX({
18476
18499
  values,
18477
18500
  timeGridEvent,
@@ -18496,7 +18519,7 @@ function MyScheduleX({
18496
18519
  events: values,
18497
18520
  plugins: [eventsService, eventModalPlugin]
18498
18521
  });
18499
- return /* @__PURE__ */ jsx252(
18522
+ return /* @__PURE__ */ jsx253(
18500
18523
  ScheduleXCalendar2,
18501
18524
  {
18502
18525
  calendarApp: calendar,
@@ -18510,9 +18533,9 @@ function MyScheduleX({
18510
18533
 
18511
18534
  // src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
18512
18535
  import { Skeleton as Skeleton8 } from "@mantine/core";
18513
- import { jsx as jsx253 } from "react/jsx-runtime";
18536
+ import { jsx as jsx254 } from "react/jsx-runtime";
18514
18537
  function MySkeletonTable({ h: h5 = 500 }) {
18515
- return /* @__PURE__ */ jsx253(Skeleton8, { h: h5 });
18538
+ return /* @__PURE__ */ jsx254(Skeleton8, { h: h5 });
18516
18539
  }
18517
18540
 
18518
18541
  // src/core/overlays/MyModalStackImport/Usecase/FileImportConfigModal.tsx
@@ -18526,15 +18549,29 @@ import {
18526
18549
  Stack as Stack12,
18527
18550
  Text as Text30
18528
18551
  } from "@mantine/core";
18529
- import { notifications as notifications6 } from "@mantine/notifications";
18552
+ import { notifications as notifications7 } from "@mantine/notifications";
18530
18553
  import { IconCircleFilled } from "@tabler/icons-react";
18531
18554
  import { useEffect as useEffect43, useMemo as useMemo42, useState as useState32 } from "react";
18532
18555
  import * as XLSX4 from "xlsx";
18533
- import { jsx as jsx254, jsxs as jsxs140 } from "react/jsx-runtime";
18556
+ import { jsx as jsx255, jsxs as jsxs141 } from "react/jsx-runtime";
18557
+ function toVietnamTime(utcString) {
18558
+ const utcDate = new Date(utcString);
18559
+ const vnDate = new Date(utcDate.getTime() + 7 * 60 * 60 * 1e3);
18560
+ const year = vnDate.getFullYear();
18561
+ const month = String(vnDate.getMonth() + 1).padStart(2, "0");
18562
+ const day = String(vnDate.getDate()).padStart(2, "0");
18563
+ return `${year}-${month}-${day}`;
18564
+ }
18534
18565
  function isValidDateFormat(dateStr) {
18535
- const mmddyy = /^\d{1,2}\/\d{1,2}\/\d{2}$/;
18536
18566
  const ddmmyyyy = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
18537
- return mmddyy.test(dateStr) || ddmmyyyy.test(dateStr);
18567
+ return ddmmyyyy.test(dateStr);
18568
+ }
18569
+ function isValidDate(dateStr) {
18570
+ const regex = /^\d{4}-\d{2}-\d{2}$/;
18571
+ if (!regex.test(dateStr)) return false;
18572
+ const [year, month, day] = dateStr.split("-").map(Number);
18573
+ const date = new Date(year, month - 1, day);
18574
+ return date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day;
18538
18575
  }
18539
18576
  function toIsoDate(dateStr) {
18540
18577
  const mmddyy = /^\d{1,2}\/\d{1,2}\/\d{2}$/;
@@ -18550,9 +18587,8 @@ function toIsoDate(dateStr) {
18550
18587
  return null;
18551
18588
  }
18552
18589
  function formatForDisplay(value) {
18553
- if (typeof value === "string" && /^\d{4}-\d{2}-\d{2}$/.test(value)) {
18554
- const [year, month, day] = value.split("-");
18555
- return `${day}/${month}/${year}`;
18590
+ if (isValidDate(value)) {
18591
+ return utils_date.toDDMMYYYY(value);
18556
18592
  }
18557
18593
  return value;
18558
18594
  }
@@ -18576,12 +18612,14 @@ function FileImportConfigModal(_a) {
18576
18612
  const data2 = await file2.arrayBuffer();
18577
18613
  const workbook = XLSX4.read(data2, { cellDates: true });
18578
18614
  const sheet = workbook.Sheets[workbook.SheetNames[0]];
18579
- const json = XLSX4.utils.sheet_to_json(sheet, { header: 1, raw: false });
18615
+ const json = XLSX4.utils.sheet_to_json(sheet, { header: 1 });
18580
18616
  const parsed = json.map(
18581
18617
  (row) => row.map((cell) => {
18582
- if (typeof cell === "string" && isValidDateFormat(cell)) {
18583
- const iso = toIsoDate(cell);
18584
- return iso != null ? iso : cell;
18618
+ if (cell instanceof Date) {
18619
+ return toVietnamTime(cell.toString());
18620
+ }
18621
+ if (isValidDateFormat(cell)) {
18622
+ return toIsoDate(cell);
18585
18623
  }
18586
18624
  return cell;
18587
18625
  })
@@ -18639,15 +18677,15 @@ function FileImportConfigModal(_a) {
18639
18677
  setDataStartIndex((parseInt(titleIndex) + 1).toString());
18640
18678
  }
18641
18679
  }, [titleIndex]);
18642
- return /* @__PURE__ */ jsx254(
18680
+ return /* @__PURE__ */ jsx255(
18643
18681
  Modal17,
18644
18682
  __spreadProps(__spreadValues({
18645
18683
  title: "Import",
18646
18684
  size: "80%"
18647
18685
  }, rest), {
18648
- children: /* @__PURE__ */ jsxs140(Stack12, { children: [
18649
- /* @__PURE__ */ jsxs140(Grid9, { children: [
18650
- /* @__PURE__ */ jsx254(Grid9.Col, { span: 12, children: /* @__PURE__ */ jsx254(
18686
+ children: /* @__PURE__ */ jsxs141(Stack12, { children: [
18687
+ /* @__PURE__ */ jsxs141(Grid9, { children: [
18688
+ /* @__PURE__ */ jsx255(Grid9.Col, { span: 12, children: /* @__PURE__ */ jsx255(
18651
18689
  FileInput17,
18652
18690
  {
18653
18691
  error: fileInputError[0],
@@ -18658,36 +18696,36 @@ function FileImportConfigModal(_a) {
18658
18696
  onChange: handleSelectFile
18659
18697
  }
18660
18698
  ) }),
18661
- /* @__PURE__ */ jsx254(Grid9.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx254(
18699
+ /* @__PURE__ */ jsx255(Grid9.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx255(
18662
18700
  Select11,
18663
18701
  {
18664
18702
  searchable: false,
18665
18703
  value: titleIndex,
18666
18704
  onChange: setTitleIndex,
18667
- label: /* @__PURE__ */ jsxs140(Group41, { children: [
18668
- /* @__PURE__ */ jsx254(IconCircleFilled, { size: 20, color: const_object_colors.mantineBackgroundTealLight }),
18669
- /* @__PURE__ */ jsx254(Text30, { children: "D\xF2ng ti\xEAu \u0111\u1EC1 b\u1EAFt \u0111\u1EA7u t\u1EEB" })
18705
+ label: /* @__PURE__ */ jsxs141(Group41, { children: [
18706
+ /* @__PURE__ */ jsx255(IconCircleFilled, { size: 20, color: const_object_colors.mantineBackgroundTealLight }),
18707
+ /* @__PURE__ */ jsx255(Text30, { children: "D\xF2ng ti\xEAu \u0111\u1EC1 b\u1EAFt \u0111\u1EA7u t\u1EEB" })
18670
18708
  ] }),
18671
18709
  data: rawData.map((_5, i5) => (i5 + 1).toString()),
18672
18710
  disabled: !file
18673
18711
  }
18674
18712
  ) }),
18675
- /* @__PURE__ */ jsx254(Grid9.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx254(
18713
+ /* @__PURE__ */ jsx255(Grid9.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx255(
18676
18714
  Select11,
18677
18715
  {
18678
18716
  searchable: false,
18679
18717
  value: dataStartIndex,
18680
18718
  onChange: setDataStartIndex,
18681
- label: /* @__PURE__ */ jsxs140(Group41, { children: [
18682
- /* @__PURE__ */ jsx254(IconCircleFilled, { size: 20, color: const_object_colors.mantineBackgroundBlueLight }),
18683
- /* @__PURE__ */ jsx254(Text30, { children: "D\xF2ng d\u1EEF li\u1EC7u b\u1EAFt \u0111\u1EA7u t\u1EEB" })
18719
+ label: /* @__PURE__ */ jsxs141(Group41, { children: [
18720
+ /* @__PURE__ */ jsx255(IconCircleFilled, { size: 20, color: const_object_colors.mantineBackgroundBlueLight }),
18721
+ /* @__PURE__ */ jsx255(Text30, { children: "D\xF2ng d\u1EEF li\u1EC7u b\u1EAFt \u0111\u1EA7u t\u1EEB" })
18684
18722
  ] }),
18685
18723
  data: rawData.map((_5, i5) => (i5 + 1).toString()).filter((i5) => !titleIndex || parseInt(i5) > parseInt(titleIndex)),
18686
18724
  disabled: !file || !titleIndex
18687
18725
  }
18688
18726
  ) })
18689
18727
  ] }),
18690
- /* @__PURE__ */ jsx254(MyFieldset, { title: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u", children: /* @__PURE__ */ jsx254(
18728
+ /* @__PURE__ */ jsx255(MyFieldset, { title: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u", children: /* @__PURE__ */ jsx255(
18691
18729
  MyDataTable,
18692
18730
  {
18693
18731
  mantineTableBodyRowProps: ({ row }) => {
@@ -18704,21 +18742,21 @@ function FileImportConfigModal(_a) {
18704
18742
  data: tableDisplayData
18705
18743
  }
18706
18744
  ) }),
18707
- /* @__PURE__ */ jsxs140(Group41, { justify: "end", children: [
18708
- /* @__PURE__ */ jsx254(
18745
+ /* @__PURE__ */ jsxs141(Group41, { justify: "end", children: [
18746
+ /* @__PURE__ */ jsx255(
18709
18747
  Button28,
18710
18748
  {
18711
18749
  onClick: onExportStructure,
18712
18750
  children: "Xu\u1EA5t file c\u1EA5u tr\xFAc"
18713
18751
  }
18714
18752
  ),
18715
- /* @__PURE__ */ jsx254(Button28, { onClick: () => {
18753
+ /* @__PURE__ */ jsx255(Button28, { onClick: () => {
18716
18754
  if (file == null) {
18717
18755
  fileInputError[1]("Vui l\xF2ng ch\u1ECDn file");
18718
18756
  return;
18719
18757
  }
18720
18758
  if (dataStartIndex == "" || dataStartIndex == null) {
18721
- notifications6.show({
18759
+ notifications7.show({
18722
18760
  message: "D\xF2ng d\u1EEF li\u1EC7u b\u1EAFt \u0111\u1EA7u kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
18723
18761
  color: "red"
18724
18762
  });
@@ -18727,7 +18765,7 @@ function FileImportConfigModal(_a) {
18727
18765
  fileInputError[1]("");
18728
18766
  onContinute == null ? void 0 : onContinute();
18729
18767
  }, children: "Ti\u1EBFp t\u1EE5c" }),
18730
- /* @__PURE__ */ jsx254(Button28, { variant: "outline", onClick: rest.onClose, children: "\u0110\xF3ng" })
18768
+ /* @__PURE__ */ jsx255(Button28, { variant: "outline", onClick: rest.onClose, children: "\u0110\xF3ng" })
18731
18769
  ] })
18732
18770
  ] })
18733
18771
  })
@@ -18737,7 +18775,7 @@ function FileImportConfigModal(_a) {
18737
18775
  // src/core/overlays/MyModalStackImport/MyModalImport.tsx
18738
18776
  import { Modal as Modal18 } from "@mantine/core";
18739
18777
  import { useState as useState33 } from "react";
18740
- import { jsx as jsx255, jsxs as jsxs141 } from "react/jsx-runtime";
18778
+ import { jsx as jsx256, jsxs as jsxs142 } from "react/jsx-runtime";
18741
18779
  function MyModalImport({
18742
18780
  fieldDefinition = [],
18743
18781
  stack,
@@ -18748,8 +18786,8 @@ function MyModalImport({
18748
18786
  const value = useState33([]);
18749
18787
  const valueMapping = useState33([]);
18750
18788
  const [detailRows, setDetailRows] = useState33([]);
18751
- return /* @__PURE__ */ jsxs141(Modal18.Stack, { children: [
18752
- /* @__PURE__ */ jsx255(
18789
+ return /* @__PURE__ */ jsxs142(Modal18.Stack, { children: [
18790
+ /* @__PURE__ */ jsx256(
18753
18791
  FileImportConfigModal,
18754
18792
  __spreadValues({
18755
18793
  value: value[0],
@@ -18764,7 +18802,7 @@ function MyModalImport({
18764
18802
  }
18765
18803
  }, stack.register("FileImportConfig"))
18766
18804
  ),
18767
- /* @__PURE__ */ jsx255(
18805
+ /* @__PURE__ */ jsx256(
18768
18806
  FileFieldMappingModal,
18769
18807
  __spreadValues({
18770
18808
  jsonData: value[0],
@@ -18788,7 +18826,7 @@ function MyModalImport({
18788
18826
 
18789
18827
  // src/core/overlays/MyModalStackImport/Usecase/FileImportValidationDetailModal.tsx
18790
18828
  import { Modal as Modal19, Table as Table5, Text as Text31 } from "@mantine/core";
18791
- import { jsx as jsx256, jsxs as jsxs142 } from "react/jsx-runtime";
18829
+ import { jsx as jsx257, jsxs as jsxs143 } from "react/jsx-runtime";
18792
18830
 
18793
18831
  // src/core/overlays/MyModalStackImport/Usecase/FileImportValidationModal.tsx
18794
18832
  import {
@@ -18797,15 +18835,15 @@ import {
18797
18835
  Modal as Modal20,
18798
18836
  Table as Table6
18799
18837
  } from "@mantine/core";
18800
- import { jsx as jsx257, jsxs as jsxs143 } from "react/jsx-runtime";
18838
+ import { jsx as jsx258, jsxs as jsxs144 } from "react/jsx-runtime";
18801
18839
 
18802
18840
  // src/core/withAPI/CustomDataTableAPI.tsx
18803
- import { jsx as jsx258 } from "react/jsx-runtime";
18841
+ import { jsx as jsx259 } from "react/jsx-runtime";
18804
18842
 
18805
18843
  // src/core/withAPI/MyButtonViewFileAPI.tsx
18806
18844
  import { useDisclosure as useDisclosure22 } from "@mantine/hooks";
18807
18845
  import { useQuery as useQuery14 } from "@tanstack/react-query";
18808
- import { jsx as jsx259 } from "react/jsx-runtime";
18846
+ import { jsx as jsx260 } from "react/jsx-runtime";
18809
18847
  function MyButtonViewFileAPI({ filePath }) {
18810
18848
  const disc = useDisclosure22();
18811
18849
  const query = useQuery14({
@@ -18816,7 +18854,7 @@ function MyButtonViewFileAPI({ filePath }) {
18816
18854
  },
18817
18855
  enabled: filePath != void 0 && disc[0]
18818
18856
  });
18819
- return /* @__PURE__ */ jsx259(
18857
+ return /* @__PURE__ */ jsx260(
18820
18858
  MyButtonViewFile,
18821
18859
  {
18822
18860
  file: query.data,
@@ -26,7 +26,7 @@ var utils_currency = {
26
26
 
27
27
  // src/utils-v2/utils_date.ts
28
28
  var utils_date = {
29
- toDDMMYYY(date) {
29
+ toDDMMYYYY(date) {
30
30
  const parsedDate = typeof date === "string" ? new Date(date) : date;
31
31
  if (!(parsedDate instanceof Date) || isNaN(parsedDate.getTime())) return "";
32
32
  const day = String(parsedDate.getDate()).padStart(2, "0");
@@ -34,7 +34,7 @@ var utils_date = {
34
34
  const year = parsedDate.getFullYear();
35
35
  return `${day}/${month}/${year}`;
36
36
  },
37
- toMMYYY(date) {
37
+ toMMYYYY(date) {
38
38
  const parsedDate = typeof date === "string" ? new Date(date) : date;
39
39
  if (!(parsedDate instanceof Date) || isNaN(parsedDate.getTime())) return "";
40
40
  const month = String(parsedDate.getMonth() + 1).padStart(2, "0");
@@ -70,10 +70,10 @@ import {
70
70
  useHeaderMegaMenuStore,
71
71
  useS_ButtonImport,
72
72
  useStore_BasicAppShell
73
- } from "../chunk-PGV27XKS.mjs";
74
- import "../chunk-3P5GXZPO.mjs";
75
- import "../chunk-IRA4J5UX.mjs";
73
+ } from "../chunk-AHTTLRL5.mjs";
76
74
  import "../chunk-E4JVWPXS.mjs";
75
+ import "../chunk-3P5GXZPO.mjs";
76
+ import "../chunk-PHIQKJYJ.mjs";
77
77
  import "../chunk-O7YCQQO5.mjs";
78
78
  import "../chunk-QSWIVDXC.mjs";
79
79
  import "../chunk-FE4HVT67.mjs";
@@ -29,10 +29,10 @@ import {
29
29
  MyStatsCard,
30
30
  MyTextInput2 as MyTextInput,
31
31
  MyWeeklySessionSchedulerPicker
32
- } from "../chunk-PGV27XKS.mjs";
33
- import "../chunk-3P5GXZPO.mjs";
34
- import "../chunk-IRA4J5UX.mjs";
32
+ } from "../chunk-AHTTLRL5.mjs";
35
33
  import "../chunk-E4JVWPXS.mjs";
34
+ import "../chunk-3P5GXZPO.mjs";
35
+ import "../chunk-PHIQKJYJ.mjs";
36
36
  import "../chunk-O7YCQQO5.mjs";
37
37
  import "../chunk-QSWIVDXC.mjs";
38
38
  import "../chunk-FE4HVT67.mjs";
@@ -113,10 +113,10 @@ import {
113
113
  MailTemplateDeleteButton,
114
114
  useS_moduleConfig,
115
115
  useStore_Authenticate
116
- } from "../chunk-PGV27XKS.mjs";
117
- import "../chunk-3P5GXZPO.mjs";
118
- import "../chunk-IRA4J5UX.mjs";
116
+ } from "../chunk-AHTTLRL5.mjs";
119
117
  import "../chunk-E4JVWPXS.mjs";
118
+ import "../chunk-3P5GXZPO.mjs";
119
+ import "../chunk-PHIQKJYJ.mjs";
120
120
  import "../chunk-O7YCQQO5.mjs";
121
121
  import "../chunk-QSWIVDXC.mjs";
122
122
  import "../chunk-FE4HVT67.mjs";
@@ -4,12 +4,12 @@ import {
4
4
  } from "../chunk-RGUQWALX.mjs";
5
5
  import {
6
6
  MySelect
7
- } from "../chunk-PGV27XKS.mjs";
7
+ } from "../chunk-AHTTLRL5.mjs";
8
+ import "../chunk-E4JVWPXS.mjs";
8
9
  import "../chunk-3P5GXZPO.mjs";
9
10
  import {
10
11
  utils_converter
11
- } from "../chunk-IRA4J5UX.mjs";
12
- import "../chunk-E4JVWPXS.mjs";
12
+ } from "../chunk-PHIQKJYJ.mjs";
13
13
  import "../chunk-O7YCQQO5.mjs";
14
14
  import "../chunk-QSWIVDXC.mjs";
15
15
  import "../chunk-FE4HVT67.mjs";
@@ -34,7 +34,7 @@ declare function utils_currency_formatWithSuffix(amount: number, suffix?: string
34
34
 
35
35
  /**
36
36
  * @deprecated Hàm này không xài nữa nha mấy ní
37
- * Vui lòng dùng `utils_date.toDDMMYYY` từ `utils-v2` thay thế.
37
+ * Vui lòng dùng `utils_date.toDDMMYYYY` từ `utils-v2` thay thế.
38
38
  */
39
39
  declare function utils_date_dateToDDMMYYYString(date?: Date | string): string;
40
40
  /**
@@ -13,8 +13,8 @@ declare const utils_currency: {
13
13
  };
14
14
 
15
15
  declare const utils_date: {
16
- toDDMMYYY(date?: Date | string): string;
17
- toMMYYY(date?: Date | string): string;
16
+ toDDMMYYYY(date?: Date | string): string;
17
+ toMMYYYY(date?: Date | string): string;
18
18
  toHHmm(date: Date): string;
19
19
  toDateTime(date?: Date | string, WithSeconds?: boolean): string;
20
20
  toDateTimeStartEnd(startDate: Date, endDate: Date): string;
@@ -7,7 +7,7 @@ import {
7
7
  utils_mantineReactTable,
8
8
  utils_text,
9
9
  utils_time
10
- } from "../chunk-IRA4J5UX.mjs";
10
+ } from "../chunk-PHIQKJYJ.mjs";
11
11
  import "../chunk-JD6AELXS.mjs";
12
12
  export {
13
13
  normalizeDate,
package/package.json CHANGED
@@ -54,7 +54,7 @@
54
54
  "types": "./dist/types/index.d.mts"
55
55
  }
56
56
  },
57
- "version": "0.1.886",
57
+ "version": "0.1.888",
58
58
  "private": false,
59
59
  "files": [
60
60
  "dist"