@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/index.mjs CHANGED
@@ -1719,28 +1719,28 @@ function DatePickerRange({
1719
1719
  ] });
1720
1720
  }
1721
1721
 
1722
- // src/ColorPicker/ColorPickerBasic/ColorPicker.tsx
1723
- import { ConfigProvider as ConfigProvider8, ColorPicker } from "antd";
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 ColorPickerBasic({
1727
+ function TimePickerBasic({
1726
1728
  value,
1727
1729
  onChange,
1728
1730
  required,
1729
1731
  label,
1730
1732
  error,
1733
+ placeholder,
1731
1734
  disabled,
1732
- allowClear,
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__ */ jsx26("span", { children: placeholder });
1869
+ return /* @__PURE__ */ jsx28("span", { children: placeholder });
1765
1870
  }
1766
- return /* @__PURE__ */ jsxs19("span", { children: [
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__ */ jsx26("p", { className: "text-red-500 caption-1", children: error })
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 ConfigProvider9, ColorPicker as ColorPicker2, theme } from "antd";
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 jsx27, jsxs as jsxs20 } from "react/jsx-runtime";
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__ */ jsx27(
2512
- ConfigProvider9,
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__ */ jsxs20("div", { className: "container-input", children: [
2521
- /* @__PURE__ */ jsxs20("div", { children: [
2522
- /* @__PURE__ */ jsx27("span", { className: "body-1", children: label }),
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__ */ jsx27("span", { className: "text-red-500", children: "*" })
2629
+ required && /* @__PURE__ */ jsx29("span", { className: "text-red-500", children: "*" })
2525
2630
  ] }),
2526
- /* @__PURE__ */ jsx27(
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__ */ jsx27("span", { children: placeholder });
2644
+ return /* @__PURE__ */ jsx29("span", { children: placeholder });
2540
2645
  }
2541
- return /* @__PURE__ */ jsxs20("span", { children: [
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__ */ jsx27("p", { className: "text-red-500 caption-1", children: error })
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 ConfigProvider10 } from "antd";
2559
- import { jsx as jsx28, jsxs as jsxs21 } from "react/jsx-runtime";
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__ */ jsx28(
2580
- ConfigProvider10,
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__ */ jsxs21("div", { className: "container-input", children: [
2589
- /* @__PURE__ */ jsxs21("div", { children: [
2590
- /* @__PURE__ */ jsx28("span", { className: "body-1", children: label }),
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__ */ jsx28("span", { className: "text-red-500", children: "*" })
2697
+ required && /* @__PURE__ */ jsx30("span", { className: "text-red-500", children: "*" })
2593
2698
  ] }),
2594
- /* @__PURE__ */ jsx28(
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__ */ jsx28(
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__ */ jsx28("p", { className: "text-red-500 caption-1", children: error })
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 ConfigProvider11 } from "antd";
2635
- import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
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__ */ jsx29(
2655
- ConfigProvider11,
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__ */ jsxs22("div", { className: "container-input", children: [
2663
- /* @__PURE__ */ jsxs22("div", { children: [
2664
- /* @__PURE__ */ jsx29("span", { className: "body-1", children: label }),
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__ */ jsx29("span", { className: "text-red-500", children: "*" })
2771
+ required && /* @__PURE__ */ jsx31("span", { className: "text-red-500", children: "*" })
2667
2772
  ] }),
2668
- /* @__PURE__ */ jsx29(
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__ */ jsx29(
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__ */ jsx29("p", { className: "text-red-500 caption-1", children: error })
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 ConfigProvider12 } from "antd";
2812
+ import { Select as Select3, ConfigProvider as ConfigProvider14 } from "antd";
2708
2813
  import { DownOutlined } from "@ant-design/icons";
2709
- import { jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
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__ */ jsx30(
2725
- ConfigProvider12,
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__ */ jsxs23("div", { className: "container-input", children: [
2741
- /* @__PURE__ */ jsxs23("div", { children: [
2742
- /* @__PURE__ */ jsx30("span", { className: "body-1", children: label }),
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__ */ jsx30("span", { className: "text-red-500", children: "*" })
2849
+ required && /* @__PURE__ */ jsx32("span", { className: "text-red-500", children: "*" })
2745
2850
  ] }),
2746
- /* @__PURE__ */ jsx30(
2851
+ /* @__PURE__ */ jsx32(
2747
2852
  Select3,
2748
2853
  {
2749
2854
  size,
2750
2855
  disabled,
2751
- suffixIcon: /* @__PURE__ */ jsx30(DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
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__ */ jsx30("p", { className: "text-red-500 caption-1", children: error })
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 ConfigProvider13 } from "antd";
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 jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
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__ */ jsx31(
2796
- ConfigProvider13,
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__ */ jsxs24("div", { className: "container-input", children: [
2812
- /* @__PURE__ */ jsxs24("div", { children: [
2813
- /* @__PURE__ */ jsx31("span", { className: "body-1", children: label }),
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__ */ jsx31("span", { className: "text-red-500", children: "*" })
2920
+ required && /* @__PURE__ */ jsx33("span", { className: "text-red-500", children: "*" })
2816
2921
  ] }),
2817
- /* @__PURE__ */ jsx31(
2922
+ /* @__PURE__ */ jsx33(
2818
2923
  Select4,
2819
2924
  {
2820
2925
  size,
2821
2926
  disabled,
2822
- suffixIcon: /* @__PURE__ */ jsx31(DownOutlined2, { style: { color: value ? "#fff" : "#D9D9D9" } }),
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__ */ jsx31("p", { className: "text-red-500 caption-1", children: error })
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 ConfigProvider14 } from "antd";
2946
+ import { Select as Select5, ConfigProvider as ConfigProvider16 } from "antd";
2842
2947
  import { useState as useState8 } from "react";
2843
- import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
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__ */ jsx32(
2879
- ConfigProvider14,
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__ */ jsxs25("div", { className: "container-input", children: [
2887
- /* @__PURE__ */ jsxs25("div", { children: [
2888
- /* @__PURE__ */ jsx32("span", { className: "body-1", children: label }),
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__ */ jsx32("span", { className: "text-red-500", children: "*" })
2995
+ required && /* @__PURE__ */ jsx34("span", { className: "text-red-500", children: "*" })
2891
2996
  ] }),
2892
- /* @__PURE__ */ jsx32(
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__ */ jsx32("p", { className: "text-red-500 caption-1", children: error })
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 ConfigProvider15 } from "antd";
3025
+ import { Select as Select6, ConfigProvider as ConfigProvider17 } from "antd";
2921
3026
  import { useState as useState9 } from "react";
2922
- import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
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__ */ jsx33(
2954
- ConfigProvider15,
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__ */ jsxs26("div", { className: "container-input", children: [
2963
- /* @__PURE__ */ jsxs26("div", { children: [
2964
- /* @__PURE__ */ jsx33("span", { className: "body-1", children: label }),
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__ */ jsx33("span", { className: "text-red-500", children: "*" })
3071
+ required && /* @__PURE__ */ jsx35("span", { className: "text-red-500", children: "*" })
2967
3072
  ] }),
2968
- /* @__PURE__ */ jsx33(
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__ */ jsx33("p", { className: "text-red-500 caption-1", children: error }),
2982
- /* @__PURE__ */ jsx33("div", { className: "w-full p-[2px] overflow-y-auto", children: valueList.map((v, index) => /* @__PURE__ */ jsxs26(
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__ */ jsxs26("div", { className: "flex flex-row gap-[8px]", children: [
2988
- /* @__PURE__ */ jsxs26("p", { children: [
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__ */ jsx33("p", { children: v })
3097
+ /* @__PURE__ */ jsx35("p", { children: v })
2993
3098
  ] }),
2994
- /* @__PURE__ */ jsx33(
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 ConfigProvider16 } from "antd";
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 jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
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__ */ jsx34(
3056
- ConfigProvider16,
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__ */ jsxs27("div", { className: "w-full flex items-center justify-between", children: [
3064
- /* @__PURE__ */ jsxs27("div", { className: "w-full flex gap-[10px]", children: [
3065
- showYear && /* @__PURE__ */ jsx34("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx34(
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__ */ jsx34(CalendarOutlined, {}),
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__ */ jsx34("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx34(
3183
+ showMonth && /* @__PURE__ */ jsx36("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx36(
3079
3184
  SelectField,
3080
3185
  {
3081
- prefix: /* @__PURE__ */ jsx34(CalendarOutlined, {}),
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__ */ jsx34("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx34(
3196
+ showQuarter && /* @__PURE__ */ jsx36("div", { className: "w-[200px]", children: /* @__PURE__ */ jsx36(
3092
3197
  SelectField,
3093
3198
  {
3094
- prefix: /* @__PURE__ */ jsx34(CalendarOutlined, {}),
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__ */ jsxs27("div", { className: "flex gap-[10px]", children: [
3106
- /* @__PURE__ */ jsx34(
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__ */ jsx34(
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 jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
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__ */ jsxs28("div", { className: "w-full", children: [
3218
- label && /* @__PURE__ */ jsx35("p", { className: "body-1", children: label }),
3219
- !readOnly && /* @__PURE__ */ jsxs28("div", { className: uploaderWidth, children: [
3220
- mode === "upload" ? /* @__PURE__ */ jsx35(
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__ */ jsxs28(Fragment5, { children: [
3229
- /* @__PURE__ */ jsx35(Loader, { size: 15 }),
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__ */ jsxs28(Fragment5, { children: [
3232
- /* @__PURE__ */ jsx35(IconUpload, { size: 15, className: "text-gray-400" }),
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__ */ jsx35(
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__ */ jsxs28("div", { className: "flex justify-center items-center gap-2", children: [
3252
- /* @__PURE__ */ jsx35(Loader, { size: 15 }),
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__ */ jsxs28("div", { className: "flex flex-col items-center gap-2", children: [
3255
- /* @__PURE__ */ jsx35(IconUpload, { size: 20 }),
3256
- /* @__PURE__ */ jsx35("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" }),
3257
- /* @__PURE__ */ jsx35("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" })
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__ */ jsx35(
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__ */ jsx35("p", { className: "text-gray-400 body-4", children: description }),
3275
- /* @__PURE__ */ jsx35("div", { className: `mt-[8px] ${attachWidth}`, children: filesToDisplay.length !== 0 && /* @__PURE__ */ jsx35("div", { className: "flex flex-col rounded-[6px] body-1 border-[1px] border-gray-300", children: filesToDisplay.map((file, index) => /* @__PURE__ */ jsxs28(
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__ */ jsxs28("div", { className: "flex gap-2 overflow-hidden", children: [
3286
- /* @__PURE__ */ jsx35("div", { className: "w-[24px] h-[24px] flex items-center justify-center", children: /* @__PURE__ */ jsx35(IconFileDescription, { size: 20 }) }),
3287
- /* @__PURE__ */ jsx35("span", { className: "truncate", children: file.name || file.fileName })
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__ */ jsx35(
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 ConfigProvider17 } from "antd";
3434
+ import { ConfigProvider as ConfigProvider19 } from "antd";
3330
3435
  import { Breadcrumb } from "antd";
3331
- import { jsx as jsx36 } from "react/jsx-runtime";
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__ */ jsx36(
3340
- ConfigProvider17,
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__ */ jsx36(
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 ConfigProvider18 } from "antd";
3363
- import { jsx as jsx37, jsxs as jsxs29 } from "react/jsx-runtime";
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__ */ jsx37(
3372
- ConfigProvider18,
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__ */ jsxs29("div", { className: "flex flex-col gap-[10px] px-[20px] py-[10px]", children: [
3380
- /* @__PURE__ */ jsx37("p", { className: "headline-5", children: Heading }),
3381
- /* @__PURE__ */ jsxs29("p", { className: "body-1", children: [
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 ConfigProvider19, Progress } from "antd";
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 jsx38, jsxs as jsxs30 } from "react/jsx-runtime";
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__ */ jsx38(
3425
- ConfigProvider19,
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__ */ jsxs30("div", { className: "relative w-full", ref: progressRef, children: [
3433
- /* @__PURE__ */ jsx38(
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__ */ jsx38(
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 ConfigProvider20, message } from "antd";
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 jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
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__ */ jsx39(
3653
- ConfigProvider20,
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__ */ jsxs31("div", { className: "container-input", children: [
3766
+ children: /* @__PURE__ */ jsxs33("div", { className: "container-input", children: [
3662
3767
  messageContainer,
3663
- type === "number" && /* @__PURE__ */ jsxs31("div", { className: "space-y-4", children: [
3664
- /* @__PURE__ */ jsxs31("div", { className: "grid grid-cols-[1fr_200px_200px_50px] w-full gap-[24px] items-start", children: [
3665
- /* @__PURE__ */ jsx39(
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__ */ jsx39(
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__ */ jsx39(
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__ */ jsx39("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ jsx39(
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__ */ jsx39("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ jsxs31(
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__ */ jsxs31("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
3832
+ /* @__PURE__ */ jsxs33("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
3728
3833
  index + 1,
3729
3834
  "."
3730
3835
  ] }),
3731
- kpi.isEditing ? /* @__PURE__ */ jsxs31(Fragment6, { children: [
3732
- /* @__PURE__ */ jsx39(
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__ */ jsx39(
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__ */ jsx39(
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__ */ jsxs31(
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__ */ jsx39(
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__ */ jsx39(IconX2, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
3894
+ /* @__PURE__ */ jsx41(IconX2, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
3790
3895
  ]
3791
3896
  }
3792
3897
  )
3793
- ] }) : /* @__PURE__ */ jsxs31(Fragment6, { children: [
3794
- /* @__PURE__ */ jsx39("p", { className: "body-1", children: kpi.name }),
3795
- /* @__PURE__ */ jsx39("p", { className: "body-1", children: kpi.value }),
3796
- /* @__PURE__ */ jsx39("p", { className: "body-1", children: kpi.unit }),
3797
- /* @__PURE__ */ jsxs31("div", { className: "flex gap-3 justify-end", children: [
3798
- /* @__PURE__ */ jsx39(IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
3799
- /* @__PURE__ */ jsx39(IconTrash3, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
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__ */ jsxs31("div", { className: "space-y-4", children: [
3808
- /* @__PURE__ */ jsxs31("div", { className: "grid grid-cols-[1fr_50px] w-full gap-[24px] items-start", children: [
3809
- /* @__PURE__ */ jsx39(
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__ */ jsx39("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ jsx39(
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__ */ jsx39("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ jsxs31("div", { className: "grid grid-cols-[30px_1fr_80px] items-start py-2 body-1 gap-[8px]", children: [
3831
- /* @__PURE__ */ jsxs31("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
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__ */ jsxs31(Fragment6, { children: [
3836
- /* @__PURE__ */ jsx39(
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__ */ jsxs31(
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__ */ jsx39(
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__ */ jsx39(IconX2, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
3963
+ /* @__PURE__ */ jsx41(IconX2, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
3859
3964
  ]
3860
3965
  }
3861
3966
  )
3862
- ] }) : /* @__PURE__ */ jsxs31(Fragment6, { children: [
3863
- /* @__PURE__ */ jsx39("p", { className: "body-1", children: kpi.name }),
3864
- /* @__PURE__ */ jsxs31("div", { className: "flex gap-3 justify-end", children: [
3865
- /* @__PURE__ */ jsx39(IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
3866
- /* @__PURE__ */ jsx39(IconTrash3, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
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 jsx40 } from "react/jsx-runtime";
3983
+ import { jsx as jsx42 } from "react/jsx-runtime";
3879
3984
  function AntDModal({ children, isOpen, width, onCancel }) {
3880
- return /* @__PURE__ */ jsx40("div", { children: /* @__PURE__ */ jsx40(Modal, { open: isOpen, onCancel, width, centered: true, footer: null, children: /* @__PURE__ */ jsx40("div", { children }) }) });
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 jsx41, jsxs as jsxs32 } from "react/jsx-runtime";
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__ */ jsxs32("div", { className: "w-full", children: [
4014
- /* @__PURE__ */ jsxs32(
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__ */ jsx41(SwitchSelect, { option, onClick: handleClick, value: valueSwitch, label: "\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17", required: true }),
4020
- /* @__PURE__ */ jsx41(
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__ */ jsxs32(Fragment7, { children: [
4036
- /* @__PURE__ */ jsx41(
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__ */ jsx41(
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__ */ jsx41(IconCirclePlus2, { onClick: handleAddIndicator, className: "mt-8 cursor-pointer", size: 32 })
4173
+ /* @__PURE__ */ jsx43(IconCirclePlus2, { onClick: handleAddIndicator, className: "mt-8 cursor-pointer", size: 32 })
4069
4174
  ]
4070
4175
  }
4071
4176
  ),
4072
- /* @__PURE__ */ jsx41(Fragment7, { children: arrayData.map((item, index) => /* @__PURE__ */ jsxs32(
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__ */ jsx41("div", { className: "body-1 mt-2", children: item.inputType === "TEXT" ? "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" : "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02" }),
4078
- index === editIndex ? /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-[8px]", children: [
4079
- /* @__PURE__ */ jsx41(
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__ */ jsx41("p", { className: "text-red-500 caption-1", children: editError.textValue })
4093
- ] }) : /* @__PURE__ */ jsx41("div", { className: "body-1 mt-2", children: item.textValue }),
4094
- item.inputType === "NUMBER" && /* @__PURE__ */ jsxs32(Fragment7, { children: [
4095
- index === editIndex ? /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-[8px]", children: [
4096
- /* @__PURE__ */ jsx41(
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__ */ jsx41("p", { className: "text-red-500 caption-1", children: editError.numberValue })
4111
- ] }) : /* @__PURE__ */ jsx41("div", { className: "body-1 mt-2", children: item.numberValue }),
4112
- index === editIndex ? /* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-[8px]", children: [
4113
- /* @__PURE__ */ jsx41(
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__ */ jsx41("p", { className: "text-red-500 caption-1", children: editError.unit })
4127
- ] }) : /* @__PURE__ */ jsx41("div", { className: "body-1 mt-2", children: item.unit })
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__ */ jsx41("div", { className: "body-1 mt-2 flex", children: editIndex !== null ? editIndex === index ? /* @__PURE__ */ jsxs32("div", { className: "flex", children: [
4130
- /* @__PURE__ */ jsx41(
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__ */ jsx41(IconX3, { className: "cursor-pointer text-red-600", onClick: handleCancelEditIndicator })
4242
+ /* @__PURE__ */ jsx43(IconX3, { className: "cursor-pointer text-red-600", onClick: handleCancelEditIndicator })
4138
4243
  ] }) : void 0 : false }),
4139
- /* @__PURE__ */ jsx41("div", { className: "body-1 mt-2 cursor-pointer", children: /* @__PURE__ */ jsx41(
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 jsx42, jsxs as jsxs33 } from "react/jsx-runtime";
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__ */ jsxs33("div", { className: "relative", children: [
4173
- /* @__PURE__ */ jsxs33("button", { className: "flex px-2 py-1 rounded-lg border-1", onClick: () => setIsAction(!isAction), children: [
4174
- /* @__PURE__ */ jsx42(IconFilter2, {}),
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__ */ jsxs33("div", { className: "absolute bg-white p-5 rounded-lg shadow-2xl w-[600px]", children: [
4178
- /* @__PURE__ */ jsxs33("div", { className: "flex justify-end", children: [
4179
- /* @__PURE__ */ jsxs33("div", { className: "flex justify-end text-nowrap gap-2", children: [
4180
- /* @__PURE__ */ jsx42(GhostButton, { title: "\u0E43\u0E0A\u0E49\u0E1F\u0E34\u0E25\u0E40\u0E15\u0E2D\u0E23\u0E4C", onClick: handleSubmitFilter, iconLeft: /* @__PURE__ */ jsx42(IconCheck4, {}) }),
4181
- /* @__PURE__ */ jsx42(GhostButton, { title: "\u0E25\u0E49\u0E32\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14", onClick: handleClearFilter, iconLeft: /* @__PURE__ */ jsx42(IconTrash5, {}) })
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__ */ jsx42(
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 jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
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__ */ jsxs34("div", { ref: containerRef, className: "relative body-1", children: [
4262
- mode === "icon" ? /* @__PURE__ */ jsx43("div", { children: /* @__PURE__ */ jsx43(
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__ */ jsx43(
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__ */ jsx43("span", { className: "body-1 text-gray-400 select-none", children: placeholder }) : null : /* @__PURE__ */ jsxs34(Fragment8, { children: [
4275
- /* @__PURE__ */ jsx43("div", { className: "flex -space-x-2", children: visibleUsers.map((user) => /* @__PURE__ */ jsx43("div", { className: "flex items-center", children: /* @__PURE__ */ jsxs34("label", { className: "relative group cursor-pointer", children: [
4276
- /* @__PURE__ */ jsx43(
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__ */ jsx43(
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__ */ jsx43(IconX4, { className: "w-4 h-4 text-red-500" })
4402
+ children: /* @__PURE__ */ jsx45(IconX4, { className: "w-4 h-4 text-red-500" })
4298
4403
  }
4299
4404
  )
4300
4405
  ] }) }, user.id)) }),
4301
- showPlus && /* @__PURE__ */ jsxs34(
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__ */ jsxs34("div", { className: `w-full h-[40px] flex -space-x-2 p-2 ${className}`, children: [
4319
- visibleUsers.map((user) => /* @__PURE__ */ jsx43("div", { className: "flex items-center ", children: /* @__PURE__ */ jsx43("label", { className: "relative group ", children: /* @__PURE__ */ jsx43(
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__ */ jsxs34(
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__ */ jsxs34(
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__ */ jsxs34("div", { className: "flex border-1 rounded-md p-2 gap-2 items-center", children: [
4355
- /* @__PURE__ */ jsx43(IconSearch, {}),
4356
- /* @__PURE__ */ jsx43(
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__ */ jsx43("div", { className: "overflow-y-auto h-[250px] pt-2 px-4 body-3", children: noUserOption ? /* @__PURE__ */ jsx43("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__ */ jsx43("div", { className: "flex items-center justify-center h-full text-gray-400 select-none", children: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E39\u0E49\u0E04\u0E19\u0E17\u0E35\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32" }) : /* @__PURE__ */ jsxs34(Fragment8, { children: [
4368
- filteredAssigned.length > 0 && /* @__PURE__ */ jsxs34(Fragment8, { children: [
4369
- /* @__PURE__ */ jsx43("div", { className: "mb-1", children: "\u0E2A\u0E21\u0E32\u0E0A\u0E34\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01" }),
4370
- filteredAssigned.map((user) => /* @__PURE__ */ jsxs34(
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__ */ jsxs34("div", { className: "relative cursor-pointer", children: [
4376
- /* @__PURE__ */ jsx43(
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__ */ jsx43(
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__ */ jsx43(IconX4, { className: "text-red-500", size: 15 })
4499
+ children: /* @__PURE__ */ jsx45(IconX4, { className: "text-red-500", size: 15 })
4395
4500
  }
4396
4501
  )
4397
4502
  ] }),
4398
- /* @__PURE__ */ jsx43("span", { className: "ml-2", children: user.name })
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__ */ jsxs34(Fragment8, { children: [
4405
- /* @__PURE__ */ jsx43("div", { className: "mt-2", children: "\u0E1C\u0E39\u0E49\u0E04\u0E19" }),
4406
- filteredUnassigned.map((user) => /* @__PURE__ */ jsxs34(
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__ */ jsx43(
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__ */ jsx43("span", { className: "ml-2", children: user.name })
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 jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
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: "64"
4559
+ value: 64
4455
4560
  },
4456
4561
  {
4457
4562
  label: "128 x 128",
4458
- value: "128"
4563
+ value: 128
4459
4564
  },
4460
4565
  {
4461
4566
  label: "256 x 256",
4462
- value: "256"
4567
+ value: 256
4463
4568
  },
4464
4569
  {
4465
4570
  label: "512 x 512",
4466
- value: "512"
4571
+ value: 512
4467
4572
  },
4468
4573
  {
4469
4574
  label: "1024 x 1024",
4470
- value: "1024"
4575
+ value: 1024
4471
4576
  },
4472
4577
  {
4473
4578
  label: "2048 x 2048",
4474
- value: "2048"
4579
+ value: 2048
4475
4580
  },
4476
4581
  {
4477
4582
  label: "4096 x 4096",
4478
- value: "4096"
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(canvasRef.current, url, { width: previewSize, margin: 1 }, (error) => {
4498
- if (error) console.error(error);
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__ */ jsxs35("div", { style: { display: "inline-flex", flexDirection: "column", gap: 8 }, className: "justify-center items-center", children: [
4537
- url === "" ? /* @__PURE__ */ jsx44("div", { className: "border-1 p-2 mb-2", style: { width: `${previewSize}px`, height: `${previewSize}px` } }) : /* @__PURE__ */ jsx44("canvas", { ref: canvasRef, className: "border-1 p-2 mb-2" }),
4538
- /* @__PURE__ */ jsxs35(
4539
- "div",
4540
- {
4541
- style: {
4542
- display: "flex",
4543
- gap: 8,
4544
- alignItems: "center",
4545
- flexWrap: "wrap"
4546
- },
4547
- className: "flex-col",
4548
- children: [
4549
- /* @__PURE__ */ jsxs35("div", { className: "flex gap-2 mx-2", children: [
4550
- /* @__PURE__ */ jsx44("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ jsx44(
4551
- SelectField,
4552
- {
4553
- label: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A",
4554
- value: format5,
4555
- onChange: (e) => setFormat(e.target.value),
4556
- options: typeOption
4557
- }
4558
- ) }),
4559
- /* @__PURE__ */ jsx44("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ jsx44(
4560
- SelectField,
4561
- {
4562
- label: "\u0E02\u0E19\u0E32\u0E14 (px)",
4563
- value: exportSize,
4564
- onChange: (e) => setExportSize(Number(e.target.value)),
4565
- options: sizeOption
4566
- }
4567
- ) })
4568
- ] }),
4569
- /* @__PURE__ */ jsx44(PrimaryButton, { onClick: download, disabled: url === "", textColor: "white", title: "\u0E14\u0E32\u0E27\u0E42\u0E2B\u0E25\u0E14\u0E23\u0E2B\u0E31\u0E2A QR" })
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 ConfigProvider21, Tabs } from "antd";
4578
- import { jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
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__ */ jsx45(
4581
- ConfigProvider21,
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__ */ jsx45(
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__ */ jsxs36("span", { className: "tab-label flex gap-2 items-center body-1", children: [
4735
+ label: /* @__PURE__ */ jsxs38("span", { className: "tab-label flex gap-2 items-center body-1", children: [
4605
4736
  item.icon,
4606
- /* @__PURE__ */ jsx45("span", { children: item.label })
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 jsx46, jsxs as jsxs37 } from "react/jsx-runtime";
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__ */ jsx46("div", { ref: containerRef, style: { width: "100%" }, children: /* @__PURE__ */ jsxs37(
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__ */ jsx46("title", { children: "Bar chart" }),
4809
- /* @__PURE__ */ jsx46("g", { ref: gRef, transform: `translate(${margin.left},${margin.top})` }),
4810
- /* @__PURE__ */ jsx46("g", { ref: xAxisRef }),
4811
- /* @__PURE__ */ jsx46("g", { ref: yAxisRef })
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 jsx47, jsxs as jsxs38 } from "react/jsx-runtime";
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__ */ jsxs38("div", { children: [
4855
- title && /* @__PURE__ */ jsx47("p", { className: "body-2", children: title }),
4856
- description && /* @__PURE__ */ jsx47("p", { className: "caption-1", children: description }),
4857
- /* @__PURE__ */ jsxs38("div", { className: "flex", children: [
4858
- /* @__PURE__ */ jsx47("svg", { ref: svgRef }),
4859
- /* @__PURE__ */ jsx47("div", { className: "flex flex-col gap-2 body-3 pl-[200px]", children: dataSide.map((d, i) => /* @__PURE__ */ jsxs38("div", { className: "grid grid-cols-3 gap-2 items-center body-2", children: [
4860
- /* @__PURE__ */ jsx47("div", { className: "w-[20px] h-[20px]", style: { backgroundColor: d.color } }),
4861
- /* @__PURE__ */ jsx47("div", { children: d.label }),
4862
- /* @__PURE__ */ jsx47("div", { children: d.value })
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 jsx48, jsxs as jsxs39 } from "react/jsx-runtime";
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__ */ jsx48(IconHourglassEmpty, { className: "text-[#FFC654]" })
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__ */ jsx48(IconCircleX, { className: "text-[#D2D5DB]" })
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__ */ jsx48(IconRosetteDiscountCheck, { className: "text-[#81CF92]" })
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__ */ jsx48(IconRosetteDiscountCheck, { className: "text-[#81CF92]" })
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__ */ jsx48(IconClockExclamation, { className: "text-[#F4827E]" })
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__ */ jsxs39(
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__ */ jsxs39("div", { className: `grid ${mode === "project" ? "grid-cols-[10px_1fr]" : "grid-cols-[1fr]"} items-center gap-2`, children: [
4983
- mode === "project" && /* @__PURE__ */ jsx48(
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__ */ jsx48("div", { className: "line-clamp-1 break-words text-[#333]", title: element.label, children: element.label })
5123
+ /* @__PURE__ */ jsx50("div", { className: "line-clamp-1 break-words text-[#333]", title: element.label, children: element.label })
4993
5124
  ] }),
4994
- mode === "project" ? /* @__PURE__ */ jsx48("div", { children: safeEndDate ? format4(toBuddhistDate(safeEndDate), "dd MMM yyyy", { locale: th }) : "-" }) : /* @__PURE__ */ jsx48("div", { children: `Q${getQuarter(
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__ */ jsxs39("button", { className: "rounded-md subtitile-1 flex gap-2 align-start", children: [
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__ */ jsx48(
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__ */ jsx48(
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__ */ jsx48(
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__ */ jsxs39(
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__ */ jsx48("div", { className: "z-2", children: /* @__PURE__ */ jsx48(
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__ */ jsxs39(
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__ */ jsxs39("div", { ref: dataContainerRef, children: [
5268
- /* @__PURE__ */ jsxs39(
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__ */ jsx48("div", { children: "\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23" }),
5282
- /* @__PURE__ */ jsx48("div", { children: "\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E2A\u0E48\u0E07" }),
5283
- /* @__PURE__ */ jsx48("div", { children: "\u0E2A\u0E16\u0E32\u0E19\u0E30" })
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__ */ jsx48(
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__ */ jsx48("div", { className: "z-3", children: /* @__PURE__ */ jsx48(
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__ */ jsx48(
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__ */ jsx48(
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__ */ jsx48("svg", { ref: svgRef })
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 jsx49, jsxs as jsxs40 } from "react/jsx-runtime";
5474
+ import { Fragment as Fragment9, jsx as jsx51, jsxs as jsxs42 } from "react/jsx-runtime";
5344
5475
  function KPIRow({ item }) {
5345
- return /* @__PURE__ */ jsxs40(
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__ */ jsx49("div", { className: "line-clamp-2", children: item.textValue }),
5351
- item.inputType === "NUMBER" && /* @__PURE__ */ jsx49("span", { className: "flex", children: `${item.currentValue}/${item.numberValue} ${item.unit}` }),
5352
- item.inputType === "NUMBER" ? /* @__PURE__ */ jsx49("div", { className: "flex", children: /* @__PURE__ */ jsx49(ProgressBar, { percent: Math.floor(item.currentValue * 100 / (item.numberValue ?? 1)), type: "circle", checkpoints: [0] }) }) : /* @__PURE__ */ jsx49(Fragment9, { children: item.currentValue !== 0 ? /* @__PURE__ */ jsx49(IconRosetteDiscountCheck2, { className: "text-green-500 flex justify-center w-full", size: 30 }) : /* @__PURE__ */ jsx49(IconHourglassEmpty2, { className: "text-yellow-500 flex justify-center w-full", size: 30 }) })
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__ */ jsxs40(
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__ */ jsxs40("div", { className: "grid grid-cols-[1fr_70px] justify-between items-center", children: [
5372
- /* @__PURE__ */ jsx49("div", { className: "line-clamp-2 subtitle-2 ", children: dataItem.name }),
5373
- /* @__PURE__ */ jsx49("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx49(
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__ */ jsxs40("div", { className: "my-2 body-1", children: [
5384
- /* @__PURE__ */ jsx49("div", { className: "translate-y-2", children: "\u0E23\u0E49\u0E2D\u0E22\u0E25\u0E30\u0E02\u0E2D\u0E07\u0E01\u0E34\u0E08\u0E01\u0E23\u0E23\u0E21" }),
5385
- /* @__PURE__ */ jsx49(ProgressBar, { percent: overallPercent, type: "line", checkpoints: [0] })
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__ */ jsxs40("div", { className: "border-b", children: [
5388
- /* @__PURE__ */ jsx49("span", { className: "body-2 ", children: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" }),
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__ */ jsx49(KPIRow, { item });
5522
+ return /* @__PURE__ */ jsx51(KPIRow, { item });
5392
5523
  })
5393
5524
  ] }),
5394
- /* @__PURE__ */ jsxs40("div", { className: "pt-2", children: [
5395
- /* @__PURE__ */ jsx49("span", { className: "body-2 ", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
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__ */ jsx49(KPIRow, { item });
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__ */ jsx49("div", { className: "bottom-0 right-1/2 absolute text-gray-300", children: /* @__PURE__ */ jsx49(
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__ */ jsx49(
5539
+ /* @__PURE__ */ jsx51(
5409
5540
  AntDModal,
5410
5541
  {
5411
5542
  isOpen,
5412
5543
  onCancel: () => setIsOpen(false),
5413
5544
  width: 600,
5414
- children: /* @__PURE__ */ jsxs40("div", { className: "mt-10", children: [
5415
- /* @__PURE__ */ jsxs40("div", { className: "grid grid-cols-[1fr_100px] justify-between items-center subtitle-2 ", children: [
5416
- /* @__PURE__ */ jsx49("div", { className: "font-medium line-clamp-2", children: dataItem.name }),
5417
- /* @__PURE__ */ jsx49(
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__ */ jsxs40("div", { className: "p-4", children: [
5428
- /* @__PURE__ */ jsxs40("div", { children: [
5429
- /* @__PURE__ */ jsx49("span", { className: "body-1 border-b", children: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" }),
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__ */ jsx49(KPIRow, { item });
5562
+ return /* @__PURE__ */ jsx51(KPIRow, { item });
5432
5563
  })
5433
5564
  ] }),
5434
- /* @__PURE__ */ jsxs40("div", { children: [
5435
- /* @__PURE__ */ jsx49("span", { className: "body-1 border-b", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
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__ */ jsx49(KPIRow, { item });
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,