@rehagro/ui 1.0.25 → 1.0.27

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.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import React8, { forwardRef, createContext, useState, useRef, useCallback, useEffect, useMemo, useContext } from 'react';
2
+ import React9, { forwardRef, createContext, useState, useRef, useCallback, useEffect, useMemo, useContext } from 'react';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
5
5
  // src/provider/RehagroProvider.tsx
@@ -740,12 +740,12 @@ var variantColorClasses = {
740
740
  info: "rh-bg-info rh-text-surface rh-border-info hover:rh-bg-info-hover hover:rh-border-info-hover"
741
741
  },
742
742
  outline: {
743
- primary: "rh-bg-transparent rh-text-primary rh-border-primary hover:rh-bg-primary hover:rh-text-surface",
744
- secondary: "rh-bg-transparent rh-text-secondary rh-border-secondary hover:rh-bg-secondary hover:rh-text-surface",
745
- danger: "rh-bg-transparent rh-text-danger rh-border-danger hover:rh-bg-danger hover:rh-text-surface",
746
- warning: "rh-bg-transparent rh-text-warning rh-border-warning hover:rh-bg-warning hover:rh-text-surface",
747
- success: "rh-bg-transparent rh-text-success rh-border-success hover:rh-bg-success hover:rh-text-surface",
748
- info: "rh-bg-transparent rh-text-info rh-border-info hover:rh-bg-info hover:rh-text-surface"
743
+ primary: "rh-bg-transparent rh-text-primary rh-border-primary hover:rh-bg-primary/[0.16]",
744
+ secondary: "rh-bg-transparent rh-text-secondary rh-border-secondary hover:rh-bg-secondary/[0.16]",
745
+ danger: "rh-bg-transparent rh-text-danger rh-border-danger hover:rh-bg-danger/[0.16]",
746
+ warning: "rh-bg-transparent rh-text-warning rh-border-warning hover:rh-bg-warning/[0.16]",
747
+ success: "rh-bg-transparent rh-text-success rh-border-success hover:rh-bg-success/[0.16]",
748
+ info: "rh-bg-transparent rh-text-info rh-border-info hover:rh-bg-info/[0.16]"
749
749
  },
750
750
  ghost: {
751
751
  primary: "rh-bg-transparent rh-text-primary rh-border-transparent hover:rh-bg-primary/10",
@@ -792,9 +792,9 @@ var Button = forwardRef(function Button2({
792
792
  children,
793
793
  ...rest
794
794
  }, ref) {
795
- const isDisabled = React8.useMemo(() => disabled || loading, [disabled, loading]);
795
+ const isDisabled = React9.useMemo(() => disabled || loading, [disabled, loading]);
796
796
  const preset = isPresetColor(color);
797
- const computedStyle = React8.useMemo(() => {
797
+ const computedStyle = React9.useMemo(() => {
798
798
  const baseStyle = preset ? hoverColor ? { [`--rh-${color}-hover`]: toRgbTriplet2(hoverColor) ?? hoverColor } : {} : getArbitraryColorStyle(variant, color);
799
799
  const hoverVars = hoverStyle ? {
800
800
  "--btn-hover-bg": hoverStyle.backgroundColor,
@@ -933,7 +933,7 @@ var IconButton = forwardRef(function IconButton2({
933
933
  }, ref) {
934
934
  const isDisabled = disabled || loading;
935
935
  const preset = isPresetColor2(color);
936
- const computedStyle = React8.useMemo(
936
+ const computedStyle = React9.useMemo(
937
937
  () => preset ? style ?? {} : { ...style, ...getArbitraryColorStyle2(variant, color) },
938
938
  [preset, color, variant, style]
939
939
  );
@@ -1040,7 +1040,7 @@ var TextInput = forwardRef(function TextInput2({
1040
1040
  id,
1041
1041
  ...rest
1042
1042
  }, ref) {
1043
- const inputId = id || React8.useId();
1043
+ const inputId = id || React9.useId();
1044
1044
  return /* @__PURE__ */ jsxs(
1045
1045
  "div",
1046
1046
  {
@@ -1057,6 +1057,7 @@ var TextInput = forwardRef(function TextInput2({
1057
1057
  "rh-flex rh-items-center rh-gap-2",
1058
1058
  "rh-border rh-bg-surface rh-font-body",
1059
1059
  "rh-transition-colors rh-duration-150",
1060
+ "rh-overflow-hidden",
1060
1061
  statusClasses[status],
1061
1062
  radiusClasses3[radius],
1062
1063
  sizeClasses3[size],
@@ -1084,7 +1085,7 @@ var TextInput = forwardRef(function TextInput2({
1084
1085
  "aria-invalid": status === "error" || void 0,
1085
1086
  "aria-describedby": helperText ? `${inputId}-helper` : void 0,
1086
1087
  className: [
1087
- "rh-flex-1 rh-bg-transparent rh-outline-none",
1088
+ "rh-flex-1 rh-min-w-0 rh-bg-transparent rh-outline-none",
1088
1089
  "rh-text-text placeholder:rh-text-text-muted",
1089
1090
  disabled ? "rh-cursor-not-allowed" : ""
1090
1091
  ].filter(Boolean).join(" "),
@@ -1181,10 +1182,10 @@ var Checkbox = forwardRef(function Checkbox2({
1181
1182
  onChange,
1182
1183
  ...rest
1183
1184
  }, ref) {
1184
- const innerRef = React8.useRef(null);
1185
- const inputId = id || React8.useId();
1186
- React8.useImperativeHandle(ref, () => innerRef.current);
1187
- React8.useEffect(() => {
1185
+ const innerRef = React9.useRef(null);
1186
+ const inputId = id || React9.useId();
1187
+ React9.useImperativeHandle(ref, () => innerRef.current);
1188
+ React9.useEffect(() => {
1188
1189
  if (innerRef.current) {
1189
1190
  innerRef.current.indeterminate = indeterminate;
1190
1191
  }
@@ -1239,6 +1240,177 @@ var Checkbox = forwardRef(function Checkbox2({
1239
1240
  }
1240
1241
  );
1241
1242
  });
1243
+ var RadioGroupContext = createContext(null);
1244
+ var useRadioGroup = () => useContext(RadioGroupContext);
1245
+ var labelSizeClasses2 = {
1246
+ sm: "rh-text-sm",
1247
+ md: "rh-text-sm",
1248
+ lg: "rh-text-base"
1249
+ };
1250
+ var descriptionSizeClasses = {
1251
+ sm: "rh-text-xs",
1252
+ md: "rh-text-xs",
1253
+ lg: "rh-text-sm"
1254
+ };
1255
+ var gapClasses = {
1256
+ sm: "rh-gap-2",
1257
+ md: "rh-gap-3",
1258
+ lg: "rh-gap-4"
1259
+ };
1260
+ var PRESET_COLORS3 = /* @__PURE__ */ new Set([
1261
+ "primary",
1262
+ "secondary",
1263
+ "danger",
1264
+ "warning",
1265
+ "success",
1266
+ "info"
1267
+ ]);
1268
+ var isPresetColor3 = (color) => PRESET_COLORS3.has(color);
1269
+ var inputSizeClasses = {
1270
+ sm: "rh-w-4 rh-h-4",
1271
+ md: "rh-w-5 rh-h-5",
1272
+ lg: "rh-w-6 rh-h-6"
1273
+ };
1274
+ var Radio = forwardRef(function Radio2({
1275
+ size = "md",
1276
+ label,
1277
+ description,
1278
+ color = "primary",
1279
+ disabled,
1280
+ checked,
1281
+ defaultChecked,
1282
+ className = "",
1283
+ id,
1284
+ onChange,
1285
+ ...rest
1286
+ }, ref) {
1287
+ const inputId = id || React9.useId();
1288
+ const getAccentColor = () => {
1289
+ if (isPresetColor3(color)) {
1290
+ return `rgb(var(--rh-${color}))`;
1291
+ }
1292
+ return color;
1293
+ };
1294
+ return /* @__PURE__ */ jsxs(
1295
+ "label",
1296
+ {
1297
+ htmlFor: inputId,
1298
+ className: [
1299
+ "rh-inline-flex rh-items-start rh-gap-2 rh-font-body rh-select-none",
1300
+ disabled ? "rh-cursor-not-allowed rh-opacity-50" : "rh-cursor-pointer",
1301
+ className
1302
+ ].filter(Boolean).join(" "),
1303
+ children: [
1304
+ /* @__PURE__ */ jsx(
1305
+ "input",
1306
+ {
1307
+ ref,
1308
+ id: inputId,
1309
+ type: "radio",
1310
+ disabled,
1311
+ checked,
1312
+ defaultChecked,
1313
+ onChange,
1314
+ className: [
1315
+ inputSizeClasses[size],
1316
+ "rh-accent-current rh-cursor-pointer",
1317
+ disabled ? "rh-cursor-not-allowed" : ""
1318
+ ].filter(Boolean).join(" "),
1319
+ style: { accentColor: getAccentColor() },
1320
+ ...rest
1321
+ }
1322
+ ),
1323
+ (label || description) && /* @__PURE__ */ jsxs("span", { className: "rh-flex rh-flex-col", children: [
1324
+ label && /* @__PURE__ */ jsx("span", { className: ["rh-text-text", labelSizeClasses2[size]].join(" "), children: label }),
1325
+ description && /* @__PURE__ */ jsx(
1326
+ "span",
1327
+ {
1328
+ className: [
1329
+ "rh-text-text-muted",
1330
+ descriptionSizeClasses[size]
1331
+ ].join(" "),
1332
+ children: description
1333
+ }
1334
+ )
1335
+ ] })
1336
+ ]
1337
+ }
1338
+ );
1339
+ });
1340
+ var RadioOption = forwardRef(function RadioOption2({ value, size, color, disabled, ...rest }, ref) {
1341
+ const group = useRadioGroup();
1342
+ const mergedSize = size ?? group?.size ?? "md";
1343
+ const mergedColor = color ?? group?.color ?? "primary";
1344
+ const mergedDisabled = disabled ?? group?.disabled ?? false;
1345
+ const isChecked = group?.value === value;
1346
+ const handleChange = () => {
1347
+ group?.onChange?.(value);
1348
+ };
1349
+ return /* @__PURE__ */ jsx(
1350
+ Radio,
1351
+ {
1352
+ ref,
1353
+ name: group?.name,
1354
+ value,
1355
+ size: mergedSize,
1356
+ color: mergedColor,
1357
+ disabled: mergedDisabled,
1358
+ checked: isChecked,
1359
+ onChange: handleChange,
1360
+ ...rest
1361
+ }
1362
+ );
1363
+ });
1364
+ var RadioGroup = forwardRef(function RadioGroup2({
1365
+ children,
1366
+ value,
1367
+ defaultValue,
1368
+ onChange,
1369
+ size = "md",
1370
+ orientation = "vertical",
1371
+ color = "primary",
1372
+ disabled = false,
1373
+ name,
1374
+ gap = "md",
1375
+ className = "",
1376
+ ...rest
1377
+ }, ref) {
1378
+ const [internalValue, setInternalValue] = React9.useState(defaultValue);
1379
+ const groupName = name || React9.useId();
1380
+ const currentValue = value ?? internalValue;
1381
+ const handleChange = (newValue) => {
1382
+ setInternalValue(newValue);
1383
+ onChange?.(newValue);
1384
+ };
1385
+ return /* @__PURE__ */ jsx(
1386
+ RadioGroupContext.Provider,
1387
+ {
1388
+ value: {
1389
+ name: groupName,
1390
+ value: currentValue,
1391
+ onChange: handleChange,
1392
+ size,
1393
+ color,
1394
+ disabled
1395
+ },
1396
+ children: /* @__PURE__ */ jsx(
1397
+ "div",
1398
+ {
1399
+ ref,
1400
+ role: "radiogroup",
1401
+ className: [
1402
+ "rh-flex",
1403
+ orientation === "vertical" ? "rh-flex-col" : "rh-flex-row rh-flex-wrap",
1404
+ gapClasses[gap],
1405
+ className
1406
+ ].filter(Boolean).join(" "),
1407
+ ...rest,
1408
+ children
1409
+ }
1410
+ )
1411
+ }
1412
+ );
1413
+ });
1242
1414
  var statusClasses2 = {
1243
1415
  default: "rh-border-border focus-within:rh-ring-2 focus-within:rh-ring-ring focus-within:rh-ring-offset-2",
1244
1416
  error: "rh-border-danger focus-within:rh-ring-2 focus-within:rh-ring-danger focus-within:rh-ring-offset-2"
@@ -1330,16 +1502,16 @@ var Select = forwardRef(function Select2(props, ref) {
1330
1502
  wrapperClassName = "",
1331
1503
  multiple = false
1332
1504
  } = props;
1333
- const triggerId = React8.useId();
1334
- const listboxId = React8.useId();
1335
- const helperId = React8.useId();
1336
- const [isOpen, setIsOpen] = React8.useState(false);
1337
- const [activeIndex, setActiveIndex] = React8.useState(-1);
1338
- const wrapperRef = React8.useRef(null);
1339
- const innerRef = React8.useRef(null);
1340
- const listboxRef = React8.useRef(null);
1341
- React8.useImperativeHandle(ref, () => innerRef.current);
1342
- const [internalValue, setInternalValue] = React8.useState(() => {
1505
+ const triggerId = React9.useId();
1506
+ const listboxId = React9.useId();
1507
+ const helperId = React9.useId();
1508
+ const [isOpen, setIsOpen] = React9.useState(false);
1509
+ const [activeIndex, setActiveIndex] = React9.useState(-1);
1510
+ const wrapperRef = React9.useRef(null);
1511
+ const innerRef = React9.useRef(null);
1512
+ const listboxRef = React9.useRef(null);
1513
+ React9.useImperativeHandle(ref, () => innerRef.current);
1514
+ const [internalValue, setInternalValue] = React9.useState(() => {
1343
1515
  if (props.defaultValue !== void 0) {
1344
1516
  return Array.isArray(props.defaultValue) ? props.defaultValue : [props.defaultValue];
1345
1517
  }
@@ -1361,7 +1533,7 @@ var Select = forwardRef(function Select2(props, ref) {
1361
1533
  innerRef.current?.focus();
1362
1534
  }
1363
1535
  };
1364
- const displayText = React8.useMemo(() => {
1536
+ const displayText = React9.useMemo(() => {
1365
1537
  if (selectedValues.length === 0) return null;
1366
1538
  if (!multiple) {
1367
1539
  return options.find((o) => o.value === selectedValues[0])?.label ?? null;
@@ -1371,7 +1543,7 @@ var Select = forwardRef(function Select2(props, ref) {
1371
1543
  if (selectedLabels.length === 1) return selectedLabels[0];
1372
1544
  return `${selectedLabels.length} selected`;
1373
1545
  }, [selectedValues, options, multiple]);
1374
- React8.useEffect(() => {
1546
+ React9.useEffect(() => {
1375
1547
  if (!isOpen) return;
1376
1548
  const handleClickOutside = (e) => {
1377
1549
  if (wrapperRef.current && !wrapperRef.current.contains(e.target)) {
@@ -1381,7 +1553,7 @@ var Select = forwardRef(function Select2(props, ref) {
1381
1553
  document.addEventListener("mousedown", handleClickOutside);
1382
1554
  return () => document.removeEventListener("mousedown", handleClickOutside);
1383
1555
  }, [isOpen]);
1384
- React8.useEffect(() => {
1556
+ React9.useEffect(() => {
1385
1557
  if (!isOpen) return;
1386
1558
  const handleEscape = (e) => {
1387
1559
  if (e.key === "Escape") {
@@ -1392,7 +1564,7 @@ var Select = forwardRef(function Select2(props, ref) {
1392
1564
  document.addEventListener("keydown", handleEscape);
1393
1565
  return () => document.removeEventListener("keydown", handleEscape);
1394
1566
  }, [isOpen]);
1395
- React8.useEffect(() => {
1567
+ React9.useEffect(() => {
1396
1568
  if (!isOpen || activeIndex < 0) return;
1397
1569
  const listbox = listboxRef.current;
1398
1570
  if (!listbox) return;
@@ -1401,7 +1573,7 @@ var Select = forwardRef(function Select2(props, ref) {
1401
1573
  activeEl.scrollIntoView({ block: "nearest" });
1402
1574
  }
1403
1575
  }, [activeIndex, isOpen]);
1404
- React8.useEffect(() => {
1576
+ React9.useEffect(() => {
1405
1577
  if (isOpen) {
1406
1578
  const firstSelectedIdx = options.findIndex(
1407
1579
  (o) => !o.disabled && selectedValues.includes(o.value)
@@ -1720,8 +1892,8 @@ var Tooltip = forwardRef(
1720
1892
  useEffect(() => {
1721
1893
  return () => clearTimers();
1722
1894
  }, [clearTimers]);
1723
- const triggerChild = React8.Children.only(children);
1724
- const triggerElement = React8.cloneElement(triggerChild, {
1895
+ const triggerChild = React9.Children.only(children);
1896
+ const triggerElement = React9.cloneElement(triggerChild, {
1725
1897
  onMouseEnter: (e) => {
1726
1898
  handleEnter();
1727
1899
  triggerChild.props.onMouseEnter?.(e);
@@ -1917,7 +2089,7 @@ var Avatar = forwardRef(function Avatar2({ src, alt = "", initials, size = "md",
1917
2089
  }
1918
2090
  );
1919
2091
  });
1920
- var PRESET_COLORS3 = /* @__PURE__ */ new Set([
2092
+ var PRESET_COLORS4 = /* @__PURE__ */ new Set([
1921
2093
  "primary",
1922
2094
  "secondary",
1923
2095
  "danger",
@@ -1925,7 +2097,7 @@ var PRESET_COLORS3 = /* @__PURE__ */ new Set([
1925
2097
  "success",
1926
2098
  "info"
1927
2099
  ]);
1928
- var isPresetColor3 = (color) => PRESET_COLORS3.has(color);
2100
+ var isPresetColor4 = (color) => PRESET_COLORS4.has(color);
1929
2101
  var activePresetClasses = {
1930
2102
  primary: "rh-bg-primary rh-text-surface rh-border-primary",
1931
2103
  secondary: "rh-bg-secondary rh-text-surface rh-border-secondary",
@@ -1986,7 +2158,7 @@ var Tag = forwardRef(function Tag2({
1986
2158
  children,
1987
2159
  ...rest
1988
2160
  }, ref) {
1989
- const preset = isPresetColor3(color);
2161
+ const preset = isPresetColor4(color);
1990
2162
  const clickable = !!rest.onClick && !disabled;
1991
2163
  const colorClasses3 = preset ? active ? activePresetClasses[color] : inactivePresetClasses[color] : "";
1992
2164
  const hoverClasses = clickable && preset ? active ? hoverActivePresetClasses[color] : hoverInactivePresetClasses[color] : clickable ? "hover:rh-brightness-95" : "";
@@ -2075,7 +2247,7 @@ var TagInput = forwardRef(function TagInput2({
2075
2247
  className = "",
2076
2248
  wrapperClassName = ""
2077
2249
  }, ref) {
2078
- const inputId = React8.useId();
2250
+ const inputId = React9.useId();
2079
2251
  const [isOpen, setIsOpen] = useState(false);
2080
2252
  const containerRef = useRef(null);
2081
2253
  useEffect(() => {
@@ -2368,7 +2540,7 @@ var ProgressBar = forwardRef(function ProgressBar2({ value, label, size = "sm",
2368
2540
  }
2369
2541
  );
2370
2542
  });
2371
- var PRESET_COLORS4 = /* @__PURE__ */ new Set([
2543
+ var PRESET_COLORS5 = /* @__PURE__ */ new Set([
2372
2544
  "primary",
2373
2545
  "secondary",
2374
2546
  "danger",
@@ -2376,7 +2548,7 @@ var PRESET_COLORS4 = /* @__PURE__ */ new Set([
2376
2548
  "success",
2377
2549
  "info"
2378
2550
  ]);
2379
- var isPresetColor4 = (color) => PRESET_COLORS4.has(color);
2551
+ var isPresetColor5 = (color) => PRESET_COLORS5.has(color);
2380
2552
  var sizeClasses10 = {
2381
2553
  sm: { container: "rh-h-8", button: "rh-px-2 rh-text-xs" },
2382
2554
  md: { container: "rh-h-9", button: "rh-px-3 rh-text-sm" },
@@ -2406,7 +2578,7 @@ function ToggleGroupInner({
2406
2578
  className = "",
2407
2579
  ...rest
2408
2580
  }, ref) {
2409
- const preset = isPresetColor4(color);
2581
+ const preset = isPresetColor5(color);
2410
2582
  return /* @__PURE__ */ jsx(
2411
2583
  "div",
2412
2584
  {
@@ -2536,7 +2708,7 @@ var CardFooter = forwardRef(function CardFooter2({ className = "", children, ...
2536
2708
  }
2537
2709
  );
2538
2710
  });
2539
- var PRESET_COLORS5 = /* @__PURE__ */ new Set([
2711
+ var PRESET_COLORS6 = /* @__PURE__ */ new Set([
2540
2712
  "primary",
2541
2713
  "secondary",
2542
2714
  "danger",
@@ -2544,7 +2716,7 @@ var PRESET_COLORS5 = /* @__PURE__ */ new Set([
2544
2716
  "success",
2545
2717
  "info"
2546
2718
  ]);
2547
- var isPresetColor5 = (color) => PRESET_COLORS5.has(color);
2719
+ var isPresetColor6 = (color) => PRESET_COLORS6.has(color);
2548
2720
  var sizeClasses11 = {
2549
2721
  xs: "rh-w-3 rh-h-3",
2550
2722
  sm: "rh-w-4 rh-h-4",
@@ -2561,7 +2733,7 @@ var colorClasses = {
2561
2733
  info: "rh-text-info"
2562
2734
  };
2563
2735
  var Spinner = forwardRef(function Spinner2({ size = "md", color = "primary", label = "Carregando...", className = "", style, ...rest }, ref) {
2564
- const preset = isPresetColor5(color);
2736
+ const preset = isPresetColor6(color);
2565
2737
  const colorClass = preset ? colorClasses[color] : "";
2566
2738
  const customStyle = preset ? style : { ...style, color };
2567
2739
  return /* @__PURE__ */ jsxs(
@@ -2780,66 +2952,105 @@ var defaultElements = {
2780
2952
  h6: "h6",
2781
2953
  bodyLg: "p",
2782
2954
  body: "p",
2955
+ bodySm: "p",
2783
2956
  label: "span",
2784
2957
  labelSm: "span",
2958
+ labelLg: "span",
2959
+ formLabel: "label",
2960
+ formText: "span",
2961
+ formHelper: "span",
2962
+ sectionTitle: "h3",
2963
+ modalTitle: "h2",
2785
2964
  caption: "span",
2786
2965
  captionSm: "span",
2787
2966
  menu: "span",
2788
- overline: "span"
2967
+ overline: "span",
2968
+ link: "span"
2789
2969
  };
2790
2970
  var variantClasses4 = {
2791
2971
  // Headings - Sora font
2792
2972
  h1: "rh-text-4xl rh-font-bold rh-leading-tight rh-font-display",
2793
- // 32px
2973
+ // 36px Sora Bold
2794
2974
  h2: "rh-text-2xl rh-font-bold rh-leading-snug rh-font-display",
2795
- // 24px
2975
+ // 24px Sora Bold
2796
2976
  h3: "rh-text-xl rh-font-semibold rh-leading-snug rh-font-display",
2797
- // 20px
2977
+ // 20px Sora SemiBold
2798
2978
  h4: "rh-text-lg rh-font-semibold rh-leading-snug rh-font-display",
2799
- // 18px
2979
+ // 18px Sora SemiBold
2800
2980
  h5: "rh-text-base rh-font-bold rh-leading-normal rh-font-display",
2801
2981
  // 16px Sora Bold
2802
2982
  h6: "rh-text-sm rh-font-bold rh-leading-normal rh-font-display",
2803
2983
  // 14px Sora Bold
2804
2984
  // Body - Inter font
2805
2985
  bodyLg: "rh-text-base rh-font-normal rh-leading-normal rh-font-body",
2806
- // 16px
2986
+ // 16px Inter
2807
2987
  body: "rh-text-sm rh-font-normal rh-leading-normal rh-font-body",
2808
- // 14px
2988
+ // 14px Inter
2989
+ bodySm: "rh-text-xs rh-font-normal rh-leading-normal rh-font-body",
2990
+ // 12px Inter
2809
2991
  // Labels - Inter font
2810
2992
  label: "rh-text-sm rh-font-medium rh-leading-normal rh-font-body",
2811
- // 14px Medium
2812
- labelSm: "rh-text-sm rh-font-semibold rh-leading-normal rh-font-body",
2813
- // 14px SemiBold
2993
+ // 14px Inter Medium
2994
+ labelSm: "rh-text-xs rh-font-medium rh-leading-normal rh-font-body",
2995
+ // 12px Inter Medium
2996
+ labelLg: "rh-text-base rh-font-medium rh-leading-normal rh-font-body",
2997
+ // 16px Inter Medium
2998
+ // Form specific - Inter font (mais usados no projeto)
2999
+ formLabel: "rh-text-sm rh-font-semibold rh-leading-normal rh-font-body",
3000
+ // 14px Inter SemiBold
3001
+ formText: "rh-text-sm rh-font-normal rh-leading-normal rh-font-body",
3002
+ // 14px Inter Normal
3003
+ formHelper: "rh-text-xs rh-font-normal rh-leading-normal rh-font-body",
3004
+ // 12px Inter Normal
3005
+ // Section titles - Inter font
3006
+ sectionTitle: "rh-text-base rh-font-semibold rh-leading-normal rh-font-body",
3007
+ // 16px Inter SemiBold (Dados da empresa:)
3008
+ modalTitle: "rh-text-base rh-font-bold rh-leading-normal rh-font-display",
3009
+ // 16px Sora Bold (títulos de modal)
2814
3010
  // Captions - Inter font
2815
3011
  caption: "rh-text-xs rh-font-normal rh-leading-normal rh-font-body",
2816
- // 12px
3012
+ // 12px Inter
2817
3013
  captionSm: "rh-text-2xs rh-font-normal rh-leading-tight rh-font-body",
2818
- // 10px
2819
- // Special - Sora/Inter font
3014
+ // 10px Inter
3015
+ // Special
2820
3016
  menu: "rh-text-xs rh-font-bold rh-leading-normal rh-font-display",
2821
3017
  // 12px Sora Bold
2822
- overline: "rh-text-2xs rh-font-semibold rh-leading-tight rh-font-body rh-tracking-wide"
2823
- // 10px Inter SemiBold
3018
+ overline: "rh-text-2xs rh-font-semibold rh-leading-tight rh-font-body rh-tracking-wide rh-uppercase",
3019
+ // 10px Inter SemiBold UPPERCASE
3020
+ link: "rh-text-sm rh-font-medium rh-leading-normal rh-font-body rh-underline"
3021
+ // 14px Inter Medium underline
2824
3022
  };
2825
3023
  var colorClasses2 = {
2826
3024
  default: "rh-text-text",
2827
3025
  muted: "rh-text-text-muted",
2828
3026
  primary: "rh-text-primary",
3027
+ secondary: "rh-text-secondary",
2829
3028
  danger: "rh-text-danger",
2830
3029
  success: "rh-text-success",
2831
- warning: "rh-text-warning"
3030
+ warning: "rh-text-warning",
3031
+ info: "rh-text-info"
2832
3032
  };
2833
- var Typography = forwardRef(function Typography2({ variant = "body", color = "default", bold = false, as, className = "", children, ...rest }, ref) {
3033
+ var Typography = forwardRef(function Typography2({
3034
+ variant = "body",
3035
+ color = "default",
3036
+ bold = false,
3037
+ semibold = false,
3038
+ medium = false,
3039
+ as,
3040
+ className = "",
3041
+ children,
3042
+ ...rest
3043
+ }, ref) {
2834
3044
  const element = as ?? defaultElements[variant];
2835
- return React8.createElement(
3045
+ const weightClass = bold ? "rh-font-bold" : semibold ? "rh-font-semibold" : medium ? "rh-font-medium" : "";
3046
+ return React9.createElement(
2836
3047
  element,
2837
3048
  {
2838
3049
  ref,
2839
3050
  className: [
2840
3051
  variantClasses4[variant],
2841
3052
  colorClasses2[color],
2842
- bold ? "rh-font-bold" : "",
3053
+ weightClass,
2843
3054
  className
2844
3055
  ].filter(Boolean).join(" "),
2845
3056
  ...rest
@@ -3169,6 +3380,6 @@ var GridItem = forwardRef(
3169
3380
  }
3170
3381
  );
3171
3382
 
3172
- export { Avatar, Button, Card, CardContent, CardFooter, CardHeader, CaretLeftIcon, CaretRightIcon, Checkbox, CloseIcon, Container, DeleteIcon, EditIcon, ErrorIcon, GridContainer, GridItem, IconButton, InfoIcon, NeutralIcon, Pagination, PlusIcon, ProgressBar, RehagroProvider, SearchIcon, Select, Spinner, SuccessIcon, Table, Tag, TagInput, TextInput, Toast, ToastContainer, ToastProvider, ToggleGroup, Tooltip, Typography, WarningIcon, useToast };
3383
+ export { Avatar, Button, Card, CardContent, CardFooter, CardHeader, CaretLeftIcon, CaretRightIcon, Checkbox, CloseIcon, Container, DeleteIcon, EditIcon, ErrorIcon, GridContainer, GridItem, IconButton, InfoIcon, NeutralIcon, Pagination, PlusIcon, ProgressBar, Radio, RadioGroup, RadioOption, RehagroProvider, SearchIcon, Select, Spinner, SuccessIcon, Table, Tag, TagInput, TextInput, Toast, ToastContainer, ToastProvider, ToggleGroup, Tooltip, Typography, WarningIcon, useToast };
3173
3384
  //# sourceMappingURL=index.mjs.map
3174
3385
  //# sourceMappingURL=index.mjs.map