@esic-lab/data-core-ui 0.0.61 → 0.0.63
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.d.mts +29 -1
- package/dist/index.d.ts +29 -1
- package/dist/index.js +670 -514
- package/dist/index.mjs +517 -363
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -360,6 +360,7 @@ __export(index_exports, {
|
|
|
360
360
|
BarChart: () => BarChart,
|
|
361
361
|
Breadcrumbs: () => Breadcrumbs,
|
|
362
362
|
Calendar: () => Calendar,
|
|
363
|
+
CardKPI: () => CardKPI,
|
|
363
364
|
Checkbox: () => Checkbox,
|
|
364
365
|
CheckboxGroup: () => CheckboxGroup,
|
|
365
366
|
ColorPalettePickerBasic: () => ColorPalettePickerBasic,
|
|
@@ -398,6 +399,7 @@ __export(index_exports, {
|
|
|
398
399
|
SwitchSelect: () => SwitchSelect,
|
|
399
400
|
TabProject: () => TabProject,
|
|
400
401
|
TabSelectionButton: () => TabSelectionButton,
|
|
402
|
+
TertiaryButton: () => TertiaryButton,
|
|
401
403
|
TextAreaInput: () => TextAreaInput,
|
|
402
404
|
TextInput: () => TextInput,
|
|
403
405
|
TopNavBar: () => TopNavBar,
|
|
@@ -535,10 +537,52 @@ var TabSelectionButton = ({ title, now, onClickGoto }) => {
|
|
|
535
537
|
] });
|
|
536
538
|
};
|
|
537
539
|
|
|
538
|
-
// src/
|
|
540
|
+
// src/Button/TertiaryButton/TertiaryButton.tsx
|
|
541
|
+
var import_antd3 = require("antd");
|
|
539
542
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
540
|
-
function
|
|
543
|
+
function TertiaryButton({
|
|
544
|
+
title,
|
|
545
|
+
onClick,
|
|
546
|
+
disabled,
|
|
547
|
+
iconPlacement = "start",
|
|
548
|
+
size = "large",
|
|
549
|
+
colorPrimary = "#000",
|
|
550
|
+
colorPrimaryHover = "#4d5461",
|
|
551
|
+
textColor = "white",
|
|
552
|
+
icon
|
|
553
|
+
}) {
|
|
554
|
+
const textClass = size === "large" ? "body-1" : "body-3";
|
|
541
555
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
556
|
+
import_antd3.ConfigProvider,
|
|
557
|
+
{
|
|
558
|
+
theme: {
|
|
559
|
+
token: {
|
|
560
|
+
colorPrimary,
|
|
561
|
+
colorPrimaryHover,
|
|
562
|
+
colorText: textColor
|
|
563
|
+
}
|
|
564
|
+
},
|
|
565
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
566
|
+
import_antd3.Button,
|
|
567
|
+
{
|
|
568
|
+
size,
|
|
569
|
+
onClick,
|
|
570
|
+
type: "primary",
|
|
571
|
+
className: textClass,
|
|
572
|
+
disabled,
|
|
573
|
+
icon,
|
|
574
|
+
iconPosition: iconPlacement,
|
|
575
|
+
children: title
|
|
576
|
+
}
|
|
577
|
+
)
|
|
578
|
+
}
|
|
579
|
+
);
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
// src/Loader/Loader/Loader.tsx
|
|
583
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
584
|
+
function Loader({ size = 25, color = "#000000" }) {
|
|
585
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
542
586
|
"div",
|
|
543
587
|
{
|
|
544
588
|
style: {
|
|
@@ -556,14 +600,14 @@ function Loader({ size = 25, color = "#000000" }) {
|
|
|
556
600
|
|
|
557
601
|
// src/Checkbox/Checkbox/Checkbox.tsx
|
|
558
602
|
var import_icons_react = require("@tabler/icons-react");
|
|
559
|
-
var
|
|
603
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
560
604
|
function Checkbox({ label, checked, onChange, disabled }) {
|
|
561
605
|
const handleClick = () => {
|
|
562
606
|
if (!disabled) {
|
|
563
607
|
onChange(!checked);
|
|
564
608
|
}
|
|
565
609
|
};
|
|
566
|
-
return /* @__PURE__ */ (0,
|
|
610
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
567
611
|
"div",
|
|
568
612
|
{
|
|
569
613
|
className: `flex gap-[10px] items-center
|
|
@@ -571,32 +615,32 @@ function Checkbox({ label, checked, onChange, disabled }) {
|
|
|
571
615
|
"aria-disabled": disabled,
|
|
572
616
|
onClick: handleClick,
|
|
573
617
|
children: [
|
|
574
|
-
/* @__PURE__ */ (0,
|
|
618
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
575
619
|
"div",
|
|
576
620
|
{
|
|
577
621
|
className: `flex justify-center items-center border-[1px] border-black w-[24px] h-[24px] rounded-[8px] transition-colors duration-100
|
|
578
622
|
${checked ? "bg-black text-white" : "bg-white text-black"}
|
|
579
623
|
${disabled ? "pointer-events-none" : ""}`,
|
|
580
|
-
children: /* @__PURE__ */ (0,
|
|
624
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
581
625
|
"span",
|
|
582
626
|
{
|
|
583
627
|
className: `flex justify-center items-center transition-transform duration-150
|
|
584
628
|
${checked ? "scale-100 opacity-100" : "scale-0 opacity-0"}`,
|
|
585
|
-
children: /* @__PURE__ */ (0,
|
|
629
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_icons_react.IconCheck, { size: 20 })
|
|
586
630
|
}
|
|
587
631
|
)
|
|
588
632
|
}
|
|
589
633
|
),
|
|
590
|
-
label && /* @__PURE__ */ (0,
|
|
634
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "body-1 select-none", children: label })
|
|
591
635
|
]
|
|
592
636
|
}
|
|
593
637
|
);
|
|
594
638
|
}
|
|
595
639
|
|
|
596
640
|
// src/Checkbox/CheckboxGroup/CheckboxGroup.tsx
|
|
597
|
-
var
|
|
641
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
598
642
|
function CheckboxGroup({ options, onChange, alignment = "vertical" }) {
|
|
599
|
-
return /* @__PURE__ */ (0,
|
|
643
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: `flex gap-4 ${alignment === "vertical" ? "flex-col" : ""}`, children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
600
644
|
Checkbox,
|
|
601
645
|
{
|
|
602
646
|
checked: opt.checked,
|
|
@@ -609,14 +653,14 @@ function CheckboxGroup({ options, onChange, alignment = "vertical" }) {
|
|
|
609
653
|
}
|
|
610
654
|
|
|
611
655
|
// src/Radio/Radio/Radio.tsx
|
|
612
|
-
var
|
|
656
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
613
657
|
function Radio({ selected, onChange, disabled }) {
|
|
614
658
|
const handleClick = () => {
|
|
615
659
|
if (!disabled) {
|
|
616
660
|
onChange(!selected);
|
|
617
661
|
}
|
|
618
662
|
};
|
|
619
|
-
return /* @__PURE__ */ (0,
|
|
663
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
620
664
|
"div",
|
|
621
665
|
{
|
|
622
666
|
className: `
|
|
@@ -625,31 +669,31 @@ function Radio({ selected, onChange, disabled }) {
|
|
|
625
669
|
`,
|
|
626
670
|
onClick: handleClick,
|
|
627
671
|
"aria-disabled": disabled,
|
|
628
|
-
children: selected && /* @__PURE__ */ (0,
|
|
672
|
+
children: selected && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: `bg-black w-[10px] h-[10px] rounded-full transition-all duration-300` })
|
|
629
673
|
}
|
|
630
674
|
);
|
|
631
675
|
}
|
|
632
676
|
|
|
633
677
|
// src/Radio/RadioGroup/RadioGroup.tsx
|
|
634
|
-
var
|
|
678
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
635
679
|
function RadioGroup({ options, value, onChange, alignment = "horizontal" }) {
|
|
636
|
-
return /* @__PURE__ */ (0,
|
|
637
|
-
/* @__PURE__ */ (0,
|
|
638
|
-
/* @__PURE__ */ (0,
|
|
680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: `flex gap-2 ${alignment === "vertical" ? "flex-col" : ""}`, children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("label", { className: "flex items-center gap-2 cursor-pointer", children: [
|
|
681
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Radio, { selected: value === opt.value, onChange: () => onChange(opt.value), disabled: opt.disabled }),
|
|
682
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: `body-1 ${opt.disabled ? "text-gray-400 cursor-not-allowed" : ""}`, children: opt.label })
|
|
639
683
|
] }, opt.value)) });
|
|
640
684
|
}
|
|
641
685
|
|
|
642
686
|
// src/Switch/Switch/Switch.tsx
|
|
643
|
-
var
|
|
687
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
644
688
|
function Switch({ label, checked, onChange, disabled }) {
|
|
645
689
|
const handleClick = () => {
|
|
646
690
|
if (!disabled) {
|
|
647
691
|
onChange(!checked);
|
|
648
692
|
}
|
|
649
693
|
};
|
|
650
|
-
return /* @__PURE__ */ (0,
|
|
651
|
-
label && /* @__PURE__ */ (0,
|
|
652
|
-
/* @__PURE__ */ (0,
|
|
694
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col gap-[10px]", children: [
|
|
695
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: `body-1 ${disabled ? "opacity-50 select-none" : ""}`, children: label }),
|
|
696
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
653
697
|
"button",
|
|
654
698
|
{
|
|
655
699
|
type: "button",
|
|
@@ -661,7 +705,7 @@ function Switch({ label, checked, onChange, disabled }) {
|
|
|
661
705
|
${checked ? "bg-primary-500" : "bg-gray-300"}
|
|
662
706
|
${disabled ? "cursor-not-allowed opacity-50" : "cursor-pointer"}
|
|
663
707
|
`,
|
|
664
|
-
children: /* @__PURE__ */ (0,
|
|
708
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
665
709
|
"div",
|
|
666
710
|
{
|
|
667
711
|
className: `bg-white w-5 h-5 rounded-full shadow-md transform transition-transform duration-300
|
|
@@ -674,7 +718,7 @@ function Switch({ label, checked, onChange, disabled }) {
|
|
|
674
718
|
}
|
|
675
719
|
|
|
676
720
|
// src/Switch/SwitchSelect/SwitchSelect.tsx
|
|
677
|
-
var
|
|
721
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
678
722
|
function SwitchSelect({
|
|
679
723
|
option,
|
|
680
724
|
onClick,
|
|
@@ -683,13 +727,13 @@ function SwitchSelect({
|
|
|
683
727
|
required,
|
|
684
728
|
color
|
|
685
729
|
}) {
|
|
686
|
-
return /* @__PURE__ */ (0,
|
|
687
|
-
label && /* @__PURE__ */ (0,
|
|
730
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col container-input", children: [
|
|
731
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("p", { className: `body-1`, children: [
|
|
688
732
|
label,
|
|
689
733
|
" ",
|
|
690
|
-
required && /* @__PURE__ */ (0,
|
|
734
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-red-500", children: "*" })
|
|
691
735
|
] }),
|
|
692
|
-
/* @__PURE__ */ (0,
|
|
736
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex", children: option.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
693
737
|
"button",
|
|
694
738
|
{
|
|
695
739
|
onClick: () => onClick(item.value),
|
|
@@ -707,12 +751,12 @@ function SwitchSelect({
|
|
|
707
751
|
|
|
708
752
|
// src/NavBar/MenuNavBar/MenuNavBar.tsx
|
|
709
753
|
var import_react = require("react");
|
|
710
|
-
var
|
|
754
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
711
755
|
function MenuNavBar({ menus, onClick }) {
|
|
712
756
|
const [activePath, setActivePath] = (0, import_react.useState)("");
|
|
713
|
-
return /* @__PURE__ */ (0,
|
|
714
|
-
/* @__PURE__ */ (0,
|
|
715
|
-
menu?.subMenus.map((subMenu) => /* @__PURE__ */ (0,
|
|
757
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "w-full h-full p-[10px] bg-white", children: menus?.map((menu, index) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: `p-[10px] ${index !== 0 ? "mt-[10px]" : ""}`, children: [
|
|
758
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "p-[10px] w-[202px] h-[47px] subtitle-1", children: menu.title }),
|
|
759
|
+
menu?.subMenus.map((subMenu) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
716
760
|
"div",
|
|
717
761
|
{
|
|
718
762
|
className: `group flex justify-center items-center gap-[10px] p-[10px] w-[202px] h-[47px] rounded-[6px] subtitle-2 cursor-pointer
|
|
@@ -722,9 +766,9 @@ function MenuNavBar({ menus, onClick }) {
|
|
|
722
766
|
setActivePath(subMenu.path);
|
|
723
767
|
},
|
|
724
768
|
children: [
|
|
725
|
-
/* @__PURE__ */ (0,
|
|
769
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "flex justify-center items-center w-[24px] h-[24px] text-[20px]", children: activePath === subMenu.path ? subMenu.iconActive ?? subMenu.icon : subMenu.icon }),
|
|
726
770
|
subMenu.title,
|
|
727
|
-
/* @__PURE__ */ (0,
|
|
771
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "flex ml-auto", children: subMenu.customNode && subMenu.customNode })
|
|
728
772
|
]
|
|
729
773
|
},
|
|
730
774
|
`sub_${subMenu.title}`
|
|
@@ -735,39 +779,39 @@ function MenuNavBar({ menus, onClick }) {
|
|
|
735
779
|
// src/NavBar/MenuNavBar/Sidebar.tsx
|
|
736
780
|
var import_icons_react2 = require("@tabler/icons-react");
|
|
737
781
|
var import_react2 = require("react");
|
|
738
|
-
var
|
|
782
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
739
783
|
var SidebarContext = (0, import_react2.createContext)({ expanded: false });
|
|
740
784
|
function Sidebar({ children, logo }) {
|
|
741
785
|
const [expanded, setExpanded] = (0, import_react2.useState)(true);
|
|
742
|
-
return /* @__PURE__ */ (0,
|
|
743
|
-
/* @__PURE__ */ (0,
|
|
744
|
-
expanded && logo && /* @__PURE__ */ (0,
|
|
745
|
-
/* @__PURE__ */ (0,
|
|
786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("aside", { className: "h-screen", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("nav", { className: `h-full flex flex-col bg-white border-r shadow-sm duration-150 ${expanded ? "w-64" : "w-16"}`, children: [
|
|
787
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "p-4 pb-2 flex justify-center items-center", children: [
|
|
788
|
+
expanded && logo && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("img", { src: logo, width: 120, className: "ml-auto" }),
|
|
789
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
746
790
|
"button",
|
|
747
791
|
{
|
|
748
792
|
className: "p-1.5 rounded-lg bg-gray-50 hover:bg-gray-100 cursor-pointer ml-auto",
|
|
749
793
|
onClick: () => setExpanded((curr) => !curr),
|
|
750
|
-
children: expanded ? /* @__PURE__ */ (0,
|
|
794
|
+
children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_icons_react2.IconChevronLeftPipe, {}) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_icons_react2.IconChevronRightPipe, {})
|
|
751
795
|
}
|
|
752
796
|
)
|
|
753
797
|
] }),
|
|
754
|
-
/* @__PURE__ */ (0,
|
|
798
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(SidebarContext.Provider, { value: { expanded }, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("ul", { className: "flex-1 px-3", children }) })
|
|
755
799
|
] }) });
|
|
756
800
|
}
|
|
757
801
|
|
|
758
802
|
// src/NavBar/TopNavBar/TopNavBar.tsx
|
|
759
803
|
var import_icons_react3 = require("@tabler/icons-react");
|
|
760
|
-
var
|
|
804
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
761
805
|
function TopNavBar({ onClickNoti, logo }) {
|
|
762
|
-
return /* @__PURE__ */ (0,
|
|
763
|
-
/* @__PURE__ */ (0,
|
|
806
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "w-full h-full flex", children: [
|
|
807
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center gap-[20px] p-[10px]", children: [
|
|
764
808
|
logo,
|
|
765
|
-
/* @__PURE__ */ (0,
|
|
809
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "subtitle-1", children: "Project Management" })
|
|
766
810
|
] }),
|
|
767
|
-
/* @__PURE__ */ (0,
|
|
768
|
-
/* @__PURE__ */ (0,
|
|
769
|
-
/* @__PURE__ */ (0,
|
|
770
|
-
/* @__PURE__ */ (0,
|
|
811
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center ml-auto gap-[20px] p-[10px]", children: [
|
|
812
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: "Search" }),
|
|
813
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons_react3.IconBellRinging, { onClick: onClickNoti, className: "cursor-pointer" }) }),
|
|
814
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-[40px] h-[40px] bg-gray-400 rounded-full cursor-pointer" })
|
|
771
815
|
] })
|
|
772
816
|
] });
|
|
773
817
|
}
|
|
@@ -779,7 +823,7 @@ var import_react4 = require("react");
|
|
|
779
823
|
// src/Table/Pagination/Pagination.tsx
|
|
780
824
|
var import_icons_react4 = require("@tabler/icons-react");
|
|
781
825
|
var import_react3 = require("react");
|
|
782
|
-
var
|
|
826
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
783
827
|
function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
784
828
|
const totalPages = Math.ceil(totalItems / itemsPerPage);
|
|
785
829
|
const getPages = (0, import_react3.useMemo)(() => {
|
|
@@ -803,21 +847,21 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
803
847
|
return pages;
|
|
804
848
|
}, [totalPages, currentPage]);
|
|
805
849
|
if (totalPages <= 1) return null;
|
|
806
|
-
return /* @__PURE__ */ (0,
|
|
807
|
-
/* @__PURE__ */ (0,
|
|
850
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center justify-center gap-2 mt-4 body-1", children: [
|
|
851
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
808
852
|
"button",
|
|
809
853
|
{
|
|
810
854
|
className: "px-3 py-1 disabled:opacity-50 flex gap-[8px] cursor-pointer",
|
|
811
855
|
disabled: currentPage === 1,
|
|
812
856
|
onClick: () => onPageChange(currentPage - 1),
|
|
813
857
|
children: [
|
|
814
|
-
/* @__PURE__ */ (0,
|
|
858
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons_react4.IconArrowLeft, {}),
|
|
815
859
|
"\u0E22\u0E49\u0E2D\u0E19\u0E01\u0E25\u0E31\u0E1A"
|
|
816
860
|
]
|
|
817
861
|
}
|
|
818
862
|
),
|
|
819
863
|
getPages.map(
|
|
820
|
-
(page, i) => typeof page === "string" ? /* @__PURE__ */ (0,
|
|
864
|
+
(page, i) => typeof page === "string" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "px-2", children: page }, i) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
821
865
|
"button",
|
|
822
866
|
{
|
|
823
867
|
className: `w-[32px] h-[32px] rounded-[8px] px-3 py-1 cursor-pointer
|
|
@@ -828,7 +872,7 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
828
872
|
i
|
|
829
873
|
)
|
|
830
874
|
),
|
|
831
|
-
/* @__PURE__ */ (0,
|
|
875
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
832
876
|
"button",
|
|
833
877
|
{
|
|
834
878
|
className: "px-3 py-1 disabled:opacity-50 flex gap-[8px] cursor-pointer",
|
|
@@ -836,7 +880,7 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
836
880
|
onClick: () => onPageChange(currentPage + 1),
|
|
837
881
|
children: [
|
|
838
882
|
"\u0E16\u0E31\u0E14\u0E44\u0E1B",
|
|
839
|
-
/* @__PURE__ */ (0,
|
|
883
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons_react4.IconArrowRight, {})
|
|
840
884
|
]
|
|
841
885
|
}
|
|
842
886
|
)
|
|
@@ -844,7 +888,7 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
844
888
|
}
|
|
845
889
|
|
|
846
890
|
// src/Table/DataTable/DataTable.tsx
|
|
847
|
-
var
|
|
891
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
848
892
|
function DataTable({ columns, data, onSort, isLoading }) {
|
|
849
893
|
const cols = Math.max(1, columns.length);
|
|
850
894
|
const gridClass = "grid [grid-template-columns:repeat(var(--cols),minmax(0,1fr))]";
|
|
@@ -856,14 +900,14 @@ function DataTable({ columns, data, onSort, isLoading }) {
|
|
|
856
900
|
onSort();
|
|
857
901
|
}
|
|
858
902
|
};
|
|
859
|
-
return /* @__PURE__ */ (0,
|
|
860
|
-
/* @__PURE__ */ (0,
|
|
903
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "border rounded-md w-full h-full", children: [
|
|
904
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `${gridClass} font-semibold border-b border-gray-200`, style: { ["--cols"]: cols }, children: columns.map((col, i) => {
|
|
861
905
|
const isActive = sortConfig?.key === col.accessor;
|
|
862
906
|
const direction = isActive ? sortConfig?.direction : null;
|
|
863
|
-
return /* @__PURE__ */ (0,
|
|
907
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-[8px] py-[8px] px-[16px] body-4 truncate", children: [
|
|
864
908
|
col.header,
|
|
865
|
-
col.sortable && /* @__PURE__ */ (0,
|
|
866
|
-
direction === null && /* @__PURE__ */ (0,
|
|
909
|
+
col.sortable && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
|
|
910
|
+
direction === null && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
867
911
|
import_icons_react5.IconSelector,
|
|
868
912
|
{
|
|
869
913
|
size: 15,
|
|
@@ -871,7 +915,7 @@ function DataTable({ columns, data, onSort, isLoading }) {
|
|
|
871
915
|
onClick: () => onSorting({ key: col.accessor, direction: "asc" })
|
|
872
916
|
}
|
|
873
917
|
),
|
|
874
|
-
direction === "asc" && /* @__PURE__ */ (0,
|
|
918
|
+
direction === "asc" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
875
919
|
import_icons_react5.IconSortAscending,
|
|
876
920
|
{
|
|
877
921
|
size: 15,
|
|
@@ -879,7 +923,7 @@ function DataTable({ columns, data, onSort, isLoading }) {
|
|
|
879
923
|
onClick: () => onSorting({ key: col.accessor, direction: "desc" })
|
|
880
924
|
}
|
|
881
925
|
),
|
|
882
|
-
direction === "desc" && /* @__PURE__ */ (0,
|
|
926
|
+
direction === "desc" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
883
927
|
import_icons_react5.IconSortDescending,
|
|
884
928
|
{
|
|
885
929
|
size: 15,
|
|
@@ -890,23 +934,23 @@ function DataTable({ columns, data, onSort, isLoading }) {
|
|
|
890
934
|
] })
|
|
891
935
|
] }, i);
|
|
892
936
|
}) }),
|
|
893
|
-
isLoading ? /* @__PURE__ */ (0,
|
|
937
|
+
isLoading ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "flex justify-center items-center w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Loader, {}) }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_jsx_runtime17.Fragment, { children: data.map((row, i) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
894
938
|
"div",
|
|
895
939
|
{
|
|
896
940
|
className: `${gridClass} ${data.length - 1 !== i ? "border-b border-gray-200" : ""} items-center`,
|
|
897
941
|
style: { ["--cols"]: cols },
|
|
898
|
-
children: columns.map((col, c) => /* @__PURE__ */ (0,
|
|
942
|
+
children: columns.map((col, c) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "py-[8px] px-[16px] body-3 truncate", children: typeof col.accessor === "function" ? col.accessor(row) : String(row[col.accessor]) }, c))
|
|
899
943
|
},
|
|
900
944
|
i
|
|
901
945
|
)) }),
|
|
902
|
-
/* @__PURE__ */ (0,
|
|
946
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Pagination, { currentPage: page, itemsPerPage: 5, totalItems: 10, onPageChange: setPage }) })
|
|
903
947
|
] });
|
|
904
948
|
}
|
|
905
949
|
|
|
906
950
|
// src/Table/DataTable/AntDataTable.tsx
|
|
907
|
-
var
|
|
951
|
+
var import_antd4 = require("antd");
|
|
908
952
|
var import_react5 = require("react");
|
|
909
|
-
var
|
|
953
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
910
954
|
function AntDataTable({
|
|
911
955
|
dataSource,
|
|
912
956
|
columns,
|
|
@@ -932,8 +976,8 @@ function AntDataTable({
|
|
|
932
976
|
onChange?.(paginationArgs, filters, sorter, extra);
|
|
933
977
|
onFilter(filters);
|
|
934
978
|
};
|
|
935
|
-
return /* @__PURE__ */ (0,
|
|
936
|
-
|
|
979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_jsx_runtime18.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
980
|
+
import_antd4.ConfigProvider,
|
|
937
981
|
{
|
|
938
982
|
theme: {
|
|
939
983
|
components: {},
|
|
@@ -942,8 +986,8 @@ function AntDataTable({
|
|
|
942
986
|
fontSize: 14
|
|
943
987
|
}
|
|
944
988
|
},
|
|
945
|
-
children: /* @__PURE__ */ (0,
|
|
946
|
-
|
|
989
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
990
|
+
import_antd4.Table,
|
|
947
991
|
{
|
|
948
992
|
dataSource,
|
|
949
993
|
columns,
|
|
@@ -966,7 +1010,7 @@ var import_timegrid = __toESM(require("@fullcalendar/timegrid"));
|
|
|
966
1010
|
var import_interaction = __toESM(require("@fullcalendar/interaction"));
|
|
967
1011
|
var import_th = __toESM(require("@fullcalendar/core/locales/th"));
|
|
968
1012
|
var import_icons_react6 = require("@tabler/icons-react");
|
|
969
|
-
var
|
|
1013
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
970
1014
|
function Calendar({ events }) {
|
|
971
1015
|
const calendarRef = (0, import_react6.useRef)(null);
|
|
972
1016
|
const [monthTitle, setMonthTitle] = (0, import_react6.useState)("");
|
|
@@ -985,11 +1029,11 @@ function Calendar({ events }) {
|
|
|
985
1029
|
(0, import_react6.useEffect)(() => {
|
|
986
1030
|
updateTitle();
|
|
987
1031
|
}, []);
|
|
988
|
-
return /* @__PURE__ */ (0,
|
|
989
|
-
/* @__PURE__ */ (0,
|
|
990
|
-
/* @__PURE__ */ (0,
|
|
991
|
-
/* @__PURE__ */ (0,
|
|
992
|
-
/* @__PURE__ */ (0,
|
|
1032
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "fc w-full h-full relative z-10", children: [
|
|
1033
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex mb-[8px]", children: [
|
|
1034
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "headline-5", children: monthTitle }),
|
|
1035
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex gap-[10px] ml-auto", children: [
|
|
1036
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
993
1037
|
"p",
|
|
994
1038
|
{
|
|
995
1039
|
className: "w-[80px] h-[35px] border-[1px] flex justify-center items-center rounded-[2px] body-3 cursor-pointer",
|
|
@@ -1000,7 +1044,7 @@ function Calendar({ events }) {
|
|
|
1000
1044
|
children: "\u0E27\u0E31\u0E19\u0E19\u0E35\u0E49"
|
|
1001
1045
|
}
|
|
1002
1046
|
),
|
|
1003
|
-
/* @__PURE__ */ (0,
|
|
1047
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1004
1048
|
"p",
|
|
1005
1049
|
{
|
|
1006
1050
|
className: "w-[80px] h-[35px] border-[1px] flex justify-center items-center rounded-[2px] body-3 cursor-pointer",
|
|
@@ -1011,7 +1055,7 @@ function Calendar({ events }) {
|
|
|
1011
1055
|
children: "Month"
|
|
1012
1056
|
}
|
|
1013
1057
|
),
|
|
1014
|
-
/* @__PURE__ */ (0,
|
|
1058
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1015
1059
|
"p",
|
|
1016
1060
|
{
|
|
1017
1061
|
className: "w-[80px] h-[35px] border-[1px] flex justify-center items-center rounded-[2px] body-3 cursor-pointer",
|
|
@@ -1022,7 +1066,7 @@ function Calendar({ events }) {
|
|
|
1022
1066
|
children: "Week"
|
|
1023
1067
|
}
|
|
1024
1068
|
),
|
|
1025
|
-
/* @__PURE__ */ (0,
|
|
1069
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1026
1070
|
"p",
|
|
1027
1071
|
{
|
|
1028
1072
|
className: "w-[80px] h-[35px] border-[1px] flex justify-center items-center rounded-[2px] body-3 cursor-pointer",
|
|
@@ -1033,7 +1077,7 @@ function Calendar({ events }) {
|
|
|
1033
1077
|
children: "Day"
|
|
1034
1078
|
}
|
|
1035
1079
|
),
|
|
1036
|
-
/* @__PURE__ */ (0,
|
|
1080
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1037
1081
|
"button",
|
|
1038
1082
|
{
|
|
1039
1083
|
className: "cursor-pointer",
|
|
@@ -1041,10 +1085,10 @@ function Calendar({ events }) {
|
|
|
1041
1085
|
calendarRef.current?.getApi().prev();
|
|
1042
1086
|
updateTitle();
|
|
1043
1087
|
},
|
|
1044
|
-
children: /* @__PURE__ */ (0,
|
|
1088
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons_react6.IconChevronLeft, {})
|
|
1045
1089
|
}
|
|
1046
1090
|
),
|
|
1047
|
-
/* @__PURE__ */ (0,
|
|
1091
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1048
1092
|
"button",
|
|
1049
1093
|
{
|
|
1050
1094
|
className: "cursor-pointer",
|
|
@@ -1052,12 +1096,12 @@ function Calendar({ events }) {
|
|
|
1052
1096
|
calendarRef.current?.getApi().next();
|
|
1053
1097
|
updateTitle();
|
|
1054
1098
|
},
|
|
1055
|
-
children: /* @__PURE__ */ (0,
|
|
1099
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons_react6.IconChevronRight, {})
|
|
1056
1100
|
}
|
|
1057
1101
|
)
|
|
1058
1102
|
] })
|
|
1059
1103
|
] }),
|
|
1060
|
-
/* @__PURE__ */ (0,
|
|
1104
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "relative z-10", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1061
1105
|
import_react7.default,
|
|
1062
1106
|
{
|
|
1063
1107
|
ref: calendarRef,
|
|
@@ -1086,28 +1130,28 @@ function Calendar({ events }) {
|
|
|
1086
1130
|
});
|
|
1087
1131
|
},
|
|
1088
1132
|
eventContent: (arg) => {
|
|
1089
|
-
return /* @__PURE__ */ (0,
|
|
1133
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("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 }) });
|
|
1090
1134
|
},
|
|
1091
1135
|
moreLinkContent: (arg) => `+${arg.num} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23`
|
|
1092
1136
|
}
|
|
1093
1137
|
) }),
|
|
1094
|
-
openPopup && /* @__PURE__ */ (0,
|
|
1138
|
+
openPopup && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "fixed inset-0 flex justify-center items-center bg-black/50 z-50", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(EventPopUp, { event: selectedEvent, onClose: () => setOpenPopup(false) }) })
|
|
1095
1139
|
] });
|
|
1096
1140
|
}
|
|
1097
1141
|
function EventPopUp({ event, onClose }) {
|
|
1098
|
-
return /* @__PURE__ */ (0,
|
|
1099
|
-
/* @__PURE__ */ (0,
|
|
1100
|
-
/* @__PURE__ */ (0,
|
|
1101
|
-
/* @__PURE__ */ (0,
|
|
1102
|
-
/* @__PURE__ */ (0,
|
|
1103
|
-
/* @__PURE__ */ (0,
|
|
1142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "w-[500px] h-auto rounded-2xl bg-white relative z-50 shadow-2xl overflow-hidden", children: [
|
|
1143
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("button", { className: "absolute top-3 right-3 rounded-full p-1 hover:bg-gray-200 transition", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons_react6.IconX, { className: "w-6 h-6 text-gray-600" }) }),
|
|
1144
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "bg-red-400 text-left text-white px-6 py-4 headline-5", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("h2", { className: "text-lg font-semibold", children: event.title }) }),
|
|
1145
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex flex-col w-full p-6 gap-3 text-gray-700 body-3", children: [
|
|
1146
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("p", { children: [
|
|
1147
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "font-medium", children: "\u0E40\u0E23\u0E34\u0E48\u0E21: " }),
|
|
1104
1148
|
event?.start?.toLocaleString?.() || String(event?.start)
|
|
1105
1149
|
] }),
|
|
1106
|
-
/* @__PURE__ */ (0,
|
|
1107
|
-
/* @__PURE__ */ (0,
|
|
1150
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("p", { children: [
|
|
1151
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "font-medium", children: "\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14: " }),
|
|
1108
1152
|
event?.end?.toLocaleString?.() || String(event?.end)
|
|
1109
1153
|
] }),
|
|
1110
|
-
/* @__PURE__ */ (0,
|
|
1154
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("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" })
|
|
1111
1155
|
] })
|
|
1112
1156
|
] });
|
|
1113
1157
|
}
|
|
@@ -1115,7 +1159,7 @@ function EventPopUp({ event, onClose }) {
|
|
|
1115
1159
|
// src/Input/TextInput/TextInput.tsx
|
|
1116
1160
|
var import_icons_react7 = require("@tabler/icons-react");
|
|
1117
1161
|
var import_react8 = require("react");
|
|
1118
|
-
var
|
|
1162
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1119
1163
|
function TextInput({
|
|
1120
1164
|
label,
|
|
1121
1165
|
placeholder,
|
|
@@ -1132,18 +1176,18 @@ function TextInput({
|
|
|
1132
1176
|
setShowPassword(!showPassword);
|
|
1133
1177
|
};
|
|
1134
1178
|
const inputType = type === "password" ? showPassword ? "text" : "password" : "text";
|
|
1135
|
-
return /* @__PURE__ */ (0,
|
|
1136
|
-
label && /* @__PURE__ */ (0,
|
|
1179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { children: [
|
|
1180
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "body-1 mb-[8px]", children: [
|
|
1137
1181
|
label,
|
|
1138
|
-
required && /* @__PURE__ */ (0,
|
|
1182
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-red-500", children: "\xA0*" })
|
|
1139
1183
|
] }),
|
|
1140
|
-
/* @__PURE__ */ (0,
|
|
1184
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1141
1185
|
"div",
|
|
1142
1186
|
{
|
|
1143
1187
|
className: `border-[1px] rounded-[8px] w-full h-[40px] flex justify-center items-center
|
|
1144
1188
|
${disabled ? "bg-gray-100 text-gray-400" : error ? "border-red-500" : ""}`,
|
|
1145
1189
|
children: [
|
|
1146
|
-
/* @__PURE__ */ (0,
|
|
1190
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1147
1191
|
"input",
|
|
1148
1192
|
{
|
|
1149
1193
|
className: `w-full h-full px-[16px] ${disabled ? "cursor-not-allowed" : ""}`,
|
|
@@ -1156,18 +1200,18 @@ function TextInput({
|
|
|
1156
1200
|
disabled
|
|
1157
1201
|
}
|
|
1158
1202
|
),
|
|
1159
|
-
type === "password" && (showPassword ? /* @__PURE__ */ (0,
|
|
1203
|
+
type === "password" && (showPassword ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons_react7.IconEye, { className: "text-gray-600 mr-[8px] cursor-pointer", onClick: onShowPassword }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons_react7.IconEyeOff, { className: "text-gray-600 mr-[8px] cursor-pointer", onClick: onShowPassword }))
|
|
1160
1204
|
]
|
|
1161
1205
|
}
|
|
1162
1206
|
),
|
|
1163
|
-
error && /* @__PURE__ */ (0,
|
|
1207
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-red-500 body-1", children: error })
|
|
1164
1208
|
] });
|
|
1165
1209
|
}
|
|
1166
1210
|
|
|
1167
1211
|
// src/Input/TextArea/TextArea.tsx
|
|
1168
|
-
var
|
|
1169
|
-
var
|
|
1170
|
-
var { TextArea } =
|
|
1212
|
+
var import_antd5 = require("antd");
|
|
1213
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1214
|
+
var { TextArea } = import_antd5.Input;
|
|
1171
1215
|
function TextAreaInput({
|
|
1172
1216
|
label,
|
|
1173
1217
|
height = 4,
|
|
@@ -1181,8 +1225,8 @@ function TextAreaInput({
|
|
|
1181
1225
|
error,
|
|
1182
1226
|
disabled
|
|
1183
1227
|
}) {
|
|
1184
|
-
return /* @__PURE__ */ (0,
|
|
1185
|
-
|
|
1228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_jsx_runtime21.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1229
|
+
import_antd5.ConfigProvider,
|
|
1186
1230
|
{
|
|
1187
1231
|
theme: {
|
|
1188
1232
|
components: {},
|
|
@@ -1191,13 +1235,13 @@ function TextAreaInput({
|
|
|
1191
1235
|
fontSize: 16
|
|
1192
1236
|
}
|
|
1193
1237
|
},
|
|
1194
|
-
children: /* @__PURE__ */ (0,
|
|
1195
|
-
label && /* @__PURE__ */ (0,
|
|
1238
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
|
|
1239
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("p", { className: "body-1 mb-[8px]", children: [
|
|
1196
1240
|
label,
|
|
1197
1241
|
" ",
|
|
1198
|
-
required && /* @__PURE__ */ (0,
|
|
1242
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-red-500", children: "\xA0*" })
|
|
1199
1243
|
] }),
|
|
1200
|
-
/* @__PURE__ */ (0,
|
|
1244
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1201
1245
|
TextArea,
|
|
1202
1246
|
{
|
|
1203
1247
|
value,
|
|
@@ -1213,15 +1257,15 @@ function TextAreaInput({
|
|
|
1213
1257
|
disabled
|
|
1214
1258
|
}
|
|
1215
1259
|
),
|
|
1216
|
-
error && /* @__PURE__ */ (0,
|
|
1260
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-red-500 body-1", children: error })
|
|
1217
1261
|
] })
|
|
1218
1262
|
}
|
|
1219
1263
|
) });
|
|
1220
1264
|
}
|
|
1221
1265
|
|
|
1222
1266
|
// src/Input/InputField/InputField.tsx
|
|
1223
|
-
var
|
|
1224
|
-
var
|
|
1267
|
+
var import_antd6 = require("antd");
|
|
1268
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1225
1269
|
function InputField({
|
|
1226
1270
|
value,
|
|
1227
1271
|
onChange,
|
|
@@ -1237,24 +1281,24 @@ function InputField({
|
|
|
1237
1281
|
onClear,
|
|
1238
1282
|
statickey
|
|
1239
1283
|
}) {
|
|
1240
|
-
return /* @__PURE__ */ (0,
|
|
1241
|
-
|
|
1284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1285
|
+
import_antd6.ConfigProvider,
|
|
1242
1286
|
{
|
|
1243
1287
|
theme: {
|
|
1244
1288
|
token: {
|
|
1245
1289
|
fontFamily: "Kanit"
|
|
1246
1290
|
}
|
|
1247
1291
|
},
|
|
1248
|
-
children: /* @__PURE__ */ (0,
|
|
1249
|
-
/* @__PURE__ */ (0,
|
|
1250
|
-
/* @__PURE__ */ (0,
|
|
1292
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "container-input", children: [
|
|
1293
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
1294
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "body-1", children: label }),
|
|
1251
1295
|
" ",
|
|
1252
|
-
required && /* @__PURE__ */ (0,
|
|
1296
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-red-500", children: "*" })
|
|
1253
1297
|
] }),
|
|
1254
|
-
/* @__PURE__ */ (0,
|
|
1255
|
-
statickey && /* @__PURE__ */ (0,
|
|
1256
|
-
/* @__PURE__ */ (0,
|
|
1257
|
-
|
|
1298
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_antd6.Space.Compact, { children: [
|
|
1299
|
+
statickey && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "items-center flex px-2 bg-gray-300 rounded-l-md body-1", children: statickey }),
|
|
1300
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1301
|
+
import_antd6.Input,
|
|
1258
1302
|
{
|
|
1259
1303
|
value,
|
|
1260
1304
|
placeholder,
|
|
@@ -1269,15 +1313,15 @@ function InputField({
|
|
|
1269
1313
|
}
|
|
1270
1314
|
)
|
|
1271
1315
|
] }),
|
|
1272
|
-
error && /* @__PURE__ */ (0,
|
|
1316
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-red-500 caption-1", children: error })
|
|
1273
1317
|
] })
|
|
1274
1318
|
}
|
|
1275
1319
|
);
|
|
1276
1320
|
}
|
|
1277
1321
|
|
|
1278
1322
|
// src/Input/InputFieldNumber/InputFieldNumber.tsx
|
|
1279
|
-
var
|
|
1280
|
-
var
|
|
1323
|
+
var import_antd7 = require("antd");
|
|
1324
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1281
1325
|
function InputFieldNumber({
|
|
1282
1326
|
value,
|
|
1283
1327
|
onChange,
|
|
@@ -1298,22 +1342,22 @@ function InputFieldNumber({
|
|
|
1298
1342
|
formatter,
|
|
1299
1343
|
parser
|
|
1300
1344
|
}) {
|
|
1301
|
-
return /* @__PURE__ */ (0,
|
|
1302
|
-
|
|
1345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1346
|
+
import_antd7.ConfigProvider,
|
|
1303
1347
|
{
|
|
1304
1348
|
theme: {
|
|
1305
1349
|
token: {
|
|
1306
1350
|
fontFamily: "Kanit"
|
|
1307
1351
|
}
|
|
1308
1352
|
},
|
|
1309
|
-
children: /* @__PURE__ */ (0,
|
|
1310
|
-
/* @__PURE__ */ (0,
|
|
1311
|
-
/* @__PURE__ */ (0,
|
|
1353
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "container-input", children: [
|
|
1354
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
|
|
1355
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "body-1", children: label }),
|
|
1312
1356
|
" ",
|
|
1313
|
-
required && /* @__PURE__ */ (0,
|
|
1357
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "text-red-500", children: "*" })
|
|
1314
1358
|
] }),
|
|
1315
|
-
/* @__PURE__ */ (0,
|
|
1316
|
-
|
|
1359
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1360
|
+
import_antd7.InputNumber,
|
|
1317
1361
|
{
|
|
1318
1362
|
value: value ?? void 0,
|
|
1319
1363
|
onChange: (val) => onChange(val),
|
|
@@ -1341,7 +1385,7 @@ function InputFieldNumber({
|
|
|
1341
1385
|
})
|
|
1342
1386
|
}
|
|
1343
1387
|
),
|
|
1344
|
-
error && /* @__PURE__ */ (0,
|
|
1388
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-red-500 caption-1", children: error })
|
|
1345
1389
|
] })
|
|
1346
1390
|
}
|
|
1347
1391
|
);
|
|
@@ -1354,7 +1398,7 @@ var import_th2 = __toESM(require_th());
|
|
|
1354
1398
|
var import_buddhistEra = __toESM(require_buddhistEra());
|
|
1355
1399
|
var import_date_fns = require("date-fns");
|
|
1356
1400
|
var import_locale = require("date-fns/locale");
|
|
1357
|
-
var
|
|
1401
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1358
1402
|
import_dayjs.default.extend(import_buddhistEra.default);
|
|
1359
1403
|
import_dayjs.default.locale("th");
|
|
1360
1404
|
function DatePickerBasic({
|
|
@@ -1418,27 +1462,27 @@ function DatePickerBasic({
|
|
|
1418
1462
|
document.addEventListener("mousedown", handleClickOutside);
|
|
1419
1463
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
1420
1464
|
}, []);
|
|
1421
|
-
return /* @__PURE__ */ (0,
|
|
1422
|
-
/* @__PURE__ */ (0,
|
|
1423
|
-
/* @__PURE__ */ (0,
|
|
1424
|
-
required && /* @__PURE__ */ (0,
|
|
1465
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { ref: wrapperRef, style: { fontFamily: "Kanit", fontSize: 16 }, className: "relative w-full", children: [
|
|
1466
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "mb-1", children: [
|
|
1467
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "body-1", children: label }),
|
|
1468
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-red-500 ml-1", children: "*" })
|
|
1425
1469
|
] }),
|
|
1426
|
-
/* @__PURE__ */ (0,
|
|
1470
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1427
1471
|
"div",
|
|
1428
1472
|
{
|
|
1429
1473
|
className: `border rounded px-3 py-2 cursor-pointer bg-white flex items-center ${disabled ? "opacity-50 cursor-not-allowed" : ""} ${error ? "border-red-500" : "border-gray-300"}`,
|
|
1430
1474
|
onClick: () => !disabled && setOpen(!open),
|
|
1431
|
-
children: /* @__PURE__ */ (0,
|
|
1475
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex-1", children: value ? formatThaiBE(value) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-gray-400", children: placeholder }) })
|
|
1432
1476
|
}
|
|
1433
1477
|
),
|
|
1434
|
-
open && /* @__PURE__ */ (0,
|
|
1478
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
1435
1479
|
"div",
|
|
1436
1480
|
{
|
|
1437
1481
|
className: "absolute z-50 mt-2 w-80 p-4 bg-white shadow-xl rounded-lg border animate-fade-in",
|
|
1438
1482
|
style: { fontFamily: "Kanit", fontSize: 16 },
|
|
1439
1483
|
children: [
|
|
1440
|
-
/* @__PURE__ */ (0,
|
|
1441
|
-
/* @__PURE__ */ (0,
|
|
1484
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between items-center mb-3", children: [
|
|
1485
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1442
1486
|
"button",
|
|
1443
1487
|
{
|
|
1444
1488
|
onClick: () => setCalendar(calendar.subtract(1, "month")),
|
|
@@ -1446,16 +1490,16 @@ function DatePickerBasic({
|
|
|
1446
1490
|
children: "\u25C0"
|
|
1447
1491
|
}
|
|
1448
1492
|
),
|
|
1449
|
-
/* @__PURE__ */ (0,
|
|
1493
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "font-semibold text-lg text-gray-700", children: [
|
|
1450
1494
|
monthNames[calendar.month()],
|
|
1451
1495
|
" ",
|
|
1452
1496
|
calendar.year() + 543
|
|
1453
1497
|
] }),
|
|
1454
|
-
/* @__PURE__ */ (0,
|
|
1498
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("button", { onClick: () => setCalendar(calendar.add(1, "month")), className: "px-2 hover:bg-gray-100 rounded", children: "\u25B6" })
|
|
1455
1499
|
] }),
|
|
1456
|
-
/* @__PURE__ */ (0,
|
|
1457
|
-
/* @__PURE__ */ (0,
|
|
1458
|
-
Array(firstDayOfMonth).fill(null).map((_, i) => /* @__PURE__ */ (0,
|
|
1500
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "grid grid-cols-7 text-center text-gray-500 text-sm mb-2 font-medium", children: ["\u0E2D\u0E32", "\u0E08", "\u0E2D", "\u0E1E", "\u0E1E\u0E24", "\u0E28", "\u0E2A"].map((d) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { children: d }, d)) }),
|
|
1501
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "grid grid-cols-7 gap-1 text-center", children: [
|
|
1502
|
+
Array(firstDayOfMonth).fill(null).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", {}, `empty-${i}`)),
|
|
1459
1503
|
Array.from({ length: daysInMonth }, (_, i) => i + 1).map((d) => {
|
|
1460
1504
|
const dateObj = calendar.date(d);
|
|
1461
1505
|
const isDisable = isDisabled(dateObj);
|
|
@@ -1473,7 +1517,7 @@ function DatePickerBasic({
|
|
|
1473
1517
|
bgClass = "border border-blue-500 font-bold";
|
|
1474
1518
|
textClass = "text-blue-600";
|
|
1475
1519
|
}
|
|
1476
|
-
return /* @__PURE__ */ (0,
|
|
1520
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1477
1521
|
"div",
|
|
1478
1522
|
{
|
|
1479
1523
|
onClick: () => !isDisable && handleSelect(d),
|
|
@@ -1491,7 +1535,7 @@ function DatePickerBasic({
|
|
|
1491
1535
|
]
|
|
1492
1536
|
}
|
|
1493
1537
|
),
|
|
1494
|
-
error && /* @__PURE__ */ (0,
|
|
1538
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "text-red-500 text-xs mt-1", children: error })
|
|
1495
1539
|
] });
|
|
1496
1540
|
}
|
|
1497
1541
|
|
|
@@ -1502,7 +1546,7 @@ var import_th3 = __toESM(require_th());
|
|
|
1502
1546
|
var import_buddhistEra2 = __toESM(require_buddhistEra());
|
|
1503
1547
|
var import_date_fns2 = require("date-fns");
|
|
1504
1548
|
var import_locale2 = require("date-fns/locale");
|
|
1505
|
-
var
|
|
1549
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1506
1550
|
import_dayjs2.default.extend(import_buddhistEra2.default);
|
|
1507
1551
|
import_dayjs2.default.locale("th");
|
|
1508
1552
|
function DatePickerRange({
|
|
@@ -1576,7 +1620,7 @@ function DatePickerRange({
|
|
|
1576
1620
|
document.addEventListener("mousedown", handleClickOutside);
|
|
1577
1621
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
1578
1622
|
}, []);
|
|
1579
|
-
const ArrowIcon = () => /* @__PURE__ */ (0,
|
|
1623
|
+
const ArrowIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", className: "w-4 h-4 text-gray-400", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1580
1624
|
"path",
|
|
1581
1625
|
{
|
|
1582
1626
|
fillRule: "evenodd",
|
|
@@ -1584,31 +1628,31 @@ function DatePickerRange({
|
|
|
1584
1628
|
clipRule: "evenodd"
|
|
1585
1629
|
}
|
|
1586
1630
|
) });
|
|
1587
|
-
return /* @__PURE__ */ (0,
|
|
1588
|
-
/* @__PURE__ */ (0,
|
|
1589
|
-
/* @__PURE__ */ (0,
|
|
1590
|
-
required && /* @__PURE__ */ (0,
|
|
1631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { ref: wrapperRef, style: { fontFamily: "Kanit", fontSize: 16 }, className: "relative w-full", children: [
|
|
1632
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "mb-1", children: [
|
|
1633
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "body-1", children: label }),
|
|
1634
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-red-500 ml-1", children: "*" })
|
|
1591
1635
|
] }),
|
|
1592
|
-
/* @__PURE__ */ (0,
|
|
1636
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
1593
1637
|
"div",
|
|
1594
1638
|
{
|
|
1595
1639
|
className: `border rounded px-3 py-2 cursor-pointer bg-white flex items-center justify-between gap-2 ${disabled ? "opacity-50 cursor-not-allowed" : ""} ${error ? "border-red-500" : "border-gray-300"}`,
|
|
1596
1640
|
onClick: () => !disabled && setOpen(!open),
|
|
1597
1641
|
children: [
|
|
1598
|
-
/* @__PURE__ */ (0,
|
|
1599
|
-
/* @__PURE__ */ (0,
|
|
1600
|
-
/* @__PURE__ */ (0,
|
|
1642
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `flex-1 ${!startDate ? "text-gray-400 font-light" : "text-gray-800"}`, children: startDate ? formatThaiBE(startDate) : "\u0E27\u0E31\u0E19\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19" }),
|
|
1643
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ArrowIcon, {}) }),
|
|
1644
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `flex-1 text-right ${!endDate ? "text-gray-400 font-light" : "text-gray-800"}`, children: endDate ? formatThaiBE(endDate) : "\u0E27\u0E31\u0E19\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14" })
|
|
1601
1645
|
]
|
|
1602
1646
|
}
|
|
1603
1647
|
),
|
|
1604
|
-
open && /* @__PURE__ */ (0,
|
|
1648
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
1605
1649
|
"div",
|
|
1606
1650
|
{
|
|
1607
1651
|
className: "absolute z-50 mt-2 w-80 p-4 bg-white shadow-xl rounded-lg border animate-fade-in right-0 left-0 mx-auto sm:mx-0 sm:left-auto sm:right-auto",
|
|
1608
1652
|
style: { fontFamily: "Kanit", fontSize: 16 },
|
|
1609
1653
|
children: [
|
|
1610
|
-
/* @__PURE__ */ (0,
|
|
1611
|
-
/* @__PURE__ */ (0,
|
|
1654
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex justify-between items-center mb-3", children: [
|
|
1655
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1612
1656
|
"button",
|
|
1613
1657
|
{
|
|
1614
1658
|
onClick: () => setCalendar(calendar.subtract(1, "month")),
|
|
@@ -1616,16 +1660,16 @@ function DatePickerRange({
|
|
|
1616
1660
|
children: "\u25C0"
|
|
1617
1661
|
}
|
|
1618
1662
|
),
|
|
1619
|
-
/* @__PURE__ */ (0,
|
|
1663
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "font-semibold text-lg text-gray-700", children: [
|
|
1620
1664
|
monthNames[calendar.month()],
|
|
1621
1665
|
" ",
|
|
1622
1666
|
calendar.year() + 543
|
|
1623
1667
|
] }),
|
|
1624
|
-
/* @__PURE__ */ (0,
|
|
1668
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("button", { onClick: () => setCalendar(calendar.add(1, "month")), className: "px-2 hover:bg-gray-100 rounded", children: "\u25B6" })
|
|
1625
1669
|
] }),
|
|
1626
|
-
/* @__PURE__ */ (0,
|
|
1627
|
-
/* @__PURE__ */ (0,
|
|
1628
|
-
Array(firstDayOfMonth).fill(null).map((_, i) => /* @__PURE__ */ (0,
|
|
1670
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "grid grid-cols-7 text-center text-gray-500 text-sm mb-2 font-medium", children: ["\u0E2D\u0E32", "\u0E08", "\u0E2D", "\u0E1E", "\u0E1E\u0E24", "\u0E28", "\u0E2A"].map((d) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { children: d }, d)) }),
|
|
1671
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "grid grid-cols-7 gap-y-1 text-center", children: [
|
|
1672
|
+
Array(firstDayOfMonth).fill(null).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", {}, `empty-${i}`)),
|
|
1629
1673
|
Array.from({ length: daysInMonth }, (_, i) => i + 1).map((d) => {
|
|
1630
1674
|
const currentObj = calendar.date(d);
|
|
1631
1675
|
const isDisable = isDisabled(currentObj);
|
|
@@ -1648,7 +1692,7 @@ function DatePickerRange({
|
|
|
1648
1692
|
bgClass = "border border-blue-500 font-bold";
|
|
1649
1693
|
textClass = "text-blue-600";
|
|
1650
1694
|
}
|
|
1651
|
-
return /* @__PURE__ */ (0,
|
|
1695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1652
1696
|
"div",
|
|
1653
1697
|
{
|
|
1654
1698
|
onClick: () => !isDisable && handleSelect(d),
|
|
@@ -1666,13 +1710,13 @@ function DatePickerRange({
|
|
|
1666
1710
|
]
|
|
1667
1711
|
}
|
|
1668
1712
|
),
|
|
1669
|
-
error && /* @__PURE__ */ (0,
|
|
1713
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { className: "text-red-500 text-xs mt-1", children: error })
|
|
1670
1714
|
] });
|
|
1671
1715
|
}
|
|
1672
1716
|
|
|
1673
1717
|
// src/ColorPicker/ColorPickerBasic/ColorPicker.tsx
|
|
1674
|
-
var
|
|
1675
|
-
var
|
|
1718
|
+
var import_antd8 = require("antd");
|
|
1719
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1676
1720
|
function ColorPickerBasic({
|
|
1677
1721
|
value,
|
|
1678
1722
|
onChange,
|
|
@@ -1685,8 +1729,8 @@ function ColorPickerBasic({
|
|
|
1685
1729
|
className,
|
|
1686
1730
|
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35"
|
|
1687
1731
|
}) {
|
|
1688
|
-
return /* @__PURE__ */ (0,
|
|
1689
|
-
|
|
1732
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1733
|
+
import_antd8.ConfigProvider,
|
|
1690
1734
|
{
|
|
1691
1735
|
theme: {
|
|
1692
1736
|
token: {
|
|
@@ -1694,14 +1738,14 @@ function ColorPickerBasic({
|
|
|
1694
1738
|
fontSize: 16
|
|
1695
1739
|
}
|
|
1696
1740
|
},
|
|
1697
|
-
children: /* @__PURE__ */ (0,
|
|
1698
|
-
/* @__PURE__ */ (0,
|
|
1699
|
-
/* @__PURE__ */ (0,
|
|
1741
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "container-input", children: [
|
|
1742
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { children: [
|
|
1743
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "body-1", children: label }),
|
|
1700
1744
|
" ",
|
|
1701
|
-
required && /* @__PURE__ */ (0,
|
|
1745
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-red-500", children: "*" })
|
|
1702
1746
|
] }),
|
|
1703
|
-
/* @__PURE__ */ (0,
|
|
1704
|
-
|
|
1747
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1748
|
+
import_antd8.ColorPicker,
|
|
1705
1749
|
{
|
|
1706
1750
|
defaultFormat,
|
|
1707
1751
|
className: `body-1 w-full ${className ?? ""}`,
|
|
@@ -1712,9 +1756,9 @@ function ColorPickerBasic({
|
|
|
1712
1756
|
showText: (color) => {
|
|
1713
1757
|
const hex = color.toHexString();
|
|
1714
1758
|
if (!value) {
|
|
1715
|
-
return /* @__PURE__ */ (0,
|
|
1759
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { children: placeholder });
|
|
1716
1760
|
}
|
|
1717
|
-
return /* @__PURE__ */ (0,
|
|
1761
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("span", { children: [
|
|
1718
1762
|
"(",
|
|
1719
1763
|
hex,
|
|
1720
1764
|
")"
|
|
@@ -1723,14 +1767,14 @@ function ColorPickerBasic({
|
|
|
1723
1767
|
disabled
|
|
1724
1768
|
}
|
|
1725
1769
|
),
|
|
1726
|
-
error && /* @__PURE__ */ (0,
|
|
1770
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-red-500 caption-1", children: error })
|
|
1727
1771
|
] })
|
|
1728
1772
|
}
|
|
1729
1773
|
);
|
|
1730
1774
|
}
|
|
1731
1775
|
|
|
1732
1776
|
// src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
|
|
1733
|
-
var
|
|
1777
|
+
var import_antd9 = require("antd");
|
|
1734
1778
|
|
|
1735
1779
|
// node_modules/@babel/runtime/helpers/esm/typeof.js
|
|
1736
1780
|
function _typeof(o) {
|
|
@@ -2432,7 +2476,7 @@ var greyDark = ["#151515", "#1f1f1f", "#2d2d2d", "#393939", "#494949", "#5a5a5a"
|
|
|
2432
2476
|
greyDark.primary = greyDark[5];
|
|
2433
2477
|
|
|
2434
2478
|
// src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
|
|
2435
|
-
var
|
|
2479
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2436
2480
|
function genPresets(presets = presetPalettes) {
|
|
2437
2481
|
return Object.entries(presets).map(([label, colors]) => ({
|
|
2438
2482
|
label,
|
|
@@ -2453,14 +2497,14 @@ function ColorPalettePickerBasic({
|
|
|
2453
2497
|
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35",
|
|
2454
2498
|
onClear
|
|
2455
2499
|
}) {
|
|
2456
|
-
const { token } =
|
|
2500
|
+
const { token } = import_antd9.theme.useToken();
|
|
2457
2501
|
const presets = genPresets({
|
|
2458
2502
|
primary: generate(token.colorPrimary),
|
|
2459
2503
|
red,
|
|
2460
2504
|
green
|
|
2461
2505
|
});
|
|
2462
|
-
return /* @__PURE__ */ (0,
|
|
2463
|
-
|
|
2506
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2507
|
+
import_antd9.ConfigProvider,
|
|
2464
2508
|
{
|
|
2465
2509
|
theme: {
|
|
2466
2510
|
token: {
|
|
@@ -2468,14 +2512,14 @@ function ColorPalettePickerBasic({
|
|
|
2468
2512
|
fontSize: 16
|
|
2469
2513
|
}
|
|
2470
2514
|
},
|
|
2471
|
-
children: /* @__PURE__ */ (0,
|
|
2472
|
-
/* @__PURE__ */ (0,
|
|
2473
|
-
/* @__PURE__ */ (0,
|
|
2515
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "container-input", children: [
|
|
2516
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { children: [
|
|
2517
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "body-1", children: label }),
|
|
2474
2518
|
" ",
|
|
2475
|
-
required && /* @__PURE__ */ (0,
|
|
2519
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-red-500", children: "*" })
|
|
2476
2520
|
] }),
|
|
2477
|
-
/* @__PURE__ */ (0,
|
|
2478
|
-
|
|
2521
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2522
|
+
import_antd9.ColorPicker,
|
|
2479
2523
|
{
|
|
2480
2524
|
defaultFormat,
|
|
2481
2525
|
className: `body-1 w-full ${className ?? ""}`,
|
|
@@ -2487,9 +2531,9 @@ function ColorPalettePickerBasic({
|
|
|
2487
2531
|
showText: (color) => {
|
|
2488
2532
|
const hex = color.toHexString();
|
|
2489
2533
|
if (!value) {
|
|
2490
|
-
return /* @__PURE__ */ (0,
|
|
2534
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: placeholder });
|
|
2491
2535
|
}
|
|
2492
|
-
return /* @__PURE__ */ (0,
|
|
2536
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("span", { children: [
|
|
2493
2537
|
"(",
|
|
2494
2538
|
hex,
|
|
2495
2539
|
")"
|
|
@@ -2499,15 +2543,15 @@ function ColorPalettePickerBasic({
|
|
|
2499
2543
|
onClear
|
|
2500
2544
|
}
|
|
2501
2545
|
),
|
|
2502
|
-
error && /* @__PURE__ */ (0,
|
|
2546
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "text-red-500 caption-1", children: error })
|
|
2503
2547
|
] })
|
|
2504
2548
|
}
|
|
2505
2549
|
);
|
|
2506
2550
|
}
|
|
2507
2551
|
|
|
2508
2552
|
// src/Select/SelectField/SelectField.tsx
|
|
2509
|
-
var
|
|
2510
|
-
var
|
|
2553
|
+
var import_antd10 = require("antd");
|
|
2554
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2511
2555
|
function SelectField({
|
|
2512
2556
|
value,
|
|
2513
2557
|
onChange,
|
|
@@ -2527,8 +2571,8 @@ function SelectField({
|
|
|
2527
2571
|
size = "middle",
|
|
2528
2572
|
allowClear = true
|
|
2529
2573
|
}) {
|
|
2530
|
-
return /* @__PURE__ */ (0,
|
|
2531
|
-
|
|
2574
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2575
|
+
import_antd10.ConfigProvider,
|
|
2532
2576
|
{
|
|
2533
2577
|
theme: {
|
|
2534
2578
|
token: {
|
|
@@ -2536,14 +2580,14 @@ function SelectField({
|
|
|
2536
2580
|
fontSize: 16
|
|
2537
2581
|
}
|
|
2538
2582
|
},
|
|
2539
|
-
children: /* @__PURE__ */ (0,
|
|
2540
|
-
/* @__PURE__ */ (0,
|
|
2541
|
-
/* @__PURE__ */ (0,
|
|
2583
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "container-input", children: [
|
|
2584
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
|
|
2585
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "body-1", children: label }),
|
|
2542
2586
|
" ",
|
|
2543
|
-
required && /* @__PURE__ */ (0,
|
|
2587
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-red-500", children: "*" })
|
|
2544
2588
|
] }),
|
|
2545
|
-
/* @__PURE__ */ (0,
|
|
2546
|
-
|
|
2589
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2590
|
+
import_antd10.Select,
|
|
2547
2591
|
{
|
|
2548
2592
|
size,
|
|
2549
2593
|
showSearch: true,
|
|
@@ -2558,7 +2602,7 @@ function SelectField({
|
|
|
2558
2602
|
options,
|
|
2559
2603
|
mode,
|
|
2560
2604
|
onSearch: handleSearch,
|
|
2561
|
-
prefix: prefix ? /* @__PURE__ */ (0,
|
|
2605
|
+
prefix: prefix ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2562
2606
|
"span",
|
|
2563
2607
|
{
|
|
2564
2608
|
style: {
|
|
@@ -2575,15 +2619,15 @@ function SelectField({
|
|
|
2575
2619
|
onClear
|
|
2576
2620
|
}
|
|
2577
2621
|
),
|
|
2578
|
-
error && /* @__PURE__ */ (0,
|
|
2622
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-red-500 caption-1", children: error })
|
|
2579
2623
|
] })
|
|
2580
2624
|
}
|
|
2581
2625
|
);
|
|
2582
2626
|
}
|
|
2583
2627
|
|
|
2584
2628
|
// src/Select/SelectFieldGroup/SelectFieldGroup.tsx
|
|
2585
|
-
var
|
|
2586
|
-
var
|
|
2629
|
+
var import_antd11 = require("antd");
|
|
2630
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2587
2631
|
function SelectFieldGroup({
|
|
2588
2632
|
value,
|
|
2589
2633
|
onChange,
|
|
@@ -2602,22 +2646,22 @@ function SelectFieldGroup({
|
|
|
2602
2646
|
size = "middle",
|
|
2603
2647
|
allowClear = true
|
|
2604
2648
|
}) {
|
|
2605
|
-
return /* @__PURE__ */ (0,
|
|
2606
|
-
|
|
2649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2650
|
+
import_antd11.ConfigProvider,
|
|
2607
2651
|
{
|
|
2608
2652
|
theme: {
|
|
2609
2653
|
token: {
|
|
2610
2654
|
fontFamily: "Kanit"
|
|
2611
2655
|
}
|
|
2612
2656
|
},
|
|
2613
|
-
children: /* @__PURE__ */ (0,
|
|
2614
|
-
/* @__PURE__ */ (0,
|
|
2615
|
-
/* @__PURE__ */ (0,
|
|
2657
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "container-input", children: [
|
|
2658
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
|
|
2659
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "body-1", children: label }),
|
|
2616
2660
|
" ",
|
|
2617
|
-
required && /* @__PURE__ */ (0,
|
|
2661
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-red-500", children: "*" })
|
|
2618
2662
|
] }),
|
|
2619
|
-
/* @__PURE__ */ (0,
|
|
2620
|
-
|
|
2663
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2664
|
+
import_antd11.Select,
|
|
2621
2665
|
{
|
|
2622
2666
|
size,
|
|
2623
2667
|
showSearch: true,
|
|
@@ -2632,7 +2676,7 @@ function SelectFieldGroup({
|
|
|
2632
2676
|
options,
|
|
2633
2677
|
mode,
|
|
2634
2678
|
onSearch: handleSearch,
|
|
2635
|
-
prefix: prefix ? /* @__PURE__ */ (0,
|
|
2679
|
+
prefix: prefix ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2636
2680
|
"span",
|
|
2637
2681
|
{
|
|
2638
2682
|
style: {
|
|
@@ -2648,16 +2692,16 @@ function SelectFieldGroup({
|
|
|
2648
2692
|
allowClear
|
|
2649
2693
|
}
|
|
2650
2694
|
),
|
|
2651
|
-
error && /* @__PURE__ */ (0,
|
|
2695
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "text-red-500 caption-1", children: error })
|
|
2652
2696
|
] })
|
|
2653
2697
|
}
|
|
2654
2698
|
);
|
|
2655
2699
|
}
|
|
2656
2700
|
|
|
2657
2701
|
// src/Select/SelectFieldStatus/SelectFieldStatus.tsx
|
|
2658
|
-
var
|
|
2702
|
+
var import_antd12 = require("antd");
|
|
2659
2703
|
var import_icons = require("@ant-design/icons");
|
|
2660
|
-
var
|
|
2704
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2661
2705
|
function SelectFieldStatus({
|
|
2662
2706
|
value,
|
|
2663
2707
|
onChange,
|
|
@@ -2672,8 +2716,8 @@ function SelectFieldStatus({
|
|
|
2672
2716
|
allowClear = false
|
|
2673
2717
|
}) {
|
|
2674
2718
|
const selectedItem = options?.find((s) => s.value === value);
|
|
2675
|
-
return /* @__PURE__ */ (0,
|
|
2676
|
-
|
|
2719
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2720
|
+
import_antd12.ConfigProvider,
|
|
2677
2721
|
{
|
|
2678
2722
|
theme: {
|
|
2679
2723
|
components: {
|
|
@@ -2688,18 +2732,18 @@ function SelectFieldStatus({
|
|
|
2688
2732
|
fontFamily: "Kanit"
|
|
2689
2733
|
}
|
|
2690
2734
|
},
|
|
2691
|
-
children: /* @__PURE__ */ (0,
|
|
2692
|
-
/* @__PURE__ */ (0,
|
|
2693
|
-
/* @__PURE__ */ (0,
|
|
2735
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "container-input", children: [
|
|
2736
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { children: [
|
|
2737
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "body-1", children: label }),
|
|
2694
2738
|
" ",
|
|
2695
|
-
required && /* @__PURE__ */ (0,
|
|
2739
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "text-red-500", children: "*" })
|
|
2696
2740
|
] }),
|
|
2697
|
-
/* @__PURE__ */ (0,
|
|
2698
|
-
|
|
2741
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2742
|
+
import_antd12.Select,
|
|
2699
2743
|
{
|
|
2700
2744
|
size,
|
|
2701
2745
|
disabled,
|
|
2702
|
-
suffixIcon: /* @__PURE__ */ (0,
|
|
2746
|
+
suffixIcon: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_icons.DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
|
|
2703
2747
|
value: value ? value : void 0,
|
|
2704
2748
|
onChange,
|
|
2705
2749
|
className: `body-3 custom-select flex justify-center w-full ${className ?? ""} `,
|
|
@@ -2711,14 +2755,14 @@ function SelectFieldStatus({
|
|
|
2711
2755
|
allowClear
|
|
2712
2756
|
}
|
|
2713
2757
|
),
|
|
2714
|
-
error && /* @__PURE__ */ (0,
|
|
2758
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "text-red-500 caption-1", children: error })
|
|
2715
2759
|
] })
|
|
2716
2760
|
}
|
|
2717
2761
|
);
|
|
2718
2762
|
}
|
|
2719
2763
|
|
|
2720
2764
|
// src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
|
|
2721
|
-
var
|
|
2765
|
+
var import_antd13 = require("antd");
|
|
2722
2766
|
|
|
2723
2767
|
// src/Select/SelectFieldStatusReport/StatusReportMockup.ts
|
|
2724
2768
|
var status = [
|
|
@@ -2728,7 +2772,7 @@ var status = [
|
|
|
2728
2772
|
|
|
2729
2773
|
// src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
|
|
2730
2774
|
var import_icons2 = require("@ant-design/icons");
|
|
2731
|
-
var
|
|
2775
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2732
2776
|
function SelectFieldStatusReport({
|
|
2733
2777
|
value,
|
|
2734
2778
|
onChange,
|
|
@@ -2743,8 +2787,8 @@ function SelectFieldStatusReport({
|
|
|
2743
2787
|
allowClear = false
|
|
2744
2788
|
}) {
|
|
2745
2789
|
const selectedItem = status.find((s) => s.value === value);
|
|
2746
|
-
return /* @__PURE__ */ (0,
|
|
2747
|
-
|
|
2790
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2791
|
+
import_antd13.ConfigProvider,
|
|
2748
2792
|
{
|
|
2749
2793
|
theme: {
|
|
2750
2794
|
components: {
|
|
@@ -2759,18 +2803,18 @@ function SelectFieldStatusReport({
|
|
|
2759
2803
|
fontFamily: "Kanit"
|
|
2760
2804
|
}
|
|
2761
2805
|
},
|
|
2762
|
-
children: /* @__PURE__ */ (0,
|
|
2763
|
-
/* @__PURE__ */ (0,
|
|
2764
|
-
/* @__PURE__ */ (0,
|
|
2806
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "container-input", children: [
|
|
2807
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { children: [
|
|
2808
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "body-1", children: label }),
|
|
2765
2809
|
" ",
|
|
2766
|
-
required && /* @__PURE__ */ (0,
|
|
2810
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-red-500", children: "*" })
|
|
2767
2811
|
] }),
|
|
2768
|
-
/* @__PURE__ */ (0,
|
|
2769
|
-
|
|
2812
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2813
|
+
import_antd13.Select,
|
|
2770
2814
|
{
|
|
2771
2815
|
size,
|
|
2772
2816
|
disabled,
|
|
2773
|
-
suffixIcon: /* @__PURE__ */ (0,
|
|
2817
|
+
suffixIcon: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_icons2.DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
|
|
2774
2818
|
value: value ? value : void 0,
|
|
2775
2819
|
onChange,
|
|
2776
2820
|
className: `body-3 custom-select flex justify-center w-full ${className ?? ""}`,
|
|
@@ -2782,16 +2826,16 @@ function SelectFieldStatusReport({
|
|
|
2782
2826
|
allowClear
|
|
2783
2827
|
}
|
|
2784
2828
|
),
|
|
2785
|
-
error && /* @__PURE__ */ (0,
|
|
2829
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-red-500 caption-1", children: error })
|
|
2786
2830
|
] })
|
|
2787
2831
|
}
|
|
2788
2832
|
);
|
|
2789
2833
|
}
|
|
2790
2834
|
|
|
2791
2835
|
// src/Select/SelectFieldTag/SelectFieldTag.tsx
|
|
2792
|
-
var
|
|
2836
|
+
var import_antd14 = require("antd");
|
|
2793
2837
|
var import_react11 = require("react");
|
|
2794
|
-
var
|
|
2838
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2795
2839
|
function SelectFieldTag({
|
|
2796
2840
|
label,
|
|
2797
2841
|
required,
|
|
@@ -2826,22 +2870,22 @@ function SelectFieldTag({
|
|
|
2826
2870
|
}
|
|
2827
2871
|
onChange?.([]);
|
|
2828
2872
|
};
|
|
2829
|
-
return /* @__PURE__ */ (0,
|
|
2830
|
-
|
|
2873
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2874
|
+
import_antd14.ConfigProvider,
|
|
2831
2875
|
{
|
|
2832
2876
|
theme: {
|
|
2833
2877
|
token: {
|
|
2834
2878
|
fontFamily: "Kanit"
|
|
2835
2879
|
}
|
|
2836
2880
|
},
|
|
2837
|
-
children: /* @__PURE__ */ (0,
|
|
2838
|
-
/* @__PURE__ */ (0,
|
|
2839
|
-
/* @__PURE__ */ (0,
|
|
2881
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "container-input", children: [
|
|
2882
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { children: [
|
|
2883
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "body-1", children: label }),
|
|
2840
2884
|
" ",
|
|
2841
|
-
required && /* @__PURE__ */ (0,
|
|
2885
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-red-500", children: "*" })
|
|
2842
2886
|
] }),
|
|
2843
|
-
/* @__PURE__ */ (0,
|
|
2844
|
-
|
|
2887
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2888
|
+
import_antd14.Select,
|
|
2845
2889
|
{
|
|
2846
2890
|
size,
|
|
2847
2891
|
mode: "tags",
|
|
@@ -2860,7 +2904,7 @@ function SelectFieldTag({
|
|
|
2860
2904
|
onClear
|
|
2861
2905
|
}
|
|
2862
2906
|
),
|
|
2863
|
-
error && /* @__PURE__ */ (0,
|
|
2907
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-red-500 caption-1", children: error })
|
|
2864
2908
|
] })
|
|
2865
2909
|
}
|
|
2866
2910
|
);
|
|
@@ -2868,9 +2912,9 @@ function SelectFieldTag({
|
|
|
2868
2912
|
|
|
2869
2913
|
// src/Select/SelectCustom/SelectCustom.tsx
|
|
2870
2914
|
var import_icons_react8 = require("@tabler/icons-react");
|
|
2871
|
-
var
|
|
2915
|
+
var import_antd15 = require("antd");
|
|
2872
2916
|
var import_react12 = require("react");
|
|
2873
|
-
var
|
|
2917
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2874
2918
|
function SelectCustom({
|
|
2875
2919
|
label = "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23",
|
|
2876
2920
|
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01",
|
|
@@ -2901,8 +2945,8 @@ function SelectCustom({
|
|
|
2901
2945
|
});
|
|
2902
2946
|
};
|
|
2903
2947
|
const filteredOptions = options.filter((opt) => !valueList.includes(opt.value)).map((opt) => ({ value: opt.value, label: opt.label }));
|
|
2904
|
-
return /* @__PURE__ */ (0,
|
|
2905
|
-
|
|
2948
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2949
|
+
import_antd15.ConfigProvider,
|
|
2906
2950
|
{
|
|
2907
2951
|
theme: {
|
|
2908
2952
|
token: {
|
|
@@ -2910,14 +2954,14 @@ function SelectCustom({
|
|
|
2910
2954
|
fontSize: 16
|
|
2911
2955
|
}
|
|
2912
2956
|
},
|
|
2913
|
-
children: /* @__PURE__ */ (0,
|
|
2914
|
-
/* @__PURE__ */ (0,
|
|
2915
|
-
/* @__PURE__ */ (0,
|
|
2957
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "container-input", children: [
|
|
2958
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { children: [
|
|
2959
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "body-1", children: label }),
|
|
2916
2960
|
" ",
|
|
2917
|
-
required && /* @__PURE__ */ (0,
|
|
2961
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-red-500", children: "*" })
|
|
2918
2962
|
] }),
|
|
2919
|
-
/* @__PURE__ */ (0,
|
|
2920
|
-
|
|
2963
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2964
|
+
import_antd15.Select,
|
|
2921
2965
|
{
|
|
2922
2966
|
size,
|
|
2923
2967
|
value: value ? value : void 0,
|
|
@@ -2929,20 +2973,20 @@ function SelectCustom({
|
|
|
2929
2973
|
allowClear
|
|
2930
2974
|
}
|
|
2931
2975
|
),
|
|
2932
|
-
error && /* @__PURE__ */ (0,
|
|
2933
|
-
/* @__PURE__ */ (0,
|
|
2976
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-red-500 caption-1", children: error }),
|
|
2977
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-full p-[2px] overflow-y-auto", children: valueList.map((v, index) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2934
2978
|
"div",
|
|
2935
2979
|
{
|
|
2936
2980
|
className: "flex justify-between items-center py-[2px] body-1",
|
|
2937
2981
|
children: [
|
|
2938
|
-
/* @__PURE__ */ (0,
|
|
2939
|
-
/* @__PURE__ */ (0,
|
|
2982
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-row gap-[8px]", children: [
|
|
2983
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("p", { children: [
|
|
2940
2984
|
index + 1,
|
|
2941
2985
|
"."
|
|
2942
2986
|
] }),
|
|
2943
|
-
/* @__PURE__ */ (0,
|
|
2987
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { children: v })
|
|
2944
2988
|
] }),
|
|
2945
|
-
/* @__PURE__ */ (0,
|
|
2989
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2946
2990
|
import_icons_react8.IconTrash,
|
|
2947
2991
|
{
|
|
2948
2992
|
className: "cursor-pointer",
|
|
@@ -2959,7 +3003,7 @@ function SelectCustom({
|
|
|
2959
3003
|
}
|
|
2960
3004
|
|
|
2961
3005
|
// src/SortFilter/SortFilter.tsx
|
|
2962
|
-
var
|
|
3006
|
+
var import_antd16 = require("antd");
|
|
2963
3007
|
var import_icons3 = require("@ant-design/icons");
|
|
2964
3008
|
|
|
2965
3009
|
// src/SortFilter/DataMockSortFilter.ts
|
|
@@ -2992,7 +3036,7 @@ var quarters = [
|
|
|
2992
3036
|
// src/SortFilter/SortFilter.tsx
|
|
2993
3037
|
var import_react13 = require("react");
|
|
2994
3038
|
var import_icons_react9 = require("@tabler/icons-react");
|
|
2995
|
-
var
|
|
3039
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2996
3040
|
function SortFilter({
|
|
2997
3041
|
showYear = true,
|
|
2998
3042
|
showQuarter = true,
|
|
@@ -3003,20 +3047,20 @@ function SortFilter({
|
|
|
3003
3047
|
const [yearValue, setYearValue] = (0, import_react13.useState)();
|
|
3004
3048
|
const [monthValue, setMonthValue] = (0, import_react13.useState)();
|
|
3005
3049
|
const [quarterValue, setQuartersValue] = (0, import_react13.useState)();
|
|
3006
|
-
return /* @__PURE__ */ (0,
|
|
3007
|
-
|
|
3050
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3051
|
+
import_antd16.ConfigProvider,
|
|
3008
3052
|
{
|
|
3009
3053
|
theme: {
|
|
3010
3054
|
token: {
|
|
3011
3055
|
fontFamily: "Kanit"
|
|
3012
3056
|
}
|
|
3013
3057
|
},
|
|
3014
|
-
children: /* @__PURE__ */ (0,
|
|
3015
|
-
/* @__PURE__ */ (0,
|
|
3016
|
-
showYear && /* @__PURE__ */ (0,
|
|
3058
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "w-full flex items-center justify-between", children: [
|
|
3059
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "w-full flex gap-[10px]", children: [
|
|
3060
|
+
showYear && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-[200px]", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3017
3061
|
SelectField,
|
|
3018
3062
|
{
|
|
3019
|
-
prefix: /* @__PURE__ */ (0,
|
|
3063
|
+
prefix: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_icons3.CalendarOutlined, {}),
|
|
3020
3064
|
onChange: setYearValue,
|
|
3021
3065
|
options: years.map((s) => ({
|
|
3022
3066
|
value: s.value,
|
|
@@ -3026,10 +3070,10 @@ function SortFilter({
|
|
|
3026
3070
|
value: yearValue
|
|
3027
3071
|
}
|
|
3028
3072
|
) }),
|
|
3029
|
-
showMonth && /* @__PURE__ */ (0,
|
|
3073
|
+
showMonth && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-[200px]", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3030
3074
|
SelectField,
|
|
3031
3075
|
{
|
|
3032
|
-
prefix: /* @__PURE__ */ (0,
|
|
3076
|
+
prefix: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_icons3.CalendarOutlined, {}),
|
|
3033
3077
|
onChange: setMonthValue,
|
|
3034
3078
|
options: months.map((s) => ({
|
|
3035
3079
|
value: s.value,
|
|
@@ -3039,10 +3083,10 @@ function SortFilter({
|
|
|
3039
3083
|
placeholder: "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E14\u0E37\u0E2D\u0E19"
|
|
3040
3084
|
}
|
|
3041
3085
|
) }),
|
|
3042
|
-
showQuarter && /* @__PURE__ */ (0,
|
|
3086
|
+
showQuarter && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-[200px]", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3043
3087
|
SelectField,
|
|
3044
3088
|
{
|
|
3045
|
-
prefix: /* @__PURE__ */ (0,
|
|
3089
|
+
prefix: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_icons3.CalendarOutlined, {}),
|
|
3046
3090
|
onChange: setQuartersValue,
|
|
3047
3091
|
options: quarters.map((s) => ({
|
|
3048
3092
|
value: s.value,
|
|
@@ -3053,8 +3097,8 @@ function SortFilter({
|
|
|
3053
3097
|
}
|
|
3054
3098
|
) })
|
|
3055
3099
|
] }),
|
|
3056
|
-
/* @__PURE__ */ (0,
|
|
3057
|
-
/* @__PURE__ */ (0,
|
|
3100
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex gap-[10px]", children: [
|
|
3101
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3058
3102
|
import_icons_react9.IconSortDescending,
|
|
3059
3103
|
{
|
|
3060
3104
|
size: 24,
|
|
@@ -3062,7 +3106,7 @@ function SortFilter({
|
|
|
3062
3106
|
onClick: onSortClick
|
|
3063
3107
|
}
|
|
3064
3108
|
),
|
|
3065
|
-
/* @__PURE__ */ (0,
|
|
3109
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3066
3110
|
import_icons_react9.IconFilter,
|
|
3067
3111
|
{
|
|
3068
3112
|
size: 24,
|
|
@@ -3079,7 +3123,7 @@ function SortFilter({
|
|
|
3079
3123
|
// src/Upload/FileUploader/FileUploader.tsx
|
|
3080
3124
|
var import_icons_react10 = require("@tabler/icons-react");
|
|
3081
3125
|
var import_react14 = require("react");
|
|
3082
|
-
var
|
|
3126
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3083
3127
|
function FileUploader({
|
|
3084
3128
|
onUpload,
|
|
3085
3129
|
onError,
|
|
@@ -3165,10 +3209,10 @@ function FileUploader({
|
|
|
3165
3209
|
}
|
|
3166
3210
|
if (inputRef.current) inputRef.current.value = "";
|
|
3167
3211
|
};
|
|
3168
|
-
return /* @__PURE__ */ (0,
|
|
3169
|
-
label && /* @__PURE__ */ (0,
|
|
3170
|
-
!readOnly && /* @__PURE__ */ (0,
|
|
3171
|
-
mode === "upload" ? /* @__PURE__ */ (0,
|
|
3212
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "w-full", children: [
|
|
3213
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "body-1", children: label }),
|
|
3214
|
+
!readOnly && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: uploaderWidth, children: [
|
|
3215
|
+
mode === "upload" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3172
3216
|
"button",
|
|
3173
3217
|
{
|
|
3174
3218
|
type: "button",
|
|
@@ -3176,16 +3220,16 @@ function FileUploader({
|
|
|
3176
3220
|
className: `h-[34px] flex justify-center items-center gap-2 w-full rounded-[2px] border border-gray-200 body-1
|
|
3177
3221
|
${disabled ? "cursor-not-allowed text-gray-400 bg-gray-100" : "cursor-pointer hover:text-primary-400 hover:border-primary-200 duration-300"}`,
|
|
3178
3222
|
disabled: disabled ? disabled : uploading,
|
|
3179
|
-
children: uploading ? /* @__PURE__ */ (0,
|
|
3180
|
-
/* @__PURE__ */ (0,
|
|
3223
|
+
children: uploading ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
3224
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loader, { size: 15 }),
|
|
3181
3225
|
" \u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14"
|
|
3182
|
-
] }) : /* @__PURE__ */ (0,
|
|
3183
|
-
/* @__PURE__ */ (0,
|
|
3226
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
3227
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons_react10.IconUpload, { size: 15, className: "text-gray-400" }),
|
|
3184
3228
|
" ",
|
|
3185
3229
|
uploadText
|
|
3186
3230
|
] })
|
|
3187
3231
|
}
|
|
3188
|
-
) : /* @__PURE__ */ (0,
|
|
3232
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3189
3233
|
"div",
|
|
3190
3234
|
{
|
|
3191
3235
|
className: `w-full min-h-[120px] flex justify-center items-center border-2 border-dashed rounded-md p-4 transition-colors body-1
|
|
@@ -3199,17 +3243,17 @@ function FileUploader({
|
|
|
3199
3243
|
},
|
|
3200
3244
|
onDragLeave: () => setDragActive(false),
|
|
3201
3245
|
onDrop: handleDrop,
|
|
3202
|
-
children: uploading ? /* @__PURE__ */ (0,
|
|
3203
|
-
/* @__PURE__ */ (0,
|
|
3246
|
+
children: uploading ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex justify-center items-center gap-2", children: [
|
|
3247
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loader, { size: 15 }),
|
|
3204
3248
|
" \u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14"
|
|
3205
|
-
] }) : /* @__PURE__ */ (0,
|
|
3206
|
-
/* @__PURE__ */ (0,
|
|
3207
|
-
/* @__PURE__ */ (0,
|
|
3208
|
-
/* @__PURE__ */ (0,
|
|
3249
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col items-center gap-2", children: [
|
|
3250
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons_react10.IconUpload, { size: 20 }),
|
|
3251
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("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" }),
|
|
3252
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("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" })
|
|
3209
3253
|
] })
|
|
3210
3254
|
}
|
|
3211
3255
|
),
|
|
3212
|
-
/* @__PURE__ */ (0,
|
|
3256
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3213
3257
|
"input",
|
|
3214
3258
|
{
|
|
3215
3259
|
type: "file",
|
|
@@ -3222,8 +3266,8 @@ function FileUploader({
|
|
|
3222
3266
|
}
|
|
3223
3267
|
)
|
|
3224
3268
|
] }),
|
|
3225
|
-
description && /* @__PURE__ */ (0,
|
|
3226
|
-
/* @__PURE__ */ (0,
|
|
3269
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-gray-400 body-4", children: description }),
|
|
3270
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: `mt-[8px] ${attachWidth}`, children: filesToDisplay.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex flex-col rounded-[6px] body-1 border-[1px] border-gray-300", children: filesToDisplay.map((file, index) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
3227
3271
|
"div",
|
|
3228
3272
|
{
|
|
3229
3273
|
className: `flex px-[16px] hover:bg-primary-50 hover:cursor-pointer
|
|
@@ -3233,11 +3277,11 @@ function FileUploader({
|
|
|
3233
3277
|
${index !== 0 ? "pt-[16px]" : ""}`,
|
|
3234
3278
|
onClick: () => onClickFile && onClickFile(file),
|
|
3235
3279
|
children: [
|
|
3236
|
-
/* @__PURE__ */ (0,
|
|
3237
|
-
/* @__PURE__ */ (0,
|
|
3238
|
-
/* @__PURE__ */ (0,
|
|
3280
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex gap-2 overflow-hidden", children: [
|
|
3281
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "w-[24px] h-[24px] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons_react10.IconFileDescription, { size: 20 }) }),
|
|
3282
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "truncate", children: file.name || file.fileName })
|
|
3239
3283
|
] }),
|
|
3240
|
-
!readOnly && !disabled && /* @__PURE__ */ (0,
|
|
3284
|
+
!readOnly && !disabled && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3241
3285
|
import_icons_react10.IconTrash,
|
|
3242
3286
|
{
|
|
3243
3287
|
size: 20,
|
|
@@ -3277,9 +3321,9 @@ function messageLoading(content, duration) {
|
|
|
3277
3321
|
}
|
|
3278
3322
|
|
|
3279
3323
|
// src/Breadcrumb/Breadcrumb.tsx
|
|
3280
|
-
var import_antd16 = require("antd");
|
|
3281
3324
|
var import_antd17 = require("antd");
|
|
3282
|
-
var
|
|
3325
|
+
var import_antd18 = require("antd");
|
|
3326
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3283
3327
|
function Breadcrumbs({
|
|
3284
3328
|
items,
|
|
3285
3329
|
separator,
|
|
@@ -3287,16 +3331,16 @@ function Breadcrumbs({
|
|
|
3287
3331
|
classname,
|
|
3288
3332
|
params
|
|
3289
3333
|
}) {
|
|
3290
|
-
return /* @__PURE__ */ (0,
|
|
3291
|
-
|
|
3334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3335
|
+
import_antd17.ConfigProvider,
|
|
3292
3336
|
{
|
|
3293
3337
|
theme: {
|
|
3294
3338
|
token: {
|
|
3295
3339
|
fontFamily: "Kanit"
|
|
3296
3340
|
}
|
|
3297
3341
|
},
|
|
3298
|
-
children: /* @__PURE__ */ (0,
|
|
3299
|
-
|
|
3342
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3343
|
+
import_antd18.Breadcrumb,
|
|
3300
3344
|
{
|
|
3301
3345
|
items,
|
|
3302
3346
|
separator,
|
|
@@ -3310,8 +3354,8 @@ function Breadcrumbs({
|
|
|
3310
3354
|
}
|
|
3311
3355
|
|
|
3312
3356
|
// src/HeadingPage/HeadingPage.tsx
|
|
3313
|
-
var
|
|
3314
|
-
var
|
|
3357
|
+
var import_antd19 = require("antd");
|
|
3358
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3315
3359
|
function HeadingPage({ Heading }) {
|
|
3316
3360
|
const today = (/* @__PURE__ */ new Date()).toLocaleDateString("th-TH", {
|
|
3317
3361
|
weekday: "long",
|
|
@@ -3319,17 +3363,17 @@ function HeadingPage({ Heading }) {
|
|
|
3319
3363
|
month: "long",
|
|
3320
3364
|
year: "numeric"
|
|
3321
3365
|
});
|
|
3322
|
-
return /* @__PURE__ */ (0,
|
|
3323
|
-
|
|
3366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3367
|
+
import_antd19.ConfigProvider,
|
|
3324
3368
|
{
|
|
3325
3369
|
theme: {
|
|
3326
3370
|
token: {
|
|
3327
3371
|
fontFamily: "Kanit"
|
|
3328
3372
|
}
|
|
3329
3373
|
},
|
|
3330
|
-
children: /* @__PURE__ */ (0,
|
|
3331
|
-
/* @__PURE__ */ (0,
|
|
3332
|
-
/* @__PURE__ */ (0,
|
|
3374
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex flex-col gap-[10px] px-[20px] py-[10px]", children: [
|
|
3375
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "headline-5", children: Heading }),
|
|
3376
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("p", { className: "body-1", children: [
|
|
3333
3377
|
" \u0E27\u0E31\u0E19\u0E19\u0E35\u0E49 ",
|
|
3334
3378
|
today
|
|
3335
3379
|
] })
|
|
@@ -3339,9 +3383,9 @@ function HeadingPage({ Heading }) {
|
|
|
3339
3383
|
}
|
|
3340
3384
|
|
|
3341
3385
|
// src/Progress/ProgressBar.tsx
|
|
3342
|
-
var
|
|
3386
|
+
var import_antd20 = require("antd");
|
|
3343
3387
|
var import_react15 = require("react");
|
|
3344
|
-
var
|
|
3388
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3345
3389
|
function ProgressBar({
|
|
3346
3390
|
percent = 0,
|
|
3347
3391
|
size = "default",
|
|
@@ -3372,17 +3416,17 @@ function ProgressBar({
|
|
|
3372
3416
|
observer.observe(inner);
|
|
3373
3417
|
return () => observer.disconnect();
|
|
3374
3418
|
}, []);
|
|
3375
|
-
return /* @__PURE__ */ (0,
|
|
3376
|
-
|
|
3419
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3420
|
+
import_antd20.ConfigProvider,
|
|
3377
3421
|
{
|
|
3378
3422
|
theme: {
|
|
3379
3423
|
token: {
|
|
3380
3424
|
fontFamily: "Kanit"
|
|
3381
3425
|
}
|
|
3382
3426
|
},
|
|
3383
|
-
children: /* @__PURE__ */ (0,
|
|
3384
|
-
/* @__PURE__ */ (0,
|
|
3385
|
-
|
|
3427
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "relative w-full", ref: progressRef, children: [
|
|
3428
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3429
|
+
import_antd20.Progress,
|
|
3386
3430
|
{
|
|
3387
3431
|
className: "w-full",
|
|
3388
3432
|
percent,
|
|
@@ -3397,7 +3441,7 @@ function ProgressBar({
|
|
|
3397
3441
|
strokeColor
|
|
3398
3442
|
}
|
|
3399
3443
|
),
|
|
3400
|
-
barWidth > 0 && isCheckPoints && type !== "circle" && checkpoints.map((cp) => /* @__PURE__ */ (0,
|
|
3444
|
+
barWidth > 0 && isCheckPoints && type !== "circle" && checkpoints.map((cp) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3401
3445
|
"div",
|
|
3402
3446
|
{
|
|
3403
3447
|
className: "checkpoint absolute top-0",
|
|
@@ -3419,7 +3463,7 @@ function ProgressBar({
|
|
|
3419
3463
|
}
|
|
3420
3464
|
|
|
3421
3465
|
// src/KpiSection/KpiSection.tsx
|
|
3422
|
-
var
|
|
3466
|
+
var import_antd21 = require("antd");
|
|
3423
3467
|
var import_react17 = require("react");
|
|
3424
3468
|
|
|
3425
3469
|
// src/KpiSection/hooks/useGetKpiSection.ts
|
|
@@ -3570,7 +3614,7 @@ function useGetKpiSection() {
|
|
|
3570
3614
|
|
|
3571
3615
|
// src/KpiSection/KpiSection.tsx
|
|
3572
3616
|
var import_icons_react11 = require("@tabler/icons-react");
|
|
3573
|
-
var
|
|
3617
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3574
3618
|
function KpiSection({ type, onChangeKpiList }) {
|
|
3575
3619
|
const {
|
|
3576
3620
|
handleAddKpi,
|
|
@@ -3590,7 +3634,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3590
3634
|
itemErrors,
|
|
3591
3635
|
setItemErrors
|
|
3592
3636
|
} = useGetKpiSection();
|
|
3593
|
-
const [messageApi2, messageContainer] =
|
|
3637
|
+
const [messageApi2, messageContainer] = import_antd21.message.useMessage();
|
|
3594
3638
|
const [hasShownError, setHasShownError] = (0, import_react17.useState)(false);
|
|
3595
3639
|
(0, import_react17.useEffect)(() => {
|
|
3596
3640
|
setMessageApi(messageApi2);
|
|
@@ -3600,8 +3644,8 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3600
3644
|
onChangeKpiList(kpiList);
|
|
3601
3645
|
}
|
|
3602
3646
|
}, [kpiList]);
|
|
3603
|
-
return /* @__PURE__ */ (0,
|
|
3604
|
-
|
|
3647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3648
|
+
import_antd21.ConfigProvider,
|
|
3605
3649
|
{
|
|
3606
3650
|
theme: {
|
|
3607
3651
|
token: {
|
|
@@ -3609,11 +3653,11 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3609
3653
|
fontSize: 16
|
|
3610
3654
|
}
|
|
3611
3655
|
},
|
|
3612
|
-
children: /* @__PURE__ */ (0,
|
|
3656
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "container-input", children: [
|
|
3613
3657
|
messageContainer,
|
|
3614
|
-
type === "number" && /* @__PURE__ */ (0,
|
|
3615
|
-
/* @__PURE__ */ (0,
|
|
3616
|
-
/* @__PURE__ */ (0,
|
|
3658
|
+
type === "number" && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "space-y-4", children: [
|
|
3659
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "grid grid-cols-[1fr_200px_200px_50px] w-full gap-[24px] items-start", children: [
|
|
3660
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3617
3661
|
InputField,
|
|
3618
3662
|
{
|
|
3619
3663
|
value: nameKpi,
|
|
@@ -3625,7 +3669,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3625
3669
|
error: errors.nameKpi
|
|
3626
3670
|
}
|
|
3627
3671
|
),
|
|
3628
|
-
/* @__PURE__ */ (0,
|
|
3672
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3629
3673
|
InputField,
|
|
3630
3674
|
{
|
|
3631
3675
|
value: kpiValue,
|
|
@@ -3649,7 +3693,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3649
3693
|
error: errors.kpiValue
|
|
3650
3694
|
}
|
|
3651
3695
|
),
|
|
3652
|
-
/* @__PURE__ */ (0,
|
|
3696
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3653
3697
|
InputField,
|
|
3654
3698
|
{
|
|
3655
3699
|
value: unitValue,
|
|
@@ -3661,7 +3705,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3661
3705
|
error: errors.unitValue
|
|
3662
3706
|
}
|
|
3663
3707
|
),
|
|
3664
|
-
/* @__PURE__ */ (0,
|
|
3708
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3665
3709
|
import_icons_react11.IconCirclePlus,
|
|
3666
3710
|
{
|
|
3667
3711
|
className: "w-[40px] h-[40px] cursor-pointer hover:scale-110 transition",
|
|
@@ -3670,17 +3714,17 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3670
3714
|
}
|
|
3671
3715
|
) })
|
|
3672
3716
|
] }),
|
|
3673
|
-
/* @__PURE__ */ (0,
|
|
3717
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
3674
3718
|
"div",
|
|
3675
3719
|
{
|
|
3676
3720
|
className: "grid grid-cols-[30px_1fr_100px_120px_80px] items-start py-2 body-1 gap-[8px]",
|
|
3677
3721
|
children: [
|
|
3678
|
-
/* @__PURE__ */ (0,
|
|
3722
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
|
|
3679
3723
|
index + 1,
|
|
3680
3724
|
"."
|
|
3681
3725
|
] }),
|
|
3682
|
-
kpi.isEditing ? /* @__PURE__ */ (0,
|
|
3683
|
-
/* @__PURE__ */ (0,
|
|
3726
|
+
kpi.isEditing ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
3727
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3684
3728
|
InputField,
|
|
3685
3729
|
{
|
|
3686
3730
|
value: kpi.name,
|
|
@@ -3690,7 +3734,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3690
3734
|
error: itemErrors[kpi.id]?.name
|
|
3691
3735
|
}
|
|
3692
3736
|
),
|
|
3693
|
-
/* @__PURE__ */ (0,
|
|
3737
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3694
3738
|
InputField,
|
|
3695
3739
|
{
|
|
3696
3740
|
value: kpi.value?.toString(),
|
|
@@ -3715,7 +3759,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3715
3759
|
error: itemErrors[kpi.id]?.value
|
|
3716
3760
|
}
|
|
3717
3761
|
),
|
|
3718
|
-
/* @__PURE__ */ (0,
|
|
3762
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3719
3763
|
InputField,
|
|
3720
3764
|
{
|
|
3721
3765
|
value: kpi.unit,
|
|
@@ -3725,29 +3769,29 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3725
3769
|
error: itemErrors[kpi.id]?.unit
|
|
3726
3770
|
}
|
|
3727
3771
|
),
|
|
3728
|
-
/* @__PURE__ */ (0,
|
|
3772
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
3729
3773
|
"div",
|
|
3730
3774
|
{
|
|
3731
3775
|
className: `flex gap-2 justify-end self-center ${!!itemErrors[kpi.id]?.value || !!itemErrors[kpi.id]?.unit || !!itemErrors[kpi.id]?.name ? "mt-[-12px]" : ""}`,
|
|
3732
3776
|
children: [
|
|
3733
|
-
/* @__PURE__ */ (0,
|
|
3777
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3734
3778
|
import_icons_react11.IconCheck,
|
|
3735
3779
|
{
|
|
3736
3780
|
className: "w-[30px] h-[30px] cursor-pointer",
|
|
3737
3781
|
onClick: () => handleSave(kpi.id, type)
|
|
3738
3782
|
}
|
|
3739
3783
|
),
|
|
3740
|
-
/* @__PURE__ */ (0,
|
|
3784
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconX, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
|
|
3741
3785
|
]
|
|
3742
3786
|
}
|
|
3743
3787
|
)
|
|
3744
|
-
] }) : /* @__PURE__ */ (0,
|
|
3745
|
-
/* @__PURE__ */ (0,
|
|
3746
|
-
/* @__PURE__ */ (0,
|
|
3747
|
-
/* @__PURE__ */ (0,
|
|
3748
|
-
/* @__PURE__ */ (0,
|
|
3749
|
-
/* @__PURE__ */ (0,
|
|
3750
|
-
/* @__PURE__ */ (0,
|
|
3788
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
3789
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "body-1", children: kpi.name }),
|
|
3790
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "body-1", children: kpi.value }),
|
|
3791
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "body-1", children: kpi.unit }),
|
|
3792
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex gap-3 justify-end", children: [
|
|
3793
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
|
|
3794
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconTrash, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
|
|
3751
3795
|
] })
|
|
3752
3796
|
] })
|
|
3753
3797
|
]
|
|
@@ -3755,9 +3799,9 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3755
3799
|
kpi.id
|
|
3756
3800
|
)) })
|
|
3757
3801
|
] }),
|
|
3758
|
-
type === "text" && /* @__PURE__ */ (0,
|
|
3759
|
-
/* @__PURE__ */ (0,
|
|
3760
|
-
/* @__PURE__ */ (0,
|
|
3802
|
+
type === "text" && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "space-y-4", children: [
|
|
3803
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "grid grid-cols-[1fr_50px] w-full gap-[24px] items-start", children: [
|
|
3804
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3761
3805
|
InputField,
|
|
3762
3806
|
{
|
|
3763
3807
|
value: nameKpi,
|
|
@@ -3769,7 +3813,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3769
3813
|
error: errors.nameKpi
|
|
3770
3814
|
}
|
|
3771
3815
|
),
|
|
3772
|
-
/* @__PURE__ */ (0,
|
|
3816
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3773
3817
|
import_icons_react11.IconCirclePlus,
|
|
3774
3818
|
{
|
|
3775
3819
|
className: "w-[40px] h-[40px] cursor-pointer hover:scale-110 transition",
|
|
@@ -3778,13 +3822,13 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3778
3822
|
}
|
|
3779
3823
|
) })
|
|
3780
3824
|
] }),
|
|
3781
|
-
/* @__PURE__ */ (0,
|
|
3782
|
-
/* @__PURE__ */ (0,
|
|
3825
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "grid grid-cols-[30px_1fr_80px] items-start py-2 body-1 gap-[8px]", children: [
|
|
3826
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
|
|
3783
3827
|
index + 1,
|
|
3784
3828
|
"."
|
|
3785
3829
|
] }),
|
|
3786
|
-
kpi.isEditing ? /* @__PURE__ */ (0,
|
|
3787
|
-
/* @__PURE__ */ (0,
|
|
3830
|
+
kpi.isEditing ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
3831
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3788
3832
|
InputField,
|
|
3789
3833
|
{
|
|
3790
3834
|
value: kpi.name,
|
|
@@ -3794,27 +3838,27 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3794
3838
|
error: itemErrors[kpi.id]?.name
|
|
3795
3839
|
}
|
|
3796
3840
|
),
|
|
3797
|
-
/* @__PURE__ */ (0,
|
|
3841
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
3798
3842
|
"div",
|
|
3799
3843
|
{
|
|
3800
3844
|
className: `flex gap-2 justify-end self-center ${!!itemErrors[kpi.id]?.name ? "mt-[-12px]" : ""}`,
|
|
3801
3845
|
children: [
|
|
3802
|
-
/* @__PURE__ */ (0,
|
|
3846
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3803
3847
|
import_icons_react11.IconCheck,
|
|
3804
3848
|
{
|
|
3805
3849
|
className: "w-[30px] h-[30px] cursor-pointer",
|
|
3806
3850
|
onClick: () => handleSave(kpi.id, type)
|
|
3807
3851
|
}
|
|
3808
3852
|
),
|
|
3809
|
-
/* @__PURE__ */ (0,
|
|
3853
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconX, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
|
|
3810
3854
|
]
|
|
3811
3855
|
}
|
|
3812
3856
|
)
|
|
3813
|
-
] }) : /* @__PURE__ */ (0,
|
|
3814
|
-
/* @__PURE__ */ (0,
|
|
3815
|
-
/* @__PURE__ */ (0,
|
|
3816
|
-
/* @__PURE__ */ (0,
|
|
3817
|
-
/* @__PURE__ */ (0,
|
|
3857
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
3858
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "body-1", children: kpi.name }),
|
|
3859
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex gap-3 justify-end", children: [
|
|
3860
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
|
|
3861
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconTrash, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
|
|
3818
3862
|
] })
|
|
3819
3863
|
] })
|
|
3820
3864
|
] }, kpi.id)) })
|
|
@@ -3825,17 +3869,17 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3825
3869
|
}
|
|
3826
3870
|
|
|
3827
3871
|
// src/Modal/Modal/Modal.tsx
|
|
3828
|
-
var
|
|
3829
|
-
var
|
|
3872
|
+
var import_antd22 = require("antd");
|
|
3873
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3830
3874
|
function AntDModal({ children, isOpen, width, onCancel }) {
|
|
3831
|
-
return /* @__PURE__ */ (0,
|
|
3875
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_antd22.Modal, { open: isOpen, onCancel, width, centered: true, footer: null, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { children }) }) });
|
|
3832
3876
|
}
|
|
3833
3877
|
|
|
3834
3878
|
// src/Indicator/Indicator/Indicator.tsx
|
|
3835
3879
|
var import_icons_react12 = require("@tabler/icons-react");
|
|
3836
3880
|
var import_react18 = require("react");
|
|
3837
|
-
var
|
|
3838
|
-
var
|
|
3881
|
+
var import_antd23 = require("antd");
|
|
3882
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3839
3883
|
function Indicator({
|
|
3840
3884
|
option = [
|
|
3841
3885
|
{ value: "TEXT", label: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" },
|
|
@@ -3963,13 +4007,13 @@ function Indicator({
|
|
|
3963
4007
|
}));
|
|
3964
4008
|
console.log(cacheEditData);
|
|
3965
4009
|
};
|
|
3966
|
-
return /* @__PURE__ */ (0,
|
|
3967
|
-
/* @__PURE__ */ (0,
|
|
4010
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "w-full", children: [
|
|
4011
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
3968
4012
|
"div",
|
|
3969
4013
|
{
|
|
3970
4014
|
className: `space-x-2 grid ${valueSwitch === "TEXT" ? `grid-cols-[140px_1fr_50px]` : `grid-cols-[140px_1fr_200px_200px_50px]`} items-start`,
|
|
3971
4015
|
children: [
|
|
3972
|
-
/* @__PURE__ */ (0,
|
|
4016
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3973
4017
|
SwitchSelect,
|
|
3974
4018
|
{
|
|
3975
4019
|
option,
|
|
@@ -3979,7 +4023,7 @@ function Indicator({
|
|
|
3979
4023
|
required: true
|
|
3980
4024
|
}
|
|
3981
4025
|
),
|
|
3982
|
-
/* @__PURE__ */ (0,
|
|
4026
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3983
4027
|
InputField,
|
|
3984
4028
|
{
|
|
3985
4029
|
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"}`,
|
|
@@ -3994,8 +4038,8 @@ function Indicator({
|
|
|
3994
4038
|
error: addError.textValue
|
|
3995
4039
|
}
|
|
3996
4040
|
),
|
|
3997
|
-
valueSwitch === "NUMBER" && /* @__PURE__ */ (0,
|
|
3998
|
-
/* @__PURE__ */ (0,
|
|
4041
|
+
valueSwitch === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
|
|
4042
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3999
4043
|
InputFieldNumber,
|
|
4000
4044
|
{
|
|
4001
4045
|
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"}`,
|
|
@@ -4011,7 +4055,7 @@ function Indicator({
|
|
|
4011
4055
|
error: addError.numberValue
|
|
4012
4056
|
}
|
|
4013
4057
|
),
|
|
4014
|
-
/* @__PURE__ */ (0,
|
|
4058
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4015
4059
|
InputField,
|
|
4016
4060
|
{
|
|
4017
4061
|
label: `\u0E2B\u0E19\u0E48\u0E27\u0E22`,
|
|
@@ -4027,7 +4071,7 @@ function Indicator({
|
|
|
4027
4071
|
}
|
|
4028
4072
|
)
|
|
4029
4073
|
] }),
|
|
4030
|
-
/* @__PURE__ */ (0,
|
|
4074
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4031
4075
|
import_icons_react12.IconCirclePlus,
|
|
4032
4076
|
{
|
|
4033
4077
|
onClick: handleAddIndicator,
|
|
@@ -4038,15 +4082,15 @@ function Indicator({
|
|
|
4038
4082
|
]
|
|
4039
4083
|
}
|
|
4040
4084
|
),
|
|
4041
|
-
/* @__PURE__ */ (0,
|
|
4085
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: arrayData.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
4042
4086
|
"div",
|
|
4043
4087
|
{
|
|
4044
4088
|
className: `space-y-2 grid ${item.inputType === "TEXT" ? `grid-cols-[140px_1fr_50px_50px]` : `grid-cols-[140px_1fr_200px_150px_50px_50px]`} items-start`,
|
|
4045
4089
|
children: [
|
|
4046
|
-
/* @__PURE__ */ (0,
|
|
4047
|
-
index === editIndex ? /* @__PURE__ */ (0,
|
|
4048
|
-
/* @__PURE__ */ (0,
|
|
4049
|
-
|
|
4090
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2", children: item.inputType === "TEXT" ? "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" : "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02" }),
|
|
4091
|
+
index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
|
|
4092
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4093
|
+
import_antd23.Input,
|
|
4050
4094
|
{
|
|
4051
4095
|
className: "body-1 mt-2",
|
|
4052
4096
|
variant: "underlined",
|
|
@@ -4058,12 +4102,12 @@ function Indicator({
|
|
|
4058
4102
|
}
|
|
4059
4103
|
}
|
|
4060
4104
|
),
|
|
4061
|
-
editError.textValue && /* @__PURE__ */ (0,
|
|
4062
|
-
] }) : /* @__PURE__ */ (0,
|
|
4063
|
-
item.inputType === "NUMBER" && /* @__PURE__ */ (0,
|
|
4064
|
-
index === editIndex ? /* @__PURE__ */ (0,
|
|
4065
|
-
/* @__PURE__ */ (0,
|
|
4066
|
-
|
|
4105
|
+
editError.textValue && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "text-red-500 caption-1", children: editError.textValue })
|
|
4106
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2", children: item.textValue }),
|
|
4107
|
+
item.inputType === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
|
|
4108
|
+
index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
|
|
4109
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4110
|
+
import_antd23.Input,
|
|
4067
4111
|
{
|
|
4068
4112
|
type: "number",
|
|
4069
4113
|
className: "body-1 mt-2",
|
|
@@ -4076,11 +4120,11 @@ function Indicator({
|
|
|
4076
4120
|
}
|
|
4077
4121
|
}
|
|
4078
4122
|
),
|
|
4079
|
-
editError.numberValue && /* @__PURE__ */ (0,
|
|
4080
|
-
] }) : /* @__PURE__ */ (0,
|
|
4081
|
-
index === editIndex ? /* @__PURE__ */ (0,
|
|
4082
|
-
/* @__PURE__ */ (0,
|
|
4083
|
-
|
|
4123
|
+
editError.numberValue && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "text-red-500 caption-1", children: editError.numberValue })
|
|
4124
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2", children: item.numberValue }),
|
|
4125
|
+
index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
|
|
4126
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4127
|
+
import_antd23.Input,
|
|
4084
4128
|
{
|
|
4085
4129
|
className: "body-1 mt-2",
|
|
4086
4130
|
variant: "underlined",
|
|
@@ -4092,32 +4136,32 @@ function Indicator({
|
|
|
4092
4136
|
}
|
|
4093
4137
|
}
|
|
4094
4138
|
),
|
|
4095
|
-
editError.unit && /* @__PURE__ */ (0,
|
|
4096
|
-
] }) : /* @__PURE__ */ (0,
|
|
4139
|
+
editError.unit && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "text-red-500 caption-1", children: editError.unit })
|
|
4140
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2", children: item.unit })
|
|
4097
4141
|
] }),
|
|
4098
|
-
/* @__PURE__ */ (0,
|
|
4099
|
-
/* @__PURE__ */ (0,
|
|
4142
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2 flex", children: editIndex !== null ? editIndex === index ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex", children: [
|
|
4143
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4100
4144
|
import_icons_react12.IconCheck,
|
|
4101
4145
|
{
|
|
4102
4146
|
className: "cursor-pointer text-green-600",
|
|
4103
4147
|
onClick: () => handleConfirmEditIndicator(index)
|
|
4104
4148
|
}
|
|
4105
4149
|
),
|
|
4106
|
-
/* @__PURE__ */ (0,
|
|
4150
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4107
4151
|
import_icons_react12.IconX,
|
|
4108
4152
|
{
|
|
4109
4153
|
className: "cursor-pointer text-red-600",
|
|
4110
4154
|
onClick: handleCancelEditIndicator
|
|
4111
4155
|
}
|
|
4112
4156
|
)
|
|
4113
|
-
] }) : void 0 : canEdit && /* @__PURE__ */ (0,
|
|
4157
|
+
] }) : void 0 : canEdit && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4114
4158
|
import_icons_react12.IconPencil,
|
|
4115
4159
|
{
|
|
4116
4160
|
className: "cursor-pointer",
|
|
4117
4161
|
onClick: () => handleEditIndicator(index)
|
|
4118
4162
|
}
|
|
4119
4163
|
) }),
|
|
4120
|
-
/* @__PURE__ */ (0,
|
|
4164
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2 cursor-pointer", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
4121
4165
|
import_icons_react12.IconTrash,
|
|
4122
4166
|
{
|
|
4123
4167
|
onClick: () => {
|
|
@@ -4140,7 +4184,7 @@ function Indicator({
|
|
|
4140
4184
|
// src/FilterPopUp/FilterPopUp.tsx
|
|
4141
4185
|
var import_icons_react13 = require("@tabler/icons-react");
|
|
4142
4186
|
var import_react19 = require("react");
|
|
4143
|
-
var
|
|
4187
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
4144
4188
|
var FilterPopUp = (filter) => {
|
|
4145
4189
|
const [isAction, setIsAction] = (0, import_react19.useState)(true);
|
|
4146
4190
|
const [filterArray, setFilterArray] = (0, import_react19.useState)([""]);
|
|
@@ -4150,20 +4194,20 @@ var FilterPopUp = (filter) => {
|
|
|
4150
4194
|
const handleSubmitFilter = () => {
|
|
4151
4195
|
filter.handleSearch(filterArray);
|
|
4152
4196
|
};
|
|
4153
|
-
return /* @__PURE__ */ (0,
|
|
4154
|
-
/* @__PURE__ */ (0,
|
|
4155
|
-
/* @__PURE__ */ (0,
|
|
4197
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "relative", children: [
|
|
4198
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("button", { className: "flex px-2 py-1 rounded-lg border-1", onClick: () => setIsAction(!isAction), children: [
|
|
4199
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons_react13.IconFilter, {}),
|
|
4156
4200
|
"filter"
|
|
4157
4201
|
] }),
|
|
4158
|
-
isAction ? /* @__PURE__ */ (0,
|
|
4159
|
-
/* @__PURE__ */ (0,
|
|
4160
|
-
/* @__PURE__ */ (0,
|
|
4161
|
-
/* @__PURE__ */ (0,
|
|
4162
|
-
/* @__PURE__ */ (0,
|
|
4202
|
+
isAction ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "absolute bg-white p-5 rounded-lg shadow-2xl w-[600px]", children: [
|
|
4203
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex justify-end", children: [
|
|
4204
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex justify-end text-nowrap gap-2", children: [
|
|
4205
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(GhostButton, { title: "\u0E43\u0E0A\u0E49\u0E1F\u0E34\u0E25\u0E40\u0E15\u0E2D\u0E23\u0E4C", onClick: handleSubmitFilter, iconLeft: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons_react13.IconCheck, {}) }),
|
|
4206
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(GhostButton, { title: "\u0E25\u0E49\u0E32\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14", onClick: handleClearFilter, iconLeft: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons_react13.IconTrash, {}) })
|
|
4163
4207
|
] }),
|
|
4164
4208
|
""
|
|
4165
4209
|
] }),
|
|
4166
|
-
/* @__PURE__ */ (0,
|
|
4210
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
4167
4211
|
SelectCustom,
|
|
4168
4212
|
{
|
|
4169
4213
|
options: filter.selectionFilter,
|
|
@@ -4178,8 +4222,8 @@ var FilterPopUp = (filter) => {
|
|
|
4178
4222
|
// src/ProfileSelect/ProfileSelect/ProfileSelect.tsx
|
|
4179
4223
|
var import_react20 = require("react");
|
|
4180
4224
|
var import_icons_react14 = require("@tabler/icons-react");
|
|
4181
|
-
var
|
|
4182
|
-
var
|
|
4225
|
+
var import_antd24 = require("antd");
|
|
4226
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
4183
4227
|
function ProfileSelect({
|
|
4184
4228
|
allUser,
|
|
4185
4229
|
assignUser,
|
|
@@ -4239,22 +4283,22 @@ function ProfileSelect({
|
|
|
4239
4283
|
const isSearching = normalizedSearch.length > 0;
|
|
4240
4284
|
const noResult = filteredAssigned.length === 0 && filteredUnassigned.length === 0;
|
|
4241
4285
|
const noUserOption = allUser.length === 0 && !isSearching;
|
|
4242
|
-
return /* @__PURE__ */ (0,
|
|
4243
|
-
mode === "icon" ? /* @__PURE__ */ (0,
|
|
4286
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { ref: containerRef, className: "relative body-1", children: [
|
|
4287
|
+
mode === "icon" ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4244
4288
|
import_icons_react14.IconUsers,
|
|
4245
4289
|
{
|
|
4246
4290
|
size: 40,
|
|
4247
4291
|
className: "p-2 border rounded cursor-pointer bg-white",
|
|
4248
4292
|
onClick: () => setIsShowSelect(!isShowSelect)
|
|
4249
4293
|
}
|
|
4250
|
-
) }) : mode === "showAssign" ? /* @__PURE__ */ (0,
|
|
4294
|
+
) }) : mode === "showAssign" ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4251
4295
|
"div",
|
|
4252
4296
|
{
|
|
4253
4297
|
className: `w-full h-[40px] flex items-center p-2 cursor-pointer ${className}`,
|
|
4254
4298
|
onClick: () => setIsShowSelect(!isShowSelect),
|
|
4255
|
-
children: visibleUsers.length === 0 ? placeholder ? /* @__PURE__ */ (0,
|
|
4256
|
-
/* @__PURE__ */ (0,
|
|
4257
|
-
/* @__PURE__ */ (0,
|
|
4299
|
+
children: visibleUsers.length === 0 ? placeholder ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "body-1 text-gray-400 select-none", children: placeholder }) : null : /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
|
|
4300
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex -space-x-2", children: visibleUsers.map((user) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("label", { className: "relative group cursor-pointer", children: [
|
|
4301
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4258
4302
|
"img",
|
|
4259
4303
|
{
|
|
4260
4304
|
src: user.profile,
|
|
@@ -4267,7 +4311,7 @@ function ProfileSelect({
|
|
|
4267
4311
|
className: "border border-white group-hover:border-3 group-hover:border-red-500 transition"
|
|
4268
4312
|
}
|
|
4269
4313
|
),
|
|
4270
|
-
/* @__PURE__ */ (0,
|
|
4314
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4271
4315
|
"span",
|
|
4272
4316
|
{
|
|
4273
4317
|
className: "absolute top-0 right-0 -translate-y-2 translate-x-2 \r\n rounded-full bg-white opacity-0 group-hover:opacity-100 \r\n border-3 z-10 border-red-500 flex items-center justify-center transition",
|
|
@@ -4275,11 +4319,11 @@ function ProfileSelect({
|
|
|
4275
4319
|
e.stopPropagation();
|
|
4276
4320
|
onUpdateAssignUser(user, "remove");
|
|
4277
4321
|
},
|
|
4278
|
-
children: /* @__PURE__ */ (0,
|
|
4322
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_icons_react14.IconX, { className: "w-4 h-4 text-red-500" })
|
|
4279
4323
|
}
|
|
4280
4324
|
)
|
|
4281
4325
|
] }) }, user.id)) }),
|
|
4282
|
-
showPlus && /* @__PURE__ */ (0,
|
|
4326
|
+
showPlus && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
4283
4327
|
"div",
|
|
4284
4328
|
{
|
|
4285
4329
|
className: "border border-white flex items-center justify-center bg-gray-300 text-black text-sm ml-2",
|
|
@@ -4296,8 +4340,8 @@ function ProfileSelect({
|
|
|
4296
4340
|
)
|
|
4297
4341
|
] })
|
|
4298
4342
|
}
|
|
4299
|
-
) : /* @__PURE__ */ (0,
|
|
4300
|
-
visibleUsers.map((user) => /* @__PURE__ */ (0,
|
|
4343
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: `w-full h-[40px] flex -space-x-2 p-2 ${className}`, children: [
|
|
4344
|
+
visibleUsers.map((user) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center ", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("label", { className: "relative group ", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4301
4345
|
"img",
|
|
4302
4346
|
{
|
|
4303
4347
|
src: user.profile,
|
|
@@ -4310,7 +4354,7 @@ function ProfileSelect({
|
|
|
4310
4354
|
className: "border border-white transition"
|
|
4311
4355
|
}
|
|
4312
4356
|
) }) }, user.id)),
|
|
4313
|
-
showPlus && /* @__PURE__ */ (0,
|
|
4357
|
+
showPlus && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
4314
4358
|
"div",
|
|
4315
4359
|
{
|
|
4316
4360
|
className: "border border-white flex items-center justify-center bg-gray-300 text-black text-sm",
|
|
@@ -4326,16 +4370,16 @@ function ProfileSelect({
|
|
|
4326
4370
|
}
|
|
4327
4371
|
)
|
|
4328
4372
|
] }),
|
|
4329
|
-
isShowSelect ? /* @__PURE__ */ (0,
|
|
4373
|
+
isShowSelect ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
4330
4374
|
"div",
|
|
4331
4375
|
{
|
|
4332
4376
|
className: "absolute top-12 min-w-[261px] max-w-[400px] w-full h-[314px] p-2 text-xs border-1 rounded-sm z-20 bg-white",
|
|
4333
4377
|
ref: selectRef,
|
|
4334
4378
|
children: [
|
|
4335
|
-
/* @__PURE__ */ (0,
|
|
4336
|
-
/* @__PURE__ */ (0,
|
|
4337
|
-
/* @__PURE__ */ (0,
|
|
4338
|
-
|
|
4379
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex border-1 rounded-md p-2 gap-2 items-center", children: [
|
|
4380
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_icons_react14.IconSearch, {}),
|
|
4381
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4382
|
+
import_antd24.Input,
|
|
4339
4383
|
{
|
|
4340
4384
|
variant: "borderless",
|
|
4341
4385
|
placeholder: "\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E0A\u0E37\u0E48\u0E2D",
|
|
@@ -4345,16 +4389,16 @@ function ProfileSelect({
|
|
|
4345
4389
|
}
|
|
4346
4390
|
)
|
|
4347
4391
|
] }),
|
|
4348
|
-
/* @__PURE__ */ (0,
|
|
4349
|
-
filteredAssigned.length > 0 && /* @__PURE__ */ (0,
|
|
4350
|
-
/* @__PURE__ */ (0,
|
|
4351
|
-
filteredAssigned.map((user) => /* @__PURE__ */ (0,
|
|
4392
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "overflow-y-auto h-[250px] pt-2 px-4 body-3", children: noUserOption ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center justify-center h-full text-gray-400 select-none", children: "\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E21\u0E35\u0E1C\u0E39\u0E49\u0E04\u0E19\u0E43\u0E2B\u0E49\u0E40\u0E25\u0E37\u0E2D\u0E01" }) : isSearching && noResult ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center justify-center h-full text-gray-400 select-none", children: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E39\u0E49\u0E04\u0E19\u0E17\u0E35\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32" }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
|
|
4393
|
+
filteredAssigned.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
|
|
4394
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "mb-1", children: "\u0E2A\u0E21\u0E32\u0E0A\u0E34\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01" }),
|
|
4395
|
+
filteredAssigned.map((user) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
4352
4396
|
"button",
|
|
4353
4397
|
{
|
|
4354
4398
|
className: "flex items-center group my-1 w-full p-1 rounded hover:bg-gray-100",
|
|
4355
4399
|
children: [
|
|
4356
|
-
/* @__PURE__ */ (0,
|
|
4357
|
-
/* @__PURE__ */ (0,
|
|
4400
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "relative cursor-pointer", children: [
|
|
4401
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4358
4402
|
"img",
|
|
4359
4403
|
{
|
|
4360
4404
|
src: user.profile,
|
|
@@ -4367,30 +4411,30 @@ function ProfileSelect({
|
|
|
4367
4411
|
className: "border-3 border-red-500"
|
|
4368
4412
|
}
|
|
4369
4413
|
),
|
|
4370
|
-
/* @__PURE__ */ (0,
|
|
4414
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4371
4415
|
"span",
|
|
4372
4416
|
{
|
|
4373
4417
|
className: "absolute top-0 right-0 -translate-y-2 translate-x-2 \r\n rounded-full bg-white opacity-0 group-hover:opacity-100 \r\n border-3 border-red-500 flex items-center justify-center transition",
|
|
4374
4418
|
onClick: () => onUpdateAssignUser(user, "remove"),
|
|
4375
|
-
children: /* @__PURE__ */ (0,
|
|
4419
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_icons_react14.IconX, { className: "text-red-500", size: 15 })
|
|
4376
4420
|
}
|
|
4377
4421
|
)
|
|
4378
4422
|
] }),
|
|
4379
|
-
/* @__PURE__ */ (0,
|
|
4423
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "ml-2", children: user.name })
|
|
4380
4424
|
]
|
|
4381
4425
|
},
|
|
4382
4426
|
user.id
|
|
4383
4427
|
))
|
|
4384
4428
|
] }),
|
|
4385
|
-
filteredUnassigned.length > 0 && /* @__PURE__ */ (0,
|
|
4386
|
-
/* @__PURE__ */ (0,
|
|
4387
|
-
filteredUnassigned.map((user) => /* @__PURE__ */ (0,
|
|
4429
|
+
filteredUnassigned.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
|
|
4430
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "mt-2", children: "\u0E1C\u0E39\u0E49\u0E04\u0E19" }),
|
|
4431
|
+
filteredUnassigned.map((user) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
4388
4432
|
"button",
|
|
4389
4433
|
{
|
|
4390
4434
|
className: "flex items-center my-1 hover:bg-gray-100 w-full p-1 rounded",
|
|
4391
4435
|
onClick: () => onUpdateAssignUser(user),
|
|
4392
4436
|
children: [
|
|
4393
|
-
/* @__PURE__ */ (0,
|
|
4437
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
4394
4438
|
"img",
|
|
4395
4439
|
{
|
|
4396
4440
|
src: user.profile,
|
|
@@ -4403,7 +4447,7 @@ function ProfileSelect({
|
|
|
4403
4447
|
className: "border"
|
|
4404
4448
|
}
|
|
4405
4449
|
),
|
|
4406
|
-
/* @__PURE__ */ (0,
|
|
4450
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "ml-2", children: user.name })
|
|
4407
4451
|
]
|
|
4408
4452
|
},
|
|
4409
4453
|
user.id
|
|
@@ -4419,7 +4463,7 @@ function ProfileSelect({
|
|
|
4419
4463
|
// src/Button/QRCode/QRCode.tsx
|
|
4420
4464
|
var import_react21 = require("react");
|
|
4421
4465
|
var import_qrcode = __toESM(require("qrcode"));
|
|
4422
|
-
var
|
|
4466
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
4423
4467
|
var QRCodeGenerator = ({
|
|
4424
4468
|
url,
|
|
4425
4469
|
previewSize = 200,
|
|
@@ -4514,9 +4558,9 @@ var QRCodeGenerator = ({
|
|
|
4514
4558
|
a.click();
|
|
4515
4559
|
a.remove();
|
|
4516
4560
|
};
|
|
4517
|
-
return /* @__PURE__ */ (0,
|
|
4518
|
-
url === "" ? /* @__PURE__ */ (0,
|
|
4519
|
-
/* @__PURE__ */ (0,
|
|
4561
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { style: { display: "inline-flex", flexDirection: "column", gap: 8 }, className: "justify-center items-center", children: [
|
|
4562
|
+
url === "" ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "border-1 p-2 mb-2", style: { width: `${previewSize}px`, height: `${previewSize}px` } }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("canvas", { ref: canvasRef, className: "border-1 p-2 mb-2" }),
|
|
4563
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
4520
4564
|
"div",
|
|
4521
4565
|
{
|
|
4522
4566
|
style: {
|
|
@@ -4527,8 +4571,8 @@ var QRCodeGenerator = ({
|
|
|
4527
4571
|
},
|
|
4528
4572
|
className: "flex-col",
|
|
4529
4573
|
children: [
|
|
4530
|
-
/* @__PURE__ */ (0,
|
|
4531
|
-
/* @__PURE__ */ (0,
|
|
4574
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex gap-2 mx-2", children: [
|
|
4575
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4532
4576
|
SelectField,
|
|
4533
4577
|
{
|
|
4534
4578
|
label: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A",
|
|
@@ -4537,7 +4581,7 @@ var QRCodeGenerator = ({
|
|
|
4537
4581
|
options: typeOption
|
|
4538
4582
|
}
|
|
4539
4583
|
) }),
|
|
4540
|
-
/* @__PURE__ */ (0,
|
|
4584
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4541
4585
|
SelectField,
|
|
4542
4586
|
{
|
|
4543
4587
|
label: "\u0E02\u0E19\u0E32\u0E14 (px)",
|
|
@@ -4547,7 +4591,7 @@ var QRCodeGenerator = ({
|
|
|
4547
4591
|
}
|
|
4548
4592
|
) })
|
|
4549
4593
|
] }),
|
|
4550
|
-
/* @__PURE__ */ (0,
|
|
4594
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PrimaryButton, { onClick: download, disabled: url === "", textColor: "white", title: "\u0E14\u0E32\u0E27\u0E42\u0E2B\u0E25\u0E14\u0E23\u0E2B\u0E31\u0E2A QR" })
|
|
4551
4595
|
]
|
|
4552
4596
|
}
|
|
4553
4597
|
)
|
|
@@ -4555,11 +4599,11 @@ var QRCodeGenerator = ({
|
|
|
4555
4599
|
};
|
|
4556
4600
|
|
|
4557
4601
|
// src/TabPropject/TabProject/TabProject.tsx
|
|
4558
|
-
var
|
|
4559
|
-
var
|
|
4602
|
+
var import_antd25 = require("antd");
|
|
4603
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
4560
4604
|
function TabProject({ tabOption, now, onChange }) {
|
|
4561
|
-
return /* @__PURE__ */ (0,
|
|
4562
|
-
|
|
4605
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
4606
|
+
import_antd25.ConfigProvider,
|
|
4563
4607
|
{
|
|
4564
4608
|
theme: {
|
|
4565
4609
|
token: {
|
|
@@ -4575,16 +4619,16 @@ function TabProject({ tabOption, now, onChange }) {
|
|
|
4575
4619
|
}
|
|
4576
4620
|
}
|
|
4577
4621
|
},
|
|
4578
|
-
children: /* @__PURE__ */ (0,
|
|
4579
|
-
|
|
4622
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
4623
|
+
import_antd25.Tabs,
|
|
4580
4624
|
{
|
|
4581
4625
|
activeKey: now,
|
|
4582
4626
|
onChange,
|
|
4583
4627
|
items: tabOption.map((item) => ({
|
|
4584
4628
|
key: item.key,
|
|
4585
|
-
label: /* @__PURE__ */ (0,
|
|
4629
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("span", { className: "tab-label flex gap-2 items-center body-1", children: [
|
|
4586
4630
|
item.icon,
|
|
4587
|
-
/* @__PURE__ */ (0,
|
|
4631
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { children: item.label })
|
|
4588
4632
|
] })
|
|
4589
4633
|
}))
|
|
4590
4634
|
}
|
|
@@ -4596,7 +4640,7 @@ function TabProject({ tabOption, now, onChange }) {
|
|
|
4596
4640
|
// src/Chart/BarChart/BarChart.tsx
|
|
4597
4641
|
var import_react22 = require("react");
|
|
4598
4642
|
var d3 = __toESM(require("d3"));
|
|
4599
|
-
var
|
|
4643
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
4600
4644
|
var defaultMargin = { top: 30, right: 200, bottom: 36, left: 50 };
|
|
4601
4645
|
var defaultColorPalette = [
|
|
4602
4646
|
"#4E79A7",
|
|
@@ -4709,17 +4753,17 @@ var BarChart = ({
|
|
|
4709
4753
|
(0, import_react22.useEffect)(() => {
|
|
4710
4754
|
render();
|
|
4711
4755
|
}, [data, height, margin, xDomain.toString(), yDomain.toString()]);
|
|
4712
|
-
return /* @__PURE__ */ (0,
|
|
4713
|
-
/* @__PURE__ */ (0,
|
|
4714
|
-
/* @__PURE__ */ (0,
|
|
4715
|
-
/* @__PURE__ */ (0,
|
|
4756
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { ref: containerRef, style: { width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("svg", { ref: svgRef, role: "img", "aria-label": "Bar chart", style: { display: "block", width: "100%", height }, children: [
|
|
4757
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("g", { ref: gRef, transform: `translate(${margin.left},${margin.top})` }),
|
|
4758
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("g", { ref: xAxisRef }),
|
|
4759
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("g", { ref: yAxisRef })
|
|
4716
4760
|
] }) });
|
|
4717
4761
|
};
|
|
4718
4762
|
|
|
4719
4763
|
// src/Chart/PieChart/PieChart.tsx
|
|
4720
4764
|
var import_react23 = __toESM(require("react"));
|
|
4721
4765
|
var d32 = __toESM(require("d3"));
|
|
4722
|
-
var
|
|
4766
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
4723
4767
|
var defaultColors = d32.schemeCategory10;
|
|
4724
4768
|
var PieChart = ({
|
|
4725
4769
|
title,
|
|
@@ -4753,15 +4797,15 @@ var PieChart = ({
|
|
|
4753
4797
|
return `${percentage}%`;
|
|
4754
4798
|
});
|
|
4755
4799
|
}, [data, width, height]);
|
|
4756
|
-
return /* @__PURE__ */ (0,
|
|
4757
|
-
title && /* @__PURE__ */ (0,
|
|
4758
|
-
description && /* @__PURE__ */ (0,
|
|
4759
|
-
/* @__PURE__ */ (0,
|
|
4760
|
-
/* @__PURE__ */ (0,
|
|
4761
|
-
/* @__PURE__ */ (0,
|
|
4762
|
-
/* @__PURE__ */ (0,
|
|
4763
|
-
/* @__PURE__ */ (0,
|
|
4764
|
-
/* @__PURE__ */ (0,
|
|
4800
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { children: [
|
|
4801
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "body-2", children: title }),
|
|
4802
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "caption-1", children: description }),
|
|
4803
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex", children: [
|
|
4804
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("svg", { ref: svgRef }),
|
|
4805
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex flex-col gap-2 body-3 pl-[200px]", children: dataSide.map((d, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "grid grid-cols-3 gap-2 items-center", children: [
|
|
4806
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-[20px] h-[20px]", style: { backgroundColor: d.color } }),
|
|
4807
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { children: d.label }),
|
|
4808
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { children: d.value })
|
|
4765
4809
|
] }, i)) })
|
|
4766
4810
|
] })
|
|
4767
4811
|
] });
|
|
@@ -4771,7 +4815,7 @@ var PieChart = ({
|
|
|
4771
4815
|
var import_react24 = require("react");
|
|
4772
4816
|
var d33 = __toESM(require("d3"));
|
|
4773
4817
|
var import_date_fns3 = require("date-fns");
|
|
4774
|
-
var
|
|
4818
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
4775
4819
|
var LAYOUT = {
|
|
4776
4820
|
barHeight: 40,
|
|
4777
4821
|
barSpacing: 10,
|
|
@@ -4850,7 +4894,7 @@ var ProjectRow = ({ element, barHeight, barSpacing }) => {
|
|
|
4850
4894
|
const safeStatus = element.status || "pending";
|
|
4851
4895
|
const statusColor = getStatusColor(safeStatus);
|
|
4852
4896
|
const statusLabel = getStatusLabel(safeStatus);
|
|
4853
|
-
return /* @__PURE__ */ (0,
|
|
4897
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
4854
4898
|
"div",
|
|
4855
4899
|
{
|
|
4856
4900
|
style: {
|
|
@@ -4862,8 +4906,8 @@ var ProjectRow = ({ element, barHeight, barSpacing }) => {
|
|
|
4862
4906
|
marginBottom: `${barSpacing}px`
|
|
4863
4907
|
},
|
|
4864
4908
|
children: [
|
|
4865
|
-
/* @__PURE__ */ (0,
|
|
4866
|
-
/* @__PURE__ */ (0,
|
|
4909
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
4910
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4867
4911
|
"span",
|
|
4868
4912
|
{
|
|
4869
4913
|
style: {
|
|
@@ -4875,11 +4919,11 @@ var ProjectRow = ({ element, barHeight, barSpacing }) => {
|
|
|
4875
4919
|
}
|
|
4876
4920
|
}
|
|
4877
4921
|
),
|
|
4878
|
-
/* @__PURE__ */ (0,
|
|
4922
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { style: { color: "#333" }, children: element.label })
|
|
4879
4923
|
] }),
|
|
4880
|
-
/* @__PURE__ */ (0,
|
|
4881
|
-
/* @__PURE__ */ (0,
|
|
4882
|
-
/* @__PURE__ */ (0,
|
|
4924
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { style: { color: "#666" }, children: formatThaiDate(safeStartDate) }),
|
|
4925
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { style: { color: "#666" }, children: formatThaiDate(safeEndDate) }),
|
|
4926
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4883
4927
|
"button",
|
|
4884
4928
|
{
|
|
4885
4929
|
style: {
|
|
@@ -4901,7 +4945,7 @@ var ProjectRow = ({ element, barHeight, barSpacing }) => {
|
|
|
4901
4945
|
element.id
|
|
4902
4946
|
);
|
|
4903
4947
|
};
|
|
4904
|
-
var RowOverlay = ({ data, barHeight, barSpacing, totalHeaderHeight }) => /* @__PURE__ */ (0,
|
|
4948
|
+
var RowOverlay = ({ data, barHeight, barSpacing, totalHeaderHeight }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4905
4949
|
"div",
|
|
4906
4950
|
{
|
|
4907
4951
|
style: {
|
|
@@ -4916,7 +4960,7 @@ var RowOverlay = ({ data, barHeight, barSpacing, totalHeaderHeight }) => /* @__P
|
|
|
4916
4960
|
children: data.map((d, i) => {
|
|
4917
4961
|
if (i === 0) return null;
|
|
4918
4962
|
const yPos = i * (barHeight + barSpacing) - barSpacing / 2;
|
|
4919
|
-
return /* @__PURE__ */ (0,
|
|
4963
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4920
4964
|
"div",
|
|
4921
4965
|
{
|
|
4922
4966
|
style: {
|
|
@@ -5117,7 +5161,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5117
5161
|
headersGroupLayer1Height,
|
|
5118
5162
|
headersGroupLayer2Height
|
|
5119
5163
|
]);
|
|
5120
|
-
return /* @__PURE__ */ (0,
|
|
5164
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
5121
5165
|
"div",
|
|
5122
5166
|
{
|
|
5123
5167
|
style: {
|
|
@@ -5131,7 +5175,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5131
5175
|
backgroundColor: "#fff",
|
|
5132
5176
|
overflow: "hidden"
|
|
5133
5177
|
},
|
|
5134
|
-
children: /* @__PURE__ */ (0,
|
|
5178
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
5135
5179
|
"div",
|
|
5136
5180
|
{
|
|
5137
5181
|
style: {
|
|
@@ -5142,8 +5186,8 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5142
5186
|
position: "relative"
|
|
5143
5187
|
},
|
|
5144
5188
|
children: [
|
|
5145
|
-
/* @__PURE__ */ (0,
|
|
5146
|
-
/* @__PURE__ */ (0,
|
|
5189
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(RowOverlay, { data, barHeight, barSpacing, totalHeaderHeight }),
|
|
5190
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
5147
5191
|
"div",
|
|
5148
5192
|
{
|
|
5149
5193
|
ref: leftPanelRef,
|
|
@@ -5157,7 +5201,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5157
5201
|
zIndex: 2
|
|
5158
5202
|
},
|
|
5159
5203
|
children: [
|
|
5160
|
-
/* @__PURE__ */ (0,
|
|
5204
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
5161
5205
|
"div",
|
|
5162
5206
|
{
|
|
5163
5207
|
style: {
|
|
@@ -5177,18 +5221,18 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5177
5221
|
boxSizing: "border-box"
|
|
5178
5222
|
},
|
|
5179
5223
|
children: [
|
|
5180
|
-
/* @__PURE__ */ (0,
|
|
5181
|
-
/* @__PURE__ */ (0,
|
|
5182
|
-
/* @__PURE__ */ (0,
|
|
5183
|
-
/* @__PURE__ */ (0,
|
|
5224
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: "\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23" }),
|
|
5225
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: "\u0E27\u0E31\u0E19\u0E40\u0E23\u0E34\u0E48\u0E21" }),
|
|
5226
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: "\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E2A\u0E48\u0E07" }),
|
|
5227
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: "\u0E2A\u0E16\u0E32\u0E19\u0E30" })
|
|
5184
5228
|
]
|
|
5185
5229
|
}
|
|
5186
5230
|
),
|
|
5187
|
-
/* @__PURE__ */ (0,
|
|
5231
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { ref: dataContainerRef, children: data.map((element) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ProjectRow, { element, barHeight, barSpacing }, element.id)) })
|
|
5188
5232
|
]
|
|
5189
5233
|
}
|
|
5190
5234
|
),
|
|
5191
|
-
/* @__PURE__ */ (0,
|
|
5235
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
5192
5236
|
"div",
|
|
5193
5237
|
{
|
|
5194
5238
|
style: {
|
|
@@ -5197,7 +5241,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5197
5241
|
position: "relative",
|
|
5198
5242
|
overflow: "visible"
|
|
5199
5243
|
},
|
|
5200
|
-
children: /* @__PURE__ */ (0,
|
|
5244
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
5201
5245
|
"div",
|
|
5202
5246
|
{
|
|
5203
5247
|
style: {
|
|
@@ -5206,7 +5250,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5206
5250
|
width: "max-content",
|
|
5207
5251
|
zIndex: 1
|
|
5208
5252
|
},
|
|
5209
|
-
children: /* @__PURE__ */ (0,
|
|
5253
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("svg", { ref: svgRef })
|
|
5210
5254
|
}
|
|
5211
5255
|
)
|
|
5212
5256
|
}
|
|
@@ -5217,6 +5261,116 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5217
5261
|
}
|
|
5218
5262
|
);
|
|
5219
5263
|
};
|
|
5264
|
+
|
|
5265
|
+
// src/CardKPI/CardKPI/CardKPI.tsx
|
|
5266
|
+
var import_icons_react15 = require("@tabler/icons-react");
|
|
5267
|
+
var import_react25 = require("react");
|
|
5268
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
5269
|
+
function KPIRow({ item }) {
|
|
5270
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
5271
|
+
"div",
|
|
5272
|
+
{
|
|
5273
|
+
className: `w-full grid body-3 py-2 items-center pl-2 ${item.inputType === "NUMBER" ? "grid-cols-[1fr_100px_50px]" : "grid-cols-[1fr_50px]"}`,
|
|
5274
|
+
children: [
|
|
5275
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "line-clamp-2", children: item.textValue }),
|
|
5276
|
+
item.inputType === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "flex", children: `${item.currentValue}/${item.numberValue} ${item.unit}` }),
|
|
5277
|
+
item.inputType === "NUMBER" ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ProgressBar, { percent: Math.floor(item.currentValue * 100 / (item.numberValue ?? 1)), type: "circle", checkpoints: [0] }) }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx_runtime49.Fragment, { children: item.currentValue !== 0 ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons_react15.IconCheckbox, { className: "text-green-500 flex justify-center w-full", size: 30 }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons_react15.IconSquare, { className: "text-gray-200 flex justify-center w-full", size: 30 }) })
|
|
5278
|
+
]
|
|
5279
|
+
}
|
|
5280
|
+
);
|
|
5281
|
+
}
|
|
5282
|
+
function CardKPI({
|
|
5283
|
+
dataItem,
|
|
5284
|
+
overallPercent,
|
|
5285
|
+
onDetailsClick,
|
|
5286
|
+
indicator,
|
|
5287
|
+
projectId
|
|
5288
|
+
}) {
|
|
5289
|
+
const [isOpen, setIsOpen] = (0, import_react25.useState)(false);
|
|
5290
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
5291
|
+
"div",
|
|
5292
|
+
{
|
|
5293
|
+
className: `border-10 p-4 rounded-md w-[420px] h-[450px] relative`,
|
|
5294
|
+
style: { borderColor: dataItem.projectColor },
|
|
5295
|
+
children: [
|
|
5296
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "grid grid-cols-[1fr_70px] justify-between items-center", children: [
|
|
5297
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "line-clamp-2 subtitle-2 ", children: dataItem.name }),
|
|
5298
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
5299
|
+
"button",
|
|
5300
|
+
{
|
|
5301
|
+
type: "button",
|
|
5302
|
+
className: "underline hover:text-primary-800 body-3 cursor-pointer ",
|
|
5303
|
+
onClick: () => onDetailsClick(projectId),
|
|
5304
|
+
children: "\u0E23\u0E32\u0E22\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14"
|
|
5305
|
+
}
|
|
5306
|
+
) })
|
|
5307
|
+
] }),
|
|
5308
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "my-2 body-1", children: [
|
|
5309
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "translate-y-2", children: "\u0E23\u0E49\u0E2D\u0E22\u0E25\u0E30\u0E02\u0E2D\u0E07\u0E01\u0E34\u0E08\u0E01\u0E23\u0E23\u0E21" }),
|
|
5310
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ProgressBar, { percent: overallPercent, type: "line", checkpoints: [0] })
|
|
5311
|
+
] }),
|
|
5312
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "border-b", children: [
|
|
5313
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "body-2 ", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C" }),
|
|
5314
|
+
indicator.filter((ind) => ind.indicatorType === "TARGET").map((item, index) => {
|
|
5315
|
+
if (index === 2) return;
|
|
5316
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
|
|
5317
|
+
})
|
|
5318
|
+
] }),
|
|
5319
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "pt-2", children: [
|
|
5320
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "body-2 ", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
|
|
5321
|
+
indicator.filter((ind) => ind.indicatorType === "OUTPUT").map((item, index) => {
|
|
5322
|
+
if (index === 2) return;
|
|
5323
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
|
|
5324
|
+
})
|
|
5325
|
+
] }),
|
|
5326
|
+
indicator.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "text-sm text-gray-500 italic", children: "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23" }),
|
|
5327
|
+
indicator.filter((item) => item.indicatorType === "TARGET").length > 2 || indicator.filter((item) => item.indicatorType === "OUTPUT").length > 2 ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "bottom-0 right-1/2 absolute text-gray-300", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
5328
|
+
import_icons_react15.IconDots,
|
|
5329
|
+
{
|
|
5330
|
+
className: "cursor-pointer",
|
|
5331
|
+
onClick: () => setIsOpen(true)
|
|
5332
|
+
}
|
|
5333
|
+
) }) : void 0,
|
|
5334
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
5335
|
+
AntDModal,
|
|
5336
|
+
{
|
|
5337
|
+
isOpen,
|
|
5338
|
+
onCancel: () => setIsOpen(false),
|
|
5339
|
+
width: 600,
|
|
5340
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "mt-10", children: [
|
|
5341
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "grid grid-cols-[1fr_100px] justify-between items-center subtitle-2 ", children: [
|
|
5342
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "font-medium line-clamp-2", children: dataItem.name }),
|
|
5343
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
5344
|
+
"button",
|
|
5345
|
+
{
|
|
5346
|
+
type: "button",
|
|
5347
|
+
className: "underline hover:text-primary-800 body-3 cursor-pointer",
|
|
5348
|
+
onClick: () => onDetailsClick(dataItem.projectId),
|
|
5349
|
+
children: "\u0E23\u0E32\u0E22\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14"
|
|
5350
|
+
}
|
|
5351
|
+
)
|
|
5352
|
+
] }),
|
|
5353
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "p-4", children: [
|
|
5354
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
|
|
5355
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "body-1 border-b", children: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" }),
|
|
5356
|
+
indicator.filter((ind) => ind.indicatorType === "TARGET").map((item, index) => {
|
|
5357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
|
|
5358
|
+
})
|
|
5359
|
+
] }),
|
|
5360
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
|
|
5361
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "body-1 border-b", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
|
|
5362
|
+
indicator.filter((ind) => ind.indicatorType === "OUTPUT").map((item, index) => {
|
|
5363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
|
|
5364
|
+
})
|
|
5365
|
+
] })
|
|
5366
|
+
] })
|
|
5367
|
+
] })
|
|
5368
|
+
}
|
|
5369
|
+
)
|
|
5370
|
+
]
|
|
5371
|
+
}
|
|
5372
|
+
);
|
|
5373
|
+
}
|
|
5220
5374
|
// Annotate the CommonJS export names for ESM import in node:
|
|
5221
5375
|
0 && (module.exports = {
|
|
5222
5376
|
AntDModal,
|
|
@@ -5224,6 +5378,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5224
5378
|
BarChart,
|
|
5225
5379
|
Breadcrumbs,
|
|
5226
5380
|
Calendar,
|
|
5381
|
+
CardKPI,
|
|
5227
5382
|
Checkbox,
|
|
5228
5383
|
CheckboxGroup,
|
|
5229
5384
|
ColorPalettePickerBasic,
|
|
@@ -5262,6 +5417,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5262
5417
|
SwitchSelect,
|
|
5263
5418
|
TabProject,
|
|
5264
5419
|
TabSelectionButton,
|
|
5420
|
+
TertiaryButton,
|
|
5265
5421
|
TextAreaInput,
|
|
5266
5422
|
TextInput,
|
|
5267
5423
|
TopNavBar,
|