@deepnoid/ui 0.1.115 → 0.1.117
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 +180 -175
- package/dist/{chunk-UNYKQTEP.mjs → chunk-3ZH6PWFC.mjs} +2 -2
- package/dist/chunk-4DESGO3D.mjs +54 -0
- package/dist/{chunk-BKYNB52Z.mjs → chunk-676Y7NKV.mjs} +1 -1
- package/dist/{chunk-AHBBUMPX.mjs → chunk-6VNOOJDQ.mjs} +2 -2
- package/dist/{chunk-NEBMBSKV.mjs → chunk-CUCLHYCE.mjs} +3 -3
- package/dist/{chunk-L3WKBOWY.mjs → chunk-ER3SUAE2.mjs} +1 -1
- package/dist/{chunk-AX3FVJMY.mjs → chunk-F7PC2JAF.mjs} +1 -1
- package/dist/{chunk-CEMBGO4V.mjs → chunk-HD2PTCE6.mjs} +2 -2
- package/dist/{chunk-FU4CDBVG.mjs → chunk-HLYTCS7L.mjs} +1 -1
- package/dist/{chunk-DDJ2EU3P.mjs → chunk-LCWEO4U6.mjs} +40 -14
- package/dist/chunk-LIHZG4KM.mjs +315 -0
- package/dist/{chunk-WKMBRUGX.mjs → chunk-LZRBMVT7.mjs} +1 -1
- package/dist/{chunk-MTQGHQ7Z.mjs → chunk-MG5E5YZ7.mjs} +1 -1
- package/dist/{chunk-BFZ6OTVA.mjs → chunk-PHWTRXOL.mjs} +2 -2
- package/dist/{chunk-5AEN7QTL.mjs → chunk-PMSUPDDW.mjs} +1 -1
- package/dist/{chunk-QREBEXKF.mjs → chunk-RSD67ORA.mjs} +1 -1
- package/dist/{chunk-TMHYS2DC.mjs → chunk-TO6OPRBH.mjs} +1 -1
- package/dist/{chunk-EDAREIAN.mjs → chunk-TRNL3IXF.mjs} +1 -1
- package/dist/{chunk-MLD6EZAE.mjs → chunk-UPPNTDNG.mjs} +1 -1
- package/dist/{chunk-7YCUFFKZ.mjs → chunk-VPGJ4HZ7.mjs} +1 -1
- package/dist/components/avatar/avatar.js +40 -14
- package/dist/components/avatar/avatar.mjs +2 -2
- package/dist/components/avatar/index.js +40 -14
- package/dist/components/avatar/index.mjs +2 -2
- package/dist/components/breadcrumb/breadcrumb.js +40 -14
- package/dist/components/breadcrumb/breadcrumb.mjs +5 -5
- package/dist/components/breadcrumb/index.js +40 -14
- package/dist/components/breadcrumb/index.mjs +5 -5
- package/dist/components/button/button.js +40 -14
- package/dist/components/button/button.mjs +3 -3
- package/dist/components/button/icon-button.js +40 -14
- package/dist/components/button/icon-button.mjs +3 -3
- package/dist/components/button/index.js +40 -14
- package/dist/components/button/index.mjs +4 -4
- package/dist/components/chip/chip.js +40 -14
- package/dist/components/chip/chip.mjs +3 -3
- package/dist/components/chip/index.js +40 -14
- package/dist/components/chip/index.mjs +3 -3
- package/dist/components/fileUpload/fileUpload.js +40 -14
- package/dist/components/fileUpload/fileUpload.mjs +6 -6
- package/dist/components/fileUpload/index.js +40 -14
- package/dist/components/fileUpload/index.mjs +6 -6
- package/dist/components/icon/Icon.d.mts +8 -4
- package/dist/components/icon/Icon.d.ts +8 -4
- package/dist/components/icon/Icon.js +40 -14
- package/dist/components/icon/Icon.mjs +2 -2
- package/dist/components/icon/index.js +40 -14
- package/dist/components/icon/index.mjs +2 -2
- package/dist/components/icon/template.d.mts +2 -1
- package/dist/components/icon/template.d.ts +2 -1
- package/dist/components/icon/template.js +40 -14
- package/dist/components/icon/template.mjs +1 -1
- package/dist/components/input/index.js +40 -14
- package/dist/components/input/index.mjs +3 -3
- package/dist/components/input/input.js +40 -14
- package/dist/components/input/input.mjs +3 -3
- package/dist/components/list/index.js +40 -14
- package/dist/components/list/index.mjs +4 -4
- package/dist/components/list/listItem.js +40 -14
- package/dist/components/list/listItem.mjs +4 -4
- package/dist/components/modal/index.js +40 -14
- package/dist/components/modal/index.mjs +5 -5
- package/dist/components/modal/modal.js +40 -14
- package/dist/components/modal/modal.mjs +5 -5
- package/dist/components/pagination/index.js +40 -14
- package/dist/components/pagination/index.mjs +4 -4
- package/dist/components/pagination/pagination.js +40 -14
- package/dist/components/pagination/pagination.mjs +4 -4
- package/dist/components/picker/datePicker.d.mts +53 -172
- package/dist/components/picker/datePicker.d.ts +53 -172
- package/dist/components/picker/datePicker.js +1752 -399
- package/dist/components/picker/datePicker.mjs +14 -3
- package/dist/components/picker/day.d.mts +94 -0
- package/dist/components/picker/day.d.ts +94 -0
- package/dist/components/picker/day.js +414 -0
- package/dist/components/picker/day.mjs +12 -0
- package/dist/components/picker/index.d.mts +1 -0
- package/dist/components/picker/index.d.ts +1 -0
- package/dist/components/picker/index.js +2341 -984
- package/dist/components/picker/index.mjs +20 -6
- package/dist/components/picker/timePicker.js +40 -14
- package/dist/components/picker/timePicker.mjs +4 -4
- package/dist/components/select/index.js +40 -14
- package/dist/components/select/index.mjs +3 -3
- package/dist/components/select/select.js +40 -14
- package/dist/components/select/select.mjs +3 -3
- package/dist/components/table/index.js +40 -14
- package/dist/components/table/index.mjs +5 -5
- package/dist/components/table/table-body.js +40 -14
- package/dist/components/table/table-body.mjs +5 -5
- package/dist/components/table/table-head.js +40 -14
- package/dist/components/table/table-head.mjs +5 -5
- package/dist/components/table/table.js +40 -14
- package/dist/components/table/table.mjs +5 -5
- package/dist/components/toast/index.js +40 -14
- package/dist/components/toast/index.mjs +4 -4
- package/dist/components/toast/toast.js +40 -14
- package/dist/components/toast/toast.mjs +3 -3
- package/dist/components/toast/use-toast.js +40 -14
- package/dist/components/toast/use-toast.mjs +4 -4
- package/dist/components/tree/index.js +40 -14
- package/dist/components/tree/index.mjs +3 -3
- package/dist/components/tree/tree.js +40 -14
- package/dist/components/tree/tree.mjs +3 -3
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +413 -456
- package/dist/index.mjs +28 -24
- package/package.json +1 -1
- package/dist/chunk-2VQM2ZBF.mjs +0 -408
- /package/dist/{chunk-ZG4WRZOU.mjs → chunk-4VWG4726.mjs} +0 -0
package/dist/index.js
CHANGED
|
@@ -115,6 +115,7 @@ __export(index_exports, {
|
|
|
115
115
|
Chip: () => chip_default,
|
|
116
116
|
CircularProgress: () => circularProgress_default,
|
|
117
117
|
DatePicker: () => datePicker_default,
|
|
118
|
+
Day: () => day_default,
|
|
118
119
|
DefinitionTable: () => definition_table_default,
|
|
119
120
|
Drawer: () => drawer_default,
|
|
120
121
|
FileUpload: () => fileUpload_default,
|
|
@@ -1149,20 +1150,6 @@ var template = {
|
|
|
1149
1150
|
}
|
|
1150
1151
|
);
|
|
1151
1152
|
},
|
|
1152
|
-
right: ({ className }) => {
|
|
1153
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
1154
|
-
"svg",
|
|
1155
|
-
{
|
|
1156
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
1157
|
-
width: "18",
|
|
1158
|
-
height: "18",
|
|
1159
|
-
viewBox: "0 0 18 18",
|
|
1160
|
-
fill: "none",
|
|
1161
|
-
className,
|
|
1162
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M6.5 4L11.5 9L6.5 14", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
1163
|
-
}
|
|
1164
|
-
);
|
|
1165
|
-
},
|
|
1166
1153
|
avatar: ({ className }) => {
|
|
1167
1154
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
1168
1155
|
"svg",
|
|
@@ -2344,6 +2331,46 @@ var template = {
|
|
|
2344
2331
|
}
|
|
2345
2332
|
);
|
|
2346
2333
|
},
|
|
2334
|
+
left: ({ className }) => {
|
|
2335
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2336
|
+
"svg",
|
|
2337
|
+
{
|
|
2338
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2339
|
+
width: "22",
|
|
2340
|
+
height: "22",
|
|
2341
|
+
viewBox: "0 0 22 22",
|
|
2342
|
+
fill: "none",
|
|
2343
|
+
className,
|
|
2344
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2345
|
+
"path",
|
|
2346
|
+
{
|
|
2347
|
+
d: "M14.4955 7.21404C14.4957 7.26442 14.4957 7.26442 14.4959 7.31582C14.4962 7.40882 14.4962 7.50182 14.496 7.59482C14.496 7.69521 14.4962 7.79559 14.4965 7.89598C14.4969 8.09257 14.497 8.28915 14.4969 8.48574C14.4968 8.64555 14.4969 8.80536 14.497 8.96516C14.4971 8.98791 14.4971 9.01066 14.4971 9.0341C14.4971 9.08032 14.4972 9.12653 14.4972 9.17275C14.4976 9.60613 14.4975 10.0395 14.4973 10.4729C14.4971 10.8692 14.4975 11.2656 14.4981 11.6619C14.4988 12.069 14.499 12.4761 14.4989 12.8832C14.4989 13.1117 14.4989 13.3402 14.4994 13.5687C14.4998 13.7633 14.4998 13.9578 14.4994 14.1524C14.4992 14.2516 14.4992 14.3508 14.4996 14.45C14.4999 14.5577 14.4997 14.6653 14.4993 14.7729C14.4995 14.8042 14.4997 14.8354 14.5 14.8676C14.4981 15.094 14.4635 15.2952 14.2769 15.4694C14.0633 15.6269 13.8501 15.6664 13.574 15.6667C13.3359 15.6312 13.1607 15.5177 12.9847 15.381C12.9446 15.3506 12.9044 15.3202 12.8642 15.2898C12.8338 15.2666 12.8338 15.2666 12.8028 15.2429C12.7059 15.1692 12.6076 15.0969 12.5094 15.0246C12.4807 15.0034 12.4807 15.0034 12.4515 14.9819C12.3238 14.8875 12.1955 14.7936 12.0669 14.7C11.8604 14.5497 11.6552 14.3982 11.4501 14.2465C11.3539 14.1754 11.2577 14.1043 11.1615 14.0332C11.1231 14.0048 11.0847 13.9765 11.0462 13.9481C11.0177 13.927 11.0177 13.927 10.9886 13.9055C10.1627 13.2955 9.33686 12.6854 8.51098 12.0753C8.49194 12.0613 8.47291 12.0472 8.45329 12.0328C8.41508 12.0045 8.37691 11.9762 8.33878 11.9479C8.23994 11.8746 8.14044 11.8021 8.03961 11.7309C7.56492 11.3929 7.56492 11.3929 7.50676 11.139C7.48169 10.8947 7.5218 10.7077 7.70431 10.5165C7.82684 10.4027 7.96443 10.3072 8.1052 10.2107C8.19396 10.1488 8.27857 10.0845 8.36282 10.0181C8.5044 9.90695 8.65122 9.80273 8.80011 9.69893C8.88704 9.63693 8.97086 9.57289 9.05425 9.50739C9.19583 9.3962 9.34265 9.29198 9.49154 9.18818C9.57847 9.12618 9.6623 9.06214 9.74569 8.99664C9.88726 8.88544 10.0341 8.78123 10.183 8.67742C10.2699 8.61542 10.3537 8.55139 10.4371 8.48589C10.5787 8.37469 10.7255 8.27048 10.8744 8.16667C10.9613 8.10467 11.0452 8.04064 11.1286 7.97514C11.2379 7.88937 11.3491 7.80701 11.464 7.72686C11.676 7.57888 11.881 7.42428 12.0868 7.26992C12.2036 7.18255 12.321 7.09588 12.4386 7.00934C12.5366 6.93723 12.6341 6.8648 12.7311 6.7917C13.3456 6.32986 13.3456 6.32986 13.7814 6.33404C13.9843 6.35117 14.1418 6.41415 14.2854 6.53943C14.4816 6.75169 14.4966 6.95069 14.4955 7.21404Z",
|
|
2348
|
+
fill: "currentColor"
|
|
2349
|
+
}
|
|
2350
|
+
)
|
|
2351
|
+
}
|
|
2352
|
+
);
|
|
2353
|
+
},
|
|
2354
|
+
right: ({ className }) => {
|
|
2355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2356
|
+
"svg",
|
|
2357
|
+
{
|
|
2358
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2359
|
+
width: "22",
|
|
2360
|
+
height: "22",
|
|
2361
|
+
viewBox: "0 0 22 22",
|
|
2362
|
+
fill: "none",
|
|
2363
|
+
className,
|
|
2364
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2365
|
+
"path",
|
|
2366
|
+
{
|
|
2367
|
+
d: "M7.50447 7.21404C7.50428 7.26442 7.50428 7.26442 7.50409 7.31582C7.50381 7.40882 7.50383 7.50182 7.50397 7.59482C7.50405 7.69521 7.50375 7.79559 7.5035 7.89598C7.50308 8.09257 7.50303 8.28915 7.5031 8.48574C7.50316 8.64555 7.5031 8.80536 7.50296 8.96516C7.50294 8.98791 7.50292 9.01066 7.5029 9.0341C7.50286 9.08032 7.50282 9.12653 7.50278 9.17275C7.50243 9.60613 7.5025 10.0395 7.5027 10.4729C7.50287 10.8692 7.5025 11.2656 7.50187 11.6619C7.50123 12.069 7.50096 12.4761 7.50109 12.8832C7.50115 13.1117 7.50107 13.3402 7.5006 13.5687C7.50021 13.7633 7.50016 13.9578 7.50056 14.1524C7.50076 14.2516 7.50079 14.3508 7.5004 14.45C7.50005 14.5577 7.50032 14.6653 7.50074 14.7729C7.50049 14.8042 7.50025 14.8354 7.5 14.8676C7.50185 15.094 7.53645 15.2952 7.72309 15.4694C7.93671 15.6269 8.14985 15.6664 8.42597 15.6667C8.66414 15.6312 8.8393 15.5177 9.01528 15.381C9.05544 15.3506 9.09561 15.3202 9.13579 15.2898C9.16617 15.2666 9.16617 15.2666 9.19716 15.2429C9.29408 15.1692 9.39237 15.0969 9.49064 15.0246C9.51926 15.0034 9.51926 15.0034 9.54847 14.9819C9.67623 14.8875 9.80451 14.7936 9.93307 14.7C10.1396 14.5497 10.3448 14.3982 10.5499 14.2465C10.6461 14.1754 10.7423 14.1043 10.8385 14.0332C10.8769 14.0048 10.9153 13.9765 10.9538 13.9481C10.9823 13.927 10.9823 13.927 11.0114 13.9055C11.8373 13.2955 12.6631 12.6854 13.489 12.0753C13.5081 12.0613 13.5271 12.0472 13.5467 12.0328C13.5849 12.0045 13.6231 11.9762 13.6612 11.9479C13.7601 11.8746 13.8596 11.8021 13.9604 11.7309C14.4351 11.3929 14.4351 11.3929 14.4932 11.139C14.5183 10.8947 14.4782 10.7077 14.2957 10.5165C14.1732 10.4027 14.0356 10.3072 13.8948 10.2107C13.806 10.1488 13.7214 10.0845 13.6372 10.0181C13.4956 9.90695 13.3488 9.80273 13.1999 9.69893C13.113 9.63693 13.0291 9.57289 12.9457 9.50739C12.8042 9.3962 12.6573 9.29198 12.5085 9.18818C12.4215 9.12618 12.3377 9.06214 12.2543 8.99664C12.1127 8.88544 11.9659 8.78123 11.817 8.67742C11.7301 8.61542 11.6463 8.55139 11.5629 8.48589C11.4213 8.37469 11.2745 8.27048 11.1256 8.16667C11.0387 8.10467 10.9548 8.04064 10.8714 7.97514C10.7621 7.88937 10.6509 7.80701 10.536 7.72686C10.324 7.57888 10.119 7.42428 9.9132 7.26992C9.79643 7.18255 9.67897 7.09588 9.56138 7.00934C9.46343 6.93723 9.36586 6.8648 9.26891 6.7917C8.65441 6.32986 8.65441 6.32986 8.21864 6.33404C8.01565 6.35117 7.85817 6.41415 7.7146 6.53943C7.51841 6.75169 7.50343 6.95069 7.50447 7.21404Z",
|
|
2368
|
+
fill: "currentColor"
|
|
2369
|
+
}
|
|
2370
|
+
)
|
|
2371
|
+
}
|
|
2372
|
+
);
|
|
2373
|
+
},
|
|
2347
2374
|
// ----------------------------------- old ---------------------------------
|
|
2348
2375
|
// ** Status **
|
|
2349
2376
|
check: ({ className, fill }) => {
|
|
@@ -10845,8 +10872,50 @@ var ToastProvider = ({
|
|
|
10845
10872
|
] });
|
|
10846
10873
|
};
|
|
10847
10874
|
|
|
10875
|
+
// src/components/picker/day.tsx
|
|
10876
|
+
var import_react31 = require("react");
|
|
10877
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
10878
|
+
var Day = (0, import_react31.forwardRef)((originalProps, ref) => {
|
|
10879
|
+
const [props, variantProps] = mapPropsVariants(originalProps, dayStyle.variantKeys);
|
|
10880
|
+
const { classNames, children, ...divProps } = props;
|
|
10881
|
+
const slots = (0, import_react31.useMemo)(() => dayStyle({ ...variantProps }), [variantProps]);
|
|
10882
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { ref, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), ...divProps, children });
|
|
10883
|
+
});
|
|
10884
|
+
Day.displayName = "Day";
|
|
10885
|
+
var day_default = Day;
|
|
10886
|
+
var dayStyle = tv({
|
|
10887
|
+
slots: {
|
|
10888
|
+
base: [
|
|
10889
|
+
"w-[40px]",
|
|
10890
|
+
"h-[40px]",
|
|
10891
|
+
"flex",
|
|
10892
|
+
"justify-center",
|
|
10893
|
+
"items-center",
|
|
10894
|
+
"font-bold",
|
|
10895
|
+
"text-sm",
|
|
10896
|
+
"text-neutral-strong",
|
|
10897
|
+
"rounded-xl",
|
|
10898
|
+
"cursor-pointer"
|
|
10899
|
+
]
|
|
10900
|
+
},
|
|
10901
|
+
variants: {
|
|
10902
|
+
variant: {
|
|
10903
|
+
default: { base: ["hover:bg-trans-soft"] },
|
|
10904
|
+
hover: { base: ["bg-trans-soft"] },
|
|
10905
|
+
selected: { base: ["bg-primary-main", "text-common-white"] },
|
|
10906
|
+
disabled: { base: ["pointer-events-none", "bg-common-transparent", "text-neutral-light"] },
|
|
10907
|
+
period: { base: ["bg-primary-soft", "rounded-none"] },
|
|
10908
|
+
today: { base: ["shadow-[inset_0_0_0_2px_var(--dn-primary-light)]", "hover:bg-trans-soft"] },
|
|
10909
|
+
text: { base: ["text-md"] }
|
|
10910
|
+
}
|
|
10911
|
+
},
|
|
10912
|
+
defaultVariants: {
|
|
10913
|
+
variant: "default"
|
|
10914
|
+
}
|
|
10915
|
+
});
|
|
10916
|
+
|
|
10848
10917
|
// src/components/picker/datePicker.tsx
|
|
10849
|
-
var
|
|
10918
|
+
var import_react32 = require("react");
|
|
10850
10919
|
var import_react_dom5 = require("react-dom");
|
|
10851
10920
|
|
|
10852
10921
|
// src/components/picker/utils.ts
|
|
@@ -10862,31 +10931,40 @@ var formatStringToDate = (date) => {
|
|
|
10862
10931
|
};
|
|
10863
10932
|
|
|
10864
10933
|
// src/components/picker/datePicker.tsx
|
|
10865
|
-
var
|
|
10866
|
-
var DatePicker = (0,
|
|
10934
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
10935
|
+
var DatePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
10867
10936
|
const [props, variantProps] = mapPropsVariants(originalProps, datePickerStyle.variantKeys);
|
|
10868
10937
|
const {
|
|
10869
10938
|
classNames,
|
|
10870
10939
|
label,
|
|
10871
10940
|
errorMessage,
|
|
10941
|
+
helperMessage,
|
|
10872
10942
|
value,
|
|
10873
10943
|
onChange,
|
|
10874
|
-
size,
|
|
10944
|
+
size = "md",
|
|
10945
|
+
variant = "solid",
|
|
10946
|
+
color = "primary",
|
|
10947
|
+
full = false,
|
|
10948
|
+
disabled = false,
|
|
10875
10949
|
placeholder = "",
|
|
10876
10950
|
format = "YYYY-MM-DD",
|
|
10877
|
-
highlightWeekend = true,
|
|
10878
|
-
calendarColor = "primary",
|
|
10879
10951
|
locale = "default",
|
|
10880
|
-
daysOfWeek = ["
|
|
10881
|
-
monthYearFormat = (year, month) => new Date(year, month).toLocaleString(locale, { year: "numeric", month: "2-digit" }),
|
|
10952
|
+
daysOfWeek = ["\uC77C", "\uC6D4", "\uD654", "\uC218", "\uBAA9", "\uAE08", "\uD1A0"],
|
|
10953
|
+
monthYearFormat = (year, month) => locale === "default" ? `${year}. ${(month + 1).toString().padStart(2, "0")}` : new Date(year, month).toLocaleString(locale, { year: "numeric", month: "2-digit" }),
|
|
10954
|
+
resetTitle,
|
|
10955
|
+
todayTitle,
|
|
10956
|
+
cancelTitle,
|
|
10957
|
+
confirmTitle,
|
|
10882
10958
|
...inputProps
|
|
10883
|
-
} = props;
|
|
10884
|
-
const [selectedDate, setSelectedDate] = (0,
|
|
10885
|
-
const [
|
|
10886
|
-
const [
|
|
10887
|
-
const
|
|
10888
|
-
const
|
|
10889
|
-
const
|
|
10959
|
+
} = { ...props, ...variantProps };
|
|
10960
|
+
const [selectedDate, setSelectedDate] = (0, import_react32.useState)(value || "");
|
|
10961
|
+
const [tempSelectedDate, setTempSelectedDate] = (0, import_react32.useState)(value || "");
|
|
10962
|
+
const [isPanelOpen, setIsPanelOpen] = (0, import_react32.useState)(false);
|
|
10963
|
+
const [currentDate, setCurrentDate] = (0, import_react32.useState)(tempSelectedDate ? new Date(tempSelectedDate) : /* @__PURE__ */ new Date());
|
|
10964
|
+
const inputWrapperRef = (0, import_react32.useRef)(null);
|
|
10965
|
+
const calendarWrapperRef = (0, import_react32.useRef)(null);
|
|
10966
|
+
const [panelPos, setPanelPos] = (0, import_react32.useState)({ top: -9999, left: -9999 });
|
|
10967
|
+
const blurTimeoutRef = (0, import_react32.useRef)(null);
|
|
10890
10968
|
const formatDate = (dateString) => {
|
|
10891
10969
|
if (!dateString) return "";
|
|
10892
10970
|
const [year, month, day] = dateString.split("-");
|
|
@@ -10899,209 +10977,184 @@ var DatePicker = (0, import_react31.forwardRef)((originalProps, ref) => {
|
|
|
10899
10977
|
return dateString;
|
|
10900
10978
|
}
|
|
10901
10979
|
};
|
|
10902
|
-
const displayValue = (0,
|
|
10903
|
-
|
|
10904
|
-
}, [selectedDate, format]);
|
|
10905
|
-
const calculatePosition = (0, import_react31.useCallback)(() => {
|
|
10980
|
+
const displayValue = (0, import_react32.useMemo)(() => formatDate(selectedDate), [selectedDate, format]);
|
|
10981
|
+
const calculatePosition = (0, import_react32.useCallback)(() => {
|
|
10906
10982
|
if (inputWrapperRef.current) {
|
|
10907
10983
|
const rect = inputWrapperRef.current.getBoundingClientRect();
|
|
10908
10984
|
setPanelPos({ top: rect.bottom + window.scrollY + 6, left: rect.left + window.scrollX });
|
|
10909
10985
|
}
|
|
10910
10986
|
}, []);
|
|
10911
10987
|
const handleFocusInput = () => {
|
|
10988
|
+
if (disabled) return;
|
|
10989
|
+
if (blurTimeoutRef.current) clearTimeout(blurTimeoutRef.current);
|
|
10912
10990
|
calculatePosition();
|
|
10913
10991
|
setIsPanelOpen(true);
|
|
10914
10992
|
};
|
|
10915
|
-
const
|
|
10916
|
-
setTimeout(() => setIsPanelOpen(false),
|
|
10993
|
+
const handleClose = () => {
|
|
10994
|
+
blurTimeoutRef.current = setTimeout(() => setIsPanelOpen(false), 100);
|
|
10917
10995
|
};
|
|
10918
10996
|
const handleInputKeyDown = (e) => {
|
|
10919
|
-
if (
|
|
10997
|
+
if (disabled) return;
|
|
10998
|
+
if (["Enter", " "].includes(e.key)) {
|
|
10920
10999
|
e.preventDefault();
|
|
10921
11000
|
calculatePosition();
|
|
10922
11001
|
setIsPanelOpen((prev) => !prev);
|
|
10923
|
-
} else if (e.key === "Escape")
|
|
10924
|
-
|
|
10925
|
-
|
|
11002
|
+
} else if (e.key === "Escape") setIsPanelOpen(false);
|
|
11003
|
+
};
|
|
11004
|
+
const handleCalendarIconClick = (e) => {
|
|
11005
|
+
e.preventDefault();
|
|
11006
|
+
if (disabled) return;
|
|
11007
|
+
if (blurTimeoutRef.current) clearTimeout(blurTimeoutRef.current);
|
|
11008
|
+
calculatePosition();
|
|
11009
|
+
setIsPanelOpen((prev) => !prev);
|
|
10926
11010
|
};
|
|
10927
|
-
const
|
|
11011
|
+
const handleClearDate = (e) => {
|
|
11012
|
+
e.preventDefault();
|
|
11013
|
+
setTempSelectedDate("");
|
|
11014
|
+
};
|
|
11015
|
+
const handleCalendarMouseDown = (e) => {
|
|
11016
|
+
e.preventDefault();
|
|
11017
|
+
if (blurTimeoutRef.current) clearTimeout(blurTimeoutRef.current);
|
|
11018
|
+
};
|
|
11019
|
+
const getCalendarDates = (0, import_react32.useCallback)(() => {
|
|
10928
11020
|
const year = currentDate.getFullYear();
|
|
10929
11021
|
const month = currentDate.getMonth();
|
|
10930
11022
|
const firstDayOfMonth = new Date(year, month, 1).getDay();
|
|
10931
11023
|
const lastDateOfMonth = new Date(year, month + 1, 0).getDate();
|
|
10932
11024
|
const lastDateOfPrevMonth = new Date(year, month, 0).getDate();
|
|
10933
11025
|
let dates = [];
|
|
10934
|
-
for (let i = firstDayOfMonth - 1; i >= 0; i--) {
|
|
10935
|
-
|
|
10936
|
-
date: lastDateOfPrevMonth - i,
|
|
10937
|
-
currentMonth: false
|
|
10938
|
-
});
|
|
10939
|
-
}
|
|
10940
|
-
for (let date = 1; date <= lastDateOfMonth; date++) {
|
|
10941
|
-
dates.push({
|
|
10942
|
-
date,
|
|
10943
|
-
currentMonth: true
|
|
10944
|
-
});
|
|
10945
|
-
}
|
|
11026
|
+
for (let i = firstDayOfMonth - 1; i >= 0; i--) dates.push({ date: lastDateOfPrevMonth - i, currentMonth: false });
|
|
11027
|
+
for (let date = 1; date <= lastDateOfMonth; date++) dates.push({ date, currentMonth: true });
|
|
10946
11028
|
const remainingDays = 42 - dates.length;
|
|
10947
|
-
for (let i = 1; i <= remainingDays; i++) {
|
|
10948
|
-
dates.push({
|
|
10949
|
-
date: i,
|
|
10950
|
-
currentMonth: false
|
|
10951
|
-
});
|
|
10952
|
-
}
|
|
11029
|
+
for (let i = 1; i <= remainingDays; i++) dates.push({ date: i, currentMonth: false });
|
|
10953
11030
|
const weeks = [];
|
|
10954
|
-
for (let i = 0; i < dates.length; i += 7)
|
|
10955
|
-
weeks.push(dates.slice(i, i + 7));
|
|
10956
|
-
}
|
|
11031
|
+
for (let i = 0; i < dates.length; i += 7) weeks.push(dates.slice(i, i + 7));
|
|
10957
11032
|
return weeks;
|
|
10958
11033
|
}, [currentDate]);
|
|
10959
|
-
const handlePrevMonth = () =>
|
|
10960
|
-
|
|
10961
|
-
};
|
|
10962
|
-
const handleNextMonth = () => {
|
|
10963
|
-
setCurrentDate(new Date(currentDate.getFullYear(), currentDate.getMonth() + 1));
|
|
10964
|
-
};
|
|
11034
|
+
const handlePrevMonth = () => setCurrentDate(new Date(currentDate.getFullYear(), currentDate.getMonth() - 1));
|
|
11035
|
+
const handleNextMonth = () => setCurrentDate(new Date(currentDate.getFullYear(), currentDate.getMonth() + 1));
|
|
10965
11036
|
const handleDateSelect = (date, isCurrentMonth) => {
|
|
10966
11037
|
if (!isCurrentMonth) return;
|
|
10967
11038
|
const selected = new Date(currentDate.getFullYear(), currentDate.getMonth(), date);
|
|
10968
11039
|
const formatted = formatDateToString(selected);
|
|
10969
|
-
|
|
10970
|
-
|
|
11040
|
+
setTempSelectedDate(formatted);
|
|
11041
|
+
};
|
|
11042
|
+
const handleSetToday = () => {
|
|
11043
|
+
const today = /* @__PURE__ */ new Date();
|
|
11044
|
+
const formatted = formatDateToString(today);
|
|
11045
|
+
setCurrentDate(today);
|
|
11046
|
+
setTempSelectedDate(formatted);
|
|
11047
|
+
};
|
|
11048
|
+
const handleConfirmDate = () => {
|
|
11049
|
+
setSelectedDate(tempSelectedDate);
|
|
11050
|
+
onChange == null ? void 0 : onChange(tempSelectedDate);
|
|
10971
11051
|
setIsPanelOpen(false);
|
|
10972
11052
|
};
|
|
10973
|
-
const
|
|
10974
|
-
|
|
10975
|
-
|
|
11053
|
+
const handleResetDate = () => {
|
|
11054
|
+
setTempSelectedDate(selectedDate);
|
|
11055
|
+
setIsPanelOpen(false);
|
|
10976
11056
|
};
|
|
10977
|
-
const
|
|
10978
|
-
const getDateTitleProps = (0, import_react31.useCallback)(
|
|
10979
|
-
(index) => {
|
|
10980
|
-
return {
|
|
10981
|
-
className: clsx(
|
|
10982
|
-
"text-sm font-[500]",
|
|
10983
|
-
highlightWeekend && index === 6 && "text-[#1E7EEE]",
|
|
10984
|
-
highlightWeekend && index === 0 && "text-[#FF4684]"
|
|
10985
|
-
)
|
|
10986
|
-
};
|
|
10987
|
-
},
|
|
10988
|
-
[highlightWeekend]
|
|
10989
|
-
);
|
|
10990
|
-
const getDateProps = (0, import_react31.useCallback)(
|
|
11057
|
+
const getDayProps = (0, import_react32.useCallback)(
|
|
10991
11058
|
(dateObj) => {
|
|
10992
11059
|
const today = /* @__PURE__ */ new Date();
|
|
10993
11060
|
const isToday = today.getDate() === dateObj.date && today.getMonth() === currentDate.getMonth() && today.getFullYear() === currentDate.getFullYear();
|
|
10994
|
-
const formatted =
|
|
10995
|
-
const isSelected = formatted ? formatted.getDate() === dateObj.date && formatted.getMonth() === currentDate.getMonth() && formatted.getFullYear() === currentDate.getFullYear()
|
|
10996
|
-
|
|
10997
|
-
return {
|
|
10998
|
-
className: clsx(
|
|
10999
|
-
"flex justify-center items-center h-[25px] text-sm rounded-full cursor-pointer hover:bg-neutral-light",
|
|
11000
|
-
dateObj.currentMonth && isToday && "border border-foreground",
|
|
11001
|
-
dateObj.currentMonth && isSelected && "!text-white border-none",
|
|
11002
|
-
calendarColor === "primary" && dateObj.currentMonth && isSelected && "!border-primary-main bg-primary-main",
|
|
11003
|
-
calendarColor === "secondary" && dateObj.currentMonth && isSelected && "!border-secondary-main bg-secondary-main",
|
|
11004
|
-
highlightWeekend && dayOfWeek === 6 && "text-neutral-main",
|
|
11005
|
-
highlightWeekend && dayOfWeek === 6 && isToday && "!border-neutral-light",
|
|
11006
|
-
highlightWeekend && dayOfWeek === 0 && "text-danger-main",
|
|
11007
|
-
highlightWeekend && dayOfWeek === 0 && isToday && "!border-danger-light",
|
|
11008
|
-
!dateObj.currentMonth && "!text-neutral-main cursor-default hover:bg-transparent"
|
|
11009
|
-
),
|
|
11010
|
-
onClick: () => handleDateSelect(dateObj.date, dateObj.currentMonth)
|
|
11011
|
-
};
|
|
11061
|
+
const formatted = tempSelectedDate ? formatStringToDate(tempSelectedDate) : null;
|
|
11062
|
+
const isSelected = (formatted == null ? void 0 : formatted.getDate()) === dateObj.date && formatted.getMonth() === currentDate.getMonth() && formatted.getFullYear() === currentDate.getFullYear();
|
|
11063
|
+
return dateObj.currentMonth && isSelected ? "selected" : dateObj.currentMonth && isToday ? "today" : !dateObj.currentMonth ? "disabled" : "default";
|
|
11012
11064
|
},
|
|
11013
|
-
[
|
|
11065
|
+
[tempSelectedDate, currentDate]
|
|
11014
11066
|
);
|
|
11015
|
-
|
|
11016
|
-
|
|
11017
|
-
|
|
11018
|
-
|
|
11019
|
-
if (value) {
|
|
11020
|
-
setCurrentDate(new Date(value));
|
|
11021
|
-
}
|
|
11022
|
-
}
|
|
11067
|
+
(0, import_react32.useEffect)(() => {
|
|
11068
|
+
setSelectedDate(value || "");
|
|
11069
|
+
setTempSelectedDate(value || "");
|
|
11070
|
+
if (value) setCurrentDate(new Date(value));
|
|
11023
11071
|
}, [value]);
|
|
11024
|
-
(0,
|
|
11025
|
-
|
|
11026
|
-
|
|
11027
|
-
}
|
|
11028
|
-
|
|
11029
|
-
|
|
11030
|
-
|
|
11031
|
-
|
|
11032
|
-
|
|
11033
|
-
|
|
11034
|
-
|
|
11035
|
-
|
|
11036
|
-
|
|
11037
|
-
|
|
11038
|
-
|
|
11039
|
-
|
|
11040
|
-
|
|
11041
|
-
|
|
11042
|
-
|
|
11043
|
-
|
|
11044
|
-
|
|
11045
|
-
|
|
11046
|
-
|
|
11047
|
-
|
|
11048
|
-
|
|
11049
|
-
|
|
11050
|
-
|
|
11051
|
-
|
|
11052
|
-
|
|
11053
|
-
|
|
11054
|
-
|
|
11055
|
-
|
|
11056
|
-
|
|
11057
|
-
|
|
11058
|
-
}
|
|
11059
|
-
}
|
|
11060
|
-
),
|
|
11061
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
11062
|
-
Icon_default,
|
|
11063
|
-
{
|
|
11064
|
-
name: "calendar",
|
|
11065
|
-
className: "cursor-pointer",
|
|
11066
|
-
fill: true,
|
|
11067
|
-
onClick: () => {
|
|
11068
|
-
calculatePosition();
|
|
11069
|
-
setIsPanelOpen((v) => !v);
|
|
11070
|
-
}
|
|
11071
|
-
}
|
|
11072
|
-
)
|
|
11073
|
-
] })
|
|
11074
|
-
] }),
|
|
11075
|
-
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: clsx("error", slots.errorMessage({ class: classNames == null ? void 0 : classNames.errorMessage })), children: errorMessage })
|
|
11076
|
-
] })
|
|
11077
|
-
] }),
|
|
11072
|
+
const slots = (0, import_react32.useMemo)(() => datePickerStyle({ ...variantProps }), [variantProps]);
|
|
11073
|
+
const endContent = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon_default, { name: "calendar", size, className: "cursor-pointer", fill: true, onClick: handleCalendarIconClick });
|
|
11074
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
|
|
11075
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { ref: inputWrapperRef, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), onClick: handleFocusInput, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
11076
|
+
input_default,
|
|
11077
|
+
{
|
|
11078
|
+
...inputProps,
|
|
11079
|
+
ref,
|
|
11080
|
+
label,
|
|
11081
|
+
value: displayValue,
|
|
11082
|
+
placeholder,
|
|
11083
|
+
errorMessage,
|
|
11084
|
+
helperMessage,
|
|
11085
|
+
size,
|
|
11086
|
+
variant,
|
|
11087
|
+
color,
|
|
11088
|
+
full,
|
|
11089
|
+
disabled,
|
|
11090
|
+
endContent,
|
|
11091
|
+
onFocus: handleFocusInput,
|
|
11092
|
+
onBlur: handleClose,
|
|
11093
|
+
onKeyDown: handleInputKeyDown,
|
|
11094
|
+
onChange: () => {
|
|
11095
|
+
},
|
|
11096
|
+
classNames: {
|
|
11097
|
+
base: classNames == null ? void 0 : classNames.inputBase,
|
|
11098
|
+
inputWrapper: classNames == null ? void 0 : classNames.inputWrapper,
|
|
11099
|
+
input: classNames == null ? void 0 : classNames.input,
|
|
11100
|
+
label: classNames == null ? void 0 : classNames.label,
|
|
11101
|
+
errorMessage: classNames == null ? void 0 : classNames.errorMessage,
|
|
11102
|
+
helperMessage: classNames == null ? void 0 : classNames.helperMessage
|
|
11103
|
+
}
|
|
11104
|
+
}
|
|
11105
|
+
) }),
|
|
11078
11106
|
isPanelOpen && (0, import_react_dom5.createPortal)(
|
|
11079
|
-
/* @__PURE__ */ (0,
|
|
11107
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
11080
11108
|
"div",
|
|
11081
11109
|
{
|
|
11082
|
-
ref:
|
|
11083
|
-
className: slots.
|
|
11084
|
-
style: {
|
|
11085
|
-
|
|
11086
|
-
top: panelPos.top,
|
|
11087
|
-
left: panelPos.left,
|
|
11088
|
-
zIndex: 1e3
|
|
11089
|
-
},
|
|
11090
|
-
onMouseDown: (e) => e.preventDefault(),
|
|
11110
|
+
ref: calendarWrapperRef,
|
|
11111
|
+
className: slots.calendarWrapper({ class: classNames == null ? void 0 : classNames.calendarWrapper }),
|
|
11112
|
+
style: { position: "absolute", top: panelPos.top, left: panelPos.left, zIndex: 1e3 },
|
|
11113
|
+
onMouseDown: handleCalendarMouseDown,
|
|
11091
11114
|
children: [
|
|
11092
|
-
/* @__PURE__ */ (0,
|
|
11093
|
-
/* @__PURE__ */ (0,
|
|
11094
|
-
/* @__PURE__ */ (0,
|
|
11095
|
-
/* @__PURE__ */ (0,
|
|
11115
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: slots.calendarHead({ class: classNames == null ? void 0 : classNames.calendarHead }), children: [
|
|
11116
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(icon_button_default, { name: "left", variant: "soft", color: "neutral", onClick: handlePrevMonth }),
|
|
11117
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-xl font-extrabold", children: monthYearFormat(currentDate.getFullYear(), currentDate.getMonth()) }),
|
|
11118
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(icon_button_default, { name: "right", variant: "soft", color: "neutral", onClick: handleNextMonth })
|
|
11119
|
+
] }),
|
|
11120
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "grid grid-cols-7", children: daysOfWeek.map((day, index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(day_default, { variant: "text", children: day }, `${day}-${index}`)) }),
|
|
11121
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "grid grid-cols-7 gap-[5px] text-center", children: getCalendarDates().map((week, weekIndex) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react32.Fragment, { children: week.map((dateObj, index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
11122
|
+
day_default,
|
|
11123
|
+
{
|
|
11124
|
+
variant: getDayProps(dateObj),
|
|
11125
|
+
onClick: () => handleDateSelect(dateObj.date, dateObj.currentMonth),
|
|
11126
|
+
children: dateObj.date
|
|
11127
|
+
},
|
|
11128
|
+
index
|
|
11129
|
+
)) }, weekIndex)) }),
|
|
11130
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex justify-between px-[10px]", children: [
|
|
11131
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
11132
|
+
text_button_default,
|
|
11133
|
+
{
|
|
11134
|
+
variant: "underline",
|
|
11135
|
+
color: "neutral",
|
|
11136
|
+
size: "sm",
|
|
11137
|
+
classNames: { base: "font-bold" },
|
|
11138
|
+
onClick: handleClearDate,
|
|
11139
|
+
children: resetTitle
|
|
11140
|
+
}
|
|
11141
|
+
),
|
|
11142
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(text_button_default, { variant: "underline", size: "sm", classNames: { base: "font-bold" }, onClick: handleSetToday, children: todayTitle })
|
|
11096
11143
|
] }),
|
|
11097
|
-
/* @__PURE__ */ (0,
|
|
11098
|
-
|
|
11099
|
-
|
|
11100
|
-
|
|
11101
|
-
|
|
11102
|
-
|
|
11103
|
-
|
|
11104
|
-
|
|
11144
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex gap-[10px]", children: [
|
|
11145
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
11146
|
+
button_default,
|
|
11147
|
+
{
|
|
11148
|
+
variant: "soft",
|
|
11149
|
+
color: "neutral",
|
|
11150
|
+
size: "sm",
|
|
11151
|
+
classNames: { base: "flex flex-1" },
|
|
11152
|
+
onClick: handleResetDate,
|
|
11153
|
+
children: cancelTitle
|
|
11154
|
+
}
|
|
11155
|
+
),
|
|
11156
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(button_default, { size: "sm", classNames: { base: "flex flex-1" }, onClick: handleConfirmDate, children: confirmTitle })
|
|
11157
|
+
] })
|
|
11105
11158
|
]
|
|
11106
11159
|
}
|
|
11107
11160
|
),
|
|
@@ -11113,129 +11166,32 @@ DatePicker.displayName = "DatePicker";
|
|
|
11113
11166
|
var datePicker_default = DatePicker;
|
|
11114
11167
|
var datePickerStyle = tv({
|
|
11115
11168
|
slots: {
|
|
11116
|
-
base: ["group/datepicker", "flex", "flex-col"],
|
|
11117
|
-
|
|
11118
|
-
wrapper: ["flex", "flex-col"],
|
|
11119
|
-
inputWrapper: [
|
|
11120
|
-
"flex",
|
|
11121
|
-
"items-center",
|
|
11122
|
-
"justify-between",
|
|
11123
|
-
"border",
|
|
11124
|
-
"cursor-pointer",
|
|
11125
|
-
"text-neutral-main",
|
|
11126
|
-
"group-has-[p.error]/datepicker:border-danger-main",
|
|
11127
|
-
"group-has-[p.error]/datepicker:bg-danger-soft",
|
|
11128
|
-
"group-has-[p.error]/datepicker:text-danger-main",
|
|
11129
|
-
"group-has-[p.error]/datepicker:hover:bg-danger-soft"
|
|
11130
|
-
],
|
|
11131
|
-
input: [
|
|
11132
|
-
"bg-transparent",
|
|
11133
|
-
"w-full",
|
|
11134
|
-
"outline-none",
|
|
11135
|
-
"placeholder:text-neutral-main",
|
|
11136
|
-
"text-body-foreground",
|
|
11137
|
-
"group-has-[p.error]/datepicker:text-danger-main",
|
|
11138
|
-
"group-has-[p.error]/datepicker:placeholder:text-danger-main",
|
|
11139
|
-
"cursor-pointer"
|
|
11140
|
-
],
|
|
11141
|
-
icon: [
|
|
11142
|
-
"flex",
|
|
11143
|
-
"items-center",
|
|
11144
|
-
"select-none",
|
|
11145
|
-
"text-body-foreground",
|
|
11146
|
-
"group-has-[p.error]/datepicker:text-danger-main"
|
|
11147
|
-
],
|
|
11148
|
-
optionsWrapper: [
|
|
11169
|
+
base: ["group/datepicker", "flex", "flex-col", "cursor-pointer"],
|
|
11170
|
+
calendarWrapper: [
|
|
11149
11171
|
"flex",
|
|
11150
11172
|
"flex-col",
|
|
11151
|
-
"
|
|
11152
|
-
"rounded-md",
|
|
11173
|
+
"rounded-xl",
|
|
11153
11174
|
"bg-body-background",
|
|
11154
|
-
"shadow-
|
|
11175
|
+
"shadow-drop-xl",
|
|
11176
|
+
"gap-[5px]",
|
|
11155
11177
|
"overflow-auto",
|
|
11156
|
-
"w-[
|
|
11178
|
+
"w-[300px]",
|
|
11157
11179
|
"select-none",
|
|
11158
11180
|
"p-[10px]"
|
|
11159
11181
|
],
|
|
11160
|
-
|
|
11182
|
+
calendarHead: ["calendar-header", "flex", "items-center", "justify-between", "h-[40px]"],
|
|
11183
|
+
inputBase: [],
|
|
11184
|
+
inputWrapper: [],
|
|
11185
|
+
input: [],
|
|
11186
|
+
label: [],
|
|
11187
|
+
errorMessage: [],
|
|
11188
|
+
helperMessage: []
|
|
11161
11189
|
},
|
|
11162
11190
|
variants: {
|
|
11163
|
-
color: {
|
|
11164
|
-
|
|
11165
|
-
|
|
11166
|
-
|
|
11167
|
-
secondary: {
|
|
11168
|
-
icon: ["text-secondary-main"]
|
|
11169
|
-
}
|
|
11170
|
-
},
|
|
11171
|
-
size: {
|
|
11172
|
-
sm: {
|
|
11173
|
-
base: ["text-sm", "gap-[4px]"],
|
|
11174
|
-
label: ["text-sm"],
|
|
11175
|
-
wrapper: ["gap-[4px]"],
|
|
11176
|
-
inputWrapper: ["w-[240px]", "h-[24px]", "rounded-sm", "px-[4px]"],
|
|
11177
|
-
input: ["text-sm"],
|
|
11178
|
-
icon: ["text-sm"],
|
|
11179
|
-
errorMessage: ["text-sm"]
|
|
11180
|
-
},
|
|
11181
|
-
md: {
|
|
11182
|
-
base: ["text-md", "gap-[6px]"],
|
|
11183
|
-
label: ["text-md"],
|
|
11184
|
-
wrapper: ["gap-[6px]"],
|
|
11185
|
-
inputWrapper: ["w-[240px]", "h-[32px]", "rounded-md", "px-[6px]"],
|
|
11186
|
-
input: ["text-md"],
|
|
11187
|
-
icon: ["text-md"],
|
|
11188
|
-
errorMessage: ["text-sm"]
|
|
11189
|
-
},
|
|
11190
|
-
lg: {
|
|
11191
|
-
base: ["text-lg", "gap-[8px]"],
|
|
11192
|
-
label: ["text-lg"],
|
|
11193
|
-
wrapper: ["gap-[8px]"],
|
|
11194
|
-
inputWrapper: ["w-[240px]", "h-[40px]", "rounded-lg", "px-[8px]"],
|
|
11195
|
-
input: ["text-lg"],
|
|
11196
|
-
icon: ["text-lg"],
|
|
11197
|
-
errorMessage: ["text-md"]
|
|
11198
|
-
},
|
|
11199
|
-
xl: {
|
|
11200
|
-
base: ["text-xl", "gap-[10px]"],
|
|
11201
|
-
label: ["text-xl"],
|
|
11202
|
-
wrapper: ["gap-[10px]"],
|
|
11203
|
-
inputWrapper: ["w-[240px]", "h-[50px]", "rounded-lg", "px-[10px]"],
|
|
11204
|
-
input: ["text-xl"],
|
|
11205
|
-
icon: ["text-xl"],
|
|
11206
|
-
errorMessage: ["text-md"]
|
|
11207
|
-
}
|
|
11208
|
-
},
|
|
11209
|
-
full: {
|
|
11210
|
-
true: {
|
|
11211
|
-
base: ["w-full"],
|
|
11212
|
-
wrapper: ["w-full"],
|
|
11213
|
-
inputWrapper: ["w-full"]
|
|
11214
|
-
}
|
|
11215
|
-
},
|
|
11216
|
-
disabled: {
|
|
11217
|
-
true: {
|
|
11218
|
-
base: ["pointer-events-none"],
|
|
11219
|
-
label: ["text-neutral-light"],
|
|
11220
|
-
inputWrapper: [
|
|
11221
|
-
"bg-neutral-soft",
|
|
11222
|
-
"border-neutral-light",
|
|
11223
|
-
"group-has-[p.error]/datepicker:text-danger-light",
|
|
11224
|
-
"group-has-[p.error]/datepicker:bg-danger-soft",
|
|
11225
|
-
"group-has-[p.error]/datepicker:border-danger-light",
|
|
11226
|
-
"cursor-not-allowed"
|
|
11227
|
-
],
|
|
11228
|
-
input: [
|
|
11229
|
-
"text-neutral-light",
|
|
11230
|
-
"placeholder:text-neutral-light",
|
|
11231
|
-
"group-has-[p.error]/datepicker:text-danger-light",
|
|
11232
|
-
"group-has-[p.error]/datepicker:placeholder:text-danger-light",
|
|
11233
|
-
"cursor-not-allowed"
|
|
11234
|
-
],
|
|
11235
|
-
icon: ["text-neutral-light"],
|
|
11236
|
-
errorMessage: ["text-danger-light"]
|
|
11237
|
-
}
|
|
11238
|
-
}
|
|
11191
|
+
color: { primary: {}, secondary: {} },
|
|
11192
|
+
size: { sm: {}, md: {}, lg: {}, xl: {} },
|
|
11193
|
+
full: { true: { base: ["w-full"] } },
|
|
11194
|
+
disabled: { true: { base: ["pointer-events-none"] } }
|
|
11239
11195
|
},
|
|
11240
11196
|
defaultVariants: {
|
|
11241
11197
|
color: "primary",
|
|
@@ -11246,10 +11202,10 @@ var datePickerStyle = tv({
|
|
|
11246
11202
|
});
|
|
11247
11203
|
|
|
11248
11204
|
// src/components/picker/timePicker.tsx
|
|
11249
|
-
var
|
|
11205
|
+
var import_react33 = require("react");
|
|
11250
11206
|
var import_react_dom6 = require("react-dom");
|
|
11251
|
-
var
|
|
11252
|
-
var TimePicker = (0,
|
|
11207
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
11208
|
+
var TimePicker = (0, import_react33.forwardRef)((originalProps, ref) => {
|
|
11253
11209
|
const [props, variantProps] = mapPropsVariants(originalProps, timePickerStyle.variantKeys);
|
|
11254
11210
|
const {
|
|
11255
11211
|
classNames,
|
|
@@ -11262,20 +11218,20 @@ var TimePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
|
11262
11218
|
placeholder = "",
|
|
11263
11219
|
...inputProps
|
|
11264
11220
|
} = props;
|
|
11265
|
-
const [selectedRange, setSelectedRange] = (0,
|
|
11221
|
+
const [selectedRange, setSelectedRange] = (0, import_react33.useState)(
|
|
11266
11222
|
valueRange || { start: "", end: "" }
|
|
11267
11223
|
);
|
|
11268
|
-
const [isPanelOpen, setIsPanelOpen] = (0,
|
|
11269
|
-
const inputWrapperRef = (0,
|
|
11270
|
-
const panelWrapperRef = (0,
|
|
11271
|
-
const [panelPos, setPanelPos] = (0,
|
|
11272
|
-
const displayValue = (0,
|
|
11224
|
+
const [isPanelOpen, setIsPanelOpen] = (0, import_react33.useState)(false);
|
|
11225
|
+
const inputWrapperRef = (0, import_react33.useRef)(null);
|
|
11226
|
+
const panelWrapperRef = (0, import_react33.useRef)(null);
|
|
11227
|
+
const [panelPos, setPanelPos] = (0, import_react33.useState)({ top: -9999, left: -9999 });
|
|
11228
|
+
const displayValue = (0, import_react33.useMemo)(() => {
|
|
11273
11229
|
if (selectedRange.start && selectedRange.end) {
|
|
11274
11230
|
return `${selectedRange.start} ~ ${selectedRange.end}`;
|
|
11275
11231
|
}
|
|
11276
11232
|
return "";
|
|
11277
11233
|
}, [selectedRange]);
|
|
11278
|
-
const calculatePosition = (0,
|
|
11234
|
+
const calculatePosition = (0, import_react33.useCallback)(() => {
|
|
11279
11235
|
if (inputWrapperRef.current) {
|
|
11280
11236
|
const rect = inputWrapperRef.current.getBoundingClientRect();
|
|
11281
11237
|
setPanelPos({ top: rect.bottom + window.scrollY + 6, left: rect.left + window.scrollX });
|
|
@@ -11297,7 +11253,7 @@ var TimePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
|
11297
11253
|
setIsPanelOpen(false);
|
|
11298
11254
|
}
|
|
11299
11255
|
};
|
|
11300
|
-
const slots = (0,
|
|
11256
|
+
const slots = (0, import_react33.useMemo)(() => timePickerStyle({ ...variantProps }), [variantProps]);
|
|
11301
11257
|
const renderHourOptions = () => {
|
|
11302
11258
|
return Array.from({ length: 24 }, (_, i) => {
|
|
11303
11259
|
const value = String(i).padStart(2, "0");
|
|
@@ -11342,12 +11298,12 @@ var TimePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
|
11342
11298
|
setSelectedRange(emptyRange);
|
|
11343
11299
|
onChangeRange == null ? void 0 : onChangeRange(emptyRange);
|
|
11344
11300
|
};
|
|
11345
|
-
return /* @__PURE__ */ (0,
|
|
11346
|
-
/* @__PURE__ */ (0,
|
|
11347
|
-
label && /* @__PURE__ */ (0,
|
|
11348
|
-
/* @__PURE__ */ (0,
|
|
11349
|
-
/* @__PURE__ */ (0,
|
|
11350
|
-
/* @__PURE__ */ (0,
|
|
11301
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
|
|
11302
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
11303
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("label", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label }),
|
|
11304
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: slots.wrapper({ class: classNames == null ? void 0 : classNames.wrapper }), children: [
|
|
11305
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { ref: inputWrapperRef, className: slots.inputWrapper({ class: classNames == null ? void 0 : classNames.inputWrapper }), children: [
|
|
11306
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
11351
11307
|
"input",
|
|
11352
11308
|
{
|
|
11353
11309
|
...inputProps,
|
|
@@ -11362,8 +11318,8 @@ var TimePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
|
11362
11318
|
onKeyDown: handleInputKeyDown
|
|
11363
11319
|
}
|
|
11364
11320
|
),
|
|
11365
|
-
/* @__PURE__ */ (0,
|
|
11366
|
-
displayValue && /* @__PURE__ */ (0,
|
|
11321
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: slots.icon({ class: classNames == null ? void 0 : classNames.icon }), children: [
|
|
11322
|
+
displayValue && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
11367
11323
|
Icon_default,
|
|
11368
11324
|
{
|
|
11369
11325
|
name: "close",
|
|
@@ -11374,7 +11330,7 @@ var TimePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
|
11374
11330
|
}
|
|
11375
11331
|
}
|
|
11376
11332
|
),
|
|
11377
|
-
/* @__PURE__ */ (0,
|
|
11333
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
11378
11334
|
Icon_default,
|
|
11379
11335
|
{
|
|
11380
11336
|
name: "clock",
|
|
@@ -11387,11 +11343,11 @@ var TimePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
|
11387
11343
|
)
|
|
11388
11344
|
] })
|
|
11389
11345
|
] }),
|
|
11390
|
-
errorMessage && /* @__PURE__ */ (0,
|
|
11346
|
+
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: clsx("error", slots.errorMessage({ class: classNames == null ? void 0 : classNames.errorMessage })), children: errorMessage })
|
|
11391
11347
|
] })
|
|
11392
11348
|
] }),
|
|
11393
11349
|
isPanelOpen && (0, import_react_dom6.createPortal)(
|
|
11394
|
-
/* @__PURE__ */ (0,
|
|
11350
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
11395
11351
|
"div",
|
|
11396
11352
|
{
|
|
11397
11353
|
ref: panelWrapperRef,
|
|
@@ -11403,9 +11359,9 @@ var TimePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
|
11403
11359
|
zIndex: 1e3
|
|
11404
11360
|
},
|
|
11405
11361
|
onMouseDown: (e) => e.preventDefault(),
|
|
11406
|
-
children: /* @__PURE__ */ (0,
|
|
11407
|
-
/* @__PURE__ */ (0,
|
|
11408
|
-
/* @__PURE__ */ (0,
|
|
11362
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "bg-body-background text-neutral-main flex items-center gap-[5px] p-[10px]", children: [
|
|
11363
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center gap-[5px]", children: [
|
|
11364
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
11409
11365
|
select_default,
|
|
11410
11366
|
{
|
|
11411
11367
|
options: renderHourOptions(),
|
|
@@ -11416,8 +11372,8 @@ var TimePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
|
11416
11372
|
classNames: mergedSelectClassNames
|
|
11417
11373
|
}
|
|
11418
11374
|
),
|
|
11419
|
-
/* @__PURE__ */ (0,
|
|
11420
|
-
/* @__PURE__ */ (0,
|
|
11375
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { children: ":" }),
|
|
11376
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
11421
11377
|
select_default,
|
|
11422
11378
|
{
|
|
11423
11379
|
options: renderMinuteOptions(),
|
|
@@ -11429,9 +11385,9 @@ var TimePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
|
11429
11385
|
}
|
|
11430
11386
|
)
|
|
11431
11387
|
] }),
|
|
11432
|
-
/* @__PURE__ */ (0,
|
|
11433
|
-
/* @__PURE__ */ (0,
|
|
11434
|
-
/* @__PURE__ */ (0,
|
|
11388
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { children: "~" }),
|
|
11389
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center gap-[5px]", children: [
|
|
11390
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
11435
11391
|
select_default,
|
|
11436
11392
|
{
|
|
11437
11393
|
options: renderHourOptions(),
|
|
@@ -11442,8 +11398,8 @@ var TimePicker = (0, import_react32.forwardRef)((originalProps, ref) => {
|
|
|
11442
11398
|
classNames: mergedSelectClassNames
|
|
11443
11399
|
}
|
|
11444
11400
|
),
|
|
11445
|
-
/* @__PURE__ */ (0,
|
|
11446
|
-
/* @__PURE__ */ (0,
|
|
11401
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { children: ":" }),
|
|
11402
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
11447
11403
|
select_default,
|
|
11448
11404
|
{
|
|
11449
11405
|
options: renderMinuteOptions(),
|
|
@@ -11590,19 +11546,19 @@ var timePickerStyle = tv({
|
|
|
11590
11546
|
});
|
|
11591
11547
|
|
|
11592
11548
|
// src/components/tree/tree.tsx
|
|
11593
|
-
var
|
|
11594
|
-
var
|
|
11595
|
-
var TreeNodeItem = (0,
|
|
11549
|
+
var import_react34 = require("react");
|
|
11550
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
11551
|
+
var TreeNodeItem = (0, import_react34.forwardRef)(
|
|
11596
11552
|
({ node, depth, fileIcon, selectedName, classNames, onExpand }, ref) => {
|
|
11597
|
-
const [isOpen, setIsOpen] = (0,
|
|
11598
|
-
const [children, setChildren] = (0,
|
|
11599
|
-
const slots = (0,
|
|
11600
|
-
const hasMore = (0,
|
|
11553
|
+
const [isOpen, setIsOpen] = (0, import_react34.useState)(false);
|
|
11554
|
+
const [children, setChildren] = (0, import_react34.useState)(node.children);
|
|
11555
|
+
const slots = (0, import_react34.useMemo)(() => treeStyle(), []);
|
|
11556
|
+
const hasMore = (0, import_react34.useMemo)(() => {
|
|
11601
11557
|
if (node.isLeaf) return false;
|
|
11602
11558
|
if (Array.isArray(children)) return children.length > 0;
|
|
11603
11559
|
return typeof onExpand === "function";
|
|
11604
11560
|
}, [node.isLeaf, children, onExpand]);
|
|
11605
|
-
const toggleOpen = (0,
|
|
11561
|
+
const toggleOpen = (0, import_react34.useCallback)(async () => {
|
|
11606
11562
|
if (!isOpen && !children && onExpand && !node.isLeaf) {
|
|
11607
11563
|
try {
|
|
11608
11564
|
const result = await onExpand(node);
|
|
@@ -11624,7 +11580,7 @@ var TreeNodeItem = (0, import_react33.forwardRef)(
|
|
|
11624
11580
|
e.preventDefault();
|
|
11625
11581
|
(_a = node.onRightClick) == null ? void 0 : _a.call(node, e);
|
|
11626
11582
|
};
|
|
11627
|
-
return /* @__PURE__ */ (0,
|
|
11583
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
11628
11584
|
"div",
|
|
11629
11585
|
{
|
|
11630
11586
|
ref,
|
|
@@ -11633,7 +11589,7 @@ var TreeNodeItem = (0, import_react33.forwardRef)(
|
|
|
11633
11589
|
slots.gap({ class: classNames == null ? void 0 : classNames.gap })
|
|
11634
11590
|
),
|
|
11635
11591
|
children: [
|
|
11636
|
-
/* @__PURE__ */ (0,
|
|
11592
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
11637
11593
|
"div",
|
|
11638
11594
|
{
|
|
11639
11595
|
className: clsx(
|
|
@@ -11644,7 +11600,7 @@ var TreeNodeItem = (0, import_react33.forwardRef)(
|
|
|
11644
11600
|
onClick: handleClick,
|
|
11645
11601
|
onContextMenu: handleRightClick,
|
|
11646
11602
|
children: [
|
|
11647
|
-
hasMore && /* @__PURE__ */ (0,
|
|
11603
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
11648
11604
|
Icon_default,
|
|
11649
11605
|
{
|
|
11650
11606
|
name: "right-chevron",
|
|
@@ -11659,7 +11615,7 @@ var TreeNodeItem = (0, import_react33.forwardRef)(
|
|
|
11659
11615
|
]
|
|
11660
11616
|
}
|
|
11661
11617
|
),
|
|
11662
|
-
isOpen && hasMore && /* @__PURE__ */ (0,
|
|
11618
|
+
isOpen && hasMore && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: slots.gap({ class: classNames == null ? void 0 : classNames.gap }), children: children == null ? void 0 : children.map((child) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
11663
11619
|
TreeNodeItem,
|
|
11664
11620
|
{
|
|
11665
11621
|
node: child,
|
|
@@ -11678,7 +11634,7 @@ var TreeNodeItem = (0, import_react33.forwardRef)(
|
|
|
11678
11634
|
);
|
|
11679
11635
|
TreeNodeItem.displayName = "TreeNodeItem";
|
|
11680
11636
|
var Tree = ({ headerContent, group, groupIcon, fileIcon, selectedName, classNames, onExpand }) => {
|
|
11681
|
-
const slots = (0,
|
|
11637
|
+
const slots = (0, import_react34.useMemo)(() => treeStyle(), []);
|
|
11682
11638
|
const handleClick = (e) => {
|
|
11683
11639
|
var _a;
|
|
11684
11640
|
(_a = group.onClick) == null ? void 0 : _a.call(group, e);
|
|
@@ -11688,10 +11644,10 @@ var Tree = ({ headerContent, group, groupIcon, fileIcon, selectedName, className
|
|
|
11688
11644
|
e.preventDefault();
|
|
11689
11645
|
(_a = group.onRightClick) == null ? void 0 : _a.call(group, e);
|
|
11690
11646
|
};
|
|
11691
|
-
return /* @__PURE__ */ (0,
|
|
11692
|
-
headerContent && /* @__PURE__ */ (0,
|
|
11693
|
-
/* @__PURE__ */ (0,
|
|
11694
|
-
/* @__PURE__ */ (0,
|
|
11647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
11648
|
+
headerContent && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { children: headerContent }),
|
|
11649
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: slots.wrapper({ class: classNames == null ? void 0 : classNames.wrapper }), children: [
|
|
11650
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
11695
11651
|
"div",
|
|
11696
11652
|
{
|
|
11697
11653
|
className: clsx(
|
|
@@ -11707,7 +11663,7 @@ var Tree = ({ headerContent, group, groupIcon, fileIcon, selectedName, className
|
|
|
11707
11663
|
]
|
|
11708
11664
|
}
|
|
11709
11665
|
),
|
|
11710
|
-
/* @__PURE__ */ (0,
|
|
11666
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: slots.itemWrapper({ class: classNames == null ? void 0 : classNames.itemWrapper }), children: group.data.map((node) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
11711
11667
|
TreeNodeItem,
|
|
11712
11668
|
{
|
|
11713
11669
|
node,
|
|
@@ -11746,19 +11702,19 @@ var treeStyle = tv({
|
|
|
11746
11702
|
});
|
|
11747
11703
|
|
|
11748
11704
|
// src/components/fileUpload/fileUpload.tsx
|
|
11749
|
-
var
|
|
11750
|
-
var
|
|
11705
|
+
var import_react37 = require("react");
|
|
11706
|
+
var import_tailwind_variants35 = require("tailwind-variants");
|
|
11751
11707
|
|
|
11752
11708
|
// src/components/progress/progress.tsx
|
|
11753
|
-
var
|
|
11709
|
+
var import_react36 = require("react");
|
|
11754
11710
|
|
|
11755
11711
|
// src/hooks/useIsMounted.ts
|
|
11756
|
-
var
|
|
11712
|
+
var import_react35 = require("react");
|
|
11757
11713
|
function useIsMounted(props = {}) {
|
|
11758
11714
|
const { rerender = false, delay = 0 } = props;
|
|
11759
|
-
const isMountedRef = (0,
|
|
11760
|
-
const [isMounted, setIsMounted] = (0,
|
|
11761
|
-
(0,
|
|
11715
|
+
const isMountedRef = (0, import_react35.useRef)(false);
|
|
11716
|
+
const [isMounted, setIsMounted] = (0, import_react35.useState)(false);
|
|
11717
|
+
(0, import_react35.useEffect)(() => {
|
|
11762
11718
|
isMountedRef.current = true;
|
|
11763
11719
|
let timer = null;
|
|
11764
11720
|
if (rerender) {
|
|
@@ -11780,11 +11736,11 @@ function useIsMounted(props = {}) {
|
|
|
11780
11736
|
}
|
|
11781
11737
|
};
|
|
11782
11738
|
}, [rerender]);
|
|
11783
|
-
return [(0,
|
|
11739
|
+
return [(0, import_react35.useCallback)(() => isMountedRef.current, []), isMounted];
|
|
11784
11740
|
}
|
|
11785
11741
|
|
|
11786
11742
|
// src/components/progress/progress.tsx
|
|
11787
|
-
var
|
|
11743
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
11788
11744
|
var Progress = (originalProps) => {
|
|
11789
11745
|
const [props, variantProps] = mapPropsVariants(originalProps, progressStyle.variantKeys);
|
|
11790
11746
|
const { children, classNames, value = 0, minValue = 0, maxValue = 100, ...progressProps } = props;
|
|
@@ -11794,12 +11750,12 @@ var Progress = (originalProps) => {
|
|
|
11794
11750
|
delay: 100
|
|
11795
11751
|
});
|
|
11796
11752
|
const selfMounted = variantProps.disableAnimation ? true : isMounted;
|
|
11797
|
-
const percentage = (0,
|
|
11753
|
+
const percentage = (0, import_react36.useMemo)(
|
|
11798
11754
|
() => isIndeterminate || !selfMounted ? void 0 : clampPercentage((value - minValue) / (maxValue - minValue) * 100),
|
|
11799
11755
|
[selfMounted, isIndeterminate, value, minValue, maxValue]
|
|
11800
11756
|
);
|
|
11801
|
-
const slots = (0,
|
|
11802
|
-
return /* @__PURE__ */ (0,
|
|
11757
|
+
const slots = (0, import_react36.useMemo)(() => progressStyle({ ...variantProps }), [variantProps]);
|
|
11758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: slots.track({ class: classNames == null ? void 0 : classNames.track }), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
11803
11759
|
"div",
|
|
11804
11760
|
{
|
|
11805
11761
|
className: slots.indicator({ class: classNames == null ? void 0 : classNames.indicator }),
|
|
@@ -11898,7 +11854,7 @@ var clampPercentage = (value) => {
|
|
|
11898
11854
|
};
|
|
11899
11855
|
|
|
11900
11856
|
// src/components/fileUpload/fileUpload.tsx
|
|
11901
|
-
var
|
|
11857
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
11902
11858
|
function FileUpload({
|
|
11903
11859
|
buttonText,
|
|
11904
11860
|
maxSizeMB = 10,
|
|
@@ -11914,11 +11870,11 @@ function FileUpload({
|
|
|
11914
11870
|
name,
|
|
11915
11871
|
classNames
|
|
11916
11872
|
}) {
|
|
11917
|
-
const fileInputRef = (0,
|
|
11918
|
-
const uploadIntervalRef = (0,
|
|
11919
|
-
const [file, setFile] = (0,
|
|
11920
|
-
const [uploadProgress, setUploadProgress] = (0,
|
|
11921
|
-
const [message, setMessage] = (0,
|
|
11873
|
+
const fileInputRef = (0, import_react37.useRef)(null);
|
|
11874
|
+
const uploadIntervalRef = (0, import_react37.useRef)(null);
|
|
11875
|
+
const [file, setFile] = (0, import_react37.useState)(null);
|
|
11876
|
+
const [uploadProgress, setUploadProgress] = (0, import_react37.useState)(0);
|
|
11877
|
+
const [message, setMessage] = (0, import_react37.useState)(errorMessage);
|
|
11922
11878
|
const slots = fileUploadStyle();
|
|
11923
11879
|
const handleButtonClick = () => {
|
|
11924
11880
|
var _a;
|
|
@@ -11969,20 +11925,20 @@ function FileUpload({
|
|
|
11969
11925
|
setMessage("");
|
|
11970
11926
|
if (onCancelUpload) onCancelUpload();
|
|
11971
11927
|
};
|
|
11972
|
-
(0,
|
|
11928
|
+
(0, import_react37.useEffect)(() => {
|
|
11973
11929
|
return () => {
|
|
11974
11930
|
if (uploadIntervalRef.current) {
|
|
11975
11931
|
clearInterval(uploadIntervalRef.current);
|
|
11976
11932
|
}
|
|
11977
11933
|
};
|
|
11978
11934
|
}, []);
|
|
11979
|
-
(0,
|
|
11935
|
+
(0, import_react37.useEffect)(() => {
|
|
11980
11936
|
setMessage(errorMessage);
|
|
11981
11937
|
}, [setMessage, errorMessage]);
|
|
11982
|
-
return /* @__PURE__ */ (0,
|
|
11983
|
-
/* @__PURE__ */ (0,
|
|
11984
|
-
/* @__PURE__ */ (0,
|
|
11985
|
-
/* @__PURE__ */ (0,
|
|
11938
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
11939
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: slots.container({ class: classNames == null ? void 0 : classNames.container }), children: [
|
|
11940
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: slots.inputWrapper(), children: [
|
|
11941
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
11986
11942
|
input_default,
|
|
11987
11943
|
{
|
|
11988
11944
|
name,
|
|
@@ -11994,7 +11950,7 @@ function FileUpload({
|
|
|
11994
11950
|
errorMessage: message
|
|
11995
11951
|
}
|
|
11996
11952
|
),
|
|
11997
|
-
file && /* @__PURE__ */ (0,
|
|
11953
|
+
file && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
11998
11954
|
icon_button_default,
|
|
11999
11955
|
{
|
|
12000
11956
|
name: "close",
|
|
@@ -12006,16 +11962,16 @@ function FileUpload({
|
|
|
12006
11962
|
}
|
|
12007
11963
|
)
|
|
12008
11964
|
] }),
|
|
12009
|
-
/* @__PURE__ */ (0,
|
|
12010
|
-
/* @__PURE__ */ (0,
|
|
11965
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(button_default, { type: "button", variant: "outline", onClick: handleButtonClick, disabled: !!file, children: buttonText }),
|
|
11966
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("input", { ref: fileInputRef, type: "file", hidden: true, accept: accept.join(","), onChange: handleFileChange })
|
|
12011
11967
|
] }),
|
|
12012
|
-
showProgress && file && uploadProgress < 100 && /* @__PURE__ */ (0,
|
|
12013
|
-
!message && helperMessage && /* @__PURE__ */ (0,
|
|
11968
|
+
showProgress && file && uploadProgress < 100 && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(progress_default, { value: uploadProgress }),
|
|
11969
|
+
!message && helperMessage && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: slots.helperMessage(), children: helperMessage })
|
|
12014
11970
|
] });
|
|
12015
11971
|
}
|
|
12016
11972
|
FileUpload.displayName = "FileUpload";
|
|
12017
11973
|
var fileUpload_default = FileUpload;
|
|
12018
|
-
var fileUploadStyle = (0,
|
|
11974
|
+
var fileUploadStyle = (0, import_tailwind_variants35.tv)({
|
|
12019
11975
|
slots: {
|
|
12020
11976
|
base: ["flex", "flex-col", "gap-[5px]"],
|
|
12021
11977
|
container: ["flex", "gap-[10px]"],
|
|
@@ -12028,12 +11984,12 @@ var fileUploadStyle = (0, import_tailwind_variants34.tv)({
|
|
|
12028
11984
|
|
|
12029
11985
|
// src/components/charts/circularProgress.tsx
|
|
12030
11986
|
var import_recharts = require("recharts");
|
|
12031
|
-
var
|
|
12032
|
-
var
|
|
12033
|
-
var CircularProgress = (0,
|
|
11987
|
+
var import_react38 = require("react");
|
|
11988
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
11989
|
+
var CircularProgress = (0, import_react38.forwardRef)((originalProps, ref) => {
|
|
12034
11990
|
const [props, variantProps] = mapPropsVariants(originalProps, circularProgressStyle.variantKeys);
|
|
12035
11991
|
const { label, size = 150, percentage, unit, classNames } = { ...props, ...variantProps };
|
|
12036
|
-
const slots = (0,
|
|
11992
|
+
const slots = (0, import_react38.useMemo)(() => circularProgressStyle({ ...variantProps }), [variantProps]);
|
|
12037
11993
|
const data = [
|
|
12038
11994
|
{
|
|
12039
11995
|
name: label,
|
|
@@ -12065,9 +12021,9 @@ var CircularProgress = (0, import_react37.forwardRef)((originalProps, ref) => {
|
|
|
12065
12021
|
const colorValue = originalProps.color;
|
|
12066
12022
|
const colorKey = colorValue || "blue";
|
|
12067
12023
|
const currentGradient = gradientColors[colorKey];
|
|
12068
|
-
return /* @__PURE__ */ (0,
|
|
12069
|
-
/* @__PURE__ */ (0,
|
|
12070
|
-
/* @__PURE__ */ (0,
|
|
12024
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { ref, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
12025
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "relative", style: { width: size, height: size }, children: [
|
|
12026
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
12071
12027
|
import_recharts.RadialBarChart,
|
|
12072
12028
|
{
|
|
12073
12029
|
width: size,
|
|
@@ -12079,11 +12035,11 @@ var CircularProgress = (0, import_react37.forwardRef)((originalProps, ref) => {
|
|
|
12079
12035
|
startAngle: 90,
|
|
12080
12036
|
endAngle: -270,
|
|
12081
12037
|
children: [
|
|
12082
|
-
/* @__PURE__ */ (0,
|
|
12083
|
-
/* @__PURE__ */ (0,
|
|
12084
|
-
/* @__PURE__ */ (0,
|
|
12038
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("linearGradient", { id: gradientId, x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
12039
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("stop", { offset: "0%", stopColor: currentGradient.start }),
|
|
12040
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("stop", { offset: "100%", stopColor: currentGradient.end })
|
|
12085
12041
|
] }) }),
|
|
12086
|
-
/* @__PURE__ */ (0,
|
|
12042
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
12087
12043
|
"circle",
|
|
12088
12044
|
{
|
|
12089
12045
|
cx: size / 2,
|
|
@@ -12094,7 +12050,7 @@ var CircularProgress = (0, import_react37.forwardRef)((originalProps, ref) => {
|
|
|
12094
12050
|
strokeWidth: "1"
|
|
12095
12051
|
}
|
|
12096
12052
|
),
|
|
12097
|
-
/* @__PURE__ */ (0,
|
|
12053
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
12098
12054
|
"circle",
|
|
12099
12055
|
{
|
|
12100
12056
|
cx: size / 2,
|
|
@@ -12105,17 +12061,17 @@ var CircularProgress = (0, import_react37.forwardRef)((originalProps, ref) => {
|
|
|
12105
12061
|
strokeWidth: BAR_SIZE
|
|
12106
12062
|
}
|
|
12107
12063
|
),
|
|
12108
|
-
/* @__PURE__ */ (0,
|
|
12109
|
-
/* @__PURE__ */ (0,
|
|
12064
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_recharts.PolarAngleAxis, { type: "number", domain: [0, 100], angleAxisId: 0, tick: false }),
|
|
12065
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_recharts.RadialBar, { dataKey: "value", cornerRadius: 12, animationDuration: 1e3, fill: `url(#${gradientId})` })
|
|
12110
12066
|
]
|
|
12111
12067
|
}
|
|
12112
12068
|
),
|
|
12113
|
-
/* @__PURE__ */ (0,
|
|
12114
|
-
/* @__PURE__ */ (0,
|
|
12115
|
-
/* @__PURE__ */ (0,
|
|
12069
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "absolute inset-0 flex items-center justify-center", children: [
|
|
12070
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: slots.percentage({ class: classNames == null ? void 0 : classNames.percentage }), children: percentage }),
|
|
12071
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: slots.unit({ class: classNames == null ? void 0 : classNames.unit }), children: unit })
|
|
12116
12072
|
] })
|
|
12117
12073
|
] }),
|
|
12118
|
-
label && /* @__PURE__ */ (0,
|
|
12074
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label })
|
|
12119
12075
|
] });
|
|
12120
12076
|
});
|
|
12121
12077
|
CircularProgress.displayName = "CircularProgress";
|
|
@@ -12148,26 +12104,26 @@ var circularProgressStyle = tv({
|
|
|
12148
12104
|
});
|
|
12149
12105
|
|
|
12150
12106
|
// src/components/charts/areaChart.tsx
|
|
12151
|
-
var
|
|
12107
|
+
var import_react39 = require("react");
|
|
12152
12108
|
var import_recharts2 = require("recharts");
|
|
12153
|
-
var
|
|
12154
|
-
var AreaChartComponent = (0,
|
|
12155
|
-
const uniqueId = (0,
|
|
12109
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
12110
|
+
var AreaChartComponent = (0, import_react39.forwardRef)((originalProps, ref) => {
|
|
12111
|
+
const uniqueId = (0, import_react39.useId)();
|
|
12156
12112
|
const [props, variantProps] = mapPropsVariants(originalProps, areaChartStyle.variantKeys);
|
|
12157
12113
|
const { data, label, color = "primary", classNames } = { ...props, ...variantProps };
|
|
12158
|
-
const slots = (0,
|
|
12114
|
+
const slots = (0, import_react39.useMemo)(() => areaChartStyle({ ...variantProps }), [variantProps]);
|
|
12159
12115
|
const COLOR_MAP = {
|
|
12160
12116
|
primary: "#3F9CF2",
|
|
12161
12117
|
danger: "#FF4684"
|
|
12162
12118
|
};
|
|
12163
|
-
const colorHex = (0,
|
|
12164
|
-
const [tickPositions, setTickPositions] = (0,
|
|
12165
|
-
const tickRef = (0,
|
|
12119
|
+
const colorHex = (0, import_react39.useMemo)(() => COLOR_MAP[color], [color]);
|
|
12120
|
+
const [tickPositions, setTickPositions] = (0, import_react39.useState)([]);
|
|
12121
|
+
const tickRef = (0, import_react39.useRef)([]);
|
|
12166
12122
|
const CustomTick = ({ x, y, payload }) => {
|
|
12167
12123
|
if (x !== void 0) {
|
|
12168
12124
|
tickRef.current.push(x);
|
|
12169
12125
|
}
|
|
12170
|
-
return /* @__PURE__ */ (0,
|
|
12126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
12171
12127
|
"text",
|
|
12172
12128
|
{
|
|
12173
12129
|
x,
|
|
@@ -12181,7 +12137,7 @@ var AreaChartComponent = (0, import_react38.forwardRef)((originalProps, ref) =>
|
|
|
12181
12137
|
}
|
|
12182
12138
|
);
|
|
12183
12139
|
};
|
|
12184
|
-
(0,
|
|
12140
|
+
(0, import_react39.useEffect)(() => {
|
|
12185
12141
|
const raf = requestAnimationFrame(() => {
|
|
12186
12142
|
const unique = [...new Set(tickRef.current)].sort((a, b) => a - b);
|
|
12187
12143
|
const mids = [];
|
|
@@ -12196,19 +12152,19 @@ var AreaChartComponent = (0, import_react38.forwardRef)((originalProps, ref) =>
|
|
|
12196
12152
|
const CustomDotWithShadow = (props2) => {
|
|
12197
12153
|
const { cx, cy, fill, stroke } = props2;
|
|
12198
12154
|
if (cx === void 0 || cy === void 0) return null;
|
|
12199
|
-
return /* @__PURE__ */ (0,
|
|
12200
|
-
/* @__PURE__ */ (0,
|
|
12201
|
-
/* @__PURE__ */ (0,
|
|
12155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
12156
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("circle", { cx, cy, r: 8, fill, opacity: 0.2 }),
|
|
12157
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("circle", { cx, cy, r: 3.5, fill, stroke, strokeWidth: 2 })
|
|
12202
12158
|
] });
|
|
12203
12159
|
};
|
|
12204
|
-
return /* @__PURE__ */ (0,
|
|
12205
|
-
label && /* @__PURE__ */ (0,
|
|
12206
|
-
/* @__PURE__ */ (0,
|
|
12207
|
-
/* @__PURE__ */ (0,
|
|
12208
|
-
/* @__PURE__ */ (0,
|
|
12209
|
-
/* @__PURE__ */ (0,
|
|
12160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { ref, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
12161
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label }),
|
|
12162
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_recharts2.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_recharts2.AreaChart, { data, margin: { left: -30 }, children: [
|
|
12163
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("linearGradient", { id: `colorGradient-${uniqueId}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
12164
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("stop", { offset: "5%", stopColor: colorHex, stopOpacity: 0.3 }),
|
|
12165
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("stop", { offset: "95%", stopColor: colorHex, stopOpacity: 0 })
|
|
12210
12166
|
] }) }),
|
|
12211
|
-
/* @__PURE__ */ (0,
|
|
12167
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
12212
12168
|
import_recharts2.CartesianGrid,
|
|
12213
12169
|
{
|
|
12214
12170
|
vertical: true,
|
|
@@ -12218,7 +12174,7 @@ var AreaChartComponent = (0, import_react38.forwardRef)((originalProps, ref) =>
|
|
|
12218
12174
|
verticalPoints: tickPositions
|
|
12219
12175
|
}
|
|
12220
12176
|
),
|
|
12221
|
-
/* @__PURE__ */ (0,
|
|
12177
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
12222
12178
|
import_recharts2.XAxis,
|
|
12223
12179
|
{
|
|
12224
12180
|
dataKey: "name",
|
|
@@ -12228,7 +12184,7 @@ var AreaChartComponent = (0, import_react38.forwardRef)((originalProps, ref) =>
|
|
|
12228
12184
|
padding: { left: 35.5, right: 35.5 }
|
|
12229
12185
|
}
|
|
12230
12186
|
),
|
|
12231
|
-
/* @__PURE__ */ (0,
|
|
12187
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
12232
12188
|
import_recharts2.YAxis,
|
|
12233
12189
|
{
|
|
12234
12190
|
axisLine: { stroke: "#DFE2E7", strokeWidth: 1 },
|
|
@@ -12244,7 +12200,7 @@ var AreaChartComponent = (0, import_react38.forwardRef)((originalProps, ref) =>
|
|
|
12244
12200
|
domain: [-6, 110]
|
|
12245
12201
|
}
|
|
12246
12202
|
),
|
|
12247
|
-
/* @__PURE__ */ (0,
|
|
12203
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
12248
12204
|
import_recharts2.Area,
|
|
12249
12205
|
{
|
|
12250
12206
|
type: "monotone",
|
|
@@ -12252,7 +12208,7 @@ var AreaChartComponent = (0, import_react38.forwardRef)((originalProps, ref) =>
|
|
|
12252
12208
|
stroke: colorHex,
|
|
12253
12209
|
strokeWidth: 2,
|
|
12254
12210
|
fill: `url(#colorGradient-${uniqueId})`,
|
|
12255
|
-
dot: /* @__PURE__ */ (0,
|
|
12211
|
+
dot: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(CustomDotWithShadow, { stroke: colorHex, fill: colorHex }),
|
|
12256
12212
|
activeDot: { r: 7, fill: colorHex }
|
|
12257
12213
|
}
|
|
12258
12214
|
)
|
|
@@ -12284,20 +12240,20 @@ var areaChartStyle = tv({
|
|
|
12284
12240
|
});
|
|
12285
12241
|
|
|
12286
12242
|
// src/components/charts/barChart.tsx
|
|
12287
|
-
var
|
|
12243
|
+
var import_react40 = require("react");
|
|
12288
12244
|
var import_recharts3 = require("recharts");
|
|
12289
|
-
var
|
|
12290
|
-
var BarChartComponent = (0,
|
|
12245
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
12246
|
+
var BarChartComponent = (0, import_react40.forwardRef)((originalProps, ref) => {
|
|
12291
12247
|
const [props, variantProps] = mapPropsVariants(originalProps, barChartStyle.variantKeys);
|
|
12292
12248
|
const { data, label, classNames } = { ...props, ...variantProps };
|
|
12293
|
-
const slots = (0,
|
|
12249
|
+
const slots = (0, import_react40.useMemo)(() => barChartStyle({ ...variantProps }), [variantProps]);
|
|
12294
12250
|
const COLOR_MAP = {
|
|
12295
12251
|
primary: "#C7E5FA",
|
|
12296
12252
|
secondary: "#92DCB2",
|
|
12297
12253
|
warning: "#DEC1FA"
|
|
12298
12254
|
};
|
|
12299
|
-
const [tickPositions, setTickPositions] = (0,
|
|
12300
|
-
const tickRef = (0,
|
|
12255
|
+
const [tickPositions, setTickPositions] = (0, import_react40.useState)([]);
|
|
12256
|
+
const tickRef = (0, import_react40.useRef)([]);
|
|
12301
12257
|
const CustomBarShape = (barProps) => {
|
|
12302
12258
|
const { x, y, width, height, fill } = barProps;
|
|
12303
12259
|
const radius = 5;
|
|
@@ -12305,19 +12261,19 @@ var BarChartComponent = (0, import_react39.forwardRef)((originalProps, ref) => {
|
|
|
12305
12261
|
const adjustedHeight = height + extraHeight;
|
|
12306
12262
|
const adjustedY = y;
|
|
12307
12263
|
const bottomY = adjustedY + adjustedHeight;
|
|
12308
|
-
return height ? /* @__PURE__ */ (0,
|
|
12264
|
+
return height ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
12309
12265
|
"path",
|
|
12310
12266
|
{
|
|
12311
12267
|
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`,
|
|
12312
12268
|
fill
|
|
12313
12269
|
}
|
|
12314
|
-
) : /* @__PURE__ */ (0,
|
|
12270
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("rect", { x, y, width, height: 0, fill });
|
|
12315
12271
|
};
|
|
12316
12272
|
const CustomTick = ({ x, y, payload }) => {
|
|
12317
12273
|
if (x !== void 0) {
|
|
12318
12274
|
tickRef.current.push(x);
|
|
12319
12275
|
}
|
|
12320
|
-
return /* @__PURE__ */ (0,
|
|
12276
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
12321
12277
|
"text",
|
|
12322
12278
|
{
|
|
12323
12279
|
x,
|
|
@@ -12331,7 +12287,7 @@ var BarChartComponent = (0, import_react39.forwardRef)((originalProps, ref) => {
|
|
|
12331
12287
|
}
|
|
12332
12288
|
);
|
|
12333
12289
|
};
|
|
12334
|
-
(0,
|
|
12290
|
+
(0, import_react40.useEffect)(() => {
|
|
12335
12291
|
const raf = requestAnimationFrame(() => {
|
|
12336
12292
|
const unique = [...new Set(tickRef.current)].sort((a, b) => a - b);
|
|
12337
12293
|
const mids = [];
|
|
@@ -12343,9 +12299,9 @@ var BarChartComponent = (0, import_react39.forwardRef)((originalProps, ref) => {
|
|
|
12343
12299
|
});
|
|
12344
12300
|
return () => cancelAnimationFrame(raf);
|
|
12345
12301
|
}, [data]);
|
|
12346
|
-
return /* @__PURE__ */ (0,
|
|
12347
|
-
label && /* @__PURE__ */ (0,
|
|
12348
|
-
/* @__PURE__ */ (0,
|
|
12302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { ref, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
12303
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label }),
|
|
12304
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_recharts3.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
12349
12305
|
import_recharts3.BarChart,
|
|
12350
12306
|
{
|
|
12351
12307
|
data,
|
|
@@ -12354,7 +12310,7 @@ var BarChartComponent = (0, import_react39.forwardRef)((originalProps, ref) => {
|
|
|
12354
12310
|
barGap: 10,
|
|
12355
12311
|
className: "[&_.recharts-surface]:outline-none [&_.recharts-surface]:focus:outline-none",
|
|
12356
12312
|
children: [
|
|
12357
|
-
/* @__PURE__ */ (0,
|
|
12313
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
12358
12314
|
import_recharts3.CartesianGrid,
|
|
12359
12315
|
{
|
|
12360
12316
|
vertical: true,
|
|
@@ -12364,7 +12320,7 @@ var BarChartComponent = (0, import_react39.forwardRef)((originalProps, ref) => {
|
|
|
12364
12320
|
verticalPoints: tickPositions
|
|
12365
12321
|
}
|
|
12366
12322
|
),
|
|
12367
|
-
/* @__PURE__ */ (0,
|
|
12323
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
12368
12324
|
import_recharts3.XAxis,
|
|
12369
12325
|
{
|
|
12370
12326
|
dataKey: "name",
|
|
@@ -12374,7 +12330,7 @@ var BarChartComponent = (0, import_react39.forwardRef)((originalProps, ref) => {
|
|
|
12374
12330
|
padding: { left: 32, right: 32 }
|
|
12375
12331
|
}
|
|
12376
12332
|
),
|
|
12377
|
-
/* @__PURE__ */ (0,
|
|
12333
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
12378
12334
|
import_recharts3.YAxis,
|
|
12379
12335
|
{
|
|
12380
12336
|
axisLine: { stroke: "#DFE2E7", strokeWidth: 1 },
|
|
@@ -12390,9 +12346,9 @@ var BarChartComponent = (0, import_react39.forwardRef)((originalProps, ref) => {
|
|
|
12390
12346
|
domain: [-6, 110]
|
|
12391
12347
|
}
|
|
12392
12348
|
),
|
|
12393
|
-
/* @__PURE__ */ (0,
|
|
12394
|
-
/* @__PURE__ */ (0,
|
|
12395
|
-
/* @__PURE__ */ (0,
|
|
12349
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_recharts3.Bar, { dataKey: "avg", fill: COLOR_MAP.primary, width: 20, shape: CustomBarShape }),
|
|
12350
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_recharts3.Bar, { dataKey: "high", fill: COLOR_MAP.secondary, width: 20, shape: CustomBarShape }),
|
|
12351
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_recharts3.Bar, { dataKey: "low", fill: COLOR_MAP.warning, width: 20, shape: CustomBarShape })
|
|
12396
12352
|
]
|
|
12397
12353
|
}
|
|
12398
12354
|
) })
|
|
@@ -12413,20 +12369,20 @@ var barChartStyle = tv({
|
|
|
12413
12369
|
|
|
12414
12370
|
// src/components/charts/radarChart.tsx
|
|
12415
12371
|
var import_recharts4 = require("recharts");
|
|
12416
|
-
var
|
|
12417
|
-
var
|
|
12418
|
-
var RadarChart = (0,
|
|
12372
|
+
var import_react41 = require("react");
|
|
12373
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
12374
|
+
var RadarChart = (0, import_react41.forwardRef)((originalProps, ref) => {
|
|
12419
12375
|
const [props, variantProps] = mapPropsVariants(originalProps, radarChartStyle.variantKeys);
|
|
12420
12376
|
const { data, label, classNames } = { ...props, ...variantProps };
|
|
12421
|
-
const slots = (0,
|
|
12422
|
-
const maxFullMark = (0,
|
|
12377
|
+
const slots = (0, import_react41.useMemo)(() => radarChartStyle({ ...variantProps }), [variantProps]);
|
|
12378
|
+
const maxFullMark = (0, import_react41.useMemo)(() => {
|
|
12423
12379
|
if (!data || data.length === 0) return 100;
|
|
12424
12380
|
return Math.max(...data.map((item) => item.fullMark || 100));
|
|
12425
12381
|
}, [data]);
|
|
12426
|
-
return /* @__PURE__ */ (0,
|
|
12427
|
-
/* @__PURE__ */ (0,
|
|
12428
|
-
/* @__PURE__ */ (0,
|
|
12429
|
-
/* @__PURE__ */ (0,
|
|
12382
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { ref, className: slots.base({ class: classNames == null ? void 0 : classNames.base }), children: [
|
|
12383
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_recharts4.ResponsiveContainer, { width: 580, height: 330, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_recharts4.RadarChart, { data, outerRadius: "80%", children: [
|
|
12384
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_recharts4.PolarGrid, { stroke: "#DFE2E7", strokeWidth: 1.75 }),
|
|
12385
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
12430
12386
|
import_recharts4.PolarAngleAxis,
|
|
12431
12387
|
{
|
|
12432
12388
|
dataKey: "name",
|
|
@@ -12435,8 +12391,8 @@ var RadarChart = (0, import_react40.forwardRef)((originalProps, ref) => {
|
|
|
12435
12391
|
tickSize: 15
|
|
12436
12392
|
}
|
|
12437
12393
|
),
|
|
12438
|
-
/* @__PURE__ */ (0,
|
|
12439
|
-
/* @__PURE__ */ (0,
|
|
12394
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_recharts4.PolarRadiusAxis, { domain: [0, maxFullMark], tick: false, tickCount: 6, axisLine: false }),
|
|
12395
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
12440
12396
|
import_recharts4.Radar,
|
|
12441
12397
|
{
|
|
12442
12398
|
name: label,
|
|
@@ -12449,7 +12405,7 @@ var RadarChart = (0, import_react40.forwardRef)((originalProps, ref) => {
|
|
|
12449
12405
|
}
|
|
12450
12406
|
)
|
|
12451
12407
|
] }) }),
|
|
12452
|
-
label && /* @__PURE__ */ (0,
|
|
12408
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label })
|
|
12453
12409
|
] });
|
|
12454
12410
|
});
|
|
12455
12411
|
RadarChart.displayName = "RadarChart";
|
|
@@ -12479,6 +12435,7 @@ var radarChartStyle = tv({
|
|
|
12479
12435
|
Chip,
|
|
12480
12436
|
CircularProgress,
|
|
12481
12437
|
DatePicker,
|
|
12438
|
+
Day,
|
|
12482
12439
|
DefinitionTable,
|
|
12483
12440
|
Drawer,
|
|
12484
12441
|
FileUpload,
|