@deepnoid/ui 0.1.206 → 0.1.208
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/.turbo/turbo-build.log +494 -484
- package/dist/chunk-3IBJXQTJ.mjs +42 -0
- package/dist/chunk-4TAZM6EF.mjs +285 -0
- package/dist/chunk-I4YRN4UE.mjs +79 -0
- package/dist/{chunk-BTO7MP5N.mjs → chunk-JPNMYMDN.mjs} +4 -4
- package/dist/chunk-QBWQHWNV.mjs +81 -0
- package/dist/components/breadcrumb/breadcrumb.mjs +1 -1
- package/dist/components/breadcrumb/index.mjs +1 -1
- package/dist/components/button/button.mjs +1 -1
- package/dist/components/button/icon-button.mjs +1 -1
- package/dist/components/button/index.mjs +1 -1
- package/dist/components/chip/chip.mjs +1 -1
- package/dist/components/chip/index.mjs +1 -1
- package/dist/components/fileUpload/fileUpload.mjs +1 -1
- package/dist/components/fileUpload/index.mjs +1 -1
- package/dist/components/input/index.mjs +1 -1
- package/dist/components/input/input.mjs +1 -1
- package/dist/components/list/index.mjs +3 -3
- package/dist/components/list/listItem.mjs +3 -3
- package/dist/components/modal/index.mjs +4 -4
- package/dist/components/modal/modal.mjs +4 -4
- package/dist/components/pagination/index.mjs +1 -1
- package/dist/components/pagination/pagination.mjs +1 -1
- package/dist/components/picker/datePicker.mjs +3 -3
- package/dist/components/picker/index.d.mts +1 -1
- package/dist/components/picker/index.d.ts +1 -1
- package/dist/components/picker/index.js +266 -679
- package/dist/components/picker/index.mjs +8 -8
- package/dist/components/picker/timePicker/Panel.d.mts +11 -0
- package/dist/components/picker/timePicker/Panel.d.ts +11 -0
- package/dist/components/picker/timePicker/Panel.js +740 -0
- package/dist/components/picker/timePicker/Panel.mjs +26 -0
- package/dist/components/picker/timePicker/WheelColumn.d.mts +10 -0
- package/dist/components/picker/timePicker/WheelColumn.d.ts +10 -0
- package/dist/components/picker/timePicker/WheelColumn.js +98 -0
- package/dist/components/picker/timePicker/WheelColumn.mjs +8 -0
- package/dist/components/picker/{timePicker.d.ts → timePicker/index.d.mts} +41 -52
- package/dist/components/picker/{timePicker.d.mts → timePicker/index.d.ts} +41 -52
- package/dist/components/picker/{timePicker.js → timePicker/index.js} +702 -1003
- package/dist/components/picker/timePicker/index.mjs +29 -0
- package/dist/components/picker/utils.d.mts +11 -1
- package/dist/components/picker/utils.d.ts +11 -1
- package/dist/components/picker/utils.js +28 -2
- package/dist/components/picker/utils.mjs +7 -3
- package/dist/components/select/index.mjs +1 -1
- package/dist/components/select/select.mjs +1 -1
- package/dist/components/starRating/index.mjs +1 -1
- package/dist/components/starRating/starRating.mjs +1 -1
- package/dist/components/table/index.mjs +1 -1
- package/dist/components/table/table-body.mjs +1 -1
- package/dist/components/table/table-head.mjs +1 -1
- package/dist/components/table/table.mjs +1 -1
- package/dist/components/timePicker/calendar.mjs +2 -2
- package/dist/components/timePicker/useDateTimePicker.mjs +1 -1
- package/dist/components/toast/index.mjs +1 -1
- package/dist/components/toast/toast.mjs +1 -1
- package/dist/components/toast/use-toast.mjs +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +479 -397
- package/dist/index.mjs +40 -38
- package/package.json +1 -1
- package/dist/chunk-COGGK5Q6.mjs +0 -365
- package/dist/chunk-FWFEKWWD.mjs +0 -18
- package/dist/components/picker/timePicker.mjs +0 -26
- package/dist/{chunk-IG7QEXDU.mjs → chunk-D72ILS4A.mjs} +3 -3
- package/dist/{chunk-YO4PZXCM.mjs → chunk-K3M3QEEV.mjs} +3 -3
package/dist/index.js
CHANGED
|
@@ -11400,6 +11400,28 @@ var formatStringToDate = (date) => {
|
|
|
11400
11400
|
const formattedDate = new Date(date);
|
|
11401
11401
|
return formattedDate;
|
|
11402
11402
|
};
|
|
11403
|
+
var convert24To12 = (time24) => {
|
|
11404
|
+
const [HH, MM] = time24.split(":");
|
|
11405
|
+
let h = Number(HH);
|
|
11406
|
+
const minute = MM || "";
|
|
11407
|
+
const meridiem = h >= 12 ? "PM" : "AM";
|
|
11408
|
+
let hour12 = h % 12;
|
|
11409
|
+
if (hour12 === 0) hour12 = 12;
|
|
11410
|
+
const hour = String(hour12).padStart(2, "0");
|
|
11411
|
+
return { hour, minute, meridiem };
|
|
11412
|
+
};
|
|
11413
|
+
var getCurrent12Hour = () => {
|
|
11414
|
+
const now = /* @__PURE__ */ new Date();
|
|
11415
|
+
let hour = now.getHours();
|
|
11416
|
+
const minute = String(now.getMinutes()).padStart(2, "0");
|
|
11417
|
+
const meridiem = hour >= 12 ? "PM" : "AM";
|
|
11418
|
+
hour = hour % 12 || 12;
|
|
11419
|
+
return {
|
|
11420
|
+
hour: String(hour).padStart(2, "0"),
|
|
11421
|
+
minute,
|
|
11422
|
+
meridiem
|
|
11423
|
+
};
|
|
11424
|
+
};
|
|
11403
11425
|
|
|
11404
11426
|
// src/components/picker/datePicker.tsx
|
|
11405
11427
|
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
@@ -11886,217 +11908,262 @@ var datePickerStyle = tv({
|
|
|
11886
11908
|
}
|
|
11887
11909
|
});
|
|
11888
11910
|
|
|
11889
|
-
// src/components/picker/timePicker.tsx
|
|
11890
|
-
var
|
|
11911
|
+
// src/components/picker/timePicker/index.tsx
|
|
11912
|
+
var import_react37 = require("react");
|
|
11891
11913
|
var import_react_dom6 = require("react-dom");
|
|
11914
|
+
|
|
11915
|
+
// src/components/picker/timePicker/Panel.tsx
|
|
11916
|
+
var import_react36 = require("react");
|
|
11917
|
+
|
|
11918
|
+
// src/components/picker/timePicker/WheelColumn.tsx
|
|
11919
|
+
var import_react35 = require("react");
|
|
11892
11920
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
11893
|
-
var
|
|
11921
|
+
var ITEM_HEIGHT = 30;
|
|
11922
|
+
var ACTIVE_HEIGHT = 34;
|
|
11923
|
+
function WheelColumn({ list, value, onChange }) {
|
|
11924
|
+
const ref = (0, import_react35.useRef)(null);
|
|
11925
|
+
const internalChangeRef = (0, import_react35.useRef)(false);
|
|
11926
|
+
const [currentIndex, setCurrentIndex] = (0, import_react35.useState)(0);
|
|
11927
|
+
const scrollToIndex = (index, behavior = "smooth") => {
|
|
11928
|
+
if (!ref.current) return;
|
|
11929
|
+
const diff = ACTIVE_HEIGHT - ITEM_HEIGHT;
|
|
11930
|
+
let centerOffset = index > 0 && behavior === "auto" ? diff : 0;
|
|
11931
|
+
if (behavior === "auto" && currentIndex !== 0) centerOffset -= 4;
|
|
11932
|
+
const top = index * ITEM_HEIGHT + centerOffset;
|
|
11933
|
+
ref.current.scrollTo({ top, behavior });
|
|
11934
|
+
};
|
|
11935
|
+
const finalizeScroll = (index) => {
|
|
11936
|
+
internalChangeRef.current = true;
|
|
11937
|
+
const v = list[index];
|
|
11938
|
+
setCurrentIndex(index);
|
|
11939
|
+
scrollToIndex(index, "smooth");
|
|
11940
|
+
if (v) onChange(v);
|
|
11941
|
+
};
|
|
11942
|
+
const handleClick = (index) => finalizeScroll(index);
|
|
11943
|
+
(0, import_react35.useEffect)(() => {
|
|
11944
|
+
if (!ref.current || !value) return;
|
|
11945
|
+
const idx = list.indexOf(value);
|
|
11946
|
+
if (idx < 0) return;
|
|
11947
|
+
if (internalChangeRef.current) {
|
|
11948
|
+
internalChangeRef.current = false;
|
|
11949
|
+
return;
|
|
11950
|
+
}
|
|
11951
|
+
setCurrentIndex(idx);
|
|
11952
|
+
scrollToIndex(idx, "auto");
|
|
11953
|
+
}, [value]);
|
|
11954
|
+
(0, import_react35.useEffect)(() => {
|
|
11955
|
+
const el = ref.current;
|
|
11956
|
+
if (!el) return;
|
|
11957
|
+
const handleWheel = (e) => {
|
|
11958
|
+
e.preventDefault();
|
|
11959
|
+
let newIndex = currentIndex;
|
|
11960
|
+
if (e.deltaY > 0) {
|
|
11961
|
+
newIndex = Math.min(currentIndex + 1, list.length - 1);
|
|
11962
|
+
} else if (e.deltaY < 0) {
|
|
11963
|
+
newIndex = Math.max(currentIndex - 1, 0);
|
|
11964
|
+
}
|
|
11965
|
+
finalizeScroll(newIndex);
|
|
11966
|
+
};
|
|
11967
|
+
el.addEventListener("wheel", handleWheel, { passive: false });
|
|
11968
|
+
return () => el.removeEventListener("wheel", handleWheel);
|
|
11969
|
+
}, [currentIndex, list, onChange]);
|
|
11970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "relative h-[94px] w-[40px]", children: [
|
|
11971
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "pointer-events-none absolute left-1/2 top-[30px] h-[34px] w-[40px] -translate-x-1/2 rounded-[10px] shadow-[inset_0_0_0_1.5px_var(--dn-primary-light)]" }),
|
|
11972
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { ref, className: "scrollbar-none relative h-full select-none overflow-y-scroll py-[0]", children: [
|
|
11973
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { style: { height: ITEM_HEIGHT } }),
|
|
11974
|
+
list.map((v, i) => {
|
|
11975
|
+
const isActive = i === currentIndex;
|
|
11976
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
11977
|
+
"div",
|
|
11978
|
+
{
|
|
11979
|
+
onClick: () => handleClick(i),
|
|
11980
|
+
className: `flex items-center justify-center text-sm font-bold transition-all ${isActive ? "text-body-foreground" : "text-neutral-light"}`,
|
|
11981
|
+
style: { height: isActive ? ACTIVE_HEIGHT : ITEM_HEIGHT },
|
|
11982
|
+
children: v
|
|
11983
|
+
},
|
|
11984
|
+
i
|
|
11985
|
+
);
|
|
11986
|
+
}),
|
|
11987
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { style: { height: list.length >= 3 ? ITEM_HEIGHT + 4 : ITEM_HEIGHT } })
|
|
11988
|
+
] })
|
|
11989
|
+
] });
|
|
11990
|
+
}
|
|
11991
|
+
|
|
11992
|
+
// src/components/picker/timePicker/Panel.tsx
|
|
11993
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
11994
|
+
var hours = [...Array(12)].map((_, i) => String(i + 1).padStart(2, "0"));
|
|
11995
|
+
var minutes = [...Array(60)].map((_, i) => String(i).padStart(2, "0"));
|
|
11996
|
+
var meridiemList = ["AM", "PM"];
|
|
11997
|
+
var TimePickerPanel = (0, import_react36.forwardRef)(
|
|
11998
|
+
({ value, onChange, nowTitle, confirmTitle }, ref) => {
|
|
11999
|
+
const [time, setTime] = (0, import_react36.useState)({ hour: "", minute: "", meridiem: "" });
|
|
12000
|
+
const handleNow = () => {
|
|
12001
|
+
setTime(getCurrent12Hour());
|
|
12002
|
+
};
|
|
12003
|
+
const handleConfirm = (time2) => {
|
|
12004
|
+
const { hour, minute, meridiem } = time2;
|
|
12005
|
+
let h = Number(hour);
|
|
12006
|
+
if (meridiem === "AM") {
|
|
12007
|
+
if (h === 12) h = 0;
|
|
12008
|
+
} else {
|
|
12009
|
+
if (h !== 12) h += 12;
|
|
12010
|
+
}
|
|
12011
|
+
const HH = String(h).padStart(2, "0");
|
|
12012
|
+
const MM = minute.padStart(2, "0");
|
|
12013
|
+
const SS = "00";
|
|
12014
|
+
onChange(`${HH}:${MM}:${SS}`);
|
|
12015
|
+
};
|
|
12016
|
+
(0, import_react36.useEffect)(() => {
|
|
12017
|
+
setTime(value ? convert24To12(value) : getCurrent12Hour());
|
|
12018
|
+
}, [value]);
|
|
12019
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
|
|
12020
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { ref, className: "flex gap-[10px]", children: [
|
|
12021
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center justify-center gap-[5px]", children: [
|
|
12022
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(WheelColumn, { list: hours, value: time.hour, onChange: (v) => setTime({ ...time, hour: v }) }),
|
|
12023
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "w-[5px] text-sm font-bold", children: ":" }),
|
|
12024
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(WheelColumn, { list: minutes, value: time.minute, onChange: (v) => setTime({ ...time, minute: v }) })
|
|
12025
|
+
] }),
|
|
12026
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(WheelColumn, { list: meridiemList, value: time.meridiem, onChange: (v) => setTime({ ...time, meridiem: v }) })
|
|
12027
|
+
] }),
|
|
12028
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex justify-between px-1 text-sm", children: [
|
|
12029
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
12030
|
+
text_button_default,
|
|
12031
|
+
{
|
|
12032
|
+
variant: "underline",
|
|
12033
|
+
color: "neutral",
|
|
12034
|
+
size: "sm",
|
|
12035
|
+
classNames: { base: "font-bold" },
|
|
12036
|
+
onClick: handleNow,
|
|
12037
|
+
children: nowTitle
|
|
12038
|
+
}
|
|
12039
|
+
),
|
|
12040
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
12041
|
+
text_button_default,
|
|
12042
|
+
{
|
|
12043
|
+
variant: "underline",
|
|
12044
|
+
size: "sm",
|
|
12045
|
+
classNames: { base: "font-bold" },
|
|
12046
|
+
onClick: () => handleConfirm(time),
|
|
12047
|
+
children: confirmTitle
|
|
12048
|
+
}
|
|
12049
|
+
)
|
|
12050
|
+
] })
|
|
12051
|
+
] });
|
|
12052
|
+
}
|
|
12053
|
+
);
|
|
12054
|
+
var Panel_default = TimePickerPanel;
|
|
12055
|
+
|
|
12056
|
+
// src/components/picker/timePicker/index.tsx
|
|
12057
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
12058
|
+
var TimePicker = (0, import_react37.forwardRef)((originalProps, ref) => {
|
|
11894
12059
|
const [props, variantProps] = mapPropsVariants(originalProps, timePickerStyle.variantKeys);
|
|
11895
12060
|
const {
|
|
11896
12061
|
classNames,
|
|
11897
12062
|
label,
|
|
11898
12063
|
errorMessage,
|
|
11899
|
-
|
|
11900
|
-
|
|
11901
|
-
size,
|
|
11902
|
-
|
|
12064
|
+
value,
|
|
12065
|
+
onChange,
|
|
12066
|
+
size = "md",
|
|
12067
|
+
variant = "solid",
|
|
12068
|
+
full = false,
|
|
12069
|
+
disabled = false,
|
|
11903
12070
|
placeholder = "",
|
|
12071
|
+
nowTitle,
|
|
12072
|
+
confirmTitle,
|
|
11904
12073
|
...inputProps
|
|
11905
|
-
} = props;
|
|
11906
|
-
const
|
|
11907
|
-
|
|
11908
|
-
);
|
|
11909
|
-
const
|
|
11910
|
-
const
|
|
11911
|
-
|
|
11912
|
-
|
|
11913
|
-
|
|
11914
|
-
|
|
11915
|
-
|
|
11916
|
-
}
|
|
11917
|
-
return
|
|
11918
|
-
}, [
|
|
11919
|
-
const calculatePosition = (0,
|
|
12074
|
+
} = { ...props, ...variantProps };
|
|
12075
|
+
const slots = (0, import_react37.useMemo)(() => timePickerStyle({ ...variantProps }), [variantProps]);
|
|
12076
|
+
const [isPanelOpen, setIsPanelOpen] = (0, import_react37.useState)(false);
|
|
12077
|
+
const inputWrapperRef = (0, import_react37.useRef)(null);
|
|
12078
|
+
const panelWrapperRef = (0, import_react37.useRef)(null);
|
|
12079
|
+
const [panelPos, setPanelPos] = (0, import_react37.useState)({
|
|
12080
|
+
top: -9999,
|
|
12081
|
+
left: -9999
|
|
12082
|
+
});
|
|
12083
|
+
const displayValue = (0, import_react37.useMemo)(() => {
|
|
12084
|
+
if (!value) return "";
|
|
12085
|
+
const { hour, minute, meridiem } = convert24To12(value);
|
|
12086
|
+
return `${hour}:${minute} ${meridiem}`;
|
|
12087
|
+
}, [value]);
|
|
12088
|
+
const calculatePosition = (0, import_react37.useCallback)(() => {
|
|
11920
12089
|
if (inputWrapperRef.current) {
|
|
11921
12090
|
const rect = inputWrapperRef.current.getBoundingClientRect();
|
|
11922
|
-
setPanelPos({
|
|
12091
|
+
setPanelPos({
|
|
12092
|
+
top: rect.bottom + window.scrollY + 6,
|
|
12093
|
+
left: rect.left + window.scrollX
|
|
12094
|
+
});
|
|
11923
12095
|
}
|
|
11924
12096
|
}, []);
|
|
11925
|
-
const
|
|
12097
|
+
const openPanel = () => {
|
|
11926
12098
|
calculatePosition();
|
|
11927
12099
|
setIsPanelOpen(true);
|
|
11928
12100
|
};
|
|
11929
|
-
const
|
|
11930
|
-
|
|
12101
|
+
const handleInputFocus = () => {
|
|
12102
|
+
openPanel();
|
|
11931
12103
|
};
|
|
11932
12104
|
const handleInputKeyDown = (e) => {
|
|
11933
12105
|
if (e.key === "Enter" || e.key === " ") {
|
|
11934
12106
|
e.preventDefault();
|
|
11935
12107
|
calculatePosition();
|
|
11936
12108
|
setIsPanelOpen((prev) => !prev);
|
|
11937
|
-
} else if (e.key === "Escape")
|
|
11938
|
-
setIsPanelOpen(false);
|
|
11939
|
-
}
|
|
11940
|
-
};
|
|
11941
|
-
const slots = (0, import_react35.useMemo)(() => timePickerStyle({ ...variantProps }), [variantProps]);
|
|
11942
|
-
const renderHourOptions = () => {
|
|
11943
|
-
return Array.from({ length: 24 }, (_, i) => {
|
|
11944
|
-
const value = String(i).padStart(2, "0");
|
|
11945
|
-
return { label: value, value };
|
|
11946
|
-
});
|
|
11947
|
-
};
|
|
11948
|
-
const renderMinuteOptions = () => {
|
|
11949
|
-
return Array.from({ length: 60 }, (_, i) => {
|
|
11950
|
-
const value = String(i).padStart(2, "0");
|
|
11951
|
-
return { label: value, value };
|
|
11952
|
-
});
|
|
12109
|
+
} else if (e.key === "Escape") setIsPanelOpen(false);
|
|
11953
12110
|
};
|
|
11954
|
-
const
|
|
11955
|
-
|
|
11956
|
-
|
|
12111
|
+
const handleChange = (time) => {
|
|
12112
|
+
onChange == null ? void 0 : onChange(time);
|
|
12113
|
+
setIsPanelOpen(false);
|
|
11957
12114
|
};
|
|
11958
|
-
|
|
11959
|
-
const
|
|
11960
|
-
|
|
11961
|
-
|
|
11962
|
-
|
|
11963
|
-
|
|
11964
|
-
|
|
11965
|
-
const range = {
|
|
11966
|
-
start: `${type === "startHour" ? option.value : sh}:${type === "startMinute" ? option.value : sm}`,
|
|
11967
|
-
end: `${type === "endHour" ? option.value : eh}:${type === "endMinute" ? option.value : em}`
|
|
12115
|
+
(0, import_react37.useEffect)(() => {
|
|
12116
|
+
const handleClickOutside = (e) => {
|
|
12117
|
+
var _a, _b;
|
|
12118
|
+
const target = e.target;
|
|
12119
|
+
if ((_a = inputWrapperRef.current) == null ? void 0 : _a.contains(target)) return;
|
|
12120
|
+
if ((_b = panelWrapperRef.current) == null ? void 0 : _b.contains(target)) return;
|
|
12121
|
+
setIsPanelOpen(false);
|
|
11968
12122
|
};
|
|
11969
|
-
|
|
11970
|
-
|
|
11971
|
-
};
|
|
11972
|
-
|
|
11973
|
-
|
|
11974
|
-
|
|
11975
|
-
|
|
11976
|
-
|
|
11977
|
-
|
|
11978
|
-
|
|
11979
|
-
|
|
11980
|
-
|
|
11981
|
-
|
|
11982
|
-
|
|
11983
|
-
|
|
11984
|
-
|
|
11985
|
-
|
|
11986
|
-
|
|
11987
|
-
|
|
11988
|
-
|
|
11989
|
-
|
|
11990
|
-
|
|
11991
|
-
|
|
11992
|
-
|
|
11993
|
-
|
|
11994
|
-
|
|
11995
|
-
|
|
11996
|
-
|
|
11997
|
-
|
|
11998
|
-
|
|
11999
|
-
|
|
12000
|
-
readOnly: true,
|
|
12001
|
-
onFocus: handleFocusInput,
|
|
12002
|
-
onBlur: handleInputBlur,
|
|
12003
|
-
onKeyDown: handleInputKeyDown
|
|
12004
|
-
}
|
|
12005
|
-
),
|
|
12006
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: slots.icon({ class: classNames == null ? void 0 : classNames.icon }), children: [
|
|
12007
|
-
displayValue && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
12008
|
-
Icon_default,
|
|
12009
|
-
{
|
|
12010
|
-
name: "close",
|
|
12011
|
-
className: "text-neutral-light hover:text-neutral-main mr-[5px] cursor-pointer",
|
|
12012
|
-
onClick: (e) => {
|
|
12013
|
-
e.stopPropagation();
|
|
12014
|
-
handleClearRange();
|
|
12015
|
-
}
|
|
12016
|
-
}
|
|
12017
|
-
),
|
|
12018
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
12019
|
-
Icon_default,
|
|
12020
|
-
{
|
|
12021
|
-
name: "clock",
|
|
12022
|
-
className: "cursor-pointer",
|
|
12023
|
-
onClick: () => {
|
|
12024
|
-
calculatePosition();
|
|
12025
|
-
setIsPanelOpen((v) => !v);
|
|
12026
|
-
}
|
|
12027
|
-
}
|
|
12028
|
-
)
|
|
12029
|
-
] })
|
|
12030
|
-
] }),
|
|
12031
|
-
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: clsx("error", slots.errorMessage({ class: classNames == null ? void 0 : classNames.errorMessage })), children: errorMessage })
|
|
12032
|
-
] })
|
|
12033
|
-
] }),
|
|
12123
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
12124
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
12125
|
+
}, []);
|
|
12126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
|
|
12127
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { ref: inputWrapperRef, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), onClick: openPanel, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
12128
|
+
input_default,
|
|
12129
|
+
{
|
|
12130
|
+
...inputProps,
|
|
12131
|
+
autoComplete: "off",
|
|
12132
|
+
ref,
|
|
12133
|
+
label,
|
|
12134
|
+
value: displayValue,
|
|
12135
|
+
placeholder,
|
|
12136
|
+
errorMessage,
|
|
12137
|
+
size,
|
|
12138
|
+
variant,
|
|
12139
|
+
full,
|
|
12140
|
+
disabled,
|
|
12141
|
+
endContent: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon_default, { name: "clock", size, className: "cursor-pointer" }),
|
|
12142
|
+
onFocus: handleInputFocus,
|
|
12143
|
+
onKeyDown: handleInputKeyDown,
|
|
12144
|
+
onChange: () => {
|
|
12145
|
+
},
|
|
12146
|
+
classNames: {
|
|
12147
|
+
inputWrapper: classNames == null ? void 0 : classNames.inputWrapper,
|
|
12148
|
+
input: classNames == null ? void 0 : classNames.input,
|
|
12149
|
+
label: classNames == null ? void 0 : classNames.label,
|
|
12150
|
+
errorMessage: classNames == null ? void 0 : classNames.errorMessage
|
|
12151
|
+
}
|
|
12152
|
+
}
|
|
12153
|
+
) }),
|
|
12034
12154
|
isPanelOpen && (0, import_react_dom6.createPortal)(
|
|
12035
|
-
/* @__PURE__ */ (0,
|
|
12155
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
12036
12156
|
"div",
|
|
12037
12157
|
{
|
|
12038
12158
|
ref: panelWrapperRef,
|
|
12039
|
-
|
|
12159
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
12160
|
+
className: slots.portalWrapper({ class: classNames == null ? void 0 : classNames.portalWrapper }),
|
|
12040
12161
|
style: {
|
|
12041
12162
|
position: "absolute",
|
|
12042
12163
|
top: panelPos.top,
|
|
12043
|
-
left: panelPos.left
|
|
12044
|
-
zIndex: 1e3
|
|
12164
|
+
left: panelPos.left
|
|
12045
12165
|
},
|
|
12046
|
-
|
|
12047
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "bg-body-background text-neutral-main flex items-center gap-[5px] p-[10px]", children: [
|
|
12048
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-center gap-[5px]", children: [
|
|
12049
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
12050
|
-
select_default,
|
|
12051
|
-
{
|
|
12052
|
-
options: renderHourOptions(),
|
|
12053
|
-
value: getSelectValue(selectedRange.start, "hour"),
|
|
12054
|
-
onChange: (options) => {
|
|
12055
|
-
if (options[0]) handleRangeChange("startHour", options[0]);
|
|
12056
|
-
},
|
|
12057
|
-
classNames: mergedSelectClassNames
|
|
12058
|
-
}
|
|
12059
|
-
),
|
|
12060
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { children: ":" }),
|
|
12061
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
12062
|
-
select_default,
|
|
12063
|
-
{
|
|
12064
|
-
options: renderMinuteOptions(),
|
|
12065
|
-
value: getSelectValue(selectedRange.start, "minute"),
|
|
12066
|
-
onChange: (options) => {
|
|
12067
|
-
if (options[0]) handleRangeChange("startMinute", options[0]);
|
|
12068
|
-
},
|
|
12069
|
-
classNames: mergedSelectClassNames
|
|
12070
|
-
}
|
|
12071
|
-
)
|
|
12072
|
-
] }),
|
|
12073
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { children: "~" }),
|
|
12074
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-center gap-[5px]", children: [
|
|
12075
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
12076
|
-
select_default,
|
|
12077
|
-
{
|
|
12078
|
-
options: renderHourOptions(),
|
|
12079
|
-
value: getSelectValue(selectedRange.end, "hour"),
|
|
12080
|
-
onChange: (options) => {
|
|
12081
|
-
if (options[0]) handleRangeChange("endHour", options[0]);
|
|
12082
|
-
},
|
|
12083
|
-
classNames: mergedSelectClassNames
|
|
12084
|
-
}
|
|
12085
|
-
),
|
|
12086
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { children: ":" }),
|
|
12087
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
12088
|
-
select_default,
|
|
12089
|
-
{
|
|
12090
|
-
options: renderMinuteOptions(),
|
|
12091
|
-
value: getSelectValue(selectedRange.end, "minute"),
|
|
12092
|
-
onChange: (options) => {
|
|
12093
|
-
if (options[0]) handleRangeChange("endMinute", options[0]);
|
|
12094
|
-
},
|
|
12095
|
-
classNames: mergedSelectClassNames
|
|
12096
|
-
}
|
|
12097
|
-
)
|
|
12098
|
-
] })
|
|
12099
|
-
] })
|
|
12166
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Panel_default, { nowTitle, confirmTitle, value, onChange: handleChange })
|
|
12100
12167
|
}
|
|
12101
12168
|
),
|
|
12102
12169
|
document.body
|
|
@@ -12133,24 +12200,44 @@ var timePickerStyle = tv({
|
|
|
12133
12200
|
"group-has-[p.error]/timepicker:placeholder:text-danger-main",
|
|
12134
12201
|
"cursor-pointer"
|
|
12135
12202
|
],
|
|
12136
|
-
|
|
12203
|
+
portalWrapper: [
|
|
12204
|
+
"rounded-[10px]",
|
|
12205
|
+
"bg-body-background",
|
|
12206
|
+
"shadow-drop-md",
|
|
12207
|
+
"overflow-auto",
|
|
12208
|
+
"p-[10px]",
|
|
12209
|
+
"w-[165px]",
|
|
12210
|
+
"h-[137px]",
|
|
12137
12211
|
"flex",
|
|
12138
|
-
"
|
|
12139
|
-
"
|
|
12140
|
-
"text-body-foreground",
|
|
12141
|
-
"group-has-[p.error]/timepicker:text-danger-main"
|
|
12212
|
+
"flex-col",
|
|
12213
|
+
"gap-[5px]"
|
|
12142
12214
|
],
|
|
12143
|
-
|
|
12144
|
-
errorMessage: ["text-danger-main", "text-sm"],
|
|
12145
|
-
selectWrapper: []
|
|
12215
|
+
errorMessage: ["text-danger-main", "text-sm"]
|
|
12146
12216
|
},
|
|
12147
12217
|
variants: {
|
|
12148
|
-
|
|
12149
|
-
|
|
12150
|
-
|
|
12218
|
+
variant: {
|
|
12219
|
+
solid: {
|
|
12220
|
+
inputWrapper: ["border-transparent", "bg-trans-soft"],
|
|
12221
|
+
readonlyWrapper: ["!bg-trans-light"]
|
|
12151
12222
|
},
|
|
12152
|
-
|
|
12153
|
-
|
|
12223
|
+
outline: {
|
|
12224
|
+
inputWrapper: [
|
|
12225
|
+
"border-neutral-light",
|
|
12226
|
+
"group-has-[:hover:not(:read-only):not(:focus)]/input:bg-trans-soft",
|
|
12227
|
+
"group-has-[:focus:not(:read-only)]/input:bg-body-background",
|
|
12228
|
+
"group-has-[p.error]/input:border-danger-main"
|
|
12229
|
+
],
|
|
12230
|
+
readonlyWrapper: ["!bg-trans-soft"]
|
|
12231
|
+
},
|
|
12232
|
+
underline: {
|
|
12233
|
+
inputWrapper: [
|
|
12234
|
+
"bg-transparent",
|
|
12235
|
+
"rounded-none",
|
|
12236
|
+
"group-has-[:hover:not(:read-only):not(:focus)]/input:bg-trans-soft",
|
|
12237
|
+
"group-has-[:focus:not(:read-only)]/input:bg-body-background",
|
|
12238
|
+
"group-has-[p.error]/input:border-danger-main"
|
|
12239
|
+
],
|
|
12240
|
+
readonlyWrapper: ["!bg-trans-soft"]
|
|
12154
12241
|
}
|
|
12155
12242
|
},
|
|
12156
12243
|
size: {
|
|
@@ -12160,7 +12247,6 @@ var timePickerStyle = tv({
|
|
|
12160
12247
|
wrapper: ["gap-[4px]"],
|
|
12161
12248
|
inputWrapper: ["w-[240px]", "h-[24px]", "rounded-sm", "px-[4px]"],
|
|
12162
12249
|
input: ["text-sm"],
|
|
12163
|
-
icon: ["text-sm"],
|
|
12164
12250
|
errorMessage: ["text-sm"]
|
|
12165
12251
|
},
|
|
12166
12252
|
md: {
|
|
@@ -12169,7 +12255,6 @@ var timePickerStyle = tv({
|
|
|
12169
12255
|
wrapper: ["gap-[6px]"],
|
|
12170
12256
|
inputWrapper: ["w-[240px]", "h-[32px]", "rounded-md", "px-[6px]"],
|
|
12171
12257
|
input: ["text-md"],
|
|
12172
|
-
icon: ["text-md"],
|
|
12173
12258
|
errorMessage: ["text-sm"]
|
|
12174
12259
|
},
|
|
12175
12260
|
lg: {
|
|
@@ -12178,7 +12263,6 @@ var timePickerStyle = tv({
|
|
|
12178
12263
|
wrapper: ["gap-[8px]"],
|
|
12179
12264
|
inputWrapper: ["w-[240px]", "h-[40px]", "rounded-lg", "px-[8px]"],
|
|
12180
12265
|
input: ["text-lg"],
|
|
12181
|
-
icon: ["text-lg"],
|
|
12182
12266
|
errorMessage: ["text-md"]
|
|
12183
12267
|
},
|
|
12184
12268
|
xl: {
|
|
@@ -12187,7 +12271,6 @@ var timePickerStyle = tv({
|
|
|
12187
12271
|
wrapper: ["gap-[10px]"],
|
|
12188
12272
|
inputWrapper: ["w-[240px]", "h-[50px]", "rounded-lg", "px-[10px]"],
|
|
12189
12273
|
input: ["text-xl"],
|
|
12190
|
-
icon: ["text-xl"],
|
|
12191
12274
|
errorMessage: ["text-md"]
|
|
12192
12275
|
}
|
|
12193
12276
|
},
|
|
@@ -12217,7 +12300,6 @@ var timePickerStyle = tv({
|
|
|
12217
12300
|
"group-has-[p.error]/timepicker:placeholder:text-danger-light",
|
|
12218
12301
|
"cursor-not-allowed"
|
|
12219
12302
|
],
|
|
12220
|
-
icon: ["text-neutral-light"],
|
|
12221
12303
|
errorMessage: ["text-danger-light"]
|
|
12222
12304
|
}
|
|
12223
12305
|
}
|
|
@@ -12231,30 +12313,30 @@ var timePickerStyle = tv({
|
|
|
12231
12313
|
});
|
|
12232
12314
|
|
|
12233
12315
|
// src/components/tree/tree.tsx
|
|
12234
|
-
var
|
|
12235
|
-
var
|
|
12236
|
-
var TreeNodeItemBase = (0,
|
|
12316
|
+
var import_react38 = require("react");
|
|
12317
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
12318
|
+
var TreeNodeItemBase = (0, import_react38.forwardRef)(
|
|
12237
12319
|
({ node, depth, fileIcon, selectedName, classNames, onExpand }, ref) => {
|
|
12238
|
-
const slots = (0,
|
|
12239
|
-
const hasSelectedInChildren = (0,
|
|
12320
|
+
const slots = (0, import_react38.useMemo)(() => treeStyle(), []);
|
|
12321
|
+
const hasSelectedInChildren = (0, import_react38.useCallback)(
|
|
12240
12322
|
(children2) => {
|
|
12241
12323
|
if (!children2 || !selectedName) return false;
|
|
12242
12324
|
return children2.some((child) => child.selectedName === selectedName || hasSelectedInChildren(child.children));
|
|
12243
12325
|
},
|
|
12244
12326
|
[selectedName]
|
|
12245
12327
|
);
|
|
12246
|
-
const [children, setChildren] = (0,
|
|
12247
|
-
const [isOpen, setIsOpen] = (0,
|
|
12328
|
+
const [children, setChildren] = (0, import_react38.useState)(node.children);
|
|
12329
|
+
const [isOpen, setIsOpen] = (0, import_react38.useState)(() => {
|
|
12248
12330
|
if (!selectedName) return false;
|
|
12249
12331
|
return hasSelectedInChildren(node.children);
|
|
12250
12332
|
});
|
|
12251
|
-
const hasOpenedInitially = (0,
|
|
12252
|
-
const hasMore = (0,
|
|
12333
|
+
const hasOpenedInitially = (0, import_react38.useRef)(false);
|
|
12334
|
+
const hasMore = (0, import_react38.useMemo)(() => {
|
|
12253
12335
|
if (node.isLeaf) return false;
|
|
12254
12336
|
if (Array.isArray(children)) return children.length > 0;
|
|
12255
12337
|
return typeof onExpand === "function";
|
|
12256
12338
|
}, [node.isLeaf, children, onExpand]);
|
|
12257
|
-
const toggleOpen = (0,
|
|
12339
|
+
const toggleOpen = (0, import_react38.useCallback)(async () => {
|
|
12258
12340
|
if (!isOpen && !children && onExpand && !node.isLeaf) {
|
|
12259
12341
|
try {
|
|
12260
12342
|
const result = await onExpand(node);
|
|
@@ -12275,7 +12357,7 @@ var TreeNodeItemBase = (0, import_react36.forwardRef)(
|
|
|
12275
12357
|
e.preventDefault();
|
|
12276
12358
|
(_a = node.onRightClick) == null ? void 0 : _a.call(node, e);
|
|
12277
12359
|
};
|
|
12278
|
-
(0,
|
|
12360
|
+
(0, import_react38.useEffect)(() => {
|
|
12279
12361
|
if (!selectedName) return;
|
|
12280
12362
|
if (!hasOpenedInitially.current) {
|
|
12281
12363
|
const shouldOpen = hasSelectedInChildren(children);
|
|
@@ -12283,7 +12365,7 @@ var TreeNodeItemBase = (0, import_react36.forwardRef)(
|
|
|
12283
12365
|
hasOpenedInitially.current = true;
|
|
12284
12366
|
}
|
|
12285
12367
|
}, [selectedName, children, hasSelectedInChildren]);
|
|
12286
|
-
return /* @__PURE__ */ (0,
|
|
12368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
12287
12369
|
"div",
|
|
12288
12370
|
{
|
|
12289
12371
|
ref,
|
|
@@ -12292,7 +12374,7 @@ var TreeNodeItemBase = (0, import_react36.forwardRef)(
|
|
|
12292
12374
|
slots.gap({ class: classNames == null ? void 0 : classNames.gap })
|
|
12293
12375
|
),
|
|
12294
12376
|
children: [
|
|
12295
|
-
/* @__PURE__ */ (0,
|
|
12377
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
12296
12378
|
"div",
|
|
12297
12379
|
{
|
|
12298
12380
|
className: clsx(
|
|
@@ -12303,7 +12385,7 @@ var TreeNodeItemBase = (0, import_react36.forwardRef)(
|
|
|
12303
12385
|
onClick: handleClick,
|
|
12304
12386
|
onContextMenu: handleRightClick,
|
|
12305
12387
|
children: [
|
|
12306
|
-
hasMore && /* @__PURE__ */ (0,
|
|
12388
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
12307
12389
|
Icon_default,
|
|
12308
12390
|
{
|
|
12309
12391
|
name: "right-chevron",
|
|
@@ -12318,7 +12400,7 @@ var TreeNodeItemBase = (0, import_react36.forwardRef)(
|
|
|
12318
12400
|
]
|
|
12319
12401
|
}
|
|
12320
12402
|
),
|
|
12321
|
-
isOpen && hasMore && /* @__PURE__ */ (0,
|
|
12403
|
+
isOpen && hasMore && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: slots.gap({ class: classNames == null ? void 0 : classNames.gap }), children: children == null ? void 0 : children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
12322
12404
|
TreeNodeItem,
|
|
12323
12405
|
{
|
|
12324
12406
|
node: child,
|
|
@@ -12336,9 +12418,9 @@ var TreeNodeItemBase = (0, import_react36.forwardRef)(
|
|
|
12336
12418
|
}
|
|
12337
12419
|
);
|
|
12338
12420
|
TreeNodeItemBase.displayName = "TreeNodeItem";
|
|
12339
|
-
var TreeNodeItem = (0,
|
|
12421
|
+
var TreeNodeItem = (0, import_react38.memo)(TreeNodeItemBase);
|
|
12340
12422
|
var Tree = ({ headerContent, group, groupIcon, fileIcon, selectedName, classNames, onExpand }) => {
|
|
12341
|
-
const slots = (0,
|
|
12423
|
+
const slots = (0, import_react38.useMemo)(() => treeStyle(), []);
|
|
12342
12424
|
const handleClick = (e) => {
|
|
12343
12425
|
var _a;
|
|
12344
12426
|
(_a = group.onClick) == null ? void 0 : _a.call(group, e);
|
|
@@ -12348,10 +12430,10 @@ var Tree = ({ headerContent, group, groupIcon, fileIcon, selectedName, className
|
|
|
12348
12430
|
e.preventDefault();
|
|
12349
12431
|
(_a = group.onRightClick) == null ? void 0 : _a.call(group, e);
|
|
12350
12432
|
};
|
|
12351
|
-
return /* @__PURE__ */ (0,
|
|
12352
|
-
headerContent && /* @__PURE__ */ (0,
|
|
12353
|
-
/* @__PURE__ */ (0,
|
|
12354
|
-
group.content && /* @__PURE__ */ (0,
|
|
12433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
12434
|
+
headerContent && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children: headerContent }),
|
|
12435
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: slots.wrapper({ class: classNames == null ? void 0 : classNames.wrapper }), children: [
|
|
12436
|
+
group.content && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
12355
12437
|
"div",
|
|
12356
12438
|
{
|
|
12357
12439
|
className: clsx(
|
|
@@ -12367,7 +12449,7 @@ var Tree = ({ headerContent, group, groupIcon, fileIcon, selectedName, className
|
|
|
12367
12449
|
]
|
|
12368
12450
|
}
|
|
12369
12451
|
),
|
|
12370
|
-
group.data.length > 0 && /* @__PURE__ */ (0,
|
|
12452
|
+
group.data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: slots.itemWrapper({ class: classNames == null ? void 0 : classNames.itemWrapper }), children: group.data.map((node) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
12371
12453
|
TreeNodeItem,
|
|
12372
12454
|
{
|
|
12373
12455
|
node,
|
|
@@ -12406,19 +12488,19 @@ var treeStyle = tv({
|
|
|
12406
12488
|
});
|
|
12407
12489
|
|
|
12408
12490
|
// src/components/fileUpload/fileUpload.tsx
|
|
12409
|
-
var
|
|
12491
|
+
var import_react41 = require("react");
|
|
12410
12492
|
var import_tailwind_variants34 = require("tailwind-variants");
|
|
12411
12493
|
|
|
12412
12494
|
// src/components/progress/progress.tsx
|
|
12413
|
-
var
|
|
12495
|
+
var import_react40 = require("react");
|
|
12414
12496
|
|
|
12415
12497
|
// src/hooks/useIsMounted.ts
|
|
12416
|
-
var
|
|
12498
|
+
var import_react39 = require("react");
|
|
12417
12499
|
function useIsMounted(props = {}) {
|
|
12418
12500
|
const { rerender = false, delay = 0 } = props;
|
|
12419
|
-
const isMountedRef = (0,
|
|
12420
|
-
const [isMounted, setIsMounted] = (0,
|
|
12421
|
-
(0,
|
|
12501
|
+
const isMountedRef = (0, import_react39.useRef)(false);
|
|
12502
|
+
const [isMounted, setIsMounted] = (0, import_react39.useState)(false);
|
|
12503
|
+
(0, import_react39.useEffect)(() => {
|
|
12422
12504
|
isMountedRef.current = true;
|
|
12423
12505
|
let timer = null;
|
|
12424
12506
|
if (rerender) {
|
|
@@ -12440,11 +12522,11 @@ function useIsMounted(props = {}) {
|
|
|
12440
12522
|
}
|
|
12441
12523
|
};
|
|
12442
12524
|
}, [rerender]);
|
|
12443
|
-
return [(0,
|
|
12525
|
+
return [(0, import_react39.useCallback)(() => isMountedRef.current, []), isMounted];
|
|
12444
12526
|
}
|
|
12445
12527
|
|
|
12446
12528
|
// src/components/progress/progress.tsx
|
|
12447
|
-
var
|
|
12529
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
12448
12530
|
var Progress = (originalProps) => {
|
|
12449
12531
|
const [props, variantProps] = mapPropsVariants(originalProps, progressStyle.variantKeys);
|
|
12450
12532
|
const { children, classNames, value = 0, minValue = 0, maxValue = 100, ...progressProps } = props;
|
|
@@ -12454,12 +12536,12 @@ var Progress = (originalProps) => {
|
|
|
12454
12536
|
delay: 100
|
|
12455
12537
|
});
|
|
12456
12538
|
const selfMounted = variantProps.disableAnimation ? true : isMounted;
|
|
12457
|
-
const percentage = (0,
|
|
12539
|
+
const percentage = (0, import_react40.useMemo)(
|
|
12458
12540
|
() => isIndeterminate || !selfMounted ? void 0 : clampPercentage((value - minValue) / (maxValue - minValue) * 100),
|
|
12459
12541
|
[selfMounted, isIndeterminate, value, minValue, maxValue]
|
|
12460
12542
|
);
|
|
12461
|
-
const slots = (0,
|
|
12462
|
-
return /* @__PURE__ */ (0,
|
|
12543
|
+
const slots = (0, import_react40.useMemo)(() => progressStyle({ ...variantProps }), [variantProps]);
|
|
12544
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: slots.track({ class: classNames == null ? void 0 : classNames.track }), children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
12463
12545
|
"div",
|
|
12464
12546
|
{
|
|
12465
12547
|
className: slots.indicator({ class: classNames == null ? void 0 : classNames.indicator }),
|
|
@@ -12558,7 +12640,7 @@ var clampPercentage = (value) => {
|
|
|
12558
12640
|
};
|
|
12559
12641
|
|
|
12560
12642
|
// src/components/fileUpload/fileUpload.tsx
|
|
12561
|
-
var
|
|
12643
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
12562
12644
|
function FileUpload({
|
|
12563
12645
|
buttonText,
|
|
12564
12646
|
cancelText,
|
|
@@ -12577,16 +12659,16 @@ function FileUpload({
|
|
|
12577
12659
|
classNames,
|
|
12578
12660
|
defaultFile
|
|
12579
12661
|
}) {
|
|
12580
|
-
const fileInputRef = (0,
|
|
12581
|
-
const uploadIntervalRef = (0,
|
|
12582
|
-
const [currentFile, setCurrentFile] = (0,
|
|
12583
|
-
const [uploadProgress, setUploadProgress] = (0,
|
|
12584
|
-
const [message, setMessage] = (0,
|
|
12585
|
-
const [displayFileName, setDisplayFileName] = (0,
|
|
12586
|
-
const [hasUploadedFile, setHasUploadedFile] = (0,
|
|
12587
|
-
const [isUploading, setIsUploading] = (0,
|
|
12662
|
+
const fileInputRef = (0, import_react41.useRef)(null);
|
|
12663
|
+
const uploadIntervalRef = (0, import_react41.useRef)(null);
|
|
12664
|
+
const [currentFile, setCurrentFile] = (0, import_react41.useState)(null);
|
|
12665
|
+
const [uploadProgress, setUploadProgress] = (0, import_react41.useState)(0);
|
|
12666
|
+
const [message, setMessage] = (0, import_react41.useState)(errorMessage);
|
|
12667
|
+
const [displayFileName, setDisplayFileName] = (0, import_react41.useState)("");
|
|
12668
|
+
const [hasUploadedFile, setHasUploadedFile] = (0, import_react41.useState)(false);
|
|
12669
|
+
const [isUploading, setIsUploading] = (0, import_react41.useState)(false);
|
|
12588
12670
|
const slots = fileUploadStyle();
|
|
12589
|
-
(0,
|
|
12671
|
+
(0, import_react41.useEffect)(() => {
|
|
12590
12672
|
if (defaultFile == null ? void 0 : defaultFile.name) {
|
|
12591
12673
|
setDisplayFileName(defaultFile.name);
|
|
12592
12674
|
setHasUploadedFile(true);
|
|
@@ -12660,21 +12742,21 @@ function FileUpload({
|
|
|
12660
12742
|
}
|
|
12661
12743
|
if (onCancelUpload) onCancelUpload();
|
|
12662
12744
|
};
|
|
12663
|
-
(0,
|
|
12745
|
+
(0, import_react41.useEffect)(() => {
|
|
12664
12746
|
return () => {
|
|
12665
12747
|
if (uploadIntervalRef.current) {
|
|
12666
12748
|
clearInterval(uploadIntervalRef.current);
|
|
12667
12749
|
}
|
|
12668
12750
|
};
|
|
12669
12751
|
}, []);
|
|
12670
|
-
(0,
|
|
12752
|
+
(0, import_react41.useEffect)(() => {
|
|
12671
12753
|
if (errorMessage !== void 0) {
|
|
12672
12754
|
setMessage(errorMessage);
|
|
12673
12755
|
}
|
|
12674
12756
|
}, [errorMessage]);
|
|
12675
|
-
return /* @__PURE__ */ (0,
|
|
12676
|
-
/* @__PURE__ */ (0,
|
|
12677
|
-
/* @__PURE__ */ (0,
|
|
12757
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
12758
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: slots.container({ class: classNames == null ? void 0 : classNames.container }), children: [
|
|
12759
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: slots.inputWrapper(), children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
12678
12760
|
input_default,
|
|
12679
12761
|
{
|
|
12680
12762
|
name,
|
|
@@ -12686,14 +12768,14 @@ function FileUpload({
|
|
|
12686
12768
|
errorMessage: message && (message == null ? void 0 : message.length) > 0 ? message : void 0
|
|
12687
12769
|
}
|
|
12688
12770
|
) }),
|
|
12689
|
-
/* @__PURE__ */ (0,
|
|
12690
|
-
/* @__PURE__ */ (0,
|
|
12691
|
-
cancelText && (hasUploadedFile || displayFileName) && !isUploading && /* @__PURE__ */ (0,
|
|
12771
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex gap-[10px]", children: [
|
|
12772
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(button_default, { type: "button", variant: "outline", onClick: handleButtonClick, isLoading: isUploading, children: buttonText }),
|
|
12773
|
+
cancelText && (hasUploadedFile || displayFileName) && !isUploading && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(button_default, { type: "button", variant: "soft", color: "danger", onClick: handleCancelUpload, children: cancelText })
|
|
12692
12774
|
] }),
|
|
12693
|
-
/* @__PURE__ */ (0,
|
|
12775
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("input", { ref: fileInputRef, type: "file", hidden: true, accept: accept.join(","), onChange: handleFileChange })
|
|
12694
12776
|
] }),
|
|
12695
|
-
showProgress && currentFile && hasUploadedFile && uploadProgress < 100 && /* @__PURE__ */ (0,
|
|
12696
|
-
!message && helperMessage && /* @__PURE__ */ (0,
|
|
12777
|
+
showProgress && currentFile && hasUploadedFile && uploadProgress < 100 && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(progress_default, { value: uploadProgress }),
|
|
12778
|
+
!message && helperMessage && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: slots.helperMessage(), children: helperMessage })
|
|
12697
12779
|
] });
|
|
12698
12780
|
}
|
|
12699
12781
|
FileUpload.displayName = "FileUpload";
|
|
@@ -12711,7 +12793,7 @@ var fileUploadStyle = (0, import_tailwind_variants34.tv)({
|
|
|
12711
12793
|
|
|
12712
12794
|
// src/components/skeleton/skeleton.tsx
|
|
12713
12795
|
var import_tailwind_variants35 = require("tailwind-variants");
|
|
12714
|
-
var
|
|
12796
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
12715
12797
|
var Skeleton = ({ color = "primary", className, speed = "normal", rounded = "md" }) => {
|
|
12716
12798
|
const speedMap = {
|
|
12717
12799
|
fast: "0.7s",
|
|
@@ -12719,14 +12801,14 @@ var Skeleton = ({ color = "primary", className, speed = "normal", rounded = "md"
|
|
|
12719
12801
|
slow: "2s"
|
|
12720
12802
|
};
|
|
12721
12803
|
const slots = skeletonStyle();
|
|
12722
|
-
return /* @__PURE__ */ (0,
|
|
12804
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
12723
12805
|
"div",
|
|
12724
12806
|
{
|
|
12725
12807
|
className: clsx(slots.base({ color, rounded }), className),
|
|
12726
12808
|
style: {
|
|
12727
12809
|
"--shimmer-duration": speedMap[speed]
|
|
12728
12810
|
},
|
|
12729
|
-
children: /* @__PURE__ */ (0,
|
|
12811
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("style", { children: `@keyframes shimmer {
|
|
12730
12812
|
100% {
|
|
12731
12813
|
transform: translateX(100%);
|
|
12732
12814
|
}
|
|
@@ -12780,12 +12862,12 @@ var skeletonStyle = (0, import_tailwind_variants35.tv)({
|
|
|
12780
12862
|
|
|
12781
12863
|
// src/components/charts/circularProgress.tsx
|
|
12782
12864
|
var import_recharts = require("recharts");
|
|
12783
|
-
var
|
|
12784
|
-
var
|
|
12785
|
-
var CircularProgress = (0,
|
|
12865
|
+
var import_react42 = require("react");
|
|
12866
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
12867
|
+
var CircularProgress = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
12786
12868
|
const [props, variantProps] = mapPropsVariants(originalProps, circularProgressStyle.variantKeys);
|
|
12787
12869
|
const { label, size = 150, percentage, innerContent, classNames } = { ...props, ...variantProps };
|
|
12788
|
-
const slots = (0,
|
|
12870
|
+
const slots = (0, import_react42.useMemo)(() => circularProgressStyle({ ...variantProps }), [variantProps]);
|
|
12789
12871
|
const data = [
|
|
12790
12872
|
{
|
|
12791
12873
|
name: label,
|
|
@@ -12817,12 +12899,12 @@ var CircularProgress = (0, import_react40.forwardRef)((originalProps, ref) => {
|
|
|
12817
12899
|
const colorValue = originalProps.color;
|
|
12818
12900
|
const colorKey = colorValue || "blue";
|
|
12819
12901
|
const currentGradient = gradientColors[colorKey];
|
|
12820
|
-
const wrappedInnerContent = (0,
|
|
12902
|
+
const wrappedInnerContent = (0, import_react42.useMemo)(() => {
|
|
12821
12903
|
return wrapSpanWithClass(innerContent);
|
|
12822
12904
|
}, [innerContent]);
|
|
12823
|
-
return /* @__PURE__ */ (0,
|
|
12824
|
-
/* @__PURE__ */ (0,
|
|
12825
|
-
/* @__PURE__ */ (0,
|
|
12905
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { ref, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
12906
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "relative", style: { width: size, height: size }, children: [
|
|
12907
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
12826
12908
|
import_recharts.RadialBarChart,
|
|
12827
12909
|
{
|
|
12828
12910
|
width: size,
|
|
@@ -12834,11 +12916,11 @@ var CircularProgress = (0, import_react40.forwardRef)((originalProps, ref) => {
|
|
|
12834
12916
|
startAngle: 90,
|
|
12835
12917
|
endAngle: -270,
|
|
12836
12918
|
children: [
|
|
12837
|
-
/* @__PURE__ */ (0,
|
|
12838
|
-
/* @__PURE__ */ (0,
|
|
12839
|
-
/* @__PURE__ */ (0,
|
|
12919
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("linearGradient", { id: gradientId, x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
12920
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("stop", { offset: "0%", stopColor: currentGradient.start }),
|
|
12921
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("stop", { offset: "100%", stopColor: currentGradient.end })
|
|
12840
12922
|
] }) }),
|
|
12841
|
-
/* @__PURE__ */ (0,
|
|
12923
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
12842
12924
|
"circle",
|
|
12843
12925
|
{
|
|
12844
12926
|
cx: size / 2,
|
|
@@ -12849,7 +12931,7 @@ var CircularProgress = (0, import_react40.forwardRef)((originalProps, ref) => {
|
|
|
12849
12931
|
strokeWidth: "1"
|
|
12850
12932
|
}
|
|
12851
12933
|
),
|
|
12852
|
-
/* @__PURE__ */ (0,
|
|
12934
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
12853
12935
|
"circle",
|
|
12854
12936
|
{
|
|
12855
12937
|
cx: size / 2,
|
|
@@ -12860,14 +12942,14 @@ var CircularProgress = (0, import_react40.forwardRef)((originalProps, ref) => {
|
|
|
12860
12942
|
strokeWidth: BAR_SIZE
|
|
12861
12943
|
}
|
|
12862
12944
|
),
|
|
12863
|
-
/* @__PURE__ */ (0,
|
|
12864
|
-
/* @__PURE__ */ (0,
|
|
12945
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_recharts.PolarAngleAxis, { type: "number", domain: [0, 100], angleAxisId: 0, tick: false }),
|
|
12946
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_recharts.RadialBar, { dataKey: "value", cornerRadius: 12, animationDuration: 1e3, fill: `url(#${gradientId})` })
|
|
12865
12947
|
]
|
|
12866
12948
|
}
|
|
12867
12949
|
),
|
|
12868
|
-
innerContent && /* @__PURE__ */ (0,
|
|
12950
|
+
innerContent && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: slots.inner({ class: classNames == null ? void 0 : classNames.inner }), children: wrappedInnerContent })
|
|
12869
12951
|
] }),
|
|
12870
|
-
label && /* @__PURE__ */ (0,
|
|
12952
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label })
|
|
12871
12953
|
] });
|
|
12872
12954
|
});
|
|
12873
12955
|
CircularProgress.displayName = "CircularProgress";
|
|
@@ -12911,16 +12993,16 @@ function wrapSpanWithClass(node) {
|
|
|
12911
12993
|
if (Array.isArray(node)) {
|
|
12912
12994
|
return node.map(wrapSpanWithClass);
|
|
12913
12995
|
}
|
|
12914
|
-
if ((0,
|
|
12996
|
+
if ((0, import_react42.isValidElement)(node)) {
|
|
12915
12997
|
const element = node;
|
|
12916
12998
|
if (element.type === "span") {
|
|
12917
12999
|
const existing = (_a = element.props.className) != null ? _a : "";
|
|
12918
|
-
return (0,
|
|
13000
|
+
return (0, import_react42.cloneElement)(element, {
|
|
12919
13001
|
className: `text-xl font-bold ${existing}`.trim()
|
|
12920
13002
|
});
|
|
12921
13003
|
}
|
|
12922
13004
|
if (element.props.children) {
|
|
12923
|
-
return (0,
|
|
13005
|
+
return (0, import_react42.cloneElement)(element, {
|
|
12924
13006
|
children: wrapSpanWithClass(element.props.children)
|
|
12925
13007
|
});
|
|
12926
13008
|
}
|
|
@@ -12930,11 +13012,11 @@ function wrapSpanWithClass(node) {
|
|
|
12930
13012
|
}
|
|
12931
13013
|
|
|
12932
13014
|
// src/components/charts/areaChart.tsx
|
|
12933
|
-
var
|
|
13015
|
+
var import_react43 = require("react");
|
|
12934
13016
|
var import_recharts2 = require("recharts");
|
|
12935
|
-
var
|
|
12936
|
-
var AreaChartComponent = (0,
|
|
12937
|
-
const uniqueId = (0,
|
|
13017
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
13018
|
+
var AreaChartComponent = (0, import_react43.forwardRef)((originalProps, ref) => {
|
|
13019
|
+
const uniqueId = (0, import_react43.useId)();
|
|
12938
13020
|
const [props, variantProps] = mapPropsVariants(originalProps, areaChartStyle.variantKeys);
|
|
12939
13021
|
const {
|
|
12940
13022
|
data,
|
|
@@ -12946,34 +13028,34 @@ var AreaChartComponent = (0, import_react41.forwardRef)((originalProps, ref) =>
|
|
|
12946
13028
|
chartHeight = 240,
|
|
12947
13029
|
classNames
|
|
12948
13030
|
} = { ...props, ...variantProps };
|
|
12949
|
-
const slots = (0,
|
|
13031
|
+
const slots = (0, import_react43.useMemo)(() => areaChartStyle({ ...variantProps }), [variantProps]);
|
|
12950
13032
|
const COLOR_MAP = {
|
|
12951
13033
|
primary: "#3F9CF2",
|
|
12952
13034
|
danger: "#FF4684"
|
|
12953
13035
|
};
|
|
12954
|
-
const colorHex = (0,
|
|
12955
|
-
const totalChartWidth = (0,
|
|
13036
|
+
const colorHex = (0, import_react43.useMemo)(() => COLOR_MAP[color], [color]);
|
|
13037
|
+
const totalChartWidth = (0, import_react43.useMemo)(() => {
|
|
12956
13038
|
if (!data || !itemWidth) return void 0;
|
|
12957
13039
|
const dataLength = startFromZero ? data.length + 1 : data.length;
|
|
12958
13040
|
return dataLength * itemWidth;
|
|
12959
13041
|
}, [data, itemWidth, startFromZero]);
|
|
12960
|
-
const needsScroll = (0,
|
|
13042
|
+
const needsScroll = (0, import_react43.useMemo)(() => {
|
|
12961
13043
|
return totalChartWidth;
|
|
12962
13044
|
}, [totalChartWidth]);
|
|
12963
|
-
const processedData = (0,
|
|
13045
|
+
const processedData = (0, import_react43.useMemo)(() => {
|
|
12964
13046
|
if (!data) return [];
|
|
12965
13047
|
return data;
|
|
12966
13048
|
}, [data, startFromZero]);
|
|
12967
|
-
const [tickPositions, setTickPositions] = (0,
|
|
12968
|
-
const tickRef = (0,
|
|
13049
|
+
const [tickPositions, setTickPositions] = (0, import_react43.useState)([]);
|
|
13050
|
+
const tickRef = (0, import_react43.useRef)([]);
|
|
12969
13051
|
const CustomTick = ({ x, y, payload }) => {
|
|
12970
13052
|
if (x !== void 0) {
|
|
12971
13053
|
tickRef.current.push(x);
|
|
12972
13054
|
}
|
|
12973
13055
|
if (startFromZero && payload.value === "") {
|
|
12974
|
-
return /* @__PURE__ */ (0,
|
|
13056
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("g", {});
|
|
12975
13057
|
}
|
|
12976
|
-
return /* @__PURE__ */ (0,
|
|
13058
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
12977
13059
|
"text",
|
|
12978
13060
|
{
|
|
12979
13061
|
x,
|
|
@@ -12987,7 +13069,7 @@ var AreaChartComponent = (0, import_react41.forwardRef)((originalProps, ref) =>
|
|
|
12987
13069
|
}
|
|
12988
13070
|
);
|
|
12989
13071
|
};
|
|
12990
|
-
(0,
|
|
13072
|
+
(0, import_react43.useEffect)(() => {
|
|
12991
13073
|
const raf = requestAnimationFrame(() => {
|
|
12992
13074
|
const unique = [...new Set(tickRef.current)].sort((a, b) => a - b);
|
|
12993
13075
|
const mids = [];
|
|
@@ -13005,19 +13087,19 @@ var AreaChartComponent = (0, import_react41.forwardRef)((originalProps, ref) =>
|
|
|
13005
13087
|
if (startFromZero && (payload == null ? void 0 : payload.name) === "") {
|
|
13006
13088
|
return null;
|
|
13007
13089
|
}
|
|
13008
|
-
return /* @__PURE__ */ (0,
|
|
13009
|
-
/* @__PURE__ */ (0,
|
|
13010
|
-
/* @__PURE__ */ (0,
|
|
13090
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
|
|
13091
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("circle", { cx, cy, r: 8, fill, opacity: 0.2 }),
|
|
13092
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("circle", { cx, cy, r: 3.5, fill, stroke, strokeWidth: 2 })
|
|
13011
13093
|
] });
|
|
13012
13094
|
};
|
|
13013
|
-
const chartContent = /* @__PURE__ */ (0,
|
|
13095
|
+
const chartContent = /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
13014
13096
|
"div",
|
|
13015
13097
|
{
|
|
13016
13098
|
style: {
|
|
13017
13099
|
width: totalChartWidth || "100%",
|
|
13018
13100
|
minWidth: totalChartWidth || "100%"
|
|
13019
13101
|
},
|
|
13020
|
-
children: /* @__PURE__ */ (0,
|
|
13102
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
13021
13103
|
import_recharts2.AreaChart,
|
|
13022
13104
|
{
|
|
13023
13105
|
width: totalChartWidth || 400,
|
|
@@ -13026,11 +13108,11 @@ var AreaChartComponent = (0, import_react41.forwardRef)((originalProps, ref) =>
|
|
|
13026
13108
|
margin: { left: -30 },
|
|
13027
13109
|
className: "bg-body-background [&_.recharts-surface]:outline-none [&_.recharts-surface]:focus:outline-none",
|
|
13028
13110
|
children: [
|
|
13029
|
-
/* @__PURE__ */ (0,
|
|
13030
|
-
/* @__PURE__ */ (0,
|
|
13031
|
-
/* @__PURE__ */ (0,
|
|
13111
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("linearGradient", { id: `colorGradient-${uniqueId}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
13112
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("stop", { offset: "5%", stopColor: colorHex, stopOpacity: 0.3 }),
|
|
13113
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("stop", { offset: "95%", stopColor: colorHex, stopOpacity: 0 })
|
|
13032
13114
|
] }) }),
|
|
13033
|
-
/* @__PURE__ */ (0,
|
|
13115
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
13034
13116
|
import_recharts2.CartesianGrid,
|
|
13035
13117
|
{
|
|
13036
13118
|
vertical: true,
|
|
@@ -13040,7 +13122,7 @@ var AreaChartComponent = (0, import_react41.forwardRef)((originalProps, ref) =>
|
|
|
13040
13122
|
verticalPoints: tickPositions
|
|
13041
13123
|
}
|
|
13042
13124
|
),
|
|
13043
|
-
/* @__PURE__ */ (0,
|
|
13125
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
13044
13126
|
import_recharts2.XAxis,
|
|
13045
13127
|
{
|
|
13046
13128
|
dataKey: "name",
|
|
@@ -13050,7 +13132,7 @@ var AreaChartComponent = (0, import_react41.forwardRef)((originalProps, ref) =>
|
|
|
13050
13132
|
padding: { left: 35.5, right: 35.5 }
|
|
13051
13133
|
}
|
|
13052
13134
|
),
|
|
13053
|
-
/* @__PURE__ */ (0,
|
|
13135
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
13054
13136
|
import_recharts2.YAxis,
|
|
13055
13137
|
{
|
|
13056
13138
|
axisLine: { stroke: "#DFE2E7", strokeWidth: 1 },
|
|
@@ -13066,7 +13148,7 @@ var AreaChartComponent = (0, import_react41.forwardRef)((originalProps, ref) =>
|
|
|
13066
13148
|
domain: [-6, 110]
|
|
13067
13149
|
}
|
|
13068
13150
|
),
|
|
13069
|
-
/* @__PURE__ */ (0,
|
|
13151
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
13070
13152
|
import_recharts2.Area,
|
|
13071
13153
|
{
|
|
13072
13154
|
type: "monotone",
|
|
@@ -13074,7 +13156,7 @@ var AreaChartComponent = (0, import_react41.forwardRef)((originalProps, ref) =>
|
|
|
13074
13156
|
stroke: colorHex,
|
|
13075
13157
|
strokeWidth: 2,
|
|
13076
13158
|
fill: `url(#colorGradient-${uniqueId})`,
|
|
13077
|
-
dot: /* @__PURE__ */ (0,
|
|
13159
|
+
dot: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(CustomDotWithShadow, { stroke: colorHex, fill: colorHex }),
|
|
13078
13160
|
activeDot: false
|
|
13079
13161
|
}
|
|
13080
13162
|
)
|
|
@@ -13083,10 +13165,10 @@ var AreaChartComponent = (0, import_react41.forwardRef)((originalProps, ref) =>
|
|
|
13083
13165
|
)
|
|
13084
13166
|
}
|
|
13085
13167
|
);
|
|
13086
|
-
return /* @__PURE__ */ (0,
|
|
13087
|
-
label && /* @__PURE__ */ (0,
|
|
13168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { ref, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
13169
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label }),
|
|
13088
13170
|
headerContent,
|
|
13089
|
-
needsScroll ? /* @__PURE__ */ (0,
|
|
13171
|
+
needsScroll ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(scrollArea_default, { direction: "x", size: "sm", children: chartContent }) : chartContent
|
|
13090
13172
|
] });
|
|
13091
13173
|
});
|
|
13092
13174
|
AreaChartComponent.displayName = "AreaChart";
|
|
@@ -13114,10 +13196,10 @@ var areaChartStyle = tv({
|
|
|
13114
13196
|
});
|
|
13115
13197
|
|
|
13116
13198
|
// src/components/charts/barChart.tsx
|
|
13117
|
-
var
|
|
13199
|
+
var import_react44 = require("react");
|
|
13118
13200
|
var import_recharts3 = require("recharts");
|
|
13119
|
-
var
|
|
13120
|
-
var BarChartComponent = (0,
|
|
13201
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
13202
|
+
var BarChartComponent = (0, import_react44.forwardRef)((originalProps, ref) => {
|
|
13121
13203
|
const [props, variantProps] = mapPropsVariants(originalProps, barChartStyle.variantKeys);
|
|
13122
13204
|
const {
|
|
13123
13205
|
data = [],
|
|
@@ -13129,13 +13211,13 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13129
13211
|
barGap = 20,
|
|
13130
13212
|
tooltipFormatter
|
|
13131
13213
|
} = { ...props, ...variantProps };
|
|
13132
|
-
const slots = (0,
|
|
13133
|
-
const chartRef = (0,
|
|
13134
|
-
const tooltipRef = (0,
|
|
13135
|
-
const [tooltipLeft, setTooltipLeft] = (0,
|
|
13136
|
-
const [tickPositions, setTickPositions] = (0,
|
|
13137
|
-
const tickRef = (0,
|
|
13138
|
-
const [tooltipState, setTooltipState] = (0,
|
|
13214
|
+
const slots = (0, import_react44.useMemo)(() => barChartStyle({ ...variantProps }), [variantProps]);
|
|
13215
|
+
const chartRef = (0, import_react44.useRef)(null);
|
|
13216
|
+
const tooltipRef = (0, import_react44.useRef)(null);
|
|
13217
|
+
const [tooltipLeft, setTooltipLeft] = (0, import_react44.useState)(0);
|
|
13218
|
+
const [tickPositions, setTickPositions] = (0, import_react44.useState)([]);
|
|
13219
|
+
const tickRef = (0, import_react44.useRef)([]);
|
|
13220
|
+
const [tooltipState, setTooltipState] = (0, import_react44.useState)(null);
|
|
13139
13221
|
const handleMouseEnter = (e, dataKey) => {
|
|
13140
13222
|
if (!tooltipFormatter || !chartRef.current) return;
|
|
13141
13223
|
const { payload, x, y } = e;
|
|
@@ -13164,17 +13246,17 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13164
13246
|
const adjustedHeight = height + extraHeight;
|
|
13165
13247
|
const adjustedY = y;
|
|
13166
13248
|
const bottomY = adjustedY + adjustedHeight;
|
|
13167
|
-
return height ? /* @__PURE__ */ (0,
|
|
13249
|
+
return height ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13168
13250
|
"path",
|
|
13169
13251
|
{
|
|
13170
13252
|
d: `M${x},${bottomY} L${x},${adjustedY + radius} Q${x},${adjustedY} ${x + radius},${adjustedY} L${x + width - radius},${adjustedY} Q${x + width},${adjustedY} ${x + width},${adjustedY + radius} L${x + width},${bottomY} Z`,
|
|
13171
13253
|
fill
|
|
13172
13254
|
}
|
|
13173
|
-
) : /* @__PURE__ */ (0,
|
|
13255
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("rect", { x, y, width, height: 0, fill });
|
|
13174
13256
|
};
|
|
13175
13257
|
const CustomTick = ({ x, y, payload }) => {
|
|
13176
13258
|
if (x !== void 0) tickRef.current.push(x);
|
|
13177
|
-
return /* @__PURE__ */ (0,
|
|
13259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13178
13260
|
"text",
|
|
13179
13261
|
{
|
|
13180
13262
|
x,
|
|
@@ -13188,7 +13270,7 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13188
13270
|
}
|
|
13189
13271
|
);
|
|
13190
13272
|
};
|
|
13191
|
-
const CustomYAxisTick = ({ x, y, payload }) => /* @__PURE__ */ (0,
|
|
13273
|
+
const CustomYAxisTick = ({ x, y, payload }) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13192
13274
|
"text",
|
|
13193
13275
|
{
|
|
13194
13276
|
x: x - 10,
|
|
@@ -13202,7 +13284,7 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13202
13284
|
children: yAxisTickFormatter(payload.value)
|
|
13203
13285
|
}
|
|
13204
13286
|
);
|
|
13205
|
-
(0,
|
|
13287
|
+
(0, import_react44.useEffect)(() => {
|
|
13206
13288
|
const raf = requestAnimationFrame(() => {
|
|
13207
13289
|
const unique = [...new Set(tickRef.current)].sort((a, b) => a - b);
|
|
13208
13290
|
const mids = [];
|
|
@@ -13214,7 +13296,7 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13214
13296
|
});
|
|
13215
13297
|
return () => cancelAnimationFrame(raf);
|
|
13216
13298
|
}, [data]);
|
|
13217
|
-
(0,
|
|
13299
|
+
(0, import_react44.useLayoutEffect)(() => {
|
|
13218
13300
|
if (!tooltipState || !chartRef.current || !tooltipRef.current) return;
|
|
13219
13301
|
const chartRect = chartRef.current.getBoundingClientRect();
|
|
13220
13302
|
const tooltipRect = tooltipRef.current.getBoundingClientRect();
|
|
@@ -13229,7 +13311,7 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13229
13311
|
}
|
|
13230
13312
|
setTooltipLeft(left);
|
|
13231
13313
|
}, [tooltipState]);
|
|
13232
|
-
return /* @__PURE__ */ (0,
|
|
13314
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
13233
13315
|
"div",
|
|
13234
13316
|
{
|
|
13235
13317
|
ref: chartRef,
|
|
@@ -13242,8 +13324,8 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13242
13324
|
}
|
|
13243
13325
|
},
|
|
13244
13326
|
children: [
|
|
13245
|
-
label && /* @__PURE__ */ (0,
|
|
13246
|
-
/* @__PURE__ */ (0,
|
|
13327
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label }),
|
|
13328
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_recharts3.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
13247
13329
|
import_recharts3.BarChart,
|
|
13248
13330
|
{
|
|
13249
13331
|
data,
|
|
@@ -13252,21 +13334,21 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13252
13334
|
barGap,
|
|
13253
13335
|
className: "[&_.recharts-surface]:outline-none [&_.recharts-surface]:focus:outline-none",
|
|
13254
13336
|
children: [
|
|
13255
|
-
/* @__PURE__ */ (0,
|
|
13256
|
-
/* @__PURE__ */ (0,
|
|
13257
|
-
/* @__PURE__ */ (0,
|
|
13258
|
-
/* @__PURE__ */ (0,
|
|
13337
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("defs", { children: [
|
|
13338
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("linearGradient", { id: "blueGradient", x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
13339
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("stop", { offset: "0%", stopColor: "#DEC1FA" }),
|
|
13340
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("stop", { offset: "100%", stopColor: "#3F9CF2" })
|
|
13259
13341
|
] }),
|
|
13260
|
-
/* @__PURE__ */ (0,
|
|
13261
|
-
/* @__PURE__ */ (0,
|
|
13262
|
-
/* @__PURE__ */ (0,
|
|
13342
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("linearGradient", { id: "greenGradient", x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
13343
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("stop", { offset: "0%", stopColor: "#C2E59C" }),
|
|
13344
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("stop", { offset: "100%", stopColor: "#64B3F4" })
|
|
13263
13345
|
] }),
|
|
13264
|
-
/* @__PURE__ */ (0,
|
|
13265
|
-
/* @__PURE__ */ (0,
|
|
13266
|
-
/* @__PURE__ */ (0,
|
|
13346
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("linearGradient", { id: "pinkGradient", x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
13347
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("stop", { offset: "0%", stopColor: "#DDD6F3" }),
|
|
13348
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("stop", { offset: "100%", stopColor: "#FAACA8" })
|
|
13267
13349
|
] })
|
|
13268
13350
|
] }),
|
|
13269
|
-
/* @__PURE__ */ (0,
|
|
13351
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13270
13352
|
import_recharts3.CartesianGrid,
|
|
13271
13353
|
{
|
|
13272
13354
|
vertical: true,
|
|
@@ -13276,7 +13358,7 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13276
13358
|
verticalPoints: tickPositions
|
|
13277
13359
|
}
|
|
13278
13360
|
),
|
|
13279
|
-
/* @__PURE__ */ (0,
|
|
13361
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13280
13362
|
import_recharts3.XAxis,
|
|
13281
13363
|
{
|
|
13282
13364
|
dataKey: "title",
|
|
@@ -13286,7 +13368,7 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13286
13368
|
padding: { left: 0, right: 0 }
|
|
13287
13369
|
}
|
|
13288
13370
|
),
|
|
13289
|
-
/* @__PURE__ */ (0,
|
|
13371
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13290
13372
|
import_recharts3.YAxis,
|
|
13291
13373
|
{
|
|
13292
13374
|
axisLine: { stroke: "#DFE2E7", strokeWidth: 1 },
|
|
@@ -13296,7 +13378,7 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13296
13378
|
domain: yAxisDomain
|
|
13297
13379
|
}
|
|
13298
13380
|
),
|
|
13299
|
-
/* @__PURE__ */ (0,
|
|
13381
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13300
13382
|
import_recharts3.Bar,
|
|
13301
13383
|
{
|
|
13302
13384
|
dataKey: "blue",
|
|
@@ -13306,7 +13388,7 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13306
13388
|
onMouseLeave: handleMouseLeave
|
|
13307
13389
|
}
|
|
13308
13390
|
),
|
|
13309
|
-
/* @__PURE__ */ (0,
|
|
13391
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13310
13392
|
import_recharts3.Bar,
|
|
13311
13393
|
{
|
|
13312
13394
|
dataKey: "green",
|
|
@@ -13316,7 +13398,7 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13316
13398
|
onMouseLeave: handleMouseLeave
|
|
13317
13399
|
}
|
|
13318
13400
|
),
|
|
13319
|
-
/* @__PURE__ */ (0,
|
|
13401
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13320
13402
|
import_recharts3.Bar,
|
|
13321
13403
|
{
|
|
13322
13404
|
dataKey: "pink",
|
|
@@ -13329,7 +13411,7 @@ var BarChartComponent = (0, import_react42.forwardRef)((originalProps, ref) => {
|
|
|
13329
13411
|
]
|
|
13330
13412
|
}
|
|
13331
13413
|
) }),
|
|
13332
|
-
tooltipFormatter && /* @__PURE__ */ (0,
|
|
13414
|
+
tooltipFormatter && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13333
13415
|
"div",
|
|
13334
13416
|
{
|
|
13335
13417
|
ref: tooltipRef,
|
|
@@ -13363,7 +13445,7 @@ var barChartStyle = tv({
|
|
|
13363
13445
|
defaultVariants: {}
|
|
13364
13446
|
});
|
|
13365
13447
|
function BarChartTooltip({ className = "", children }) {
|
|
13366
|
-
return /* @__PURE__ */ (0,
|
|
13448
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
13367
13449
|
"div",
|
|
13368
13450
|
{
|
|
13369
13451
|
className: `text-md text-common-white bg-common-black flex max-w-[160px] whitespace-nowrap rounded-[5px] px-[10px] py-[6px] text-center font-bold ${className}`,
|
|
@@ -13374,13 +13456,13 @@ function BarChartTooltip({ className = "", children }) {
|
|
|
13374
13456
|
|
|
13375
13457
|
// src/components/charts/radarChart.tsx
|
|
13376
13458
|
var import_recharts4 = require("recharts");
|
|
13377
|
-
var
|
|
13378
|
-
var
|
|
13379
|
-
var RadarChart = (0,
|
|
13459
|
+
var import_react45 = require("react");
|
|
13460
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
13461
|
+
var RadarChart = (0, import_react45.forwardRef)((originalProps, ref) => {
|
|
13380
13462
|
const [props, variantProps] = mapPropsVariants(originalProps, radarChartStyle.variantKeys);
|
|
13381
13463
|
const { data, label, classNames, tooltipFormatter } = { ...props, ...variantProps };
|
|
13382
|
-
const slots = (0,
|
|
13383
|
-
const normalizedData = (0,
|
|
13464
|
+
const slots = (0, import_react45.useMemo)(() => radarChartStyle({ ...variantProps }), [variantProps]);
|
|
13465
|
+
const normalizedData = (0, import_react45.useMemo)(() => {
|
|
13384
13466
|
if (!data || data.length === 0) return [];
|
|
13385
13467
|
return data.map((item) => ({
|
|
13386
13468
|
...item,
|
|
@@ -13389,25 +13471,25 @@ var RadarChart = (0, import_react43.forwardRef)((originalProps, ref) => {
|
|
|
13389
13471
|
originalFullMark: item.fullMark || 100
|
|
13390
13472
|
}));
|
|
13391
13473
|
}, [data]);
|
|
13392
|
-
const containerHeight = (0,
|
|
13474
|
+
const containerHeight = (0, import_react45.useMemo)(() => {
|
|
13393
13475
|
if (!data || data.length === 0) return 250;
|
|
13394
13476
|
return data.length === 3 ? 245 : 306;
|
|
13395
13477
|
}, [data]);
|
|
13396
|
-
const chartMargin = (0,
|
|
13478
|
+
const chartMargin = (0, import_react45.useMemo)(() => {
|
|
13397
13479
|
return { top: 0, right: 0, bottom: 0, left: 0 };
|
|
13398
13480
|
}, [data]);
|
|
13399
|
-
const outerRadius = (0,
|
|
13481
|
+
const outerRadius = (0, import_react45.useMemo)(() => {
|
|
13400
13482
|
if (!data || data.length === 0) return 125;
|
|
13401
13483
|
return data.length === 3 ? 135 : 125;
|
|
13402
13484
|
}, [data]);
|
|
13403
|
-
const chartCenter = (0,
|
|
13485
|
+
const chartCenter = (0, import_react45.useMemo)(() => {
|
|
13404
13486
|
if (!data || data.length === 0) return {};
|
|
13405
13487
|
if (data.length === 3) return { cx: "50%", cy: "65%" };
|
|
13406
13488
|
return {};
|
|
13407
13489
|
}, [data]);
|
|
13408
|
-
return /* @__PURE__ */ (0,
|
|
13409
|
-
label && /* @__PURE__ */ (0,
|
|
13410
|
-
/* @__PURE__ */ (0,
|
|
13490
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { ref, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
13491
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label }),
|
|
13492
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { style: { width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_recharts4.ResponsiveContainer, { width: "100%", height: containerHeight, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
13411
13493
|
import_recharts4.RadarChart,
|
|
13412
13494
|
{
|
|
13413
13495
|
data: normalizedData,
|
|
@@ -13416,8 +13498,8 @@ var RadarChart = (0, import_react43.forwardRef)((originalProps, ref) => {
|
|
|
13416
13498
|
...chartCenter,
|
|
13417
13499
|
className: "[&_.recharts-surface]:outline-none [&_.recharts-surface]:focus:outline-none",
|
|
13418
13500
|
children: [
|
|
13419
|
-
/* @__PURE__ */ (0,
|
|
13420
|
-
/* @__PURE__ */ (0,
|
|
13501
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_recharts4.PolarGrid, { stroke: "#DFE2E7", strokeWidth: 1.75 }),
|
|
13502
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
13421
13503
|
import_recharts4.PolarAngleAxis,
|
|
13422
13504
|
{
|
|
13423
13505
|
dataKey: "name",
|
|
@@ -13426,8 +13508,8 @@ var RadarChart = (0, import_react43.forwardRef)((originalProps, ref) => {
|
|
|
13426
13508
|
tickSize: 15
|
|
13427
13509
|
}
|
|
13428
13510
|
),
|
|
13429
|
-
/* @__PURE__ */ (0,
|
|
13430
|
-
/* @__PURE__ */ (0,
|
|
13511
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_recharts4.PolarRadiusAxis, { domain: [0, 100], tick: false, tickCount: 6, axisLine: false }),
|
|
13512
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
13431
13513
|
import_recharts4.Radar,
|
|
13432
13514
|
{
|
|
13433
13515
|
name: label,
|
|
@@ -13439,7 +13521,7 @@ var RadarChart = (0, import_react43.forwardRef)((originalProps, ref) => {
|
|
|
13439
13521
|
activeDot: false
|
|
13440
13522
|
}
|
|
13441
13523
|
),
|
|
13442
|
-
tooltipFormatter && /* @__PURE__ */ (0,
|
|
13524
|
+
tooltipFormatter && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
13443
13525
|
import_recharts4.Tooltip,
|
|
13444
13526
|
{
|
|
13445
13527
|
content: ({ active, payload, label: tooltipLabel }) => {
|
|
@@ -13447,7 +13529,7 @@ var RadarChart = (0, import_react43.forwardRef)((originalProps, ref) => {
|
|
|
13447
13529
|
const currentData = data == null ? void 0 : data.find((item) => item.name === tooltipLabel);
|
|
13448
13530
|
const shouldShowTooltip = active && payload && payload.length > 0 && tooltipLabel && currentData && ((_b = (_a = payload[0]) == null ? void 0 : _a.payload) == null ? void 0 : _b.value) !== void 0;
|
|
13449
13531
|
if (!shouldShowTooltip) return null;
|
|
13450
|
-
return /* @__PURE__ */ (0,
|
|
13532
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { children: tooltipFormatter({
|
|
13451
13533
|
label: String(tooltipLabel),
|
|
13452
13534
|
data: currentData
|
|
13453
13535
|
}) });
|
|
@@ -13477,10 +13559,10 @@ var radarChartStyle = tv({
|
|
|
13477
13559
|
});
|
|
13478
13560
|
|
|
13479
13561
|
// src/components/charts/simpleBarChart.tsx
|
|
13480
|
-
var
|
|
13562
|
+
var import_react46 = require("react");
|
|
13481
13563
|
var import_recharts5 = require("recharts");
|
|
13482
|
-
var
|
|
13483
|
-
var SimpleBarChartComponent = (0,
|
|
13564
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
13565
|
+
var SimpleBarChartComponent = (0, import_react46.forwardRef)((originalProps, ref) => {
|
|
13484
13566
|
const [props, variantProps] = mapPropsVariants(originalProps, simpleBarChartStyle.variantKeys);
|
|
13485
13567
|
const {
|
|
13486
13568
|
data = [],
|
|
@@ -13491,13 +13573,13 @@ var SimpleBarChartComponent = (0, import_react44.forwardRef)((originalProps, ref
|
|
|
13491
13573
|
barGap = 20,
|
|
13492
13574
|
tooltipFormatter
|
|
13493
13575
|
} = { ...props, ...variantProps };
|
|
13494
|
-
const slots = (0,
|
|
13495
|
-
const chartRef = (0,
|
|
13496
|
-
const tooltipRef = (0,
|
|
13497
|
-
const [tooltipLeft, setTooltipLeft] = (0,
|
|
13498
|
-
const [tickPositions, setTickPositions] = (0,
|
|
13499
|
-
const [tooltipState, setTooltipState] = (0,
|
|
13500
|
-
(0,
|
|
13576
|
+
const slots = (0, import_react46.useMemo)(() => simpleBarChartStyle({ ...variantProps }), [variantProps]);
|
|
13577
|
+
const chartRef = (0, import_react46.useRef)(null);
|
|
13578
|
+
const tooltipRef = (0, import_react46.useRef)(null);
|
|
13579
|
+
const [tooltipLeft, setTooltipLeft] = (0, import_react46.useState)(0);
|
|
13580
|
+
const [tickPositions, setTickPositions] = (0, import_react46.useState)([]);
|
|
13581
|
+
const [tooltipState, setTooltipState] = (0, import_react46.useState)(null);
|
|
13582
|
+
(0, import_react46.useEffect)(() => {
|
|
13501
13583
|
if (!chartRef.current || !data.length) return;
|
|
13502
13584
|
const updateDimensions = () => {
|
|
13503
13585
|
if (!chartRef.current) return;
|
|
@@ -13548,16 +13630,16 @@ var SimpleBarChartComponent = (0, import_react44.forwardRef)((originalProps, ref
|
|
|
13548
13630
|
const adjustedHeight = height + extraHeight;
|
|
13549
13631
|
const adjustedY = y - extraHeight;
|
|
13550
13632
|
const bottomY = adjustedY + adjustedHeight;
|
|
13551
|
-
return height > 0 ? /* @__PURE__ */ (0,
|
|
13633
|
+
return height > 0 ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
13552
13634
|
"path",
|
|
13553
13635
|
{
|
|
13554
13636
|
d: `M${x},${bottomY} L${x},${adjustedY + radius} Q${x},${adjustedY} ${x + radius},${adjustedY} L${x + width - radius},${adjustedY} Q${x + width},${adjustedY} ${x + width},${adjustedY + radius} L${x + width},${bottomY} Z`,
|
|
13555
13637
|
fill
|
|
13556
13638
|
}
|
|
13557
|
-
) : /* @__PURE__ */ (0,
|
|
13639
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("rect", { x, y, width, height: 0, fill });
|
|
13558
13640
|
};
|
|
13559
13641
|
const CustomTick = ({ x, y, payload }) => {
|
|
13560
|
-
return /* @__PURE__ */ (0,
|
|
13642
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
13561
13643
|
"text",
|
|
13562
13644
|
{
|
|
13563
13645
|
x,
|
|
@@ -13571,7 +13653,7 @@ var SimpleBarChartComponent = (0, import_react44.forwardRef)((originalProps, ref
|
|
|
13571
13653
|
}
|
|
13572
13654
|
);
|
|
13573
13655
|
};
|
|
13574
|
-
(0,
|
|
13656
|
+
(0, import_react46.useLayoutEffect)(() => {
|
|
13575
13657
|
if (!tooltipState || !chartRef.current || !tooltipRef.current) return;
|
|
13576
13658
|
const chartRect = chartRef.current.getBoundingClientRect();
|
|
13577
13659
|
const tooltipRect = tooltipRef.current.getBoundingClientRect();
|
|
@@ -13586,7 +13668,7 @@ var SimpleBarChartComponent = (0, import_react44.forwardRef)((originalProps, ref
|
|
|
13586
13668
|
}
|
|
13587
13669
|
setTooltipLeft(left);
|
|
13588
13670
|
}, [tooltipState]);
|
|
13589
|
-
return /* @__PURE__ */ (0,
|
|
13671
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
13590
13672
|
"div",
|
|
13591
13673
|
{
|
|
13592
13674
|
ref: chartRef,
|
|
@@ -13599,8 +13681,8 @@ var SimpleBarChartComponent = (0, import_react44.forwardRef)((originalProps, ref
|
|
|
13599
13681
|
}
|
|
13600
13682
|
},
|
|
13601
13683
|
children: [
|
|
13602
|
-
label && /* @__PURE__ */ (0,
|
|
13603
|
-
/* @__PURE__ */ (0,
|
|
13684
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label }),
|
|
13685
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_recharts5.ResponsiveContainer, { width: "100%", height: 140, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
13604
13686
|
import_recharts5.BarChart,
|
|
13605
13687
|
{
|
|
13606
13688
|
data,
|
|
@@ -13609,7 +13691,7 @@ var SimpleBarChartComponent = (0, import_react44.forwardRef)((originalProps, ref
|
|
|
13609
13691
|
barGap,
|
|
13610
13692
|
className: "[&_.recharts-surface]:outline-none [&_.recharts-surface]:focus:outline-none",
|
|
13611
13693
|
children: [
|
|
13612
|
-
/* @__PURE__ */ (0,
|
|
13694
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
13613
13695
|
import_recharts5.CartesianGrid,
|
|
13614
13696
|
{
|
|
13615
13697
|
vertical: true,
|
|
@@ -13619,7 +13701,7 @@ var SimpleBarChartComponent = (0, import_react44.forwardRef)((originalProps, ref
|
|
|
13619
13701
|
verticalPoints: tickPositions
|
|
13620
13702
|
}
|
|
13621
13703
|
),
|
|
13622
|
-
/* @__PURE__ */ (0,
|
|
13704
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
13623
13705
|
import_recharts5.CartesianGrid,
|
|
13624
13706
|
{
|
|
13625
13707
|
vertical: true,
|
|
@@ -13630,7 +13712,7 @@ var SimpleBarChartComponent = (0, import_react44.forwardRef)((originalProps, ref
|
|
|
13630
13712
|
verticalPoints: [0]
|
|
13631
13713
|
}
|
|
13632
13714
|
),
|
|
13633
|
-
/* @__PURE__ */ (0,
|
|
13715
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
13634
13716
|
import_recharts5.XAxis,
|
|
13635
13717
|
{
|
|
13636
13718
|
dataKey: "title",
|
|
@@ -13640,8 +13722,8 @@ var SimpleBarChartComponent = (0, import_react44.forwardRef)((originalProps, ref
|
|
|
13640
13722
|
padding: { left: 0, right: 0 }
|
|
13641
13723
|
}
|
|
13642
13724
|
),
|
|
13643
|
-
/* @__PURE__ */ (0,
|
|
13644
|
-
/* @__PURE__ */ (0,
|
|
13725
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_recharts5.YAxis, { hide: true, ticks: yAxisTicks, domain: yAxisDomain }),
|
|
13726
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
13645
13727
|
import_recharts5.Bar,
|
|
13646
13728
|
{
|
|
13647
13729
|
dataKey: "value",
|
|
@@ -13654,7 +13736,7 @@ var SimpleBarChartComponent = (0, import_react44.forwardRef)((originalProps, ref
|
|
|
13654
13736
|
]
|
|
13655
13737
|
}
|
|
13656
13738
|
) }),
|
|
13657
|
-
tooltipFormatter && /* @__PURE__ */ (0,
|
|
13739
|
+
tooltipFormatter && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
13658
13740
|
"div",
|
|
13659
13741
|
{
|
|
13660
13742
|
ref: tooltipRef,
|
|
@@ -13689,9 +13771,9 @@ var simpleBarChartStyle = tv({
|
|
|
13689
13771
|
});
|
|
13690
13772
|
|
|
13691
13773
|
// src/components/starRating/starRating.tsx
|
|
13692
|
-
var
|
|
13693
|
-
var
|
|
13694
|
-
var StarRating = (0,
|
|
13774
|
+
var import_react47 = require("react");
|
|
13775
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
13776
|
+
var StarRating = (0, import_react47.forwardRef)((originalProps, ref) => {
|
|
13695
13777
|
const [props, variantProps] = mapPropsVariants(originalProps, starRatingStyle.variantKeys);
|
|
13696
13778
|
const {
|
|
13697
13779
|
stars,
|
|
@@ -13704,8 +13786,8 @@ var StarRating = (0, import_react45.forwardRef)((originalProps, ref) => {
|
|
|
13704
13786
|
filledColor = "text-primary-main",
|
|
13705
13787
|
emptyColor = "text-neutral-soft"
|
|
13706
13788
|
} = { ...props, ...variantProps };
|
|
13707
|
-
const slots = (0,
|
|
13708
|
-
const [hoverRating, setHoverRating] = (0,
|
|
13789
|
+
const slots = (0, import_react47.useMemo)(() => starRatingStyle({ ...variantProps }), [variantProps]);
|
|
13790
|
+
const [hoverRating, setHoverRating] = (0, import_react47.useState)(0);
|
|
13709
13791
|
const handleStarClick = (starIndex, isHalf = false) => {
|
|
13710
13792
|
if (readOnly || !onChange) return;
|
|
13711
13793
|
let newRating;
|
|
@@ -13739,9 +13821,9 @@ var StarRating = (0, import_react45.forwardRef)((originalProps, ref) => {
|
|
|
13739
13821
|
const isEmpty = currentRating < starIndex - 1;
|
|
13740
13822
|
const isPartial = !isFull && !isEmpty;
|
|
13741
13823
|
const fillPercentage = isPartial ? (currentRating - (starIndex - 1)) * 100 : 0;
|
|
13742
|
-
return /* @__PURE__ */ (0,
|
|
13743
|
-
!readOnly && /* @__PURE__ */ (0,
|
|
13744
|
-
/* @__PURE__ */ (0,
|
|
13824
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: slots.starWrapper({ class: classNames == null ? void 0 : classNames.starWrapper }), children: [
|
|
13825
|
+
!readOnly && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
|
|
13826
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
13745
13827
|
"div",
|
|
13746
13828
|
{
|
|
13747
13829
|
className: slots.star({ class: classNames == null ? void 0 : classNames.star }),
|
|
@@ -13749,7 +13831,7 @@ var StarRating = (0, import_react45.forwardRef)((originalProps, ref) => {
|
|
|
13749
13831
|
onMouseEnter: () => handleStarHover(starIndex)
|
|
13750
13832
|
}
|
|
13751
13833
|
),
|
|
13752
|
-
allowHalf && /* @__PURE__ */ (0,
|
|
13834
|
+
allowHalf && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
13753
13835
|
"div",
|
|
13754
13836
|
{
|
|
13755
13837
|
className: slots.starHalf({ class: classNames == null ? void 0 : classNames.starHalf }),
|
|
@@ -13758,25 +13840,25 @@ var StarRating = (0, import_react45.forwardRef)((originalProps, ref) => {
|
|
|
13758
13840
|
}
|
|
13759
13841
|
)
|
|
13760
13842
|
] }),
|
|
13761
|
-
/* @__PURE__ */ (0,
|
|
13762
|
-
(isFull || isPartial) && /* @__PURE__ */ (0,
|
|
13763
|
-
/* @__PURE__ */ (0,
|
|
13764
|
-
/* @__PURE__ */ (0,
|
|
13843
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "relative", children: [
|
|
13844
|
+
(isFull || isPartial) && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
|
|
13845
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Icon_default, { name: "star", fill: true, className: emptyColor, size }),
|
|
13846
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
13765
13847
|
"div",
|
|
13766
13848
|
{
|
|
13767
13849
|
className: "absolute left-0 top-0 overflow-hidden",
|
|
13768
13850
|
style: {
|
|
13769
13851
|
width: isFull ? "100%" : `${fillPercentage}%`
|
|
13770
13852
|
},
|
|
13771
|
-
children: /* @__PURE__ */ (0,
|
|
13853
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Icon_default, { name: "star", fill: true, className: filledColor, size })
|
|
13772
13854
|
}
|
|
13773
13855
|
)
|
|
13774
13856
|
] }),
|
|
13775
|
-
isEmpty && /* @__PURE__ */ (0,
|
|
13857
|
+
isEmpty && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Icon_default, { name: "star", fill: true, className: emptyColor, size })
|
|
13776
13858
|
] })
|
|
13777
13859
|
] }, starIndex);
|
|
13778
13860
|
};
|
|
13779
|
-
return /* @__PURE__ */ (0,
|
|
13861
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { ref, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), onMouseLeave: handleMouseLeave, children: createRange(stars).map(renderStar) });
|
|
13780
13862
|
});
|
|
13781
13863
|
StarRating.displayName = "StarRating";
|
|
13782
13864
|
var starRating_default = StarRating;
|