@karakuri-ui/react 0.2.2 → 0.2.4
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/README.md +9 -0
- package/dist/components/ui/accordion.d.mts +49 -0
- package/dist/components/ui/accordion.d.ts +49 -0
- package/dist/components/ui/accordion.js +220 -0
- package/dist/components/ui/accordion.js.map +1 -0
- package/dist/components/ui/accordion.mjs +181 -0
- package/dist/components/ui/accordion.mjs.map +1 -0
- package/dist/components/ui/alert.d.mts +47 -0
- package/dist/components/ui/alert.d.ts +47 -0
- package/dist/components/ui/alert.js +223 -0
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/alert.mjs +185 -0
- package/dist/components/ui/alert.mjs.map +1 -0
- package/dist/components/ui/avatar.d.mts +232 -0
- package/dist/components/ui/avatar.d.ts +232 -0
- package/dist/components/ui/avatar.js +250 -0
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/avatar.mjs +209 -0
- package/dist/components/ui/avatar.mjs.map +1 -0
- package/dist/components/ui/badge.d.mts +31 -0
- package/dist/components/ui/badge.d.ts +31 -0
- package/dist/components/ui/badge.js +205 -0
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/badge.mjs +170 -0
- package/dist/components/ui/badge.mjs.map +1 -0
- package/dist/components/ui/breadcrumb.d.mts +57 -0
- package/dist/components/ui/breadcrumb.d.ts +57 -0
- package/dist/components/ui/breadcrumb.js +209 -0
- package/dist/components/ui/breadcrumb.js.map +1 -0
- package/dist/components/ui/breadcrumb.mjs +168 -0
- package/dist/components/ui/breadcrumb.mjs.map +1 -0
- package/dist/components/ui/button-group.d.mts +22 -0
- package/dist/components/ui/button-group.d.ts +22 -0
- package/dist/components/ui/button-group.js +107 -0
- package/dist/components/ui/button-group.js.map +1 -0
- package/dist/components/ui/button-group.mjs +72 -0
- package/dist/components/ui/button-group.mjs.map +1 -0
- package/dist/components/ui/button.d.mts +31 -0
- package/dist/components/ui/button.d.ts +31 -0
- package/dist/components/ui/button.js +176 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/button.mjs +141 -0
- package/dist/components/ui/button.mjs.map +1 -0
- package/dist/components/ui/card.d.mts +77 -0
- package/dist/components/ui/card.d.ts +77 -0
- package/dist/components/ui/card.js +370 -0
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/card.mjs +328 -0
- package/dist/components/ui/card.mjs.map +1 -0
- package/dist/{chart.js → components/ui/chart.js} +29 -39
- package/dist/components/ui/chart.js.map +1 -0
- package/dist/{chart.mjs → components/ui/chart.mjs} +21 -31
- package/dist/components/ui/chart.mjs.map +1 -0
- package/dist/components/ui/checkbox.d.mts +24 -0
- package/dist/components/ui/checkbox.d.ts +24 -0
- package/dist/components/ui/checkbox.js +173 -0
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/checkbox.mjs +138 -0
- package/dist/components/ui/checkbox.mjs.map +1 -0
- package/dist/components/ui/divider.d.mts +27 -0
- package/dist/components/ui/divider.d.ts +27 -0
- package/dist/components/ui/divider.js +147 -0
- package/dist/components/ui/divider.js.map +1 -0
- package/dist/components/ui/divider.mjs +112 -0
- package/dist/components/ui/divider.mjs.map +1 -0
- package/dist/components/ui/drawer.d.mts +51 -0
- package/dist/components/ui/drawer.d.ts +51 -0
- package/dist/components/ui/drawer.js +225 -0
- package/dist/components/ui/drawer.js.map +1 -0
- package/dist/components/ui/drawer.mjs +178 -0
- package/dist/components/ui/drawer.mjs.map +1 -0
- package/dist/components/ui/dropdown.d.mts +59 -0
- package/dist/components/ui/dropdown.d.ts +59 -0
- package/dist/components/ui/dropdown.js +310 -0
- package/dist/components/ui/dropdown.js.map +1 -0
- package/dist/components/ui/dropdown.mjs +263 -0
- package/dist/components/ui/dropdown.mjs.map +1 -0
- package/dist/components/ui/field.d.mts +33 -0
- package/dist/components/ui/field.d.ts +33 -0
- package/dist/components/ui/field.js +146 -0
- package/dist/components/ui/field.js.map +1 -0
- package/dist/components/ui/field.mjs +108 -0
- package/dist/components/ui/field.mjs.map +1 -0
- package/dist/components/ui/icon-button.d.mts +20 -0
- package/dist/components/ui/icon-button.d.ts +20 -0
- package/dist/components/ui/icon-button.js +147 -0
- package/dist/components/ui/icon-button.js.map +1 -0
- package/dist/components/ui/icon-button.mjs +112 -0
- package/dist/components/ui/icon-button.mjs.map +1 -0
- package/dist/components/ui/index.d.mts +55 -0
- package/dist/components/ui/index.d.ts +55 -0
- package/dist/components/ui/index.js +476 -0
- package/dist/components/ui/index.js.map +1 -0
- package/dist/components/ui/index.mjs +246 -0
- package/dist/components/ui/index.mjs.map +1 -0
- package/dist/components/ui/input.d.mts +20 -0
- package/dist/components/ui/input.d.ts +20 -0
- package/dist/components/ui/input.js +250 -0
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/input.mjs +215 -0
- package/dist/components/ui/input.mjs.map +1 -0
- package/dist/components/ui/metric-card.d.mts +53 -0
- package/dist/components/ui/metric-card.d.ts +53 -0
- package/dist/components/ui/metric-card.js +258 -0
- package/dist/components/ui/metric-card.js.map +1 -0
- package/dist/components/ui/metric-card.mjs +217 -0
- package/dist/components/ui/metric-card.mjs.map +1 -0
- package/dist/components/ui/modal.d.mts +77 -0
- package/dist/components/ui/modal.d.ts +77 -0
- package/dist/components/ui/modal.js +396 -0
- package/dist/components/ui/modal.js.map +1 -0
- package/dist/components/ui/modal.mjs +338 -0
- package/dist/components/ui/modal.mjs.map +1 -0
- package/dist/components/ui/navigation-menu.d.mts +139 -0
- package/dist/components/ui/navigation-menu.d.ts +139 -0
- package/dist/components/ui/navigation-menu.js +531 -0
- package/dist/components/ui/navigation-menu.js.map +1 -0
- package/dist/components/ui/navigation-menu.mjs +488 -0
- package/dist/components/ui/navigation-menu.mjs.map +1 -0
- package/dist/components/ui/pagination.d.mts +130 -0
- package/dist/components/ui/pagination.d.ts +130 -0
- package/dist/components/ui/pagination.js +495 -0
- package/dist/components/ui/pagination.js.map +1 -0
- package/dist/components/ui/pagination.mjs +449 -0
- package/dist/components/ui/pagination.mjs.map +1 -0
- package/dist/components/ui/popover.d.mts +41 -0
- package/dist/components/ui/popover.d.ts +41 -0
- package/dist/components/ui/popover.js +175 -0
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/popover.mjs +133 -0
- package/dist/components/ui/popover.mjs.map +1 -0
- package/dist/components/ui/progress.d.mts +35 -0
- package/dist/components/ui/progress.d.ts +35 -0
- package/dist/components/ui/progress.js +194 -0
- package/dist/components/ui/progress.js.map +1 -0
- package/dist/components/ui/progress.mjs +159 -0
- package/dist/components/ui/progress.mjs.map +1 -0
- package/dist/components/ui/radio-group.d.mts +40 -0
- package/dist/components/ui/radio-group.d.ts +40 -0
- package/dist/components/ui/radio-group.js +177 -0
- package/dist/components/ui/radio-group.js.map +1 -0
- package/dist/components/ui/radio-group.mjs +140 -0
- package/dist/components/ui/radio-group.mjs.map +1 -0
- package/dist/components/ui/segmented.d.mts +30 -0
- package/dist/components/ui/segmented.d.ts +30 -0
- package/dist/components/ui/segmented.js +241 -0
- package/dist/components/ui/segmented.js.map +1 -0
- package/dist/components/ui/segmented.mjs +204 -0
- package/dist/components/ui/segmented.mjs.map +1 -0
- package/dist/components/ui/select.d.mts +31 -0
- package/dist/components/ui/select.d.ts +31 -0
- package/dist/components/ui/select.js +317 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/select.mjs +276 -0
- package/dist/components/ui/select.mjs.map +1 -0
- package/dist/components/ui/skeleton.d.mts +26 -0
- package/dist/components/ui/skeleton.d.ts +26 -0
- package/dist/components/ui/skeleton.js +144 -0
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/components/ui/skeleton.mjs +109 -0
- package/dist/components/ui/skeleton.mjs.map +1 -0
- package/dist/components/ui/slider.d.mts +38 -0
- package/dist/components/ui/slider.d.ts +38 -0
- package/dist/components/ui/slider.js +180 -0
- package/dist/components/ui/slider.js.map +1 -0
- package/dist/components/ui/slider.mjs +145 -0
- package/dist/components/ui/slider.mjs.map +1 -0
- package/dist/components/ui/spinner.d.mts +23 -0
- package/dist/components/ui/spinner.d.ts +23 -0
- package/dist/components/ui/spinner.js +471 -0
- package/dist/components/ui/spinner.js.map +1 -0
- package/dist/components/ui/spinner.mjs +436 -0
- package/dist/components/ui/spinner.mjs.map +1 -0
- package/dist/components/ui/switch.d.mts +22 -0
- package/dist/components/ui/switch.d.ts +22 -0
- package/dist/components/ui/switch.js +173 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/switch.mjs +138 -0
- package/dist/components/ui/switch.mjs.map +1 -0
- package/dist/components/ui/table.d.mts +74 -0
- package/dist/components/ui/table.d.ts +74 -0
- package/dist/components/ui/table.js +240 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/table.mjs +199 -0
- package/dist/components/ui/table.mjs.map +1 -0
- package/dist/components/ui/tabs.d.mts +40 -0
- package/dist/components/ui/tabs.d.ts +40 -0
- package/dist/components/ui/tabs.js +238 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/tabs.mjs +199 -0
- package/dist/components/ui/tabs.mjs.map +1 -0
- package/dist/components/ui/textarea.d.mts +19 -0
- package/dist/components/ui/textarea.d.ts +19 -0
- package/dist/components/ui/textarea.js +181 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/textarea.mjs +146 -0
- package/dist/components/ui/textarea.mjs.map +1 -0
- package/dist/components/ui/toast.d.mts +93 -0
- package/dist/components/ui/toast.d.ts +93 -0
- package/dist/components/ui/toast.js +429 -0
- package/dist/components/ui/toast.js.map +1 -0
- package/dist/components/ui/toast.mjs +393 -0
- package/dist/components/ui/toast.mjs.map +1 -0
- package/dist/components/ui/toggle-group.d.mts +47 -0
- package/dist/components/ui/toggle-group.d.ts +47 -0
- package/dist/components/ui/toggle-group.js +186 -0
- package/dist/components/ui/toggle-group.js.map +1 -0
- package/dist/components/ui/toggle-group.mjs +149 -0
- package/dist/components/ui/toggle-group.mjs.map +1 -0
- package/dist/components/ui/toggle.d.mts +19 -0
- package/dist/components/ui/toggle.d.ts +19 -0
- package/dist/components/ui/toggle.js +194 -0
- package/dist/components/ui/toggle.js.map +1 -0
- package/dist/components/ui/toggle.mjs +159 -0
- package/dist/components/ui/toggle.mjs.map +1 -0
- package/dist/components/ui/tooltip.d.mts +37 -0
- package/dist/components/ui/tooltip.d.ts +37 -0
- package/dist/components/ui/tooltip.js +137 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/components/ui/tooltip.mjs +96 -0
- package/dist/components/ui/tooltip.mjs.map +1 -0
- package/dist/lib/utils.d.mts +10 -0
- package/dist/lib/utils.d.ts +10 -0
- package/dist/lib/utils.js +33 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/utils.mjs +9 -0
- package/dist/lib/utils.mjs.map +1 -0
- package/package.json +11 -11
- package/dist/chart.js.map +0 -1
- package/dist/chart.mjs.map +0 -1
- package/dist/index.d.mts +0 -1636
- package/dist/index.d.ts +0 -1636
- package/dist/index.js +0 -7291
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -7048
- package/dist/index.mjs.map +0 -1
- /package/dist/{chart.d.mts → components/ui/chart.d.mts} +0 -0
- /package/dist/{chart.d.ts → components/ui/chart.d.ts} +0 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, accordionTriggerVariants, accordionVariants } from "./accordion";
|
|
3
|
+
import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, breadcrumbSizeMap } from "./breadcrumb";
|
|
4
|
+
import { Divider, dividerVariants } from "./divider";
|
|
5
|
+
import { Button, buttonVariants } from "./button";
|
|
6
|
+
import { IconButton, iconButtonVariants } from "./icon-button";
|
|
7
|
+
import { ButtonGroup, useButtonGroup } from "./button-group";
|
|
8
|
+
import { Toggle, toggleVariants } from "./toggle";
|
|
9
|
+
import { ToggleGroup, ToggleGroupItem, toggleGroupItemVariants, toggleGroupVariants } from "./toggle-group";
|
|
10
|
+
import { Segmented, SegmentedItem, segmentedItemVariants, segmentedVariants } from "./segmented";
|
|
11
|
+
import { Input, inputVariants } from "./input";
|
|
12
|
+
import { Textarea, textareaVariants } from "./textarea";
|
|
13
|
+
import { Field, FieldCharCount, FieldError, FieldLabel, useFieldContext } from "./field";
|
|
14
|
+
import { Checkbox, checkboxVariants } from "./checkbox";
|
|
15
|
+
import { RadioGroup, RadioGroupItem, radioGroupVariants, radioItemVariants } from "./radio-group";
|
|
16
|
+
import { Switch, switchVariants } from "./switch";
|
|
17
|
+
import { Slider, sliderVariants } from "./slider";
|
|
18
|
+
import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./dropdown";
|
|
19
|
+
import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue } from "./select";
|
|
20
|
+
import { Avatar, AvatarFallback, AvatarGroup, AvatarImage, avatarColors, avatarVariants, getAvatarColor, getAvatarInitials } from "./avatar";
|
|
21
|
+
import { MetricCard, MetricCardDescription, MetricCardHeader, MetricCardSymbol, MetricCardTitle, MetricCardTrend, MetricCardValue, metricCardVariants } from "./metric-card";
|
|
22
|
+
import { Badge, badgeVariants } from "./badge";
|
|
23
|
+
import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle, cardVariants } from "./card";
|
|
24
|
+
import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./table";
|
|
25
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants, tabsTriggerVariants } from "./tabs";
|
|
26
|
+
import { NavigationMenu, NavigationMenuContent, NavigationMenuGroup, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuSizeMap } from "./navigation-menu";
|
|
27
|
+
import { Pagination, PaginationContent, PaginationEllipsis, PaginationFirst, PaginationItem, PaginationItems, PaginationLast, PaginationLink, PaginationNext, PaginationPrevious, paginationItemVariants, paginationSizeMap, usePagination } from "./pagination";
|
|
28
|
+
import { AlertModal, AlertModalAction, AlertModalBody, AlertModalCancel, AlertModalContent, AlertModalDescription, AlertModalFooter, AlertModalHeader, AlertModalOverlay, AlertModalPortal, AlertModalTitle, AlertModalTrigger, Modal, ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalOverlay, ModalPortal, ModalTitle, ModalTrigger, alertModalContentVariants, modalContentVariants } from "./modal";
|
|
29
|
+
import { Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerRoot, DrawerTitle, DrawerTrigger, drawerSizeHorizontal, drawerSizeVertical } from "./drawer";
|
|
30
|
+
import { Tooltip, TooltipArrow, TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger, tooltipContentVariants } from "./tooltip";
|
|
31
|
+
import { Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, PopoverPortal, PopoverRoot, PopoverTrigger, popoverContentVariants } from "./popover";
|
|
32
|
+
import { Alert, AlertDescription, AlertRoot, AlertTitle, alertVariants } from "./alert";
|
|
33
|
+
import { Toaster, toast, toastVariants } from "./toast";
|
|
34
|
+
import { Progress, linearTrackVariants } from "./progress";
|
|
35
|
+
import { Spinner, spinnerVariants } from "./spinner";
|
|
36
|
+
import { Skeleton, skeletonVariants } from "./skeleton";
|
|
37
|
+
export {
|
|
38
|
+
Accordion,
|
|
39
|
+
AccordionContent,
|
|
40
|
+
AccordionItem,
|
|
41
|
+
AccordionTrigger,
|
|
42
|
+
Alert,
|
|
43
|
+
AlertDescription,
|
|
44
|
+
AlertModal,
|
|
45
|
+
AlertModalAction,
|
|
46
|
+
AlertModalBody,
|
|
47
|
+
AlertModalCancel,
|
|
48
|
+
AlertModalContent,
|
|
49
|
+
AlertModalDescription,
|
|
50
|
+
AlertModalFooter,
|
|
51
|
+
AlertModalHeader,
|
|
52
|
+
AlertModalOverlay,
|
|
53
|
+
AlertModalPortal,
|
|
54
|
+
AlertModalTitle,
|
|
55
|
+
AlertModalTrigger,
|
|
56
|
+
AlertRoot,
|
|
57
|
+
AlertTitle,
|
|
58
|
+
Avatar,
|
|
59
|
+
AvatarFallback,
|
|
60
|
+
AvatarGroup,
|
|
61
|
+
AvatarImage,
|
|
62
|
+
Badge,
|
|
63
|
+
Breadcrumb,
|
|
64
|
+
BreadcrumbEllipsis,
|
|
65
|
+
BreadcrumbItem,
|
|
66
|
+
BreadcrumbLink,
|
|
67
|
+
BreadcrumbList,
|
|
68
|
+
BreadcrumbPage,
|
|
69
|
+
BreadcrumbSeparator,
|
|
70
|
+
Button,
|
|
71
|
+
ButtonGroup,
|
|
72
|
+
Card,
|
|
73
|
+
CardAction,
|
|
74
|
+
CardContent,
|
|
75
|
+
CardDescription,
|
|
76
|
+
CardFooter,
|
|
77
|
+
CardHeader,
|
|
78
|
+
CardImage,
|
|
79
|
+
CardTitle,
|
|
80
|
+
Checkbox,
|
|
81
|
+
Divider,
|
|
82
|
+
Drawer,
|
|
83
|
+
DrawerBody,
|
|
84
|
+
DrawerClose,
|
|
85
|
+
DrawerContent,
|
|
86
|
+
DrawerDescription,
|
|
87
|
+
DrawerFooter,
|
|
88
|
+
DrawerHeader,
|
|
89
|
+
DrawerOverlay,
|
|
90
|
+
DrawerPortal,
|
|
91
|
+
DrawerRoot,
|
|
92
|
+
DrawerTitle,
|
|
93
|
+
DrawerTrigger,
|
|
94
|
+
DropdownMenu,
|
|
95
|
+
DropdownMenuCheckboxItem,
|
|
96
|
+
DropdownMenuContent,
|
|
97
|
+
DropdownMenuGroup,
|
|
98
|
+
DropdownMenuItem,
|
|
99
|
+
DropdownMenuLabel,
|
|
100
|
+
DropdownMenuRadioGroup,
|
|
101
|
+
DropdownMenuRadioItem,
|
|
102
|
+
DropdownMenuSeparator,
|
|
103
|
+
DropdownMenuShortcut,
|
|
104
|
+
DropdownMenuSub,
|
|
105
|
+
DropdownMenuSubContent,
|
|
106
|
+
DropdownMenuSubTrigger,
|
|
107
|
+
DropdownMenuTrigger,
|
|
108
|
+
Field,
|
|
109
|
+
FieldCharCount,
|
|
110
|
+
FieldError,
|
|
111
|
+
FieldLabel,
|
|
112
|
+
IconButton,
|
|
113
|
+
Input,
|
|
114
|
+
MetricCard,
|
|
115
|
+
MetricCardDescription,
|
|
116
|
+
MetricCardHeader,
|
|
117
|
+
MetricCardSymbol,
|
|
118
|
+
MetricCardTitle,
|
|
119
|
+
MetricCardTrend,
|
|
120
|
+
MetricCardValue,
|
|
121
|
+
Modal,
|
|
122
|
+
ModalBody,
|
|
123
|
+
ModalClose,
|
|
124
|
+
ModalContent,
|
|
125
|
+
ModalDescription,
|
|
126
|
+
ModalFooter,
|
|
127
|
+
ModalHeader,
|
|
128
|
+
ModalOverlay,
|
|
129
|
+
ModalPortal,
|
|
130
|
+
ModalTitle,
|
|
131
|
+
ModalTrigger,
|
|
132
|
+
NavigationMenu,
|
|
133
|
+
NavigationMenuContent,
|
|
134
|
+
NavigationMenuGroup,
|
|
135
|
+
NavigationMenuIndicator,
|
|
136
|
+
NavigationMenuItem,
|
|
137
|
+
NavigationMenuLink,
|
|
138
|
+
NavigationMenuList,
|
|
139
|
+
NavigationMenuTrigger,
|
|
140
|
+
NavigationMenuViewport,
|
|
141
|
+
Pagination,
|
|
142
|
+
PaginationContent,
|
|
143
|
+
PaginationEllipsis,
|
|
144
|
+
PaginationFirst,
|
|
145
|
+
PaginationItem,
|
|
146
|
+
PaginationItems,
|
|
147
|
+
PaginationLast,
|
|
148
|
+
PaginationLink,
|
|
149
|
+
PaginationNext,
|
|
150
|
+
PaginationPrevious,
|
|
151
|
+
Popover,
|
|
152
|
+
PopoverAnchor,
|
|
153
|
+
PopoverArrow,
|
|
154
|
+
PopoverClose,
|
|
155
|
+
PopoverContent,
|
|
156
|
+
PopoverPortal,
|
|
157
|
+
PopoverRoot,
|
|
158
|
+
PopoverTrigger,
|
|
159
|
+
Progress,
|
|
160
|
+
RadioGroup,
|
|
161
|
+
RadioGroupItem,
|
|
162
|
+
Segmented,
|
|
163
|
+
SegmentedItem,
|
|
164
|
+
Select,
|
|
165
|
+
SelectContent,
|
|
166
|
+
SelectGroup,
|
|
167
|
+
SelectItem,
|
|
168
|
+
SelectLabel,
|
|
169
|
+
SelectSeparator,
|
|
170
|
+
SelectTrigger,
|
|
171
|
+
SelectValue,
|
|
172
|
+
Skeleton,
|
|
173
|
+
Slider,
|
|
174
|
+
Spinner,
|
|
175
|
+
Switch,
|
|
176
|
+
Table,
|
|
177
|
+
TableBody,
|
|
178
|
+
TableCaption,
|
|
179
|
+
TableCell,
|
|
180
|
+
TableFooter,
|
|
181
|
+
TableHead,
|
|
182
|
+
TableHeader,
|
|
183
|
+
TableRow,
|
|
184
|
+
Tabs,
|
|
185
|
+
TabsContent,
|
|
186
|
+
TabsList,
|
|
187
|
+
TabsTrigger,
|
|
188
|
+
Textarea,
|
|
189
|
+
Toaster,
|
|
190
|
+
Toggle,
|
|
191
|
+
ToggleGroup,
|
|
192
|
+
ToggleGroupItem,
|
|
193
|
+
Tooltip,
|
|
194
|
+
TooltipArrow,
|
|
195
|
+
TooltipContent,
|
|
196
|
+
TooltipPortal,
|
|
197
|
+
TooltipProvider,
|
|
198
|
+
TooltipRoot,
|
|
199
|
+
TooltipTrigger,
|
|
200
|
+
accordionTriggerVariants,
|
|
201
|
+
accordionVariants,
|
|
202
|
+
alertModalContentVariants,
|
|
203
|
+
alertVariants,
|
|
204
|
+
avatarColors,
|
|
205
|
+
avatarVariants,
|
|
206
|
+
badgeVariants,
|
|
207
|
+
breadcrumbSizeMap,
|
|
208
|
+
buttonVariants,
|
|
209
|
+
cardVariants,
|
|
210
|
+
checkboxVariants,
|
|
211
|
+
dividerVariants,
|
|
212
|
+
drawerSizeHorizontal,
|
|
213
|
+
drawerSizeVertical,
|
|
214
|
+
getAvatarColor,
|
|
215
|
+
getAvatarInitials,
|
|
216
|
+
iconButtonVariants,
|
|
217
|
+
inputVariants,
|
|
218
|
+
linearTrackVariants,
|
|
219
|
+
metricCardVariants,
|
|
220
|
+
modalContentVariants,
|
|
221
|
+
navigationMenuSizeMap,
|
|
222
|
+
paginationItemVariants,
|
|
223
|
+
paginationSizeMap,
|
|
224
|
+
popoverContentVariants,
|
|
225
|
+
radioGroupVariants,
|
|
226
|
+
radioItemVariants,
|
|
227
|
+
segmentedItemVariants,
|
|
228
|
+
segmentedVariants,
|
|
229
|
+
skeletonVariants,
|
|
230
|
+
sliderVariants,
|
|
231
|
+
spinnerVariants,
|
|
232
|
+
switchVariants,
|
|
233
|
+
tabsListVariants,
|
|
234
|
+
tabsTriggerVariants,
|
|
235
|
+
textareaVariants,
|
|
236
|
+
toast,
|
|
237
|
+
toastVariants,
|
|
238
|
+
toggleGroupItemVariants,
|
|
239
|
+
toggleGroupVariants,
|
|
240
|
+
toggleVariants,
|
|
241
|
+
tooltipContentVariants,
|
|
242
|
+
useButtonGroup,
|
|
243
|
+
useFieldContext,
|
|
244
|
+
usePagination
|
|
245
|
+
};
|
|
246
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/index.ts"],"sourcesContent":["'use client'\n\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger, accordionTriggerVariants, accordionVariants } from './accordion'\nexport type * from './accordion'\nexport { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, breadcrumbSizeMap } from './breadcrumb'\nexport type * from './breadcrumb'\nexport { Divider, dividerVariants } from './divider'\nexport type * from './divider'\nexport { Button, buttonVariants } from './button'\nexport type * from './button'\nexport { IconButton, iconButtonVariants } from './icon-button'\nexport type * from './icon-button'\nexport { ButtonGroup, useButtonGroup } from './button-group'\nexport type * from './button-group'\nexport { Toggle, toggleVariants } from './toggle'\nexport type * from './toggle'\nexport { ToggleGroup, ToggleGroupItem, toggleGroupItemVariants, toggleGroupVariants } from './toggle-group'\nexport type * from './toggle-group'\nexport { Segmented, SegmentedItem, segmentedItemVariants, segmentedVariants } from './segmented'\nexport type * from './segmented'\nexport { Input, inputVariants } from './input'\nexport type * from './input'\nexport { Textarea, textareaVariants } from './textarea'\nexport type * from './textarea'\nexport { Field, FieldCharCount, FieldError, FieldLabel, useFieldContext } from './field'\nexport type * from './field'\nexport { Checkbox, checkboxVariants } from './checkbox'\nexport type * from './checkbox'\nexport { RadioGroup, RadioGroupItem, radioGroupVariants, radioItemVariants } from './radio-group'\nexport type * from './radio-group'\nexport { Switch, switchVariants } from './switch'\nexport type * from './switch'\nexport { Slider, sliderVariants } from './slider'\nexport type * from './slider'\nexport { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from './dropdown'\nexport type * from './dropdown'\nexport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue } from './select'\nexport type * from './select'\nexport { Avatar, AvatarFallback, AvatarGroup, AvatarImage, avatarColors, avatarVariants, getAvatarColor, getAvatarInitials } from './avatar'\nexport type * from './avatar'\nexport { MetricCard, MetricCardDescription, MetricCardHeader, MetricCardSymbol, MetricCardTitle, MetricCardTrend, MetricCardValue, metricCardVariants } from './metric-card'\nexport type * from './metric-card'\nexport { Badge, badgeVariants } from './badge'\nexport type * from './badge'\nexport { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle, cardVariants } from './card'\nexport type * from './card'\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from './table'\nexport type * from './table'\nexport { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants, tabsTriggerVariants } from './tabs'\nexport type * from './tabs'\nexport { NavigationMenu, NavigationMenuContent, NavigationMenuGroup, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuSizeMap } from './navigation-menu'\nexport type * from './navigation-menu'\nexport { Pagination, PaginationContent, PaginationEllipsis, PaginationFirst, PaginationItem, PaginationItems, PaginationLast, PaginationLink, PaginationNext, PaginationPrevious, paginationItemVariants, paginationSizeMap, usePagination } from './pagination'\nexport type * from './pagination'\nexport { AlertModal, AlertModalAction, AlertModalBody, AlertModalCancel, AlertModalContent, AlertModalDescription, AlertModalFooter, AlertModalHeader, AlertModalOverlay, AlertModalPortal, AlertModalTitle, AlertModalTrigger, Modal, ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalOverlay, ModalPortal, ModalTitle, ModalTrigger, alertModalContentVariants, modalContentVariants } from './modal'\nexport type * from './modal'\nexport { Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerRoot, DrawerTitle, DrawerTrigger, drawerSizeHorizontal, drawerSizeVertical } from './drawer'\nexport type * from './drawer'\nexport { Tooltip, TooltipArrow, TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger, tooltipContentVariants } from './tooltip'\nexport type * from './tooltip'\nexport { Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, PopoverPortal, PopoverRoot, PopoverTrigger, popoverContentVariants } from './popover'\nexport type * from './popover'\nexport { Alert, AlertDescription, AlertRoot, AlertTitle, alertVariants } from './alert'\nexport type * from './alert'\nexport { Toaster, toast, toastVariants } from './toast'\nexport type * from './toast'\nexport { Progress, linearTrackVariants } from './progress'\nexport type * from './progress'\nexport { Spinner, spinnerVariants } from './spinner'\nexport type * from './spinner'\nexport { Skeleton, skeletonVariants } from './skeleton'\nexport type * from './skeleton'\n"],"mappings":";AAEA,SAAS,WAAW,kBAAkB,eAAe,kBAAkB,0BAA0B,yBAAyB;AAE1H,SAAS,YAAY,oBAAoB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,qBAAqB,yBAAyB;AAEvJ,SAAS,SAAS,uBAAuB;AAEzC,SAAS,QAAQ,sBAAsB;AAEvC,SAAS,YAAY,0BAA0B;AAE/C,SAAS,aAAa,sBAAsB;AAE5C,SAAS,QAAQ,sBAAsB;AAEvC,SAAS,aAAa,iBAAiB,yBAAyB,2BAA2B;AAE3F,SAAS,WAAW,eAAe,uBAAuB,yBAAyB;AAEnF,SAAS,OAAO,qBAAqB;AAErC,SAAS,UAAU,wBAAwB;AAE3C,SAAS,OAAO,gBAAgB,YAAY,YAAY,uBAAuB;AAE/E,SAAS,UAAU,wBAAwB;AAE3C,SAAS,YAAY,gBAAgB,oBAAoB,yBAAyB;AAElF,SAAS,QAAQ,sBAAsB;AAEvC,SAAS,QAAQ,sBAAsB;AAEvC,SAAS,cAAc,0BAA0B,qBAAqB,mBAAmB,kBAAkB,mBAAmB,wBAAwB,uBAAuB,uBAAuB,sBAAsB,iBAAiB,wBAAwB,wBAAwB,2BAA2B;AAEtT,SAAS,QAAQ,eAAe,aAAa,YAAY,aAAa,iBAAiB,eAAe,mBAAmB;AAEzH,SAAS,QAAQ,gBAAgB,aAAa,aAAa,cAAc,gBAAgB,gBAAgB,yBAAyB;AAElI,SAAS,YAAY,uBAAuB,kBAAkB,kBAAkB,iBAAiB,iBAAiB,iBAAiB,0BAA0B;AAE7J,SAAS,OAAO,qBAAqB;AAErC,SAAS,MAAM,YAAY,aAAa,iBAAiB,YAAY,YAAY,WAAW,WAAW,oBAAoB;AAE3H,SAAS,OAAO,WAAW,cAAc,WAAW,aAAa,WAAW,aAAa,gBAAgB;AAEzG,SAAS,MAAM,aAAa,UAAU,aAAa,kBAAkB,2BAA2B;AAEhG,SAAS,gBAAgB,uBAAuB,qBAAqB,yBAAyB,oBAAoB,oBAAoB,oBAAoB,uBAAuB,wBAAwB,6BAA6B;AAEtO,SAAS,YAAY,mBAAmB,oBAAoB,iBAAiB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,oBAAoB,wBAAwB,mBAAmB,qBAAqB;AAElP,SAAS,YAAY,kBAAkB,gBAAgB,kBAAkB,mBAAmB,uBAAuB,kBAAkB,kBAAkB,mBAAmB,kBAAkB,iBAAiB,mBAAmB,OAAO,WAAW,YAAY,cAAc,kBAAkB,aAAa,aAAa,cAAc,aAAa,YAAY,cAAc,2BAA2B,4BAA4B;AAEpa,SAAS,QAAQ,YAAY,aAAa,eAAe,mBAAmB,cAAc,cAAc,eAAe,cAAc,YAAY,aAAa,eAAe,sBAAsB,0BAA0B;AAE7N,SAAS,SAAS,cAAc,gBAAgB,eAAe,iBAAiB,aAAa,gBAAgB,8BAA8B;AAE3I,SAAS,SAAS,eAAe,cAAc,cAAc,gBAAgB,eAAe,aAAa,gBAAgB,8BAA8B;AAEvJ,SAAS,OAAO,kBAAkB,WAAW,YAAY,qBAAqB;AAE9E,SAAS,SAAS,OAAO,qBAAqB;AAE9C,SAAS,UAAU,2BAA2B;AAE9C,SAAS,SAAS,uBAAuB;AAEzC,SAAS,UAAU,wBAAwB;","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
declare const inputVariants: (props?: ({
|
|
6
|
+
variant?: "default" | "filled" | null | undefined;
|
|
7
|
+
focusRing?: boolean | null | undefined;
|
|
8
|
+
size?: "default" | "sm" | "lg" | "xl" | "xs" | null | undefined;
|
|
9
|
+
radius?: "default" | "sm" | "lg" | "base" | "none" | "xl" | "2xl" | "3xl" | "full" | null | undefined;
|
|
10
|
+
state?: "default" | "error" | null | undefined;
|
|
11
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
12
|
+
interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof inputVariants> {
|
|
13
|
+
leftIcon?: React.ReactNode;
|
|
14
|
+
rightIcon?: React.ReactNode;
|
|
15
|
+
error?: boolean;
|
|
16
|
+
focusRing?: boolean;
|
|
17
|
+
}
|
|
18
|
+
declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
19
|
+
|
|
20
|
+
export { Input, type InputProps, inputVariants };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
declare const inputVariants: (props?: ({
|
|
6
|
+
variant?: "default" | "filled" | null | undefined;
|
|
7
|
+
focusRing?: boolean | null | undefined;
|
|
8
|
+
size?: "default" | "sm" | "lg" | "xl" | "xs" | null | undefined;
|
|
9
|
+
radius?: "default" | "sm" | "lg" | "base" | "none" | "xl" | "2xl" | "3xl" | "full" | null | undefined;
|
|
10
|
+
state?: "default" | "error" | null | undefined;
|
|
11
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
12
|
+
interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof inputVariants> {
|
|
13
|
+
leftIcon?: React.ReactNode;
|
|
14
|
+
rightIcon?: React.ReactNode;
|
|
15
|
+
error?: boolean;
|
|
16
|
+
focusRing?: boolean;
|
|
17
|
+
}
|
|
18
|
+
declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
19
|
+
|
|
20
|
+
export { Input, type InputProps, inputVariants };
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var input_exports = {};
|
|
31
|
+
__export(input_exports, {
|
|
32
|
+
Input: () => Input,
|
|
33
|
+
inputVariants: () => inputVariants
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(input_exports);
|
|
36
|
+
var React = __toESM(require("react"));
|
|
37
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
38
|
+
var import_utils = require("../../lib/utils");
|
|
39
|
+
var import_field = require("./field");
|
|
40
|
+
const inputVariants = (0, import_class_variance_authority.cva)(
|
|
41
|
+
[
|
|
42
|
+
"flex w-full bg-background text-foreground placeholder:text-foreground/30",
|
|
43
|
+
"border transition-colors duration-micro outline-transparent",
|
|
44
|
+
"focus:[outline:2px_solid_transparent]",
|
|
45
|
+
"disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-background-muted",
|
|
46
|
+
"file:border-0 file:bg-transparent file:text-sm file:font-semibold"
|
|
47
|
+
].join(" "),
|
|
48
|
+
{
|
|
49
|
+
variants: {
|
|
50
|
+
variant: {
|
|
51
|
+
default: "border-border-form hover:border-border-form-strong",
|
|
52
|
+
filled: "border-transparent bg-background-muted"
|
|
53
|
+
},
|
|
54
|
+
focusRing: {
|
|
55
|
+
true: "",
|
|
56
|
+
false: ""
|
|
57
|
+
},
|
|
58
|
+
size: {
|
|
59
|
+
xs: "h-9 px-3 text-sm",
|
|
60
|
+
// 36px / 12px padding / 13px font (3.0:1)
|
|
61
|
+
sm: "h-10 px-3 text-md",
|
|
62
|
+
// 40px / 12px padding / 14px font (3.3:1)
|
|
63
|
+
default: "h-11 px-4 text-base",
|
|
64
|
+
// 44px / 16px padding / 16px font (2.75:1)
|
|
65
|
+
lg: "h-12 px-4 text-base",
|
|
66
|
+
// 48px / 16px padding / 16px font (3.0:1)
|
|
67
|
+
xl: "h-14 px-4 text-base"
|
|
68
|
+
// 56px / 16px padding / 16px font (3.5:1)
|
|
69
|
+
},
|
|
70
|
+
radius: {
|
|
71
|
+
none: "rounded-none",
|
|
72
|
+
sm: "rounded-sm",
|
|
73
|
+
base: "rounded",
|
|
74
|
+
default: "rounded-md",
|
|
75
|
+
lg: "rounded-lg",
|
|
76
|
+
xl: "rounded-xl",
|
|
77
|
+
"2xl": "rounded-2xl",
|
|
78
|
+
"3xl": "rounded-3xl",
|
|
79
|
+
full: "rounded-full"
|
|
80
|
+
},
|
|
81
|
+
state: {
|
|
82
|
+
default: "",
|
|
83
|
+
error: "border-error hover:border-error focus:border-error shadow-[0_0_0_2px_var(--color-focus-ring-error)]"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
compoundVariants: [
|
|
87
|
+
// focusRing: true → show custom focus ring
|
|
88
|
+
{ focusRing: true, className: "focus-visible:shadow-[0_0_0_2px_var(--color-focus-ring)]" },
|
|
89
|
+
// focusRing: false → keep same state as hover
|
|
90
|
+
{ variant: "default", focusRing: false, className: "focus:border-border-form-strong" },
|
|
91
|
+
// filled + error
|
|
92
|
+
{
|
|
93
|
+
variant: "filled",
|
|
94
|
+
state: "error",
|
|
95
|
+
className: "border-transparent hover:border-transparent focus:border-transparent bg-[var(--color-error-bg)] hover:bg-[var(--color-error-bg)] focus:bg-[var(--color-error-bg)] shadow-none"
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
defaultVariants: {
|
|
99
|
+
variant: "default",
|
|
100
|
+
size: "default",
|
|
101
|
+
radius: "default",
|
|
102
|
+
state: "default",
|
|
103
|
+
focusRing: false
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
const iconSizeClasses = {
|
|
108
|
+
xs: "icon-xs",
|
|
109
|
+
// 14px
|
|
110
|
+
sm: "icon-xs",
|
|
111
|
+
// 14px
|
|
112
|
+
default: "icon-sm",
|
|
113
|
+
// 16px
|
|
114
|
+
lg: "icon-sm",
|
|
115
|
+
// 16px
|
|
116
|
+
xl: "icon-sm"
|
|
117
|
+
// 16px
|
|
118
|
+
};
|
|
119
|
+
const iconPaddingClasses = {
|
|
120
|
+
xs: { left: "pl-8", right: "pr-8" },
|
|
121
|
+
// 12px + 14px icon + 6px gap = 32px
|
|
122
|
+
sm: { left: "pl-9", right: "pr-9" },
|
|
123
|
+
// 12px + 14px icon + 8px gap = 34px → 36px
|
|
124
|
+
default: { left: "pl-10", right: "pr-10" },
|
|
125
|
+
// 16px + 16px icon + 8px gap = 40px
|
|
126
|
+
lg: { left: "pl-10", right: "pr-10" },
|
|
127
|
+
// 16px + 16px icon + 8px gap = 40px
|
|
128
|
+
xl: { left: "pl-10", right: "pr-10" }
|
|
129
|
+
// 16px + 16px icon + 8px gap = 40px
|
|
130
|
+
};
|
|
131
|
+
const iconPositionClasses = {
|
|
132
|
+
xs: { left: "left-3", right: "right-3" },
|
|
133
|
+
// 12px
|
|
134
|
+
sm: { left: "left-3", right: "right-3" },
|
|
135
|
+
// 12px
|
|
136
|
+
default: { left: "left-4", right: "right-4" },
|
|
137
|
+
// 16px
|
|
138
|
+
lg: { left: "left-4", right: "right-4" },
|
|
139
|
+
// 16px
|
|
140
|
+
xl: { left: "left-4", right: "right-4" }
|
|
141
|
+
// 16px
|
|
142
|
+
};
|
|
143
|
+
const Input = React.forwardRef(
|
|
144
|
+
({ className, variant, size, radius, state, type, leftIcon, rightIcon, error, focusRing, id, onPointerDown, onFocus, onBlur, ...props }, ref) => {
|
|
145
|
+
const fieldContext = (0, import_field.useFieldContext)();
|
|
146
|
+
const resolvedSize = size || "default";
|
|
147
|
+
const resolvedError = error ?? fieldContext?.error;
|
|
148
|
+
const resolvedState = resolvedError ? "error" : state;
|
|
149
|
+
const inputId = id ?? fieldContext?.id;
|
|
150
|
+
const isDisabled = props.disabled ?? fieldContext?.disabled;
|
|
151
|
+
const pointerRef = React.useRef(false);
|
|
152
|
+
const windowBlurredRef = React.useRef(false);
|
|
153
|
+
const [keyboardFocus, setKeyboardFocus] = React.useState(false);
|
|
154
|
+
React.useEffect(() => {
|
|
155
|
+
const onBlur2 = () => {
|
|
156
|
+
windowBlurredRef.current = true;
|
|
157
|
+
};
|
|
158
|
+
const onFocus2 = () => {
|
|
159
|
+
requestAnimationFrame(() => {
|
|
160
|
+
windowBlurredRef.current = false;
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
window.addEventListener("blur", onBlur2);
|
|
164
|
+
window.addEventListener("focus", onFocus2);
|
|
165
|
+
return () => {
|
|
166
|
+
window.removeEventListener("blur", onBlur2);
|
|
167
|
+
window.removeEventListener("focus", onFocus2);
|
|
168
|
+
};
|
|
169
|
+
}, []);
|
|
170
|
+
const handlePointerDown = React.useCallback((e) => {
|
|
171
|
+
pointerRef.current = true;
|
|
172
|
+
onPointerDown?.(e);
|
|
173
|
+
}, [onPointerDown]);
|
|
174
|
+
const handleFocus = React.useCallback((e) => {
|
|
175
|
+
if (!pointerRef.current && !focusRing && !windowBlurredRef.current) {
|
|
176
|
+
setKeyboardFocus(true);
|
|
177
|
+
}
|
|
178
|
+
pointerRef.current = false;
|
|
179
|
+
onFocus?.(e);
|
|
180
|
+
}, [focusRing, onFocus]);
|
|
181
|
+
const handleBlur = React.useCallback((e) => {
|
|
182
|
+
setKeyboardFocus(false);
|
|
183
|
+
pointerRef.current = false;
|
|
184
|
+
onBlur?.(e);
|
|
185
|
+
}, [onBlur]);
|
|
186
|
+
const ariaDescribedBy = fieldContext ? [
|
|
187
|
+
resolvedError ? `${fieldContext.id}-error` : null
|
|
188
|
+
].filter(Boolean).join(" ") || void 0 : void 0;
|
|
189
|
+
const focusHandlers = {
|
|
190
|
+
onPointerDown: handlePointerDown,
|
|
191
|
+
onFocus: handleFocus,
|
|
192
|
+
onBlur: handleBlur
|
|
193
|
+
};
|
|
194
|
+
if (leftIcon || rightIcon) {
|
|
195
|
+
return /* @__PURE__ */ React.createElement("div", { className: "relative w-full" }, leftIcon && /* @__PURE__ */ React.createElement("div", { className: (0, import_utils.cn)(
|
|
196
|
+
"absolute top-1/2 -translate-y-1/2 pointer-events-none text-text-muted z-10",
|
|
197
|
+
iconPositionClasses[resolvedSize].left,
|
|
198
|
+
`[&>svg]:${iconSizeClasses[resolvedSize]}`
|
|
199
|
+
) }, leftIcon), /* @__PURE__ */ React.createElement(
|
|
200
|
+
"input",
|
|
201
|
+
{
|
|
202
|
+
type,
|
|
203
|
+
id: inputId,
|
|
204
|
+
className: (0, import_utils.cn)(
|
|
205
|
+
inputVariants({ variant, size, radius, state: resolvedState, focusRing }),
|
|
206
|
+
keyboardFocus && "shadow-[0_0_0_2px_var(--color-focus-ring)]",
|
|
207
|
+
leftIcon && iconPaddingClasses[resolvedSize].left,
|
|
208
|
+
rightIcon && iconPaddingClasses[resolvedSize].right,
|
|
209
|
+
className
|
|
210
|
+
),
|
|
211
|
+
"aria-invalid": resolvedError || void 0,
|
|
212
|
+
"aria-describedby": ariaDescribedBy,
|
|
213
|
+
disabled: isDisabled,
|
|
214
|
+
ref,
|
|
215
|
+
...focusHandlers,
|
|
216
|
+
...props
|
|
217
|
+
}
|
|
218
|
+
), rightIcon && /* @__PURE__ */ React.createElement("div", { className: (0, import_utils.cn)(
|
|
219
|
+
"absolute top-1/2 -translate-y-1/2 pointer-events-none text-text-muted z-10",
|
|
220
|
+
iconPositionClasses[resolvedSize].right,
|
|
221
|
+
`[&>svg]:${iconSizeClasses[resolvedSize]}`
|
|
222
|
+
) }, rightIcon));
|
|
223
|
+
}
|
|
224
|
+
return /* @__PURE__ */ React.createElement(
|
|
225
|
+
"input",
|
|
226
|
+
{
|
|
227
|
+
type,
|
|
228
|
+
id: inputId,
|
|
229
|
+
className: (0, import_utils.cn)(
|
|
230
|
+
inputVariants({ variant, size, radius, state: resolvedState, focusRing }),
|
|
231
|
+
keyboardFocus && "shadow-[0_0_0_2px_var(--color-focus-ring)]",
|
|
232
|
+
className
|
|
233
|
+
),
|
|
234
|
+
"aria-invalid": resolvedError || void 0,
|
|
235
|
+
"aria-describedby": ariaDescribedBy,
|
|
236
|
+
disabled: isDisabled,
|
|
237
|
+
ref,
|
|
238
|
+
...focusHandlers,
|
|
239
|
+
...props
|
|
240
|
+
}
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
);
|
|
244
|
+
Input.displayName = "Input";
|
|
245
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
246
|
+
0 && (module.exports = {
|
|
247
|
+
Input,
|
|
248
|
+
inputVariants
|
|
249
|
+
});
|
|
250
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/input.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../../lib/utils'\nimport { useFieldContext } from './field'\n\nconst inputVariants = cva(\n [\n 'flex w-full bg-background text-foreground placeholder:text-foreground/30',\n 'border transition-colors duration-micro outline-transparent',\n 'focus:[outline:2px_solid_transparent]',\n 'disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-background-muted',\n 'file:border-0 file:bg-transparent file:text-sm file:font-semibold',\n ].join(' '),\n {\n variants: {\n variant: {\n default: 'border-border-form hover:border-border-form-strong',\n filled: 'border-transparent bg-background-muted',\n },\n focusRing: {\n true: '',\n false: '',\n },\n size: {\n xs: 'h-9 px-3 text-sm', // 36px / 12px padding / 13px font (3.0:1)\n sm: 'h-10 px-3 text-md', // 40px / 12px padding / 14px font (3.3:1)\n default: 'h-11 px-4 text-base', // 44px / 16px padding / 16px font (2.75:1)\n lg: 'h-12 px-4 text-base', // 48px / 16px padding / 16px font (3.0:1)\n xl: 'h-14 px-4 text-base', // 56px / 16px padding / 16px font (3.5:1)\n },\n radius: {\n none: 'rounded-none',\n sm: 'rounded-sm',\n base: 'rounded',\n default: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n '3xl': 'rounded-3xl',\n full: 'rounded-full',\n },\n state: {\n default: '',\n error: 'border-error hover:border-error focus:border-error shadow-[0_0_0_2px_var(--color-focus-ring-error)]',\n },\n },\n compoundVariants: [\n // focusRing: true → show custom focus ring\n { focusRing: true, className: 'focus-visible:shadow-[0_0_0_2px_var(--color-focus-ring)]' },\n // focusRing: false → keep same state as hover\n { variant: 'default', focusRing: false, className: 'focus:border-border-form-strong' },\n // filled + error\n {\n variant: 'filled',\n state: 'error',\n className: 'border-transparent hover:border-transparent focus:border-transparent bg-[var(--color-error-bg)] hover:bg-[var(--color-error-bg)] focus:bg-[var(--color-error-bg)] shadow-none',\n },\n ],\n defaultVariants: {\n variant: 'default',\n size: 'default',\n radius: 'default',\n state: 'default',\n focusRing: false,\n },\n }\n)\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>,\n VariantProps<typeof inputVariants> {\n leftIcon?: React.ReactNode\n rightIcon?: React.ReactNode\n error?: boolean\n focusRing?: boolean\n}\n\n// Icon size for input (2-step scale)\n// xs~sm: 14px, default~xl: 16px\nconst iconSizeClasses = {\n xs: 'icon-xs', // 14px\n sm: 'icon-xs', // 14px\n default: 'icon-sm', // 16px\n lg: 'icon-sm', // 16px\n xl: 'icon-sm', // 16px\n}\n\n// Icon padding (padding + icon + gap)\nconst iconPaddingClasses = {\n xs: { left: 'pl-8', right: 'pr-8' }, // 12px + 14px icon + 6px gap = 32px\n sm: { left: 'pl-9', right: 'pr-9' }, // 12px + 14px icon + 8px gap = 34px → 36px\n default: { left: 'pl-10', right: 'pr-10' }, // 16px + 16px icon + 8px gap = 40px\n lg: { left: 'pl-10', right: 'pr-10' }, // 16px + 16px icon + 8px gap = 40px\n xl: { left: 'pl-10', right: 'pr-10' }, // 16px + 16px icon + 8px gap = 40px\n}\n\n// Icon position (matches horizontal padding)\nconst iconPositionClasses = {\n xs: { left: 'left-3', right: 'right-3' }, // 12px\n sm: { left: 'left-3', right: 'right-3' }, // 12px\n default: { left: 'left-4', right: 'right-4' }, // 16px\n lg: { left: 'left-4', right: 'right-4' }, // 16px\n xl: { left: 'left-4', right: 'right-4' }, // 16px\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, variant, size, radius, state, type, leftIcon, rightIcon, error, focusRing, id, onPointerDown, onFocus, onBlur, ...props }, ref) => {\n const fieldContext = useFieldContext()\n const resolvedSize = size || 'default'\n const resolvedError = error ?? fieldContext?.error\n const resolvedState = resolvedError ? 'error' : state\n const inputId = id ?? fieldContext?.id\n const isDisabled = props.disabled ?? fieldContext?.disabled\n\n // Keyboard focus detection (when focusRing: false, auto-show ring on Tab navigation)\n const pointerRef = React.useRef(false)\n const windowBlurredRef = React.useRef(false)\n const [keyboardFocus, setKeyboardFocus] = React.useState(false)\n\n // Track window blur/focus to distinguish Tab navigation from window re-activation\n React.useEffect(() => {\n const onBlur = () => { windowBlurredRef.current = true }\n const onFocus = () => { requestAnimationFrame(() => { windowBlurredRef.current = false }) }\n window.addEventListener('blur', onBlur)\n window.addEventListener('focus', onFocus)\n return () => { window.removeEventListener('blur', onBlur); window.removeEventListener('focus', onFocus) }\n }, [])\n\n const handlePointerDown = React.useCallback((e: React.PointerEvent<HTMLInputElement>) => {\n pointerRef.current = true\n onPointerDown?.(e)\n }, [onPointerDown])\n\n const handleFocus = React.useCallback((e: React.FocusEvent<HTMLInputElement>) => {\n if (!pointerRef.current && !focusRing && !windowBlurredRef.current) {\n setKeyboardFocus(true)\n }\n pointerRef.current = false\n onFocus?.(e)\n }, [focusRing, onFocus])\n\n const handleBlur = React.useCallback((e: React.FocusEvent<HTMLInputElement>) => {\n setKeyboardFocus(false)\n pointerRef.current = false\n onBlur?.(e)\n }, [onBlur])\n\n // Build aria-describedby from context\n const ariaDescribedBy = fieldContext\n ? [\n resolvedError ? `${fieldContext.id}-error` : null,\n ]\n .filter(Boolean)\n .join(' ') || undefined\n : undefined\n\n const focusHandlers = {\n onPointerDown: handlePointerDown,\n onFocus: handleFocus,\n onBlur: handleBlur,\n }\n\n // If icons are present, wrap input in a container\n if (leftIcon || rightIcon) {\n return (\n <div className=\"relative w-full\">\n {leftIcon && (\n <div className={cn(\n 'absolute top-1/2 -translate-y-1/2 pointer-events-none text-text-muted z-10',\n iconPositionClasses[resolvedSize].left,\n `[&>svg]:${iconSizeClasses[resolvedSize]}`\n )}>\n {leftIcon}\n </div>\n )}\n <input\n type={type}\n id={inputId}\n className={cn(\n inputVariants({ variant, size, radius, state: resolvedState, focusRing }),\n keyboardFocus && 'shadow-[0_0_0_2px_var(--color-focus-ring)]',\n leftIcon && iconPaddingClasses[resolvedSize].left,\n rightIcon && iconPaddingClasses[resolvedSize].right,\n className\n )}\n aria-invalid={resolvedError || undefined}\n aria-describedby={ariaDescribedBy}\n disabled={isDisabled}\n ref={ref}\n {...focusHandlers}\n {...props}\n />\n {rightIcon && (\n <div className={cn(\n 'absolute top-1/2 -translate-y-1/2 pointer-events-none text-text-muted z-10',\n iconPositionClasses[resolvedSize].right,\n `[&>svg]:${iconSizeClasses[resolvedSize]}`\n )}>\n {rightIcon}\n </div>\n )}\n </div>\n )\n }\n\n return (\n <input\n type={type}\n id={inputId}\n className={cn(\n inputVariants({ variant, size, radius, state: resolvedState, focusRing }),\n keyboardFocus && 'shadow-[0_0_0_2px_var(--color-focus-ring)]',\n className\n )}\n aria-invalid={resolvedError || undefined}\n aria-describedby={ariaDescribedBy}\n disabled={isDisabled}\n ref={ref}\n {...focusHandlers}\n {...props}\n />\n )\n }\n)\nInput.displayName = 'Input'\n\nexport { Input, inputVariants }\n"],"mappings":"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","names":["onBlur","onFocus"]}
|