aq-fe-framework 0.1.39 → 0.1.41

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.
@@ -15,8 +15,7 @@ function cn(...inputs) {
15
15
 
16
16
  // src/components/Aceternity/BoxesBackground/MyBoxes.tsx
17
17
  import { motion } from "framer-motion";
18
- import React from "react";
19
- import { jsx } from "react/jsx-runtime";
18
+ import React2 from "react";
20
19
  var MyBoxesCore = (_a) => {
21
20
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
22
21
  const rows = new Array(150).fill(1);
@@ -35,9 +34,9 @@ var MyBoxesCore = (_a) => {
35
34
  const getRandomColor = () => {
36
35
  return colors[Math.floor(Math.random() * colors.length)];
37
36
  };
38
- return /* @__PURE__ */ jsx(
37
+ return /* @__PURE__ */ React2.createElement(
39
38
  "div",
40
- __spreadProps(__spreadValues({
39
+ __spreadValues({
41
40
  style: {
42
41
  transform: `translate(-40%,-60%) skewX(-48deg) skewY(14deg) scale(0.675) rotate(0deg) translateZ(0)`
43
42
  },
@@ -45,41 +44,39 @@ var MyBoxesCore = (_a) => {
45
44
  "absolute left-1/4 p-4 -top-1/4 flex -translate-x-1/2 -translate-y-1/2 w-full h-full z-0 ",
46
45
  className
47
46
  )
48
- }, rest), {
49
- children: rows.map((_4, i5) => /* @__PURE__ */ jsx(motion.div, { className: "w-16 h-8 border-l border-slate-700 relative", children: cols.map((_5, j4) => /* @__PURE__ */ jsx(
50
- motion.div,
47
+ }, rest),
48
+ rows.map((_4, i5) => /* @__PURE__ */ React2.createElement(motion.div, { key: `row` + i5, className: "w-16 h-8 border-l border-slate-700 relative" }, cols.map((_5, j4) => /* @__PURE__ */ React2.createElement(
49
+ motion.div,
50
+ {
51
+ whileHover: {
52
+ backgroundColor: `var(${getRandomColor()})`,
53
+ transition: { duration: 0 }
54
+ },
55
+ animate: {
56
+ transition: { duration: 2 }
57
+ },
58
+ key: `col` + j4,
59
+ className: "w-16 h-8 border-r border-t border-slate-700 relative"
60
+ },
61
+ j4 % 2 === 0 && i5 % 2 === 0 ? /* @__PURE__ */ React2.createElement(
62
+ "svg",
51
63
  {
52
- whileHover: {
53
- backgroundColor: `var(${getRandomColor()})`,
54
- transition: { duration: 0 }
55
- },
56
- animate: {
57
- transition: { duration: 2 }
58
- },
59
- className: "w-16 h-8 border-r border-t border-slate-700 relative",
60
- children: j4 % 2 === 0 && i5 % 2 === 0 ? /* @__PURE__ */ jsx(
61
- "svg",
62
- {
63
- xmlns: "http://www.w3.org/2000/svg",
64
- fill: "none",
65
- viewBox: "0 0 24 24",
66
- strokeWidth: "1.5",
67
- stroke: "currentColor",
68
- className: "absolute h-6 w-10 -top-[14px] -left-[22px] text-slate-700 stroke-[1px] pointer-events-none",
69
- children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 6v12m6-6H6" })
70
- }
71
- ) : null
64
+ xmlns: "http://www.w3.org/2000/svg",
65
+ fill: "none",
66
+ viewBox: "0 0 24 24",
67
+ strokeWidth: "1.5",
68
+ stroke: "currentColor",
69
+ className: "absolute h-6 w-10 -top-[14px] -left-[22px] text-slate-700 stroke-[1px] pointer-events-none"
72
70
  },
73
- `col` + j4
74
- )) }, `row` + i5))
75
- })
71
+ /* @__PURE__ */ React2.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 6v12m6-6H6" })
72
+ ) : null
73
+ ))))
76
74
  );
77
75
  };
78
- var Boxes = React.memo(MyBoxesCore);
76
+ var Boxes = React2.memo(MyBoxesCore);
79
77
 
80
78
  // src/components/Loaders/MyCardioLoader.tsx
81
79
  import { useEffect } from "react";
82
- import { jsx as jsx2 } from "react/jsx-runtime";
83
80
  function MyCardioLoader() {
84
81
  useEffect(() => {
85
82
  async function getLoader() {
@@ -88,62 +85,49 @@ function MyCardioLoader() {
88
85
  }
89
86
  getLoader();
90
87
  }, []);
91
- return /* @__PURE__ */ jsx2("l-cardio", { color: "var(--cyan-400)" });
88
+ return /* @__PURE__ */ React.createElement("l-cardio", { color: "var(--cyan-400)" });
92
89
  }
93
90
 
94
91
  // src/components/Aceternity/BoxesBackground/MyBoxesBackground.tsx
95
92
  import { Center, Space, Text } from "@mantine/core";
96
- import { jsx as jsx3, jsxs } from "react/jsx-runtime";
97
93
  function MyBoxesBackground({ title, desc = "\u0110\u01B0\u1EE3c ph\xE1t tri\u1EC3n b\u1EDFi c\xF4ng ty c\xF4ng ngh\u1EC7 Anh Qu\xE2n." }) {
98
- return /* @__PURE__ */ jsxs("div", { className: "h-[100vh] relative w-full overflow-hidden bg-slate-900 flex flex-col items-center justify-center rounded-lg", children: [
99
- /* @__PURE__ */ jsx3("div", { className: "absolute inset-0 w-full h-full bg-slate-900 z-20 [mask-image:radial-gradient(transparent,white)] pointer-events-none" }),
100
- /* @__PURE__ */ jsx3(MyBoxesCore, {}),
101
- /* @__PURE__ */ jsx3(Center, { className: "z-20", children: /* @__PURE__ */ jsx3(MyCardioLoader, {}) }),
102
- /* @__PURE__ */ jsx3(Space, { my: 7 }),
103
- /* @__PURE__ */ jsx3(Center, { children: /* @__PURE__ */ jsx3(Text, { className: "z-20", fs: "italic", fw: "bold", c: "white", children: "\u0110ang t\u1EA3i..." }) }),
104
- /* @__PURE__ */ jsx3(Space, { my: 7 }),
105
- /* @__PURE__ */ jsx3("h1", { className: cn("md:text-4xl text-xl text-white relative z-20"), children: title }),
106
- /* @__PURE__ */ jsx3("p", { className: "text-center mt-2 text-neutral-300 relative z-20", children: desc })
107
- ] });
94
+ return /* @__PURE__ */ React.createElement("div", { className: "h-[100vh] relative w-full overflow-hidden bg-slate-900 flex flex-col items-center justify-center rounded-lg" }, /* @__PURE__ */ React.createElement("div", { className: "absolute inset-0 w-full h-full bg-slate-900 z-20 [mask-image:radial-gradient(transparent,white)] pointer-events-none" }), /* @__PURE__ */ React.createElement(MyBoxesCore, null), /* @__PURE__ */ React.createElement(Center, { className: "z-20" }, /* @__PURE__ */ React.createElement(MyCardioLoader, null)), /* @__PURE__ */ React.createElement(Space, { my: 7 }), /* @__PURE__ */ React.createElement(Center, null, /* @__PURE__ */ React.createElement(Text, { className: "z-20", fs: "italic", fw: "bold", c: "white" }, "\u0110ang t\u1EA3i...")), /* @__PURE__ */ React.createElement(Space, { my: 7 }), /* @__PURE__ */ React.createElement("h1", { className: cn("md:text-4xl text-xl text-white relative z-20") }, title), /* @__PURE__ */ React.createElement("p", { className: "text-center mt-2 text-neutral-300 relative z-20" }, desc));
108
95
  }
109
96
 
110
97
  // src/components/ActionIcons/ActionIcon/MyActionIcon.tsx
111
98
  import { ActionIcon } from "@mantine/core";
112
99
  import { IconDeviceFloppy, IconEdit, IconPlus, IconTrash } from "@tabler/icons-react";
113
- import { jsx as jsx4 } from "react/jsx-runtime";
114
100
  function MyActionIcon(_a) {
115
101
  var _b = _a, { children, crudType = "delete" } = _b, rest = __objRest(_b, ["children", "crudType"]);
116
102
  if (crudType == "default") {
117
- return /* @__PURE__ */ jsx4(ActionIcon, __spreadProps(__spreadValues({ color: "indigo" }, rest), { children }));
103
+ return /* @__PURE__ */ React.createElement(ActionIcon, __spreadValues({ color: "indigo" }, rest), children);
118
104
  }
119
105
  if (crudType == "create") {
120
- return /* @__PURE__ */ jsx4(ActionIcon, __spreadProps(__spreadValues({ color: "indigo" }, rest), { children: /* @__PURE__ */ jsx4(IconPlus, {}) }));
106
+ return /* @__PURE__ */ React.createElement(ActionIcon, __spreadValues({ color: "indigo" }, rest), /* @__PURE__ */ React.createElement(IconPlus, null));
121
107
  }
122
108
  if (crudType == "delete") {
123
- return /* @__PURE__ */ jsx4(ActionIcon, __spreadProps(__spreadValues({ color: "red" }, rest), { children: /* @__PURE__ */ jsx4(IconTrash, {}) }));
109
+ return /* @__PURE__ */ React.createElement(ActionIcon, __spreadValues({ color: "red" }, rest), /* @__PURE__ */ React.createElement(IconTrash, null));
124
110
  }
125
111
  if (crudType == "update") {
126
- return /* @__PURE__ */ jsx4(ActionIcon, __spreadProps(__spreadValues({ color: "yellow" }, rest), { children: /* @__PURE__ */ jsx4(IconEdit, {}) }));
112
+ return /* @__PURE__ */ React.createElement(ActionIcon, __spreadValues({ color: "yellow" }, rest), /* @__PURE__ */ React.createElement(IconEdit, null));
127
113
  }
128
114
  if (crudType == "save") {
129
- return /* @__PURE__ */ jsx4(ActionIcon, __spreadProps(__spreadValues({ color: "green" }, rest), { children: /* @__PURE__ */ jsx4(IconDeviceFloppy, {}) }));
115
+ return /* @__PURE__ */ React.createElement(ActionIcon, __spreadValues({ color: "green" }, rest), /* @__PURE__ */ React.createElement(IconDeviceFloppy, null));
130
116
  }
131
117
  }
132
118
 
133
119
  // src/components/Inputs/TextInput/MyTextInput.tsx
134
120
  import { TextInput } from "@mantine/core";
135
- import { jsx as jsx5 } from "react/jsx-runtime";
136
121
  function MyTextInput(_a) {
137
122
  var _b = _a, { label, defaultValue } = _b, rest = __objRest(_b, ["label", "defaultValue"]);
138
- return /* @__PURE__ */ jsx5(TextInput, __spreadValues({ label, defaultValue, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
123
+ return /* @__PURE__ */ React.createElement(TextInput, __spreadValues({ label, defaultValue, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
139
124
  }
140
125
 
141
126
  // src/components/Layouts/FlexColumn/MyFlexColumn.tsx
142
127
  import { Flex } from "@mantine/core";
143
- import { jsx as jsx6 } from "react/jsx-runtime";
144
128
  function MyFlexColumn(_a) {
145
129
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
146
- return /* @__PURE__ */ jsx6(Flex, __spreadProps(__spreadValues({ direction: "column", gap: "md" }, rest), { children }));
130
+ return /* @__PURE__ */ React.createElement(Flex, __spreadValues({ direction: "column", gap: "md" }, rest), children);
147
131
  }
148
132
 
149
133
  // src/components/ActionIcons/ActionIconCheck/MyActionIconCheck.tsx
@@ -151,79 +135,68 @@ import { ActionIcon as ActionIcon2, Button, Checkbox, Modal, Switch, Text as Tex
151
135
  import { useDisclosure } from "@mantine/hooks";
152
136
  import { IconChecklist } from "@tabler/icons-react";
153
137
  import { useState } from "react";
154
- import { Fragment, jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
155
138
  function MyActionIconCheck(_a) {
156
139
  var _b = _a, { modalSize = "50%", comment = "" } = _b, rest = __objRest(_b, ["modalSize", "comment"]);
157
140
  const disc = useDisclosure(false);
158
141
  const fullScreen = useState(false);
159
142
  const hSize = useState("50vh");
160
- return /* @__PURE__ */ jsxs2(Fragment, { children: [
161
- /* @__PURE__ */ jsx7(Tooltip, { label: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp", children: /* @__PURE__ */ jsx7(ActionIcon2, __spreadProps(__spreadValues({ color: "cyan", onClick: disc[1].open }, rest), { children: /* @__PURE__ */ jsx7(IconChecklist, { size: 24, color: "blue" }) })) }),
162
- /* @__PURE__ */ jsxs2(
163
- Modal,
143
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Tooltip, { label: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }, /* @__PURE__ */ React.createElement(ActionIcon2, __spreadValues({ color: "cyan", onClick: disc[1].open }, rest), /* @__PURE__ */ React.createElement(IconChecklist, { size: 24, color: "blue" }))), /* @__PURE__ */ React.createElement(
144
+ Modal,
145
+ {
146
+ fullScreen: fullScreen[0],
147
+ opened: disc[0],
148
+ onClose: disc[1].close,
149
+ size: modalSize,
150
+ title: /* @__PURE__ */ React.createElement(Text2, null, "Ki\u1EC3m tra h\u1ED3 s\u01A1 \u0111\xE3 \u0111\u0103ng k\xFD")
151
+ },
152
+ /* @__PURE__ */ React.createElement(
153
+ Switch,
164
154
  {
165
- fullScreen: fullScreen[0],
166
- opened: disc[0],
167
- onClose: disc[1].close,
168
- size: modalSize,
169
- title: /* @__PURE__ */ jsx7(Text2, { children: "Ki\u1EC3m tra h\u1ED3 s\u01A1 \u0111\xE3 \u0111\u0103ng k\xFD" }),
170
- children: [
171
- /* @__PURE__ */ jsx7(
172
- Switch,
173
- {
174
- defaultChecked: true,
175
- label: "\u0110\u1EA1t y\xEAu c\u1EA7u"
176
- }
177
- ),
178
- /* @__PURE__ */ jsxs2(MyFlexColumn, { children: [
179
- /* @__PURE__ */ jsx7(MyTextInput, { label: "Nh\u1EADn x\xE9t" }),
180
- /* @__PURE__ */ jsx7(Checkbox, { label: "G\u1EEDi mail th\xF4ng b\xE1o" }),
181
- /* @__PURE__ */ jsx7(Button, { children: "C\u1EADp nh\u1EADp" })
182
- ] })
183
- ]
155
+ defaultChecked: true,
156
+ label: "\u0110\u1EA1t y\xEAu c\u1EA7u"
184
157
  }
185
- )
186
- ] });
158
+ ),
159
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, /* @__PURE__ */ React.createElement(MyTextInput, { label: "Nh\u1EADn x\xE9t" }), /* @__PURE__ */ React.createElement(Checkbox, { label: "G\u1EEDi mail th\xF4ng b\xE1o" }), /* @__PURE__ */ React.createElement(Button, null, "C\u1EADp nh\u1EADp"))
160
+ ));
187
161
  }
188
162
 
189
163
  // src/components/Buttons/Button/MyButton.tsx
190
164
  import { Button as Button2 } from "@mantine/core";
191
165
  import { IconDeviceFloppy as IconDeviceFloppy2, IconEdit as IconEdit2, IconFileExport, IconFileImport, IconPlus as IconPlus2, IconPrinter, IconTrash as IconTrash2, IconX } from "@tabler/icons-react";
192
- import { jsx as jsx8 } from "react/jsx-runtime";
193
166
  function MyButton(_a) {
194
167
  var _b = _a, { children, crudType = "delete" } = _b, rest = __objRest(_b, ["children", "crudType"]);
195
168
  if (crudType == "default") {
196
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({ color: "indigo" }, rest), { children }));
169
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({ color: "indigo" }, rest), children);
197
170
  }
198
171
  if (crudType == "create") {
199
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({ color: "indigo", type: "submit", leftSection: /* @__PURE__ */ jsx8(IconPlus2, {}) }, rest), { children: children ? children : "L\u01B0u" }));
172
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({ color: "indigo", type: "submit", leftSection: /* @__PURE__ */ React.createElement(IconPlus2, null) }, rest), children ? children : "L\u01B0u");
200
173
  }
201
174
  if (crudType == "createMultiple") {
202
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({ color: "green", type: "submit", leftSection: /* @__PURE__ */ jsx8(IconPlus2, {}) }, rest), { children: children ? children : "Th\xEAm danh s\xE1ch" }));
175
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({ color: "green", type: "submit", leftSection: /* @__PURE__ */ React.createElement(IconPlus2, null) }, rest), children ? children : "Th\xEAm danh s\xE1ch");
203
176
  }
204
177
  if (crudType == "delete") {
205
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({ color: "red", leftSection: /* @__PURE__ */ jsx8(IconTrash2, {}) }, rest), { children: children ? children : "X\xE1c nh\u1EADn x\xF3a" }));
178
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({ color: "red", leftSection: /* @__PURE__ */ React.createElement(IconTrash2, null) }, rest), children ? children : "X\xE1c nh\u1EADn x\xF3a");
206
179
  }
207
180
  if (crudType == "update") {
208
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({ color: "yellow", type: "submit", leftSection: /* @__PURE__ */ jsx8(IconEdit2, {}) }, rest), { children: children ? children : "Ch\u1EC9nh s\u1EEDa" }));
181
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({ color: "yellow", type: "submit", leftSection: /* @__PURE__ */ React.createElement(IconEdit2, null) }, rest), children ? children : "Ch\u1EC9nh s\u1EEDa");
209
182
  }
210
183
  if (crudType == "save") {
211
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({ color: "blue", type: "submit", leftSection: /* @__PURE__ */ jsx8(IconDeviceFloppy2, {}) }, rest), { children: children ? children : "L\u01B0u" }));
184
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({ color: "blue", type: "submit", leftSection: /* @__PURE__ */ React.createElement(IconDeviceFloppy2, null) }, rest), children ? children : "L\u01B0u");
212
185
  }
213
186
  if (crudType == "import") {
214
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({ color: "green.8", leftSection: /* @__PURE__ */ jsx8(IconFileImport, {}) }, rest), { children: children ? children : "Import" }));
187
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({ color: "green.8", leftSection: /* @__PURE__ */ React.createElement(IconFileImport, null) }, rest), children ? children : "Import");
215
188
  }
216
189
  if (crudType == "print") {
217
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({ color: "orange.7", leftSection: /* @__PURE__ */ jsx8(IconPrinter, {}) }, rest), { children: children ? children : "In" }));
190
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({ color: "orange.7", leftSection: /* @__PURE__ */ React.createElement(IconPrinter, null) }, rest), children ? children : "In");
218
191
  }
219
192
  if (crudType == "export") {
220
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({ color: "green.8", leftSection: /* @__PURE__ */ jsx8(IconFileExport, {}) }, rest), { children: children ? children : "In" }));
193
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({ color: "green.8", leftSection: /* @__PURE__ */ React.createElement(IconFileExport, null) }, rest), children ? children : "In");
221
194
  }
222
195
  if (crudType == "cancel") {
223
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({ color: "gray", leftSection: /* @__PURE__ */ jsx8(IconX, {}) }, rest), { children: children ? children : "H\u1EE7y thao t\xE1c" }));
196
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({ color: "gray", leftSection: /* @__PURE__ */ React.createElement(IconX, null) }, rest), children ? children : "H\u1EE7y thao t\xE1c");
224
197
  }
225
198
  if (crudType == "select") {
226
- return /* @__PURE__ */ jsx8(Button2, __spreadProps(__spreadValues({}, rest), { children: children ? children : "Ch\u1ECDn" }));
199
+ return /* @__PURE__ */ React.createElement(Button2, __spreadValues({}, rest), children ? children : "Ch\u1ECDn");
227
200
  }
228
201
  }
229
202
 
@@ -236,7 +209,6 @@ import { useState as useState2 } from "react";
236
209
  // src/components/ActionIcons/ActionIconModal/MyActionIconModal.tsx
237
210
  import { ActionIcon as ActionIcon3, Modal as Modal2 } from "@mantine/core";
238
211
  import { IconEdit as IconEdit3, IconPlus as IconPlus3, IconTrash as IconTrash3 } from "@tabler/icons-react";
239
- import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs3 } from "react/jsx-runtime";
240
212
  function MyActionIconModal(_a) {
241
213
  var _b = _a, {
242
214
  fullScreen = false,
@@ -256,89 +228,73 @@ function MyActionIconModal(_a) {
256
228
  "icon"
257
229
  ]);
258
230
  if (crudType == "default") {
259
- return /* @__PURE__ */ jsxs3(Fragment2, { children: [
260
- /* @__PURE__ */ jsx9(ActionIcon3, __spreadProps(__spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "indigo" }, rest), { children: icon })),
261
- /* @__PURE__ */ jsx9(
262
- Modal2,
263
- {
264
- fullScreen,
265
- size: modalSize,
266
- title,
267
- opened: disclosure == null ? void 0 : disclosure[0],
268
- onClose: disclosure[1].close,
269
- children: /* @__PURE__ */ jsx9(MyFlexColumn, { children })
270
- }
271
- )
272
- ] });
231
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ActionIcon3, __spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "indigo" }, rest), icon), /* @__PURE__ */ React.createElement(
232
+ Modal2,
233
+ {
234
+ fullScreen,
235
+ size: modalSize,
236
+ title,
237
+ opened: disclosure == null ? void 0 : disclosure[0],
238
+ onClose: disclosure[1].close
239
+ },
240
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, children)
241
+ ));
273
242
  }
274
243
  if (crudType == "create") {
275
- return /* @__PURE__ */ jsxs3(Fragment2, { children: [
276
- /* @__PURE__ */ jsx9(ActionIcon3, __spreadProps(__spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open }, rest), { children: icon ? icon : /* @__PURE__ */ jsx9(IconPlus3, {}) })),
277
- /* @__PURE__ */ jsx9(
278
- Modal2,
279
- {
280
- fullScreen,
281
- size: modalSize,
282
- title: title ? title : "T\u1EA1o d\u1EEF li\u1EC7u m\u1EDBi",
283
- opened: disclosure == null ? void 0 : disclosure[0],
284
- onClose: disclosure[1].close,
285
- children: /* @__PURE__ */ jsx9(MyFlexColumn, { children })
286
- }
287
- )
288
- ] });
244
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ActionIcon3, __spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open }, rest), icon ? icon : /* @__PURE__ */ React.createElement(IconPlus3, null)), /* @__PURE__ */ React.createElement(
245
+ Modal2,
246
+ {
247
+ fullScreen,
248
+ size: modalSize,
249
+ title: title ? title : "T\u1EA1o d\u1EEF li\u1EC7u m\u1EDBi",
250
+ opened: disclosure == null ? void 0 : disclosure[0],
251
+ onClose: disclosure[1].close
252
+ },
253
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, children)
254
+ ));
289
255
  }
290
256
  if (crudType == "update") {
291
- return /* @__PURE__ */ jsxs3(Fragment2, { children: [
292
- /* @__PURE__ */ jsx9(ActionIcon3, __spreadProps(__spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "yellow" }, rest), { children: icon ? icon : /* @__PURE__ */ jsx9(IconEdit3, {}) })),
293
- /* @__PURE__ */ jsx9(
294
- Modal2,
295
- {
296
- fullScreen,
297
- size: modalSize,
298
- title: title ? title : "S\u1EEDa d\u1EEF li\u1EC7u",
299
- opened: disclosure == null ? void 0 : disclosure[0],
300
- onClose: disclosure[1].close,
301
- children: /* @__PURE__ */ jsx9(MyFlexColumn, { children })
302
- }
303
- )
304
- ] });
257
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ActionIcon3, __spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "yellow" }, rest), icon ? icon : /* @__PURE__ */ React.createElement(IconEdit3, null)), /* @__PURE__ */ React.createElement(
258
+ Modal2,
259
+ {
260
+ fullScreen,
261
+ size: modalSize,
262
+ title: title ? title : "S\u1EEDa d\u1EEF li\u1EC7u",
263
+ opened: disclosure == null ? void 0 : disclosure[0],
264
+ onClose: disclosure[1].close
265
+ },
266
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, children)
267
+ ));
305
268
  }
306
269
  if (crudType == "delete") {
307
- return /* @__PURE__ */ jsxs3(Fragment2, { children: [
308
- /* @__PURE__ */ jsx9(ActionIcon3, __spreadProps(__spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "red" }, rest), { children: icon ? icon : /* @__PURE__ */ jsx9(IconTrash3, {}) })),
309
- /* @__PURE__ */ jsx9(
310
- Modal2,
311
- {
312
- fullScreen,
313
- size: modalSize,
314
- title: title ? title : "X\xF3a d\u1EEF li\u1EC7u",
315
- opened: disclosure == null ? void 0 : disclosure[0],
316
- onClose: disclosure[1].close,
317
- children: /* @__PURE__ */ jsx9(MyFlexColumn, { children })
318
- }
319
- )
320
- ] });
270
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ActionIcon3, __spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "red" }, rest), icon ? icon : /* @__PURE__ */ React.createElement(IconTrash3, null)), /* @__PURE__ */ React.createElement(
271
+ Modal2,
272
+ {
273
+ fullScreen,
274
+ size: modalSize,
275
+ title: title ? title : "X\xF3a d\u1EEF li\u1EC7u",
276
+ opened: disclosure == null ? void 0 : disclosure[0],
277
+ onClose: disclosure[1].close
278
+ },
279
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, children)
280
+ ));
321
281
  }
322
282
  if (crudType == "check") {
323
- return /* @__PURE__ */ jsxs3(Fragment2, { children: [
324
- /* @__PURE__ */ jsx9(ActionIcon3, __spreadProps(__spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "green" }, rest), { children: icon ? icon : /* @__PURE__ */ jsx9(IconTrash3, {}) })),
325
- /* @__PURE__ */ jsx9(
326
- Modal2,
327
- {
328
- fullScreen,
329
- size: modalSize,
330
- title: title ? title : "Ki\u1EC3m tra",
331
- opened: disclosure == null ? void 0 : disclosure[0],
332
- onClose: disclosure[1].close,
333
- children: /* @__PURE__ */ jsx9(MyFlexColumn, { children })
334
- }
335
- )
336
- ] });
283
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ActionIcon3, __spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "green" }, rest), icon ? icon : /* @__PURE__ */ React.createElement(IconTrash3, null)), /* @__PURE__ */ React.createElement(
284
+ Modal2,
285
+ {
286
+ fullScreen,
287
+ size: modalSize,
288
+ title: title ? title : "Ki\u1EC3m tra",
289
+ opened: disclosure == null ? void 0 : disclosure[0],
290
+ onClose: disclosure[1].close
291
+ },
292
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, children)
293
+ ));
337
294
  }
338
295
  }
339
296
 
340
297
  // src/components/ActionIcons/ActionIconCRUD/MyActionIconDelete.tsx
341
- import { jsx as jsx10, jsxs as jsxs4 } from "react/jsx-runtime";
342
298
  function MyActionIconDelete(_a) {
343
299
  var _b = _a, {
344
300
  onSubmit,
@@ -376,52 +332,45 @@ function MyActionIconDelete(_a) {
376
332
  loadingState[1](true);
377
333
  mutation.mutate();
378
334
  }
379
- return /* @__PURE__ */ jsxs4(
335
+ return /* @__PURE__ */ React.createElement(
380
336
  MyActionIconModal,
381
- __spreadProps(__spreadValues({
337
+ __spreadValues({
382
338
  disclosure: disc,
383
339
  crudType: "delete"
384
- }, rest), {
385
- children: [
386
- /* @__PURE__ */ jsx10(
387
- Highlight,
388
- {
389
- highlight: contextData || [],
390
- color: "red.6",
391
- highlightStyles: {
392
- fontWeight: 700,
393
- WebkitBackgroundClip: "text",
394
- WebkitTextFillColor: "transparent"
395
- },
396
- children: `B\u1EA1n s\u1EAFp x\xF3a d\u1EEF li\u1EC7u ${contextData || ""}. H\xE0nh \u0111\u1ED9ng n\xE0y kh\xF4ng th\u1EC3 ho\xE0n t\xE1c. B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n ti\u1EBFp t\u1EE5c?`
397
- }
398
- ),
399
- /* @__PURE__ */ jsxs4(Group, { grow: true, children: [
400
- /* @__PURE__ */ jsx10(
401
- MyButton,
402
- {
403
- crudType: "delete",
404
- onClick: handleCLick,
405
- loading: loadingState[0]
406
- }
407
- ),
408
- /* @__PURE__ */ jsx10(
409
- MyButton,
410
- {
411
- crudType: "cancel",
412
- onClick: disc[1].close
413
- }
414
- )
415
- ] })
416
- ]
417
- })
340
+ }, rest),
341
+ /* @__PURE__ */ React.createElement(
342
+ Highlight,
343
+ {
344
+ highlight: contextData || [],
345
+ color: "red.6",
346
+ highlightStyles: {
347
+ fontWeight: 700,
348
+ WebkitBackgroundClip: "text",
349
+ WebkitTextFillColor: "transparent"
350
+ }
351
+ },
352
+ `B\u1EA1n s\u1EAFp x\xF3a d\u1EEF li\u1EC7u ${contextData || ""}. H\xE0nh \u0111\u1ED9ng n\xE0y kh\xF4ng th\u1EC3 ho\xE0n t\xE1c. B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n ti\u1EBFp t\u1EE5c?`
353
+ ),
354
+ /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(
355
+ MyButton,
356
+ {
357
+ crudType: "delete",
358
+ onClick: handleCLick,
359
+ loading: loadingState[0]
360
+ }
361
+ ), /* @__PURE__ */ React.createElement(
362
+ MyButton,
363
+ {
364
+ crudType: "cancel",
365
+ onClick: disc[1].close
366
+ }
367
+ ))
418
368
  );
419
369
  }
420
370
 
421
371
  // src/components/ActionIcons/ActionIconCRUD/MyActionIconUpdate.tsx
422
372
  import { useDisclosure as useDisclosure3 } from "@mantine/hooks";
423
373
  import { useMutation as useMutation2, useQueryClient as useQueryClient2 } from "@tanstack/react-query";
424
- import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
425
374
  function MyActionIconUpdate(_a) {
426
375
  var _b = _a, {
427
376
  form,
@@ -454,20 +403,16 @@ function MyActionIconUpdate(_a) {
454
403
  if (onError) onError();
455
404
  }
456
405
  });
457
- return /* @__PURE__ */ jsx11(MyActionIconModal, __spreadProps(__spreadValues({ disclosure: disc, crudType: "update" }, rest), { children: /* @__PURE__ */ jsx11("form", { onSubmit: form.onSubmit((values) => {
406
+ return /* @__PURE__ */ React.createElement(MyActionIconModal, __spreadValues({ disclosure: disc, crudType: "update" }, rest), /* @__PURE__ */ React.createElement("form", { onSubmit: form.onSubmit((values) => {
458
407
  mutation.mutate(values);
459
- }), children: /* @__PURE__ */ jsxs5(MyFlexColumn, { children: [
460
- children,
461
- /* @__PURE__ */ jsx11(MyButton, { type: "submit", crudType: "save" })
462
- ] }) }) }));
408
+ }) }, /* @__PURE__ */ React.createElement(MyFlexColumn, null, children, /* @__PURE__ */ React.createElement(MyButton, { type: "submit", crudType: "save" }))));
463
409
  }
464
410
 
465
411
  // src/components/ActionIcons/ActionIconDownloadPDF/MyActionIconDownloadPDF.tsx
466
412
  import { ActionIcon as ActionIcon4, Tooltip as Tooltip2 } from "@mantine/core";
467
413
  import { IconDownload } from "@tabler/icons-react";
468
- import { jsx as jsx12 } from "react/jsx-runtime";
469
414
  function MyActionIconDownloadPDF({ pdfLink = "https://datafiles.chinhphu.vn/cpp/files/vbpq/2021/07/17-bgd.signed.pdf" }) {
470
- return /* @__PURE__ */ jsx12(Tooltip2, { label: "Nh\u1EA5p \u0111\u1EC3 t\u1EA3i xu\u1ED1ng", children: /* @__PURE__ */ jsx12(ActionIcon4, { onClick: async () => await utils_pdf_download(pdfLink), color: "red", children: /* @__PURE__ */ jsx12(IconDownload, {}) }) });
415
+ return /* @__PURE__ */ React.createElement(Tooltip2, { label: "Nh\u1EA5p \u0111\u1EC3 t\u1EA3i xu\u1ED1ng" }, /* @__PURE__ */ React.createElement(ActionIcon4, { onClick: async () => await utils_pdf_download(pdfLink), color: "red" }, /* @__PURE__ */ React.createElement(IconDownload, null)));
471
416
  }
472
417
 
473
418
  // src/components/ActionIcons/ActionIconUpload/MyActionIconUpload.tsx
@@ -475,19 +420,18 @@ import { ActionIcon as ActionIcon5 } from "@mantine/core";
475
420
  import { Dropzone, MIME_TYPES } from "@mantine/dropzone";
476
421
  import { IconCloudUpload } from "@tabler/icons-react";
477
422
  import { useRef } from "react";
478
- import { jsx as jsx13 } from "react/jsx-runtime";
479
423
  function MyActionIconUpload() {
480
424
  const openRef = useRef(null);
481
- return /* @__PURE__ */ jsx13(
425
+ return /* @__PURE__ */ React.createElement(
482
426
  Dropzone,
483
427
  {
484
428
  openRef,
485
429
  onDrop: () => {
486
430
  },
487
431
  radius: "md",
488
- accept: [MIME_TYPES.pdf],
489
- children: /* @__PURE__ */ jsx13(ActionIcon5, { children: /* @__PURE__ */ jsx13(IconCloudUpload, {}) })
490
- }
432
+ accept: [MIME_TYPES.pdf]
433
+ },
434
+ /* @__PURE__ */ React.createElement(ActionIcon5, null, /* @__PURE__ */ React.createElement(IconCloudUpload, null))
491
435
  );
492
436
  }
493
437
 
@@ -496,47 +440,40 @@ import { ActionIcon as ActionIcon6, Group as Group2, Modal as Modal3, Paper, Tex
496
440
  import { useDisclosure as useDisclosure4 } from "@mantine/hooks";
497
441
  import { IconLivePhoto, IconMaximize, IconMinimize } from "@tabler/icons-react";
498
442
  import { useState as useState3 } from "react";
499
- import { Fragment as Fragment3, jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
500
443
  function MyActionIconViewPDF(_a) {
501
444
  var _b = _a, { modalSize = "80%", pdfLink = "https://datafiles.chinhphu.vn/cpp/files/vbpq/2021/07/17-bgd.signed.pdf" } = _b, rest = __objRest(_b, ["modalSize", "pdfLink"]);
502
445
  const disc = useDisclosure4(false);
503
446
  const fullScreen = useState3(false);
504
447
  const hSize = useState3("80vh");
505
- return /* @__PURE__ */ jsxs6(Fragment3, { children: [
506
- /* @__PURE__ */ jsx14(Tooltip3, { label: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp", children: /* @__PURE__ */ jsx14(ActionIcon6, __spreadProps(__spreadValues({ color: "cyan", onClick: disc[1].open }, rest), { children: /* @__PURE__ */ jsx14(IconLivePhoto, {}) })) }),
507
- /* @__PURE__ */ jsx14(
508
- Modal3,
509
- {
510
- fullScreen: fullScreen[0],
511
- opened: disc[0],
512
- onClose: disc[1].close,
513
- size: modalSize,
514
- title: /* @__PURE__ */ jsxs6(Group2, { children: [
515
- /* @__PURE__ */ jsx14(Text3, { children: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }),
516
- fullScreen[0] ? /* @__PURE__ */ jsx14(
517
- ActionIcon6,
518
- {
519
- onClick: () => {
520
- fullScreen[1](false);
521
- hSize[1]("80vh");
522
- },
523
- children: /* @__PURE__ */ jsx14(IconMinimize, {})
524
- }
525
- ) : /* @__PURE__ */ jsx14(
526
- ActionIcon6,
527
- {
528
- onClick: () => {
529
- fullScreen[1](true);
530
- hSize[1]("90vh");
531
- },
532
- children: /* @__PURE__ */ jsx14(IconMaximize, {})
533
- }
534
- )
535
- ] }),
536
- children: /* @__PURE__ */ jsx14(Paper, { h: hSize[0], p: "lg", children: /* @__PURE__ */ jsx14("iframe", { src: pdfLink, width: "100%", height: "100%" }) })
537
- }
538
- )
539
- ] });
448
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Tooltip3, { label: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }, /* @__PURE__ */ React.createElement(ActionIcon6, __spreadValues({ color: "cyan", onClick: disc[1].open }, rest), /* @__PURE__ */ React.createElement(IconLivePhoto, null))), /* @__PURE__ */ React.createElement(
449
+ Modal3,
450
+ {
451
+ fullScreen: fullScreen[0],
452
+ opened: disc[0],
453
+ onClose: disc[1].close,
454
+ size: modalSize,
455
+ title: /* @__PURE__ */ React.createElement(Group2, null, /* @__PURE__ */ React.createElement(Text3, null, "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp"), fullScreen[0] ? /* @__PURE__ */ React.createElement(
456
+ ActionIcon6,
457
+ {
458
+ onClick: () => {
459
+ fullScreen[1](false);
460
+ hSize[1]("80vh");
461
+ }
462
+ },
463
+ /* @__PURE__ */ React.createElement(IconMinimize, null)
464
+ ) : /* @__PURE__ */ React.createElement(
465
+ ActionIcon6,
466
+ {
467
+ onClick: () => {
468
+ fullScreen[1](true);
469
+ hSize[1]("90vh");
470
+ }
471
+ },
472
+ /* @__PURE__ */ React.createElement(IconMaximize, null)
473
+ ))
474
+ },
475
+ /* @__PURE__ */ React.createElement(Paper, { h: hSize[0], p: "lg" }, /* @__PURE__ */ React.createElement("iframe", { src: pdfLink, width: "100%", height: "100%" }))
476
+ ));
540
477
  }
541
478
 
542
479
  // src/components/ActionIcons/SwitchTheme/MySwitchTheme.tsx
@@ -548,23 +485,20 @@ import cx from "clsx";
548
485
  var css_default = {};
549
486
 
550
487
  // src/components/ActionIcons/SwitchTheme/MySwitchTheme.tsx
551
- import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
552
488
  function MySwitchTheme() {
553
489
  const { setColorScheme } = useMantineColorScheme();
554
490
  const computedColorScheme = useComputedColorScheme("light", { getInitialValueInEffect: true });
555
- return /* @__PURE__ */ jsxs7(
491
+ return /* @__PURE__ */ React.createElement(
556
492
  ActionIcon7,
557
493
  {
558
494
  onClick: () => setColorScheme(computedColorScheme === "light" ? "dark" : "light"),
559
495
  variant: "default",
560
496
  size: "lg",
561
497
  radius: "md",
562
- "aria-label": "Toggle color scheme",
563
- children: [
564
- /* @__PURE__ */ jsx15(IconSun, { className: cx(css_default.icon, css_default.light), stroke: 1.5 }),
565
- /* @__PURE__ */ jsx15(IconMoon, { className: cx(css_default.icon, css_default.dark), stroke: 1.5 })
566
- ]
567
- }
498
+ "aria-label": "Toggle color scheme"
499
+ },
500
+ /* @__PURE__ */ React.createElement(IconSun, { className: cx(css_default.icon, css_default.light), stroke: 1.5 }),
501
+ /* @__PURE__ */ React.createElement(IconMoon, { className: cx(css_default.icon, css_default.dark), stroke: 1.5 })
568
502
  );
569
503
  }
570
504
 
@@ -610,7 +544,6 @@ import { Spotlight, spotlight } from "@mantine/spotlight";
610
544
  import { IconSearch } from "@tabler/icons-react";
611
545
  import { usePathname, useRouter } from "next/navigation";
612
546
  import { useMemo, useState as useState4 } from "react";
613
- import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
614
547
  function convertMenuToSpotlightActions(items, router, parentPath = "", sideBarStore, pathName) {
615
548
  let actions = [];
616
549
  items.forEach((item) => {
@@ -646,7 +579,7 @@ function MyAppSpotlight({ menu }) {
646
579
  [menu, router, sideBarStore]
647
580
  // Add sideBarStore to the dependency array
648
581
  );
649
- return /* @__PURE__ */ jsx16(
582
+ return /* @__PURE__ */ React.createElement(
650
583
  Spotlight,
651
584
  {
652
585
  actions: spotlightActions,
@@ -658,14 +591,14 @@ function MyAppSpotlight({ menu }) {
658
591
  nothingFound: "Kh\xF4ng t\xECm th\u1EA5y trang",
659
592
  highlightQuery: true,
660
593
  searchProps: {
661
- leftSection: /* @__PURE__ */ jsx16(IconSearch, { stroke: 1.5 }),
594
+ leftSection: /* @__PURE__ */ React.createElement(IconSearch, { stroke: 1.5 }),
662
595
  placeholder: "T\xECm ki\u1EBFm trang..."
663
596
  }
664
597
  }
665
598
  );
666
599
  }
667
600
  function SpotlightTrigger() {
668
- return /* @__PURE__ */ jsxs8(
601
+ return /* @__PURE__ */ React.createElement(
669
602
  "button",
670
603
  {
671
604
  onClick: spotlight.open,
@@ -676,12 +609,10 @@ function SpotlightTrigger() {
676
609
  display: "flex",
677
610
  alignItems: "center",
678
611
  gap: "8px"
679
- },
680
- children: [
681
- /* @__PURE__ */ jsx16(IconSearch, { stroke: 1.5 }),
682
- "T\xECm ki\u1EBFm (Ctrl + K)"
683
- ]
684
- }
612
+ }
613
+ },
614
+ /* @__PURE__ */ React.createElement(IconSearch, { stroke: 1.5 }),
615
+ "T\xECm ki\u1EBFm (Ctrl + K)"
685
616
  );
686
617
  }
687
618
 
@@ -690,46 +621,39 @@ import { ActionIcon as ActionIcon8, Anchor, Group as Group3, Modal as Modal4, Pa
690
621
  import { useDisclosure as useDisclosure5 } from "@mantine/hooks";
691
622
  import { IconMaximize as IconMaximize2, IconMinimize as IconMinimize2 } from "@tabler/icons-react";
692
623
  import { useState as useState5 } from "react";
693
- import { Fragment as Fragment4, jsx as jsx17, jsxs as jsxs9 } from "react/jsx-runtime";
694
624
  function MyAnchorViewPDF({ label, pdfLink }) {
695
625
  const disc = useDisclosure5(false);
696
626
  const fullScreen = useState5(false);
697
627
  const hSize = useState5("80vh");
698
- return /* @__PURE__ */ jsxs9(Fragment4, { children: [
699
- /* @__PURE__ */ jsx17(Anchor, { onClick: disc[1].open, children: label }),
700
- /* @__PURE__ */ jsx17(
701
- Modal4,
702
- {
703
- fullScreen: fullScreen[0],
704
- opened: disc[0],
705
- onClose: disc[1].close,
706
- size: "80%",
707
- title: /* @__PURE__ */ jsxs9(Group3, { children: [
708
- /* @__PURE__ */ jsx17(Text4, { children: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }),
709
- fullScreen[0] ? /* @__PURE__ */ jsx17(
710
- ActionIcon8,
711
- {
712
- onClick: () => {
713
- fullScreen[1](false);
714
- hSize[1]("80vh");
715
- },
716
- children: /* @__PURE__ */ jsx17(IconMinimize2, {})
717
- }
718
- ) : /* @__PURE__ */ jsx17(
719
- ActionIcon8,
720
- {
721
- onClick: () => {
722
- fullScreen[1](true);
723
- hSize[1]("90vh");
724
- },
725
- children: /* @__PURE__ */ jsx17(IconMaximize2, {})
726
- }
727
- )
728
- ] }),
729
- children: /* @__PURE__ */ jsx17(Paper2, { h: hSize[0], children: /* @__PURE__ */ jsx17("iframe", { src: pdfLink, width: "100%", height: "100%" }) })
730
- }
731
- )
732
- ] });
628
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Anchor, { onClick: disc[1].open }, label), /* @__PURE__ */ React.createElement(
629
+ Modal4,
630
+ {
631
+ fullScreen: fullScreen[0],
632
+ opened: disc[0],
633
+ onClose: disc[1].close,
634
+ size: "80%",
635
+ title: /* @__PURE__ */ React.createElement(Group3, null, /* @__PURE__ */ React.createElement(Text4, null, "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp"), fullScreen[0] ? /* @__PURE__ */ React.createElement(
636
+ ActionIcon8,
637
+ {
638
+ onClick: () => {
639
+ fullScreen[1](false);
640
+ hSize[1]("80vh");
641
+ }
642
+ },
643
+ /* @__PURE__ */ React.createElement(IconMinimize2, null)
644
+ ) : /* @__PURE__ */ React.createElement(
645
+ ActionIcon8,
646
+ {
647
+ onClick: () => {
648
+ fullScreen[1](true);
649
+ hSize[1]("90vh");
650
+ }
651
+ },
652
+ /* @__PURE__ */ React.createElement(IconMaximize2, null)
653
+ ))
654
+ },
655
+ /* @__PURE__ */ React.createElement(Paper2, { h: hSize[0] }, /* @__PURE__ */ React.createElement("iframe", { src: pdfLink, width: "100%", height: "100%" }))
656
+ ));
733
657
  }
734
658
 
735
659
  // src/components/Buttons/ButtonCRUD/AQButtonCreateByImportFile.tsx
@@ -742,7 +666,6 @@ import * as XLSX from "xlsx";
742
666
  // src/components/Buttons/ButtonModal/MyButtonModal.tsx
743
667
  import { Button as Button3, Modal as Modal5 } from "@mantine/core";
744
668
  import { IconEdit as IconEdit4, IconPlus as IconPlus4, IconTrash as IconTrash4 } from "@tabler/icons-react";
745
- import { Fragment as Fragment5, jsx as jsx18, jsxs as jsxs10 } from "react/jsx-runtime";
746
669
  function MyButtonModal(_a) {
747
670
  var _b = _a, {
748
671
  fullScreen = false,
@@ -765,89 +688,73 @@ function MyButtonModal(_a) {
765
688
  ]);
766
689
  const objectNameLower = objectName == null ? void 0 : objectName.toLowerCase();
767
690
  if (crudType == "default") {
768
- return /* @__PURE__ */ jsxs10(Fragment5, { children: [
769
- /* @__PURE__ */ jsx18(Button3, __spreadProps(__spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "indigo" }, rest), { children: label })),
770
- /* @__PURE__ */ jsx18(
771
- Modal5,
772
- {
773
- fullScreen,
774
- size: modalSize,
775
- title,
776
- opened: disclosure == null ? void 0 : disclosure[0],
777
- onClose: disclosure[1].close,
778
- children: /* @__PURE__ */ jsx18(MyFlexColumn, { children })
779
- }
780
- )
781
- ] });
691
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Button3, __spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "indigo" }, rest), label), /* @__PURE__ */ React.createElement(
692
+ Modal5,
693
+ {
694
+ fullScreen,
695
+ size: modalSize,
696
+ title,
697
+ opened: disclosure == null ? void 0 : disclosure[0],
698
+ onClose: disclosure[1].close
699
+ },
700
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, children)
701
+ ));
782
702
  }
783
703
  if (crudType == "create") {
784
- return /* @__PURE__ */ jsxs10(Fragment5, { children: [
785
- /* @__PURE__ */ jsx18(Button3, __spreadProps(__spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, leftSection: /* @__PURE__ */ jsx18(IconPlus4, {}) }, rest), { children: label ? label : `Th\xEAm` })),
786
- /* @__PURE__ */ jsx18(
787
- Modal5,
788
- {
789
- fullScreen,
790
- size: modalSize,
791
- title: title ? title : `T\u1EA1o ${objectNameLower} m\u1EDBi`,
792
- opened: disclosure == null ? void 0 : disclosure[0],
793
- onClose: disclosure[1].close,
794
- children: /* @__PURE__ */ jsx18(MyFlexColumn, { children })
795
- }
796
- )
797
- ] });
704
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Button3, __spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, leftSection: /* @__PURE__ */ React.createElement(IconPlus4, null) }, rest), label ? label : `Th\xEAm`), /* @__PURE__ */ React.createElement(
705
+ Modal5,
706
+ {
707
+ fullScreen,
708
+ size: modalSize,
709
+ title: title ? title : `T\u1EA1o ${objectNameLower} m\u1EDBi`,
710
+ opened: disclosure == null ? void 0 : disclosure[0],
711
+ onClose: disclosure[1].close
712
+ },
713
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, children)
714
+ ));
798
715
  }
799
716
  if (crudType == "createMultiple") {
800
- return /* @__PURE__ */ jsxs10(Fragment5, { children: [
801
- /* @__PURE__ */ jsx18(Button3, __spreadProps(__spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "green", leftSection: /* @__PURE__ */ jsx18(IconPlus4, {}) }, rest), { children: label ? label : `Import ${objectNameLower}` })),
802
- /* @__PURE__ */ jsx18(
803
- Modal5,
804
- {
805
- fullScreen,
806
- size: modalSize,
807
- title: title ? title : `Th\xEAm danh s\xE1ch ${objectNameLower}`,
808
- opened: disclosure == null ? void 0 : disclosure[0],
809
- onClose: disclosure[1].close,
810
- children: /* @__PURE__ */ jsx18(MyFlexColumn, { children })
811
- }
812
- )
813
- ] });
717
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Button3, __spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "green", leftSection: /* @__PURE__ */ React.createElement(IconPlus4, null) }, rest), label ? label : `Import ${objectNameLower}`), /* @__PURE__ */ React.createElement(
718
+ Modal5,
719
+ {
720
+ fullScreen,
721
+ size: modalSize,
722
+ title: title ? title : `Th\xEAm danh s\xE1ch ${objectNameLower}`,
723
+ opened: disclosure == null ? void 0 : disclosure[0],
724
+ onClose: disclosure[1].close
725
+ },
726
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, children)
727
+ ));
814
728
  }
815
729
  if (crudType == "update") {
816
- return /* @__PURE__ */ jsxs10(Fragment5, { children: [
817
- /* @__PURE__ */ jsx18(Button3, __spreadProps(__spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "yellow", leftSection: /* @__PURE__ */ jsx18(IconEdit4, {}) }, rest), { children: label ? label : `Ch\u1EC9nh s\u1EEDa ${objectNameLower}` })),
818
- /* @__PURE__ */ jsx18(
819
- Modal5,
820
- {
821
- fullScreen,
822
- size: modalSize,
823
- title: title ? title : `Ch\u1EC9nh s\u1EEDa ${objectNameLower}`,
824
- opened: disclosure == null ? void 0 : disclosure[0],
825
- onClose: disclosure[1].close,
826
- children: /* @__PURE__ */ jsx18(MyFlexColumn, { children })
827
- }
828
- )
829
- ] });
730
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Button3, __spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "yellow", leftSection: /* @__PURE__ */ React.createElement(IconEdit4, null) }, rest), label ? label : `Ch\u1EC9nh s\u1EEDa ${objectNameLower}`), /* @__PURE__ */ React.createElement(
731
+ Modal5,
732
+ {
733
+ fullScreen,
734
+ size: modalSize,
735
+ title: title ? title : `Ch\u1EC9nh s\u1EEDa ${objectNameLower}`,
736
+ opened: disclosure == null ? void 0 : disclosure[0],
737
+ onClose: disclosure[1].close
738
+ },
739
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, children)
740
+ ));
830
741
  }
831
742
  if (crudType == "delete") {
832
- return /* @__PURE__ */ jsxs10(Fragment5, { children: [
833
- /* @__PURE__ */ jsx18(Button3, __spreadProps(__spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "red", leftSection: /* @__PURE__ */ jsx18(IconTrash4, {}) }, rest), { children: label ? label : `X\xF3a ${objectNameLower}` })),
834
- /* @__PURE__ */ jsx18(
835
- Modal5,
836
- {
837
- fullScreen,
838
- size: modalSize,
839
- title: title ? title : `X\xF3a ${objectNameLower}`,
840
- opened: disclosure == null ? void 0 : disclosure[0],
841
- onClose: disclosure[1].close,
842
- children: /* @__PURE__ */ jsx18(MyFlexColumn, { children })
843
- }
844
- )
845
- ] });
743
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Button3, __spreadValues({ onClick: disclosure == null ? void 0 : disclosure[1].open, color: "red", leftSection: /* @__PURE__ */ React.createElement(IconTrash4, null) }, rest), label ? label : `X\xF3a ${objectNameLower}`), /* @__PURE__ */ React.createElement(
744
+ Modal5,
745
+ {
746
+ fullScreen,
747
+ size: modalSize,
748
+ title: title ? title : `X\xF3a ${objectNameLower}`,
749
+ opened: disclosure == null ? void 0 : disclosure[0],
750
+ onClose: disclosure[1].close
751
+ },
752
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, children)
753
+ ));
846
754
  }
847
755
  }
848
756
 
849
757
  // src/components/Buttons/ButtonCRUD/AQButtonCreateByImportFile.tsx
850
- import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
851
758
  function AQButtonCreateByImportFile(_a) {
852
759
  var _b = _a, {
853
760
  form,
@@ -896,29 +803,25 @@ function AQButtonCreateByImportFile(_a) {
896
803
  };
897
804
  reader.readAsArrayBuffer(file);
898
805
  };
899
- return /* @__PURE__ */ jsx19(MyButtonModal, __spreadProps(__spreadValues({ disclosure: disc, crudType: "createMultiple" }, rest), { children: /* @__PURE__ */ jsx19("form", { onSubmit: form.onSubmit((values) => {
900
- }), children: /* @__PURE__ */ jsxs11(MyFlexColumn, { children: [
901
- /* @__PURE__ */ jsx19(
902
- FileInput,
903
- {
904
- leftSection: /* @__PURE__ */ jsx19(IconFileTypeXls, {}),
905
- accept: ".xlsx",
906
- description: "\u0110\u1ECBnh d\u1EA1ng h\u1EE3p l\u1EC7: .xlsx",
907
- label: "Ch\u1ECDn file",
908
- onChange: handleFileChange,
909
- clearable: true,
910
- placeholder: "Ch\u1ECDn file"
911
- }
912
- ),
913
- /* @__PURE__ */ jsx19(MyButton, { type: "submit", crudType: "createMultiple" })
914
- ] }) }) }));
806
+ return /* @__PURE__ */ React.createElement(MyButtonModal, __spreadValues({ disclosure: disc, crudType: "createMultiple" }, rest), /* @__PURE__ */ React.createElement("form", { onSubmit: form.onSubmit((values) => {
807
+ }) }, /* @__PURE__ */ React.createElement(MyFlexColumn, null, /* @__PURE__ */ React.createElement(
808
+ FileInput,
809
+ {
810
+ leftSection: /* @__PURE__ */ React.createElement(IconFileTypeXls, null),
811
+ accept: ".xlsx",
812
+ description: "\u0110\u1ECBnh d\u1EA1ng h\u1EE3p l\u1EC7: .xlsx",
813
+ label: "Ch\u1ECDn file",
814
+ onChange: handleFileChange,
815
+ clearable: true,
816
+ placeholder: "Ch\u1ECDn file"
817
+ }
818
+ ), /* @__PURE__ */ React.createElement(MyButton, { type: "submit", crudType: "createMultiple" }))));
915
819
  }
916
820
 
917
821
  // src/components/Buttons/ButtonCRUD/AQButtonExportData.tsx
918
822
  import { Button as Button4 } from "@mantine/core";
919
823
  import { IconDownload as IconDownload2 } from "@tabler/icons-react";
920
824
  import * as XLSX2 from "xlsx";
921
- import { jsx as jsx20 } from "react/jsx-runtime";
922
825
  function AQButtonExportData({
923
826
  isAllData,
924
827
  objectName,
@@ -944,7 +847,7 @@ function AQButtonExportData({
944
847
  XLSX2.utils.book_append_sheet(workbook, worksheet, "Exported Data");
945
848
  XLSX2.writeFile(workbook, `${objectName}.xlsx`);
946
849
  };
947
- return /* @__PURE__ */ jsx20(
850
+ return /* @__PURE__ */ React.createElement(
948
851
  Button4,
949
852
  {
950
853
  disabled: data.length === 0,
@@ -954,16 +857,15 @@ function AQButtonExportData({
954
857
  event.preventDefault();
955
858
  handleExport();
956
859
  },
957
- leftSection: /* @__PURE__ */ jsx20(IconDownload2, {}),
958
- children: "Export"
959
- }
860
+ leftSection: /* @__PURE__ */ React.createElement(IconDownload2, null)
861
+ },
862
+ "Export"
960
863
  );
961
864
  }
962
865
 
963
866
  // src/components/Buttons/ButtonCRUD/MyButtonCreate.tsx
964
867
  import { useDisclosure as useDisclosure7 } from "@mantine/hooks";
965
868
  import { useMutation as useMutation4, useQueryClient as useQueryClient4 } from "@tanstack/react-query";
966
- import { jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
967
869
  function MyButtonCreate(_a) {
968
870
  var _b = _a, {
969
871
  form,
@@ -1006,12 +908,9 @@ function MyButtonCreate(_a) {
1006
908
  if (onError) onError();
1007
909
  }
1008
910
  });
1009
- return /* @__PURE__ */ jsx21(MyButtonModal, __spreadProps(__spreadValues({ disclosure, crudType: "create" }, rest), { children: /* @__PURE__ */ jsx21("form", { onSubmit: form.onSubmit((values) => {
911
+ return /* @__PURE__ */ React.createElement(MyButtonModal, __spreadValues({ disclosure, crudType: "create" }, rest), /* @__PURE__ */ React.createElement("form", { onSubmit: form.onSubmit((values) => {
1010
912
  mutation.mutate(values);
1011
- }), children: /* @__PURE__ */ jsxs12(MyFlexColumn, { children: [
1012
- children,
1013
- /* @__PURE__ */ jsx21(MyButton, { type: "submit", crudType: "save" })
1014
- ] }) }) }));
913
+ }) }, /* @__PURE__ */ React.createElement(MyFlexColumn, null, children, /* @__PURE__ */ React.createElement(MyButton, { type: "submit", crudType: "save" }))));
1015
914
  }
1016
915
 
1017
916
  // src/components/Buttons/ButtonImport/MyButtonImport.tsx
@@ -1020,18 +919,16 @@ import { IconFileImport as IconFileImport2 } from "@tabler/icons-react";
1020
919
 
1021
920
  // src/components/Combobox/Select/MySelect.tsx
1022
921
  import { Select } from "@mantine/core";
1023
- import { jsx as jsx22 } from "react/jsx-runtime";
1024
922
  function MySelect(_a) {
1025
923
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
1026
- return /* @__PURE__ */ jsx22(Select, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
924
+ return /* @__PURE__ */ React.createElement(Select, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
1027
925
  }
1028
926
 
1029
927
  // src/components/Layouts/FlexEnd/MyFlexEnd.tsx
1030
928
  import { Group as Group4 } from "@mantine/core";
1031
- import { jsx as jsx23 } from "react/jsx-runtime";
1032
929
  function MyFlexEnd(_a) {
1033
930
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
1034
- return /* @__PURE__ */ jsx23(Group4, __spreadProps(__spreadValues({ justify: "end", mt: "md" }, rest), { children }));
931
+ return /* @__PURE__ */ React.createElement(Group4, __spreadValues({ justify: "end", mt: "md" }, rest), children);
1035
932
  }
1036
933
 
1037
934
  // src/components/Buttons/ButtonImport/SelectFieldModal.tsx
@@ -1202,106 +1099,69 @@ function useS_ButtonImport() {
1202
1099
  }
1203
1100
 
1204
1101
  // src/components/Buttons/ButtonImport/SelectFieldModal.tsx
1205
- import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
1206
1102
  function SelectFieldModal({ stack, onImport }) {
1207
1103
  var _a, _b;
1208
1104
  const store = useS_ButtonImport();
1209
- return /* @__PURE__ */ jsxs13(Modal6, __spreadProps(__spreadValues({ fullScreen: true }, stack.register("select-field-page")), { title: "Import", children: [
1210
- /* @__PURE__ */ jsxs13(SimpleGrid, { cols: { base: 1, lg: 2 }, children: [
1211
- /* @__PURE__ */ jsxs13(Fieldset, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin", children: [
1212
- /* @__PURE__ */ jsxs13(Table, { stickyHeader: true, stickyHeaderOffset: 60, children: [
1213
- /* @__PURE__ */ jsx24(Table.Thead, { bg: "cyan", children: /* @__PURE__ */ jsxs13(Table.Tr, { children: [
1214
- /* @__PURE__ */ jsx24(Table.Th, { children: "M\xE3 field" }),
1215
- /* @__PURE__ */ jsx24(Table.Th, { children: "T\xEAn field" })
1216
- ] }) }),
1217
- /* @__PURE__ */ jsx24(Table.Tbody, { children: (_a = store.state.fieldConfig) == null ? void 0 : _a.filter((item) => item.isSelected == false || item.isSelected == void 0).map((item, idx) => /* @__PURE__ */ jsxs13(
1218
- Table.Tr,
1219
- {
1220
- style: { cursor: "pointer" },
1221
- children: [
1222
- /* @__PURE__ */ jsx24(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), true), children: item.fieldKey.toString() }),
1223
- /* @__PURE__ */ jsx24(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), true), children: item.fieldName })
1224
- ]
1225
- },
1226
- idx
1227
- )) })
1228
- ] }),
1229
- /* @__PURE__ */ jsx24(Space2, {}),
1230
- /* @__PURE__ */ jsx24(Group5, { children: /* @__PURE__ */ jsx24(
1231
- Button5,
1232
- {
1233
- onClick: () => {
1234
- store.changeAllSelected(true);
1235
- },
1236
- leftSection: /* @__PURE__ */ jsx24(IconArrowBigRight, {}),
1237
- children: "Chuy\u1EC3n t\u1EA5t c\u1EA3"
1238
- }
1239
- ) })
1240
- ] }),
1241
- /* @__PURE__ */ jsxs13(Fieldset, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin \u0111\u01B0\u1EE3c ch\u1ECDn", children: [
1242
- /* @__PURE__ */ jsxs13(Table, { stickyHeader: true, stickyHeaderOffset: 60, children: [
1243
- /* @__PURE__ */ jsx24(Table.Thead, { children: /* @__PURE__ */ jsxs13(Table.Tr, { children: [
1244
- /* @__PURE__ */ jsx24(Table.Th, { children: "M\xE3 field" }),
1245
- /* @__PURE__ */ jsx24(Table.Th, { children: "T\xEAn field" }),
1246
- /* @__PURE__ */ jsx24(Table.Th, { children: "C\u1ED9t map" })
1247
- ] }) }),
1248
- /* @__PURE__ */ jsx24(Table.Tbody, { children: (_b = store.state.fieldConfig) == null ? void 0 : _b.filter((item) => item.isSelected == true).map((item, idx) => /* @__PURE__ */ jsxs13(
1249
- Table.Tr,
1250
- {
1251
- style: { cursor: "pointer" },
1252
- children: [
1253
- /* @__PURE__ */ jsx24(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), false), children: item.fieldKey.toString() }),
1254
- /* @__PURE__ */ jsx24(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), false), children: item.fieldName }),
1255
- /* @__PURE__ */ jsx24(Table.Td, { children: /* @__PURE__ */ jsx24(MySelect, { data: store.state.title, value: item.fieldToMap, onChange: (e4) => store.setFieldToMap(item.fieldKey.toString(), e4) }) })
1256
- ]
1257
- },
1258
- idx
1259
- )) })
1260
- ] }),
1261
- /* @__PURE__ */ jsx24(Space2, {}),
1262
- /* @__PURE__ */ jsx24(
1263
- Button5,
1264
- {
1265
- onClick: () => {
1266
- store.changeAllSelected(false);
1267
- },
1268
- leftSection: /* @__PURE__ */ jsx24(IconArrowBigLeft, {}),
1269
- children: "Chuy\u1EC3n t\u1EA5t c\u1EA3 v\u1EC1"
1270
- }
1271
- )
1272
- ] })
1273
- ] }),
1274
- /* @__PURE__ */ jsx24(Divider, {}),
1275
- /* @__PURE__ */ jsxs13(MyFlexEnd, { children: [
1276
- /* @__PURE__ */ jsx24(
1277
- Button5,
1278
- {
1279
- leftSection: /* @__PURE__ */ jsx24(IconArrowBackUp, {}),
1280
- onClick: () => stack.close("select-field-page"),
1281
- color: "gray.7",
1282
- children: "Quay l\u1EA1i"
1283
- }
1284
- ),
1285
- /* @__PURE__ */ jsx24(
1286
- Button5,
1287
- {
1288
- color: "blue.8",
1289
- leftSection: /* @__PURE__ */ jsx24(IconArrowBigRight, {}),
1290
- onClick: onImport,
1291
- children: "Ti\u1EBFp t\u1EE5c / Import"
1292
- }
1293
- ),
1294
- /* @__PURE__ */ jsx24(
1295
- Button5,
1296
- {
1297
- leftSection: /* @__PURE__ */ jsx24(IconSquareRoundedX, {}),
1298
- onClick: () => stack.closeAll(),
1299
- color: "red.6",
1300
- children: "\u0110\xF3ng"
1301
- }
1302
- )
1303
- ] })
1304
- ] }));
1105
+ return /* @__PURE__ */ React.createElement(Modal6, __spreadProps(__spreadValues({ fullScreen: true }, stack.register("select-field-page")), { title: "Import" }), /* @__PURE__ */ React.createElement(SimpleGrid, { cols: { base: 1, lg: 2 } }, /* @__PURE__ */ React.createElement(Fieldset, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin" }, /* @__PURE__ */ React.createElement(Table, { stickyHeader: true, stickyHeaderOffset: 60 }, /* @__PURE__ */ React.createElement(Table.Thead, { bg: "cyan" }, /* @__PURE__ */ React.createElement(Table.Tr, null, /* @__PURE__ */ React.createElement(Table.Th, null, "M\xE3 field"), /* @__PURE__ */ React.createElement(Table.Th, null, "T\xEAn field"))), /* @__PURE__ */ React.createElement(Table.Tbody, null, (_a = store.state.fieldConfig) == null ? void 0 : _a.filter((item) => item.isSelected == false || item.isSelected == void 0).map((item, idx) => /* @__PURE__ */ React.createElement(
1106
+ Table.Tr,
1107
+ {
1108
+ key: idx,
1109
+ style: { cursor: "pointer" }
1110
+ },
1111
+ /* @__PURE__ */ React.createElement(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), true) }, item.fieldKey.toString()),
1112
+ /* @__PURE__ */ React.createElement(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), true) }, item.fieldName)
1113
+ )))), /* @__PURE__ */ React.createElement(Space2, null), /* @__PURE__ */ React.createElement(Group5, null, /* @__PURE__ */ React.createElement(
1114
+ Button5,
1115
+ {
1116
+ onClick: () => {
1117
+ store.changeAllSelected(true);
1118
+ },
1119
+ leftSection: /* @__PURE__ */ React.createElement(IconArrowBigRight, null)
1120
+ },
1121
+ "Chuy\u1EC3n t\u1EA5t c\u1EA3"
1122
+ ))), /* @__PURE__ */ React.createElement(Fieldset, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin \u0111\u01B0\u1EE3c ch\u1ECDn" }, /* @__PURE__ */ React.createElement(Table, { stickyHeader: true, stickyHeaderOffset: 60 }, /* @__PURE__ */ React.createElement(Table.Thead, null, /* @__PURE__ */ React.createElement(Table.Tr, null, /* @__PURE__ */ React.createElement(Table.Th, null, "M\xE3 field"), /* @__PURE__ */ React.createElement(Table.Th, null, "T\xEAn field"), /* @__PURE__ */ React.createElement(Table.Th, null, "C\u1ED9t map"))), /* @__PURE__ */ React.createElement(Table.Tbody, null, (_b = store.state.fieldConfig) == null ? void 0 : _b.filter((item) => item.isSelected == true).map((item, idx) => /* @__PURE__ */ React.createElement(
1123
+ Table.Tr,
1124
+ {
1125
+ key: idx,
1126
+ style: { cursor: "pointer" }
1127
+ },
1128
+ /* @__PURE__ */ React.createElement(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), false) }, item.fieldKey.toString()),
1129
+ /* @__PURE__ */ React.createElement(Table.Td, { onClick: () => store.changeSelected(item.fieldKey.toString(), false) }, item.fieldName),
1130
+ /* @__PURE__ */ React.createElement(Table.Td, null, /* @__PURE__ */ React.createElement(MySelect, { data: store.state.title, value: item.fieldToMap, onChange: (e4) => store.setFieldToMap(item.fieldKey.toString(), e4) }))
1131
+ )))), /* @__PURE__ */ React.createElement(Space2, null), /* @__PURE__ */ React.createElement(
1132
+ Button5,
1133
+ {
1134
+ onClick: () => {
1135
+ store.changeAllSelected(false);
1136
+ },
1137
+ leftSection: /* @__PURE__ */ React.createElement(IconArrowBigLeft, null)
1138
+ },
1139
+ "Chuy\u1EC3n t\u1EA5t c\u1EA3 v\u1EC1"
1140
+ ))), /* @__PURE__ */ React.createElement(Divider, null), /* @__PURE__ */ React.createElement(MyFlexEnd, null, /* @__PURE__ */ React.createElement(
1141
+ Button5,
1142
+ {
1143
+ leftSection: /* @__PURE__ */ React.createElement(IconArrowBackUp, null),
1144
+ onClick: () => stack.close("select-field-page"),
1145
+ color: "gray.7"
1146
+ },
1147
+ "Quay l\u1EA1i"
1148
+ ), /* @__PURE__ */ React.createElement(
1149
+ Button5,
1150
+ {
1151
+ color: "blue.8",
1152
+ leftSection: /* @__PURE__ */ React.createElement(IconArrowBigRight, null),
1153
+ onClick: onImport
1154
+ },
1155
+ "Ti\u1EBFp t\u1EE5c / Import"
1156
+ ), /* @__PURE__ */ React.createElement(
1157
+ Button5,
1158
+ {
1159
+ leftSection: /* @__PURE__ */ React.createElement(IconSquareRoundedX, null),
1160
+ onClick: () => stack.closeAll(),
1161
+ color: "red.6"
1162
+ },
1163
+ "\u0110\xF3ng"
1164
+ )));
1305
1165
  }
1306
1166
 
1307
1167
  // src/components/DataDisplay/DataTable/MyDataTable.tsx
@@ -1314,7 +1174,6 @@ import {
1314
1174
  } from "mantine-react-table";
1315
1175
  import { MRT_Localization_VI } from "mantine-react-table/locales/vi/index.cjs";
1316
1176
  import { useEffect as useEffect3 } from "react";
1317
- import { Fragment as Fragment6, jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
1318
1177
  function formatData(data, formats) {
1319
1178
  return data.map((row) => {
1320
1179
  const transformedRow = {};
@@ -1355,19 +1214,16 @@ function MyDataTable(_a) {
1355
1214
  columns,
1356
1215
  data,
1357
1216
  renderTopToolbarCustomActions: ({ table: table2 }) => {
1358
- return /* @__PURE__ */ jsxs14(Group6, { children: [
1359
- renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table: table2 }),
1360
- exportAble && /* @__PURE__ */ jsx25(Fragment6, { children: /* @__PURE__ */ jsx25(
1361
- Button6,
1362
- {
1363
- color: "green.8",
1364
- onClick: () => handleExport(table2.getSelectedRowModel().rows),
1365
- leftSection: /* @__PURE__ */ jsx25(IconDownload3, {}),
1366
- variant: "filled",
1367
- children: "Export"
1368
- }
1369
- ) })
1370
- ] });
1217
+ return /* @__PURE__ */ React.createElement(Group6, null, renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table: table2 }), exportAble && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
1218
+ Button6,
1219
+ {
1220
+ color: "green.8",
1221
+ onClick: () => handleExport(table2.getSelectedRowModel().rows),
1222
+ leftSection: /* @__PURE__ */ React.createElement(IconDownload3, null),
1223
+ variant: "filled"
1224
+ },
1225
+ "Export"
1226
+ )));
1371
1227
  },
1372
1228
  enableRowNumbers: true,
1373
1229
  enableRowSelection: exportAble,
@@ -1414,131 +1270,110 @@ function MyDataTable(_a) {
1414
1270
  setSelectedRow && setSelectedRow(table.getSelectedRowModel().rows.map((row) => row.original));
1415
1271
  }, [table.getState().rowSelection]);
1416
1272
  if (data == void 0) return;
1417
- return /* @__PURE__ */ jsx25(MantineReactTable, { table });
1273
+ return /* @__PURE__ */ React.createElement(MantineReactTable, { table });
1418
1274
  }
1419
1275
 
1420
1276
  // src/components/Buttons/ButtonImport/SelectFileModal.tsx
1421
1277
  import { Button as Button7, Fieldset as Fieldset2, FileInput as FileInput2, Modal as Modal7, NumberInput, Select as Select2, SimpleGrid as SimpleGrid2 } from "@mantine/core";
1422
1278
  import { IconArrowBigRight as IconArrowBigRight2, IconSquareRoundedX as IconSquareRoundedX2 } from "@tabler/icons-react";
1423
- import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
1424
1279
  function SelectFileModal({ onExportStructure, stack }) {
1425
1280
  var _a;
1426
1281
  const store = useS_ButtonImport();
1427
- return /* @__PURE__ */ jsxs15(
1282
+ return /* @__PURE__ */ React.createElement(
1428
1283
  Modal7,
1429
- __spreadProps(__spreadValues({
1284
+ __spreadValues({
1430
1285
  title: "Import",
1431
1286
  fullScreen: true
1432
- }, stack.register("select-file-page")), {
1433
- children: [
1434
- /* @__PURE__ */ jsx26(
1435
- FileInput2,
1436
- {
1437
- value: store.state.file,
1438
- onChange: (e4) => store.setProperty("file", e4),
1439
- label: "File d\u1EEF li\u1EC7u",
1440
- placeholder: "Ch\u1ECDn file d\u1EEF li\u1EC7u",
1441
- clearable: true
1442
- }
1443
- ),
1444
- /* @__PURE__ */ jsxs15(SimpleGrid2, { cols: { base: 1, md: 2, lg: 2, xl: 4 }, children: [
1445
- /* @__PURE__ */ jsx26(
1446
- NumberInput,
1447
- {
1448
- label: "D\xF2ng ti\xEAu \u0111\u1EC1 b\u1EAFt \u0111\u1EA7u t\u1EEB",
1449
- value: store.state.startTitleIndex,
1450
- onChange: (e4) => store.setProperty("startTitleIndex", e4)
1451
- }
1452
- ),
1453
- /* @__PURE__ */ jsx26(
1454
- NumberInput,
1455
- {
1456
- label: "D\xF2ng d\u1EEF li\u1EC7u b\u1EAFt \u0111\u1EA7u t\u1EEB",
1457
- value: store.state.startDataIndex,
1458
- onChange: (e4) => store.setProperty("startDataIndex", e4)
1459
- }
1460
- ),
1461
- /* @__PURE__ */ jsx26(
1462
- Select2,
1463
- {
1464
- readOnly: true,
1465
- label: "\u0110\u1ECBnh d\u1EA1ng s\u1ED1",
1466
- data: ["100.000"],
1467
- defaultValue: "100.000"
1468
- }
1469
- ),
1470
- /* @__PURE__ */ jsx26(
1471
- Select2,
1472
- {
1473
- readOnly: true,
1474
- label: "\u0110\u1ECBnh d\u1EA1ng ng\xE0y",
1475
- data: ["dd/MM/yyyy"],
1476
- defaultValue: "dd/MM/yyyy"
1477
- }
1478
- )
1479
- ] }),
1480
- /* @__PURE__ */ jsx26(Fieldset2, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u", children: store.state.data && /* @__PURE__ */ jsx26(
1481
- MyDataTable,
1482
- {
1483
- columns: store.columns,
1484
- data: store.state.data
1485
- }
1486
- ) }),
1487
- /* @__PURE__ */ jsxs15(MyFlexEnd, { children: [
1488
- /* @__PURE__ */ jsx26(
1489
- Button7,
1490
- {
1491
- color: "teal.8",
1492
- onClick: onExportStructure,
1493
- children: "Xu\u1EA5t file c\u1EA5u tr\xFAc"
1494
- }
1495
- ),
1496
- /* @__PURE__ */ jsx26(
1497
- Button7,
1498
- {
1499
- disabled: ((_a = store.state.data) == null ? void 0 : _a.length) == 0,
1500
- color: "blue.8",
1501
- leftSection: /* @__PURE__ */ jsx26(IconArrowBigRight2, {}),
1502
- onClick: () => stack.open("select-field-page"),
1503
- children: "Ti\u1EBFp t\u1EE5c"
1504
- }
1505
- ),
1506
- /* @__PURE__ */ jsx26(
1507
- Button7,
1508
- {
1509
- color: "red.6",
1510
- leftSection: /* @__PURE__ */ jsx26(IconSquareRoundedX2, {}),
1511
- onClick: stack.closeAll,
1512
- children: "\u0110\xF3ng"
1513
- }
1514
- )
1515
- ] })
1516
- ]
1517
- })
1287
+ }, stack.register("select-file-page")),
1288
+ /* @__PURE__ */ React.createElement(
1289
+ FileInput2,
1290
+ {
1291
+ value: store.state.file,
1292
+ onChange: (e4) => store.setProperty("file", e4),
1293
+ label: "File d\u1EEF li\u1EC7u",
1294
+ placeholder: "Ch\u1ECDn file d\u1EEF li\u1EC7u",
1295
+ clearable: true
1296
+ }
1297
+ ),
1298
+ /* @__PURE__ */ React.createElement(SimpleGrid2, { cols: { base: 1, md: 2, lg: 2, xl: 4 } }, /* @__PURE__ */ React.createElement(
1299
+ NumberInput,
1300
+ {
1301
+ label: "D\xF2ng ti\xEAu \u0111\u1EC1 b\u1EAFt \u0111\u1EA7u t\u1EEB",
1302
+ value: store.state.startTitleIndex,
1303
+ onChange: (e4) => store.setProperty("startTitleIndex", e4)
1304
+ }
1305
+ ), /* @__PURE__ */ React.createElement(
1306
+ NumberInput,
1307
+ {
1308
+ label: "D\xF2ng d\u1EEF li\u1EC7u b\u1EAFt \u0111\u1EA7u t\u1EEB",
1309
+ value: store.state.startDataIndex,
1310
+ onChange: (e4) => store.setProperty("startDataIndex", e4)
1311
+ }
1312
+ ), /* @__PURE__ */ React.createElement(
1313
+ Select2,
1314
+ {
1315
+ readOnly: true,
1316
+ label: "\u0110\u1ECBnh d\u1EA1ng s\u1ED1",
1317
+ data: ["100.000"],
1318
+ defaultValue: "100.000"
1319
+ }
1320
+ ), /* @__PURE__ */ React.createElement(
1321
+ Select2,
1322
+ {
1323
+ readOnly: true,
1324
+ label: "\u0110\u1ECBnh d\u1EA1ng ng\xE0y",
1325
+ data: ["dd/MM/yyyy"],
1326
+ defaultValue: "dd/MM/yyyy"
1327
+ }
1328
+ )),
1329
+ /* @__PURE__ */ React.createElement(Fieldset2, { legend: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u" }, store.state.data && /* @__PURE__ */ React.createElement(
1330
+ MyDataTable,
1331
+ {
1332
+ columns: store.columns,
1333
+ data: store.state.data
1334
+ }
1335
+ )),
1336
+ /* @__PURE__ */ React.createElement(MyFlexEnd, null, /* @__PURE__ */ React.createElement(
1337
+ Button7,
1338
+ {
1339
+ color: "teal.8",
1340
+ onClick: onExportStructure
1341
+ },
1342
+ "Xu\u1EA5t file c\u1EA5u tr\xFAc"
1343
+ ), /* @__PURE__ */ React.createElement(
1344
+ Button7,
1345
+ {
1346
+ disabled: ((_a = store.state.data) == null ? void 0 : _a.length) == 0,
1347
+ color: "blue.8",
1348
+ leftSection: /* @__PURE__ */ React.createElement(IconArrowBigRight2, null),
1349
+ onClick: () => stack.open("select-field-page")
1350
+ },
1351
+ "Ti\u1EBFp t\u1EE5c"
1352
+ ), /* @__PURE__ */ React.createElement(
1353
+ Button7,
1354
+ {
1355
+ color: "red.6",
1356
+ leftSection: /* @__PURE__ */ React.createElement(IconSquareRoundedX2, null),
1357
+ onClick: stack.closeAll
1358
+ },
1359
+ "\u0110\xF3ng"
1360
+ ))
1518
1361
  );
1519
1362
  }
1520
1363
 
1521
1364
  // src/components/Buttons/ButtonImport/MyButtonImport.tsx
1522
- import { Fragment as Fragment7, jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
1523
1365
  function MyButtonImport({
1524
1366
  onExportStructure,
1525
1367
  onImport
1526
1368
  }) {
1527
1369
  const stack = useModalsStack3(["select-file-page", "select-field-page", "implement-page"]);
1528
1370
  const store = useS_ButtonImport();
1529
- return /* @__PURE__ */ jsxs16(Fragment7, { children: [
1530
- /* @__PURE__ */ jsx27(Button8, { color: "teal.8", onClick: () => stack.open("select-file-page"), leftSection: /* @__PURE__ */ jsx27(IconFileImport2, {}), title: "Import", children: "Import" }),
1531
- /* @__PURE__ */ jsxs16(Modal8.Stack, { children: [
1532
- /* @__PURE__ */ jsx27(SelectFileModal, { stack, onExportStructure }),
1533
- /* @__PURE__ */ jsx27(SelectFieldModal, { stack, onImport: () => onImport(store.getDataFinal()) })
1534
- ] })
1535
- ] });
1371
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Button8, { color: "teal.8", onClick: () => stack.open("select-file-page"), leftSection: /* @__PURE__ */ React.createElement(IconFileImport2, null), title: "Import" }, "Import"), /* @__PURE__ */ React.createElement(Modal8.Stack, null, /* @__PURE__ */ React.createElement(SelectFileModal, { stack, onExportStructure }), /* @__PURE__ */ React.createElement(SelectFieldModal, { stack, onImport: () => onImport(store.getDataFinal()) })));
1536
1372
  }
1537
1373
 
1538
1374
  // src/components/Buttons/ButtonModal/AQSelectTableByOpenModal.tsx
1539
1375
  import { Button as Button9, Fieldset as Fieldset3, Modal as Modal9 } from "@mantine/core";
1540
1376
  import { useDisclosure as useDisclosure8 } from "@mantine/hooks";
1541
- import { Fragment as Fragment8, jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
1542
1377
  function AQSelectTableByOpenModal(_a) {
1543
1378
  var _b = _a, {
1544
1379
  setSelectedData,
@@ -1566,40 +1401,36 @@ function AQSelectTableByOpenModal(_a) {
1566
1401
  "closeAfterSelect"
1567
1402
  ]);
1568
1403
  const disclosure = useDisclosure8(false);
1569
- return /* @__PURE__ */ jsxs17(Fragment8, { children: [
1570
- /* @__PURE__ */ jsx28(
1571
- Button9,
1572
- __spreadProps(__spreadValues({
1573
- onClick: disclosure[1].open
1574
- }, rest), {
1575
- children: label ? label : `Ch\u1ECDn t\u1EEB danh s\xE1ch`
1576
- })
1577
- ),
1578
- /* @__PURE__ */ jsx28(
1579
- Modal9,
1580
- {
1581
- fullScreen,
1582
- size: modalSize,
1583
- title,
1584
- opened: disclosure == null ? void 0 : disclosure[0],
1585
- onClose: disclosure[1].close,
1586
- children: /* @__PURE__ */ jsx28(MyFlexColumn, { children: /* @__PURE__ */ jsx28(Fieldset3, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: /* @__PURE__ */ jsx28(
1587
- MyDataTable,
1588
- __spreadValues({
1589
- renderTopToolbarCustomActions: ({ table }) => {
1590
- return /* @__PURE__ */ jsx28(Button9, { onClick: () => {
1591
- setSelectedData(table.getSelectedRowModel().rows.map((row) => row.original));
1592
- closeAfterSelect && disclosure[1].close();
1593
- }, children: "Ch\u1ECDn" });
1594
- },
1595
- enableRowSelection: true,
1596
- data,
1597
- columns
1598
- }, rest)
1599
- ) }) })
1600
- }
1601
- )
1602
- ] });
1404
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
1405
+ Button9,
1406
+ __spreadValues({
1407
+ onClick: disclosure[1].open
1408
+ }, rest),
1409
+ label ? label : `Ch\u1ECDn t\u1EEB danh s\xE1ch`
1410
+ ), /* @__PURE__ */ React.createElement(
1411
+ Modal9,
1412
+ {
1413
+ fullScreen,
1414
+ size: modalSize,
1415
+ title,
1416
+ opened: disclosure == null ? void 0 : disclosure[0],
1417
+ onClose: disclosure[1].close
1418
+ },
1419
+ /* @__PURE__ */ React.createElement(MyFlexColumn, null, /* @__PURE__ */ React.createElement(Fieldset3, { legend: listLabel ? listLabel : "Danh s\xE1ch" }, /* @__PURE__ */ React.createElement(
1420
+ MyDataTable,
1421
+ __spreadValues({
1422
+ renderTopToolbarCustomActions: ({ table }) => {
1423
+ return /* @__PURE__ */ React.createElement(Button9, { onClick: () => {
1424
+ setSelectedData(table.getSelectedRowModel().rows.map((row) => row.original));
1425
+ closeAfterSelect && disclosure[1].close();
1426
+ } }, "Ch\u1ECDn");
1427
+ },
1428
+ enableRowSelection: true,
1429
+ data,
1430
+ columns
1431
+ }, rest)
1432
+ )))
1433
+ ));
1603
1434
  }
1604
1435
 
1605
1436
  // src/components/Buttons/ButtonPrintPDF/MyButtonPrintPDF.tsx
@@ -1607,7 +1438,6 @@ import { useRef as useRef2 } from "react";
1607
1438
  import { Button as Button10 } from "@mantine/core";
1608
1439
  import { IconPrinter as IconPrinter2 } from "@tabler/icons-react";
1609
1440
  import { useReactToPrint } from "react-to-print";
1610
- import { Fragment as Fragment9, jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
1611
1441
  function MyButtonPrintPDF(_a) {
1612
1442
  var _b = _a, { contentToPrint } = _b, rest = __objRest(_b, ["contentToPrint"]);
1613
1443
  const printRef = useRef2(null);
@@ -1621,34 +1451,29 @@ function MyButtonPrintPDF(_a) {
1621
1451
  if (!contentToPrint) return;
1622
1452
  handlePrint();
1623
1453
  }
1624
- return /* @__PURE__ */ jsxs18(Fragment9, { children: [
1625
- /* @__PURE__ */ jsx29("div", { style: { display: "none" }, children: /* @__PURE__ */ jsx29("div", { ref: printRef, children: contentToPrint }) }),
1626
- /* @__PURE__ */ jsx29(
1627
- Button10,
1628
- __spreadProps(__spreadValues({
1629
- color: "orange",
1630
- onClick: handleClick,
1631
- leftSection: /* @__PURE__ */ jsx29(IconPrinter2, {})
1632
- }, rest), {
1633
- children: "In"
1634
- })
1635
- )
1636
- ] });
1454
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", { style: { display: "none" } }, /* @__PURE__ */ React.createElement("div", { ref: printRef }, contentToPrint)), /* @__PURE__ */ React.createElement(
1455
+ Button10,
1456
+ __spreadValues({
1457
+ color: "orange",
1458
+ onClick: handleClick,
1459
+ leftSection: /* @__PURE__ */ React.createElement(IconPrinter2, null)
1460
+ }, rest),
1461
+ "In"
1462
+ ));
1637
1463
  }
1638
1464
 
1639
1465
  // src/components/Buttons/ButtonRouterBack/MyButtonRouterBack.tsx
1640
1466
  import { Button as Button11 } from "@mantine/core";
1641
1467
  import { IconArrowBack } from "@tabler/icons-react";
1642
1468
  import { useRouter as useRouter2 } from "next/navigation";
1643
- import { jsx as jsx30 } from "react/jsx-runtime";
1644
1469
  function MyButtonRouterBack(_a) {
1645
1470
  var _b = _a, { url, label } = _b, rest = __objRest(_b, ["url", "label"]);
1646
1471
  const router = useRouter2();
1647
- return /* @__PURE__ */ jsx30(
1472
+ return /* @__PURE__ */ React.createElement(
1648
1473
  Button11,
1649
- __spreadProps(__spreadValues({
1474
+ __spreadValues({
1650
1475
  variant: "light",
1651
- leftSection: /* @__PURE__ */ jsx30(IconArrowBack, { stroke: 2 }),
1476
+ leftSection: /* @__PURE__ */ React.createElement(IconArrowBack, { stroke: 2 }),
1652
1477
  onClick: () => {
1653
1478
  if (url) {
1654
1479
  router.replace(url);
@@ -1656,9 +1481,8 @@ function MyButtonRouterBack(_a) {
1656
1481
  }
1657
1482
  router.back();
1658
1483
  }
1659
- }, rest), {
1660
- children: label ? label : "Tr\u1EDF v\u1EC1"
1661
- })
1484
+ }, rest),
1485
+ label ? label : "Tr\u1EDF v\u1EC1"
1662
1486
  );
1663
1487
  }
1664
1488
 
@@ -1692,7 +1516,6 @@ import { useDisclosure as useDisclosure9 } from "@mantine/hooks";
1692
1516
  import { IconLivePhoto as IconLivePhoto2, IconMaximize as IconMaximize3, IconMinimize as IconMinimize3 } from "@tabler/icons-react";
1693
1517
  import { useQuery } from "@tanstack/react-query";
1694
1518
  import { useState as useState6 } from "react";
1695
- import { Fragment as Fragment10, jsx as jsx31, jsxs as jsxs19 } from "react/jsx-runtime";
1696
1519
  function MyButtonViewPDF({ id, modalSize = "80%", label = "Xem file", src = "https://datafiles.chinhphu.vn/cpp/files/vbpq/2016/07/85.signed.pdf" }) {
1697
1520
  var _a, _b;
1698
1521
  const disc = useDisclosure9(false);
@@ -1705,60 +1528,51 @@ function MyButtonViewPDF({ id, modalSize = "80%", label = "Xem file", src = "htt
1705
1528
  },
1706
1529
  enabled: id != void 0 && disc[0] == true
1707
1530
  });
1708
- return /* @__PURE__ */ jsxs19(Fragment10, { children: [
1709
- /* @__PURE__ */ jsx31(Tooltip4, { label: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp", children: /* @__PURE__ */ jsx31(Button12, { color: "cyan", onClick: () => {
1710
- disc[1].open();
1711
- }, leftSection: /* @__PURE__ */ jsx31(IconLivePhoto2, {}), children: label }) }),
1712
- /* @__PURE__ */ jsx31(
1713
- Modal10,
1531
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Tooltip4, { label: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }, /* @__PURE__ */ React.createElement(Button12, { color: "cyan", onClick: () => {
1532
+ disc[1].open();
1533
+ }, leftSection: /* @__PURE__ */ React.createElement(IconLivePhoto2, null) }, label)), /* @__PURE__ */ React.createElement(
1534
+ Modal10,
1535
+ {
1536
+ fullScreen: fullScreen[0],
1537
+ opened: disc[0],
1538
+ onClose: disc[1].close,
1539
+ size: modalSize,
1540
+ title: /* @__PURE__ */ React.createElement(Group7, null, /* @__PURE__ */ React.createElement(Text5, null, "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp"), fullScreen[0] ? /* @__PURE__ */ React.createElement(
1541
+ ActionIcon9,
1542
+ {
1543
+ onClick: () => {
1544
+ fullScreen[1](false);
1545
+ hSize[1]("80vh");
1546
+ }
1547
+ },
1548
+ /* @__PURE__ */ React.createElement(IconMinimize3, null)
1549
+ ) : /* @__PURE__ */ React.createElement(
1550
+ ActionIcon9,
1551
+ {
1552
+ onClick: () => {
1553
+ fullScreen[1](true);
1554
+ hSize[1]("90vh");
1555
+ }
1556
+ },
1557
+ /* @__PURE__ */ React.createElement(IconMaximize3, null)
1558
+ ))
1559
+ },
1560
+ /* @__PURE__ */ React.createElement(Paper3, { h: hSize[0], p: "lg", pos: "relative" }, /* @__PURE__ */ React.createElement(LoadingOverlay, { visible: query.isLoading, zIndex: 1e3, overlayProps: { radius: "sm", blur: 2 } }), query.data ? /* @__PURE__ */ React.createElement(
1561
+ "iframe",
1714
1562
  {
1715
- fullScreen: fullScreen[0],
1716
- opened: disc[0],
1717
- onClose: disc[1].close,
1718
- size: modalSize,
1719
- title: /* @__PURE__ */ jsxs19(Group7, { children: [
1720
- /* @__PURE__ */ jsx31(Text5, { children: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }),
1721
- fullScreen[0] ? /* @__PURE__ */ jsx31(
1722
- ActionIcon9,
1723
- {
1724
- onClick: () => {
1725
- fullScreen[1](false);
1726
- hSize[1]("80vh");
1727
- },
1728
- children: /* @__PURE__ */ jsx31(IconMinimize3, {})
1729
- }
1730
- ) : /* @__PURE__ */ jsx31(
1731
- ActionIcon9,
1732
- {
1733
- onClick: () => {
1734
- fullScreen[1](true);
1735
- hSize[1]("90vh");
1736
- },
1737
- children: /* @__PURE__ */ jsx31(IconMaximize3, {})
1738
- }
1739
- )
1740
- ] }),
1741
- children: /* @__PURE__ */ jsxs19(Paper3, { h: hSize[0], p: "lg", pos: "relative", children: [
1742
- /* @__PURE__ */ jsx31(LoadingOverlay, { visible: query.isLoading, zIndex: 1e3, overlayProps: { radius: "sm", blur: 2 } }),
1743
- query.data ? /* @__PURE__ */ jsx31(
1744
- "iframe",
1745
- {
1746
- src: `data:application/pdf;base64, ${(_b = (_a = query.data) == null ? void 0 : _a.fileDetail) == null ? void 0 : _b.fileBase64String}`,
1747
- width: "100%",
1748
- height: "100%"
1749
- }
1750
- ) : /* @__PURE__ */ jsx31(
1751
- "iframe",
1752
- {
1753
- src,
1754
- width: "100%",
1755
- height: "100%"
1756
- }
1757
- )
1758
- ] })
1563
+ src: `data:application/pdf;base64, ${(_b = (_a = query.data) == null ? void 0 : _a.fileDetail) == null ? void 0 : _b.fileBase64String}`,
1564
+ width: "100%",
1565
+ height: "100%"
1759
1566
  }
1760
- )
1761
- ] });
1567
+ ) : /* @__PURE__ */ React.createElement(
1568
+ "iframe",
1569
+ {
1570
+ src,
1571
+ width: "100%",
1572
+ height: "100%"
1573
+ }
1574
+ ))
1575
+ ));
1762
1576
  }
1763
1577
 
1764
1578
  // node_modules/preact/dist/preact.mjs
@@ -5700,7 +5514,6 @@ import { ScheduleXCalendar, useNextCalendarApp } from "@schedule-x/react";
5700
5514
  import { Paper as Paper4, Text as Text6 } from "@mantine/core";
5701
5515
  import "@schedule-x/theme-default/dist/index.css";
5702
5516
  import { useEffect as useEffect4 } from "react";
5703
- import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
5704
5517
  function MyCalendar() {
5705
5518
  const plugins = [createEventsServicePlugin(), createEventModalPlugin()];
5706
5519
  const calendar = useNextCalendarApp({
@@ -5774,17 +5587,10 @@ function MyCalendar() {
5774
5587
  useEffect4(() => {
5775
5588
  calendar == null ? void 0 : calendar.events.getAll();
5776
5589
  }, []);
5777
- return /* @__PURE__ */ jsx32("div", { children: /* @__PURE__ */ jsx32(ScheduleXCalendar, { calendarApp: calendar, customComponents: {
5590
+ return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(ScheduleXCalendar, { calendarApp: calendar, customComponents: {
5778
5591
  timeGridEvent: ({ calendarEvent }) => {
5779
5592
  console.log(calendarEvent);
5780
- return /* @__PURE__ */ jsx32(Paper4, { h: "100%", bg: calendarEvent.laLichThi ? "violet.2" : "blue.2", p: 4, children: /* @__PURE__ */ jsxs20(MyFlexColumn, { gap: 1, children: [
5781
- /* @__PURE__ */ jsxs20(Text6, { size: "sm", fw: "bold", children: [
5782
- calendarEvent.laLichThi ? "(Thi) " : "(H\u1ECDc) ",
5783
- calendarEvent.title
5784
- ] }),
5785
- calendarEvent.laLichThi == false && /* @__PURE__ */ jsx32(Text6, { size: "sm", children: calendarEvent.giangvien }),
5786
- /* @__PURE__ */ jsx32(Text6, { size: "sm", children: calendarEvent.location })
5787
- ] }) });
5593
+ return /* @__PURE__ */ React.createElement(Paper4, { h: "100%", bg: calendarEvent.laLichThi ? "violet.2" : "blue.2", p: 4 }, /* @__PURE__ */ React.createElement(MyFlexColumn, { gap: 1 }, /* @__PURE__ */ React.createElement(Text6, { size: "sm", fw: "bold" }, calendarEvent.laLichThi ? "(Thi) " : "(H\u1ECDc) ", calendarEvent.title), calendarEvent.laLichThi == false && /* @__PURE__ */ React.createElement(Text6, { size: "sm" }, calendarEvent.giangvien), /* @__PURE__ */ React.createElement(Text6, { size: "sm" }, calendarEvent.location)));
5788
5594
  }
5789
5595
  // eventModal: ({ calendarEvent }) => {
5790
5596
  // return (
@@ -5793,36 +5599,32 @@ function MyCalendar() {
5793
5599
  // </Paper>
5794
5600
  // )
5795
5601
  // }
5796
- } }) });
5602
+ } }));
5797
5603
  }
5798
5604
 
5799
5605
  // src/components/CenterFull/MyCenterFull.tsx
5800
5606
  import { Center as Center2, Group as Group8 } from "@mantine/core";
5801
- import { jsx as jsx33 } from "react/jsx-runtime";
5802
5607
  function MyCenterFull({ children }) {
5803
- return /* @__PURE__ */ jsx33(Center2, { w: "100%", children: /* @__PURE__ */ jsx33(Group8, { children }) });
5608
+ return /* @__PURE__ */ React.createElement(Center2, { w: "100%" }, /* @__PURE__ */ React.createElement(Group8, null, children));
5804
5609
  }
5805
5610
 
5806
5611
  // src/components/Checkbox/MyCheckbox.tsx
5807
5612
  import { Checkbox as Checkbox2 } from "@mantine/core";
5808
- import { jsx as jsx34 } from "react/jsx-runtime";
5809
5613
  function MyCheckbox(_a) {
5810
5614
  var rest = __objRest(_a, []);
5811
- return /* @__PURE__ */ jsx34(Checkbox2, __spreadValues({}, rest));
5615
+ return /* @__PURE__ */ React.createElement(Checkbox2, __spreadValues({}, rest));
5812
5616
  }
5813
5617
 
5814
5618
  // src/components/Layouts/FlexRow/MyFlexRow.tsx
5815
5619
  import { Flex as Flex2 } from "@mantine/core";
5816
- import { jsx as jsx35 } from "react/jsx-runtime";
5817
5620
  function MyFlexRow(_a) {
5818
5621
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
5819
- return /* @__PURE__ */ jsx35(Flex2, __spreadProps(__spreadValues({ gap: "md", align: "center" }, rest), { children }));
5622
+ return /* @__PURE__ */ React.createElement(Flex2, __spreadValues({ gap: "md", align: "center" }, rest), children);
5820
5623
  }
5821
5624
 
5822
5625
  // src/components/DataDisplay/Card/AQCard.tsx
5823
5626
  import { Badge, Card, Center as Center3, Image, Text as Text7 } from "@mantine/core";
5824
5627
  import Link from "next/link";
5825
- import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
5826
5628
  function AQCard({
5827
5629
  imgSrc = "https://raw.githubusercontent.com/mantinedev/mantine/master/.demo/images/bg-8.png",
5828
5630
  title,
@@ -5832,142 +5634,99 @@ function AQCard({
5832
5634
  status,
5833
5635
  href = ""
5834
5636
  }) {
5835
- return /* @__PURE__ */ jsxs21(Card, { shadow: "sm", padding: "lg", radius: "md", withBorder: true, component: Link, href, children: [
5836
- /* @__PURE__ */ jsx36(Card.Section, { children: /* @__PURE__ */ jsx36(Center3, { children: /* @__PURE__ */ jsx36(
5837
- Image,
5838
- {
5839
- src: imgSrc,
5840
- h: 200,
5841
- w: "auto",
5842
- fallbackSrc: "https://placehold.co/600x400?text=Placeholder",
5843
- alt: "Norway"
5844
- }
5845
- ) }) }),
5846
- /* @__PURE__ */ jsxs21(MyFlexRow, { justify: "space-between", mt: "md", mb: "xs", children: [
5847
- /* @__PURE__ */ jsx36(Text7, { fw: 500, children: title }),
5848
- status && /* @__PURE__ */ jsx36(Badge, { color: "violet.5", w: "150px", children: status })
5849
- ] }),
5850
- /* @__PURE__ */ jsx36(Text7, { size: "sm", c: "dimmed", lineClamp: 2, children: description }),
5851
- children
5852
- ] });
5637
+ return /* @__PURE__ */ React.createElement(Card, { shadow: "sm", padding: "lg", radius: "md", withBorder: true, component: Link, href }, /* @__PURE__ */ React.createElement(Card.Section, null, /* @__PURE__ */ React.createElement(Center3, null, /* @__PURE__ */ React.createElement(
5638
+ Image,
5639
+ {
5640
+ src: imgSrc,
5641
+ h: 200,
5642
+ w: "auto",
5643
+ fallbackSrc: "https://placehold.co/600x400?text=Placeholder",
5644
+ alt: "Norway"
5645
+ }
5646
+ ))), /* @__PURE__ */ React.createElement(MyFlexRow, { justify: "space-between", mt: "md", mb: "xs" }, /* @__PURE__ */ React.createElement(Text7, { fw: 500 }, title), status && /* @__PURE__ */ React.createElement(Badge, { color: "violet.5", w: "150px" }, status)), /* @__PURE__ */ React.createElement(Text7, { size: "sm", c: "dimmed", lineClamp: 2 }, description), children);
5853
5647
  }
5854
5648
 
5855
5649
  // src/components/DataDisplay/KeyLabel/MyKeyLabel.tsx
5856
5650
  import { Group as Group9, Text as Text8 } from "@mantine/core";
5857
- import { jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
5858
5651
  function MyKeyLabel({ keyLabel, label }) {
5859
- return /* @__PURE__ */ jsxs22(Group9, { gap: 5, children: [
5860
- /* @__PURE__ */ jsxs22(Text8, { fw: "bold", children: [
5861
- keyLabel,
5862
- ":"
5863
- ] }),
5864
- /* @__PURE__ */ jsx37(Text8, { children: label })
5865
- ] });
5652
+ return /* @__PURE__ */ React.createElement(Group9, { gap: 5 }, /* @__PURE__ */ React.createElement(Text8, { fw: "bold" }, keyLabel, ":"), /* @__PURE__ */ React.createElement(Text8, null, label));
5866
5653
  }
5867
5654
 
5868
5655
  // src/components/DataDisplay/NumberFormatter/MyNumberFormatter.tsx
5869
5656
  import { NumberFormatter } from "@mantine/core";
5870
- import { jsx as jsx38 } from "react/jsx-runtime";
5871
5657
  function MyNumberFormatter(_a) {
5872
5658
  var rest = __objRest(_a, []);
5873
- return /* @__PURE__ */ jsx38(NumberFormatter, __spreadValues({ thousandSeparator: true, suffix: " VN\u0110" }, rest));
5659
+ return /* @__PURE__ */ React.createElement(NumberFormatter, __spreadValues({ thousandSeparator: true, suffix: " VN\u0110" }, rest));
5874
5660
  }
5875
5661
 
5876
5662
  // src/components/DataDisplay/StatCard/AQStatCard1.tsx
5877
5663
  import { Box, Button as Button13, Flex as Flex3, Group as Group10, Paper as Paper5, Text as Text9 } from "@mantine/core";
5878
5664
  import { IconArrowDownRight, IconArrowUpRight } from "@tabler/icons-react";
5879
- import { Fragment as Fragment11, jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
5880
5665
  function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
5881
- return /* @__PURE__ */ jsx39(Fragment11, { children: /* @__PURE__ */ jsxs23(
5666
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
5882
5667
  Paper5,
5883
5668
  {
5884
5669
  withBorder: true,
5885
5670
  p: "md",
5886
5671
  radius: "md",
5887
- children: [
5888
- /* @__PURE__ */ jsxs23(Group10, { justify: "space-between", children: [
5889
- /* @__PURE__ */ jsxs23(Flex3, { direction: "column", children: [
5890
- /* @__PURE__ */ jsx39(
5891
- Text9,
5892
- {
5893
- tt: "uppercase",
5894
- size: "lg",
5895
- c: "dimmed",
5896
- children: title
5897
- }
5898
- ),
5899
- unit == "" ? /* @__PURE__ */ jsxs23(Text9, { size: "xs", style: { visibility: "hidden" }, children: [
5900
- "\u0110\u01A1n v\u1ECB: ",
5901
- /* @__PURE__ */ jsx39("strong", { children: unit })
5902
- ] }) : /* @__PURE__ */ jsxs23(Text9, { size: "xs", children: [
5903
- "\u0110\u01A1n v\u1ECB: ",
5904
- /* @__PURE__ */ jsx39("strong", { children: unit })
5905
- ] })
5906
- ] }),
5907
- /* @__PURE__ */ jsx39(Box, { children: icons })
5908
- ] }),
5909
- /* @__PURE__ */ jsxs23(
5910
- Group10,
5911
- {
5912
- mt: "5",
5913
- align: "flex-end",
5914
- gap: "xs",
5915
- children: [
5916
- /* @__PURE__ */ jsx39(
5917
- Text9,
5918
- {
5919
- fw: 700,
5920
- fz: "h1",
5921
- children: value
5922
- }
5923
- ),
5924
- /* @__PURE__ */ jsxs23(
5925
- Text9,
5926
- {
5927
- mb: "2",
5928
- c: diff > 0 ? "teal" : "red",
5929
- fz: "h2",
5930
- fw: 500,
5931
- children: [
5932
- /* @__PURE__ */ jsxs23("span", { children: [
5933
- diff,
5934
- "%"
5935
- ] }),
5936
- diff > 0 ? /* @__PURE__ */ jsx39(IconArrowUpRight, {}) : /* @__PURE__ */ jsx39(IconArrowDownRight, {})
5937
- ]
5938
- }
5939
- )
5940
- ]
5941
- }
5942
- ),
5943
- /* @__PURE__ */ jsxs23(Group10, { justify: "space-between", children: [
5944
- /* @__PURE__ */ jsx39(Text9, { tt: "uppercase", fz: "xs", c: "dimmed", children: description }),
5945
- /* @__PURE__ */ jsx39(
5946
- Button13,
5947
- {
5948
- variant: "light",
5949
- size: "xs",
5950
- children: "Xem chi ti\u1EBFt"
5951
- }
5952
- )
5953
- ] })
5954
- ]
5672
+ key: title
5955
5673
  },
5956
- title
5957
- ) });
5674
+ /* @__PURE__ */ React.createElement(Group10, { justify: "space-between" }, /* @__PURE__ */ React.createElement(Flex3, { direction: "column" }, /* @__PURE__ */ React.createElement(
5675
+ Text9,
5676
+ {
5677
+ tt: "uppercase",
5678
+ size: "lg",
5679
+ c: "dimmed"
5680
+ },
5681
+ title
5682
+ ), unit == "" ? /* @__PURE__ */ React.createElement(Text9, { size: "xs", style: { visibility: "hidden" } }, "\u0110\u01A1n v\u1ECB: ", /* @__PURE__ */ React.createElement("strong", null, unit)) : /* @__PURE__ */ React.createElement(Text9, { size: "xs" }, "\u0110\u01A1n v\u1ECB: ", /* @__PURE__ */ React.createElement("strong", null, unit))), /* @__PURE__ */ React.createElement(Box, null, icons)),
5683
+ /* @__PURE__ */ React.createElement(
5684
+ Group10,
5685
+ {
5686
+ mt: "5",
5687
+ align: "flex-end",
5688
+ gap: "xs"
5689
+ },
5690
+ /* @__PURE__ */ React.createElement(
5691
+ Text9,
5692
+ {
5693
+ fw: 700,
5694
+ fz: "h1"
5695
+ },
5696
+ value
5697
+ ),
5698
+ /* @__PURE__ */ React.createElement(
5699
+ Text9,
5700
+ {
5701
+ mb: "2",
5702
+ c: diff > 0 ? "teal" : "red",
5703
+ fz: "h2",
5704
+ fw: 500
5705
+ },
5706
+ /* @__PURE__ */ React.createElement("span", null, diff, "%"),
5707
+ diff > 0 ? /* @__PURE__ */ React.createElement(IconArrowUpRight, null) : /* @__PURE__ */ React.createElement(IconArrowDownRight, null)
5708
+ )
5709
+ ),
5710
+ /* @__PURE__ */ React.createElement(Group10, { justify: "space-between" }, /* @__PURE__ */ React.createElement(Text9, { tt: "uppercase", fz: "xs", c: "dimmed" }, description), /* @__PURE__ */ React.createElement(
5711
+ Button13,
5712
+ {
5713
+ variant: "light",
5714
+ size: "xs"
5715
+ },
5716
+ "Xem chi ti\u1EBFt"
5717
+ ))
5718
+ ));
5958
5719
  }
5959
5720
 
5960
5721
  // src/components/Inputs/DateInput/MyDateInput.tsx
5961
5722
  import { DateInput } from "@mantine/dates";
5962
- import { jsx as jsx40 } from "react/jsx-runtime";
5963
5723
  function MyDateInput(_a) {
5964
5724
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
5965
- return /* @__PURE__ */ jsx40(DateInput, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
5725
+ return /* @__PURE__ */ React.createElement(DateInput, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
5966
5726
  }
5967
5727
 
5968
5728
  // src/components/Inputs/Fieldset/MyFieldset.tsx
5969
5729
  import { Box as Box2, Fieldset as Fieldset4, Text as Text10 } from "@mantine/core";
5970
- import { jsx as jsx41 } from "react/jsx-runtime";
5971
5730
  function MyFieldset(_a) {
5972
5731
  var _b = _a, {
5973
5732
  children,
@@ -5976,46 +5735,43 @@ function MyFieldset(_a) {
5976
5735
  "children",
5977
5736
  "title"
5978
5737
  ]);
5979
- return /* @__PURE__ */ jsx41(
5738
+ return /* @__PURE__ */ React.createElement(
5980
5739
  Fieldset4,
5981
5740
  __spreadProps(__spreadValues({}, rest), {
5982
- legend: /* @__PURE__ */ jsx41(
5741
+ legend: /* @__PURE__ */ React.createElement(
5983
5742
  Box2,
5984
5743
  {
5985
5744
  bg: "blue.4",
5986
5745
  px: "xs",
5987
5746
  py: 2,
5988
- style: { borderRadius: 4 },
5989
- children: /* @__PURE__ */ jsx41(Text10, { c: "white", fw: 500, children: title })
5990
- }
5991
- ),
5992
- children
5993
- })
5747
+ style: { borderRadius: 4 }
5748
+ },
5749
+ /* @__PURE__ */ React.createElement(Text10, { c: "white", fw: 500 }, title)
5750
+ )
5751
+ }),
5752
+ children
5994
5753
  );
5995
5754
  }
5996
5755
 
5997
5756
  // src/components/Inputs/FileInput/MyFileInput.tsx
5998
5757
  import { FileInput as FileInput3 } from "@mantine/core";
5999
- import { jsx as jsx42 } from "react/jsx-runtime";
6000
5758
  function MyFileInput(_a) {
6001
5759
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
6002
- return /* @__PURE__ */ jsx42(FileInput3, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
5760
+ return /* @__PURE__ */ React.createElement(FileInput3, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
6003
5761
  }
6004
5762
 
6005
5763
  // src/components/Inputs/NumberInput/MyNumberInput.tsx
6006
5764
  import { NumberInput as NumberInput2 } from "@mantine/core";
6007
- import { jsx as jsx43 } from "react/jsx-runtime";
6008
5765
  function MyNumberInput(_a) {
6009
5766
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
6010
- return /* @__PURE__ */ jsx43(NumberInput2, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
5767
+ return /* @__PURE__ */ React.createElement(NumberInput2, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
6011
5768
  }
6012
5769
 
6013
5770
  // src/components/Inputs/TextArea/MyTextArea.tsx
6014
5771
  import { Textarea } from "@mantine/core";
6015
- import { jsx as jsx44 } from "react/jsx-runtime";
6016
5772
  function MyTextArea(_a) {
6017
5773
  var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
6018
- return /* @__PURE__ */ jsx44(Textarea, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
5774
+ return /* @__PURE__ */ React.createElement(Textarea, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
6019
5775
  }
6020
5776
 
6021
5777
  // src/components/Inputs/TextEditor/MyTextEditor.tsx
@@ -6031,9 +5787,24 @@ import Underline from "@tiptap/extension-underline";
6031
5787
  import { useEditor } from "@tiptap/react";
6032
5788
  import StarterKit from "@tiptap/starter-kit";
6033
5789
  import { useEffect as useEffect5, useState as useState7 } from "react";
6034
- import { jsx as jsx45, jsxs as jsxs24 } from "react/jsx-runtime";
6035
5790
  function MyTextEditor(_a) {
6036
- var _b = _a, { autoHiddenToolBar = false, contentHeight = "400px", onChange, value, error, label } = _b, rest = __objRest(_b, ["autoHiddenToolBar", "contentHeight", "onChange", "value", "error", "label"]);
5791
+ var _b = _a, {
5792
+ autoHiddenToolBar = false,
5793
+ contentHeight = "400px",
5794
+ onChange,
5795
+ value,
5796
+ error,
5797
+ label,
5798
+ withAsterisk
5799
+ } = _b, rest = __objRest(_b, [
5800
+ "autoHiddenToolBar",
5801
+ "contentHeight",
5802
+ "onChange",
5803
+ "value",
5804
+ "error",
5805
+ "label",
5806
+ "withAsterisk"
5807
+ ]);
6037
5808
  const [hiddenToolBar, setHiddenToolBar] = useState7(autoHiddenToolBar);
6038
5809
  const editor = useEditor(__spreadValues({
6039
5810
  extensions: [
@@ -6117,61 +5888,24 @@ function MyTextEditor(_a) {
6117
5888
  editor.commands.setContent(value);
6118
5889
  }
6119
5890
  }, [value, editor]);
6120
- return /* @__PURE__ */ jsx45(Input.Wrapper, { label, flex: 1, error, children: /* @__PURE__ */ jsxs24(RichTextEditor, { editor, style: { border: error && "1px solid #e03131" }, children: [
6121
- /* @__PURE__ */ jsxs24(RichTextEditor.Toolbar, { hidden: hiddenToolBar, sticky: true, stickyOffset: 60, children: [
6122
- /* @__PURE__ */ jsxs24(RichTextEditor.ControlsGroup, { children: [
6123
- /* @__PURE__ */ jsx45(RichTextEditor.Bold, {}),
6124
- /* @__PURE__ */ jsx45(RichTextEditor.Italic, {}),
6125
- /* @__PURE__ */ jsx45(RichTextEditor.Underline, {}),
6126
- /* @__PURE__ */ jsx45(RichTextEditor.Strikethrough, {}),
6127
- /* @__PURE__ */ jsx45(RichTextEditor.ClearFormatting, {}),
6128
- /* @__PURE__ */ jsx45(RichTextEditor.Highlight, {}),
6129
- /* @__PURE__ */ jsx45(RichTextEditor.Code, {})
6130
- ] }),
6131
- /* @__PURE__ */ jsxs24(RichTextEditor.ControlsGroup, { children: [
6132
- /* @__PURE__ */ jsx45(RichTextEditor.H1, {}),
6133
- /* @__PURE__ */ jsx45(RichTextEditor.H2, {}),
6134
- /* @__PURE__ */ jsx45(RichTextEditor.H3, {}),
6135
- /* @__PURE__ */ jsx45(RichTextEditor.H4, {})
6136
- ] }),
6137
- /* @__PURE__ */ jsxs24(RichTextEditor.ControlsGroup, { children: [
6138
- /* @__PURE__ */ jsx45(RichTextEditor.Blockquote, {}),
6139
- /* @__PURE__ */ jsx45(RichTextEditor.Hr, {}),
6140
- /* @__PURE__ */ jsx45(RichTextEditor.BulletList, {}),
6141
- /* @__PURE__ */ jsx45(RichTextEditor.OrderedList, {}),
6142
- /* @__PURE__ */ jsx45(RichTextEditor.Subscript, {}),
6143
- /* @__PURE__ */ jsx45(RichTextEditor.Superscript, {})
6144
- ] }),
6145
- /* @__PURE__ */ jsxs24(RichTextEditor.ControlsGroup, { children: [
6146
- /* @__PURE__ */ jsx45(RichTextEditor.Link, {}),
6147
- /* @__PURE__ */ jsx45(RichTextEditor.Unlink, {})
6148
- ] }),
6149
- /* @__PURE__ */ jsxs24(RichTextEditor.ControlsGroup, { children: [
6150
- /* @__PURE__ */ jsx45(RichTextEditor.AlignLeft, {}),
6151
- /* @__PURE__ */ jsx45(RichTextEditor.AlignCenter, {}),
6152
- /* @__PURE__ */ jsx45(RichTextEditor.AlignJustify, {}),
6153
- /* @__PURE__ */ jsx45(RichTextEditor.AlignRight, {})
6154
- ] })
6155
- ] }),
6156
- /* @__PURE__ */ jsx45(
6157
- ScrollArea.Autosize,
6158
- {
6159
- onMouseDown: () => {
6160
- editor == null ? void 0 : editor.commands.focus();
6161
- },
6162
- onBlur: () => {
6163
- if (autoHiddenToolBar == false) return;
6164
- setHiddenToolBar(true);
6165
- },
6166
- onFocus: () => {
6167
- if (autoHiddenToolBar == false) return;
6168
- setHiddenToolBar(false);
6169
- },
6170
- style: { cursor: "text", maxHeight: "400px" },
6171
- children: /* @__PURE__ */ jsx45(RichTextEditor.Content, { mih: contentHeight })
6172
- }
6173
- )
6174
- ] }) });
5891
+ return /* @__PURE__ */ React.createElement(Input.Wrapper, { label, flex: 1, error, withAsterisk }, /* @__PURE__ */ React.createElement(RichTextEditor, { editor, style: { border: error && "1px solid #e03131" } }, /* @__PURE__ */ React.createElement(RichTextEditor.Toolbar, { hidden: hiddenToolBar, sticky: true, stickyOffset: 60 }, /* @__PURE__ */ React.createElement(RichTextEditor.ControlsGroup, null, /* @__PURE__ */ React.createElement(RichTextEditor.Bold, null), /* @__PURE__ */ React.createElement(RichTextEditor.Italic, null), /* @__PURE__ */ React.createElement(RichTextEditor.Underline, null), /* @__PURE__ */ React.createElement(RichTextEditor.Strikethrough, null), /* @__PURE__ */ React.createElement(RichTextEditor.ClearFormatting, null), /* @__PURE__ */ React.createElement(RichTextEditor.Highlight, null), /* @__PURE__ */ React.createElement(RichTextEditor.Code, null)), /* @__PURE__ */ React.createElement(RichTextEditor.ControlsGroup, null, /* @__PURE__ */ React.createElement(RichTextEditor.H1, null), /* @__PURE__ */ React.createElement(RichTextEditor.H2, null), /* @__PURE__ */ React.createElement(RichTextEditor.H3, null), /* @__PURE__ */ React.createElement(RichTextEditor.H4, null)), /* @__PURE__ */ React.createElement(RichTextEditor.ControlsGroup, null, /* @__PURE__ */ React.createElement(RichTextEditor.Blockquote, null), /* @__PURE__ */ React.createElement(RichTextEditor.Hr, null), /* @__PURE__ */ React.createElement(RichTextEditor.BulletList, null), /* @__PURE__ */ React.createElement(RichTextEditor.OrderedList, null), /* @__PURE__ */ React.createElement(RichTextEditor.Subscript, null), /* @__PURE__ */ React.createElement(RichTextEditor.Superscript, null)), /* @__PURE__ */ React.createElement(RichTextEditor.ControlsGroup, null, /* @__PURE__ */ React.createElement(RichTextEditor.Link, null), /* @__PURE__ */ React.createElement(RichTextEditor.Unlink, null)), /* @__PURE__ */ React.createElement(RichTextEditor.ControlsGroup, null, /* @__PURE__ */ React.createElement(RichTextEditor.AlignLeft, null), /* @__PURE__ */ React.createElement(RichTextEditor.AlignCenter, null), /* @__PURE__ */ React.createElement(RichTextEditor.AlignJustify, null), /* @__PURE__ */ React.createElement(RichTextEditor.AlignRight, null))), /* @__PURE__ */ React.createElement(
5892
+ ScrollArea.Autosize,
5893
+ {
5894
+ onMouseDown: () => {
5895
+ editor == null ? void 0 : editor.commands.focus();
5896
+ },
5897
+ onBlur: () => {
5898
+ if (autoHiddenToolBar == false) return;
5899
+ setHiddenToolBar(true);
5900
+ },
5901
+ onFocus: () => {
5902
+ if (autoHiddenToolBar == false) return;
5903
+ setHiddenToolBar(false);
5904
+ },
5905
+ style: { cursor: "text", maxHeight: "400px" }
5906
+ },
5907
+ /* @__PURE__ */ React.createElement(RichTextEditor.Content, { mih: contentHeight })
5908
+ )));
6175
5909
  }
6176
5910
 
6177
5911
  // src/stores/S0Auth.ts
@@ -6188,14 +5922,13 @@ function useS0Auth() {
6188
5922
  import { Button as Button14 } from "@mantine/core";
6189
5923
  import { IconLogout } from "@tabler/icons-react";
6190
5924
  import { useRouter as useRouter3 } from "next/navigation";
6191
- import { jsx as jsx46 } from "react/jsx-runtime";
6192
5925
  function F0Logout() {
6193
5926
  const router = useRouter3();
6194
5927
  const s0Auth = useS0Auth();
6195
- return /* @__PURE__ */ jsx46(Button14, { onClick: () => {
5928
+ return /* @__PURE__ */ React.createElement(Button14, { onClick: () => {
6196
5929
  s0Auth.setProperty("token", "");
6197
5930
  router.replace("/auth/login");
6198
- }, leftSection: /* @__PURE__ */ jsx46(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
5931
+ }, leftSection: /* @__PURE__ */ React.createElement(IconLogout, null), fullWidth: true, justify: "start", variant: "subtle" }, "\u0110\u0103ng xu\u1EA5t");
6199
5932
  }
6200
5933
 
6201
5934
  // src/components/Layouts/BasicAppShell/BasicAppShell.tsx
@@ -6218,22 +5951,22 @@ import { spotlight as spotlight2 } from "@mantine/spotlight";
6218
5951
  import { IconLayoutSidebarLeftCollapse, IconLayoutSidebarLeftExpand, IconLibraryMinus, IconSearch as IconSearch2 } from "@tabler/icons-react";
6219
5952
  import Link3 from "next/link";
6220
5953
  import { usePathname as usePathname2 } from "next/navigation";
6221
- import { Fragment as Fragment12, jsx as jsx47, jsxs as jsxs25 } from "react/jsx-runtime";
6222
5954
  function getRightSection(status) {
6223
- if (status === "Prototype") return /* @__PURE__ */ jsx47(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "pink", circle: true, children: "P" });
6224
- if (status === "New") return /* @__PURE__ */ jsx47(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", circle: true, children: "N" });
6225
- if (status === "Menu") return /* @__PURE__ */ jsx47(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "gray", circle: true, children: "M" });
6226
- if (status === "Change") return /* @__PURE__ */ jsx47(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "green", circle: true, children: "C" });
5955
+ if (status === "Prototype") return /* @__PURE__ */ React.createElement(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "pink", circle: true }, "P");
5956
+ if (status === "New") return /* @__PURE__ */ React.createElement(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", circle: true }, "N");
5957
+ if (status === "Menu") return /* @__PURE__ */ React.createElement(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "gray", circle: true }, "M");
5958
+ if (status === "Change") return /* @__PURE__ */ React.createElement(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "green", circle: true }, "C");
6227
5959
  return null;
6228
5960
  }
6229
5961
  function RenderNavLinks({ items }) {
6230
5962
  const SidebarStore = useS0Sidebar();
6231
5963
  const pathName = usePathname2();
6232
- return /* @__PURE__ */ jsx47(Fragment12, { children: items.map((item, index) => /* @__PURE__ */ jsx47(
5964
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, items.map((item, index) => /* @__PURE__ */ React.createElement(
6233
5965
  NavLink,
6234
5966
  {
6235
5967
  active: item.link === pathName.split("/")[2],
6236
5968
  component: Link3,
5969
+ key: index,
6237
5970
  rightSection: getRightSection(item.status),
6238
5971
  opened: SidebarStore.groupMenuOpenId.includes(item.label),
6239
5972
  href: `/${pathName.split("/")[1]}/${item.link}` || "#",
@@ -6245,11 +5978,10 @@ function RenderNavLinks({ items }) {
6245
5978
  SidebarStore.setMenuCode(item.link);
6246
5979
  SidebarStore.setTitle(item.label);
6247
5980
  }
6248
- },
6249
- children: item.links && /* @__PURE__ */ jsx47(RenderNavLinks, { items: item.links })
5981
+ }
6250
5982
  },
6251
- index
6252
- )) });
5983
+ item.links && /* @__PURE__ */ React.createElement(RenderNavLinks, { items: item.links })
5984
+ )));
6253
5985
  }
6254
5986
  function childrenMenuToListEnumUsingPageIdAndName(children) {
6255
5987
  return children.flatMap((item) => {
@@ -6303,7 +6035,7 @@ function BasicAppShell({ children, menu }) {
6303
6035
  const SidebarStore = useS0Sidebar();
6304
6036
  const media = useMediaQuery("(min-width: 72em)");
6305
6037
  const selectMedia = useMediaQuery("(min-width: 80em)");
6306
- return /* @__PURE__ */ jsxs25(
6038
+ return /* @__PURE__ */ React.createElement(
6307
6039
  AppShell,
6308
6040
  {
6309
6041
  header: { height: 60 },
@@ -6312,71 +6044,37 @@ function BasicAppShell({ children, menu }) {
6312
6044
  breakpoint: "sm",
6313
6045
  collapsed: { mobile: SidebarStore.opened, desktop: !SidebarStore.opened }
6314
6046
  },
6315
- padding: "md",
6316
- children: [
6317
- /* @__PURE__ */ jsxs25(AppShell.Header, { children: [
6318
- /* @__PURE__ */ jsx47(MyAppSpotlight, { menu }),
6319
- media ? /* @__PURE__ */ jsxs25(Group11, { h: "100%", px: "md", justify: "space-between", align: "center", children: [
6320
- /* @__PURE__ */ jsxs25(Group11, { h: "100%", children: [
6321
- /* @__PURE__ */ jsx47(Tooltip5, { label: SidebarStore.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu", children: /* @__PURE__ */ jsx47(ActionIcon10, { size: "lg", radius: "md", variant: "default", onClick: SidebarStore.toggle, children: SidebarStore.opened ? /* @__PURE__ */ jsx47(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx47(IconLayoutSidebarLeftCollapse, {}) }) }),
6322
- /* @__PURE__ */ jsx47(Tooltip5, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx47(ActionIcon10, { size: "lg", radius: "md", variant: "default", onClick: () => SidebarStore.clearGroupMenuOpenId(), children: /* @__PURE__ */ jsx47(IconLibraryMinus, {}) }) })
6323
- ] }),
6324
- /* @__PURE__ */ jsx47(Group11, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx47(Text11, { c: "green", fw: "bold", children: "AQ EduCourseEvaluation - Ph\u1EA7n m\u1EC1m \u0111\xE1nh gi\xE1 chu\u1EA9n \u0111\u1EA7u ra" }) }),
6325
- /* @__PURE__ */ jsxs25(Group11, { children: [
6326
- /* @__PURE__ */ jsx47(Text11, { children: "H\u1ECDc k\u1EF3 l\xE0m vi\u1EC7c" }),
6327
- /* @__PURE__ */ jsx47(
6328
- Select3,
6329
- {
6330
- w: selectMedia ? 245 : 150,
6331
- placeholder: "Ch\u1ECDn c\xF4ng th\u1EE9c s\u1EAFp x\u1EBFp",
6332
- defaultValue: 1 == null ? void 0 : 1 .toString(),
6333
- data: [
6334
- { value: "1", label: "N\u0103m h\u1ECDc 2024 - 2025 H\u1ECDc k\u1EF3 1" },
6335
- { value: "2", label: "N\u0103m h\u1ECDc 2024 - 2025 H\u1ECDc k\u1EF3 1" }
6336
- ]
6337
- }
6338
- ),
6339
- /* @__PURE__ */ jsx47(MySwitchTheme, {})
6340
- ] })
6341
- ] }) : (
6342
- // For mobile screens - simplified layout
6343
- /* @__PURE__ */ jsxs25(Group11, { h: "100%", px: "md", justify: "space-between", children: [
6344
- /* @__PURE__ */ jsx47(ActionIcon10, { size: "lg", radius: "md", variant: "default", onClick: SidebarStore.toggle, children: SidebarStore.opened ? /* @__PURE__ */ jsx47(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx47(IconLayoutSidebarLeftCollapse, {}) }),
6345
- /* @__PURE__ */ jsx47(Text11, { c: "green", fw: "bold", size: "sm", children: "AQ EduCourseEvaluation" }),
6346
- /* @__PURE__ */ jsxs25(Group11, { children: [
6347
- /* @__PURE__ */ jsx47(
6348
- Select3,
6349
- {
6350
- w: 100,
6351
- size: "xs",
6352
- placeholder: "H\u1ECDc k\u1EF3",
6353
- defaultValue: 1 == null ? void 0 : 1 .toString(),
6354
- data: [
6355
- { value: "1", label: "20241" },
6356
- { value: "2", label: "20242" }
6357
- ]
6358
- }
6359
- ),
6360
- /* @__PURE__ */ jsx47(MySwitchTheme, {})
6361
- ] })
6362
- ] })
6363
- )
6364
- ] }),
6365
- /* @__PURE__ */ jsxs25(AppShell.Navbar, { children: [
6366
- /* @__PURE__ */ jsx47(TextInput2, { mt: "md", placeholder: "T\xECm menu (Ctrl + K)", mx: 10, component: "button", onClick: spotlight2.open, leftSection: /* @__PURE__ */ jsx47(IconSearch2, {}), children: "T\xECm ki\u1EBFm (Ctrl + K)" }),
6367
- /* @__PURE__ */ jsxs25(AppShell.Section, { grow: true, component: ScrollArea2, p: 5, children: [
6368
- /* @__PURE__ */ jsx47(RenderNavLinks, { items: menu }),
6369
- /* @__PURE__ */ jsx47(Divider2, {}),
6370
- /* @__PURE__ */ jsx47(F0Logout, {})
6371
- ] }),
6372
- /* @__PURE__ */ jsxs25(AppShell.Section, { p: "md", children: [
6373
- /* @__PURE__ */ jsx47(Divider2, {}),
6374
- /* @__PURE__ */ jsx47(Image3, { src: "/imgs/0/IMG0LogoAQTech.png", h: 50, alt: "", w: "auto" })
6375
- ] })
6376
- ] }),
6377
- /* @__PURE__ */ jsx47(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children })
6378
- ]
6379
- }
6047
+ padding: "md"
6048
+ },
6049
+ /* @__PURE__ */ React.createElement(AppShell.Header, null, /* @__PURE__ */ React.createElement(MyAppSpotlight, { menu }), media ? /* @__PURE__ */ React.createElement(Group11, { h: "100%", px: "md", justify: "space-between", align: "center" }, /* @__PURE__ */ React.createElement(Group11, { h: "100%" }, /* @__PURE__ */ React.createElement(Tooltip5, { label: SidebarStore.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu" }, /* @__PURE__ */ React.createElement(ActionIcon10, { size: "lg", radius: "md", variant: "default", onClick: SidebarStore.toggle }, SidebarStore.opened ? /* @__PURE__ */ React.createElement(IconLayoutSidebarLeftExpand, null) : /* @__PURE__ */ React.createElement(IconLayoutSidebarLeftCollapse, null))), /* @__PURE__ */ React.createElement(Tooltip5, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu" }, /* @__PURE__ */ React.createElement(ActionIcon10, { size: "lg", radius: "md", variant: "default", onClick: () => SidebarStore.clearGroupMenuOpenId() }, /* @__PURE__ */ React.createElement(IconLibraryMinus, null)))), /* @__PURE__ */ React.createElement(Group11, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" } }, /* @__PURE__ */ React.createElement(Text11, { c: "green", fw: "bold" }, "AQ EduCourseEvaluation - Ph\u1EA7n m\u1EC1m \u0111\xE1nh gi\xE1 chu\u1EA9n \u0111\u1EA7u ra")), /* @__PURE__ */ React.createElement(Group11, null, /* @__PURE__ */ React.createElement(Text11, null, "H\u1ECDc k\u1EF3 l\xE0m vi\u1EC7c"), /* @__PURE__ */ React.createElement(
6050
+ Select3,
6051
+ {
6052
+ w: selectMedia ? 245 : 150,
6053
+ placeholder: "Ch\u1ECDn c\xF4ng th\u1EE9c s\u1EAFp x\u1EBFp",
6054
+ defaultValue: 1 == null ? void 0 : 1 .toString(),
6055
+ data: [
6056
+ { value: "1", label: "N\u0103m h\u1ECDc 2024 - 2025 H\u1ECDc k\u1EF3 1" },
6057
+ { value: "2", label: "N\u0103m h\u1ECDc 2024 - 2025 H\u1ECDc k\u1EF3 1" }
6058
+ ]
6059
+ }
6060
+ ), /* @__PURE__ */ React.createElement(MySwitchTheme, null))) : (
6061
+ // For mobile screens - simplified layout
6062
+ /* @__PURE__ */ React.createElement(Group11, { h: "100%", px: "md", justify: "space-between" }, /* @__PURE__ */ React.createElement(ActionIcon10, { size: "lg", radius: "md", variant: "default", onClick: SidebarStore.toggle }, SidebarStore.opened ? /* @__PURE__ */ React.createElement(IconLayoutSidebarLeftExpand, null) : /* @__PURE__ */ React.createElement(IconLayoutSidebarLeftCollapse, null)), /* @__PURE__ */ React.createElement(Text11, { c: "green", fw: "bold", size: "sm" }, "AQ EduCourseEvaluation"), /* @__PURE__ */ React.createElement(Group11, null, /* @__PURE__ */ React.createElement(
6063
+ Select3,
6064
+ {
6065
+ w: 100,
6066
+ size: "xs",
6067
+ placeholder: "H\u1ECDc k\u1EF3",
6068
+ defaultValue: 1 == null ? void 0 : 1 .toString(),
6069
+ data: [
6070
+ { value: "1", label: "20241" },
6071
+ { value: "2", label: "20242" }
6072
+ ]
6073
+ }
6074
+ ), /* @__PURE__ */ React.createElement(MySwitchTheme, null)))
6075
+ )),
6076
+ /* @__PURE__ */ React.createElement(AppShell.Navbar, null, /* @__PURE__ */ React.createElement(TextInput2, { mt: "md", placeholder: "T\xECm menu (Ctrl + K)", mx: 10, component: "button", onClick: spotlight2.open, leftSection: /* @__PURE__ */ React.createElement(IconSearch2, null) }, "T\xECm ki\u1EBFm (Ctrl + K)"), /* @__PURE__ */ React.createElement(AppShell.Section, { grow: true, component: ScrollArea2, p: 5 }, /* @__PURE__ */ React.createElement(RenderNavLinks, { items: menu }), /* @__PURE__ */ React.createElement(Divider2, null), /* @__PURE__ */ React.createElement(F0Logout, null)), /* @__PURE__ */ React.createElement(AppShell.Section, { p: "md" }, /* @__PURE__ */ React.createElement(Divider2, null), /* @__PURE__ */ React.createElement(Image3, { src: "/imgs/0/IMG0LogoAQTech.png", h: 50, alt: "", w: "auto" }))),
6077
+ /* @__PURE__ */ React.createElement(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))" }, children)
6380
6078
  );
6381
6079
  }
6382
6080
  var groupToTwoLevels = (menu) => {
@@ -6423,10 +6121,9 @@ function utils_layout_getItemsWithoutLinks(menu) {
6423
6121
 
6424
6122
  // src/components/Layouts/Container/MyContainer.tsx
6425
6123
  import { Container, Flex as Flex4 } from "@mantine/core";
6426
- import { jsx as jsx48 } from "react/jsx-runtime";
6427
6124
  function MyContainer(_a) {
6428
6125
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
6429
- return /* @__PURE__ */ jsx48(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx48(Flex4, { direction: "column", children }) }));
6126
+ return /* @__PURE__ */ React.createElement(Container, __spreadValues({ fluid: true }, rest), /* @__PURE__ */ React.createElement(Flex4, { direction: "column" }, children));
6430
6127
  }
6431
6128
 
6432
6129
  // src/constants/object/color.ts
@@ -6479,7 +6176,6 @@ function useHeaderMegaMenuStore() {
6479
6176
  }
6480
6177
 
6481
6178
  // src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
6482
- import { jsx as jsx49, jsxs as jsxs26 } from "react/jsx-runtime";
6483
6179
  var mockdata = [
6484
6180
  {
6485
6181
  icon: IconCode,
@@ -6517,50 +6213,25 @@ function HeaderMegaMenu({ children, menus }) {
6517
6213
  const [linksOpened, { toggle: toggleLinks }] = useDisclosure10(false);
6518
6214
  const HeaderMegaMenuStore = useHeaderMegaMenuStore();
6519
6215
  const theme = useMantineTheme();
6520
- const links = mockdata.map((item) => /* @__PURE__ */ jsx49(UnstyledButton, { className: css_default2.subLink, children: /* @__PURE__ */ jsxs26(Group12, { wrap: "nowrap", align: "flex-start", children: [
6521
- /* @__PURE__ */ jsx49(ThemeIcon, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx49(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
6522
- /* @__PURE__ */ jsxs26("div", { children: [
6523
- /* @__PURE__ */ jsx49(Text12, { size: "sm", fw: 500, children: item.title }),
6524
- /* @__PURE__ */ jsx49(Text12, { size: "xs", c: "dimmed", children: item.description })
6525
- ] })
6526
- ] }) }, item.title));
6527
- return /* @__PURE__ */ jsxs26(Box3, { children: [
6528
- /* @__PURE__ */ jsx49("header", { className: css_default2.header, children: /* @__PURE__ */ jsxs26(Group12, { justify: "space-between", h: "100%", children: [
6529
- /* @__PURE__ */ jsxs26(Group12, { children: [
6530
- /* @__PURE__ */ jsx49(Image4, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
6531
- /* @__PURE__ */ jsx49(Group12, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx49(Button15, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
6532
- ] }),
6533
- /* @__PURE__ */ jsxs26(Group12, { children: [
6534
- /* @__PURE__ */ jsx49(TextInput3, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx49(IconSearch3, {}), radius: "xl", w: "250px" }),
6535
- /* @__PURE__ */ jsx49(MySwitchTheme, {})
6536
- ] }),
6537
- /* @__PURE__ */ jsx49(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
6538
- ] }) }),
6539
- /* @__PURE__ */ jsx49(Container2, { fluid: true, pt: "sm", pb: "md", bg: OBJECT_COlORS.mantineBackgroundSecondary, mih: "93vh", children }),
6540
- /* @__PURE__ */ jsx49(
6541
- Drawer,
6542
- {
6543
- opened: drawerOpened,
6544
- onClose: closeDrawer,
6545
- size: "100%",
6546
- padding: "md",
6547
- title: "Navigation",
6548
- hiddenFrom: "sm",
6549
- zIndex: 1e6,
6550
- children: /* @__PURE__ */ jsxs26(ScrollArea3, { h: "calc(100vh - 80px", mx: "-md", children: [
6551
- /* @__PURE__ */ jsx49(Divider3, { my: "sm" }),
6552
- /* @__PURE__ */ jsx49(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx49(Button15, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
6553
- /* @__PURE__ */ jsx49(Divider3, { my: "sm" })
6554
- ] })
6555
- }
6556
- )
6557
- ] });
6216
+ const links = mockdata.map((item) => /* @__PURE__ */ React.createElement(UnstyledButton, { className: css_default2.subLink, key: item.title }, /* @__PURE__ */ React.createElement(Group12, { wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React.createElement(ThemeIcon, { size: 34, variant: "default", radius: "md" }, /* @__PURE__ */ React.createElement(item.icon, { size: 22, color: theme.colors.blue[6] })), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Text12, { size: "sm", fw: 500 }, item.title), /* @__PURE__ */ React.createElement(Text12, { size: "xs", c: "dimmed" }, item.description)))));
6217
+ return /* @__PURE__ */ React.createElement(Box3, null, /* @__PURE__ */ React.createElement("header", { className: css_default2.header }, /* @__PURE__ */ React.createElement(Group12, { justify: "space-between", h: "100%" }, /* @__PURE__ */ React.createElement(Group12, null, /* @__PURE__ */ React.createElement(Image4, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }), /* @__PURE__ */ React.createElement(Group12, { h: "100%", gap: 5, visibleFrom: "sm" }, menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ React.createElement(Button15, { key: idx, component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }) }, item.label)))), /* @__PURE__ */ React.createElement(Group12, null, /* @__PURE__ */ React.createElement(TextInput3, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ React.createElement(IconSearch3, null), radius: "xl", w: "250px" }), /* @__PURE__ */ React.createElement(MySwitchTheme, null)), /* @__PURE__ */ React.createElement(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" }))), /* @__PURE__ */ React.createElement(Container2, { fluid: true, pt: "sm", pb: "md", bg: OBJECT_COlORS.mantineBackgroundSecondary, mih: "93vh" }, children), /* @__PURE__ */ React.createElement(
6218
+ Drawer,
6219
+ {
6220
+ opened: drawerOpened,
6221
+ onClose: closeDrawer,
6222
+ size: "100%",
6223
+ padding: "md",
6224
+ title: "Navigation",
6225
+ hiddenFrom: "sm",
6226
+ zIndex: 1e6
6227
+ },
6228
+ /* @__PURE__ */ React.createElement(ScrollArea3, { h: "calc(100vh - 80px", mx: "-md" }, /* @__PURE__ */ React.createElement(Divider3, { my: "sm" }), /* @__PURE__ */ React.createElement(MyFlexColumn, { h: "100%", gap: 0 }, menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ React.createElement(Button15, { key: idx, component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }) }, item.label))), /* @__PURE__ */ React.createElement(Divider3, { my: "sm" }))
6229
+ ));
6558
6230
  }
6559
6231
 
6560
6232
  // src/components/Layouts/HtmlWrapper/MyHtmlWrapper.tsx
6561
6233
  import { ScrollArea as ScrollArea4, TypographyStylesProvider } from "@mantine/core";
6562
6234
  import pako from "pako";
6563
- import { jsx as jsx50 } from "react/jsx-runtime";
6564
6235
  function MyHtmlWrapper(_a) {
6565
6236
  var _b = _a, { html, mah, zip = false } = _b, rest = __objRest(_b, ["html", "mah", "zip"]);
6566
6237
  const extractHtmlFromZip = () => {
@@ -6569,19 +6240,18 @@ function MyHtmlWrapper(_a) {
6569
6240
  const cleanedHtml = decompressedData == null ? void 0 : decompressedData.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
6570
6241
  return cleanedHtml.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
6571
6242
  };
6572
- return /* @__PURE__ */ jsx50(ScrollArea4.Autosize, { mah, children: /* @__PURE__ */ jsx50(TypographyStylesProvider, __spreadProps(__spreadValues({}, rest), { children: /* @__PURE__ */ jsx50(
6243
+ return /* @__PURE__ */ React.createElement(ScrollArea4.Autosize, { mah }, /* @__PURE__ */ React.createElement(TypographyStylesProvider, __spreadValues({}, rest), /* @__PURE__ */ React.createElement(
6573
6244
  "div",
6574
6245
  {
6575
6246
  dangerouslySetInnerHTML: {
6576
6247
  __html: zip ? extractHtmlFromZip() : html
6577
6248
  }
6578
6249
  }
6579
- ) })) });
6250
+ )));
6580
6251
  }
6581
6252
 
6582
6253
  // src/components/Layouts/PageContent/MyPageContent.tsx
6583
6254
  import { Code, Container as Container3, Divider as Divider4, Group as Group13, Indicator, Title } from "@mantine/core";
6584
- import { jsx as jsx51, jsxs as jsxs27 } from "react/jsx-runtime";
6585
6255
  var getStatusColor = (status) => {
6586
6256
  switch (status) {
6587
6257
  case "Prototype":
@@ -6594,90 +6264,64 @@ var getStatusColor = (status) => {
6594
6264
  };
6595
6265
  var PageTitle = ({ title, status }) => {
6596
6266
  const color = getStatusColor(status);
6597
- return /* @__PURE__ */ jsx51(Indicator, { label: status, size: 16, inline: true, color, disabled: !status, pt: 6, children: /* @__PURE__ */ jsx51(Title, { children: title }) });
6267
+ return /* @__PURE__ */ React.createElement(Indicator, { label: status, size: 16, inline: true, color, disabled: !status, pt: 6 }, /* @__PURE__ */ React.createElement(Title, null, title));
6598
6268
  };
6599
6269
  function MyPageContent({ leftTopBar, title, canBack = false, rightTopBar, status, children }) {
6600
6270
  const SidebarStore = useS0Sidebar();
6601
6271
  const finalTitle = title || SidebarStore.title;
6602
- return /* @__PURE__ */ jsxs27(Container3, { p: 0, fluid: true, children: [
6603
- /* @__PURE__ */ jsxs27(Group13, { justify: "space-between", children: [
6604
- /* @__PURE__ */ jsxs27(Group13, { children: [
6605
- canBack && /* @__PURE__ */ jsx51(MyButtonRouterBack, {}),
6606
- /* @__PURE__ */ jsx51(PageTitle, { title: finalTitle, status }),
6607
- leftTopBar
6608
- ] }),
6609
- /* @__PURE__ */ jsxs27(Group13, { children: [
6610
- rightTopBar,
6611
- /* @__PURE__ */ jsx51(Code, { color: "var(--mantine-color-blue-light)", children: SidebarStore.menuCode })
6612
- ] })
6613
- ] }),
6614
- /* @__PURE__ */ jsx51(Divider4, {}),
6615
- children
6616
- ] });
6272
+ return /* @__PURE__ */ React.createElement(Container3, { p: 0, fluid: true }, /* @__PURE__ */ React.createElement(Group13, { justify: "space-between" }, /* @__PURE__ */ React.createElement(Group13, null, canBack && /* @__PURE__ */ React.createElement(MyButtonRouterBack, null), /* @__PURE__ */ React.createElement(PageTitle, { title: finalTitle, status }), leftTopBar), /* @__PURE__ */ React.createElement(Group13, null, rightTopBar, /* @__PURE__ */ React.createElement(Code, { color: "var(--mantine-color-blue-light)" }, SidebarStore.menuCode))), /* @__PURE__ */ React.createElement(Divider4, null), children);
6617
6273
  }
6618
6274
 
6619
6275
  // src/components/Layouts/Tab/MyTab.tsx
6620
6276
  import { rem, Space as Space3, Tabs } from "@mantine/core";
6621
- import { jsx as jsx52, jsxs as jsxs28 } from "react/jsx-runtime";
6277
+ import React3 from "react";
6622
6278
  function MyTab(_a) {
6623
6279
  var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
6624
6280
  const iconStyle = { width: rem(20), height: rem(20) };
6625
- return /* @__PURE__ */ jsxs28(Tabs, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
6626
- /* @__PURE__ */ jsx52(Tabs.List, { children: tabList.map((item, idx) => {
6627
- return /* @__PURE__ */ jsx52(Tabs.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx52(item.icon, { style: iconStyle }), children: item.label }, idx);
6628
- }) }),
6629
- /* @__PURE__ */ jsx52(Space3, { my: "md" }),
6630
- children
6631
- ] }));
6281
+ return /* @__PURE__ */ React3.createElement(Tabs, __spreadValues({ defaultValue: tabList[0].label }, rest), /* @__PURE__ */ React3.createElement(Tabs.List, null, tabList.map((item, idx) => {
6282
+ return /* @__PURE__ */ React3.createElement(Tabs.Tab, { key: idx, value: item.label, leftSection: item.icon && /* @__PURE__ */ React3.createElement(item.icon, { style: iconStyle }) }, item.label);
6283
+ })), /* @__PURE__ */ React3.createElement(Space3, { my: "md" }), children);
6632
6284
  }
6633
6285
 
6634
6286
  // src/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx
6635
6287
  import { ActionIcon as ActionIcon11, Button as Button16, Fieldset as Fieldset5, Group as Group14, Modal as Modal11 } from "@mantine/core";
6636
6288
  import { useDisclosure as useDisclosure11 } from "@mantine/hooks";
6637
6289
  import { IconX as IconX2 } from "@tabler/icons-react";
6638
- import { jsx as jsx53, jsxs as jsxs29 } from "react/jsx-runtime";
6639
6290
  function MyDataTableSelect(_a) {
6640
6291
  var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
6641
6292
  const disc = useDisclosure11(false);
6642
6293
  if (data == void 0) return "\u0110ang t\u1EA3i...";
6643
- return /* @__PURE__ */ jsxs29(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
6644
- /* @__PURE__ */ jsx53(
6645
- MyDataTable,
6646
- __spreadValues({
6647
- renderTopToolbarCustomActions: ({ table }) => {
6648
- return /* @__PURE__ */ jsxs29(Group14, { children: [
6649
- renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
6650
- /* @__PURE__ */ jsx53(Button16, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
6651
- ] });
6652
- },
6653
- columns,
6654
- data: listState[0],
6655
- renderRowActions: ({ row }) => {
6656
- return /* @__PURE__ */ jsx53(MyCenterFull, { children: /* @__PURE__ */ jsx53(ActionIcon11, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx53(IconX2, {}) }) });
6657
- }
6658
- }, rest)
6659
- ),
6660
- /* @__PURE__ */ jsx53(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx53(
6661
- MyDataTable,
6662
- __spreadValues({
6663
- renderTopToolbarCustomActions: ({ table }) => {
6664
- return /* @__PURE__ */ jsx53(Button16, { onClick: () => {
6665
- table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
6666
- disc[1].close();
6667
- }, children: "Ch\u1ECDn" });
6668
- },
6669
- enableRowSelection: true,
6670
- data,
6671
- columns
6672
- }, rest)
6673
- ) })
6674
- ] });
6294
+ return /* @__PURE__ */ React.createElement(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch" }, /* @__PURE__ */ React.createElement(
6295
+ MyDataTable,
6296
+ __spreadValues({
6297
+ renderTopToolbarCustomActions: ({ table }) => {
6298
+ return /* @__PURE__ */ React.createElement(Group14, null, renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }), /* @__PURE__ */ React.createElement(Button16, { onClick: disc[1].open }, selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch"));
6299
+ },
6300
+ columns,
6301
+ data: listState[0],
6302
+ renderRowActions: ({ row }) => {
6303
+ return /* @__PURE__ */ React.createElement(MyCenterFull, null, /* @__PURE__ */ React.createElement(ActionIcon11, { color: "red", onClick: () => listState[1].remove(row.index) }, /* @__PURE__ */ React.createElement(IconX2, null)));
6304
+ }
6305
+ }, rest)
6306
+ ), /* @__PURE__ */ React.createElement(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%" }, /* @__PURE__ */ React.createElement(
6307
+ MyDataTable,
6308
+ __spreadValues({
6309
+ renderTopToolbarCustomActions: ({ table }) => {
6310
+ return /* @__PURE__ */ React.createElement(Button16, { onClick: () => {
6311
+ table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
6312
+ disc[1].close();
6313
+ } }, "Ch\u1ECDn");
6314
+ },
6315
+ enableRowSelection: true,
6316
+ data,
6317
+ columns
6318
+ }, rest)
6319
+ )));
6675
6320
  }
6676
6321
 
6677
6322
  // src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
6678
6323
  import { Select as Select4 } from "@mantine/core";
6679
6324
  import { useQuery as useQuery2 } from "@tanstack/react-query";
6680
- import { jsx as jsx54 } from "react/jsx-runtime";
6681
6325
  function MySelectAPIGet(_a) {
6682
6326
  var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
6683
6327
  var _a2;
@@ -6696,7 +6340,7 @@ function MySelectAPIGet(_a) {
6696
6340
  label: `${item.code}-${item.name}`
6697
6341
  };
6698
6342
  });
6699
- return /* @__PURE__ */ jsx54(
6343
+ return /* @__PURE__ */ React.createElement(
6700
6344
  Select4,
6701
6345
  __spreadValues({
6702
6346
  label,
@@ -6708,9 +6352,8 @@ function MySelectAPIGet(_a) {
6708
6352
 
6709
6353
  // src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
6710
6354
  import { Skeleton } from "@mantine/core";
6711
- import { jsx as jsx55 } from "react/jsx-runtime";
6712
6355
  function MySkeletonTable({ h: h4 = 500 }) {
6713
- return /* @__PURE__ */ jsx55(Skeleton, { h: h4 });
6356
+ return /* @__PURE__ */ React.createElement(Skeleton, { h: h4 });
6714
6357
  }
6715
6358
 
6716
6359
  export {