@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.
Files changed (269) hide show
  1. package/.prettierrc.json +4 -0
  2. package/.turbo/turbo-build.log +152 -39
  3. package/CHANGELOG.md +334 -0
  4. package/dist/index.cjs +170 -28
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.js +23743 -4141
  7. package/dist/index.js.map +1 -1
  8. package/dist/styles.css +1 -1
  9. package/dist/types/components/features/data-table.d.ts +9 -0
  10. package/dist/types/components/features/data-table.d.ts.map +1 -0
  11. package/dist/types/components/features/index.d.ts +5 -0
  12. package/dist/types/components/features/index.d.ts.map +1 -0
  13. package/dist/types/components/features/page-heading.d.ts +10 -0
  14. package/dist/types/components/features/page-heading.d.ts.map +1 -0
  15. package/dist/types/components/features/search-bar.d.ts +10 -0
  16. package/dist/types/components/features/search-bar.d.ts.map +1 -0
  17. package/dist/types/components/features/segmented-navigation.d.ts +7 -0
  18. package/dist/types/components/features/segmented-navigation.d.ts.map +1 -0
  19. package/dist/types/components/features/sidebar-layout.d.ts +36 -0
  20. package/dist/types/components/features/sidebar-layout.d.ts.map +1 -0
  21. package/dist/types/components/icons/arrow.d.ts +4 -0
  22. package/dist/types/components/icons/arrow.d.ts.map +1 -0
  23. package/dist/types/components/icons/beta.d.ts +4 -0
  24. package/dist/types/components/icons/beta.d.ts.map +1 -0
  25. package/dist/types/components/icons/dot.d.ts +4 -0
  26. package/dist/types/components/icons/dot.d.ts.map +1 -0
  27. package/dist/types/components/icons/index.d.ts +8 -0
  28. package/dist/types/components/icons/index.d.ts.map +1 -0
  29. package/dist/types/components/icons/issue.d.ts +4 -0
  30. package/dist/types/components/icons/issue.d.ts.map +1 -0
  31. package/dist/types/components/icons/turtle.d.ts +4 -0
  32. package/dist/types/components/icons/turtle.d.ts.map +1 -0
  33. package/dist/types/components/icons/update.d.ts +4 -0
  34. package/dist/types/components/icons/update.d.ts.map +1 -0
  35. package/dist/types/components/icons/warning.d.ts +4 -0
  36. package/dist/types/components/icons/warning.d.ts.map +1 -0
  37. package/dist/types/components/molecules/index.d.ts +0 -1
  38. package/dist/types/components/molecules/index.d.ts.map +1 -1
  39. package/dist/types/components/molecules/opportunity/opportunity-apr.d.ts +6 -2
  40. package/dist/types/components/molecules/opportunity/opportunity-apr.d.ts.map +1 -1
  41. package/dist/types/components/molecules/opportunity/opportunity-disclaimer.d.ts +1 -2
  42. package/dist/types/components/molecules/opportunity/opportunity-disclaimer.d.ts.map +1 -1
  43. package/dist/types/components/molecules/opportunity/opportunity-list/hooks/use-opportunity-filtering.d.ts +2 -1
  44. package/dist/types/components/molecules/opportunity/opportunity-list/hooks/use-opportunity-filtering.d.ts.map +1 -1
  45. package/dist/types/components/molecules/opportunity/opportunity-list/opportunity-list.d.ts.map +1 -1
  46. package/dist/types/components/molecules/opportunity/opportunity-rate-estimator.d.ts +1 -2
  47. package/dist/types/components/molecules/opportunity/opportunity-rate-estimator.d.ts.map +1 -1
  48. package/dist/types/components/molecules/opportunity/opportunity-section.d.ts +3 -0
  49. package/dist/types/components/molecules/opportunity/opportunity-section.d.ts.map +1 -1
  50. package/dist/types/components/molecules/opportunity/opportunity-selector.d.ts +1 -2
  51. package/dist/types/components/molecules/opportunity/opportunity-selector.d.ts.map +1 -1
  52. package/dist/types/components/molecules/opportunity/opportunity-type.d.ts +1 -2
  53. package/dist/types/components/molecules/opportunity/opportunity-type.d.ts.map +1 -1
  54. package/dist/types/components/molecules/route-details.d.ts +1 -1
  55. package/dist/types/components/molecules/route-details.d.ts.map +1 -1
  56. package/dist/types/components/molecules/slippage-selector.d.ts +1 -2
  57. package/dist/types/components/molecules/slippage-selector.d.ts.map +1 -1
  58. package/dist/types/components/molecules/swap-details.d.ts.map +1 -1
  59. package/dist/types/components/molecules/swap-input.d.ts +5 -1
  60. package/dist/types/components/molecules/swap-input.d.ts.map +1 -1
  61. package/dist/types/components/molecules/tabs.d.ts +2 -2
  62. package/dist/types/components/molecules/tabs.d.ts.map +1 -1
  63. package/dist/types/components/molecules/token-selector.d.ts +1 -1
  64. package/dist/types/components/molecules/token-selector.d.ts.map +1 -1
  65. package/dist/types/components/molecules/tx-status.d.ts.map +1 -1
  66. package/dist/types/components/molecules/widget/asset-list/asset-filters.d.ts.map +1 -1
  67. package/dist/types/components/molecules/widget/asset-list/asset-list.d.ts.map +1 -1
  68. package/dist/types/components/molecules/widget/asset-list/hooks/use-asset-grouping.d.ts.map +1 -1
  69. package/dist/types/components/molecules/widget/base-selector.d.ts +1 -1
  70. package/dist/types/components/molecules/widget/base-selector.d.ts.map +1 -1
  71. package/dist/types/components/molecules/widget/campaign-item.d.ts +1 -1
  72. package/dist/types/components/molecules/widget/campaign-item.d.ts.map +1 -1
  73. package/dist/types/components/molecules/widget/index.d.ts +3 -3
  74. package/dist/types/components/molecules/widget/index.d.ts.map +1 -1
  75. package/dist/types/components/molecules/widget/opportunity-item.d.ts +7 -0
  76. package/dist/types/components/molecules/widget/opportunity-item.d.ts.map +1 -1
  77. package/dist/types/components/molecules/widget/widget-item.d.ts +2 -2
  78. package/dist/types/components/molecules/widget/widget-item.d.ts.map +1 -1
  79. package/dist/types/components/molecules/widget/widget-list-items.d.ts +2 -2
  80. package/dist/types/components/molecules/widget/widget-list-items.d.ts.map +1 -1
  81. package/dist/types/components/ui/alert-dialog.d.ts +15 -0
  82. package/dist/types/components/ui/alert-dialog.d.ts.map +1 -0
  83. package/dist/types/components/ui/animated-background/animated-background.d.ts +9 -0
  84. package/dist/types/components/ui/animated-background/animated-background.d.ts.map +1 -0
  85. package/dist/types/components/ui/animated-background/index.d.ts +2 -0
  86. package/dist/types/components/ui/animated-background/index.d.ts.map +1 -0
  87. package/dist/types/components/ui/avatar.d.ts +10 -6
  88. package/dist/types/components/ui/avatar.d.ts.map +1 -1
  89. package/dist/types/components/ui/badge.d.ts +5 -4
  90. package/dist/types/components/ui/badge.d.ts.map +1 -1
  91. package/dist/types/components/ui/banner.d.ts +7 -0
  92. package/dist/types/components/ui/banner.d.ts.map +1 -0
  93. package/dist/types/components/ui/button.d.ts +8 -6
  94. package/dist/types/components/ui/button.d.ts.map +1 -1
  95. package/dist/types/components/ui/card.d.ts +10 -11
  96. package/dist/types/components/ui/card.d.ts.map +1 -1
  97. package/dist/types/components/ui/checkbox.d.ts +5 -0
  98. package/dist/types/components/ui/checkbox.d.ts.map +1 -0
  99. package/dist/types/components/ui/chip.d.ts +1 -1
  100. package/dist/types/components/ui/chip.d.ts.map +1 -1
  101. package/dist/types/components/ui/collapsible.d.ts +7 -0
  102. package/dist/types/components/ui/collapsible.d.ts.map +1 -0
  103. package/dist/types/components/ui/combobox.d.ts +148 -0
  104. package/dist/types/components/ui/combobox.d.ts.map +1 -0
  105. package/dist/types/components/ui/command.d.ts +19 -0
  106. package/dist/types/components/ui/command.d.ts.map +1 -0
  107. package/dist/types/components/ui/dialog.d.ts +10 -10
  108. package/dist/types/components/ui/dialog.d.ts.map +1 -1
  109. package/dist/types/components/ui/dropdown.d.ts +30 -0
  110. package/dist/types/components/ui/dropdown.d.ts.map +1 -0
  111. package/dist/types/components/ui/field.d.ts +26 -0
  112. package/dist/types/components/ui/field.d.ts.map +1 -0
  113. package/dist/types/components/ui/heading.d.ts +12 -0
  114. package/dist/types/components/ui/heading.d.ts.map +1 -0
  115. package/dist/types/components/ui/hover-card.d.ts +7 -7
  116. package/dist/types/components/ui/hover-card.d.ts.map +1 -1
  117. package/dist/types/components/ui/icon-animation.d.ts +1 -1
  118. package/dist/types/components/ui/icon-animation.d.ts.map +1 -1
  119. package/dist/types/components/ui/icon-list.d.ts +3 -0
  120. package/dist/types/components/ui/icon-list.d.ts.map +1 -1
  121. package/dist/types/components/ui/index.d.ts +28 -9
  122. package/dist/types/components/ui/index.d.ts.map +1 -1
  123. package/dist/types/components/ui/info-card.d.ts +4 -4
  124. package/dist/types/components/ui/info-card.d.ts.map +1 -1
  125. package/dist/types/components/ui/input-group.d.ts +17 -0
  126. package/dist/types/components/ui/input-group.d.ts.map +1 -0
  127. package/dist/types/components/ui/input.d.ts +1 -3
  128. package/dist/types/components/ui/input.d.ts.map +1 -1
  129. package/dist/types/components/ui/label-with-icon.d.ts +3 -3
  130. package/dist/types/components/ui/label-with-icon.d.ts.map +1 -1
  131. package/dist/types/components/ui/label.d.ts +1 -1
  132. package/dist/types/components/ui/label.d.ts.map +1 -1
  133. package/dist/types/components/ui/multi-select.d.ts +192 -0
  134. package/dist/types/components/ui/multi-select.d.ts.map +1 -0
  135. package/dist/types/components/ui/navigation-bar.d.ts +2 -2
  136. package/dist/types/components/ui/navigation-bar.d.ts.map +1 -1
  137. package/dist/types/components/ui/navigation-menu.d.ts +15 -0
  138. package/dist/types/components/ui/navigation-menu.d.ts.map +1 -0
  139. package/dist/types/components/ui/opportunity-details-v1.d.ts +1 -1
  140. package/dist/types/components/ui/opportunity-details-v1.d.ts.map +1 -1
  141. package/dist/types/components/ui/popover.d.ts +8 -0
  142. package/dist/types/components/ui/popover.d.ts.map +1 -0
  143. package/dist/types/components/ui/scroll-area.d.ts +2 -2
  144. package/dist/types/components/ui/scroll-area.d.ts.map +1 -1
  145. package/dist/types/components/ui/segment-control.d.ts +19 -0
  146. package/dist/types/components/ui/segment-control.d.ts.map +1 -0
  147. package/dist/types/components/ui/select.d.ts +14 -13
  148. package/dist/types/components/ui/select.d.ts.map +1 -1
  149. package/dist/types/components/ui/separator.d.ts +1 -1
  150. package/dist/types/components/ui/separator.d.ts.map +1 -1
  151. package/dist/types/components/ui/sheet.d.ts +14 -0
  152. package/dist/types/components/ui/sheet.d.ts.map +1 -0
  153. package/dist/types/components/ui/sidebar.d.ts +69 -0
  154. package/dist/types/components/ui/sidebar.d.ts.map +1 -0
  155. package/dist/types/components/ui/skeleton.d.ts +4 -0
  156. package/dist/types/components/ui/skeleton.d.ts.map +1 -0
  157. package/dist/types/components/ui/slider.d.ts +5 -0
  158. package/dist/types/components/ui/slider.d.ts.map +1 -0
  159. package/dist/types/components/ui/sonner.d.ts +1 -2
  160. package/dist/types/components/ui/sonner.d.ts.map +1 -1
  161. package/dist/types/components/ui/switch.d.ts +1 -1
  162. package/dist/types/components/ui/switch.d.ts.map +1 -1
  163. package/dist/types/components/ui/table-shadcn.d.ts +11 -0
  164. package/dist/types/components/ui/table-shadcn.d.ts.map +1 -0
  165. package/dist/types/components/ui/table.d.ts +2 -2
  166. package/dist/types/components/ui/table.d.ts.map +1 -1
  167. package/dist/types/components/ui/textarea.d.ts +4 -0
  168. package/dist/types/components/ui/textarea.d.ts.map +1 -0
  169. package/dist/types/components/ui/toggle-group.d.ts +2 -2
  170. package/dist/types/components/ui/toggle-group.d.ts.map +1 -1
  171. package/dist/types/components/ui/toggle.d.ts +2 -2
  172. package/dist/types/components/ui/toggle.d.ts.map +1 -1
  173. package/dist/types/components/ui/tooltip.d.ts +7 -4
  174. package/dist/types/components/ui/tooltip.d.ts.map +1 -1
  175. package/dist/types/hooks/useIsMobile.d.ts +7 -0
  176. package/dist/types/hooks/useIsMobile.d.ts.map +1 -0
  177. package/dist/types/index.d.ts +2 -0
  178. package/dist/types/index.d.ts.map +1 -1
  179. package/package.json +38 -28
  180. package/src/components/features/data-table.tsx +96 -0
  181. package/src/components/features/index.ts +4 -0
  182. package/src/components/features/page-heading.tsx +22 -0
  183. package/src/components/features/search-bar.tsx +50 -0
  184. package/src/components/features/segmented-navigation.tsx +18 -0
  185. package/src/components/features/sidebar-layout.tsx +190 -0
  186. package/src/components/icons/arrow.tsx +23 -0
  187. package/src/components/icons/beta.tsx +86 -0
  188. package/src/components/icons/dot.tsx +89 -0
  189. package/src/components/icons/index.ts +7 -0
  190. package/src/components/icons/issue.tsx +97 -0
  191. package/src/components/icons/turtle.tsx +143 -0
  192. package/src/components/icons/update.tsx +108 -0
  193. package/src/components/icons/warning.tsx +86 -0
  194. package/src/components/molecules/index.ts +0 -2
  195. package/src/components/molecules/opportunity/opportunity-apr.tsx +97 -16
  196. package/src/components/molecules/opportunity/opportunity-list/hooks/use-opportunity-filtering.ts +4 -3
  197. package/src/components/molecules/opportunity/opportunity-list/hooks/use-opportunity-grouping.ts +1 -1
  198. package/src/components/molecules/opportunity/opportunity-list/opportunity-list.tsx +21 -17
  199. package/src/components/molecules/opportunity/opportunity-rate-estimator.tsx +4 -1
  200. package/src/components/molecules/opportunity/opportunity-section.tsx +19 -17
  201. package/src/components/molecules/opportunity/opportunity-selector.tsx +2 -3
  202. package/src/components/molecules/route-details.tsx +48 -37
  203. package/src/components/molecules/swap-details.tsx +2 -4
  204. package/src/components/molecules/swap-input.tsx +56 -21
  205. package/src/components/molecules/token-selector.tsx +2 -2
  206. package/src/components/molecules/tx-status.tsx +1 -5
  207. package/src/components/molecules/widget/asset-list/asset-filters.tsx +17 -23
  208. package/src/components/molecules/widget/asset-list/asset-list.tsx +23 -19
  209. package/src/components/molecules/widget/asset-list/asset-row.tsx +7 -7
  210. package/src/components/molecules/widget/asset-list/hooks/use-asset-grouping.ts +38 -23
  211. package/src/components/molecules/widget/base-selector.tsx +11 -11
  212. package/src/components/molecules/widget/campaign-item.tsx +2 -2
  213. package/src/components/molecules/widget/index.ts +10 -4
  214. package/src/components/molecules/widget/opportunity-item.tsx +8 -1
  215. package/src/components/molecules/widget/widget-item.tsx +45 -26
  216. package/src/components/molecules/widget/widget-list-items.tsx +6 -5
  217. package/src/components/ui/alert-dialog.tsx +146 -0
  218. package/src/components/ui/animated-background/animated-background.tsx +174 -0
  219. package/src/components/ui/animated-background/index.ts +1 -0
  220. package/src/components/ui/avatar.tsx +16 -3
  221. package/src/components/ui/badge.tsx +18 -8
  222. package/src/components/ui/banner.tsx +78 -0
  223. package/src/components/ui/button.tsx +51 -21
  224. package/src/components/ui/card.tsx +21 -61
  225. package/src/components/ui/checkbox.tsx +29 -0
  226. package/src/components/ui/collapsible.tsx +22 -0
  227. package/src/components/ui/combobox.tsx +617 -0
  228. package/src/components/ui/command.tsx +164 -0
  229. package/src/components/ui/dialog.tsx +5 -9
  230. package/src/components/ui/dropdown.tsx +263 -0
  231. package/src/components/ui/field.tsx +232 -0
  232. package/src/components/ui/heading.tsx +49 -0
  233. package/src/components/ui/hover-card.tsx +10 -10
  234. package/src/components/ui/icon-list.tsx +109 -21
  235. package/src/components/ui/index.ts +29 -10
  236. package/src/components/ui/info-card.tsx +1 -1
  237. package/src/components/ui/input-group.tsx +158 -0
  238. package/src/components/ui/input.tsx +17 -25
  239. package/src/components/ui/label-with-icon.tsx +40 -30
  240. package/src/components/ui/label.tsx +8 -9
  241. package/src/components/ui/multi-select.tsx +1000 -0
  242. package/src/components/ui/navigation-menu.tsx +181 -0
  243. package/src/components/ui/opportunity-details-v1.tsx +2 -2
  244. package/src/components/ui/popover.tsx +42 -0
  245. package/src/components/ui/scroll-area.tsx +11 -11
  246. package/src/components/ui/segment-control.tsx +140 -0
  247. package/src/components/ui/select.tsx +26 -31
  248. package/src/components/ui/sheet.tsx +130 -0
  249. package/src/components/ui/sidebar.tsx +693 -0
  250. package/src/components/ui/skeleton.tsx +14 -0
  251. package/src/components/ui/slider.tsx +58 -0
  252. package/src/components/ui/switch.tsx +8 -11
  253. package/src/components/ui/{table-shad.tsx → table-shadcn.tsx} +25 -39
  254. package/src/components/ui/table.tsx +3 -2
  255. package/src/components/ui/textarea.tsx +22 -0
  256. package/src/components/ui/tooltip.tsx +11 -7
  257. package/src/hooks/useIsMobile.ts +74 -0
  258. package/src/index.ts +2 -0
  259. package/src/styles/globals.css +87 -20
  260. package/src/styles/themes/semantic.css +11 -5
  261. package/src/styles/tokens/colors.css +64 -53
  262. package/src/styles/tokens/radius.css +3 -34
  263. package/tsconfig.json +11 -15
  264. package/vite.config.js +41 -57
  265. package/dist/types/components/molecules/search-bar.d.ts +0 -10
  266. package/dist/types/components/molecules/search-bar.d.ts.map +0 -1
  267. package/dist/types/components/ui/table-shad.d.ts +0 -11
  268. package/dist/types/components/ui/table-shad.d.ts.map +0 -1
  269. 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
- // Turtle Design System variants
10
- container: "relative bg-background drop-shadow-lg",
11
- simple: "bg-muted",
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
- gradientBorder: {
13
+ gradient: {
15
14
  none: "",
16
- white:
17
- "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]",
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-turtle",
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-xl",
25
+ xl: "rounded-lg",
38
26
  full: "rounded-full",
39
27
  },
40
28
  },
41
29
  defaultVariants: {
42
- variant: "container",
43
- padding: "default",
30
+ variant: "default",
44
31
  rounded: "default",
45
- gradientBorder: "none",
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
- gradientBorder,
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-header"
90
- className={cn("flex flex-col space-y-1.5 p-6", 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-2xl font-semibold leading-none tracking-tight", className)}
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-sm text-muted-foreground", className)}
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-6 pt-0", className)} {...props} />;
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-6 pt-0", className)}
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 };