@turtleclub/ui 0.3.0-beta.9 → 0.3.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/.prettierrc.json +4 -0
- package/.turbo/turbo-build.log +152 -39
- package/CHANGELOG.md +334 -0
- package/dist/index.cjs +170 -28
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +23743 -4141
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/components/features/data-table.d.ts +9 -0
- package/dist/types/components/features/data-table.d.ts.map +1 -0
- package/dist/types/components/features/index.d.ts +5 -0
- package/dist/types/components/features/index.d.ts.map +1 -0
- package/dist/types/components/features/page-heading.d.ts +10 -0
- package/dist/types/components/features/page-heading.d.ts.map +1 -0
- package/dist/types/components/features/search-bar.d.ts +10 -0
- package/dist/types/components/features/search-bar.d.ts.map +1 -0
- package/dist/types/components/features/segmented-navigation.d.ts +7 -0
- package/dist/types/components/features/segmented-navigation.d.ts.map +1 -0
- package/dist/types/components/features/sidebar-layout.d.ts +36 -0
- package/dist/types/components/features/sidebar-layout.d.ts.map +1 -0
- package/dist/types/components/icons/arrow.d.ts +4 -0
- package/dist/types/components/icons/arrow.d.ts.map +1 -0
- package/dist/types/components/icons/beta.d.ts +4 -0
- package/dist/types/components/icons/beta.d.ts.map +1 -0
- package/dist/types/components/icons/dot.d.ts +4 -0
- package/dist/types/components/icons/dot.d.ts.map +1 -0
- package/dist/types/components/icons/index.d.ts +8 -0
- package/dist/types/components/icons/index.d.ts.map +1 -0
- package/dist/types/components/icons/issue.d.ts +4 -0
- package/dist/types/components/icons/issue.d.ts.map +1 -0
- package/dist/types/components/icons/turtle.d.ts +4 -0
- package/dist/types/components/icons/turtle.d.ts.map +1 -0
- package/dist/types/components/icons/update.d.ts +4 -0
- package/dist/types/components/icons/update.d.ts.map +1 -0
- package/dist/types/components/icons/warning.d.ts +4 -0
- package/dist/types/components/icons/warning.d.ts.map +1 -0
- package/dist/types/components/molecules/index.d.ts +0 -1
- package/dist/types/components/molecules/index.d.ts.map +1 -1
- package/dist/types/components/molecules/opportunity/opportunity-apr.d.ts +6 -2
- package/dist/types/components/molecules/opportunity/opportunity-apr.d.ts.map +1 -1
- package/dist/types/components/molecules/opportunity/opportunity-disclaimer.d.ts +1 -2
- package/dist/types/components/molecules/opportunity/opportunity-disclaimer.d.ts.map +1 -1
- package/dist/types/components/molecules/opportunity/opportunity-list/hooks/use-opportunity-filtering.d.ts +2 -1
- package/dist/types/components/molecules/opportunity/opportunity-list/hooks/use-opportunity-filtering.d.ts.map +1 -1
- package/dist/types/components/molecules/opportunity/opportunity-list/opportunity-list.d.ts.map +1 -1
- package/dist/types/components/molecules/opportunity/opportunity-rate-estimator.d.ts +1 -2
- package/dist/types/components/molecules/opportunity/opportunity-rate-estimator.d.ts.map +1 -1
- package/dist/types/components/molecules/opportunity/opportunity-section.d.ts +3 -0
- package/dist/types/components/molecules/opportunity/opportunity-section.d.ts.map +1 -1
- package/dist/types/components/molecules/opportunity/opportunity-selector.d.ts +1 -2
- package/dist/types/components/molecules/opportunity/opportunity-selector.d.ts.map +1 -1
- package/dist/types/components/molecules/opportunity/opportunity-type.d.ts +1 -2
- package/dist/types/components/molecules/opportunity/opportunity-type.d.ts.map +1 -1
- package/dist/types/components/molecules/route-details.d.ts +1 -1
- package/dist/types/components/molecules/route-details.d.ts.map +1 -1
- package/dist/types/components/molecules/slippage-selector.d.ts +1 -2
- package/dist/types/components/molecules/slippage-selector.d.ts.map +1 -1
- package/dist/types/components/molecules/swap-details.d.ts.map +1 -1
- package/dist/types/components/molecules/swap-input.d.ts +5 -1
- package/dist/types/components/molecules/swap-input.d.ts.map +1 -1
- package/dist/types/components/molecules/tabs.d.ts +2 -2
- package/dist/types/components/molecules/tabs.d.ts.map +1 -1
- package/dist/types/components/molecules/token-selector.d.ts +1 -1
- package/dist/types/components/molecules/token-selector.d.ts.map +1 -1
- package/dist/types/components/molecules/tx-status.d.ts.map +1 -1
- package/dist/types/components/molecules/widget/asset-list/asset-filters.d.ts.map +1 -1
- package/dist/types/components/molecules/widget/asset-list/asset-list.d.ts.map +1 -1
- package/dist/types/components/molecules/widget/asset-list/hooks/use-asset-grouping.d.ts.map +1 -1
- package/dist/types/components/molecules/widget/base-selector.d.ts +1 -1
- package/dist/types/components/molecules/widget/base-selector.d.ts.map +1 -1
- package/dist/types/components/molecules/widget/campaign-item.d.ts +1 -1
- package/dist/types/components/molecules/widget/campaign-item.d.ts.map +1 -1
- package/dist/types/components/molecules/widget/index.d.ts +3 -3
- package/dist/types/components/molecules/widget/index.d.ts.map +1 -1
- package/dist/types/components/molecules/widget/opportunity-item.d.ts +7 -0
- package/dist/types/components/molecules/widget/opportunity-item.d.ts.map +1 -1
- package/dist/types/components/molecules/widget/widget-item.d.ts +2 -2
- package/dist/types/components/molecules/widget/widget-item.d.ts.map +1 -1
- package/dist/types/components/molecules/widget/widget-list-items.d.ts +2 -2
- package/dist/types/components/molecules/widget/widget-list-items.d.ts.map +1 -1
- package/dist/types/components/ui/alert-dialog.d.ts +15 -0
- package/dist/types/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/types/components/ui/animated-background/animated-background.d.ts +9 -0
- package/dist/types/components/ui/animated-background/animated-background.d.ts.map +1 -0
- package/dist/types/components/ui/animated-background/index.d.ts +2 -0
- package/dist/types/components/ui/animated-background/index.d.ts.map +1 -0
- package/dist/types/components/ui/avatar.d.ts +10 -6
- package/dist/types/components/ui/avatar.d.ts.map +1 -1
- package/dist/types/components/ui/badge.d.ts +5 -4
- package/dist/types/components/ui/badge.d.ts.map +1 -1
- package/dist/types/components/ui/banner.d.ts +7 -0
- package/dist/types/components/ui/banner.d.ts.map +1 -0
- package/dist/types/components/ui/button.d.ts +8 -6
- package/dist/types/components/ui/button.d.ts.map +1 -1
- package/dist/types/components/ui/card.d.ts +10 -11
- package/dist/types/components/ui/card.d.ts.map +1 -1
- package/dist/types/components/ui/checkbox.d.ts +5 -0
- package/dist/types/components/ui/checkbox.d.ts.map +1 -0
- package/dist/types/components/ui/chip.d.ts +1 -1
- package/dist/types/components/ui/chip.d.ts.map +1 -1
- package/dist/types/components/ui/collapsible.d.ts +7 -0
- package/dist/types/components/ui/collapsible.d.ts.map +1 -0
- package/dist/types/components/ui/combobox.d.ts +148 -0
- package/dist/types/components/ui/combobox.d.ts.map +1 -0
- package/dist/types/components/ui/command.d.ts +19 -0
- package/dist/types/components/ui/command.d.ts.map +1 -0
- package/dist/types/components/ui/dialog.d.ts +10 -10
- package/dist/types/components/ui/dialog.d.ts.map +1 -1
- package/dist/types/components/ui/dropdown.d.ts +30 -0
- package/dist/types/components/ui/dropdown.d.ts.map +1 -0
- package/dist/types/components/ui/field.d.ts +26 -0
- package/dist/types/components/ui/field.d.ts.map +1 -0
- package/dist/types/components/ui/heading.d.ts +12 -0
- package/dist/types/components/ui/heading.d.ts.map +1 -0
- package/dist/types/components/ui/hover-card.d.ts +7 -7
- package/dist/types/components/ui/hover-card.d.ts.map +1 -1
- package/dist/types/components/ui/icon-animation.d.ts +1 -1
- package/dist/types/components/ui/icon-animation.d.ts.map +1 -1
- package/dist/types/components/ui/icon-list.d.ts +3 -0
- package/dist/types/components/ui/icon-list.d.ts.map +1 -1
- package/dist/types/components/ui/index.d.ts +28 -9
- package/dist/types/components/ui/index.d.ts.map +1 -1
- package/dist/types/components/ui/info-card.d.ts +4 -4
- package/dist/types/components/ui/info-card.d.ts.map +1 -1
- package/dist/types/components/ui/input-group.d.ts +17 -0
- package/dist/types/components/ui/input-group.d.ts.map +1 -0
- package/dist/types/components/ui/input.d.ts +1 -3
- package/dist/types/components/ui/input.d.ts.map +1 -1
- package/dist/types/components/ui/label-with-icon.d.ts +3 -3
- package/dist/types/components/ui/label-with-icon.d.ts.map +1 -1
- package/dist/types/components/ui/label.d.ts +1 -1
- package/dist/types/components/ui/label.d.ts.map +1 -1
- package/dist/types/components/ui/multi-select.d.ts +192 -0
- package/dist/types/components/ui/multi-select.d.ts.map +1 -0
- package/dist/types/components/ui/navigation-bar.d.ts +2 -2
- package/dist/types/components/ui/navigation-bar.d.ts.map +1 -1
- package/dist/types/components/ui/navigation-menu.d.ts +15 -0
- package/dist/types/components/ui/navigation-menu.d.ts.map +1 -0
- package/dist/types/components/ui/opportunity-details-v1.d.ts +1 -1
- package/dist/types/components/ui/opportunity-details-v1.d.ts.map +1 -1
- package/dist/types/components/ui/popover.d.ts +8 -0
- package/dist/types/components/ui/popover.d.ts.map +1 -0
- package/dist/types/components/ui/scroll-area.d.ts +2 -2
- package/dist/types/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/types/components/ui/segment-control.d.ts +19 -0
- package/dist/types/components/ui/segment-control.d.ts.map +1 -0
- package/dist/types/components/ui/select.d.ts +14 -13
- package/dist/types/components/ui/select.d.ts.map +1 -1
- package/dist/types/components/ui/separator.d.ts +1 -1
- package/dist/types/components/ui/separator.d.ts.map +1 -1
- package/dist/types/components/ui/sheet.d.ts +14 -0
- package/dist/types/components/ui/sheet.d.ts.map +1 -0
- package/dist/types/components/ui/sidebar.d.ts +69 -0
- package/dist/types/components/ui/sidebar.d.ts.map +1 -0
- package/dist/types/components/ui/skeleton.d.ts +4 -0
- package/dist/types/components/ui/skeleton.d.ts.map +1 -0
- package/dist/types/components/ui/slider.d.ts +5 -0
- package/dist/types/components/ui/slider.d.ts.map +1 -0
- package/dist/types/components/ui/sonner.d.ts +1 -2
- package/dist/types/components/ui/sonner.d.ts.map +1 -1
- package/dist/types/components/ui/switch.d.ts +1 -1
- package/dist/types/components/ui/switch.d.ts.map +1 -1
- package/dist/types/components/ui/table-shadcn.d.ts +11 -0
- package/dist/types/components/ui/table-shadcn.d.ts.map +1 -0
- package/dist/types/components/ui/table.d.ts +2 -2
- package/dist/types/components/ui/table.d.ts.map +1 -1
- package/dist/types/components/ui/textarea.d.ts +4 -0
- package/dist/types/components/ui/textarea.d.ts.map +1 -0
- package/dist/types/components/ui/toggle-group.d.ts +2 -2
- package/dist/types/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/types/components/ui/toggle.d.ts +2 -2
- package/dist/types/components/ui/toggle.d.ts.map +1 -1
- package/dist/types/components/ui/tooltip.d.ts +7 -4
- package/dist/types/components/ui/tooltip.d.ts.map +1 -1
- package/dist/types/hooks/useIsMobile.d.ts +7 -0
- package/dist/types/hooks/useIsMobile.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +38 -28
- package/src/components/features/data-table.tsx +96 -0
- package/src/components/features/index.ts +4 -0
- package/src/components/features/page-heading.tsx +22 -0
- package/src/components/features/search-bar.tsx +50 -0
- package/src/components/features/segmented-navigation.tsx +18 -0
- package/src/components/features/sidebar-layout.tsx +190 -0
- package/src/components/icons/arrow.tsx +23 -0
- package/src/components/icons/beta.tsx +86 -0
- package/src/components/icons/dot.tsx +89 -0
- package/src/components/icons/index.ts +7 -0
- package/src/components/icons/issue.tsx +97 -0
- package/src/components/icons/turtle.tsx +143 -0
- package/src/components/icons/update.tsx +108 -0
- package/src/components/icons/warning.tsx +86 -0
- package/src/components/molecules/index.ts +0 -2
- package/src/components/molecules/opportunity/opportunity-apr.tsx +97 -16
- package/src/components/molecules/opportunity/opportunity-list/hooks/use-opportunity-filtering.ts +4 -3
- package/src/components/molecules/opportunity/opportunity-list/hooks/use-opportunity-grouping.ts +1 -1
- package/src/components/molecules/opportunity/opportunity-list/opportunity-list.tsx +21 -17
- package/src/components/molecules/opportunity/opportunity-rate-estimator.tsx +4 -1
- package/src/components/molecules/opportunity/opportunity-section.tsx +19 -17
- package/src/components/molecules/opportunity/opportunity-selector.tsx +2 -3
- package/src/components/molecules/route-details.tsx +48 -37
- package/src/components/molecules/swap-details.tsx +2 -4
- package/src/components/molecules/swap-input.tsx +56 -21
- package/src/components/molecules/token-selector.tsx +2 -2
- package/src/components/molecules/tx-status.tsx +1 -5
- package/src/components/molecules/widget/asset-list/asset-filters.tsx +17 -23
- package/src/components/molecules/widget/asset-list/asset-list.tsx +23 -19
- package/src/components/molecules/widget/asset-list/asset-row.tsx +7 -7
- package/src/components/molecules/widget/asset-list/hooks/use-asset-grouping.ts +38 -23
- package/src/components/molecules/widget/base-selector.tsx +11 -11
- package/src/components/molecules/widget/campaign-item.tsx +2 -2
- package/src/components/molecules/widget/index.ts +10 -4
- package/src/components/molecules/widget/opportunity-item.tsx +8 -1
- package/src/components/molecules/widget/widget-item.tsx +45 -26
- package/src/components/molecules/widget/widget-list-items.tsx +6 -5
- package/src/components/ui/alert-dialog.tsx +146 -0
- package/src/components/ui/animated-background/animated-background.tsx +174 -0
- package/src/components/ui/animated-background/index.ts +1 -0
- package/src/components/ui/avatar.tsx +16 -3
- package/src/components/ui/badge.tsx +18 -8
- package/src/components/ui/banner.tsx +78 -0
- package/src/components/ui/button.tsx +51 -21
- package/src/components/ui/card.tsx +21 -61
- package/src/components/ui/checkbox.tsx +29 -0
- package/src/components/ui/collapsible.tsx +22 -0
- package/src/components/ui/combobox.tsx +617 -0
- package/src/components/ui/command.tsx +164 -0
- package/src/components/ui/dialog.tsx +5 -9
- package/src/components/ui/dropdown.tsx +263 -0
- package/src/components/ui/field.tsx +232 -0
- package/src/components/ui/heading.tsx +49 -0
- package/src/components/ui/hover-card.tsx +10 -10
- package/src/components/ui/icon-list.tsx +109 -21
- package/src/components/ui/index.ts +29 -10
- package/src/components/ui/info-card.tsx +1 -1
- package/src/components/ui/input-group.tsx +158 -0
- package/src/components/ui/input.tsx +17 -25
- package/src/components/ui/label-with-icon.tsx +40 -30
- package/src/components/ui/label.tsx +8 -9
- package/src/components/ui/multi-select.tsx +1000 -0
- package/src/components/ui/navigation-menu.tsx +181 -0
- package/src/components/ui/opportunity-details-v1.tsx +2 -2
- package/src/components/ui/popover.tsx +42 -0
- package/src/components/ui/scroll-area.tsx +11 -11
- package/src/components/ui/segment-control.tsx +140 -0
- package/src/components/ui/select.tsx +26 -31
- package/src/components/ui/sheet.tsx +130 -0
- package/src/components/ui/sidebar.tsx +693 -0
- package/src/components/ui/skeleton.tsx +14 -0
- package/src/components/ui/slider.tsx +58 -0
- package/src/components/ui/switch.tsx +8 -11
- package/src/components/ui/{table-shad.tsx → table-shadcn.tsx} +25 -39
- package/src/components/ui/table.tsx +3 -2
- package/src/components/ui/textarea.tsx +22 -0
- package/src/components/ui/tooltip.tsx +11 -7
- package/src/hooks/useIsMobile.ts +74 -0
- package/src/index.ts +2 -0
- package/src/styles/globals.css +87 -20
- package/src/styles/themes/semantic.css +11 -5
- package/src/styles/tokens/colors.css +64 -53
- package/src/styles/tokens/radius.css +3 -34
- package/tsconfig.json +11 -15
- package/vite.config.js +41 -57
- package/dist/types/components/molecules/search-bar.d.ts +0 -10
- package/dist/types/components/molecules/search-bar.d.ts.map +0 -1
- package/dist/types/components/ui/table-shad.d.ts +0 -11
- package/dist/types/components/ui/table-shad.d.ts.map +0 -1
- package/src/components/molecules/search-bar.tsx +0 -42
|
@@ -6,98 +6,58 @@ import { cn } from "@/lib/utils";
|
|
|
6
6
|
const cardVariants = cva("transition-all", {
|
|
7
7
|
variants: {
|
|
8
8
|
variant: {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
item: "bg-muted drop-shadow-lg",
|
|
9
|
+
default: "bg-background",
|
|
10
|
+
border: "bg-background border-border border",
|
|
11
|
+
shadow: "bg-muted shadow-[0px_4px_4px_0px] shadow-black/20",
|
|
13
12
|
},
|
|
14
|
-
|
|
13
|
+
gradient: {
|
|
15
14
|
none: "",
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
green:
|
|
19
|
-
"relative before:content-[''] before:absolute before:inset-0 before:p-px before:rounded-[inherit] before:bg-gradient-to-br before:from-[#73F36C]/60 before:via-transparent before:to-[#73F36C]/20 before:pointer-events-none before:[mask:linear-gradient(#fff_0_0)_content-box,linear-gradient(#fff_0_0)] before:[mask-composite:exclude]",
|
|
20
|
-
auto: "relative before:content-[''] before:absolute before:inset-0 before:p-px before:rounded-[inherit] before:bg-gradient-to-br before:from-white/40 before:via-transparent before:to-white/10 before:pointer-events-none before:[mask:linear-gradient(#fff_0_0)_content-box,linear-gradient(#fff_0_0)] before:[mask-composite:exclude] dark:before:from-white/40 dark:before:to-white/10 light:before:from-black/20 light:before:to-black/5",
|
|
21
|
-
},
|
|
22
|
-
padding: {
|
|
23
|
-
none: "p-0",
|
|
24
|
-
xs: "py-2 px-2",
|
|
25
|
-
sm: "py-3.5 px-3.5",
|
|
26
|
-
default: "py-4.5 px-4.5",
|
|
27
|
-
md: "py-6.5 px-6",
|
|
28
|
-
lg: "py-8.5 px-8",
|
|
15
|
+
primary: "border-gradient-primary",
|
|
16
|
+
white: "border-gradient-white",
|
|
29
17
|
},
|
|
30
18
|
rounded: {
|
|
31
|
-
default: "rounded-
|
|
19
|
+
default: "rounded-lg",
|
|
32
20
|
infoCard: "rounded-info-card",
|
|
33
21
|
none: "rounded-none",
|
|
34
22
|
sm: "rounded-sm",
|
|
35
23
|
md: "rounded-md",
|
|
36
24
|
lg: "rounded-lg",
|
|
37
|
-
xl: "rounded-
|
|
25
|
+
xl: "rounded-lg",
|
|
38
26
|
full: "rounded-full",
|
|
39
27
|
},
|
|
40
28
|
},
|
|
41
29
|
defaultVariants: {
|
|
42
|
-
variant: "
|
|
43
|
-
padding: "default",
|
|
30
|
+
variant: "default",
|
|
44
31
|
rounded: "default",
|
|
45
|
-
|
|
32
|
+
gradient: "none",
|
|
46
33
|
},
|
|
47
34
|
});
|
|
48
35
|
|
|
49
36
|
function Card({
|
|
50
37
|
className,
|
|
51
38
|
variant,
|
|
52
|
-
padding,
|
|
53
39
|
rounded,
|
|
54
|
-
|
|
40
|
+
gradient,
|
|
55
41
|
...props
|
|
56
42
|
}: React.ComponentProps<"div"> & VariantProps<typeof cardVariants>) {
|
|
57
|
-
// Auto-apply gradient border for container variant if not specified
|
|
58
|
-
const finalGradientBorder = gradientBorder ?? (variant === "container" ? "white" : "none");
|
|
59
|
-
|
|
60
|
-
const hasGradientBorder = finalGradientBorder !== "none";
|
|
61
|
-
|
|
62
|
-
// Get the gradient border classes
|
|
63
|
-
const gradientClasses = cardVariants({ gradientBorder: finalGradientBorder });
|
|
64
|
-
|
|
65
|
-
// Get the main card classes without gradient
|
|
66
|
-
const cardClasses = cn(
|
|
67
|
-
cardVariants({ variant, padding, rounded, gradientBorder: "none", className })
|
|
68
|
-
);
|
|
69
|
-
|
|
70
|
-
// If we have a gradient border, wrap the card in a gradient container
|
|
71
|
-
if (hasGradientBorder) {
|
|
72
|
-
// Get the rounded class for the wrapper
|
|
73
|
-
const roundedClass = cardVariants({ rounded });
|
|
74
|
-
|
|
75
|
-
return (
|
|
76
|
-
<div className={cn(gradientClasses, roundedClass, "p-[1px] h-full")} data-slot="card-wrapper">
|
|
77
|
-
<div data-slot="card" className={cn(cardClasses, "h-full")} {...props} />
|
|
78
|
-
</div>
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Otherwise, return the card normally
|
|
83
|
-
return <div data-slot="card" className={cardClasses} {...props} />;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
87
43
|
return (
|
|
88
44
|
<div
|
|
89
|
-
data-slot="card
|
|
90
|
-
className={
|
|
45
|
+
data-slot="card"
|
|
46
|
+
className={cardVariants({ variant, gradient, rounded, className })}
|
|
91
47
|
{...props}
|
|
92
48
|
/>
|
|
93
49
|
);
|
|
94
50
|
}
|
|
95
51
|
|
|
52
|
+
function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
53
|
+
return <div data-slot="card-header" className={cn("flex gap-2 p-5", className)} {...props} />;
|
|
54
|
+
}
|
|
55
|
+
|
|
96
56
|
function CardTitle({ className, children, ...props }: React.ComponentProps<"h3">) {
|
|
97
57
|
return (
|
|
98
58
|
<h3
|
|
99
59
|
data-slot="card-title"
|
|
100
|
-
className={cn("text-
|
|
60
|
+
className={cn("text-base leading-none font-semibold tracking-tight", className)}
|
|
101
61
|
{...props}
|
|
102
62
|
>
|
|
103
63
|
{children}
|
|
@@ -109,21 +69,21 @@ function CardDescription({ className, ...props }: React.ComponentProps<"p">) {
|
|
|
109
69
|
return (
|
|
110
70
|
<p
|
|
111
71
|
data-slot="card-description"
|
|
112
|
-
className={cn("text-
|
|
72
|
+
className={cn("text-muted-foreground text-[10px]", className)}
|
|
113
73
|
{...props}
|
|
114
74
|
/>
|
|
115
75
|
);
|
|
116
76
|
}
|
|
117
77
|
|
|
118
78
|
function CardContent({ className, ...props }: React.ComponentProps<"div">) {
|
|
119
|
-
return <div data-slot="card-content" className={cn("p-
|
|
79
|
+
return <div data-slot="card-content" className={cn("p-5 pt-0", className)} {...props} />;
|
|
120
80
|
}
|
|
121
81
|
|
|
122
82
|
function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
|
|
123
83
|
return (
|
|
124
84
|
<div
|
|
125
85
|
data-slot="card-footer"
|
|
126
|
-
className={cn("flex items-center p-
|
|
86
|
+
className={cn("flex items-center p-5 pt-0", className)}
|
|
127
87
|
{...props}
|
|
128
88
|
/>
|
|
129
89
|
);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
5
|
+
import { CheckIcon } from "lucide-react";
|
|
6
|
+
|
|
7
|
+
import { cn } from "@/lib/utils";
|
|
8
|
+
|
|
9
|
+
function Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {
|
|
10
|
+
return (
|
|
11
|
+
<CheckboxPrimitive.Root
|
|
12
|
+
data-slot="checkbox"
|
|
13
|
+
className={cn(
|
|
14
|
+
"peer border-border dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-full border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
15
|
+
className
|
|
16
|
+
)}
|
|
17
|
+
{...props}
|
|
18
|
+
>
|
|
19
|
+
<CheckboxPrimitive.Indicator
|
|
20
|
+
data-slot="checkbox-indicator"
|
|
21
|
+
className="flex items-center justify-center text-current transition-none"
|
|
22
|
+
>
|
|
23
|
+
<CheckIcon className="size-3.5" />
|
|
24
|
+
</CheckboxPrimitive.Indicator>
|
|
25
|
+
</CheckboxPrimitive.Root>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { Checkbox };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
5
|
+
|
|
6
|
+
function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {
|
|
7
|
+
return <CollapsiblePrimitive.Root data-slot="collapsible" {...props} />;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function CollapsibleTrigger({
|
|
11
|
+
...props
|
|
12
|
+
}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {
|
|
13
|
+
return <CollapsiblePrimitive.CollapsibleTrigger data-slot="collapsible-trigger" {...props} />;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function CollapsibleContent({
|
|
17
|
+
...props
|
|
18
|
+
}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {
|
|
19
|
+
return <CollapsiblePrimitive.CollapsibleContent data-slot="collapsible-content" {...props} />;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { Collapsible, CollapsibleTrigger, CollapsibleContent };
|