@esic-lab/data-core-ui 0.0.59 → 0.0.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -411,47 +411,91 @@ __export(index_exports, {
411
411
  module.exports = __toCommonJS(index_exports);
412
412
 
413
413
  // src/Button/PrimaryButton/PrimaryButton.tsx
414
+ var import_antd = require("antd");
414
415
  var import_jsx_runtime = require("react/jsx-runtime");
415
416
  function PrimaryButton({
416
417
  title,
417
418
  onClick,
418
- iconLeft,
419
- iconRight,
420
- bgColor = "bg-primary-500",
421
- textColor = "black",
422
- disabled
419
+ disabled,
420
+ iconPlacement = "start",
421
+ size = "large",
422
+ colorPrimary = "#4e61f6",
423
+ colorPrimaryHover = "#8895f9",
424
+ textColor = "#ffffff",
425
+ icon
423
426
  }) {
427
+ const textClass = size === "large" ? "body-1" : "body-3";
424
428
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
425
- "button",
429
+ import_antd.ConfigProvider,
426
430
  {
427
- onClick,
428
- disabled,
429
- className: `flex justify-center w-full h-[42px] rounded-[6px] p-[10px] body-1 transition
430
- ${disabled ? "text-gray-400 bg-gray-100 cursor-not-allowed" : `${bgColor} text-${textColor} cursor-pointer
431
- hover:brightness-95 active:brightness-90`}`,
432
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex justify-center items-center gap-[10px]", children: [
433
- iconLeft && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: iconLeft }),
434
- title,
435
- iconRight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: iconRight })
436
- ] })
431
+ theme: {
432
+ token: {
433
+ colorPrimary,
434
+ colorPrimaryHover,
435
+ colorTextLightSolid: textColor
436
+ }
437
+ },
438
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
439
+ import_antd.Button,
440
+ {
441
+ size,
442
+ onClick,
443
+ type: "primary",
444
+ className: textClass,
445
+ disabled,
446
+ icon,
447
+ iconPosition: iconPlacement,
448
+ children: title
449
+ }
450
+ )
437
451
  }
438
452
  );
439
453
  }
440
454
 
441
455
  // src/Button/SecondaryButton/SecondaryButton.tsx
456
+ var import_antd2 = require("antd");
442
457
  var import_jsx_runtime2 = require("react/jsx-runtime");
443
- function SecondaryButton({ title, onClick, iconLeft, iconRight, disabled }) {
458
+ function SecondaryButton({
459
+ title,
460
+ onClick,
461
+ disabled,
462
+ iconPlacement = "start",
463
+ size = "large",
464
+ colorBgContainer = "#ffffff",
465
+ defaultHoverBorderColor = "#7181f8",
466
+ defaultHoverColor = "#7181f8",
467
+ textColor = "rgba(0,0,0,0.88)",
468
+ icon
469
+ }) {
470
+ const textClass = size === "large" ? "body-1" : "body-3";
444
471
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
445
- "button",
472
+ import_antd2.ConfigProvider,
446
473
  {
447
- onClick,
448
- disabled,
449
- className: `flex justify-center w-full h-[42px] rounded-[6px] p-[10px] border-[1px] body-1 transition ${disabled ? "text-gray-400 border-gray-400 bg-gray-100 cursor-not-allowed" : "cursor-pointer bg-white border-black text-black hover:bg-gray-100 active:bg-gray-200"}`,
450
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "flex justify-center items-center gap-[10px]", children: [
451
- iconLeft && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { children: iconLeft }),
452
- title,
453
- iconRight && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { children: iconRight })
454
- ] })
474
+ theme: {
475
+ components: {
476
+ Button: {
477
+ defaultHoverBorderColor,
478
+ defaultHoverColor
479
+ }
480
+ },
481
+ token: {
482
+ colorBgContainer,
483
+ colorText: textColor
484
+ }
485
+ },
486
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
487
+ import_antd2.Button,
488
+ {
489
+ size,
490
+ onClick,
491
+ type: "default",
492
+ className: textClass,
493
+ disabled,
494
+ icon,
495
+ iconPosition: iconPlacement,
496
+ children: title
497
+ }
498
+ )
455
499
  }
456
500
  );
457
501
  }
@@ -860,7 +904,7 @@ function DataTable({ columns, data, onSort, isLoading }) {
860
904
  }
861
905
 
862
906
  // src/Table/DataTable/AntDataTable.tsx
863
- var import_antd = require("antd");
907
+ var import_antd3 = require("antd");
864
908
  var import_react5 = require("react");
865
909
  var import_jsx_runtime17 = require("react/jsx-runtime");
866
910
  function AntDataTable({
@@ -889,7 +933,7 @@ function AntDataTable({
889
933
  onFilter(filters);
890
934
  };
891
935
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_jsx_runtime17.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
892
- import_antd.ConfigProvider,
936
+ import_antd3.ConfigProvider,
893
937
  {
894
938
  theme: {
895
939
  components: {},
@@ -899,7 +943,7 @@ function AntDataTable({
899
943
  }
900
944
  },
901
945
  children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
902
- import_antd.Table,
946
+ import_antd3.Table,
903
947
  {
904
948
  dataSource,
905
949
  columns,
@@ -1121,9 +1165,9 @@ function TextInput({
1121
1165
  }
1122
1166
 
1123
1167
  // src/Input/TextArea/TextArea.tsx
1124
- var import_antd2 = require("antd");
1168
+ var import_antd4 = require("antd");
1125
1169
  var import_jsx_runtime20 = require("react/jsx-runtime");
1126
- var { TextArea } = import_antd2.Input;
1170
+ var { TextArea } = import_antd4.Input;
1127
1171
  function TextAreaInput({
1128
1172
  label,
1129
1173
  height = 4,
@@ -1138,7 +1182,7 @@ function TextAreaInput({
1138
1182
  disabled
1139
1183
  }) {
1140
1184
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1141
- import_antd2.ConfigProvider,
1185
+ import_antd4.ConfigProvider,
1142
1186
  {
1143
1187
  theme: {
1144
1188
  components: {},
@@ -1176,7 +1220,7 @@ function TextAreaInput({
1176
1220
  }
1177
1221
 
1178
1222
  // src/Input/InputField/InputField.tsx
1179
- var import_antd3 = require("antd");
1223
+ var import_antd5 = require("antd");
1180
1224
  var import_jsx_runtime21 = require("react/jsx-runtime");
1181
1225
  function InputField({
1182
1226
  value,
@@ -1194,7 +1238,7 @@ function InputField({
1194
1238
  statickey
1195
1239
  }) {
1196
1240
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1197
- import_antd3.ConfigProvider,
1241
+ import_antd5.ConfigProvider,
1198
1242
  {
1199
1243
  theme: {
1200
1244
  token: {
@@ -1207,10 +1251,10 @@ function InputField({
1207
1251
  " ",
1208
1252
  required && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-red-500", children: "*" })
1209
1253
  ] }),
1210
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_antd3.Space.Compact, { children: [
1254
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_antd5.Space.Compact, { children: [
1211
1255
  statickey && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "items-center flex px-2 bg-gray-300 rounded-l-md body-1", children: statickey }),
1212
1256
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1213
- import_antd3.Input,
1257
+ import_antd5.Input,
1214
1258
  {
1215
1259
  value,
1216
1260
  placeholder,
@@ -1232,7 +1276,7 @@ function InputField({
1232
1276
  }
1233
1277
 
1234
1278
  // src/Input/InputFieldNumber/InputFieldNumber.tsx
1235
- var import_antd4 = require("antd");
1279
+ var import_antd6 = require("antd");
1236
1280
  var import_jsx_runtime22 = require("react/jsx-runtime");
1237
1281
  function InputFieldNumber({
1238
1282
  value,
@@ -1255,7 +1299,7 @@ function InputFieldNumber({
1255
1299
  parser
1256
1300
  }) {
1257
1301
  return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1258
- import_antd4.ConfigProvider,
1302
+ import_antd6.ConfigProvider,
1259
1303
  {
1260
1304
  theme: {
1261
1305
  token: {
@@ -1269,7 +1313,7 @@ function InputFieldNumber({
1269
1313
  required && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-red-500", children: "*" })
1270
1314
  ] }),
1271
1315
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1272
- import_antd4.InputNumber,
1316
+ import_antd6.InputNumber,
1273
1317
  {
1274
1318
  value: value ?? void 0,
1275
1319
  onChange: (val) => onChange(val),
@@ -1284,8 +1328,17 @@ function InputFieldNumber({
1284
1328
  controls,
1285
1329
  size,
1286
1330
  changeOnWheel,
1287
- formatter,
1288
- parser
1331
+ formatter: formatter ?? ((value2) => {
1332
+ if (value2 === void 0 || value2 === null || value2 === "")
1333
+ return "";
1334
+ const num = Number(value2);
1335
+ if (isNaN(num)) return "";
1336
+ return num.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
1337
+ }),
1338
+ parser: parser ?? ((value2) => {
1339
+ if (!value2) return "";
1340
+ return value2.replace(/,/g, "");
1341
+ })
1289
1342
  }
1290
1343
  ),
1291
1344
  error && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "text-red-500 caption-1", children: error })
@@ -1618,7 +1671,7 @@ function DatePickerRange({
1618
1671
  }
1619
1672
 
1620
1673
  // src/ColorPicker/ColorPickerBasic/ColorPicker.tsx
1621
- var import_antd5 = require("antd");
1674
+ var import_antd7 = require("antd");
1622
1675
  var import_jsx_runtime25 = require("react/jsx-runtime");
1623
1676
  function ColorPickerBasic({
1624
1677
  value,
@@ -1633,7 +1686,7 @@ function ColorPickerBasic({
1633
1686
  placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35"
1634
1687
  }) {
1635
1688
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1636
- import_antd5.ConfigProvider,
1689
+ import_antd7.ConfigProvider,
1637
1690
  {
1638
1691
  theme: {
1639
1692
  token: {
@@ -1648,7 +1701,7 @@ function ColorPickerBasic({
1648
1701
  required && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-red-500", children: "*" })
1649
1702
  ] }),
1650
1703
  /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1651
- import_antd5.ColorPicker,
1704
+ import_antd7.ColorPicker,
1652
1705
  {
1653
1706
  defaultFormat,
1654
1707
  className: `body-1 w-full ${className ?? ""}`,
@@ -1677,7 +1730,7 @@ function ColorPickerBasic({
1677
1730
  }
1678
1731
 
1679
1732
  // src/ColorPicker/ColorPalettePickerBasic/ColorPalettePickerBasic.tsx
1680
- var import_antd6 = require("antd");
1733
+ var import_antd8 = require("antd");
1681
1734
 
1682
1735
  // node_modules/@babel/runtime/helpers/esm/typeof.js
1683
1736
  function _typeof(o) {
@@ -2400,14 +2453,14 @@ function ColorPalettePickerBasic({
2400
2453
  placeholder = "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E2A\u0E35",
2401
2454
  onClear
2402
2455
  }) {
2403
- const { token } = import_antd6.theme.useToken();
2456
+ const { token } = import_antd8.theme.useToken();
2404
2457
  const presets = genPresets({
2405
2458
  primary: generate(token.colorPrimary),
2406
2459
  red,
2407
2460
  green
2408
2461
  });
2409
2462
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2410
- import_antd6.ConfigProvider,
2463
+ import_antd8.ConfigProvider,
2411
2464
  {
2412
2465
  theme: {
2413
2466
  token: {
@@ -2422,7 +2475,7 @@ function ColorPalettePickerBasic({
2422
2475
  required && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-red-500", children: "*" })
2423
2476
  ] }),
2424
2477
  /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2425
- import_antd6.ColorPicker,
2478
+ import_antd8.ColorPicker,
2426
2479
  {
2427
2480
  defaultFormat,
2428
2481
  className: `body-1 w-full ${className ?? ""}`,
@@ -2453,7 +2506,7 @@ function ColorPalettePickerBasic({
2453
2506
  }
2454
2507
 
2455
2508
  // src/Select/SelectField/SelectField.tsx
2456
- var import_antd7 = require("antd");
2509
+ var import_antd9 = require("antd");
2457
2510
  var import_jsx_runtime27 = require("react/jsx-runtime");
2458
2511
  function SelectField({
2459
2512
  value,
@@ -2470,10 +2523,12 @@ function SelectField({
2470
2523
  prefixSize = 20,
2471
2524
  handleSearch,
2472
2525
  className,
2473
- onClear
2526
+ onClear,
2527
+ size = "middle",
2528
+ allowClear = true
2474
2529
  }) {
2475
2530
  return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2476
- import_antd7.ConfigProvider,
2531
+ import_antd9.ConfigProvider,
2477
2532
  {
2478
2533
  theme: {
2479
2534
  token: {
@@ -2488,8 +2543,9 @@ function SelectField({
2488
2543
  required && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-red-500", children: "*" })
2489
2544
  ] }),
2490
2545
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2491
- import_antd7.Select,
2546
+ import_antd9.Select,
2492
2547
  {
2548
+ size,
2493
2549
  showSearch: true,
2494
2550
  value: value ? value : void 0,
2495
2551
  defaultValue,
@@ -2515,7 +2571,7 @@ function SelectField({
2515
2571
  children: prefix
2516
2572
  }
2517
2573
  ) : void 0,
2518
- allowClear: true,
2574
+ allowClear,
2519
2575
  onClear
2520
2576
  }
2521
2577
  ),
@@ -2526,7 +2582,7 @@ function SelectField({
2526
2582
  }
2527
2583
 
2528
2584
  // src/Select/SelectFieldGroup/SelectFieldGroup.tsx
2529
- var import_antd8 = require("antd");
2585
+ var import_antd10 = require("antd");
2530
2586
  var import_jsx_runtime28 = require("react/jsx-runtime");
2531
2587
  function SelectFieldGroup({
2532
2588
  value,
@@ -2542,10 +2598,12 @@ function SelectFieldGroup({
2542
2598
  prefix,
2543
2599
  prefixSize = 20,
2544
2600
  handleSearch,
2545
- className
2601
+ className,
2602
+ size = "middle",
2603
+ allowClear = true
2546
2604
  }) {
2547
2605
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2548
- import_antd8.ConfigProvider,
2606
+ import_antd10.ConfigProvider,
2549
2607
  {
2550
2608
  theme: {
2551
2609
  token: {
@@ -2559,8 +2617,9 @@ function SelectFieldGroup({
2559
2617
  required && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-red-500", children: "*" })
2560
2618
  ] }),
2561
2619
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2562
- import_antd8.Select,
2620
+ import_antd10.Select,
2563
2621
  {
2622
+ size,
2564
2623
  showSearch: true,
2565
2624
  value: value ? value : void 0,
2566
2625
  defaultValue,
@@ -2586,7 +2645,7 @@ function SelectFieldGroup({
2586
2645
  children: prefix
2587
2646
  }
2588
2647
  ) : void 0,
2589
- allowClear: true
2648
+ allowClear
2590
2649
  }
2591
2650
  ),
2592
2651
  error && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-red-500 caption-1", children: error })
@@ -2596,7 +2655,7 @@ function SelectFieldGroup({
2596
2655
  }
2597
2656
 
2598
2657
  // src/Select/SelectFieldStatus/SelectFieldStatus.tsx
2599
- var import_antd9 = require("antd");
2658
+ var import_antd11 = require("antd");
2600
2659
  var import_icons = require("@ant-design/icons");
2601
2660
  var import_jsx_runtime29 = require("react/jsx-runtime");
2602
2661
  function SelectFieldStatus({
@@ -2608,11 +2667,13 @@ function SelectFieldStatus({
2608
2667
  disabled,
2609
2668
  error,
2610
2669
  options,
2611
- className
2670
+ className,
2671
+ size = "middle",
2672
+ allowClear = false
2612
2673
  }) {
2613
2674
  const selectedItem = options?.find((s) => s.value === value);
2614
2675
  return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2615
- import_antd9.ConfigProvider,
2676
+ import_antd11.ConfigProvider,
2616
2677
  {
2617
2678
  theme: {
2618
2679
  components: {
@@ -2634,8 +2695,9 @@ function SelectFieldStatus({
2634
2695
  required && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-red-500", children: "*" })
2635
2696
  ] }),
2636
2697
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2637
- import_antd9.Select,
2698
+ import_antd11.Select,
2638
2699
  {
2700
+ size,
2639
2701
  disabled,
2640
2702
  suffixIcon: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_icons.DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
2641
2703
  value: value ? value : void 0,
@@ -2645,7 +2707,8 @@ function SelectFieldStatus({
2645
2707
  optionFilterProp: "label",
2646
2708
  filterOption: (input, option) => (option?.label ?? "").toString().toLowerCase().includes(input.toLowerCase()),
2647
2709
  options,
2648
- showSearch: true
2710
+ showSearch: true,
2711
+ allowClear
2649
2712
  }
2650
2713
  ),
2651
2714
  error && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "text-red-500 caption-1", children: error })
@@ -2655,7 +2718,7 @@ function SelectFieldStatus({
2655
2718
  }
2656
2719
 
2657
2720
  // src/Select/SelectFieldStatusReport/SelectFieldStatusReport.tsx
2658
- var import_antd10 = require("antd");
2721
+ var import_antd12 = require("antd");
2659
2722
 
2660
2723
  // src/Select/SelectFieldStatusReport/StatusReportMockup.ts
2661
2724
  var status = [
@@ -2675,11 +2738,13 @@ function SelectFieldStatusReport({
2675
2738
  disabled,
2676
2739
  error,
2677
2740
  className,
2678
- options
2741
+ options,
2742
+ size = "middle",
2743
+ allowClear = false
2679
2744
  }) {
2680
2745
  const selectedItem = status.find((s) => s.value === value);
2681
2746
  return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2682
- import_antd10.ConfigProvider,
2747
+ import_antd12.ConfigProvider,
2683
2748
  {
2684
2749
  theme: {
2685
2750
  components: {
@@ -2701,8 +2766,9 @@ function SelectFieldStatusReport({
2701
2766
  required && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "text-red-500", children: "*" })
2702
2767
  ] }),
2703
2768
  /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2704
- import_antd10.Select,
2769
+ import_antd12.Select,
2705
2770
  {
2771
+ size,
2706
2772
  disabled,
2707
2773
  suffixIcon: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_icons2.DownOutlined, { style: { color: value ? "#fff" : "#D9D9D9" } }),
2708
2774
  value: value ? value : void 0,
@@ -2712,7 +2778,8 @@ function SelectFieldStatusReport({
2712
2778
  optionFilterProp: "label",
2713
2779
  filterOption: (input, option) => (option?.label ?? "").toString().toLowerCase().includes(input.toLowerCase()),
2714
2780
  options,
2715
- showSearch: true
2781
+ showSearch: true,
2782
+ allowClear
2716
2783
  }
2717
2784
  ),
2718
2785
  error && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "text-red-500 caption-1", children: error })
@@ -2722,7 +2789,7 @@ function SelectFieldStatusReport({
2722
2789
  }
2723
2790
 
2724
2791
  // src/Select/SelectFieldTag/SelectFieldTag.tsx
2725
- var import_antd11 = require("antd");
2792
+ var import_antd13 = require("antd");
2726
2793
  var import_react11 = require("react");
2727
2794
  var import_jsx_runtime31 = require("react/jsx-runtime");
2728
2795
  function SelectFieldTag({
@@ -2734,7 +2801,9 @@ function SelectFieldTag({
2734
2801
  value: controlledValue,
2735
2802
  className,
2736
2803
  onChange,
2737
- onClear
2804
+ onClear,
2805
+ size = "middle",
2806
+ allowClear = true
2738
2807
  }) {
2739
2808
  const [internalValue, setInternalValue] = (0, import_react11.useState)([]);
2740
2809
  const isControlled = controlledValue !== void 0;
@@ -2758,7 +2827,7 @@ function SelectFieldTag({
2758
2827
  onChange?.([]);
2759
2828
  };
2760
2829
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2761
- import_antd11.ConfigProvider,
2830
+ import_antd13.ConfigProvider,
2762
2831
  {
2763
2832
  theme: {
2764
2833
  token: {
@@ -2772,8 +2841,9 @@ function SelectFieldTag({
2772
2841
  required && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-red-500", children: "*" })
2773
2842
  ] }),
2774
2843
  /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2775
- import_antd11.Select,
2844
+ import_antd13.Select,
2776
2845
  {
2846
+ size,
2777
2847
  mode: "tags",
2778
2848
  className: `body-1 flex justify-center w-full ${className ?? ""}`,
2779
2849
  placeholder,
@@ -2786,7 +2856,7 @@ function SelectFieldTag({
2786
2856
  },
2787
2857
  searchValue: searchWord,
2788
2858
  options,
2789
- allowClear: true,
2859
+ allowClear,
2790
2860
  onClear
2791
2861
  }
2792
2862
  ),
@@ -2798,7 +2868,7 @@ function SelectFieldTag({
2798
2868
 
2799
2869
  // src/Select/SelectCustom/SelectCustom.tsx
2800
2870
  var import_icons_react8 = require("@tabler/icons-react");
2801
- var import_antd12 = require("antd");
2871
+ var import_antd14 = require("antd");
2802
2872
  var import_react12 = require("react");
2803
2873
  var import_jsx_runtime32 = require("react/jsx-runtime");
2804
2874
  function SelectCustom({
@@ -2808,7 +2878,9 @@ function SelectCustom({
2808
2878
  required = false,
2809
2879
  onChange,
2810
2880
  error,
2811
- onClear
2881
+ onClear,
2882
+ size = "middle",
2883
+ allowClear = true
2812
2884
  }) {
2813
2885
  const [value, setValue] = (0, import_react12.useState)([]);
2814
2886
  const [valueList, setValueList] = (0, import_react12.useState)([]);
@@ -2830,7 +2902,7 @@ function SelectCustom({
2830
2902
  };
2831
2903
  const filteredOptions = options.filter((opt) => !valueList.includes(opt.value)).map((opt) => ({ value: opt.value, label: opt.label }));
2832
2904
  return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2833
- import_antd12.ConfigProvider,
2905
+ import_antd14.ConfigProvider,
2834
2906
  {
2835
2907
  theme: {
2836
2908
  token: {
@@ -2845,14 +2917,16 @@ function SelectCustom({
2845
2917
  required && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-red-500", children: "*" })
2846
2918
  ] }),
2847
2919
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2848
- import_antd12.Select,
2920
+ import_antd14.Select,
2849
2921
  {
2922
+ size,
2850
2923
  value: value ? value : void 0,
2851
2924
  onChange: handleChange,
2852
2925
  placeholder,
2853
2926
  options: filteredOptions,
2854
2927
  mode: "tags",
2855
- onClear
2928
+ onClear,
2929
+ allowClear
2856
2930
  }
2857
2931
  ),
2858
2932
  error && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-red-500 caption-1", children: error }),
@@ -2885,7 +2959,7 @@ function SelectCustom({
2885
2959
  }
2886
2960
 
2887
2961
  // src/SortFilter/SortFilter.tsx
2888
- var import_antd13 = require("antd");
2962
+ var import_antd15 = require("antd");
2889
2963
  var import_icons3 = require("@ant-design/icons");
2890
2964
 
2891
2965
  // src/SortFilter/DataMockSortFilter.ts
@@ -2930,7 +3004,7 @@ function SortFilter({
2930
3004
  const [monthValue, setMonthValue] = (0, import_react13.useState)();
2931
3005
  const [quarterValue, setQuartersValue] = (0, import_react13.useState)();
2932
3006
  return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2933
- import_antd13.ConfigProvider,
3007
+ import_antd15.ConfigProvider,
2934
3008
  {
2935
3009
  theme: {
2936
3010
  token: {
@@ -3203,8 +3277,8 @@ function messageLoading(content, duration) {
3203
3277
  }
3204
3278
 
3205
3279
  // src/Breadcrumb/Breadcrumb.tsx
3206
- var import_antd14 = require("antd");
3207
- var import_antd15 = require("antd");
3280
+ var import_antd16 = require("antd");
3281
+ var import_antd17 = require("antd");
3208
3282
  var import_jsx_runtime35 = require("react/jsx-runtime");
3209
3283
  function Breadcrumbs({
3210
3284
  items,
@@ -3214,7 +3288,7 @@ function Breadcrumbs({
3214
3288
  params
3215
3289
  }) {
3216
3290
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3217
- import_antd14.ConfigProvider,
3291
+ import_antd16.ConfigProvider,
3218
3292
  {
3219
3293
  theme: {
3220
3294
  token: {
@@ -3222,7 +3296,7 @@ function Breadcrumbs({
3222
3296
  }
3223
3297
  },
3224
3298
  children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3225
- import_antd15.Breadcrumb,
3299
+ import_antd17.Breadcrumb,
3226
3300
  {
3227
3301
  items,
3228
3302
  separator,
@@ -3236,7 +3310,7 @@ function Breadcrumbs({
3236
3310
  }
3237
3311
 
3238
3312
  // src/HeadingPage/HeadingPage.tsx
3239
- var import_antd16 = require("antd");
3313
+ var import_antd18 = require("antd");
3240
3314
  var import_jsx_runtime36 = require("react/jsx-runtime");
3241
3315
  function HeadingPage({ Heading }) {
3242
3316
  const today = (/* @__PURE__ */ new Date()).toLocaleDateString("th-TH", {
@@ -3246,7 +3320,7 @@ function HeadingPage({ Heading }) {
3246
3320
  year: "numeric"
3247
3321
  });
3248
3322
  return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3249
- import_antd16.ConfigProvider,
3323
+ import_antd18.ConfigProvider,
3250
3324
  {
3251
3325
  theme: {
3252
3326
  token: {
@@ -3265,7 +3339,7 @@ function HeadingPage({ Heading }) {
3265
3339
  }
3266
3340
 
3267
3341
  // src/Progress/ProgressBar.tsx
3268
- var import_antd17 = require("antd");
3342
+ var import_antd19 = require("antd");
3269
3343
  var import_react15 = require("react");
3270
3344
  var import_jsx_runtime37 = require("react/jsx-runtime");
3271
3345
  function ProgressBar({
@@ -3299,7 +3373,7 @@ function ProgressBar({
3299
3373
  return () => observer.disconnect();
3300
3374
  }, []);
3301
3375
  return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3302
- import_antd17.ConfigProvider,
3376
+ import_antd19.ConfigProvider,
3303
3377
  {
3304
3378
  theme: {
3305
3379
  token: {
@@ -3308,7 +3382,7 @@ function ProgressBar({
3308
3382
  },
3309
3383
  children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "relative w-full", ref: progressRef, children: [
3310
3384
  /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3311
- import_antd17.Progress,
3385
+ import_antd19.Progress,
3312
3386
  {
3313
3387
  className: "w-full",
3314
3388
  percent,
@@ -3345,7 +3419,7 @@ function ProgressBar({
3345
3419
  }
3346
3420
 
3347
3421
  // src/KpiSection/KpiSection.tsx
3348
- var import_antd18 = require("antd");
3422
+ var import_antd20 = require("antd");
3349
3423
  var import_react17 = require("react");
3350
3424
 
3351
3425
  // src/KpiSection/hooks/useGetKpiSection.ts
@@ -3516,7 +3590,7 @@ function KpiSection({ type, onChangeKpiList }) {
3516
3590
  itemErrors,
3517
3591
  setItemErrors
3518
3592
  } = useGetKpiSection();
3519
- const [messageApi2, messageContainer] = import_antd18.message.useMessage();
3593
+ const [messageApi2, messageContainer] = import_antd20.message.useMessage();
3520
3594
  const [hasShownError, setHasShownError] = (0, import_react17.useState)(false);
3521
3595
  (0, import_react17.useEffect)(() => {
3522
3596
  setMessageApi(messageApi2);
@@ -3527,7 +3601,7 @@ function KpiSection({ type, onChangeKpiList }) {
3527
3601
  }
3528
3602
  }, [kpiList]);
3529
3603
  return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3530
- import_antd18.ConfigProvider,
3604
+ import_antd20.ConfigProvider,
3531
3605
  {
3532
3606
  theme: {
3533
3607
  token: {
@@ -3751,16 +3825,16 @@ function KpiSection({ type, onChangeKpiList }) {
3751
3825
  }
3752
3826
 
3753
3827
  // src/Modal/Modal/Modal.tsx
3754
- var import_antd19 = require("antd");
3828
+ var import_antd21 = require("antd");
3755
3829
  var import_jsx_runtime39 = require("react/jsx-runtime");
3756
3830
  function AntDModal({ children, isOpen, width, onCancel }) {
3757
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_antd19.Modal, { open: isOpen, onCancel, width, centered: true, footer: null, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children }) }) });
3831
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_antd21.Modal, { open: isOpen, onCancel, width, centered: true, footer: null, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children }) }) });
3758
3832
  }
3759
3833
 
3760
3834
  // src/Indicator/Indicator/Indicator.tsx
3761
3835
  var import_icons_react12 = require("@tabler/icons-react");
3762
3836
  var import_react18 = require("react");
3763
- var import_antd20 = require("antd");
3837
+ var import_antd22 = require("antd");
3764
3838
  var import_jsx_runtime40 = require("react/jsx-runtime");
3765
3839
  function Indicator({
3766
3840
  option = [
@@ -3972,7 +4046,7 @@ function Indicator({
3972
4046
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "body-1 mt-2", children: item.inputType === "TEXT" ? "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21" : "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02" }),
3973
4047
  index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
3974
4048
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3975
- import_antd20.Input,
4049
+ import_antd22.Input,
3976
4050
  {
3977
4051
  className: "body-1 mt-2",
3978
4052
  variant: "underlined",
@@ -3989,7 +4063,7 @@ function Indicator({
3989
4063
  item.inputType === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
3990
4064
  index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
3991
4065
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3992
- import_antd20.Input,
4066
+ import_antd22.Input,
3993
4067
  {
3994
4068
  type: "number",
3995
4069
  className: "body-1 mt-2",
@@ -4006,7 +4080,7 @@ function Indicator({
4006
4080
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "body-1 mt-2", children: item.numberValue }),
4007
4081
  index === editIndex ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex flex-col gap-[8px]", children: [
4008
4082
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4009
- import_antd20.Input,
4083
+ import_antd22.Input,
4010
4084
  {
4011
4085
  className: "body-1 mt-2",
4012
4086
  variant: "underlined",
@@ -4104,7 +4178,7 @@ var FilterPopUp = (filter) => {
4104
4178
  // src/ProfileSelect/ProfileSelect/ProfileSelect.tsx
4105
4179
  var import_react20 = require("react");
4106
4180
  var import_icons_react14 = require("@tabler/icons-react");
4107
- var import_antd21 = require("antd");
4181
+ var import_antd23 = require("antd");
4108
4182
  var import_jsx_runtime42 = require("react/jsx-runtime");
4109
4183
  function ProfileSelect({
4110
4184
  allUser,
@@ -4162,6 +4236,9 @@ function ProfileSelect({
4162
4236
  const filteredUnassigned = normalizedSearch ? userNotAssign.filter(
4163
4237
  (u) => u.name.toLowerCase().includes(normalizedSearch)
4164
4238
  ) : userNotAssign;
4239
+ const isSearching = normalizedSearch.length > 0;
4240
+ const noResult = filteredAssigned.length === 0 && filteredUnassigned.length === 0;
4241
+ const noUserOption = allUser.length === 0 && !isSearching;
4165
4242
  return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { ref: containerRef, className: "relative body-1", children: [
4166
4243
  mode === "icon" ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4167
4244
  import_icons_react14.IconUsers,
@@ -4258,7 +4335,7 @@ function ProfileSelect({
4258
4335
  /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex border-1 rounded-md p-2 gap-2 items-center", children: [
4259
4336
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons_react14.IconSearch, {}),
4260
4337
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4261
- import_antd21.Input,
4338
+ import_antd23.Input,
4262
4339
  {
4263
4340
  variant: "borderless",
4264
4341
  placeholder: "\u0E04\u0E49\u0E19\u0E2B\u0E32\u0E0A\u0E37\u0E48\u0E2D",
@@ -4268,15 +4345,15 @@ function ProfileSelect({
4268
4345
  }
4269
4346
  )
4270
4347
  ] }),
4271
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "overflow-y-auto h-[250px] pt-2 px-4 body-3", children: [
4348
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "overflow-y-auto h-[250px] pt-2 px-4 body-3", children: noUserOption ? /* @__PURE__ */ (0, import_jsx_runtime42.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_runtime42.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_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
4272
4349
  filteredAssigned.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
4273
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: "\u0E2A\u0E21\u0E32\u0E0A\u0E34\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01" }),
4350
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "mb-1", children: "\u0E2A\u0E21\u0E32\u0E0A\u0E34\u0E01\u0E17\u0E35\u0E48\u0E40\u0E25\u0E37\u0E2D\u0E01" }),
4274
4351
  filteredAssigned.map((user) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4275
4352
  "button",
4276
4353
  {
4277
4354
  className: "flex items-center group my-1 w-full p-1 rounded hover:bg-gray-100",
4278
4355
  children: [
4279
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "relative cursor-pointer", children: [
4356
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "relative cursor-pointer", children: [
4280
4357
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4281
4358
  "img",
4282
4359
  {
@@ -4293,7 +4370,7 @@ function ProfileSelect({
4293
4370
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4294
4371
  "span",
4295
4372
  {
4296
- 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",
4373
+ 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",
4297
4374
  onClick: () => onUpdateAssignUser(user, "remove"),
4298
4375
  children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons_react14.IconX, { className: "text-red-500", size: 15 })
4299
4376
  }
@@ -4305,32 +4382,34 @@ function ProfileSelect({
4305
4382
  user.id
4306
4383
  ))
4307
4384
  ] }),
4308
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: "\u0E1C\u0E39\u0E49\u0E04\u0E19 " }),
4309
- filteredUnassigned.map((user) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4310
- "button",
4311
- {
4312
- className: "flex items-center my-1 hover:bg-gray-100 w-full p-1 rounded",
4313
- onClick: () => onUpdateAssignUser(user),
4314
- children: [
4315
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4316
- "img",
4317
- {
4318
- src: user.profile,
4319
- alt: user.name,
4320
- style: {
4321
- width: avatarSize,
4322
- height: avatarSize,
4323
- borderRadius: "50%"
4324
- },
4325
- className: "border "
4326
- }
4327
- ),
4328
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "ml-2", children: user.name })
4329
- ]
4330
- },
4331
- user.id
4332
- ))
4333
- ] })
4385
+ filteredUnassigned.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
4386
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "mt-2", children: "\u0E1C\u0E39\u0E49\u0E04\u0E19" }),
4387
+ filteredUnassigned.map((user) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4388
+ "button",
4389
+ {
4390
+ className: "flex items-center my-1 hover:bg-gray-100 w-full p-1 rounded",
4391
+ onClick: () => onUpdateAssignUser(user),
4392
+ children: [
4393
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4394
+ "img",
4395
+ {
4396
+ src: user.profile,
4397
+ alt: user.name,
4398
+ style: {
4399
+ width: avatarSize,
4400
+ height: avatarSize,
4401
+ borderRadius: "50%"
4402
+ },
4403
+ className: "border"
4404
+ }
4405
+ ),
4406
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "ml-2", children: user.name })
4407
+ ]
4408
+ },
4409
+ user.id
4410
+ ))
4411
+ ] })
4412
+ ] }) })
4334
4413
  ]
4335
4414
  }
4336
4415
  ) : null
@@ -4476,11 +4555,11 @@ var QRCodeGenerator = ({
4476
4555
  };
4477
4556
 
4478
4557
  // src/TabPropject/TabProject/TabProject.tsx
4479
- var import_antd22 = require("antd");
4558
+ var import_antd24 = require("antd");
4480
4559
  var import_jsx_runtime44 = require("react/jsx-runtime");
4481
4560
  function TabProject({ tabOption, now, onChange }) {
4482
4561
  return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4483
- import_antd22.ConfigProvider,
4562
+ import_antd24.ConfigProvider,
4484
4563
  {
4485
4564
  theme: {
4486
4565
  token: {
@@ -4497,7 +4576,7 @@ function TabProject({ tabOption, now, onChange }) {
4497
4576
  }
4498
4577
  },
4499
4578
  children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4500
- import_antd22.Tabs,
4579
+ import_antd24.Tabs,
4501
4580
  {
4502
4581
  activeKey: now,
4503
4582
  onChange,