aq-fe-framework 0.1.491 → 0.1.493

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.
@@ -2,7 +2,7 @@ import {
2
2
  MyDataTable,
3
3
  MyFlexColumn,
4
4
  MyFlexRow
5
- } from "./chunk-BYWT26DO.mjs";
5
+ } from "./chunk-ZXZZLBG3.mjs";
6
6
  import {
7
7
  const_object_colors
8
8
  } from "./chunk-OMJJAHOC.mjs";
@@ -6828,6 +6828,65 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
6828
6828
  ) });
6829
6829
  }
6830
6830
 
6831
+ // src/components/DataDisplay/StatCard/AQStatCard2.tsx
6832
+ import { Box as Box4, Group as Group14, Paper as Paper7, Text as Text13 } from "@mantine/core";
6833
+ import { jsx as jsx44, jsxs as jsxs26 } from "react/jsx-runtime";
6834
+ function AQStatCard2({
6835
+ title,
6836
+ value,
6837
+ unit = "",
6838
+ icons
6839
+ }) {
6840
+ return /* @__PURE__ */ jsxs26(
6841
+ Paper7,
6842
+ {
6843
+ withBorder: true,
6844
+ radius: "xl",
6845
+ p: "lg",
6846
+ shadow: "md",
6847
+ style: {
6848
+ transition: "transform 0.2s ease, box-shadow 0.2s ease"
6849
+ },
6850
+ onMouseEnter: (e4) => e4.currentTarget.style.transform = "translateY(-4px)",
6851
+ onMouseLeave: (e4) => e4.currentTarget.style.transform = "translateY(0)",
6852
+ children: [
6853
+ /* @__PURE__ */ jsxs26(Group14, { justify: "space-between", align: "flex-start", children: [
6854
+ /* @__PURE__ */ jsxs26(Box4, { children: [
6855
+ /* @__PURE__ */ jsx44(MyFlexRow, { gap: 6, align: "end", children: /* @__PURE__ */ jsx44(
6856
+ Text13,
6857
+ {
6858
+ size: "sm",
6859
+ fw: 700,
6860
+ tt: "uppercase",
6861
+ variant: "gradient",
6862
+ gradient: { from: "indigo.5", to: "cyan.5", deg: 45 },
6863
+ children: title
6864
+ }
6865
+ ) }),
6866
+ unit ? /* @__PURE__ */ jsxs26(Text13, { size: "sm", c: "gray.6", children: [
6867
+ "\u0110\u01A1n v\u1ECB: ",
6868
+ /* @__PURE__ */ jsx44("strong", { children: unit })
6869
+ ] }) : /* @__PURE__ */ jsx44(Text13, { size: "sm", style: { visibility: "hidden" }, children: "\u0110\u01A1n v\u1ECB: _" })
6870
+ ] }),
6871
+ /* @__PURE__ */ jsx44(Box4, { children: icons })
6872
+ ] }),
6873
+ /* @__PURE__ */ jsx44(Group14, { align: "flex-end", gap: "xs", children: /* @__PURE__ */ jsx44(
6874
+ Text13,
6875
+ {
6876
+ fz: 35,
6877
+ fw: 699,
6878
+ style: {
6879
+ letterSpacing: "-1px",
6880
+ transition: "color 0.2s"
6881
+ },
6882
+ children: value
6883
+ }
6884
+ ) })
6885
+ ]
6886
+ }
6887
+ );
6888
+ }
6889
+
6831
6890
  // src/components/FaviconSetter/FaviconSetter.tsx
6832
6891
  import { useEffect as useEffect7 } from "react";
6833
6892
 
@@ -6904,20 +6963,20 @@ function FaviconSetter() {
6904
6963
 
6905
6964
  // src/components/Inputs/DateInput/MyDateInput.tsx
6906
6965
  import { DateInput } from "@mantine/dates";
6907
- import { jsx as jsx44 } from "react/jsx-runtime";
6966
+ import { jsx as jsx45 } from "react/jsx-runtime";
6908
6967
  function MyDateInput(_a) {
6909
6968
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
6910
- return /* @__PURE__ */ jsx44(DateInput, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
6969
+ return /* @__PURE__ */ jsx45(DateInput, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
6911
6970
  }
6912
6971
 
6913
6972
  // src/components/Inputs/Fieldset/MyFieldset.tsx
6914
6973
  import {
6915
6974
  Fieldset as Fieldset4,
6916
- Group as Group14,
6917
- Text as Text13,
6975
+ Group as Group15,
6976
+ Text as Text14,
6918
6977
  useMantineColorScheme as useMantineColorScheme2
6919
6978
  } from "@mantine/core";
6920
- import { jsx as jsx45, jsxs as jsxs26 } from "react/jsx-runtime";
6979
+ import { jsx as jsx46, jsxs as jsxs27 } from "react/jsx-runtime";
6921
6980
  function MyFieldset(_a) {
6922
6981
  var _b = _a, {
6923
6982
  children,
@@ -6946,10 +7005,10 @@ function MyFieldset(_a) {
6946
7005
  const mergedStyles = typeof styles === "function" ? styles : __spreadProps(__spreadValues({}, styles), {
6947
7006
  legend: __spreadValues(__spreadValues({}, defaultLegendStyles), styles == null ? void 0 : styles.legend)
6948
7007
  });
6949
- return /* @__PURE__ */ jsx45(
7008
+ return /* @__PURE__ */ jsx46(
6950
7009
  Fieldset4,
6951
7010
  __spreadProps(__spreadValues({
6952
- legend: customLegend != null ? customLegend : /* @__PURE__ */ jsx45(Group14, { gap: "xs", children: /* @__PURE__ */ jsxs26(Text13, { fw: 600, children: [
7011
+ legend: customLegend != null ? customLegend : /* @__PURE__ */ jsx46(Group15, { gap: "xs", children: /* @__PURE__ */ jsxs27(Text14, { fw: 600, children: [
6953
7012
  " ",
6954
7013
  title,
6955
7014
  " "
@@ -6964,13 +7023,13 @@ function MyFieldset(_a) {
6964
7023
  // src/components/Inputs/FileInput/MyFileInput.tsx
6965
7024
  import { FileInput as FileInput3 } from "@mantine/core";
6966
7025
  import { IconFile } from "@tabler/icons-react";
6967
- import { jsx as jsx46 } from "react/jsx-runtime";
7026
+ import { jsx as jsx47 } from "react/jsx-runtime";
6968
7027
  function MyFileInput(_a) {
6969
7028
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
6970
- return /* @__PURE__ */ jsx46(
7029
+ return /* @__PURE__ */ jsx47(
6971
7030
  FileInput3,
6972
7031
  __spreadValues({
6973
- rightSection: /* @__PURE__ */ jsx46(IconFile, {}),
7032
+ rightSection: /* @__PURE__ */ jsx47(IconFile, {}),
6974
7033
  label,
6975
7034
  placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : ""
6976
7035
  }, rest)
@@ -6980,26 +7039,26 @@ function MyFileInput(_a) {
6980
7039
  // src/components/Inputs/NumberInput/MyNumberInput.tsx
6981
7040
  import { NumberInput as NumberInput2 } from "@mantine/core";
6982
7041
  import { IconNumbers } from "@tabler/icons-react";
6983
- import { jsx as jsx47 } from "react/jsx-runtime";
7042
+ import { jsx as jsx48 } from "react/jsx-runtime";
6984
7043
  function MyNumberInput(_a) {
6985
7044
  var _b = _a, { minValue, label } = _b, rest = __objRest(_b, ["minValue", "label"]);
6986
- return /* @__PURE__ */ jsx47(
7045
+ return /* @__PURE__ */ jsx48(
6987
7046
  NumberInput2,
6988
7047
  __spreadValues({
6989
7048
  label,
6990
7049
  min: minValue ? minValue : 0,
6991
7050
  placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "",
6992
- rightSection: /* @__PURE__ */ jsx47(IconNumbers, {})
7051
+ rightSection: /* @__PURE__ */ jsx48(IconNumbers, {})
6993
7052
  }, rest)
6994
7053
  );
6995
7054
  }
6996
7055
 
6997
7056
  // src/components/Inputs/TextArea/MyTextArea.tsx
6998
7057
  import { Textarea } from "@mantine/core";
6999
- import { jsx as jsx48 } from "react/jsx-runtime";
7058
+ import { jsx as jsx49 } from "react/jsx-runtime";
7000
7059
  function MyTextArea(_a) {
7001
7060
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
7002
- return /* @__PURE__ */ jsx48(Textarea, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
7061
+ return /* @__PURE__ */ jsx49(Textarea, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
7003
7062
  }
7004
7063
 
7005
7064
  // src/components/Inputs/TextEditor/MyTextEditor.tsx
@@ -7015,7 +7074,7 @@ import Underline from "@tiptap/extension-underline";
7015
7074
  import { useEditor } from "@tiptap/react";
7016
7075
  import StarterKit from "@tiptap/starter-kit";
7017
7076
  import { useEffect as useEffect8, useState as useState9 } from "react";
7018
- import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
7077
+ import { jsx as jsx50, jsxs as jsxs28 } from "react/jsx-runtime";
7019
7078
  function MyTextEditor(_a) {
7020
7079
  var _b = _a, {
7021
7080
  autoHiddenToolBar = false,
@@ -7121,43 +7180,43 @@ function MyTextEditor(_a) {
7121
7180
  editor.commands.setContent(value);
7122
7181
  }
7123
7182
  }, [value, editor]);
7124
- return /* @__PURE__ */ jsx49(Input.Wrapper, __spreadProps(__spreadValues({ label, flex: 1, error, withAsterisk }, inputWrapperProps), { children: /* @__PURE__ */ jsxs27(RichTextEditor, __spreadProps(__spreadValues({ editor, style: { border: error && "1px solid #e03131" } }, richTextEditorProps), { children: [
7125
- /* @__PURE__ */ jsxs27(RichTextEditor.Toolbar, { hidden: hiddenToolBar, sticky: true, stickyOffset: 60, children: [
7126
- /* @__PURE__ */ jsxs27(RichTextEditor.ControlsGroup, { children: [
7127
- /* @__PURE__ */ jsx49(RichTextEditor.Bold, {}),
7128
- /* @__PURE__ */ jsx49(RichTextEditor.Italic, {}),
7129
- /* @__PURE__ */ jsx49(RichTextEditor.Underline, {}),
7130
- /* @__PURE__ */ jsx49(RichTextEditor.Strikethrough, {}),
7131
- /* @__PURE__ */ jsx49(RichTextEditor.ClearFormatting, {}),
7132
- /* @__PURE__ */ jsx49(RichTextEditor.Highlight, {}),
7133
- /* @__PURE__ */ jsx49(RichTextEditor.Code, {})
7183
+ return /* @__PURE__ */ jsx50(Input.Wrapper, __spreadProps(__spreadValues({ label, flex: 1, error, withAsterisk }, inputWrapperProps), { children: /* @__PURE__ */ jsxs28(RichTextEditor, __spreadProps(__spreadValues({ editor, style: { border: error && "1px solid #e03131" } }, richTextEditorProps), { children: [
7184
+ /* @__PURE__ */ jsxs28(RichTextEditor.Toolbar, { hidden: hiddenToolBar, sticky: true, stickyOffset: 60, children: [
7185
+ /* @__PURE__ */ jsxs28(RichTextEditor.ControlsGroup, { children: [
7186
+ /* @__PURE__ */ jsx50(RichTextEditor.Bold, {}),
7187
+ /* @__PURE__ */ jsx50(RichTextEditor.Italic, {}),
7188
+ /* @__PURE__ */ jsx50(RichTextEditor.Underline, {}),
7189
+ /* @__PURE__ */ jsx50(RichTextEditor.Strikethrough, {}),
7190
+ /* @__PURE__ */ jsx50(RichTextEditor.ClearFormatting, {}),
7191
+ /* @__PURE__ */ jsx50(RichTextEditor.Highlight, {}),
7192
+ /* @__PURE__ */ jsx50(RichTextEditor.Code, {})
7134
7193
  ] }),
7135
- /* @__PURE__ */ jsxs27(RichTextEditor.ControlsGroup, { children: [
7136
- /* @__PURE__ */ jsx49(RichTextEditor.H1, {}),
7137
- /* @__PURE__ */ jsx49(RichTextEditor.H2, {}),
7138
- /* @__PURE__ */ jsx49(RichTextEditor.H3, {}),
7139
- /* @__PURE__ */ jsx49(RichTextEditor.H4, {})
7194
+ /* @__PURE__ */ jsxs28(RichTextEditor.ControlsGroup, { children: [
7195
+ /* @__PURE__ */ jsx50(RichTextEditor.H1, {}),
7196
+ /* @__PURE__ */ jsx50(RichTextEditor.H2, {}),
7197
+ /* @__PURE__ */ jsx50(RichTextEditor.H3, {}),
7198
+ /* @__PURE__ */ jsx50(RichTextEditor.H4, {})
7140
7199
  ] }),
7141
- /* @__PURE__ */ jsxs27(RichTextEditor.ControlsGroup, { children: [
7142
- /* @__PURE__ */ jsx49(RichTextEditor.Blockquote, {}),
7143
- /* @__PURE__ */ jsx49(RichTextEditor.Hr, {}),
7144
- /* @__PURE__ */ jsx49(RichTextEditor.BulletList, {}),
7145
- /* @__PURE__ */ jsx49(RichTextEditor.OrderedList, {}),
7146
- /* @__PURE__ */ jsx49(RichTextEditor.Subscript, {}),
7147
- /* @__PURE__ */ jsx49(RichTextEditor.Superscript, {})
7200
+ /* @__PURE__ */ jsxs28(RichTextEditor.ControlsGroup, { children: [
7201
+ /* @__PURE__ */ jsx50(RichTextEditor.Blockquote, {}),
7202
+ /* @__PURE__ */ jsx50(RichTextEditor.Hr, {}),
7203
+ /* @__PURE__ */ jsx50(RichTextEditor.BulletList, {}),
7204
+ /* @__PURE__ */ jsx50(RichTextEditor.OrderedList, {}),
7205
+ /* @__PURE__ */ jsx50(RichTextEditor.Subscript, {}),
7206
+ /* @__PURE__ */ jsx50(RichTextEditor.Superscript, {})
7148
7207
  ] }),
7149
- /* @__PURE__ */ jsxs27(RichTextEditor.ControlsGroup, { children: [
7150
- /* @__PURE__ */ jsx49(RichTextEditor.Link, {}),
7151
- /* @__PURE__ */ jsx49(RichTextEditor.Unlink, {})
7208
+ /* @__PURE__ */ jsxs28(RichTextEditor.ControlsGroup, { children: [
7209
+ /* @__PURE__ */ jsx50(RichTextEditor.Link, {}),
7210
+ /* @__PURE__ */ jsx50(RichTextEditor.Unlink, {})
7152
7211
  ] }),
7153
- /* @__PURE__ */ jsxs27(RichTextEditor.ControlsGroup, { children: [
7154
- /* @__PURE__ */ jsx49(RichTextEditor.AlignLeft, {}),
7155
- /* @__PURE__ */ jsx49(RichTextEditor.AlignCenter, {}),
7156
- /* @__PURE__ */ jsx49(RichTextEditor.AlignJustify, {}),
7157
- /* @__PURE__ */ jsx49(RichTextEditor.AlignRight, {})
7212
+ /* @__PURE__ */ jsxs28(RichTextEditor.ControlsGroup, { children: [
7213
+ /* @__PURE__ */ jsx50(RichTextEditor.AlignLeft, {}),
7214
+ /* @__PURE__ */ jsx50(RichTextEditor.AlignCenter, {}),
7215
+ /* @__PURE__ */ jsx50(RichTextEditor.AlignJustify, {}),
7216
+ /* @__PURE__ */ jsx50(RichTextEditor.AlignRight, {})
7158
7217
  ] })
7159
7218
  ] }),
7160
- /* @__PURE__ */ jsx49(
7219
+ /* @__PURE__ */ jsx50(
7161
7220
  ScrollArea2.Autosize,
7162
7221
  {
7163
7222
  onMouseDown: () => {
@@ -7172,7 +7231,7 @@ function MyTextEditor(_a) {
7172
7231
  setHiddenToolBar(false);
7173
7232
  },
7174
7233
  style: { cursor: "text", maxHeight: "400px" },
7175
- children: /* @__PURE__ */ jsx49(RichTextEditor.Content, { mih: contentHeight })
7234
+ children: /* @__PURE__ */ jsx50(RichTextEditor.Content, { mih: contentHeight })
7176
7235
  }
7177
7236
  )
7178
7237
  ] })) }));
@@ -7194,14 +7253,14 @@ function useS_authenticate() {
7194
7253
  }
7195
7254
 
7196
7255
  // src/modules-features/authenticate/F_authenticate_Logout.tsx
7197
- import { jsx as jsx50 } from "react/jsx-runtime";
7256
+ import { jsx as jsx51 } from "react/jsx-runtime";
7198
7257
  function F_authenticate_Logout({ redirectURL = "/auth/login" }) {
7199
7258
  const router = useRouter3();
7200
7259
  const S_Authenticate = useS_authenticate();
7201
- return /* @__PURE__ */ jsx50(Button14, { onClick: () => {
7260
+ return /* @__PURE__ */ jsx51(Button14, { onClick: () => {
7202
7261
  S_Authenticate.setProperty("token", "");
7203
7262
  router.replace(redirectURL);
7204
- }, leftSection: /* @__PURE__ */ jsx50(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
7263
+ }, leftSection: /* @__PURE__ */ jsx51(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
7205
7264
  }
7206
7265
 
7207
7266
  // src/components/Layouts/BasicAppShell/BasicAppShell.tsx
@@ -7210,11 +7269,11 @@ import {
7210
7269
  AppShell,
7211
7270
  Badge as Badge3,
7212
7271
  Divider as Divider2,
7213
- Group as Group15,
7272
+ Group as Group16,
7214
7273
  Image as Image3,
7215
7274
  NavLink,
7216
7275
  ScrollArea as ScrollArea3,
7217
- Text as Text14,
7276
+ Text as Text15,
7218
7277
  Tooltip as Tooltip5
7219
7278
  } from "@mantine/core";
7220
7279
  import { useFavicon, useMediaQuery } from "@mantine/hooks";
@@ -7226,7 +7285,7 @@ import {
7226
7285
  import Link3 from "next/link";
7227
7286
  import { usePathname as usePathname2 } from "next/navigation";
7228
7287
  import { useEffect as useEffect9, useMemo as useMemo3, useState as useState10 } from "react";
7229
- import { Fragment as Fragment13, jsx as jsx51, jsxs as jsxs28 } from "react/jsx-runtime";
7288
+ import { Fragment as Fragment13, jsx as jsx52, jsxs as jsxs29 } from "react/jsx-runtime";
7230
7289
  function findBreadcrumbPath(items, currentPath, parents = []) {
7231
7290
  for (const item of items) {
7232
7291
  if (item.link === currentPath) {
@@ -7241,13 +7300,13 @@ function findBreadcrumbPath(items, currentPath, parents = []) {
7241
7300
  }
7242
7301
  function getRightSection(status) {
7243
7302
  if (status === "Prototype")
7244
- return /* @__PURE__ */ jsx51(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "pink", circle: true, children: "P" });
7303
+ return /* @__PURE__ */ jsx52(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "pink", circle: true, children: "P" });
7245
7304
  if (status === "New")
7246
- return /* @__PURE__ */ jsx51(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", circle: true, children: "N" });
7305
+ return /* @__PURE__ */ jsx52(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", circle: true, children: "N" });
7247
7306
  if (status === "Menu")
7248
- return /* @__PURE__ */ jsx51(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "gray", circle: true, children: "M" });
7307
+ return /* @__PURE__ */ jsx52(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "gray", circle: true, children: "M" });
7249
7308
  if (status === "Change")
7250
- return /* @__PURE__ */ jsx51(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "green", circle: true, children: "C" });
7309
+ return /* @__PURE__ */ jsx52(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "green", circle: true, children: "C" });
7251
7310
  return null;
7252
7311
  }
7253
7312
  function RenderNavLinks({
@@ -7259,15 +7318,14 @@ function RenderNavLinks({
7259
7318
  const extractPathName = pathName.slice(index).replace("/", "");
7260
7319
  const segments = pathName.split("/").filter(Boolean);
7261
7320
  segments.pop();
7262
- const basePath = "/" + segments.join("/");
7263
- return /* @__PURE__ */ jsx51(Fragment13, { children: items.map((item, index2) => /* @__PURE__ */ jsx51(
7321
+ return /* @__PURE__ */ jsx52(Fragment13, { children: items.map((item, index2) => /* @__PURE__ */ jsx52(
7264
7322
  NavLink,
7265
7323
  {
7266
7324
  active: extractPathName === item.link,
7267
7325
  component: Link3,
7268
7326
  opened: basicAppShellStore.state.groupMenuOpenId.includes(item.label),
7269
- href: `${basePath}/${item.link}` || "#",
7270
- label: /* @__PURE__ */ jsxs28(MyFlexRow, { justify: "space-between", children: [
7327
+ href: `/${pathName.split("/")[1]}/${item.link}` || "#",
7328
+ label: /* @__PURE__ */ jsxs29(MyFlexRow, { justify: "space-between", children: [
7271
7329
  item.label,
7272
7330
  " ",
7273
7331
  getRightSection(item.status)
@@ -7279,7 +7337,7 @@ function RenderNavLinks({
7279
7337
  return;
7280
7338
  }
7281
7339
  },
7282
- children: item.links && /* @__PURE__ */ jsx51(RenderNavLinks, { items: item.links })
7340
+ children: item.links && /* @__PURE__ */ jsx52(RenderNavLinks, { items: item.links })
7283
7341
  },
7284
7342
  index2
7285
7343
  )) });
@@ -7402,7 +7460,7 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect })
7402
7460
  basicAppShellStore.setProperty("note", linkItem == null ? void 0 : linkItem.note);
7403
7461
  basicAppShellStore.setProperty("status", linkItem == null ? void 0 : linkItem.status);
7404
7462
  }, [pathName]);
7405
- return /* @__PURE__ */ jsxs28(
7463
+ return /* @__PURE__ */ jsxs29(
7406
7464
  AppShell,
7407
7465
  {
7408
7466
  header: { height: 60 },
@@ -7416,77 +7474,77 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect })
7416
7474
  },
7417
7475
  padding: "md",
7418
7476
  children: [
7419
- /* @__PURE__ */ jsx51(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs28(Group15, { h: "100%", px: "md", justify: "space-between", align: "center", children: [
7420
- /* @__PURE__ */ jsxs28(Group15, { h: "100%", children: [
7421
- /* @__PURE__ */ jsx51(
7477
+ /* @__PURE__ */ jsx52(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs29(Group16, { h: "100%", px: "md", justify: "space-between", align: "center", children: [
7478
+ /* @__PURE__ */ jsxs29(Group16, { h: "100%", children: [
7479
+ /* @__PURE__ */ jsx52(
7422
7480
  Tooltip5,
7423
7481
  {
7424
7482
  label: basicAppShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu",
7425
- children: /* @__PURE__ */ jsx51(
7483
+ children: /* @__PURE__ */ jsx52(
7426
7484
  ActionIcon11,
7427
7485
  {
7428
7486
  size: "lg",
7429
7487
  radius: "md",
7430
7488
  variant: "default",
7431
7489
  onClick: basicAppShellStore.toggle,
7432
- children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx51(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx51(IconLayoutSidebarLeftCollapse, {})
7490
+ children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx52(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx52(IconLayoutSidebarLeftCollapse, {})
7433
7491
  }
7434
7492
  )
7435
7493
  }
7436
7494
  ),
7437
- /* @__PURE__ */ jsx51(Tooltip5, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx51(
7495
+ /* @__PURE__ */ jsx52(Tooltip5, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx52(
7438
7496
  ActionIcon11,
7439
7497
  {
7440
7498
  size: "lg",
7441
7499
  radius: "md",
7442
7500
  variant: "default",
7443
7501
  onClick: () => basicAppShellStore.clearGroupMenuOpenId(),
7444
- children: /* @__PURE__ */ jsx51(IconLibraryMinus, {})
7502
+ children: /* @__PURE__ */ jsx52(IconLibraryMinus, {})
7445
7503
  }
7446
7504
  ) })
7447
7505
  ] }),
7448
- /* @__PURE__ */ jsx51(
7449
- Group15,
7506
+ /* @__PURE__ */ jsx52(
7507
+ Group16,
7450
7508
  {
7451
7509
  style: {
7452
7510
  position: "absolute",
7453
7511
  left: "50%",
7454
7512
  transform: "translateX(-50%)"
7455
7513
  },
7456
- children: /* @__PURE__ */ jsx51(Text14, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` })
7514
+ children: /* @__PURE__ */ jsx52(Text15, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` })
7457
7515
  }
7458
7516
  ),
7459
- /* @__PURE__ */ jsxs28(Group15, { children: [
7517
+ /* @__PURE__ */ jsxs29(Group16, { children: [
7460
7518
  extraTopRight,
7461
- /* @__PURE__ */ jsx51(MySwitchTheme, {})
7519
+ /* @__PURE__ */ jsx52(MySwitchTheme, {})
7462
7520
  ] })
7463
7521
  ] }) : (
7464
7522
  // For mobile screens - simplified layout
7465
- /* @__PURE__ */ jsxs28(Group15, { h: "100%", px: "md", justify: "space-between", children: [
7466
- /* @__PURE__ */ jsx51(
7523
+ /* @__PURE__ */ jsxs29(Group16, { h: "100%", px: "md", justify: "space-between", children: [
7524
+ /* @__PURE__ */ jsx52(
7467
7525
  ActionIcon11,
7468
7526
  {
7469
7527
  size: "lg",
7470
7528
  radius: "md",
7471
7529
  variant: "default",
7472
7530
  onClick: basicAppShellStore.toggle,
7473
- children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx51(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx51(IconLayoutSidebarLeftCollapse, {})
7531
+ children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx52(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx52(IconLayoutSidebarLeftCollapse, {})
7474
7532
  }
7475
7533
  ),
7476
- /* @__PURE__ */ jsx51(Text14, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` }),
7477
- /* @__PURE__ */ jsxs28(Group15, { children: [
7534
+ /* @__PURE__ */ jsx52(Text15, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` }),
7535
+ /* @__PURE__ */ jsxs29(Group16, { children: [
7478
7536
  extraTopRight,
7479
- /* @__PURE__ */ jsx51(MySwitchTheme, {})
7537
+ /* @__PURE__ */ jsx52(MySwitchTheme, {})
7480
7538
  ] })
7481
7539
  ] })
7482
7540
  ) }),
7483
- /* @__PURE__ */ jsxs28(AppShell.Navbar, { children: [
7484
- /* @__PURE__ */ jsx51(MyAppSpotlight, { menu }),
7485
- /* @__PURE__ */ jsx51(AppShell.Section, { grow: true, component: ScrollArea3, p: 5, children: /* @__PURE__ */ jsx51(RenderNavLinks, { items: menu }) }),
7486
- /* @__PURE__ */ jsxs28(AppShell.Section, { px: "md", children: [
7487
- /* @__PURE__ */ jsx51(Divider2, {}),
7488
- /* @__PURE__ */ jsx51(F_authenticate_Logout, { redirectURL: logoutRedirect }),
7489
- process.env.NEXT_PUBLIC_APP_PROTOTYPE == "1" ? /* @__PURE__ */ jsx51(
7541
+ /* @__PURE__ */ jsxs29(AppShell.Navbar, { children: [
7542
+ /* @__PURE__ */ jsx52(MyAppSpotlight, { menu }),
7543
+ /* @__PURE__ */ jsx52(AppShell.Section, { grow: true, component: ScrollArea3, p: 5, children: /* @__PURE__ */ jsx52(RenderNavLinks, { items: menu }) }),
7544
+ /* @__PURE__ */ jsxs29(AppShell.Section, { px: "md", children: [
7545
+ /* @__PURE__ */ jsx52(Divider2, {}),
7546
+ /* @__PURE__ */ jsx52(F_authenticate_Logout, { redirectURL: logoutRedirect }),
7547
+ process.env.NEXT_PUBLIC_APP_PROTOTYPE == "1" ? /* @__PURE__ */ jsx52(
7490
7548
  Image3,
7491
7549
  {
7492
7550
  fit: "contain",
@@ -7496,7 +7554,7 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect })
7496
7554
  alt: "Main logo",
7497
7555
  w: "330px"
7498
7556
  }
7499
- ) : /* @__PURE__ */ jsx51(
7557
+ ) : /* @__PURE__ */ jsx52(
7500
7558
  Image3,
7501
7559
  {
7502
7560
  fit: "contain",
@@ -7510,7 +7568,7 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect })
7510
7568
  )
7511
7569
  ] })
7512
7570
  ] }),
7513
- /* @__PURE__ */ jsx51(
7571
+ /* @__PURE__ */ jsx52(
7514
7572
  AppShell.Main,
7515
7573
  {
7516
7574
  bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))",
@@ -7565,24 +7623,24 @@ function utils_layout_getItemsWithoutLinks(menu) {
7565
7623
 
7566
7624
  // src/components/Layouts/Container/MyContainer.tsx
7567
7625
  import { Container, Flex as Flex5 } from "@mantine/core";
7568
- import { jsx as jsx52 } from "react/jsx-runtime";
7626
+ import { jsx as jsx53 } from "react/jsx-runtime";
7569
7627
  function MyContainer(_a) {
7570
7628
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
7571
- return /* @__PURE__ */ jsx52(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx52(Flex5, { direction: "column", children }) }));
7629
+ return /* @__PURE__ */ jsx53(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx53(Flex5, { direction: "column", children }) }));
7572
7630
  }
7573
7631
 
7574
7632
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
7575
7633
  import {
7576
- Box as Box4,
7634
+ Box as Box5,
7577
7635
  Burger,
7578
7636
  Button as Button15,
7579
7637
  Container as Container2,
7580
7638
  Divider as Divider3,
7581
7639
  Drawer,
7582
- Group as Group16,
7640
+ Group as Group17,
7583
7641
  Image as Image4,
7584
7642
  ScrollArea as ScrollArea4,
7585
- Text as Text15,
7643
+ Text as Text16,
7586
7644
  TextInput as TextInput3,
7587
7645
  ThemeIcon,
7588
7646
  UnstyledButton,
@@ -7614,7 +7672,7 @@ function useHeaderMegaMenuStore() {
7614
7672
  }
7615
7673
 
7616
7674
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
7617
- import { jsx as jsx53, jsxs as jsxs29 } from "react/jsx-runtime";
7675
+ import { jsx as jsx54, jsxs as jsxs30 } from "react/jsx-runtime";
7618
7676
  var mockdata = [
7619
7677
  {
7620
7678
  icon: IconCode,
@@ -7652,27 +7710,27 @@ function HeaderMegaMenu({ children, menus }) {
7652
7710
  const [linksOpened, { toggle: toggleLinks }] = useDisclosure11(false);
7653
7711
  const HeaderMegaMenuStore = useHeaderMegaMenuStore();
7654
7712
  const theme = useMantineTheme();
7655
- const links = mockdata.map((item) => /* @__PURE__ */ jsx53(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs29(Group16, { wrap: "nowrap", align: "flex-start", children: [
7656
- /* @__PURE__ */ jsx53(ThemeIcon, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx53(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
7657
- /* @__PURE__ */ jsxs29("div", { children: [
7658
- /* @__PURE__ */ jsx53(Text15, { size: "sm", fw: 500, children: item.title }),
7659
- /* @__PURE__ */ jsx53(Text15, { size: "xs", c: "dimmed", children: item.description })
7713
+ const links = mockdata.map((item) => /* @__PURE__ */ jsx54(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs30(Group17, { wrap: "nowrap", align: "flex-start", children: [
7714
+ /* @__PURE__ */ jsx54(ThemeIcon, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx54(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
7715
+ /* @__PURE__ */ jsxs30("div", { children: [
7716
+ /* @__PURE__ */ jsx54(Text16, { size: "sm", fw: 500, children: item.title }),
7717
+ /* @__PURE__ */ jsx54(Text16, { size: "xs", c: "dimmed", children: item.description })
7660
7718
  ] })
7661
7719
  ] }) }, item.title));
7662
- return /* @__PURE__ */ jsxs29(Box4, { children: [
7663
- /* @__PURE__ */ jsx53("header", { className: css_default.header, children: /* @__PURE__ */ jsxs29(Group16, { justify: "space-between", h: "100%", children: [
7664
- /* @__PURE__ */ jsxs29(Group16, { children: [
7665
- /* @__PURE__ */ jsx53(Image4, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
7666
- /* @__PURE__ */ jsx53(Group16, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx53(Button15, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
7720
+ return /* @__PURE__ */ jsxs30(Box5, { children: [
7721
+ /* @__PURE__ */ jsx54("header", { className: css_default.header, children: /* @__PURE__ */ jsxs30(Group17, { justify: "space-between", h: "100%", children: [
7722
+ /* @__PURE__ */ jsxs30(Group17, { children: [
7723
+ /* @__PURE__ */ jsx54(Image4, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
7724
+ /* @__PURE__ */ jsx54(Group17, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx54(Button15, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
7667
7725
  ] }),
7668
- /* @__PURE__ */ jsxs29(Group16, { children: [
7669
- /* @__PURE__ */ jsx53(TextInput3, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx53(IconSearch2, {}), radius: "xl", w: "250px" }),
7670
- /* @__PURE__ */ jsx53(MySwitchTheme, {})
7726
+ /* @__PURE__ */ jsxs30(Group17, { children: [
7727
+ /* @__PURE__ */ jsx54(TextInput3, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx54(IconSearch2, {}), radius: "xl", w: "250px" }),
7728
+ /* @__PURE__ */ jsx54(MySwitchTheme, {})
7671
7729
  ] }),
7672
- /* @__PURE__ */ jsx53(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
7730
+ /* @__PURE__ */ jsx54(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
7673
7731
  ] }) }),
7674
- /* @__PURE__ */ jsx53(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
7675
- /* @__PURE__ */ jsx53(
7732
+ /* @__PURE__ */ jsx54(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
7733
+ /* @__PURE__ */ jsx54(
7676
7734
  Drawer,
7677
7735
  {
7678
7736
  opened: drawerOpened,
@@ -7682,10 +7740,10 @@ function HeaderMegaMenu({ children, menus }) {
7682
7740
  title: "Navigation",
7683
7741
  hiddenFrom: "sm",
7684
7742
  zIndex: 1e6,
7685
- children: /* @__PURE__ */ jsxs29(ScrollArea4, { h: "calc(100vh - 80px", mx: "-md", children: [
7686
- /* @__PURE__ */ jsx53(Divider3, { my: "sm" }),
7687
- /* @__PURE__ */ jsx53(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx53(Button15, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
7688
- /* @__PURE__ */ jsx53(Divider3, { my: "sm" })
7743
+ children: /* @__PURE__ */ jsxs30(ScrollArea4, { h: "calc(100vh - 80px", mx: "-md", children: [
7744
+ /* @__PURE__ */ jsx54(Divider3, { my: "sm" }),
7745
+ /* @__PURE__ */ jsx54(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx54(Button15, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
7746
+ /* @__PURE__ */ jsx54(Divider3, { my: "sm" })
7689
7747
  ] })
7690
7748
  }
7691
7749
  )
@@ -7693,8 +7751,8 @@ function HeaderMegaMenu({ children, menus }) {
7693
7751
  }
7694
7752
 
7695
7753
  // src/components/Layouts/PageContent/MyPageContent.tsx
7696
- import { Badge as Badge4, Breadcrumbs, Container as Container3, Divider as Divider4, Group as Group17, Text as Text16, Title } from "@mantine/core";
7697
- import { jsx as jsx54, jsxs as jsxs30 } from "react/jsx-runtime";
7754
+ import { Badge as Badge4, Breadcrumbs, Container as Container3, Divider as Divider4, Group as Group18, Text as Text17, Title } from "@mantine/core";
7755
+ import { jsx as jsx55, jsxs as jsxs31 } from "react/jsx-runtime";
7698
7756
  var getStatusColor = (status) => {
7699
7757
  switch (status) {
7700
7758
  case "Prototype":
@@ -7705,10 +7763,10 @@ var getStatusColor = (status) => {
7705
7763
  };
7706
7764
  function PageTitle({ title, status, note }) {
7707
7765
  const color = getStatusColor(status);
7708
- return /* @__PURE__ */ jsx54(Group17, { children: /* @__PURE__ */ jsxs30(MyFlexColumn, { gap: 0, children: [
7709
- /* @__PURE__ */ jsxs30(Group17, { align: "center", children: [
7710
- /* @__PURE__ */ jsx54(Title, { order: 3, children: title }),
7711
- status && /* @__PURE__ */ jsx54(
7766
+ return /* @__PURE__ */ jsx55(Group18, { children: /* @__PURE__ */ jsxs31(MyFlexColumn, { gap: 0, children: [
7767
+ /* @__PURE__ */ jsxs31(Group18, { align: "center", children: [
7768
+ /* @__PURE__ */ jsx55(Title, { order: 3, children: title }),
7769
+ status && /* @__PURE__ */ jsx55(
7712
7770
  Badge4,
7713
7771
  {
7714
7772
  variant: "gradient",
@@ -7719,7 +7777,7 @@ function PageTitle({ title, status, note }) {
7719
7777
  }
7720
7778
  )
7721
7779
  ] }),
7722
- /* @__PURE__ */ jsx54(Text16, { size: "lg", c: "dimmed", fs: "italic", children: note })
7780
+ /* @__PURE__ */ jsx55(Text17, { size: "lg", c: "dimmed", fs: "italic", children: note })
7723
7781
  ] }) });
7724
7782
  }
7725
7783
  function MyPageContent({
@@ -7732,11 +7790,11 @@ function MyPageContent({
7732
7790
  var _a;
7733
7791
  const basicAppShellStore = useS_BasicAppShell();
7734
7792
  const finalTitle = title || basicAppShellStore.state.title;
7735
- return /* @__PURE__ */ jsxs30(Container3, { p: 0, fluid: true, children: [
7736
- /* @__PURE__ */ jsxs30(Group17, { justify: "space-between", children: [
7737
- /* @__PURE__ */ jsxs30(Group17, { children: [
7738
- /* @__PURE__ */ jsx54(MyButtonRouterBack, {}),
7739
- /* @__PURE__ */ jsx54(
7793
+ return /* @__PURE__ */ jsxs31(Container3, { p: 0, fluid: true, children: [
7794
+ /* @__PURE__ */ jsxs31(Group18, { justify: "space-between", children: [
7795
+ /* @__PURE__ */ jsxs31(Group18, { children: [
7796
+ /* @__PURE__ */ jsx55(MyButtonRouterBack, {}),
7797
+ /* @__PURE__ */ jsx55(
7740
7798
  PageTitle,
7741
7799
  {
7742
7800
  title: finalTitle,
@@ -7746,63 +7804,63 @@ function MyPageContent({
7746
7804
  ),
7747
7805
  leftTopBar
7748
7806
  ] }),
7749
- /* @__PURE__ */ jsxs30(Group17, { p: "md", children: [
7807
+ /* @__PURE__ */ jsxs31(Group18, { p: "md", children: [
7750
7808
  rightTopBar,
7751
- /* @__PURE__ */ jsx54(Breadcrumbs, { separatorMargin: "7", children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx54(Text16, { fw: "600", c: "blue", children: item }, idx)) })
7809
+ /* @__PURE__ */ jsx55(Breadcrumbs, { separatorMargin: "7", children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx55(Text17, { fw: "600", c: "blue", children: item }, idx)) })
7752
7810
  ] })
7753
7811
  ] }),
7754
- /* @__PURE__ */ jsx54(Divider4, { my: "xs" }),
7812
+ /* @__PURE__ */ jsx55(Divider4, { my: "xs" }),
7755
7813
  children,
7756
- /* @__PURE__ */ jsx54(Divider4, { my: "xs" })
7814
+ /* @__PURE__ */ jsx55(Divider4, { my: "xs" })
7757
7815
  ] });
7758
7816
  }
7759
7817
 
7760
7818
  // src/components/Layouts/Tab/MyTab.tsx
7761
7819
  import { rem, Space as Space3, Tabs } from "@mantine/core";
7762
- import { jsx as jsx55, jsxs as jsxs31 } from "react/jsx-runtime";
7820
+ import { jsx as jsx56, jsxs as jsxs32 } from "react/jsx-runtime";
7763
7821
  function MyTab(_a) {
7764
7822
  var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
7765
7823
  const iconStyle = { width: rem(20), height: rem(20) };
7766
- return /* @__PURE__ */ jsxs31(Tabs, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
7767
- /* @__PURE__ */ jsx55(Tabs.List, { children: tabList.map((item, idx) => {
7768
- return /* @__PURE__ */ jsx55(Tabs.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx55(item.icon, { style: iconStyle }), children: item.label }, idx);
7824
+ return /* @__PURE__ */ jsxs32(Tabs, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
7825
+ /* @__PURE__ */ jsx56(Tabs.List, { children: tabList.map((item, idx) => {
7826
+ return /* @__PURE__ */ jsx56(Tabs.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx56(item.icon, { style: iconStyle }), children: item.label }, idx);
7769
7827
  }) }),
7770
- /* @__PURE__ */ jsx55(Space3, { my: "md" }),
7828
+ /* @__PURE__ */ jsx56(Space3, { my: "md" }),
7771
7829
  children
7772
7830
  ] }));
7773
7831
  }
7774
7832
 
7775
7833
  // src/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx
7776
- import { ActionIcon as ActionIcon12, Button as Button16, Fieldset as Fieldset5, Group as Group18, Modal as Modal11 } from "@mantine/core";
7834
+ import { ActionIcon as ActionIcon12, Button as Button16, Fieldset as Fieldset5, Group as Group19, Modal as Modal11 } from "@mantine/core";
7777
7835
  import { useDisclosure as useDisclosure12 } from "@mantine/hooks";
7778
7836
  import { IconX as IconX2 } from "@tabler/icons-react";
7779
- import { jsx as jsx56, jsxs as jsxs32 } from "react/jsx-runtime";
7837
+ import { jsx as jsx57, jsxs as jsxs33 } from "react/jsx-runtime";
7780
7838
  function MyDataTableSelect(_a) {
7781
7839
  var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
7782
7840
  const disc = useDisclosure12(false);
7783
7841
  if (data == void 0) return "\u0110ang t\u1EA3i...";
7784
- return /* @__PURE__ */ jsxs32(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
7785
- /* @__PURE__ */ jsx56(
7842
+ return /* @__PURE__ */ jsxs33(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
7843
+ /* @__PURE__ */ jsx57(
7786
7844
  MyDataTable,
7787
7845
  __spreadValues({
7788
7846
  renderTopToolbarCustomActions: ({ table }) => {
7789
- return /* @__PURE__ */ jsxs32(Group18, { children: [
7847
+ return /* @__PURE__ */ jsxs33(Group19, { children: [
7790
7848
  renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
7791
- /* @__PURE__ */ jsx56(Button16, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
7849
+ /* @__PURE__ */ jsx57(Button16, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
7792
7850
  ] });
7793
7851
  },
7794
7852
  columns,
7795
7853
  data: listState[0],
7796
7854
  renderRowActions: ({ row }) => {
7797
- return /* @__PURE__ */ jsx56(MyCenterFull, { children: /* @__PURE__ */ jsx56(ActionIcon12, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx56(IconX2, {}) }) });
7855
+ return /* @__PURE__ */ jsx57(MyCenterFull, { children: /* @__PURE__ */ jsx57(ActionIcon12, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx57(IconX2, {}) }) });
7798
7856
  }
7799
7857
  }, rest)
7800
7858
  ),
7801
- /* @__PURE__ */ jsx56(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx56(
7859
+ /* @__PURE__ */ jsx57(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx57(
7802
7860
  MyDataTable,
7803
7861
  __spreadValues({
7804
7862
  renderTopToolbarCustomActions: ({ table }) => {
7805
- return /* @__PURE__ */ jsx56(Button16, { onClick: () => {
7863
+ return /* @__PURE__ */ jsx57(Button16, { onClick: () => {
7806
7864
  table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
7807
7865
  disc[1].close();
7808
7866
  }, children: "Ch\u1ECDn" });
@@ -7818,7 +7876,7 @@ function MyDataTableSelect(_a) {
7818
7876
  // src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
7819
7877
  import { Select as Select3 } from "@mantine/core";
7820
7878
  import { useQuery as useQuery2 } from "@tanstack/react-query";
7821
- import { jsx as jsx57 } from "react/jsx-runtime";
7879
+ import { jsx as jsx58 } from "react/jsx-runtime";
7822
7880
  function MySelectAPIGet(_a) {
7823
7881
  var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
7824
7882
  var _a2;
@@ -7837,7 +7895,7 @@ function MySelectAPIGet(_a) {
7837
7895
  label: `${item.code}-${item.name}`
7838
7896
  };
7839
7897
  });
7840
- return /* @__PURE__ */ jsx57(
7898
+ return /* @__PURE__ */ jsx58(
7841
7899
  Select3,
7842
7900
  __spreadValues({
7843
7901
  label,
@@ -7852,7 +7910,7 @@ import { useNextCalendarApp as useNextCalendarApp2, ScheduleXCalendar as Schedul
7852
7910
  import { createEventsServicePlugin as createEventsServicePlugin2 } from "@schedule-x/events-service";
7853
7911
  import { useState as useState11 } from "react";
7854
7912
  import { createEventModalPlugin as createEventModalPlugin2 } from "@schedule-x/event-modal";
7855
- import { jsx as jsx58 } from "react/jsx-runtime";
7913
+ import { jsx as jsx59 } from "react/jsx-runtime";
7856
7914
  function MyScheduleX({
7857
7915
  values,
7858
7916
  timeGridEvent,
@@ -7877,7 +7935,7 @@ function MyScheduleX({
7877
7935
  events: values,
7878
7936
  plugins: [eventsService, eventModalPlugin]
7879
7937
  });
7880
- return /* @__PURE__ */ jsx58(
7938
+ return /* @__PURE__ */ jsx59(
7881
7939
  ScheduleXCalendar2,
7882
7940
  {
7883
7941
  calendarApp: calendar,
@@ -7891,9 +7949,9 @@ function MyScheduleX({
7891
7949
 
7892
7950
  // src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
7893
7951
  import { Skeleton } from "@mantine/core";
7894
- import { jsx as jsx59 } from "react/jsx-runtime";
7952
+ import { jsx as jsx60 } from "react/jsx-runtime";
7895
7953
  function MySkeletonTable({ h: h4 = 500 }) {
7896
- return /* @__PURE__ */ jsx59(Skeleton, { h: h4 });
7954
+ return /* @__PURE__ */ jsx60(Skeleton, { h: h4 });
7897
7955
  }
7898
7956
 
7899
7957
  export {
@@ -7942,6 +8000,7 @@ export {
7942
8000
  MyIconText,
7943
8001
  MyNumberFormatter,
7944
8002
  AQStatCard1,
8003
+ AQStatCard2,
7945
8004
  useS_BasicAppShell,
7946
8005
  FaviconSetter,
7947
8006
  MyDateInput,
@@ -344,6 +344,14 @@ declare function AQStatCard1({ title, value, unit, description, icons, diff }: {
344
344
  diff: number;
345
345
  }): react_jsx_runtime.JSX.Element;
346
346
 
347
+ declare function AQStatCard2({ title, value, unit, icons, }: {
348
+ title: string;
349
+ value: string;
350
+ unit?: string;
351
+ description?: string;
352
+ icons: ReactNode;
353
+ }): react_jsx_runtime.JSX.Element;
354
+
347
355
  declare function FaviconSetter(): null;
348
356
 
349
357
  interface IDateInput extends DateInputProps {
@@ -530,4 +538,4 @@ interface IMySkeletonTable extends SkeletonProps {
530
538
  }
531
539
  declare function MySkeletonTable({ h }: IMySkeletonTable): react_jsx_runtime.JSX.Element;
532
540
 
533
- export { AQButtonCreateByImportFile, AQButtonExportData, AQCard, AQSelectTableByOpenModal, AQStatCard1, Boxes, FaviconSetter, HeaderMegaMenu, type IAQCardProps, type IMyTextEditor, I_BasicAppShell_LinkItem, MyActionIcon, MyActionIconCheck, MyActionIconDelete, MyActionIconDownloadPDF, MyActionIconModal, MyActionIconUpdate, MyActionIconUpload, MyActionIconViewPDF, MyAnchorViewPDF, MyAppSpotlight, MyBoxesBackground, MyBoxesCore, MyButton, MyButtonCreate, MyButtonDeleteList, MyButtonImport, MyButtonModal, MyButtonPrintPDF, MyButtonPrintTablePDF, MyButtonRouterBack, MyButtonViewPDF, MyCalendar, MyCardInformation, MyCardioLoader, MyCenterFull, MyCheckbox, MyContainer, MyDataTable, type MyDataTableInternalProps, type MyDataTableProps, MyDataTableSelect, MyDateInput, MyFieldset, MyFileInput, MyFlexColumn, MyFlexEnd, MyFlexRow, MyHtmlWrapper, MyIconText, MyNumberFormatter, MyNumberInput, MyPageContent, MyScheduleX, MySelect, MySelectAPIGet, MySkeletonTable, MySwitchTheme, MyTab, MyTextArea, MyTextEditor, MyTextInput, SelectFieldModal, SelectFileModal, type SelectFileModalProps, useHeaderMegaMenuStore, useS_BasicAppShell, useS_ButtonImport };
541
+ export { AQButtonCreateByImportFile, AQButtonExportData, AQCard, AQSelectTableByOpenModal, AQStatCard1, AQStatCard2, Boxes, FaviconSetter, HeaderMegaMenu, type IAQCardProps, type IMyTextEditor, I_BasicAppShell_LinkItem, MyActionIcon, MyActionIconCheck, MyActionIconDelete, MyActionIconDownloadPDF, MyActionIconModal, MyActionIconUpdate, MyActionIconUpload, MyActionIconViewPDF, MyAnchorViewPDF, MyAppSpotlight, MyBoxesBackground, MyBoxesCore, MyButton, MyButtonCreate, MyButtonDeleteList, MyButtonImport, MyButtonModal, MyButtonPrintPDF, MyButtonPrintTablePDF, MyButtonRouterBack, MyButtonViewPDF, MyCalendar, MyCardInformation, MyCardioLoader, MyCenterFull, MyCheckbox, MyContainer, MyDataTable, type MyDataTableInternalProps, type MyDataTableProps, MyDataTableSelect, MyDateInput, MyFieldset, MyFileInput, MyFlexColumn, MyFlexEnd, MyFlexRow, MyHtmlWrapper, MyIconText, MyNumberFormatter, MyNumberInput, MyPageContent, MyScheduleX, MySelect, MySelectAPIGet, MySkeletonTable, MySwitchTheme, MyTab, MyTextArea, MyTextEditor, MyTextInput, SelectFieldModal, SelectFileModal, type SelectFileModalProps, useHeaderMegaMenuStore, useS_BasicAppShell, useS_ButtonImport };
@@ -4,6 +4,7 @@ import {
4
4
  AQCard,
5
5
  AQSelectTableByOpenModal,
6
6
  AQStatCard1,
7
+ AQStatCard2,
7
8
  BasicAppShell,
8
9
  BasicAppShell_transformMenuToEnum,
9
10
  Boxes,
@@ -65,7 +66,7 @@ import {
65
66
  useS_BasicAppShell,
66
67
  useS_ButtonImport,
67
68
  utils_layout_getItemsWithoutLinks
68
- } from "../chunk-BYWT26DO.mjs";
69
+ } from "../chunk-ZXZZLBG3.mjs";
69
70
  import "../chunk-U62R2QKJ.mjs";
70
71
  import "../chunk-5U2JSHSJ.mjs";
71
72
  import "../chunk-OMJJAHOC.mjs";
@@ -78,6 +79,7 @@ export {
78
79
  AQCard,
79
80
  AQSelectTableByOpenModal,
80
81
  AQStatCard1,
82
+ AQStatCard2,
81
83
  BasicAppShell,
82
84
  BasicAppShell_transformMenuToEnum,
83
85
  Boxes,
@@ -18,11 +18,11 @@ import {
18
18
  MyStatsCard,
19
19
  MyTextInput,
20
20
  MyWeeklySessionSchedulerPicker
21
- } from "../chunk-S25NDKWA.mjs";
22
- import "../chunk-GFEMKKFH.mjs";
23
- import "../chunk-BYWT26DO.mjs";
21
+ } from "../chunk-M7LQN7UK.mjs";
22
+ import "../chunk-ZXZZLBG3.mjs";
24
23
  import "../chunk-U62R2QKJ.mjs";
25
24
  import "../chunk-5U2JSHSJ.mjs";
25
+ import "../chunk-GFEMKKFH.mjs";
26
26
  import "../chunk-OMJJAHOC.mjs";
27
27
  import "../chunk-K6S7R6LU.mjs";
28
28
  import "../chunk-KFSAV44B.mjs";
@@ -11,17 +11,11 @@ import {
11
11
  import {
12
12
  U0DateToDDMMYYYString
13
13
  } from "../chunk-EWDS5IOF.mjs";
14
- import {
15
- enum_emailConfigModule
16
- } from "../chunk-VH4ZAD6M.mjs";
17
14
  import {
18
15
  MyButton as MyButton2,
19
16
  MyDataTableSelectOne,
20
17
  MyTextInput as MyTextInput2
21
- } from "../chunk-S25NDKWA.mjs";
22
- import {
23
- const_object_documentTypes
24
- } from "../chunk-GFEMKKFH.mjs";
18
+ } from "../chunk-M7LQN7UK.mjs";
25
19
  import {
26
20
  F_authenticate_Logout,
27
21
  MyActionIconDelete,
@@ -47,14 +41,20 @@ import {
47
41
  groupToTwoLevels,
48
42
  useS_authenticate,
49
43
  utils_layout_getItemsWithoutLinks
50
- } from "../chunk-BYWT26DO.mjs";
44
+ } from "../chunk-ZXZZLBG3.mjs";
51
45
  import {
52
46
  createGenericStore
53
47
  } from "../chunk-U62R2QKJ.mjs";
54
48
  import "../chunk-5U2JSHSJ.mjs";
49
+ import {
50
+ const_object_documentTypes
51
+ } from "../chunk-GFEMKKFH.mjs";
55
52
  import {
56
53
  const_object_colors
57
54
  } from "../chunk-OMJJAHOC.mjs";
55
+ import {
56
+ enum_emailConfigModule
57
+ } from "../chunk-VH4ZAD6M.mjs";
58
58
  import "../chunk-K6S7R6LU.mjs";
59
59
  import {
60
60
  baseAxios_default,
package/package.json CHANGED
@@ -42,7 +42,7 @@
42
42
  "types": "./dist/columns/index.d.mts"
43
43
  }
44
44
  },
45
- "version": "0.1.491",
45
+ "version": "0.1.493",
46
46
  "private": false,
47
47
  "files": [
48
48
  "dist"