@raydenui/ui 0.9.4 → 0.9.6
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/README.md +11 -0
- package/dist/index.cjs +289 -42
- package/dist/index.d.cts +56 -3
- package/dist/index.d.ts +56 -3
- package/dist/index.js +285 -43
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -92,6 +92,17 @@ function App() {
|
|
|
92
92
|
- [create-rayden-app](https://www.npmjs.com/package/create-rayden-app) — CLI scaffolding with 6 templates
|
|
93
93
|
- [@raydenui/ai](https://www.npmjs.com/package/@raydenui/ai) — MCP server for AI-assisted development
|
|
94
94
|
|
|
95
|
+
## Contributors
|
|
96
|
+
|
|
97
|
+
<!-- ALL-CONTRIBUTORS-LIST:START -->
|
|
98
|
+
<table>
|
|
99
|
+
<tr>
|
|
100
|
+
<td align="center"><a href="https://github.com/playbookTV"><img src="https://github.com/playbookTV.png" width="100px;" alt=""/><br /><sub><b>Leslie Isah</b></sub></a></td>
|
|
101
|
+
<td align="center"><a href="https://github.com/ZyhvarZeGreat"><img src="https://github.com/ZyhvarZeGreat.png" width="100px;" alt=""/><br /><sub><b>Bolude Daniel</b></sub></a></td>
|
|
102
|
+
</tr>
|
|
103
|
+
</table>
|
|
104
|
+
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
|
105
|
+
|
|
95
106
|
## License
|
|
96
107
|
|
|
97
108
|
MIT
|
package/dist/index.cjs
CHANGED
|
@@ -5765,7 +5765,7 @@ var AccordionTrigger = react.forwardRef(
|
|
|
5765
5765
|
onClick: () => toggle(value),
|
|
5766
5766
|
className: cn(
|
|
5767
5767
|
"flex items-center gap-3 px-4 py-6 w-full text-left transition-colors",
|
|
5768
|
-
!isOpen && !disabled && "hover:bg-grey-50",
|
|
5768
|
+
!isOpen && !disabled && "hover:bg-grey-50 dark:hover:bg-grey-100",
|
|
5769
5769
|
disabled && "opacity-50 cursor-not-allowed",
|
|
5770
5770
|
className
|
|
5771
5771
|
),
|
|
@@ -6797,7 +6797,13 @@ function DayCell({ day, state, fullDate, onClick }) {
|
|
|
6797
6797
|
"aria-pressed": state === "selected" || state === "start-range" || state === "end-range" ? true : void 0,
|
|
6798
6798
|
children: [
|
|
6799
6799
|
day,
|
|
6800
|
-
state === "today" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6800
|
+
state === "today" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6801
|
+
"span",
|
|
6802
|
+
{
|
|
6803
|
+
className: "absolute bottom-[5px] left-1/2 -translate-x-1/2 size-1 rounded-full bg-primary-400",
|
|
6804
|
+
"aria-hidden": "true"
|
|
6805
|
+
}
|
|
6806
|
+
)
|
|
6801
6807
|
]
|
|
6802
6808
|
}
|
|
6803
6809
|
);
|
|
@@ -6853,7 +6859,15 @@ function MonthGrid({
|
|
|
6853
6859
|
if (rows.length === 6 && rows[5].every((c) => c.state === "disabled")) {
|
|
6854
6860
|
rows.pop();
|
|
6855
6861
|
}
|
|
6856
|
-
const fullDayNames = [
|
|
6862
|
+
const fullDayNames = [
|
|
6863
|
+
"Monday",
|
|
6864
|
+
"Tuesday",
|
|
6865
|
+
"Wednesday",
|
|
6866
|
+
"Thursday",
|
|
6867
|
+
"Friday",
|
|
6868
|
+
"Saturday",
|
|
6869
|
+
"Sunday"
|
|
6870
|
+
];
|
|
6857
6871
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", role: "grid", "aria-label": "Calendar", children: [
|
|
6858
6872
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 items-center", role: "row", children: DAY_LABELS.map((label, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6859
6873
|
"div",
|
|
@@ -6905,7 +6919,8 @@ function YearGrid({ baseYear, selectedYear, onYearClick }) {
|
|
|
6905
6919
|
function NavButton({
|
|
6906
6920
|
direction,
|
|
6907
6921
|
onClick,
|
|
6908
|
-
hidden
|
|
6922
|
+
hidden,
|
|
6923
|
+
className
|
|
6909
6924
|
}) {
|
|
6910
6925
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6911
6926
|
"button",
|
|
@@ -6917,7 +6932,8 @@ function NavButton({
|
|
|
6917
6932
|
tabIndex: hidden ? -1 : void 0,
|
|
6918
6933
|
className: cn(
|
|
6919
6934
|
"flex items-center justify-center p-2 rounded-lg bg-grey-75 hover:bg-grey-200 transition-colors cursor-pointer",
|
|
6920
|
-
hidden && "opacity-0 pointer-events-none"
|
|
6935
|
+
hidden && "opacity-0 pointer-events-none",
|
|
6936
|
+
className
|
|
6921
6937
|
),
|
|
6922
6938
|
children: direction === "left" ? /* @__PURE__ */ jsxRuntime.jsx(ChevronLeft, { className: "size-3.5 text-grey-700" }) : /* @__PURE__ */ jsxRuntime.jsx(ChevronRight, { className: "size-3.5 text-grey-700" })
|
|
6923
6939
|
}
|
|
@@ -7011,7 +7027,7 @@ var DatePicker = react.forwardRef(
|
|
|
7011
7027
|
className: cn(
|
|
7012
7028
|
"bg-white dark:bg-grey-50 border border-grey-75 rounded-2xl p-5 shadow-soft-xs",
|
|
7013
7029
|
"flex flex-col gap-6",
|
|
7014
|
-
mode !== "range" && "w-[340px]",
|
|
7030
|
+
mode !== "range" && "w-full max-w-[340px]",
|
|
7015
7031
|
className
|
|
7016
7032
|
),
|
|
7017
7033
|
...rest,
|
|
@@ -7044,15 +7060,16 @@ var DatePicker = react.forwardRef(
|
|
|
7044
7060
|
}
|
|
7045
7061
|
)
|
|
7046
7062
|
] }) }),
|
|
7047
|
-
mode === "range" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-8", children: [
|
|
7063
|
+
mode === "range" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col md:flex-row gap-6 md:gap-8", children: [
|
|
7048
7064
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
7049
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center
|
|
7065
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between w-full md:w-[280px]", children: [
|
|
7050
7066
|
/* @__PURE__ */ jsxRuntime.jsx(NavButton, { direction: "left", onClick: goToPrevMonth }),
|
|
7051
7067
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
7052
7068
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-grey-700", children: monthYearLabel }),
|
|
7053
7069
|
/* @__PURE__ */ jsxRuntime.jsx(ChevronDown2, { className: "size-6 text-grey-500" })
|
|
7054
7070
|
] }),
|
|
7055
|
-
/* @__PURE__ */ jsxRuntime.jsx(NavButton, { direction: "right",
|
|
7071
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavButton, { direction: "right", onClick: goToNextMonth, className: "md:hidden" }),
|
|
7072
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavButton, { direction: "right", hidden: true, className: "hidden md:flex" })
|
|
7056
7073
|
] }),
|
|
7057
7074
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7058
7075
|
MonthGrid,
|
|
@@ -7068,7 +7085,7 @@ var DatePicker = react.forwardRef(
|
|
|
7068
7085
|
}
|
|
7069
7086
|
)
|
|
7070
7087
|
] }),
|
|
7071
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
7088
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden md:flex flex-col gap-4", children: [
|
|
7072
7089
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between w-[280px]", children: [
|
|
7073
7090
|
/* @__PURE__ */ jsxRuntime.jsx(NavButton, { direction: "left", hidden: true }),
|
|
7074
7091
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
@@ -7536,11 +7553,11 @@ var Banner = react.forwardRef(
|
|
|
7536
7553
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7537
7554
|
"span",
|
|
7538
7555
|
{
|
|
7539
|
-
className: cn("font-semibold leading-[1.45] whitespace-nowrap", textSize2, textColor),
|
|
7556
|
+
className: cn("font-semibold leading-[1.45] sm:whitespace-nowrap", textSize2, textColor),
|
|
7540
7557
|
children: title
|
|
7541
7558
|
}
|
|
7542
7559
|
),
|
|
7543
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("leading-[1.45] whitespace-nowrap", textSize2, descColor), children: description }),
|
|
7560
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("leading-[1.45] sm:whitespace-nowrap hidden sm:inline", textSize2, descColor), children: description }),
|
|
7544
7561
|
buttonLabel && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7545
7562
|
"button",
|
|
7546
7563
|
{
|
|
@@ -7588,8 +7605,8 @@ var colorStyles = {
|
|
|
7588
7605
|
},
|
|
7589
7606
|
success: {
|
|
7590
7607
|
filled: "bg-success-400 text-white",
|
|
7591
|
-
accent: "bg-success-50 text-
|
|
7592
|
-
outline: "border border-
|
|
7608
|
+
accent: "bg-success-50 text-success-700",
|
|
7609
|
+
outline: "border border-success-700 text-success-700"
|
|
7593
7610
|
},
|
|
7594
7611
|
warning: {
|
|
7595
7612
|
filled: "bg-warning-400 text-black",
|
|
@@ -7598,8 +7615,8 @@ var colorStyles = {
|
|
|
7598
7615
|
},
|
|
7599
7616
|
error: {
|
|
7600
7617
|
filled: "bg-error-400 text-white",
|
|
7601
|
-
accent: "bg-error-50 text-
|
|
7602
|
-
outline: "border border-
|
|
7618
|
+
accent: "bg-error-50 text-error-700",
|
|
7619
|
+
outline: "border border-error-700 text-error-700"
|
|
7603
7620
|
},
|
|
7604
7621
|
neutral: {
|
|
7605
7622
|
filled: "bg-grey-900 text-grey-50",
|
|
@@ -7647,6 +7664,187 @@ function Badge({
|
|
|
7647
7664
|
}
|
|
7648
7665
|
);
|
|
7649
7666
|
}
|
|
7667
|
+
var CardContext = react.createContext(null);
|
|
7668
|
+
function useCardContext() {
|
|
7669
|
+
const ctx = react.useContext(CardContext);
|
|
7670
|
+
return ctx ?? { size: "md" };
|
|
7671
|
+
}
|
|
7672
|
+
var variantStyles = {
|
|
7673
|
+
default: "border border-grey-200 bg-white dark:bg-grey-50",
|
|
7674
|
+
outlined: "border-2 border-grey-300 bg-transparent",
|
|
7675
|
+
elevated: "border border-grey-100 bg-white dark:bg-grey-50 shadow-soft-md",
|
|
7676
|
+
ghost: "border-none bg-transparent"
|
|
7677
|
+
};
|
|
7678
|
+
var sizeStyles2 = {
|
|
7679
|
+
sm: {
|
|
7680
|
+
header: "px-4 py-3",
|
|
7681
|
+
body: "px-4 py-3",
|
|
7682
|
+
footer: "px-4 py-3"
|
|
7683
|
+
},
|
|
7684
|
+
md: {
|
|
7685
|
+
header: "px-5 py-4",
|
|
7686
|
+
body: "px-5 py-4",
|
|
7687
|
+
footer: "px-5 py-4"
|
|
7688
|
+
},
|
|
7689
|
+
lg: {
|
|
7690
|
+
header: "px-6 py-5",
|
|
7691
|
+
body: "px-6 py-5",
|
|
7692
|
+
footer: "px-6 py-5"
|
|
7693
|
+
}
|
|
7694
|
+
};
|
|
7695
|
+
var roundedStyles = {
|
|
7696
|
+
sm: "rounded-lg",
|
|
7697
|
+
md: "rounded-[10px]",
|
|
7698
|
+
lg: "rounded-xl",
|
|
7699
|
+
xl: "rounded-2xl",
|
|
7700
|
+
full: "rounded-3xl"
|
|
7701
|
+
};
|
|
7702
|
+
var shadowStyles = {
|
|
7703
|
+
none: "",
|
|
7704
|
+
sm: "shadow-soft-xxs",
|
|
7705
|
+
md: "shadow-soft-xs",
|
|
7706
|
+
lg: "shadow-soft-sm"
|
|
7707
|
+
};
|
|
7708
|
+
var footerAlignStyles = {
|
|
7709
|
+
left: "justify-start",
|
|
7710
|
+
center: "justify-center",
|
|
7711
|
+
right: "justify-end",
|
|
7712
|
+
between: "justify-between"
|
|
7713
|
+
};
|
|
7714
|
+
var aspectRatioStyles = {
|
|
7715
|
+
auto: "",
|
|
7716
|
+
video: "aspect-video",
|
|
7717
|
+
square: "aspect-square",
|
|
7718
|
+
portrait: "aspect-[3/4]"
|
|
7719
|
+
};
|
|
7720
|
+
var Card = react.forwardRef(
|
|
7721
|
+
({
|
|
7722
|
+
variant = "default",
|
|
7723
|
+
size = "md",
|
|
7724
|
+
rounded = "lg",
|
|
7725
|
+
shadow = "sm",
|
|
7726
|
+
hoverable = false,
|
|
7727
|
+
className,
|
|
7728
|
+
children,
|
|
7729
|
+
...rest
|
|
7730
|
+
}, ref) => {
|
|
7731
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CardContext.Provider, { value: { size }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7732
|
+
"div",
|
|
7733
|
+
{
|
|
7734
|
+
ref,
|
|
7735
|
+
className: cn(
|
|
7736
|
+
"flex flex-col overflow-hidden",
|
|
7737
|
+
variantStyles[variant],
|
|
7738
|
+
roundedStyles[rounded],
|
|
7739
|
+
variant !== "elevated" && shadowStyles[shadow],
|
|
7740
|
+
hoverable && "transition-shadow duration-200 hover:shadow-soft-md",
|
|
7741
|
+
className
|
|
7742
|
+
),
|
|
7743
|
+
...rest,
|
|
7744
|
+
children
|
|
7745
|
+
}
|
|
7746
|
+
) });
|
|
7747
|
+
}
|
|
7748
|
+
);
|
|
7749
|
+
Card.displayName = "Card";
|
|
7750
|
+
var CardHeader = react.forwardRef(
|
|
7751
|
+
({ title, subtitle, actions, bordered = false, className, children, ...rest }, ref) => {
|
|
7752
|
+
const { size } = useCardContext();
|
|
7753
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7754
|
+
"div",
|
|
7755
|
+
{
|
|
7756
|
+
ref,
|
|
7757
|
+
className: cn(
|
|
7758
|
+
"flex items-start justify-between gap-4",
|
|
7759
|
+
sizeStyles2[size].header,
|
|
7760
|
+
bordered && "border-b border-grey-200",
|
|
7761
|
+
className
|
|
7762
|
+
),
|
|
7763
|
+
...rest,
|
|
7764
|
+
children: [
|
|
7765
|
+
(title || subtitle || children) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
7766
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold leading-[1.45] text-grey-900", children: title }),
|
|
7767
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm leading-[1.45] text-grey-500", children: subtitle }),
|
|
7768
|
+
children
|
|
7769
|
+
] }),
|
|
7770
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-2", children: actions })
|
|
7771
|
+
]
|
|
7772
|
+
}
|
|
7773
|
+
);
|
|
7774
|
+
}
|
|
7775
|
+
);
|
|
7776
|
+
CardHeader.displayName = "CardHeader";
|
|
7777
|
+
var CardBody = react.forwardRef(
|
|
7778
|
+
({ noPadding = false, className, children, ...rest }, ref) => {
|
|
7779
|
+
const { size } = useCardContext();
|
|
7780
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7781
|
+
"div",
|
|
7782
|
+
{
|
|
7783
|
+
ref,
|
|
7784
|
+
className: cn("flex-1", !noPadding && sizeStyles2[size].body, className),
|
|
7785
|
+
...rest,
|
|
7786
|
+
children
|
|
7787
|
+
}
|
|
7788
|
+
);
|
|
7789
|
+
}
|
|
7790
|
+
);
|
|
7791
|
+
CardBody.displayName = "CardBody";
|
|
7792
|
+
var CardFooter = react.forwardRef(
|
|
7793
|
+
({ align = "right", bordered = false, className, children, ...rest }, ref) => {
|
|
7794
|
+
const { size } = useCardContext();
|
|
7795
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7796
|
+
"div",
|
|
7797
|
+
{
|
|
7798
|
+
ref,
|
|
7799
|
+
className: cn(
|
|
7800
|
+
"flex items-center gap-3",
|
|
7801
|
+
sizeStyles2[size].footer,
|
|
7802
|
+
footerAlignStyles[align],
|
|
7803
|
+
bordered && "border-t border-grey-200",
|
|
7804
|
+
className
|
|
7805
|
+
),
|
|
7806
|
+
...rest,
|
|
7807
|
+
children
|
|
7808
|
+
}
|
|
7809
|
+
);
|
|
7810
|
+
}
|
|
7811
|
+
);
|
|
7812
|
+
CardFooter.displayName = "CardFooter";
|
|
7813
|
+
var CardImage = react.forwardRef(
|
|
7814
|
+
({ position = "top", aspectRatio = "auto", objectFit = "cover", alt, className, ...rest }, ref) => {
|
|
7815
|
+
const objectFitClasses = {
|
|
7816
|
+
cover: "object-cover",
|
|
7817
|
+
contain: "object-contain",
|
|
7818
|
+
fill: "object-fill"
|
|
7819
|
+
};
|
|
7820
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7821
|
+
"div",
|
|
7822
|
+
{
|
|
7823
|
+
className: cn(
|
|
7824
|
+
"w-full overflow-hidden",
|
|
7825
|
+
position === "top" && "first:rounded-t-[inherit]",
|
|
7826
|
+
position === "bottom" && "last:rounded-b-[inherit]",
|
|
7827
|
+
position === "full" && "first:rounded-t-[inherit] last:rounded-b-[inherit]"
|
|
7828
|
+
),
|
|
7829
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7830
|
+
"img",
|
|
7831
|
+
{
|
|
7832
|
+
ref,
|
|
7833
|
+
alt,
|
|
7834
|
+
className: cn(
|
|
7835
|
+
"w-full",
|
|
7836
|
+
aspectRatioStyles[aspectRatio],
|
|
7837
|
+
objectFitClasses[objectFit],
|
|
7838
|
+
className
|
|
7839
|
+
),
|
|
7840
|
+
...rest
|
|
7841
|
+
}
|
|
7842
|
+
)
|
|
7843
|
+
}
|
|
7844
|
+
);
|
|
7845
|
+
}
|
|
7846
|
+
);
|
|
7847
|
+
CardImage.displayName = "CardImage";
|
|
7650
7848
|
var stateStyles = {
|
|
7651
7849
|
information: {
|
|
7652
7850
|
border: "bg-secondary-500",
|
|
@@ -8446,9 +8644,9 @@ function BoxIcon({ className }) {
|
|
|
8446
8644
|
);
|
|
8447
8645
|
}
|
|
8448
8646
|
var sizeClasses2 = {
|
|
8449
|
-
sm: "w-[400px]",
|
|
8450
|
-
md: "w-[500px]",
|
|
8451
|
-
lg: "w-[640px]"
|
|
8647
|
+
sm: "w-full max-w-[400px] mx-4 sm:mx-0",
|
|
8648
|
+
md: "w-full max-w-[500px] mx-4 sm:mx-0",
|
|
8649
|
+
lg: "w-full max-w-[640px] mx-4 sm:mx-0"
|
|
8452
8650
|
};
|
|
8453
8651
|
var Modal = react.forwardRef(
|
|
8454
8652
|
({
|
|
@@ -8892,7 +9090,30 @@ function Variation6({ label, value, icon, trendBadge, description, cta }) {
|
|
|
8892
9090
|
cta && /* @__PURE__ */ jsxRuntime.jsx(CtaFooter, { cta, centered: true })
|
|
8893
9091
|
] });
|
|
8894
9092
|
}
|
|
8895
|
-
function MetricsCard({
|
|
9093
|
+
function MetricsCard({
|
|
9094
|
+
variation = "2",
|
|
9095
|
+
className,
|
|
9096
|
+
// Destructure component-specific props to prevent them from being spread to DOM
|
|
9097
|
+
label,
|
|
9098
|
+
value,
|
|
9099
|
+
icon,
|
|
9100
|
+
trendBadge,
|
|
9101
|
+
statusBadge,
|
|
9102
|
+
description,
|
|
9103
|
+
secondaryText,
|
|
9104
|
+
cta,
|
|
9105
|
+
...rest
|
|
9106
|
+
}) {
|
|
9107
|
+
const componentProps = {
|
|
9108
|
+
label,
|
|
9109
|
+
value,
|
|
9110
|
+
icon,
|
|
9111
|
+
trendBadge,
|
|
9112
|
+
statusBadge,
|
|
9113
|
+
description,
|
|
9114
|
+
secondaryText,
|
|
9115
|
+
cta
|
|
9116
|
+
};
|
|
8896
9117
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8897
9118
|
"div",
|
|
8898
9119
|
{
|
|
@@ -8900,14 +9121,14 @@ function MetricsCard({ variation = "2", className, ...props }) {
|
|
|
8900
9121
|
"flex flex-col overflow-clip rounded-xl border border-grey-200 bg-white dark:bg-grey-50 shadow-soft-xxs",
|
|
8901
9122
|
className
|
|
8902
9123
|
),
|
|
8903
|
-
...
|
|
9124
|
+
...rest,
|
|
8904
9125
|
children: [
|
|
8905
|
-
variation === "1" && /* @__PURE__ */ jsxRuntime.jsx(Variation1, { ...
|
|
8906
|
-
variation === "2" && /* @__PURE__ */ jsxRuntime.jsx(Variation2, { ...
|
|
8907
|
-
variation === "3" && /* @__PURE__ */ jsxRuntime.jsx(Variation3, { ...
|
|
8908
|
-
variation === "4" && /* @__PURE__ */ jsxRuntime.jsx(Variation4, { ...
|
|
8909
|
-
variation === "5" && /* @__PURE__ */ jsxRuntime.jsx(Variation5, { ...
|
|
8910
|
-
variation === "6" && /* @__PURE__ */ jsxRuntime.jsx(Variation6, { ...
|
|
9126
|
+
variation === "1" && /* @__PURE__ */ jsxRuntime.jsx(Variation1, { ...componentProps }),
|
|
9127
|
+
variation === "2" && /* @__PURE__ */ jsxRuntime.jsx(Variation2, { ...componentProps }),
|
|
9128
|
+
variation === "3" && /* @__PURE__ */ jsxRuntime.jsx(Variation3, { ...componentProps }),
|
|
9129
|
+
variation === "4" && /* @__PURE__ */ jsxRuntime.jsx(Variation4, { ...componentProps }),
|
|
9130
|
+
variation === "5" && /* @__PURE__ */ jsxRuntime.jsx(Variation5, { ...componentProps }),
|
|
9131
|
+
variation === "6" && /* @__PURE__ */ jsxRuntime.jsx(Variation6, { ...componentProps })
|
|
8911
9132
|
]
|
|
8912
9133
|
}
|
|
8913
9134
|
);
|
|
@@ -9071,19 +9292,34 @@ var FileUploadDropZone = react.forwardRef(
|
|
|
9071
9292
|
] }),
|
|
9072
9293
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", size: "sm", onClick: handleBrowse, children: "Browse Files" })
|
|
9073
9294
|
] }),
|
|
9074
|
-
state === "uploading" && uploadingFile && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9075
|
-
|
|
9076
|
-
|
|
9077
|
-
|
|
9078
|
-
|
|
9079
|
-
|
|
9080
|
-
|
|
9081
|
-
|
|
9295
|
+
state === "uploading" && uploadingFile && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9296
|
+
"div",
|
|
9297
|
+
{
|
|
9298
|
+
className: "flex w-full flex-col items-center gap-4",
|
|
9299
|
+
"aria-live": "polite",
|
|
9300
|
+
"aria-atomic": "true",
|
|
9301
|
+
children: [
|
|
9302
|
+
/* @__PURE__ */ jsxRuntime.jsx(FileTypeIcon, { type: getFileType(uploadingFile.name), "aria-hidden": "true" }),
|
|
9303
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-xs flex-col gap-2", children: [
|
|
9304
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
9305
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-body-sm font-medium text-grey-700 truncate", children: uploadingFile.name }),
|
|
9306
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
9307
|
+
"span",
|
|
9308
|
+
{
|
|
9309
|
+
className: "text-body-xs font-medium text-grey-500 ml-2 shrink-0",
|
|
9310
|
+
"aria-label": `Upload progress: ${Math.round(uploadingFile.progress)} percent`,
|
|
9311
|
+
children: [
|
|
9312
|
+
Math.round(uploadingFile.progress),
|
|
9313
|
+
"%"
|
|
9314
|
+
]
|
|
9315
|
+
}
|
|
9316
|
+
)
|
|
9317
|
+
] }),
|
|
9318
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProgressBar, { value: uploadingFile.progress, size: "sm", showPercentage: false })
|
|
9082
9319
|
] })
|
|
9083
|
-
]
|
|
9084
|
-
|
|
9085
|
-
|
|
9086
|
-
] }),
|
|
9320
|
+
]
|
|
9321
|
+
}
|
|
9322
|
+
),
|
|
9087
9323
|
state === "success" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4", role: "status", children: [
|
|
9088
9324
|
/* @__PURE__ */ jsxRuntime.jsx(UploadStateIcon, { state: "success", size: 56, "aria-hidden": "true" }),
|
|
9089
9325
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center gap-1", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-body-sm font-semibold text-grey-800", children: "Document Uploaded Successfully" }) }),
|
|
@@ -9343,14 +9579,14 @@ var FileUpload = react.forwardRef(
|
|
|
9343
9579
|
FileUpload.displayName = "FileUpload";
|
|
9344
9580
|
var sidebarThemeStyles = {
|
|
9345
9581
|
light: {
|
|
9346
|
-
container: "bg-white",
|
|
9582
|
+
container: "bg-white dark:bg-grey-50",
|
|
9347
9583
|
defaultText: "text-grey-700",
|
|
9348
9584
|
defaultIcon: "text-grey-400",
|
|
9349
9585
|
selectedBg: "bg-primary-50",
|
|
9350
9586
|
selectedText: "text-grey-900",
|
|
9351
9587
|
selectedBorder: "border-l-2 border-primary-400",
|
|
9352
9588
|
selectedIcon: "text-grey-900",
|
|
9353
|
-
hoverBg: "hover:bg-grey-50",
|
|
9589
|
+
hoverBg: "hover:bg-grey-50 dark:hover:bg-grey-100",
|
|
9354
9590
|
sectionTitle: "text-grey-400",
|
|
9355
9591
|
divider: "border-grey-100",
|
|
9356
9592
|
badgeDefault: "bg-grey-100 text-grey-700",
|
|
@@ -14363,7 +14599,13 @@ var ActivityItem = react.forwardRef(
|
|
|
14363
14599
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 w-full", children: [
|
|
14364
14600
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between w-full", children: [
|
|
14365
14601
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 items-start gap-1 min-w-0", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-body-sm leading-5 text-grey-600", children: text }) }),
|
|
14366
|
-
unread && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14602
|
+
unread && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14603
|
+
"span",
|
|
14604
|
+
{
|
|
14605
|
+
className: "shrink-0 size-2 rounded-full bg-[#04802E] border-[1.5px] border-white",
|
|
14606
|
+
"aria-hidden": "true"
|
|
14607
|
+
}
|
|
14608
|
+
),
|
|
14367
14609
|
unread && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Unread" })
|
|
14368
14610
|
] }),
|
|
14369
14611
|
(date || time || link || badge) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-1 w-full", children: [
|
|
@@ -14722,6 +14964,11 @@ exports.Breadcrumb = Breadcrumb;
|
|
|
14722
14964
|
exports.Button = Button;
|
|
14723
14965
|
exports.ButtonGroup = ButtonGroup;
|
|
14724
14966
|
exports.ButtonGroupItem = ButtonGroupItem;
|
|
14967
|
+
exports.Card = Card;
|
|
14968
|
+
exports.CardBody = CardBody;
|
|
14969
|
+
exports.CardFooter = CardFooter;
|
|
14970
|
+
exports.CardHeader = CardHeader;
|
|
14971
|
+
exports.CardImage = CardImage;
|
|
14725
14972
|
exports.Checkbox = Checkbox;
|
|
14726
14973
|
exports.Chip = Chip;
|
|
14727
14974
|
exports.Counter = Counter;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import { SVGAttributes, HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
|
|
2
|
+
import { SVGAttributes, HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, ImgHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
|
|
3
3
|
import { IconVariant, IconName, IconRecord } from './icons.cjs';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import { ChartData, ChartOptions } from 'chart.js';
|
|
@@ -329,6 +329,59 @@ interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
|
329
329
|
}
|
|
330
330
|
declare function Badge({ color, type, size, leadingIcon, trailingIcon, className, children, ...rest }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
331
331
|
|
|
332
|
+
type CardVariant = "default" | "outlined" | "elevated" | "ghost";
|
|
333
|
+
type CardSize = "sm" | "md" | "lg";
|
|
334
|
+
type CardRounded = "sm" | "md" | "lg" | "xl" | "full";
|
|
335
|
+
type CardShadow = "none" | "sm" | "md" | "lg";
|
|
336
|
+
type CardImagePosition = "top" | "bottom" | "full";
|
|
337
|
+
interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
338
|
+
/** Visual style variant */
|
|
339
|
+
variant?: CardVariant;
|
|
340
|
+
/** Padding scale for sub-components */
|
|
341
|
+
size?: CardSize;
|
|
342
|
+
/** Corner radius */
|
|
343
|
+
rounded?: CardRounded;
|
|
344
|
+
/** Shadow intensity */
|
|
345
|
+
shadow?: CardShadow;
|
|
346
|
+
/** Enable hover shadow effect */
|
|
347
|
+
hoverable?: boolean;
|
|
348
|
+
}
|
|
349
|
+
interface CardHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
|
|
350
|
+
/** Header title */
|
|
351
|
+
title?: ReactNode;
|
|
352
|
+
/** Header subtitle */
|
|
353
|
+
subtitle?: ReactNode;
|
|
354
|
+
/** Actions slot (right side) */
|
|
355
|
+
actions?: ReactNode;
|
|
356
|
+
/** Show bottom border */
|
|
357
|
+
bordered?: boolean;
|
|
358
|
+
}
|
|
359
|
+
interface CardBodyProps extends HTMLAttributes<HTMLDivElement> {
|
|
360
|
+
/** Remove default padding */
|
|
361
|
+
noPadding?: boolean;
|
|
362
|
+
}
|
|
363
|
+
interface CardFooterProps extends HTMLAttributes<HTMLDivElement> {
|
|
364
|
+
/** Footer content alignment */
|
|
365
|
+
align?: "left" | "center" | "right" | "between";
|
|
366
|
+
/** Show top border */
|
|
367
|
+
bordered?: boolean;
|
|
368
|
+
}
|
|
369
|
+
interface CardImageProps extends ImgHTMLAttributes<HTMLImageElement> {
|
|
370
|
+
/** Image position relative to card content */
|
|
371
|
+
position?: CardImagePosition;
|
|
372
|
+
/** Aspect ratio */
|
|
373
|
+
aspectRatio?: "auto" | "video" | "square" | "portrait";
|
|
374
|
+
/** Object fit behavior */
|
|
375
|
+
objectFit?: "cover" | "contain" | "fill";
|
|
376
|
+
/** Alt text (required for accessibility) */
|
|
377
|
+
alt: string;
|
|
378
|
+
}
|
|
379
|
+
declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
|
|
380
|
+
declare const CardHeader: react.ForwardRefExoticComponent<CardHeaderProps & react.RefAttributes<HTMLDivElement>>;
|
|
381
|
+
declare const CardBody: react.ForwardRefExoticComponent<CardBodyProps & react.RefAttributes<HTMLDivElement>>;
|
|
382
|
+
declare const CardFooter: react.ForwardRefExoticComponent<CardFooterProps & react.RefAttributes<HTMLDivElement>>;
|
|
383
|
+
declare const CardImage: react.ForwardRefExoticComponent<CardImageProps & react.RefAttributes<HTMLImageElement>>;
|
|
384
|
+
|
|
332
385
|
type AlertVariant = "toast" | "banner";
|
|
333
386
|
type AlertState = "information" | "success" | "warning" | "error";
|
|
334
387
|
interface AlertAction {
|
|
@@ -525,7 +578,7 @@ interface MetricsCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
525
578
|
/** Call-to-action link */
|
|
526
579
|
cta?: MetricsCardCta;
|
|
527
580
|
}
|
|
528
|
-
declare function MetricsCard({ variation, className, ...
|
|
581
|
+
declare function MetricsCard({ variation, className, label, value, icon, trendBadge, statusBadge, description, secondaryText, cta, ...rest }: MetricsCardProps): react_jsx_runtime.JSX.Element;
|
|
529
582
|
|
|
530
583
|
type FileUploadItemStatus = "pending" | "uploading" | "complete" | "error";
|
|
531
584
|
interface FileUploadFileData {
|
|
@@ -1152,4 +1205,4 @@ declare function useRaydenRadio<TFieldValues extends FieldValues = FieldValues,
|
|
|
1152
1205
|
value: string;
|
|
1153
1206
|
}): UseRaydenRadioReturn<TName>;
|
|
1154
1207
|
|
|
1155
|
-
export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, ActivityContent, type ActivityContentAction, type ActivityContentAttachment, type ActivityContentProps, type ActivityContentStyle, type ActivityContentVariant, ActivityItem, type ActivityItemLink, type ActivityItemProps, Alert, type AlertAction, type AlertProps, type AlertState, type AlertVariant, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarGroupSize, type AvatarProps, type AvatarSize, type AvatarStatus, type AvatarType, Badge, type BadgeColor, type BadgeProps, type BadgeSize, type BadgeType, Banner, type BannerEmphasis, type BannerProps, type BannerSize, type BannerStatus, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, type BreadcrumbSeparator, Button, type ButtonAppearance, ButtonGroup, ButtonGroupItem, type ButtonGroupItemProps, type ButtonGroupProps, type ButtonProps, type ButtonSize, type ButtonVariant, type ChartType, Checkbox, type CheckboxProps, Chip, type ChipProps, Counter, type CounterProps, type CounterShape, type CounterSize, DatePicker, type DatePickerMode, type DatePickerProps, Divider, type DividerProps, type DividerVariant, type DropZoneState, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, EmptyStateIllustration, type EmptyStateIllustrationProps, FileUpload, FileUploadDropZone, type FileUploadDropZoneProps, type FileUploadFileData, FileUploadItem, type FileUploadItemProps, type FileUploadItemStatus, type FileUploadProps, Icon, IconName, type IconProps, type IconSize, IconVariant, type IllustrationName, Input, type InputProps, type InputSize, LinearStepper, type LinearStepperProps, MetricsCard, type MetricsCardCta, type MetricsCardProps, type MetricsCardStatusBadge, type MetricsCardTrend, type MetricsCardTrendBadge, type MetricsCardVariation, Modal, type ModalProps, type ModalSize, NumberCounter, type NumberCounterColor, type NumberCounterProps, type NumberCounterSize, Pagination, type PaginationProps, ProgressBar, type ProgressBarProps, type ProgressBarSize, type ProgressBarType, ProgressCircle, type ProgressCircleProps, type ProgressCircleSize, type ProgressCircleStyle, Radio, type RadioProps, RangeSlider, type RangeSliderProps, RaydenChart, type RaydenChartProps, type ResolvedTheme, SegmentedStepper, type SegmentedStepperProps, Select, SelectOption, type SelectOptionProps, type SelectProps, SidebarMenu, type SidebarMenuContextValue, SidebarMenuItem, type SidebarMenuItemProps, type SidebarMenuProps, SidebarMenuSection, type SidebarMenuSectionProps, SidebarMenuSub, SidebarMenuSubItem, type SidebarMenuSubItemProps, type SidebarMenuSubProps, type SidebarMenuTheme, Slider, type SliderProps, type SliderSize, type SortDirection, Spinner, type SpinnerLabelPosition, type SpinnerProps, type SpinnerSize, type SpinnerStyle, type SpinnerType, type StepIndicator, type StepItem, type StepStatus, Stepper, type StepperOrientation, type StepperProps, Tab, type TabProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsOrientation, type TabsProps, type TabsSize, type TabsVariant, type Theme, ThemeProvider, type ThemeProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipAction, type TooltipPosition, type TooltipProps, type TooltipTheme, type UseRaydenCheckboxReturn, type UseRaydenFormControlOptions, type UseRaydenInputOptions, type UseRaydenInputReturn, type UseRaydenRadioReturn, type UseRaydenSelectOptions, type UseRaydenSelectReturn, chartColors, chartFont, cn, createGradientFill, hexToRgba, illustrationNames, useRaydenCheckbox, useRaydenInput, useRaydenRadio, useRaydenSelect, useRaydenToggle, useResolvedTheme, useTheme };
|
|
1208
|
+
export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, ActivityContent, type ActivityContentAction, type ActivityContentAttachment, type ActivityContentProps, type ActivityContentStyle, type ActivityContentVariant, ActivityItem, type ActivityItemLink, type ActivityItemProps, Alert, type AlertAction, type AlertProps, type AlertState, type AlertVariant, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarGroupSize, type AvatarProps, type AvatarSize, type AvatarStatus, type AvatarType, Badge, type BadgeColor, type BadgeProps, type BadgeSize, type BadgeType, Banner, type BannerEmphasis, type BannerProps, type BannerSize, type BannerStatus, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, type BreadcrumbSeparator, Button, type ButtonAppearance, ButtonGroup, ButtonGroupItem, type ButtonGroupItemProps, type ButtonGroupProps, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardBody, type CardBodyProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardImage, type CardImagePosition, type CardImageProps, type CardProps, type CardRounded, type CardShadow, type CardSize, type CardVariant, type ChartType, Checkbox, type CheckboxProps, Chip, type ChipProps, Counter, type CounterProps, type CounterShape, type CounterSize, DatePicker, type DatePickerMode, type DatePickerProps, Divider, type DividerProps, type DividerVariant, type DropZoneState, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, EmptyStateIllustration, type EmptyStateIllustrationProps, FileUpload, FileUploadDropZone, type FileUploadDropZoneProps, type FileUploadFileData, FileUploadItem, type FileUploadItemProps, type FileUploadItemStatus, type FileUploadProps, Icon, IconName, type IconProps, type IconSize, IconVariant, type IllustrationName, Input, type InputProps, type InputSize, LinearStepper, type LinearStepperProps, MetricsCard, type MetricsCardCta, type MetricsCardProps, type MetricsCardStatusBadge, type MetricsCardTrend, type MetricsCardTrendBadge, type MetricsCardVariation, Modal, type ModalProps, type ModalSize, NumberCounter, type NumberCounterColor, type NumberCounterProps, type NumberCounterSize, Pagination, type PaginationProps, ProgressBar, type ProgressBarProps, type ProgressBarSize, type ProgressBarType, ProgressCircle, type ProgressCircleProps, type ProgressCircleSize, type ProgressCircleStyle, Radio, type RadioProps, RangeSlider, type RangeSliderProps, RaydenChart, type RaydenChartProps, type ResolvedTheme, SegmentedStepper, type SegmentedStepperProps, Select, SelectOption, type SelectOptionProps, type SelectProps, SidebarMenu, type SidebarMenuContextValue, SidebarMenuItem, type SidebarMenuItemProps, type SidebarMenuProps, SidebarMenuSection, type SidebarMenuSectionProps, SidebarMenuSub, SidebarMenuSubItem, type SidebarMenuSubItemProps, type SidebarMenuSubProps, type SidebarMenuTheme, Slider, type SliderProps, type SliderSize, type SortDirection, Spinner, type SpinnerLabelPosition, type SpinnerProps, type SpinnerSize, type SpinnerStyle, type SpinnerType, type StepIndicator, type StepItem, type StepStatus, Stepper, type StepperOrientation, type StepperProps, Tab, type TabProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsOrientation, type TabsProps, type TabsSize, type TabsVariant, type Theme, ThemeProvider, type ThemeProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipAction, type TooltipPosition, type TooltipProps, type TooltipTheme, type UseRaydenCheckboxReturn, type UseRaydenFormControlOptions, type UseRaydenInputOptions, type UseRaydenInputReturn, type UseRaydenRadioReturn, type UseRaydenSelectOptions, type UseRaydenSelectReturn, chartColors, chartFont, cn, createGradientFill, hexToRgba, illustrationNames, useRaydenCheckbox, useRaydenInput, useRaydenRadio, useRaydenSelect, useRaydenToggle, useResolvedTheme, useTheme };
|