@esic-lab/data-core-ui 0.0.34 → 0.0.36
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.
- package/dist/{index.mjs → index.cjs} +648 -587
- package/dist/index.js +587 -648
- package/package.json +6 -5
- /package/dist/{index.d.mts → index.d.cts} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -8,10 +7,6 @@ var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
|
8
7
|
var __commonJS = (cb, mod) => function __require() {
|
|
9
8
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
10
9
|
};
|
|
11
|
-
var __export = (target, all) => {
|
|
12
|
-
for (var name in all)
|
|
13
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
|
-
};
|
|
15
10
|
var __copyProps = (to, from, except, desc) => {
|
|
16
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
12
|
for (let key of __getOwnPropNames(from))
|
|
@@ -28,15 +23,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
23
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
29
24
|
mod
|
|
30
25
|
));
|
|
31
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
32
26
|
|
|
33
27
|
// node_modules/dayjs/dayjs.min.js
|
|
34
28
|
var require_dayjs_min = __commonJS({
|
|
35
|
-
"node_modules/dayjs/dayjs.min.js"(
|
|
29
|
+
"node_modules/dayjs/dayjs.min.js"(exports, module) {
|
|
36
30
|
"use strict";
|
|
37
31
|
!(function(t, e) {
|
|
38
|
-
"object" == typeof
|
|
39
|
-
})(
|
|
32
|
+
"object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs = e();
|
|
33
|
+
})(exports, (function() {
|
|
40
34
|
"use strict";
|
|
41
35
|
var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) {
|
|
42
36
|
var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
|
|
@@ -313,11 +307,11 @@ var require_dayjs_min = __commonJS({
|
|
|
313
307
|
|
|
314
308
|
// node_modules/dayjs/locale/th.js
|
|
315
309
|
var require_th = __commonJS({
|
|
316
|
-
"node_modules/dayjs/locale/th.js"(
|
|
310
|
+
"node_modules/dayjs/locale/th.js"(exports, module) {
|
|
317
311
|
"use strict";
|
|
318
312
|
!(function(_, e) {
|
|
319
|
-
"object" == typeof
|
|
320
|
-
})(
|
|
313
|
+
"object" == typeof exports && "undefined" != typeof module ? module.exports = e(require_dayjs_min()) : "function" == typeof define && define.amd ? define(["dayjs"], e) : (_ = "undefined" != typeof globalThis ? globalThis : _ || self).dayjs_locale_th = e(_.dayjs);
|
|
314
|
+
})(exports, (function(_) {
|
|
321
315
|
"use strict";
|
|
322
316
|
function e(_2) {
|
|
323
317
|
return _2 && "object" == typeof _2 && "default" in _2 ? _2 : { default: _2 };
|
|
@@ -332,11 +326,11 @@ var require_th = __commonJS({
|
|
|
332
326
|
|
|
333
327
|
// node_modules/dayjs/plugin/buddhistEra.js
|
|
334
328
|
var require_buddhistEra = __commonJS({
|
|
335
|
-
"node_modules/dayjs/plugin/buddhistEra.js"(
|
|
329
|
+
"node_modules/dayjs/plugin/buddhistEra.js"(exports, module) {
|
|
336
330
|
"use strict";
|
|
337
331
|
!(function(t, e) {
|
|
338
|
-
"object" == typeof
|
|
339
|
-
})(
|
|
332
|
+
"object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs_plugin_buddhistEra = e();
|
|
333
|
+
})(exports, (function() {
|
|
340
334
|
"use strict";
|
|
341
335
|
return function(t, e) {
|
|
342
336
|
var n = e.prototype, i = n.format;
|
|
@@ -354,11 +348,11 @@ var require_buddhistEra = __commonJS({
|
|
|
354
348
|
|
|
355
349
|
// node_modules/dayjs/plugin/customParseFormat.js
|
|
356
350
|
var require_customParseFormat = __commonJS({
|
|
357
|
-
"node_modules/dayjs/plugin/customParseFormat.js"(
|
|
351
|
+
"node_modules/dayjs/plugin/customParseFormat.js"(exports, module) {
|
|
358
352
|
"use strict";
|
|
359
353
|
!(function(e, t) {
|
|
360
|
-
"object" == typeof
|
|
361
|
-
})(
|
|
354
|
+
"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_customParseFormat = t();
|
|
355
|
+
})(exports, (function() {
|
|
362
356
|
"use strict";
|
|
363
357
|
var e = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }, t = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, n = /\d/, r = /\d\d/, i = /\d\d?/, o = /\d*[^-_:/,()\s\d]+/, s = {}, a = function(e2) {
|
|
364
358
|
return (e2 = +e2) + (e2 > 68 ? 1900 : 2e3);
|
|
@@ -480,62 +474,8 @@ var require_customParseFormat = __commonJS({
|
|
|
480
474
|
}
|
|
481
475
|
});
|
|
482
476
|
|
|
483
|
-
// src/index.ts
|
|
484
|
-
var index_exports = {};
|
|
485
|
-
__export(index_exports, {
|
|
486
|
-
AntDModal: () => AntDModal,
|
|
487
|
-
AntDataTable: () => AntDataTable,
|
|
488
|
-
Breadcrumbs: () => Breadcrumbs,
|
|
489
|
-
Calendar: () => Calendar,
|
|
490
|
-
Checkbox: () => Checkbox,
|
|
491
|
-
CheckboxGroup: () => CheckboxGroup,
|
|
492
|
-
ColorPalettePickerBasic: () => ColorPalettePickerBasic,
|
|
493
|
-
ColorPickerBasic: () => ColorPickerBasic,
|
|
494
|
-
DataTable: () => DataTable,
|
|
495
|
-
DatePickerBasic: () => DatePickerBasic,
|
|
496
|
-
DatePickerRangePicker: () => DatePickerRangePicker,
|
|
497
|
-
FileUploader: () => FileUploader,
|
|
498
|
-
FilterPopUp: () => FilterPopUp,
|
|
499
|
-
GhostButton: () => GhostButton,
|
|
500
|
-
HeadingPage: () => HeadingPage,
|
|
501
|
-
Indicator: () => Indicator,
|
|
502
|
-
InputField: () => InputField,
|
|
503
|
-
InputFieldNumber: () => InputFieldNumber,
|
|
504
|
-
KpiSection: () => KpiSection,
|
|
505
|
-
Loader: () => Loader,
|
|
506
|
-
MenuNavBar: () => MenuNavBar,
|
|
507
|
-
PrimaryButton: () => PrimaryButton,
|
|
508
|
-
ProgressBar: () => ProgressBar,
|
|
509
|
-
Radio: () => Radio,
|
|
510
|
-
RadioGroup: () => RadioGroup,
|
|
511
|
-
SecondaryButton: () => SecondaryButton,
|
|
512
|
-
SelectCustom: () => SelectCustom,
|
|
513
|
-
SelectField: () => SelectField,
|
|
514
|
-
SelectFieldGroup: () => SelectFieldGroup,
|
|
515
|
-
SelectFieldStatus: () => SelectFieldStatus,
|
|
516
|
-
SelectFieldStatusReport: () => SelectFieldStatusReport,
|
|
517
|
-
SelectFieldTag: () => SelectFieldTag,
|
|
518
|
-
Sidebar: () => Sidebar,
|
|
519
|
-
SortFilter: () => SortFilter,
|
|
520
|
-
Switch: () => Switch,
|
|
521
|
-
SwitchSelect: () => SwitchSelect,
|
|
522
|
-
TabSelectionButton: () => TabSelectionButton,
|
|
523
|
-
TextAreaInput: () => TextAreaInput,
|
|
524
|
-
TextInput: () => TextInput,
|
|
525
|
-
TimePickerBasic: () => TimePickerBasic,
|
|
526
|
-
TimePickerRangePicker: () => TimePickerRangePicker,
|
|
527
|
-
TopNavBar: () => TopNavBar,
|
|
528
|
-
messageError: () => messageError,
|
|
529
|
-
messageInfo: () => messageInfo,
|
|
530
|
-
messageLoading: () => messageLoading,
|
|
531
|
-
messageSuccess: () => messageSuccess,
|
|
532
|
-
messageWarning: () => messageWarning,
|
|
533
|
-
setMessageApi: () => setMessageApi
|
|
534
|
-
});
|
|
535
|
-
module.exports = __toCommonJS(index_exports);
|
|
536
|
-
|
|
537
477
|
// src/Button/PrimaryButton/PrimaryButton.tsx
|
|
538
|
-
|
|
478
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
539
479
|
function PrimaryButton({
|
|
540
480
|
title,
|
|
541
481
|
onClick,
|
|
@@ -545,7 +485,7 @@ function PrimaryButton({
|
|
|
545
485
|
textColor = "black",
|
|
546
486
|
disabled
|
|
547
487
|
}) {
|
|
548
|
-
return /* @__PURE__ */
|
|
488
|
+
return /* @__PURE__ */ jsx(
|
|
549
489
|
"button",
|
|
550
490
|
{
|
|
551
491
|
onClick,
|
|
@@ -553,57 +493,57 @@ function PrimaryButton({
|
|
|
553
493
|
className: `flex justify-center w-full h-[42px] rounded-[6px] p-[10px] body-1 transition
|
|
554
494
|
${disabled ? "text-gray-400 bg-gray-100 cursor-not-allowed" : `${bgColor} text-${textColor} cursor-pointer
|
|
555
495
|
hover:brightness-95 active:brightness-90`}`,
|
|
556
|
-
children: /* @__PURE__ */
|
|
557
|
-
iconLeft && /* @__PURE__ */
|
|
496
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex justify-center items-center gap-[10px]", children: [
|
|
497
|
+
iconLeft && /* @__PURE__ */ jsx("div", { children: iconLeft }),
|
|
558
498
|
title,
|
|
559
|
-
iconRight && /* @__PURE__ */
|
|
499
|
+
iconRight && /* @__PURE__ */ jsx("div", { children: iconRight })
|
|
560
500
|
] })
|
|
561
501
|
}
|
|
562
502
|
);
|
|
563
503
|
}
|
|
564
504
|
|
|
565
505
|
// src/Button/SecondaryButton/SecondaryButton.tsx
|
|
566
|
-
|
|
506
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
567
507
|
function SecondaryButton({ title, onClick, iconLeft, iconRight, disabled }) {
|
|
568
|
-
return /* @__PURE__ */ (
|
|
508
|
+
return /* @__PURE__ */ jsx2(
|
|
569
509
|
"button",
|
|
570
510
|
{
|
|
571
511
|
onClick,
|
|
572
512
|
disabled,
|
|
573
513
|
className: `flex justify-center w-full h-[42px] rounded-[6px] p-[10px] border-[1px] body-1 transition ${disabled ? "text-gray-400 border-gray-400 bg-gray-100 cursor-not-allowed" : "cursor-pointer bg-white border-black text-black hover:bg-gray-100 active:bg-gray-200"}`,
|
|
574
|
-
children: /* @__PURE__ */ (
|
|
575
|
-
iconLeft && /* @__PURE__ */ (
|
|
514
|
+
children: /* @__PURE__ */ jsxs2("div", { className: "flex justify-center items-center gap-[10px]", children: [
|
|
515
|
+
iconLeft && /* @__PURE__ */ jsx2("div", { children: iconLeft }),
|
|
576
516
|
title,
|
|
577
|
-
iconRight && /* @__PURE__ */ (
|
|
517
|
+
iconRight && /* @__PURE__ */ jsx2("div", { children: iconRight })
|
|
578
518
|
] })
|
|
579
519
|
}
|
|
580
520
|
);
|
|
581
521
|
}
|
|
582
522
|
|
|
583
523
|
// src/Button/GhostButton/GhostButton.tsx
|
|
584
|
-
|
|
524
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
585
525
|
function GhostButton({ title, onClick, iconLeft, iconRight, disabled }) {
|
|
586
|
-
return /* @__PURE__ */ (
|
|
526
|
+
return /* @__PURE__ */ jsx3(
|
|
587
527
|
"button",
|
|
588
528
|
{
|
|
589
529
|
onClick,
|
|
590
530
|
disabled,
|
|
591
531
|
className: `flex justify-center w-full h-[42px] rounded-[6px] p-[10px] body-1 transition
|
|
592
532
|
${disabled ? "text-gray-400 bg-gray-100 cursor-not-allowed" : "bg-[#E9E9E9] cursor-pointer hover:bg-[#d6d6d6] active:bg-[#c4c4c4]"}`,
|
|
593
|
-
children: /* @__PURE__ */ (
|
|
594
|
-
iconLeft && /* @__PURE__ */ (
|
|
533
|
+
children: /* @__PURE__ */ jsxs3("div", { className: "flex justify-center items-center gap-[10px]", children: [
|
|
534
|
+
iconLeft && /* @__PURE__ */ jsx3("div", { children: iconLeft }),
|
|
595
535
|
title,
|
|
596
|
-
iconRight && /* @__PURE__ */ (
|
|
536
|
+
iconRight && /* @__PURE__ */ jsx3("div", { children: iconRight })
|
|
597
537
|
] })
|
|
598
538
|
}
|
|
599
539
|
);
|
|
600
540
|
}
|
|
601
541
|
|
|
602
542
|
// src/Button/TabSelectionButton/TabSelectionButton.tsx
|
|
603
|
-
|
|
543
|
+
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
604
544
|
var TabSelectionButton = ({ title, now, onClickGoto }) => {
|
|
605
|
-
return /* @__PURE__ */ (
|
|
606
|
-
title.map((text) => /* @__PURE__ */ (
|
|
545
|
+
return /* @__PURE__ */ jsxs4("div", { className: "flex subtitle-2", children: [
|
|
546
|
+
title.map((text) => /* @__PURE__ */ jsx4(
|
|
607
547
|
"button",
|
|
608
548
|
{
|
|
609
549
|
onClick: () => onClickGoto(text.path),
|
|
@@ -611,14 +551,14 @@ var TabSelectionButton = ({ title, now, onClickGoto }) => {
|
|
|
611
551
|
children: text.name
|
|
612
552
|
}
|
|
613
553
|
)),
|
|
614
|
-
/* @__PURE__ */ (
|
|
554
|
+
/* @__PURE__ */ jsx4("div", { className: "border-b-gray-200 border-b-2 w-full" })
|
|
615
555
|
] });
|
|
616
556
|
};
|
|
617
557
|
|
|
618
558
|
// src/Loader/Loader/Loader.tsx
|
|
619
|
-
|
|
559
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
620
560
|
function Loader({ size = 25, color = "#000000" }) {
|
|
621
|
-
return /* @__PURE__ */ (
|
|
561
|
+
return /* @__PURE__ */ jsx5(
|
|
622
562
|
"div",
|
|
623
563
|
{
|
|
624
564
|
style: {
|
|
@@ -635,15 +575,15 @@ function Loader({ size = 25, color = "#000000" }) {
|
|
|
635
575
|
}
|
|
636
576
|
|
|
637
577
|
// src/Checkbox/Checkbox/Checkbox.tsx
|
|
638
|
-
|
|
639
|
-
|
|
578
|
+
import { IconCheck } from "@tabler/icons-react";
|
|
579
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
640
580
|
function Checkbox({ label, checked, onChange, disabled }) {
|
|
641
581
|
const handleClick = () => {
|
|
642
582
|
if (!disabled) {
|
|
643
583
|
onChange(!checked);
|
|
644
584
|
}
|
|
645
585
|
};
|
|
646
|
-
return /* @__PURE__ */ (
|
|
586
|
+
return /* @__PURE__ */ jsxs5(
|
|
647
587
|
"div",
|
|
648
588
|
{
|
|
649
589
|
className: `flex gap-[10px] items-center
|
|
@@ -651,32 +591,32 @@ function Checkbox({ label, checked, onChange, disabled }) {
|
|
|
651
591
|
"aria-disabled": disabled,
|
|
652
592
|
onClick: handleClick,
|
|
653
593
|
children: [
|
|
654
|
-
/* @__PURE__ */ (
|
|
594
|
+
/* @__PURE__ */ jsx6(
|
|
655
595
|
"div",
|
|
656
596
|
{
|
|
657
597
|
className: `flex justify-center items-center border-[1px] border-black w-[24px] h-[24px] rounded-[8px] transition-colors duration-100
|
|
658
598
|
${checked ? "bg-black text-white" : "bg-white text-black"}
|
|
659
599
|
${disabled ? "pointer-events-none" : ""}`,
|
|
660
|
-
children: /* @__PURE__ */ (
|
|
600
|
+
children: /* @__PURE__ */ jsx6(
|
|
661
601
|
"span",
|
|
662
602
|
{
|
|
663
603
|
className: `flex justify-center items-center transition-transform duration-150
|
|
664
604
|
${checked ? "scale-100 opacity-100" : "scale-0 opacity-0"}`,
|
|
665
|
-
children: /* @__PURE__ */ (
|
|
605
|
+
children: /* @__PURE__ */ jsx6(IconCheck, { size: 20 })
|
|
666
606
|
}
|
|
667
607
|
)
|
|
668
608
|
}
|
|
669
609
|
),
|
|
670
|
-
label && /* @__PURE__ */ (
|
|
610
|
+
label && /* @__PURE__ */ jsx6("p", { className: "body-1 select-none", children: label })
|
|
671
611
|
]
|
|
672
612
|
}
|
|
673
613
|
);
|
|
674
614
|
}
|
|
675
615
|
|
|
676
616
|
// src/Checkbox/CheckboxGroup/CheckboxGroup.tsx
|
|
677
|
-
|
|
617
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
678
618
|
function CheckboxGroup({ options, onChange, alignment = "vertical" }) {
|
|
679
|
-
return /* @__PURE__ */ (
|
|
619
|
+
return /* @__PURE__ */ jsx7("div", { className: `flex gap-4 ${alignment === "vertical" ? "flex-col" : ""}`, children: options.map((opt) => /* @__PURE__ */ jsx7(
|
|
680
620
|
Checkbox,
|
|
681
621
|
{
|
|
682
622
|
checked: opt.checked,
|
|
@@ -689,14 +629,14 @@ function CheckboxGroup({ options, onChange, alignment = "vertical" }) {
|
|
|
689
629
|
}
|
|
690
630
|
|
|
691
631
|
// src/Radio/Radio/Radio.tsx
|
|
692
|
-
|
|
632
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
693
633
|
function Radio({ selected, onChange, disabled }) {
|
|
694
634
|
const handleClick = () => {
|
|
695
635
|
if (!disabled) {
|
|
696
636
|
onChange(!selected);
|
|
697
637
|
}
|
|
698
638
|
};
|
|
699
|
-
return /* @__PURE__ */ (
|
|
639
|
+
return /* @__PURE__ */ jsx8(
|
|
700
640
|
"div",
|
|
701
641
|
{
|
|
702
642
|
className: `
|
|
@@ -705,31 +645,31 @@ function Radio({ selected, onChange, disabled }) {
|
|
|
705
645
|
`,
|
|
706
646
|
onClick: handleClick,
|
|
707
647
|
"aria-disabled": disabled,
|
|
708
|
-
children: selected && /* @__PURE__ */ (
|
|
648
|
+
children: selected && /* @__PURE__ */ jsx8("div", { className: `bg-black w-[10px] h-[10px] rounded-full transition-all duration-300` })
|
|
709
649
|
}
|
|
710
650
|
);
|
|
711
651
|
}
|
|
712
652
|
|
|
713
653
|
// src/Radio/RadioGroup/RadioGroup.tsx
|
|
714
|
-
|
|
654
|
+
import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
715
655
|
function RadioGroup({ options, value, onChange, alignment = "horizontal" }) {
|
|
716
|
-
return /* @__PURE__ */ (
|
|
717
|
-
/* @__PURE__ */ (
|
|
718
|
-
/* @__PURE__ */ (
|
|
656
|
+
return /* @__PURE__ */ jsx9("div", { className: `flex gap-2 ${alignment === "vertical" ? "flex-col" : ""}`, children: options.map((opt) => /* @__PURE__ */ jsxs6("label", { className: "flex items-center gap-2 cursor-pointer", children: [
|
|
657
|
+
/* @__PURE__ */ jsx9(Radio, { selected: value === opt.value, onChange: () => onChange(opt.value), disabled: opt.disabled }),
|
|
658
|
+
/* @__PURE__ */ jsx9("span", { className: `body-1 ${opt.disabled ? "text-gray-400 cursor-not-allowed" : ""}`, children: opt.label })
|
|
719
659
|
] }, opt.value)) });
|
|
720
660
|
}
|
|
721
661
|
|
|
722
662
|
// src/Switch/Switch/Switch.tsx
|
|
723
|
-
|
|
663
|
+
import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
724
664
|
function Switch({ label, checked, onChange, disabled }) {
|
|
725
665
|
const handleClick = () => {
|
|
726
666
|
if (!disabled) {
|
|
727
667
|
onChange(!checked);
|
|
728
668
|
}
|
|
729
669
|
};
|
|
730
|
-
return /* @__PURE__ */ (
|
|
731
|
-
label && /* @__PURE__ */ (
|
|
732
|
-
/* @__PURE__ */ (
|
|
670
|
+
return /* @__PURE__ */ jsxs7("div", { className: "flex flex-col gap-[10px]", children: [
|
|
671
|
+
label && /* @__PURE__ */ jsx10("p", { className: `body-1 ${disabled ? "opacity-50 select-none" : ""}`, children: label }),
|
|
672
|
+
/* @__PURE__ */ jsx10(
|
|
733
673
|
"button",
|
|
734
674
|
{
|
|
735
675
|
type: "button",
|
|
@@ -741,7 +681,7 @@ function Switch({ label, checked, onChange, disabled }) {
|
|
|
741
681
|
${checked ? "bg-blue-500" : "bg-gray-300"}
|
|
742
682
|
${disabled ? "cursor-not-allowed opacity-50" : "cursor-pointer"}
|
|
743
683
|
`,
|
|
744
|
-
children: /* @__PURE__ */ (
|
|
684
|
+
children: /* @__PURE__ */ jsx10(
|
|
745
685
|
"div",
|
|
746
686
|
{
|
|
747
687
|
className: `bg-white w-5 h-5 rounded-full shadow-md transform transition-transform duration-300
|
|
@@ -754,7 +694,7 @@ function Switch({ label, checked, onChange, disabled }) {
|
|
|
754
694
|
}
|
|
755
695
|
|
|
756
696
|
// src/Switch/SwitchSelect/SwitchSelect.tsx
|
|
757
|
-
|
|
697
|
+
import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
758
698
|
function SwitchSelect({
|
|
759
699
|
option,
|
|
760
700
|
onClick,
|
|
@@ -763,13 +703,13 @@ function SwitchSelect({
|
|
|
763
703
|
required,
|
|
764
704
|
color
|
|
765
705
|
}) {
|
|
766
|
-
return /* @__PURE__ */ (
|
|
767
|
-
label && /* @__PURE__ */ (
|
|
706
|
+
return /* @__PURE__ */ jsxs8("div", { className: "flex flex-col container-input", children: [
|
|
707
|
+
label && /* @__PURE__ */ jsxs8("p", { className: `body-1`, children: [
|
|
768
708
|
label,
|
|
769
709
|
" ",
|
|
770
|
-
required && /* @__PURE__ */ (
|
|
710
|
+
required && /* @__PURE__ */ jsx11("span", { className: "text-red-500", children: "*" })
|
|
771
711
|
] }),
|
|
772
|
-
/* @__PURE__ */ (
|
|
712
|
+
/* @__PURE__ */ jsx11("div", { className: "flex", children: option.map((item, index) => /* @__PURE__ */ jsx11(
|
|
773
713
|
"button",
|
|
774
714
|
{
|
|
775
715
|
onClick: () => onClick(item.value),
|
|
@@ -786,22 +726,22 @@ function SwitchSelect({
|
|
|
786
726
|
}
|
|
787
727
|
|
|
788
728
|
// src/NavBar/MenuNavBar/MenuNavBar.tsx
|
|
789
|
-
|
|
729
|
+
import { jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
790
730
|
function MenuNavBar({ menus, onClick }) {
|
|
791
|
-
return /* @__PURE__ */ (
|
|
792
|
-
/* @__PURE__ */ (
|
|
793
|
-
menu?.subMenus.map((subMenu) => /* @__PURE__ */ (
|
|
731
|
+
return /* @__PURE__ */ jsx12("div", { className: "w-full h-full p-[10px] bg-white", children: menus?.map((menu, index) => /* @__PURE__ */ jsxs9("div", { className: `p-[10px] ${index !== 0 ? "mt-[10px]" : ""}`, children: [
|
|
732
|
+
/* @__PURE__ */ jsx12("p", { className: "p-[10px] w-[202px] h-[47px] subtitle-1", children: menu.title }),
|
|
733
|
+
menu?.subMenus.map((subMenu) => /* @__PURE__ */ jsxs9(
|
|
794
734
|
"div",
|
|
795
735
|
{
|
|
796
736
|
className: "group flex justify-center items-center gap-[10px] p-[10px] w-[202px] h-[47px] rounded-[6px] subtitle-2 cursor-pointer hover:bg-red-100 active:bg-primary-500 hover:text-white active:text-white",
|
|
797
737
|
onClick: () => onClick(subMenu.path),
|
|
798
738
|
children: [
|
|
799
|
-
/* @__PURE__ */ (
|
|
800
|
-
subMenu.icon && /* @__PURE__ */ (
|
|
801
|
-
subMenu.iconActive && /* @__PURE__ */ (
|
|
739
|
+
/* @__PURE__ */ jsxs9("span", { className: "flex justify-center items-center w-[24px] h-[24px] text-[20px]", children: [
|
|
740
|
+
subMenu.icon && /* @__PURE__ */ jsx12("span", { className: `block ${subMenu.iconActive ? "group-active:hidden" : ""}`, children: subMenu.icon }),
|
|
741
|
+
subMenu.iconActive && /* @__PURE__ */ jsx12("span", { className: "hidden group-active:block", children: subMenu.iconActive })
|
|
802
742
|
] }),
|
|
803
743
|
subMenu.title,
|
|
804
|
-
/* @__PURE__ */ (
|
|
744
|
+
/* @__PURE__ */ jsx12("span", { className: "flex ml-auto", children: subMenu.customNode && subMenu.customNode })
|
|
805
745
|
]
|
|
806
746
|
},
|
|
807
747
|
`sub_${subMenu.title}`
|
|
@@ -810,56 +750,56 @@ function MenuNavBar({ menus, onClick }) {
|
|
|
810
750
|
}
|
|
811
751
|
|
|
812
752
|
// src/NavBar/MenuNavBar/Sidebar.tsx
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
var SidebarContext =
|
|
753
|
+
import { IconChevronLeftPipe, IconChevronRightPipe } from "@tabler/icons-react";
|
|
754
|
+
import { createContext, useContext, useState } from "react";
|
|
755
|
+
import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
756
|
+
var SidebarContext = createContext({ expanded: false });
|
|
817
757
|
function Sidebar({ children, logo }) {
|
|
818
|
-
const [expanded, setExpanded] =
|
|
819
|
-
return /* @__PURE__ */ (
|
|
820
|
-
/* @__PURE__ */ (
|
|
821
|
-
expanded && logo && /* @__PURE__ */ (
|
|
822
|
-
/* @__PURE__ */ (
|
|
758
|
+
const [expanded, setExpanded] = useState(true);
|
|
759
|
+
return /* @__PURE__ */ jsx13("aside", { className: "h-screen", children: /* @__PURE__ */ jsxs10("nav", { className: `h-full flex flex-col bg-white border-r shadow-sm duration-150 ${expanded ? "w-64" : "w-16"}`, children: [
|
|
760
|
+
/* @__PURE__ */ jsxs10("div", { className: "p-4 pb-2 flex justify-center items-center", children: [
|
|
761
|
+
expanded && logo && /* @__PURE__ */ jsx13("img", { src: logo, width: 120, className: "ml-auto" }),
|
|
762
|
+
/* @__PURE__ */ jsx13(
|
|
823
763
|
"button",
|
|
824
764
|
{
|
|
825
765
|
className: "p-1.5 rounded-lg bg-gray-50 hover:bg-gray-100 cursor-pointer ml-auto",
|
|
826
766
|
onClick: () => setExpanded((curr) => !curr),
|
|
827
|
-
children: expanded ? /* @__PURE__ */ (
|
|
767
|
+
children: expanded ? /* @__PURE__ */ jsx13(IconChevronLeftPipe, {}) : /* @__PURE__ */ jsx13(IconChevronRightPipe, {})
|
|
828
768
|
}
|
|
829
769
|
)
|
|
830
770
|
] }),
|
|
831
|
-
/* @__PURE__ */ (
|
|
771
|
+
/* @__PURE__ */ jsx13(SidebarContext.Provider, { value: { expanded }, children: /* @__PURE__ */ jsx13("ul", { className: "flex-1 px-3", children }) })
|
|
832
772
|
] }) });
|
|
833
773
|
}
|
|
834
774
|
|
|
835
775
|
// src/NavBar/TopNavBar/TopNavBar.tsx
|
|
836
|
-
|
|
837
|
-
|
|
776
|
+
import { IconBellRinging } from "@tabler/icons-react";
|
|
777
|
+
import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
838
778
|
function TopNavBar({ onClickNoti, logo }) {
|
|
839
|
-
return /* @__PURE__ */ (
|
|
840
|
-
/* @__PURE__ */ (
|
|
779
|
+
return /* @__PURE__ */ jsxs11("div", { className: "w-full h-full flex", children: [
|
|
780
|
+
/* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-[20px] p-[10px]", children: [
|
|
841
781
|
logo,
|
|
842
|
-
/* @__PURE__ */ (
|
|
782
|
+
/* @__PURE__ */ jsx14("p", { className: "subtitle-1", children: "Project Management" })
|
|
843
783
|
] }),
|
|
844
|
-
/* @__PURE__ */ (
|
|
845
|
-
/* @__PURE__ */ (
|
|
846
|
-
/* @__PURE__ */ (
|
|
847
|
-
/* @__PURE__ */ (
|
|
784
|
+
/* @__PURE__ */ jsxs11("div", { className: "flex items-center ml-auto gap-[20px] p-[10px]", children: [
|
|
785
|
+
/* @__PURE__ */ jsx14("div", { children: "Search" }),
|
|
786
|
+
/* @__PURE__ */ jsx14("div", { children: /* @__PURE__ */ jsx14(IconBellRinging, { onClick: onClickNoti, className: "cursor-pointer" }) }),
|
|
787
|
+
/* @__PURE__ */ jsx14("div", { className: "w-[40px] h-[40px] bg-gray-400 rounded-full cursor-pointer" })
|
|
848
788
|
] })
|
|
849
789
|
] });
|
|
850
790
|
}
|
|
851
791
|
|
|
852
792
|
// src/Table/DataTable/DataTable.tsx
|
|
853
|
-
|
|
854
|
-
|
|
793
|
+
import { IconSelector, IconSortAscending, IconSortDescending } from "@tabler/icons-react";
|
|
794
|
+
import { useState as useState2 } from "react";
|
|
855
795
|
|
|
856
796
|
// src/Table/Pagination/Pagination.tsx
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
797
|
+
import { IconArrowLeft, IconArrowRight } from "@tabler/icons-react";
|
|
798
|
+
import { useMemo } from "react";
|
|
799
|
+
import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
860
800
|
function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
861
801
|
const totalPages = Math.ceil(totalItems / itemsPerPage);
|
|
862
|
-
const getPages =
|
|
802
|
+
const getPages = useMemo(() => {
|
|
863
803
|
if (totalPages <= 7) {
|
|
864
804
|
return Array.from({ length: totalPages }, (_, i) => i + 1);
|
|
865
805
|
}
|
|
@@ -880,21 +820,21 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
880
820
|
return pages;
|
|
881
821
|
}, [totalPages, currentPage]);
|
|
882
822
|
if (totalPages <= 1) return null;
|
|
883
|
-
return /* @__PURE__ */ (
|
|
884
|
-
/* @__PURE__ */ (
|
|
823
|
+
return /* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-center gap-2 mt-4 body-1", children: [
|
|
824
|
+
/* @__PURE__ */ jsxs12(
|
|
885
825
|
"button",
|
|
886
826
|
{
|
|
887
827
|
className: "px-3 py-1 disabled:opacity-50 flex gap-[8px] cursor-pointer",
|
|
888
828
|
disabled: currentPage === 1,
|
|
889
829
|
onClick: () => onPageChange(currentPage - 1),
|
|
890
830
|
children: [
|
|
891
|
-
/* @__PURE__ */ (
|
|
831
|
+
/* @__PURE__ */ jsx15(IconArrowLeft, {}),
|
|
892
832
|
"\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A"
|
|
893
833
|
]
|
|
894
834
|
}
|
|
895
835
|
),
|
|
896
836
|
getPages.map(
|
|
897
|
-
(page, i) => typeof page === "string" ? /* @__PURE__ */ (
|
|
837
|
+
(page, i) => typeof page === "string" ? /* @__PURE__ */ jsx15("span", { className: "px-2", children: page }, i) : /* @__PURE__ */ jsx15(
|
|
898
838
|
"button",
|
|
899
839
|
{
|
|
900
840
|
className: `w-[32px] h-[32px] rounded-[8px] px-3 py-1 cursor-pointer
|
|
@@ -905,7 +845,7 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
905
845
|
i
|
|
906
846
|
)
|
|
907
847
|
),
|
|
908
|
-
/* @__PURE__ */ (
|
|
848
|
+
/* @__PURE__ */ jsxs12(
|
|
909
849
|
"button",
|
|
910
850
|
{
|
|
911
851
|
className: "px-3 py-1 disabled:opacity-50 flex gap-[8px] cursor-pointer",
|
|
@@ -913,7 +853,7 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
913
853
|
onClick: () => onPageChange(currentPage + 1),
|
|
914
854
|
children: [
|
|
915
855
|
"\u0E16\u0E31\u0E14\u0E44\u0E1B",
|
|
916
|
-
/* @__PURE__ */ (
|
|
856
|
+
/* @__PURE__ */ jsx15(IconArrowRight, {})
|
|
917
857
|
]
|
|
918
858
|
}
|
|
919
859
|
)
|
|
@@ -921,43 +861,43 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
921
861
|
}
|
|
922
862
|
|
|
923
863
|
// src/Table/DataTable/DataTable.tsx
|
|
924
|
-
|
|
864
|
+
import { Fragment, jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
925
865
|
function DataTable({ columns, data, onSort, isLoading }) {
|
|
926
866
|
const cols = Math.max(1, columns.length);
|
|
927
867
|
const gridClass = "grid [grid-template-columns:repeat(var(--cols),minmax(0,1fr))]";
|
|
928
|
-
const [sortConfig, setSortConfig] = (
|
|
929
|
-
const [page, setPage] = (
|
|
868
|
+
const [sortConfig, setSortConfig] = useState2(null);
|
|
869
|
+
const [page, setPage] = useState2(1);
|
|
930
870
|
const onSorting = (config) => {
|
|
931
871
|
if (config) {
|
|
932
872
|
setSortConfig({ key: config?.key, direction: config?.direction });
|
|
933
873
|
onSort();
|
|
934
874
|
}
|
|
935
875
|
};
|
|
936
|
-
return /* @__PURE__ */ (
|
|
937
|
-
/* @__PURE__ */ (
|
|
876
|
+
return /* @__PURE__ */ jsxs13("div", { className: "border rounded-md w-full h-full", children: [
|
|
877
|
+
/* @__PURE__ */ jsx16("div", { className: `${gridClass} font-semibold border-b border-gray-200`, style: { ["--cols"]: cols }, children: columns.map((col, i) => {
|
|
938
878
|
const isActive = sortConfig?.key === col.accessor;
|
|
939
879
|
const direction = isActive ? sortConfig?.direction : null;
|
|
940
|
-
return /* @__PURE__ */ (
|
|
880
|
+
return /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-[8px] py-[8px] px-[16px] body-4 truncate", children: [
|
|
941
881
|
col.header,
|
|
942
|
-
col.sortable && /* @__PURE__ */ (
|
|
943
|
-
direction === null && /* @__PURE__ */ (
|
|
944
|
-
|
|
882
|
+
col.sortable && /* @__PURE__ */ jsxs13(Fragment, { children: [
|
|
883
|
+
direction === null && /* @__PURE__ */ jsx16(
|
|
884
|
+
IconSelector,
|
|
945
885
|
{
|
|
946
886
|
size: 15,
|
|
947
887
|
className: "hover:text-red-400 cursor-pointer",
|
|
948
888
|
onClick: () => onSorting({ key: col.accessor, direction: "asc" })
|
|
949
889
|
}
|
|
950
890
|
),
|
|
951
|
-
direction === "asc" && /* @__PURE__ */ (
|
|
952
|
-
|
|
891
|
+
direction === "asc" && /* @__PURE__ */ jsx16(
|
|
892
|
+
IconSortAscending,
|
|
953
893
|
{
|
|
954
894
|
size: 15,
|
|
955
895
|
className: "cursor-pointer text-red-500",
|
|
956
896
|
onClick: () => onSorting({ key: col.accessor, direction: "desc" })
|
|
957
897
|
}
|
|
958
898
|
),
|
|
959
|
-
direction === "desc" && /* @__PURE__ */ (
|
|
960
|
-
|
|
899
|
+
direction === "desc" && /* @__PURE__ */ jsx16(
|
|
900
|
+
IconSortDescending,
|
|
961
901
|
{
|
|
962
902
|
size: 15,
|
|
963
903
|
className: "cursor-pointer text-red-500",
|
|
@@ -967,23 +907,23 @@ function DataTable({ columns, data, onSort, isLoading }) {
|
|
|
967
907
|
] })
|
|
968
908
|
] }, i);
|
|
969
909
|
}) }),
|
|
970
|
-
isLoading ? /* @__PURE__ */ (
|
|
910
|
+
isLoading ? /* @__PURE__ */ jsx16("div", { className: "flex justify-center items-center w-full h-full", children: /* @__PURE__ */ jsx16(Loader, {}) }) : /* @__PURE__ */ jsx16(Fragment, { children: data.map((row, i) => /* @__PURE__ */ jsx16(
|
|
971
911
|
"div",
|
|
972
912
|
{
|
|
973
913
|
className: `${gridClass} ${data.length - 1 !== i ? "border-b border-gray-200" : ""} items-center`,
|
|
974
914
|
style: { ["--cols"]: cols },
|
|
975
|
-
children: columns.map((col, c) => /* @__PURE__ */ (
|
|
915
|
+
children: columns.map((col, c) => /* @__PURE__ */ jsx16("div", { className: "py-[8px] px-[16px] body-3 truncate", children: typeof col.accessor === "function" ? col.accessor(row) : String(row[col.accessor]) }, c))
|
|
976
916
|
},
|
|
977
917
|
i
|
|
978
918
|
)) }),
|
|
979
|
-
/* @__PURE__ */ (
|
|
919
|
+
/* @__PURE__ */ jsx16("div", { children: /* @__PURE__ */ jsx16(Pagination, { currentPage: page, itemsPerPage: 5, totalItems: 10, onPageChange: setPage }) })
|
|
980
920
|
] });
|
|
981
921
|
}
|
|
982
922
|
|
|
983
923
|
// src/Table/DataTable/AntDataTable.tsx
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
924
|
+
import { ConfigProvider, Table } from "antd";
|
|
925
|
+
import { useState as useState3 } from "react";
|
|
926
|
+
import { Fragment as Fragment2, jsx as jsx17 } from "react/jsx-runtime";
|
|
987
927
|
function AntDataTable({
|
|
988
928
|
dataSource,
|
|
989
929
|
columns,
|
|
@@ -997,7 +937,7 @@ function AntDataTable({
|
|
|
997
937
|
height,
|
|
998
938
|
pagination
|
|
999
939
|
}) {
|
|
1000
|
-
const [selectedRowKeys, setSelectedRowKeys] = (
|
|
940
|
+
const [selectedRowKeys, setSelectedRowKeys] = useState3([]);
|
|
1001
941
|
const rowSelection = {
|
|
1002
942
|
selectedRowKeys,
|
|
1003
943
|
onChange: (newSelectedRowKeys) => {
|
|
@@ -1009,8 +949,8 @@ function AntDataTable({
|
|
|
1009
949
|
onChange?.(paginationArgs, filters, sorter, extra);
|
|
1010
950
|
onFilter(filters);
|
|
1011
951
|
};
|
|
1012
|
-
return /* @__PURE__ */ (
|
|
1013
|
-
|
|
952
|
+
return /* @__PURE__ */ jsx17(Fragment2, { children: /* @__PURE__ */ jsx17(
|
|
953
|
+
ConfigProvider,
|
|
1014
954
|
{
|
|
1015
955
|
theme: {
|
|
1016
956
|
components: {},
|
|
@@ -1019,8 +959,8 @@ function AntDataTable({
|
|
|
1019
959
|
fontSize: 14
|
|
1020
960
|
}
|
|
1021
961
|
},
|
|
1022
|
-
children: /* @__PURE__ */ (
|
|
1023
|
-
|
|
962
|
+
children: /* @__PURE__ */ jsx17(
|
|
963
|
+
Table,
|
|
1024
964
|
{
|
|
1025
965
|
dataSource,
|
|
1026
966
|
columns,
|
|
@@ -1036,19 +976,19 @@ function AntDataTable({
|
|
|
1036
976
|
}
|
|
1037
977
|
|
|
1038
978
|
// src/Calendar/Calendar/Calendar.tsx
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
979
|
+
import { useEffect, useRef, useState as useState4 } from "react";
|
|
980
|
+
import FullCalendar from "@fullcalendar/react";
|
|
981
|
+
import dayGridPlugin from "@fullcalendar/daygrid";
|
|
982
|
+
import timeGridPlugin from "@fullcalendar/timegrid";
|
|
983
|
+
import interactionPlugin from "@fullcalendar/interaction";
|
|
984
|
+
import thLocale from "@fullcalendar/core/locales/th";
|
|
985
|
+
import { IconChevronLeft, IconChevronRight, IconX } from "@tabler/icons-react";
|
|
986
|
+
import { Fragment as Fragment3, jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1047
987
|
function Calendar({ events }) {
|
|
1048
|
-
const calendarRef =
|
|
1049
|
-
const [monthTitle, setMonthTitle] = (
|
|
1050
|
-
const [openPopup, setOpenPopup] = (
|
|
1051
|
-
const [selectedEvent, setSelectedEvent] = (
|
|
988
|
+
const calendarRef = useRef(null);
|
|
989
|
+
const [monthTitle, setMonthTitle] = useState4("");
|
|
990
|
+
const [openPopup, setOpenPopup] = useState4(false);
|
|
991
|
+
const [selectedEvent, setSelectedEvent] = useState4(null);
|
|
1052
992
|
const updateTitle = () => {
|
|
1053
993
|
const calendarApi = calendarRef.current?.getApi();
|
|
1054
994
|
if (calendarApi) {
|
|
@@ -1059,14 +999,14 @@ function Calendar({ events }) {
|
|
|
1059
999
|
const calendarApi = calendarRef.current?.getApi();
|
|
1060
1000
|
calendarApi?.changeView(viewName);
|
|
1061
1001
|
};
|
|
1062
|
-
|
|
1002
|
+
useEffect(() => {
|
|
1063
1003
|
updateTitle();
|
|
1064
1004
|
}, []);
|
|
1065
|
-
return /* @__PURE__ */ (
|
|
1066
|
-
/* @__PURE__ */ (
|
|
1067
|
-
/* @__PURE__ */ (
|
|
1068
|
-
/* @__PURE__ */ (
|
|
1069
|
-
/* @__PURE__ */ (
|
|
1005
|
+
return /* @__PURE__ */ jsxs14("div", { className: "fc w-full h-full relative z-10", children: [
|
|
1006
|
+
/* @__PURE__ */ jsxs14("div", { className: "flex mb-[8px]", children: [
|
|
1007
|
+
/* @__PURE__ */ jsx18("p", { className: "headline-5", children: monthTitle }),
|
|
1008
|
+
/* @__PURE__ */ jsxs14("div", { className: "flex gap-[10px] ml-auto", children: [
|
|
1009
|
+
/* @__PURE__ */ jsx18(
|
|
1070
1010
|
"p",
|
|
1071
1011
|
{
|
|
1072
1012
|
className: "w-[80px] h-[35px] border-[1px] flex justify-center items-center rounded-[2px] body-3 cursor-pointer",
|
|
@@ -1077,7 +1017,7 @@ function Calendar({ events }) {
|
|
|
1077
1017
|
children: "\u0E27\u0E31\u0E19\u0E19\u0E35\u0E49"
|
|
1078
1018
|
}
|
|
1079
1019
|
),
|
|
1080
|
-
/* @__PURE__ */ (
|
|
1020
|
+
/* @__PURE__ */ jsx18(
|
|
1081
1021
|
"p",
|
|
1082
1022
|
{
|
|
1083
1023
|
className: "w-[80px] h-[35px] border-[1px] flex justify-center items-center rounded-[2px] body-3 cursor-pointer",
|
|
@@ -1088,7 +1028,7 @@ function Calendar({ events }) {
|
|
|
1088
1028
|
children: "Month"
|
|
1089
1029
|
}
|
|
1090
1030
|
),
|
|
1091
|
-
/* @__PURE__ */ (
|
|
1031
|
+
/* @__PURE__ */ jsx18(
|
|
1092
1032
|
"p",
|
|
1093
1033
|
{
|
|
1094
1034
|
className: "w-[80px] h-[35px] border-[1px] flex justify-center items-center rounded-[2px] body-3 cursor-pointer",
|
|
@@ -1099,7 +1039,7 @@ function Calendar({ events }) {
|
|
|
1099
1039
|
children: "Week"
|
|
1100
1040
|
}
|
|
1101
1041
|
),
|
|
1102
|
-
/* @__PURE__ */ (
|
|
1042
|
+
/* @__PURE__ */ jsx18(
|
|
1103
1043
|
"p",
|
|
1104
1044
|
{
|
|
1105
1045
|
className: "w-[80px] h-[35px] border-[1px] flex justify-center items-center rounded-[2px] body-3 cursor-pointer",
|
|
@@ -1110,7 +1050,7 @@ function Calendar({ events }) {
|
|
|
1110
1050
|
children: "Day"
|
|
1111
1051
|
}
|
|
1112
1052
|
),
|
|
1113
|
-
/* @__PURE__ */ (
|
|
1053
|
+
/* @__PURE__ */ jsx18(
|
|
1114
1054
|
"button",
|
|
1115
1055
|
{
|
|
1116
1056
|
className: "cursor-pointer",
|
|
@@ -1118,10 +1058,10 @@ function Calendar({ events }) {
|
|
|
1118
1058
|
calendarRef.current?.getApi().prev();
|
|
1119
1059
|
updateTitle();
|
|
1120
1060
|
},
|
|
1121
|
-
children: /* @__PURE__ */ (
|
|
1061
|
+
children: /* @__PURE__ */ jsx18(IconChevronLeft, {})
|
|
1122
1062
|
}
|
|
1123
1063
|
),
|
|
1124
|
-
/* @__PURE__ */ (
|
|
1064
|
+
/* @__PURE__ */ jsx18(
|
|
1125
1065
|
"button",
|
|
1126
1066
|
{
|
|
1127
1067
|
className: "cursor-pointer",
|
|
@@ -1129,18 +1069,18 @@ function Calendar({ events }) {
|
|
|
1129
1069
|
calendarRef.current?.getApi().next();
|
|
1130
1070
|
updateTitle();
|
|
1131
1071
|
},
|
|
1132
|
-
children: /* @__PURE__ */ (
|
|
1072
|
+
children: /* @__PURE__ */ jsx18(IconChevronRight, {})
|
|
1133
1073
|
}
|
|
1134
1074
|
)
|
|
1135
1075
|
] })
|
|
1136
1076
|
] }),
|
|
1137
|
-
/* @__PURE__ */ (
|
|
1138
|
-
|
|
1077
|
+
/* @__PURE__ */ jsx18("div", { className: "relative z-10", children: /* @__PURE__ */ jsx18(
|
|
1078
|
+
FullCalendar,
|
|
1139
1079
|
{
|
|
1140
1080
|
ref: calendarRef,
|
|
1141
|
-
plugins: [
|
|
1081
|
+
plugins: [dayGridPlugin, timeGridPlugin, interactionPlugin],
|
|
1142
1082
|
events,
|
|
1143
|
-
locale:
|
|
1083
|
+
locale: thLocale,
|
|
1144
1084
|
slotLabelFormat: {
|
|
1145
1085
|
hour: "numeric",
|
|
1146
1086
|
minute: "2-digit"
|
|
@@ -1163,36 +1103,36 @@ function Calendar({ events }) {
|
|
|
1163
1103
|
});
|
|
1164
1104
|
},
|
|
1165
1105
|
eventContent: (arg) => {
|
|
1166
|
-
return /* @__PURE__ */ (
|
|
1106
|
+
return /* @__PURE__ */ jsx18(Fragment3, { children: /* @__PURE__ */ jsx18("div", { className: "flex items-center h-[28px] p-[4px] border-green-500 border-l-[10px] bg-red-400 rounded text-left text-white caption-1", children: arg.event.title }) });
|
|
1167
1107
|
},
|
|
1168
1108
|
moreLinkContent: (arg) => `+${arg.num} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23`
|
|
1169
1109
|
}
|
|
1170
1110
|
) }),
|
|
1171
|
-
openPopup && /* @__PURE__ */ (
|
|
1111
|
+
openPopup && /* @__PURE__ */ jsx18("div", { className: "fixed inset-0 flex justify-center items-center bg-black/50 z-50", children: /* @__PURE__ */ jsx18(EventPopUp, { event: selectedEvent, onClose: () => setOpenPopup(false) }) })
|
|
1172
1112
|
] });
|
|
1173
1113
|
}
|
|
1174
1114
|
function EventPopUp({ event, onClose }) {
|
|
1175
|
-
return /* @__PURE__ */ (
|
|
1176
|
-
/* @__PURE__ */ (
|
|
1177
|
-
/* @__PURE__ */ (
|
|
1178
|
-
/* @__PURE__ */ (
|
|
1179
|
-
/* @__PURE__ */ (
|
|
1180
|
-
/* @__PURE__ */ (
|
|
1115
|
+
return /* @__PURE__ */ jsxs14("div", { className: "w-[500px] h-auto rounded-2xl bg-white relative z-50 shadow-2xl overflow-hidden", children: [
|
|
1116
|
+
/* @__PURE__ */ jsx18("button", { className: "absolute top-3 right-3 rounded-full p-1 hover:bg-gray-200 transition", onClick: onClose, children: /* @__PURE__ */ jsx18(IconX, { className: "w-6 h-6 text-gray-600" }) }),
|
|
1117
|
+
/* @__PURE__ */ jsx18("div", { className: "bg-red-400 text-left text-white px-6 py-4 headline-5", children: /* @__PURE__ */ jsx18("h2", { className: "text-lg font-semibold", children: event.title }) }),
|
|
1118
|
+
/* @__PURE__ */ jsxs14("div", { className: "flex flex-col w-full p-6 gap-3 text-gray-700 body-3", children: [
|
|
1119
|
+
/* @__PURE__ */ jsxs14("p", { children: [
|
|
1120
|
+
/* @__PURE__ */ jsx18("span", { className: "font-medium", children: "\u0E40\u0E23\u0E34\u0E48\u0E21: " }),
|
|
1181
1121
|
event?.start?.toLocaleString?.() || String(event?.start)
|
|
1182
1122
|
] }),
|
|
1183
|
-
/* @__PURE__ */ (
|
|
1184
|
-
/* @__PURE__ */ (
|
|
1123
|
+
/* @__PURE__ */ jsxs14("p", { children: [
|
|
1124
|
+
/* @__PURE__ */ jsx18("span", { className: "font-medium", children: "\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14: " }),
|
|
1185
1125
|
event?.end?.toLocaleString?.() || String(event?.end)
|
|
1186
1126
|
] }),
|
|
1187
|
-
/* @__PURE__ */ (
|
|
1127
|
+
/* @__PURE__ */ jsx18("h3", { className: "text-sm font-semibold text-gray-500 uppercase mb-2 hover:underline cursor-pointer", children: "\u0E23\u0E32\u0E22\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21" })
|
|
1188
1128
|
] })
|
|
1189
1129
|
] });
|
|
1190
1130
|
}
|
|
1191
1131
|
|
|
1192
1132
|
// src/Input/TextInput/TextInput.tsx
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1133
|
+
import { IconEye, IconEyeOff } from "@tabler/icons-react";
|
|
1134
|
+
import { useState as useState5 } from "react";
|
|
1135
|
+
import { jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1196
1136
|
function TextInput({
|
|
1197
1137
|
label,
|
|
1198
1138
|
placeholder,
|
|
@@ -1204,23 +1144,23 @@ function TextInput({
|
|
|
1204
1144
|
onChange,
|
|
1205
1145
|
disabled
|
|
1206
1146
|
}) {
|
|
1207
|
-
const [showPassword, setShowPassword] = (
|
|
1147
|
+
const [showPassword, setShowPassword] = useState5(false);
|
|
1208
1148
|
const onShowPassword = () => {
|
|
1209
1149
|
setShowPassword(!showPassword);
|
|
1210
1150
|
};
|
|
1211
1151
|
const inputType = type === "password" ? showPassword ? "text" : "password" : "text";
|
|
1212
|
-
return /* @__PURE__ */ (
|
|
1213
|
-
label && /* @__PURE__ */ (
|
|
1152
|
+
return /* @__PURE__ */ jsxs15("div", { children: [
|
|
1153
|
+
label && /* @__PURE__ */ jsxs15("p", { className: "body-1 mb-[8px]", children: [
|
|
1214
1154
|
label,
|
|
1215
|
-
required && /* @__PURE__ */ (
|
|
1155
|
+
required && /* @__PURE__ */ jsx19("span", { className: "text-red-500", children: "\xA0*" })
|
|
1216
1156
|
] }),
|
|
1217
|
-
/* @__PURE__ */ (
|
|
1157
|
+
/* @__PURE__ */ jsxs15(
|
|
1218
1158
|
"div",
|
|
1219
1159
|
{
|
|
1220
1160
|
className: `border-[1px] rounded-[8px] w-full h-[40px] flex justify-center items-center
|
|
1221
1161
|
${disabled ? "bg-gray-100 text-gray-400" : error ? "border-red-500" : ""}`,
|
|
1222
1162
|
children: [
|
|
1223
|
-
/* @__PURE__ */ (
|
|
1163
|
+
/* @__PURE__ */ jsx19(
|
|
1224
1164
|
"input",
|
|
1225
1165
|
{
|
|
1226
1166
|
className: `w-full h-full px-[16px] ${disabled ? "cursor-not-allowed" : ""}`,
|
|
@@ -1233,18 +1173,18 @@ function TextInput({
|
|
|
1233
1173
|
disabled
|
|
1234
1174
|
}
|
|
1235
1175
|
),
|
|
1236
|
-
type === "password" && (showPassword ? /* @__PURE__ */ (
|
|
1176
|
+
type === "password" && (showPassword ? /* @__PURE__ */ jsx19(IconEye, { className: "text-gray-600 mr-[8px] cursor-pointer", onClick: onShowPassword }) : /* @__PURE__ */ jsx19(IconEyeOff, { className: "text-gray-600 mr-[8px] cursor-pointer", onClick: onShowPassword }))
|
|
1237
1177
|
]
|
|
1238
1178
|
}
|
|
1239
1179
|
),
|
|
1240
|
-
error && /* @__PURE__ */ (
|
|
1180
|
+
error && /* @__PURE__ */ jsx19("p", { className: "text-red-500 body-1", children: error })
|
|
1241
1181
|
] });
|
|
1242
1182
|
}
|
|
1243
1183
|
|
|
1244
1184
|
// src/Input/TextArea/TextArea.tsx
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
var { TextArea } =
|
|
1185
|
+
import { ConfigProvider as ConfigProvider2, Input } from "antd";
|
|
1186
|
+
import { Fragment as Fragment4, jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1187
|
+
var { TextArea } = Input;
|
|
1248
1188
|
function TextAreaInput({
|
|
1249
1189
|
label,
|
|
1250
1190
|
height = 4,
|
|
@@ -1258,8 +1198,8 @@ function TextAreaInput({
|
|
|
1258
1198
|
error,
|
|
1259
1199
|
disabled
|
|
1260
1200
|
}) {
|
|
1261
|
-
return /* @__PURE__ */ (
|
|
1262
|
-
|
|
1201
|
+
return /* @__PURE__ */ jsx20(Fragment4, { children: /* @__PURE__ */ jsx20(
|
|
1202
|
+
ConfigProvider2,
|
|
1263
1203
|
{
|
|
1264
1204
|
theme: {
|
|
1265
1205
|
components: {},
|
|
@@ -1268,13 +1208,13 @@ function TextAreaInput({
|
|
|
1268
1208
|
fontSize: 16
|
|
1269
1209
|
}
|
|
1270
1210
|
},
|
|
1271
|
-
children: /* @__PURE__ */ (
|
|
1272
|
-
label && /* @__PURE__ */ (
|
|
1211
|
+
children: /* @__PURE__ */ jsxs16("div", { children: [
|
|
1212
|
+
label && /* @__PURE__ */ jsxs16("p", { className: "body-1 mb-[8px]", children: [
|
|
1273
1213
|
label,
|
|
1274
1214
|
" ",
|
|
1275
|
-
required && /* @__PURE__ */ (
|
|
1215
|
+
required && /* @__PURE__ */ jsx20("span", { className: "text-red-500", children: "\xA0*" })
|
|
1276
1216
|
] }),
|
|
1277
|
-
/* @__PURE__ */ (
|
|
1217
|
+
/* @__PURE__ */ jsx20(
|
|
1278
1218
|
TextArea,
|
|
1279
1219
|
{
|
|
1280
1220
|
value,
|
|
@@ -1290,15 +1230,15 @@ function TextAreaInput({
|
|
|
1290
1230
|
disabled
|
|
1291
1231
|
}
|
|
1292
1232
|
),
|
|
1293
|
-
error && /* @__PURE__ */ (
|
|
1233
|
+
error && /* @__PURE__ */ jsx20("p", { className: "text-red-500 body-1", children: error })
|
|
1294
1234
|
] })
|
|
1295
1235
|
}
|
|
1296
1236
|
) });
|
|
1297
1237
|
}
|
|
1298
1238
|
|
|
1299
1239
|
// src/Input/InputField/InputField.tsx
|
|
1300
|
-
|
|
1301
|
-
|
|
1240
|
+
import { ConfigProvider as ConfigProvider3, Input as Input2, Space } from "antd";
|
|
1241
|
+
import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1302
1242
|
function InputField({
|
|
1303
1243
|
value,
|
|
1304
1244
|
onChange,
|
|
@@ -1314,24 +1254,24 @@ function InputField({
|
|
|
1314
1254
|
onClear,
|
|
1315
1255
|
statickey
|
|
1316
1256
|
}) {
|
|
1317
|
-
return /* @__PURE__ */ (
|
|
1318
|
-
|
|
1257
|
+
return /* @__PURE__ */ jsx21(
|
|
1258
|
+
ConfigProvider3,
|
|
1319
1259
|
{
|
|
1320
1260
|
theme: {
|
|
1321
1261
|
token: {
|
|
1322
1262
|
fontFamily: "Kanit"
|
|
1323
1263
|
}
|
|
1324
1264
|
},
|
|
1325
|
-
children: /* @__PURE__ */ (
|
|
1326
|
-
/* @__PURE__ */ (
|
|
1327
|
-
/* @__PURE__ */ (
|
|
1265
|
+
children: /* @__PURE__ */ jsxs17("div", { className: "container-input", children: [
|
|
1266
|
+
/* @__PURE__ */ jsxs17("div", { children: [
|
|
1267
|
+
/* @__PURE__ */ jsx21("span", { className: "body-1", children: label }),
|
|
1328
1268
|
" ",
|
|
1329
|
-
required && /* @__PURE__ */ (
|
|
1269
|
+
required && /* @__PURE__ */ jsx21("span", { className: "text-red-500", children: "*" })
|
|
1330
1270
|
] }),
|
|
1331
|
-
/* @__PURE__ */ (
|
|
1332
|
-
statickey && /* @__PURE__ */ (
|
|
1333
|
-
/* @__PURE__ */ (
|
|
1334
|
-
|
|
1271
|
+
/* @__PURE__ */ jsxs17(Space.Compact, { children: [
|
|
1272
|
+
statickey && /* @__PURE__ */ jsx21("span", { className: "items-center flex px-2 bg-gray-300 rounded-l-md body-1", children: statickey }),
|
|
1273
|
+
/* @__PURE__ */ jsx21(
|
|
1274
|
+
Input2,
|
|
1335
1275
|
{
|
|
1336
1276
|
value,
|
|
1337
1277
|
placeholder,
|
|
@@ -1346,15 +1286,15 @@ function InputField({
|
|
|
1346
1286
|
}
|
|
1347
1287
|
)
|
|
1348
1288
|
] }),
|
|
1349
|
-
error && /* @__PURE__ */ (
|
|
1289
|
+
error && /* @__PURE__ */ jsx21("p", { className: "text-red-500 caption-1", children: error })
|
|
1350
1290
|
] })
|
|
1351
1291
|
}
|
|
1352
1292
|
);
|
|
1353
1293
|
}
|
|
1354
1294
|
|
|
1355
1295
|
// src/Input/InputFieldNumber/InputFieldNumber.tsx
|
|
1356
|
-
|
|
1357
|
-
|
|
1296
|
+
import { ConfigProvider as ConfigProvider4, InputNumber } from "antd";
|
|
1297
|
+
import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1358
1298
|
function InputFieldNumber({
|
|
1359
1299
|
value,
|
|
1360
1300
|
onChange,
|
|
@@ -1375,22 +1315,22 @@ function InputFieldNumber({
|
|
|
1375
1315
|
formatter,
|
|
1376
1316
|
parser
|
|
1377
1317
|
}) {
|
|
1378
|
-
return /* @__PURE__ */ (
|
|
1379
|
-
|
|
1318
|
+
return /* @__PURE__ */ jsx22(
|
|
1319
|
+
ConfigProvider4,
|
|
1380
1320
|
{
|
|
1381
1321
|
theme: {
|
|
1382
1322
|
token: {
|
|
1383
1323
|
fontFamily: "Kanit"
|
|
1384
1324
|
}
|
|
1385
1325
|
},
|
|
1386
|
-
children: /* @__PURE__ */ (
|
|
1387
|
-
/* @__PURE__ */ (
|
|
1388
|
-
/* @__PURE__ */ (
|
|
1326
|
+
children: /* @__PURE__ */ jsxs18("div", { className: "container-input", children: [
|
|
1327
|
+
/* @__PURE__ */ jsxs18("div", { children: [
|
|
1328
|
+
/* @__PURE__ */ jsx22("span", { className: "body-1", children: label }),
|
|
1389
1329
|
" ",
|
|
1390
|
-
required && /* @__PURE__ */ (
|
|
1330
|
+
required && /* @__PURE__ */ jsx22("span", { className: "text-red-500", children: "*" })
|
|
1391
1331
|
] }),
|
|
1392
|
-
/* @__PURE__ */ (
|
|
1393
|
-
|
|
1332
|
+
/* @__PURE__ */ jsx22(
|
|
1333
|
+
InputNumber,
|
|
1394
1334
|
{
|
|
1395
1335
|
value: value ?? void 0,
|
|
1396
1336
|
onChange: (val) => onChange(val),
|
|
@@ -1409,22 +1349,22 @@ function InputFieldNumber({
|
|
|
1409
1349
|
parser
|
|
1410
1350
|
}
|
|
1411
1351
|
),
|
|
1412
|
-
error && /* @__PURE__ */ (
|
|
1352
|
+
error && /* @__PURE__ */ jsx22("p", { className: "text-red-500 caption-1", children: error })
|
|
1413
1353
|
] })
|
|
1414
1354
|
}
|
|
1415
1355
|
);
|
|
1416
1356
|
}
|
|
1417
1357
|
|
|
1418
1358
|
// src/DatePicker/DatePickerBasic/DatePickerBasic.tsx
|
|
1419
|
-
var
|
|
1420
|
-
var
|
|
1421
|
-
var
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1359
|
+
var import_dayjs = __toESM(require_dayjs_min(), 1);
|
|
1360
|
+
var import_th2 = __toESM(require_th(), 1);
|
|
1361
|
+
var import_buddhistEra = __toESM(require_buddhistEra(), 1);
|
|
1362
|
+
import { ConfigProvider as ConfigProvider5, DatePicker } from "antd";
|
|
1363
|
+
import th from "antd/es/date-picker/locale/th_TH.js";
|
|
1364
|
+
import thTH from "antd/locale/th_TH.js";
|
|
1365
|
+
import { th as thFns } from "date-fns/locale";
|
|
1366
|
+
import { format } from "date-fns";
|
|
1367
|
+
import { jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1428
1368
|
import_dayjs.default.extend(import_buddhistEra.default);
|
|
1429
1369
|
function DatePickerBasic({
|
|
1430
1370
|
value,
|
|
@@ -1444,33 +1384,33 @@ function DatePickerBasic({
|
|
|
1444
1384
|
const dateFormat = "DD/MM/YYYY";
|
|
1445
1385
|
import_dayjs.default.locale("th_TH");
|
|
1446
1386
|
const buddhistLocale = {
|
|
1447
|
-
...
|
|
1387
|
+
...th,
|
|
1448
1388
|
lang: {
|
|
1449
|
-
...
|
|
1389
|
+
...th.lang,
|
|
1450
1390
|
fieldDateFormat: "BBBB-MM-DD",
|
|
1451
1391
|
fieldDateTimeFormat: "BBBB-MM-DD HH:mm:ss",
|
|
1452
1392
|
yearFormat: "BBBB",
|
|
1453
1393
|
cellYearFormat: "BBBB"
|
|
1454
1394
|
}
|
|
1455
1395
|
};
|
|
1456
|
-
return /* @__PURE__ */ (
|
|
1457
|
-
|
|
1396
|
+
return /* @__PURE__ */ jsx23(
|
|
1397
|
+
ConfigProvider5,
|
|
1458
1398
|
{
|
|
1459
|
-
locale:
|
|
1399
|
+
locale: thTH,
|
|
1460
1400
|
theme: {
|
|
1461
1401
|
token: {
|
|
1462
1402
|
fontFamily: "Kanit",
|
|
1463
1403
|
fontSize: 16
|
|
1464
1404
|
}
|
|
1465
1405
|
},
|
|
1466
|
-
children: /* @__PURE__ */ (
|
|
1467
|
-
/* @__PURE__ */ (
|
|
1468
|
-
/* @__PURE__ */ (
|
|
1406
|
+
children: /* @__PURE__ */ jsxs19("div", { className: "container-input", children: [
|
|
1407
|
+
/* @__PURE__ */ jsxs19("div", { children: [
|
|
1408
|
+
/* @__PURE__ */ jsx23("span", { className: "body-1", children: label }),
|
|
1469
1409
|
" ",
|
|
1470
|
-
required && /* @__PURE__ */ (
|
|
1410
|
+
required && /* @__PURE__ */ jsx23("span", { className: "text-red-500", children: "*" })
|
|
1471
1411
|
] }),
|
|
1472
|
-
/* @__PURE__ */ (
|
|
1473
|
-
|
|
1412
|
+
/* @__PURE__ */ jsx23(
|
|
1413
|
+
DatePicker,
|
|
1474
1414
|
{
|
|
1475
1415
|
className: `body-1 w-full ${className ?? ""}`,
|
|
1476
1416
|
value,
|
|
@@ -1478,7 +1418,7 @@ function DatePickerBasic({
|
|
|
1478
1418
|
onChange,
|
|
1479
1419
|
allowClear: true,
|
|
1480
1420
|
disabled,
|
|
1481
|
-
format: (date) => date ?
|
|
1421
|
+
format: (date) => date ? format(date.toDate(), "dd/MM/yyyy", { locale: thFns }).replace(
|
|
1482
1422
|
/\d{4}$/,
|
|
1483
1423
|
(y) => String(parseInt(y) + 543)
|
|
1484
1424
|
) : "",
|
|
@@ -1490,22 +1430,22 @@ function DatePickerBasic({
|
|
|
1490
1430
|
locale: buddhistLocale
|
|
1491
1431
|
}
|
|
1492
1432
|
),
|
|
1493
|
-
error && /* @__PURE__ */ (
|
|
1433
|
+
error && /* @__PURE__ */ jsx23("p", { className: "text-red-500 caption-1", children: error })
|
|
1494
1434
|
] })
|
|
1495
1435
|
}
|
|
1496
1436
|
);
|
|
1497
1437
|
}
|
|
1498
1438
|
|
|
1499
1439
|
// src/DatePicker/DatePickerRangePicker/DatePickerRangePicker.tsx
|
|
1500
|
-
var
|
|
1501
|
-
var
|
|
1502
|
-
var
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1440
|
+
var import_th3 = __toESM(require_th(), 1);
|
|
1441
|
+
var import_customParseFormat = __toESM(require_customParseFormat(), 1);
|
|
1442
|
+
var import_dayjs2 = __toESM(require_dayjs_min(), 1);
|
|
1443
|
+
import { ConfigProvider as ConfigProvider6, DatePicker as DatePicker2 } from "antd";
|
|
1444
|
+
import thTH2 from "antd/locale/th_TH.js";
|
|
1445
|
+
import th2 from "antd/es/date-picker/locale/th_TH.js";
|
|
1446
|
+
import { format as format2 } from "date-fns";
|
|
1447
|
+
import { th as thFns2 } from "date-fns/locale";
|
|
1448
|
+
import { jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1509
1449
|
import_dayjs2.default.extend(import_customParseFormat.default);
|
|
1510
1450
|
function DatePickerRangePicker({
|
|
1511
1451
|
value,
|
|
@@ -1526,35 +1466,35 @@ function DatePickerRangePicker({
|
|
|
1526
1466
|
const dateFormat = "DD/MM/YYYY";
|
|
1527
1467
|
import_dayjs2.default.locale("th_TH");
|
|
1528
1468
|
const buddhistLocale = {
|
|
1529
|
-
...
|
|
1469
|
+
...th2,
|
|
1530
1470
|
lang: {
|
|
1531
|
-
...
|
|
1471
|
+
...th2.lang,
|
|
1532
1472
|
fieldDateFormat: "BBBB-MM-DD",
|
|
1533
1473
|
fieldDateTimeFormat: "BBBB-MM-DD HH:mm:ss",
|
|
1534
1474
|
yearFormat: "BBBB",
|
|
1535
1475
|
cellYearFormat: "BBBB"
|
|
1536
1476
|
}
|
|
1537
1477
|
};
|
|
1538
|
-
return /* @__PURE__ */ (
|
|
1539
|
-
|
|
1478
|
+
return /* @__PURE__ */ jsx24(
|
|
1479
|
+
ConfigProvider6,
|
|
1540
1480
|
{
|
|
1541
|
-
locale:
|
|
1481
|
+
locale: thTH2,
|
|
1542
1482
|
theme: {
|
|
1543
1483
|
token: {
|
|
1544
1484
|
fontFamily: "Kanit",
|
|
1545
1485
|
fontSize: 16
|
|
1546
1486
|
}
|
|
1547
1487
|
},
|
|
1548
|
-
children: /* @__PURE__ */ (
|
|
1549
|
-
/* @__PURE__ */ (
|
|
1550
|
-
/* @__PURE__ */ (
|
|
1488
|
+
children: /* @__PURE__ */ jsxs20("div", { className: "container-input", children: [
|
|
1489
|
+
/* @__PURE__ */ jsxs20("div", { children: [
|
|
1490
|
+
/* @__PURE__ */ jsx24("span", { className: "body-1", children: label }),
|
|
1551
1491
|
" ",
|
|
1552
|
-
required && /* @__PURE__ */ (
|
|
1492
|
+
required && /* @__PURE__ */ jsx24("span", { className: "text-red-500", children: "*" })
|
|
1553
1493
|
] }),
|
|
1554
|
-
/* @__PURE__ */ (
|
|
1555
|
-
|
|
1494
|
+
/* @__PURE__ */ jsx24(
|
|
1495
|
+
DatePicker2.RangePicker,
|
|
1556
1496
|
{
|
|
1557
|
-
format: (date) => date ? (
|
|
1497
|
+
format: (date) => date ? format2(date.toDate(), "dd/MM/yyyy", { locale: thFns2 }).replace(
|
|
1558
1498
|
/\d{4}$/,
|
|
1559
1499
|
(y) => String(parseInt(y) + 543)
|
|
1560
1500
|
) : "",
|
|
@@ -1589,17 +1529,17 @@ function DatePickerRangePicker({
|
|
|
1589
1529
|
locale: buddhistLocale
|
|
1590
1530
|
}
|
|
1591
1531
|
),
|
|
1592
|
-
error && /* @__PURE__ */ (
|
|
1532
|
+
error && /* @__PURE__ */ jsx24("p", { className: "text-red-500 caption-1", children: error })
|
|
1593
1533
|
] })
|
|
1594
1534
|
}
|
|
1595
1535
|
);
|
|
1596
1536
|
}
|
|
1597
1537
|
|
|
1598
1538
|
// src/TimePicker/TimePickerBasic/TimePickerBasic.tsx
|
|
1599
|
-
var
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1539
|
+
var import_dayjs3 = __toESM(require_dayjs_min(), 1);
|
|
1540
|
+
import { ConfigProvider as ConfigProvider7, TimePicker } from "antd";
|
|
1541
|
+
import thTH3 from "antd/locale/th_TH.js";
|
|
1542
|
+
import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
1603
1543
|
function TimePickerBasic({
|
|
1604
1544
|
value,
|
|
1605
1545
|
onChange,
|
|
@@ -1610,23 +1550,23 @@ function TimePickerBasic({
|
|
|
1610
1550
|
disabled,
|
|
1611
1551
|
className
|
|
1612
1552
|
}) {
|
|
1613
|
-
return /* @__PURE__ */ (
|
|
1614
|
-
|
|
1553
|
+
return /* @__PURE__ */ jsx25(
|
|
1554
|
+
ConfigProvider7,
|
|
1615
1555
|
{
|
|
1616
|
-
locale:
|
|
1556
|
+
locale: thTH3,
|
|
1617
1557
|
theme: {
|
|
1618
1558
|
token: {
|
|
1619
1559
|
fontFamily: "Kanit"
|
|
1620
1560
|
}
|
|
1621
1561
|
},
|
|
1622
|
-
children: /* @__PURE__ */ (
|
|
1623
|
-
/* @__PURE__ */ (
|
|
1624
|
-
/* @__PURE__ */ (
|
|
1562
|
+
children: /* @__PURE__ */ jsxs21("div", { className: "container-input", children: [
|
|
1563
|
+
/* @__PURE__ */ jsxs21("div", { children: [
|
|
1564
|
+
/* @__PURE__ */ jsx25("span", { className: "body-1", children: label }),
|
|
1625
1565
|
" ",
|
|
1626
|
-
required && /* @__PURE__ */ (
|
|
1566
|
+
required && /* @__PURE__ */ jsx25("span", { className: "text-red-500", children: "*" })
|
|
1627
1567
|
] }),
|
|
1628
|
-
/* @__PURE__ */ (
|
|
1629
|
-
|
|
1568
|
+
/* @__PURE__ */ jsx25(
|
|
1569
|
+
TimePicker,
|
|
1630
1570
|
{
|
|
1631
1571
|
format: "HH:mm",
|
|
1632
1572
|
className: `body-1 w-full ${className ?? ""}`,
|
|
@@ -1639,17 +1579,17 @@ function TimePickerBasic({
|
|
|
1639
1579
|
disabled
|
|
1640
1580
|
}
|
|
1641
1581
|
),
|
|
1642
|
-
error && /* @__PURE__ */ (
|
|
1582
|
+
error && /* @__PURE__ */ jsx25("p", { className: "text-red-500 caption-1", children: error })
|
|
1643
1583
|
] })
|
|
1644
1584
|
}
|
|
1645
1585
|
);
|
|
1646
1586
|
}
|
|
1647
1587
|
|
|
1648
1588
|
// src/TimePicker/TimePickerRangePicker/TimerPickerRangePicker.tsx
|
|
1649
|
-
var
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1589
|
+
var import_dayjs4 = __toESM(require_dayjs_min(), 1);
|
|
1590
|
+
import { ConfigProvider as ConfigProvider8, TimePicker as TimePicker2 } from "antd";
|
|
1591
|
+
import thTH4 from "antd/locale/th_TH.js";
|
|
1592
|
+
import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1653
1593
|
function TimePickerRangePicker({
|
|
1654
1594
|
value,
|
|
1655
1595
|
onChange,
|
|
@@ -1660,23 +1600,23 @@ function TimePickerRangePicker({
|
|
|
1660
1600
|
disabled,
|
|
1661
1601
|
className
|
|
1662
1602
|
}) {
|
|
1663
|
-
return /* @__PURE__ */ (
|
|
1664
|
-
|
|
1603
|
+
return /* @__PURE__ */ jsx26(
|
|
1604
|
+
ConfigProvider8,
|
|
1665
1605
|
{
|
|
1666
|
-
locale:
|
|
1606
|
+
locale: thTH4,
|
|
1667
1607
|
theme: {
|
|
1668
1608
|
token: {
|
|
1669
1609
|
fontFamily: "Kanit"
|
|
1670
1610
|
}
|
|
1671
1611
|
},
|
|
1672
|
-
children: /* @__PURE__ */ (
|
|
1673
|
-
/* @__PURE__ */ (
|
|
1674
|
-
/* @__PURE__ */ (
|
|
1612
|
+
children: /* @__PURE__ */ jsxs22("div", { className: "container-input", children: [
|
|
1613
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
1614
|
+
/* @__PURE__ */ jsx26("span", { className: "body-1", children: label }),
|
|
1675
1615
|
" ",
|
|
1676
|
-
required && /* @__PURE__ */ (
|
|
1616
|
+
required && /* @__PURE__ */ jsx26("span", { className: "text-red-500", children: "*" })
|
|
1677
1617
|
] }),
|
|
1678
|
-
/* @__PURE__ */ (
|
|
1679
|
-
|
|
1618
|
+
/* @__PURE__ */ jsx26(
|
|
1619
|
+
TimePicker2.RangePicker,
|
|
1680
1620
|
{
|
|
1681
1621
|
format: "HH:mm",
|
|
1682
1622
|
value: value ? [value[0] ? (0, import_dayjs4.default)(value[0]) : null, value[1] ? (0, import_dayjs4.default)(value[1]) : null] : null,
|
|
@@ -1694,15 +1634,15 @@ function TimePickerRangePicker({
|
|
|
1694
1634
|
showNow: true
|
|
1695
1635
|
}
|
|
1696
1636
|
),
|
|
1697
|
-
error && /* @__PURE__ */ (
|
|
1637
|
+
error && /* @__PURE__ */ jsx26("p", { className: "text-red-500 caption-1", children: error })
|
|
1698
1638
|
] })
|
|
1699
1639
|
}
|
|
1700
1640
|
);
|
|
1701
1641
|
}
|
|
1702
1642
|
|
|
1703
1643
|
// src/ColorPicker/ColorPickerBasic/ColorPicker.tsx
|
|
1704
|
-
|
|
1705
|
-
|
|
1644
|
+
import { ConfigProvider as ConfigProvider9, ColorPicker } from "antd";
|
|
1645
|
+
import { jsx as jsx27, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
1706
1646
|
function ColorPickerBasic({
|
|
1707
1647
|
value,
|
|
1708
1648
|
onChange,
|
|
@@ -1715,8 +1655,8 @@ function ColorPickerBasic({
|
|
|
1715
1655
|
className,
|
|
1716
1656
|
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35"
|
|
1717
1657
|
}) {
|
|
1718
|
-
return /* @__PURE__ */ (
|
|
1719
|
-
|
|
1658
|
+
return /* @__PURE__ */ jsx27(
|
|
1659
|
+
ConfigProvider9,
|
|
1720
1660
|
{
|
|
1721
1661
|
theme: {
|
|
1722
1662
|
token: {
|
|
@@ -1724,14 +1664,14 @@ function ColorPickerBasic({
|
|
|
1724
1664
|
fontSize: 16
|
|
1725
1665
|
}
|
|
1726
1666
|
},
|
|
1727
|
-
children: /* @__PURE__ */ (
|
|
1728
|
-
/* @__PURE__ */ (
|
|
1729
|
-
/* @__PURE__ */ (
|
|
1667
|
+
children: /* @__PURE__ */ jsxs23("div", { className: "container-input", children: [
|
|
1668
|
+
/* @__PURE__ */ jsxs23("div", { children: [
|
|
1669
|
+
/* @__PURE__ */ jsx27("span", { className: "body-1", children: label }),
|
|
1730
1670
|
" ",
|
|
1731
|
-
required && /* @__PURE__ */ (
|
|
1671
|
+
required && /* @__PURE__ */ jsx27("span", { className: "text-red-500", children: "*" })
|
|
1732
1672
|
] }),
|
|
1733
|
-
/* @__PURE__ */ (
|
|
1734
|
-
|
|
1673
|
+
/* @__PURE__ */ jsx27(
|
|
1674
|
+
ColorPicker,
|
|
1735
1675
|
{
|
|
1736
1676
|
defaultFormat,
|
|
1737
1677
|
className: `body-1 w-full ${className ?? ""}`,
|
|
@@ -1742,9 +1682,9 @@ function ColorPickerBasic({
|
|
|
1742
1682
|
showText: (color) => {
|
|
1743
1683
|
const hex = color.toHexString();
|
|
1744
1684
|
if (!value) {
|
|
1745
|
-
return /* @__PURE__ */ (
|
|
1685
|
+
return /* @__PURE__ */ jsx27("span", { children: placeholder });
|
|
1746
1686
|
}
|
|
1747
|
-
return /* @__PURE__ */ (
|
|
1687
|
+
return /* @__PURE__ */ jsxs23("span", { children: [
|
|
1748
1688
|
"(",
|
|
1749
1689
|
hex,
|
|
1750
1690
|
")"
|
|
@@ -1753,14 +1693,14 @@ function ColorPickerBasic({
|
|
|
1753
1693
|
disabled
|
|
1754
1694
|
}
|
|
1755
1695
|
),
|
|
1756
|
-
error && /* @__PURE__ */ (
|
|
1696
|
+
error && /* @__PURE__ */ jsx27("p", { className: "text-red-500 caption-1", children: error })
|
|
1757
1697
|
] })
|
|
1758
1698
|
}
|
|
1759
1699
|
);
|
|
1760
1700
|
}
|
|
1761
1701
|
|
|
1762
1702
|
// src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
|
|
1763
|
-
|
|
1703
|
+
import { ConfigProvider as ConfigProvider10, ColorPicker as ColorPicker2, theme } from "antd";
|
|
1764
1704
|
|
|
1765
1705
|
// node_modules/@babel/runtime/helpers/esm/typeof.js
|
|
1766
1706
|
function _typeof(o) {
|
|
@@ -2462,7 +2402,7 @@ var greyDark = ["#151515", "#1f1f1f", "#2d2d2d", "#393939", "#494949", "#5a5a5a"
|
|
|
2462
2402
|
greyDark.primary = greyDark[5];
|
|
2463
2403
|
|
|
2464
2404
|
// src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
|
|
2465
|
-
|
|
2405
|
+
import { jsx as jsx28, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2466
2406
|
function genPresets(presets = presetPalettes) {
|
|
2467
2407
|
return Object.entries(presets).map(([label, colors]) => ({
|
|
2468
2408
|
label,
|
|
@@ -2483,14 +2423,14 @@ function ColorPalettePickerBasic({
|
|
|
2483
2423
|
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35",
|
|
2484
2424
|
onClear
|
|
2485
2425
|
}) {
|
|
2486
|
-
const { token } =
|
|
2426
|
+
const { token } = theme.useToken();
|
|
2487
2427
|
const presets = genPresets({
|
|
2488
2428
|
primary: generate(token.colorPrimary),
|
|
2489
2429
|
red,
|
|
2490
2430
|
green
|
|
2491
2431
|
});
|
|
2492
|
-
return /* @__PURE__ */ (
|
|
2493
|
-
|
|
2432
|
+
return /* @__PURE__ */ jsx28(
|
|
2433
|
+
ConfigProvider10,
|
|
2494
2434
|
{
|
|
2495
2435
|
theme: {
|
|
2496
2436
|
token: {
|
|
@@ -2498,14 +2438,14 @@ function ColorPalettePickerBasic({
|
|
|
2498
2438
|
fontSize: 16
|
|
2499
2439
|
}
|
|
2500
2440
|
},
|
|
2501
|
-
children: /* @__PURE__ */ (
|
|
2502
|
-
/* @__PURE__ */ (
|
|
2503
|
-
/* @__PURE__ */ (
|
|
2441
|
+
children: /* @__PURE__ */ jsxs24("div", { className: "container-input", children: [
|
|
2442
|
+
/* @__PURE__ */ jsxs24("div", { children: [
|
|
2443
|
+
/* @__PURE__ */ jsx28("span", { className: "body-1", children: label }),
|
|
2504
2444
|
" ",
|
|
2505
|
-
required && /* @__PURE__ */ (
|
|
2445
|
+
required && /* @__PURE__ */ jsx28("span", { className: "text-red-500", children: "*" })
|
|
2506
2446
|
] }),
|
|
2507
|
-
/* @__PURE__ */ (
|
|
2508
|
-
|
|
2447
|
+
/* @__PURE__ */ jsx28(
|
|
2448
|
+
ColorPicker2,
|
|
2509
2449
|
{
|
|
2510
2450
|
defaultFormat,
|
|
2511
2451
|
className: `body-1 w-full ${className ?? ""}`,
|
|
@@ -2517,9 +2457,9 @@ function ColorPalettePickerBasic({
|
|
|
2517
2457
|
showText: (color) => {
|
|
2518
2458
|
const hex = color.toHexString();
|
|
2519
2459
|
if (!value) {
|
|
2520
|
-
return /* @__PURE__ */ (
|
|
2460
|
+
return /* @__PURE__ */ jsx28("span", { children: placeholder });
|
|
2521
2461
|
}
|
|
2522
|
-
return /* @__PURE__ */ (
|
|
2462
|
+
return /* @__PURE__ */ jsxs24("span", { children: [
|
|
2523
2463
|
"(",
|
|
2524
2464
|
hex,
|
|
2525
2465
|
")"
|
|
@@ -2529,15 +2469,15 @@ function ColorPalettePickerBasic({
|
|
|
2529
2469
|
onClear
|
|
2530
2470
|
}
|
|
2531
2471
|
),
|
|
2532
|
-
error && /* @__PURE__ */ (
|
|
2472
|
+
error && /* @__PURE__ */ jsx28("p", { className: "text-red-500 caption-1", children: error })
|
|
2533
2473
|
] })
|
|
2534
2474
|
}
|
|
2535
2475
|
);
|
|
2536
2476
|
}
|
|
2537
2477
|
|
|
2538
2478
|
// src/Select/SelectField/SelectField.tsx
|
|
2539
|
-
|
|
2540
|
-
|
|
2479
|
+
import { Select, ConfigProvider as ConfigProvider11 } from "antd";
|
|
2480
|
+
import { jsx as jsx29, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2541
2481
|
function SelectField({
|
|
2542
2482
|
value,
|
|
2543
2483
|
onChange,
|
|
@@ -2555,8 +2495,8 @@ function SelectField({
|
|
|
2555
2495
|
className,
|
|
2556
2496
|
onClear
|
|
2557
2497
|
}) {
|
|
2558
|
-
return /* @__PURE__ */ (
|
|
2559
|
-
|
|
2498
|
+
return /* @__PURE__ */ jsx29(
|
|
2499
|
+
ConfigProvider11,
|
|
2560
2500
|
{
|
|
2561
2501
|
theme: {
|
|
2562
2502
|
token: {
|
|
@@ -2564,14 +2504,14 @@ function SelectField({
|
|
|
2564
2504
|
fontSize: 16
|
|
2565
2505
|
}
|
|
2566
2506
|
},
|
|
2567
|
-
children: /* @__PURE__ */ (
|
|
2568
|
-
/* @__PURE__ */ (
|
|
2569
|
-
/* @__PURE__ */ (
|
|
2507
|
+
children: /* @__PURE__ */ jsxs25("div", { className: "container-input", children: [
|
|
2508
|
+
/* @__PURE__ */ jsxs25("div", { children: [
|
|
2509
|
+
/* @__PURE__ */ jsx29("span", { className: "body-1", children: label }),
|
|
2570
2510
|
" ",
|
|
2571
|
-
required && /* @__PURE__ */ (
|
|
2511
|
+
required && /* @__PURE__ */ jsx29("span", { className: "text-red-500", children: "*" })
|
|
2572
2512
|
] }),
|
|
2573
|
-
/* @__PURE__ */ (
|
|
2574
|
-
|
|
2513
|
+
/* @__PURE__ */ jsx29(
|
|
2514
|
+
Select,
|
|
2575
2515
|
{
|
|
2576
2516
|
showSearch: true,
|
|
2577
2517
|
value,
|
|
@@ -2585,7 +2525,7 @@ function SelectField({
|
|
|
2585
2525
|
options,
|
|
2586
2526
|
mode,
|
|
2587
2527
|
onSearch: handleSearch,
|
|
2588
|
-
prefix: prefix ? /* @__PURE__ */ (
|
|
2528
|
+
prefix: prefix ? /* @__PURE__ */ jsx29(
|
|
2589
2529
|
"span",
|
|
2590
2530
|
{
|
|
2591
2531
|
style: {
|
|
@@ -2602,15 +2542,15 @@ function SelectField({
|
|
|
2602
2542
|
onClear
|
|
2603
2543
|
}
|
|
2604
2544
|
),
|
|
2605
|
-
error && /* @__PURE__ */ (
|
|
2545
|
+
error && /* @__PURE__ */ jsx29("p", { className: "text-red-500 caption-1", children: error })
|
|
2606
2546
|
] })
|
|
2607
2547
|
}
|
|
2608
2548
|
);
|
|
2609
2549
|
}
|
|
2610
2550
|
|
|
2611
2551
|
// src/Select/SelectFieldGroup/SelectFieldGroup.tsx
|
|
2612
|
-
|
|
2613
|
-
|
|
2552
|
+
import { Select as Select2, ConfigProvider as ConfigProvider12 } from "antd";
|
|
2553
|
+
import { jsx as jsx30, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2614
2554
|
function SelectFieldGroup({
|
|
2615
2555
|
value,
|
|
2616
2556
|
onChange,
|
|
@@ -2627,22 +2567,22 @@ function SelectFieldGroup({
|
|
|
2627
2567
|
handleSearch,
|
|
2628
2568
|
className
|
|
2629
2569
|
}) {
|
|
2630
|
-
return /* @__PURE__ */ (
|
|
2631
|
-
|
|
2570
|
+
return /* @__PURE__ */ jsx30(
|
|
2571
|
+
ConfigProvider12,
|
|
2632
2572
|
{
|
|
2633
2573
|
theme: {
|
|
2634
2574
|
token: {
|
|
2635
2575
|
fontFamily: "Kanit"
|
|
2636
2576
|
}
|
|
2637
2577
|
},
|
|
2638
|
-
children: /* @__PURE__ */ (
|
|
2639
|
-
/* @__PURE__ */ (
|
|
2640
|
-
/* @__PURE__ */ (
|
|
2578
|
+
children: /* @__PURE__ */ jsxs26("div", { className: "container-input", children: [
|
|
2579
|
+
/* @__PURE__ */ jsxs26("div", { children: [
|
|
2580
|
+
/* @__PURE__ */ jsx30("span", { className: "body-1", children: label }),
|
|
2641
2581
|
" ",
|
|
2642
|
-
required && /* @__PURE__ */ (
|
|
2582
|
+
required && /* @__PURE__ */ jsx30("span", { className: "text-red-500", children: "*" })
|
|
2643
2583
|
] }),
|
|
2644
|
-
/* @__PURE__ */ (
|
|
2645
|
-
|
|
2584
|
+
/* @__PURE__ */ jsx30(
|
|
2585
|
+
Select2,
|
|
2646
2586
|
{
|
|
2647
2587
|
showSearch: true,
|
|
2648
2588
|
value,
|
|
@@ -2656,7 +2596,7 @@ function SelectFieldGroup({
|
|
|
2656
2596
|
options,
|
|
2657
2597
|
mode,
|
|
2658
2598
|
onSearch: handleSearch,
|
|
2659
|
-
prefix: prefix ? /* @__PURE__ */ (
|
|
2599
|
+
prefix: prefix ? /* @__PURE__ */ jsx30(
|
|
2660
2600
|
"span",
|
|
2661
2601
|
{
|
|
2662
2602
|
style: {
|
|
@@ -2672,14 +2612,14 @@ function SelectFieldGroup({
|
|
|
2672
2612
|
allowClear: true
|
|
2673
2613
|
}
|
|
2674
2614
|
),
|
|
2675
|
-
error && /* @__PURE__ */ (
|
|
2615
|
+
error && /* @__PURE__ */ jsx30("p", { className: "text-red-500 caption-1", children: error })
|
|
2676
2616
|
] })
|
|
2677
2617
|
}
|
|
2678
2618
|
);
|
|
2679
2619
|
}
|
|
2680
2620
|
|
|
2681
2621
|
// src/Select/SelectFieldStatus/SelectFieldStatus.tsx
|
|
2682
|
-
|
|
2622
|
+
import { Select as Select3, ConfigProvider as ConfigProvider13 } from "antd";
|
|
2683
2623
|
|
|
2684
2624
|
// src/Select/SelectFieldStatus/StatusMockup.ts
|
|
2685
2625
|
var status = [
|
|
@@ -2691,8 +2631,8 @@ var status = [
|
|
|
2691
2631
|
];
|
|
2692
2632
|
|
|
2693
2633
|
// src/Select/SelectFieldStatus/SelectFieldStatus.tsx
|
|
2694
|
-
|
|
2695
|
-
|
|
2634
|
+
import { DownOutlined } from "@ant-design/icons";
|
|
2635
|
+
import { jsx as jsx31, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
2696
2636
|
function SelectFieldStatus({
|
|
2697
2637
|
value,
|
|
2698
2638
|
onChange,
|
|
@@ -2705,8 +2645,8 @@ function SelectFieldStatus({
|
|
|
2705
2645
|
className
|
|
2706
2646
|
}) {
|
|
2707
2647
|
const selectedItem = status.find((s) => s.value === value);
|
|
2708
|
-
return /* @__PURE__ */ (
|
|
2709
|
-
|
|
2648
|
+
return /* @__PURE__ */ jsx31(
|
|
2649
|
+
ConfigProvider13,
|
|
2710
2650
|
{
|
|
2711
2651
|
theme: {
|
|
2712
2652
|
components: {
|
|
@@ -2721,17 +2661,17 @@ function SelectFieldStatus({
|
|
|
2721
2661
|
fontFamily: "Kanit"
|
|
2722
2662
|
}
|
|
2723
2663
|
},
|
|
2724
|
-
children: /* @__PURE__ */ (
|
|
2725
|
-
/* @__PURE__ */ (
|
|
2726
|
-
/* @__PURE__ */ (
|
|
2664
|
+
children: /* @__PURE__ */ jsxs27("div", { className: "container-input", children: [
|
|
2665
|
+
/* @__PURE__ */ jsxs27("div", { children: [
|
|
2666
|
+
/* @__PURE__ */ jsx31("span", { className: "body-1", children: label }),
|
|
2727
2667
|
" ",
|
|
2728
|
-
required && /* @__PURE__ */ (
|
|
2668
|
+
required && /* @__PURE__ */ jsx31("span", { className: "text-red-500", children: "*" })
|
|
2729
2669
|
] }),
|
|
2730
|
-
/* @__PURE__ */ (
|
|
2731
|
-
|
|
2670
|
+
/* @__PURE__ */ jsx31(
|
|
2671
|
+
Select3,
|
|
2732
2672
|
{
|
|
2733
2673
|
disabled,
|
|
2734
|
-
suffixIcon: /* @__PURE__ */ (
|
|
2674
|
+
suffixIcon: /* @__PURE__ */ jsx31(DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
|
|
2735
2675
|
value,
|
|
2736
2676
|
onChange,
|
|
2737
2677
|
className: `body-3 custom-select flex justify-center w-full ${className ?? ""}`,
|
|
@@ -2742,14 +2682,14 @@ function SelectFieldStatus({
|
|
|
2742
2682
|
showSearch: true
|
|
2743
2683
|
}
|
|
2744
2684
|
),
|
|
2745
|
-
error && /* @__PURE__ */ (
|
|
2685
|
+
error && /* @__PURE__ */ jsx31("p", { className: "text-red-500 caption-1", children: error })
|
|
2746
2686
|
] })
|
|
2747
2687
|
}
|
|
2748
2688
|
);
|
|
2749
2689
|
}
|
|
2750
2690
|
|
|
2751
2691
|
// src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
|
|
2752
|
-
|
|
2692
|
+
import { Select as Select4, ConfigProvider as ConfigProvider14 } from "antd";
|
|
2753
2693
|
|
|
2754
2694
|
// src/Select/SelectFieldStatusReport/StatusReportMockup.ts
|
|
2755
2695
|
var status2 = [
|
|
@@ -2758,8 +2698,8 @@ var status2 = [
|
|
|
2758
2698
|
];
|
|
2759
2699
|
|
|
2760
2700
|
// src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
|
|
2761
|
-
|
|
2762
|
-
|
|
2701
|
+
import { DownOutlined as DownOutlined2 } from "@ant-design/icons";
|
|
2702
|
+
import { jsx as jsx32, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
2763
2703
|
function SelectFieldStatusReport({
|
|
2764
2704
|
value,
|
|
2765
2705
|
onChange,
|
|
@@ -2772,8 +2712,8 @@ function SelectFieldStatusReport({
|
|
|
2772
2712
|
options
|
|
2773
2713
|
}) {
|
|
2774
2714
|
const selectedItem = status2.find((s) => s.value === value);
|
|
2775
|
-
return /* @__PURE__ */ (
|
|
2776
|
-
|
|
2715
|
+
return /* @__PURE__ */ jsx32(
|
|
2716
|
+
ConfigProvider14,
|
|
2777
2717
|
{
|
|
2778
2718
|
theme: {
|
|
2779
2719
|
components: {
|
|
@@ -2788,17 +2728,17 @@ function SelectFieldStatusReport({
|
|
|
2788
2728
|
fontFamily: "Kanit"
|
|
2789
2729
|
}
|
|
2790
2730
|
},
|
|
2791
|
-
children: /* @__PURE__ */ (
|
|
2792
|
-
/* @__PURE__ */ (
|
|
2793
|
-
/* @__PURE__ */ (
|
|
2731
|
+
children: /* @__PURE__ */ jsxs28("div", { className: "container-input", children: [
|
|
2732
|
+
/* @__PURE__ */ jsxs28("div", { children: [
|
|
2733
|
+
/* @__PURE__ */ jsx32("span", { className: "body-1", children: label }),
|
|
2794
2734
|
" ",
|
|
2795
|
-
required && /* @__PURE__ */ (
|
|
2735
|
+
required && /* @__PURE__ */ jsx32("span", { className: "text-red-500", children: "*" })
|
|
2796
2736
|
] }),
|
|
2797
|
-
/* @__PURE__ */ (
|
|
2798
|
-
|
|
2737
|
+
/* @__PURE__ */ jsx32(
|
|
2738
|
+
Select4,
|
|
2799
2739
|
{
|
|
2800
2740
|
disabled,
|
|
2801
|
-
suffixIcon: /* @__PURE__ */ (
|
|
2741
|
+
suffixIcon: /* @__PURE__ */ jsx32(DownOutlined2, { style: { color: value ? "#fff" : "#D9D9D9" } }),
|
|
2802
2742
|
value,
|
|
2803
2743
|
onChange,
|
|
2804
2744
|
className: `body-3 custom-select flex justify-center w-full ${className ?? ""}`,
|
|
@@ -2809,16 +2749,16 @@ function SelectFieldStatusReport({
|
|
|
2809
2749
|
showSearch: true
|
|
2810
2750
|
}
|
|
2811
2751
|
),
|
|
2812
|
-
error && /* @__PURE__ */ (
|
|
2752
|
+
error && /* @__PURE__ */ jsx32("p", { className: "text-red-500 caption-1", children: error })
|
|
2813
2753
|
] })
|
|
2814
2754
|
}
|
|
2815
2755
|
);
|
|
2816
2756
|
}
|
|
2817
2757
|
|
|
2818
2758
|
// src/Select/SelectFieldTag/SelectFieldTag.tsx
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2759
|
+
import { Select as Select5, ConfigProvider as ConfigProvider15 } from "antd";
|
|
2760
|
+
import { useState as useState6 } from "react";
|
|
2761
|
+
import { jsx as jsx33, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
2822
2762
|
function SelectFieldTag({
|
|
2823
2763
|
label,
|
|
2824
2764
|
required,
|
|
@@ -2830,10 +2770,10 @@ function SelectFieldTag({
|
|
|
2830
2770
|
onChange,
|
|
2831
2771
|
onClear
|
|
2832
2772
|
}) {
|
|
2833
|
-
const [internalValue, setInternalValue] = (
|
|
2773
|
+
const [internalValue, setInternalValue] = useState6([]);
|
|
2834
2774
|
const isControlled = controlledValue !== void 0;
|
|
2835
2775
|
const value = isControlled ? controlledValue : internalValue;
|
|
2836
|
-
const [searchWord, setSearchWord] = (
|
|
2776
|
+
const [searchWord, setSearchWord] = useState6("");
|
|
2837
2777
|
const handleChange = (val) => {
|
|
2838
2778
|
const trimValue = val.map((v) => v.trim());
|
|
2839
2779
|
const filtered = trimValue.filter((v) => v.trim() !== "");
|
|
@@ -2851,22 +2791,22 @@ function SelectFieldTag({
|
|
|
2851
2791
|
}
|
|
2852
2792
|
onChange?.([]);
|
|
2853
2793
|
};
|
|
2854
|
-
return /* @__PURE__ */ (
|
|
2855
|
-
|
|
2794
|
+
return /* @__PURE__ */ jsx33(
|
|
2795
|
+
ConfigProvider15,
|
|
2856
2796
|
{
|
|
2857
2797
|
theme: {
|
|
2858
2798
|
token: {
|
|
2859
2799
|
fontFamily: "Kanit"
|
|
2860
2800
|
}
|
|
2861
2801
|
},
|
|
2862
|
-
children: /* @__PURE__ */ (
|
|
2863
|
-
/* @__PURE__ */ (
|
|
2864
|
-
/* @__PURE__ */ (
|
|
2802
|
+
children: /* @__PURE__ */ jsxs29("div", { className: "container-input", children: [
|
|
2803
|
+
/* @__PURE__ */ jsxs29("div", { children: [
|
|
2804
|
+
/* @__PURE__ */ jsx33("span", { className: "body-1", children: label }),
|
|
2865
2805
|
" ",
|
|
2866
|
-
required && /* @__PURE__ */ (
|
|
2806
|
+
required && /* @__PURE__ */ jsx33("span", { className: "text-red-500", children: "*" })
|
|
2867
2807
|
] }),
|
|
2868
|
-
/* @__PURE__ */ (
|
|
2869
|
-
|
|
2808
|
+
/* @__PURE__ */ jsx33(
|
|
2809
|
+
Select5,
|
|
2870
2810
|
{
|
|
2871
2811
|
mode: "tags",
|
|
2872
2812
|
className: `body-1 flex justify-center w-full ${className ?? ""}`,
|
|
@@ -2884,17 +2824,17 @@ function SelectFieldTag({
|
|
|
2884
2824
|
onClear
|
|
2885
2825
|
}
|
|
2886
2826
|
),
|
|
2887
|
-
error && /* @__PURE__ */ (
|
|
2827
|
+
error && /* @__PURE__ */ jsx33("p", { className: "text-red-500 caption-1", children: error })
|
|
2888
2828
|
] })
|
|
2889
2829
|
}
|
|
2890
2830
|
);
|
|
2891
2831
|
}
|
|
2892
2832
|
|
|
2893
2833
|
// src/Select/SelectCustom/SelectCustom.tsx
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2834
|
+
import { IconTrash } from "@tabler/icons-react";
|
|
2835
|
+
import { Select as Select6, ConfigProvider as ConfigProvider16 } from "antd";
|
|
2836
|
+
import { useState as useState7 } from "react";
|
|
2837
|
+
import { jsx as jsx34, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
2898
2838
|
function SelectCustom({
|
|
2899
2839
|
label = "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23",
|
|
2900
2840
|
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01",
|
|
@@ -2904,8 +2844,8 @@ function SelectCustom({
|
|
|
2904
2844
|
error,
|
|
2905
2845
|
onClear
|
|
2906
2846
|
}) {
|
|
2907
|
-
const [value, setValue] = (
|
|
2908
|
-
const [valueList, setValueList] = (
|
|
2847
|
+
const [value, setValue] = useState7([]);
|
|
2848
|
+
const [valueList, setValueList] = useState7([]);
|
|
2909
2849
|
const handleChange = (selectedValues) => {
|
|
2910
2850
|
const newValues = selectedValues.filter((v) => !valueList.includes(v));
|
|
2911
2851
|
setValueList((prev) => {
|
|
@@ -2923,8 +2863,8 @@ function SelectCustom({
|
|
|
2923
2863
|
});
|
|
2924
2864
|
};
|
|
2925
2865
|
const filteredOptions = options.filter((opt) => !valueList.includes(opt.value)).map((opt) => ({ value: opt.value, label: opt.label }));
|
|
2926
|
-
return /* @__PURE__ */ (
|
|
2927
|
-
|
|
2866
|
+
return /* @__PURE__ */ jsx34(
|
|
2867
|
+
ConfigProvider16,
|
|
2928
2868
|
{
|
|
2929
2869
|
theme: {
|
|
2930
2870
|
token: {
|
|
@@ -2932,14 +2872,14 @@ function SelectCustom({
|
|
|
2932
2872
|
fontSize: 16
|
|
2933
2873
|
}
|
|
2934
2874
|
},
|
|
2935
|
-
children: /* @__PURE__ */ (
|
|
2936
|
-
/* @__PURE__ */ (
|
|
2937
|
-
/* @__PURE__ */ (
|
|
2875
|
+
children: /* @__PURE__ */ jsxs30("div", { className: "container-input", children: [
|
|
2876
|
+
/* @__PURE__ */ jsxs30("div", { children: [
|
|
2877
|
+
/* @__PURE__ */ jsx34("span", { className: "body-1", children: label }),
|
|
2938
2878
|
" ",
|
|
2939
|
-
required && /* @__PURE__ */ (
|
|
2879
|
+
required && /* @__PURE__ */ jsx34("span", { className: "text-red-500", children: "*" })
|
|
2940
2880
|
] }),
|
|
2941
|
-
/* @__PURE__ */ (
|
|
2942
|
-
|
|
2881
|
+
/* @__PURE__ */ jsx34(
|
|
2882
|
+
Select6,
|
|
2943
2883
|
{
|
|
2944
2884
|
value,
|
|
2945
2885
|
onChange: handleChange,
|
|
@@ -2949,16 +2889,16 @@ function SelectCustom({
|
|
|
2949
2889
|
onClear
|
|
2950
2890
|
}
|
|
2951
2891
|
),
|
|
2952
|
-
error && /* @__PURE__ */ (
|
|
2953
|
-
/* @__PURE__ */ (
|
|
2954
|
-
/* @__PURE__ */ (
|
|
2955
|
-
/* @__PURE__ */ (
|
|
2892
|
+
error && /* @__PURE__ */ jsx34("p", { className: "text-red-500 caption-1", children: error }),
|
|
2893
|
+
/* @__PURE__ */ jsx34("div", { className: "w-full p-[2px] overflow-y-auto", children: valueList.map((v, index) => /* @__PURE__ */ jsxs30("div", { className: "flex justify-between items-center py-[2px] body-1", children: [
|
|
2894
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex flex-row gap-[8px]", children: [
|
|
2895
|
+
/* @__PURE__ */ jsxs30("p", { children: [
|
|
2956
2896
|
index + 1,
|
|
2957
2897
|
"."
|
|
2958
2898
|
] }),
|
|
2959
|
-
/* @__PURE__ */ (
|
|
2899
|
+
/* @__PURE__ */ jsx34("p", { children: v })
|
|
2960
2900
|
] }),
|
|
2961
|
-
/* @__PURE__ */ (
|
|
2901
|
+
/* @__PURE__ */ jsx34(IconTrash, { className: "cursor-pointer", onClick: () => handleDelete(v) })
|
|
2962
2902
|
] }, index)) })
|
|
2963
2903
|
] })
|
|
2964
2904
|
}
|
|
@@ -2966,8 +2906,8 @@ function SelectCustom({
|
|
|
2966
2906
|
}
|
|
2967
2907
|
|
|
2968
2908
|
// src/SortFilter/SortFilter.tsx
|
|
2969
|
-
|
|
2970
|
-
|
|
2909
|
+
import { ConfigProvider as ConfigProvider17 } from "antd";
|
|
2910
|
+
import { CalendarOutlined } from "@ant-design/icons";
|
|
2971
2911
|
|
|
2972
2912
|
// src/SortFilter/DataMockSortFilter.ts
|
|
2973
2913
|
var years = [
|
|
@@ -2997,9 +2937,9 @@ var quarters = [
|
|
|
2997
2937
|
];
|
|
2998
2938
|
|
|
2999
2939
|
// src/SortFilter/SortFilter.tsx
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
2940
|
+
import { useState as useState8 } from "react";
|
|
2941
|
+
import { IconSortDescending as IconSortDescending2, IconFilter } from "@tabler/icons-react";
|
|
2942
|
+
import { jsx as jsx35, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
3003
2943
|
function SortFilter({
|
|
3004
2944
|
showYear = true,
|
|
3005
2945
|
showQuarter = true,
|
|
@@ -3007,23 +2947,23 @@ function SortFilter({
|
|
|
3007
2947
|
onSortClick,
|
|
3008
2948
|
onFilterClick
|
|
3009
2949
|
}) {
|
|
3010
|
-
const [yearValue, setYearValue] = (
|
|
3011
|
-
const [monthValue, setMonthValue] = (
|
|
3012
|
-
const [quarterValue, setQuartersValue] = (
|
|
3013
|
-
return /* @__PURE__ */ (
|
|
3014
|
-
|
|
2950
|
+
const [yearValue, setYearValue] = useState8();
|
|
2951
|
+
const [monthValue, setMonthValue] = useState8();
|
|
2952
|
+
const [quarterValue, setQuartersValue] = useState8();
|
|
2953
|
+
return /* @__PURE__ */ jsx35(
|
|
2954
|
+
ConfigProvider17,
|
|
3015
2955
|
{
|
|
3016
2956
|
theme: {
|
|
3017
2957
|
token: {
|
|
3018
2958
|
fontFamily: "Kanit"
|
|
3019
2959
|
}
|
|
3020
2960
|
},
|
|
3021
|
-
children: /* @__PURE__ */ (
|
|
3022
|
-
/* @__PURE__ */ (
|
|
3023
|
-
showYear && /* @__PURE__ */ (
|
|
2961
|
+
children: /* @__PURE__ */ jsxs31("div", { className: "w-full flex items-center justify-between", children: [
|
|
2962
|
+
/* @__PURE__ */ jsxs31("div", { className: "w-full flex gap-[10px]", children: [
|
|
2963
|
+
showYear && /* @__PURE__ */ jsx35("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx35(
|
|
3024
2964
|
SelectField,
|
|
3025
2965
|
{
|
|
3026
|
-
prefix: /* @__PURE__ */ (
|
|
2966
|
+
prefix: /* @__PURE__ */ jsx35(CalendarOutlined, {}),
|
|
3027
2967
|
onChange: setYearValue,
|
|
3028
2968
|
options: years.map((s) => ({
|
|
3029
2969
|
value: s.value,
|
|
@@ -3033,10 +2973,10 @@ function SortFilter({
|
|
|
3033
2973
|
value: yearValue
|
|
3034
2974
|
}
|
|
3035
2975
|
) }),
|
|
3036
|
-
showMonth && /* @__PURE__ */ (
|
|
2976
|
+
showMonth && /* @__PURE__ */ jsx35("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx35(
|
|
3037
2977
|
SelectField,
|
|
3038
2978
|
{
|
|
3039
|
-
prefix: /* @__PURE__ */ (
|
|
2979
|
+
prefix: /* @__PURE__ */ jsx35(CalendarOutlined, {}),
|
|
3040
2980
|
onChange: setMonthValue,
|
|
3041
2981
|
options: months.map((s) => ({
|
|
3042
2982
|
value: s.value,
|
|
@@ -3046,10 +2986,10 @@ function SortFilter({
|
|
|
3046
2986
|
placeholder: "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E14\u0E37\u0E2D\u0E19"
|
|
3047
2987
|
}
|
|
3048
2988
|
) }),
|
|
3049
|
-
showQuarter && /* @__PURE__ */ (
|
|
2989
|
+
showQuarter && /* @__PURE__ */ jsx35("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx35(
|
|
3050
2990
|
SelectField,
|
|
3051
2991
|
{
|
|
3052
|
-
prefix: /* @__PURE__ */ (
|
|
2992
|
+
prefix: /* @__PURE__ */ jsx35(CalendarOutlined, {}),
|
|
3053
2993
|
onChange: setQuartersValue,
|
|
3054
2994
|
options: quarters.map((s) => ({
|
|
3055
2995
|
value: s.value,
|
|
@@ -3060,17 +3000,17 @@ function SortFilter({
|
|
|
3060
3000
|
}
|
|
3061
3001
|
) })
|
|
3062
3002
|
] }),
|
|
3063
|
-
/* @__PURE__ */ (
|
|
3064
|
-
/* @__PURE__ */ (
|
|
3065
|
-
|
|
3003
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex gap-[10px]", children: [
|
|
3004
|
+
/* @__PURE__ */ jsx35(
|
|
3005
|
+
IconSortDescending2,
|
|
3066
3006
|
{
|
|
3067
3007
|
size: 24,
|
|
3068
3008
|
className: "cursor-pointer",
|
|
3069
3009
|
onClick: onSortClick
|
|
3070
3010
|
}
|
|
3071
3011
|
),
|
|
3072
|
-
/* @__PURE__ */ (
|
|
3073
|
-
|
|
3012
|
+
/* @__PURE__ */ jsx35(
|
|
3013
|
+
IconFilter,
|
|
3074
3014
|
{
|
|
3075
3015
|
size: 24,
|
|
3076
3016
|
className: "cursor-pointer",
|
|
@@ -3084,9 +3024,9 @@ function SortFilter({
|
|
|
3084
3024
|
}
|
|
3085
3025
|
|
|
3086
3026
|
// src/Upload/FileUploader/FileUploader.tsx
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3027
|
+
import { IconPaperclip, IconUpload, IconTrash as IconTrash2 } from "@tabler/icons-react";
|
|
3028
|
+
import { useRef as useRef2, useState as useState9 } from "react";
|
|
3029
|
+
import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
3090
3030
|
function FileUploader({
|
|
3091
3031
|
onUpload,
|
|
3092
3032
|
onError,
|
|
@@ -3098,10 +3038,10 @@ function FileUploader({
|
|
|
3098
3038
|
description,
|
|
3099
3039
|
label
|
|
3100
3040
|
}) {
|
|
3101
|
-
const [fileList, setFileList] = (
|
|
3102
|
-
const [uploading, setUploading] = (
|
|
3103
|
-
const [dragActive, setDragActive] = (
|
|
3104
|
-
const inputRef = (
|
|
3041
|
+
const [fileList, setFileList] = useState9([]);
|
|
3042
|
+
const [uploading, setUploading] = useState9(false);
|
|
3043
|
+
const [dragActive, setDragActive] = useState9(false);
|
|
3044
|
+
const inputRef = useRef2(null);
|
|
3105
3045
|
const validateFile = (file) => {
|
|
3106
3046
|
if (accept && !accept.includes(file.type)) {
|
|
3107
3047
|
onError?.(`Invalid file type. file: ${file.name}`);
|
|
@@ -3157,10 +3097,10 @@ function FileUploader({
|
|
|
3157
3097
|
}
|
|
3158
3098
|
if (inputRef.current) inputRef.current.value = "";
|
|
3159
3099
|
};
|
|
3160
|
-
return /* @__PURE__ */ (
|
|
3161
|
-
label && /* @__PURE__ */ (
|
|
3162
|
-
/* @__PURE__ */ (
|
|
3163
|
-
mode === "upload" ? /* @__PURE__ */ (
|
|
3100
|
+
return /* @__PURE__ */ jsxs32("div", { className: "w-full", children: [
|
|
3101
|
+
label && /* @__PURE__ */ jsx36("p", { className: "body-1", children: label }),
|
|
3102
|
+
/* @__PURE__ */ jsxs32("div", { children: [
|
|
3103
|
+
mode === "upload" ? /* @__PURE__ */ jsx36(
|
|
3164
3104
|
"button",
|
|
3165
3105
|
{
|
|
3166
3106
|
type: "button",
|
|
@@ -3168,15 +3108,15 @@ function FileUploader({
|
|
|
3168
3108
|
className: `h-[34px] flex justify-center items-center gap-2 w-full rounded-[2px] border border-gray-200 body-1
|
|
3169
3109
|
${disabled ? "cursor-not-allowed text-gray-400 bg-gray-100" : "cursor-pointer hover:text-primary-400 hover:border-primary-200 duration-300"}`,
|
|
3170
3110
|
disabled: disabled ? disabled : uploading,
|
|
3171
|
-
children: uploading ? /* @__PURE__ */ (
|
|
3172
|
-
/* @__PURE__ */ (
|
|
3111
|
+
children: uploading ? /* @__PURE__ */ jsxs32(Fragment5, { children: [
|
|
3112
|
+
/* @__PURE__ */ jsx36(Loader, { size: 15 }),
|
|
3173
3113
|
" \u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14"
|
|
3174
|
-
] }) : /* @__PURE__ */ (
|
|
3175
|
-
/* @__PURE__ */ (
|
|
3114
|
+
] }) : /* @__PURE__ */ jsxs32(Fragment5, { children: [
|
|
3115
|
+
/* @__PURE__ */ jsx36(IconUpload, { size: 15, className: "text-gray-400" }),
|
|
3176
3116
|
" \u0E41\u0E19\u0E1A\u0E44\u0E1F\u0E25\u0E4C"
|
|
3177
3117
|
] })
|
|
3178
3118
|
}
|
|
3179
|
-
) : /* @__PURE__ */ (
|
|
3119
|
+
) : /* @__PURE__ */ jsx36(
|
|
3180
3120
|
"div",
|
|
3181
3121
|
{
|
|
3182
3122
|
className: `min-w-[400px] min-h-[120px] flex justify-center items-center border-2 border-dashed rounded-md p-4 transition-colors body-1
|
|
@@ -3190,17 +3130,17 @@ function FileUploader({
|
|
|
3190
3130
|
},
|
|
3191
3131
|
onDragLeave: () => setDragActive(false),
|
|
3192
3132
|
onDrop: handleDrop,
|
|
3193
|
-
children: uploading ? /* @__PURE__ */ (
|
|
3194
|
-
/* @__PURE__ */ (
|
|
3133
|
+
children: uploading ? /* @__PURE__ */ jsxs32("div", { className: "flex justify-center items-center gap-2", children: [
|
|
3134
|
+
/* @__PURE__ */ jsx36(Loader, { size: 15 }),
|
|
3195
3135
|
" \u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14"
|
|
3196
|
-
] }) : /* @__PURE__ */ (
|
|
3197
|
-
/* @__PURE__ */ (
|
|
3198
|
-
/* @__PURE__ */ (
|
|
3199
|
-
/* @__PURE__ */ (
|
|
3136
|
+
] }) : /* @__PURE__ */ jsxs32("div", { className: "flex flex-col items-center gap-2", children: [
|
|
3137
|
+
/* @__PURE__ */ jsx36(IconUpload, { size: 20 }),
|
|
3138
|
+
/* @__PURE__ */ jsx36("span", { className: "body-1", children: "\u0E04\u0E25\u0E34\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E25\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C\u0E21\u0E32\u0E17\u0E35\u0E48\u0E1A\u0E23\u0E34\u0E40\u0E27\u0E13\u0E19\u0E35\u0E49\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14" }),
|
|
3139
|
+
/* @__PURE__ */ jsx36("span", { className: "text-gray-400 body-3", children: "\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E40\u0E14\u0E35\u0E48\u0E22\u0E27\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E25\u0E32\u0E22\u0E44\u0E1F\u0E25\u0E4C" })
|
|
3200
3140
|
] })
|
|
3201
3141
|
}
|
|
3202
3142
|
),
|
|
3203
|
-
/* @__PURE__ */ (
|
|
3143
|
+
/* @__PURE__ */ jsx36(
|
|
3204
3144
|
"input",
|
|
3205
3145
|
{
|
|
3206
3146
|
type: "file",
|
|
@@ -3213,14 +3153,14 @@ function FileUploader({
|
|
|
3213
3153
|
}
|
|
3214
3154
|
)
|
|
3215
3155
|
] }),
|
|
3216
|
-
description && /* @__PURE__ */ (
|
|
3217
|
-
/* @__PURE__ */ (
|
|
3218
|
-
/* @__PURE__ */ (
|
|
3219
|
-
/* @__PURE__ */ (
|
|
3220
|
-
/* @__PURE__ */ (
|
|
3156
|
+
description && /* @__PURE__ */ jsx36("p", { className: "text-gray-400 body-4", children: description }),
|
|
3157
|
+
/* @__PURE__ */ jsx36("div", { className: "mt-[8px]", children: fileList.length !== 0 && fileList.map((file, index) => /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2 rounded-[4px] px-[8px] py-[4px] body-1", children: [
|
|
3158
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2 w-[75%] overflow-hidden", children: [
|
|
3159
|
+
/* @__PURE__ */ jsx36("div", { className: "w-[15px] h-[15px]", children: /* @__PURE__ */ jsx36(IconPaperclip, { size: 15 }) }),
|
|
3160
|
+
/* @__PURE__ */ jsx36("span", { className: "truncate", children: file.name })
|
|
3221
3161
|
] }),
|
|
3222
|
-
/* @__PURE__ */ (
|
|
3223
|
-
|
|
3162
|
+
/* @__PURE__ */ jsx36(
|
|
3163
|
+
IconTrash2,
|
|
3224
3164
|
{
|
|
3225
3165
|
size: 20,
|
|
3226
3166
|
className: "ml-auto hover:text-red-500 cursor-pointer",
|
|
@@ -3253,9 +3193,9 @@ function messageLoading(content, duration) {
|
|
|
3253
3193
|
}
|
|
3254
3194
|
|
|
3255
3195
|
// src/Breadcrumb/Breadcrumb.tsx
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3196
|
+
import { ConfigProvider as ConfigProvider18 } from "antd";
|
|
3197
|
+
import { Breadcrumb } from "antd";
|
|
3198
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
3259
3199
|
function Breadcrumbs({
|
|
3260
3200
|
items,
|
|
3261
3201
|
separator,
|
|
@@ -3263,16 +3203,16 @@ function Breadcrumbs({
|
|
|
3263
3203
|
classname,
|
|
3264
3204
|
params
|
|
3265
3205
|
}) {
|
|
3266
|
-
return /* @__PURE__ */ (
|
|
3267
|
-
|
|
3206
|
+
return /* @__PURE__ */ jsx37(
|
|
3207
|
+
ConfigProvider18,
|
|
3268
3208
|
{
|
|
3269
3209
|
theme: {
|
|
3270
3210
|
token: {
|
|
3271
3211
|
fontFamily: "Kanit"
|
|
3272
3212
|
}
|
|
3273
3213
|
},
|
|
3274
|
-
children: /* @__PURE__ */ (
|
|
3275
|
-
|
|
3214
|
+
children: /* @__PURE__ */ jsx37(
|
|
3215
|
+
Breadcrumb,
|
|
3276
3216
|
{
|
|
3277
3217
|
items,
|
|
3278
3218
|
separator,
|
|
@@ -3286,8 +3226,8 @@ function Breadcrumbs({
|
|
|
3286
3226
|
}
|
|
3287
3227
|
|
|
3288
3228
|
// src/HeadingPage/HeadingPage.tsx
|
|
3289
|
-
|
|
3290
|
-
|
|
3229
|
+
import { ConfigProvider as ConfigProvider19 } from "antd";
|
|
3230
|
+
import { jsx as jsx38, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
3291
3231
|
function HeadingPage({ Heading }) {
|
|
3292
3232
|
const today = (/* @__PURE__ */ new Date()).toLocaleDateString("th-TH", {
|
|
3293
3233
|
weekday: "long",
|
|
@@ -3295,17 +3235,17 @@ function HeadingPage({ Heading }) {
|
|
|
3295
3235
|
month: "long",
|
|
3296
3236
|
year: "numeric"
|
|
3297
3237
|
});
|
|
3298
|
-
return /* @__PURE__ */ (
|
|
3299
|
-
|
|
3238
|
+
return /* @__PURE__ */ jsx38(
|
|
3239
|
+
ConfigProvider19,
|
|
3300
3240
|
{
|
|
3301
3241
|
theme: {
|
|
3302
3242
|
token: {
|
|
3303
3243
|
fontFamily: "Kanit"
|
|
3304
3244
|
}
|
|
3305
3245
|
},
|
|
3306
|
-
children: /* @__PURE__ */ (
|
|
3307
|
-
/* @__PURE__ */ (
|
|
3308
|
-
/* @__PURE__ */ (
|
|
3246
|
+
children: /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-[10px] px-[20px] py-[10px]", children: [
|
|
3247
|
+
/* @__PURE__ */ jsx38("p", { className: "headline-5", children: Heading }),
|
|
3248
|
+
/* @__PURE__ */ jsxs33("p", { className: "body-1", children: [
|
|
3309
3249
|
" \u0E27\u0E31\u0E19\u0E19\u0E35\u0E49 ",
|
|
3310
3250
|
today
|
|
3311
3251
|
] })
|
|
@@ -3315,9 +3255,9 @@ function HeadingPage({ Heading }) {
|
|
|
3315
3255
|
}
|
|
3316
3256
|
|
|
3317
3257
|
// src/Progress/ProgressBar.tsx
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3258
|
+
import { ConfigProvider as ConfigProvider20, Progress } from "antd";
|
|
3259
|
+
import { useEffect as useEffect2, useRef as useRef3, useState as useState10 } from "react";
|
|
3260
|
+
import { jsx as jsx39, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
3321
3261
|
function ProgressBar({
|
|
3322
3262
|
percent = 0,
|
|
3323
3263
|
size = "default",
|
|
@@ -3330,8 +3270,8 @@ function ProgressBar({
|
|
|
3330
3270
|
steps,
|
|
3331
3271
|
isCheckPoints
|
|
3332
3272
|
}) {
|
|
3333
|
-
const [barWidth, setBarWidth] = (0
|
|
3334
|
-
const progressRef = (
|
|
3273
|
+
const [barWidth, setBarWidth] = useState10(0);
|
|
3274
|
+
const progressRef = useRef3(null);
|
|
3335
3275
|
let strokeColor = "--color-green-500";
|
|
3336
3276
|
const defaultStrokeWidth = type === "circle" ? 13 : strokeWidth ?? 8;
|
|
3337
3277
|
const defaultSize = type === "circle" ? 43 : size;
|
|
@@ -3339,7 +3279,7 @@ function ProgressBar({
|
|
|
3339
3279
|
const minCheckpoint = Math.min(...checkpoints);
|
|
3340
3280
|
strokeColor = percent >= minCheckpoint ? "var(--color-green-500)" : "var(--color-red-500)";
|
|
3341
3281
|
}
|
|
3342
|
-
(
|
|
3282
|
+
useEffect2(() => {
|
|
3343
3283
|
const inner = progressRef.current?.querySelector(".ant-progress-inner");
|
|
3344
3284
|
if (!inner) return;
|
|
3345
3285
|
const observer = new ResizeObserver(() => {
|
|
@@ -3348,17 +3288,17 @@ function ProgressBar({
|
|
|
3348
3288
|
observer.observe(inner);
|
|
3349
3289
|
return () => observer.disconnect();
|
|
3350
3290
|
}, []);
|
|
3351
|
-
return /* @__PURE__ */ (
|
|
3352
|
-
|
|
3291
|
+
return /* @__PURE__ */ jsx39(
|
|
3292
|
+
ConfigProvider20,
|
|
3353
3293
|
{
|
|
3354
3294
|
theme: {
|
|
3355
3295
|
token: {
|
|
3356
3296
|
fontFamily: "Kanit"
|
|
3357
3297
|
}
|
|
3358
3298
|
},
|
|
3359
|
-
children: /* @__PURE__ */ (
|
|
3360
|
-
/* @__PURE__ */ (
|
|
3361
|
-
|
|
3299
|
+
children: /* @__PURE__ */ jsxs34("div", { className: "relative w-full", ref: progressRef, children: [
|
|
3300
|
+
/* @__PURE__ */ jsx39(
|
|
3301
|
+
Progress,
|
|
3362
3302
|
{
|
|
3363
3303
|
className: "w-full",
|
|
3364
3304
|
percent,
|
|
@@ -3373,7 +3313,7 @@ function ProgressBar({
|
|
|
3373
3313
|
strokeColor
|
|
3374
3314
|
}
|
|
3375
3315
|
),
|
|
3376
|
-
barWidth > 0 && isCheckPoints && type !== "circle" && checkpoints.map((cp) => /* @__PURE__ */ (
|
|
3316
|
+
barWidth > 0 && isCheckPoints && type !== "circle" && checkpoints.map((cp) => /* @__PURE__ */ jsx39(
|
|
3377
3317
|
"div",
|
|
3378
3318
|
{
|
|
3379
3319
|
className: "checkpoint absolute top-0",
|
|
@@ -3395,25 +3335,25 @@ function ProgressBar({
|
|
|
3395
3335
|
}
|
|
3396
3336
|
|
|
3397
3337
|
// src/KpiSection/KpiSection.tsx
|
|
3398
|
-
|
|
3399
|
-
|
|
3338
|
+
import { ConfigProvider as ConfigProvider21, message } from "antd";
|
|
3339
|
+
import { useEffect as useEffect3, useState as useState12 } from "react";
|
|
3400
3340
|
|
|
3401
3341
|
// src/KpiSection/hooks/useGetKpiSection.ts
|
|
3402
|
-
|
|
3403
|
-
|
|
3342
|
+
import { useState as useState11 } from "react";
|
|
3343
|
+
import cuid from "cuid";
|
|
3404
3344
|
function useGetKpiSection() {
|
|
3405
|
-
const [nameKpi, setNameKpi] = (
|
|
3406
|
-
const [kpiValue, setKpiValue] = (
|
|
3407
|
-
const [unitValue, setUnitValue] = (
|
|
3408
|
-
const [kpiList, setKpiList] = (
|
|
3409
|
-
const [editingBackup, setEditingBackup] = (
|
|
3410
|
-
const [selected, setSelected] = (
|
|
3411
|
-
const [errors, setErrors] = (
|
|
3345
|
+
const [nameKpi, setNameKpi] = useState11("");
|
|
3346
|
+
const [kpiValue, setKpiValue] = useState11("");
|
|
3347
|
+
const [unitValue, setUnitValue] = useState11("");
|
|
3348
|
+
const [kpiList, setKpiList] = useState11([]);
|
|
3349
|
+
const [editingBackup, setEditingBackup] = useState11({});
|
|
3350
|
+
const [selected, setSelected] = useState11("2");
|
|
3351
|
+
const [errors, setErrors] = useState11({
|
|
3412
3352
|
nameKpi: "",
|
|
3413
3353
|
kpiValue: "",
|
|
3414
3354
|
unitValue: ""
|
|
3415
3355
|
});
|
|
3416
|
-
const [itemErrors, setItemErrors] = (
|
|
3356
|
+
const [itemErrors, setItemErrors] = useState11({});
|
|
3417
3357
|
const options = [
|
|
3418
3358
|
{ value: "1", label: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" },
|
|
3419
3359
|
{ value: "2", label: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02" }
|
|
@@ -3438,7 +3378,7 @@ function useGetKpiSection() {
|
|
|
3438
3378
|
setErrors(newErrors);
|
|
3439
3379
|
if (hasError) return;
|
|
3440
3380
|
const newKpi = {
|
|
3441
|
-
id: (
|
|
3381
|
+
id: cuid(),
|
|
3442
3382
|
name: nameKpi,
|
|
3443
3383
|
value: kpiValue,
|
|
3444
3384
|
unit: unitValue,
|
|
@@ -3545,8 +3485,8 @@ function useGetKpiSection() {
|
|
|
3545
3485
|
}
|
|
3546
3486
|
|
|
3547
3487
|
// src/KpiSection/KpiSection.tsx
|
|
3548
|
-
|
|
3549
|
-
|
|
3488
|
+
import { IconCheck as IconCheck2, IconCirclePlus, IconPencil, IconTrash as IconTrash3, IconX as IconX2 } from "@tabler/icons-react";
|
|
3489
|
+
import { Fragment as Fragment6, jsx as jsx40, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
3550
3490
|
function KpiSection({ type, onChangeKpiList }) {
|
|
3551
3491
|
const {
|
|
3552
3492
|
handleAddKpi,
|
|
@@ -3566,18 +3506,18 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3566
3506
|
itemErrors,
|
|
3567
3507
|
setItemErrors
|
|
3568
3508
|
} = useGetKpiSection();
|
|
3569
|
-
const [messageApi2, messageContainer] =
|
|
3570
|
-
const [hasShownError, setHasShownError] = (
|
|
3571
|
-
(
|
|
3509
|
+
const [messageApi2, messageContainer] = message.useMessage();
|
|
3510
|
+
const [hasShownError, setHasShownError] = useState12(false);
|
|
3511
|
+
useEffect3(() => {
|
|
3572
3512
|
setMessageApi(messageApi2);
|
|
3573
3513
|
}, [messageApi2]);
|
|
3574
|
-
(
|
|
3514
|
+
useEffect3(() => {
|
|
3575
3515
|
if (onChangeKpiList) {
|
|
3576
3516
|
onChangeKpiList(kpiList);
|
|
3577
3517
|
}
|
|
3578
3518
|
}, [kpiList]);
|
|
3579
|
-
return /* @__PURE__ */ (
|
|
3580
|
-
|
|
3519
|
+
return /* @__PURE__ */ jsx40(
|
|
3520
|
+
ConfigProvider21,
|
|
3581
3521
|
{
|
|
3582
3522
|
theme: {
|
|
3583
3523
|
token: {
|
|
@@ -3585,11 +3525,11 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3585
3525
|
fontSize: 16
|
|
3586
3526
|
}
|
|
3587
3527
|
},
|
|
3588
|
-
children: /* @__PURE__ */ (
|
|
3528
|
+
children: /* @__PURE__ */ jsxs35("div", { className: "container-input", children: [
|
|
3589
3529
|
messageContainer,
|
|
3590
|
-
type === "number" && /* @__PURE__ */ (
|
|
3591
|
-
/* @__PURE__ */ (
|
|
3592
|
-
/* @__PURE__ */ (
|
|
3530
|
+
type === "number" && /* @__PURE__ */ jsxs35("div", { className: "space-y-4", children: [
|
|
3531
|
+
/* @__PURE__ */ jsxs35("div", { className: "grid grid-cols-[1fr_200px_200px_50px] w-full gap-[24px] items-start", children: [
|
|
3532
|
+
/* @__PURE__ */ jsx40(
|
|
3593
3533
|
InputField,
|
|
3594
3534
|
{
|
|
3595
3535
|
value: nameKpi,
|
|
@@ -3601,7 +3541,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3601
3541
|
error: errors.nameKpi
|
|
3602
3542
|
}
|
|
3603
3543
|
),
|
|
3604
|
-
/* @__PURE__ */ (
|
|
3544
|
+
/* @__PURE__ */ jsx40(
|
|
3605
3545
|
InputField,
|
|
3606
3546
|
{
|
|
3607
3547
|
value: kpiValue,
|
|
@@ -3625,7 +3565,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3625
3565
|
error: errors.kpiValue
|
|
3626
3566
|
}
|
|
3627
3567
|
),
|
|
3628
|
-
/* @__PURE__ */ (
|
|
3568
|
+
/* @__PURE__ */ jsx40(
|
|
3629
3569
|
InputField,
|
|
3630
3570
|
{
|
|
3631
3571
|
value: unitValue,
|
|
@@ -3637,8 +3577,8 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3637
3577
|
error: errors.unitValue
|
|
3638
3578
|
}
|
|
3639
3579
|
),
|
|
3640
|
-
/* @__PURE__ */ (
|
|
3641
|
-
|
|
3580
|
+
/* @__PURE__ */ jsx40("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ jsx40(
|
|
3581
|
+
IconCirclePlus,
|
|
3642
3582
|
{
|
|
3643
3583
|
className: "w-[40px] h-[40px] cursor-pointer hover:scale-110 transition",
|
|
3644
3584
|
stroke: 1,
|
|
@@ -3646,17 +3586,17 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3646
3586
|
}
|
|
3647
3587
|
) })
|
|
3648
3588
|
] }),
|
|
3649
|
-
/* @__PURE__ */ (
|
|
3589
|
+
/* @__PURE__ */ jsx40("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ jsxs35(
|
|
3650
3590
|
"div",
|
|
3651
3591
|
{
|
|
3652
3592
|
className: "grid grid-cols-[30px_1fr_100px_120px_80px] items-start py-2 body-1 gap-[8px]",
|
|
3653
3593
|
children: [
|
|
3654
|
-
/* @__PURE__ */ (
|
|
3594
|
+
/* @__PURE__ */ jsxs35("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
|
|
3655
3595
|
index + 1,
|
|
3656
3596
|
"."
|
|
3657
3597
|
] }),
|
|
3658
|
-
kpi.isEditing ? /* @__PURE__ */ (
|
|
3659
|
-
/* @__PURE__ */ (
|
|
3598
|
+
kpi.isEditing ? /* @__PURE__ */ jsxs35(Fragment6, { children: [
|
|
3599
|
+
/* @__PURE__ */ jsx40(
|
|
3660
3600
|
InputField,
|
|
3661
3601
|
{
|
|
3662
3602
|
value: kpi.name,
|
|
@@ -3666,7 +3606,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3666
3606
|
error: itemErrors[kpi.id]?.name
|
|
3667
3607
|
}
|
|
3668
3608
|
),
|
|
3669
|
-
/* @__PURE__ */ (
|
|
3609
|
+
/* @__PURE__ */ jsx40(
|
|
3670
3610
|
InputField,
|
|
3671
3611
|
{
|
|
3672
3612
|
value: kpi.value?.toString(),
|
|
@@ -3691,7 +3631,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3691
3631
|
error: itemErrors[kpi.id]?.value
|
|
3692
3632
|
}
|
|
3693
3633
|
),
|
|
3694
|
-
/* @__PURE__ */ (
|
|
3634
|
+
/* @__PURE__ */ jsx40(
|
|
3695
3635
|
InputField,
|
|
3696
3636
|
{
|
|
3697
3637
|
value: kpi.unit,
|
|
@@ -3701,29 +3641,29 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3701
3641
|
error: itemErrors[kpi.id]?.unit
|
|
3702
3642
|
}
|
|
3703
3643
|
),
|
|
3704
|
-
/* @__PURE__ */ (
|
|
3644
|
+
/* @__PURE__ */ jsxs35(
|
|
3705
3645
|
"div",
|
|
3706
3646
|
{
|
|
3707
3647
|
className: `flex gap-2 justify-end self-center ${!!itemErrors[kpi.id]?.value || !!itemErrors[kpi.id]?.unit || !!itemErrors[kpi.id]?.name ? "mt-[-12px]" : ""}`,
|
|
3708
3648
|
children: [
|
|
3709
|
-
/* @__PURE__ */ (
|
|
3710
|
-
|
|
3649
|
+
/* @__PURE__ */ jsx40(
|
|
3650
|
+
IconCheck2,
|
|
3711
3651
|
{
|
|
3712
3652
|
className: "w-[30px] h-[30px] cursor-pointer",
|
|
3713
3653
|
onClick: () => handleSave(kpi.id, type)
|
|
3714
3654
|
}
|
|
3715
3655
|
),
|
|
3716
|
-
/* @__PURE__ */ (
|
|
3656
|
+
/* @__PURE__ */ jsx40(IconX2, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
|
|
3717
3657
|
]
|
|
3718
3658
|
}
|
|
3719
3659
|
)
|
|
3720
|
-
] }) : /* @__PURE__ */ (
|
|
3721
|
-
/* @__PURE__ */ (
|
|
3722
|
-
/* @__PURE__ */ (
|
|
3723
|
-
/* @__PURE__ */ (
|
|
3724
|
-
/* @__PURE__ */ (
|
|
3725
|
-
/* @__PURE__ */ (
|
|
3726
|
-
/* @__PURE__ */ (
|
|
3660
|
+
] }) : /* @__PURE__ */ jsxs35(Fragment6, { children: [
|
|
3661
|
+
/* @__PURE__ */ jsx40("p", { className: "body-1", children: kpi.name }),
|
|
3662
|
+
/* @__PURE__ */ jsx40("p", { className: "body-1", children: kpi.value }),
|
|
3663
|
+
/* @__PURE__ */ jsx40("p", { className: "body-1", children: kpi.unit }),
|
|
3664
|
+
/* @__PURE__ */ jsxs35("div", { className: "flex gap-3 justify-end", children: [
|
|
3665
|
+
/* @__PURE__ */ jsx40(IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
|
|
3666
|
+
/* @__PURE__ */ jsx40(IconTrash3, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
|
|
3727
3667
|
] })
|
|
3728
3668
|
] })
|
|
3729
3669
|
]
|
|
@@ -3731,9 +3671,9 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3731
3671
|
kpi.id
|
|
3732
3672
|
)) })
|
|
3733
3673
|
] }),
|
|
3734
|
-
type === "text" && /* @__PURE__ */ (
|
|
3735
|
-
/* @__PURE__ */ (
|
|
3736
|
-
/* @__PURE__ */ (
|
|
3674
|
+
type === "text" && /* @__PURE__ */ jsxs35("div", { className: "space-y-4", children: [
|
|
3675
|
+
/* @__PURE__ */ jsxs35("div", { className: "grid grid-cols-[1fr_50px] w-full gap-[24px] items-start", children: [
|
|
3676
|
+
/* @__PURE__ */ jsx40(
|
|
3737
3677
|
InputField,
|
|
3738
3678
|
{
|
|
3739
3679
|
value: nameKpi,
|
|
@@ -3745,8 +3685,8 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3745
3685
|
error: errors.nameKpi
|
|
3746
3686
|
}
|
|
3747
3687
|
),
|
|
3748
|
-
/* @__PURE__ */ (
|
|
3749
|
-
|
|
3688
|
+
/* @__PURE__ */ jsx40("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ jsx40(
|
|
3689
|
+
IconCirclePlus,
|
|
3750
3690
|
{
|
|
3751
3691
|
className: "w-[40px] h-[40px] cursor-pointer hover:scale-110 transition",
|
|
3752
3692
|
stroke: 1,
|
|
@@ -3754,13 +3694,13 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3754
3694
|
}
|
|
3755
3695
|
) })
|
|
3756
3696
|
] }),
|
|
3757
|
-
/* @__PURE__ */ (
|
|
3758
|
-
/* @__PURE__ */ (
|
|
3697
|
+
/* @__PURE__ */ jsx40("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ jsxs35("div", { className: "grid grid-cols-[30px_1fr_80px] items-start py-2 body-1 gap-[8px]", children: [
|
|
3698
|
+
/* @__PURE__ */ jsxs35("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
|
|
3759
3699
|
index + 1,
|
|
3760
3700
|
"."
|
|
3761
3701
|
] }),
|
|
3762
|
-
kpi.isEditing ? /* @__PURE__ */ (
|
|
3763
|
-
/* @__PURE__ */ (
|
|
3702
|
+
kpi.isEditing ? /* @__PURE__ */ jsxs35(Fragment6, { children: [
|
|
3703
|
+
/* @__PURE__ */ jsx40(
|
|
3764
3704
|
InputField,
|
|
3765
3705
|
{
|
|
3766
3706
|
value: kpi.name,
|
|
@@ -3770,27 +3710,27 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3770
3710
|
error: itemErrors[kpi.id]?.name
|
|
3771
3711
|
}
|
|
3772
3712
|
),
|
|
3773
|
-
/* @__PURE__ */ (
|
|
3713
|
+
/* @__PURE__ */ jsxs35(
|
|
3774
3714
|
"div",
|
|
3775
3715
|
{
|
|
3776
3716
|
className: `flex gap-2 justify-end self-center ${!!itemErrors[kpi.id]?.name ? "mt-[-12px]" : ""}`,
|
|
3777
3717
|
children: [
|
|
3778
|
-
/* @__PURE__ */ (
|
|
3779
|
-
|
|
3718
|
+
/* @__PURE__ */ jsx40(
|
|
3719
|
+
IconCheck2,
|
|
3780
3720
|
{
|
|
3781
3721
|
className: "w-[30px] h-[30px] cursor-pointer",
|
|
3782
3722
|
onClick: () => handleSave(kpi.id, type)
|
|
3783
3723
|
}
|
|
3784
3724
|
),
|
|
3785
|
-
/* @__PURE__ */ (
|
|
3725
|
+
/* @__PURE__ */ jsx40(IconX2, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
|
|
3786
3726
|
]
|
|
3787
3727
|
}
|
|
3788
3728
|
)
|
|
3789
|
-
] }) : /* @__PURE__ */ (
|
|
3790
|
-
/* @__PURE__ */ (
|
|
3791
|
-
/* @__PURE__ */ (
|
|
3792
|
-
/* @__PURE__ */ (
|
|
3793
|
-
/* @__PURE__ */ (
|
|
3729
|
+
] }) : /* @__PURE__ */ jsxs35(Fragment6, { children: [
|
|
3730
|
+
/* @__PURE__ */ jsx40("p", { className: "body-1", children: kpi.name }),
|
|
3731
|
+
/* @__PURE__ */ jsxs35("div", { className: "flex gap-3 justify-end", children: [
|
|
3732
|
+
/* @__PURE__ */ jsx40(IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
|
|
3733
|
+
/* @__PURE__ */ jsx40(IconTrash3, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
|
|
3794
3734
|
] })
|
|
3795
3735
|
] })
|
|
3796
3736
|
] }, kpi.id)) })
|
|
@@ -3801,17 +3741,17 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3801
3741
|
}
|
|
3802
3742
|
|
|
3803
3743
|
// src/Modal/Modal/Modal.tsx
|
|
3804
|
-
|
|
3805
|
-
|
|
3744
|
+
import { Modal } from "antd";
|
|
3745
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
3806
3746
|
function AntDModal({ children, isOpen, width, onCancel }) {
|
|
3807
|
-
return /* @__PURE__ */ (
|
|
3747
|
+
return /* @__PURE__ */ jsx41("div", { children: /* @__PURE__ */ jsx41(Modal, { open: isOpen, onCancel, width, centered: true, footer: null, children: /* @__PURE__ */ jsx41("div", { children }) }) });
|
|
3808
3748
|
}
|
|
3809
3749
|
|
|
3810
3750
|
// src/Indicator/Indicator/Indicator.tsx
|
|
3811
|
-
|
|
3812
|
-
|
|
3813
|
-
|
|
3814
|
-
|
|
3751
|
+
import { IconCheck as IconCheck3, IconCirclePlus as IconCirclePlus2, IconPencil as IconPencil2, IconTrash as IconTrash4, IconX as IconX3 } from "@tabler/icons-react";
|
|
3752
|
+
import { useState as useState13 } from "react";
|
|
3753
|
+
import { Input as Input4 } from "antd";
|
|
3754
|
+
import { Fragment as Fragment7, jsx as jsx42, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
3815
3755
|
function Indicator({
|
|
3816
3756
|
option = [
|
|
3817
3757
|
{ value: "TEXT", label: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" },
|
|
@@ -3821,22 +3761,22 @@ function Indicator({
|
|
|
3821
3761
|
arrayData,
|
|
3822
3762
|
setArrayData
|
|
3823
3763
|
}) {
|
|
3824
|
-
const [valueSwitch, setValueSwitch] = (
|
|
3825
|
-
const [cacheData, setCacheData] = (
|
|
3764
|
+
const [valueSwitch, setValueSwitch] = useState13("TEXT");
|
|
3765
|
+
const [cacheData, setCacheData] = useState13({
|
|
3826
3766
|
indicatorType: type,
|
|
3827
3767
|
inputType: valueSwitch,
|
|
3828
3768
|
textValue: "",
|
|
3829
3769
|
numberValue: "",
|
|
3830
3770
|
unit: ""
|
|
3831
3771
|
});
|
|
3832
|
-
const [cacheEditData, setCacheEditData] = (
|
|
3772
|
+
const [cacheEditData, setCacheEditData] = useState13({
|
|
3833
3773
|
indicatorType: type,
|
|
3834
3774
|
inputType: valueSwitch,
|
|
3835
3775
|
textValue: "",
|
|
3836
3776
|
numberValue: "",
|
|
3837
3777
|
unit: ""
|
|
3838
3778
|
});
|
|
3839
|
-
const [editIndex, setEditIndex] = (
|
|
3779
|
+
const [editIndex, setEditIndex] = useState13(null);
|
|
3840
3780
|
const handleAddIndicator = () => {
|
|
3841
3781
|
if (cacheData.textValue.trim() === "") return;
|
|
3842
3782
|
setArrayData([
|
|
@@ -3893,14 +3833,14 @@ function Indicator({
|
|
|
3893
3833
|
}));
|
|
3894
3834
|
console.log(cacheEditData);
|
|
3895
3835
|
};
|
|
3896
|
-
return /* @__PURE__ */ (
|
|
3897
|
-
/* @__PURE__ */ (
|
|
3836
|
+
return /* @__PURE__ */ jsxs36("div", { className: "w-full", children: [
|
|
3837
|
+
/* @__PURE__ */ jsxs36(
|
|
3898
3838
|
"div",
|
|
3899
3839
|
{
|
|
3900
3840
|
className: `space-x-2 grid ${valueSwitch === "TEXT" ? `grid-cols-[140px_1fr_50px]` : `grid-cols-[140px_1fr_200px_200px_50px]`} items-start`,
|
|
3901
3841
|
children: [
|
|
3902
|
-
/* @__PURE__ */ (
|
|
3903
|
-
/* @__PURE__ */ (
|
|
3842
|
+
/* @__PURE__ */ jsx42(SwitchSelect, { option, onClick: handleClick, value: valueSwitch, label: "\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17", required: true }),
|
|
3843
|
+
/* @__PURE__ */ jsx42(
|
|
3904
3844
|
InputField,
|
|
3905
3845
|
{
|
|
3906
3846
|
label: `\u0E0A\u0E37\u0E48\u0E2D\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14${type === "OUTPUT" ? "\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" : "\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C"}`,
|
|
@@ -3911,8 +3851,8 @@ function Indicator({
|
|
|
3911
3851
|
required: true
|
|
3912
3852
|
}
|
|
3913
3853
|
),
|
|
3914
|
-
valueSwitch === "NUMBER" && /* @__PURE__ */ (
|
|
3915
|
-
/* @__PURE__ */ (
|
|
3854
|
+
valueSwitch === "NUMBER" && /* @__PURE__ */ jsxs36(Fragment7, { children: [
|
|
3855
|
+
/* @__PURE__ */ jsx42(
|
|
3916
3856
|
InputFieldNumber,
|
|
3917
3857
|
{
|
|
3918
3858
|
label: `\u0E04\u0E48\u0E32\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22${type === "OUTPUT" ? "\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" : "\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C"}`,
|
|
@@ -3923,7 +3863,7 @@ function Indicator({
|
|
|
3923
3863
|
required: true
|
|
3924
3864
|
}
|
|
3925
3865
|
),
|
|
3926
|
-
/* @__PURE__ */ (
|
|
3866
|
+
/* @__PURE__ */ jsx42(
|
|
3927
3867
|
InputField,
|
|
3928
3868
|
{
|
|
3929
3869
|
label: `\u0E2B\u0E19\u0E48\u0E27\u0E22`,
|
|
@@ -3935,18 +3875,18 @@ function Indicator({
|
|
|
3935
3875
|
}
|
|
3936
3876
|
)
|
|
3937
3877
|
] }),
|
|
3938
|
-
/* @__PURE__ */ (
|
|
3878
|
+
/* @__PURE__ */ jsx42(IconCirclePlus2, { onClick: handleAddIndicator, className: "mt-7 cursor-pointer", size: 32 })
|
|
3939
3879
|
]
|
|
3940
3880
|
}
|
|
3941
3881
|
),
|
|
3942
|
-
/* @__PURE__ */ (
|
|
3882
|
+
/* @__PURE__ */ jsx42(Fragment7, { children: arrayData.map((item, index) => /* @__PURE__ */ jsxs36(
|
|
3943
3883
|
"div",
|
|
3944
3884
|
{
|
|
3945
3885
|
className: `space-y-4 grid ${item.inputType === "TEXT" ? `grid-cols-[140px_1fr_50px_50px]` : `grid-cols-[140px_1fr_200px_150px_50px_50px]`} items-start`,
|
|
3946
3886
|
children: [
|
|
3947
|
-
/* @__PURE__ */ (
|
|
3948
|
-
index === editIndex ? /* @__PURE__ */ (
|
|
3949
|
-
|
|
3887
|
+
/* @__PURE__ */ jsx42("div", { className: "body-1 mt-2", children: item.inputType === "TEXT" ? "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" : "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02" }),
|
|
3888
|
+
index === editIndex ? /* @__PURE__ */ jsx42(
|
|
3889
|
+
Input4,
|
|
3950
3890
|
{
|
|
3951
3891
|
className: "body-1 mt-2",
|
|
3952
3892
|
variant: "underlined",
|
|
@@ -3954,10 +3894,10 @@ function Indicator({
|
|
|
3954
3894
|
name: "textValue",
|
|
3955
3895
|
onChange: (e) => handleChangeEditCashData(e)
|
|
3956
3896
|
}
|
|
3957
|
-
) : /* @__PURE__ */ (
|
|
3958
|
-
item.inputType === "NUMBER" && /* @__PURE__ */ (
|
|
3959
|
-
index === editIndex ? /* @__PURE__ */ (
|
|
3960
|
-
|
|
3897
|
+
) : /* @__PURE__ */ jsx42("div", { className: "body-1 mt-2", children: item.textValue }),
|
|
3898
|
+
item.inputType === "NUMBER" && /* @__PURE__ */ jsxs36(Fragment7, { children: [
|
|
3899
|
+
index === editIndex ? /* @__PURE__ */ jsx42(
|
|
3900
|
+
Input4,
|
|
3961
3901
|
{
|
|
3962
3902
|
className: "body-1 mt-2",
|
|
3963
3903
|
variant: "underlined",
|
|
@@ -3965,9 +3905,9 @@ function Indicator({
|
|
|
3965
3905
|
name: "numberValue",
|
|
3966
3906
|
onChange: (e) => handleChangeEditCashData(e)
|
|
3967
3907
|
}
|
|
3968
|
-
) : /* @__PURE__ */ (
|
|
3969
|
-
index === editIndex ? /* @__PURE__ */ (
|
|
3970
|
-
|
|
3908
|
+
) : /* @__PURE__ */ jsx42("div", { className: "body-1 mt-2", children: item.numberValue }),
|
|
3909
|
+
index === editIndex ? /* @__PURE__ */ jsx42(
|
|
3910
|
+
Input4,
|
|
3971
3911
|
{
|
|
3972
3912
|
className: "body-1 mt-2",
|
|
3973
3913
|
variant: "underlined",
|
|
@@ -3975,19 +3915,19 @@ function Indicator({
|
|
|
3975
3915
|
name: "unit",
|
|
3976
3916
|
onChange: (e) => handleChangeEditCashData(e)
|
|
3977
3917
|
}
|
|
3978
|
-
) : /* @__PURE__ */ (
|
|
3918
|
+
) : /* @__PURE__ */ jsx42("div", { className: "body-1 mt-2", children: item.unit })
|
|
3979
3919
|
] }),
|
|
3980
|
-
/* @__PURE__ */ (
|
|
3981
|
-
/* @__PURE__ */ (
|
|
3982
|
-
|
|
3920
|
+
/* @__PURE__ */ jsx42("div", { className: "body-1 mt-2 flex", children: editIndex !== null ? editIndex === index ? /* @__PURE__ */ jsxs36("div", { className: "flex", children: [
|
|
3921
|
+
/* @__PURE__ */ jsx42(
|
|
3922
|
+
IconCheck3,
|
|
3983
3923
|
{
|
|
3984
3924
|
className: "cursor-pointer text-green-600",
|
|
3985
3925
|
onClick: () => handleConfirmEditIndicator(index)
|
|
3986
3926
|
}
|
|
3987
3927
|
),
|
|
3988
|
-
/* @__PURE__ */ (
|
|
3989
|
-
] }) : void 0 : /* @__PURE__ */ (
|
|
3990
|
-
/* @__PURE__ */ (
|
|
3928
|
+
/* @__PURE__ */ jsx42(IconX3, { className: "cursor-pointer text-red-600", onClick: handleCancelEditIndicator })
|
|
3929
|
+
] }) : void 0 : /* @__PURE__ */ jsx42(IconPencil2, { className: "cursor-pointer", onClick: () => handleEditIndicator(index) }) }),
|
|
3930
|
+
/* @__PURE__ */ jsx42("div", { className: "body-1 mt-2 cursor-pointer", children: /* @__PURE__ */ jsx42(IconTrash4, { onClick: () => handleDeleteIndicator(index) }) })
|
|
3991
3931
|
]
|
|
3992
3932
|
}
|
|
3993
3933
|
)) })
|
|
@@ -3995,32 +3935,32 @@ function Indicator({
|
|
|
3995
3935
|
}
|
|
3996
3936
|
|
|
3997
3937
|
// src/FilterPopUp/FilterPopUp.tsx
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
3938
|
+
import { IconCheck as IconCheck4, IconFilter as IconFilter2, IconTrash as IconTrash5 } from "@tabler/icons-react";
|
|
3939
|
+
import { useState as useState14 } from "react";
|
|
3940
|
+
import { jsx as jsx43, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
4001
3941
|
var FilterPopUp = (filter) => {
|
|
4002
|
-
const [isAction, setIsAction] = (
|
|
4003
|
-
const [filterArray, setFilterArray] = (
|
|
3942
|
+
const [isAction, setIsAction] = useState14(true);
|
|
3943
|
+
const [filterArray, setFilterArray] = useState14([""]);
|
|
4004
3944
|
const handleClearFilter = () => {
|
|
4005
3945
|
setFilterArray([]);
|
|
4006
3946
|
};
|
|
4007
3947
|
const handleSubmitFilter = () => {
|
|
4008
3948
|
filter.handleSearch(filterArray);
|
|
4009
3949
|
};
|
|
4010
|
-
return /* @__PURE__ */ (
|
|
4011
|
-
/* @__PURE__ */ (
|
|
4012
|
-
/* @__PURE__ */ (
|
|
3950
|
+
return /* @__PURE__ */ jsxs37("div", { className: "relative", children: [
|
|
3951
|
+
/* @__PURE__ */ jsxs37("button", { className: "flex px-2 py-1 rounded-lg border-1", onClick: () => setIsAction(!isAction), children: [
|
|
3952
|
+
/* @__PURE__ */ jsx43(IconFilter2, {}),
|
|
4013
3953
|
"filter"
|
|
4014
3954
|
] }),
|
|
4015
|
-
isAction ? /* @__PURE__ */ (
|
|
4016
|
-
/* @__PURE__ */ (
|
|
4017
|
-
/* @__PURE__ */ (
|
|
4018
|
-
/* @__PURE__ */ (
|
|
4019
|
-
/* @__PURE__ */ (
|
|
3955
|
+
isAction ? /* @__PURE__ */ jsxs37("div", { className: "absolute bg-white p-5 rounded-lg shadow-2xl w-[600px]", children: [
|
|
3956
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex justify-end", children: [
|
|
3957
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex justify-end text-nowrap gap-2", children: [
|
|
3958
|
+
/* @__PURE__ */ jsx43(GhostButton, { title: "\u0E43\u0E0A\u0E49\u0E1F\u0E34\u0E25\u0E40\u0E15\u0E2D\u0E23\u0E4C", onClick: handleSubmitFilter, iconLeft: /* @__PURE__ */ jsx43(IconCheck4, {}) }),
|
|
3959
|
+
/* @__PURE__ */ jsx43(GhostButton, { title: "\u0E25\u0E49\u0E32\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14", onClick: handleClearFilter, iconLeft: /* @__PURE__ */ jsx43(IconTrash5, {}) })
|
|
4020
3960
|
] }),
|
|
4021
3961
|
""
|
|
4022
3962
|
] }),
|
|
4023
|
-
/* @__PURE__ */ (
|
|
3963
|
+
/* @__PURE__ */ jsx43(
|
|
4024
3964
|
SelectCustom,
|
|
4025
3965
|
{
|
|
4026
3966
|
options: filter.selectionFilter,
|
|
@@ -4031,8 +3971,7 @@ var FilterPopUp = (filter) => {
|
|
|
4031
3971
|
] }) : void 0
|
|
4032
3972
|
] });
|
|
4033
3973
|
};
|
|
4034
|
-
|
|
4035
|
-
0 && (module.exports = {
|
|
3974
|
+
export {
|
|
4036
3975
|
AntDModal,
|
|
4037
3976
|
AntDataTable,
|
|
4038
3977
|
Breadcrumbs,
|
|
@@ -4081,4 +4020,4 @@ var FilterPopUp = (filter) => {
|
|
|
4081
4020
|
messageSuccess,
|
|
4082
4021
|
messageWarning,
|
|
4083
4022
|
setMessageApi
|
|
4084
|
-
}
|
|
4023
|
+
};
|