@esic-lab/data-core-ui 0.0.76 → 0.0.77
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/assets/STO-logo.svg +92 -92
- package/dist/index.css +2 -1
- package/dist/index.d.mts +25 -1
- package/dist/index.d.ts +25 -1
- package/dist/index.js +550 -415
- package/dist/index.mjs +528 -395
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1719,28 +1719,28 @@ function DatePickerRange({
|
|
|
1719
1719
|
] });
|
|
1720
1720
|
}
|
|
1721
1721
|
|
|
1722
|
-
// src/
|
|
1723
|
-
|
|
1722
|
+
// src/TimePicker/TimePickerBasic/TimePickerBasic.tsx
|
|
1723
|
+
var import_dayjs3 = __toESM(require_dayjs_min());
|
|
1724
|
+
import { ConfigProvider as ConfigProvider8, TimePicker } from "antd";
|
|
1725
|
+
import thTH from "antd/locale/th_TH.js";
|
|
1724
1726
|
import { jsx as jsx26, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1725
|
-
function
|
|
1727
|
+
function TimePickerBasic({
|
|
1726
1728
|
value,
|
|
1727
1729
|
onChange,
|
|
1728
1730
|
required,
|
|
1729
1731
|
label,
|
|
1730
1732
|
error,
|
|
1733
|
+
placeholder,
|
|
1731
1734
|
disabled,
|
|
1732
|
-
|
|
1733
|
-
defaultFormat,
|
|
1734
|
-
className,
|
|
1735
|
-
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35"
|
|
1735
|
+
className
|
|
1736
1736
|
}) {
|
|
1737
1737
|
return /* @__PURE__ */ jsx26(
|
|
1738
1738
|
ConfigProvider8,
|
|
1739
1739
|
{
|
|
1740
|
+
locale: thTH,
|
|
1740
1741
|
theme: {
|
|
1741
1742
|
token: {
|
|
1742
|
-
fontFamily: "Kanit"
|
|
1743
|
-
fontSize: 16
|
|
1743
|
+
fontFamily: "Kanit"
|
|
1744
1744
|
}
|
|
1745
1745
|
},
|
|
1746
1746
|
children: /* @__PURE__ */ jsxs19("div", { className: "container-input", children: [
|
|
@@ -1750,6 +1750,111 @@ function ColorPickerBasic({
|
|
|
1750
1750
|
required && /* @__PURE__ */ jsx26("span", { className: "text-red-500", children: "*" })
|
|
1751
1751
|
] }),
|
|
1752
1752
|
/* @__PURE__ */ jsx26(
|
|
1753
|
+
TimePicker,
|
|
1754
|
+
{
|
|
1755
|
+
format: "HH:mm",
|
|
1756
|
+
className: `body-1 w-full ${className ?? ""}`,
|
|
1757
|
+
value: value ? (0, import_dayjs3.default)(value) : null,
|
|
1758
|
+
placeholder,
|
|
1759
|
+
onChange: (time) => {
|
|
1760
|
+
onChange(time ? time.toDate() : null);
|
|
1761
|
+
},
|
|
1762
|
+
allowClear: true,
|
|
1763
|
+
disabled
|
|
1764
|
+
}
|
|
1765
|
+
),
|
|
1766
|
+
error && /* @__PURE__ */ jsx26("p", { className: "text-red-500 caption-1", children: error })
|
|
1767
|
+
] })
|
|
1768
|
+
}
|
|
1769
|
+
);
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1772
|
+
// src/TimePicker/TimePickerRangePicker/TimerPickerRangePicker.tsx
|
|
1773
|
+
var import_dayjs4 = __toESM(require_dayjs_min());
|
|
1774
|
+
import { ConfigProvider as ConfigProvider9, TimePicker as TimePicker2 } from "antd";
|
|
1775
|
+
import thTH2 from "antd/locale/th_TH.js";
|
|
1776
|
+
import { jsx as jsx27, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1777
|
+
function TimePickerRangePicker({
|
|
1778
|
+
value,
|
|
1779
|
+
onChange,
|
|
1780
|
+
placeholder = ["\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19", "\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14"],
|
|
1781
|
+
label,
|
|
1782
|
+
required,
|
|
1783
|
+
error,
|
|
1784
|
+
disabled,
|
|
1785
|
+
className
|
|
1786
|
+
}) {
|
|
1787
|
+
return /* @__PURE__ */ jsx27(
|
|
1788
|
+
ConfigProvider9,
|
|
1789
|
+
{
|
|
1790
|
+
locale: thTH2,
|
|
1791
|
+
theme: {
|
|
1792
|
+
token: {
|
|
1793
|
+
fontFamily: "Kanit"
|
|
1794
|
+
}
|
|
1795
|
+
},
|
|
1796
|
+
children: /* @__PURE__ */ jsxs20("div", { className: "container-input", children: [
|
|
1797
|
+
/* @__PURE__ */ jsxs20("div", { children: [
|
|
1798
|
+
/* @__PURE__ */ jsx27("span", { className: "body-1", children: label }),
|
|
1799
|
+
" ",
|
|
1800
|
+
required && /* @__PURE__ */ jsx27("span", { className: "text-red-500", children: "*" })
|
|
1801
|
+
] }),
|
|
1802
|
+
/* @__PURE__ */ jsx27(
|
|
1803
|
+
TimePicker2.RangePicker,
|
|
1804
|
+
{
|
|
1805
|
+
format: "HH:mm",
|
|
1806
|
+
value: value ? [value[0] ? (0, import_dayjs4.default)(value[0]) : null, value[1] ? (0, import_dayjs4.default)(value[1]) : null] : null,
|
|
1807
|
+
placeholder,
|
|
1808
|
+
className: `body-1 w-full ${className ?? ""}`,
|
|
1809
|
+
onChange: (dates, dateStrings) => {
|
|
1810
|
+
if (!dates) {
|
|
1811
|
+
onChange(null);
|
|
1812
|
+
} else {
|
|
1813
|
+
onChange([dates[0] ? dates[0].toDate() : null, dates[1] ? dates[1].toDate() : null]);
|
|
1814
|
+
}
|
|
1815
|
+
},
|
|
1816
|
+
allowClear: true,
|
|
1817
|
+
disabled,
|
|
1818
|
+
showNow: true
|
|
1819
|
+
}
|
|
1820
|
+
),
|
|
1821
|
+
error && /* @__PURE__ */ jsx27("p", { className: "text-red-500 caption-1", children: error })
|
|
1822
|
+
] })
|
|
1823
|
+
}
|
|
1824
|
+
);
|
|
1825
|
+
}
|
|
1826
|
+
|
|
1827
|
+
// src/ColorPicker/ColorPickerBasic/ColorPicker.tsx
|
|
1828
|
+
import { ConfigProvider as ConfigProvider10, ColorPicker } from "antd";
|
|
1829
|
+
import { jsx as jsx28, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
1830
|
+
function ColorPickerBasic({
|
|
1831
|
+
value,
|
|
1832
|
+
onChange,
|
|
1833
|
+
required,
|
|
1834
|
+
label,
|
|
1835
|
+
error,
|
|
1836
|
+
disabled,
|
|
1837
|
+
allowClear,
|
|
1838
|
+
defaultFormat,
|
|
1839
|
+
className,
|
|
1840
|
+
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35"
|
|
1841
|
+
}) {
|
|
1842
|
+
return /* @__PURE__ */ jsx28(
|
|
1843
|
+
ConfigProvider10,
|
|
1844
|
+
{
|
|
1845
|
+
theme: {
|
|
1846
|
+
token: {
|
|
1847
|
+
fontFamily: "Kanit",
|
|
1848
|
+
fontSize: 16
|
|
1849
|
+
}
|
|
1850
|
+
},
|
|
1851
|
+
children: /* @__PURE__ */ jsxs21("div", { className: "container-input", children: [
|
|
1852
|
+
/* @__PURE__ */ jsxs21("div", { children: [
|
|
1853
|
+
/* @__PURE__ */ jsx28("span", { className: "body-1", children: label }),
|
|
1854
|
+
" ",
|
|
1855
|
+
required && /* @__PURE__ */ jsx28("span", { className: "text-red-500", children: "*" })
|
|
1856
|
+
] }),
|
|
1857
|
+
/* @__PURE__ */ jsx28(
|
|
1753
1858
|
ColorPicker,
|
|
1754
1859
|
{
|
|
1755
1860
|
defaultFormat,
|
|
@@ -1761,9 +1866,9 @@ function ColorPickerBasic({
|
|
|
1761
1866
|
showText: (color) => {
|
|
1762
1867
|
const hex = color.toHexString();
|
|
1763
1868
|
if (!value) {
|
|
1764
|
-
return /* @__PURE__ */
|
|
1869
|
+
return /* @__PURE__ */ jsx28("span", { children: placeholder });
|
|
1765
1870
|
}
|
|
1766
|
-
return /* @__PURE__ */
|
|
1871
|
+
return /* @__PURE__ */ jsxs21("span", { children: [
|
|
1767
1872
|
"(",
|
|
1768
1873
|
hex,
|
|
1769
1874
|
")"
|
|
@@ -1772,14 +1877,14 @@ function ColorPickerBasic({
|
|
|
1772
1877
|
disabled
|
|
1773
1878
|
}
|
|
1774
1879
|
),
|
|
1775
|
-
error && /* @__PURE__ */
|
|
1880
|
+
error && /* @__PURE__ */ jsx28("p", { className: "text-red-500 caption-1", children: error })
|
|
1776
1881
|
] })
|
|
1777
1882
|
}
|
|
1778
1883
|
);
|
|
1779
1884
|
}
|
|
1780
1885
|
|
|
1781
1886
|
// src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
|
|
1782
|
-
import { ConfigProvider as
|
|
1887
|
+
import { ConfigProvider as ConfigProvider11, ColorPicker as ColorPicker2, theme } from "antd";
|
|
1783
1888
|
|
|
1784
1889
|
// node_modules/@babel/runtime/helpers/esm/typeof.js
|
|
1785
1890
|
function _typeof(o) {
|
|
@@ -2481,7 +2586,7 @@ var greyDark = ["#151515", "#1f1f1f", "#2d2d2d", "#393939", "#494949", "#5a5a5a"
|
|
|
2481
2586
|
greyDark.primary = greyDark[5];
|
|
2482
2587
|
|
|
2483
2588
|
// src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
|
|
2484
|
-
import { jsx as
|
|
2589
|
+
import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2485
2590
|
function genPresets(presets = presetPalettes) {
|
|
2486
2591
|
return Object.entries(presets).map(([label, colors]) => ({
|
|
2487
2592
|
label,
|
|
@@ -2508,8 +2613,8 @@ function ColorPalettePickerBasic({
|
|
|
2508
2613
|
red,
|
|
2509
2614
|
green
|
|
2510
2615
|
});
|
|
2511
|
-
return /* @__PURE__ */
|
|
2512
|
-
|
|
2616
|
+
return /* @__PURE__ */ jsx29(
|
|
2617
|
+
ConfigProvider11,
|
|
2513
2618
|
{
|
|
2514
2619
|
theme: {
|
|
2515
2620
|
token: {
|
|
@@ -2517,13 +2622,13 @@ function ColorPalettePickerBasic({
|
|
|
2517
2622
|
fontSize: 16
|
|
2518
2623
|
}
|
|
2519
2624
|
},
|
|
2520
|
-
children: /* @__PURE__ */
|
|
2521
|
-
/* @__PURE__ */
|
|
2522
|
-
/* @__PURE__ */
|
|
2625
|
+
children: /* @__PURE__ */ jsxs22("div", { className: "container-input", children: [
|
|
2626
|
+
/* @__PURE__ */ jsxs22("div", { children: [
|
|
2627
|
+
/* @__PURE__ */ jsx29("span", { className: "body-1", children: label }),
|
|
2523
2628
|
" ",
|
|
2524
|
-
required && /* @__PURE__ */
|
|
2629
|
+
required && /* @__PURE__ */ jsx29("span", { className: "text-red-500", children: "*" })
|
|
2525
2630
|
] }),
|
|
2526
|
-
/* @__PURE__ */
|
|
2631
|
+
/* @__PURE__ */ jsx29(
|
|
2527
2632
|
ColorPicker2,
|
|
2528
2633
|
{
|
|
2529
2634
|
defaultFormat,
|
|
@@ -2536,9 +2641,9 @@ function ColorPalettePickerBasic({
|
|
|
2536
2641
|
showText: (color) => {
|
|
2537
2642
|
const hex = color.toHexString();
|
|
2538
2643
|
if (!value) {
|
|
2539
|
-
return /* @__PURE__ */
|
|
2644
|
+
return /* @__PURE__ */ jsx29("span", { children: placeholder });
|
|
2540
2645
|
}
|
|
2541
|
-
return /* @__PURE__ */
|
|
2646
|
+
return /* @__PURE__ */ jsxs22("span", { children: [
|
|
2542
2647
|
"(",
|
|
2543
2648
|
hex,
|
|
2544
2649
|
")"
|
|
@@ -2548,15 +2653,15 @@ function ColorPalettePickerBasic({
|
|
|
2548
2653
|
onClear
|
|
2549
2654
|
}
|
|
2550
2655
|
),
|
|
2551
|
-
error && /* @__PURE__ */
|
|
2656
|
+
error && /* @__PURE__ */ jsx29("p", { className: "text-red-500 caption-1", children: error })
|
|
2552
2657
|
] })
|
|
2553
2658
|
}
|
|
2554
2659
|
);
|
|
2555
2660
|
}
|
|
2556
2661
|
|
|
2557
2662
|
// src/Select/SelectField/SelectField.tsx
|
|
2558
|
-
import { Select, ConfigProvider as
|
|
2559
|
-
import { jsx as
|
|
2663
|
+
import { Select, ConfigProvider as ConfigProvider12 } from "antd";
|
|
2664
|
+
import { jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2560
2665
|
function SelectField({
|
|
2561
2666
|
value,
|
|
2562
2667
|
onChange,
|
|
@@ -2576,8 +2681,8 @@ function SelectField({
|
|
|
2576
2681
|
size = "middle",
|
|
2577
2682
|
allowClear = true
|
|
2578
2683
|
}) {
|
|
2579
|
-
return /* @__PURE__ */
|
|
2580
|
-
|
|
2684
|
+
return /* @__PURE__ */ jsx30(
|
|
2685
|
+
ConfigProvider12,
|
|
2581
2686
|
{
|
|
2582
2687
|
theme: {
|
|
2583
2688
|
token: {
|
|
@@ -2585,13 +2690,13 @@ function SelectField({
|
|
|
2585
2690
|
fontSize: 16
|
|
2586
2691
|
}
|
|
2587
2692
|
},
|
|
2588
|
-
children: /* @__PURE__ */
|
|
2589
|
-
/* @__PURE__ */
|
|
2590
|
-
/* @__PURE__ */
|
|
2693
|
+
children: /* @__PURE__ */ jsxs23("div", { className: "container-input", children: [
|
|
2694
|
+
/* @__PURE__ */ jsxs23("div", { children: [
|
|
2695
|
+
/* @__PURE__ */ jsx30("span", { className: "body-1", children: label }),
|
|
2591
2696
|
" ",
|
|
2592
|
-
required && /* @__PURE__ */
|
|
2697
|
+
required && /* @__PURE__ */ jsx30("span", { className: "text-red-500", children: "*" })
|
|
2593
2698
|
] }),
|
|
2594
|
-
/* @__PURE__ */
|
|
2699
|
+
/* @__PURE__ */ jsx30(
|
|
2595
2700
|
Select,
|
|
2596
2701
|
{
|
|
2597
2702
|
size,
|
|
@@ -2607,7 +2712,7 @@ function SelectField({
|
|
|
2607
2712
|
options,
|
|
2608
2713
|
mode,
|
|
2609
2714
|
onSearch: handleSearch,
|
|
2610
|
-
prefix: prefix ? /* @__PURE__ */
|
|
2715
|
+
prefix: prefix ? /* @__PURE__ */ jsx30(
|
|
2611
2716
|
"span",
|
|
2612
2717
|
{
|
|
2613
2718
|
style: {
|
|
@@ -2624,15 +2729,15 @@ function SelectField({
|
|
|
2624
2729
|
onClear
|
|
2625
2730
|
}
|
|
2626
2731
|
),
|
|
2627
|
-
error && /* @__PURE__ */
|
|
2732
|
+
error && /* @__PURE__ */ jsx30("p", { className: "text-red-500 caption-1", children: error })
|
|
2628
2733
|
] })
|
|
2629
2734
|
}
|
|
2630
2735
|
);
|
|
2631
2736
|
}
|
|
2632
2737
|
|
|
2633
2738
|
// src/Select/SelectFieldGroup/SelectFieldGroup.tsx
|
|
2634
|
-
import { Select as Select2, ConfigProvider as
|
|
2635
|
-
import { jsx as
|
|
2739
|
+
import { Select as Select2, ConfigProvider as ConfigProvider13 } from "antd";
|
|
2740
|
+
import { jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2636
2741
|
function SelectFieldGroup({
|
|
2637
2742
|
value,
|
|
2638
2743
|
onChange,
|
|
@@ -2651,21 +2756,21 @@ function SelectFieldGroup({
|
|
|
2651
2756
|
size = "middle",
|
|
2652
2757
|
allowClear = true
|
|
2653
2758
|
}) {
|
|
2654
|
-
return /* @__PURE__ */
|
|
2655
|
-
|
|
2759
|
+
return /* @__PURE__ */ jsx31(
|
|
2760
|
+
ConfigProvider13,
|
|
2656
2761
|
{
|
|
2657
2762
|
theme: {
|
|
2658
2763
|
token: {
|
|
2659
2764
|
fontFamily: "Kanit"
|
|
2660
2765
|
}
|
|
2661
2766
|
},
|
|
2662
|
-
children: /* @__PURE__ */
|
|
2663
|
-
/* @__PURE__ */
|
|
2664
|
-
/* @__PURE__ */
|
|
2767
|
+
children: /* @__PURE__ */ jsxs24("div", { className: "container-input", children: [
|
|
2768
|
+
/* @__PURE__ */ jsxs24("div", { children: [
|
|
2769
|
+
/* @__PURE__ */ jsx31("span", { className: "body-1", children: label }),
|
|
2665
2770
|
" ",
|
|
2666
|
-
required && /* @__PURE__ */
|
|
2771
|
+
required && /* @__PURE__ */ jsx31("span", { className: "text-red-500", children: "*" })
|
|
2667
2772
|
] }),
|
|
2668
|
-
/* @__PURE__ */
|
|
2773
|
+
/* @__PURE__ */ jsx31(
|
|
2669
2774
|
Select2,
|
|
2670
2775
|
{
|
|
2671
2776
|
size,
|
|
@@ -2681,7 +2786,7 @@ function SelectFieldGroup({
|
|
|
2681
2786
|
options,
|
|
2682
2787
|
mode,
|
|
2683
2788
|
onSearch: handleSearch,
|
|
2684
|
-
prefix: prefix ? /* @__PURE__ */
|
|
2789
|
+
prefix: prefix ? /* @__PURE__ */ jsx31(
|
|
2685
2790
|
"span",
|
|
2686
2791
|
{
|
|
2687
2792
|
style: {
|
|
@@ -2697,16 +2802,16 @@ function SelectFieldGroup({
|
|
|
2697
2802
|
allowClear
|
|
2698
2803
|
}
|
|
2699
2804
|
),
|
|
2700
|
-
error && /* @__PURE__ */
|
|
2805
|
+
error && /* @__PURE__ */ jsx31("p", { className: "text-red-500 caption-1", children: error })
|
|
2701
2806
|
] })
|
|
2702
2807
|
}
|
|
2703
2808
|
);
|
|
2704
2809
|
}
|
|
2705
2810
|
|
|
2706
2811
|
// src/Select/SelectFieldStatus/SelectFieldStatus.tsx
|
|
2707
|
-
import { Select as Select3, ConfigProvider as
|
|
2812
|
+
import { Select as Select3, ConfigProvider as ConfigProvider14 } from "antd";
|
|
2708
2813
|
import { DownOutlined } from "@ant-design/icons";
|
|
2709
|
-
import { jsx as
|
|
2814
|
+
import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2710
2815
|
function SelectFieldStatus({
|
|
2711
2816
|
value,
|
|
2712
2817
|
onChange,
|
|
@@ -2721,8 +2826,8 @@ function SelectFieldStatus({
|
|
|
2721
2826
|
allowClear = false
|
|
2722
2827
|
}) {
|
|
2723
2828
|
const selectedItem = options?.find((s) => s.value === value);
|
|
2724
|
-
return /* @__PURE__ */
|
|
2725
|
-
|
|
2829
|
+
return /* @__PURE__ */ jsx32(
|
|
2830
|
+
ConfigProvider14,
|
|
2726
2831
|
{
|
|
2727
2832
|
theme: {
|
|
2728
2833
|
components: {
|
|
@@ -2737,18 +2842,18 @@ function SelectFieldStatus({
|
|
|
2737
2842
|
fontFamily: "Kanit"
|
|
2738
2843
|
}
|
|
2739
2844
|
},
|
|
2740
|
-
children: /* @__PURE__ */
|
|
2741
|
-
/* @__PURE__ */
|
|
2742
|
-
/* @__PURE__ */
|
|
2845
|
+
children: /* @__PURE__ */ jsxs25("div", { className: "container-input", children: [
|
|
2846
|
+
/* @__PURE__ */ jsxs25("div", { children: [
|
|
2847
|
+
/* @__PURE__ */ jsx32("span", { className: "body-1", children: label }),
|
|
2743
2848
|
" ",
|
|
2744
|
-
required && /* @__PURE__ */
|
|
2849
|
+
required && /* @__PURE__ */ jsx32("span", { className: "text-red-500", children: "*" })
|
|
2745
2850
|
] }),
|
|
2746
|
-
/* @__PURE__ */
|
|
2851
|
+
/* @__PURE__ */ jsx32(
|
|
2747
2852
|
Select3,
|
|
2748
2853
|
{
|
|
2749
2854
|
size,
|
|
2750
2855
|
disabled,
|
|
2751
|
-
suffixIcon: /* @__PURE__ */
|
|
2856
|
+
suffixIcon: /* @__PURE__ */ jsx32(DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
|
|
2752
2857
|
value: value ? value : void 0,
|
|
2753
2858
|
onChange,
|
|
2754
2859
|
className: `body-3 custom-select flex justify-center w-full ${className ?? ""} `,
|
|
@@ -2760,14 +2865,14 @@ function SelectFieldStatus({
|
|
|
2760
2865
|
allowClear
|
|
2761
2866
|
}
|
|
2762
2867
|
),
|
|
2763
|
-
error && /* @__PURE__ */
|
|
2868
|
+
error && /* @__PURE__ */ jsx32("p", { className: "text-red-500 caption-1", children: error })
|
|
2764
2869
|
] })
|
|
2765
2870
|
}
|
|
2766
2871
|
);
|
|
2767
2872
|
}
|
|
2768
2873
|
|
|
2769
2874
|
// src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
|
|
2770
|
-
import { Select as Select4, ConfigProvider as
|
|
2875
|
+
import { Select as Select4, ConfigProvider as ConfigProvider15 } from "antd";
|
|
2771
2876
|
|
|
2772
2877
|
// src/Select/SelectFieldStatusReport/StatusReportMockup.ts
|
|
2773
2878
|
var status = [
|
|
@@ -2777,7 +2882,7 @@ var status = [
|
|
|
2777
2882
|
|
|
2778
2883
|
// src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
|
|
2779
2884
|
import { DownOutlined as DownOutlined2 } from "@ant-design/icons";
|
|
2780
|
-
import { jsx as
|
|
2885
|
+
import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2781
2886
|
function SelectFieldStatusReport({
|
|
2782
2887
|
value,
|
|
2783
2888
|
onChange,
|
|
@@ -2792,8 +2897,8 @@ function SelectFieldStatusReport({
|
|
|
2792
2897
|
allowClear = false
|
|
2793
2898
|
}) {
|
|
2794
2899
|
const selectedItem = status.find((s) => s.value === value);
|
|
2795
|
-
return /* @__PURE__ */
|
|
2796
|
-
|
|
2900
|
+
return /* @__PURE__ */ jsx33(
|
|
2901
|
+
ConfigProvider15,
|
|
2797
2902
|
{
|
|
2798
2903
|
theme: {
|
|
2799
2904
|
components: {
|
|
@@ -2808,18 +2913,18 @@ function SelectFieldStatusReport({
|
|
|
2808
2913
|
fontFamily: "Kanit"
|
|
2809
2914
|
}
|
|
2810
2915
|
},
|
|
2811
|
-
children: /* @__PURE__ */
|
|
2812
|
-
/* @__PURE__ */
|
|
2813
|
-
/* @__PURE__ */
|
|
2916
|
+
children: /* @__PURE__ */ jsxs26("div", { className: "container-input", children: [
|
|
2917
|
+
/* @__PURE__ */ jsxs26("div", { children: [
|
|
2918
|
+
/* @__PURE__ */ jsx33("span", { className: "body-1", children: label }),
|
|
2814
2919
|
" ",
|
|
2815
|
-
required && /* @__PURE__ */
|
|
2920
|
+
required && /* @__PURE__ */ jsx33("span", { className: "text-red-500", children: "*" })
|
|
2816
2921
|
] }),
|
|
2817
|
-
/* @__PURE__ */
|
|
2922
|
+
/* @__PURE__ */ jsx33(
|
|
2818
2923
|
Select4,
|
|
2819
2924
|
{
|
|
2820
2925
|
size,
|
|
2821
2926
|
disabled,
|
|
2822
|
-
suffixIcon: /* @__PURE__ */
|
|
2927
|
+
suffixIcon: /* @__PURE__ */ jsx33(DownOutlined2, { style: { color: value ? "#fff" : "#D9D9D9" } }),
|
|
2823
2928
|
value: value ? value : void 0,
|
|
2824
2929
|
onChange,
|
|
2825
2930
|
className: `body-3 custom-select flex justify-center w-full ${className ?? ""}`,
|
|
@@ -2831,16 +2936,16 @@ function SelectFieldStatusReport({
|
|
|
2831
2936
|
allowClear
|
|
2832
2937
|
}
|
|
2833
2938
|
),
|
|
2834
|
-
error && /* @__PURE__ */
|
|
2939
|
+
error && /* @__PURE__ */ jsx33("p", { className: "text-red-500 caption-1", children: error })
|
|
2835
2940
|
] })
|
|
2836
2941
|
}
|
|
2837
2942
|
);
|
|
2838
2943
|
}
|
|
2839
2944
|
|
|
2840
2945
|
// src/Select/SelectFieldTag/SelectFieldTag.tsx
|
|
2841
|
-
import { Select as Select5, ConfigProvider as
|
|
2946
|
+
import { Select as Select5, ConfigProvider as ConfigProvider16 } from "antd";
|
|
2842
2947
|
import { useState as useState8 } from "react";
|
|
2843
|
-
import { jsx as
|
|
2948
|
+
import { jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
2844
2949
|
function SelectFieldTag({
|
|
2845
2950
|
label,
|
|
2846
2951
|
required,
|
|
@@ -2875,21 +2980,21 @@ function SelectFieldTag({
|
|
|
2875
2980
|
}
|
|
2876
2981
|
onChange?.([]);
|
|
2877
2982
|
};
|
|
2878
|
-
return /* @__PURE__ */
|
|
2879
|
-
|
|
2983
|
+
return /* @__PURE__ */ jsx34(
|
|
2984
|
+
ConfigProvider16,
|
|
2880
2985
|
{
|
|
2881
2986
|
theme: {
|
|
2882
2987
|
token: {
|
|
2883
2988
|
fontFamily: "Kanit"
|
|
2884
2989
|
}
|
|
2885
2990
|
},
|
|
2886
|
-
children: /* @__PURE__ */
|
|
2887
|
-
/* @__PURE__ */
|
|
2888
|
-
/* @__PURE__ */
|
|
2991
|
+
children: /* @__PURE__ */ jsxs27("div", { className: "container-input", children: [
|
|
2992
|
+
/* @__PURE__ */ jsxs27("div", { children: [
|
|
2993
|
+
/* @__PURE__ */ jsx34("span", { className: "body-1", children: label }),
|
|
2889
2994
|
" ",
|
|
2890
|
-
required && /* @__PURE__ */
|
|
2995
|
+
required && /* @__PURE__ */ jsx34("span", { className: "text-red-500", children: "*" })
|
|
2891
2996
|
] }),
|
|
2892
|
-
/* @__PURE__ */
|
|
2997
|
+
/* @__PURE__ */ jsx34(
|
|
2893
2998
|
Select5,
|
|
2894
2999
|
{
|
|
2895
3000
|
size,
|
|
@@ -2909,7 +3014,7 @@ function SelectFieldTag({
|
|
|
2909
3014
|
onClear
|
|
2910
3015
|
}
|
|
2911
3016
|
),
|
|
2912
|
-
error && /* @__PURE__ */
|
|
3017
|
+
error && /* @__PURE__ */ jsx34("p", { className: "text-red-500 caption-1", children: error })
|
|
2913
3018
|
] })
|
|
2914
3019
|
}
|
|
2915
3020
|
);
|
|
@@ -2917,9 +3022,9 @@ function SelectFieldTag({
|
|
|
2917
3022
|
|
|
2918
3023
|
// src/Select/SelectCustom/SelectCustom.tsx
|
|
2919
3024
|
import { IconTrash } from "@tabler/icons-react";
|
|
2920
|
-
import { Select as Select6, ConfigProvider as
|
|
3025
|
+
import { Select as Select6, ConfigProvider as ConfigProvider17 } from "antd";
|
|
2921
3026
|
import { useState as useState9 } from "react";
|
|
2922
|
-
import { jsx as
|
|
3027
|
+
import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
2923
3028
|
function SelectCustom({
|
|
2924
3029
|
label = "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23",
|
|
2925
3030
|
placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01",
|
|
@@ -2950,8 +3055,8 @@ function SelectCustom({
|
|
|
2950
3055
|
});
|
|
2951
3056
|
};
|
|
2952
3057
|
const filteredOptions = options.filter((opt) => !valueList.includes(opt.value)).map((opt) => ({ value: opt.value, label: opt.label }));
|
|
2953
|
-
return /* @__PURE__ */
|
|
2954
|
-
|
|
3058
|
+
return /* @__PURE__ */ jsx35(
|
|
3059
|
+
ConfigProvider17,
|
|
2955
3060
|
{
|
|
2956
3061
|
theme: {
|
|
2957
3062
|
token: {
|
|
@@ -2959,13 +3064,13 @@ function SelectCustom({
|
|
|
2959
3064
|
fontSize: 16
|
|
2960
3065
|
}
|
|
2961
3066
|
},
|
|
2962
|
-
children: /* @__PURE__ */
|
|
2963
|
-
/* @__PURE__ */
|
|
2964
|
-
/* @__PURE__ */
|
|
3067
|
+
children: /* @__PURE__ */ jsxs28("div", { className: "container-input", children: [
|
|
3068
|
+
/* @__PURE__ */ jsxs28("div", { children: [
|
|
3069
|
+
/* @__PURE__ */ jsx35("span", { className: "body-1", children: label }),
|
|
2965
3070
|
" ",
|
|
2966
|
-
required && /* @__PURE__ */
|
|
3071
|
+
required && /* @__PURE__ */ jsx35("span", { className: "text-red-500", children: "*" })
|
|
2967
3072
|
] }),
|
|
2968
|
-
/* @__PURE__ */
|
|
3073
|
+
/* @__PURE__ */ jsx35(
|
|
2969
3074
|
Select6,
|
|
2970
3075
|
{
|
|
2971
3076
|
size,
|
|
@@ -2978,20 +3083,20 @@ function SelectCustom({
|
|
|
2978
3083
|
allowClear
|
|
2979
3084
|
}
|
|
2980
3085
|
),
|
|
2981
|
-
error && /* @__PURE__ */
|
|
2982
|
-
/* @__PURE__ */
|
|
3086
|
+
error && /* @__PURE__ */ jsx35("p", { className: "text-red-500 caption-1", children: error }),
|
|
3087
|
+
/* @__PURE__ */ jsx35("div", { className: "w-full p-[2px] overflow-y-auto", children: valueList.map((v, index) => /* @__PURE__ */ jsxs28(
|
|
2983
3088
|
"div",
|
|
2984
3089
|
{
|
|
2985
3090
|
className: "flex justify-between items-center py-[2px] body-1",
|
|
2986
3091
|
children: [
|
|
2987
|
-
/* @__PURE__ */
|
|
2988
|
-
/* @__PURE__ */
|
|
3092
|
+
/* @__PURE__ */ jsxs28("div", { className: "flex flex-row gap-[8px]", children: [
|
|
3093
|
+
/* @__PURE__ */ jsxs28("p", { children: [
|
|
2989
3094
|
index + 1,
|
|
2990
3095
|
"."
|
|
2991
3096
|
] }),
|
|
2992
|
-
/* @__PURE__ */
|
|
3097
|
+
/* @__PURE__ */ jsx35("p", { children: v })
|
|
2993
3098
|
] }),
|
|
2994
|
-
/* @__PURE__ */
|
|
3099
|
+
/* @__PURE__ */ jsx35(
|
|
2995
3100
|
IconTrash,
|
|
2996
3101
|
{
|
|
2997
3102
|
className: "cursor-pointer",
|
|
@@ -3008,7 +3113,7 @@ function SelectCustom({
|
|
|
3008
3113
|
}
|
|
3009
3114
|
|
|
3010
3115
|
// src/SortFilter/SortFilter.tsx
|
|
3011
|
-
import { ConfigProvider as
|
|
3116
|
+
import { ConfigProvider as ConfigProvider18 } from "antd";
|
|
3012
3117
|
import { CalendarOutlined } from "@ant-design/icons";
|
|
3013
3118
|
|
|
3014
3119
|
// src/SortFilter/DataMockSortFilter.ts
|
|
@@ -3041,7 +3146,7 @@ var quarters = [
|
|
|
3041
3146
|
// src/SortFilter/SortFilter.tsx
|
|
3042
3147
|
import { useState as useState10 } from "react";
|
|
3043
3148
|
import { IconSortDescending as IconSortDescending2, IconFilter } from "@tabler/icons-react";
|
|
3044
|
-
import { jsx as
|
|
3149
|
+
import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3045
3150
|
function SortFilter({
|
|
3046
3151
|
showYear = true,
|
|
3047
3152
|
showQuarter = true,
|
|
@@ -3052,20 +3157,20 @@ function SortFilter({
|
|
|
3052
3157
|
const [yearValue, setYearValue] = useState10();
|
|
3053
3158
|
const [monthValue, setMonthValue] = useState10();
|
|
3054
3159
|
const [quarterValue, setQuartersValue] = useState10();
|
|
3055
|
-
return /* @__PURE__ */
|
|
3056
|
-
|
|
3160
|
+
return /* @__PURE__ */ jsx36(
|
|
3161
|
+
ConfigProvider18,
|
|
3057
3162
|
{
|
|
3058
3163
|
theme: {
|
|
3059
3164
|
token: {
|
|
3060
3165
|
fontFamily: "Kanit"
|
|
3061
3166
|
}
|
|
3062
3167
|
},
|
|
3063
|
-
children: /* @__PURE__ */
|
|
3064
|
-
/* @__PURE__ */
|
|
3065
|
-
showYear && /* @__PURE__ */
|
|
3168
|
+
children: /* @__PURE__ */ jsxs29("div", { className: "w-full flex items-center justify-between", children: [
|
|
3169
|
+
/* @__PURE__ */ jsxs29("div", { className: "w-full flex gap-[10px]", children: [
|
|
3170
|
+
showYear && /* @__PURE__ */ jsx36("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx36(
|
|
3066
3171
|
SelectField,
|
|
3067
3172
|
{
|
|
3068
|
-
prefix: /* @__PURE__ */
|
|
3173
|
+
prefix: /* @__PURE__ */ jsx36(CalendarOutlined, {}),
|
|
3069
3174
|
onChange: setYearValue,
|
|
3070
3175
|
options: years.map((s) => ({
|
|
3071
3176
|
value: s.value,
|
|
@@ -3075,10 +3180,10 @@ function SortFilter({
|
|
|
3075
3180
|
value: yearValue
|
|
3076
3181
|
}
|
|
3077
3182
|
) }),
|
|
3078
|
-
showMonth && /* @__PURE__ */
|
|
3183
|
+
showMonth && /* @__PURE__ */ jsx36("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx36(
|
|
3079
3184
|
SelectField,
|
|
3080
3185
|
{
|
|
3081
|
-
prefix: /* @__PURE__ */
|
|
3186
|
+
prefix: /* @__PURE__ */ jsx36(CalendarOutlined, {}),
|
|
3082
3187
|
onChange: setMonthValue,
|
|
3083
3188
|
options: months.map((s) => ({
|
|
3084
3189
|
value: s.value,
|
|
@@ -3088,10 +3193,10 @@ function SortFilter({
|
|
|
3088
3193
|
placeholder: "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E14\u0E37\u0E2D\u0E19"
|
|
3089
3194
|
}
|
|
3090
3195
|
) }),
|
|
3091
|
-
showQuarter && /* @__PURE__ */
|
|
3196
|
+
showQuarter && /* @__PURE__ */ jsx36("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx36(
|
|
3092
3197
|
SelectField,
|
|
3093
3198
|
{
|
|
3094
|
-
prefix: /* @__PURE__ */
|
|
3199
|
+
prefix: /* @__PURE__ */ jsx36(CalendarOutlined, {}),
|
|
3095
3200
|
onChange: setQuartersValue,
|
|
3096
3201
|
options: quarters.map((s) => ({
|
|
3097
3202
|
value: s.value,
|
|
@@ -3102,8 +3207,8 @@ function SortFilter({
|
|
|
3102
3207
|
}
|
|
3103
3208
|
) })
|
|
3104
3209
|
] }),
|
|
3105
|
-
/* @__PURE__ */
|
|
3106
|
-
/* @__PURE__ */
|
|
3210
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex gap-[10px]", children: [
|
|
3211
|
+
/* @__PURE__ */ jsx36(
|
|
3107
3212
|
IconSortDescending2,
|
|
3108
3213
|
{
|
|
3109
3214
|
size: 24,
|
|
@@ -3111,7 +3216,7 @@ function SortFilter({
|
|
|
3111
3216
|
onClick: onSortClick
|
|
3112
3217
|
}
|
|
3113
3218
|
),
|
|
3114
|
-
/* @__PURE__ */
|
|
3219
|
+
/* @__PURE__ */ jsx36(
|
|
3115
3220
|
IconFilter,
|
|
3116
3221
|
{
|
|
3117
3222
|
size: 24,
|
|
@@ -3128,7 +3233,7 @@ function SortFilter({
|
|
|
3128
3233
|
// src/Upload/FileUploader/FileUploader.tsx
|
|
3129
3234
|
import { IconUpload, IconTrash as IconTrash2, IconFileDescription } from "@tabler/icons-react";
|
|
3130
3235
|
import { useRef as useRef4, useState as useState11 } from "react";
|
|
3131
|
-
import { Fragment as Fragment5, jsx as
|
|
3236
|
+
import { Fragment as Fragment5, jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3132
3237
|
function FileUploader({
|
|
3133
3238
|
onUpload,
|
|
3134
3239
|
onError,
|
|
@@ -3214,10 +3319,10 @@ function FileUploader({
|
|
|
3214
3319
|
}
|
|
3215
3320
|
if (inputRef.current) inputRef.current.value = "";
|
|
3216
3321
|
};
|
|
3217
|
-
return /* @__PURE__ */
|
|
3218
|
-
label && /* @__PURE__ */
|
|
3219
|
-
!readOnly && /* @__PURE__ */
|
|
3220
|
-
mode === "upload" ? /* @__PURE__ */
|
|
3322
|
+
return /* @__PURE__ */ jsxs30("div", { className: "w-full", children: [
|
|
3323
|
+
label && /* @__PURE__ */ jsx37("p", { className: "body-1", children: label }),
|
|
3324
|
+
!readOnly && /* @__PURE__ */ jsxs30("div", { className: uploaderWidth, children: [
|
|
3325
|
+
mode === "upload" ? /* @__PURE__ */ jsx37(
|
|
3221
3326
|
"button",
|
|
3222
3327
|
{
|
|
3223
3328
|
type: "button",
|
|
@@ -3225,16 +3330,16 @@ function FileUploader({
|
|
|
3225
3330
|
className: `h-[34px] flex justify-center items-center gap-2 w-full rounded-[2px] border border-gray-200 body-1
|
|
3226
3331
|
${disabled ? "cursor-not-allowed text-gray-400 bg-gray-100" : "cursor-pointer hover:text-primary-400 hover:border-primary-200 duration-300"}`,
|
|
3227
3332
|
disabled: disabled ? disabled : uploading,
|
|
3228
|
-
children: uploading ? /* @__PURE__ */
|
|
3229
|
-
/* @__PURE__ */
|
|
3333
|
+
children: uploading ? /* @__PURE__ */ jsxs30(Fragment5, { children: [
|
|
3334
|
+
/* @__PURE__ */ jsx37(Loader, { size: 15 }),
|
|
3230
3335
|
" \u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14"
|
|
3231
|
-
] }) : /* @__PURE__ */
|
|
3232
|
-
/* @__PURE__ */
|
|
3336
|
+
] }) : /* @__PURE__ */ jsxs30(Fragment5, { children: [
|
|
3337
|
+
/* @__PURE__ */ jsx37(IconUpload, { size: 15, className: "text-gray-400" }),
|
|
3233
3338
|
" ",
|
|
3234
3339
|
uploadText
|
|
3235
3340
|
] })
|
|
3236
3341
|
}
|
|
3237
|
-
) : /* @__PURE__ */
|
|
3342
|
+
) : /* @__PURE__ */ jsx37(
|
|
3238
3343
|
"div",
|
|
3239
3344
|
{
|
|
3240
3345
|
className: `w-full min-h-[120px] flex justify-center items-center border-2 border-dashed rounded-md p-4 transition-colors body-1
|
|
@@ -3248,17 +3353,17 @@ function FileUploader({
|
|
|
3248
3353
|
},
|
|
3249
3354
|
onDragLeave: () => setDragActive(false),
|
|
3250
3355
|
onDrop: handleDrop,
|
|
3251
|
-
children: uploading ? /* @__PURE__ */
|
|
3252
|
-
/* @__PURE__ */
|
|
3356
|
+
children: uploading ? /* @__PURE__ */ jsxs30("div", { className: "flex justify-center items-center gap-2", children: [
|
|
3357
|
+
/* @__PURE__ */ jsx37(Loader, { size: 15 }),
|
|
3253
3358
|
" \u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14"
|
|
3254
|
-
] }) : /* @__PURE__ */
|
|
3255
|
-
/* @__PURE__ */
|
|
3256
|
-
/* @__PURE__ */
|
|
3257
|
-
/* @__PURE__ */
|
|
3359
|
+
] }) : /* @__PURE__ */ jsxs30("div", { className: "flex flex-col items-center gap-2", children: [
|
|
3360
|
+
/* @__PURE__ */ jsx37(IconUpload, { size: 20 }),
|
|
3361
|
+
/* @__PURE__ */ jsx37("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" }),
|
|
3362
|
+
/* @__PURE__ */ jsx37("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" })
|
|
3258
3363
|
] })
|
|
3259
3364
|
}
|
|
3260
3365
|
),
|
|
3261
|
-
/* @__PURE__ */
|
|
3366
|
+
/* @__PURE__ */ jsx37(
|
|
3262
3367
|
"input",
|
|
3263
3368
|
{
|
|
3264
3369
|
type: "file",
|
|
@@ -3271,8 +3376,8 @@ function FileUploader({
|
|
|
3271
3376
|
}
|
|
3272
3377
|
)
|
|
3273
3378
|
] }),
|
|
3274
|
-
description && /* @__PURE__ */
|
|
3275
|
-
/* @__PURE__ */
|
|
3379
|
+
description && /* @__PURE__ */ jsx37("p", { className: "text-gray-400 body-4", children: description }),
|
|
3380
|
+
/* @__PURE__ */ jsx37("div", { className: `mt-[8px] ${attachWidth}`, children: filesToDisplay.length !== 0 && /* @__PURE__ */ jsx37("div", { className: "flex flex-col rounded-[6px] body-1 border-[1px] border-gray-300", children: filesToDisplay.map((file, index) => /* @__PURE__ */ jsxs30(
|
|
3276
3381
|
"div",
|
|
3277
3382
|
{
|
|
3278
3383
|
className: `flex px-[16px] hover:bg-primary-50 hover:cursor-pointer
|
|
@@ -3282,11 +3387,11 @@ function FileUploader({
|
|
|
3282
3387
|
${index !== 0 ? "pt-[16px]" : ""}`,
|
|
3283
3388
|
onClick: () => onClickFile && onClickFile(file),
|
|
3284
3389
|
children: [
|
|
3285
|
-
/* @__PURE__ */
|
|
3286
|
-
/* @__PURE__ */
|
|
3287
|
-
/* @__PURE__ */
|
|
3390
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex gap-2 overflow-hidden", children: [
|
|
3391
|
+
/* @__PURE__ */ jsx37("div", { className: "w-[24px] h-[24px] flex items-center justify-center", children: /* @__PURE__ */ jsx37(IconFileDescription, { size: 20 }) }),
|
|
3392
|
+
/* @__PURE__ */ jsx37("span", { className: "truncate", children: file.name || file.fileName })
|
|
3288
3393
|
] }),
|
|
3289
|
-
!readOnly && !disabled && /* @__PURE__ */
|
|
3394
|
+
!readOnly && !disabled && /* @__PURE__ */ jsx37(
|
|
3290
3395
|
IconTrash2,
|
|
3291
3396
|
{
|
|
3292
3397
|
size: 20,
|
|
@@ -3326,9 +3431,9 @@ function messageLoading(content, duration) {
|
|
|
3326
3431
|
}
|
|
3327
3432
|
|
|
3328
3433
|
// src/Breadcrumb/Breadcrumb.tsx
|
|
3329
|
-
import { ConfigProvider as
|
|
3434
|
+
import { ConfigProvider as ConfigProvider19 } from "antd";
|
|
3330
3435
|
import { Breadcrumb } from "antd";
|
|
3331
|
-
import { jsx as
|
|
3436
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3332
3437
|
function Breadcrumbs({
|
|
3333
3438
|
items,
|
|
3334
3439
|
separator,
|
|
@@ -3336,15 +3441,15 @@ function Breadcrumbs({
|
|
|
3336
3441
|
classname,
|
|
3337
3442
|
params
|
|
3338
3443
|
}) {
|
|
3339
|
-
return /* @__PURE__ */
|
|
3340
|
-
|
|
3444
|
+
return /* @__PURE__ */ jsx38(
|
|
3445
|
+
ConfigProvider19,
|
|
3341
3446
|
{
|
|
3342
3447
|
theme: {
|
|
3343
3448
|
token: {
|
|
3344
3449
|
fontFamily: "Kanit"
|
|
3345
3450
|
}
|
|
3346
3451
|
},
|
|
3347
|
-
children: /* @__PURE__ */
|
|
3452
|
+
children: /* @__PURE__ */ jsx38(
|
|
3348
3453
|
Breadcrumb,
|
|
3349
3454
|
{
|
|
3350
3455
|
items,
|
|
@@ -3359,8 +3464,8 @@ function Breadcrumbs({
|
|
|
3359
3464
|
}
|
|
3360
3465
|
|
|
3361
3466
|
// src/HeadingPage/HeadingPage.tsx
|
|
3362
|
-
import { ConfigProvider as
|
|
3363
|
-
import { jsx as
|
|
3467
|
+
import { ConfigProvider as ConfigProvider20 } from "antd";
|
|
3468
|
+
import { jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
3364
3469
|
function HeadingPage({ Heading }) {
|
|
3365
3470
|
const today = (/* @__PURE__ */ new Date()).toLocaleDateString("th-TH", {
|
|
3366
3471
|
weekday: "long",
|
|
@@ -3368,17 +3473,17 @@ function HeadingPage({ Heading }) {
|
|
|
3368
3473
|
month: "long",
|
|
3369
3474
|
year: "numeric"
|
|
3370
3475
|
});
|
|
3371
|
-
return /* @__PURE__ */
|
|
3372
|
-
|
|
3476
|
+
return /* @__PURE__ */ jsx39(
|
|
3477
|
+
ConfigProvider20,
|
|
3373
3478
|
{
|
|
3374
3479
|
theme: {
|
|
3375
3480
|
token: {
|
|
3376
3481
|
fontFamily: "Kanit"
|
|
3377
3482
|
}
|
|
3378
3483
|
},
|
|
3379
|
-
children: /* @__PURE__ */
|
|
3380
|
-
/* @__PURE__ */
|
|
3381
|
-
/* @__PURE__ */
|
|
3484
|
+
children: /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-[10px] px-[20px] py-[10px]", children: [
|
|
3485
|
+
/* @__PURE__ */ jsx39("p", { className: "headline-5", children: Heading }),
|
|
3486
|
+
/* @__PURE__ */ jsxs31("p", { className: "body-1", children: [
|
|
3382
3487
|
" \u0E27\u0E31\u0E19\u0E19\u0E35\u0E49 ",
|
|
3383
3488
|
today
|
|
3384
3489
|
] })
|
|
@@ -3388,9 +3493,9 @@ function HeadingPage({ Heading }) {
|
|
|
3388
3493
|
}
|
|
3389
3494
|
|
|
3390
3495
|
// src/Progress/ProgressBar.tsx
|
|
3391
|
-
import { ConfigProvider as
|
|
3496
|
+
import { ConfigProvider as ConfigProvider21, Progress } from "antd";
|
|
3392
3497
|
import { useEffect as useEffect4, useRef as useRef5, useState as useState12 } from "react";
|
|
3393
|
-
import { jsx as
|
|
3498
|
+
import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
3394
3499
|
function ProgressBar({
|
|
3395
3500
|
percent = 0,
|
|
3396
3501
|
size = "default",
|
|
@@ -3421,16 +3526,16 @@ function ProgressBar({
|
|
|
3421
3526
|
observer.observe(inner);
|
|
3422
3527
|
return () => observer.disconnect();
|
|
3423
3528
|
}, []);
|
|
3424
|
-
return /* @__PURE__ */
|
|
3425
|
-
|
|
3529
|
+
return /* @__PURE__ */ jsx40(
|
|
3530
|
+
ConfigProvider21,
|
|
3426
3531
|
{
|
|
3427
3532
|
theme: {
|
|
3428
3533
|
token: {
|
|
3429
3534
|
fontFamily: "Kanit"
|
|
3430
3535
|
}
|
|
3431
3536
|
},
|
|
3432
|
-
children: /* @__PURE__ */
|
|
3433
|
-
/* @__PURE__ */
|
|
3537
|
+
children: /* @__PURE__ */ jsxs32("div", { className: "relative w-full", ref: progressRef, children: [
|
|
3538
|
+
/* @__PURE__ */ jsx40(
|
|
3434
3539
|
Progress,
|
|
3435
3540
|
{
|
|
3436
3541
|
className: "w-full",
|
|
@@ -3446,7 +3551,7 @@ function ProgressBar({
|
|
|
3446
3551
|
strokeColor
|
|
3447
3552
|
}
|
|
3448
3553
|
),
|
|
3449
|
-
barWidth > 0 && isCheckPoints && type !== "circle" && checkpoints.map((cp) => /* @__PURE__ */
|
|
3554
|
+
barWidth > 0 && isCheckPoints && type !== "circle" && checkpoints.map((cp) => /* @__PURE__ */ jsx40(
|
|
3450
3555
|
"div",
|
|
3451
3556
|
{
|
|
3452
3557
|
className: "checkpoint absolute top-0",
|
|
@@ -3468,7 +3573,7 @@ function ProgressBar({
|
|
|
3468
3573
|
}
|
|
3469
3574
|
|
|
3470
3575
|
// src/KpiSection/KpiSection.tsx
|
|
3471
|
-
import { ConfigProvider as
|
|
3576
|
+
import { ConfigProvider as ConfigProvider22, message } from "antd";
|
|
3472
3577
|
import { useEffect as useEffect5, useState as useState14 } from "react";
|
|
3473
3578
|
|
|
3474
3579
|
// src/KpiSection/hooks/useGetKpiSection.ts
|
|
@@ -3619,7 +3724,7 @@ function useGetKpiSection() {
|
|
|
3619
3724
|
|
|
3620
3725
|
// src/KpiSection/KpiSection.tsx
|
|
3621
3726
|
import { IconCheck as IconCheck2, IconCirclePlus, IconPencil, IconTrash as IconTrash3, IconX as IconX2 } from "@tabler/icons-react";
|
|
3622
|
-
import { Fragment as Fragment6, jsx as
|
|
3727
|
+
import { Fragment as Fragment6, jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
3623
3728
|
function KpiSection({ type, onChangeKpiList }) {
|
|
3624
3729
|
const {
|
|
3625
3730
|
handleAddKpi,
|
|
@@ -3649,8 +3754,8 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3649
3754
|
onChangeKpiList(kpiList);
|
|
3650
3755
|
}
|
|
3651
3756
|
}, [kpiList]);
|
|
3652
|
-
return /* @__PURE__ */
|
|
3653
|
-
|
|
3757
|
+
return /* @__PURE__ */ jsx41(
|
|
3758
|
+
ConfigProvider22,
|
|
3654
3759
|
{
|
|
3655
3760
|
theme: {
|
|
3656
3761
|
token: {
|
|
@@ -3658,11 +3763,11 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3658
3763
|
fontSize: 16
|
|
3659
3764
|
}
|
|
3660
3765
|
},
|
|
3661
|
-
children: /* @__PURE__ */
|
|
3766
|
+
children: /* @__PURE__ */ jsxs33("div", { className: "container-input", children: [
|
|
3662
3767
|
messageContainer,
|
|
3663
|
-
type === "number" && /* @__PURE__ */
|
|
3664
|
-
/* @__PURE__ */
|
|
3665
|
-
/* @__PURE__ */
|
|
3768
|
+
type === "number" && /* @__PURE__ */ jsxs33("div", { className: "space-y-4", children: [
|
|
3769
|
+
/* @__PURE__ */ jsxs33("div", { className: "grid grid-cols-[1fr_200px_200px_50px] w-full gap-[24px] items-start", children: [
|
|
3770
|
+
/* @__PURE__ */ jsx41(
|
|
3666
3771
|
InputField,
|
|
3667
3772
|
{
|
|
3668
3773
|
value: nameKpi,
|
|
@@ -3674,7 +3779,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3674
3779
|
error: errors.nameKpi
|
|
3675
3780
|
}
|
|
3676
3781
|
),
|
|
3677
|
-
/* @__PURE__ */
|
|
3782
|
+
/* @__PURE__ */ jsx41(
|
|
3678
3783
|
InputField,
|
|
3679
3784
|
{
|
|
3680
3785
|
value: kpiValue,
|
|
@@ -3698,7 +3803,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3698
3803
|
error: errors.kpiValue
|
|
3699
3804
|
}
|
|
3700
3805
|
),
|
|
3701
|
-
/* @__PURE__ */
|
|
3806
|
+
/* @__PURE__ */ jsx41(
|
|
3702
3807
|
InputField,
|
|
3703
3808
|
{
|
|
3704
3809
|
value: unitValue,
|
|
@@ -3710,7 +3815,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3710
3815
|
error: errors.unitValue
|
|
3711
3816
|
}
|
|
3712
3817
|
),
|
|
3713
|
-
/* @__PURE__ */
|
|
3818
|
+
/* @__PURE__ */ jsx41("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ jsx41(
|
|
3714
3819
|
IconCirclePlus,
|
|
3715
3820
|
{
|
|
3716
3821
|
className: "w-[40px] h-[40px] cursor-pointer hover:scale-110 transition",
|
|
@@ -3719,17 +3824,17 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3719
3824
|
}
|
|
3720
3825
|
) })
|
|
3721
3826
|
] }),
|
|
3722
|
-
/* @__PURE__ */
|
|
3827
|
+
/* @__PURE__ */ jsx41("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ jsxs33(
|
|
3723
3828
|
"div",
|
|
3724
3829
|
{
|
|
3725
3830
|
className: "grid grid-cols-[30px_1fr_100px_120px_80px] items-start py-2 body-1 gap-[8px]",
|
|
3726
3831
|
children: [
|
|
3727
|
-
/* @__PURE__ */
|
|
3832
|
+
/* @__PURE__ */ jsxs33("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
|
|
3728
3833
|
index + 1,
|
|
3729
3834
|
"."
|
|
3730
3835
|
] }),
|
|
3731
|
-
kpi.isEditing ? /* @__PURE__ */
|
|
3732
|
-
/* @__PURE__ */
|
|
3836
|
+
kpi.isEditing ? /* @__PURE__ */ jsxs33(Fragment6, { children: [
|
|
3837
|
+
/* @__PURE__ */ jsx41(
|
|
3733
3838
|
InputField,
|
|
3734
3839
|
{
|
|
3735
3840
|
value: kpi.name,
|
|
@@ -3739,7 +3844,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3739
3844
|
error: itemErrors[kpi.id]?.name
|
|
3740
3845
|
}
|
|
3741
3846
|
),
|
|
3742
|
-
/* @__PURE__ */
|
|
3847
|
+
/* @__PURE__ */ jsx41(
|
|
3743
3848
|
InputField,
|
|
3744
3849
|
{
|
|
3745
3850
|
value: kpi.value?.toString(),
|
|
@@ -3764,7 +3869,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3764
3869
|
error: itemErrors[kpi.id]?.value
|
|
3765
3870
|
}
|
|
3766
3871
|
),
|
|
3767
|
-
/* @__PURE__ */
|
|
3872
|
+
/* @__PURE__ */ jsx41(
|
|
3768
3873
|
InputField,
|
|
3769
3874
|
{
|
|
3770
3875
|
value: kpi.unit,
|
|
@@ -3774,29 +3879,29 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3774
3879
|
error: itemErrors[kpi.id]?.unit
|
|
3775
3880
|
}
|
|
3776
3881
|
),
|
|
3777
|
-
/* @__PURE__ */
|
|
3882
|
+
/* @__PURE__ */ jsxs33(
|
|
3778
3883
|
"div",
|
|
3779
3884
|
{
|
|
3780
3885
|
className: `flex gap-2 justify-end self-center ${!!itemErrors[kpi.id]?.value || !!itemErrors[kpi.id]?.unit || !!itemErrors[kpi.id]?.name ? "mt-[-12px]" : ""}`,
|
|
3781
3886
|
children: [
|
|
3782
|
-
/* @__PURE__ */
|
|
3887
|
+
/* @__PURE__ */ jsx41(
|
|
3783
3888
|
IconCheck2,
|
|
3784
3889
|
{
|
|
3785
3890
|
className: "w-[30px] h-[30px] cursor-pointer",
|
|
3786
3891
|
onClick: () => handleSave(kpi.id, type)
|
|
3787
3892
|
}
|
|
3788
3893
|
),
|
|
3789
|
-
/* @__PURE__ */
|
|
3894
|
+
/* @__PURE__ */ jsx41(IconX2, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
|
|
3790
3895
|
]
|
|
3791
3896
|
}
|
|
3792
3897
|
)
|
|
3793
|
-
] }) : /* @__PURE__ */
|
|
3794
|
-
/* @__PURE__ */
|
|
3795
|
-
/* @__PURE__ */
|
|
3796
|
-
/* @__PURE__ */
|
|
3797
|
-
/* @__PURE__ */
|
|
3798
|
-
/* @__PURE__ */
|
|
3799
|
-
/* @__PURE__ */
|
|
3898
|
+
] }) : /* @__PURE__ */ jsxs33(Fragment6, { children: [
|
|
3899
|
+
/* @__PURE__ */ jsx41("p", { className: "body-1", children: kpi.name }),
|
|
3900
|
+
/* @__PURE__ */ jsx41("p", { className: "body-1", children: kpi.value }),
|
|
3901
|
+
/* @__PURE__ */ jsx41("p", { className: "body-1", children: kpi.unit }),
|
|
3902
|
+
/* @__PURE__ */ jsxs33("div", { className: "flex gap-3 justify-end", children: [
|
|
3903
|
+
/* @__PURE__ */ jsx41(IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
|
|
3904
|
+
/* @__PURE__ */ jsx41(IconTrash3, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
|
|
3800
3905
|
] })
|
|
3801
3906
|
] })
|
|
3802
3907
|
]
|
|
@@ -3804,9 +3909,9 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3804
3909
|
kpi.id
|
|
3805
3910
|
)) })
|
|
3806
3911
|
] }),
|
|
3807
|
-
type === "text" && /* @__PURE__ */
|
|
3808
|
-
/* @__PURE__ */
|
|
3809
|
-
/* @__PURE__ */
|
|
3912
|
+
type === "text" && /* @__PURE__ */ jsxs33("div", { className: "space-y-4", children: [
|
|
3913
|
+
/* @__PURE__ */ jsxs33("div", { className: "grid grid-cols-[1fr_50px] w-full gap-[24px] items-start", children: [
|
|
3914
|
+
/* @__PURE__ */ jsx41(
|
|
3810
3915
|
InputField,
|
|
3811
3916
|
{
|
|
3812
3917
|
value: nameKpi,
|
|
@@ -3818,7 +3923,7 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3818
3923
|
error: errors.nameKpi
|
|
3819
3924
|
}
|
|
3820
3925
|
),
|
|
3821
|
-
/* @__PURE__ */
|
|
3926
|
+
/* @__PURE__ */ jsx41("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ jsx41(
|
|
3822
3927
|
IconCirclePlus,
|
|
3823
3928
|
{
|
|
3824
3929
|
className: "w-[40px] h-[40px] cursor-pointer hover:scale-110 transition",
|
|
@@ -3827,13 +3932,13 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3827
3932
|
}
|
|
3828
3933
|
) })
|
|
3829
3934
|
] }),
|
|
3830
|
-
/* @__PURE__ */
|
|
3831
|
-
/* @__PURE__ */
|
|
3935
|
+
/* @__PURE__ */ jsx41("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ jsxs33("div", { className: "grid grid-cols-[30px_1fr_80px] items-start py-2 body-1 gap-[8px]", children: [
|
|
3936
|
+
/* @__PURE__ */ jsxs33("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
|
|
3832
3937
|
index + 1,
|
|
3833
3938
|
"."
|
|
3834
3939
|
] }),
|
|
3835
|
-
kpi.isEditing ? /* @__PURE__ */
|
|
3836
|
-
/* @__PURE__ */
|
|
3940
|
+
kpi.isEditing ? /* @__PURE__ */ jsxs33(Fragment6, { children: [
|
|
3941
|
+
/* @__PURE__ */ jsx41(
|
|
3837
3942
|
InputField,
|
|
3838
3943
|
{
|
|
3839
3944
|
value: kpi.name,
|
|
@@ -3843,27 +3948,27 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3843
3948
|
error: itemErrors[kpi.id]?.name
|
|
3844
3949
|
}
|
|
3845
3950
|
),
|
|
3846
|
-
/* @__PURE__ */
|
|
3951
|
+
/* @__PURE__ */ jsxs33(
|
|
3847
3952
|
"div",
|
|
3848
3953
|
{
|
|
3849
3954
|
className: `flex gap-2 justify-end self-center ${!!itemErrors[kpi.id]?.name ? "mt-[-12px]" : ""}`,
|
|
3850
3955
|
children: [
|
|
3851
|
-
/* @__PURE__ */
|
|
3956
|
+
/* @__PURE__ */ jsx41(
|
|
3852
3957
|
IconCheck2,
|
|
3853
3958
|
{
|
|
3854
3959
|
className: "w-[30px] h-[30px] cursor-pointer",
|
|
3855
3960
|
onClick: () => handleSave(kpi.id, type)
|
|
3856
3961
|
}
|
|
3857
3962
|
),
|
|
3858
|
-
/* @__PURE__ */
|
|
3963
|
+
/* @__PURE__ */ jsx41(IconX2, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
|
|
3859
3964
|
]
|
|
3860
3965
|
}
|
|
3861
3966
|
)
|
|
3862
|
-
] }) : /* @__PURE__ */
|
|
3863
|
-
/* @__PURE__ */
|
|
3864
|
-
/* @__PURE__ */
|
|
3865
|
-
/* @__PURE__ */
|
|
3866
|
-
/* @__PURE__ */
|
|
3967
|
+
] }) : /* @__PURE__ */ jsxs33(Fragment6, { children: [
|
|
3968
|
+
/* @__PURE__ */ jsx41("p", { className: "body-1", children: kpi.name }),
|
|
3969
|
+
/* @__PURE__ */ jsxs33("div", { className: "flex gap-3 justify-end", children: [
|
|
3970
|
+
/* @__PURE__ */ jsx41(IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
|
|
3971
|
+
/* @__PURE__ */ jsx41(IconTrash3, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
|
|
3867
3972
|
] })
|
|
3868
3973
|
] })
|
|
3869
3974
|
] }, kpi.id)) })
|
|
@@ -3875,16 +3980,16 @@ function KpiSection({ type, onChangeKpiList }) {
|
|
|
3875
3980
|
|
|
3876
3981
|
// src/Modal/Modal/Modal.tsx
|
|
3877
3982
|
import { Modal } from "antd";
|
|
3878
|
-
import { jsx as
|
|
3983
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
3879
3984
|
function AntDModal({ children, isOpen, width, onCancel }) {
|
|
3880
|
-
return /* @__PURE__ */
|
|
3985
|
+
return /* @__PURE__ */ jsx42("div", { children: /* @__PURE__ */ jsx42(Modal, { open: isOpen, onCancel, width, centered: true, footer: null, children: /* @__PURE__ */ jsx42("div", { children }) }) });
|
|
3881
3986
|
}
|
|
3882
3987
|
|
|
3883
3988
|
// src/Indicator/Indicator/Indicator.tsx
|
|
3884
3989
|
import { IconCheck as IconCheck3, IconCirclePlus as IconCirclePlus2, IconTrash as IconTrash4, IconX as IconX3 } from "@tabler/icons-react";
|
|
3885
3990
|
import { useState as useState15 } from "react";
|
|
3886
3991
|
import { Input as Input4 } from "antd";
|
|
3887
|
-
import { Fragment as Fragment7, jsx as
|
|
3992
|
+
import { Fragment as Fragment7, jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
3888
3993
|
function Indicator({
|
|
3889
3994
|
option = [
|
|
3890
3995
|
{ value: "TEXT", label: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" },
|
|
@@ -4010,14 +4115,14 @@ function Indicator({
|
|
|
4010
4115
|
[name]: value
|
|
4011
4116
|
}));
|
|
4012
4117
|
};
|
|
4013
|
-
return /* @__PURE__ */
|
|
4014
|
-
/* @__PURE__ */
|
|
4118
|
+
return /* @__PURE__ */ jsxs34("div", { className: "w-full", children: [
|
|
4119
|
+
/* @__PURE__ */ jsxs34(
|
|
4015
4120
|
"div",
|
|
4016
4121
|
{
|
|
4017
4122
|
className: `space-x-2 grid ${valueSwitch === "TEXT" ? `grid-cols-[140px_1fr_50px]` : `grid-cols-[140px_1fr_200px_200px_50px]`} items-start`,
|
|
4018
4123
|
children: [
|
|
4019
|
-
/* @__PURE__ */
|
|
4020
|
-
/* @__PURE__ */
|
|
4124
|
+
/* @__PURE__ */ jsx43(SwitchSelect, { option, onClick: handleClick, value: valueSwitch, label: "\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17", required: true }),
|
|
4125
|
+
/* @__PURE__ */ jsx43(
|
|
4021
4126
|
InputField,
|
|
4022
4127
|
{
|
|
4023
4128
|
label: type === "TARGET" ? "\u0E0A\u0E37\u0E48\u0E2D\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" : `\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"}`,
|
|
@@ -4032,8 +4137,8 @@ function Indicator({
|
|
|
4032
4137
|
error: addError.textValue
|
|
4033
4138
|
}
|
|
4034
4139
|
),
|
|
4035
|
-
valueSwitch === "NUMBER" && /* @__PURE__ */
|
|
4036
|
-
/* @__PURE__ */
|
|
4140
|
+
valueSwitch === "NUMBER" && /* @__PURE__ */ jsxs34(Fragment7, { children: [
|
|
4141
|
+
/* @__PURE__ */ jsx43(
|
|
4037
4142
|
InputFieldNumber,
|
|
4038
4143
|
{
|
|
4039
4144
|
label: type === "TARGET" ? "\u0E04\u0E48\u0E32\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" : `\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"}`,
|
|
@@ -4049,7 +4154,7 @@ function Indicator({
|
|
|
4049
4154
|
error: addError.numberValue
|
|
4050
4155
|
}
|
|
4051
4156
|
),
|
|
4052
|
-
/* @__PURE__ */
|
|
4157
|
+
/* @__PURE__ */ jsx43(
|
|
4053
4158
|
InputField,
|
|
4054
4159
|
{
|
|
4055
4160
|
label: `\u0E2B\u0E19\u0E48\u0E27\u0E22`,
|
|
@@ -4065,18 +4170,18 @@ function Indicator({
|
|
|
4065
4170
|
}
|
|
4066
4171
|
)
|
|
4067
4172
|
] }),
|
|
4068
|
-
/* @__PURE__ */
|
|
4173
|
+
/* @__PURE__ */ jsx43(IconCirclePlus2, { onClick: handleAddIndicator, className: "mt-8 cursor-pointer", size: 32 })
|
|
4069
4174
|
]
|
|
4070
4175
|
}
|
|
4071
4176
|
),
|
|
4072
|
-
/* @__PURE__ */
|
|
4177
|
+
/* @__PURE__ */ jsx43(Fragment7, { children: arrayData.map((item, index) => /* @__PURE__ */ jsxs34(
|
|
4073
4178
|
"div",
|
|
4074
4179
|
{
|
|
4075
4180
|
className: `space-y-2 grid ${item.inputType === "TEXT" ? `grid-cols-[140px_1fr_50px_50px]` : `grid-cols-[140px_1fr_200px_150px_50px_50px]`} items-start`,
|
|
4076
4181
|
children: [
|
|
4077
|
-
/* @__PURE__ */
|
|
4078
|
-
index === editIndex ? /* @__PURE__ */
|
|
4079
|
-
/* @__PURE__ */
|
|
4182
|
+
/* @__PURE__ */ jsx43("div", { className: "body-1 mt-2", children: item.inputType === "TEXT" ? "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" : "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02" }),
|
|
4183
|
+
index === editIndex ? /* @__PURE__ */ jsxs34("div", { className: "flex flex-col gap-[8px]", children: [
|
|
4184
|
+
/* @__PURE__ */ jsx43(
|
|
4080
4185
|
Input4,
|
|
4081
4186
|
{
|
|
4082
4187
|
className: "body-1 mt-2",
|
|
@@ -4089,11 +4194,11 @@ function Indicator({
|
|
|
4089
4194
|
}
|
|
4090
4195
|
}
|
|
4091
4196
|
),
|
|
4092
|
-
editError.textValue && /* @__PURE__ */
|
|
4093
|
-
] }) : /* @__PURE__ */
|
|
4094
|
-
item.inputType === "NUMBER" && /* @__PURE__ */
|
|
4095
|
-
index === editIndex ? /* @__PURE__ */
|
|
4096
|
-
/* @__PURE__ */
|
|
4197
|
+
editError.textValue && /* @__PURE__ */ jsx43("p", { className: "text-red-500 caption-1", children: editError.textValue })
|
|
4198
|
+
] }) : /* @__PURE__ */ jsx43("div", { className: "body-1 mt-2", children: item.textValue }),
|
|
4199
|
+
item.inputType === "NUMBER" && /* @__PURE__ */ jsxs34(Fragment7, { children: [
|
|
4200
|
+
index === editIndex ? /* @__PURE__ */ jsxs34("div", { className: "flex flex-col gap-[8px]", children: [
|
|
4201
|
+
/* @__PURE__ */ jsx43(
|
|
4097
4202
|
Input4,
|
|
4098
4203
|
{
|
|
4099
4204
|
type: "number",
|
|
@@ -4107,10 +4212,10 @@ function Indicator({
|
|
|
4107
4212
|
}
|
|
4108
4213
|
}
|
|
4109
4214
|
),
|
|
4110
|
-
editError.numberValue && /* @__PURE__ */
|
|
4111
|
-
] }) : /* @__PURE__ */
|
|
4112
|
-
index === editIndex ? /* @__PURE__ */
|
|
4113
|
-
/* @__PURE__ */
|
|
4215
|
+
editError.numberValue && /* @__PURE__ */ jsx43("p", { className: "text-red-500 caption-1", children: editError.numberValue })
|
|
4216
|
+
] }) : /* @__PURE__ */ jsx43("div", { className: "body-1 mt-2", children: item.numberValue }),
|
|
4217
|
+
index === editIndex ? /* @__PURE__ */ jsxs34("div", { className: "flex flex-col gap-[8px]", children: [
|
|
4218
|
+
/* @__PURE__ */ jsx43(
|
|
4114
4219
|
Input4,
|
|
4115
4220
|
{
|
|
4116
4221
|
className: "body-1 mt-2",
|
|
@@ -4123,20 +4228,20 @@ function Indicator({
|
|
|
4123
4228
|
}
|
|
4124
4229
|
}
|
|
4125
4230
|
),
|
|
4126
|
-
editError.unit && /* @__PURE__ */
|
|
4127
|
-
] }) : /* @__PURE__ */
|
|
4231
|
+
editError.unit && /* @__PURE__ */ jsx43("p", { className: "text-red-500 caption-1", children: editError.unit })
|
|
4232
|
+
] }) : /* @__PURE__ */ jsx43("div", { className: "body-1 mt-2", children: item.unit })
|
|
4128
4233
|
] }),
|
|
4129
|
-
/* @__PURE__ */
|
|
4130
|
-
/* @__PURE__ */
|
|
4234
|
+
/* @__PURE__ */ jsx43("div", { className: "body-1 mt-2 flex", children: editIndex !== null ? editIndex === index ? /* @__PURE__ */ jsxs34("div", { className: "flex", children: [
|
|
4235
|
+
/* @__PURE__ */ jsx43(
|
|
4131
4236
|
IconCheck3,
|
|
4132
4237
|
{
|
|
4133
4238
|
className: "cursor-pointer text-green-600",
|
|
4134
4239
|
onClick: () => handleConfirmEditIndicator(index)
|
|
4135
4240
|
}
|
|
4136
4241
|
),
|
|
4137
|
-
/* @__PURE__ */
|
|
4242
|
+
/* @__PURE__ */ jsx43(IconX3, { className: "cursor-pointer text-red-600", onClick: handleCancelEditIndicator })
|
|
4138
4243
|
] }) : void 0 : false }),
|
|
4139
|
-
/* @__PURE__ */
|
|
4244
|
+
/* @__PURE__ */ jsx43("div", { className: "body-1 mt-2 cursor-pointer", children: /* @__PURE__ */ jsx43(
|
|
4140
4245
|
IconTrash4,
|
|
4141
4246
|
{
|
|
4142
4247
|
onClick: () => {
|
|
@@ -4159,7 +4264,7 @@ function Indicator({
|
|
|
4159
4264
|
// src/FilterPopUp/FilterPopUp.tsx
|
|
4160
4265
|
import { IconCheck as IconCheck4, IconFilter as IconFilter2, IconTrash as IconTrash5 } from "@tabler/icons-react";
|
|
4161
4266
|
import { useState as useState16 } from "react";
|
|
4162
|
-
import { jsx as
|
|
4267
|
+
import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
4163
4268
|
var FilterPopUp = (filter) => {
|
|
4164
4269
|
const [isAction, setIsAction] = useState16(true);
|
|
4165
4270
|
const [filterArray, setFilterArray] = useState16([""]);
|
|
@@ -4169,20 +4274,20 @@ var FilterPopUp = (filter) => {
|
|
|
4169
4274
|
const handleSubmitFilter = () => {
|
|
4170
4275
|
filter.handleSearch(filterArray);
|
|
4171
4276
|
};
|
|
4172
|
-
return /* @__PURE__ */
|
|
4173
|
-
/* @__PURE__ */
|
|
4174
|
-
/* @__PURE__ */
|
|
4277
|
+
return /* @__PURE__ */ jsxs35("div", { className: "relative", children: [
|
|
4278
|
+
/* @__PURE__ */ jsxs35("button", { className: "flex px-2 py-1 rounded-lg border-1", onClick: () => setIsAction(!isAction), children: [
|
|
4279
|
+
/* @__PURE__ */ jsx44(IconFilter2, {}),
|
|
4175
4280
|
"filter"
|
|
4176
4281
|
] }),
|
|
4177
|
-
isAction ? /* @__PURE__ */
|
|
4178
|
-
/* @__PURE__ */
|
|
4179
|
-
/* @__PURE__ */
|
|
4180
|
-
/* @__PURE__ */
|
|
4181
|
-
/* @__PURE__ */
|
|
4282
|
+
isAction ? /* @__PURE__ */ jsxs35("div", { className: "absolute bg-white p-5 rounded-lg shadow-2xl w-[600px]", children: [
|
|
4283
|
+
/* @__PURE__ */ jsxs35("div", { className: "flex justify-end", children: [
|
|
4284
|
+
/* @__PURE__ */ jsxs35("div", { className: "flex justify-end text-nowrap gap-2", children: [
|
|
4285
|
+
/* @__PURE__ */ jsx44(GhostButton, { title: "\u0E43\u0E0A\u0E49\u0E1F\u0E34\u0E25\u0E40\u0E15\u0E2D\u0E23\u0E4C", onClick: handleSubmitFilter, iconLeft: /* @__PURE__ */ jsx44(IconCheck4, {}) }),
|
|
4286
|
+
/* @__PURE__ */ jsx44(GhostButton, { title: "\u0E25\u0E49\u0E32\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14", onClick: handleClearFilter, iconLeft: /* @__PURE__ */ jsx44(IconTrash5, {}) })
|
|
4182
4287
|
] }),
|
|
4183
4288
|
""
|
|
4184
4289
|
] }),
|
|
4185
|
-
/* @__PURE__ */
|
|
4290
|
+
/* @__PURE__ */ jsx44(
|
|
4186
4291
|
SelectCustom,
|
|
4187
4292
|
{
|
|
4188
4293
|
options: filter.selectionFilter,
|
|
@@ -4198,7 +4303,7 @@ var FilterPopUp = (filter) => {
|
|
|
4198
4303
|
import { useEffect as useEffect7, useRef as useRef6, useState as useState17 } from "react";
|
|
4199
4304
|
import { IconSearch, IconUsers, IconX as IconX4 } from "@tabler/icons-react";
|
|
4200
4305
|
import { Input as Input5 } from "antd";
|
|
4201
|
-
import { Fragment as Fragment8, jsx as
|
|
4306
|
+
import { Fragment as Fragment8, jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
4202
4307
|
function ProfileSelect({
|
|
4203
4308
|
allUser,
|
|
4204
4309
|
assignUser,
|
|
@@ -4258,22 +4363,22 @@ function ProfileSelect({
|
|
|
4258
4363
|
const isSearching = normalizedSearch.length > 0;
|
|
4259
4364
|
const noResult = filteredAssigned.length === 0 && filteredUnassigned.length === 0;
|
|
4260
4365
|
const noUserOption = allUser.length === 0 && !isSearching;
|
|
4261
|
-
return /* @__PURE__ */
|
|
4262
|
-
mode === "icon" ? /* @__PURE__ */
|
|
4366
|
+
return /* @__PURE__ */ jsxs36("div", { ref: containerRef, className: "relative body-1", children: [
|
|
4367
|
+
mode === "icon" ? /* @__PURE__ */ jsx45("div", { children: /* @__PURE__ */ jsx45(
|
|
4263
4368
|
IconUsers,
|
|
4264
4369
|
{
|
|
4265
4370
|
size: 40,
|
|
4266
4371
|
className: "p-2 border rounded cursor-pointer bg-white",
|
|
4267
4372
|
onClick: () => setIsShowSelect(!isShowSelect)
|
|
4268
4373
|
}
|
|
4269
|
-
) }) : mode === "showAssign" ? /* @__PURE__ */
|
|
4374
|
+
) }) : mode === "showAssign" ? /* @__PURE__ */ jsx45(
|
|
4270
4375
|
"div",
|
|
4271
4376
|
{
|
|
4272
4377
|
className: `w-full h-[40px] flex items-center p-2 cursor-pointer ${className}`,
|
|
4273
4378
|
onClick: () => setIsShowSelect(!isShowSelect),
|
|
4274
|
-
children: visibleUsers.length === 0 ? placeholder ? /* @__PURE__ */
|
|
4275
|
-
/* @__PURE__ */
|
|
4276
|
-
/* @__PURE__ */
|
|
4379
|
+
children: visibleUsers.length === 0 ? placeholder ? /* @__PURE__ */ jsx45("span", { className: "body-1 text-gray-400 select-none", children: placeholder }) : null : /* @__PURE__ */ jsxs36(Fragment8, { children: [
|
|
4380
|
+
/* @__PURE__ */ jsx45("div", { className: "flex -space-x-2", children: visibleUsers.map((user) => /* @__PURE__ */ jsx45("div", { className: "flex items-center", children: /* @__PURE__ */ jsxs36("label", { className: "relative group cursor-pointer", children: [
|
|
4381
|
+
/* @__PURE__ */ jsx45(
|
|
4277
4382
|
"img",
|
|
4278
4383
|
{
|
|
4279
4384
|
src: user.profile,
|
|
@@ -4286,7 +4391,7 @@ function ProfileSelect({
|
|
|
4286
4391
|
className: "border border-white group-hover:border-3 group-hover:border-red-500 transition"
|
|
4287
4392
|
}
|
|
4288
4393
|
),
|
|
4289
|
-
/* @__PURE__ */
|
|
4394
|
+
/* @__PURE__ */ jsx45(
|
|
4290
4395
|
"span",
|
|
4291
4396
|
{
|
|
4292
4397
|
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",
|
|
@@ -4294,11 +4399,11 @@ function ProfileSelect({
|
|
|
4294
4399
|
e.stopPropagation();
|
|
4295
4400
|
onUpdateAssignUser(user, "remove");
|
|
4296
4401
|
},
|
|
4297
|
-
children: /* @__PURE__ */
|
|
4402
|
+
children: /* @__PURE__ */ jsx45(IconX4, { className: "w-4 h-4 text-red-500" })
|
|
4298
4403
|
}
|
|
4299
4404
|
)
|
|
4300
4405
|
] }) }, user.id)) }),
|
|
4301
|
-
showPlus && /* @__PURE__ */
|
|
4406
|
+
showPlus && /* @__PURE__ */ jsxs36(
|
|
4302
4407
|
"div",
|
|
4303
4408
|
{
|
|
4304
4409
|
className: "border border-white flex items-center justify-center bg-gray-300 text-black text-sm ml-2",
|
|
@@ -4315,8 +4420,8 @@ function ProfileSelect({
|
|
|
4315
4420
|
)
|
|
4316
4421
|
] })
|
|
4317
4422
|
}
|
|
4318
|
-
) : /* @__PURE__ */
|
|
4319
|
-
visibleUsers.map((user) => /* @__PURE__ */
|
|
4423
|
+
) : /* @__PURE__ */ jsxs36("div", { className: `w-full h-[40px] flex -space-x-2 p-2 ${className}`, children: [
|
|
4424
|
+
visibleUsers.map((user) => /* @__PURE__ */ jsx45("div", { className: "flex items-center ", children: /* @__PURE__ */ jsx45("label", { className: "relative group ", children: /* @__PURE__ */ jsx45(
|
|
4320
4425
|
"img",
|
|
4321
4426
|
{
|
|
4322
4427
|
src: user.profile,
|
|
@@ -4329,7 +4434,7 @@ function ProfileSelect({
|
|
|
4329
4434
|
className: "border border-white transition"
|
|
4330
4435
|
}
|
|
4331
4436
|
) }) }, user.id)),
|
|
4332
|
-
showPlus && /* @__PURE__ */
|
|
4437
|
+
showPlus && /* @__PURE__ */ jsxs36(
|
|
4333
4438
|
"div",
|
|
4334
4439
|
{
|
|
4335
4440
|
className: "border border-white flex items-center justify-center bg-gray-300 text-black text-sm",
|
|
@@ -4345,15 +4450,15 @@ function ProfileSelect({
|
|
|
4345
4450
|
}
|
|
4346
4451
|
)
|
|
4347
4452
|
] }),
|
|
4348
|
-
isShowSelect ? /* @__PURE__ */
|
|
4453
|
+
isShowSelect ? /* @__PURE__ */ jsxs36(
|
|
4349
4454
|
"div",
|
|
4350
4455
|
{
|
|
4351
4456
|
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",
|
|
4352
4457
|
ref: selectRef,
|
|
4353
4458
|
children: [
|
|
4354
|
-
/* @__PURE__ */
|
|
4355
|
-
/* @__PURE__ */
|
|
4356
|
-
/* @__PURE__ */
|
|
4459
|
+
/* @__PURE__ */ jsxs36("div", { className: "flex border-1 rounded-md p-2 gap-2 items-center", children: [
|
|
4460
|
+
/* @__PURE__ */ jsx45(IconSearch, {}),
|
|
4461
|
+
/* @__PURE__ */ jsx45(
|
|
4357
4462
|
Input5,
|
|
4358
4463
|
{
|
|
4359
4464
|
variant: "borderless",
|
|
@@ -4364,16 +4469,16 @@ function ProfileSelect({
|
|
|
4364
4469
|
}
|
|
4365
4470
|
)
|
|
4366
4471
|
] }),
|
|
4367
|
-
/* @__PURE__ */
|
|
4368
|
-
filteredAssigned.length > 0 && /* @__PURE__ */
|
|
4369
|
-
/* @__PURE__ */
|
|
4370
|
-
filteredAssigned.map((user) => /* @__PURE__ */
|
|
4472
|
+
/* @__PURE__ */ jsx45("div", { className: "overflow-y-auto h-[250px] pt-2 px-4 body-3", children: noUserOption ? /* @__PURE__ */ jsx45("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__ */ jsx45("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__ */ jsxs36(Fragment8, { children: [
|
|
4473
|
+
filteredAssigned.length > 0 && /* @__PURE__ */ jsxs36(Fragment8, { children: [
|
|
4474
|
+
/* @__PURE__ */ jsx45("div", { className: "mb-1", children: "\u0E2A\u0E21\u0E32\u0E0A\u0E34\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01" }),
|
|
4475
|
+
filteredAssigned.map((user) => /* @__PURE__ */ jsxs36(
|
|
4371
4476
|
"button",
|
|
4372
4477
|
{
|
|
4373
4478
|
className: "flex items-center group my-1 w-full p-1 rounded hover:bg-gray-100",
|
|
4374
4479
|
children: [
|
|
4375
|
-
/* @__PURE__ */
|
|
4376
|
-
/* @__PURE__ */
|
|
4480
|
+
/* @__PURE__ */ jsxs36("div", { className: "relative cursor-pointer", children: [
|
|
4481
|
+
/* @__PURE__ */ jsx45(
|
|
4377
4482
|
"img",
|
|
4378
4483
|
{
|
|
4379
4484
|
src: user.profile,
|
|
@@ -4386,30 +4491,30 @@ function ProfileSelect({
|
|
|
4386
4491
|
className: "border-3 border-red-500"
|
|
4387
4492
|
}
|
|
4388
4493
|
),
|
|
4389
|
-
/* @__PURE__ */
|
|
4494
|
+
/* @__PURE__ */ jsx45(
|
|
4390
4495
|
"span",
|
|
4391
4496
|
{
|
|
4392
4497
|
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",
|
|
4393
4498
|
onClick: () => onUpdateAssignUser(user, "remove"),
|
|
4394
|
-
children: /* @__PURE__ */
|
|
4499
|
+
children: /* @__PURE__ */ jsx45(IconX4, { className: "text-red-500", size: 15 })
|
|
4395
4500
|
}
|
|
4396
4501
|
)
|
|
4397
4502
|
] }),
|
|
4398
|
-
/* @__PURE__ */
|
|
4503
|
+
/* @__PURE__ */ jsx45("span", { className: "ml-2", children: user.name })
|
|
4399
4504
|
]
|
|
4400
4505
|
},
|
|
4401
4506
|
user.id
|
|
4402
4507
|
))
|
|
4403
4508
|
] }),
|
|
4404
|
-
filteredUnassigned.length > 0 && /* @__PURE__ */
|
|
4405
|
-
/* @__PURE__ */
|
|
4406
|
-
filteredUnassigned.map((user) => /* @__PURE__ */
|
|
4509
|
+
filteredUnassigned.length > 0 && /* @__PURE__ */ jsxs36(Fragment8, { children: [
|
|
4510
|
+
/* @__PURE__ */ jsx45("div", { className: "mt-2", children: "\u0E1C\u0E39\u0E49\u0E04\u0E19" }),
|
|
4511
|
+
filteredUnassigned.map((user) => /* @__PURE__ */ jsxs36(
|
|
4407
4512
|
"button",
|
|
4408
4513
|
{
|
|
4409
4514
|
className: "flex items-center my-1 hover:bg-gray-100 w-full p-1 rounded",
|
|
4410
4515
|
onClick: () => onUpdateAssignUser(user),
|
|
4411
4516
|
children: [
|
|
4412
|
-
/* @__PURE__ */
|
|
4517
|
+
/* @__PURE__ */ jsx45(
|
|
4413
4518
|
"img",
|
|
4414
4519
|
{
|
|
4415
4520
|
src: user.profile,
|
|
@@ -4422,7 +4527,7 @@ function ProfileSelect({
|
|
|
4422
4527
|
className: "border"
|
|
4423
4528
|
}
|
|
4424
4529
|
),
|
|
4425
|
-
/* @__PURE__ */
|
|
4530
|
+
/* @__PURE__ */ jsx45("span", { className: "ml-2", children: user.name })
|
|
4426
4531
|
]
|
|
4427
4532
|
},
|
|
4428
4533
|
user.id
|
|
@@ -4438,7 +4543,7 @@ function ProfileSelect({
|
|
|
4438
4543
|
// src/Button/QRCode/QRCode.tsx
|
|
4439
4544
|
import { useEffect as useEffect8, useRef as useRef7, useState as useState18 } from "react";
|
|
4440
4545
|
import QRCode from "qrcode";
|
|
4441
|
-
import { jsx as
|
|
4546
|
+
import { jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
4442
4547
|
var QRCodeGenerator = ({
|
|
4443
4548
|
url,
|
|
4444
4549
|
previewSize = 200,
|
|
@@ -4451,31 +4556,31 @@ var QRCodeGenerator = ({
|
|
|
4451
4556
|
const sizeOption = [
|
|
4452
4557
|
{
|
|
4453
4558
|
label: "64 x 64",
|
|
4454
|
-
value:
|
|
4559
|
+
value: 64
|
|
4455
4560
|
},
|
|
4456
4561
|
{
|
|
4457
4562
|
label: "128 x 128",
|
|
4458
|
-
value:
|
|
4563
|
+
value: 128
|
|
4459
4564
|
},
|
|
4460
4565
|
{
|
|
4461
4566
|
label: "256 x 256",
|
|
4462
|
-
value:
|
|
4567
|
+
value: 256
|
|
4463
4568
|
},
|
|
4464
4569
|
{
|
|
4465
4570
|
label: "512 x 512",
|
|
4466
|
-
value:
|
|
4571
|
+
value: 512
|
|
4467
4572
|
},
|
|
4468
4573
|
{
|
|
4469
4574
|
label: "1024 x 1024",
|
|
4470
|
-
value:
|
|
4575
|
+
value: 1024
|
|
4471
4576
|
},
|
|
4472
4577
|
{
|
|
4473
4578
|
label: "2048 x 2048",
|
|
4474
|
-
value:
|
|
4579
|
+
value: 2048
|
|
4475
4580
|
},
|
|
4476
4581
|
{
|
|
4477
4582
|
label: "4096 x 4096",
|
|
4478
|
-
value:
|
|
4583
|
+
value: 4096
|
|
4479
4584
|
}
|
|
4480
4585
|
];
|
|
4481
4586
|
const typeOption = [
|
|
@@ -4494,9 +4599,14 @@ var QRCodeGenerator = ({
|
|
|
4494
4599
|
];
|
|
4495
4600
|
useEffect8(() => {
|
|
4496
4601
|
if (!canvasRef.current) return;
|
|
4497
|
-
QRCode.toCanvas(
|
|
4498
|
-
|
|
4499
|
-
|
|
4602
|
+
QRCode.toCanvas(
|
|
4603
|
+
canvasRef.current,
|
|
4604
|
+
url,
|
|
4605
|
+
{ width: previewSize, margin: 1 },
|
|
4606
|
+
(error) => {
|
|
4607
|
+
if (error) console.error(error);
|
|
4608
|
+
}
|
|
4609
|
+
);
|
|
4500
4610
|
}, [url, previewSize]);
|
|
4501
4611
|
const download = async () => {
|
|
4502
4612
|
try {
|
|
@@ -4533,52 +4643,73 @@ var QRCodeGenerator = ({
|
|
|
4533
4643
|
a.click();
|
|
4534
4644
|
a.remove();
|
|
4535
4645
|
};
|
|
4536
|
-
return /* @__PURE__ */
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
"
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
4646
|
+
return /* @__PURE__ */ jsxs37(
|
|
4647
|
+
"div",
|
|
4648
|
+
{
|
|
4649
|
+
style: { display: "inline-flex", flexDirection: "column", gap: 8 },
|
|
4650
|
+
className: "justify-center items-center",
|
|
4651
|
+
children: [
|
|
4652
|
+
url === "" ? /* @__PURE__ */ jsx46(
|
|
4653
|
+
"div",
|
|
4654
|
+
{
|
|
4655
|
+
className: "border-1 p-2 mb-2",
|
|
4656
|
+
style: { width: `${previewSize}px`, height: `${previewSize}px` }
|
|
4657
|
+
}
|
|
4658
|
+
) : /* @__PURE__ */ jsx46("canvas", { ref: canvasRef, className: "border-1 p-2 mb-2" }),
|
|
4659
|
+
/* @__PURE__ */ jsxs37(
|
|
4660
|
+
"div",
|
|
4661
|
+
{
|
|
4662
|
+
style: {
|
|
4663
|
+
display: "flex",
|
|
4664
|
+
gap: 8,
|
|
4665
|
+
alignItems: "center",
|
|
4666
|
+
flexWrap: "wrap"
|
|
4667
|
+
},
|
|
4668
|
+
className: "flex-col",
|
|
4669
|
+
children: [
|
|
4670
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex gap-2 mx-2", children: [
|
|
4671
|
+
/* @__PURE__ */ jsx46("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ jsx46(
|
|
4672
|
+
SelectField,
|
|
4673
|
+
{
|
|
4674
|
+
label: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A",
|
|
4675
|
+
value: format5,
|
|
4676
|
+
onChange: (value) => setFormat(value),
|
|
4677
|
+
options: typeOption
|
|
4678
|
+
}
|
|
4679
|
+
) }),
|
|
4680
|
+
/* @__PURE__ */ jsx46("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ jsx46(
|
|
4681
|
+
SelectField,
|
|
4682
|
+
{
|
|
4683
|
+
label: "\u0E02\u0E19\u0E32\u0E14 (px)",
|
|
4684
|
+
value: exportSize,
|
|
4685
|
+
onChange: (value) => setExportSize(Number(value)),
|
|
4686
|
+
options: sizeOption
|
|
4687
|
+
}
|
|
4688
|
+
) })
|
|
4689
|
+
] }),
|
|
4690
|
+
/* @__PURE__ */ jsx46(
|
|
4691
|
+
PrimaryButton,
|
|
4692
|
+
{
|
|
4693
|
+
onClick: download,
|
|
4694
|
+
disabled: url === "",
|
|
4695
|
+
textColor: "white",
|
|
4696
|
+
title: "\u0E14\u0E32\u0E27\u0E42\u0E2B\u0E25\u0E14\u0E23\u0E2B\u0E31\u0E2A QR"
|
|
4697
|
+
}
|
|
4698
|
+
)
|
|
4699
|
+
]
|
|
4700
|
+
}
|
|
4701
|
+
)
|
|
4702
|
+
]
|
|
4703
|
+
}
|
|
4704
|
+
);
|
|
4574
4705
|
};
|
|
4575
4706
|
|
|
4576
4707
|
// src/TabPropject/TabProject/TabProject.tsx
|
|
4577
|
-
import { ConfigProvider as
|
|
4578
|
-
import { jsx as
|
|
4708
|
+
import { ConfigProvider as ConfigProvider23, Tabs } from "antd";
|
|
4709
|
+
import { jsx as jsx47, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
4579
4710
|
function TabProject({ tabOption, now, onChange }) {
|
|
4580
|
-
return /* @__PURE__ */
|
|
4581
|
-
|
|
4711
|
+
return /* @__PURE__ */ jsx47(
|
|
4712
|
+
ConfigProvider23,
|
|
4582
4713
|
{
|
|
4583
4714
|
theme: {
|
|
4584
4715
|
token: {
|
|
@@ -4594,16 +4725,16 @@ function TabProject({ tabOption, now, onChange }) {
|
|
|
4594
4725
|
}
|
|
4595
4726
|
}
|
|
4596
4727
|
},
|
|
4597
|
-
children: /* @__PURE__ */
|
|
4728
|
+
children: /* @__PURE__ */ jsx47(
|
|
4598
4729
|
Tabs,
|
|
4599
4730
|
{
|
|
4600
4731
|
activeKey: now,
|
|
4601
4732
|
onChange,
|
|
4602
4733
|
items: tabOption.map((item) => ({
|
|
4603
4734
|
key: item.key,
|
|
4604
|
-
label: /* @__PURE__ */
|
|
4735
|
+
label: /* @__PURE__ */ jsxs38("span", { className: "tab-label flex gap-2 items-center body-1", children: [
|
|
4605
4736
|
item.icon,
|
|
4606
|
-
/* @__PURE__ */
|
|
4737
|
+
/* @__PURE__ */ jsx47("span", { children: item.label })
|
|
4607
4738
|
] })
|
|
4608
4739
|
}))
|
|
4609
4740
|
}
|
|
@@ -4615,7 +4746,7 @@ function TabProject({ tabOption, now, onChange }) {
|
|
|
4615
4746
|
// src/Chart/BarChart/BarChart.tsx
|
|
4616
4747
|
import { useEffect as useEffect9, useMemo as useMemo2, useRef as useRef8 } from "react";
|
|
4617
4748
|
import * as d3 from "d3";
|
|
4618
|
-
import { jsx as
|
|
4749
|
+
import { jsx as jsx48, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
4619
4750
|
var defaultMargin = { top: 30, right: 200, bottom: 36, left: 50 };
|
|
4620
4751
|
var defaultColorPalette = [
|
|
4621
4752
|
"#4E79A7",
|
|
@@ -4797,7 +4928,7 @@ var BarChart = ({
|
|
|
4797
4928
|
useEffect9(() => {
|
|
4798
4929
|
render();
|
|
4799
4930
|
}, [data, height, margin, modeLabel, xDomain.toString(), yDomain.toString()]);
|
|
4800
|
-
return /* @__PURE__ */
|
|
4931
|
+
return /* @__PURE__ */ jsx48("div", { ref: containerRef, style: { width: "100%" }, children: /* @__PURE__ */ jsxs39(
|
|
4801
4932
|
"svg",
|
|
4802
4933
|
{
|
|
4803
4934
|
ref: svgRef,
|
|
@@ -4805,10 +4936,10 @@ var BarChart = ({
|
|
|
4805
4936
|
"aria-label": "Bar chart",
|
|
4806
4937
|
style: { display: "block", width: "100%", height },
|
|
4807
4938
|
children: [
|
|
4808
|
-
/* @__PURE__ */
|
|
4809
|
-
/* @__PURE__ */
|
|
4810
|
-
/* @__PURE__ */
|
|
4811
|
-
/* @__PURE__ */
|
|
4939
|
+
/* @__PURE__ */ jsx48("title", { children: "Bar chart" }),
|
|
4940
|
+
/* @__PURE__ */ jsx48("g", { ref: gRef, transform: `translate(${margin.left},${margin.top})` }),
|
|
4941
|
+
/* @__PURE__ */ jsx48("g", { ref: xAxisRef }),
|
|
4942
|
+
/* @__PURE__ */ jsx48("g", { ref: yAxisRef })
|
|
4812
4943
|
]
|
|
4813
4944
|
}
|
|
4814
4945
|
) });
|
|
@@ -4817,7 +4948,7 @@ var BarChart = ({
|
|
|
4817
4948
|
// src/Chart/PieChart/PieChart.tsx
|
|
4818
4949
|
import React3, { useRef as useRef9, useEffect as useEffect10 } from "react";
|
|
4819
4950
|
import * as d32 from "d3";
|
|
4820
|
-
import { jsx as
|
|
4951
|
+
import { jsx as jsx49, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
4821
4952
|
var defaultColors = d32.schemeCategory10;
|
|
4822
4953
|
var PieChart = ({
|
|
4823
4954
|
title,
|
|
@@ -4851,15 +4982,15 @@ var PieChart = ({
|
|
|
4851
4982
|
return `${percentage}%`;
|
|
4852
4983
|
});
|
|
4853
4984
|
}, [data, width, height]);
|
|
4854
|
-
return /* @__PURE__ */
|
|
4855
|
-
title && /* @__PURE__ */
|
|
4856
|
-
description && /* @__PURE__ */
|
|
4857
|
-
/* @__PURE__ */
|
|
4858
|
-
/* @__PURE__ */
|
|
4859
|
-
/* @__PURE__ */
|
|
4860
|
-
/* @__PURE__ */
|
|
4861
|
-
/* @__PURE__ */
|
|
4862
|
-
/* @__PURE__ */
|
|
4985
|
+
return /* @__PURE__ */ jsxs40("div", { children: [
|
|
4986
|
+
title && /* @__PURE__ */ jsx49("p", { className: "body-2", children: title }),
|
|
4987
|
+
description && /* @__PURE__ */ jsx49("p", { className: "caption-1", children: description }),
|
|
4988
|
+
/* @__PURE__ */ jsxs40("div", { className: "flex", children: [
|
|
4989
|
+
/* @__PURE__ */ jsx49("svg", { ref: svgRef }),
|
|
4990
|
+
/* @__PURE__ */ jsx49("div", { className: "flex flex-col gap-2 body-3 pl-[200px]", children: dataSide.map((d, i) => /* @__PURE__ */ jsxs40("div", { className: "grid grid-cols-3 gap-2 items-center body-2", children: [
|
|
4991
|
+
/* @__PURE__ */ jsx49("div", { className: "w-[20px] h-[20px]", style: { backgroundColor: d.color } }),
|
|
4992
|
+
/* @__PURE__ */ jsx49("div", { children: d.label }),
|
|
4993
|
+
/* @__PURE__ */ jsx49("div", { children: d.value })
|
|
4863
4994
|
] }, i)) })
|
|
4864
4995
|
] })
|
|
4865
4996
|
] });
|
|
@@ -4885,7 +5016,7 @@ import {
|
|
|
4885
5016
|
IconHourglassEmpty,
|
|
4886
5017
|
IconRosetteDiscountCheck
|
|
4887
5018
|
} from "@tabler/icons-react";
|
|
4888
|
-
import { jsx as
|
|
5019
|
+
import { jsx as jsx50, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
4889
5020
|
var LAYOUT = {
|
|
4890
5021
|
barHeight: 40,
|
|
4891
5022
|
barSpacing: 10,
|
|
@@ -4905,27 +5036,27 @@ var STATUS_META = {
|
|
|
4905
5036
|
IN_PROGRESS: {
|
|
4906
5037
|
color: "#FFC654",
|
|
4907
5038
|
label: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23",
|
|
4908
|
-
icon: /* @__PURE__ */
|
|
5039
|
+
icon: /* @__PURE__ */ jsx50(IconHourglassEmpty, { className: "text-[#FFC654]" })
|
|
4909
5040
|
},
|
|
4910
5041
|
CANCELLED: {
|
|
4911
5042
|
color: "#D2D5DB",
|
|
4912
5043
|
label: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
|
|
4913
|
-
icon: /* @__PURE__ */
|
|
5044
|
+
icon: /* @__PURE__ */ jsx50(IconCircleX, { className: "text-[#D2D5DB]" })
|
|
4914
5045
|
},
|
|
4915
5046
|
SUCCESS: {
|
|
4916
5047
|
color: "#81CF92",
|
|
4917
5048
|
label: "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E41\u0E25\u0E49\u0E27\u0E40\u0E2A\u0E23\u0E47\u0E08",
|
|
4918
|
-
icon: /* @__PURE__ */
|
|
5049
|
+
icon: /* @__PURE__ */ jsx50(IconRosetteDiscountCheck, { className: "text-[#81CF92]" })
|
|
4919
5050
|
},
|
|
4920
5051
|
COMPLETED: {
|
|
4921
5052
|
color: "#81CF92",
|
|
4922
5053
|
label: "\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E2A\u0E34\u0E49\u0E19",
|
|
4923
|
-
icon: /* @__PURE__ */
|
|
5054
|
+
icon: /* @__PURE__ */ jsx50(IconRosetteDiscountCheck, { className: "text-[#81CF92]" })
|
|
4924
5055
|
},
|
|
4925
5056
|
DELAY: {
|
|
4926
5057
|
color: "#F4827E",
|
|
4927
5058
|
label: "\u0E25\u0E48\u0E32\u0E0A\u0E49\u0E32",
|
|
4928
|
-
icon: /* @__PURE__ */
|
|
5059
|
+
icon: /* @__PURE__ */ jsx50(IconClockExclamation, { className: "text-[#F4827E]" })
|
|
4929
5060
|
}
|
|
4930
5061
|
};
|
|
4931
5062
|
var roundedRectPath = (x, y, width, height, radius) => `M${x + radius},${y} H${x + width} V${y + height} H${x + radius} A${radius},${radius},0,0,1,${x},${y + height - radius} V${y + radius} A${radius},${radius},0,0,1,${x + radius},${y}`;
|
|
@@ -4968,7 +5099,7 @@ var ProjectRow = ({ element, barHeight, barSpacing, mode }) => {
|
|
|
4968
5099
|
const statusLabel = getStatusLabel(safeStatus);
|
|
4969
5100
|
const statusIcon = STATUS_META[safeStatus]?.icon;
|
|
4970
5101
|
const toBuddhistDate = (d) => new Date(d.getFullYear() + 543, d.getMonth(), d.getDate());
|
|
4971
|
-
return /* @__PURE__ */
|
|
5102
|
+
return /* @__PURE__ */ jsxs41(
|
|
4972
5103
|
"div",
|
|
4973
5104
|
{
|
|
4974
5105
|
style: {
|
|
@@ -4979,8 +5110,8 @@ var ProjectRow = ({ element, barHeight, barSpacing, mode }) => {
|
|
|
4979
5110
|
},
|
|
4980
5111
|
className: "body-1 grid grid-cols-[1fr_100px_130px] px-8 gap-2",
|
|
4981
5112
|
children: [
|
|
4982
|
-
/* @__PURE__ */
|
|
4983
|
-
mode === "project" && /* @__PURE__ */
|
|
5113
|
+
/* @__PURE__ */ jsxs41("div", { className: `grid ${mode === "project" ? "grid-cols-[10px_1fr]" : "grid-cols-[1fr]"} items-center gap-2`, children: [
|
|
5114
|
+
mode === "project" && /* @__PURE__ */ jsx50(
|
|
4984
5115
|
"div",
|
|
4985
5116
|
{
|
|
4986
5117
|
style: {
|
|
@@ -4989,12 +5120,12 @@ var ProjectRow = ({ element, barHeight, barSpacing, mode }) => {
|
|
|
4989
5120
|
className: "w-[10px] h-[10px] rounded-full"
|
|
4990
5121
|
}
|
|
4991
5122
|
),
|
|
4992
|
-
/* @__PURE__ */
|
|
5123
|
+
/* @__PURE__ */ jsx50("div", { className: "line-clamp-1 break-words text-[#333]", title: element.label, children: element.label })
|
|
4993
5124
|
] }),
|
|
4994
|
-
mode === "project" ? /* @__PURE__ */
|
|
5125
|
+
mode === "project" ? /* @__PURE__ */ jsx50("div", { children: safeEndDate ? format4(toBuddhistDate(safeEndDate), "dd MMM yyyy", { locale: th }) : "-" }) : /* @__PURE__ */ jsx50("div", { children: `Q${getQuarter(
|
|
4995
5126
|
safeEndDate ?? /* @__PURE__ */ new Date()
|
|
4996
5127
|
)}/${(safeEndDate?.getFullYear() ?? 0) + 543}` }),
|
|
4997
|
-
/* @__PURE__ */
|
|
5128
|
+
/* @__PURE__ */ jsxs41("button", { className: "rounded-md subtitile-1 flex gap-2 align-start", children: [
|
|
4998
5129
|
statusIcon,
|
|
4999
5130
|
statusLabel
|
|
5000
5131
|
] })
|
|
@@ -5003,7 +5134,7 @@ var ProjectRow = ({ element, barHeight, barSpacing, mode }) => {
|
|
|
5003
5134
|
element.id
|
|
5004
5135
|
);
|
|
5005
5136
|
};
|
|
5006
|
-
var RowOverlay = ({ data, barHeight, barSpacing, totalHeaderHeight }) => /* @__PURE__ */
|
|
5137
|
+
var RowOverlay = ({ data, barHeight, barSpacing, totalHeaderHeight }) => /* @__PURE__ */ jsx50(
|
|
5007
5138
|
"div",
|
|
5008
5139
|
{
|
|
5009
5140
|
style: {
|
|
@@ -5017,7 +5148,7 @@ var RowOverlay = ({ data, barHeight, barSpacing, totalHeaderHeight }) => /* @__P
|
|
|
5017
5148
|
children: data.map((_, i) => {
|
|
5018
5149
|
if (i === 0) return null;
|
|
5019
5150
|
const yPos = i * (barHeight + barSpacing) - barSpacing / 2;
|
|
5020
|
-
return /* @__PURE__ */
|
|
5151
|
+
return /* @__PURE__ */ jsx50(
|
|
5021
5152
|
"div",
|
|
5022
5153
|
{
|
|
5023
5154
|
className: "",
|
|
@@ -5216,7 +5347,7 @@ var GanttChart = ({
|
|
|
5216
5347
|
headersGroupLayer1Height,
|
|
5217
5348
|
headersGroupLayer2Height
|
|
5218
5349
|
]);
|
|
5219
|
-
return /* @__PURE__ */
|
|
5350
|
+
return /* @__PURE__ */ jsx50(
|
|
5220
5351
|
"div",
|
|
5221
5352
|
{
|
|
5222
5353
|
className: "body-1",
|
|
@@ -5230,7 +5361,7 @@ var GanttChart = ({
|
|
|
5230
5361
|
backgroundColor: "#fff",
|
|
5231
5362
|
overflow: "hidden"
|
|
5232
5363
|
},
|
|
5233
|
-
children: /* @__PURE__ */
|
|
5364
|
+
children: /* @__PURE__ */ jsxs41(
|
|
5234
5365
|
"div",
|
|
5235
5366
|
{
|
|
5236
5367
|
style: {
|
|
@@ -5241,7 +5372,7 @@ var GanttChart = ({
|
|
|
5241
5372
|
position: "relative"
|
|
5242
5373
|
},
|
|
5243
5374
|
children: [
|
|
5244
|
-
/* @__PURE__ */
|
|
5375
|
+
/* @__PURE__ */ jsx50("div", { className: "z-2", children: /* @__PURE__ */ jsx50(
|
|
5245
5376
|
RowOverlay,
|
|
5246
5377
|
{
|
|
5247
5378
|
data: data.length > 10 ? data : ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"],
|
|
@@ -5250,7 +5381,7 @@ var GanttChart = ({
|
|
|
5250
5381
|
totalHeaderHeight
|
|
5251
5382
|
}
|
|
5252
5383
|
) }),
|
|
5253
|
-
/* @__PURE__ */
|
|
5384
|
+
/* @__PURE__ */ jsxs41(
|
|
5254
5385
|
"div",
|
|
5255
5386
|
{
|
|
5256
5387
|
ref: leftPanelRef,
|
|
@@ -5264,8 +5395,8 @@ var GanttChart = ({
|
|
|
5264
5395
|
zIndex: 2
|
|
5265
5396
|
},
|
|
5266
5397
|
children: [
|
|
5267
|
-
/* @__PURE__ */
|
|
5268
|
-
/* @__PURE__ */
|
|
5398
|
+
/* @__PURE__ */ jsxs41("div", { ref: dataContainerRef, children: [
|
|
5399
|
+
/* @__PURE__ */ jsxs41(
|
|
5269
5400
|
"div",
|
|
5270
5401
|
{
|
|
5271
5402
|
className: "grid body-2 grid-cols-[1fr_100px_130px] gap-2 px-8 border-b bg-white",
|
|
@@ -5278,13 +5409,13 @@ var GanttChart = ({
|
|
|
5278
5409
|
zIndex: 5
|
|
5279
5410
|
},
|
|
5280
5411
|
children: [
|
|
5281
|
-
/* @__PURE__ */
|
|
5282
|
-
/* @__PURE__ */
|
|
5283
|
-
/* @__PURE__ */
|
|
5412
|
+
/* @__PURE__ */ jsx50("div", { children: "\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23" }),
|
|
5413
|
+
/* @__PURE__ */ jsx50("div", { children: "\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E2A\u0E48\u0E07" }),
|
|
5414
|
+
/* @__PURE__ */ jsx50("div", { children: "\u0E2A\u0E16\u0E32\u0E19\u0E30" })
|
|
5284
5415
|
]
|
|
5285
5416
|
}
|
|
5286
5417
|
),
|
|
5287
|
-
data.map((element) => /* @__PURE__ */
|
|
5418
|
+
data.map((element) => /* @__PURE__ */ jsx50(
|
|
5288
5419
|
ProjectRow,
|
|
5289
5420
|
{
|
|
5290
5421
|
mode,
|
|
@@ -5295,7 +5426,7 @@ var GanttChart = ({
|
|
|
5295
5426
|
element.id
|
|
5296
5427
|
))
|
|
5297
5428
|
] }),
|
|
5298
|
-
/* @__PURE__ */
|
|
5429
|
+
/* @__PURE__ */ jsx50("div", { className: "z-3", children: /* @__PURE__ */ jsx50(
|
|
5299
5430
|
RowOverlay,
|
|
5300
5431
|
{
|
|
5301
5432
|
data,
|
|
@@ -5307,7 +5438,7 @@ var GanttChart = ({
|
|
|
5307
5438
|
]
|
|
5308
5439
|
}
|
|
5309
5440
|
),
|
|
5310
|
-
/* @__PURE__ */
|
|
5441
|
+
/* @__PURE__ */ jsx50(
|
|
5311
5442
|
"div",
|
|
5312
5443
|
{
|
|
5313
5444
|
style: {
|
|
@@ -5316,7 +5447,7 @@ var GanttChart = ({
|
|
|
5316
5447
|
position: "relative",
|
|
5317
5448
|
overflow: "visible"
|
|
5318
5449
|
},
|
|
5319
|
-
children: /* @__PURE__ */
|
|
5450
|
+
children: /* @__PURE__ */ jsx50(
|
|
5320
5451
|
"div",
|
|
5321
5452
|
{
|
|
5322
5453
|
style: {
|
|
@@ -5325,7 +5456,7 @@ var GanttChart = ({
|
|
|
5325
5456
|
width: "max-content",
|
|
5326
5457
|
zIndex: 1
|
|
5327
5458
|
},
|
|
5328
|
-
children: /* @__PURE__ */
|
|
5459
|
+
children: /* @__PURE__ */ jsx50("svg", { ref: svgRef })
|
|
5329
5460
|
}
|
|
5330
5461
|
)
|
|
5331
5462
|
}
|
|
@@ -5340,16 +5471,16 @@ var GanttChart = ({
|
|
|
5340
5471
|
// src/CardKPI/CardKPI/CardKPI.tsx
|
|
5341
5472
|
import { IconDots, IconHourglassEmpty as IconHourglassEmpty2, IconRosetteDiscountCheck as IconRosetteDiscountCheck2 } from "@tabler/icons-react";
|
|
5342
5473
|
import { useState as useState20 } from "react";
|
|
5343
|
-
import { Fragment as Fragment9, jsx as
|
|
5474
|
+
import { Fragment as Fragment9, jsx as jsx51, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
5344
5475
|
function KPIRow({ item }) {
|
|
5345
|
-
return /* @__PURE__ */
|
|
5476
|
+
return /* @__PURE__ */ jsxs42(
|
|
5346
5477
|
"div",
|
|
5347
5478
|
{
|
|
5348
5479
|
className: `w-full grid body-3 py-2 items-center pl-2 ${item.inputType === "NUMBER" ? "grid-cols-[1fr_100px_50px]" : "grid-cols-[1fr_50px]"}`,
|
|
5349
5480
|
children: [
|
|
5350
|
-
/* @__PURE__ */
|
|
5351
|
-
item.inputType === "NUMBER" && /* @__PURE__ */
|
|
5352
|
-
item.inputType === "NUMBER" ? /* @__PURE__ */
|
|
5481
|
+
/* @__PURE__ */ jsx51("div", { className: "line-clamp-2", children: item.textValue }),
|
|
5482
|
+
item.inputType === "NUMBER" && /* @__PURE__ */ jsx51("span", { className: "flex", children: `${item.currentValue}/${item.numberValue} ${item.unit}` }),
|
|
5483
|
+
item.inputType === "NUMBER" ? /* @__PURE__ */ jsx51("div", { className: "flex", children: /* @__PURE__ */ jsx51(ProgressBar, { percent: Math.floor(item.currentValue * 100 / (item.numberValue ?? 1)), type: "circle", checkpoints: [0] }) }) : /* @__PURE__ */ jsx51(Fragment9, { children: item.currentValue !== 0 ? /* @__PURE__ */ jsx51(IconRosetteDiscountCheck2, { className: "text-green-500 flex justify-center w-full", size: 30 }) : /* @__PURE__ */ jsx51(IconHourglassEmpty2, { className: "text-yellow-500 flex justify-center w-full", size: 30 }) })
|
|
5353
5484
|
]
|
|
5354
5485
|
}
|
|
5355
5486
|
);
|
|
@@ -5362,15 +5493,15 @@ function CardKPI({
|
|
|
5362
5493
|
projectId
|
|
5363
5494
|
}) {
|
|
5364
5495
|
const [isOpen, setIsOpen] = useState20(false);
|
|
5365
|
-
return /* @__PURE__ */
|
|
5496
|
+
return /* @__PURE__ */ jsxs42(
|
|
5366
5497
|
"div",
|
|
5367
5498
|
{
|
|
5368
5499
|
className: `border-10 p-4 rounded-md w-[420px] h-[450px] relative`,
|
|
5369
5500
|
style: { borderColor: dataItem.projectColor },
|
|
5370
5501
|
children: [
|
|
5371
|
-
/* @__PURE__ */
|
|
5372
|
-
/* @__PURE__ */
|
|
5373
|
-
/* @__PURE__ */
|
|
5502
|
+
/* @__PURE__ */ jsxs42("div", { className: "grid grid-cols-[1fr_70px] justify-between items-center", children: [
|
|
5503
|
+
/* @__PURE__ */ jsx51("div", { className: "line-clamp-2 subtitle-2 ", children: dataItem.name }),
|
|
5504
|
+
/* @__PURE__ */ jsx51("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx51(
|
|
5374
5505
|
"button",
|
|
5375
5506
|
{
|
|
5376
5507
|
type: "button",
|
|
@@ -5380,41 +5511,41 @@ function CardKPI({
|
|
|
5380
5511
|
}
|
|
5381
5512
|
) })
|
|
5382
5513
|
] }),
|
|
5383
|
-
/* @__PURE__ */
|
|
5384
|
-
/* @__PURE__ */
|
|
5385
|
-
/* @__PURE__ */
|
|
5514
|
+
/* @__PURE__ */ jsxs42("div", { className: "my-2 body-1", children: [
|
|
5515
|
+
/* @__PURE__ */ jsx51("div", { className: "translate-y-2", children: "\u0E23\u0E49\u0E2D\u0E22\u0E25\u0E30\u0E02\u0E2D\u0E07\u0E01\u0E34\u0E08\u0E01\u0E23\u0E23\u0E21" }),
|
|
5516
|
+
/* @__PURE__ */ jsx51(ProgressBar, { percent: overallPercent, type: "line", checkpoints: [0] })
|
|
5386
5517
|
] }),
|
|
5387
|
-
/* @__PURE__ */
|
|
5388
|
-
/* @__PURE__ */
|
|
5518
|
+
/* @__PURE__ */ jsxs42("div", { className: "border-b", children: [
|
|
5519
|
+
/* @__PURE__ */ jsx51("span", { className: "body-2 ", children: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" }),
|
|
5389
5520
|
indicator.filter((ind) => ind.indicatorType === "TARGET").map((item, index) => {
|
|
5390
5521
|
if (index === 2) return;
|
|
5391
|
-
return /* @__PURE__ */
|
|
5522
|
+
return /* @__PURE__ */ jsx51(KPIRow, { item });
|
|
5392
5523
|
})
|
|
5393
5524
|
] }),
|
|
5394
|
-
/* @__PURE__ */
|
|
5395
|
-
/* @__PURE__ */
|
|
5525
|
+
/* @__PURE__ */ jsxs42("div", { className: "pt-2", children: [
|
|
5526
|
+
/* @__PURE__ */ jsx51("span", { className: "body-2 ", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
|
|
5396
5527
|
indicator.filter((ind) => ind.indicatorType === "OUTPUT").map((item, index) => {
|
|
5397
5528
|
if (index === 2) return;
|
|
5398
|
-
return /* @__PURE__ */
|
|
5529
|
+
return /* @__PURE__ */ jsx51(KPIRow, { item });
|
|
5399
5530
|
})
|
|
5400
5531
|
] }),
|
|
5401
|
-
indicator.filter((item) => item.indicatorType === "TARGET").length > 2 || indicator.filter((item) => item.indicatorType === "OUTPUT").length > 2 ? /* @__PURE__ */
|
|
5532
|
+
indicator.filter((item) => item.indicatorType === "TARGET").length > 2 || indicator.filter((item) => item.indicatorType === "OUTPUT").length > 2 ? /* @__PURE__ */ jsx51("div", { className: "bottom-0 right-1/2 absolute text-gray-300", children: /* @__PURE__ */ jsx51(
|
|
5402
5533
|
IconDots,
|
|
5403
5534
|
{
|
|
5404
5535
|
className: "cursor-pointer",
|
|
5405
5536
|
onClick: () => setIsOpen(true)
|
|
5406
5537
|
}
|
|
5407
5538
|
) }) : void 0,
|
|
5408
|
-
/* @__PURE__ */
|
|
5539
|
+
/* @__PURE__ */ jsx51(
|
|
5409
5540
|
AntDModal,
|
|
5410
5541
|
{
|
|
5411
5542
|
isOpen,
|
|
5412
5543
|
onCancel: () => setIsOpen(false),
|
|
5413
5544
|
width: 600,
|
|
5414
|
-
children: /* @__PURE__ */
|
|
5415
|
-
/* @__PURE__ */
|
|
5416
|
-
/* @__PURE__ */
|
|
5417
|
-
/* @__PURE__ */
|
|
5545
|
+
children: /* @__PURE__ */ jsxs42("div", { className: "mt-10", children: [
|
|
5546
|
+
/* @__PURE__ */ jsxs42("div", { className: "grid grid-cols-[1fr_100px] justify-between items-center subtitle-2 ", children: [
|
|
5547
|
+
/* @__PURE__ */ jsx51("div", { className: "font-medium line-clamp-2", children: dataItem.name }),
|
|
5548
|
+
/* @__PURE__ */ jsx51(
|
|
5418
5549
|
"button",
|
|
5419
5550
|
{
|
|
5420
5551
|
type: "button",
|
|
@@ -5424,17 +5555,17 @@ function CardKPI({
|
|
|
5424
5555
|
}
|
|
5425
5556
|
)
|
|
5426
5557
|
] }),
|
|
5427
|
-
/* @__PURE__ */
|
|
5428
|
-
/* @__PURE__ */
|
|
5429
|
-
/* @__PURE__ */
|
|
5558
|
+
/* @__PURE__ */ jsxs42("div", { className: "p-4", children: [
|
|
5559
|
+
/* @__PURE__ */ jsxs42("div", { children: [
|
|
5560
|
+
/* @__PURE__ */ jsx51("span", { className: "body-1 border-b", children: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" }),
|
|
5430
5561
|
indicator.filter((ind) => ind.indicatorType === "TARGET").map((item, index) => {
|
|
5431
|
-
return /* @__PURE__ */
|
|
5562
|
+
return /* @__PURE__ */ jsx51(KPIRow, { item });
|
|
5432
5563
|
})
|
|
5433
5564
|
] }),
|
|
5434
|
-
/* @__PURE__ */
|
|
5435
|
-
/* @__PURE__ */
|
|
5565
|
+
/* @__PURE__ */ jsxs42("div", { children: [
|
|
5566
|
+
/* @__PURE__ */ jsx51("span", { className: "body-1 border-b", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
|
|
5436
5567
|
indicator.filter((ind) => ind.indicatorType === "OUTPUT").map((item, index) => {
|
|
5437
|
-
return /* @__PURE__ */
|
|
5568
|
+
return /* @__PURE__ */ jsx51(KPIRow, { item });
|
|
5438
5569
|
})
|
|
5439
5570
|
] })
|
|
5440
5571
|
] })
|
|
@@ -5493,6 +5624,8 @@ export {
|
|
|
5493
5624
|
TertiaryButton,
|
|
5494
5625
|
TextAreaInput,
|
|
5495
5626
|
TextInput,
|
|
5627
|
+
TimePickerBasic,
|
|
5628
|
+
TimePickerRangePicker,
|
|
5496
5629
|
TopNavBar,
|
|
5497
5630
|
messageError,
|
|
5498
5631
|
messageInfo,
|