@esic-lab/data-core-ui 0.0.62 → 0.0.63
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.d.mts +16 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.js +112 -0
- package/dist/index.mjs +111 -0
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -665,4 +665,19 @@ interface GanttChartProps {
|
|
|
665
665
|
}
|
|
666
666
|
declare const GanttChart: react.FC<GanttChartProps>;
|
|
667
667
|
|
|
668
|
-
|
|
668
|
+
type CardKPIProps = {
|
|
669
|
+
dataItem: {
|
|
670
|
+
id: string;
|
|
671
|
+
projectId: string;
|
|
672
|
+
name: string;
|
|
673
|
+
percent: number;
|
|
674
|
+
projectColor: string;
|
|
675
|
+
};
|
|
676
|
+
indicator: any[];
|
|
677
|
+
projectId: string;
|
|
678
|
+
overallPercent: number;
|
|
679
|
+
onDetailsClick: (key: string) => void;
|
|
680
|
+
};
|
|
681
|
+
declare function CardKPI({ dataItem, overallPercent, onDetailsClick, indicator, projectId, }: CardKPIProps): react_jsx_runtime.JSX.Element;
|
|
682
|
+
|
|
683
|
+
export { AntDModal, AntDataTable, BarChart, Breadcrumbs, Calendar, CardKPI, Checkbox, CheckboxGroup, ColorPalettePickerBasic, ColorPickerBasic, DataTable, DatePickerBasic, DatePickerRange, FileUploader, FilterPopUp, GanttChart, GhostButton, HeadingPage, Indicator, InputField, InputFieldNumber, KpiSection, Loader, MenuNavBar, type MenuNavBarProps, PieChart, PrimaryButton, ProfileSelect, ProgressBar, QRCodeGenerator, Radio, RadioGroup, SecondaryButton, SelectCustom, SelectField, SelectFieldGroup, SelectFieldStatus, SelectFieldStatusReport, SelectFieldTag, Sidebar, SortFilter, Switch, SwitchSelect, TabProject, TabSelectionButton, TertiaryButton, TextAreaInput, TextInput, TopNavBar, messageError, messageInfo, messageLoading, messageSuccess, messageWarning, setMessageApi };
|
package/dist/index.d.ts
CHANGED
|
@@ -665,4 +665,19 @@ interface GanttChartProps {
|
|
|
665
665
|
}
|
|
666
666
|
declare const GanttChart: react.FC<GanttChartProps>;
|
|
667
667
|
|
|
668
|
-
|
|
668
|
+
type CardKPIProps = {
|
|
669
|
+
dataItem: {
|
|
670
|
+
id: string;
|
|
671
|
+
projectId: string;
|
|
672
|
+
name: string;
|
|
673
|
+
percent: number;
|
|
674
|
+
projectColor: string;
|
|
675
|
+
};
|
|
676
|
+
indicator: any[];
|
|
677
|
+
projectId: string;
|
|
678
|
+
overallPercent: number;
|
|
679
|
+
onDetailsClick: (key: string) => void;
|
|
680
|
+
};
|
|
681
|
+
declare function CardKPI({ dataItem, overallPercent, onDetailsClick, indicator, projectId, }: CardKPIProps): react_jsx_runtime.JSX.Element;
|
|
682
|
+
|
|
683
|
+
export { AntDModal, AntDataTable, BarChart, Breadcrumbs, Calendar, CardKPI, Checkbox, CheckboxGroup, ColorPalettePickerBasic, ColorPickerBasic, DataTable, DatePickerBasic, DatePickerRange, FileUploader, FilterPopUp, GanttChart, GhostButton, HeadingPage, Indicator, InputField, InputFieldNumber, KpiSection, Loader, MenuNavBar, type MenuNavBarProps, PieChart, PrimaryButton, ProfileSelect, ProgressBar, QRCodeGenerator, Radio, RadioGroup, SecondaryButton, SelectCustom, SelectField, SelectFieldGroup, SelectFieldStatus, SelectFieldStatusReport, SelectFieldTag, Sidebar, SortFilter, Switch, SwitchSelect, TabProject, TabSelectionButton, TertiaryButton, TextAreaInput, TextInput, TopNavBar, messageError, messageInfo, messageLoading, messageSuccess, messageWarning, setMessageApi };
|
package/dist/index.js
CHANGED
|
@@ -360,6 +360,7 @@ __export(index_exports, {
|
|
|
360
360
|
BarChart: () => BarChart,
|
|
361
361
|
Breadcrumbs: () => Breadcrumbs,
|
|
362
362
|
Calendar: () => Calendar,
|
|
363
|
+
CardKPI: () => CardKPI,
|
|
363
364
|
Checkbox: () => Checkbox,
|
|
364
365
|
CheckboxGroup: () => CheckboxGroup,
|
|
365
366
|
ColorPalettePickerBasic: () => ColorPalettePickerBasic,
|
|
@@ -5260,6 +5261,116 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5260
5261
|
}
|
|
5261
5262
|
);
|
|
5262
5263
|
};
|
|
5264
|
+
|
|
5265
|
+
// src/CardKPI/CardKPI/CardKPI.tsx
|
|
5266
|
+
var import_icons_react15 = require("@tabler/icons-react");
|
|
5267
|
+
var import_react25 = require("react");
|
|
5268
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
5269
|
+
function KPIRow({ item }) {
|
|
5270
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
5271
|
+
"div",
|
|
5272
|
+
{
|
|
5273
|
+
className: `w-full grid body-3 py-2 items-center pl-2 ${item.inputType === "NUMBER" ? "grid-cols-[1fr_100px_50px]" : "grid-cols-[1fr_50px]"}`,
|
|
5274
|
+
children: [
|
|
5275
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "line-clamp-2", children: item.textValue }),
|
|
5276
|
+
item.inputType === "NUMBER" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "flex", children: `${item.currentValue}/${item.numberValue} ${item.unit}` }),
|
|
5277
|
+
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_react15.IconCheckbox, { className: "text-green-500 flex justify-center w-full", size: 30 }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_icons_react15.IconSquare, { className: "text-gray-200 flex justify-center w-full", size: 30 }) })
|
|
5278
|
+
]
|
|
5279
|
+
}
|
|
5280
|
+
);
|
|
5281
|
+
}
|
|
5282
|
+
function CardKPI({
|
|
5283
|
+
dataItem,
|
|
5284
|
+
overallPercent,
|
|
5285
|
+
onDetailsClick,
|
|
5286
|
+
indicator,
|
|
5287
|
+
projectId
|
|
5288
|
+
}) {
|
|
5289
|
+
const [isOpen, setIsOpen] = (0, import_react25.useState)(false);
|
|
5290
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
5291
|
+
"div",
|
|
5292
|
+
{
|
|
5293
|
+
className: `border-10 p-4 rounded-md w-[420px] h-[450px] relative`,
|
|
5294
|
+
style: { borderColor: dataItem.projectColor },
|
|
5295
|
+
children: [
|
|
5296
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "grid grid-cols-[1fr_70px] justify-between items-center", children: [
|
|
5297
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "line-clamp-2 subtitle-2 ", children: dataItem.name }),
|
|
5298
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
5299
|
+
"button",
|
|
5300
|
+
{
|
|
5301
|
+
type: "button",
|
|
5302
|
+
className: "underline hover:text-primary-800 body-3 cursor-pointer ",
|
|
5303
|
+
onClick: () => onDetailsClick(projectId),
|
|
5304
|
+
children: "\u0E23\u0E32\u0E22\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14"
|
|
5305
|
+
}
|
|
5306
|
+
) })
|
|
5307
|
+
] }),
|
|
5308
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "my-2 body-1", children: [
|
|
5309
|
+
/* @__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" }),
|
|
5310
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ProgressBar, { percent: overallPercent, type: "line", checkpoints: [0] })
|
|
5311
|
+
] }),
|
|
5312
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "border-b", children: [
|
|
5313
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "body-2 ", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C" }),
|
|
5314
|
+
indicator.filter((ind) => ind.indicatorType === "TARGET").map((item, index) => {
|
|
5315
|
+
if (index === 2) return;
|
|
5316
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
|
|
5317
|
+
})
|
|
5318
|
+
] }),
|
|
5319
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "pt-2", children: [
|
|
5320
|
+
/* @__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" }),
|
|
5321
|
+
indicator.filter((ind) => ind.indicatorType === "OUTPUT").map((item, index) => {
|
|
5322
|
+
if (index === 2) return;
|
|
5323
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
|
|
5324
|
+
})
|
|
5325
|
+
] }),
|
|
5326
|
+
indicator.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "text-sm text-gray-500 italic", children: "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23" }),
|
|
5327
|
+
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)(
|
|
5328
|
+
import_icons_react15.IconDots,
|
|
5329
|
+
{
|
|
5330
|
+
className: "cursor-pointer",
|
|
5331
|
+
onClick: () => setIsOpen(true)
|
|
5332
|
+
}
|
|
5333
|
+
) }) : void 0,
|
|
5334
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
5335
|
+
AntDModal,
|
|
5336
|
+
{
|
|
5337
|
+
isOpen,
|
|
5338
|
+
onCancel: () => setIsOpen(false),
|
|
5339
|
+
width: 600,
|
|
5340
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "mt-10", children: [
|
|
5341
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "grid grid-cols-[1fr_100px] justify-between items-center subtitle-2 ", children: [
|
|
5342
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "font-medium line-clamp-2", children: dataItem.name }),
|
|
5343
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
5344
|
+
"button",
|
|
5345
|
+
{
|
|
5346
|
+
type: "button",
|
|
5347
|
+
className: "underline hover:text-primary-800 body-3 cursor-pointer",
|
|
5348
|
+
onClick: () => onDetailsClick(dataItem.projectId),
|
|
5349
|
+
children: "\u0E23\u0E32\u0E22\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14"
|
|
5350
|
+
}
|
|
5351
|
+
)
|
|
5352
|
+
] }),
|
|
5353
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "p-4", children: [
|
|
5354
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
|
|
5355
|
+
/* @__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" }),
|
|
5356
|
+
indicator.filter((ind) => ind.indicatorType === "TARGET").map((item, index) => {
|
|
5357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
|
|
5358
|
+
})
|
|
5359
|
+
] }),
|
|
5360
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
|
|
5361
|
+
/* @__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" }),
|
|
5362
|
+
indicator.filter((ind) => ind.indicatorType === "OUTPUT").map((item, index) => {
|
|
5363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KPIRow, { item });
|
|
5364
|
+
})
|
|
5365
|
+
] })
|
|
5366
|
+
] })
|
|
5367
|
+
] })
|
|
5368
|
+
}
|
|
5369
|
+
)
|
|
5370
|
+
]
|
|
5371
|
+
}
|
|
5372
|
+
);
|
|
5373
|
+
}
|
|
5263
5374
|
// Annotate the CommonJS export names for ESM import in node:
|
|
5264
5375
|
0 && (module.exports = {
|
|
5265
5376
|
AntDModal,
|
|
@@ -5267,6 +5378,7 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5267
5378
|
BarChart,
|
|
5268
5379
|
Breadcrumbs,
|
|
5269
5380
|
Calendar,
|
|
5381
|
+
CardKPI,
|
|
5270
5382
|
Checkbox,
|
|
5271
5383
|
CheckboxGroup,
|
|
5272
5384
|
ColorPalettePickerBasic,
|
package/dist/index.mjs
CHANGED
|
@@ -5210,12 +5210,123 @@ var GanttChart = ({ data, width, height }) => {
|
|
|
5210
5210
|
}
|
|
5211
5211
|
);
|
|
5212
5212
|
};
|
|
5213
|
+
|
|
5214
|
+
// src/CardKPI/CardKPI/CardKPI.tsx
|
|
5215
|
+
import { IconCheckbox, IconDots, IconSquare } from "@tabler/icons-react";
|
|
5216
|
+
import { useState as useState21 } from "react";
|
|
5217
|
+
import { Fragment as Fragment9, jsx as jsx49, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
5218
|
+
function KPIRow({ item }) {
|
|
5219
|
+
return /* @__PURE__ */ jsxs40(
|
|
5220
|
+
"div",
|
|
5221
|
+
{
|
|
5222
|
+
className: `w-full grid body-3 py-2 items-center pl-2 ${item.inputType === "NUMBER" ? "grid-cols-[1fr_100px_50px]" : "grid-cols-[1fr_50px]"}`,
|
|
5223
|
+
children: [
|
|
5224
|
+
/* @__PURE__ */ jsx49("div", { className: "line-clamp-2", children: item.textValue }),
|
|
5225
|
+
item.inputType === "NUMBER" && /* @__PURE__ */ jsx49("span", { className: "flex", children: `${item.currentValue}/${item.numberValue} ${item.unit}` }),
|
|
5226
|
+
item.inputType === "NUMBER" ? /* @__PURE__ */ jsx49("div", { className: "flex", children: /* @__PURE__ */ jsx49(ProgressBar, { percent: Math.floor(item.currentValue * 100 / (item.numberValue ?? 1)), type: "circle", checkpoints: [0] }) }) : /* @__PURE__ */ jsx49(Fragment9, { children: item.currentValue !== 0 ? /* @__PURE__ */ jsx49(IconCheckbox, { className: "text-green-500 flex justify-center w-full", size: 30 }) : /* @__PURE__ */ jsx49(IconSquare, { className: "text-gray-200 flex justify-center w-full", size: 30 }) })
|
|
5227
|
+
]
|
|
5228
|
+
}
|
|
5229
|
+
);
|
|
5230
|
+
}
|
|
5231
|
+
function CardKPI({
|
|
5232
|
+
dataItem,
|
|
5233
|
+
overallPercent,
|
|
5234
|
+
onDetailsClick,
|
|
5235
|
+
indicator,
|
|
5236
|
+
projectId
|
|
5237
|
+
}) {
|
|
5238
|
+
const [isOpen, setIsOpen] = useState21(false);
|
|
5239
|
+
return /* @__PURE__ */ jsxs40(
|
|
5240
|
+
"div",
|
|
5241
|
+
{
|
|
5242
|
+
className: `border-10 p-4 rounded-md w-[420px] h-[450px] relative`,
|
|
5243
|
+
style: { borderColor: dataItem.projectColor },
|
|
5244
|
+
children: [
|
|
5245
|
+
/* @__PURE__ */ jsxs40("div", { className: "grid grid-cols-[1fr_70px] justify-between items-center", children: [
|
|
5246
|
+
/* @__PURE__ */ jsx49("div", { className: "line-clamp-2 subtitle-2 ", children: dataItem.name }),
|
|
5247
|
+
/* @__PURE__ */ jsx49("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx49(
|
|
5248
|
+
"button",
|
|
5249
|
+
{
|
|
5250
|
+
type: "button",
|
|
5251
|
+
className: "underline hover:text-primary-800 body-3 cursor-pointer ",
|
|
5252
|
+
onClick: () => onDetailsClick(projectId),
|
|
5253
|
+
children: "\u0E23\u0E32\u0E22\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14"
|
|
5254
|
+
}
|
|
5255
|
+
) })
|
|
5256
|
+
] }),
|
|
5257
|
+
/* @__PURE__ */ jsxs40("div", { className: "my-2 body-1", children: [
|
|
5258
|
+
/* @__PURE__ */ jsx49("div", { className: "translate-y-2", children: "\u0E23\u0E49\u0E2D\u0E22\u0E25\u0E30\u0E02\u0E2D\u0E07\u0E01\u0E34\u0E08\u0E01\u0E23\u0E23\u0E21" }),
|
|
5259
|
+
/* @__PURE__ */ jsx49(ProgressBar, { percent: overallPercent, type: "line", checkpoints: [0] })
|
|
5260
|
+
] }),
|
|
5261
|
+
/* @__PURE__ */ jsxs40("div", { className: "border-b", children: [
|
|
5262
|
+
/* @__PURE__ */ jsx49("span", { className: "body-2 ", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E25\u0E31\u0E1E\u0E18\u0E4C" }),
|
|
5263
|
+
indicator.filter((ind) => ind.indicatorType === "TARGET").map((item, index) => {
|
|
5264
|
+
if (index === 2) return;
|
|
5265
|
+
return /* @__PURE__ */ jsx49(KPIRow, { item });
|
|
5266
|
+
})
|
|
5267
|
+
] }),
|
|
5268
|
+
/* @__PURE__ */ jsxs40("div", { className: "pt-2", children: [
|
|
5269
|
+
/* @__PURE__ */ jsx49("span", { className: "body-2 ", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
|
|
5270
|
+
indicator.filter((ind) => ind.indicatorType === "OUTPUT").map((item, index) => {
|
|
5271
|
+
if (index === 2) return;
|
|
5272
|
+
return /* @__PURE__ */ jsx49(KPIRow, { item });
|
|
5273
|
+
})
|
|
5274
|
+
] }),
|
|
5275
|
+
indicator.length === 0 && /* @__PURE__ */ jsx49("div", { className: "text-sm text-gray-500 italic", children: "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E42\u0E04\u0E23\u0E07\u0E01\u0E32\u0E23" }),
|
|
5276
|
+
indicator.filter((item) => item.indicatorType === "TARGET").length > 2 || indicator.filter((item) => item.indicatorType === "OUTPUT").length > 2 ? /* @__PURE__ */ jsx49("div", { className: "bottom-0 right-1/2 absolute text-gray-300", children: /* @__PURE__ */ jsx49(
|
|
5277
|
+
IconDots,
|
|
5278
|
+
{
|
|
5279
|
+
className: "cursor-pointer",
|
|
5280
|
+
onClick: () => setIsOpen(true)
|
|
5281
|
+
}
|
|
5282
|
+
) }) : void 0,
|
|
5283
|
+
/* @__PURE__ */ jsx49(
|
|
5284
|
+
AntDModal,
|
|
5285
|
+
{
|
|
5286
|
+
isOpen,
|
|
5287
|
+
onCancel: () => setIsOpen(false),
|
|
5288
|
+
width: 600,
|
|
5289
|
+
children: /* @__PURE__ */ jsxs40("div", { className: "mt-10", children: [
|
|
5290
|
+
/* @__PURE__ */ jsxs40("div", { className: "grid grid-cols-[1fr_100px] justify-between items-center subtitle-2 ", children: [
|
|
5291
|
+
/* @__PURE__ */ jsx49("div", { className: "font-medium line-clamp-2", children: dataItem.name }),
|
|
5292
|
+
/* @__PURE__ */ jsx49(
|
|
5293
|
+
"button",
|
|
5294
|
+
{
|
|
5295
|
+
type: "button",
|
|
5296
|
+
className: "underline hover:text-primary-800 body-3 cursor-pointer",
|
|
5297
|
+
onClick: () => onDetailsClick(dataItem.projectId),
|
|
5298
|
+
children: "\u0E23\u0E32\u0E22\u0E25\u0E30\u0E40\u0E2D\u0E35\u0E22\u0E14"
|
|
5299
|
+
}
|
|
5300
|
+
)
|
|
5301
|
+
] }),
|
|
5302
|
+
/* @__PURE__ */ jsxs40("div", { className: "p-4", children: [
|
|
5303
|
+
/* @__PURE__ */ jsxs40("div", { children: [
|
|
5304
|
+
/* @__PURE__ */ jsx49("span", { className: "body-1 border-b", children: "\u0E01\u0E25\u0E38\u0E48\u0E21\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22" }),
|
|
5305
|
+
indicator.filter((ind) => ind.indicatorType === "TARGET").map((item, index) => {
|
|
5306
|
+
return /* @__PURE__ */ jsx49(KPIRow, { item });
|
|
5307
|
+
})
|
|
5308
|
+
] }),
|
|
5309
|
+
/* @__PURE__ */ jsxs40("div", { children: [
|
|
5310
|
+
/* @__PURE__ */ jsx49("span", { className: "body-1 border-b", children: "\u0E15\u0E31\u0E27\u0E0A\u0E35\u0E49\u0E27\u0E31\u0E14\u0E1C\u0E25\u0E1C\u0E25\u0E34\u0E15" }),
|
|
5311
|
+
indicator.filter((ind) => ind.indicatorType === "OUTPUT").map((item, index) => {
|
|
5312
|
+
return /* @__PURE__ */ jsx49(KPIRow, { item });
|
|
5313
|
+
})
|
|
5314
|
+
] })
|
|
5315
|
+
] })
|
|
5316
|
+
] })
|
|
5317
|
+
}
|
|
5318
|
+
)
|
|
5319
|
+
]
|
|
5320
|
+
}
|
|
5321
|
+
);
|
|
5322
|
+
}
|
|
5213
5323
|
export {
|
|
5214
5324
|
AntDModal,
|
|
5215
5325
|
AntDataTable,
|
|
5216
5326
|
BarChart,
|
|
5217
5327
|
Breadcrumbs,
|
|
5218
5328
|
Calendar,
|
|
5329
|
+
CardKPI,
|
|
5219
5330
|
Checkbox,
|
|
5220
5331
|
CheckboxGroup,
|
|
5221
5332
|
ColorPalettePickerBasic,
|