@schemavaults/ui 0.93.0 → 0.95.0
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/components/ui/index.d.ts +2 -0
- package/dist/components/ui/index.js +1 -0
- package/dist/components/ui/index.js.map +1 -1
- package/dist/components/ui/progress-bar/progress-bar.d.ts +8 -1
- package/dist/components/ui/progress-bar/progress-bar.js +12 -2
- package/dist/components/ui/progress-bar/progress-bar.js.map +1 -1
- package/dist/components/ui/radio-card-group/index.d.ts +2 -0
- package/dist/components/ui/radio-card-group/index.js +2 -0
- package/dist/components/ui/radio-card-group/index.js.map +1 -0
- package/dist/components/ui/radio-card-group/radio-card-group.d.ts +113 -0
- package/dist/components/ui/radio-card-group/radio-card-group.js +128 -0
- package/dist/components/ui/radio-card-group/radio-card-group.js.map +1 -0
- package/package.json +1 -1
|
@@ -78,6 +78,8 @@ export * from "./hover-card";
|
|
|
78
78
|
export type * from "./hover-card";
|
|
79
79
|
export * from "./radio-group";
|
|
80
80
|
export type * from "./radio-group";
|
|
81
|
+
export * from "./radio-card-group";
|
|
82
|
+
export type * from "./radio-card-group";
|
|
81
83
|
export * from "./skeleton";
|
|
82
84
|
export type * from "./skeleton";
|
|
83
85
|
export * from "./key-value-with-skeleton";
|
|
@@ -38,6 +38,7 @@ export * from "./textarea";
|
|
|
38
38
|
export * from "./prompt-input";
|
|
39
39
|
export * from "./hover-card";
|
|
40
40
|
export * from "./radio-group";
|
|
41
|
+
export * from "./radio-card-group";
|
|
41
42
|
export * from "./skeleton";
|
|
42
43
|
export * from "./key-value-with-skeleton";
|
|
43
44
|
export * from "./description-list";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,15 @@ export interface ProgressBarProps extends Omit<HTMLAttributes<HTMLDivElement>, "
|
|
|
21
21
|
max?: number;
|
|
22
22
|
/** Additional classes for the filled indicator */
|
|
23
23
|
indicatorClassName?: string;
|
|
24
|
+
/**
|
|
25
|
+
* @description Custom [from, to] CSS color values for the indicator
|
|
26
|
+
* gradient. Takes precedence over the `color` variant.
|
|
27
|
+
* @example [getSchemaVaultsBrandColor("schemavaults-brand-blue"), getSchemaVaultsBrandColor("schemavaults-brand-red")]
|
|
28
|
+
* @example ["#8b5cf6", "#ec4899"]
|
|
29
|
+
*/
|
|
30
|
+
gradientColors?: [fromColor: string, toColor: string];
|
|
24
31
|
}
|
|
25
|
-
export declare function ProgressBar({ value, label, min, max, size, color, className, indicatorClassName, ...props }: ProgressBarProps): ReactElement;
|
|
32
|
+
export declare function ProgressBar({ value, label, min, max, size, color, gradientColors, className, indicatorClassName, ...props }: ProgressBarProps): ReactElement;
|
|
26
33
|
export declare namespace ProgressBar {
|
|
27
34
|
var displayName: string;
|
|
28
35
|
}
|
|
@@ -35,10 +35,20 @@ export const progressBarColorIds = [
|
|
|
35
35
|
"warning",
|
|
36
36
|
"destructive",
|
|
37
37
|
];
|
|
38
|
-
export function ProgressBar({ value, label, min = 0, max = 100, size, color, className, indicatorClassName, ...props }) {
|
|
38
|
+
export function ProgressBar({ value, label, min = 0, max = 100, size, color, gradientColors, className, indicatorClassName, ...props }) {
|
|
39
|
+
if (typeof gradientColors !== "undefined" &&
|
|
40
|
+
(!Array.isArray(gradientColors) ||
|
|
41
|
+
typeof gradientColors[0] !== "string" ||
|
|
42
|
+
typeof gradientColors[1] !== "string")) {
|
|
43
|
+
throw new TypeError("Expected a [from, to] tuple containing CSS color values for the <ProgressBar /> gradient!");
|
|
44
|
+
}
|
|
39
45
|
const clampedValue = Math.min(max, Math.max(min, value));
|
|
40
46
|
const percentage = ((clampedValue - min) / (max - min)) * 100;
|
|
41
|
-
return (_jsx("div", { role: "progressbar", "aria-valuenow": clampedValue, "aria-valuemin": min, "aria-valuemax": max, "aria-label": label, className: cn(progressBarVariants({ size }), className), ...props, children: _jsx(m.div, { initial: { width: 0 }, animate: { width: `${percentage}%` }, transition: { duration: 0.4, ease: "easeOut" },
|
|
47
|
+
return (_jsx("div", { role: "progressbar", "aria-valuenow": clampedValue, "aria-valuemin": min, "aria-valuemax": max, "aria-label": label, className: cn(progressBarVariants({ size }), className), ...props, children: _jsx(m.div, { initial: { width: 0 }, animate: { width: `${percentage}%` }, transition: { duration: 0.4, ease: "easeOut" }, style: gradientColors
|
|
48
|
+
? {
|
|
49
|
+
backgroundImage: `linear-gradient(to right, ${gradientColors[0]}, ${gradientColors[1]})`,
|
|
50
|
+
}
|
|
51
|
+
: undefined, className: cn(progressBarIndicatorVariants({ color }), indicatorClassName) }) }));
|
|
42
52
|
}
|
|
43
53
|
ProgressBar.displayName = "ProgressBar";
|
|
44
54
|
//# sourceMappingURL=progress-bar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../../../src/components/ui/progress-bar/progress-bar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CACpC,2DAA2D,EAC3D;IACE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,KAAK;SACV;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAC7C,oDAAoD,EACpD;IACE,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EACL,yEAAyE;YAC3E,QAAQ,EAAE,cAAc;YACxB,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,YAAY;SAC1B;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,SAAS;KACjB;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAU,CAAC;AAInE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,UAAU;IACV,SAAS;IACT,aAAa;CACL,CAAC;
|
|
1
|
+
{"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../../../src/components/ui/progress-bar/progress-bar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CACpC,2DAA2D,EAC3D;IACE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,KAAK;SACV;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAC7C,oDAAoD,EACpD;IACE,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EACL,yEAAyE;YAC3E,QAAQ,EAAE,cAAc;YACxB,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,YAAY;SAC1B;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,SAAS;KACjB;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAU,CAAC;AAInE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,UAAU;IACV,SAAS;IACT,aAAa;CACL,CAAC;AA4BX,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,GAAG,GAAG,CAAC,EACP,GAAG,GAAG,GAAG,EACT,IAAI,EACJ,KAAK,EACL,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,GAAG,KAAK,EACS;IACjB,IACE,OAAO,cAAc,KAAK,WAAW;QACrC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;YAC7B,OAAO,cAAc,CAAC,CAAC,CAAC,KAAK,QAAQ;YACrC,OAAO,cAAc,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EACxC,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,2FAA2F,CAC5F,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAW,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACjE,MAAM,UAAU,GAAW,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAEtE,OAAO,CACL,cACE,IAAI,EAAC,aAAa,mBACH,YAAY,mBACZ,GAAG,mBACH,GAAG,gBACN,KAAK,EACjB,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,KACnD,KAAK,YAET,KAAC,CAAC,CAAC,GAAG,IACJ,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EACrB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,GAAG,EAAE,EACpC,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAC9C,KAAK,EACH,cAAc;gBACZ,CAAC,CAAC;oBACE,eAAe,EAAE,6BAA6B,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,GAAG;iBACzF;gBACH,CAAC,CAAC,SAAS,EAEf,SAAS,EAAE,EAAE,CACX,4BAA4B,CAAC,EAAE,KAAK,EAAE,CAAC,EACvC,kBAAkB,CACnB,GACD,GACE,CACP,CAAC;AACJ,CAAC;AAED,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/radio-card-group/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
import { type ComponentProps, type HTMLAttributes, type ReactElement, type ReactNode, type Ref } from "react";
|
|
4
|
+
export declare const radioCardGroupSizeIds: ["sm", "default", "lg"];
|
|
5
|
+
export type RadioCardGroupSizeId = (typeof radioCardGroupSizeIds)[number];
|
|
6
|
+
export declare const radioCardGroupVariantIds: ["default", "muted", "elevated"];
|
|
7
|
+
export type RadioCardGroupVariantId = (typeof radioCardGroupVariantIds)[number];
|
|
8
|
+
export declare const radioCardGroupOrientationIds: ["vertical", "horizontal"];
|
|
9
|
+
export type RadioCardGroupOrientationId = (typeof radioCardGroupOrientationIds)[number];
|
|
10
|
+
export declare const radioCardIndicatorStyleIds: ["radio", "check", "none"];
|
|
11
|
+
export type RadioCardIndicatorStyleId = (typeof radioCardIndicatorStyleIds)[number];
|
|
12
|
+
declare const radioCardGroupRootVariants: (props?: ({
|
|
13
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
14
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
15
|
+
export interface RadioCardGroupProps extends Omit<ComponentProps<typeof RadioGroupPrimitive.Root>, "orientation">, VariantProps<typeof radioCardGroupRootVariants> {
|
|
16
|
+
/**
|
|
17
|
+
* Visual size for every card in the group. Cards read this via context, so
|
|
18
|
+
* setting it once at the group level is enough. Defaults to `"default"`.
|
|
19
|
+
*/
|
|
20
|
+
size?: RadioCardGroupSizeId;
|
|
21
|
+
/**
|
|
22
|
+
* Visual style variant applied to unchecked cards. Defaults to `"default"`.
|
|
23
|
+
* - `"default"` — bordered card with background matching the surface.
|
|
24
|
+
* - `"muted"` — softer, muted background for dense layouts.
|
|
25
|
+
* - `"elevated"` — subtle shadow, useful on light neutral pages.
|
|
26
|
+
*/
|
|
27
|
+
variant?: RadioCardGroupVariantId;
|
|
28
|
+
/**
|
|
29
|
+
* How the "selected" state is visually indicated inside each card.
|
|
30
|
+
* Defaults to `"radio"` (a small radio dot in the top-right corner).
|
|
31
|
+
* - `"check"` — a check icon in the top-right corner when selected.
|
|
32
|
+
* - `"none"` — rely only on the border/background change to signal selection.
|
|
33
|
+
*/
|
|
34
|
+
indicator?: RadioCardIndicatorStyleId;
|
|
35
|
+
/**
|
|
36
|
+
* Number of columns when the group renders vertically. Ignored when
|
|
37
|
+
* `orientation="horizontal"`. Defaults to `1`.
|
|
38
|
+
*/
|
|
39
|
+
columns?: 1 | 2 | 3 | 4;
|
|
40
|
+
}
|
|
41
|
+
declare function RadioCardGroup({ className, size, variant, indicator, orientation, columns, ref, ...props }: RadioCardGroupProps & {
|
|
42
|
+
ref?: Ref<HTMLDivElement>;
|
|
43
|
+
}): ReactElement;
|
|
44
|
+
declare namespace RadioCardGroup {
|
|
45
|
+
var displayName: string;
|
|
46
|
+
}
|
|
47
|
+
declare const radioCardVariants: (props?: ({
|
|
48
|
+
size?: "sm" | "default" | "lg" | null | undefined;
|
|
49
|
+
variant?: "default" | "muted" | "elevated" | null | undefined;
|
|
50
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
51
|
+
export interface RadioCardProps extends Omit<ComponentProps<typeof RadioGroupPrimitive.Item>, "children"> {
|
|
52
|
+
/**
|
|
53
|
+
* Optional override for the group-level `indicator` style on this card.
|
|
54
|
+
* Useful when a single card in a set should suppress its indicator (for
|
|
55
|
+
* example a "custom" option that opens a follow-up dialog).
|
|
56
|
+
*/
|
|
57
|
+
indicator?: RadioCardIndicatorStyleId;
|
|
58
|
+
children?: ReactNode;
|
|
59
|
+
}
|
|
60
|
+
declare function RadioCard({ className, children, indicator: itemIndicator, ref, ...props }: RadioCardProps & {
|
|
61
|
+
ref?: Ref<HTMLButtonElement>;
|
|
62
|
+
}): ReactElement;
|
|
63
|
+
declare namespace RadioCard {
|
|
64
|
+
var displayName: string;
|
|
65
|
+
}
|
|
66
|
+
export interface RadioCardHeaderProps extends HTMLAttributes<HTMLDivElement> {
|
|
67
|
+
ref?: Ref<HTMLDivElement>;
|
|
68
|
+
}
|
|
69
|
+
declare function RadioCardHeader({ className, ref, ...props }: RadioCardHeaderProps): ReactElement;
|
|
70
|
+
declare namespace RadioCardHeader {
|
|
71
|
+
var displayName: string;
|
|
72
|
+
}
|
|
73
|
+
declare const radioCardIconVariants: (props?: ({
|
|
74
|
+
size?: "sm" | "default" | "lg" | null | undefined;
|
|
75
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
76
|
+
export interface RadioCardIconProps extends HTMLAttributes<HTMLDivElement> {
|
|
77
|
+
ref?: Ref<HTMLDivElement>;
|
|
78
|
+
/** Overrides the group size for this icon. Almost never needed. */
|
|
79
|
+
size?: RadioCardGroupSizeId;
|
|
80
|
+
}
|
|
81
|
+
declare function RadioCardIcon({ className, size, ref, ...props }: RadioCardIconProps): ReactElement;
|
|
82
|
+
declare namespace RadioCardIcon {
|
|
83
|
+
var displayName: string;
|
|
84
|
+
}
|
|
85
|
+
export interface RadioCardTitleProps extends HTMLAttributes<HTMLParagraphElement> {
|
|
86
|
+
ref?: Ref<HTMLParagraphElement>;
|
|
87
|
+
}
|
|
88
|
+
declare function RadioCardTitle({ className, ref, ...props }: RadioCardTitleProps): ReactElement;
|
|
89
|
+
declare namespace RadioCardTitle {
|
|
90
|
+
var displayName: string;
|
|
91
|
+
}
|
|
92
|
+
export interface RadioCardDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {
|
|
93
|
+
ref?: Ref<HTMLParagraphElement>;
|
|
94
|
+
}
|
|
95
|
+
declare function RadioCardDescription({ className, ref, ...props }: RadioCardDescriptionProps): ReactElement;
|
|
96
|
+
declare namespace RadioCardDescription {
|
|
97
|
+
var displayName: string;
|
|
98
|
+
}
|
|
99
|
+
export interface RadioCardBadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
100
|
+
ref?: Ref<HTMLSpanElement>;
|
|
101
|
+
}
|
|
102
|
+
declare function RadioCardBadge({ className, ref, ...props }: RadioCardBadgeProps): ReactElement;
|
|
103
|
+
declare namespace RadioCardBadge {
|
|
104
|
+
var displayName: string;
|
|
105
|
+
}
|
|
106
|
+
export interface RadioCardFooterProps extends HTMLAttributes<HTMLDivElement> {
|
|
107
|
+
ref?: Ref<HTMLDivElement>;
|
|
108
|
+
}
|
|
109
|
+
declare function RadioCardFooter({ className, ref, ...props }: RadioCardFooterProps): ReactElement;
|
|
110
|
+
declare namespace RadioCardFooter {
|
|
111
|
+
var displayName: string;
|
|
112
|
+
}
|
|
113
|
+
export { RadioCardGroup, RadioCard, RadioCardHeader, RadioCardIcon, RadioCardTitle, RadioCardDescription, RadioCardBadge, RadioCardFooter, radioCardGroupRootVariants, radioCardVariants, radioCardIconVariants, };
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { Check } from "lucide-react";
|
|
6
|
+
import { createContext, useContext, useMemo, } from "react";
|
|
7
|
+
import { cn } from "../../../lib/utils";
|
|
8
|
+
export const radioCardGroupSizeIds = [
|
|
9
|
+
"sm",
|
|
10
|
+
"default",
|
|
11
|
+
"lg",
|
|
12
|
+
];
|
|
13
|
+
export const radioCardGroupVariantIds = [
|
|
14
|
+
"default",
|
|
15
|
+
"muted",
|
|
16
|
+
"elevated",
|
|
17
|
+
];
|
|
18
|
+
export const radioCardGroupOrientationIds = [
|
|
19
|
+
"vertical",
|
|
20
|
+
"horizontal",
|
|
21
|
+
];
|
|
22
|
+
export const radioCardIndicatorStyleIds = [
|
|
23
|
+
"radio",
|
|
24
|
+
"check",
|
|
25
|
+
"none",
|
|
26
|
+
];
|
|
27
|
+
const RadioCardGroupContext = createContext(null);
|
|
28
|
+
function useRadioCardGroup() {
|
|
29
|
+
const ctx = useContext(RadioCardGroupContext);
|
|
30
|
+
return ctx ?? { size: "default", variant: "default", indicator: "radio" };
|
|
31
|
+
}
|
|
32
|
+
const radioCardGroupRootVariants = cva("grid w-full gap-3", {
|
|
33
|
+
variants: {
|
|
34
|
+
orientation: {
|
|
35
|
+
vertical: "grid-flow-row",
|
|
36
|
+
horizontal: "auto-cols-fr grid-flow-col",
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
defaultVariants: {
|
|
40
|
+
orientation: "vertical",
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
const columnClass = {
|
|
44
|
+
1: "grid-cols-1",
|
|
45
|
+
2: "grid-cols-1 sm:grid-cols-2",
|
|
46
|
+
3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
|
|
47
|
+
4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4",
|
|
48
|
+
};
|
|
49
|
+
function RadioCardGroup({ className, size = "default", variant = "default", indicator = "radio", orientation = "vertical", columns = 1, ref, ...props }) {
|
|
50
|
+
const contextValue = useMemo(() => ({ size, variant, indicator }), [size, variant, indicator]);
|
|
51
|
+
return (_jsx(RadioCardGroupContext.Provider, { value: contextValue, children: _jsx(RadioGroupPrimitive.Root, { ref: ref, "data-slot": "radio-card-group", "data-orientation": orientation ?? "vertical", className: cn(radioCardGroupRootVariants({ orientation }), orientation === "vertical" && columnClass[columns], className), ...props }) }));
|
|
52
|
+
}
|
|
53
|
+
RadioCardGroup.displayName = "RadioCardGroup";
|
|
54
|
+
const radioCardVariants = cva([
|
|
55
|
+
"group/radio-card relative flex w-full flex-col text-left",
|
|
56
|
+
"cursor-pointer select-none rounded-lg border transition-colors",
|
|
57
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
58
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
59
|
+
"data-[state=checked]:border-primary data-[state=checked]:ring-1 data-[state=checked]:ring-primary/60",
|
|
60
|
+
].join(" "), {
|
|
61
|
+
variants: {
|
|
62
|
+
size: {
|
|
63
|
+
sm: "gap-1 p-3 text-sm",
|
|
64
|
+
default: "gap-1.5 p-4 text-sm",
|
|
65
|
+
lg: "gap-2 p-5 text-base",
|
|
66
|
+
},
|
|
67
|
+
variant: {
|
|
68
|
+
default: "border-input bg-card text-card-foreground hover:border-primary/60 hover:bg-accent/40 data-[state=checked]:bg-primary/5 dark:data-[state=checked]:bg-primary/10",
|
|
69
|
+
muted: "border-transparent bg-muted/60 text-foreground hover:bg-muted data-[state=checked]:bg-primary/10 data-[state=checked]:border-primary",
|
|
70
|
+
elevated: "border-border bg-card text-card-foreground shadow-sm hover:shadow-md hover:border-primary/60 data-[state=checked]:bg-primary/5 dark:data-[state=checked]:bg-primary/10",
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
defaultVariants: {
|
|
74
|
+
size: "default",
|
|
75
|
+
variant: "default",
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
function RadioCard({ className, children, indicator: itemIndicator, ref, ...props }) {
|
|
79
|
+
const { size, variant, indicator: groupIndicator } = useRadioCardGroup();
|
|
80
|
+
const resolvedIndicator = itemIndicator ?? groupIndicator;
|
|
81
|
+
return (_jsxs(RadioGroupPrimitive.Item, { ref: ref, "data-slot": "radio-card", className: cn(radioCardVariants({ size, variant }), className), ...props, children: [resolvedIndicator === "radio" && (_jsx("span", { "aria-hidden": "true", "data-slot": "radio-card-indicator", className: cn("absolute right-3 top-3 flex size-4 items-center justify-center rounded-full border transition-colors", "border-input group-data-[state=checked]/radio-card:border-primary group-data-[state=checked]/radio-card:bg-primary"), children: _jsx(RadioGroupPrimitive.Indicator, { asChild: true, children: _jsx("span", { className: "size-1.5 rounded-full bg-primary-foreground" }) }) })), resolvedIndicator === "check" && (_jsx("span", { "aria-hidden": "true", "data-slot": "radio-card-indicator", className: cn("absolute right-3 top-3 flex size-5 items-center justify-center rounded-full border transition-colors", "border-input group-data-[state=checked]/radio-card:border-primary group-data-[state=checked]/radio-card:bg-primary"), children: _jsx(RadioGroupPrimitive.Indicator, { asChild: true, children: _jsx(Check, { className: "size-3 text-primary-foreground", strokeWidth: 3 }) }) })), children] }));
|
|
82
|
+
}
|
|
83
|
+
RadioCard.displayName = "RadioCard";
|
|
84
|
+
function RadioCardHeader({ className, ref, ...props }) {
|
|
85
|
+
return (_jsx("div", { ref: ref, "data-slot": "radio-card-header", className: cn("flex w-full items-start gap-3", className), ...props }));
|
|
86
|
+
}
|
|
87
|
+
RadioCardHeader.displayName = "RadioCardHeader";
|
|
88
|
+
const radioCardIconVariants = cva("flex shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground group-data-[state=checked]/radio-card:bg-primary/10 group-data-[state=checked]/radio-card:text-primary [&>svg]:shrink-0", {
|
|
89
|
+
variants: {
|
|
90
|
+
size: {
|
|
91
|
+
sm: "size-7 [&>svg]:size-4",
|
|
92
|
+
default: "size-9 [&>svg]:size-5",
|
|
93
|
+
lg: "size-11 [&>svg]:size-6",
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
defaultVariants: {
|
|
97
|
+
size: "default",
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
function RadioCardIcon({ className, size, ref, ...props }) {
|
|
101
|
+
const { size: groupSize } = useRadioCardGroup();
|
|
102
|
+
return (_jsx("div", { ref: ref, "aria-hidden": "true", "data-slot": "radio-card-icon", className: cn(radioCardIconVariants({ size: size ?? groupSize }), className), ...props }));
|
|
103
|
+
}
|
|
104
|
+
RadioCardIcon.displayName = "RadioCardIcon";
|
|
105
|
+
const radioCardTitleSizes = {
|
|
106
|
+
sm: "text-sm",
|
|
107
|
+
default: "text-sm",
|
|
108
|
+
lg: "text-base",
|
|
109
|
+
};
|
|
110
|
+
function RadioCardTitle({ className, ref, ...props }) {
|
|
111
|
+
const { size } = useRadioCardGroup();
|
|
112
|
+
return (_jsx("p", { ref: ref, "data-slot": "radio-card-title", className: cn("font-semibold leading-tight text-foreground", radioCardTitleSizes[size], className), ...props }));
|
|
113
|
+
}
|
|
114
|
+
RadioCardTitle.displayName = "RadioCardTitle";
|
|
115
|
+
function RadioCardDescription({ className, ref, ...props }) {
|
|
116
|
+
return (_jsx("p", { ref: ref, "data-slot": "radio-card-description", className: cn("text-xs text-muted-foreground leading-snug", className), ...props }));
|
|
117
|
+
}
|
|
118
|
+
RadioCardDescription.displayName = "RadioCardDescription";
|
|
119
|
+
function RadioCardBadge({ className, ref, ...props }) {
|
|
120
|
+
return (_jsx("span", { ref: ref, "data-slot": "radio-card-badge", className: cn("inline-flex items-center rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-medium uppercase tracking-wide text-primary", className), ...props }));
|
|
121
|
+
}
|
|
122
|
+
RadioCardBadge.displayName = "RadioCardBadge";
|
|
123
|
+
function RadioCardFooter({ className, ref, ...props }) {
|
|
124
|
+
return (_jsx("div", { ref: ref, "data-slot": "radio-card-footer", className: cn("mt-2 flex flex-wrap items-center gap-2 text-xs text-muted-foreground", className), ...props }));
|
|
125
|
+
}
|
|
126
|
+
RadioCardFooter.displayName = "RadioCardFooter";
|
|
127
|
+
export { RadioCardGroup, RadioCard, RadioCardHeader, RadioCardIcon, RadioCardTitle, RadioCardDescription, RadioCardBadge, RadioCardFooter, radioCardGroupRootVariants, radioCardVariants, radioCardIconVariants, };
|
|
128
|
+
//# sourceMappingURL=radio-card-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-card-group.js","sourceRoot":"","sources":["../../../../src/components/ui/radio-card-group/radio-card-group.tsx"],"names":[],"mappings":"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"}
|