@rehagro/ui 1.0.63 → 1.0.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +94 -1
- package/dist/index.d.ts +94 -1
- package/dist/index.js +359 -215
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +246 -103
- package/dist/index.mjs.map +1 -1
- package/dist/native.d.mts +54 -1
- package/dist/native.d.ts +54 -1
- package/dist/native.js +115 -2
- package/dist/native.js.map +1 -1
- package/dist/native.mjs +114 -2
- package/dist/native.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var React10 = require('react');
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var reactDom = require('react-dom');
|
|
7
7
|
|
|
8
8
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var React10__default = /*#__PURE__*/_interopDefault(React10);
|
|
11
11
|
|
|
12
12
|
// src/provider/RehagroProvider.tsx
|
|
13
13
|
|
|
@@ -437,7 +437,7 @@ var closeStyles = {
|
|
|
437
437
|
"neutral-light": "rh-text-gray-500 hover:rh-text-gray-800",
|
|
438
438
|
"neutral-outline": "rh-text-text-muted hover:rh-text-text"
|
|
439
439
|
};
|
|
440
|
-
var Toast =
|
|
440
|
+
var Toast = React10.forwardRef(function Toast2({
|
|
441
441
|
title,
|
|
442
442
|
description,
|
|
443
443
|
link,
|
|
@@ -545,9 +545,9 @@ function AnimatedToastItem({
|
|
|
545
545
|
onRequestDismiss,
|
|
546
546
|
children
|
|
547
547
|
}) {
|
|
548
|
-
const [entered, setEntered] =
|
|
549
|
-
const leaveTimerRef =
|
|
550
|
-
|
|
548
|
+
const [entered, setEntered] = React10.useState(false);
|
|
549
|
+
const leaveTimerRef = React10.useRef(null);
|
|
550
|
+
React10.useEffect(() => {
|
|
551
551
|
if (!isDismissing) return;
|
|
552
552
|
leaveTimerRef.current = setTimeout(() => {
|
|
553
553
|
onRemove(id);
|
|
@@ -556,10 +556,10 @@ function AnimatedToastItem({
|
|
|
556
556
|
if (leaveTimerRef.current) clearTimeout(leaveTimerRef.current);
|
|
557
557
|
};
|
|
558
558
|
}, [id, isDismissing, onRemove]);
|
|
559
|
-
const handleAnimationEnd =
|
|
559
|
+
const handleAnimationEnd = React10.useCallback(() => {
|
|
560
560
|
if (!entered) setEntered(true);
|
|
561
561
|
}, [entered]);
|
|
562
|
-
const handleClose =
|
|
562
|
+
const handleClose = React10.useCallback(() => {
|
|
563
563
|
onRequestDismiss(id);
|
|
564
564
|
}, [id, onRequestDismiss]);
|
|
565
565
|
const animClass = isDismissing ? leaveClass[animDir] : entered ? "" : enterClass[animDir];
|
|
@@ -605,15 +605,15 @@ function ToastContainer() {
|
|
|
605
605
|
}
|
|
606
606
|
);
|
|
607
607
|
}
|
|
608
|
-
var ToastContext =
|
|
608
|
+
var ToastContext = React10.createContext(null);
|
|
609
609
|
function ToastProvider({
|
|
610
610
|
children,
|
|
611
611
|
position = "top-right"
|
|
612
612
|
}) {
|
|
613
|
-
const [toasts, setToasts] =
|
|
614
|
-
const [dismissingIds, setDismissingIds] =
|
|
615
|
-
const counterRef =
|
|
616
|
-
const remove =
|
|
613
|
+
const [toasts, setToasts] = React10.useState([]);
|
|
614
|
+
const [dismissingIds, setDismissingIds] = React10.useState(/* @__PURE__ */ new Set());
|
|
615
|
+
const counterRef = React10.useRef(0);
|
|
616
|
+
const remove = React10.useCallback((id) => {
|
|
617
617
|
setToasts((prev) => prev.filter((t) => t.id !== id));
|
|
618
618
|
setDismissingIds((prev) => {
|
|
619
619
|
const next = new Set(prev);
|
|
@@ -621,10 +621,10 @@ function ToastProvider({
|
|
|
621
621
|
return next;
|
|
622
622
|
});
|
|
623
623
|
}, []);
|
|
624
|
-
const requestDismiss =
|
|
624
|
+
const requestDismiss = React10.useCallback((id) => {
|
|
625
625
|
setDismissingIds((prev) => new Set(prev).add(id));
|
|
626
626
|
}, []);
|
|
627
|
-
const add =
|
|
627
|
+
const add = React10.useCallback(
|
|
628
628
|
(item) => {
|
|
629
629
|
const id = `rh-toast-${++counterRef.current}`;
|
|
630
630
|
const toast = { ...item, id };
|
|
@@ -642,7 +642,7 @@ function ToastProvider({
|
|
|
642
642
|
] });
|
|
643
643
|
}
|
|
644
644
|
function useToastContext() {
|
|
645
|
-
const ctx =
|
|
645
|
+
const ctx = React10.useContext(ToastContext);
|
|
646
646
|
if (!ctx) {
|
|
647
647
|
throw new Error("useToastContext must be used inside ToastProvider");
|
|
648
648
|
}
|
|
@@ -650,7 +650,7 @@ function useToastContext() {
|
|
|
650
650
|
}
|
|
651
651
|
function useToast() {
|
|
652
652
|
const { add, requestDismiss } = useToastContext();
|
|
653
|
-
const createToast =
|
|
653
|
+
const createToast = React10.useCallback(
|
|
654
654
|
(variant) => (title, options = {}) => {
|
|
655
655
|
return add({
|
|
656
656
|
title,
|
|
@@ -663,7 +663,7 @@ function useToast() {
|
|
|
663
663
|
},
|
|
664
664
|
[add]
|
|
665
665
|
);
|
|
666
|
-
const toast =
|
|
666
|
+
const toast = React10.useCallback(
|
|
667
667
|
(title, options = {}) => {
|
|
668
668
|
return add({
|
|
669
669
|
title,
|
|
@@ -706,7 +706,7 @@ function toRgbTriplet(value) {
|
|
|
706
706
|
return void 0;
|
|
707
707
|
}
|
|
708
708
|
function RehagroProvider({ theme, toastPosition, children }) {
|
|
709
|
-
const style =
|
|
709
|
+
const style = React10.useMemo(() => {
|
|
710
710
|
const vars = {};
|
|
711
711
|
for (const [key, config] of Object.entries(TOKEN_MAP)) {
|
|
712
712
|
const value = theme[key];
|
|
@@ -835,7 +835,7 @@ var radiusClasses = {
|
|
|
835
835
|
xl: "rh-rounded-xl",
|
|
836
836
|
full: "rh-rounded-full"
|
|
837
837
|
};
|
|
838
|
-
var Button =
|
|
838
|
+
var Button = React10.forwardRef(function Button2({
|
|
839
839
|
variant = "solid",
|
|
840
840
|
size = "md",
|
|
841
841
|
radius = "sm",
|
|
@@ -852,9 +852,9 @@ var Button = React9.forwardRef(function Button2({
|
|
|
852
852
|
children,
|
|
853
853
|
...rest
|
|
854
854
|
}, ref) {
|
|
855
|
-
const isDisabled =
|
|
855
|
+
const isDisabled = React10__default.default.useMemo(() => disabled || loading, [disabled, loading]);
|
|
856
856
|
const preset = isPresetColor(color);
|
|
857
|
-
const computedStyle =
|
|
857
|
+
const computedStyle = React10__default.default.useMemo(() => {
|
|
858
858
|
const baseStyle = preset ? hoverColor ? { [`--rh-${color}-hover`]: toRgbTriplet2(hoverColor) ?? hoverColor } : {} : getArbitraryColorStyle(variant, color);
|
|
859
859
|
const hoverVars = hoverStyle ? {
|
|
860
860
|
"--btn-hover-bg": hoverStyle.backgroundColor,
|
|
@@ -990,7 +990,7 @@ var radiusClasses2 = {
|
|
|
990
990
|
xl: "rh-rounded-[24px]",
|
|
991
991
|
full: "rh-rounded-full"
|
|
992
992
|
};
|
|
993
|
-
var IconButton =
|
|
993
|
+
var IconButton = React10.forwardRef(function IconButton2({
|
|
994
994
|
variant = "ghost",
|
|
995
995
|
size = "md",
|
|
996
996
|
radius = "full",
|
|
@@ -1004,7 +1004,7 @@ var IconButton = React9.forwardRef(function IconButton2({
|
|
|
1004
1004
|
}, ref) {
|
|
1005
1005
|
const isDisabled = disabled || loading;
|
|
1006
1006
|
const preset = isPresetColor2(color);
|
|
1007
|
-
const computedStyle =
|
|
1007
|
+
const computedStyle = React10__default.default.useMemo(
|
|
1008
1008
|
() => preset ? style ?? {} : { ...style, ...getArbitraryColorStyle2(variant, color) },
|
|
1009
1009
|
[preset, color, variant, style]
|
|
1010
1010
|
);
|
|
@@ -1103,7 +1103,7 @@ var labelWeightClasses = {
|
|
|
1103
1103
|
bold: "rh-font-bold"
|
|
1104
1104
|
};
|
|
1105
1105
|
var getSubtitleClassName = (subtitle) => subtitle.trim() === "*" ? "rh-text-danger" : "rh-text-text-muted";
|
|
1106
|
-
var TextInput =
|
|
1106
|
+
var TextInput = React10.forwardRef(function TextInput2({
|
|
1107
1107
|
label,
|
|
1108
1108
|
labelWeight = "medium",
|
|
1109
1109
|
labelColor = "#080B12",
|
|
@@ -1123,9 +1123,9 @@ var TextInput = React9.forwardRef(function TextInput2({
|
|
|
1123
1123
|
id,
|
|
1124
1124
|
...rest
|
|
1125
1125
|
}, ref) {
|
|
1126
|
-
const generatedId =
|
|
1126
|
+
const generatedId = React10__default.default.useId();
|
|
1127
1127
|
const inputId = id || generatedId;
|
|
1128
|
-
const [isHelperDismissed, setIsHelperDismissed] =
|
|
1128
|
+
const [isHelperDismissed, setIsHelperDismissed] = React10__default.default.useState(false);
|
|
1129
1129
|
const { onChange, ...inputProps } = rest;
|
|
1130
1130
|
const visualStatus = helperText && isHelperDismissed ? "default" : status;
|
|
1131
1131
|
const containerStyle = {
|
|
@@ -1229,7 +1229,150 @@ var TextInput = React9.forwardRef(function TextInput2({
|
|
|
1229
1229
|
}
|
|
1230
1230
|
);
|
|
1231
1231
|
});
|
|
1232
|
+
var statusClasses2 = {
|
|
1233
|
+
default: "rh-border-border focus-within:rh-border-primary focus-within:rh-ring-2 focus-within:rh-ring-gray-200",
|
|
1234
|
+
error: "rh-border-danger focus-within:rh-border-danger focus-within:rh-ring-2 focus-within:rh-ring-red-100"
|
|
1235
|
+
};
|
|
1232
1236
|
var sizeClasses4 = {
|
|
1237
|
+
sm: "rh-text-sm rh-px-input-x-sm rh-py-2",
|
|
1238
|
+
md: "rh-text-sm rh-px-input-x-md rh-py-2",
|
|
1239
|
+
lg: "rh-text-base rh-px-input-x-lg rh-py-3"
|
|
1240
|
+
};
|
|
1241
|
+
var radiusClasses4 = {
|
|
1242
|
+
none: "rh-rounded-none",
|
|
1243
|
+
xxs: "rh-rounded-xxs",
|
|
1244
|
+
xs: "rh-rounded-xs",
|
|
1245
|
+
sm: "rh-rounded-sm",
|
|
1246
|
+
md: "rh-rounded-md",
|
|
1247
|
+
lg: "rh-rounded-lg",
|
|
1248
|
+
xl: "rh-rounded-xl",
|
|
1249
|
+
full: "rh-rounded-full"
|
|
1250
|
+
};
|
|
1251
|
+
var borderWidthClasses2 = {
|
|
1252
|
+
sm: "rh-border-sm",
|
|
1253
|
+
md: "rh-border-md",
|
|
1254
|
+
lg: "rh-border-lg"
|
|
1255
|
+
};
|
|
1256
|
+
var resizeClasses = {
|
|
1257
|
+
none: "rh-resize-none",
|
|
1258
|
+
vertical: "rh-resize-y",
|
|
1259
|
+
horizontal: "rh-resize-x",
|
|
1260
|
+
both: "rh-resize"
|
|
1261
|
+
};
|
|
1262
|
+
var helperStatusClasses2 = {
|
|
1263
|
+
default: "rh-text-text-muted",
|
|
1264
|
+
error: "rh-text-danger"
|
|
1265
|
+
};
|
|
1266
|
+
var labelWeightClasses2 = {
|
|
1267
|
+
normal: "rh-font-normal",
|
|
1268
|
+
medium: "rh-font-medium",
|
|
1269
|
+
semibold: "rh-font-semibold",
|
|
1270
|
+
bold: "rh-font-bold"
|
|
1271
|
+
};
|
|
1272
|
+
var getSubtitleClassName2 = (subtitle) => subtitle.trim() === "*" ? "rh-text-danger" : "rh-text-text-muted";
|
|
1273
|
+
var TextArea = React10.forwardRef(function TextArea2({
|
|
1274
|
+
label,
|
|
1275
|
+
labelWeight = "medium",
|
|
1276
|
+
labelColor = "#080B12",
|
|
1277
|
+
subtitle,
|
|
1278
|
+
status = "default",
|
|
1279
|
+
size = "md",
|
|
1280
|
+
radius = "xs",
|
|
1281
|
+
helperText,
|
|
1282
|
+
rows = 3,
|
|
1283
|
+
resize = "vertical",
|
|
1284
|
+
disabled,
|
|
1285
|
+
className = "",
|
|
1286
|
+
wrapperClassName = "",
|
|
1287
|
+
borderColor,
|
|
1288
|
+
backgroundColor,
|
|
1289
|
+
borderWidth = "sm",
|
|
1290
|
+
id,
|
|
1291
|
+
...rest
|
|
1292
|
+
}, ref) {
|
|
1293
|
+
const generatedId = React10__default.default.useId();
|
|
1294
|
+
const textareaId = id || generatedId;
|
|
1295
|
+
const [isHelperDismissed, setIsHelperDismissed] = React10__default.default.useState(false);
|
|
1296
|
+
const { onChange, ...textareaProps } = rest;
|
|
1297
|
+
const visualStatus = helperText && isHelperDismissed ? "default" : status;
|
|
1298
|
+
const containerStyle = {
|
|
1299
|
+
...borderColor ? { borderColor } : {},
|
|
1300
|
+
...!disabled && backgroundColor ? { backgroundColor } : {}
|
|
1301
|
+
};
|
|
1302
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1303
|
+
"div",
|
|
1304
|
+
{
|
|
1305
|
+
className: ["rh-flex rh-flex-col rh-gap-[0.5rem] rh-font-body", wrapperClassName].filter(Boolean).join(" "),
|
|
1306
|
+
children: [
|
|
1307
|
+
label && /* @__PURE__ */ jsxRuntime.jsxs("label", { htmlFor: textareaId, className: "rh-flex rh-items-baseline rh-gap-1", children: [
|
|
1308
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1309
|
+
"span",
|
|
1310
|
+
{
|
|
1311
|
+
className: `rh-text-sm ${labelWeightClasses2[labelWeight]}`,
|
|
1312
|
+
style: { color: labelColor },
|
|
1313
|
+
children: label
|
|
1314
|
+
}
|
|
1315
|
+
),
|
|
1316
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `rh-text-sm ${getSubtitleClassName2(subtitle)}`, children: subtitle })
|
|
1317
|
+
] }),
|
|
1318
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1319
|
+
"div",
|
|
1320
|
+
{
|
|
1321
|
+
style: containerStyle,
|
|
1322
|
+
className: [
|
|
1323
|
+
"rh-flex",
|
|
1324
|
+
"rh-bg-surface rh-font-body",
|
|
1325
|
+
borderWidthClasses2[borderWidth],
|
|
1326
|
+
"rh-transition-colors rh-duration-150",
|
|
1327
|
+
statusClasses2[visualStatus],
|
|
1328
|
+
radiusClasses4[radius],
|
|
1329
|
+
sizeClasses4[size],
|
|
1330
|
+
disabled ? "rh-opacity-50 rh-cursor-not-allowed rh-bg-background" : "",
|
|
1331
|
+
className
|
|
1332
|
+
].filter(Boolean).join(" "),
|
|
1333
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1334
|
+
"textarea",
|
|
1335
|
+
{
|
|
1336
|
+
ref,
|
|
1337
|
+
id: textareaId,
|
|
1338
|
+
rows,
|
|
1339
|
+
disabled,
|
|
1340
|
+
"aria-invalid": visualStatus === "error" || void 0,
|
|
1341
|
+
"aria-describedby": helperText ? `${textareaId}-helper` : void 0,
|
|
1342
|
+
className: [
|
|
1343
|
+
"rh-flex-1 rh-min-w-0 rh-w-full rh-bg-transparent rh-outline-none",
|
|
1344
|
+
"rh-text-text placeholder:rh-text-text-muted hover:placeholder:rh-text-text",
|
|
1345
|
+
resizeClasses[resize],
|
|
1346
|
+
disabled ? "rh-cursor-not-allowed" : ""
|
|
1347
|
+
].filter(Boolean).join(" "),
|
|
1348
|
+
onChange: (e) => {
|
|
1349
|
+
if (helperText) setIsHelperDismissed(true);
|
|
1350
|
+
onChange?.(e);
|
|
1351
|
+
},
|
|
1352
|
+
...textareaProps
|
|
1353
|
+
}
|
|
1354
|
+
)
|
|
1355
|
+
}
|
|
1356
|
+
),
|
|
1357
|
+
helperText && !isHelperDismissed && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1358
|
+
"span",
|
|
1359
|
+
{
|
|
1360
|
+
id: `${textareaId}-helper`,
|
|
1361
|
+
className: [
|
|
1362
|
+
"rh-flex rh-items-center rh-gap-1 rh-text-xs",
|
|
1363
|
+
helperStatusClasses2[visualStatus]
|
|
1364
|
+
].join(" "),
|
|
1365
|
+
children: [
|
|
1366
|
+
/* @__PURE__ */ jsxRuntime.jsx(WarningCircleIcon, {}),
|
|
1367
|
+
helperText
|
|
1368
|
+
]
|
|
1369
|
+
}
|
|
1370
|
+
)
|
|
1371
|
+
]
|
|
1372
|
+
}
|
|
1373
|
+
);
|
|
1374
|
+
});
|
|
1375
|
+
var sizeClasses5 = {
|
|
1233
1376
|
sm: "rh-h-4 rh-w-4",
|
|
1234
1377
|
md: "rh-h-5 rh-w-5",
|
|
1235
1378
|
lg: "rh-h-6 rh-w-6"
|
|
@@ -1275,7 +1418,7 @@ var MinusIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
1275
1418
|
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M1 1H9", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })
|
|
1276
1419
|
}
|
|
1277
1420
|
);
|
|
1278
|
-
var Checkbox =
|
|
1421
|
+
var Checkbox = React10.forwardRef(function Checkbox2({
|
|
1279
1422
|
size = "md",
|
|
1280
1423
|
label,
|
|
1281
1424
|
indeterminate = false,
|
|
@@ -1287,10 +1430,10 @@ var Checkbox = React9.forwardRef(function Checkbox2({
|
|
|
1287
1430
|
onChange,
|
|
1288
1431
|
...rest
|
|
1289
1432
|
}, ref) {
|
|
1290
|
-
const innerRef =
|
|
1291
|
-
const inputId = id ||
|
|
1292
|
-
|
|
1293
|
-
|
|
1433
|
+
const innerRef = React10__default.default.useRef(null);
|
|
1434
|
+
const inputId = id || React10__default.default.useId();
|
|
1435
|
+
React10__default.default.useImperativeHandle(ref, () => innerRef.current);
|
|
1436
|
+
React10__default.default.useEffect(() => {
|
|
1294
1437
|
if (innerRef.current) {
|
|
1295
1438
|
innerRef.current.indeterminate = indeterminate;
|
|
1296
1439
|
}
|
|
@@ -1330,7 +1473,7 @@ var Checkbox = React9.forwardRef(function Checkbox2({
|
|
|
1330
1473
|
"rh-inline-flex rh-items-center rh-justify-center",
|
|
1331
1474
|
"rh-border rh-border-border rh-rounded-xxs",
|
|
1332
1475
|
"rh-transition-colors rh-duration-150",
|
|
1333
|
-
|
|
1476
|
+
sizeClasses5[size],
|
|
1334
1477
|
isActive ? "rh-bg-primary rh-border-primary rh-text-surface" : "rh-bg-surface rh-text-transparent",
|
|
1335
1478
|
!disabled && !isActive ? "hover:rh-border-primary" : "",
|
|
1336
1479
|
"peer-focus-visible:rh-ring-2 peer-focus-visible:rh-ring-ring peer-focus-visible:rh-ring-offset-2"
|
|
@@ -1345,8 +1488,8 @@ var Checkbox = React9.forwardRef(function Checkbox2({
|
|
|
1345
1488
|
}
|
|
1346
1489
|
);
|
|
1347
1490
|
});
|
|
1348
|
-
var RadioGroupContext =
|
|
1349
|
-
var useRadioGroup = () =>
|
|
1491
|
+
var RadioGroupContext = React10.createContext(null);
|
|
1492
|
+
var useRadioGroup = () => React10.useContext(RadioGroupContext);
|
|
1350
1493
|
var labelSizeClasses2 = {
|
|
1351
1494
|
sm: "rh-text-sm",
|
|
1352
1495
|
md: "rh-text-sm",
|
|
@@ -1378,7 +1521,7 @@ var inputSizeClasses = {
|
|
|
1378
1521
|
md: "rh-w-5 rh-h-5",
|
|
1379
1522
|
lg: "rh-w-6 rh-h-6"
|
|
1380
1523
|
};
|
|
1381
|
-
var Radio =
|
|
1524
|
+
var Radio = React10.forwardRef(function Radio2({
|
|
1382
1525
|
size = "md",
|
|
1383
1526
|
label,
|
|
1384
1527
|
description,
|
|
@@ -1391,7 +1534,7 @@ var Radio = React9.forwardRef(function Radio2({
|
|
|
1391
1534
|
onChange,
|
|
1392
1535
|
...rest
|
|
1393
1536
|
}, ref) {
|
|
1394
|
-
const inputId = id ||
|
|
1537
|
+
const inputId = id || React10__default.default.useId();
|
|
1395
1538
|
const getAccentColor = () => {
|
|
1396
1539
|
if (isPresetColor3(color)) {
|
|
1397
1540
|
return `rgb(var(--rh-${color}))`;
|
|
@@ -1435,7 +1578,7 @@ var Radio = React9.forwardRef(function Radio2({
|
|
|
1435
1578
|
}
|
|
1436
1579
|
);
|
|
1437
1580
|
});
|
|
1438
|
-
var RadioOption =
|
|
1581
|
+
var RadioOption = React10.forwardRef(function RadioOption2({ value, size, color, disabled, ...rest }, ref) {
|
|
1439
1582
|
const group = useRadioGroup();
|
|
1440
1583
|
const mergedSize = size ?? group?.size ?? "md";
|
|
1441
1584
|
const mergedColor = color ?? group?.color ?? "primary";
|
|
@@ -1459,7 +1602,7 @@ var RadioOption = React9.forwardRef(function RadioOption2({ value, size, color,
|
|
|
1459
1602
|
}
|
|
1460
1603
|
);
|
|
1461
1604
|
});
|
|
1462
|
-
var RadioGroup =
|
|
1605
|
+
var RadioGroup = React10.forwardRef(function RadioGroup2({
|
|
1463
1606
|
children,
|
|
1464
1607
|
value,
|
|
1465
1608
|
defaultValue,
|
|
@@ -1473,8 +1616,8 @@ var RadioGroup = React9.forwardRef(function RadioGroup2({
|
|
|
1473
1616
|
className = "",
|
|
1474
1617
|
...rest
|
|
1475
1618
|
}, ref) {
|
|
1476
|
-
const [internalValue, setInternalValue] =
|
|
1477
|
-
const groupName = name ||
|
|
1619
|
+
const [internalValue, setInternalValue] = React10__default.default.useState(defaultValue);
|
|
1620
|
+
const groupName = name || React10__default.default.useId();
|
|
1478
1621
|
const currentValue = value ?? internalValue;
|
|
1479
1622
|
const handleChange = (newValue) => {
|
|
1480
1623
|
setInternalValue(newValue);
|
|
@@ -1509,16 +1652,16 @@ var RadioGroup = React9.forwardRef(function RadioGroup2({
|
|
|
1509
1652
|
}
|
|
1510
1653
|
);
|
|
1511
1654
|
});
|
|
1512
|
-
var
|
|
1655
|
+
var statusClasses3 = {
|
|
1513
1656
|
default: "rh-border-border focus-within:rh-border-primary focus-within:rh-ring-2 focus-within:rh-ring-gray-200 ",
|
|
1514
1657
|
error: "rh-border-danger focus-within:rh-border-danger focus-within:rh-ring-2 focus-within:rh-ring-red-100 "
|
|
1515
1658
|
};
|
|
1516
|
-
var
|
|
1659
|
+
var sizeClasses6 = {
|
|
1517
1660
|
sm: "rh-min-h-[32px] rh-text-sm rh-px-input-x-sm",
|
|
1518
1661
|
md: "rh-min-h-[40px] rh-text-sm rh-px-input-x-md",
|
|
1519
1662
|
lg: "rh-min-h-[48px] rh-text-base rh-px-input-x-lg"
|
|
1520
1663
|
};
|
|
1521
|
-
var
|
|
1664
|
+
var radiusClasses5 = {
|
|
1522
1665
|
none: "rh-rounded-none",
|
|
1523
1666
|
xxs: "rh-rounded-xxs",
|
|
1524
1667
|
xs: "rh-rounded-xs",
|
|
@@ -1538,7 +1681,7 @@ var dropdownRadiusClasses = {
|
|
|
1538
1681
|
xl: "rh-rounded-xs",
|
|
1539
1682
|
full: "rh-rounded-xs"
|
|
1540
1683
|
};
|
|
1541
|
-
var
|
|
1684
|
+
var helperStatusClasses3 = {
|
|
1542
1685
|
default: "rh-text-text-muted",
|
|
1543
1686
|
error: "rh-text-danger"
|
|
1544
1687
|
};
|
|
@@ -1547,7 +1690,7 @@ var optionSizeClasses = {
|
|
|
1547
1690
|
md: "rh-px-input-x-md rh-py-2 rh-text-sm",
|
|
1548
1691
|
lg: "rh-px-input-x-lg rh-py-2.5 rh-text-base"
|
|
1549
1692
|
};
|
|
1550
|
-
var
|
|
1693
|
+
var getSubtitleClassName3 = (subtitle) => subtitle.trim() === "*" ? "rh-text-danger" : "rh-text-text-muted";
|
|
1551
1694
|
var ChevronIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1552
1695
|
"svg",
|
|
1553
1696
|
{
|
|
@@ -1603,7 +1746,7 @@ var RadioIcon = ({ isSelected }) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
|
1603
1746
|
]
|
|
1604
1747
|
}
|
|
1605
1748
|
);
|
|
1606
|
-
var Select =
|
|
1749
|
+
var Select = React10.forwardRef(function Select2(props, ref) {
|
|
1607
1750
|
const {
|
|
1608
1751
|
options,
|
|
1609
1752
|
label,
|
|
@@ -1620,18 +1763,18 @@ var Select = React9.forwardRef(function Select2(props, ref) {
|
|
|
1620
1763
|
multiple = false,
|
|
1621
1764
|
backgroundColor
|
|
1622
1765
|
} = props;
|
|
1623
|
-
const triggerId =
|
|
1624
|
-
const listboxId =
|
|
1625
|
-
const helperId =
|
|
1626
|
-
const [isOpen, setIsOpen] =
|
|
1627
|
-
const [activeIndex, setActiveIndex] =
|
|
1628
|
-
const [isHelperDismissed, setIsHelperDismissed] =
|
|
1629
|
-
|
|
1630
|
-
const wrapperRef =
|
|
1631
|
-
const innerRef =
|
|
1632
|
-
const listboxRef =
|
|
1633
|
-
|
|
1634
|
-
const [internalValue, setInternalValue] =
|
|
1766
|
+
const triggerId = React10__default.default.useId();
|
|
1767
|
+
const listboxId = React10__default.default.useId();
|
|
1768
|
+
const helperId = React10__default.default.useId();
|
|
1769
|
+
const [isOpen, setIsOpen] = React10__default.default.useState(false);
|
|
1770
|
+
const [activeIndex, setActiveIndex] = React10__default.default.useState(-1);
|
|
1771
|
+
const [isHelperDismissed, setIsHelperDismissed] = React10__default.default.useState(false);
|
|
1772
|
+
React10__default.default.useRef({ query: "", lastAt: 0 });
|
|
1773
|
+
const wrapperRef = React10__default.default.useRef(null);
|
|
1774
|
+
const innerRef = React10__default.default.useRef(null);
|
|
1775
|
+
const listboxRef = React10__default.default.useRef(null);
|
|
1776
|
+
React10__default.default.useImperativeHandle(ref, () => innerRef.current);
|
|
1777
|
+
const [internalValue, setInternalValue] = React10__default.default.useState(() => {
|
|
1635
1778
|
if (props.defaultValue !== void 0) {
|
|
1636
1779
|
return Array.isArray(props.defaultValue) ? props.defaultValue : [props.defaultValue];
|
|
1637
1780
|
}
|
|
@@ -1655,7 +1798,7 @@ var Select = React9.forwardRef(function Select2(props, ref) {
|
|
|
1655
1798
|
innerRef.current?.focus();
|
|
1656
1799
|
}
|
|
1657
1800
|
};
|
|
1658
|
-
const displayText =
|
|
1801
|
+
const displayText = React10__default.default.useMemo(() => {
|
|
1659
1802
|
if (selectedValues.length === 0) return null;
|
|
1660
1803
|
if (!multiple) {
|
|
1661
1804
|
return options.find((o) => o.value === selectedValues[0])?.label ?? null;
|
|
@@ -1665,7 +1808,7 @@ var Select = React9.forwardRef(function Select2(props, ref) {
|
|
|
1665
1808
|
if (selectedLabels.length === 1) return selectedLabels[0];
|
|
1666
1809
|
return `${selectedLabels.length} selected`;
|
|
1667
1810
|
}, [selectedValues, options, multiple]);
|
|
1668
|
-
|
|
1811
|
+
React10__default.default.useEffect(() => {
|
|
1669
1812
|
if (!isOpen) return;
|
|
1670
1813
|
const handleClickOutside = (e) => {
|
|
1671
1814
|
if (wrapperRef.current && !wrapperRef.current.contains(e.target)) {
|
|
@@ -1675,7 +1818,7 @@ var Select = React9.forwardRef(function Select2(props, ref) {
|
|
|
1675
1818
|
document.addEventListener("mousedown", handleClickOutside);
|
|
1676
1819
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
1677
1820
|
}, [isOpen]);
|
|
1678
|
-
|
|
1821
|
+
React10__default.default.useEffect(() => {
|
|
1679
1822
|
if (!isOpen) return;
|
|
1680
1823
|
const handleEscape = (e) => {
|
|
1681
1824
|
if (e.key === "Escape") {
|
|
@@ -1686,7 +1829,7 @@ var Select = React9.forwardRef(function Select2(props, ref) {
|
|
|
1686
1829
|
document.addEventListener("keydown", handleEscape);
|
|
1687
1830
|
return () => document.removeEventListener("keydown", handleEscape);
|
|
1688
1831
|
}, [isOpen]);
|
|
1689
|
-
|
|
1832
|
+
React10__default.default.useEffect(() => {
|
|
1690
1833
|
if (!isOpen || activeIndex < 0) return;
|
|
1691
1834
|
const listbox = listboxRef.current;
|
|
1692
1835
|
if (!listbox) return;
|
|
@@ -1695,7 +1838,7 @@ var Select = React9.forwardRef(function Select2(props, ref) {
|
|
|
1695
1838
|
activeEl.scrollIntoView({ block: "nearest" });
|
|
1696
1839
|
}
|
|
1697
1840
|
}, [activeIndex, isOpen]);
|
|
1698
|
-
|
|
1841
|
+
React10__default.default.useEffect(() => {
|
|
1699
1842
|
if (isOpen) {
|
|
1700
1843
|
const firstSelectedIdx = options.findIndex(
|
|
1701
1844
|
(o) => !o.disabled && selectedValues.includes(o.value)
|
|
@@ -1778,7 +1921,7 @@ var Select = React9.forwardRef(function Select2(props, ref) {
|
|
|
1778
1921
|
children: [
|
|
1779
1922
|
label && /* @__PURE__ */ jsxRuntime.jsxs("label", { id: `${triggerId}-label`, className: "rh-flex rh-items-baseline rh-gap-1", children: [
|
|
1780
1923
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "rh-text-sm rh-font-medium rh-text-text", children: label }),
|
|
1781
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `rh-text-sm ${
|
|
1924
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `rh-text-sm ${getSubtitleClassName3(subtitle)}`, children: subtitle })
|
|
1782
1925
|
] }),
|
|
1783
1926
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1784
1927
|
"button",
|
|
@@ -1804,9 +1947,9 @@ var Select = React9.forwardRef(function Select2(props, ref) {
|
|
|
1804
1947
|
!backgroundColor && "rh-bg-surface",
|
|
1805
1948
|
"rh-transition-colors rh-duration-150",
|
|
1806
1949
|
"rh-text-left rh-w-full",
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1950
|
+
statusClasses3[visualStatus],
|
|
1951
|
+
radiusClasses5[radius],
|
|
1952
|
+
sizeClasses6[size],
|
|
1810
1953
|
disabled ? "rh-opacity-50 rh-cursor-not-allowed rh-bg-background" : "rh-cursor-pointer",
|
|
1811
1954
|
className
|
|
1812
1955
|
].filter(Boolean).join(" "),
|
|
@@ -1903,7 +2046,7 @@ var Select = React9.forwardRef(function Select2(props, ref) {
|
|
|
1903
2046
|
id: helperId,
|
|
1904
2047
|
className: [
|
|
1905
2048
|
"rh-flex rh-items-center rh-gap-1 rh-text-xs",
|
|
1906
|
-
|
|
2049
|
+
helperStatusClasses3[visualStatus]
|
|
1907
2050
|
].join(" "),
|
|
1908
2051
|
children: [
|
|
1909
2052
|
/* @__PURE__ */ jsxRuntime.jsx(WarningCircleIcon, {}),
|
|
@@ -1949,16 +2092,16 @@ var MODE_OPTIONS = [
|
|
|
1949
2092
|
{ value: "month", label: "M\xEAs" },
|
|
1950
2093
|
{ value: "year", label: "Ano" }
|
|
1951
2094
|
];
|
|
1952
|
-
var
|
|
2095
|
+
var statusClasses4 = {
|
|
1953
2096
|
default: "rh-border-border focus-within:rh-border-primary focus-within:rh-ring-2 focus-within:rh-ring-gray-200",
|
|
1954
2097
|
error: "rh-border-danger focus-within:rh-border-danger focus-within:rh-ring-2 focus-within:rh-ring-red-100"
|
|
1955
2098
|
};
|
|
1956
|
-
var
|
|
2099
|
+
var sizeClasses7 = {
|
|
1957
2100
|
sm: "rh-min-h-[32px] rh-text-sm rh-px-input-x-sm",
|
|
1958
2101
|
md: "rh-min-h-[40px] rh-text-sm rh-px-input-x-md",
|
|
1959
2102
|
lg: "rh-min-h-[48px] rh-text-base rh-px-input-x-lg"
|
|
1960
2103
|
};
|
|
1961
|
-
var
|
|
2104
|
+
var radiusClasses6 = {
|
|
1962
2105
|
none: "rh-rounded-none",
|
|
1963
2106
|
xxs: "rh-rounded-xxs",
|
|
1964
2107
|
xs: "rh-rounded-xs",
|
|
@@ -1978,11 +2121,11 @@ var dropdownRadiusClasses2 = {
|
|
|
1978
2121
|
xl: "rh-rounded-xs",
|
|
1979
2122
|
full: "rh-rounded-xs"
|
|
1980
2123
|
};
|
|
1981
|
-
var
|
|
2124
|
+
var helperStatusClasses4 = {
|
|
1982
2125
|
default: "rh-text-text-muted",
|
|
1983
2126
|
error: "rh-text-danger"
|
|
1984
2127
|
};
|
|
1985
|
-
var
|
|
2128
|
+
var getSubtitleClassName4 = (subtitle) => subtitle.trim() === "*" ? "rh-text-danger" : "rh-text-text-muted";
|
|
1986
2129
|
var ChevronIcon2 = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1987
2130
|
"svg",
|
|
1988
2131
|
{
|
|
@@ -2044,7 +2187,7 @@ var EraserIcon = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { widt
|
|
|
2044
2187
|
fill: "#374151"
|
|
2045
2188
|
}
|
|
2046
2189
|
) });
|
|
2047
|
-
var DateSelect =
|
|
2190
|
+
var DateSelect = React10.forwardRef(
|
|
2048
2191
|
function DateSelect2(props, ref) {
|
|
2049
2192
|
const {
|
|
2050
2193
|
label,
|
|
@@ -2062,38 +2205,38 @@ var DateSelect = React9.forwardRef(
|
|
|
2062
2205
|
backgroundColor,
|
|
2063
2206
|
modes
|
|
2064
2207
|
} = props;
|
|
2065
|
-
const triggerId =
|
|
2066
|
-
const helperId =
|
|
2067
|
-
const [isOpen, setIsOpen] =
|
|
2068
|
-
const [isHelperDismissed, setIsHelperDismissed] =
|
|
2069
|
-
const [dropdownAlign, setDropdownAlign] =
|
|
2070
|
-
const [internalValue, setInternalValue] =
|
|
2208
|
+
const triggerId = React10__default.default.useId();
|
|
2209
|
+
const helperId = React10__default.default.useId();
|
|
2210
|
+
const [isOpen, setIsOpen] = React10.useState(false);
|
|
2211
|
+
const [isHelperDismissed, setIsHelperDismissed] = React10.useState(false);
|
|
2212
|
+
const [dropdownAlign, setDropdownAlign] = React10.useState("left");
|
|
2213
|
+
const [internalValue, setInternalValue] = React10.useState(
|
|
2071
2214
|
props.defaultValue ?? { mode: "day" }
|
|
2072
2215
|
);
|
|
2073
2216
|
const isControlled = props.value !== void 0;
|
|
2074
2217
|
const value = isControlled ? props.value ?? internalValue : internalValue;
|
|
2075
|
-
const availableModes =
|
|
2218
|
+
const availableModes = React10.useMemo(
|
|
2076
2219
|
() => modes && modes.length > 0 ? MODE_OPTIONS.filter((o) => modes.includes(o.value)) : MODE_OPTIONS,
|
|
2077
2220
|
[modes]
|
|
2078
2221
|
);
|
|
2079
2222
|
const defaultMode = availableModes[0]?.value ?? "day";
|
|
2080
|
-
const [activeMode, setActiveMode] =
|
|
2223
|
+
const [activeMode, setActiveMode] = React10.useState(
|
|
2081
2224
|
availableModes.some((o) => o.value === (value.mode ?? "day")) ? value.mode ?? "day" : defaultMode
|
|
2082
2225
|
);
|
|
2083
|
-
const [selectedYear, setSelectedYear] =
|
|
2084
|
-
const [selectedMonth, setSelectedMonth] =
|
|
2226
|
+
const [selectedYear, setSelectedYear] = React10.useState((/* @__PURE__ */ new Date()).getFullYear());
|
|
2227
|
+
const [selectedMonth, setSelectedMonth] = React10.useState((/* @__PURE__ */ new Date()).getMonth());
|
|
2085
2228
|
const rightMonth = selectedMonth === 11 ? 0 : selectedMonth + 1;
|
|
2086
2229
|
const rightYear = selectedMonth === 11 ? selectedYear + 1 : selectedYear;
|
|
2087
|
-
const [intervalStart, setIntervalStart] =
|
|
2088
|
-
const [intervalEnd, setIntervalEnd] =
|
|
2089
|
-
const [hoverDate, setHoverDate] =
|
|
2090
|
-
const [yearGridStart, setYearGridStart] =
|
|
2230
|
+
const [intervalStart, setIntervalStart] = React10.useState(value.startDate);
|
|
2231
|
+
const [intervalEnd, setIntervalEnd] = React10.useState(value.endDate);
|
|
2232
|
+
const [hoverDate, setHoverDate] = React10.useState();
|
|
2233
|
+
const [yearGridStart, setYearGridStart] = React10.useState(
|
|
2091
2234
|
Math.floor((/* @__PURE__ */ new Date()).getFullYear() / 12) * 12
|
|
2092
2235
|
);
|
|
2093
|
-
const wrapperRef =
|
|
2094
|
-
const innerRef =
|
|
2095
|
-
const dropdownRef =
|
|
2096
|
-
|
|
2236
|
+
const wrapperRef = React10.useRef(null);
|
|
2237
|
+
const innerRef = React10.useRef(null);
|
|
2238
|
+
const dropdownRef = React10.useRef(null);
|
|
2239
|
+
React10__default.default.useImperativeHandle(ref, () => innerRef.current);
|
|
2097
2240
|
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
2098
2241
|
const yearStart = startYear ?? currentYear - 10;
|
|
2099
2242
|
const yearEnd = endYear ?? currentYear + 10;
|
|
@@ -2141,7 +2284,7 @@ var DateSelect = React9.forwardRef(
|
|
|
2141
2284
|
if (!isControlled) setInternalValue(newValue);
|
|
2142
2285
|
props.onChange?.(newValue);
|
|
2143
2286
|
};
|
|
2144
|
-
const displayText =
|
|
2287
|
+
const displayText = React10.useMemo(() => {
|
|
2145
2288
|
if (value.mode === "year" && value.year) return value.year.toString();
|
|
2146
2289
|
if (value.mode === "month" && value.year != null)
|
|
2147
2290
|
return `${MONTHS_SHORT[value.month || 0]} ${value.year}`;
|
|
@@ -2152,7 +2295,7 @@ var DateSelect = React9.forwardRef(
|
|
|
2152
2295
|
}
|
|
2153
2296
|
return null;
|
|
2154
2297
|
}, [value]);
|
|
2155
|
-
|
|
2298
|
+
React10.useEffect(() => {
|
|
2156
2299
|
if (!isOpen) return;
|
|
2157
2300
|
const handleClickOutside = (e) => {
|
|
2158
2301
|
if (wrapperRef.current && !wrapperRef.current.contains(e.target)) {
|
|
@@ -2162,7 +2305,7 @@ var DateSelect = React9.forwardRef(
|
|
|
2162
2305
|
document.addEventListener("mousedown", handleClickOutside);
|
|
2163
2306
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
2164
2307
|
}, [isOpen]);
|
|
2165
|
-
|
|
2308
|
+
React10.useEffect(() => {
|
|
2166
2309
|
if (!isOpen) return;
|
|
2167
2310
|
const handleEscape = (e) => {
|
|
2168
2311
|
if (e.key === "Escape") {
|
|
@@ -2173,7 +2316,7 @@ var DateSelect = React9.forwardRef(
|
|
|
2173
2316
|
document.addEventListener("keydown", handleEscape);
|
|
2174
2317
|
return () => document.removeEventListener("keydown", handleEscape);
|
|
2175
2318
|
}, [isOpen]);
|
|
2176
|
-
|
|
2319
|
+
React10.useEffect(() => {
|
|
2177
2320
|
if (!isOpen || !innerRef.current || !dropdownRef.current) return;
|
|
2178
2321
|
const triggerRect = innerRef.current.getBoundingClientRect();
|
|
2179
2322
|
const dropdownWidth = activeMode === "interval" ? 720 : 385;
|
|
@@ -2667,7 +2810,7 @@ var DateSelect = React9.forwardRef(
|
|
|
2667
2810
|
children: [
|
|
2668
2811
|
label && /* @__PURE__ */ jsxRuntime.jsxs("label", { id: `${triggerId}-label`, className: "rh-flex rh-items-baseline rh-gap-1", children: [
|
|
2669
2812
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "rh-text-sm rh-font-medium rh-text-text", children: label }),
|
|
2670
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `rh-text-sm ${
|
|
2813
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `rh-text-sm ${getSubtitleClassName4(subtitle)}`, children: subtitle })
|
|
2671
2814
|
] }),
|
|
2672
2815
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2673
2816
|
"button",
|
|
@@ -2691,9 +2834,9 @@ var DateSelect = React9.forwardRef(
|
|
|
2691
2834
|
!backgroundColor && "rh-bg-surface",
|
|
2692
2835
|
"rh-transition-colors rh-duration-150",
|
|
2693
2836
|
"rh-text-left rh-w-full",
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2837
|
+
statusClasses4[visualStatus],
|
|
2838
|
+
radiusClasses6[radius],
|
|
2839
|
+
sizeClasses7[size],
|
|
2697
2840
|
disabled ? "rh-opacity-50 rh-cursor-not-allowed rh-bg-background" : "rh-cursor-pointer",
|
|
2698
2841
|
className
|
|
2699
2842
|
].filter(Boolean).join(" "),
|
|
@@ -2747,7 +2890,7 @@ var DateSelect = React9.forwardRef(
|
|
|
2747
2890
|
id: helperId,
|
|
2748
2891
|
className: [
|
|
2749
2892
|
"rh-flex rh-items-center rh-gap-1 rh-text-xs",
|
|
2750
|
-
|
|
2893
|
+
helperStatusClasses4[visualStatus]
|
|
2751
2894
|
].join(" "),
|
|
2752
2895
|
children: [
|
|
2753
2896
|
/* @__PURE__ */ jsxRuntime.jsx(WarningCircleIcon, {}),
|
|
@@ -2768,16 +2911,16 @@ var CLOCK_HOURS_INNER = [0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23];
|
|
|
2768
2911
|
var CLOCK_MINUTES = Array.from({ length: 12 }, (_, index) => index * 5);
|
|
2769
2912
|
var pad = (n) => String(n).padStart(2, "0");
|
|
2770
2913
|
var clampClockPart = (value, max) => Math.min(max, Math.max(0, value));
|
|
2771
|
-
var
|
|
2914
|
+
var statusClasses5 = {
|
|
2772
2915
|
default: "rh-border-border focus-within:rh-border-primary focus-within:rh-ring-2 focus-within:rh-ring-gray-200",
|
|
2773
2916
|
error: "rh-border-danger focus-within:rh-border-danger focus-within:rh-ring-2 focus-within:rh-ring-red-100"
|
|
2774
2917
|
};
|
|
2775
|
-
var
|
|
2918
|
+
var sizeClasses8 = {
|
|
2776
2919
|
sm: "rh-min-h-[32px] rh-text-sm rh-px-input-x-sm",
|
|
2777
2920
|
md: "rh-min-h-[40px] rh-text-sm rh-px-input-x-md",
|
|
2778
2921
|
lg: "rh-min-h-[48px] rh-text-base rh-px-input-x-lg"
|
|
2779
2922
|
};
|
|
2780
|
-
var
|
|
2923
|
+
var radiusClasses7 = {
|
|
2781
2924
|
none: "rh-rounded-none",
|
|
2782
2925
|
xxs: "rh-rounded-xxs",
|
|
2783
2926
|
xs: "rh-rounded-xs",
|
|
@@ -2787,11 +2930,11 @@ var radiusClasses6 = {
|
|
|
2787
2930
|
xl: "rh-rounded-xl",
|
|
2788
2931
|
full: "rh-rounded-full"
|
|
2789
2932
|
};
|
|
2790
|
-
var
|
|
2933
|
+
var helperStatusClasses5 = {
|
|
2791
2934
|
default: "rh-text-text-muted",
|
|
2792
2935
|
error: "rh-text-danger"
|
|
2793
2936
|
};
|
|
2794
|
-
var
|
|
2937
|
+
var getSubtitleClassName5 = (subtitle) => subtitle.trim() === "*" ? "rh-text-danger" : "rh-text-text-muted";
|
|
2795
2938
|
var ClockIcon = () => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2796
2939
|
"svg",
|
|
2797
2940
|
{
|
|
@@ -2859,7 +3002,7 @@ function getRehagroPortalStyle(source) {
|
|
|
2859
3002
|
}
|
|
2860
3003
|
return variables;
|
|
2861
3004
|
}
|
|
2862
|
-
var TimePicker =
|
|
3005
|
+
var TimePicker = React10.forwardRef(
|
|
2863
3006
|
function TimePicker2(props, ref) {
|
|
2864
3007
|
const {
|
|
2865
3008
|
label,
|
|
@@ -2875,29 +3018,29 @@ var TimePicker = React9.forwardRef(
|
|
|
2875
3018
|
backgroundColor,
|
|
2876
3019
|
presentation = "dropdown"
|
|
2877
3020
|
} = props;
|
|
2878
|
-
const triggerId =
|
|
2879
|
-
const helperId =
|
|
3021
|
+
const triggerId = React10__default.default.useId();
|
|
3022
|
+
const helperId = React10__default.default.useId();
|
|
2880
3023
|
const isControlled = props.value !== void 0;
|
|
2881
|
-
const [internalValue, setInternalValue] =
|
|
3024
|
+
const [internalValue, setInternalValue] = React10.useState(
|
|
2882
3025
|
props.defaultValue ?? null
|
|
2883
3026
|
);
|
|
2884
3027
|
const committedValue = isControlled ? props.value ?? null : internalValue;
|
|
2885
|
-
const [isOpen, setIsOpen] =
|
|
2886
|
-
const [isHelperDismissed, setIsHelperDismissed] =
|
|
2887
|
-
const [dropdownAlign, setDropdownAlign] =
|
|
2888
|
-
const [clockStep, setClockStep] =
|
|
2889
|
-
const [isManualClockInput, setIsManualClockInput] =
|
|
2890
|
-
const [hasPendingValue, setHasPendingValue] =
|
|
2891
|
-
const [pendingHour, setPendingHour] =
|
|
2892
|
-
const [pendingMinute, setPendingMinute] =
|
|
2893
|
-
const wrapperRef =
|
|
2894
|
-
const innerRef =
|
|
2895
|
-
const dropdownRef =
|
|
2896
|
-
const hourColRef =
|
|
2897
|
-
const minuteColRef =
|
|
2898
|
-
|
|
3028
|
+
const [isOpen, setIsOpen] = React10.useState(false);
|
|
3029
|
+
const [isHelperDismissed, setIsHelperDismissed] = React10.useState(false);
|
|
3030
|
+
const [dropdownAlign, setDropdownAlign] = React10.useState("left");
|
|
3031
|
+
const [clockStep, setClockStep] = React10.useState("hour");
|
|
3032
|
+
const [isManualClockInput, setIsManualClockInput] = React10.useState(false);
|
|
3033
|
+
const [hasPendingValue, setHasPendingValue] = React10.useState(committedValue != null);
|
|
3034
|
+
const [pendingHour, setPendingHour] = React10.useState(committedValue?.hour ?? 0);
|
|
3035
|
+
const [pendingMinute, setPendingMinute] = React10.useState(committedValue?.minute ?? 0);
|
|
3036
|
+
const wrapperRef = React10.useRef(null);
|
|
3037
|
+
const innerRef = React10.useRef(null);
|
|
3038
|
+
const dropdownRef = React10.useRef(null);
|
|
3039
|
+
const hourColRef = React10.useRef(null);
|
|
3040
|
+
const minuteColRef = React10.useRef(null);
|
|
3041
|
+
React10__default.default.useImperativeHandle(ref, () => innerRef.current);
|
|
2899
3042
|
const visualStatus = helperText && isHelperDismissed ? "default" : status;
|
|
2900
|
-
|
|
3043
|
+
React10.useEffect(() => {
|
|
2901
3044
|
if (!isOpen) return;
|
|
2902
3045
|
const h = committedValue?.hour ?? 0;
|
|
2903
3046
|
const m = committedValue?.minute ?? 0;
|
|
@@ -2913,13 +3056,13 @@ var TimePicker = React9.forwardRef(
|
|
|
2913
3056
|
});
|
|
2914
3057
|
}
|
|
2915
3058
|
}, [isOpen]);
|
|
2916
|
-
|
|
3059
|
+
React10.useEffect(() => {
|
|
2917
3060
|
if (!isOpen || presentation !== "dropdown" || !innerRef.current) return;
|
|
2918
3061
|
const rect = innerRef.current.getBoundingClientRect();
|
|
2919
3062
|
const dropdownW = 240;
|
|
2920
3063
|
setDropdownAlign(window.innerWidth - rect.right >= dropdownW ? "left" : "right");
|
|
2921
3064
|
}, [isOpen, presentation]);
|
|
2922
|
-
|
|
3065
|
+
React10.useEffect(() => {
|
|
2923
3066
|
if (!isOpen || presentation !== "dropdown") return;
|
|
2924
3067
|
const handler = (e) => {
|
|
2925
3068
|
if (wrapperRef.current && !wrapperRef.current.contains(e.target)) {
|
|
@@ -2929,7 +3072,7 @@ var TimePicker = React9.forwardRef(
|
|
|
2929
3072
|
document.addEventListener("mousedown", handler);
|
|
2930
3073
|
return () => document.removeEventListener("mousedown", handler);
|
|
2931
3074
|
}, [isOpen, presentation]);
|
|
2932
|
-
|
|
3075
|
+
React10.useEffect(() => {
|
|
2933
3076
|
if (!isOpen) return;
|
|
2934
3077
|
const handler = (e) => {
|
|
2935
3078
|
if (e.key === "Escape") {
|
|
@@ -2940,7 +3083,7 @@ var TimePicker = React9.forwardRef(
|
|
|
2940
3083
|
document.addEventListener("keydown", handler);
|
|
2941
3084
|
return () => document.removeEventListener("keydown", handler);
|
|
2942
3085
|
}, [isOpen]);
|
|
2943
|
-
const commit =
|
|
3086
|
+
const commit = React10.useCallback(
|
|
2944
3087
|
(hour, minute) => {
|
|
2945
3088
|
const newValue = { hour, minute };
|
|
2946
3089
|
if (helperText) setIsHelperDismissed(true);
|
|
@@ -2950,7 +3093,7 @@ var TimePicker = React9.forwardRef(
|
|
|
2950
3093
|
},
|
|
2951
3094
|
[helperText, isControlled, props]
|
|
2952
3095
|
);
|
|
2953
|
-
const handleClear =
|
|
3096
|
+
const handleClear = React10.useCallback(() => {
|
|
2954
3097
|
setPendingHour(0);
|
|
2955
3098
|
setPendingMinute(0);
|
|
2956
3099
|
if (!isControlled) setInternalValue(null);
|
|
@@ -3028,7 +3171,7 @@ var TimePicker = React9.forwardRef(
|
|
|
3028
3171
|
children: [
|
|
3029
3172
|
label && /* @__PURE__ */ jsxRuntime.jsxs("label", { id: `${triggerId}-label`, className: "rh-flex rh-items-baseline rh-gap-1", children: [
|
|
3030
3173
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "rh-text-sm rh-font-medium rh-text-text", children: label }),
|
|
3031
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `rh-text-sm ${
|
|
3174
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `rh-text-sm ${getSubtitleClassName5(subtitle)}`, children: subtitle })
|
|
3032
3175
|
] }),
|
|
3033
3176
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3034
3177
|
"button",
|
|
@@ -3052,9 +3195,9 @@ var TimePicker = React9.forwardRef(
|
|
|
3052
3195
|
!backgroundColor && "rh-bg-surface",
|
|
3053
3196
|
"rh-transition-colors rh-duration-150",
|
|
3054
3197
|
"rh-text-left rh-w-full",
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3198
|
+
statusClasses5[visualStatus],
|
|
3199
|
+
radiusClasses7[radius],
|
|
3200
|
+
sizeClasses8[size],
|
|
3058
3201
|
disabled ? "rh-opacity-50 rh-cursor-not-allowed rh-bg-background" : "rh-cursor-pointer",
|
|
3059
3202
|
className
|
|
3060
3203
|
].filter(Boolean).join(" "),
|
|
@@ -3304,7 +3447,7 @@ var TimePicker = React9.forwardRef(
|
|
|
3304
3447
|
id: helperId,
|
|
3305
3448
|
className: [
|
|
3306
3449
|
"rh-flex rh-items-center rh-gap-1 rh-text-xs",
|
|
3307
|
-
|
|
3450
|
+
helperStatusClasses5[visualStatus]
|
|
3308
3451
|
].join(" "),
|
|
3309
3452
|
children: [
|
|
3310
3453
|
/* @__PURE__ */ jsxRuntime.jsx(WarningCircleIcon, {}),
|
|
@@ -3327,7 +3470,7 @@ var arrowVariantClasses = {
|
|
|
3327
3470
|
default: "rh-border-primary/20 rh-bg-primary/10",
|
|
3328
3471
|
dark: "rh-bg-primary"
|
|
3329
3472
|
};
|
|
3330
|
-
var
|
|
3473
|
+
var sizeClasses9 = {
|
|
3331
3474
|
sm: "rh-px-3 rh-py-1.5 rh-text-xs",
|
|
3332
3475
|
md: "rh-px-4 rh-py-3 rh-text-sm"
|
|
3333
3476
|
};
|
|
@@ -3359,7 +3502,7 @@ var arrowPlacementClasses = {
|
|
|
3359
3502
|
"right-start": "rh-left-0 rh-top-3 rh--translate-x-1/2 rh-rotate-45",
|
|
3360
3503
|
"right-end": "rh-left-0 rh-bottom-3 rh--translate-x-1/2 rh-rotate-45"
|
|
3361
3504
|
};
|
|
3362
|
-
var Tooltip =
|
|
3505
|
+
var Tooltip = React10.forwardRef(
|
|
3363
3506
|
function Tooltip2({
|
|
3364
3507
|
title,
|
|
3365
3508
|
description,
|
|
@@ -3375,12 +3518,12 @@ var Tooltip = React9.forwardRef(
|
|
|
3375
3518
|
children,
|
|
3376
3519
|
className = ""
|
|
3377
3520
|
}, ref) {
|
|
3378
|
-
const [internalOpen, setInternalOpen] =
|
|
3379
|
-
const enterTimerRef =
|
|
3380
|
-
const leaveTimerRef =
|
|
3521
|
+
const [internalOpen, setInternalOpen] = React10.useState(false);
|
|
3522
|
+
const enterTimerRef = React10.useRef(null);
|
|
3523
|
+
const leaveTimerRef = React10.useRef(null);
|
|
3381
3524
|
const isControlled = controlledOpen !== void 0;
|
|
3382
3525
|
const isOpen = isControlled ? controlledOpen : internalOpen;
|
|
3383
|
-
const setOpen =
|
|
3526
|
+
const setOpen = React10.useCallback(
|
|
3384
3527
|
(value) => {
|
|
3385
3528
|
if (!isControlled) {
|
|
3386
3529
|
setInternalOpen(value);
|
|
@@ -3389,7 +3532,7 @@ var Tooltip = React9.forwardRef(
|
|
|
3389
3532
|
},
|
|
3390
3533
|
[isControlled, onOpenChange]
|
|
3391
3534
|
);
|
|
3392
|
-
const clearTimers =
|
|
3535
|
+
const clearTimers = React10.useCallback(() => {
|
|
3393
3536
|
if (enterTimerRef.current) {
|
|
3394
3537
|
clearTimeout(enterTimerRef.current);
|
|
3395
3538
|
enterTimerRef.current = null;
|
|
@@ -3399,27 +3542,27 @@ var Tooltip = React9.forwardRef(
|
|
|
3399
3542
|
leaveTimerRef.current = null;
|
|
3400
3543
|
}
|
|
3401
3544
|
}, []);
|
|
3402
|
-
const handleEnter =
|
|
3545
|
+
const handleEnter = React10.useCallback(() => {
|
|
3403
3546
|
clearTimers();
|
|
3404
3547
|
enterTimerRef.current = setTimeout(() => {
|
|
3405
3548
|
setOpen(true);
|
|
3406
3549
|
}, enterDelay);
|
|
3407
3550
|
}, [clearTimers, enterDelay, setOpen]);
|
|
3408
|
-
const handleLeave =
|
|
3551
|
+
const handleLeave = React10.useCallback(() => {
|
|
3409
3552
|
clearTimers();
|
|
3410
3553
|
leaveTimerRef.current = setTimeout(() => {
|
|
3411
3554
|
setOpen(false);
|
|
3412
3555
|
}, leaveDelay);
|
|
3413
3556
|
}, [clearTimers, leaveDelay, setOpen]);
|
|
3414
|
-
const handleClose =
|
|
3557
|
+
const handleClose = React10.useCallback(() => {
|
|
3415
3558
|
clearTimers();
|
|
3416
3559
|
setOpen(false);
|
|
3417
3560
|
}, [clearTimers, setOpen]);
|
|
3418
|
-
|
|
3561
|
+
React10.useEffect(() => {
|
|
3419
3562
|
return () => clearTimers();
|
|
3420
3563
|
}, [clearTimers]);
|
|
3421
|
-
const triggerChild =
|
|
3422
|
-
const triggerElement =
|
|
3564
|
+
const triggerChild = React10__default.default.Children.only(children);
|
|
3565
|
+
const triggerElement = React10__default.default.cloneElement(triggerChild, {
|
|
3423
3566
|
onMouseEnter: (e) => {
|
|
3424
3567
|
handleEnter();
|
|
3425
3568
|
triggerChild.props.onMouseEnter?.(e);
|
|
@@ -3458,7 +3601,7 @@ var Tooltip = React9.forwardRef(
|
|
|
3458
3601
|
"rh-absolute rh-z-50 rh-w-max rh-max-w-xs rh-rounded-xs",
|
|
3459
3602
|
tooltipPlacementClasses[placement],
|
|
3460
3603
|
variantClasses[variant],
|
|
3461
|
-
|
|
3604
|
+
sizeClasses9[size],
|
|
3462
3605
|
className
|
|
3463
3606
|
].filter(Boolean).join(" "),
|
|
3464
3607
|
children: [
|
|
@@ -3559,7 +3702,7 @@ function getAvatarColors(name) {
|
|
|
3559
3702
|
const index = hash % AVATAR_COLORS.length;
|
|
3560
3703
|
return AVATAR_COLORS[index];
|
|
3561
3704
|
}
|
|
3562
|
-
var
|
|
3705
|
+
var sizeClasses10 = {
|
|
3563
3706
|
sm: "rh-w-8 rh-h-8 rh-text-xs",
|
|
3564
3707
|
md: "rh-w-10 rh-h-10 rh-text-sm",
|
|
3565
3708
|
lg: "rh-w-12 rh-h-12 rh-text-base",
|
|
@@ -3575,10 +3718,10 @@ var variantClasses2 = {
|
|
|
3575
3718
|
circle: "rh-rounded-full",
|
|
3576
3719
|
square: "rh-rounded-sm"
|
|
3577
3720
|
};
|
|
3578
|
-
var Avatar =
|
|
3579
|
-
const [imgError, setImgError] =
|
|
3721
|
+
var Avatar = React10.forwardRef(function Avatar2({ src, alt = "", initials, size = "md", variant = "circle", colorFromName = false, className = "", style, ...rest }, ref) {
|
|
3722
|
+
const [imgError, setImgError] = React10.useState(false);
|
|
3580
3723
|
const showImage = src && !imgError;
|
|
3581
|
-
const avatarColors =
|
|
3724
|
+
const avatarColors = React10.useMemo(() => {
|
|
3582
3725
|
if (!colorFromName) return null;
|
|
3583
3726
|
const name = initials || alt || "";
|
|
3584
3727
|
return name ? getAvatarColors(name) : null;
|
|
@@ -3594,7 +3737,7 @@ var Avatar = React9.forwardRef(function Avatar2({ src, alt = "", initials, size
|
|
|
3594
3737
|
"rh-inline-flex rh-items-center rh-justify-center rh-shrink-0 rh-overflow-hidden",
|
|
3595
3738
|
avatarColors ? "" : "rh-bg-primary rh-text-surface",
|
|
3596
3739
|
"rh-font-display rh-font-medium rh-select-none",
|
|
3597
|
-
|
|
3740
|
+
sizeClasses10[size],
|
|
3598
3741
|
variantClasses2[variant],
|
|
3599
3742
|
className
|
|
3600
3743
|
].filter(Boolean).join(" "),
|
|
@@ -3661,7 +3804,7 @@ var hoverInactivePresetClasses = {
|
|
|
3661
3804
|
info: "hover:rh-bg-info/20 hover:rh-border-info/50",
|
|
3662
3805
|
neutral: "hover:rh-bg-neutral/20 hover:rh-border-neutral/50"
|
|
3663
3806
|
};
|
|
3664
|
-
var
|
|
3807
|
+
var sizeClasses11 = {
|
|
3665
3808
|
sm: "rh-text-xs rh-px-2 rh-py-0.5 rh-gap-1",
|
|
3666
3809
|
md: "rh-text-sm rh-px-2.5 rh-py-1 rh-gap-1.5",
|
|
3667
3810
|
lg: "rh-text-sm rh-px-3 rh-py-1.5 rh-gap-1.5"
|
|
@@ -3676,7 +3819,7 @@ function getCustomColorStyles(color, active) {
|
|
|
3676
3819
|
color
|
|
3677
3820
|
};
|
|
3678
3821
|
}
|
|
3679
|
-
var Tag =
|
|
3822
|
+
var Tag = React10.forwardRef(function Tag2({
|
|
3680
3823
|
color = "primary",
|
|
3681
3824
|
size = "md",
|
|
3682
3825
|
active = false,
|
|
@@ -3708,7 +3851,7 @@ var Tag = React9.forwardRef(function Tag2({
|
|
|
3708
3851
|
"rh-transition-colors rh-duration-150",
|
|
3709
3852
|
"rh-cursor-pointer",
|
|
3710
3853
|
clickable ? "rh-cursor-pointer" : "",
|
|
3711
|
-
|
|
3854
|
+
sizeClasses11[size],
|
|
3712
3855
|
colorClasses3,
|
|
3713
3856
|
hoverClasses,
|
|
3714
3857
|
disabled ? "rh-opacity-50 rh-cursor-not-allowed rh-pointer-events-none" : "",
|
|
@@ -3725,16 +3868,16 @@ var Tag = React9.forwardRef(function Tag2({
|
|
|
3725
3868
|
}
|
|
3726
3869
|
);
|
|
3727
3870
|
});
|
|
3728
|
-
var
|
|
3871
|
+
var statusClasses6 = {
|
|
3729
3872
|
default: "rh-border-border focus-within:rh-ring-2 focus-within:rh-ring-ring focus-within:rh-ring-offset-2",
|
|
3730
3873
|
error: "rh-border-danger focus-within:rh-ring-2 focus-within:rh-ring-danger focus-within:rh-ring-offset-2"
|
|
3731
3874
|
};
|
|
3732
|
-
var
|
|
3875
|
+
var sizeClasses12 = {
|
|
3733
3876
|
sm: "rh-min-h-[36px] rh-text-sm rh-px-2 rh-py-1",
|
|
3734
3877
|
md: "rh-h-[44px] rh-text-sm rh-px-2 rh-py-[6px]",
|
|
3735
3878
|
lg: "rh-min-h-[52px] rh-text-base rh-px-3 rh-py-2"
|
|
3736
3879
|
};
|
|
3737
|
-
var
|
|
3880
|
+
var radiusClasses8 = {
|
|
3738
3881
|
none: "rh-rounded-none",
|
|
3739
3882
|
xxs: "rh-rounded-xxs",
|
|
3740
3883
|
xs: "rh-rounded-xs",
|
|
@@ -3744,7 +3887,7 @@ var radiusClasses7 = {
|
|
|
3744
3887
|
xl: "rh-rounded-xl",
|
|
3745
3888
|
full: "rh-rounded-full"
|
|
3746
3889
|
};
|
|
3747
|
-
var
|
|
3890
|
+
var helperStatusClasses6 = {
|
|
3748
3891
|
default: "rh-text-text-muted",
|
|
3749
3892
|
error: "rh-text-danger"
|
|
3750
3893
|
};
|
|
@@ -3763,8 +3906,8 @@ var addButtonSizeClasses = {
|
|
|
3763
3906
|
md: "rh-w-5 rh-h-5",
|
|
3764
3907
|
lg: "rh-w-5 rh-h-5"
|
|
3765
3908
|
};
|
|
3766
|
-
var
|
|
3767
|
-
var TagInput =
|
|
3909
|
+
var getSubtitleClassName6 = (subtitle) => subtitle.trim() === "*" ? "rh-text-danger" : "rh-text-text-muted";
|
|
3910
|
+
var TagInput = React10.forwardRef(function TagInput2({
|
|
3768
3911
|
label,
|
|
3769
3912
|
subtitle,
|
|
3770
3913
|
options = [],
|
|
@@ -3779,10 +3922,10 @@ var TagInput = React9.forwardRef(function TagInput2({
|
|
|
3779
3922
|
className = "",
|
|
3780
3923
|
wrapperClassName = ""
|
|
3781
3924
|
}, ref) {
|
|
3782
|
-
const inputId =
|
|
3783
|
-
const [isOpen, setIsOpen] =
|
|
3784
|
-
const containerRef =
|
|
3785
|
-
|
|
3925
|
+
const inputId = React10__default.default.useId();
|
|
3926
|
+
const [isOpen, setIsOpen] = React10.useState(false);
|
|
3927
|
+
const containerRef = React10.useRef(null);
|
|
3928
|
+
React10.useEffect(() => {
|
|
3786
3929
|
const handleClickOutside = (event) => {
|
|
3787
3930
|
if (containerRef.current && !containerRef.current.contains(event.target)) {
|
|
3788
3931
|
setIsOpen(false);
|
|
@@ -3820,7 +3963,7 @@ var TagInput = React9.forwardRef(function TagInput2({
|
|
|
3820
3963
|
children: [
|
|
3821
3964
|
label && /* @__PURE__ */ jsxRuntime.jsxs("label", { htmlFor: inputId, className: "rh-flex rh-items-baseline rh-gap-1", children: [
|
|
3822
3965
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "rh-text-sm rh-font-semibold rh-text-text", children: label }),
|
|
3823
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `rh-text-sm ${
|
|
3966
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `rh-text-sm ${getSubtitleClassName6(subtitle)}`, children: subtitle })
|
|
3824
3967
|
] }),
|
|
3825
3968
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3826
3969
|
"div",
|
|
@@ -3830,9 +3973,9 @@ var TagInput = React9.forwardRef(function TagInput2({
|
|
|
3830
3973
|
"rh-flex rh-flex-row rh-items-center rh-justify-between rh-gap-2",
|
|
3831
3974
|
"rh-border rh-bg-surface rh-font-body",
|
|
3832
3975
|
"rh-transition-colors rh-duration-150",
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
|
|
3976
|
+
statusClasses6[status],
|
|
3977
|
+
radiusClasses8[radius],
|
|
3978
|
+
sizeClasses12[size],
|
|
3836
3979
|
disabled ? "rh-opacity-50 rh-cursor-not-allowed rh-bg-background" : "rh-cursor-pointer",
|
|
3837
3980
|
className
|
|
3838
3981
|
].filter(Boolean).join(" "),
|
|
@@ -3995,7 +4138,7 @@ var TagInput = React9.forwardRef(function TagInput2({
|
|
|
3995
4138
|
id: `${inputId}-helper`,
|
|
3996
4139
|
className: [
|
|
3997
4140
|
"rh-flex rh-items-center rh-gap-1 rh-text-xs",
|
|
3998
|
-
|
|
4141
|
+
helperStatusClasses6[status]
|
|
3999
4142
|
].join(" "),
|
|
4000
4143
|
children: helperText
|
|
4001
4144
|
}
|
|
@@ -4015,7 +4158,7 @@ function resolveThickness(thickness) {
|
|
|
4015
4158
|
if (typeof thickness === "number") return thickness;
|
|
4016
4159
|
return THICKNESS_MAP[thickness];
|
|
4017
4160
|
}
|
|
4018
|
-
var ProgressBar =
|
|
4161
|
+
var ProgressBar = React10.forwardRef(function ProgressBar2({
|
|
4019
4162
|
value,
|
|
4020
4163
|
label,
|
|
4021
4164
|
variant = "inline",
|
|
@@ -4102,12 +4245,12 @@ var PRESET_COLORS5 = /* @__PURE__ */ new Set([
|
|
|
4102
4245
|
"info"
|
|
4103
4246
|
]);
|
|
4104
4247
|
var isPresetColor5 = (color) => PRESET_COLORS5.has(color);
|
|
4105
|
-
var
|
|
4248
|
+
var sizeClasses13 = {
|
|
4106
4249
|
sm: { container: "rh-h-8", button: "rh-px-2 rh-text-xs" },
|
|
4107
4250
|
md: { container: "rh-h-9", button: "rh-px-3 rh-text-sm" },
|
|
4108
4251
|
lg: { container: "rh-h-10", button: "rh-px-4 rh-text-sm" }
|
|
4109
4252
|
};
|
|
4110
|
-
var
|
|
4253
|
+
var radiusClasses9 = {
|
|
4111
4254
|
none: "rh-rounded-none",
|
|
4112
4255
|
xs: "rh-rounded-xs",
|
|
4113
4256
|
sm: "rh-rounded-sm",
|
|
@@ -4140,8 +4283,8 @@ function ToggleGroupInner({
|
|
|
4140
4283
|
className: [
|
|
4141
4284
|
"rh-inline-flex rh-items-center rh-bg-muted rh-overflow-hidden",
|
|
4142
4285
|
"rh-p-1 rh-gap-0.5",
|
|
4143
|
-
|
|
4144
|
-
|
|
4286
|
+
radiusClasses9[radius],
|
|
4287
|
+
sizeClasses13[size].container,
|
|
4145
4288
|
disabled ? "rh-opacity-50 rh-cursor-not-allowed" : "",
|
|
4146
4289
|
className
|
|
4147
4290
|
].filter(Boolean).join(" "),
|
|
@@ -4163,8 +4306,8 @@ function ToggleGroupInner({
|
|
|
4163
4306
|
"rh-border-0 rh-font-display rh-font-medium",
|
|
4164
4307
|
"rh-transition-all rh-duration-150",
|
|
4165
4308
|
"focus-visible:rh-outline-none focus-visible:rh-ring-2 focus-visible:rh-ring-ring",
|
|
4166
|
-
|
|
4167
|
-
|
|
4309
|
+
radiusClasses9[radius],
|
|
4310
|
+
sizeClasses13[size].button,
|
|
4168
4311
|
isActive ? "rh-bg-surface rh-text-text rh-shadow-sm" : "rh-bg-transparent rh-text-text-muted",
|
|
4169
4312
|
!isActive && !isDisabled ? "hover:rh-bg-surface/50" : "",
|
|
4170
4313
|
isDisabled ? "rh-cursor-not-allowed rh-pointer-events-none" : "rh-cursor-pointer"
|
|
@@ -4181,13 +4324,13 @@ function ToggleGroupInner({
|
|
|
4181
4324
|
}
|
|
4182
4325
|
);
|
|
4183
4326
|
}
|
|
4184
|
-
var ToggleGroup =
|
|
4327
|
+
var ToggleGroup = React10.forwardRef(ToggleGroupInner);
|
|
4185
4328
|
var variantClasses3 = {
|
|
4186
4329
|
elevated: "rh-bg-surface rh-shadow-md rh-border-0",
|
|
4187
4330
|
outlined: "rh-bg-surface rh-border rh-border-border rh-shadow-none",
|
|
4188
4331
|
filled: "rh-bg-background rh-border-0 rh-shadow-none"
|
|
4189
4332
|
};
|
|
4190
|
-
var
|
|
4333
|
+
var radiusClasses10 = {
|
|
4191
4334
|
none: "rh-rounded-none",
|
|
4192
4335
|
xs: "rh-rounded-xs",
|
|
4193
4336
|
sm: "rh-rounded-sm",
|
|
@@ -4201,7 +4344,7 @@ var paddingClasses = {
|
|
|
4201
4344
|
md: "rh-p-4",
|
|
4202
4345
|
lg: "rh-p-6"
|
|
4203
4346
|
};
|
|
4204
|
-
var CardRoot =
|
|
4347
|
+
var CardRoot = React10.forwardRef(function Card({
|
|
4205
4348
|
variant = "outlined",
|
|
4206
4349
|
radius = "sm",
|
|
4207
4350
|
padding = "md",
|
|
@@ -4222,7 +4365,7 @@ var CardRoot = React9.forwardRef(function Card({
|
|
|
4222
4365
|
className: [
|
|
4223
4366
|
"rh-font-body rh-transition-all rh-duration-150",
|
|
4224
4367
|
variantClasses3[variant],
|
|
4225
|
-
|
|
4368
|
+
radiusClasses10[radius],
|
|
4226
4369
|
paddingClasses[padding],
|
|
4227
4370
|
isInteractive ? "rh-cursor-pointer hover:rh-shadow-lg hover:rh-scale-[1.01] active:rh-scale-[0.99]" : "",
|
|
4228
4371
|
disabled ? "rh-opacity-50 rh-cursor-not-allowed rh-pointer-events-none" : "",
|
|
@@ -4233,7 +4376,7 @@ var CardRoot = React9.forwardRef(function Card({
|
|
|
4233
4376
|
}
|
|
4234
4377
|
);
|
|
4235
4378
|
});
|
|
4236
|
-
var CardHeader =
|
|
4379
|
+
var CardHeader = React10.forwardRef(function CardHeader2({ className = "", children, ...rest }, ref) {
|
|
4237
4380
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4238
4381
|
"div",
|
|
4239
4382
|
{
|
|
@@ -4244,10 +4387,10 @@ var CardHeader = React9.forwardRef(function CardHeader2({ className = "", childr
|
|
|
4244
4387
|
}
|
|
4245
4388
|
);
|
|
4246
4389
|
});
|
|
4247
|
-
var CardContent =
|
|
4390
|
+
var CardContent = React10.forwardRef(function CardContent2({ className = "", children, ...rest }, ref) {
|
|
4248
4391
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: ["rh-mt-2", className].filter(Boolean).join(" "), ...rest, children });
|
|
4249
4392
|
});
|
|
4250
|
-
var CardFooter =
|
|
4393
|
+
var CardFooter = React10.forwardRef(function CardFooter2({ className = "", children, ...rest }, ref) {
|
|
4251
4394
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4252
4395
|
"div",
|
|
4253
4396
|
{
|
|
@@ -4275,7 +4418,7 @@ var PRESET_COLORS6 = /* @__PURE__ */ new Set([
|
|
|
4275
4418
|
"info"
|
|
4276
4419
|
]);
|
|
4277
4420
|
var isPresetColor6 = (color) => PRESET_COLORS6.has(color);
|
|
4278
|
-
var
|
|
4421
|
+
var sizeClasses14 = {
|
|
4279
4422
|
xs: "rh-w-3 rh-h-3",
|
|
4280
4423
|
sm: "rh-w-4 rh-h-4",
|
|
4281
4424
|
md: "rh-w-6 rh-h-6",
|
|
@@ -4291,7 +4434,7 @@ var colorClasses = {
|
|
|
4291
4434
|
info: "rh-text-info",
|
|
4292
4435
|
neutral: "rh-text-neutral"
|
|
4293
4436
|
};
|
|
4294
|
-
var Spinner =
|
|
4437
|
+
var Spinner = React10.forwardRef(function Spinner2({ size = "md", color = "primary", label = "Carregando...", className = "", style, ...rest }, ref) {
|
|
4295
4438
|
const preset = isPresetColor6(color);
|
|
4296
4439
|
const colorClass = preset ? colorClasses[color] : "";
|
|
4297
4440
|
const customStyle = preset ? style : { ...style, color };
|
|
@@ -4303,7 +4446,7 @@ var Spinner = React9.forwardRef(function Spinner2({ size = "md", color = "primar
|
|
|
4303
4446
|
"aria-label": label,
|
|
4304
4447
|
className: [
|
|
4305
4448
|
"rh-inline-flex rh-items-center rh-justify-center",
|
|
4306
|
-
|
|
4449
|
+
sizeClasses14[size],
|
|
4307
4450
|
colorClass,
|
|
4308
4451
|
className
|
|
4309
4452
|
].filter(Boolean).join(" "),
|
|
@@ -4430,13 +4573,13 @@ var DatePickerDropdown = ({
|
|
|
4430
4573
|
const today = /* @__PURE__ */ new Date();
|
|
4431
4574
|
const opaqueBackgroundColor = removeHexAlpha(backgroundColor);
|
|
4432
4575
|
const calendarTextStyle = textColor ? { color: textColor } : void 0;
|
|
4433
|
-
const [viewYear, setViewYear] =
|
|
4576
|
+
const [viewYear, setViewYear] = React10.useState(
|
|
4434
4577
|
selectedDate ? selectedDate.getFullYear() : today.getFullYear()
|
|
4435
4578
|
);
|
|
4436
|
-
const [viewMonth, setViewMonth] =
|
|
4437
|
-
const [tempDate, setTempDate] =
|
|
4438
|
-
const dropdownRef =
|
|
4439
|
-
|
|
4579
|
+
const [viewMonth, setViewMonth] = React10.useState(selectedDate ? selectedDate.getMonth() : today.getMonth());
|
|
4580
|
+
const [tempDate, setTempDate] = React10.useState(selectedDate);
|
|
4581
|
+
const dropdownRef = React10.useRef(null);
|
|
4582
|
+
React10.useEffect(() => {
|
|
4440
4583
|
const handleClickOutside = (e) => {
|
|
4441
4584
|
const target = e.target;
|
|
4442
4585
|
if (dropdownRef.current && !dropdownRef.current.contains(target) && containerRef.current && !containerRef.current.contains(target)) {
|
|
@@ -4583,11 +4726,11 @@ var CustomSelect = ({
|
|
|
4583
4726
|
type = "select",
|
|
4584
4727
|
disabled = false
|
|
4585
4728
|
}) => {
|
|
4586
|
-
const [isOpen, setIsOpen] =
|
|
4587
|
-
const [dropdownStyle, setDropdownStyle] =
|
|
4588
|
-
const containerRef =
|
|
4589
|
-
const textAreaRef =
|
|
4590
|
-
const resizeTextArea =
|
|
4729
|
+
const [isOpen, setIsOpen] = React10.useState(false);
|
|
4730
|
+
const [dropdownStyle, setDropdownStyle] = React10.useState({});
|
|
4731
|
+
const containerRef = React10.useRef(null);
|
|
4732
|
+
const textAreaRef = React10.useRef(null);
|
|
4733
|
+
const resizeTextArea = React10__default.default.useCallback(() => {
|
|
4591
4734
|
if (type !== "textInput" || !textAreaRef.current) return;
|
|
4592
4735
|
const textarea = textAreaRef.current;
|
|
4593
4736
|
textarea.style.height = "auto";
|
|
@@ -4619,7 +4762,7 @@ var CustomSelect = ({
|
|
|
4619
4762
|
if (!isOpen) setDropdownStyle(calcPosition());
|
|
4620
4763
|
setIsOpen((prev) => !prev);
|
|
4621
4764
|
};
|
|
4622
|
-
|
|
4765
|
+
React10.useEffect(() => {
|
|
4623
4766
|
if (!isOpen) return;
|
|
4624
4767
|
const close = () => setIsOpen(false);
|
|
4625
4768
|
window.addEventListener("scroll", close, { capture: true, passive: true });
|
|
@@ -4629,11 +4772,11 @@ var CustomSelect = ({
|
|
|
4629
4772
|
window.removeEventListener("resize", close);
|
|
4630
4773
|
};
|
|
4631
4774
|
}, [isOpen]);
|
|
4632
|
-
|
|
4775
|
+
React10.useEffect(() => {
|
|
4633
4776
|
resizeTextArea();
|
|
4634
4777
|
}, [resizeTextArea, value]);
|
|
4635
4778
|
const selectedOption = options.find((opt) => opt.value === value);
|
|
4636
|
-
|
|
4779
|
+
React10.useEffect(() => {
|
|
4637
4780
|
if (type !== "select") return;
|
|
4638
4781
|
const handleClickOutside = (e) => {
|
|
4639
4782
|
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
@@ -4732,7 +4875,7 @@ var CustomSelect = ({
|
|
|
4732
4875
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4733
4876
|
"span",
|
|
4734
4877
|
{
|
|
4735
|
-
className: "rh-px-
|
|
4878
|
+
className: "rh-px-3.5 rh-py-0.5 rh-font-semibold rh-rounded-xl rh-text-white rh-text-[12px] rh-whitespace-normal rh-break-words",
|
|
4736
4879
|
style: {
|
|
4737
4880
|
backgroundColor: option.backgroundColor || backgroundColor || "transparent",
|
|
4738
4881
|
fontFamily: "Inter, sans-serif",
|
|
@@ -4763,7 +4906,7 @@ var CustomSelect = ({
|
|
|
4763
4906
|
)
|
|
4764
4907
|
] });
|
|
4765
4908
|
};
|
|
4766
|
-
var
|
|
4909
|
+
var sizeClasses15 = {
|
|
4767
4910
|
sm: { cell: "rh-px-2 rh-py-2 rh-text-xs", header: "rh-px-2 rh-py-2 rh-text-xs" },
|
|
4768
4911
|
md: { cell: "rh-px-3 rh-py-3 rh-text-sm", header: "rh-px-3 rh-py-3 rh-text-xs" },
|
|
4769
4912
|
lg: { cell: "rh-px-4 rh-py-4 rh-text-sm", header: "rh-px-4 rh-py-3 rh-text-sm" }
|
|
@@ -4920,7 +5063,7 @@ function TableInner({
|
|
|
4920
5063
|
...rowPaddingStyle
|
|
4921
5064
|
},
|
|
4922
5065
|
className: [
|
|
4923
|
-
rowPadding ? "" :
|
|
5066
|
+
rowPadding ? "" : sizeClasses15[size].header,
|
|
4924
5067
|
alignClasses[column.align || "left"],
|
|
4925
5068
|
`rh-font-semibold rh-whitespace-nowrap ${headerTextClassName || "rh-text-text-muted"}`,
|
|
4926
5069
|
stickyHeader ? "rh-sticky rh-top-0 rh-bg-surface rh-z-10" : "",
|
|
@@ -5001,7 +5144,7 @@ function TableInner({
|
|
|
5001
5144
|
{
|
|
5002
5145
|
style: { width: column.width, maxWidth: column.maxWidth, ...rowPaddingStyle },
|
|
5003
5146
|
className: [
|
|
5004
|
-
rowPadding ? "" :
|
|
5147
|
+
rowPadding ? "" : sizeClasses15[size].cell,
|
|
5005
5148
|
alignClasses[column.align || "left"],
|
|
5006
5149
|
"rh-text-text"
|
|
5007
5150
|
].filter(Boolean).join(" "),
|
|
@@ -5058,7 +5201,7 @@ function TableInner({
|
|
|
5058
5201
|
}
|
|
5059
5202
|
) });
|
|
5060
5203
|
}
|
|
5061
|
-
var Table =
|
|
5204
|
+
var Table = React10.forwardRef(TableInner);
|
|
5062
5205
|
var defaultElements = {
|
|
5063
5206
|
h1: "h1",
|
|
5064
5207
|
h2: "h2",
|
|
@@ -5146,7 +5289,7 @@ var colorClasses2 = {
|
|
|
5146
5289
|
warning: "rh-text-warning",
|
|
5147
5290
|
info: "rh-text-info"
|
|
5148
5291
|
};
|
|
5149
|
-
var Typography =
|
|
5292
|
+
var Typography = React10.forwardRef(function Typography2({
|
|
5150
5293
|
variant = "body",
|
|
5151
5294
|
color = "default",
|
|
5152
5295
|
bold = false,
|
|
@@ -5159,7 +5302,7 @@ var Typography = React9.forwardRef(function Typography2({
|
|
|
5159
5302
|
}, ref) {
|
|
5160
5303
|
const element = as ?? defaultElements[variant];
|
|
5161
5304
|
const weightClass = bold ? "rh-font-bold" : semibold ? "rh-font-semibold" : medium ? "rh-font-medium" : "";
|
|
5162
|
-
return
|
|
5305
|
+
return React10__default.default.createElement(
|
|
5163
5306
|
element,
|
|
5164
5307
|
{
|
|
5165
5308
|
ref,
|
|
@@ -5211,7 +5354,7 @@ function getVisiblePages(currentPage, totalPages, maxVisible) {
|
|
|
5211
5354
|
}
|
|
5212
5355
|
return pages;
|
|
5213
5356
|
}
|
|
5214
|
-
var Pagination =
|
|
5357
|
+
var Pagination = React10.forwardRef(function Pagination2({
|
|
5215
5358
|
currentPage,
|
|
5216
5359
|
totalPages,
|
|
5217
5360
|
onPageChange,
|
|
@@ -5220,7 +5363,7 @@ var Pagination = React9.forwardRef(function Pagination2({
|
|
|
5220
5363
|
className = "",
|
|
5221
5364
|
disabled = false
|
|
5222
5365
|
}, ref) {
|
|
5223
|
-
const visiblePages =
|
|
5366
|
+
const visiblePages = React10.useMemo(
|
|
5224
5367
|
() => getVisiblePages(currentPage, totalPages, maxVisible),
|
|
5225
5368
|
[currentPage, totalPages, maxVisible]
|
|
5226
5369
|
);
|
|
@@ -5327,7 +5470,7 @@ var Pagination = React9.forwardRef(function Pagination2({
|
|
|
5327
5470
|
}
|
|
5328
5471
|
);
|
|
5329
5472
|
});
|
|
5330
|
-
var Container =
|
|
5473
|
+
var Container = React10.forwardRef(
|
|
5331
5474
|
function Container2({ fluid = false, className = "", children, ...rest }, ref) {
|
|
5332
5475
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5333
5476
|
"div",
|
|
@@ -5359,7 +5502,7 @@ var colsClasses = {
|
|
|
5359
5502
|
11: "rh-grid-cols-11",
|
|
5360
5503
|
12: "rh-grid-cols-12"
|
|
5361
5504
|
};
|
|
5362
|
-
var GridContainer =
|
|
5505
|
+
var GridContainer = React10.forwardRef(
|
|
5363
5506
|
function GridContainer2({ columns, spacing, className = "", style, children, ...rest }, ref) {
|
|
5364
5507
|
const colClass = columns ? colsClasses[columns] : "rh-grid-cols-4 desktop-xs:rh-grid-cols-12";
|
|
5365
5508
|
const gapStyle = spacing !== void 0 ? { gap: `${spacing}px`, ...style } : style;
|
|
@@ -5460,7 +5603,7 @@ var desktopLgSpanClasses = {
|
|
|
5460
5603
|
11: "desktop-lg:rh-col-span-11",
|
|
5461
5604
|
12: "desktop-lg:rh-col-span-12"
|
|
5462
5605
|
};
|
|
5463
|
-
var GridItem =
|
|
5606
|
+
var GridItem = React10.forwardRef(
|
|
5464
5607
|
function GridItem2({
|
|
5465
5608
|
mobile = 4,
|
|
5466
5609
|
mobileSm,
|
|
@@ -5530,6 +5673,7 @@ exports.SuccessIcon = SuccessIcon;
|
|
|
5530
5673
|
exports.Table = Table;
|
|
5531
5674
|
exports.Tag = Tag;
|
|
5532
5675
|
exports.TagInput = TagInput;
|
|
5676
|
+
exports.TextArea = TextArea;
|
|
5533
5677
|
exports.TextInput = TextInput;
|
|
5534
5678
|
exports.TimePicker = TimePicker;
|
|
5535
5679
|
exports.Toast = Toast;
|