@rehagro/ui 1.0.0 → 1.0.2
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 +44 -1
- package/dist/index.d.ts +44 -1
- package/dist/index.js +131 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +131 -13
- package/dist/index.mjs.map +1 -1
- package/dist/native.d.mts +52 -2
- package/dist/native.d.ts +52 -2
- package/dist/native.js +69 -0
- package/dist/native.js.map +1 -1
- package/dist/native.mjs +68 -1
- package/dist/native.mjs.map +1 -1
- package/dist/styles.css +2 -2
- package/package.json +2 -1
package/dist/index.mjs
CHANGED
|
@@ -13,7 +13,9 @@ var TOKEN_MAP = {
|
|
|
13
13
|
danger: { var: "--rh-danger", isColor: true },
|
|
14
14
|
dangerHover: { var: "--rh-danger-hover", isColor: true },
|
|
15
15
|
warning: { var: "--rh-warning", isColor: true },
|
|
16
|
+
warningHover: { var: "--rh-warning-hover", isColor: true },
|
|
16
17
|
success: { var: "--rh-success", isColor: true },
|
|
18
|
+
successHover: { var: "--rh-success-hover", isColor: true },
|
|
17
19
|
text: { var: "--rh-text", isColor: true },
|
|
18
20
|
textMuted: { var: "--rh-text-muted", isColor: true },
|
|
19
21
|
surface: { var: "--rh-surface", isColor: true },
|
|
@@ -613,10 +615,44 @@ function RehagroProvider({ theme, toastPosition, children }) {
|
|
|
613
615
|
}, [theme]);
|
|
614
616
|
return /* @__PURE__ */ jsx("div", { className: "rh-root", style, children: /* @__PURE__ */ jsx(ToastProvider, { position: toastPosition, children }) });
|
|
615
617
|
}
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
618
|
+
function toRgbTriplet2(value) {
|
|
619
|
+
if (value.startsWith("#")) {
|
|
620
|
+
const h = value.replace("#", "");
|
|
621
|
+
const full = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
|
|
622
|
+
const r = parseInt(full.slice(0, 2), 16);
|
|
623
|
+
const g = parseInt(full.slice(2, 4), 16);
|
|
624
|
+
const b = parseInt(full.slice(4, 6), 16);
|
|
625
|
+
if ([r, g, b].some(Number.isNaN)) return void 0;
|
|
626
|
+
return `${r} ${g} ${b}`;
|
|
627
|
+
}
|
|
628
|
+
const m = value.match(/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i);
|
|
629
|
+
if (m) return `${m[1]} ${m[2]} ${m[3]}`;
|
|
630
|
+
const parts = value.trim().split(/\s+/);
|
|
631
|
+
if (parts.length === 3 && parts.every((p) => !Number.isNaN(Number(p)))) return value.trim();
|
|
632
|
+
return void 0;
|
|
633
|
+
}
|
|
634
|
+
var variantColorClasses = {
|
|
635
|
+
solid: {
|
|
636
|
+
primary: "rh-bg-primary rh-text-surface rh-border-primary hover:rh-bg-primary-hover hover:rh-border-primary-hover",
|
|
637
|
+
secondary: "rh-bg-secondary rh-text-surface rh-border-secondary hover:rh-bg-secondary-hover hover:rh-border-secondary-hover",
|
|
638
|
+
danger: "rh-bg-danger rh-text-surface rh-border-danger hover:rh-bg-danger-hover hover:rh-border-danger-hover",
|
|
639
|
+
warning: "rh-bg-warning rh-text-surface rh-border-warning hover:rh-bg-warning-hover hover:rh-border-warning-hover",
|
|
640
|
+
success: "rh-bg-success rh-text-surface rh-border-success hover:rh-bg-success-hover hover:rh-border-success-hover"
|
|
641
|
+
},
|
|
642
|
+
outline: {
|
|
643
|
+
primary: "rh-bg-transparent rh-text-primary rh-border-primary hover:rh-bg-primary hover:rh-text-surface",
|
|
644
|
+
secondary: "rh-bg-transparent rh-text-secondary rh-border-secondary hover:rh-bg-secondary hover:rh-text-surface",
|
|
645
|
+
danger: "rh-bg-transparent rh-text-danger rh-border-danger hover:rh-bg-danger hover:rh-text-surface",
|
|
646
|
+
warning: "rh-bg-transparent rh-text-warning rh-border-warning hover:rh-bg-warning hover:rh-text-surface",
|
|
647
|
+
success: "rh-bg-transparent rh-text-success rh-border-success hover:rh-bg-success hover:rh-text-surface"
|
|
648
|
+
},
|
|
649
|
+
ghost: {
|
|
650
|
+
primary: "rh-bg-transparent rh-text-primary rh-border-transparent hover:rh-bg-primary/10",
|
|
651
|
+
secondary: "rh-bg-transparent rh-text-secondary rh-border-transparent hover:rh-bg-secondary/10",
|
|
652
|
+
danger: "rh-bg-transparent rh-text-danger rh-border-transparent hover:rh-bg-danger/10",
|
|
653
|
+
warning: "rh-bg-transparent rh-text-warning rh-border-transparent hover:rh-bg-warning/10",
|
|
654
|
+
success: "rh-bg-transparent rh-text-success rh-border-transparent hover:rh-bg-success/10"
|
|
655
|
+
}
|
|
620
656
|
};
|
|
621
657
|
var sizeClasses = {
|
|
622
658
|
sm: "rh-text-sm rh-px-3 rh-py-1.5",
|
|
@@ -637,27 +673,36 @@ var Button = forwardRef(function Button2({
|
|
|
637
673
|
variant = "solid",
|
|
638
674
|
size = "md",
|
|
639
675
|
radius = "sm",
|
|
676
|
+
color = "primary",
|
|
677
|
+
hoverColor,
|
|
640
678
|
loading = false,
|
|
641
679
|
disabled,
|
|
642
680
|
leftIcon,
|
|
643
681
|
rightIcon,
|
|
644
682
|
className = "",
|
|
683
|
+
style,
|
|
645
684
|
children,
|
|
646
685
|
...rest
|
|
647
686
|
}, ref) {
|
|
648
687
|
const isDisabled = React8.useMemo(() => disabled || loading, [disabled, loading]);
|
|
688
|
+
const hoverStyle = React8.useMemo(() => {
|
|
689
|
+
if (!hoverColor) return style;
|
|
690
|
+
const triplet = toRgbTriplet2(hoverColor);
|
|
691
|
+
return { ...style, [`--rh-${color}-hover`]: triplet ?? hoverColor };
|
|
692
|
+
}, [hoverColor, color, style]);
|
|
649
693
|
return /* @__PURE__ */ jsxs(
|
|
650
694
|
"button",
|
|
651
695
|
{
|
|
652
696
|
ref,
|
|
653
697
|
disabled: isDisabled,
|
|
654
698
|
"aria-busy": loading || void 0,
|
|
699
|
+
style: hoverStyle,
|
|
655
700
|
className: [
|
|
656
701
|
"rh-inline-flex rh-items-center rh-justify-center rh-gap-2",
|
|
657
702
|
"rh-border rh-font-sans rh-font-medium",
|
|
658
703
|
"rh-transition-colors rh-duration-150",
|
|
659
704
|
"focus-visible:rh-outline-none focus-visible:rh-ring-2 focus-visible:rh-ring-ring focus-visible:rh-ring-offset-2",
|
|
660
|
-
|
|
705
|
+
variantColorClasses[variant][color],
|
|
661
706
|
sizeClasses[size],
|
|
662
707
|
radiusClasses[radius],
|
|
663
708
|
isDisabled ? "rh-opacity-50 rh-cursor-not-allowed rh-pointer-events-none" : "",
|
|
@@ -703,7 +748,7 @@ var Button = forwardRef(function Button2({
|
|
|
703
748
|
}
|
|
704
749
|
);
|
|
705
750
|
});
|
|
706
|
-
var
|
|
751
|
+
var variantColorClasses2 = {
|
|
707
752
|
solid: {
|
|
708
753
|
primary: "rh-bg-primary rh-text-surface rh-border-primary hover:rh-bg-primary-hover hover:rh-border-primary-hover",
|
|
709
754
|
danger: "rh-bg-danger rh-text-surface rh-border-danger hover:rh-bg-danger-hover hover:rh-border-danger-hover",
|
|
@@ -764,7 +809,7 @@ var IconButton = forwardRef(function IconButton2({
|
|
|
764
809
|
"rh-border rh-font-sans",
|
|
765
810
|
"rh-transition-colors rh-duration-150",
|
|
766
811
|
"focus-visible:rh-outline-none focus-visible:rh-ring-2 focus-visible:rh-ring-ring focus-visible:rh-ring-offset-2",
|
|
767
|
-
|
|
812
|
+
variantColorClasses2[variant][color],
|
|
768
813
|
sizeClasses2[size],
|
|
769
814
|
radiusClasses2[radius],
|
|
770
815
|
isDisabled ? "rh-opacity-50 rh-cursor-not-allowed rh-pointer-events-none" : "",
|
|
@@ -1464,7 +1509,7 @@ var Select = forwardRef(
|
|
|
1464
1509
|
);
|
|
1465
1510
|
}
|
|
1466
1511
|
);
|
|
1467
|
-
var
|
|
1512
|
+
var variantClasses = {
|
|
1468
1513
|
light: "rh-bg-surface rh-text-text rh-border rh-border-border rh-shadow-md",
|
|
1469
1514
|
default: "rh-bg-primary/10 rh-text-text rh-border rh-border-primary/20 rh-shadow-md",
|
|
1470
1515
|
dark: "rh-bg-primary rh-text-surface rh-shadow-md"
|
|
@@ -1604,7 +1649,7 @@ var Tooltip = forwardRef(
|
|
|
1604
1649
|
className: [
|
|
1605
1650
|
"rh-absolute rh-z-50 rh-w-max rh-max-w-xs rh-rounded-xs",
|
|
1606
1651
|
tooltipPlacementClasses[placement],
|
|
1607
|
-
|
|
1652
|
+
variantClasses[variant],
|
|
1608
1653
|
sizeClasses6[size],
|
|
1609
1654
|
className
|
|
1610
1655
|
].filter(Boolean).join(" "),
|
|
@@ -1691,7 +1736,7 @@ var imageSizeClasses = {
|
|
|
1691
1736
|
lg: "rh-w-12 rh-h-12",
|
|
1692
1737
|
xl: "rh-w-16 rh-h-16"
|
|
1693
1738
|
};
|
|
1694
|
-
var
|
|
1739
|
+
var variantClasses2 = {
|
|
1695
1740
|
circle: "rh-rounded-full",
|
|
1696
1741
|
square: "rh-rounded-sm"
|
|
1697
1742
|
};
|
|
@@ -1709,7 +1754,7 @@ var Avatar = forwardRef(function Avatar2({ src, alt = "", initials, size = "md",
|
|
|
1709
1754
|
"rh-inline-flex rh-items-center rh-justify-center rh-shrink-0 rh-overflow-hidden",
|
|
1710
1755
|
"rh-bg-primary rh-text-surface rh-font-sans rh-font-medium rh-select-none",
|
|
1711
1756
|
sizeClasses7[size],
|
|
1712
|
-
|
|
1757
|
+
variantClasses2[variant],
|
|
1713
1758
|
className
|
|
1714
1759
|
].filter(Boolean).join(" "),
|
|
1715
1760
|
...rest,
|
|
@@ -1718,13 +1763,86 @@ var Avatar = forwardRef(function Avatar2({ src, alt = "", initials, size = "md",
|
|
|
1718
1763
|
{
|
|
1719
1764
|
src,
|
|
1720
1765
|
alt,
|
|
1721
|
-
className: [imageSizeClasses[size],
|
|
1766
|
+
className: [imageSizeClasses[size], variantClasses2[variant], "rh-object-cover"].join(" "),
|
|
1722
1767
|
onError: () => setImgError(true)
|
|
1723
1768
|
}
|
|
1724
1769
|
) : /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: fallbackLabel })
|
|
1725
1770
|
}
|
|
1726
1771
|
);
|
|
1727
1772
|
});
|
|
1773
|
+
var PRESET_COLORS = /* @__PURE__ */ new Set(["primary", "secondary", "danger", "warning", "success"]);
|
|
1774
|
+
var isPresetColor = (color) => PRESET_COLORS.has(color);
|
|
1775
|
+
var activePresetClasses = {
|
|
1776
|
+
primary: "rh-bg-primary rh-text-surface rh-border-primary",
|
|
1777
|
+
secondary: "rh-bg-secondary rh-text-surface rh-border-secondary",
|
|
1778
|
+
danger: "rh-bg-danger rh-text-surface rh-border-danger",
|
|
1779
|
+
warning: "rh-bg-warning rh-text-surface rh-border-warning",
|
|
1780
|
+
success: "rh-bg-success rh-text-surface rh-border-success"
|
|
1781
|
+
};
|
|
1782
|
+
var inactivePresetClasses = {
|
|
1783
|
+
primary: "rh-bg-primary/10 rh-text-primary rh-border-primary/30",
|
|
1784
|
+
secondary: "rh-bg-secondary/10 rh-text-secondary rh-border-secondary/30",
|
|
1785
|
+
danger: "rh-bg-danger/10 rh-text-danger rh-border-danger/30",
|
|
1786
|
+
warning: "rh-bg-warning/10 rh-text-warning rh-border-warning/30",
|
|
1787
|
+
success: "rh-bg-success/10 rh-text-success rh-border-success/30"
|
|
1788
|
+
};
|
|
1789
|
+
var sizeClasses8 = {
|
|
1790
|
+
sm: "rh-text-xs rh-px-2 rh-py-0.5 rh-gap-1",
|
|
1791
|
+
md: "rh-text-sm rh-px-2.5 rh-py-1 rh-gap-1.5",
|
|
1792
|
+
lg: "rh-text-sm rh-px-3 rh-py-1.5 rh-gap-1.5"
|
|
1793
|
+
};
|
|
1794
|
+
function getCustomColorStyles(color, active) {
|
|
1795
|
+
if (active) {
|
|
1796
|
+
return { backgroundColor: color, borderColor: color, color: "#fff" };
|
|
1797
|
+
}
|
|
1798
|
+
return {
|
|
1799
|
+
backgroundColor: `color-mix(in srgb, ${color} 10%, transparent)`,
|
|
1800
|
+
borderColor: `color-mix(in srgb, ${color} 30%, transparent)`,
|
|
1801
|
+
color
|
|
1802
|
+
};
|
|
1803
|
+
}
|
|
1804
|
+
var Tag = forwardRef(function Tag2({
|
|
1805
|
+
color = "primary",
|
|
1806
|
+
size = "md",
|
|
1807
|
+
active = false,
|
|
1808
|
+
title,
|
|
1809
|
+
leftIcon,
|
|
1810
|
+
rightIcon,
|
|
1811
|
+
className = "",
|
|
1812
|
+
style,
|
|
1813
|
+
children,
|
|
1814
|
+
...rest
|
|
1815
|
+
}, ref) {
|
|
1816
|
+
const preset = isPresetColor(color);
|
|
1817
|
+
const colorClasses = preset ? active ? activePresetClasses[color] : inactivePresetClasses[color] : "";
|
|
1818
|
+
const customStyles = preset ? {} : getCustomColorStyles(color, active);
|
|
1819
|
+
return /* @__PURE__ */ jsxs(
|
|
1820
|
+
"span",
|
|
1821
|
+
{
|
|
1822
|
+
ref,
|
|
1823
|
+
role: rest.onClick ? "button" : void 0,
|
|
1824
|
+
tabIndex: rest.onClick ? 0 : void 0,
|
|
1825
|
+
"aria-pressed": rest.onClick ? active : void 0,
|
|
1826
|
+
className: [
|
|
1827
|
+
"rh-inline-flex rh-items-center rh-font-sans rh-font-medium rh-rounded-full",
|
|
1828
|
+
"rh-border rh-whitespace-nowrap rh-select-none",
|
|
1829
|
+
"rh-transition-colors rh-duration-150",
|
|
1830
|
+
rest.onClick ? "rh-cursor-pointer" : "",
|
|
1831
|
+
sizeClasses8[size],
|
|
1832
|
+
colorClasses,
|
|
1833
|
+
className
|
|
1834
|
+
].filter(Boolean).join(" "),
|
|
1835
|
+
style: { ...customStyles, ...style },
|
|
1836
|
+
...rest,
|
|
1837
|
+
children: [
|
|
1838
|
+
leftIcon,
|
|
1839
|
+
title,
|
|
1840
|
+
children,
|
|
1841
|
+
rightIcon
|
|
1842
|
+
]
|
|
1843
|
+
}
|
|
1844
|
+
);
|
|
1845
|
+
});
|
|
1728
1846
|
var Container = forwardRef(
|
|
1729
1847
|
function Container2({ fluid = false, className = "", children, ...rest }, ref) {
|
|
1730
1848
|
return /* @__PURE__ */ jsx(
|
|
@@ -1894,6 +2012,6 @@ var GridItem = forwardRef(
|
|
|
1894
2012
|
}
|
|
1895
2013
|
);
|
|
1896
2014
|
|
|
1897
|
-
export { Avatar, Button, Checkbox, CloseIcon, Container, DeleteIcon, EditIcon, ErrorIcon, GridContainer, GridItem, IconButton, InfoIcon, NeutralIcon, PlusIcon, RehagroProvider, SearchIcon, Select, SuccessIcon, TextInput, Toast, ToastContainer, ToastProvider, Tooltip, WarningIcon, useToast };
|
|
2015
|
+
export { Avatar, Button, Checkbox, CloseIcon, Container, DeleteIcon, EditIcon, ErrorIcon, GridContainer, GridItem, IconButton, InfoIcon, NeutralIcon, PlusIcon, RehagroProvider, SearchIcon, Select, SuccessIcon, Tag, TextInput, Toast, ToastContainer, ToastProvider, Tooltip, WarningIcon, useToast };
|
|
1898
2016
|
//# sourceMappingURL=index.mjs.map
|
|
1899
2017
|
//# sourceMappingURL=index.mjs.map
|