@esic-lab/data-core-ui 0.0.60 → 0.0.61
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.css +0 -22
- package/dist/index.d.mts +33 -17
- package/dist/index.d.ts +33 -17
- package/dist/index.js +212 -133
- package/dist/index.mjs +365 -286
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -347,53 +347,97 @@ var require_buddhistEra = __commonJS({
|
|
|
347
347
|
});
|
|
348
348
|
|
|
349
349
|
// src/Button/PrimaryButton/PrimaryButton.tsx
|
|
350
|
-
import {
|
|
350
|
+
import { Button, ConfigProvider } from "antd";
|
|
351
|
+
import { jsx } from "react/jsx-runtime";
|
|
351
352
|
function PrimaryButton({
|
|
352
353
|
title,
|
|
353
354
|
onClick,
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
355
|
+
disabled,
|
|
356
|
+
iconPlacement = "start",
|
|
357
|
+
size = "large",
|
|
358
|
+
colorPrimary = "#4e61f6",
|
|
359
|
+
colorPrimaryHover = "#8895f9",
|
|
360
|
+
textColor = "#ffffff",
|
|
361
|
+
icon
|
|
359
362
|
}) {
|
|
363
|
+
const textClass = size === "large" ? "body-1" : "body-3";
|
|
360
364
|
return /* @__PURE__ */ jsx(
|
|
361
|
-
|
|
365
|
+
ConfigProvider,
|
|
362
366
|
{
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
367
|
+
theme: {
|
|
368
|
+
token: {
|
|
369
|
+
colorPrimary,
|
|
370
|
+
colorPrimaryHover,
|
|
371
|
+
colorTextLightSolid: textColor
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
children: /* @__PURE__ */ jsx(
|
|
375
|
+
Button,
|
|
376
|
+
{
|
|
377
|
+
size,
|
|
378
|
+
onClick,
|
|
379
|
+
type: "primary",
|
|
380
|
+
className: textClass,
|
|
381
|
+
disabled,
|
|
382
|
+
icon,
|
|
383
|
+
iconPosition: iconPlacement,
|
|
384
|
+
children: title
|
|
385
|
+
}
|
|
386
|
+
)
|
|
373
387
|
}
|
|
374
388
|
);
|
|
375
389
|
}
|
|
376
390
|
|
|
377
391
|
// src/Button/SecondaryButton/SecondaryButton.tsx
|
|
378
|
-
import {
|
|
379
|
-
|
|
392
|
+
import { Button as Button2, ConfigProvider as ConfigProvider2 } from "antd";
|
|
393
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
394
|
+
function SecondaryButton({
|
|
395
|
+
title,
|
|
396
|
+
onClick,
|
|
397
|
+
disabled,
|
|
398
|
+
iconPlacement = "start",
|
|
399
|
+
size = "large",
|
|
400
|
+
colorBgContainer = "#ffffff",
|
|
401
|
+
defaultHoverBorderColor = "#7181f8",
|
|
402
|
+
defaultHoverColor = "#7181f8",
|
|
403
|
+
textColor = "rgba(0,0,0,0.88)",
|
|
404
|
+
icon
|
|
405
|
+
}) {
|
|
406
|
+
const textClass = size === "large" ? "body-1" : "body-3";
|
|
380
407
|
return /* @__PURE__ */ jsx2(
|
|
381
|
-
|
|
408
|
+
ConfigProvider2,
|
|
382
409
|
{
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
410
|
+
theme: {
|
|
411
|
+
components: {
|
|
412
|
+
Button: {
|
|
413
|
+
defaultHoverBorderColor,
|
|
414
|
+
defaultHoverColor
|
|
415
|
+
}
|
|
416
|
+
},
|
|
417
|
+
token: {
|
|
418
|
+
colorBgContainer,
|
|
419
|
+
colorText: textColor
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
children: /* @__PURE__ */ jsx2(
|
|
423
|
+
Button2,
|
|
424
|
+
{
|
|
425
|
+
size,
|
|
426
|
+
onClick,
|
|
427
|
+
type: "default",
|
|
428
|
+
className: textClass,
|
|
429
|
+
disabled,
|
|
430
|
+
icon,
|
|
431
|
+
iconPosition: iconPlacement,
|
|
432
|
+
children: title
|
|
433
|
+
}
|
|
434
|
+
)
|
|
391
435
|
}
|
|
392
436
|
);
|
|
393
437
|
}
|
|
394
438
|
|
|
395
439
|
// src/Button/GhostButton/GhostButton.tsx
|
|
396
|
-
import { jsx as jsx3, jsxs
|
|
440
|
+
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
397
441
|
function GhostButton({ title, onClick, iconLeft, iconRight, disabled }) {
|
|
398
442
|
return /* @__PURE__ */ jsx3(
|
|
399
443
|
"button",
|
|
@@ -402,7 +446,7 @@ function GhostButton({ title, onClick, iconLeft, iconRight, disabled }) {
|
|
|
402
446
|
disabled,
|
|
403
447
|
className: `flex justify-center w-full h-[42px] rounded-[6px] p-[10px] body-1 transition
|
|
404
448
|
${disabled ? "text-gray-400 bg-gray-100 cursor-not-allowed" : "bg-[#E9E9E9] cursor-pointer hover:bg-[#d6d6d6] active:bg-[#c4c4c4]"}`,
|
|
405
|
-
children: /* @__PURE__ */
|
|
449
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex justify-center items-center gap-[10px]", children: [
|
|
406
450
|
iconLeft && /* @__PURE__ */ jsx3("div", { children: iconLeft }),
|
|
407
451
|
title,
|
|
408
452
|
iconRight && /* @__PURE__ */ jsx3("div", { children: iconRight })
|
|
@@ -412,9 +456,9 @@ function GhostButton({ title, onClick, iconLeft, iconRight, disabled }) {
|
|
|
412
456
|
}
|
|
413
457
|
|
|
414
458
|
// src/Button/TabSelectionButton/TabSelectionButton.tsx
|
|
415
|
-
import { jsx as jsx4, jsxs as
|
|
459
|
+
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
416
460
|
var TabSelectionButton = ({ title, now, onClickGoto }) => {
|
|
417
|
-
return /* @__PURE__ */
|
|
461
|
+
return /* @__PURE__ */ jsxs2("div", { className: "flex subtitle-2", children: [
|
|
418
462
|
title.map((text) => /* @__PURE__ */ jsx4(
|
|
419
463
|
"button",
|
|
420
464
|
{
|
|
@@ -448,14 +492,14 @@ function Loader({ size = 25, color = "#000000" }) {
|
|
|
448
492
|
|
|
449
493
|
// src/Checkbox/Checkbox/Checkbox.tsx
|
|
450
494
|
import { IconCheck } from "@tabler/icons-react";
|
|
451
|
-
import { jsx as jsx6, jsxs as
|
|
495
|
+
import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
452
496
|
function Checkbox({ label, checked, onChange, disabled }) {
|
|
453
497
|
const handleClick = () => {
|
|
454
498
|
if (!disabled) {
|
|
455
499
|
onChange(!checked);
|
|
456
500
|
}
|
|
457
501
|
};
|
|
458
|
-
return /* @__PURE__ */
|
|
502
|
+
return /* @__PURE__ */ jsxs3(
|
|
459
503
|
"div",
|
|
460
504
|
{
|
|
461
505
|
className: `flex gap-[10px] items-center
|
|
@@ -523,23 +567,23 @@ function Radio({ selected, onChange, disabled }) {
|
|
|
523
567
|
}
|
|
524
568
|
|
|
525
569
|
// src/Radio/RadioGroup/RadioGroup.tsx
|
|
526
|
-
import { jsx as jsx9, jsxs as
|
|
570
|
+
import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
527
571
|
function RadioGroup({ options, value, onChange, alignment = "horizontal" }) {
|
|
528
|
-
return /* @__PURE__ */ jsx9("div", { className: `flex gap-2 ${alignment === "vertical" ? "flex-col" : ""}`, children: options.map((opt) => /* @__PURE__ */
|
|
572
|
+
return /* @__PURE__ */ jsx9("div", { className: `flex gap-2 ${alignment === "vertical" ? "flex-col" : ""}`, children: options.map((opt) => /* @__PURE__ */ jsxs4("label", { className: "flex items-center gap-2 cursor-pointer", children: [
|
|
529
573
|
/* @__PURE__ */ jsx9(Radio, { selected: value === opt.value, onChange: () => onChange(opt.value), disabled: opt.disabled }),
|
|
530
574
|
/* @__PURE__ */ jsx9("span", { className: `body-1 ${opt.disabled ? "text-gray-400 cursor-not-allowed" : ""}`, children: opt.label })
|
|
531
575
|
] }, opt.value)) });
|
|
532
576
|
}
|
|
533
577
|
|
|
534
578
|
// src/Switch/Switch/Switch.tsx
|
|
535
|
-
import { jsx as jsx10, jsxs as
|
|
579
|
+
import { jsx as jsx10, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
536
580
|
function Switch({ label, checked, onChange, disabled }) {
|
|
537
581
|
const handleClick = () => {
|
|
538
582
|
if (!disabled) {
|
|
539
583
|
onChange(!checked);
|
|
540
584
|
}
|
|
541
585
|
};
|
|
542
|
-
return /* @__PURE__ */
|
|
586
|
+
return /* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-[10px]", children: [
|
|
543
587
|
label && /* @__PURE__ */ jsx10("p", { className: `body-1 ${disabled ? "opacity-50 select-none" : ""}`, children: label }),
|
|
544
588
|
/* @__PURE__ */ jsx10(
|
|
545
589
|
"button",
|
|
@@ -566,7 +610,7 @@ function Switch({ label, checked, onChange, disabled }) {
|
|
|
566
610
|
}
|
|
567
611
|
|
|
568
612
|
// src/Switch/SwitchSelect/SwitchSelect.tsx
|
|
569
|
-
import { jsx as jsx11, jsxs as
|
|
613
|
+
import { jsx as jsx11, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
570
614
|
function SwitchSelect({
|
|
571
615
|
option,
|
|
572
616
|
onClick,
|
|
@@ -575,8 +619,8 @@ function SwitchSelect({
|
|
|
575
619
|
required,
|
|
576
620
|
color
|
|
577
621
|
}) {
|
|
578
|
-
return /* @__PURE__ */
|
|
579
|
-
label && /* @__PURE__ */
|
|
622
|
+
return /* @__PURE__ */ jsxs6("div", { className: "flex flex-col container-input", children: [
|
|
623
|
+
label && /* @__PURE__ */ jsxs6("p", { className: `body-1`, children: [
|
|
580
624
|
label,
|
|
581
625
|
" ",
|
|
582
626
|
required && /* @__PURE__ */ jsx11("span", { className: "text-red-500", children: "*" })
|
|
@@ -599,12 +643,12 @@ function SwitchSelect({
|
|
|
599
643
|
|
|
600
644
|
// src/NavBar/MenuNavBar/MenuNavBar.tsx
|
|
601
645
|
import { useState } from "react";
|
|
602
|
-
import { jsx as jsx12, jsxs as
|
|
646
|
+
import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
603
647
|
function MenuNavBar({ menus, onClick }) {
|
|
604
648
|
const [activePath, setActivePath] = useState("");
|
|
605
|
-
return /* @__PURE__ */ jsx12("div", { className: "w-full h-full p-[10px] bg-white", children: menus?.map((menu, index) => /* @__PURE__ */
|
|
649
|
+
return /* @__PURE__ */ jsx12("div", { className: "w-full h-full p-[10px] bg-white", children: menus?.map((menu, index) => /* @__PURE__ */ jsxs7("div", { className: `p-[10px] ${index !== 0 ? "mt-[10px]" : ""}`, children: [
|
|
606
650
|
/* @__PURE__ */ jsx12("p", { className: "p-[10px] w-[202px] h-[47px] subtitle-1", children: menu.title }),
|
|
607
|
-
menu?.subMenus.map((subMenu) => /* @__PURE__ */
|
|
651
|
+
menu?.subMenus.map((subMenu) => /* @__PURE__ */ jsxs7(
|
|
608
652
|
"div",
|
|
609
653
|
{
|
|
610
654
|
className: `group flex justify-center items-center gap-[10px] p-[10px] w-[202px] h-[47px] rounded-[6px] subtitle-2 cursor-pointer
|
|
@@ -627,12 +671,12 @@ function MenuNavBar({ menus, onClick }) {
|
|
|
627
671
|
// src/NavBar/MenuNavBar/Sidebar.tsx
|
|
628
672
|
import { IconChevronLeftPipe, IconChevronRightPipe } from "@tabler/icons-react";
|
|
629
673
|
import { createContext, useContext, useState as useState2 } from "react";
|
|
630
|
-
import { jsx as jsx13, jsxs as
|
|
674
|
+
import { jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
631
675
|
var SidebarContext = createContext({ expanded: false });
|
|
632
676
|
function Sidebar({ children, logo }) {
|
|
633
677
|
const [expanded, setExpanded] = useState2(true);
|
|
634
|
-
return /* @__PURE__ */ jsx13("aside", { className: "h-screen", children: /* @__PURE__ */
|
|
635
|
-
/* @__PURE__ */
|
|
678
|
+
return /* @__PURE__ */ jsx13("aside", { className: "h-screen", children: /* @__PURE__ */ jsxs8("nav", { className: `h-full flex flex-col bg-white border-r shadow-sm duration-150 ${expanded ? "w-64" : "w-16"}`, children: [
|
|
679
|
+
/* @__PURE__ */ jsxs8("div", { className: "p-4 pb-2 flex justify-center items-center", children: [
|
|
636
680
|
expanded && logo && /* @__PURE__ */ jsx13("img", { src: logo, width: 120, className: "ml-auto" }),
|
|
637
681
|
/* @__PURE__ */ jsx13(
|
|
638
682
|
"button",
|
|
@@ -649,14 +693,14 @@ function Sidebar({ children, logo }) {
|
|
|
649
693
|
|
|
650
694
|
// src/NavBar/TopNavBar/TopNavBar.tsx
|
|
651
695
|
import { IconBellRinging } from "@tabler/icons-react";
|
|
652
|
-
import { jsx as jsx14, jsxs as
|
|
696
|
+
import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
653
697
|
function TopNavBar({ onClickNoti, logo }) {
|
|
654
|
-
return /* @__PURE__ */
|
|
655
|
-
/* @__PURE__ */
|
|
698
|
+
return /* @__PURE__ */ jsxs9("div", { className: "w-full h-full flex", children: [
|
|
699
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-[20px] p-[10px]", children: [
|
|
656
700
|
logo,
|
|
657
701
|
/* @__PURE__ */ jsx14("p", { className: "subtitle-1", children: "Project Management" })
|
|
658
702
|
] }),
|
|
659
|
-
/* @__PURE__ */
|
|
703
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex items-center ml-auto gap-[20px] p-[10px]", children: [
|
|
660
704
|
/* @__PURE__ */ jsx14("div", { children: "Search" }),
|
|
661
705
|
/* @__PURE__ */ jsx14("div", { children: /* @__PURE__ */ jsx14(IconBellRinging, { onClick: onClickNoti, className: "cursor-pointer" }) }),
|
|
662
706
|
/* @__PURE__ */ jsx14("div", { className: "w-[40px] h-[40px] bg-gray-400 rounded-full cursor-pointer" })
|
|
@@ -671,7 +715,7 @@ import { useState as useState3 } from "react";
|
|
|
671
715
|
// src/Table/Pagination/Pagination.tsx
|
|
672
716
|
import { IconArrowLeft, IconArrowRight } from "@tabler/icons-react";
|
|
673
717
|
import { useMemo } from "react";
|
|
674
|
-
import { jsx as jsx15, jsxs as
|
|
718
|
+
import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
675
719
|
function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
676
720
|
const totalPages = Math.ceil(totalItems / itemsPerPage);
|
|
677
721
|
const getPages = useMemo(() => {
|
|
@@ -695,8 +739,8 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
695
739
|
return pages;
|
|
696
740
|
}, [totalPages, currentPage]);
|
|
697
741
|
if (totalPages <= 1) return null;
|
|
698
|
-
return /* @__PURE__ */
|
|
699
|
-
/* @__PURE__ */
|
|
742
|
+
return /* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-center gap-2 mt-4 body-1", children: [
|
|
743
|
+
/* @__PURE__ */ jsxs10(
|
|
700
744
|
"button",
|
|
701
745
|
{
|
|
702
746
|
className: "px-3 py-1 disabled:opacity-50 flex gap-[8px] cursor-pointer",
|
|
@@ -720,7 +764,7 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
720
764
|
i
|
|
721
765
|
)
|
|
722
766
|
),
|
|
723
|
-
/* @__PURE__ */
|
|
767
|
+
/* @__PURE__ */ jsxs10(
|
|
724
768
|
"button",
|
|
725
769
|
{
|
|
726
770
|
className: "px-3 py-1 disabled:opacity-50 flex gap-[8px] cursor-pointer",
|
|
@@ -736,7 +780,7 @@ function Pagination({ totalItems, itemsPerPage, currentPage, onPageChange }) {
|
|
|
736
780
|
}
|
|
737
781
|
|
|
738
782
|
// src/Table/DataTable/DataTable.tsx
|
|
739
|
-
import { Fragment, jsx as jsx16, jsxs as
|
|
783
|
+
import { Fragment, jsx as jsx16, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
740
784
|
function DataTable({ columns, data, onSort, isLoading }) {
|
|
741
785
|
const cols = Math.max(1, columns.length);
|
|
742
786
|
const gridClass = "grid [grid-template-columns:repeat(var(--cols),minmax(0,1fr))]";
|
|
@@ -748,13 +792,13 @@ function DataTable({ columns, data, onSort, isLoading }) {
|
|
|
748
792
|
onSort();
|
|
749
793
|
}
|
|
750
794
|
};
|
|
751
|
-
return /* @__PURE__ */
|
|
795
|
+
return /* @__PURE__ */ jsxs11("div", { className: "border rounded-md w-full h-full", children: [
|
|
752
796
|
/* @__PURE__ */ jsx16("div", { className: `${gridClass} font-semibold border-b border-gray-200`, style: { ["--cols"]: cols }, children: columns.map((col, i) => {
|
|
753
797
|
const isActive = sortConfig?.key === col.accessor;
|
|
754
798
|
const direction = isActive ? sortConfig?.direction : null;
|
|
755
|
-
return /* @__PURE__ */
|
|
799
|
+
return /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-[8px] py-[8px] px-[16px] body-4 truncate", children: [
|
|
756
800
|
col.header,
|
|
757
|
-
col.sortable && /* @__PURE__ */
|
|
801
|
+
col.sortable && /* @__PURE__ */ jsxs11(Fragment, { children: [
|
|
758
802
|
direction === null && /* @__PURE__ */ jsx16(
|
|
759
803
|
IconSelector,
|
|
760
804
|
{
|
|
@@ -796,7 +840,7 @@ function DataTable({ columns, data, onSort, isLoading }) {
|
|
|
796
840
|
}
|
|
797
841
|
|
|
798
842
|
// src/Table/DataTable/AntDataTable.tsx
|
|
799
|
-
import { ConfigProvider, Table } from "antd";
|
|
843
|
+
import { ConfigProvider as ConfigProvider3, Table } from "antd";
|
|
800
844
|
import { useState as useState4 } from "react";
|
|
801
845
|
import { Fragment as Fragment2, jsx as jsx17 } from "react/jsx-runtime";
|
|
802
846
|
function AntDataTable({
|
|
@@ -825,7 +869,7 @@ function AntDataTable({
|
|
|
825
869
|
onFilter(filters);
|
|
826
870
|
};
|
|
827
871
|
return /* @__PURE__ */ jsx17(Fragment2, { children: /* @__PURE__ */ jsx17(
|
|
828
|
-
|
|
872
|
+
ConfigProvider3,
|
|
829
873
|
{
|
|
830
874
|
theme: {
|
|
831
875
|
components: {},
|
|
@@ -858,7 +902,7 @@ import timeGridPlugin from "@fullcalendar/timegrid";
|
|
|
858
902
|
import interactionPlugin from "@fullcalendar/interaction";
|
|
859
903
|
import thLocale from "@fullcalendar/core/locales/th";
|
|
860
904
|
import { IconChevronLeft, IconChevronRight, IconX } from "@tabler/icons-react";
|
|
861
|
-
import { Fragment as Fragment3, jsx as jsx18, jsxs as
|
|
905
|
+
import { Fragment as Fragment3, jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
862
906
|
function Calendar({ events }) {
|
|
863
907
|
const calendarRef = useRef(null);
|
|
864
908
|
const [monthTitle, setMonthTitle] = useState5("");
|
|
@@ -877,10 +921,10 @@ function Calendar({ events }) {
|
|
|
877
921
|
useEffect(() => {
|
|
878
922
|
updateTitle();
|
|
879
923
|
}, []);
|
|
880
|
-
return /* @__PURE__ */
|
|
881
|
-
/* @__PURE__ */
|
|
924
|
+
return /* @__PURE__ */ jsxs12("div", { className: "fc w-full h-full relative z-10", children: [
|
|
925
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex mb-[8px]", children: [
|
|
882
926
|
/* @__PURE__ */ jsx18("p", { className: "headline-5", children: monthTitle }),
|
|
883
|
-
/* @__PURE__ */
|
|
927
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex gap-[10px] ml-auto", children: [
|
|
884
928
|
/* @__PURE__ */ jsx18(
|
|
885
929
|
"p",
|
|
886
930
|
{
|
|
@@ -987,15 +1031,15 @@ function Calendar({ events }) {
|
|
|
987
1031
|
] });
|
|
988
1032
|
}
|
|
989
1033
|
function EventPopUp({ event, onClose }) {
|
|
990
|
-
return /* @__PURE__ */
|
|
1034
|
+
return /* @__PURE__ */ jsxs12("div", { className: "w-[500px] h-auto rounded-2xl bg-white relative z-50 shadow-2xl overflow-hidden", children: [
|
|
991
1035
|
/* @__PURE__ */ jsx18("button", { className: "absolute top-3 right-3 rounded-full p-1 hover:bg-gray-200 transition", onClick: onClose, children: /* @__PURE__ */ jsx18(IconX, { className: "w-6 h-6 text-gray-600" }) }),
|
|
992
1036
|
/* @__PURE__ */ jsx18("div", { className: "bg-red-400 text-left text-white px-6 py-4 headline-5", children: /* @__PURE__ */ jsx18("h2", { className: "text-lg font-semibold", children: event.title }) }),
|
|
993
|
-
/* @__PURE__ */
|
|
994
|
-
/* @__PURE__ */
|
|
1037
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex flex-col w-full p-6 gap-3 text-gray-700 body-3", children: [
|
|
1038
|
+
/* @__PURE__ */ jsxs12("p", { children: [
|
|
995
1039
|
/* @__PURE__ */ jsx18("span", { className: "font-medium", children: "\u0E40\u0E23\u0E34\u0E48\u0E21: " }),
|
|
996
1040
|
event?.start?.toLocaleString?.() || String(event?.start)
|
|
997
1041
|
] }),
|
|
998
|
-
/* @__PURE__ */
|
|
1042
|
+
/* @__PURE__ */ jsxs12("p", { children: [
|
|
999
1043
|
/* @__PURE__ */ jsx18("span", { className: "font-medium", children: "\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14: " }),
|
|
1000
1044
|
event?.end?.toLocaleString?.() || String(event?.end)
|
|
1001
1045
|
] }),
|
|
@@ -1007,7 +1051,7 @@ function EventPopUp({ event, onClose }) {
|
|
|
1007
1051
|
// src/Input/TextInput/TextInput.tsx
|
|
1008
1052
|
import { IconEye, IconEyeOff } from "@tabler/icons-react";
|
|
1009
1053
|
import { useState as useState6 } from "react";
|
|
1010
|
-
import { jsx as jsx19, jsxs as
|
|
1054
|
+
import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1011
1055
|
function TextInput({
|
|
1012
1056
|
label,
|
|
1013
1057
|
placeholder,
|
|
@@ -1024,12 +1068,12 @@ function TextInput({
|
|
|
1024
1068
|
setShowPassword(!showPassword);
|
|
1025
1069
|
};
|
|
1026
1070
|
const inputType = type === "password" ? showPassword ? "text" : "password" : "text";
|
|
1027
|
-
return /* @__PURE__ */
|
|
1028
|
-
label && /* @__PURE__ */
|
|
1071
|
+
return /* @__PURE__ */ jsxs13("div", { children: [
|
|
1072
|
+
label && /* @__PURE__ */ jsxs13("p", { className: "body-1 mb-[8px]", children: [
|
|
1029
1073
|
label,
|
|
1030
1074
|
required && /* @__PURE__ */ jsx19("span", { className: "text-red-500", children: "\xA0*" })
|
|
1031
1075
|
] }),
|
|
1032
|
-
/* @__PURE__ */
|
|
1076
|
+
/* @__PURE__ */ jsxs13(
|
|
1033
1077
|
"div",
|
|
1034
1078
|
{
|
|
1035
1079
|
className: `border-[1px] rounded-[8px] w-full h-[40px] flex justify-center items-center
|
|
@@ -1057,8 +1101,8 @@ function TextInput({
|
|
|
1057
1101
|
}
|
|
1058
1102
|
|
|
1059
1103
|
// src/Input/TextArea/TextArea.tsx
|
|
1060
|
-
import { ConfigProvider as
|
|
1061
|
-
import { Fragment as Fragment4, jsx as jsx20, jsxs as
|
|
1104
|
+
import { ConfigProvider as ConfigProvider4, Input } from "antd";
|
|
1105
|
+
import { Fragment as Fragment4, jsx as jsx20, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1062
1106
|
var { TextArea } = Input;
|
|
1063
1107
|
function TextAreaInput({
|
|
1064
1108
|
label,
|
|
@@ -1074,7 +1118,7 @@ function TextAreaInput({
|
|
|
1074
1118
|
disabled
|
|
1075
1119
|
}) {
|
|
1076
1120
|
return /* @__PURE__ */ jsx20(Fragment4, { children: /* @__PURE__ */ jsx20(
|
|
1077
|
-
|
|
1121
|
+
ConfigProvider4,
|
|
1078
1122
|
{
|
|
1079
1123
|
theme: {
|
|
1080
1124
|
components: {},
|
|
@@ -1083,8 +1127,8 @@ function TextAreaInput({
|
|
|
1083
1127
|
fontSize: 16
|
|
1084
1128
|
}
|
|
1085
1129
|
},
|
|
1086
|
-
children: /* @__PURE__ */
|
|
1087
|
-
label && /* @__PURE__ */
|
|
1130
|
+
children: /* @__PURE__ */ jsxs14("div", { children: [
|
|
1131
|
+
label && /* @__PURE__ */ jsxs14("p", { className: "body-1 mb-[8px]", children: [
|
|
1088
1132
|
label,
|
|
1089
1133
|
" ",
|
|
1090
1134
|
required && /* @__PURE__ */ jsx20("span", { className: "text-red-500", children: "\xA0*" })
|
|
@@ -1112,8 +1156,8 @@ function TextAreaInput({
|
|
|
1112
1156
|
}
|
|
1113
1157
|
|
|
1114
1158
|
// src/Input/InputField/InputField.tsx
|
|
1115
|
-
import { ConfigProvider as
|
|
1116
|
-
import { jsx as jsx21, jsxs as
|
|
1159
|
+
import { ConfigProvider as ConfigProvider5, Input as Input2, Space } from "antd";
|
|
1160
|
+
import { jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1117
1161
|
function InputField({
|
|
1118
1162
|
value,
|
|
1119
1163
|
onChange,
|
|
@@ -1130,20 +1174,20 @@ function InputField({
|
|
|
1130
1174
|
statickey
|
|
1131
1175
|
}) {
|
|
1132
1176
|
return /* @__PURE__ */ jsx21(
|
|
1133
|
-
|
|
1177
|
+
ConfigProvider5,
|
|
1134
1178
|
{
|
|
1135
1179
|
theme: {
|
|
1136
1180
|
token: {
|
|
1137
1181
|
fontFamily: "Kanit"
|
|
1138
1182
|
}
|
|
1139
1183
|
},
|
|
1140
|
-
children: /* @__PURE__ */
|
|
1141
|
-
/* @__PURE__ */
|
|
1184
|
+
children: /* @__PURE__ */ jsxs15("div", { className: "container-input", children: [
|
|
1185
|
+
/* @__PURE__ */ jsxs15("div", { children: [
|
|
1142
1186
|
/* @__PURE__ */ jsx21("span", { className: "body-1", children: label }),
|
|
1143
1187
|
" ",
|
|
1144
1188
|
required && /* @__PURE__ */ jsx21("span", { className: "text-red-500", children: "*" })
|
|
1145
1189
|
] }),
|
|
1146
|
-
/* @__PURE__ */
|
|
1190
|
+
/* @__PURE__ */ jsxs15(Space.Compact, { children: [
|
|
1147
1191
|
statickey && /* @__PURE__ */ jsx21("span", { className: "items-center flex px-2 bg-gray-300 rounded-l-md body-1", children: statickey }),
|
|
1148
1192
|
/* @__PURE__ */ jsx21(
|
|
1149
1193
|
Input2,
|
|
@@ -1168,8 +1212,8 @@ function InputField({
|
|
|
1168
1212
|
}
|
|
1169
1213
|
|
|
1170
1214
|
// src/Input/InputFieldNumber/InputFieldNumber.tsx
|
|
1171
|
-
import { ConfigProvider as
|
|
1172
|
-
import { jsx as jsx22, jsxs as
|
|
1215
|
+
import { ConfigProvider as ConfigProvider6, InputNumber } from "antd";
|
|
1216
|
+
import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1173
1217
|
function InputFieldNumber({
|
|
1174
1218
|
value,
|
|
1175
1219
|
onChange,
|
|
@@ -1191,15 +1235,15 @@ function InputFieldNumber({
|
|
|
1191
1235
|
parser
|
|
1192
1236
|
}) {
|
|
1193
1237
|
return /* @__PURE__ */ jsx22(
|
|
1194
|
-
|
|
1238
|
+
ConfigProvider6,
|
|
1195
1239
|
{
|
|
1196
1240
|
theme: {
|
|
1197
1241
|
token: {
|
|
1198
1242
|
fontFamily: "Kanit"
|
|
1199
1243
|
}
|
|
1200
1244
|
},
|
|
1201
|
-
children: /* @__PURE__ */
|
|
1202
|
-
/* @__PURE__ */
|
|
1245
|
+
children: /* @__PURE__ */ jsxs16("div", { className: "container-input", children: [
|
|
1246
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
1203
1247
|
/* @__PURE__ */ jsx22("span", { className: "body-1", children: label }),
|
|
1204
1248
|
" ",
|
|
1205
1249
|
required && /* @__PURE__ */ jsx22("span", { className: "text-red-500", children: "*" })
|
|
@@ -1220,8 +1264,17 @@ function InputFieldNumber({
|
|
|
1220
1264
|
controls,
|
|
1221
1265
|
size,
|
|
1222
1266
|
changeOnWheel,
|
|
1223
|
-
formatter
|
|
1224
|
-
|
|
1267
|
+
formatter: formatter ?? ((value2) => {
|
|
1268
|
+
if (value2 === void 0 || value2 === null || value2 === "")
|
|
1269
|
+
return "";
|
|
1270
|
+
const num = Number(value2);
|
|
1271
|
+
if (isNaN(num)) return "";
|
|
1272
|
+
return num.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
1273
|
+
}),
|
|
1274
|
+
parser: parser ?? ((value2) => {
|
|
1275
|
+
if (!value2) return "";
|
|
1276
|
+
return value2.replace(/,/g, "");
|
|
1277
|
+
})
|
|
1225
1278
|
}
|
|
1226
1279
|
),
|
|
1227
1280
|
error && /* @__PURE__ */ jsx22("p", { className: "text-red-500 caption-1", children: error })
|
|
@@ -1237,7 +1290,7 @@ var import_buddhistEra = __toESM(require_buddhistEra());
|
|
|
1237
1290
|
import { useState as useState7, useRef as useRef2, useEffect as useEffect2 } from "react";
|
|
1238
1291
|
import { format } from "date-fns";
|
|
1239
1292
|
import { th as thFns } from "date-fns/locale";
|
|
1240
|
-
import { jsx as jsx23, jsxs as
|
|
1293
|
+
import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1241
1294
|
import_dayjs.default.extend(import_buddhistEra.default);
|
|
1242
1295
|
import_dayjs.default.locale("th");
|
|
1243
1296
|
function DatePickerBasic({
|
|
@@ -1301,8 +1354,8 @@ function DatePickerBasic({
|
|
|
1301
1354
|
document.addEventListener("mousedown", handleClickOutside);
|
|
1302
1355
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
1303
1356
|
}, []);
|
|
1304
|
-
return /* @__PURE__ */
|
|
1305
|
-
/* @__PURE__ */
|
|
1357
|
+
return /* @__PURE__ */ jsxs17("div", { ref: wrapperRef, style: { fontFamily: "Kanit", fontSize: 16 }, className: "relative w-full", children: [
|
|
1358
|
+
/* @__PURE__ */ jsxs17("div", { className: "mb-1", children: [
|
|
1306
1359
|
/* @__PURE__ */ jsx23("span", { className: "body-1", children: label }),
|
|
1307
1360
|
required && /* @__PURE__ */ jsx23("span", { className: "text-red-500 ml-1", children: "*" })
|
|
1308
1361
|
] }),
|
|
@@ -1314,13 +1367,13 @@ function DatePickerBasic({
|
|
|
1314
1367
|
children: /* @__PURE__ */ jsx23("div", { className: "flex-1", children: value ? formatThaiBE(value) : /* @__PURE__ */ jsx23("span", { className: "text-gray-400", children: placeholder }) })
|
|
1315
1368
|
}
|
|
1316
1369
|
),
|
|
1317
|
-
open && /* @__PURE__ */
|
|
1370
|
+
open && /* @__PURE__ */ jsxs17(
|
|
1318
1371
|
"div",
|
|
1319
1372
|
{
|
|
1320
1373
|
className: "absolute z-50 mt-2 w-80 p-4 bg-white shadow-xl rounded-lg border animate-fade-in",
|
|
1321
1374
|
style: { fontFamily: "Kanit", fontSize: 16 },
|
|
1322
1375
|
children: [
|
|
1323
|
-
/* @__PURE__ */
|
|
1376
|
+
/* @__PURE__ */ jsxs17("div", { className: "flex justify-between items-center mb-3", children: [
|
|
1324
1377
|
/* @__PURE__ */ jsx23(
|
|
1325
1378
|
"button",
|
|
1326
1379
|
{
|
|
@@ -1329,7 +1382,7 @@ function DatePickerBasic({
|
|
|
1329
1382
|
children: "\u25C0"
|
|
1330
1383
|
}
|
|
1331
1384
|
),
|
|
1332
|
-
/* @__PURE__ */
|
|
1385
|
+
/* @__PURE__ */ jsxs17("div", { className: "font-semibold text-lg text-gray-700", children: [
|
|
1333
1386
|
monthNames[calendar.month()],
|
|
1334
1387
|
" ",
|
|
1335
1388
|
calendar.year() + 543
|
|
@@ -1337,7 +1390,7 @@ function DatePickerBasic({
|
|
|
1337
1390
|
/* @__PURE__ */ jsx23("button", { onClick: () => setCalendar(calendar.add(1, "month")), className: "px-2 hover:bg-gray-100 rounded", children: "\u25B6" })
|
|
1338
1391
|
] }),
|
|
1339
1392
|
/* @__PURE__ */ jsx23("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__ */ jsx23("div", { children: d }, d)) }),
|
|
1340
|
-
/* @__PURE__ */
|
|
1393
|
+
/* @__PURE__ */ jsxs17("div", { className: "grid grid-cols-7 gap-1 text-center", children: [
|
|
1341
1394
|
Array(firstDayOfMonth).fill(null).map((_, i) => /* @__PURE__ */ jsx23("div", {}, `empty-${i}`)),
|
|
1342
1395
|
Array.from({ length: daysInMonth }, (_, i) => i + 1).map((d) => {
|
|
1343
1396
|
const dateObj = calendar.date(d);
|
|
@@ -1385,7 +1438,7 @@ var import_buddhistEra2 = __toESM(require_buddhistEra());
|
|
|
1385
1438
|
import { useState as useState8, useRef as useRef3, useEffect as useEffect3 } from "react";
|
|
1386
1439
|
import { format as format2 } from "date-fns";
|
|
1387
1440
|
import { th as thFns2 } from "date-fns/locale";
|
|
1388
|
-
import { jsx as jsx24, jsxs as
|
|
1441
|
+
import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1389
1442
|
import_dayjs2.default.extend(import_buddhistEra2.default);
|
|
1390
1443
|
import_dayjs2.default.locale("th");
|
|
1391
1444
|
function DatePickerRange({
|
|
@@ -1467,12 +1520,12 @@ function DatePickerRange({
|
|
|
1467
1520
|
clipRule: "evenodd"
|
|
1468
1521
|
}
|
|
1469
1522
|
) });
|
|
1470
|
-
return /* @__PURE__ */
|
|
1471
|
-
/* @__PURE__ */
|
|
1523
|
+
return /* @__PURE__ */ jsxs18("div", { ref: wrapperRef, style: { fontFamily: "Kanit", fontSize: 16 }, className: "relative w-full", children: [
|
|
1524
|
+
/* @__PURE__ */ jsxs18("div", { className: "mb-1", children: [
|
|
1472
1525
|
/* @__PURE__ */ jsx24("span", { className: "body-1", children: label }),
|
|
1473
1526
|
required && /* @__PURE__ */ jsx24("span", { className: "text-red-500 ml-1", children: "*" })
|
|
1474
1527
|
] }),
|
|
1475
|
-
/* @__PURE__ */
|
|
1528
|
+
/* @__PURE__ */ jsxs18(
|
|
1476
1529
|
"div",
|
|
1477
1530
|
{
|
|
1478
1531
|
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"}`,
|
|
@@ -1484,13 +1537,13 @@ function DatePickerRange({
|
|
|
1484
1537
|
]
|
|
1485
1538
|
}
|
|
1486
1539
|
),
|
|
1487
|
-
open && /* @__PURE__ */
|
|
1540
|
+
open && /* @__PURE__ */ jsxs18(
|
|
1488
1541
|
"div",
|
|
1489
1542
|
{
|
|
1490
1543
|
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",
|
|
1491
1544
|
style: { fontFamily: "Kanit", fontSize: 16 },
|
|
1492
1545
|
children: [
|
|
1493
|
-
/* @__PURE__ */
|
|
1546
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex justify-between items-center mb-3", children: [
|
|
1494
1547
|
/* @__PURE__ */ jsx24(
|
|
1495
1548
|
"button",
|
|
1496
1549
|
{
|
|
@@ -1499,7 +1552,7 @@ function DatePickerRange({
|
|
|
1499
1552
|
children: "\u25C0"
|
|
1500
1553
|
}
|
|
1501
1554
|
),
|
|
1502
|
-
/* @__PURE__ */
|
|
1555
|
+
/* @__PURE__ */ jsxs18("div", { className: "font-semibold text-lg text-gray-700", children: [
|
|
1503
1556
|
monthNames[calendar.month()],
|
|
1504
1557
|
" ",
|
|
1505
1558
|
calendar.year() + 543
|
|
@@ -1507,7 +1560,7 @@ function DatePickerRange({
|
|
|
1507
1560
|
/* @__PURE__ */ jsx24("button", { onClick: () => setCalendar(calendar.add(1, "month")), className: "px-2 hover:bg-gray-100 rounded", children: "\u25B6" })
|
|
1508
1561
|
] }),
|
|
1509
1562
|
/* @__PURE__ */ jsx24("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__ */ jsx24("div", { children: d }, d)) }),
|
|
1510
|
-
/* @__PURE__ */
|
|
1563
|
+
/* @__PURE__ */ jsxs18("div", { className: "grid grid-cols-7 gap-y-1 text-center", children: [
|
|
1511
1564
|
Array(firstDayOfMonth).fill(null).map((_, i) => /* @__PURE__ */ jsx24("div", {}, `empty-${i}`)),
|
|
1512
1565
|
Array.from({ length: daysInMonth }, (_, i) => i + 1).map((d) => {
|
|
1513
1566
|
const currentObj = calendar.date(d);
|
|
@@ -1554,8 +1607,8 @@ function DatePickerRange({
|
|
|
1554
1607
|
}
|
|
1555
1608
|
|
|
1556
1609
|
// src/ColorPicker/ColorPickerBasic/ColorPicker.tsx
|
|
1557
|
-
import { ConfigProvider as
|
|
1558
|
-
import { jsx as jsx25, jsxs as
|
|
1610
|
+
import { ConfigProvider as ConfigProvider7, ColorPicker } from "antd";
|
|
1611
|
+
import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1559
1612
|
function ColorPickerBasic({
|
|
1560
1613
|
value,
|
|
1561
1614
|
onChange,
|
|
@@ -1569,7 +1622,7 @@ function ColorPickerBasic({
|
|
|
1569
1622
|
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35"
|
|
1570
1623
|
}) {
|
|
1571
1624
|
return /* @__PURE__ */ jsx25(
|
|
1572
|
-
|
|
1625
|
+
ConfigProvider7,
|
|
1573
1626
|
{
|
|
1574
1627
|
theme: {
|
|
1575
1628
|
token: {
|
|
@@ -1577,8 +1630,8 @@ function ColorPickerBasic({
|
|
|
1577
1630
|
fontSize: 16
|
|
1578
1631
|
}
|
|
1579
1632
|
},
|
|
1580
|
-
children: /* @__PURE__ */
|
|
1581
|
-
/* @__PURE__ */
|
|
1633
|
+
children: /* @__PURE__ */ jsxs19("div", { className: "container-input", children: [
|
|
1634
|
+
/* @__PURE__ */ jsxs19("div", { children: [
|
|
1582
1635
|
/* @__PURE__ */ jsx25("span", { className: "body-1", children: label }),
|
|
1583
1636
|
" ",
|
|
1584
1637
|
required && /* @__PURE__ */ jsx25("span", { className: "text-red-500", children: "*" })
|
|
@@ -1597,7 +1650,7 @@ function ColorPickerBasic({
|
|
|
1597
1650
|
if (!value) {
|
|
1598
1651
|
return /* @__PURE__ */ jsx25("span", { children: placeholder });
|
|
1599
1652
|
}
|
|
1600
|
-
return /* @__PURE__ */
|
|
1653
|
+
return /* @__PURE__ */ jsxs19("span", { children: [
|
|
1601
1654
|
"(",
|
|
1602
1655
|
hex,
|
|
1603
1656
|
")"
|
|
@@ -1613,7 +1666,7 @@ function ColorPickerBasic({
|
|
|
1613
1666
|
}
|
|
1614
1667
|
|
|
1615
1668
|
// src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
|
|
1616
|
-
import { ConfigProvider as
|
|
1669
|
+
import { ConfigProvider as ConfigProvider8, ColorPicker as ColorPicker2, theme } from "antd";
|
|
1617
1670
|
|
|
1618
1671
|
// node_modules/@babel/runtime/helpers/esm/typeof.js
|
|
1619
1672
|
function _typeof(o) {
|
|
@@ -2315,7 +2368,7 @@ var greyDark = ["#151515", "#1f1f1f", "#2d2d2d", "#393939", "#494949", "#5a5a5a"
|
|
|
2315
2368
|
greyDark.primary = greyDark[5];
|
|
2316
2369
|
|
|
2317
2370
|
// src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
|
|
2318
|
-
import { jsx as jsx26, jsxs as
|
|
2371
|
+
import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2319
2372
|
function genPresets(presets = presetPalettes) {
|
|
2320
2373
|
return Object.entries(presets).map(([label, colors]) => ({
|
|
2321
2374
|
label,
|
|
@@ -2343,7 +2396,7 @@ function ColorPalettePickerBasic({
|
|
|
2343
2396
|
green
|
|
2344
2397
|
});
|
|
2345
2398
|
return /* @__PURE__ */ jsx26(
|
|
2346
|
-
|
|
2399
|
+
ConfigProvider8,
|
|
2347
2400
|
{
|
|
2348
2401
|
theme: {
|
|
2349
2402
|
token: {
|
|
@@ -2351,8 +2404,8 @@ function ColorPalettePickerBasic({
|
|
|
2351
2404
|
fontSize: 16
|
|
2352
2405
|
}
|
|
2353
2406
|
},
|
|
2354
|
-
children: /* @__PURE__ */
|
|
2355
|
-
/* @__PURE__ */
|
|
2407
|
+
children: /* @__PURE__ */ jsxs20("div", { className: "container-input", children: [
|
|
2408
|
+
/* @__PURE__ */ jsxs20("div", { children: [
|
|
2356
2409
|
/* @__PURE__ */ jsx26("span", { className: "body-1", children: label }),
|
|
2357
2410
|
" ",
|
|
2358
2411
|
required && /* @__PURE__ */ jsx26("span", { className: "text-red-500", children: "*" })
|
|
@@ -2372,7 +2425,7 @@ function ColorPalettePickerBasic({
|
|
|
2372
2425
|
if (!value) {
|
|
2373
2426
|
return /* @__PURE__ */ jsx26("span", { children: placeholder });
|
|
2374
2427
|
}
|
|
2375
|
-
return /* @__PURE__ */
|
|
2428
|
+
return /* @__PURE__ */ jsxs20("span", { children: [
|
|
2376
2429
|
"(",
|
|
2377
2430
|
hex,
|
|
2378
2431
|
")"
|
|
@@ -2389,8 +2442,8 @@ function ColorPalettePickerBasic({
|
|
|
2389
2442
|
}
|
|
2390
2443
|
|
|
2391
2444
|
// src/Select/SelectField/SelectField.tsx
|
|
2392
|
-
import { Select, ConfigProvider as
|
|
2393
|
-
import { jsx as jsx27, jsxs as
|
|
2445
|
+
import { Select, ConfigProvider as ConfigProvider9 } from "antd";
|
|
2446
|
+
import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2394
2447
|
function SelectField({
|
|
2395
2448
|
value,
|
|
2396
2449
|
onChange,
|
|
@@ -2406,10 +2459,12 @@ function SelectField({
|
|
|
2406
2459
|
prefixSize = 20,
|
|
2407
2460
|
handleSearch,
|
|
2408
2461
|
className,
|
|
2409
|
-
onClear
|
|
2462
|
+
onClear,
|
|
2463
|
+
size = "middle",
|
|
2464
|
+
allowClear = true
|
|
2410
2465
|
}) {
|
|
2411
2466
|
return /* @__PURE__ */ jsx27(
|
|
2412
|
-
|
|
2467
|
+
ConfigProvider9,
|
|
2413
2468
|
{
|
|
2414
2469
|
theme: {
|
|
2415
2470
|
token: {
|
|
@@ -2417,8 +2472,8 @@ function SelectField({
|
|
|
2417
2472
|
fontSize: 16
|
|
2418
2473
|
}
|
|
2419
2474
|
},
|
|
2420
|
-
children: /* @__PURE__ */
|
|
2421
|
-
/* @__PURE__ */
|
|
2475
|
+
children: /* @__PURE__ */ jsxs21("div", { className: "container-input", children: [
|
|
2476
|
+
/* @__PURE__ */ jsxs21("div", { children: [
|
|
2422
2477
|
/* @__PURE__ */ jsx27("span", { className: "body-1", children: label }),
|
|
2423
2478
|
" ",
|
|
2424
2479
|
required && /* @__PURE__ */ jsx27("span", { className: "text-red-500", children: "*" })
|
|
@@ -2426,6 +2481,7 @@ function SelectField({
|
|
|
2426
2481
|
/* @__PURE__ */ jsx27(
|
|
2427
2482
|
Select,
|
|
2428
2483
|
{
|
|
2484
|
+
size,
|
|
2429
2485
|
showSearch: true,
|
|
2430
2486
|
value: value ? value : void 0,
|
|
2431
2487
|
defaultValue,
|
|
@@ -2451,7 +2507,7 @@ function SelectField({
|
|
|
2451
2507
|
children: prefix
|
|
2452
2508
|
}
|
|
2453
2509
|
) : void 0,
|
|
2454
|
-
allowClear
|
|
2510
|
+
allowClear,
|
|
2455
2511
|
onClear
|
|
2456
2512
|
}
|
|
2457
2513
|
),
|
|
@@ -2462,8 +2518,8 @@ function SelectField({
|
|
|
2462
2518
|
}
|
|
2463
2519
|
|
|
2464
2520
|
// src/Select/SelectFieldGroup/SelectFieldGroup.tsx
|
|
2465
|
-
import { Select as Select2, ConfigProvider as
|
|
2466
|
-
import { jsx as jsx28, jsxs as
|
|
2521
|
+
import { Select as Select2, ConfigProvider as ConfigProvider10 } from "antd";
|
|
2522
|
+
import { jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2467
2523
|
function SelectFieldGroup({
|
|
2468
2524
|
value,
|
|
2469
2525
|
onChange,
|
|
@@ -2478,18 +2534,20 @@ function SelectFieldGroup({
|
|
|
2478
2534
|
prefix,
|
|
2479
2535
|
prefixSize = 20,
|
|
2480
2536
|
handleSearch,
|
|
2481
|
-
className
|
|
2537
|
+
className,
|
|
2538
|
+
size = "middle",
|
|
2539
|
+
allowClear = true
|
|
2482
2540
|
}) {
|
|
2483
2541
|
return /* @__PURE__ */ jsx28(
|
|
2484
|
-
|
|
2542
|
+
ConfigProvider10,
|
|
2485
2543
|
{
|
|
2486
2544
|
theme: {
|
|
2487
2545
|
token: {
|
|
2488
2546
|
fontFamily: "Kanit"
|
|
2489
2547
|
}
|
|
2490
2548
|
},
|
|
2491
|
-
children: /* @__PURE__ */
|
|
2492
|
-
/* @__PURE__ */
|
|
2549
|
+
children: /* @__PURE__ */ jsxs22("div", { className: "container-input", children: [
|
|
2550
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
2493
2551
|
/* @__PURE__ */ jsx28("span", { className: "body-1", children: label }),
|
|
2494
2552
|
" ",
|
|
2495
2553
|
required && /* @__PURE__ */ jsx28("span", { className: "text-red-500", children: "*" })
|
|
@@ -2497,6 +2555,7 @@ function SelectFieldGroup({
|
|
|
2497
2555
|
/* @__PURE__ */ jsx28(
|
|
2498
2556
|
Select2,
|
|
2499
2557
|
{
|
|
2558
|
+
size,
|
|
2500
2559
|
showSearch: true,
|
|
2501
2560
|
value: value ? value : void 0,
|
|
2502
2561
|
defaultValue,
|
|
@@ -2522,7 +2581,7 @@ function SelectFieldGroup({
|
|
|
2522
2581
|
children: prefix
|
|
2523
2582
|
}
|
|
2524
2583
|
) : void 0,
|
|
2525
|
-
allowClear
|
|
2584
|
+
allowClear
|
|
2526
2585
|
}
|
|
2527
2586
|
),
|
|
2528
2587
|
error && /* @__PURE__ */ jsx28("p", { className: "text-red-500 caption-1", children: error })
|
|
@@ -2532,9 +2591,9 @@ function SelectFieldGroup({
|
|
|
2532
2591
|
}
|
|
2533
2592
|
|
|
2534
2593
|
// src/Select/SelectFieldStatus/SelectFieldStatus.tsx
|
|
2535
|
-
import { Select as Select3, ConfigProvider as
|
|
2594
|
+
import { Select as Select3, ConfigProvider as ConfigProvider11 } from "antd";
|
|
2536
2595
|
import { DownOutlined } from "@ant-design/icons";
|
|
2537
|
-
import { jsx as jsx29, jsxs as
|
|
2596
|
+
import { jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2538
2597
|
function SelectFieldStatus({
|
|
2539
2598
|
value,
|
|
2540
2599
|
onChange,
|
|
@@ -2544,11 +2603,13 @@ function SelectFieldStatus({
|
|
|
2544
2603
|
disabled,
|
|
2545
2604
|
error,
|
|
2546
2605
|
options,
|
|
2547
|
-
className
|
|
2606
|
+
className,
|
|
2607
|
+
size = "middle",
|
|
2608
|
+
allowClear = false
|
|
2548
2609
|
}) {
|
|
2549
2610
|
const selectedItem = options?.find((s) => s.value === value);
|
|
2550
2611
|
return /* @__PURE__ */ jsx29(
|
|
2551
|
-
|
|
2612
|
+
ConfigProvider11,
|
|
2552
2613
|
{
|
|
2553
2614
|
theme: {
|
|
2554
2615
|
components: {
|
|
@@ -2563,8 +2624,8 @@ function SelectFieldStatus({
|
|
|
2563
2624
|
fontFamily: "Kanit"
|
|
2564
2625
|
}
|
|
2565
2626
|
},
|
|
2566
|
-
children: /* @__PURE__ */
|
|
2567
|
-
/* @__PURE__ */
|
|
2627
|
+
children: /* @__PURE__ */ jsxs23("div", { className: "container-input", children: [
|
|
2628
|
+
/* @__PURE__ */ jsxs23("div", { children: [
|
|
2568
2629
|
/* @__PURE__ */ jsx29("span", { className: "body-1", children: label }),
|
|
2569
2630
|
" ",
|
|
2570
2631
|
required && /* @__PURE__ */ jsx29("span", { className: "text-red-500", children: "*" })
|
|
@@ -2572,6 +2633,7 @@ function SelectFieldStatus({
|
|
|
2572
2633
|
/* @__PURE__ */ jsx29(
|
|
2573
2634
|
Select3,
|
|
2574
2635
|
{
|
|
2636
|
+
size,
|
|
2575
2637
|
disabled,
|
|
2576
2638
|
suffixIcon: /* @__PURE__ */ jsx29(DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
|
|
2577
2639
|
value: value ? value : void 0,
|
|
@@ -2581,7 +2643,8 @@ function SelectFieldStatus({
|
|
|
2581
2643
|
optionFilterProp: "label",
|
|
2582
2644
|
filterOption: (input, option) => (option?.label ?? "").toString().toLowerCase().includes(input.toLowerCase()),
|
|
2583
2645
|
options,
|
|
2584
|
-
showSearch: true
|
|
2646
|
+
showSearch: true,
|
|
2647
|
+
allowClear
|
|
2585
2648
|
}
|
|
2586
2649
|
),
|
|
2587
2650
|
error && /* @__PURE__ */ jsx29("p", { className: "text-red-500 caption-1", children: error })
|
|
@@ -2591,7 +2654,7 @@ function SelectFieldStatus({
|
|
|
2591
2654
|
}
|
|
2592
2655
|
|
|
2593
2656
|
// src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
|
|
2594
|
-
import { Select as Select4, ConfigProvider as
|
|
2657
|
+
import { Select as Select4, ConfigProvider as ConfigProvider12 } from "antd";
|
|
2595
2658
|
|
|
2596
2659
|
// src/Select/SelectFieldStatusReport/StatusReportMockup.ts
|
|
2597
2660
|
var status = [
|
|
@@ -2601,7 +2664,7 @@ var status = [
|
|
|
2601
2664
|
|
|
2602
2665
|
// src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
|
|
2603
2666
|
import { DownOutlined as DownOutlined2 } from "@ant-design/icons";
|
|
2604
|
-
import { jsx as jsx30, jsxs as
|
|
2667
|
+
import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2605
2668
|
function SelectFieldStatusReport({
|
|
2606
2669
|
value,
|
|
2607
2670
|
onChange,
|
|
@@ -2611,11 +2674,13 @@ function SelectFieldStatusReport({
|
|
|
2611
2674
|
disabled,
|
|
2612
2675
|
error,
|
|
2613
2676
|
className,
|
|
2614
|
-
options
|
|
2677
|
+
options,
|
|
2678
|
+
size = "middle",
|
|
2679
|
+
allowClear = false
|
|
2615
2680
|
}) {
|
|
2616
2681
|
const selectedItem = status.find((s) => s.value === value);
|
|
2617
2682
|
return /* @__PURE__ */ jsx30(
|
|
2618
|
-
|
|
2683
|
+
ConfigProvider12,
|
|
2619
2684
|
{
|
|
2620
2685
|
theme: {
|
|
2621
2686
|
components: {
|
|
@@ -2630,8 +2695,8 @@ function SelectFieldStatusReport({
|
|
|
2630
2695
|
fontFamily: "Kanit"
|
|
2631
2696
|
}
|
|
2632
2697
|
},
|
|
2633
|
-
children: /* @__PURE__ */
|
|
2634
|
-
/* @__PURE__ */
|
|
2698
|
+
children: /* @__PURE__ */ jsxs24("div", { className: "container-input", children: [
|
|
2699
|
+
/* @__PURE__ */ jsxs24("div", { children: [
|
|
2635
2700
|
/* @__PURE__ */ jsx30("span", { className: "body-1", children: label }),
|
|
2636
2701
|
" ",
|
|
2637
2702
|
required && /* @__PURE__ */ jsx30("span", { className: "text-red-500", children: "*" })
|
|
@@ -2639,6 +2704,7 @@ function SelectFieldStatusReport({
|
|
|
2639
2704
|
/* @__PURE__ */ jsx30(
|
|
2640
2705
|
Select4,
|
|
2641
2706
|
{
|
|
2707
|
+
size,
|
|
2642
2708
|
disabled,
|
|
2643
2709
|
suffixIcon: /* @__PURE__ */ jsx30(DownOutlined2, { style: { color: value ? "#fff" : "#D9D9D9" } }),
|
|
2644
2710
|
value: value ? value : void 0,
|
|
@@ -2648,7 +2714,8 @@ function SelectFieldStatusReport({
|
|
|
2648
2714
|
optionFilterProp: "label",
|
|
2649
2715
|
filterOption: (input, option) => (option?.label ?? "").toString().toLowerCase().includes(input.toLowerCase()),
|
|
2650
2716
|
options,
|
|
2651
|
-
showSearch: true
|
|
2717
|
+
showSearch: true,
|
|
2718
|
+
allowClear
|
|
2652
2719
|
}
|
|
2653
2720
|
),
|
|
2654
2721
|
error && /* @__PURE__ */ jsx30("p", { className: "text-red-500 caption-1", children: error })
|
|
@@ -2658,9 +2725,9 @@ function SelectFieldStatusReport({
|
|
|
2658
2725
|
}
|
|
2659
2726
|
|
|
2660
2727
|
// src/Select/SelectFieldTag/SelectFieldTag.tsx
|
|
2661
|
-
import { Select as Select5, ConfigProvider as
|
|
2728
|
+
import { Select as Select5, ConfigProvider as ConfigProvider13 } from "antd";
|
|
2662
2729
|
import { useState as useState9 } from "react";
|
|
2663
|
-
import { jsx as jsx31, jsxs as
|
|
2730
|
+
import { jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2664
2731
|
function SelectFieldTag({
|
|
2665
2732
|
label,
|
|
2666
2733
|
required,
|
|
@@ -2670,7 +2737,9 @@ function SelectFieldTag({
|
|
|
2670
2737
|
value: controlledValue,
|
|
2671
2738
|
className,
|
|
2672
2739
|
onChange,
|
|
2673
|
-
onClear
|
|
2740
|
+
onClear,
|
|
2741
|
+
size = "middle",
|
|
2742
|
+
allowClear = true
|
|
2674
2743
|
}) {
|
|
2675
2744
|
const [internalValue, setInternalValue] = useState9([]);
|
|
2676
2745
|
const isControlled = controlledValue !== void 0;
|
|
@@ -2694,15 +2763,15 @@ function SelectFieldTag({
|
|
|
2694
2763
|
onChange?.([]);
|
|
2695
2764
|
};
|
|
2696
2765
|
return /* @__PURE__ */ jsx31(
|
|
2697
|
-
|
|
2766
|
+
ConfigProvider13,
|
|
2698
2767
|
{
|
|
2699
2768
|
theme: {
|
|
2700
2769
|
token: {
|
|
2701
2770
|
fontFamily: "Kanit"
|
|
2702
2771
|
}
|
|
2703
2772
|
},
|
|
2704
|
-
children: /* @__PURE__ */
|
|
2705
|
-
/* @__PURE__ */
|
|
2773
|
+
children: /* @__PURE__ */ jsxs25("div", { className: "container-input", children: [
|
|
2774
|
+
/* @__PURE__ */ jsxs25("div", { children: [
|
|
2706
2775
|
/* @__PURE__ */ jsx31("span", { className: "body-1", children: label }),
|
|
2707
2776
|
" ",
|
|
2708
2777
|
required && /* @__PURE__ */ jsx31("span", { className: "text-red-500", children: "*" })
|
|
@@ -2710,6 +2779,7 @@ function SelectFieldTag({
|
|
|
2710
2779
|
/* @__PURE__ */ jsx31(
|
|
2711
2780
|
Select5,
|
|
2712
2781
|
{
|
|
2782
|
+
size,
|
|
2713
2783
|
mode: "tags",
|
|
2714
2784
|
className: `body-1 flex justify-center w-full ${className ?? ""}`,
|
|
2715
2785
|
placeholder,
|
|
@@ -2722,7 +2792,7 @@ function SelectFieldTag({
|
|
|
2722
2792
|
},
|
|
2723
2793
|
searchValue: searchWord,
|
|
2724
2794
|
options,
|
|
2725
|
-
allowClear
|
|
2795
|
+
allowClear,
|
|
2726
2796
|
onClear
|
|
2727
2797
|
}
|
|
2728
2798
|
),
|
|
@@ -2734,9 +2804,9 @@ function SelectFieldTag({
|
|
|
2734
2804
|
|
|
2735
2805
|
// src/Select/SelectCustom/SelectCustom.tsx
|
|
2736
2806
|
import { IconTrash } from "@tabler/icons-react";
|
|
2737
|
-
import { Select as Select6, ConfigProvider as
|
|
2807
|
+
import { Select as Select6, ConfigProvider as ConfigProvider14 } from "antd";
|
|
2738
2808
|
import { useState as useState10 } from "react";
|
|
2739
|
-
import { jsx as jsx32, jsxs as
|
|
2809
|
+
import { jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2740
2810
|
function SelectCustom({
|
|
2741
2811
|
label = "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23",
|
|
2742
2812
|
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01",
|
|
@@ -2744,7 +2814,9 @@ function SelectCustom({
|
|
|
2744
2814
|
required = false,
|
|
2745
2815
|
onChange,
|
|
2746
2816
|
error,
|
|
2747
|
-
onClear
|
|
2817
|
+
onClear,
|
|
2818
|
+
size = "middle",
|
|
2819
|
+
allowClear = true
|
|
2748
2820
|
}) {
|
|
2749
2821
|
const [value, setValue] = useState10([]);
|
|
2750
2822
|
const [valueList, setValueList] = useState10([]);
|
|
@@ -2766,7 +2838,7 @@ function SelectCustom({
|
|
|
2766
2838
|
};
|
|
2767
2839
|
const filteredOptions = options.filter((opt) => !valueList.includes(opt.value)).map((opt) => ({ value: opt.value, label: opt.label }));
|
|
2768
2840
|
return /* @__PURE__ */ jsx32(
|
|
2769
|
-
|
|
2841
|
+
ConfigProvider14,
|
|
2770
2842
|
{
|
|
2771
2843
|
theme: {
|
|
2772
2844
|
token: {
|
|
@@ -2774,8 +2846,8 @@ function SelectCustom({
|
|
|
2774
2846
|
fontSize: 16
|
|
2775
2847
|
}
|
|
2776
2848
|
},
|
|
2777
|
-
children: /* @__PURE__ */
|
|
2778
|
-
/* @__PURE__ */
|
|
2849
|
+
children: /* @__PURE__ */ jsxs26("div", { className: "container-input", children: [
|
|
2850
|
+
/* @__PURE__ */ jsxs26("div", { children: [
|
|
2779
2851
|
/* @__PURE__ */ jsx32("span", { className: "body-1", children: label }),
|
|
2780
2852
|
" ",
|
|
2781
2853
|
required && /* @__PURE__ */ jsx32("span", { className: "text-red-500", children: "*" })
|
|
@@ -2783,22 +2855,24 @@ function SelectCustom({
|
|
|
2783
2855
|
/* @__PURE__ */ jsx32(
|
|
2784
2856
|
Select6,
|
|
2785
2857
|
{
|
|
2858
|
+
size,
|
|
2786
2859
|
value: value ? value : void 0,
|
|
2787
2860
|
onChange: handleChange,
|
|
2788
2861
|
placeholder,
|
|
2789
2862
|
options: filteredOptions,
|
|
2790
2863
|
mode: "tags",
|
|
2791
|
-
onClear
|
|
2864
|
+
onClear,
|
|
2865
|
+
allowClear
|
|
2792
2866
|
}
|
|
2793
2867
|
),
|
|
2794
2868
|
error && /* @__PURE__ */ jsx32("p", { className: "text-red-500 caption-1", children: error }),
|
|
2795
|
-
/* @__PURE__ */ jsx32("div", { className: "w-full p-[2px] overflow-y-auto", children: valueList.map((v, index) => /* @__PURE__ */
|
|
2869
|
+
/* @__PURE__ */ jsx32("div", { className: "w-full p-[2px] overflow-y-auto", children: valueList.map((v, index) => /* @__PURE__ */ jsxs26(
|
|
2796
2870
|
"div",
|
|
2797
2871
|
{
|
|
2798
2872
|
className: "flex justify-between items-center py-[2px] body-1",
|
|
2799
2873
|
children: [
|
|
2800
|
-
/* @__PURE__ */
|
|
2801
|
-
/* @__PURE__ */
|
|
2874
|
+
/* @__PURE__ */ jsxs26("div", { className: "flex flex-row gap-[8px]", children: [
|
|
2875
|
+
/* @__PURE__ */ jsxs26("p", { children: [
|
|
2802
2876
|
index + 1,
|
|
2803
2877
|
"."
|
|
2804
2878
|
] }),
|
|
@@ -2821,7 +2895,7 @@ function SelectCustom({
|
|
|
2821
2895
|
}
|
|
2822
2896
|
|
|
2823
2897
|
// src/SortFilter/SortFilter.tsx
|
|
2824
|
-
import { ConfigProvider as
|
|
2898
|
+
import { ConfigProvider as ConfigProvider15 } from "antd";
|
|
2825
2899
|
import { CalendarOutlined } from "@ant-design/icons";
|
|
2826
2900
|
|
|
2827
2901
|
// src/SortFilter/DataMockSortFilter.ts
|
|
@@ -2854,7 +2928,7 @@ var quarters = [
|
|
|
2854
2928
|
// src/SortFilter/SortFilter.tsx
|
|
2855
2929
|
import { useState as useState11 } from "react";
|
|
2856
2930
|
import { IconSortDescending as IconSortDescending2, IconFilter } from "@tabler/icons-react";
|
|
2857
|
-
import { jsx as jsx33, jsxs as
|
|
2931
|
+
import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
2858
2932
|
function SortFilter({
|
|
2859
2933
|
showYear = true,
|
|
2860
2934
|
showQuarter = true,
|
|
@@ -2866,15 +2940,15 @@ function SortFilter({
|
|
|
2866
2940
|
const [monthValue, setMonthValue] = useState11();
|
|
2867
2941
|
const [quarterValue, setQuartersValue] = useState11();
|
|
2868
2942
|
return /* @__PURE__ */ jsx33(
|
|
2869
|
-
|
|
2943
|
+
ConfigProvider15,
|
|
2870
2944
|
{
|
|
2871
2945
|
theme: {
|
|
2872
2946
|
token: {
|
|
2873
2947
|
fontFamily: "Kanit"
|
|
2874
2948
|
}
|
|
2875
2949
|
},
|
|
2876
|
-
children: /* @__PURE__ */
|
|
2877
|
-
/* @__PURE__ */
|
|
2950
|
+
children: /* @__PURE__ */ jsxs27("div", { className: "w-full flex items-center justify-between", children: [
|
|
2951
|
+
/* @__PURE__ */ jsxs27("div", { className: "w-full flex gap-[10px]", children: [
|
|
2878
2952
|
showYear && /* @__PURE__ */ jsx33("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx33(
|
|
2879
2953
|
SelectField,
|
|
2880
2954
|
{
|
|
@@ -2915,7 +2989,7 @@ function SortFilter({
|
|
|
2915
2989
|
}
|
|
2916
2990
|
) })
|
|
2917
2991
|
] }),
|
|
2918
|
-
/* @__PURE__ */
|
|
2992
|
+
/* @__PURE__ */ jsxs27("div", { className: "flex gap-[10px]", children: [
|
|
2919
2993
|
/* @__PURE__ */ jsx33(
|
|
2920
2994
|
IconSortDescending2,
|
|
2921
2995
|
{
|
|
@@ -2941,7 +3015,7 @@ function SortFilter({
|
|
|
2941
3015
|
// src/Upload/FileUploader/FileUploader.tsx
|
|
2942
3016
|
import { IconUpload, IconTrash as IconTrash2, IconFileDescription } from "@tabler/icons-react";
|
|
2943
3017
|
import { useRef as useRef4, useState as useState12 } from "react";
|
|
2944
|
-
import { Fragment as Fragment5, jsx as jsx34, jsxs as
|
|
3018
|
+
import { Fragment as Fragment5, jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
2945
3019
|
function FileUploader({
|
|
2946
3020
|
onUpload,
|
|
2947
3021
|
onError,
|
|
@@ -3027,9 +3101,9 @@ function FileUploader({
|
|
|
3027
3101
|
}
|
|
3028
3102
|
if (inputRef.current) inputRef.current.value = "";
|
|
3029
3103
|
};
|
|
3030
|
-
return /* @__PURE__ */
|
|
3104
|
+
return /* @__PURE__ */ jsxs28("div", { className: "w-full", children: [
|
|
3031
3105
|
label && /* @__PURE__ */ jsx34("p", { className: "body-1", children: label }),
|
|
3032
|
-
!readOnly && /* @__PURE__ */
|
|
3106
|
+
!readOnly && /* @__PURE__ */ jsxs28("div", { className: uploaderWidth, children: [
|
|
3033
3107
|
mode === "upload" ? /* @__PURE__ */ jsx34(
|
|
3034
3108
|
"button",
|
|
3035
3109
|
{
|
|
@@ -3038,10 +3112,10 @@ function FileUploader({
|
|
|
3038
3112
|
className: `h-[34px] flex justify-center items-center gap-2 w-full rounded-[2px] border border-gray-200 body-1
|
|
3039
3113
|
${disabled ? "cursor-not-allowed text-gray-400 bg-gray-100" : "cursor-pointer hover:text-primary-400 hover:border-primary-200 duration-300"}`,
|
|
3040
3114
|
disabled: disabled ? disabled : uploading,
|
|
3041
|
-
children: uploading ? /* @__PURE__ */
|
|
3115
|
+
children: uploading ? /* @__PURE__ */ jsxs28(Fragment5, { children: [
|
|
3042
3116
|
/* @__PURE__ */ jsx34(Loader, { size: 15 }),
|
|
3043
3117
|
" \u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14"
|
|
3044
|
-
] }) : /* @__PURE__ */
|
|
3118
|
+
] }) : /* @__PURE__ */ jsxs28(Fragment5, { children: [
|
|
3045
3119
|
/* @__PURE__ */ jsx34(IconUpload, { size: 15, className: "text-gray-400" }),
|
|
3046
3120
|
" ",
|
|
3047
3121
|
uploadText
|
|
@@ -3061,10 +3135,10 @@ function FileUploader({
|
|
|
3061
3135
|
},
|
|
3062
3136
|
onDragLeave: () => setDragActive(false),
|
|
3063
3137
|
onDrop: handleDrop,
|
|
3064
|
-
children: uploading ? /* @__PURE__ */
|
|
3138
|
+
children: uploading ? /* @__PURE__ */ jsxs28("div", { className: "flex justify-center items-center gap-2", children: [
|
|
3065
3139
|
/* @__PURE__ */ jsx34(Loader, { size: 15 }),
|
|
3066
3140
|
" \u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14"
|
|
3067
|
-
] }) : /* @__PURE__ */
|
|
3141
|
+
] }) : /* @__PURE__ */ jsxs28("div", { className: "flex flex-col items-center gap-2", children: [
|
|
3068
3142
|
/* @__PURE__ */ jsx34(IconUpload, { size: 20 }),
|
|
3069
3143
|
/* @__PURE__ */ jsx34("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" }),
|
|
3070
3144
|
/* @__PURE__ */ jsx34("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" })
|
|
@@ -3085,7 +3159,7 @@ function FileUploader({
|
|
|
3085
3159
|
)
|
|
3086
3160
|
] }),
|
|
3087
3161
|
description && /* @__PURE__ */ jsx34("p", { className: "text-gray-400 body-4", children: description }),
|
|
3088
|
-
/* @__PURE__ */ jsx34("div", { className: `mt-[8px] ${attachWidth}`, children: filesToDisplay.length !== 0 && /* @__PURE__ */ jsx34("div", { className: "flex flex-col rounded-[6px] body-1 border-[1px] border-gray-300", children: filesToDisplay.map((file, index) => /* @__PURE__ */
|
|
3162
|
+
/* @__PURE__ */ jsx34("div", { className: `mt-[8px] ${attachWidth}`, children: filesToDisplay.length !== 0 && /* @__PURE__ */ jsx34("div", { className: "flex flex-col rounded-[6px] body-1 border-[1px] border-gray-300", children: filesToDisplay.map((file, index) => /* @__PURE__ */ jsxs28(
|
|
3089
3163
|
"div",
|
|
3090
3164
|
{
|
|
3091
3165
|
className: `flex px-[16px] hover:bg-primary-50 hover:cursor-pointer
|
|
@@ -3095,7 +3169,7 @@ function FileUploader({
|
|
|
3095
3169
|
${index !== 0 ? "pt-[16px]" : ""}`,
|
|
3096
3170
|
onClick: () => onClickFile && onClickFile(file),
|
|
3097
3171
|
children: [
|
|
3098
|
-
/* @__PURE__ */
|
|
3172
|
+
/* @__PURE__ */ jsxs28("div", { className: "flex gap-2 overflow-hidden", children: [
|
|
3099
3173
|
/* @__PURE__ */ jsx34("div", { className: "w-[24px] h-[24px] flex items-center justify-center", children: /* @__PURE__ */ jsx34(IconFileDescription, { size: 20 }) }),
|
|
3100
3174
|
/* @__PURE__ */ jsx34("span", { className: "truncate", children: file.name || file.fileName })
|
|
3101
3175
|
] }),
|
|
@@ -3139,7 +3213,7 @@ function messageLoading(content, duration) {
|
|
|
3139
3213
|
}
|
|
3140
3214
|
|
|
3141
3215
|
// src/Breadcrumb/Breadcrumb.tsx
|
|
3142
|
-
import { ConfigProvider as
|
|
3216
|
+
import { ConfigProvider as ConfigProvider16 } from "antd";
|
|
3143
3217
|
import { Breadcrumb } from "antd";
|
|
3144
3218
|
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
3145
3219
|
function Breadcrumbs({
|
|
@@ -3150,7 +3224,7 @@ function Breadcrumbs({
|
|
|
3150
3224
|
params
|
|
3151
3225
|
}) {
|
|
3152
3226
|
return /* @__PURE__ */ jsx35(
|
|
3153
|
-
|
|
3227
|
+
ConfigProvider16,
|
|
3154
3228
|
{
|
|
3155
3229
|
theme: {
|
|
3156
3230
|
token: {
|
|
@@ -3172,8 +3246,8 @@ function Breadcrumbs({
|
|
|
3172
3246
|
}
|
|
3173
3247
|
|
|
3174
3248
|
// src/HeadingPage/HeadingPage.tsx
|
|
3175
|
-
import { ConfigProvider as
|
|
3176
|
-
import { jsx as jsx36, jsxs as
|
|
3249
|
+
import { ConfigProvider as ConfigProvider17 } from "antd";
|
|
3250
|
+
import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3177
3251
|
function HeadingPage({ Heading }) {
|
|
3178
3252
|
const today = (/* @__PURE__ */ new Date()).toLocaleDateString("th-TH", {
|
|
3179
3253
|
weekday: "long",
|
|
@@ -3182,16 +3256,16 @@ function HeadingPage({ Heading }) {
|
|
|
3182
3256
|
year: "numeric"
|
|
3183
3257
|
});
|
|
3184
3258
|
return /* @__PURE__ */ jsx36(
|
|
3185
|
-
|
|
3259
|
+
ConfigProvider17,
|
|
3186
3260
|
{
|
|
3187
3261
|
theme: {
|
|
3188
3262
|
token: {
|
|
3189
3263
|
fontFamily: "Kanit"
|
|
3190
3264
|
}
|
|
3191
3265
|
},
|
|
3192
|
-
children: /* @__PURE__ */
|
|
3266
|
+
children: /* @__PURE__ */ jsxs29("div", { className: "flex flex-col gap-[10px] px-[20px] py-[10px]", children: [
|
|
3193
3267
|
/* @__PURE__ */ jsx36("p", { className: "headline-5", children: Heading }),
|
|
3194
|
-
/* @__PURE__ */
|
|
3268
|
+
/* @__PURE__ */ jsxs29("p", { className: "body-1", children: [
|
|
3195
3269
|
" \u0E27\u0E31\u0E19\u0E19\u0E35\u0E49 ",
|
|
3196
3270
|
today
|
|
3197
3271
|
] })
|
|
@@ -3201,9 +3275,9 @@ function HeadingPage({ Heading }) {
|
|
|
3201
3275
|
}
|
|
3202
3276
|
|
|
3203
3277
|
// src/Progress/ProgressBar.tsx
|
|
3204
|
-
import { ConfigProvider as
|
|
3278
|
+
import { ConfigProvider as ConfigProvider18, Progress } from "antd";
|
|
3205
3279
|
import { useEffect as useEffect4, useRef as useRef5, useState as useState13 } from "react";
|
|
3206
|
-
import { jsx as jsx37, jsxs as
|
|
3280
|
+
import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3207
3281
|
function ProgressBar({
|
|
3208
3282
|
percent = 0,
|
|
3209
3283
|
size = "default",
|
|
@@ -3235,14 +3309,14 @@ function ProgressBar({
|
|
|
3235
3309
|
return () => observer.disconnect();
|
|
3236
3310
|
}, []);
|
|
3237
3311
|
return /* @__PURE__ */ jsx37(
|
|
3238
|
-
|
|
3312
|
+
ConfigProvider18,
|
|
3239
3313
|
{
|
|
3240
3314
|
theme: {
|
|
3241
3315
|
token: {
|
|
3242
3316
|
fontFamily: "Kanit"
|
|
3243
3317
|
}
|
|
3244
3318
|
},
|
|
3245
|
-
children: /* @__PURE__ */
|
|
3319
|
+
children: /* @__PURE__ */ jsxs30("div", { className: "relative w-full", ref: progressRef, children: [
|
|
3246
3320
|
/* @__PURE__ */ jsx37(
|
|
3247
3321
|
Progress,
|
|
3248
3322
|
{
|
|
@@ -3281,7 +3355,7 @@ function ProgressBar({
|
|
|
3281
3355
|
}
|
|
3282
3356
|
|
|
3283
3357
|
// src/KpiSection/KpiSection.tsx
|
|
3284
|
-
import { ConfigProvider as
|
|
3358
|
+
import { ConfigProvider as ConfigProvider19, message } from "antd";
|
|
3285
3359
|
import { useEffect as useEffect5, useState as useState15 } from "react";
|
|
3286
3360
|
|
|
3287
3361
|
// src/KpiSection/hooks/useGetKpiSection.ts
|
|
@@ -3432,7 +3506,7 @@ function useGetKpiSection() {
|
|
|
3432
3506
|
|
|
3433
3507
|
// src/KpiSection/KpiSection.tsx
|
|
3434
3508
|
import { IconCheck as IconCheck2, IconCirclePlus, IconPencil, IconTrash as IconTrash3, IconX as IconX2 } from "@tabler/icons-react";
|
|
3435
|
-
import { Fragment as Fragment6, jsx as jsx38, jsxs as
|
|
3509
|
+
import { Fragment as Fragment6, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
3436
3510
|
function KpiSection({ type, onChangeKpiList }) {
|
|
3437
3511
|
const {
|
|
3438
3512
|
handleAddKpi,
|
|
@@ -3463,7 +3537,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3463
3537
|
}
|
|
3464
3538
|
}, [kpiList]);
|
|
3465
3539
|
return /* @__PURE__ */ jsx38(
|
|
3466
|
-
|
|
3540
|
+
ConfigProvider19,
|
|
3467
3541
|
{
|
|
3468
3542
|
theme: {
|
|
3469
3543
|
token: {
|
|
@@ -3471,10 +3545,10 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3471
3545
|
fontSize: 16
|
|
3472
3546
|
}
|
|
3473
3547
|
},
|
|
3474
|
-
children: /* @__PURE__ */
|
|
3548
|
+
children: /* @__PURE__ */ jsxs31("div", { className: "container-input", children: [
|
|
3475
3549
|
messageContainer,
|
|
3476
|
-
type === "number" && /* @__PURE__ */
|
|
3477
|
-
/* @__PURE__ */
|
|
3550
|
+
type === "number" && /* @__PURE__ */ jsxs31("div", { className: "space-y-4", children: [
|
|
3551
|
+
/* @__PURE__ */ jsxs31("div", { className: "grid grid-cols-[1fr_200px_200px_50px] w-full gap-[24px] items-start", children: [
|
|
3478
3552
|
/* @__PURE__ */ jsx38(
|
|
3479
3553
|
InputField,
|
|
3480
3554
|
{
|
|
@@ -3532,16 +3606,16 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3532
3606
|
}
|
|
3533
3607
|
) })
|
|
3534
3608
|
] }),
|
|
3535
|
-
/* @__PURE__ */ jsx38("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */
|
|
3609
|
+
/* @__PURE__ */ jsx38("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ jsxs31(
|
|
3536
3610
|
"div",
|
|
3537
3611
|
{
|
|
3538
3612
|
className: "grid grid-cols-[30px_1fr_100px_120px_80px] items-start py-2 body-1 gap-[8px]",
|
|
3539
3613
|
children: [
|
|
3540
|
-
/* @__PURE__ */
|
|
3614
|
+
/* @__PURE__ */ jsxs31("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
|
|
3541
3615
|
index + 1,
|
|
3542
3616
|
"."
|
|
3543
3617
|
] }),
|
|
3544
|
-
kpi.isEditing ? /* @__PURE__ */
|
|
3618
|
+
kpi.isEditing ? /* @__PURE__ */ jsxs31(Fragment6, { children: [
|
|
3545
3619
|
/* @__PURE__ */ jsx38(
|
|
3546
3620
|
InputField,
|
|
3547
3621
|
{
|
|
@@ -3587,7 +3661,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3587
3661
|
error: itemErrors[kpi.id]?.unit
|
|
3588
3662
|
}
|
|
3589
3663
|
),
|
|
3590
|
-
/* @__PURE__ */
|
|
3664
|
+
/* @__PURE__ */ jsxs31(
|
|
3591
3665
|
"div",
|
|
3592
3666
|
{
|
|
3593
3667
|
className: `flex gap-2 justify-end self-center ${!!itemErrors[kpi.id]?.value || !!itemErrors[kpi.id]?.unit || !!itemErrors[kpi.id]?.name ? "mt-[-12px]" : ""}`,
|
|
@@ -3603,11 +3677,11 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3603
3677
|
]
|
|
3604
3678
|
}
|
|
3605
3679
|
)
|
|
3606
|
-
] }) : /* @__PURE__ */
|
|
3680
|
+
] }) : /* @__PURE__ */ jsxs31(Fragment6, { children: [
|
|
3607
3681
|
/* @__PURE__ */ jsx38("p", { className: "body-1", children: kpi.name }),
|
|
3608
3682
|
/* @__PURE__ */ jsx38("p", { className: "body-1", children: kpi.value }),
|
|
3609
3683
|
/* @__PURE__ */ jsx38("p", { className: "body-1", children: kpi.unit }),
|
|
3610
|
-
/* @__PURE__ */
|
|
3684
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex gap-3 justify-end", children: [
|
|
3611
3685
|
/* @__PURE__ */ jsx38(IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
|
|
3612
3686
|
/* @__PURE__ */ jsx38(IconTrash3, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
|
|
3613
3687
|
] })
|
|
@@ -3617,8 +3691,8 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3617
3691
|
kpi.id
|
|
3618
3692
|
)) })
|
|
3619
3693
|
] }),
|
|
3620
|
-
type === "text" && /* @__PURE__ */
|
|
3621
|
-
/* @__PURE__ */
|
|
3694
|
+
type === "text" && /* @__PURE__ */ jsxs31("div", { className: "space-y-4", children: [
|
|
3695
|
+
/* @__PURE__ */ jsxs31("div", { className: "grid grid-cols-[1fr_50px] w-full gap-[24px] items-start", children: [
|
|
3622
3696
|
/* @__PURE__ */ jsx38(
|
|
3623
3697
|
InputField,
|
|
3624
3698
|
{
|
|
@@ -3640,12 +3714,12 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3640
3714
|
}
|
|
3641
3715
|
) })
|
|
3642
3716
|
] }),
|
|
3643
|
-
/* @__PURE__ */ jsx38("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */
|
|
3644
|
-
/* @__PURE__ */
|
|
3717
|
+
/* @__PURE__ */ jsx38("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ jsxs31("div", { className: "grid grid-cols-[30px_1fr_80px] items-start py-2 body-1 gap-[8px]", children: [
|
|
3718
|
+
/* @__PURE__ */ jsxs31("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
|
|
3645
3719
|
index + 1,
|
|
3646
3720
|
"."
|
|
3647
3721
|
] }),
|
|
3648
|
-
kpi.isEditing ? /* @__PURE__ */
|
|
3722
|
+
kpi.isEditing ? /* @__PURE__ */ jsxs31(Fragment6, { children: [
|
|
3649
3723
|
/* @__PURE__ */ jsx38(
|
|
3650
3724
|
InputField,
|
|
3651
3725
|
{
|
|
@@ -3656,7 +3730,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3656
3730
|
error: itemErrors[kpi.id]?.name
|
|
3657
3731
|
}
|
|
3658
3732
|
),
|
|
3659
|
-
/* @__PURE__ */
|
|
3733
|
+
/* @__PURE__ */ jsxs31(
|
|
3660
3734
|
"div",
|
|
3661
3735
|
{
|
|
3662
3736
|
className: `flex gap-2 justify-end self-center ${!!itemErrors[kpi.id]?.name ? "mt-[-12px]" : ""}`,
|
|
@@ -3672,9 +3746,9 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3672
3746
|
]
|
|
3673
3747
|
}
|
|
3674
3748
|
)
|
|
3675
|
-
] }) : /* @__PURE__ */
|
|
3749
|
+
] }) : /* @__PURE__ */ jsxs31(Fragment6, { children: [
|
|
3676
3750
|
/* @__PURE__ */ jsx38("p", { className: "body-1", children: kpi.name }),
|
|
3677
|
-
/* @__PURE__ */
|
|
3751
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex gap-3 justify-end", children: [
|
|
3678
3752
|
/* @__PURE__ */ jsx38(IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
|
|
3679
3753
|
/* @__PURE__ */ jsx38(IconTrash3, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
|
|
3680
3754
|
] })
|
|
@@ -3703,7 +3777,7 @@ import {
|
|
|
3703
3777
|
} from "@tabler/icons-react";
|
|
3704
3778
|
import { useState as useState16 } from "react";
|
|
3705
3779
|
import { Input as Input4 } from "antd";
|
|
3706
|
-
import { Fragment as Fragment7, jsx as jsx40, jsxs as
|
|
3780
|
+
import { Fragment as Fragment7, jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
3707
3781
|
function Indicator({
|
|
3708
3782
|
option = [
|
|
3709
3783
|
{ value: "TEXT", label: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" },
|
|
@@ -3831,8 +3905,8 @@ function Indicator({
|
|
|
3831
3905
|
}));
|
|
3832
3906
|
console.log(cacheEditData);
|
|
3833
3907
|
};
|
|
3834
|
-
return /* @__PURE__ */
|
|
3835
|
-
/* @__PURE__ */
|
|
3908
|
+
return /* @__PURE__ */ jsxs32("div", { className: "w-full", children: [
|
|
3909
|
+
/* @__PURE__ */ jsxs32(
|
|
3836
3910
|
"div",
|
|
3837
3911
|
{
|
|
3838
3912
|
className: `space-x-2 grid ${valueSwitch === "TEXT" ? `grid-cols-[140px_1fr_50px]` : `grid-cols-[140px_1fr_200px_200px_50px]`} items-start`,
|
|
@@ -3862,7 +3936,7 @@ function Indicator({
|
|
|
3862
3936
|
error: addError.textValue
|
|
3863
3937
|
}
|
|
3864
3938
|
),
|
|
3865
|
-
valueSwitch === "NUMBER" && /* @__PURE__ */
|
|
3939
|
+
valueSwitch === "NUMBER" && /* @__PURE__ */ jsxs32(Fragment7, { children: [
|
|
3866
3940
|
/* @__PURE__ */ jsx40(
|
|
3867
3941
|
InputFieldNumber,
|
|
3868
3942
|
{
|
|
@@ -3906,13 +3980,13 @@ function Indicator({
|
|
|
3906
3980
|
]
|
|
3907
3981
|
}
|
|
3908
3982
|
),
|
|
3909
|
-
/* @__PURE__ */ jsx40(Fragment7, { children: arrayData.map((item, index) => /* @__PURE__ */
|
|
3983
|
+
/* @__PURE__ */ jsx40(Fragment7, { children: arrayData.map((item, index) => /* @__PURE__ */ jsxs32(
|
|
3910
3984
|
"div",
|
|
3911
3985
|
{
|
|
3912
3986
|
className: `space-y-2 grid ${item.inputType === "TEXT" ? `grid-cols-[140px_1fr_50px_50px]` : `grid-cols-[140px_1fr_200px_150px_50px_50px]`} items-start`,
|
|
3913
3987
|
children: [
|
|
3914
3988
|
/* @__PURE__ */ jsx40("div", { className: "body-1 mt-2", children: item.inputType === "TEXT" ? "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" : "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02" }),
|
|
3915
|
-
index === editIndex ? /* @__PURE__ */
|
|
3989
|
+
index === editIndex ? /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-[8px]", children: [
|
|
3916
3990
|
/* @__PURE__ */ jsx40(
|
|
3917
3991
|
Input4,
|
|
3918
3992
|
{
|
|
@@ -3928,8 +4002,8 @@ function Indicator({
|
|
|
3928
4002
|
),
|
|
3929
4003
|
editError.textValue && /* @__PURE__ */ jsx40("p", { className: "text-red-500 caption-1", children: editError.textValue })
|
|
3930
4004
|
] }) : /* @__PURE__ */ jsx40("div", { className: "body-1 mt-2", children: item.textValue }),
|
|
3931
|
-
item.inputType === "NUMBER" && /* @__PURE__ */
|
|
3932
|
-
index === editIndex ? /* @__PURE__ */
|
|
4005
|
+
item.inputType === "NUMBER" && /* @__PURE__ */ jsxs32(Fragment7, { children: [
|
|
4006
|
+
index === editIndex ? /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-[8px]", children: [
|
|
3933
4007
|
/* @__PURE__ */ jsx40(
|
|
3934
4008
|
Input4,
|
|
3935
4009
|
{
|
|
@@ -3946,7 +4020,7 @@ function Indicator({
|
|
|
3946
4020
|
),
|
|
3947
4021
|
editError.numberValue && /* @__PURE__ */ jsx40("p", { className: "text-red-500 caption-1", children: editError.numberValue })
|
|
3948
4022
|
] }) : /* @__PURE__ */ jsx40("div", { className: "body-1 mt-2", children: item.numberValue }),
|
|
3949
|
-
index === editIndex ? /* @__PURE__ */
|
|
4023
|
+
index === editIndex ? /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-[8px]", children: [
|
|
3950
4024
|
/* @__PURE__ */ jsx40(
|
|
3951
4025
|
Input4,
|
|
3952
4026
|
{
|
|
@@ -3963,7 +4037,7 @@ function Indicator({
|
|
|
3963
4037
|
editError.unit && /* @__PURE__ */ jsx40("p", { className: "text-red-500 caption-1", children: editError.unit })
|
|
3964
4038
|
] }) : /* @__PURE__ */ jsx40("div", { className: "body-1 mt-2", children: item.unit })
|
|
3965
4039
|
] }),
|
|
3966
|
-
/* @__PURE__ */ jsx40("div", { className: "body-1 mt-2 flex", children: editIndex !== null ? editIndex === index ? /* @__PURE__ */
|
|
4040
|
+
/* @__PURE__ */ jsx40("div", { className: "body-1 mt-2 flex", children: editIndex !== null ? editIndex === index ? /* @__PURE__ */ jsxs32("div", { className: "flex", children: [
|
|
3967
4041
|
/* @__PURE__ */ jsx40(
|
|
3968
4042
|
IconCheck3,
|
|
3969
4043
|
{
|
|
@@ -4008,7 +4082,7 @@ function Indicator({
|
|
|
4008
4082
|
// src/FilterPopUp/FilterPopUp.tsx
|
|
4009
4083
|
import { IconCheck as IconCheck4, IconFilter as IconFilter2, IconTrash as IconTrash5 } from "@tabler/icons-react";
|
|
4010
4084
|
import { useState as useState17 } from "react";
|
|
4011
|
-
import { jsx as jsx41, jsxs as
|
|
4085
|
+
import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
4012
4086
|
var FilterPopUp = (filter) => {
|
|
4013
4087
|
const [isAction, setIsAction] = useState17(true);
|
|
4014
4088
|
const [filterArray, setFilterArray] = useState17([""]);
|
|
@@ -4018,14 +4092,14 @@ var FilterPopUp = (filter) => {
|
|
|
4018
4092
|
const handleSubmitFilter = () => {
|
|
4019
4093
|
filter.handleSearch(filterArray);
|
|
4020
4094
|
};
|
|
4021
|
-
return /* @__PURE__ */
|
|
4022
|
-
/* @__PURE__ */
|
|
4095
|
+
return /* @__PURE__ */ jsxs33("div", { className: "relative", children: [
|
|
4096
|
+
/* @__PURE__ */ jsxs33("button", { className: "flex px-2 py-1 rounded-lg border-1", onClick: () => setIsAction(!isAction), children: [
|
|
4023
4097
|
/* @__PURE__ */ jsx41(IconFilter2, {}),
|
|
4024
4098
|
"filter"
|
|
4025
4099
|
] }),
|
|
4026
|
-
isAction ? /* @__PURE__ */
|
|
4027
|
-
/* @__PURE__ */
|
|
4028
|
-
/* @__PURE__ */
|
|
4100
|
+
isAction ? /* @__PURE__ */ jsxs33("div", { className: "absolute bg-white p-5 rounded-lg shadow-2xl w-[600px]", children: [
|
|
4101
|
+
/* @__PURE__ */ jsxs33("div", { className: "flex justify-end", children: [
|
|
4102
|
+
/* @__PURE__ */ jsxs33("div", { className: "flex justify-end text-nowrap gap-2", children: [
|
|
4029
4103
|
/* @__PURE__ */ jsx41(GhostButton, { title: "\u0E43\u0E0A\u0E49\u0E1F\u0E34\u0E25\u0E40\u0E15\u0E2D\u0E23\u0E4C", onClick: handleSubmitFilter, iconLeft: /* @__PURE__ */ jsx41(IconCheck4, {}) }),
|
|
4030
4104
|
/* @__PURE__ */ jsx41(GhostButton, { title: "\u0E25\u0E49\u0E32\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14", onClick: handleClearFilter, iconLeft: /* @__PURE__ */ jsx41(IconTrash5, {}) })
|
|
4031
4105
|
] }),
|
|
@@ -4047,7 +4121,7 @@ var FilterPopUp = (filter) => {
|
|
|
4047
4121
|
import { useEffect as useEffect7, useRef as useRef6, useState as useState18 } from "react";
|
|
4048
4122
|
import { IconSearch, IconUsers, IconX as IconX4 } from "@tabler/icons-react";
|
|
4049
4123
|
import { Input as Input5 } from "antd";
|
|
4050
|
-
import { Fragment as Fragment8, jsx as jsx42, jsxs as
|
|
4124
|
+
import { Fragment as Fragment8, jsx as jsx42, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
4051
4125
|
function ProfileSelect({
|
|
4052
4126
|
allUser,
|
|
4053
4127
|
assignUser,
|
|
@@ -4104,7 +4178,10 @@ function ProfileSelect({
|
|
|
4104
4178
|
const filteredUnassigned = normalizedSearch ? userNotAssign.filter(
|
|
4105
4179
|
(u) => u.name.toLowerCase().includes(normalizedSearch)
|
|
4106
4180
|
) : userNotAssign;
|
|
4107
|
-
|
|
4181
|
+
const isSearching = normalizedSearch.length > 0;
|
|
4182
|
+
const noResult = filteredAssigned.length === 0 && filteredUnassigned.length === 0;
|
|
4183
|
+
const noUserOption = allUser.length === 0 && !isSearching;
|
|
4184
|
+
return /* @__PURE__ */ jsxs34("div", { ref: containerRef, className: "relative body-1", children: [
|
|
4108
4185
|
mode === "icon" ? /* @__PURE__ */ jsx42("div", { children: /* @__PURE__ */ jsx42(
|
|
4109
4186
|
IconUsers,
|
|
4110
4187
|
{
|
|
@@ -4117,8 +4194,8 @@ function ProfileSelect({
|
|
|
4117
4194
|
{
|
|
4118
4195
|
className: `w-full h-[40px] flex items-center p-2 cursor-pointer ${className}`,
|
|
4119
4196
|
onClick: () => setIsShowSelect(!isShowSelect),
|
|
4120
|
-
children: visibleUsers.length === 0 ? placeholder ? /* @__PURE__ */ jsx42("span", { className: "body-1 text-gray-400 select-none", children: placeholder }) : null : /* @__PURE__ */
|
|
4121
|
-
/* @__PURE__ */ jsx42("div", { className: "flex -space-x-2", children: visibleUsers.map((user) => /* @__PURE__ */ jsx42("div", { className: "flex items-center", children: /* @__PURE__ */
|
|
4197
|
+
children: visibleUsers.length === 0 ? placeholder ? /* @__PURE__ */ jsx42("span", { className: "body-1 text-gray-400 select-none", children: placeholder }) : null : /* @__PURE__ */ jsxs34(Fragment8, { children: [
|
|
4198
|
+
/* @__PURE__ */ jsx42("div", { className: "flex -space-x-2", children: visibleUsers.map((user) => /* @__PURE__ */ jsx42("div", { className: "flex items-center", children: /* @__PURE__ */ jsxs34("label", { className: "relative group cursor-pointer", children: [
|
|
4122
4199
|
/* @__PURE__ */ jsx42(
|
|
4123
4200
|
"img",
|
|
4124
4201
|
{
|
|
@@ -4144,7 +4221,7 @@ function ProfileSelect({
|
|
|
4144
4221
|
}
|
|
4145
4222
|
)
|
|
4146
4223
|
] }) }, user.id)) }),
|
|
4147
|
-
showPlus && /* @__PURE__ */
|
|
4224
|
+
showPlus && /* @__PURE__ */ jsxs34(
|
|
4148
4225
|
"div",
|
|
4149
4226
|
{
|
|
4150
4227
|
className: "border border-white flex items-center justify-center bg-gray-300 text-black text-sm ml-2",
|
|
@@ -4161,7 +4238,7 @@ function ProfileSelect({
|
|
|
4161
4238
|
)
|
|
4162
4239
|
] })
|
|
4163
4240
|
}
|
|
4164
|
-
) : /* @__PURE__ */
|
|
4241
|
+
) : /* @__PURE__ */ jsxs34("div", { className: `w-full h-[40px] flex -space-x-2 p-2 ${className}`, children: [
|
|
4165
4242
|
visibleUsers.map((user) => /* @__PURE__ */ jsx42("div", { className: "flex items-center ", children: /* @__PURE__ */ jsx42("label", { className: "relative group ", children: /* @__PURE__ */ jsx42(
|
|
4166
4243
|
"img",
|
|
4167
4244
|
{
|
|
@@ -4175,7 +4252,7 @@ function ProfileSelect({
|
|
|
4175
4252
|
className: "border border-white transition"
|
|
4176
4253
|
}
|
|
4177
4254
|
) }) }, user.id)),
|
|
4178
|
-
showPlus && /* @__PURE__ */
|
|
4255
|
+
showPlus && /* @__PURE__ */ jsxs34(
|
|
4179
4256
|
"div",
|
|
4180
4257
|
{
|
|
4181
4258
|
className: "border border-white flex items-center justify-center bg-gray-300 text-black text-sm",
|
|
@@ -4191,13 +4268,13 @@ function ProfileSelect({
|
|
|
4191
4268
|
}
|
|
4192
4269
|
)
|
|
4193
4270
|
] }),
|
|
4194
|
-
isShowSelect ? /* @__PURE__ */
|
|
4271
|
+
isShowSelect ? /* @__PURE__ */ jsxs34(
|
|
4195
4272
|
"div",
|
|
4196
4273
|
{
|
|
4197
4274
|
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",
|
|
4198
4275
|
ref: selectRef,
|
|
4199
4276
|
children: [
|
|
4200
|
-
/* @__PURE__ */
|
|
4277
|
+
/* @__PURE__ */ jsxs34("div", { className: "flex border-1 rounded-md p-2 gap-2 items-center", children: [
|
|
4201
4278
|
/* @__PURE__ */ jsx42(IconSearch, {}),
|
|
4202
4279
|
/* @__PURE__ */ jsx42(
|
|
4203
4280
|
Input5,
|
|
@@ -4210,15 +4287,15 @@ function ProfileSelect({
|
|
|
4210
4287
|
}
|
|
4211
4288
|
)
|
|
4212
4289
|
] }),
|
|
4213
|
-
/* @__PURE__ */
|
|
4214
|
-
filteredAssigned.length > 0 && /* @__PURE__ */
|
|
4215
|
-
/* @__PURE__ */ jsx42("div", { children: "\u0E2A\u0E21\u0E32\u0E0A\u0E34\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01" }),
|
|
4216
|
-
filteredAssigned.map((user) => /* @__PURE__ */
|
|
4290
|
+
/* @__PURE__ */ jsx42("div", { className: "overflow-y-auto h-[250px] pt-2 px-4 body-3", children: noUserOption ? /* @__PURE__ */ jsx42("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__ */ jsx42("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__ */ jsxs34(Fragment8, { children: [
|
|
4291
|
+
filteredAssigned.length > 0 && /* @__PURE__ */ jsxs34(Fragment8, { children: [
|
|
4292
|
+
/* @__PURE__ */ jsx42("div", { className: "mb-1", children: "\u0E2A\u0E21\u0E32\u0E0A\u0E34\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01" }),
|
|
4293
|
+
filteredAssigned.map((user) => /* @__PURE__ */ jsxs34(
|
|
4217
4294
|
"button",
|
|
4218
4295
|
{
|
|
4219
4296
|
className: "flex items-center group my-1 w-full p-1 rounded hover:bg-gray-100",
|
|
4220
4297
|
children: [
|
|
4221
|
-
/* @__PURE__ */
|
|
4298
|
+
/* @__PURE__ */ jsxs34("div", { className: "relative cursor-pointer", children: [
|
|
4222
4299
|
/* @__PURE__ */ jsx42(
|
|
4223
4300
|
"img",
|
|
4224
4301
|
{
|
|
@@ -4235,7 +4312,7 @@ function ProfileSelect({
|
|
|
4235
4312
|
/* @__PURE__ */ jsx42(
|
|
4236
4313
|
"span",
|
|
4237
4314
|
{
|
|
4238
|
-
className: "absolute top-0 right-0 -translate-y-2 translate-x-2 \r\n
|
|
4315
|
+
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",
|
|
4239
4316
|
onClick: () => onUpdateAssignUser(user, "remove"),
|
|
4240
4317
|
children: /* @__PURE__ */ jsx42(IconX4, { className: "text-red-500", size: 15 })
|
|
4241
4318
|
}
|
|
@@ -4247,32 +4324,34 @@ function ProfileSelect({
|
|
|
4247
4324
|
user.id
|
|
4248
4325
|
))
|
|
4249
4326
|
] }),
|
|
4250
|
-
/* @__PURE__ */
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
|
|
4327
|
+
filteredUnassigned.length > 0 && /* @__PURE__ */ jsxs34(Fragment8, { children: [
|
|
4328
|
+
/* @__PURE__ */ jsx42("div", { className: "mt-2", children: "\u0E1C\u0E39\u0E49\u0E04\u0E19" }),
|
|
4329
|
+
filteredUnassigned.map((user) => /* @__PURE__ */ jsxs34(
|
|
4330
|
+
"button",
|
|
4331
|
+
{
|
|
4332
|
+
className: "flex items-center my-1 hover:bg-gray-100 w-full p-1 rounded",
|
|
4333
|
+
onClick: () => onUpdateAssignUser(user),
|
|
4334
|
+
children: [
|
|
4335
|
+
/* @__PURE__ */ jsx42(
|
|
4336
|
+
"img",
|
|
4337
|
+
{
|
|
4338
|
+
src: user.profile,
|
|
4339
|
+
alt: user.name,
|
|
4340
|
+
style: {
|
|
4341
|
+
width: avatarSize,
|
|
4342
|
+
height: avatarSize,
|
|
4343
|
+
borderRadius: "50%"
|
|
4344
|
+
},
|
|
4345
|
+
className: "border"
|
|
4346
|
+
}
|
|
4347
|
+
),
|
|
4348
|
+
/* @__PURE__ */ jsx42("span", { className: "ml-2", children: user.name })
|
|
4349
|
+
]
|
|
4350
|
+
},
|
|
4351
|
+
user.id
|
|
4352
|
+
))
|
|
4353
|
+
] })
|
|
4354
|
+
] }) })
|
|
4276
4355
|
]
|
|
4277
4356
|
}
|
|
4278
4357
|
) : null
|
|
@@ -4282,7 +4361,7 @@ function ProfileSelect({
|
|
|
4282
4361
|
// src/Button/QRCode/QRCode.tsx
|
|
4283
4362
|
import { useEffect as useEffect8, useRef as useRef7, useState as useState19 } from "react";
|
|
4284
4363
|
import QRCode from "qrcode";
|
|
4285
|
-
import { jsx as jsx43, jsxs as
|
|
4364
|
+
import { jsx as jsx43, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
4286
4365
|
var QRCodeGenerator = ({
|
|
4287
4366
|
url,
|
|
4288
4367
|
previewSize = 200,
|
|
@@ -4377,9 +4456,9 @@ var QRCodeGenerator = ({
|
|
|
4377
4456
|
a.click();
|
|
4378
4457
|
a.remove();
|
|
4379
4458
|
};
|
|
4380
|
-
return /* @__PURE__ */
|
|
4459
|
+
return /* @__PURE__ */ jsxs35("div", { style: { display: "inline-flex", flexDirection: "column", gap: 8 }, className: "justify-center items-center", children: [
|
|
4381
4460
|
url === "" ? /* @__PURE__ */ jsx43("div", { className: "border-1 p-2 mb-2", style: { width: `${previewSize}px`, height: `${previewSize}px` } }) : /* @__PURE__ */ jsx43("canvas", { ref: canvasRef, className: "border-1 p-2 mb-2" }),
|
|
4382
|
-
/* @__PURE__ */
|
|
4461
|
+
/* @__PURE__ */ jsxs35(
|
|
4383
4462
|
"div",
|
|
4384
4463
|
{
|
|
4385
4464
|
style: {
|
|
@@ -4390,7 +4469,7 @@ var QRCodeGenerator = ({
|
|
|
4390
4469
|
},
|
|
4391
4470
|
className: "flex-col",
|
|
4392
4471
|
children: [
|
|
4393
|
-
/* @__PURE__ */
|
|
4472
|
+
/* @__PURE__ */ jsxs35("div", { className: "flex gap-2 mx-2", children: [
|
|
4394
4473
|
/* @__PURE__ */ jsx43("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ jsx43(
|
|
4395
4474
|
SelectField,
|
|
4396
4475
|
{
|
|
@@ -4418,11 +4497,11 @@ var QRCodeGenerator = ({
|
|
|
4418
4497
|
};
|
|
4419
4498
|
|
|
4420
4499
|
// src/TabPropject/TabProject/TabProject.tsx
|
|
4421
|
-
import { ConfigProvider as
|
|
4422
|
-
import { jsx as jsx44, jsxs as
|
|
4500
|
+
import { ConfigProvider as ConfigProvider20, Tabs } from "antd";
|
|
4501
|
+
import { jsx as jsx44, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
4423
4502
|
function TabProject({ tabOption, now, onChange }) {
|
|
4424
4503
|
return /* @__PURE__ */ jsx44(
|
|
4425
|
-
|
|
4504
|
+
ConfigProvider20,
|
|
4426
4505
|
{
|
|
4427
4506
|
theme: {
|
|
4428
4507
|
token: {
|
|
@@ -4445,7 +4524,7 @@ function TabProject({ tabOption, now, onChange }) {
|
|
|
4445
4524
|
onChange,
|
|
4446
4525
|
items: tabOption.map((item) => ({
|
|
4447
4526
|
key: item.key,
|
|
4448
|
-
label: /* @__PURE__ */
|
|
4527
|
+
label: /* @__PURE__ */ jsxs36("span", { className: "tab-label flex gap-2 items-center body-1", children: [
|
|
4449
4528
|
item.icon,
|
|
4450
4529
|
/* @__PURE__ */ jsx44("span", { children: item.label })
|
|
4451
4530
|
] })
|
|
@@ -4459,7 +4538,7 @@ function TabProject({ tabOption, now, onChange }) {
|
|
|
4459
4538
|
// src/Chart/BarChart/BarChart.tsx
|
|
4460
4539
|
import { useEffect as useEffect9, useMemo as useMemo2, useRef as useRef8 } from "react";
|
|
4461
4540
|
import * as d3 from "d3";
|
|
4462
|
-
import { jsx as jsx45, jsxs as
|
|
4541
|
+
import { jsx as jsx45, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
4463
4542
|
var defaultMargin = { top: 30, right: 200, bottom: 36, left: 50 };
|
|
4464
4543
|
var defaultColorPalette = [
|
|
4465
4544
|
"#4E79A7",
|
|
@@ -4572,7 +4651,7 @@ var BarChart = ({
|
|
|
4572
4651
|
useEffect9(() => {
|
|
4573
4652
|
render();
|
|
4574
4653
|
}, [data, height, margin, xDomain.toString(), yDomain.toString()]);
|
|
4575
|
-
return /* @__PURE__ */ jsx45("div", { ref: containerRef, style: { width: "100%" }, children: /* @__PURE__ */
|
|
4654
|
+
return /* @__PURE__ */ jsx45("div", { ref: containerRef, style: { width: "100%" }, children: /* @__PURE__ */ jsxs37("svg", { ref: svgRef, role: "img", "aria-label": "Bar chart", style: { display: "block", width: "100%", height }, children: [
|
|
4576
4655
|
/* @__PURE__ */ jsx45("g", { ref: gRef, transform: `translate(${margin.left},${margin.top})` }),
|
|
4577
4656
|
/* @__PURE__ */ jsx45("g", { ref: xAxisRef }),
|
|
4578
4657
|
/* @__PURE__ */ jsx45("g", { ref: yAxisRef })
|
|
@@ -4582,7 +4661,7 @@ var BarChart = ({
|
|
|
4582
4661
|
// src/Chart/PieChart/PieChart.tsx
|
|
4583
4662
|
import React3, { useRef as useRef9, useEffect as useEffect10 } from "react";
|
|
4584
4663
|
import * as d32 from "d3";
|
|
4585
|
-
import { jsx as jsx46, jsxs as
|
|
4664
|
+
import { jsx as jsx46, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
4586
4665
|
var defaultColors = d32.schemeCategory10;
|
|
4587
4666
|
var PieChart = ({
|
|
4588
4667
|
title,
|
|
@@ -4616,12 +4695,12 @@ var PieChart = ({
|
|
|
4616
4695
|
return `${percentage}%`;
|
|
4617
4696
|
});
|
|
4618
4697
|
}, [data, width, height]);
|
|
4619
|
-
return /* @__PURE__ */
|
|
4698
|
+
return /* @__PURE__ */ jsxs38("div", { children: [
|
|
4620
4699
|
title && /* @__PURE__ */ jsx46("p", { className: "body-2", children: title }),
|
|
4621
4700
|
description && /* @__PURE__ */ jsx46("p", { className: "caption-1", children: description }),
|
|
4622
|
-
/* @__PURE__ */
|
|
4701
|
+
/* @__PURE__ */ jsxs38("div", { className: "flex", children: [
|
|
4623
4702
|
/* @__PURE__ */ jsx46("svg", { ref: svgRef }),
|
|
4624
|
-
/* @__PURE__ */ jsx46("div", { className: "flex flex-col gap-2 body-3 pl-[200px]", children: dataSide.map((d, i) => /* @__PURE__ */
|
|
4703
|
+
/* @__PURE__ */ jsx46("div", { className: "flex flex-col gap-2 body-3 pl-[200px]", children: dataSide.map((d, i) => /* @__PURE__ */ jsxs38("div", { className: "grid grid-cols-3 gap-2 items-center", children: [
|
|
4625
4704
|
/* @__PURE__ */ jsx46("div", { className: "w-[20px] h-[20px]", style: { backgroundColor: d.color } }),
|
|
4626
4705
|
/* @__PURE__ */ jsx46("div", { children: d.label }),
|
|
4627
4706
|
/* @__PURE__ */ jsx46("div", { children: d.value })
|
|
@@ -4643,7 +4722,7 @@ import {
|
|
|
4643
4722
|
addDays,
|
|
4644
4723
|
eachHourOfInterval
|
|
4645
4724
|
} from "date-fns";
|
|
4646
|
-
import { jsx as jsx47, jsxs as
|
|
4725
|
+
import { jsx as jsx47, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
4647
4726
|
var LAYOUT = {
|
|
4648
4727
|
barHeight: 40,
|
|
4649
4728
|
barSpacing: 10,
|
|
@@ -4722,7 +4801,7 @@ var ProjectRow = ({ element, barHeight, barSpacing }) => {
|
|
|
4722
4801
|
const safeStatus = element.status || "pending";
|
|
4723
4802
|
const statusColor = getStatusColor(safeStatus);
|
|
4724
4803
|
const statusLabel = getStatusLabel(safeStatus);
|
|
4725
|
-
return /* @__PURE__ */
|
|
4804
|
+
return /* @__PURE__ */ jsxs39(
|
|
4726
4805
|
"div",
|
|
4727
4806
|
{
|
|
4728
4807
|
style: {
|
|
@@ -4734,7 +4813,7 @@ var ProjectRow = ({ element, barHeight, barSpacing }) => {
|
|
|
4734
4813
|
marginBottom: `${barSpacing}px`
|
|
4735
4814
|
},
|
|
4736
4815
|
children: [
|
|
4737
|
-
/* @__PURE__ */
|
|
4816
|
+
/* @__PURE__ */ jsxs39("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
4738
4817
|
/* @__PURE__ */ jsx47(
|
|
4739
4818
|
"span",
|
|
4740
4819
|
{
|
|
@@ -5003,7 +5082,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5003
5082
|
backgroundColor: "#fff",
|
|
5004
5083
|
overflow: "hidden"
|
|
5005
5084
|
},
|
|
5006
|
-
children: /* @__PURE__ */
|
|
5085
|
+
children: /* @__PURE__ */ jsxs39(
|
|
5007
5086
|
"div",
|
|
5008
5087
|
{
|
|
5009
5088
|
style: {
|
|
@@ -5015,7 +5094,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5015
5094
|
},
|
|
5016
5095
|
children: [
|
|
5017
5096
|
/* @__PURE__ */ jsx47(RowOverlay, { data, barHeight, barSpacing, totalHeaderHeight }),
|
|
5018
|
-
/* @__PURE__ */
|
|
5097
|
+
/* @__PURE__ */ jsxs39(
|
|
5019
5098
|
"div",
|
|
5020
5099
|
{
|
|
5021
5100
|
ref: leftPanelRef,
|
|
@@ -5029,7 +5108,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5029
5108
|
zIndex: 2
|
|
5030
5109
|
},
|
|
5031
5110
|
children: [
|
|
5032
|
-
/* @__PURE__ */
|
|
5111
|
+
/* @__PURE__ */ jsxs39(
|
|
5033
5112
|
"div",
|
|
5034
5113
|
{
|
|
5035
5114
|
style: {
|