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