aq-fe-framework 0.1.492 → 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-SOZCWGDW.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,14 +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
- return /* @__PURE__ */ jsx51(Fragment13, { children: items.map((item, index2) => /* @__PURE__ */ jsx51(
7321
+ return /* @__PURE__ */ jsx52(Fragment13, { children: items.map((item, index2) => /* @__PURE__ */ jsx52(
7263
7322
  NavLink,
7264
7323
  {
7265
7324
  active: extractPathName === item.link,
7266
7325
  component: Link3,
7267
7326
  opened: basicAppShellStore.state.groupMenuOpenId.includes(item.label),
7268
7327
  href: `/${pathName.split("/")[1]}/${item.link}` || "#",
7269
- label: /* @__PURE__ */ jsxs28(MyFlexRow, { justify: "space-between", children: [
7328
+ label: /* @__PURE__ */ jsxs29(MyFlexRow, { justify: "space-between", children: [
7270
7329
  item.label,
7271
7330
  " ",
7272
7331
  getRightSection(item.status)
@@ -7278,7 +7337,7 @@ function RenderNavLinks({
7278
7337
  return;
7279
7338
  }
7280
7339
  },
7281
- children: item.links && /* @__PURE__ */ jsx51(RenderNavLinks, { items: item.links })
7340
+ children: item.links && /* @__PURE__ */ jsx52(RenderNavLinks, { items: item.links })
7282
7341
  },
7283
7342
  index2
7284
7343
  )) });
@@ -7401,7 +7460,7 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect })
7401
7460
  basicAppShellStore.setProperty("note", linkItem == null ? void 0 : linkItem.note);
7402
7461
  basicAppShellStore.setProperty("status", linkItem == null ? void 0 : linkItem.status);
7403
7462
  }, [pathName]);
7404
- return /* @__PURE__ */ jsxs28(
7463
+ return /* @__PURE__ */ jsxs29(
7405
7464
  AppShell,
7406
7465
  {
7407
7466
  header: { height: 60 },
@@ -7415,77 +7474,77 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect })
7415
7474
  },
7416
7475
  padding: "md",
7417
7476
  children: [
7418
- /* @__PURE__ */ jsx51(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs28(Group15, { h: "100%", px: "md", justify: "space-between", align: "center", children: [
7419
- /* @__PURE__ */ jsxs28(Group15, { h: "100%", children: [
7420
- /* @__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(
7421
7480
  Tooltip5,
7422
7481
  {
7423
7482
  label: basicAppShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu",
7424
- children: /* @__PURE__ */ jsx51(
7483
+ children: /* @__PURE__ */ jsx52(
7425
7484
  ActionIcon11,
7426
7485
  {
7427
7486
  size: "lg",
7428
7487
  radius: "md",
7429
7488
  variant: "default",
7430
7489
  onClick: basicAppShellStore.toggle,
7431
- children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx51(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx51(IconLayoutSidebarLeftCollapse, {})
7490
+ children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx52(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx52(IconLayoutSidebarLeftCollapse, {})
7432
7491
  }
7433
7492
  )
7434
7493
  }
7435
7494
  ),
7436
- /* @__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(
7437
7496
  ActionIcon11,
7438
7497
  {
7439
7498
  size: "lg",
7440
7499
  radius: "md",
7441
7500
  variant: "default",
7442
7501
  onClick: () => basicAppShellStore.clearGroupMenuOpenId(),
7443
- children: /* @__PURE__ */ jsx51(IconLibraryMinus, {})
7502
+ children: /* @__PURE__ */ jsx52(IconLibraryMinus, {})
7444
7503
  }
7445
7504
  ) })
7446
7505
  ] }),
7447
- /* @__PURE__ */ jsx51(
7448
- Group15,
7506
+ /* @__PURE__ */ jsx52(
7507
+ Group16,
7449
7508
  {
7450
7509
  style: {
7451
7510
  position: "absolute",
7452
7511
  left: "50%",
7453
7512
  transform: "translateX(-50%)"
7454
7513
  },
7455
- 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}` })
7456
7515
  }
7457
7516
  ),
7458
- /* @__PURE__ */ jsxs28(Group15, { children: [
7517
+ /* @__PURE__ */ jsxs29(Group16, { children: [
7459
7518
  extraTopRight,
7460
- /* @__PURE__ */ jsx51(MySwitchTheme, {})
7519
+ /* @__PURE__ */ jsx52(MySwitchTheme, {})
7461
7520
  ] })
7462
7521
  ] }) : (
7463
7522
  // For mobile screens - simplified layout
7464
- /* @__PURE__ */ jsxs28(Group15, { h: "100%", px: "md", justify: "space-between", children: [
7465
- /* @__PURE__ */ jsx51(
7523
+ /* @__PURE__ */ jsxs29(Group16, { h: "100%", px: "md", justify: "space-between", children: [
7524
+ /* @__PURE__ */ jsx52(
7466
7525
  ActionIcon11,
7467
7526
  {
7468
7527
  size: "lg",
7469
7528
  radius: "md",
7470
7529
  variant: "default",
7471
7530
  onClick: basicAppShellStore.toggle,
7472
- children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx51(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx51(IconLayoutSidebarLeftCollapse, {})
7531
+ children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx52(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx52(IconLayoutSidebarLeftCollapse, {})
7473
7532
  }
7474
7533
  ),
7475
- /* @__PURE__ */ jsx51(Text14, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` }),
7476
- /* @__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: [
7477
7536
  extraTopRight,
7478
- /* @__PURE__ */ jsx51(MySwitchTheme, {})
7537
+ /* @__PURE__ */ jsx52(MySwitchTheme, {})
7479
7538
  ] })
7480
7539
  ] })
7481
7540
  ) }),
7482
- /* @__PURE__ */ jsxs28(AppShell.Navbar, { children: [
7483
- /* @__PURE__ */ jsx51(MyAppSpotlight, { menu }),
7484
- /* @__PURE__ */ jsx51(AppShell.Section, { grow: true, component: ScrollArea3, p: 5, children: /* @__PURE__ */ jsx51(RenderNavLinks, { items: menu }) }),
7485
- /* @__PURE__ */ jsxs28(AppShell.Section, { px: "md", children: [
7486
- /* @__PURE__ */ jsx51(Divider2, {}),
7487
- /* @__PURE__ */ jsx51(F_authenticate_Logout, { redirectURL: logoutRedirect }),
7488
- 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(
7489
7548
  Image3,
7490
7549
  {
7491
7550
  fit: "contain",
@@ -7495,7 +7554,7 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect })
7495
7554
  alt: "Main logo",
7496
7555
  w: "330px"
7497
7556
  }
7498
- ) : /* @__PURE__ */ jsx51(
7557
+ ) : /* @__PURE__ */ jsx52(
7499
7558
  Image3,
7500
7559
  {
7501
7560
  fit: "contain",
@@ -7509,7 +7568,7 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect })
7509
7568
  )
7510
7569
  ] })
7511
7570
  ] }),
7512
- /* @__PURE__ */ jsx51(
7571
+ /* @__PURE__ */ jsx52(
7513
7572
  AppShell.Main,
7514
7573
  {
7515
7574
  bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))",
@@ -7564,24 +7623,24 @@ function utils_layout_getItemsWithoutLinks(menu) {
7564
7623
 
7565
7624
  // src/components/Layouts/Container/MyContainer.tsx
7566
7625
  import { Container, Flex as Flex5 } from "@mantine/core";
7567
- import { jsx as jsx52 } from "react/jsx-runtime";
7626
+ import { jsx as jsx53 } from "react/jsx-runtime";
7568
7627
  function MyContainer(_a) {
7569
7628
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
7570
- 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 }) }));
7571
7630
  }
7572
7631
 
7573
7632
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
7574
7633
  import {
7575
- Box as Box4,
7634
+ Box as Box5,
7576
7635
  Burger,
7577
7636
  Button as Button15,
7578
7637
  Container as Container2,
7579
7638
  Divider as Divider3,
7580
7639
  Drawer,
7581
- Group as Group16,
7640
+ Group as Group17,
7582
7641
  Image as Image4,
7583
7642
  ScrollArea as ScrollArea4,
7584
- Text as Text15,
7643
+ Text as Text16,
7585
7644
  TextInput as TextInput3,
7586
7645
  ThemeIcon,
7587
7646
  UnstyledButton,
@@ -7613,7 +7672,7 @@ function useHeaderMegaMenuStore() {
7613
7672
  }
7614
7673
 
7615
7674
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
7616
- import { jsx as jsx53, jsxs as jsxs29 } from "react/jsx-runtime";
7675
+ import { jsx as jsx54, jsxs as jsxs30 } from "react/jsx-runtime";
7617
7676
  var mockdata = [
7618
7677
  {
7619
7678
  icon: IconCode,
@@ -7651,27 +7710,27 @@ function HeaderMegaMenu({ children, menus }) {
7651
7710
  const [linksOpened, { toggle: toggleLinks }] = useDisclosure11(false);
7652
7711
  const HeaderMegaMenuStore = useHeaderMegaMenuStore();
7653
7712
  const theme = useMantineTheme();
7654
- const links = mockdata.map((item) => /* @__PURE__ */ jsx53(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs29(Group16, { wrap: "nowrap", align: "flex-start", children: [
7655
- /* @__PURE__ */ jsx53(ThemeIcon, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx53(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
7656
- /* @__PURE__ */ jsxs29("div", { children: [
7657
- /* @__PURE__ */ jsx53(Text15, { size: "sm", fw: 500, children: item.title }),
7658
- /* @__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 })
7659
7718
  ] })
7660
7719
  ] }) }, item.title));
7661
- return /* @__PURE__ */ jsxs29(Box4, { children: [
7662
- /* @__PURE__ */ jsx53("header", { className: css_default.header, children: /* @__PURE__ */ jsxs29(Group16, { justify: "space-between", h: "100%", children: [
7663
- /* @__PURE__ */ jsxs29(Group16, { children: [
7664
- /* @__PURE__ */ jsx53(Image4, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
7665
- /* @__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)) })
7666
7725
  ] }),
7667
- /* @__PURE__ */ jsxs29(Group16, { children: [
7668
- /* @__PURE__ */ jsx53(TextInput3, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx53(IconSearch2, {}), radius: "xl", w: "250px" }),
7669
- /* @__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, {})
7670
7729
  ] }),
7671
- /* @__PURE__ */ jsx53(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
7730
+ /* @__PURE__ */ jsx54(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
7672
7731
  ] }) }),
7673
- /* @__PURE__ */ jsx53(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
7674
- /* @__PURE__ */ jsx53(
7732
+ /* @__PURE__ */ jsx54(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
7733
+ /* @__PURE__ */ jsx54(
7675
7734
  Drawer,
7676
7735
  {
7677
7736
  opened: drawerOpened,
@@ -7681,10 +7740,10 @@ function HeaderMegaMenu({ children, menus }) {
7681
7740
  title: "Navigation",
7682
7741
  hiddenFrom: "sm",
7683
7742
  zIndex: 1e6,
7684
- children: /* @__PURE__ */ jsxs29(ScrollArea4, { h: "calc(100vh - 80px", mx: "-md", children: [
7685
- /* @__PURE__ */ jsx53(Divider3, { my: "sm" }),
7686
- /* @__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)) }),
7687
- /* @__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" })
7688
7747
  ] })
7689
7748
  }
7690
7749
  )
@@ -7692,8 +7751,8 @@ function HeaderMegaMenu({ children, menus }) {
7692
7751
  }
7693
7752
 
7694
7753
  // src/components/Layouts/PageContent/MyPageContent.tsx
7695
- import { Badge as Badge4, Breadcrumbs, Container as Container3, Divider as Divider4, Group as Group17, Text as Text16, Title } from "@mantine/core";
7696
- 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";
7697
7756
  var getStatusColor = (status) => {
7698
7757
  switch (status) {
7699
7758
  case "Prototype":
@@ -7704,10 +7763,10 @@ var getStatusColor = (status) => {
7704
7763
  };
7705
7764
  function PageTitle({ title, status, note }) {
7706
7765
  const color = getStatusColor(status);
7707
- return /* @__PURE__ */ jsx54(Group17, { children: /* @__PURE__ */ jsxs30(MyFlexColumn, { gap: 0, children: [
7708
- /* @__PURE__ */ jsxs30(Group17, { align: "center", children: [
7709
- /* @__PURE__ */ jsx54(Title, { order: 3, children: title }),
7710
- 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(
7711
7770
  Badge4,
7712
7771
  {
7713
7772
  variant: "gradient",
@@ -7718,7 +7777,7 @@ function PageTitle({ title, status, note }) {
7718
7777
  }
7719
7778
  )
7720
7779
  ] }),
7721
- /* @__PURE__ */ jsx54(Text16, { size: "lg", c: "dimmed", fs: "italic", children: note })
7780
+ /* @__PURE__ */ jsx55(Text17, { size: "lg", c: "dimmed", fs: "italic", children: note })
7722
7781
  ] }) });
7723
7782
  }
7724
7783
  function MyPageContent({
@@ -7731,11 +7790,11 @@ function MyPageContent({
7731
7790
  var _a;
7732
7791
  const basicAppShellStore = useS_BasicAppShell();
7733
7792
  const finalTitle = title || basicAppShellStore.state.title;
7734
- return /* @__PURE__ */ jsxs30(Container3, { p: 0, fluid: true, children: [
7735
- /* @__PURE__ */ jsxs30(Group17, { justify: "space-between", children: [
7736
- /* @__PURE__ */ jsxs30(Group17, { children: [
7737
- /* @__PURE__ */ jsx54(MyButtonRouterBack, {}),
7738
- /* @__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(
7739
7798
  PageTitle,
7740
7799
  {
7741
7800
  title: finalTitle,
@@ -7745,63 +7804,63 @@ function MyPageContent({
7745
7804
  ),
7746
7805
  leftTopBar
7747
7806
  ] }),
7748
- /* @__PURE__ */ jsxs30(Group17, { p: "md", children: [
7807
+ /* @__PURE__ */ jsxs31(Group18, { p: "md", children: [
7749
7808
  rightTopBar,
7750
- /* @__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)) })
7751
7810
  ] })
7752
7811
  ] }),
7753
- /* @__PURE__ */ jsx54(Divider4, { my: "xs" }),
7812
+ /* @__PURE__ */ jsx55(Divider4, { my: "xs" }),
7754
7813
  children,
7755
- /* @__PURE__ */ jsx54(Divider4, { my: "xs" })
7814
+ /* @__PURE__ */ jsx55(Divider4, { my: "xs" })
7756
7815
  ] });
7757
7816
  }
7758
7817
 
7759
7818
  // src/components/Layouts/Tab/MyTab.tsx
7760
7819
  import { rem, Space as Space3, Tabs } from "@mantine/core";
7761
- import { jsx as jsx55, jsxs as jsxs31 } from "react/jsx-runtime";
7820
+ import { jsx as jsx56, jsxs as jsxs32 } from "react/jsx-runtime";
7762
7821
  function MyTab(_a) {
7763
7822
  var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
7764
7823
  const iconStyle = { width: rem(20), height: rem(20) };
7765
- return /* @__PURE__ */ jsxs31(Tabs, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
7766
- /* @__PURE__ */ jsx55(Tabs.List, { children: tabList.map((item, idx) => {
7767
- 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);
7768
7827
  }) }),
7769
- /* @__PURE__ */ jsx55(Space3, { my: "md" }),
7828
+ /* @__PURE__ */ jsx56(Space3, { my: "md" }),
7770
7829
  children
7771
7830
  ] }));
7772
7831
  }
7773
7832
 
7774
7833
  // src/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx
7775
- 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";
7776
7835
  import { useDisclosure as useDisclosure12 } from "@mantine/hooks";
7777
7836
  import { IconX as IconX2 } from "@tabler/icons-react";
7778
- import { jsx as jsx56, jsxs as jsxs32 } from "react/jsx-runtime";
7837
+ import { jsx as jsx57, jsxs as jsxs33 } from "react/jsx-runtime";
7779
7838
  function MyDataTableSelect(_a) {
7780
7839
  var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
7781
7840
  const disc = useDisclosure12(false);
7782
7841
  if (data == void 0) return "\u0110ang t\u1EA3i...";
7783
- return /* @__PURE__ */ jsxs32(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
7784
- /* @__PURE__ */ jsx56(
7842
+ return /* @__PURE__ */ jsxs33(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
7843
+ /* @__PURE__ */ jsx57(
7785
7844
  MyDataTable,
7786
7845
  __spreadValues({
7787
7846
  renderTopToolbarCustomActions: ({ table }) => {
7788
- return /* @__PURE__ */ jsxs32(Group18, { children: [
7847
+ return /* @__PURE__ */ jsxs33(Group19, { children: [
7789
7848
  renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
7790
- /* @__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" })
7791
7850
  ] });
7792
7851
  },
7793
7852
  columns,
7794
7853
  data: listState[0],
7795
7854
  renderRowActions: ({ row }) => {
7796
- 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, {}) }) });
7797
7856
  }
7798
7857
  }, rest)
7799
7858
  ),
7800
- /* @__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(
7801
7860
  MyDataTable,
7802
7861
  __spreadValues({
7803
7862
  renderTopToolbarCustomActions: ({ table }) => {
7804
- return /* @__PURE__ */ jsx56(Button16, { onClick: () => {
7863
+ return /* @__PURE__ */ jsx57(Button16, { onClick: () => {
7805
7864
  table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
7806
7865
  disc[1].close();
7807
7866
  }, children: "Ch\u1ECDn" });
@@ -7817,7 +7876,7 @@ function MyDataTableSelect(_a) {
7817
7876
  // src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
7818
7877
  import { Select as Select3 } from "@mantine/core";
7819
7878
  import { useQuery as useQuery2 } from "@tanstack/react-query";
7820
- import { jsx as jsx57 } from "react/jsx-runtime";
7879
+ import { jsx as jsx58 } from "react/jsx-runtime";
7821
7880
  function MySelectAPIGet(_a) {
7822
7881
  var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
7823
7882
  var _a2;
@@ -7836,7 +7895,7 @@ function MySelectAPIGet(_a) {
7836
7895
  label: `${item.code}-${item.name}`
7837
7896
  };
7838
7897
  });
7839
- return /* @__PURE__ */ jsx57(
7898
+ return /* @__PURE__ */ jsx58(
7840
7899
  Select3,
7841
7900
  __spreadValues({
7842
7901
  label,
@@ -7851,7 +7910,7 @@ import { useNextCalendarApp as useNextCalendarApp2, ScheduleXCalendar as Schedul
7851
7910
  import { createEventsServicePlugin as createEventsServicePlugin2 } from "@schedule-x/events-service";
7852
7911
  import { useState as useState11 } from "react";
7853
7912
  import { createEventModalPlugin as createEventModalPlugin2 } from "@schedule-x/event-modal";
7854
- import { jsx as jsx58 } from "react/jsx-runtime";
7913
+ import { jsx as jsx59 } from "react/jsx-runtime";
7855
7914
  function MyScheduleX({
7856
7915
  values,
7857
7916
  timeGridEvent,
@@ -7876,7 +7935,7 @@ function MyScheduleX({
7876
7935
  events: values,
7877
7936
  plugins: [eventsService, eventModalPlugin]
7878
7937
  });
7879
- return /* @__PURE__ */ jsx58(
7938
+ return /* @__PURE__ */ jsx59(
7880
7939
  ScheduleXCalendar2,
7881
7940
  {
7882
7941
  calendarApp: calendar,
@@ -7890,9 +7949,9 @@ function MyScheduleX({
7890
7949
 
7891
7950
  // src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
7892
7951
  import { Skeleton } from "@mantine/core";
7893
- import { jsx as jsx59 } from "react/jsx-runtime";
7952
+ import { jsx as jsx60 } from "react/jsx-runtime";
7894
7953
  function MySkeletonTable({ h: h4 = 500 }) {
7895
- return /* @__PURE__ */ jsx59(Skeleton, { h: h4 });
7954
+ return /* @__PURE__ */ jsx60(Skeleton, { h: h4 });
7896
7955
  }
7897
7956
 
7898
7957
  export {
@@ -7941,6 +8000,7 @@ export {
7941
8000
  MyIconText,
7942
8001
  MyNumberFormatter,
7943
8002
  AQStatCard1,
8003
+ AQStatCard2,
7944
8004
  useS_BasicAppShell,
7945
8005
  FaviconSetter,
7946
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-SOZCWGDW.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,8 +18,8 @@ import {
18
18
  MyStatsCard,
19
19
  MyTextInput,
20
20
  MyWeeklySessionSchedulerPicker
21
- } from "../chunk-63FBLZHT.mjs";
22
- import "../chunk-SOZCWGDW.mjs";
21
+ } from "../chunk-M7LQN7UK.mjs";
22
+ import "../chunk-ZXZZLBG3.mjs";
23
23
  import "../chunk-U62R2QKJ.mjs";
24
24
  import "../chunk-5U2JSHSJ.mjs";
25
25
  import "../chunk-GFEMKKFH.mjs";
@@ -15,7 +15,7 @@ import {
15
15
  MyButton as MyButton2,
16
16
  MyDataTableSelectOne,
17
17
  MyTextInput as MyTextInput2
18
- } from "../chunk-63FBLZHT.mjs";
18
+ } from "../chunk-M7LQN7UK.mjs";
19
19
  import {
20
20
  F_authenticate_Logout,
21
21
  MyActionIconDelete,
@@ -41,7 +41,7 @@ import {
41
41
  groupToTwoLevels,
42
42
  useS_authenticate,
43
43
  utils_layout_getItemsWithoutLinks
44
- } from "../chunk-SOZCWGDW.mjs";
44
+ } from "../chunk-ZXZZLBG3.mjs";
45
45
  import {
46
46
  createGenericStore
47
47
  } from "../chunk-U62R2QKJ.mjs";
package/package.json CHANGED
@@ -42,7 +42,7 @@
42
42
  "types": "./dist/columns/index.d.mts"
43
43
  }
44
44
  },
45
- "version": "0.1.492",
45
+ "version": "0.1.493",
46
46
  "private": false,
47
47
  "files": [
48
48
  "dist"