@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.
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +70 -102
- package/dist/chunk-DH3YP4ZC.cjs +0 -2
- package/dist/chunk-DH3YP4ZC.cjs.map +0 -1
- package/dist/chunk-DTSAQICV.js +0 -2
- package/dist/chunk-DTSAQICV.js.map +0 -1
- package/dist/chunk-NH6X3FON.js +0 -2
- package/dist/chunk-NH6X3FON.js.map +0 -1
- package/dist/chunk-P563ILDJ.cjs +0 -2
- package/dist/chunk-P563ILDJ.cjs.map +0 -1
- package/dist/chunk-VVA2EE5V.js +0 -2
- package/dist/chunk-VVA2EE5V.js.map +0 -1
- package/dist/chunk-VZ6P3BCB.cjs +0 -2
- package/dist/chunk-VZ6P3BCB.cjs.map +0 -1
- package/dist/hooks/use-media-query.cjs +0 -2
- package/dist/hooks/use-media-query.cjs.map +0 -1
- package/dist/hooks/use-media-query.d.cts +0 -3
- package/dist/hooks/use-media-query.d.ts +0 -3
- package/dist/hooks/use-media-query.js +0 -2
- package/dist/hooks/use-media-query.js.map +0 -1
- package/dist/hooks/use-mutation-observer.cjs +0 -2
- package/dist/hooks/use-mutation-observer.cjs.map +0 -1
- package/dist/hooks/use-mutation-observer.d.cts +0 -5
- package/dist/hooks/use-mutation-observer.d.ts +0 -5
- package/dist/hooks/use-mutation-observer.js +0 -2
- package/dist/hooks/use-mutation-observer.js.map +0 -1
- package/dist/lib/colors.cjs +0 -2
- package/dist/lib/colors.cjs.map +0 -1
- package/dist/lib/colors.d.cts +0 -1759
- package/dist/lib/colors.d.ts +0 -1759
- package/dist/lib/colors.js +0 -2
- package/dist/lib/colors.js.map +0 -1
- package/dist/plugin/animate.plugin.cjs +0 -2
- package/dist/plugin/animate.plugin.cjs.map +0 -1
- package/dist/plugin/animate.plugin.js +0 -2
- package/dist/plugin/animate.plugin.js.map +0 -1
- package/dist/plugin/base.plugin.cjs +0 -2
- package/dist/plugin/base.plugin.cjs.map +0 -1
- package/dist/plugin/base.plugin.js +0 -2
- package/dist/plugin/base.plugin.js.map +0 -1
- package/dist/plugin/perspective.plugin.cjs +0 -2
- package/dist/plugin/perspective.plugin.cjs.map +0 -1
- package/dist/plugin/perspective.plugin.js +0 -2
- package/dist/plugin/perspective.plugin.js.map +0 -1
- package/dist/tailwind.config.cjs +0 -2
- package/dist/tailwind.config.cjs.map +0 -1
- package/dist/tailwind.config.js +0 -2
- package/dist/tailwind.config.js.map +0 -1
- package/plugin/animate.plugin.ts +0 -319
- package/plugin/base.plugin.ts +0 -21
- package/plugin/perspective.plugin.ts +0 -11
- package/src/hooks/use-media-query.ts +0 -22
- package/src/hooks/use-mutation-observer.ts +0 -26
- package/src/lib/colors.ts +0 -1757
- package/src/lib/utils.ts +0 -6
- package/src/react/accordion.tsx +0 -88
- package/src/react/alert-dialog.tsx +0 -185
- package/src/react/alert.tsx +0 -73
- package/src/react/aspect-ratio.tsx +0 -17
- package/src/react/avatar.tsx +0 -60
- package/src/react/badge.tsx +0 -39
- package/src/react/blockquote.tsx +0 -26
- package/src/react/box.tsx +0 -34
- package/src/react/breadcrumb.tsx +0 -154
- package/src/react/button.tsx +0 -94
- package/src/react/calendar.tsx +0 -79
- package/src/react/card.tsx +0 -109
- package/src/react/carousel.tsx +0 -299
- package/src/react/checkbox-cards.tsx +0 -61
- package/src/react/checkbox-group.primitive.tsx +0 -206
- package/src/react/checkbox-group.tsx +0 -55
- package/src/react/checkbox.tsx +0 -36
- package/src/react/code.tsx +0 -26
- package/src/react/collapsible.tsx +0 -54
- package/src/react/command.tsx +0 -209
- package/src/react/container.tsx +0 -29
- package/src/react/context-menu.tsx +0 -306
- package/src/react/data-table.tsx +0 -249
- package/src/react/dialog.tsx +0 -160
- package/src/react/drawer.tsx +0 -136
- package/src/react/dropdown-menu.tsx +0 -290
- package/src/react/em.tsx +0 -26
- package/src/react/form.tsx +0 -234
- package/src/react/heading.tsx +0 -29
- package/src/react/hover-card.tsx +0 -75
- package/src/react/input-otp.tsx +0 -120
- package/src/react/input.tsx +0 -145
- package/src/react/kbd.tsx +0 -36
- package/src/react/label.tsx +0 -31
- package/src/react/menubar.tsx +0 -322
- package/src/react/navigation-menu.tsx +0 -192
- package/src/react/pagination.tsx +0 -150
- package/src/react/popover.tsx +0 -84
- package/src/react/pre.tsx +0 -26
- package/src/react/progress.tsx +0 -35
- package/src/react/quote.tsx +0 -26
- package/src/react/radio-cards.tsx +0 -48
- package/src/react/radio-group.tsx +0 -50
- package/src/react/radio.tsx +0 -40
- package/src/react/resizable.tsx +0 -62
- package/src/react/scroll-area.tsx +0 -106
- package/src/react/section.tsx +0 -26
- package/src/react/select.tsx +0 -219
- package/src/react/separator.tsx +0 -32
- package/src/react/sheet.tsx +0 -178
- package/src/react/skeleton.tsx +0 -18
- package/src/react/slider.tsx +0 -41
- package/src/react/sonner.tsx +0 -40
- package/src/react/spinner.tsx +0 -68
- package/src/react/strong.tsx +0 -26
- package/src/react/switch.tsx +0 -33
- package/src/react/table.tsx +0 -148
- package/src/react/tabs.tsx +0 -87
- package/src/react/text-input.tsx +0 -36
- package/src/react/text.tsx +0 -34
- package/src/react/textarea.tsx +0 -30
- package/src/react/toggle-group.tsx +0 -84
- package/src/react/toggle.tsx +0 -49
- package/src/react/tooltip.tsx +0 -83
- package/src/styles/styles.css +0 -3
- package/tailwind.config.ts +0 -126
package/src/react/breadcrumb.tsx
DELETED
|
@@ -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
|
-
};
|
package/src/react/button.tsx
DELETED
|
@@ -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 };
|
package/src/react/calendar.tsx
DELETED
|
@@ -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 };
|
package/src/react/card.tsx
DELETED
|
@@ -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
|
-
};
|