@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.js CHANGED
@@ -402,6 +402,8 @@ __export(index_exports, {
402
402
  TertiaryButton: () => TertiaryButton,
403
403
  TextAreaInput: () => TextAreaInput,
404
404
  TextInput: () => TextInput,
405
+ TimePickerBasic: () => TimePickerBasic,
406
+ TimePickerRangePicker: () => TimePickerRangePicker,
405
407
  TopNavBar: () => TopNavBar,
406
408
  messageError: () => messageError,
407
409
  messageInfo: () => messageInfo,
@@ -1785,28 +1787,28 @@ function DatePickerRange({
1785
1787
  ] });
1786
1788
  }
1787
1789
 
1788
- // src/ColorPicker/ColorPickerBasic/ColorPicker.tsx
1790
+ // src/TimePicker/TimePickerBasic/TimePickerBasic.tsx
1789
1791
  var import_antd8 = require("antd");
1792
+ var import_dayjs3 = __toESM(require_dayjs_min());
1793
+ var import_th_TH = __toESM(require("antd/locale/th_TH.js"));
1790
1794
  var import_jsx_runtime26 = require("react/jsx-runtime");
1791
- function ColorPickerBasic({
1795
+ function TimePickerBasic({
1792
1796
  value,
1793
1797
  onChange,
1794
1798
  required,
1795
1799
  label,
1796
1800
  error,
1801
+ placeholder,
1797
1802
  disabled,
1798
- allowClear,
1799
- defaultFormat,
1800
- className,
1801
- placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35"
1803
+ className
1802
1804
  }) {
1803
1805
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1804
1806
  import_antd8.ConfigProvider,
1805
1807
  {
1808
+ locale: import_th_TH.default,
1806
1809
  theme: {
1807
1810
  token: {
1808
- fontFamily: "Kanit",
1809
- fontSize: 16
1811
+ fontFamily: "Kanit"
1810
1812
  }
1811
1813
  },
1812
1814
  children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "container-input", children: [
@@ -1816,7 +1818,112 @@ function ColorPickerBasic({
1816
1818
  required && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-red-500", children: "*" })
1817
1819
  ] }),
1818
1820
  /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1819
- import_antd8.ColorPicker,
1821
+ import_antd8.TimePicker,
1822
+ {
1823
+ format: "HH:mm",
1824
+ className: `body-1 w-full ${className ?? ""}`,
1825
+ value: value ? (0, import_dayjs3.default)(value) : null,
1826
+ placeholder,
1827
+ onChange: (time) => {
1828
+ onChange(time ? time.toDate() : null);
1829
+ },
1830
+ allowClear: true,
1831
+ disabled
1832
+ }
1833
+ ),
1834
+ error && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-red-500 caption-1", children: error })
1835
+ ] })
1836
+ }
1837
+ );
1838
+ }
1839
+
1840
+ // src/TimePicker/TimePickerRangePicker/TimerPickerRangePicker.tsx
1841
+ var import_antd9 = require("antd");
1842
+ var import_dayjs4 = __toESM(require_dayjs_min());
1843
+ var import_th_TH2 = __toESM(require("antd/locale/th_TH.js"));
1844
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1845
+ function TimePickerRangePicker({
1846
+ value,
1847
+ onChange,
1848
+ placeholder = ["\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19", "\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14"],
1849
+ label,
1850
+ required,
1851
+ error,
1852
+ disabled,
1853
+ className
1854
+ }) {
1855
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1856
+ import_antd9.ConfigProvider,
1857
+ {
1858
+ locale: import_th_TH2.default,
1859
+ theme: {
1860
+ token: {
1861
+ fontFamily: "Kanit"
1862
+ }
1863
+ },
1864
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "container-input", children: [
1865
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { children: [
1866
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "body-1", children: label }),
1867
+ " ",
1868
+ required && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-red-500", children: "*" })
1869
+ ] }),
1870
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1871
+ import_antd9.TimePicker.RangePicker,
1872
+ {
1873
+ format: "HH:mm",
1874
+ value: value ? [value[0] ? (0, import_dayjs4.default)(value[0]) : null, value[1] ? (0, import_dayjs4.default)(value[1]) : null] : null,
1875
+ placeholder,
1876
+ className: `body-1 w-full ${className ?? ""}`,
1877
+ onChange: (dates, dateStrings) => {
1878
+ if (!dates) {
1879
+ onChange(null);
1880
+ } else {
1881
+ onChange([dates[0] ? dates[0].toDate() : null, dates[1] ? dates[1].toDate() : null]);
1882
+ }
1883
+ },
1884
+ allowClear: true,
1885
+ disabled,
1886
+ showNow: true
1887
+ }
1888
+ ),
1889
+ error && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "text-red-500 caption-1", children: error })
1890
+ ] })
1891
+ }
1892
+ );
1893
+ }
1894
+
1895
+ // src/ColorPicker/ColorPickerBasic/ColorPicker.tsx
1896
+ var import_antd10 = require("antd");
1897
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1898
+ function ColorPickerBasic({
1899
+ value,
1900
+ onChange,
1901
+ required,
1902
+ label,
1903
+ error,
1904
+ disabled,
1905
+ allowClear,
1906
+ defaultFormat,
1907
+ className,
1908
+ placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35"
1909
+ }) {
1910
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1911
+ import_antd10.ConfigProvider,
1912
+ {
1913
+ theme: {
1914
+ token: {
1915
+ fontFamily: "Kanit",
1916
+ fontSize: 16
1917
+ }
1918
+ },
1919
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "container-input", children: [
1920
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
1921
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "body-1", children: label }),
1922
+ " ",
1923
+ required && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-red-500", children: "*" })
1924
+ ] }),
1925
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1926
+ import_antd10.ColorPicker,
1820
1927
  {
1821
1928
  defaultFormat,
1822
1929
  className: `body-1 w-full ${className ?? ""}`,
@@ -1827,9 +1934,9 @@ function ColorPickerBasic({
1827
1934
  showText: (color) => {
1828
1935
  const hex = color.toHexString();
1829
1936
  if (!value) {
1830
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { children: placeholder });
1937
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { children: placeholder });
1831
1938
  }
1832
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("span", { children: [
1939
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("span", { children: [
1833
1940
  "(",
1834
1941
  hex,
1835
1942
  ")"
@@ -1838,14 +1945,14 @@ function ColorPickerBasic({
1838
1945
  disabled
1839
1946
  }
1840
1947
  ),
1841
- error && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-red-500 caption-1", children: error })
1948
+ error && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-red-500 caption-1", children: error })
1842
1949
  ] })
1843
1950
  }
1844
1951
  );
1845
1952
  }
1846
1953
 
1847
1954
  // src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
1848
- var import_antd9 = require("antd");
1955
+ var import_antd11 = require("antd");
1849
1956
 
1850
1957
  // node_modules/@babel/runtime/helpers/esm/typeof.js
1851
1958
  function _typeof(o) {
@@ -2547,7 +2654,7 @@ var greyDark = ["#151515", "#1f1f1f", "#2d2d2d", "#393939", "#494949", "#5a5a5a"
2547
2654
  greyDark.primary = greyDark[5];
2548
2655
 
2549
2656
  // src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
2550
- var import_jsx_runtime27 = require("react/jsx-runtime");
2657
+ var import_jsx_runtime29 = require("react/jsx-runtime");
2551
2658
  function genPresets(presets = presetPalettes) {
2552
2659
  return Object.entries(presets).map(([label, colors]) => ({
2553
2660
  label,
@@ -2568,14 +2675,14 @@ function ColorPalettePickerBasic({
2568
2675
  placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35",
2569
2676
  onClear
2570
2677
  }) {
2571
- const { token } = import_antd9.theme.useToken();
2678
+ const { token } = import_antd11.theme.useToken();
2572
2679
  const presets = genPresets({
2573
2680
  primary: generate(token.colorPrimary),
2574
2681
  red,
2575
2682
  green
2576
2683
  });
2577
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2578
- import_antd9.ConfigProvider,
2684
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2685
+ import_antd11.ConfigProvider,
2579
2686
  {
2580
2687
  theme: {
2581
2688
  token: {
@@ -2583,14 +2690,14 @@ function ColorPalettePickerBasic({
2583
2690
  fontSize: 16
2584
2691
  }
2585
2692
  },
2586
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "container-input", children: [
2587
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { children: [
2588
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "body-1", children: label }),
2693
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "container-input", children: [
2694
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
2695
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "body-1", children: label }),
2589
2696
  " ",
2590
- required && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-red-500", children: "*" })
2697
+ required && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-red-500", children: "*" })
2591
2698
  ] }),
2592
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2593
- import_antd9.ColorPicker,
2699
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2700
+ import_antd11.ColorPicker,
2594
2701
  {
2595
2702
  defaultFormat,
2596
2703
  className: `body-1 w-full ${className ?? ""}`,
@@ -2602,9 +2709,9 @@ function ColorPalettePickerBasic({
2602
2709
  showText: (color) => {
2603
2710
  const hex = color.toHexString();
2604
2711
  if (!value) {
2605
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: placeholder });
2712
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: placeholder });
2606
2713
  }
2607
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("span", { children: [
2714
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("span", { children: [
2608
2715
  "(",
2609
2716
  hex,
2610
2717
  ")"
@@ -2614,15 +2721,15 @@ function ColorPalettePickerBasic({
2614
2721
  onClear
2615
2722
  }
2616
2723
  ),
2617
- error && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "text-red-500 caption-1", children: error })
2724
+ error && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "text-red-500 caption-1", children: error })
2618
2725
  ] })
2619
2726
  }
2620
2727
  );
2621
2728
  }
2622
2729
 
2623
2730
  // src/Select/SelectField/SelectField.tsx
2624
- var import_antd10 = require("antd");
2625
- var import_jsx_runtime28 = require("react/jsx-runtime");
2731
+ var import_antd12 = require("antd");
2732
+ var import_jsx_runtime30 = require("react/jsx-runtime");
2626
2733
  function SelectField({
2627
2734
  value,
2628
2735
  onChange,
@@ -2642,8 +2749,8 @@ function SelectField({
2642
2749
  size = "middle",
2643
2750
  allowClear = true
2644
2751
  }) {
2645
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2646
- import_antd10.ConfigProvider,
2752
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2753
+ import_antd12.ConfigProvider,
2647
2754
  {
2648
2755
  theme: {
2649
2756
  token: {
@@ -2651,14 +2758,14 @@ function SelectField({
2651
2758
  fontSize: 16
2652
2759
  }
2653
2760
  },
2654
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "container-input", children: [
2655
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
2656
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "body-1", children: label }),
2761
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "container-input", children: [
2762
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { children: [
2763
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "body-1", children: label }),
2657
2764
  " ",
2658
- required && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-red-500", children: "*" })
2765
+ required && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "text-red-500", children: "*" })
2659
2766
  ] }),
2660
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2661
- import_antd10.Select,
2767
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2768
+ import_antd12.Select,
2662
2769
  {
2663
2770
  size,
2664
2771
  showSearch: true,
@@ -2673,7 +2780,7 @@ function SelectField({
2673
2780
  options,
2674
2781
  mode,
2675
2782
  onSearch: handleSearch,
2676
- prefix: prefix ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2783
+ prefix: prefix ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2677
2784
  "span",
2678
2785
  {
2679
2786
  style: {
@@ -2690,15 +2797,15 @@ function SelectField({
2690
2797
  onClear
2691
2798
  }
2692
2799
  ),
2693
- error && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-red-500 caption-1", children: error })
2800
+ error && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "text-red-500 caption-1", children: error })
2694
2801
  ] })
2695
2802
  }
2696
2803
  );
2697
2804
  }
2698
2805
 
2699
2806
  // src/Select/SelectFieldGroup/SelectFieldGroup.tsx
2700
- var import_antd11 = require("antd");
2701
- var import_jsx_runtime29 = require("react/jsx-runtime");
2807
+ var import_antd13 = require("antd");
2808
+ var import_jsx_runtime31 = require("react/jsx-runtime");
2702
2809
  function SelectFieldGroup({
2703
2810
  value,
2704
2811
  onChange,
@@ -2717,22 +2824,22 @@ function SelectFieldGroup({
2717
2824
  size = "middle",
2718
2825
  allowClear = true
2719
2826
  }) {
2720
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2721
- import_antd11.ConfigProvider,
2827
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2828
+ import_antd13.ConfigProvider,
2722
2829
  {
2723
2830
  theme: {
2724
2831
  token: {
2725
2832
  fontFamily: "Kanit"
2726
2833
  }
2727
2834
  },
2728
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "container-input", children: [
2729
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
2730
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "body-1", children: label }),
2835
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "container-input", children: [
2836
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { children: [
2837
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "body-1", children: label }),
2731
2838
  " ",
2732
- required && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-red-500", children: "*" })
2839
+ required && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-red-500", children: "*" })
2733
2840
  ] }),
2734
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2735
- import_antd11.Select,
2841
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2842
+ import_antd13.Select,
2736
2843
  {
2737
2844
  size,
2738
2845
  showSearch: true,
@@ -2747,7 +2854,7 @@ function SelectFieldGroup({
2747
2854
  options,
2748
2855
  mode,
2749
2856
  onSearch: handleSearch,
2750
- prefix: prefix ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2857
+ prefix: prefix ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2751
2858
  "span",
2752
2859
  {
2753
2860
  style: {
@@ -2763,16 +2870,16 @@ function SelectFieldGroup({
2763
2870
  allowClear
2764
2871
  }
2765
2872
  ),
2766
- error && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "text-red-500 caption-1", children: error })
2873
+ error && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-red-500 caption-1", children: error })
2767
2874
  ] })
2768
2875
  }
2769
2876
  );
2770
2877
  }
2771
2878
 
2772
2879
  // src/Select/SelectFieldStatus/SelectFieldStatus.tsx
2773
- var import_antd12 = require("antd");
2880
+ var import_antd14 = require("antd");
2774
2881
  var import_icons = require("@ant-design/icons");
2775
- var import_jsx_runtime30 = require("react/jsx-runtime");
2882
+ var import_jsx_runtime32 = require("react/jsx-runtime");
2776
2883
  function SelectFieldStatus({
2777
2884
  value,
2778
2885
  onChange,
@@ -2787,8 +2894,8 @@ function SelectFieldStatus({
2787
2894
  allowClear = false
2788
2895
  }) {
2789
2896
  const selectedItem = options?.find((s) => s.value === value);
2790
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2791
- import_antd12.ConfigProvider,
2897
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2898
+ import_antd14.ConfigProvider,
2792
2899
  {
2793
2900
  theme: {
2794
2901
  components: {
@@ -2803,18 +2910,18 @@ function SelectFieldStatus({
2803
2910
  fontFamily: "Kanit"
2804
2911
  }
2805
2912
  },
2806
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "container-input", children: [
2807
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { children: [
2808
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "body-1", children: label }),
2913
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "container-input", children: [
2914
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { children: [
2915
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "body-1", children: label }),
2809
2916
  " ",
2810
- required && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "text-red-500", children: "*" })
2917
+ required && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-red-500", children: "*" })
2811
2918
  ] }),
2812
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2813
- import_antd12.Select,
2919
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2920
+ import_antd14.Select,
2814
2921
  {
2815
2922
  size,
2816
2923
  disabled,
2817
- suffixIcon: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_icons.DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
2924
+ suffixIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_icons.DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
2818
2925
  value: value ? value : void 0,
2819
2926
  onChange,
2820
2927
  className: `body-3 custom-select flex justify-center w-full ${className ?? ""} `,
@@ -2826,14 +2933,14 @@ function SelectFieldStatus({
2826
2933
  allowClear
2827
2934
  }
2828
2935
  ),
2829
- error && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "text-red-500 caption-1", children: error })
2936
+ error && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-red-500 caption-1", children: error })
2830
2937
  ] })
2831
2938
  }
2832
2939
  );
2833
2940
  }
2834
2941
 
2835
2942
  // src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
2836
- var import_antd13 = require("antd");
2943
+ var import_antd15 = require("antd");
2837
2944
 
2838
2945
  // src/Select/SelectFieldStatusReport/StatusReportMockup.ts
2839
2946
  var status = [
@@ -2843,7 +2950,7 @@ var status = [
2843
2950
 
2844
2951
  // src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
2845
2952
  var import_icons2 = require("@ant-design/icons");
2846
- var import_jsx_runtime31 = require("react/jsx-runtime");
2953
+ var import_jsx_runtime33 = require("react/jsx-runtime");
2847
2954
  function SelectFieldStatusReport({
2848
2955
  value,
2849
2956
  onChange,
@@ -2858,8 +2965,8 @@ function SelectFieldStatusReport({
2858
2965
  allowClear = false
2859
2966
  }) {
2860
2967
  const selectedItem = status.find((s) => s.value === value);
2861
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2862
- import_antd13.ConfigProvider,
2968
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2969
+ import_antd15.ConfigProvider,
2863
2970
  {
2864
2971
  theme: {
2865
2972
  components: {
@@ -2874,18 +2981,18 @@ function SelectFieldStatusReport({
2874
2981
  fontFamily: "Kanit"
2875
2982
  }
2876
2983
  },
2877
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "container-input", children: [
2878
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { children: [
2879
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "body-1", children: label }),
2984
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "container-input", children: [
2985
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { children: [
2986
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "body-1", children: label }),
2880
2987
  " ",
2881
- required && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-red-500", children: "*" })
2988
+ required && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-red-500", children: "*" })
2882
2989
  ] }),
2883
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2884
- import_antd13.Select,
2990
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2991
+ import_antd15.Select,
2885
2992
  {
2886
2993
  size,
2887
2994
  disabled,
2888
- suffixIcon: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_icons2.DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
2995
+ suffixIcon: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons2.DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
2889
2996
  value: value ? value : void 0,
2890
2997
  onChange,
2891
2998
  className: `body-3 custom-select flex justify-center w-full ${className ?? ""}`,
@@ -2897,16 +3004,16 @@ function SelectFieldStatusReport({
2897
3004
  allowClear
2898
3005
  }
2899
3006
  ),
2900
- error && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-red-500 caption-1", children: error })
3007
+ error && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-red-500 caption-1", children: error })
2901
3008
  ] })
2902
3009
  }
2903
3010
  );
2904
3011
  }
2905
3012
 
2906
3013
  // src/Select/SelectFieldTag/SelectFieldTag.tsx
2907
- var import_antd14 = require("antd");
3014
+ var import_antd16 = require("antd");
2908
3015
  var import_react10 = require("react");
2909
- var import_jsx_runtime32 = require("react/jsx-runtime");
3016
+ var import_jsx_runtime34 = require("react/jsx-runtime");
2910
3017
  function SelectFieldTag({
2911
3018
  label,
2912
3019
  required,
@@ -2941,22 +3048,22 @@ function SelectFieldTag({
2941
3048
  }
2942
3049
  onChange?.([]);
2943
3050
  };
2944
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2945
- import_antd14.ConfigProvider,
3051
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3052
+ import_antd16.ConfigProvider,
2946
3053
  {
2947
3054
  theme: {
2948
3055
  token: {
2949
3056
  fontFamily: "Kanit"
2950
3057
  }
2951
3058
  },
2952
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "container-input", children: [
2953
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { children: [
2954
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "body-1", children: label }),
3059
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "container-input", children: [
3060
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { children: [
3061
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "body-1", children: label }),
2955
3062
  " ",
2956
- required && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-red-500", children: "*" })
3063
+ required && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-red-500", children: "*" })
2957
3064
  ] }),
2958
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2959
- import_antd14.Select,
3065
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3066
+ import_antd16.Select,
2960
3067
  {
2961
3068
  size,
2962
3069
  mode: "tags",
@@ -2975,7 +3082,7 @@ function SelectFieldTag({
2975
3082
  onClear
2976
3083
  }
2977
3084
  ),
2978
- error && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-red-500 caption-1", children: error })
3085
+ error && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-red-500 caption-1", children: error })
2979
3086
  ] })
2980
3087
  }
2981
3088
  );
@@ -2983,9 +3090,9 @@ function SelectFieldTag({
2983
3090
 
2984
3091
  // src/Select/SelectCustom/SelectCustom.tsx
2985
3092
  var import_icons_react8 = require("@tabler/icons-react");
2986
- var import_antd15 = require("antd");
3093
+ var import_antd17 = require("antd");
2987
3094
  var import_react11 = require("react");
2988
- var import_jsx_runtime33 = require("react/jsx-runtime");
3095
+ var import_jsx_runtime35 = require("react/jsx-runtime");
2989
3096
  function SelectCustom({
2990
3097
  label = "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23",
2991
3098
  placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01",
@@ -3016,8 +3123,8 @@ function SelectCustom({
3016
3123
  });
3017
3124
  };
3018
3125
  const filteredOptions = options.filter((opt) => !valueList.includes(opt.value)).map((opt) => ({ value: opt.value, label: opt.label }));
3019
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3020
- import_antd15.ConfigProvider,
3126
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3127
+ import_antd17.ConfigProvider,
3021
3128
  {
3022
3129
  theme: {
3023
3130
  token: {
@@ -3025,14 +3132,14 @@ function SelectCustom({
3025
3132
  fontSize: 16
3026
3133
  }
3027
3134
  },
3028
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "container-input", children: [
3029
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { children: [
3030
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "body-1", children: label }),
3135
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "container-input", children: [
3136
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { children: [
3137
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "body-1", children: label }),
3031
3138
  " ",
3032
- required && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-red-500", children: "*" })
3139
+ required && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-red-500", children: "*" })
3033
3140
  ] }),
3034
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3035
- import_antd15.Select,
3141
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3142
+ import_antd17.Select,
3036
3143
  {
3037
3144
  size,
3038
3145
  value: value ? value : void 0,
@@ -3044,20 +3151,20 @@ function SelectCustom({
3044
3151
  allowClear
3045
3152
  }
3046
3153
  ),
3047
- error && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-red-500 caption-1", children: error }),
3048
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-full p-[2px] overflow-y-auto", children: valueList.map((v, index) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3154
+ error && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-red-500 caption-1", children: error }),
3155
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "w-full p-[2px] overflow-y-auto", children: valueList.map((v, index) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
3049
3156
  "div",
3050
3157
  {
3051
3158
  className: "flex justify-between items-center py-[2px] body-1",
3052
3159
  children: [
3053
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-row gap-[8px]", children: [
3054
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("p", { children: [
3160
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-row gap-[8px]", children: [
3161
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("p", { children: [
3055
3162
  index + 1,
3056
3163
  "."
3057
3164
  ] }),
3058
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { children: v })
3165
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { children: v })
3059
3166
  ] }),
3060
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3167
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3061
3168
  import_icons_react8.IconTrash,
3062
3169
  {
3063
3170
  className: "cursor-pointer",
@@ -3074,7 +3181,7 @@ function SelectCustom({
3074
3181
  }
3075
3182
 
3076
3183
  // src/SortFilter/SortFilter.tsx
3077
- var import_antd16 = require("antd");
3184
+ var import_antd18 = require("antd");
3078
3185
  var import_icons3 = require("@ant-design/icons");
3079
3186
 
3080
3187
  // src/SortFilter/DataMockSortFilter.ts
@@ -3107,7 +3214,7 @@ var quarters = [
3107
3214
  // src/SortFilter/SortFilter.tsx
3108
3215
  var import_react12 = require("react");
3109
3216
  var import_icons_react9 = require("@tabler/icons-react");
3110
- var import_jsx_runtime34 = require("react/jsx-runtime");
3217
+ var import_jsx_runtime36 = require("react/jsx-runtime");
3111
3218
  function SortFilter({
3112
3219
  showYear = true,
3113
3220
  showQuarter = true,
@@ -3118,20 +3225,20 @@ function SortFilter({
3118
3225
  const [yearValue, setYearValue] = (0, import_react12.useState)();
3119
3226
  const [monthValue, setMonthValue] = (0, import_react12.useState)();
3120
3227
  const [quarterValue, setQuartersValue] = (0, import_react12.useState)();
3121
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3122
- import_antd16.ConfigProvider,
3228
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3229
+ import_antd18.ConfigProvider,
3123
3230
  {
3124
3231
  theme: {
3125
3232
  token: {
3126
3233
  fontFamily: "Kanit"
3127
3234
  }
3128
3235
  },
3129
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "w-full flex items-center justify-between", children: [
3130
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "w-full flex gap-[10px]", children: [
3131
- showYear && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-[200px]", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3236
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "w-full flex items-center justify-between", children: [
3237
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "w-full flex gap-[10px]", children: [
3238
+ showYear && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-[200px]", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3132
3239
  SelectField,
3133
3240
  {
3134
- prefix: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_icons3.CalendarOutlined, {}),
3241
+ prefix: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_icons3.CalendarOutlined, {}),
3135
3242
  onChange: setYearValue,
3136
3243
  options: years.map((s) => ({
3137
3244
  value: s.value,
@@ -3141,10 +3248,10 @@ function SortFilter({
3141
3248
  value: yearValue
3142
3249
  }
3143
3250
  ) }),
3144
- showMonth && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-[200px]", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3251
+ showMonth && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-[200px]", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3145
3252
  SelectField,
3146
3253
  {
3147
- prefix: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_icons3.CalendarOutlined, {}),
3254
+ prefix: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_icons3.CalendarOutlined, {}),
3148
3255
  onChange: setMonthValue,
3149
3256
  options: months.map((s) => ({
3150
3257
  value: s.value,
@@ -3154,10 +3261,10 @@ function SortFilter({
3154
3261
  placeholder: "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E14\u0E37\u0E2D\u0E19"
3155
3262
  }
3156
3263
  ) }),
3157
- showQuarter && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-[200px]", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3264
+ showQuarter && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-[200px]", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3158
3265
  SelectField,
3159
3266
  {
3160
- prefix: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_icons3.CalendarOutlined, {}),
3267
+ prefix: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_icons3.CalendarOutlined, {}),
3161
3268
  onChange: setQuartersValue,
3162
3269
  options: quarters.map((s) => ({
3163
3270
  value: s.value,
@@ -3168,8 +3275,8 @@ function SortFilter({
3168
3275
  }
3169
3276
  ) })
3170
3277
  ] }),
3171
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex gap-[10px]", children: [
3172
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3278
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex gap-[10px]", children: [
3279
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3173
3280
  import_icons_react9.IconSortDescending,
3174
3281
  {
3175
3282
  size: 24,
@@ -3177,7 +3284,7 @@ function SortFilter({
3177
3284
  onClick: onSortClick
3178
3285
  }
3179
3286
  ),
3180
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3287
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3181
3288
  import_icons_react9.IconFilter,
3182
3289
  {
3183
3290
  size: 24,
@@ -3194,7 +3301,7 @@ function SortFilter({
3194
3301
  // src/Upload/FileUploader/FileUploader.tsx
3195
3302
  var import_icons_react10 = require("@tabler/icons-react");
3196
3303
  var import_react13 = require("react");
3197
- var import_jsx_runtime35 = require("react/jsx-runtime");
3304
+ var import_jsx_runtime37 = require("react/jsx-runtime");
3198
3305
  function FileUploader({
3199
3306
  onUpload,
3200
3307
  onError,
@@ -3280,10 +3387,10 @@ function FileUploader({
3280
3387
  }
3281
3388
  if (inputRef.current) inputRef.current.value = "";
3282
3389
  };
3283
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "w-full", children: [
3284
- label && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "body-1", children: label }),
3285
- !readOnly && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: uploaderWidth, children: [
3286
- mode === "upload" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3390
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "w-full", children: [
3391
+ label && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "body-1", children: label }),
3392
+ !readOnly && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: uploaderWidth, children: [
3393
+ mode === "upload" ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3287
3394
  "button",
3288
3395
  {
3289
3396
  type: "button",
@@ -3291,16 +3398,16 @@ function FileUploader({
3291
3398
  className: `h-[34px] flex justify-center items-center gap-2 w-full rounded-[2px] border border-gray-200 body-1
3292
3399
  ${disabled ? "cursor-not-allowed text-gray-400 bg-gray-100" : "cursor-pointer hover:text-primary-400 hover:border-primary-200 duration-300"}`,
3293
3400
  disabled: disabled ? disabled : uploading,
3294
- children: uploading ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
3295
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loader, { size: 15 }),
3401
+ children: uploading ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
3402
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Loader, { size: 15 }),
3296
3403
  " \u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14"
3297
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
3298
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons_react10.IconUpload, { size: 15, className: "text-gray-400" }),
3404
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
3405
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons_react10.IconUpload, { size: 15, className: "text-gray-400" }),
3299
3406
  " ",
3300
3407
  uploadText
3301
3408
  ] })
3302
3409
  }
3303
- ) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3410
+ ) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3304
3411
  "div",
3305
3412
  {
3306
3413
  className: `w-full min-h-[120px] flex justify-center items-center border-2 border-dashed rounded-md p-4 transition-colors body-1
@@ -3314,17 +3421,17 @@ function FileUploader({
3314
3421
  },
3315
3422
  onDragLeave: () => setDragActive(false),
3316
3423
  onDrop: handleDrop,
3317
- children: uploading ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex justify-center items-center gap-2", children: [
3318
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loader, { size: 15 }),
3424
+ children: uploading ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex justify-center items-center gap-2", children: [
3425
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Loader, { size: 15 }),
3319
3426
  " \u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14"
3320
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col items-center gap-2", children: [
3321
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons_react10.IconUpload, { size: 20 }),
3322
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "body-1", children: "\u0E04\u0E25\u0E34\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E25\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C\u0E21\u0E32\u0E17\u0E35\u0E48\u0E1A\u0E23\u0E34\u0E40\u0E27\u0E13\u0E19\u0E35\u0E49\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14" }),
3323
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-gray-400 body-3", children: "\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E40\u0E14\u0E35\u0E48\u0E22\u0E27\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E25\u0E32\u0E22\u0E44\u0E1F\u0E25\u0E4C" })
3427
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex flex-col items-center gap-2", children: [
3428
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons_react10.IconUpload, { size: 20 }),
3429
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "body-1", children: "\u0E04\u0E25\u0E34\u0E01\u0E2B\u0E23\u0E37\u0E2D\u0E25\u0E32\u0E01\u0E44\u0E1F\u0E25\u0E4C\u0E21\u0E32\u0E17\u0E35\u0E48\u0E1A\u0E23\u0E34\u0E40\u0E27\u0E13\u0E19\u0E35\u0E49\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14" }),
3430
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-gray-400 body-3", children: "\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E1A\u0E1A\u0E40\u0E14\u0E35\u0E48\u0E22\u0E27\u0E2B\u0E23\u0E37\u0E2D\u0E2B\u0E25\u0E32\u0E22\u0E44\u0E1F\u0E25\u0E4C" })
3324
3431
  ] })
3325
3432
  }
3326
3433
  ),
3327
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3434
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3328
3435
  "input",
3329
3436
  {
3330
3437
  type: "file",
@@ -3337,8 +3444,8 @@ function FileUploader({
3337
3444
  }
3338
3445
  )
3339
3446
  ] }),
3340
- description && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-gray-400 body-4", children: description }),
3341
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: `mt-[8px] ${attachWidth}`, children: filesToDisplay.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex flex-col rounded-[6px] body-1 border-[1px] border-gray-300", children: filesToDisplay.map((file, index) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
3447
+ description && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-gray-400 body-4", children: description }),
3448
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: `mt-[8px] ${attachWidth}`, children: filesToDisplay.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex flex-col rounded-[6px] body-1 border-[1px] border-gray-300", children: filesToDisplay.map((file, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
3342
3449
  "div",
3343
3450
  {
3344
3451
  className: `flex px-[16px] hover:bg-primary-50 hover:cursor-pointer
@@ -3348,11 +3455,11 @@ function FileUploader({
3348
3455
  ${index !== 0 ? "pt-[16px]" : ""}`,
3349
3456
  onClick: () => onClickFile && onClickFile(file),
3350
3457
  children: [
3351
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex gap-2 overflow-hidden", children: [
3352
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "w-[24px] h-[24px] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons_react10.IconFileDescription, { size: 20 }) }),
3353
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "truncate", children: file.name || file.fileName })
3458
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex gap-2 overflow-hidden", children: [
3459
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "w-[24px] h-[24px] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons_react10.IconFileDescription, { size: 20 }) }),
3460
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "truncate", children: file.name || file.fileName })
3354
3461
  ] }),
3355
- !readOnly && !disabled && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3462
+ !readOnly && !disabled && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3356
3463
  import_icons_react10.IconTrash,
3357
3464
  {
3358
3465
  size: 20,
@@ -3392,9 +3499,9 @@ function messageLoading(content, duration) {
3392
3499
  }
3393
3500
 
3394
3501
  // src/Breadcrumb/Breadcrumb.tsx
3395
- var import_antd17 = require("antd");
3396
- var import_antd18 = require("antd");
3397
- var import_jsx_runtime36 = require("react/jsx-runtime");
3502
+ var import_antd19 = require("antd");
3503
+ var import_antd20 = require("antd");
3504
+ var import_jsx_runtime38 = require("react/jsx-runtime");
3398
3505
  function Breadcrumbs({
3399
3506
  items,
3400
3507
  separator,
@@ -3402,16 +3509,16 @@ function Breadcrumbs({
3402
3509
  classname,
3403
3510
  params
3404
3511
  }) {
3405
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3406
- import_antd17.ConfigProvider,
3512
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3513
+ import_antd19.ConfigProvider,
3407
3514
  {
3408
3515
  theme: {
3409
3516
  token: {
3410
3517
  fontFamily: "Kanit"
3411
3518
  }
3412
3519
  },
3413
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3414
- import_antd18.Breadcrumb,
3520
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3521
+ import_antd20.Breadcrumb,
3415
3522
  {
3416
3523
  items,
3417
3524
  separator,
@@ -3425,8 +3532,8 @@ function Breadcrumbs({
3425
3532
  }
3426
3533
 
3427
3534
  // src/HeadingPage/HeadingPage.tsx
3428
- var import_antd19 = require("antd");
3429
- var import_jsx_runtime37 = require("react/jsx-runtime");
3535
+ var import_antd21 = require("antd");
3536
+ var import_jsx_runtime39 = require("react/jsx-runtime");
3430
3537
  function HeadingPage({ Heading }) {
3431
3538
  const today = (/* @__PURE__ */ new Date()).toLocaleDateString("th-TH", {
3432
3539
  weekday: "long",
@@ -3434,17 +3541,17 @@ function HeadingPage({ Heading }) {
3434
3541
  month: "long",
3435
3542
  year: "numeric"
3436
3543
  });
3437
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3438
- import_antd19.ConfigProvider,
3544
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3545
+ import_antd21.ConfigProvider,
3439
3546
  {
3440
3547
  theme: {
3441
3548
  token: {
3442
3549
  fontFamily: "Kanit"
3443
3550
  }
3444
3551
  },
3445
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex flex-col gap-[10px] px-[20px] py-[10px]", children: [
3446
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "headline-5", children: Heading }),
3447
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("p", { className: "body-1", children: [
3552
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-col gap-[10px] px-[20px] py-[10px]", children: [
3553
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "headline-5", children: Heading }),
3554
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("p", { className: "body-1", children: [
3448
3555
  " \u0E27\u0E31\u0E19\u0E19\u0E35\u0E49 ",
3449
3556
  today
3450
3557
  ] })
@@ -3454,9 +3561,9 @@ function HeadingPage({ Heading }) {
3454
3561
  }
3455
3562
 
3456
3563
  // src/Progress/ProgressBar.tsx
3457
- var import_antd20 = require("antd");
3564
+ var import_antd22 = require("antd");
3458
3565
  var import_react14 = require("react");
3459
- var import_jsx_runtime38 = require("react/jsx-runtime");
3566
+ var import_jsx_runtime40 = require("react/jsx-runtime");
3460
3567
  function ProgressBar({
3461
3568
  percent = 0,
3462
3569
  size = "default",
@@ -3487,17 +3594,17 @@ function ProgressBar({
3487
3594
  observer.observe(inner);
3488
3595
  return () => observer.disconnect();
3489
3596
  }, []);
3490
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3491
- import_antd20.ConfigProvider,
3597
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3598
+ import_antd22.ConfigProvider,
3492
3599
  {
3493
3600
  theme: {
3494
3601
  token: {
3495
3602
  fontFamily: "Kanit"
3496
3603
  }
3497
3604
  },
3498
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "relative w-full", ref: progressRef, children: [
3499
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3500
- import_antd20.Progress,
3605
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "relative w-full", ref: progressRef, children: [
3606
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3607
+ import_antd22.Progress,
3501
3608
  {
3502
3609
  className: "w-full",
3503
3610
  percent,
@@ -3512,7 +3619,7 @@ function ProgressBar({
3512
3619
  strokeColor
3513
3620
  }
3514
3621
  ),
3515
- barWidth > 0 && isCheckPoints && type !== "circle" && checkpoints.map((cp) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3622
+ barWidth > 0 && isCheckPoints && type !== "circle" && checkpoints.map((cp) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3516
3623
  "div",
3517
3624
  {
3518
3625
  className: "checkpoint absolute top-0",
@@ -3534,7 +3641,7 @@ function ProgressBar({
3534
3641
  }
3535
3642
 
3536
3643
  // src/KpiSection/KpiSection.tsx
3537
- var import_antd21 = require("antd");
3644
+ var import_antd23 = require("antd");
3538
3645
  var import_react16 = require("react");
3539
3646
 
3540
3647
  // src/KpiSection/hooks/useGetKpiSection.ts
@@ -3685,7 +3792,7 @@ function useGetKpiSection() {
3685
3792
 
3686
3793
  // src/KpiSection/KpiSection.tsx
3687
3794
  var import_icons_react11 = require("@tabler/icons-react");
3688
- var import_jsx_runtime39 = require("react/jsx-runtime");
3795
+ var import_jsx_runtime41 = require("react/jsx-runtime");
3689
3796
  function KpiSection({ type, onChangeKpiList }) {
3690
3797
  const {
3691
3798
  handleAddKpi,
@@ -3705,7 +3812,7 @@ function KpiSection({ type, onChangeKpiList }) {
3705
3812
  itemErrors,
3706
3813
  setItemErrors
3707
3814
  } = useGetKpiSection();
3708
- const [messageApi2, messageContainer] = import_antd21.message.useMessage();
3815
+ const [messageApi2, messageContainer] = import_antd23.message.useMessage();
3709
3816
  const [hasShownError, setHasShownError] = (0, import_react16.useState)(false);
3710
3817
  (0, import_react16.useEffect)(() => {
3711
3818
  setMessageApi(messageApi2);
@@ -3715,8 +3822,8 @@ function KpiSection({ type, onChangeKpiList }) {
3715
3822
  onChangeKpiList(kpiList);
3716
3823
  }
3717
3824
  }, [kpiList]);
3718
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3719
- import_antd21.ConfigProvider,
3825
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3826
+ import_antd23.ConfigProvider,
3720
3827
  {
3721
3828
  theme: {
3722
3829
  token: {
@@ -3724,11 +3831,11 @@ function KpiSection({ type, onChangeKpiList }) {
3724
3831
  fontSize: 16
3725
3832
  }
3726
3833
  },
3727
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "container-input", children: [
3834
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "container-input", children: [
3728
3835
  messageContainer,
3729
- type === "number" && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "space-y-4", children: [
3730
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "grid grid-cols-[1fr_200px_200px_50px] w-full gap-[24px] items-start", children: [
3731
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3836
+ type === "number" && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "space-y-4", children: [
3837
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "grid grid-cols-[1fr_200px_200px_50px] w-full gap-[24px] items-start", children: [
3838
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3732
3839
  InputField,
3733
3840
  {
3734
3841
  value: nameKpi,
@@ -3740,7 +3847,7 @@ function KpiSection({ type, onChangeKpiList }) {
3740
3847
  error: errors.nameKpi
3741
3848
  }
3742
3849
  ),
3743
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3850
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3744
3851
  InputField,
3745
3852
  {
3746
3853
  value: kpiValue,
@@ -3764,7 +3871,7 @@ function KpiSection({ type, onChangeKpiList }) {
3764
3871
  error: errors.kpiValue
3765
3872
  }
3766
3873
  ),
3767
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3874
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3768
3875
  InputField,
3769
3876
  {
3770
3877
  value: unitValue,
@@ -3776,7 +3883,7 @@ function KpiSection({ type, onChangeKpiList }) {
3776
3883
  error: errors.unitValue
3777
3884
  }
3778
3885
  ),
3779
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3886
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3780
3887
  import_icons_react11.IconCirclePlus,
3781
3888
  {
3782
3889
  className: "w-[40px] h-[40px] cursor-pointer hover:scale-110 transition",
@@ -3785,17 +3892,17 @@ function KpiSection({ type, onChangeKpiList }) {
3785
3892
  }
3786
3893
  ) })
3787
3894
  ] }),
3788
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3895
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
3789
3896
  "div",
3790
3897
  {
3791
3898
  className: "grid grid-cols-[30px_1fr_100px_120px_80px] items-start py-2 body-1 gap-[8px]",
3792
3899
  children: [
3793
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
3900
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
3794
3901
  index + 1,
3795
3902
  "."
3796
3903
  ] }),
3797
- kpi.isEditing ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
3798
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3904
+ kpi.isEditing ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
3905
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3799
3906
  InputField,
3800
3907
  {
3801
3908
  value: kpi.name,
@@ -3805,7 +3912,7 @@ function KpiSection({ type, onChangeKpiList }) {
3805
3912
  error: itemErrors[kpi.id]?.name
3806
3913
  }
3807
3914
  ),
3808
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3915
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3809
3916
  InputField,
3810
3917
  {
3811
3918
  value: kpi.value?.toString(),
@@ -3830,7 +3937,7 @@ function KpiSection({ type, onChangeKpiList }) {
3830
3937
  error: itemErrors[kpi.id]?.value
3831
3938
  }
3832
3939
  ),
3833
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3940
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3834
3941
  InputField,
3835
3942
  {
3836
3943
  value: kpi.unit,
@@ -3840,29 +3947,29 @@ function KpiSection({ type, onChangeKpiList }) {
3840
3947
  error: itemErrors[kpi.id]?.unit
3841
3948
  }
3842
3949
  ),
3843
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3950
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
3844
3951
  "div",
3845
3952
  {
3846
3953
  className: `flex gap-2 justify-end self-center ${!!itemErrors[kpi.id]?.value || !!itemErrors[kpi.id]?.unit || !!itemErrors[kpi.id]?.name ? "mt-[-12px]" : ""}`,
3847
3954
  children: [
3848
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3955
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3849
3956
  import_icons_react11.IconCheck,
3850
3957
  {
3851
3958
  className: "w-[30px] h-[30px] cursor-pointer",
3852
3959
  onClick: () => handleSave(kpi.id, type)
3853
3960
  }
3854
3961
  ),
3855
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconX, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
3962
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_icons_react11.IconX, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
3856
3963
  ]
3857
3964
  }
3858
3965
  )
3859
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
3860
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "body-1", children: kpi.name }),
3861
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "body-1", children: kpi.value }),
3862
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "body-1", children: kpi.unit }),
3863
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex gap-3 justify-end", children: [
3864
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
3865
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconTrash, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
3966
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
3967
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "body-1", children: kpi.name }),
3968
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "body-1", children: kpi.value }),
3969
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "body-1", children: kpi.unit }),
3970
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex gap-3 justify-end", children: [
3971
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_icons_react11.IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
3972
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_icons_react11.IconTrash, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
3866
3973
  ] })
3867
3974
  ] })
3868
3975
  ]
@@ -3870,9 +3977,9 @@ function KpiSection({ type, onChangeKpiList }) {
3870
3977
  kpi.id
3871
3978
  )) })
3872
3979
  ] }),
3873
- type === "text" && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "space-y-4", children: [
3874
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "grid grid-cols-[1fr_50px] w-full gap-[24px] items-start", children: [
3875
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3980
+ type === "text" && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "space-y-4", children: [
3981
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "grid grid-cols-[1fr_50px] w-full gap-[24px] items-start", children: [
3982
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3876
3983
  InputField,
3877
3984
  {
3878
3985
  value: nameKpi,
@@ -3884,7 +3991,7 @@ function KpiSection({ type, onChangeKpiList }) {
3884
3991
  error: errors.nameKpi
3885
3992
  }
3886
3993
  ),
3887
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3994
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: `flex justify-end mt-[28px]`, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3888
3995
  import_icons_react11.IconCirclePlus,
3889
3996
  {
3890
3997
  className: "w-[40px] h-[40px] cursor-pointer hover:scale-110 transition",
@@ -3893,13 +4000,13 @@ function KpiSection({ type, onChangeKpiList }) {
3893
4000
  }
3894
4001
  ) })
3895
4002
  ] }),
3896
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "grid grid-cols-[30px_1fr_80px] items-start py-2 body-1 gap-[8px]", children: [
3897
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
4003
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { children: kpiList.map((kpi, index) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "grid grid-cols-[30px_1fr_80px] items-start py-2 body-1 gap-[8px]", children: [
4004
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("p", { className: `body-1 ${kpi.isEditing ? "mt-[12px]" : ""}`, children: [
3898
4005
  index + 1,
3899
4006
  "."
3900
4007
  ] }),
3901
- kpi.isEditing ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
3902
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4008
+ kpi.isEditing ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
4009
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3903
4010
  InputField,
3904
4011
  {
3905
4012
  value: kpi.name,
@@ -3909,27 +4016,27 @@ function KpiSection({ type, onChangeKpiList }) {
3909
4016
  error: itemErrors[kpi.id]?.name
3910
4017
  }
3911
4018
  ),
3912
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
4019
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
3913
4020
  "div",
3914
4021
  {
3915
4022
  className: `flex gap-2 justify-end self-center ${!!itemErrors[kpi.id]?.name ? "mt-[-12px]" : ""}`,
3916
4023
  children: [
3917
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4024
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3918
4025
  import_icons_react11.IconCheck,
3919
4026
  {
3920
4027
  className: "w-[30px] h-[30px] cursor-pointer",
3921
4028
  onClick: () => handleSave(kpi.id, type)
3922
4029
  }
3923
4030
  ),
3924
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconX, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
4031
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_icons_react11.IconX, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleCancel(kpi.id) })
3925
4032
  ]
3926
4033
  }
3927
4034
  )
3928
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
3929
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "body-1", children: kpi.name }),
3930
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex gap-3 justify-end", children: [
3931
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
3932
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons_react11.IconTrash, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
4035
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
4036
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "body-1", children: kpi.name }),
4037
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex gap-3 justify-end", children: [
4038
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_icons_react11.IconPencil, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleEdit(kpi.id) }),
4039
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_icons_react11.IconTrash, { className: "w-[30px] h-[30px] cursor-pointer", onClick: () => handleDelete(kpi.id) })
3933
4040
  ] })
3934
4041
  ] })
3935
4042
  ] }, kpi.id)) })
@@ -3940,17 +4047,17 @@ function KpiSection({ type, onChangeKpiList }) {
3940
4047
  }
3941
4048
 
3942
4049
  // src/Modal/Modal/Modal.tsx
3943
- var import_antd22 = require("antd");
3944
- var import_jsx_runtime40 = require("react/jsx-runtime");
4050
+ var import_antd24 = require("antd");
4051
+ var import_jsx_runtime42 = require("react/jsx-runtime");
3945
4052
  function AntDModal({ children, isOpen, width, onCancel }) {
3946
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_antd22.Modal, { open: isOpen, onCancel, width, centered: true, footer: null, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { children }) }) });
4053
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_antd24.Modal, { open: isOpen, onCancel, width, centered: true, footer: null, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children }) }) });
3947
4054
  }
3948
4055
 
3949
4056
  // src/Indicator/Indicator/Indicator.tsx
3950
4057
  var import_icons_react12 = require("@tabler/icons-react");
3951
4058
  var import_react17 = require("react");
3952
- var import_antd23 = require("antd");
3953
- var import_jsx_runtime41 = require("react/jsx-runtime");
4059
+ var import_antd25 = require("antd");
4060
+ var import_jsx_runtime43 = require("react/jsx-runtime");
3954
4061
  function Indicator({
3955
4062
  option = [
3956
4063
  { value: "TEXT", label: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" },
@@ -4076,14 +4183,14 @@ function Indicator({
4076
4183
  [name]: value
4077
4184
  }));
4078
4185
  };
4079
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "w-full", children: [
4080
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4186
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "w-full", children: [
4187
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4081
4188
  "div",
4082
4189
  {
4083
4190
  className: `space-x-2 grid ${valueSwitch === "TEXT" ? `grid-cols-[140px_1fr_50px]` : `grid-cols-[140px_1fr_200px_200px_50px]`} items-start`,
4084
4191
  children: [
4085
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SwitchSelect, { option, onClick: handleClick, value: valueSwitch, label: "\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17", required: true }),
4086
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4192
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SwitchSelect, { option, onClick: handleClick, value: valueSwitch, label: "\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17", required: true }),
4193
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4087
4194
  InputField,
4088
4195
  {
4089
4196
  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"}`,
@@ -4098,8 +4205,8 @@ function Indicator({
4098
4205
  error: addError.textValue
4099
4206
  }
4100
4207
  ),
4101
- valueSwitch === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
4102
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4208
+ valueSwitch === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
4209
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4103
4210
  InputFieldNumber,
4104
4211
  {
4105
4212
  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"}`,
@@ -4115,7 +4222,7 @@ function Indicator({
4115
4222
  error: addError.numberValue
4116
4223
  }
4117
4224
  ),
4118
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4225
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4119
4226
  InputField,
4120
4227
  {
4121
4228
  label: `\u0E2B\u0E19\u0E48\u0E27\u0E22`,
@@ -4131,19 +4238,19 @@ function Indicator({
4131
4238
  }
4132
4239
  )
4133
4240
  ] }),
4134
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_icons_react12.IconCirclePlus, { onClick: handleAddIndicator, className: "mt-8 cursor-pointer", size: 32 })
4241
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_icons_react12.IconCirclePlus, { onClick: handleAddIndicator, className: "mt-8 cursor-pointer", size: 32 })
4135
4242
  ]
4136
4243
  }
4137
4244
  ),
4138
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, { children: arrayData.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4245
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, { children: arrayData.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4139
4246
  "div",
4140
4247
  {
4141
4248
  className: `space-y-2 grid ${item.inputType === "TEXT" ? `grid-cols-[140px_1fr_50px_50px]` : `grid-cols-[140px_1fr_200px_150px_50px_50px]`} items-start`,
4142
4249
  children: [
4143
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2", children: item.inputType === "TEXT" ? "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" : "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02" }),
4144
- index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
4145
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4146
- import_antd23.Input,
4250
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "body-1 mt-2", children: item.inputType === "TEXT" ? "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" : "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02" }),
4251
+ index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
4252
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4253
+ import_antd25.Input,
4147
4254
  {
4148
4255
  className: "body-1 mt-2",
4149
4256
  variant: "underlined",
@@ -4155,12 +4262,12 @@ function Indicator({
4155
4262
  }
4156
4263
  }
4157
4264
  ),
4158
- editError.textValue && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "text-red-500 caption-1", children: editError.textValue })
4159
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2", children: item.textValue }),
4160
- item.inputType === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
4161
- index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
4162
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4163
- import_antd23.Input,
4265
+ editError.textValue && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-red-500 caption-1", children: editError.textValue })
4266
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "body-1 mt-2", children: item.textValue }),
4267
+ item.inputType === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
4268
+ index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
4269
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4270
+ import_antd25.Input,
4164
4271
  {
4165
4272
  type: "number",
4166
4273
  className: "body-1 mt-2",
@@ -4173,11 +4280,11 @@ function Indicator({
4173
4280
  }
4174
4281
  }
4175
4282
  ),
4176
- editError.numberValue && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "text-red-500 caption-1", children: editError.numberValue })
4177
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2", children: item.numberValue }),
4178
- index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
4179
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4180
- import_antd23.Input,
4283
+ editError.numberValue && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-red-500 caption-1", children: editError.numberValue })
4284
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "body-1 mt-2", children: item.numberValue }),
4285
+ index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
4286
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4287
+ import_antd25.Input,
4181
4288
  {
4182
4289
  className: "body-1 mt-2",
4183
4290
  variant: "underlined",
@@ -4189,20 +4296,20 @@ function Indicator({
4189
4296
  }
4190
4297
  }
4191
4298
  ),
4192
- editError.unit && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "text-red-500 caption-1", children: editError.unit })
4193
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2", children: item.unit })
4299
+ editError.unit && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-red-500 caption-1", children: editError.unit })
4300
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "body-1 mt-2", children: item.unit })
4194
4301
  ] }),
4195
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2 flex", children: editIndex !== null ? editIndex === index ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex", children: [
4196
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4302
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "body-1 mt-2 flex", children: editIndex !== null ? editIndex === index ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex", children: [
4303
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4197
4304
  import_icons_react12.IconCheck,
4198
4305
  {
4199
4306
  className: "cursor-pointer text-green-600",
4200
4307
  onClick: () => handleConfirmEditIndicator(index)
4201
4308
  }
4202
4309
  ),
4203
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_icons_react12.IconX, { className: "cursor-pointer text-red-600", onClick: handleCancelEditIndicator })
4310
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_icons_react12.IconX, { className: "cursor-pointer text-red-600", onClick: handleCancelEditIndicator })
4204
4311
  ] }) : void 0 : false }),
4205
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "body-1 mt-2 cursor-pointer", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4312
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "body-1 mt-2 cursor-pointer", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4206
4313
  import_icons_react12.IconTrash,
4207
4314
  {
4208
4315
  onClick: () => {
@@ -4225,7 +4332,7 @@ function Indicator({
4225
4332
  // src/FilterPopUp/FilterPopUp.tsx
4226
4333
  var import_icons_react13 = require("@tabler/icons-react");
4227
4334
  var import_react18 = require("react");
4228
- var import_jsx_runtime42 = require("react/jsx-runtime");
4335
+ var import_jsx_runtime44 = require("react/jsx-runtime");
4229
4336
  var FilterPopUp = (filter) => {
4230
4337
  const [isAction, setIsAction] = (0, import_react18.useState)(true);
4231
4338
  const [filterArray, setFilterArray] = (0, import_react18.useState)([""]);
@@ -4235,20 +4342,20 @@ var FilterPopUp = (filter) => {
4235
4342
  const handleSubmitFilter = () => {
4236
4343
  filter.handleSearch(filterArray);
4237
4344
  };
4238
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "relative", children: [
4239
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("button", { className: "flex px-2 py-1 rounded-lg border-1", onClick: () => setIsAction(!isAction), children: [
4240
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons_react13.IconFilter, {}),
4345
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "relative", children: [
4346
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("button", { className: "flex px-2 py-1 rounded-lg border-1", onClick: () => setIsAction(!isAction), children: [
4347
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons_react13.IconFilter, {}),
4241
4348
  "filter"
4242
4349
  ] }),
4243
- isAction ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "absolute bg-white p-5 rounded-lg shadow-2xl w-[600px]", children: [
4244
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex justify-end", children: [
4245
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex justify-end text-nowrap gap-2", children: [
4246
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(GhostButton, { title: "\u0E43\u0E0A\u0E49\u0E1F\u0E34\u0E25\u0E40\u0E15\u0E2D\u0E23\u0E4C", onClick: handleSubmitFilter, iconLeft: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons_react13.IconCheck, {}) }),
4247
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(GhostButton, { title: "\u0E25\u0E49\u0E32\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14", onClick: handleClearFilter, iconLeft: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons_react13.IconTrash, {}) })
4350
+ isAction ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "absolute bg-white p-5 rounded-lg shadow-2xl w-[600px]", children: [
4351
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex justify-end", children: [
4352
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex justify-end text-nowrap gap-2", children: [
4353
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(GhostButton, { title: "\u0E43\u0E0A\u0E49\u0E1F\u0E34\u0E25\u0E40\u0E15\u0E2D\u0E23\u0E4C", onClick: handleSubmitFilter, iconLeft: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons_react13.IconCheck, {}) }),
4354
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(GhostButton, { title: "\u0E25\u0E49\u0E32\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14", onClick: handleClearFilter, iconLeft: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons_react13.IconTrash, {}) })
4248
4355
  ] }),
4249
4356
  ""
4250
4357
  ] }),
4251
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4358
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4252
4359
  SelectCustom,
4253
4360
  {
4254
4361
  options: filter.selectionFilter,
@@ -4263,8 +4370,8 @@ var FilterPopUp = (filter) => {
4263
4370
  // src/ProfileSelect/ProfileSelect/ProfileSelect.tsx
4264
4371
  var import_react19 = require("react");
4265
4372
  var import_icons_react14 = require("@tabler/icons-react");
4266
- var import_antd24 = require("antd");
4267
- var import_jsx_runtime43 = require("react/jsx-runtime");
4373
+ var import_antd26 = require("antd");
4374
+ var import_jsx_runtime45 = require("react/jsx-runtime");
4268
4375
  function ProfileSelect({
4269
4376
  allUser,
4270
4377
  assignUser,
@@ -4324,22 +4431,22 @@ function ProfileSelect({
4324
4431
  const isSearching = normalizedSearch.length > 0;
4325
4432
  const noResult = filteredAssigned.length === 0 && filteredUnassigned.length === 0;
4326
4433
  const noUserOption = allUser.length === 0 && !isSearching;
4327
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { ref: containerRef, className: "relative body-1", children: [
4328
- mode === "icon" ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4434
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { ref: containerRef, className: "relative body-1", children: [
4435
+ mode === "icon" ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4329
4436
  import_icons_react14.IconUsers,
4330
4437
  {
4331
4438
  size: 40,
4332
4439
  className: "p-2 border rounded cursor-pointer bg-white",
4333
4440
  onClick: () => setIsShowSelect(!isShowSelect)
4334
4441
  }
4335
- ) }) : mode === "showAssign" ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4442
+ ) }) : mode === "showAssign" ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4336
4443
  "div",
4337
4444
  {
4338
4445
  className: `w-full h-[40px] flex items-center p-2 cursor-pointer ${className}`,
4339
4446
  onClick: () => setIsShowSelect(!isShowSelect),
4340
- children: visibleUsers.length === 0 ? placeholder ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "body-1 text-gray-400 select-none", children: placeholder }) : null : /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
4341
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex -space-x-2", children: visibleUsers.map((user) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("label", { className: "relative group cursor-pointer", children: [
4342
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4447
+ children: visibleUsers.length === 0 ? placeholder ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "body-1 text-gray-400 select-none", children: placeholder }) : null : /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
4448
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex -space-x-2", children: visibleUsers.map((user) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("label", { className: "relative group cursor-pointer", children: [
4449
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4343
4450
  "img",
4344
4451
  {
4345
4452
  src: user.profile,
@@ -4352,7 +4459,7 @@ function ProfileSelect({
4352
4459
  className: "border border-white group-hover:border-3 group-hover:border-red-500 transition"
4353
4460
  }
4354
4461
  ),
4355
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4462
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4356
4463
  "span",
4357
4464
  {
4358
4465
  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",
@@ -4360,11 +4467,11 @@ function ProfileSelect({
4360
4467
  e.stopPropagation();
4361
4468
  onUpdateAssignUser(user, "remove");
4362
4469
  },
4363
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_icons_react14.IconX, { className: "w-4 h-4 text-red-500" })
4470
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_icons_react14.IconX, { className: "w-4 h-4 text-red-500" })
4364
4471
  }
4365
4472
  )
4366
4473
  ] }) }, user.id)) }),
4367
- showPlus && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4474
+ showPlus && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4368
4475
  "div",
4369
4476
  {
4370
4477
  className: "border border-white flex items-center justify-center bg-gray-300 text-black text-sm ml-2",
@@ -4381,8 +4488,8 @@ function ProfileSelect({
4381
4488
  )
4382
4489
  ] })
4383
4490
  }
4384
- ) : /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: `w-full h-[40px] flex -space-x-2 p-2 ${className}`, children: [
4385
- visibleUsers.map((user) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center ", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("label", { className: "relative group ", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4491
+ ) : /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: `w-full h-[40px] flex -space-x-2 p-2 ${className}`, children: [
4492
+ visibleUsers.map((user) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex items-center ", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("label", { className: "relative group ", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4386
4493
  "img",
4387
4494
  {
4388
4495
  src: user.profile,
@@ -4395,7 +4502,7 @@ function ProfileSelect({
4395
4502
  className: "border border-white transition"
4396
4503
  }
4397
4504
  ) }) }, user.id)),
4398
- showPlus && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4505
+ showPlus && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4399
4506
  "div",
4400
4507
  {
4401
4508
  className: "border border-white flex items-center justify-center bg-gray-300 text-black text-sm",
@@ -4411,16 +4518,16 @@ function ProfileSelect({
4411
4518
  }
4412
4519
  )
4413
4520
  ] }),
4414
- isShowSelect ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4521
+ isShowSelect ? /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4415
4522
  "div",
4416
4523
  {
4417
4524
  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",
4418
4525
  ref: selectRef,
4419
4526
  children: [
4420
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex border-1 rounded-md p-2 gap-2 items-center", children: [
4421
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_icons_react14.IconSearch, {}),
4422
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4423
- import_antd24.Input,
4527
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex border-1 rounded-md p-2 gap-2 items-center", children: [
4528
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_icons_react14.IconSearch, {}),
4529
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4530
+ import_antd26.Input,
4424
4531
  {
4425
4532
  variant: "borderless",
4426
4533
  placeholder: "\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E0A\u0E37\u0E48\u0E2D",
@@ -4430,16 +4537,16 @@ function ProfileSelect({
4430
4537
  }
4431
4538
  )
4432
4539
  ] }),
4433
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "overflow-y-auto h-[250px] pt-2 px-4 body-3", children: noUserOption ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center justify-center h-full text-gray-400 select-none", children: "\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E21\u0E35\u0E1C\u0E39\u0E49\u0E04\u0E19\u0E43\u0E2B\u0E49\u0E40\u0E25\u0E37\u0E2D\u0E01" }) : isSearching && noResult ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center justify-center h-full text-gray-400 select-none", children: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E39\u0E49\u0E04\u0E19\u0E17\u0E35\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32" }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
4434
- filteredAssigned.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
4435
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "mb-1", children: "\u0E2A\u0E21\u0E32\u0E0A\u0E34\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01" }),
4436
- filteredAssigned.map((user) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4540
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "overflow-y-auto h-[250px] pt-2 px-4 body-3", children: noUserOption ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex items-center justify-center h-full text-gray-400 select-none", children: "\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E21\u0E35\u0E1C\u0E39\u0E49\u0E04\u0E19\u0E43\u0E2B\u0E49\u0E40\u0E25\u0E37\u0E2D\u0E01" }) : isSearching && noResult ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex items-center justify-center h-full text-gray-400 select-none", children: "\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1C\u0E39\u0E49\u0E04\u0E19\u0E17\u0E35\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E04\u0E49\u0E19\u0E2B\u0E32" }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
4541
+ filteredAssigned.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
4542
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "mb-1", children: "\u0E2A\u0E21\u0E32\u0E0A\u0E34\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01" }),
4543
+ filteredAssigned.map((user) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4437
4544
  "button",
4438
4545
  {
4439
4546
  className: "flex items-center group my-1 w-full p-1 rounded hover:bg-gray-100",
4440
4547
  children: [
4441
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "relative cursor-pointer", children: [
4442
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4548
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "relative cursor-pointer", children: [
4549
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4443
4550
  "img",
4444
4551
  {
4445
4552
  src: user.profile,
@@ -4452,30 +4559,30 @@ function ProfileSelect({
4452
4559
  className: "border-3 border-red-500"
4453
4560
  }
4454
4561
  ),
4455
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4562
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4456
4563
  "span",
4457
4564
  {
4458
4565
  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",
4459
4566
  onClick: () => onUpdateAssignUser(user, "remove"),
4460
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_icons_react14.IconX, { className: "text-red-500", size: 15 })
4567
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_icons_react14.IconX, { className: "text-red-500", size: 15 })
4461
4568
  }
4462
4569
  )
4463
4570
  ] }),
4464
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "ml-2", children: user.name })
4571
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "ml-2", children: user.name })
4465
4572
  ]
4466
4573
  },
4467
4574
  user.id
4468
4575
  ))
4469
4576
  ] }),
4470
- filteredUnassigned.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
4471
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "mt-2", children: "\u0E1C\u0E39\u0E49\u0E04\u0E19" }),
4472
- filteredUnassigned.map((user) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4577
+ filteredUnassigned.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
4578
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "mt-2", children: "\u0E1C\u0E39\u0E49\u0E04\u0E19" }),
4579
+ filteredUnassigned.map((user) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4473
4580
  "button",
4474
4581
  {
4475
4582
  className: "flex items-center my-1 hover:bg-gray-100 w-full p-1 rounded",
4476
4583
  onClick: () => onUpdateAssignUser(user),
4477
4584
  children: [
4478
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4585
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4479
4586
  "img",
4480
4587
  {
4481
4588
  src: user.profile,
@@ -4488,7 +4595,7 @@ function ProfileSelect({
4488
4595
  className: "border"
4489
4596
  }
4490
4597
  ),
4491
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "ml-2", children: user.name })
4598
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "ml-2", children: user.name })
4492
4599
  ]
4493
4600
  },
4494
4601
  user.id
@@ -4504,7 +4611,7 @@ function ProfileSelect({
4504
4611
  // src/Button/QRCode/QRCode.tsx
4505
4612
  var import_react20 = require("react");
4506
4613
  var import_qrcode = __toESM(require("qrcode"));
4507
- var import_jsx_runtime44 = require("react/jsx-runtime");
4614
+ var import_jsx_runtime46 = require("react/jsx-runtime");
4508
4615
  var QRCodeGenerator = ({
4509
4616
  url,
4510
4617
  previewSize = 200,
@@ -4517,31 +4624,31 @@ var QRCodeGenerator = ({
4517
4624
  const sizeOption = [
4518
4625
  {
4519
4626
  label: "64 x 64",
4520
- value: "64"
4627
+ value: 64
4521
4628
  },
4522
4629
  {
4523
4630
  label: "128 x 128",
4524
- value: "128"
4631
+ value: 128
4525
4632
  },
4526
4633
  {
4527
4634
  label: "256 x 256",
4528
- value: "256"
4635
+ value: 256
4529
4636
  },
4530
4637
  {
4531
4638
  label: "512 x 512",
4532
- value: "512"
4639
+ value: 512
4533
4640
  },
4534
4641
  {
4535
4642
  label: "1024 x 1024",
4536
- value: "1024"
4643
+ value: 1024
4537
4644
  },
4538
4645
  {
4539
4646
  label: "2048 x 2048",
4540
- value: "2048"
4647
+ value: 2048
4541
4648
  },
4542
4649
  {
4543
4650
  label: "4096 x 4096",
4544
- value: "4096"
4651
+ value: 4096
4545
4652
  }
4546
4653
  ];
4547
4654
  const typeOption = [
@@ -4560,9 +4667,14 @@ var QRCodeGenerator = ({
4560
4667
  ];
4561
4668
  (0, import_react20.useEffect)(() => {
4562
4669
  if (!canvasRef.current) return;
4563
- import_qrcode.default.toCanvas(canvasRef.current, url, { width: previewSize, margin: 1 }, (error) => {
4564
- if (error) console.error(error);
4565
- });
4670
+ import_qrcode.default.toCanvas(
4671
+ canvasRef.current,
4672
+ url,
4673
+ { width: previewSize, margin: 1 },
4674
+ (error) => {
4675
+ if (error) console.error(error);
4676
+ }
4677
+ );
4566
4678
  }, [url, previewSize]);
4567
4679
  const download = async () => {
4568
4680
  try {
@@ -4599,52 +4711,73 @@ var QRCodeGenerator = ({
4599
4711
  a.click();
4600
4712
  a.remove();
4601
4713
  };
4602
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { style: { display: "inline-flex", flexDirection: "column", gap: 8 }, className: "justify-center items-center", children: [
4603
- url === "" ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "border-1 p-2 mb-2", style: { width: `${previewSize}px`, height: `${previewSize}px` } }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("canvas", { ref: canvasRef, className: "border-1 p-2 mb-2" }),
4604
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4605
- "div",
4606
- {
4607
- style: {
4608
- display: "flex",
4609
- gap: 8,
4610
- alignItems: "center",
4611
- flexWrap: "wrap"
4612
- },
4613
- className: "flex-col",
4614
- children: [
4615
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex gap-2 mx-2", children: [
4616
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4617
- SelectField,
4618
- {
4619
- label: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A",
4620
- value: format5,
4621
- onChange: (e) => setFormat(e.target.value),
4622
- options: typeOption
4623
- }
4624
- ) }),
4625
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4626
- SelectField,
4627
- {
4628
- label: "\u0E02\u0E19\u0E32\u0E14 (px)",
4629
- value: exportSize,
4630
- onChange: (e) => setExportSize(Number(e.target.value)),
4631
- options: sizeOption
4632
- }
4633
- ) })
4634
- ] }),
4635
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PrimaryButton, { onClick: download, disabled: url === "", textColor: "white", title: "\u0E14\u0E32\u0E27\u0E42\u0E2B\u0E25\u0E14\u0E23\u0E2B\u0E31\u0E2A QR" })
4636
- ]
4637
- }
4638
- )
4639
- ] });
4714
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
4715
+ "div",
4716
+ {
4717
+ style: { display: "inline-flex", flexDirection: "column", gap: 8 },
4718
+ className: "justify-center items-center",
4719
+ children: [
4720
+ url === "" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4721
+ "div",
4722
+ {
4723
+ className: "border-1 p-2 mb-2",
4724
+ style: { width: `${previewSize}px`, height: `${previewSize}px` }
4725
+ }
4726
+ ) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("canvas", { ref: canvasRef, className: "border-1 p-2 mb-2" }),
4727
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
4728
+ "div",
4729
+ {
4730
+ style: {
4731
+ display: "flex",
4732
+ gap: 8,
4733
+ alignItems: "center",
4734
+ flexWrap: "wrap"
4735
+ },
4736
+ className: "flex-col",
4737
+ children: [
4738
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex gap-2 mx-2", children: [
4739
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4740
+ SelectField,
4741
+ {
4742
+ label: "\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A",
4743
+ value: format5,
4744
+ onChange: (value) => setFormat(value),
4745
+ options: typeOption
4746
+ }
4747
+ ) }),
4748
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("label", { className: "border-1 p-2 rounded-md flex flex-col w-1/2 text-sm text-gray-400", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4749
+ SelectField,
4750
+ {
4751
+ label: "\u0E02\u0E19\u0E32\u0E14 (px)",
4752
+ value: exportSize,
4753
+ onChange: (value) => setExportSize(Number(value)),
4754
+ options: sizeOption
4755
+ }
4756
+ ) })
4757
+ ] }),
4758
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4759
+ PrimaryButton,
4760
+ {
4761
+ onClick: download,
4762
+ disabled: url === "",
4763
+ textColor: "white",
4764
+ title: "\u0E14\u0E32\u0E27\u0E42\u0E2B\u0E25\u0E14\u0E23\u0E2B\u0E31\u0E2A QR"
4765
+ }
4766
+ )
4767
+ ]
4768
+ }
4769
+ )
4770
+ ]
4771
+ }
4772
+ );
4640
4773
  };
4641
4774
 
4642
4775
  // src/TabPropject/TabProject/TabProject.tsx
4643
- var import_antd25 = require("antd");
4644
- var import_jsx_runtime45 = require("react/jsx-runtime");
4776
+ var import_antd27 = require("antd");
4777
+ var import_jsx_runtime47 = require("react/jsx-runtime");
4645
4778
  function TabProject({ tabOption, now, onChange }) {
4646
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4647
- import_antd25.ConfigProvider,
4779
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4780
+ import_antd27.ConfigProvider,
4648
4781
  {
4649
4782
  theme: {
4650
4783
  token: {
@@ -4660,16 +4793,16 @@ function TabProject({ tabOption, now, onChange }) {
4660
4793
  }
4661
4794
  }
4662
4795
  },
4663
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4664
- import_antd25.Tabs,
4796
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4797
+ import_antd27.Tabs,
4665
4798
  {
4666
4799
  activeKey: now,
4667
4800
  onChange,
4668
4801
  items: tabOption.map((item) => ({
4669
4802
  key: item.key,
4670
- label: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("span", { className: "tab-label flex gap-2 items-center body-1", children: [
4803
+ label: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { className: "tab-label flex gap-2 items-center body-1", children: [
4671
4804
  item.icon,
4672
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { children: item.label })
4805
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { children: item.label })
4673
4806
  ] })
4674
4807
  }))
4675
4808
  }
@@ -4681,7 +4814,7 @@ function TabProject({ tabOption, now, onChange }) {
4681
4814
  // src/Chart/BarChart/BarChart.tsx
4682
4815
  var import_react21 = require("react");
4683
4816
  var d3 = __toESM(require("d3"));
4684
- var import_jsx_runtime46 = require("react/jsx-runtime");
4817
+ var import_jsx_runtime48 = require("react/jsx-runtime");
4685
4818
  var defaultMargin = { top: 30, right: 200, bottom: 36, left: 50 };
4686
4819
  var defaultColorPalette = [
4687
4820
  "#4E79A7",
@@ -4863,7 +4996,7 @@ var BarChart = ({
4863
4996
  (0, import_react21.useEffect)(() => {
4864
4997
  render();
4865
4998
  }, [data, height, margin, modeLabel, xDomain.toString(), yDomain.toString()]);
4866
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { ref: containerRef, style: { width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
4999
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { ref: containerRef, style: { width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
4867
5000
  "svg",
4868
5001
  {
4869
5002
  ref: svgRef,
@@ -4871,10 +5004,10 @@ var BarChart = ({
4871
5004
  "aria-label": "Bar chart",
4872
5005
  style: { display: "block", width: "100%", height },
4873
5006
  children: [
4874
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("title", { children: "Bar chart" }),
4875
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("g", { ref: gRef, transform: `translate(${margin.left},${margin.top})` }),
4876
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("g", { ref: xAxisRef }),
4877
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("g", { ref: yAxisRef })
5007
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("title", { children: "Bar chart" }),
5008
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("g", { ref: gRef, transform: `translate(${margin.left},${margin.top})` }),
5009
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("g", { ref: xAxisRef }),
5010
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("g", { ref: yAxisRef })
4878
5011
  ]
4879
5012
  }
4880
5013
  ) });
@@ -4883,7 +5016,7 @@ var BarChart = ({
4883
5016
  // src/Chart/PieChart/PieChart.tsx
4884
5017
  var import_react22 = __toESM(require("react"));
4885
5018
  var d32 = __toESM(require("d3"));
4886
- var import_jsx_runtime47 = require("react/jsx-runtime");
5019
+ var import_jsx_runtime49 = require("react/jsx-runtime");
4887
5020
  var defaultColors = d32.schemeCategory10;
4888
5021
  var PieChart = ({
4889
5022
  title,
@@ -4917,15 +5050,15 @@ var PieChart = ({
4917
5050
  return `${percentage}%`;
4918
5051
  });
4919
5052
  }, [data, width, height]);
4920
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { children: [
4921
- title && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "body-2", children: title }),
4922
- description && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "caption-1", children: description }),
4923
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex", children: [
4924
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("svg", { ref: svgRef }),
4925
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex flex-col gap-2 body-3 pl-[200px]", children: dataSide.map((d, i) => /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "grid grid-cols-3 gap-2 items-center body-2", children: [
4926
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-[20px] h-[20px]", style: { backgroundColor: d.color } }),
4927
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { children: d.label }),
4928
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { children: d.value })
5053
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
5054
+ title && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "body-2", children: title }),
5055
+ description && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "caption-1", children: description }),
5056
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex", children: [
5057
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("svg", { ref: svgRef }),
5058
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex flex-col gap-2 body-3 pl-[200px]", children: dataSide.map((d, i) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "grid grid-cols-3 gap-2 items-center body-2", children: [
5059
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "w-[20px] h-[20px]", style: { backgroundColor: d.color } }),
5060
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { children: d.label }),
5061
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { children: d.value })
4929
5062
  ] }, i)) })
4930
5063
  ] })
4931
5064
  ] });
@@ -4937,7 +5070,7 @@ var d33 = __toESM(require("d3"));
4937
5070
  var import_date_fns3 = require("date-fns");
4938
5071
  var import_locale3 = require("date-fns/locale");
4939
5072
  var import_icons_react15 = require("@tabler/icons-react");
4940
- var import_jsx_runtime48 = require("react/jsx-runtime");
5073
+ var import_jsx_runtime50 = require("react/jsx-runtime");
4941
5074
  var LAYOUT = {
4942
5075
  barHeight: 40,
4943
5076
  barSpacing: 10,
@@ -4957,27 +5090,27 @@ var STATUS_META = {
4957
5090
  IN_PROGRESS: {
4958
5091
  color: "#FFC654",
4959
5092
  label: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23",
4960
- icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_icons_react15.IconHourglassEmpty, { className: "text-[#FFC654]" })
5093
+ icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons_react15.IconHourglassEmpty, { className: "text-[#FFC654]" })
4961
5094
  },
4962
5095
  CANCELLED: {
4963
5096
  color: "#D2D5DB",
4964
5097
  label: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
4965
- icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_icons_react15.IconCircleX, { className: "text-[#D2D5DB]" })
5098
+ icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons_react15.IconCircleX, { className: "text-[#D2D5DB]" })
4966
5099
  },
4967
5100
  SUCCESS: {
4968
5101
  color: "#81CF92",
4969
5102
  label: "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E41\u0E25\u0E49\u0E27\u0E40\u0E2A\u0E23\u0E47\u0E08",
4970
- icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_icons_react15.IconRosetteDiscountCheck, { className: "text-[#81CF92]" })
5103
+ icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons_react15.IconRosetteDiscountCheck, { className: "text-[#81CF92]" })
4971
5104
  },
4972
5105
  COMPLETED: {
4973
5106
  color: "#81CF92",
4974
5107
  label: "\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E2A\u0E34\u0E49\u0E19",
4975
- icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_icons_react15.IconRosetteDiscountCheck, { className: "text-[#81CF92]" })
5108
+ icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons_react15.IconRosetteDiscountCheck, { className: "text-[#81CF92]" })
4976
5109
  },
4977
5110
  DELAY: {
4978
5111
  color: "#F4827E",
4979
5112
  label: "\u0E25\u0E48\u0E32\u0E0A\u0E49\u0E32",
4980
- icon: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_icons_react15.IconClockExclamation, { className: "text-[#F4827E]" })
5113
+ icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_icons_react15.IconClockExclamation, { className: "text-[#F4827E]" })
4981
5114
  }
4982
5115
  };
4983
5116
  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}`;
@@ -5020,7 +5153,7 @@ var ProjectRow = ({ element, barHeight, barSpacing, mode }) => {
5020
5153
  const statusLabel = getStatusLabel(safeStatus);
5021
5154
  const statusIcon = STATUS_META[safeStatus]?.icon;
5022
5155
  const toBuddhistDate = (d) => new Date(d.getFullYear() + 543, d.getMonth(), d.getDate());
5023
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
5156
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
5024
5157
  "div",
5025
5158
  {
5026
5159
  style: {
@@ -5031,8 +5164,8 @@ var ProjectRow = ({ element, barHeight, barSpacing, mode }) => {
5031
5164
  },
5032
5165
  className: "body-1 grid grid-cols-[1fr_100px_130px] px-8 gap-2",
5033
5166
  children: [
5034
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: `grid ${mode === "project" ? "grid-cols-[10px_1fr]" : "grid-cols-[1fr]"} items-center gap-2`, children: [
5035
- mode === "project" && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5167
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: `grid ${mode === "project" ? "grid-cols-[10px_1fr]" : "grid-cols-[1fr]"} items-center gap-2`, children: [
5168
+ mode === "project" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5036
5169
  "div",
5037
5170
  {
5038
5171
  style: {
@@ -5041,12 +5174,12 @@ var ProjectRow = ({ element, barHeight, barSpacing, mode }) => {
5041
5174
  className: "w-[10px] h-[10px] rounded-full"
5042
5175
  }
5043
5176
  ),
5044
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "line-clamp-1 break-words text-[#333]", title: element.label, children: element.label })
5177
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "line-clamp-1 break-words text-[#333]", title: element.label, children: element.label })
5045
5178
  ] }),
5046
- mode === "project" ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: safeEndDate ? (0, import_date_fns3.format)(toBuddhistDate(safeEndDate), "dd MMM yyyy", { locale: import_locale3.th }) : "-" }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: `Q${(0, import_date_fns3.getQuarter)(
5179
+ mode === "project" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { children: safeEndDate ? (0, import_date_fns3.format)(toBuddhistDate(safeEndDate), "dd MMM yyyy", { locale: import_locale3.th }) : "-" }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { children: `Q${(0, import_date_fns3.getQuarter)(
5047
5180
  safeEndDate ?? /* @__PURE__ */ new Date()
5048
5181
  )}/${(safeEndDate?.getFullYear() ?? 0) + 543}` }),
5049
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("button", { className: "rounded-md subtitile-1 flex gap-2 align-start", children: [
5182
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("button", { className: "rounded-md subtitile-1 flex gap-2 align-start", children: [
5050
5183
  statusIcon,
5051
5184
  statusLabel
5052
5185
  ] })
@@ -5055,7 +5188,7 @@ var ProjectRow = ({ element, barHeight, barSpacing, mode }) => {
5055
5188
  element.id
5056
5189
  );
5057
5190
  };
5058
- var RowOverlay = ({ data, barHeight, barSpacing, totalHeaderHeight }) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5191
+ var RowOverlay = ({ data, barHeight, barSpacing, totalHeaderHeight }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5059
5192
  "div",
5060
5193
  {
5061
5194
  style: {
@@ -5069,7 +5202,7 @@ var RowOverlay = ({ data, barHeight, barSpacing, totalHeaderHeight }) => /* @__P
5069
5202
  children: data.map((_, i) => {
5070
5203
  if (i === 0) return null;
5071
5204
  const yPos = i * (barHeight + barSpacing) - barSpacing / 2;
5072
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5205
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5073
5206
  "div",
5074
5207
  {
5075
5208
  className: "",
@@ -5268,7 +5401,7 @@ var GanttChart = ({
5268
5401
  headersGroupLayer1Height,
5269
5402
  headersGroupLayer2Height
5270
5403
  ]);
5271
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5404
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5272
5405
  "div",
5273
5406
  {
5274
5407
  className: "body-1",
@@ -5282,7 +5415,7 @@ var GanttChart = ({
5282
5415
  backgroundColor: "#fff",
5283
5416
  overflow: "hidden"
5284
5417
  },
5285
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
5418
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
5286
5419
  "div",
5287
5420
  {
5288
5421
  style: {
@@ -5293,7 +5426,7 @@ var GanttChart = ({
5293
5426
  position: "relative"
5294
5427
  },
5295
5428
  children: [
5296
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "z-2", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5429
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "z-2", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5297
5430
  RowOverlay,
5298
5431
  {
5299
5432
  data: data.length > 10 ? data : ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"],
@@ -5302,7 +5435,7 @@ var GanttChart = ({
5302
5435
  totalHeaderHeight
5303
5436
  }
5304
5437
  ) }),
5305
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
5438
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
5306
5439
  "div",
5307
5440
  {
5308
5441
  ref: leftPanelRef,
@@ -5316,8 +5449,8 @@ var GanttChart = ({
5316
5449
  zIndex: 2
5317
5450
  },
5318
5451
  children: [
5319
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { ref: dataContainerRef, children: [
5320
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
5452
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { ref: dataContainerRef, children: [
5453
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
5321
5454
  "div",
5322
5455
  {
5323
5456
  className: "grid body-2 grid-cols-[1fr_100px_130px] gap-2 px-8 border-b bg-white",
@@ -5330,13 +5463,13 @@ var GanttChart = ({
5330
5463
  zIndex: 5
5331
5464
  },
5332
5465
  children: [
5333
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: "\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23" }),
5334
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: "\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E2A\u0E48\u0E07" }),
5335
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: "\u0E2A\u0E16\u0E32\u0E19\u0E30" })
5466
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { children: "\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23" }),
5467
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { children: "\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E2A\u0E48\u0E07" }),
5468
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { children: "\u0E2A\u0E16\u0E32\u0E19\u0E30" })
5336
5469
  ]
5337
5470
  }
5338
5471
  ),
5339
- data.map((element) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5472
+ data.map((element) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5340
5473
  ProjectRow,
5341
5474
  {
5342
5475
  mode,
@@ -5347,7 +5480,7 @@ var GanttChart = ({
5347
5480
  element.id
5348
5481
  ))
5349
5482
  ] }),
5350
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "z-3", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5483
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "z-3", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5351
5484
  RowOverlay,
5352
5485
  {
5353
5486
  data,
@@ -5359,7 +5492,7 @@ var GanttChart = ({
5359
5492
  ]
5360
5493
  }
5361
5494
  ),
5362
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5495
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5363
5496
  "div",
5364
5497
  {
5365
5498
  style: {
@@ -5368,7 +5501,7 @@ var GanttChart = ({
5368
5501
  position: "relative",
5369
5502
  overflow: "visible"
5370
5503
  },
5371
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5504
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5372
5505
  "div",
5373
5506
  {
5374
5507
  style: {
@@ -5377,7 +5510,7 @@ var GanttChart = ({
5377
5510
  width: "max-content",
5378
5511
  zIndex: 1
5379
5512
  },
5380
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("svg", { ref: svgRef })
5513
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("svg", { ref: svgRef })
5381
5514
  }
5382
5515
  )
5383
5516
  }
@@ -5392,16 +5525,16 @@ var GanttChart = ({
5392
5525
  // src/CardKPI/CardKPI/CardKPI.tsx
5393
5526
  var import_icons_react16 = require("@tabler/icons-react");
5394
5527
  var import_react24 = require("react");
5395
- var import_jsx_runtime49 = require("react/jsx-runtime");
5528
+ var import_jsx_runtime51 = require("react/jsx-runtime");
5396
5529
  function KPIRow({ item }) {
5397
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
5530
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
5398
5531
  "div",
5399
5532
  {
5400
5533
  className: `w-full grid body-3 py-2 items-center pl-2 ${item.inputType === "NUMBER" ? "grid-cols-[1fr_100px_50px]" : "grid-cols-[1fr_50px]"}`,
5401
5534
  children: [
5402
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "line-clamp-2", children: item.textValue }),
5403
- item.inputType === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "flex", children: `${item.currentValue}/${item.numberValue} ${item.unit}` }),
5404
- item.inputType === "NUMBER" ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ProgressBar, { percent: Math.floor(item.currentValue * 100 / (item.numberValue ?? 1)), type: "circle", checkpoints: [0] }) }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx_runtime49.Fragment, { children: item.currentValue !== 0 ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons_react16.IconRosetteDiscountCheck, { className: "text-green-500 flex justify-center w-full", size: 30 }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons_react16.IconHourglassEmpty, { className: "text-yellow-500 flex justify-center w-full", size: 30 }) })
5535
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "line-clamp-2", children: item.textValue }),
5536
+ item.inputType === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "flex", children: `${item.currentValue}/${item.numberValue} ${item.unit}` }),
5537
+ item.inputType === "NUMBER" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ProgressBar, { percent: Math.floor(item.currentValue * 100 / (item.numberValue ?? 1)), type: "circle", checkpoints: [0] }) }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx_runtime51.Fragment, { children: item.currentValue !== 0 ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_icons_react16.IconRosetteDiscountCheck, { className: "text-green-500 flex justify-center w-full", size: 30 }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_icons_react16.IconHourglassEmpty, { className: "text-yellow-500 flex justify-center w-full", size: 30 }) })
5405
5538
  ]
5406
5539
  }
5407
5540
  );
@@ -5414,15 +5547,15 @@ function CardKPI({
5414
5547
  projectId
5415
5548
  }) {
5416
5549
  const [isOpen, setIsOpen] = (0, import_react24.useState)(false);
5417
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
5550
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
5418
5551
  "div",
5419
5552
  {
5420
5553
  className: `border-10 p-4 rounded-md w-[420px] h-[450px] relative`,
5421
5554
  style: { borderColor: dataItem.projectColor },
5422
5555
  children: [
5423
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "grid grid-cols-[1fr_70px] justify-between items-center", children: [
5424
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "line-clamp-2 subtitle-2 ", children: dataItem.name }),
5425
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5556
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "grid grid-cols-[1fr_70px] justify-between items-center", children: [
5557
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "line-clamp-2 subtitle-2 ", children: dataItem.name }),
5558
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5426
5559
  "button",
5427
5560
  {
5428
5561
  type: "button",
@@ -5432,41 +5565,41 @@ function CardKPI({
5432
5565
  }
5433
5566
  ) })
5434
5567
  ] }),
5435
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "my-2 body-1", children: [
5436
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "translate-y-2", children: "\u0E23\u0E49\u0E2D\u0E22\u0E25\u0E30\u0E02\u0E2D\u0E07\u0E01\u0E34\u0E08\u0E01\u0E23\u0E23\u0E21" }),
5437
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ProgressBar, { percent: overallPercent, type: "line", checkpoints: [0] })
5568
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "my-2 body-1", children: [
5569
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "translate-y-2", children: "\u0E23\u0E49\u0E2D\u0E22\u0E25\u0E30\u0E02\u0E2D\u0E07\u0E01\u0E34\u0E08\u0E01\u0E23\u0E23\u0E21" }),
5570
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ProgressBar, { percent: overallPercent, type: "line", checkpoints: [0] })
5438
5571
  ] }),
5439
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "border-b", children: [
5440
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "body-2 ", children: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" }),
5572
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "border-b", children: [
5573
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "body-2 ", children: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" }),
5441
5574
  indicator.filter((ind) => ind.indicatorType === "TARGET").map((item, index) => {
5442
5575
  if (index === 2) return;
5443
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
5576
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(KPIRow, { item });
5444
5577
  })
5445
5578
  ] }),
5446
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "pt-2", children: [
5447
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "body-2 ", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
5579
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "pt-2", children: [
5580
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "body-2 ", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
5448
5581
  indicator.filter((ind) => ind.indicatorType === "OUTPUT").map((item, index) => {
5449
5582
  if (index === 2) return;
5450
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
5583
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(KPIRow, { item });
5451
5584
  })
5452
5585
  ] }),
5453
- indicator.filter((item) => item.indicatorType === "TARGET").length > 2 || indicator.filter((item) => item.indicatorType === "OUTPUT").length > 2 ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "bottom-0 right-1/2 absolute text-gray-300", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5586
+ indicator.filter((item) => item.indicatorType === "TARGET").length > 2 || indicator.filter((item) => item.indicatorType === "OUTPUT").length > 2 ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "bottom-0 right-1/2 absolute text-gray-300", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5454
5587
  import_icons_react16.IconDots,
5455
5588
  {
5456
5589
  className: "cursor-pointer",
5457
5590
  onClick: () => setIsOpen(true)
5458
5591
  }
5459
5592
  ) }) : void 0,
5460
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5593
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5461
5594
  AntDModal,
5462
5595
  {
5463
5596
  isOpen,
5464
5597
  onCancel: () => setIsOpen(false),
5465
5598
  width: 600,
5466
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "mt-10", children: [
5467
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "grid grid-cols-[1fr_100px] justify-between items-center subtitle-2 ", children: [
5468
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "font-medium line-clamp-2", children: dataItem.name }),
5469
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5599
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "mt-10", children: [
5600
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "grid grid-cols-[1fr_100px] justify-between items-center subtitle-2 ", children: [
5601
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "font-medium line-clamp-2", children: dataItem.name }),
5602
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5470
5603
  "button",
5471
5604
  {
5472
5605
  type: "button",
@@ -5476,17 +5609,17 @@ function CardKPI({
5476
5609
  }
5477
5610
  )
5478
5611
  ] }),
5479
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "p-4", children: [
5480
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
5481
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "body-1 border-b", children: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" }),
5612
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "p-4", children: [
5613
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
5614
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "body-1 border-b", children: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" }),
5482
5615
  indicator.filter((ind) => ind.indicatorType === "TARGET").map((item, index) => {
5483
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
5616
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(KPIRow, { item });
5484
5617
  })
5485
5618
  ] }),
5486
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
5487
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "body-1 border-b", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
5619
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
5620
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "body-1 border-b", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
5488
5621
  indicator.filter((ind) => ind.indicatorType === "OUTPUT").map((item, index) => {
5489
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
5622
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(KPIRow, { item });
5490
5623
  })
5491
5624
  ] })
5492
5625
  ] })
@@ -5546,6 +5679,8 @@ function CardKPI({
5546
5679
  TertiaryButton,
5547
5680
  TextAreaInput,
5548
5681
  TextInput,
5682
+ TimePickerBasic,
5683
+ TimePickerRangePicker,
5549
5684
  TopNavBar,
5550
5685
  messageError,
5551
5686
  messageInfo,