aq-fe-framework 0.1.1091 → 0.1.1093

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.
@@ -5,7 +5,7 @@ import { MRT_RowData, MRT_TableOptions, MRT_ColumnDef } from 'mantine-react-tabl
5
5
  interface MyDataTableInternalProps<TData extends MRT_RowData> extends Omit<MyDataTableProps<TData>, "columns" | "data"> {
6
6
  }
7
7
  interface MyColumnDef<TData extends MRT_RowData> extends MRT_ColumnDef<TData> {
8
- type?: 'currency' | "currencyWithSuffix" | 'ddMMyyyy' | 'MMyyyy' | 'squareCheck' | "list" | "gender" | "roundedTo2" | "round" | "viewFile";
8
+ type?: 'currency' | "currencyWithSuffix" | 'ddMMyyyy' | 'MMyyyy' | 'squareCheck' | "list" | "gender" | "roundedTo2" | "round" | "viewFile" | "html";
9
9
  }
10
10
  interface PaginationState {
11
11
  pageIndex: number;
@@ -665,6 +665,7 @@ function MyButtonCreateUpdate({
665
665
  })
666
666
  }));
667
667
  useEffect3(() => {
668
+ if (!initValues) return;
668
669
  if (disclosure[0]) {
669
670
  if (isUpdate && initValues) form.setValues(initValues);
670
671
  else form.reset();
@@ -2142,6 +2143,28 @@ function MyCenterFull({ children }) {
2142
2143
  return /* @__PURE__ */ jsx34(Center3, { w: "100%", children: /* @__PURE__ */ jsx34(Group8, { children }) });
2143
2144
  }
2144
2145
 
2146
+ // src/components/Layouts/HtmlWrapper/MyHtmlWrapper.tsx
2147
+ import { Typography } from "@mantine/core";
2148
+ import pako from "pako";
2149
+ import { jsx as jsx35 } from "react/jsx-runtime";
2150
+ function MyHtmlWrapper(_a) {
2151
+ var _b = _a, { html, mah, zip = false } = _b, rest = __objRest(_b, ["html", "mah", "zip"]);
2152
+ const extractHtmlFromZip = () => {
2153
+ const binaryString = Buffer.from(html, "base64");
2154
+ const decompressedData = pako.inflate(binaryString, { to: "string" });
2155
+ const cleanedHtml = decompressedData == null ? void 0 : decompressedData.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
2156
+ return cleanedHtml.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
2157
+ };
2158
+ return /* @__PURE__ */ jsx35(Typography, { children: /* @__PURE__ */ jsx35(
2159
+ "div",
2160
+ {
2161
+ dangerouslySetInnerHTML: {
2162
+ __html: zip ? extractHtmlFromZip() : html
2163
+ }
2164
+ }
2165
+ ) });
2166
+ }
2167
+
2145
2168
  // src/components/DataDisplay/DataTable/MyDataTable.tsx
2146
2169
  import { Alert, Center as Center4, Group as Group9, List, Portal, Text as Text6 } from "@mantine/core";
2147
2170
  import { IconBug } from "@tabler/icons-react";
@@ -2151,7 +2174,7 @@ import {
2151
2174
  } from "mantine-react-table";
2152
2175
  import { MRT_Localization_VI } from "mantine-react-table/locales/vi/index.cjs";
2153
2176
  import { useEffect as useEffect6, useMemo as useMemo3 } from "react";
2154
- import { jsx as jsx35, jsxs as jsxs18 } from "react/jsx-runtime";
2177
+ import { jsx as jsx36, jsxs as jsxs18 } from "react/jsx-runtime";
2155
2178
  function MyDataTable(_a) {
2156
2179
  var _b = _a, {
2157
2180
  rowActionSize,
@@ -2218,7 +2241,7 @@ function MyDataTable(_a) {
2218
2241
  case "squareCheck":
2219
2242
  col.Cell = ({ cell }) => {
2220
2243
  const value = cell.getValue();
2221
- return /* @__PURE__ */ jsx35(MyCenterFull, { children: /* @__PURE__ */ jsx35(CustomThemeIconSquareCheck, { checked: value }) });
2244
+ return /* @__PURE__ */ jsx36(MyCenterFull, { children: /* @__PURE__ */ jsx36(CustomThemeIconSquareCheck, { checked: value }) });
2222
2245
  };
2223
2246
  col.size = 100;
2224
2247
  break;
@@ -2233,7 +2256,7 @@ function MyDataTable(_a) {
2233
2256
  col.Cell = ({ cell }) => {
2234
2257
  const value = cell.getValue();
2235
2258
  if (value.length == 0) return;
2236
- return /* @__PURE__ */ jsx35(List, { children: value.map((item, idx) => /* @__PURE__ */ jsx35(List.Item, { children: item }, idx)) });
2259
+ return /* @__PURE__ */ jsx36(List, { children: value.map((item, idx) => /* @__PURE__ */ jsx36(List.Item, { children: item }, idx)) });
2237
2260
  };
2238
2261
  col.size = 300;
2239
2262
  break;
@@ -2254,14 +2277,21 @@ function MyDataTable(_a) {
2254
2277
  case "viewFile":
2255
2278
  col.Cell = ({ cell }) => {
2256
2279
  const value = cell.getValue();
2257
- return /* @__PURE__ */ jsx35(MyButtonViewFileAPI, { filePath: value });
2280
+ return /* @__PURE__ */ jsx36(MyButtonViewFileAPI, { filePath: value });
2281
+ };
2282
+ col.size = 80;
2283
+ break;
2284
+ case "html":
2285
+ col.Cell = ({ cell }) => {
2286
+ const value = cell.getValue();
2287
+ return /* @__PURE__ */ jsx36(MyHtmlWrapper, { html: value });
2258
2288
  };
2259
2289
  col.size = 80;
2260
2290
  break;
2261
2291
  default:
2262
2292
  col.Cell = ({ cell }) => {
2263
2293
  var _a3;
2264
- return /* @__PURE__ */ jsx35("span", { children: (_a3 = cell.getValue()) != null ? _a3 : "" });
2294
+ return /* @__PURE__ */ jsx36("span", { children: (_a3 = cell.getValue()) != null ? _a3 : "" });
2265
2295
  };
2266
2296
  }
2267
2297
  return col;
@@ -2295,7 +2325,7 @@ function MyDataTable(_a) {
2295
2325
  positionActionsColumn: "last",
2296
2326
  enableColumnResizing: true,
2297
2327
  renderTopToolbarCustomActions: ({ table: table2 }) => {
2298
- return /* @__PURE__ */ jsx35(Group9, { children: renderTopToolbarCustomActions == null ? void 0 : renderTopToolbarCustomActions({ table: table2 }) });
2328
+ return /* @__PURE__ */ jsx36(Group9, { children: renderTopToolbarCustomActions == null ? void 0 : renderTopToolbarCustomActions({ table: table2 }) });
2299
2329
  },
2300
2330
  layoutMode: "semantic",
2301
2331
  displayColumnDefOptions: {
@@ -2323,9 +2353,9 @@ function MyDataTable(_a) {
2323
2353
  }
2324
2354
  },
2325
2355
  localization: MRT_Localization_VI,
2326
- renderEmptyRowsFallback: () => isError ? /* @__PURE__ */ jsx35(Alert, { icon: /* @__PURE__ */ jsx35(IconBug, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" }) : /* @__PURE__ */ jsxs18(Center4, { p: "md", children: [
2356
+ renderEmptyRowsFallback: () => isError ? /* @__PURE__ */ jsx36(Alert, { icon: /* @__PURE__ */ jsx36(IconBug, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" }) : /* @__PURE__ */ jsxs18(Center4, { p: "md", children: [
2327
2357
  " ",
2328
- /* @__PURE__ */ jsx35(Text6, { c: "gray", fw: "600", size: "15px", fs: "italic", children: "Kh\xF4ng c\xF3 d\u1EEF li\u1EC7u!" })
2358
+ /* @__PURE__ */ jsx36(Text6, { c: "gray", fw: "600", size: "15px", fs: "italic", children: "Kh\xF4ng c\xF3 d\u1EEF li\u1EC7u!" })
2329
2359
  ] }),
2330
2360
  mantineTableContainerProps: { style: { maxHeight: "65vh" } },
2331
2361
  enableStickyHeader: true
@@ -2355,13 +2385,13 @@ function MyDataTable(_a) {
2355
2385
  useEffect6(() => {
2356
2386
  setSelectedRow && setSelectedRow(table.getSelectedRowModel().rows.map((row) => row.original));
2357
2387
  }, [table.getState().rowSelection]);
2358
- return /* @__PURE__ */ jsx35("main", { style: { position: "relative", zIndex: 1 }, children: table.getState().isFullScreen ? /* @__PURE__ */ jsx35(Portal, { children: /* @__PURE__ */ jsx35(MantineReactTable, { table }) }) : /* @__PURE__ */ jsx35(MantineReactTable, { table }) });
2388
+ return /* @__PURE__ */ jsx36("main", { style: { position: "relative", zIndex: 1 }, children: table.getState().isFullScreen ? /* @__PURE__ */ jsx36(Portal, { children: /* @__PURE__ */ jsx36(MantineReactTable, { table }) }) : /* @__PURE__ */ jsx36(MantineReactTable, { table }) });
2359
2389
  }
2360
2390
 
2361
2391
  // src/components/Button/ButtonImport/SelectFileModal.tsx
2362
2392
  import { Button as Button8, Fieldset as Fieldset2, FileInput as FileInput2, Modal as Modal8, NumberInput, Select as Select2, SimpleGrid as SimpleGrid2 } from "@mantine/core";
2363
2393
  import { IconArrowBigRight as IconArrowBigRight2, IconSquareRoundedX as IconSquareRoundedX2 } from "@tabler/icons-react";
2364
- import { jsx as jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
2394
+ import { jsx as jsx37, jsxs as jsxs19 } from "react/jsx-runtime";
2365
2395
  function SelectFileModal({ onExportStructure, stack }) {
2366
2396
  var _a;
2367
2397
  const store = useS_ButtonImport();
@@ -2372,7 +2402,7 @@ function SelectFileModal({ onExportStructure, stack }) {
2372
2402
  fullScreen: true
2373
2403
  }, stack.register("select-file-page")), {
2374
2404
  children: [
2375
- /* @__PURE__ */ jsx36(
2405
+ /* @__PURE__ */ jsx37(
2376
2406
  FileInput2,
2377
2407
  {
2378
2408
  value: store.state.file,
@@ -2383,7 +2413,7 @@ function SelectFileModal({ onExportStructure, stack }) {
2383
2413
  }
2384
2414
  ),
2385
2415
  /* @__PURE__ */ jsxs19(SimpleGrid2, { cols: { base: 1, md: 2, lg: 2, xl: 4 }, children: [
2386
- /* @__PURE__ */ jsx36(
2416
+ /* @__PURE__ */ jsx37(
2387
2417
  NumberInput,
2388
2418
  {
2389
2419
  label: "D\xF2ng ti\xEAu \u0111\u1EC1 b\u1EAFt \u0111\u1EA7u t\u1EEB",
@@ -2391,7 +2421,7 @@ function SelectFileModal({ onExportStructure, stack }) {
2391
2421
  onChange: (e4) => store.setProperty("startTitleIndex", e4)
2392
2422
  }
2393
2423
  ),
2394
- /* @__PURE__ */ jsx36(
2424
+ /* @__PURE__ */ jsx37(
2395
2425
  NumberInput,
2396
2426
  {
2397
2427
  label: "D\xF2ng d\u1EEF li\u1EC7u b\u1EAFt \u0111\u1EA7u t\u1EEB",
@@ -2399,7 +2429,7 @@ function SelectFileModal({ onExportStructure, stack }) {
2399
2429
  onChange: (e4) => store.setProperty("startDataIndex", e4)
2400
2430
  }
2401
2431
  ),
2402
- /* @__PURE__ */ jsx36(
2432
+ /* @__PURE__ */ jsx37(
2403
2433
  Select2,
2404
2434
  {
2405
2435
  readOnly: true,
@@ -2408,7 +2438,7 @@ function SelectFileModal({ onExportStructure, stack }) {
2408
2438
  defaultValue: "100.000"
2409
2439
  }
2410
2440
  ),
2411
- /* @__PURE__ */ jsx36(
2441
+ /* @__PURE__ */ jsx37(
2412
2442
  Select2,
2413
2443
  {
2414
2444
  readOnly: true,
@@ -2418,7 +2448,7 @@ function SelectFileModal({ onExportStructure, stack }) {
2418
2448
  }
2419
2449
  )
2420
2450
  ] }),
2421
- /* @__PURE__ */ jsx36(Fieldset2, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u", children: store.state.data && /* @__PURE__ */ jsx36(
2451
+ /* @__PURE__ */ jsx37(Fieldset2, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u", children: store.state.data && /* @__PURE__ */ jsx37(
2422
2452
  MyDataTable,
2423
2453
  {
2424
2454
  columns: store.columns,
@@ -2426,7 +2456,7 @@ function SelectFileModal({ onExportStructure, stack }) {
2426
2456
  }
2427
2457
  ) }),
2428
2458
  /* @__PURE__ */ jsxs19(MyFlexEnd, { children: [
2429
- /* @__PURE__ */ jsx36(
2459
+ /* @__PURE__ */ jsx37(
2430
2460
  Button8,
2431
2461
  {
2432
2462
  color: "teal.8",
@@ -2434,21 +2464,21 @@ function SelectFileModal({ onExportStructure, stack }) {
2434
2464
  children: "Xu\u1EA5t file c\u1EA5u tr\xFAc"
2435
2465
  }
2436
2466
  ),
2437
- /* @__PURE__ */ jsx36(
2467
+ /* @__PURE__ */ jsx37(
2438
2468
  Button8,
2439
2469
  {
2440
2470
  disabled: ((_a = store.state.data) == null ? void 0 : _a.length) == 0,
2441
2471
  color: "blue.8",
2442
- leftSection: /* @__PURE__ */ jsx36(IconArrowBigRight2, {}),
2472
+ leftSection: /* @__PURE__ */ jsx37(IconArrowBigRight2, {}),
2443
2473
  onClick: () => stack.open("select-field-page"),
2444
2474
  children: "Ti\u1EBFp t\u1EE5c"
2445
2475
  }
2446
2476
  ),
2447
- /* @__PURE__ */ jsx36(
2477
+ /* @__PURE__ */ jsx37(
2448
2478
  Button8,
2449
2479
  {
2450
2480
  color: "red.6",
2451
- leftSection: /* @__PURE__ */ jsx36(IconSquareRoundedX2, {}),
2481
+ leftSection: /* @__PURE__ */ jsx37(IconSquareRoundedX2, {}),
2452
2482
  onClick: stack.closeAll,
2453
2483
  children: "\u0110\xF3ng"
2454
2484
  }
@@ -2460,7 +2490,7 @@ function SelectFileModal({ onExportStructure, stack }) {
2460
2490
  }
2461
2491
 
2462
2492
  // src/components/Button/ButtonImport/MyButtonImport.tsx
2463
- import { Fragment as Fragment10, jsx as jsx37, jsxs as jsxs20 } from "react/jsx-runtime";
2493
+ import { Fragment as Fragment10, jsx as jsx38, jsxs as jsxs20 } from "react/jsx-runtime";
2464
2494
  function MyButtonImport({
2465
2495
  onExportStructure,
2466
2496
  onImport
@@ -2468,10 +2498,10 @@ function MyButtonImport({
2468
2498
  const stack = useModalsStack3(["select-file-page", "select-field-page", "implement-page"]);
2469
2499
  const store = useS_ButtonImport();
2470
2500
  return /* @__PURE__ */ jsxs20(Fragment10, { children: [
2471
- /* @__PURE__ */ jsx37(Button9, { color: "teal.8", onClick: () => stack.open("select-file-page"), leftSection: /* @__PURE__ */ jsx37(IconFileImport3, {}), title: "Import", children: "Import" }),
2501
+ /* @__PURE__ */ jsx38(Button9, { color: "teal.8", onClick: () => stack.open("select-file-page"), leftSection: /* @__PURE__ */ jsx38(IconFileImport3, {}), title: "Import", children: "Import" }),
2472
2502
  /* @__PURE__ */ jsxs20(Modal9.Stack, { children: [
2473
- /* @__PURE__ */ jsx37(SelectFileModal, { stack, onExportStructure }),
2474
- /* @__PURE__ */ jsx37(SelectFieldModal, { stack, onImport: () => onImport(store.getDataFinal()) })
2503
+ /* @__PURE__ */ jsx38(SelectFileModal, { stack, onExportStructure }),
2504
+ /* @__PURE__ */ jsx38(SelectFieldModal, { stack, onImport: () => onImport(store.getDataFinal()) })
2475
2505
  ] })
2476
2506
  ] });
2477
2507
  }
@@ -2479,7 +2509,7 @@ function MyButtonImport({
2479
2509
  // src/components/Button/ButtonModal/AQSelectTableByOpenModal.tsx
2480
2510
  import { Button as Button10, Fieldset as Fieldset3, Modal as Modal10 } from "@mantine/core";
2481
2511
  import { useDisclosure as useDisclosure11 } from "@mantine/hooks";
2482
- import { Fragment as Fragment11, jsx as jsx38, jsxs as jsxs21 } from "react/jsx-runtime";
2512
+ import { Fragment as Fragment11, jsx as jsx39, jsxs as jsxs21 } from "react/jsx-runtime";
2483
2513
  function AQSelectTableByOpenModal(_a) {
2484
2514
  var _b = _a, {
2485
2515
  setSelectedData,
@@ -2508,7 +2538,7 @@ function AQSelectTableByOpenModal(_a) {
2508
2538
  ]);
2509
2539
  const disclosure = useDisclosure11(false);
2510
2540
  return /* @__PURE__ */ jsxs21(Fragment11, { children: [
2511
- /* @__PURE__ */ jsx38(
2541
+ /* @__PURE__ */ jsx39(
2512
2542
  Button10,
2513
2543
  __spreadProps(__spreadValues({
2514
2544
  onClick: disclosure[1].open
@@ -2516,7 +2546,7 @@ function AQSelectTableByOpenModal(_a) {
2516
2546
  children: label ? label : `Ch\u1ECDn t\u1EEB danh s\xE1ch`
2517
2547
  })
2518
2548
  ),
2519
- /* @__PURE__ */ jsx38(
2549
+ /* @__PURE__ */ jsx39(
2520
2550
  Modal10,
2521
2551
  {
2522
2552
  fullScreen,
@@ -2524,11 +2554,11 @@ function AQSelectTableByOpenModal(_a) {
2524
2554
  title,
2525
2555
  opened: disclosure == null ? void 0 : disclosure[0],
2526
2556
  onClose: disclosure[1].close,
2527
- children: /* @__PURE__ */ jsx38(MyFlexColumn, { children: /* @__PURE__ */ jsx38(Fieldset3, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: /* @__PURE__ */ jsx38(
2557
+ children: /* @__PURE__ */ jsx39(MyFlexColumn, { children: /* @__PURE__ */ jsx39(Fieldset3, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: /* @__PURE__ */ jsx39(
2528
2558
  MyDataTable,
2529
2559
  __spreadValues({
2530
2560
  renderTopToolbarCustomActions: ({ table }) => {
2531
- return /* @__PURE__ */ jsx38(Button10, { onClick: () => {
2561
+ return /* @__PURE__ */ jsx39(Button10, { onClick: () => {
2532
2562
  setSelectedData(table.getSelectedRowModel().rows.map((row) => row.original));
2533
2563
  closeAfterSelect && disclosure[1].close();
2534
2564
  }, children: "Ch\u1ECDn" });
@@ -2548,7 +2578,7 @@ import { Button as Button11 } from "@mantine/core";
2548
2578
  import { IconPrinter as IconPrinter5 } from "@tabler/icons-react";
2549
2579
  import { useRef as useRef3 } from "react";
2550
2580
  import { useReactToPrint as useReactToPrint2 } from "react-to-print";
2551
- import { Fragment as Fragment12, jsx as jsx39, jsxs as jsxs22 } from "react/jsx-runtime";
2581
+ import { Fragment as Fragment12, jsx as jsx40, jsxs as jsxs22 } from "react/jsx-runtime";
2552
2582
  function MyButtonPrintPDF2(_a) {
2553
2583
  var _b = _a, { contentToPrint, children, autoPadding = true } = _b, rest = __objRest(_b, ["contentToPrint", "children", "autoPadding"]);
2554
2584
  const printRef = useRef3(null);
@@ -2563,39 +2593,17 @@ function MyButtonPrintPDF2(_a) {
2563
2593
  handlePrint();
2564
2594
  }
2565
2595
  return /* @__PURE__ */ jsxs22(Fragment12, { children: [
2566
- /* @__PURE__ */ jsx39("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx39("div", { ref: printRef, style: { padding: autoPadding ? "2cm 2cm 2cm 3cm" : void 0, fontFamily: '"Times New Roman", Times, serif' }, children: contentToPrint }) }),
2567
- /* @__PURE__ */ jsx39(Button11, __spreadProps(__spreadValues({ color: "orange", onClick: handleClick, leftSection: /* @__PURE__ */ jsx39(IconPrinter5, {}) }, rest), { children }))
2596
+ /* @__PURE__ */ jsx40("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx40("div", { ref: printRef, style: { padding: autoPadding ? "2cm 2cm 2cm 3cm" : void 0, fontFamily: '"Times New Roman", Times, serif' }, children: contentToPrint }) }),
2597
+ /* @__PURE__ */ jsx40(Button11, __spreadProps(__spreadValues({ color: "orange", onClick: handleClick, leftSection: /* @__PURE__ */ jsx40(IconPrinter5, {}) }, rest), { children }))
2568
2598
  ] });
2569
2599
  }
2570
2600
 
2571
2601
  // src/components/Checkbox/MyCheckbox.tsx
2572
2602
  import { Checkbox } from "@mantine/core";
2573
- import { jsx as jsx40 } from "react/jsx-runtime";
2603
+ import { jsx as jsx41 } from "react/jsx-runtime";
2574
2604
  function MyCheckbox(_a) {
2575
2605
  var rest = __objRest(_a, []);
2576
- return /* @__PURE__ */ jsx40(Checkbox, __spreadValues({}, rest));
2577
- }
2578
-
2579
- // src/components/Layouts/HtmlWrapper/MyHtmlWrapper.tsx
2580
- import { Typography } from "@mantine/core";
2581
- import pako from "pako";
2582
- import { jsx as jsx41 } from "react/jsx-runtime";
2583
- function MyHtmlWrapper(_a) {
2584
- var _b = _a, { html, mah, zip = false } = _b, rest = __objRest(_b, ["html", "mah", "zip"]);
2585
- const extractHtmlFromZip = () => {
2586
- const binaryString = Buffer.from(html, "base64");
2587
- const decompressedData = pako.inflate(binaryString, { to: "string" });
2588
- const cleanedHtml = decompressedData == null ? void 0 : decompressedData.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
2589
- return cleanedHtml.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
2590
- };
2591
- return /* @__PURE__ */ jsx41(Typography, { children: /* @__PURE__ */ jsx41(
2592
- "div",
2593
- {
2594
- dangerouslySetInnerHTML: {
2595
- __html: zip ? extractHtmlFromZip() : html
2596
- }
2597
- }
2598
- ) });
2606
+ return /* @__PURE__ */ jsx41(Checkbox, __spreadValues({}, rest));
2599
2607
  }
2600
2608
 
2601
2609
  // src/components/Button/ButtonPrintPDFTable/MyButtonPrintTablePDF.tsx
@@ -8344,6 +8352,13 @@ function RenderNavLinks({ items }) {
8344
8352
  return /* @__PURE__ */ jsx60(Fragment15, { children: items.map((item, index) => /* @__PURE__ */ jsx60(
8345
8353
  NavLink,
8346
8354
  {
8355
+ style: {
8356
+ marginBottom: 4,
8357
+ borderRadius: 8,
8358
+ background: "var(--mantine-color-body)",
8359
+ boxShadow: "0 2px 6px rgba(0, 0, 0, 0.1)",
8360
+ transition: "all 0.2s ease-in-out"
8361
+ },
8347
8362
  active: normalizePath(extractPathName) === normalizePath(item.link),
8348
8363
  opened: basicAppShellStore.state.groupMenuOpenId.includes(item.label),
8349
8364
  label: /* @__PURE__ */ jsxs33(MyFlexRow, { justify: "space-between", children: [
@@ -17325,27 +17340,32 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17325
17340
  ] }) });
17326
17341
  const renderNavbar = () => {
17327
17342
  var _a, _b;
17328
- return /* @__PURE__ */ jsxs123(AppShell.Navbar, { children: [
17329
- /* @__PURE__ */ jsx211(MyAppSpotlight, { menu: filteredMenu }),
17330
- /* @__PURE__ */ jsx211(AppShell.Section, { grow: true, component: ScrollArea4, p: 5, type: "auto", children: /* @__PURE__ */ jsx211(RenderNavLinks, { items: filteredMenu }) }),
17331
- /* @__PURE__ */ jsxs123(AppShell.Section, { className: "rounded-tr-2xl shadow-[0_-4px_6px_rgba(0,0,0,0.1)]", style: {
17332
- border: `1px solid ${colorScheme === "dark" ? "var(--mantine-color-dark-4)" : "var(--mantine-color-gray-3)"}`
17333
- }, children: [
17334
- /* @__PURE__ */ jsx211(User_SessionUserInfo, {}),
17335
- /* @__PURE__ */ jsx211(Space10, { m: 4 }),
17336
- /* @__PURE__ */ jsx211(Feat_Authenticate_Logout, { redirectURL: logoutRedirect }),
17337
- /* @__PURE__ */ jsx211(Box6, { px: "md", children: /* @__PURE__ */ jsx211(
17338
- Image4,
17339
- {
17340
- fit: "contain",
17341
- h: "80px",
17342
- alt: "Main logo",
17343
- fallbackSrc: "https://placehold.co/600x400?text=Placeholder",
17344
- src: process.env.NEXT_PUBLIC_APP_PROTOTYPE === "1" ? `/imgs/mainLogo.png` : `data:image/${(_a = appShellStore.state.logoFileDetail) == null ? void 0 : _a.fileExtension};base64,${(_b = appShellStore.state.logoFileDetail) == null ? void 0 : _b.fileBase64String}`
17345
- }
17346
- ) })
17347
- ] })
17348
- ] });
17343
+ return /* @__PURE__ */ jsxs123(
17344
+ AppShell.Navbar,
17345
+ {
17346
+ children: [
17347
+ /* @__PURE__ */ jsx211(MyAppSpotlight, { menu: filteredMenu }),
17348
+ /* @__PURE__ */ jsx211(AppShell.Section, { grow: true, component: ScrollArea4, p: 5, type: "auto", children: /* @__PURE__ */ jsx211(RenderNavLinks, { items: filteredMenu }) }),
17349
+ /* @__PURE__ */ jsxs123(AppShell.Section, { className: "rounded-tr-2xl shadow-[0_-4px_6px_rgba(0,0,0,0.1)]", style: {
17350
+ border: `1px solid ${colorScheme === "dark" ? "var(--mantine-color-dark-4)" : "var(--mantine-color-gray-3)"}`
17351
+ }, children: [
17352
+ /* @__PURE__ */ jsx211(User_SessionUserInfo, {}),
17353
+ /* @__PURE__ */ jsx211(Space10, { m: 4 }),
17354
+ /* @__PURE__ */ jsx211(Feat_Authenticate_Logout, { redirectURL: logoutRedirect }),
17355
+ /* @__PURE__ */ jsx211(Box6, { px: "md", children: /* @__PURE__ */ jsx211(
17356
+ Image4,
17357
+ {
17358
+ fit: "contain",
17359
+ h: "80px",
17360
+ alt: "Main logo",
17361
+ fallbackSrc: "https://placehold.co/600x400?text=Placeholder",
17362
+ src: process.env.NEXT_PUBLIC_APP_PROTOTYPE === "1" ? `/imgs/mainLogo.png` : `data:image/${(_a = appShellStore.state.logoFileDetail) == null ? void 0 : _a.fileExtension};base64,${(_b = appShellStore.state.logoFileDetail) == null ? void 0 : _b.fileBase64String}`
17363
+ }
17364
+ ) })
17365
+ ] })
17366
+ ]
17367
+ }
17368
+ );
17349
17369
  };
17350
17370
  const renderMain = () => /* @__PURE__ */ jsx211(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children: isLoadingPermission ? /* @__PURE__ */ jsx211("div", { style: { padding: "2rem", textAlign: "center" }, children: /* @__PURE__ */ jsx211(Text22, { fw: 600, size: "md", children: "\u0110ang t\u1EA3i quy\u1EC1n truy c\u1EADp..." }) }) : canAccess ? children : /* @__PURE__ */ jsxs123("div", { style: { padding: "2rem", textAlign: "center" }, children: [
17351
17371
  /* @__PURE__ */ jsx211("h1", { children: "404 - Kh\xF4ng t\xECm th\u1EA5y trang" }),
@@ -18792,6 +18812,7 @@ export {
18792
18812
  MyButtonCreateUpdate,
18793
18813
  CustomThemeIconSquareCheck,
18794
18814
  MyCenterFull,
18815
+ MyHtmlWrapper,
18795
18816
  MyDataTable,
18796
18817
  MyDataTableSelectOne,
18797
18818
  MyDataTableStagedChanges,
@@ -18832,7 +18853,6 @@ export {
18832
18853
  AQSelectTableByOpenModal,
18833
18854
  MyButtonPrintPDF2,
18834
18855
  MyCheckbox,
18835
- MyHtmlWrapper,
18836
18856
  MyButtonPrintTablePDF,
18837
18857
  MyButtonRouterBack,
18838
18858
  MyButtonViewPDF,
@@ -11,7 +11,7 @@ import { I as I_BasicAppShell_LinkItem, B as BasicAppShellProps } from '../types
11
11
  export { g as MyButtonDeleteList, c as MyButtonDeleteListProps } from '../MyButtonDeleteList-BcW55zHU.mjs';
12
12
  import { I as IExcelColumnConfig } from '../utils_excel-CuudSzBR.mjs';
13
13
  import { MRT_ColumnDef, MRT_RowData, MRT_TableOptions, MRT_TableInstance } from 'mantine-react-table';
14
- export { M as MyColumnDef, c as MyDataTable, b as MyDataTableInternalProps, a as MyDataTableProps, P as PaginationState } from '../MyDataTable-DX9ChspA.mjs';
14
+ export { M as MyColumnDef, c as MyDataTable, b as MyDataTableInternalProps, a as MyDataTableProps, P as PaginationState } from '../MyDataTable-D02NxkDu.mjs';
15
15
  import { DateInputProps } from '@mantine/dates';
16
16
  import { RichTextEditorProps } from '@mantine/tiptap';
17
17
  import { EditorOptions } from '@tiptap/react';
@@ -69,7 +69,7 @@ import {
69
69
  useHeaderMegaMenuStore,
70
70
  useS_ButtonImport,
71
71
  useStore_BasicAppShell
72
- } from "../chunk-UXIDRZFG.mjs";
72
+ } from "../chunk-BSJ5HJB2.mjs";
73
73
  import "../chunk-WW55EZ4B.mjs";
74
74
  import "../chunk-KGBXMHKR.mjs";
75
75
  import "../chunk-7ZI7IOEP.mjs";
@@ -11,7 +11,7 @@ import { M as MyApiResponse, a as MyReactMutationProps } from '../useMyReactMuta
11
11
  import { AxiosResponse } from 'axios';
12
12
  import { UseQueryResult, QueryKey, UseQueryOptions } from '@tanstack/react-query';
13
13
  import { MRT_RowData, MRT_ColumnDef, MRT_TableInstance } from 'mantine-react-table';
14
- import { a as MyDataTableProps } from '../MyDataTable-DX9ChspA.mjs';
14
+ import { a as MyDataTableProps } from '../MyDataTable-D02NxkDu.mjs';
15
15
  import { TablerIcon } from '@tabler/icons-react';
16
16
  import { RichTextEditorProps, RichTextEditorToolbarProps, RichTextEditorContentProps } from '@mantine/tiptap';
17
17
  import { UseEditorOptions } from '@tiptap/react';
@@ -34,7 +34,7 @@ import {
34
34
  MyStatsCard,
35
35
  MyTextInput2 as MyTextInput,
36
36
  MyWeeklySessionSchedulerPicker
37
- } from "../chunk-UXIDRZFG.mjs";
37
+ } from "../chunk-BSJ5HJB2.mjs";
38
38
  import "../chunk-WW55EZ4B.mjs";
39
39
  import "../chunk-KGBXMHKR.mjs";
40
40
  import "../chunk-7ZI7IOEP.mjs";
@@ -97,7 +97,7 @@ import {
97
97
  MailTemplateDeleteButton,
98
98
  useS_moduleConfig,
99
99
  useStore_Authenticate
100
- } from "../chunk-UXIDRZFG.mjs";
100
+ } from "../chunk-BSJ5HJB2.mjs";
101
101
  import "../chunk-WW55EZ4B.mjs";
102
102
  import "../chunk-KGBXMHKR.mjs";
103
103
  import "../chunk-7ZI7IOEP.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MySelect
3
- } from "../chunk-UXIDRZFG.mjs";
3
+ } from "../chunk-BSJ5HJB2.mjs";
4
4
  import "../chunk-WW55EZ4B.mjs";
5
5
  import "../chunk-KGBXMHKR.mjs";
6
6
  import {
@@ -1,7 +1,7 @@
1
1
  import { ComboboxData } from '@mantine/core';
2
2
  export { I as IExcelColumnConfig, n as normalizeDate, u as utils_excel } from '../utils_excel-CuudSzBR.mjs';
3
3
  import { MRT_RowData } from 'mantine-react-table';
4
- import { M as MyColumnDef } from '../MyDataTable-DX9ChspA.mjs';
4
+ import { M as MyColumnDef } from '../MyDataTable-D02NxkDu.mjs';
5
5
  import 'exceljs';
6
6
  import 'react/jsx-runtime';
7
7
  import '@tanstack/react-table';
package/package.json CHANGED
@@ -58,7 +58,7 @@
58
58
  "types": "./dist/zod-schemas/index.d.mts"
59
59
  }
60
60
  },
61
- "version": "0.1.1091",
61
+ "version": "0.1.1093",
62
62
  "private": false,
63
63
  "files": [
64
64
  "dist"