@codefast/ui 0.0.66 → 0.0.67

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 (122) hide show
  1. package/dist/styles.css +1 -1
  2. package/dist/styles.css.map +1 -1
  3. package/package.json +70 -102
  4. package/dist/chunk-DH3YP4ZC.cjs +0 -2
  5. package/dist/chunk-DH3YP4ZC.cjs.map +0 -1
  6. package/dist/chunk-DTSAQICV.js +0 -2
  7. package/dist/chunk-DTSAQICV.js.map +0 -1
  8. package/dist/chunk-NH6X3FON.js +0 -2
  9. package/dist/chunk-NH6X3FON.js.map +0 -1
  10. package/dist/chunk-P563ILDJ.cjs +0 -2
  11. package/dist/chunk-P563ILDJ.cjs.map +0 -1
  12. package/dist/chunk-VVA2EE5V.js +0 -2
  13. package/dist/chunk-VVA2EE5V.js.map +0 -1
  14. package/dist/chunk-VZ6P3BCB.cjs +0 -2
  15. package/dist/chunk-VZ6P3BCB.cjs.map +0 -1
  16. package/dist/hooks/use-media-query.cjs +0 -2
  17. package/dist/hooks/use-media-query.cjs.map +0 -1
  18. package/dist/hooks/use-media-query.d.cts +0 -3
  19. package/dist/hooks/use-media-query.d.ts +0 -3
  20. package/dist/hooks/use-media-query.js +0 -2
  21. package/dist/hooks/use-media-query.js.map +0 -1
  22. package/dist/hooks/use-mutation-observer.cjs +0 -2
  23. package/dist/hooks/use-mutation-observer.cjs.map +0 -1
  24. package/dist/hooks/use-mutation-observer.d.cts +0 -5
  25. package/dist/hooks/use-mutation-observer.d.ts +0 -5
  26. package/dist/hooks/use-mutation-observer.js +0 -2
  27. package/dist/hooks/use-mutation-observer.js.map +0 -1
  28. package/dist/lib/colors.cjs +0 -2
  29. package/dist/lib/colors.cjs.map +0 -1
  30. package/dist/lib/colors.d.cts +0 -1759
  31. package/dist/lib/colors.d.ts +0 -1759
  32. package/dist/lib/colors.js +0 -2
  33. package/dist/lib/colors.js.map +0 -1
  34. package/dist/plugin/animate.plugin.cjs +0 -2
  35. package/dist/plugin/animate.plugin.cjs.map +0 -1
  36. package/dist/plugin/animate.plugin.js +0 -2
  37. package/dist/plugin/animate.plugin.js.map +0 -1
  38. package/dist/plugin/base.plugin.cjs +0 -2
  39. package/dist/plugin/base.plugin.cjs.map +0 -1
  40. package/dist/plugin/base.plugin.js +0 -2
  41. package/dist/plugin/base.plugin.js.map +0 -1
  42. package/dist/plugin/perspective.plugin.cjs +0 -2
  43. package/dist/plugin/perspective.plugin.cjs.map +0 -1
  44. package/dist/plugin/perspective.plugin.js +0 -2
  45. package/dist/plugin/perspective.plugin.js.map +0 -1
  46. package/dist/tailwind.config.cjs +0 -2
  47. package/dist/tailwind.config.cjs.map +0 -1
  48. package/dist/tailwind.config.js +0 -2
  49. package/dist/tailwind.config.js.map +0 -1
  50. package/plugin/animate.plugin.ts +0 -319
  51. package/plugin/base.plugin.ts +0 -21
  52. package/plugin/perspective.plugin.ts +0 -11
  53. package/src/hooks/use-media-query.ts +0 -22
  54. package/src/hooks/use-mutation-observer.ts +0 -26
  55. package/src/lib/colors.ts +0 -1757
  56. package/src/lib/utils.ts +0 -6
  57. package/src/react/accordion.tsx +0 -88
  58. package/src/react/alert-dialog.tsx +0 -185
  59. package/src/react/alert.tsx +0 -73
  60. package/src/react/aspect-ratio.tsx +0 -17
  61. package/src/react/avatar.tsx +0 -60
  62. package/src/react/badge.tsx +0 -39
  63. package/src/react/blockquote.tsx +0 -26
  64. package/src/react/box.tsx +0 -34
  65. package/src/react/breadcrumb.tsx +0 -154
  66. package/src/react/button.tsx +0 -94
  67. package/src/react/calendar.tsx +0 -79
  68. package/src/react/card.tsx +0 -109
  69. package/src/react/carousel.tsx +0 -299
  70. package/src/react/checkbox-cards.tsx +0 -61
  71. package/src/react/checkbox-group.primitive.tsx +0 -206
  72. package/src/react/checkbox-group.tsx +0 -55
  73. package/src/react/checkbox.tsx +0 -36
  74. package/src/react/code.tsx +0 -26
  75. package/src/react/collapsible.tsx +0 -54
  76. package/src/react/command.tsx +0 -209
  77. package/src/react/container.tsx +0 -29
  78. package/src/react/context-menu.tsx +0 -306
  79. package/src/react/data-table.tsx +0 -249
  80. package/src/react/dialog.tsx +0 -160
  81. package/src/react/drawer.tsx +0 -136
  82. package/src/react/dropdown-menu.tsx +0 -290
  83. package/src/react/em.tsx +0 -26
  84. package/src/react/form.tsx +0 -234
  85. package/src/react/heading.tsx +0 -29
  86. package/src/react/hover-card.tsx +0 -75
  87. package/src/react/input-otp.tsx +0 -120
  88. package/src/react/input.tsx +0 -145
  89. package/src/react/kbd.tsx +0 -36
  90. package/src/react/label.tsx +0 -31
  91. package/src/react/menubar.tsx +0 -322
  92. package/src/react/navigation-menu.tsx +0 -192
  93. package/src/react/pagination.tsx +0 -150
  94. package/src/react/popover.tsx +0 -84
  95. package/src/react/pre.tsx +0 -26
  96. package/src/react/progress.tsx +0 -35
  97. package/src/react/quote.tsx +0 -26
  98. package/src/react/radio-cards.tsx +0 -48
  99. package/src/react/radio-group.tsx +0 -50
  100. package/src/react/radio.tsx +0 -40
  101. package/src/react/resizable.tsx +0 -62
  102. package/src/react/scroll-area.tsx +0 -106
  103. package/src/react/section.tsx +0 -26
  104. package/src/react/select.tsx +0 -219
  105. package/src/react/separator.tsx +0 -32
  106. package/src/react/sheet.tsx +0 -178
  107. package/src/react/skeleton.tsx +0 -18
  108. package/src/react/slider.tsx +0 -41
  109. package/src/react/sonner.tsx +0 -40
  110. package/src/react/spinner.tsx +0 -68
  111. package/src/react/strong.tsx +0 -26
  112. package/src/react/switch.tsx +0 -33
  113. package/src/react/table.tsx +0 -148
  114. package/src/react/tabs.tsx +0 -87
  115. package/src/react/text-input.tsx +0 -36
  116. package/src/react/text.tsx +0 -34
  117. package/src/react/textarea.tsx +0 -30
  118. package/src/react/toggle-group.tsx +0 -84
  119. package/src/react/toggle.tsx +0 -49
  120. package/src/react/tooltip.tsx +0 -83
  121. package/src/styles/styles.css +0 -3
  122. package/tailwind.config.ts +0 -126
@@ -1,154 +0,0 @@
1
- import * as React from 'react';
2
- import { Slot } from '@radix-ui/react-slot';
3
- import { ChevronRightIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';
4
- import { cn } from '../lib/utils';
5
-
6
- /* -----------------------------------------------------------------------------
7
- * Component: Breadcrumb
8
- * -------------------------------------------------------------------------- */
9
-
10
- type BreadcrumbElement = HTMLElement;
11
-
12
- interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {
13
- separator?: React.ReactNode;
14
- }
15
-
16
- const Breadcrumb = React.forwardRef<BreadcrumbElement, BreadcrumbProps>(({ ...props }, forwardedRef) => (
17
- <nav ref={forwardedRef} aria-label="breadcrumb" {...props} />
18
- ));
19
-
20
- Breadcrumb.displayName = 'Breadcrumb';
21
-
22
- /* -----------------------------------------------------------------------------
23
- * Component: BreadcrumbList
24
- * -------------------------------------------------------------------------- */
25
-
26
- type BreadcrumbListElement = HTMLOListElement;
27
- type BreadcrumbListProps = React.OlHTMLAttributes<HTMLOListElement>;
28
-
29
- const BreadcrumbList = React.forwardRef<BreadcrumbListElement, BreadcrumbListProps>(
30
- ({ className, ...props }, forwardedRef) => (
31
- <ol
32
- ref={forwardedRef}
33
- className={cn(
34
- 'text-muted-foreground flex flex-wrap items-center gap-1.5 break-words text-sm sm:gap-2.5',
35
- className,
36
- )}
37
- {...props}
38
- />
39
- ),
40
- );
41
-
42
- BreadcrumbList.displayName = 'BreadcrumbList';
43
-
44
- /* -----------------------------------------------------------------------------
45
- * Component: BreadcrumbItem
46
- * -------------------------------------------------------------------------- */
47
-
48
- type BreadcrumbItemElement = HTMLLIElement;
49
- type BreadcrumbItemProps = React.LiHTMLAttributes<HTMLLIElement>;
50
-
51
- const BreadcrumbItem = React.forwardRef<BreadcrumbItemElement, BreadcrumbItemProps>(
52
- ({ className, ...props }, forwardedRef) => (
53
- <li ref={forwardedRef} className={cn('inline-flex items-center gap-1.5', className)} {...props} />
54
- ),
55
- );
56
-
57
- BreadcrumbItem.displayName = 'BreadcrumbItem';
58
-
59
- /* -----------------------------------------------------------------------------
60
- * Component: BreadcrumbLink
61
- * -------------------------------------------------------------------------- */
62
-
63
- type BreadcrumbLinkElement = HTMLAnchorElement;
64
-
65
- interface BreadcrumbLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
66
- asChild?: boolean;
67
- }
68
-
69
- const BreadcrumbLink = React.forwardRef<BreadcrumbLinkElement, BreadcrumbLinkProps>(
70
- ({ asChild, className, ...props }, forwardedRef) => {
71
- const Component = asChild ? Slot : 'a';
72
-
73
- return <Component ref={forwardedRef} className={cn('hover:text-foreground transition', className)} {...props} />;
74
- },
75
- );
76
-
77
- BreadcrumbLink.displayName = 'BreadcrumbLink';
78
-
79
- /* -----------------------------------------------------------------------------
80
- * Component: BreadcrumbPage
81
- * -------------------------------------------------------------------------- */
82
-
83
- type BreadcrumbPageElement = HTMLSpanElement;
84
- type BreadcrumbPageProps = React.HTMLAttributes<HTMLSpanElement>;
85
-
86
- const BreadcrumbPage = React.forwardRef<BreadcrumbPageElement, BreadcrumbPageProps>(
87
- ({ className, ...props }, forwardedRef) => (
88
- <span
89
- ref={forwardedRef}
90
- aria-current="page"
91
- aria-disabled="true"
92
- className={cn('text-foreground font-normal', className)}
93
- role="link"
94
- {...props}
95
- />
96
- ),
97
- );
98
-
99
- BreadcrumbPage.displayName = 'BreadcrumbPage';
100
-
101
- /* -----------------------------------------------------------------------------
102
- * Component: BreadcrumbSeparator
103
- * -------------------------------------------------------------------------- */
104
-
105
- type BreadcrumbSeparatorProps = React.LiHTMLAttributes<HTMLLIElement>;
106
-
107
- function BreadcrumbSeparator({ children, className, ...props }: BreadcrumbSeparatorProps): React.JSX.Element {
108
- return (
109
- <li aria-hidden="true" className={cn('[&>svg]:size-3.5', className)} role="presentation" {...props}>
110
- {children ?? <ChevronRightIcon />}
111
- </li>
112
- );
113
- }
114
-
115
- /* -----------------------------------------------------------------------------
116
- * Component: BreadcrumbEllipsis
117
- * -------------------------------------------------------------------------- */
118
-
119
- type BreadcrumbEllipsisProps = React.HTMLAttributes<HTMLSpanElement>;
120
-
121
- function BreadcrumbEllipsis({ className, ...props }: BreadcrumbEllipsisProps): React.JSX.Element {
122
- return (
123
- <span
124
- aria-hidden="true"
125
- className={cn('flex size-4 items-center justify-center', className)}
126
- role="presentation"
127
- {...props}
128
- >
129
- <DotsHorizontalIcon className="size-4" />
130
- <span className="sr-only">More</span>
131
- </span>
132
- );
133
- }
134
-
135
- /* -----------------------------------------------------------------------------
136
- * Exports
137
- * -------------------------------------------------------------------------- */
138
-
139
- export {
140
- Breadcrumb,
141
- BreadcrumbList,
142
- BreadcrumbItem,
143
- BreadcrumbLink,
144
- BreadcrumbPage,
145
- BreadcrumbSeparator,
146
- BreadcrumbEllipsis,
147
- type BreadcrumbProps,
148
- type BreadcrumbListProps,
149
- type BreadcrumbItemProps,
150
- type BreadcrumbLinkProps,
151
- type BreadcrumbPageProps,
152
- type BreadcrumbSeparatorProps,
153
- type BreadcrumbEllipsisProps,
154
- };
@@ -1,94 +0,0 @@
1
- import * as React from 'react';
2
- import { Slot } from '@radix-ui/react-slot';
3
- import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
4
- import { tv, type VariantProps } from 'tailwind-variants';
5
- import { Spinner } from './spinner';
6
-
7
- /* -----------------------------------------------------------------------------
8
- * Variant: Button
9
- * -------------------------------------------------------------------------- */
10
-
11
- const buttonVariants = tv({
12
- base: 'inline-flex select-none items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50',
13
- variants: {
14
- variant: {
15
- default: 'bg-primary text-primary-foreground hover:bg-primary/90 shadow',
16
- destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm',
17
- ghost: 'text-foreground hover:bg-accent hover:text-accent-foreground',
18
- link: 'text-primary underline-offset-4 hover:underline',
19
- outline:
20
- 'border-input bg-background text-foreground hover:bg-accent hover:text-accent-foreground border shadow-sm',
21
- secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-sm',
22
- },
23
- size: {
24
- default: 'h-10 gap-2 px-4',
25
- xs: 'h-8 gap-1 px-2',
26
- sm: 'h-9 gap-2 px-3',
27
- lg: 'h-11 gap-2 px-8',
28
- icon: 'size-10',
29
- 'icon-xs': 'size-8',
30
- 'icon-sm': 'size-9',
31
- 'icon-lg': 'size-11',
32
- },
33
- loading: {
34
- true: 'relative',
35
- },
36
- },
37
- defaultVariants: {
38
- size: 'default',
39
- variant: 'default',
40
- loading: false,
41
- },
42
- });
43
-
44
- type ButtonVariantsProps = VariantProps<typeof buttonVariants>;
45
-
46
- /* -----------------------------------------------------------------------------
47
- * Component: Button
48
- * -------------------------------------------------------------------------- */
49
-
50
- type ButtonElement = HTMLButtonElement;
51
-
52
- interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, ButtonVariantsProps {
53
- asChild?: boolean;
54
- }
55
-
56
- const Button = React.forwardRef<ButtonElement, ButtonProps>(
57
- ({ children, className, variant, size, loading = false, asChild = false, ...props }, forwardedRef) => {
58
- const Component = asChild ? Slot : 'button';
59
- const ComponentLoading = asChild ? 'span' : React.Fragment;
60
- const disabled = loading || props.disabled;
61
-
62
- return (
63
- <Component
64
- ref={forwardedRef}
65
- className={buttonVariants({ variant, size, loading, className })}
66
- type={asChild ? undefined : 'button'}
67
- {...props}
68
- disabled={disabled}
69
- >
70
- {loading ? (
71
- <ComponentLoading>
72
- <span aria-hidden className="invisible contents">
73
- {children}
74
- </span>
75
- <VisuallyHidden>{children}</VisuallyHidden>
76
- <span className="absolute inset-0 flex items-center justify-center">
77
- <Spinner />
78
- </span>
79
- </ComponentLoading>
80
- ) : (
81
- children
82
- )}
83
- </Component>
84
- );
85
- },
86
- );
87
-
88
- Button.displayName = 'Button';
89
-
90
- /* -----------------------------------------------------------------------------
91
- * Exports
92
- * -------------------------------------------------------------------------- */
93
-
94
- export { Button, buttonVariants, type ButtonProps, type ButtonVariantsProps };
@@ -1,79 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
- import { DayPicker, type DateRange, type DayPickerProps, type StyledComponent } from 'react-day-picker';
5
- import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';
6
- import { cn } from '../lib/utils';
7
- import { buttonVariants } from './button';
8
-
9
- /* -----------------------------------------------------------------------------
10
- * Component: Calendar
11
- * -------------------------------------------------------------------------- */
12
-
13
- function ChevronLeft({ children: _, ...props }: StyledComponent): React.JSX.Element {
14
- return <ChevronLeftIcon className="size-4" {...props} />;
15
- }
16
-
17
- function ChevronRight({ children: _, ...props }: StyledComponent): React.JSX.Element {
18
- return <ChevronRightIcon className="size-4" {...props} />;
19
- }
20
-
21
- type CalendarProps = DayPickerProps;
22
-
23
- function Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps): React.JSX.Element {
24
- return (
25
- <DayPicker
26
- className={cn('p-3', className)}
27
- classNames={{
28
- months: 'flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0',
29
- month: 'space-y-4',
30
- caption: 'flex justify-center pt-1 relative items-center',
31
- caption_label: 'text-sm font-medium',
32
- nav: 'space-x-1 flex items-center',
33
- nav_button: buttonVariants({
34
- variant: 'outline',
35
- className: 'size-7 bg-transparent p-0 opacity-50 hover:opacity-100',
36
- }),
37
- nav_button_previous: 'absolute left-1',
38
- nav_button_next: 'absolute right-1',
39
- table: 'w-full border-collapse space-y-1',
40
- head_row: 'flex',
41
- head_cell: 'text-muted-foreground rounded-md w-8 font-normal text-xs',
42
- row: 'flex w-full mt-2',
43
- cell: cn(
44
- 'relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md',
45
- props.mode === 'range'
46
- ? '[&:has(>.day-range-start)]:rounded-l-md [&:has(>.day-range-end)]:rounded-r-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md'
47
- : '[&:has([aria-selected])]:rounded-md',
48
- ),
49
- day: buttonVariants({
50
- variant: 'ghost',
51
- className: 'size-9 p-0 font-normal aria-selected:opacity-100',
52
- }),
53
- day_range_start: 'day-range-start',
54
- day_range_end: 'day-range-end',
55
- day_selected:
56
- 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground',
57
- day_today: 'bg-accent text-accent-foreground',
58
- day_outside:
59
- 'day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30',
60
- day_disabled: 'text-muted-foreground opacity-50',
61
- day_range_middle: 'aria-selected:bg-accent aria-selected:text-accent-foreground',
62
- day_hidden: 'invisible',
63
- ...classNames,
64
- }}
65
- components={{
66
- IconLeft: ChevronLeft,
67
- IconRight: ChevronRight,
68
- }}
69
- showOutsideDays={showOutsideDays}
70
- {...props}
71
- />
72
- );
73
- }
74
-
75
- /* -----------------------------------------------------------------------------
76
- * Exports
77
- * -------------------------------------------------------------------------- */
78
-
79
- export { Calendar, type CalendarProps, type DateRange };
@@ -1,109 +0,0 @@
1
- import * as React from 'react';
2
- import { cn } from '../lib/utils';
3
-
4
- /* -----------------------------------------------------------------------------
5
- * Component: Card
6
- * -------------------------------------------------------------------------- */
7
-
8
- type CardElement = HTMLDivElement;
9
- type CardProps = React.HTMLAttributes<HTMLDivElement>;
10
-
11
- const Card = React.forwardRef<CardElement, CardProps>(({ className, ...props }, forwardedRef) => (
12
- <div
13
- ref={forwardedRef}
14
- className={cn('bg-card text-card-foreground rounded-lg border shadow-sm', className)}
15
- {...props}
16
- />
17
- ));
18
-
19
- Card.displayName = 'Card';
20
-
21
- /* -----------------------------------------------------------------------------
22
- * Component: CardHeader
23
- * -------------------------------------------------------------------------- */
24
-
25
- type CardHeaderElement = HTMLDivElement;
26
- type CardHeaderProps = React.HTMLAttributes<HTMLDivElement>;
27
-
28
- const CardHeader = React.forwardRef<CardHeaderElement, CardHeaderProps>(({ className, ...props }, forwardedRef) => (
29
- <div ref={forwardedRef} className={cn('flex flex-col space-y-1.5 p-6', className)} {...props} />
30
- ));
31
-
32
- CardHeader.displayName = 'CardHeader';
33
-
34
- /* -----------------------------------------------------------------------------
35
- * Component: CardTitle
36
- * -------------------------------------------------------------------------- */
37
-
38
- type CardTitleElement = HTMLParagraphElement;
39
- type CardTitleProps = React.HTMLAttributes<HTMLHeadingElement>;
40
-
41
- const CardTitle = React.forwardRef<CardTitleElement, CardTitleProps>(
42
- ({ children, className, ...props }, forwardedRef) => (
43
- <h3 ref={forwardedRef} className={cn('font-semibold leading-none tracking-tight', className)} {...props}>
44
- {children}
45
- </h3>
46
- ),
47
- );
48
-
49
- CardTitle.displayName = 'CardTitle';
50
-
51
- /* -----------------------------------------------------------------------------
52
- * Component: CardDescription
53
- * -------------------------------------------------------------------------- */
54
-
55
- type CardDescriptionElement = HTMLParagraphElement;
56
- type CardDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;
57
-
58
- const CardDescription = React.forwardRef<CardDescriptionElement, CardDescriptionProps>(
59
- ({ className, ...props }, forwardedRef) => (
60
- <p ref={forwardedRef} className={cn('text-muted-foreground text-sm', className)} {...props} />
61
- ),
62
- );
63
-
64
- CardDescription.displayName = 'CardDescription';
65
-
66
- /* -----------------------------------------------------------------------------
67
- * Component: CardContent
68
- * -------------------------------------------------------------------------- */
69
-
70
- type CardContentElement = HTMLDivElement;
71
- type CardContentProps = React.HTMLAttributes<HTMLDivElement>;
72
-
73
- const CardContent = React.forwardRef<CardContentElement, CardContentProps>(({ className, ...props }, forwardedRef) => (
74
- <div ref={forwardedRef} className={cn('p-6 pt-0', className)} {...props} />
75
- ));
76
-
77
- CardContent.displayName = 'CardContent';
78
-
79
- /* -----------------------------------------------------------------------------
80
- * Component: CardFooter
81
- * -------------------------------------------------------------------------- */
82
-
83
- type CardFooterElement = HTMLDivElement;
84
- type CardFooterProps = React.HTMLAttributes<HTMLDivElement>;
85
-
86
- const CardFooter = React.forwardRef<CardFooterElement, CardFooterProps>(({ className, ...props }, forwardedRef) => (
87
- <div ref={forwardedRef} className={cn('flex items-center p-6 pt-0', className)} {...props} />
88
- ));
89
-
90
- CardFooter.displayName = 'CardFooter';
91
-
92
- /* -----------------------------------------------------------------------------
93
- * Exports
94
- * -------------------------------------------------------------------------- */
95
-
96
- export {
97
- Card,
98
- CardHeader,
99
- CardFooter,
100
- CardTitle,
101
- CardDescription,
102
- CardContent,
103
- type CardProps,
104
- type CardHeaderProps,
105
- type CardFooterProps,
106
- type CardTitleProps,
107
- type CardDescriptionProps,
108
- type CardContentProps,
109
- };