@kimdw-rtk/ui 0.0.0 → 0.0.3
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/components/Accordion/Accordion.css.d.ts +16 -0
- package/dist/components/Accordion/Accordion.css.d.ts.map +1 -0
- package/dist/components/Accordion/Accordion.css.js +24 -0
- package/dist/components/Accordion/Accordion.d.ts +8 -0
- package/dist/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/components/Accordion/Accordion.js +12 -0
- package/dist/components/Accordion/Accordion.spec.d.ts +2 -0
- package/dist/components/Accordion/Accordion.spec.d.ts.map +1 -0
- package/{src/components/Accordion/Accordion.spec.tsx → dist/components/Accordion/Accordion.spec.js} +5 -6
- package/dist/components/Accordion/AccordionContent.css.d.ts +13 -0
- package/dist/components/Accordion/AccordionContent.css.d.ts.map +1 -0
- package/dist/components/Accordion/AccordionContent.css.js +22 -0
- package/dist/components/Accordion/AccordionContent.d.ts +7 -0
- package/dist/components/Accordion/AccordionContent.d.ts.map +1 -0
- package/dist/components/Accordion/AccordionContent.js +56 -0
- package/dist/components/Accordion/AccordionContext.d.ts +7 -0
- package/dist/components/Accordion/AccordionContext.d.ts.map +1 -0
- package/dist/components/Accordion/AccordionContext.js +5 -0
- package/dist/components/Accordion/AccordionTrigger.css.d.ts +19 -0
- package/dist/components/Accordion/AccordionTrigger.css.d.ts.map +1 -0
- package/dist/components/Accordion/AccordionTrigger.css.js +39 -0
- package/dist/components/Accordion/AccordionTrigger.d.ts +8 -0
- package/dist/components/Accordion/AccordionTrigger.d.ts.map +1 -0
- package/dist/components/Accordion/AccordionTrigger.js +14 -0
- package/dist/components/Accordion/index.d.ts +4 -0
- package/dist/components/Accordion/index.d.ts.map +1 -0
- package/{src/components/Accordion/index.ts → dist/components/Accordion/index.js} +3 -3
- package/dist/components/Alert/index.d.ts +7 -0
- package/dist/components/Alert/index.d.ts.map +1 -0
- package/dist/components/Alert/index.js +9 -0
- package/dist/components/Box/Box.css.d.ts +13 -0
- package/dist/components/Box/Box.css.d.ts.map +1 -0
- package/dist/components/Box/Box.css.js +16 -0
- package/dist/components/Box/Box.spec.d.ts +2 -0
- package/dist/components/Box/Box.spec.d.ts.map +1 -0
- package/{src/components/Box/Box.spec.tsx → dist/components/Box/Box.spec.js} +5 -6
- package/dist/components/Box/index.d.ts +7 -0
- package/dist/components/Box/index.d.ts.map +1 -0
- package/dist/components/Box/index.js +10 -0
- package/dist/components/Button/Button.css.d.ts +146 -0
- package/dist/components/Button/Button.css.d.ts.map +1 -0
- package/dist/components/Button/Button.css.js +182 -0
- package/dist/components/Button/Button.spec.d.ts +2 -0
- package/dist/components/Button/Button.spec.d.ts.map +1 -0
- package/dist/components/Button/Button.spec.js +19 -0
- package/dist/components/Button/index.d.ts +9 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Button/index.js +19 -0
- package/dist/components/Card/Card.css.d.ts +61 -0
- package/dist/components/Card/Card.css.d.ts.map +1 -0
- package/dist/components/Card/Card.css.js +68 -0
- package/dist/components/Card/Card.d.ts +10 -0
- package/dist/components/Card/Card.d.ts.map +1 -0
- package/dist/components/Card/Card.js +10 -0
- package/dist/components/Card/Card.spec.d.ts +2 -0
- package/dist/components/Card/Card.spec.d.ts.map +1 -0
- package/dist/components/Card/Card.spec.js +16 -0
- package/dist/components/Card/CardContent.css.d.ts +2 -0
- package/dist/components/Card/CardContent.css.d.ts.map +1 -0
- package/{src/components/Card/CardContent.css.ts → dist/components/Card/CardContent.css.js} +6 -8
- package/dist/components/Card/CardContent.d.ts +5 -0
- package/dist/components/Card/CardContent.d.ts.map +1 -0
- package/dist/components/Card/CardContent.js +9 -0
- package/dist/components/Card/CardInteraction.css.d.ts +2 -0
- package/dist/components/Card/CardInteraction.css.d.ts.map +1 -0
- package/dist/components/Card/CardInteraction.css.js +8 -0
- package/dist/components/Card/CardInteraction.d.ts +5 -0
- package/dist/components/Card/CardInteraction.d.ts.map +1 -0
- package/dist/components/Card/CardInteraction.js +12 -0
- package/dist/components/Card/CardThumbnail.css.d.ts +2 -0
- package/dist/components/Card/CardThumbnail.css.d.ts.map +1 -0
- package/{src/components/Card/CardThumbnail.css.ts → dist/components/Card/CardThumbnail.css.js} +5 -6
- package/dist/components/Card/CardThumbnail.d.ts +5 -0
- package/dist/components/Card/CardThumbnail.d.ts.map +1 -0
- package/dist/components/Card/CardThumbnail.js +9 -0
- package/dist/components/Card/index.d.ts +5 -0
- package/dist/components/Card/index.d.ts.map +1 -0
- package/{src/components/Card/index.ts → dist/components/Card/index.js} +4 -4
- package/dist/components/Chip/Chip.css.d.ts +46 -0
- package/dist/components/Chip/Chip.css.d.ts.map +1 -0
- package/dist/components/Chip/Chip.css.js +56 -0
- package/dist/components/Chip/Chip.d.ts +6 -0
- package/dist/components/Chip/Chip.d.ts.map +1 -0
- package/dist/components/Chip/Chip.js +10 -0
- package/dist/components/Chip/Chip.spec.d.ts +2 -0
- package/dist/components/Chip/Chip.spec.d.ts.map +1 -0
- package/{src/components/Chip/Chip.spec.tsx → dist/components/Chip/Chip.spec.js} +5 -6
- package/dist/components/Chip/index.d.ts +2 -0
- package/dist/components/Chip/index.d.ts.map +1 -0
- package/{src/components/Chip/index.ts → dist/components/Chip/index.js} +1 -1
- package/dist/components/Confirm/index.d.ts +12 -0
- package/dist/components/Confirm/index.d.ts.map +1 -0
- package/dist/components/Confirm/index.js +13 -0
- package/dist/components/Dialog/Dialog.css.d.ts +3 -0
- package/dist/components/Dialog/Dialog.css.d.ts.map +1 -0
- package/dist/components/Dialog/Dialog.css.js +19 -0
- package/dist/components/Dialog/Dialog.d.ts +5 -0
- package/dist/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/components/Dialog/Dialog.js +10 -0
- package/dist/components/Dialog/Dialog.spec.d.ts +2 -0
- package/dist/components/Dialog/Dialog.spec.d.ts.map +1 -0
- package/dist/components/Dialog/Dialog.spec.js +16 -0
- package/dist/components/Dialog/DialogContent.css.d.ts +2 -0
- package/dist/components/Dialog/DialogContent.css.d.ts.map +1 -0
- package/dist/components/Dialog/DialogContent.css.js +12 -0
- package/dist/components/Dialog/DialogContent.d.ts +5 -0
- package/dist/components/Dialog/DialogContent.d.ts.map +1 -0
- package/dist/components/Dialog/DialogContent.js +10 -0
- package/dist/components/Dialog/DialogFooter.css.d.ts +3 -0
- package/dist/components/Dialog/DialogFooter.css.d.ts.map +1 -0
- package/dist/components/Dialog/DialogFooter.css.js +15 -0
- package/dist/components/Dialog/DialogFooter.d.ts +5 -0
- package/dist/components/Dialog/DialogFooter.d.ts.map +1 -0
- package/dist/components/Dialog/DialogFooter.js +9 -0
- package/dist/components/Dialog/DialogHeader.css.d.ts +3 -0
- package/dist/components/Dialog/DialogHeader.css.d.ts.map +1 -0
- package/dist/components/Dialog/DialogHeader.css.js +23 -0
- package/dist/components/Dialog/DialogHeader.d.ts +7 -0
- package/dist/components/Dialog/DialogHeader.d.ts.map +1 -0
- package/dist/components/Dialog/DialogHeader.js +11 -0
- package/dist/components/Dialog/index.d.ts +5 -0
- package/dist/components/Dialog/index.d.ts.map +1 -0
- package/{src/components/Dialog/index.ts → dist/components/Dialog/index.js} +4 -4
- package/dist/components/Navigation/Navigation.spec.d.ts +2 -0
- package/dist/components/Navigation/Navigation.spec.d.ts.map +1 -0
- package/dist/components/Navigation/Navigation.spec.js +11 -0
- package/dist/components/Navigation/NavigationAside.css.d.ts +2 -0
- package/dist/components/Navigation/NavigationAside.css.d.ts.map +1 -0
- package/{src/components/Navigation/NavigationAside.css.ts → dist/components/Navigation/NavigationAside.css.js} +6 -7
- package/dist/components/Navigation/NavigationAside.d.ts +5 -0
- package/dist/components/Navigation/NavigationAside.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationAside.js +10 -0
- package/dist/components/Navigation/NavigationBar.css.d.ts +15 -0
- package/dist/components/Navigation/NavigationBar.css.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationBar.css.js +32 -0
- package/dist/components/Navigation/NavigationBar.d.ts +6 -0
- package/dist/components/Navigation/NavigationBar.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationBar.js +10 -0
- package/dist/components/Navigation/NavigationContainer.css.d.ts +2 -0
- package/dist/components/Navigation/NavigationContainer.css.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationContainer.css.js +9 -0
- package/dist/components/Navigation/NavigationContainer.d.ts +5 -0
- package/dist/components/Navigation/NavigationContainer.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationContainer.js +9 -0
- package/dist/components/Navigation/NavigationDrawer.css.d.ts +14 -0
- package/dist/components/Navigation/NavigationDrawer.css.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationDrawer.css.js +49 -0
- package/dist/components/Navigation/NavigationDrawer.d.ts +8 -0
- package/dist/components/Navigation/NavigationDrawer.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationDrawer.js +23 -0
- package/dist/components/Navigation/NavigationItem.css.d.ts +11 -0
- package/dist/components/Navigation/NavigationItem.css.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationItem.css.js +34 -0
- package/dist/components/Navigation/NavigationItem.d.ts +6 -0
- package/dist/components/Navigation/NavigationItem.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationItem.js +9 -0
- package/dist/components/Navigation/NavigationLogo.css.d.ts +2 -0
- package/dist/components/Navigation/NavigationLogo.css.d.ts.map +1 -0
- package/{src/components/Navigation/NavigationLogo.css.ts → dist/components/Navigation/NavigationLogo.css.js} +4 -5
- package/dist/components/Navigation/NavigationLogo.d.ts +5 -0
- package/dist/components/Navigation/NavigationLogo.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationLogo.js +9 -0
- package/dist/components/Navigation/NavigationMenu.css.d.ts +2 -0
- package/dist/components/Navigation/NavigationMenu.css.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationMenu.css.js +19 -0
- package/dist/components/Navigation/NavigationMenu.d.ts +6 -0
- package/dist/components/Navigation/NavigationMenu.d.ts.map +1 -0
- package/dist/components/Navigation/NavigationMenu.js +10 -0
- package/dist/components/Navigation/index.d.ts +8 -0
- package/dist/components/Navigation/index.d.ts.map +1 -0
- package/{src/components/Navigation/index.ts → dist/components/Navigation/index.js} +7 -7
- package/dist/components/Range/Range.css.d.ts +49 -0
- package/dist/components/Range/Range.css.d.ts.map +1 -0
- package/dist/components/Range/Range.css.js +93 -0
- package/dist/components/Range/Range.d.ts +12 -0
- package/dist/components/Range/Range.d.ts.map +1 -0
- package/dist/components/Range/Range.js +37 -0
- package/dist/components/Range/Range.spec.d.ts +2 -0
- package/dist/components/Range/Range.spec.d.ts.map +1 -0
- package/{src/components/Range/Range.spec.tsx → dist/components/Range/Range.spec.js} +5 -6
- package/dist/components/Range/index.d.ts +2 -0
- package/dist/components/Range/index.d.ts.map +1 -0
- package/{src/components/Range/index.ts → dist/components/Range/index.js} +1 -1
- package/dist/components/ScrollArea/ScrollArea.css.d.ts +6 -0
- package/dist/components/ScrollArea/ScrollArea.css.d.ts.map +1 -0
- package/{src/components/ScrollArea/ScrollArea.css.ts → dist/components/ScrollArea/ScrollArea.css.js} +32 -40
- package/dist/components/ScrollArea/ScrollArea.d.ts +6 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.js +34 -0
- package/dist/components/ScrollArea/ScrollArea.spec.d.ts +2 -0
- package/dist/components/ScrollArea/ScrollArea.spec.d.ts.map +1 -0
- package/{src/components/ScrollArea/ScrollArea.spec.tsx → dist/components/ScrollArea/ScrollArea.spec.js} +5 -6
- package/dist/components/ScrollArea/index.d.ts +2 -0
- package/dist/components/ScrollArea/index.d.ts.map +1 -0
- package/{src/components/ScrollArea/index.ts → dist/components/ScrollArea/index.js} +1 -1
- package/dist/components/Select/Select.css.d.ts +14 -0
- package/dist/components/Select/Select.css.d.ts.map +1 -0
- package/dist/components/Select/Select.css.js +20 -0
- package/dist/components/Select/Select.d.ts +17 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/Select.js +46 -0
- package/dist/components/Select/Select.spec.d.ts +2 -0
- package/dist/components/Select/Select.spec.d.ts.map +1 -0
- package/dist/components/Select/Select.spec.js +35 -0
- package/dist/components/Select/SelectContext.d.ts +34 -0
- package/dist/components/Select/SelectContext.d.ts.map +1 -0
- package/dist/components/Select/SelectContext.js +30 -0
- package/dist/components/Select/SelectOption.css.d.ts +2 -0
- package/dist/components/Select/SelectOption.css.d.ts.map +1 -0
- package/dist/components/Select/SelectOption.css.js +10 -0
- package/dist/components/Select/SelectOption.d.ts +8 -0
- package/dist/components/Select/SelectOption.d.ts.map +1 -0
- package/dist/components/Select/SelectOption.js +23 -0
- package/dist/components/Select/SelectOptionList.css.d.ts +19 -0
- package/dist/components/Select/SelectOptionList.css.d.ts.map +1 -0
- package/dist/components/Select/SelectOptionList.css.js +55 -0
- package/dist/components/Select/SelectOptionList.d.ts +7 -0
- package/dist/components/Select/SelectOptionList.d.ts.map +1 -0
- package/dist/components/Select/SelectOptionList.js +33 -0
- package/dist/components/Select/SelectTrigger.css.d.ts +34 -0
- package/dist/components/Select/SelectTrigger.css.d.ts.map +1 -0
- package/dist/components/Select/SelectTrigger.css.js +59 -0
- package/dist/components/Select/SelectTrigger.d.ts +6 -0
- package/dist/components/Select/SelectTrigger.d.ts.map +1 -0
- package/dist/components/Select/SelectTrigger.js +19 -0
- package/dist/components/Select/index.d.ts +3 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/{src/components/Select/index.tsx → dist/components/Select/index.js} +2 -2
- package/dist/components/Skeleton/Skeleton.css.d.ts +2 -0
- package/dist/components/Skeleton/Skeleton.css.d.ts.map +1 -0
- package/dist/components/Skeleton/Skeleton.css.js +19 -0
- package/dist/components/Skeleton/Skeleton.spec.d.ts +2 -0
- package/dist/components/Skeleton/Skeleton.spec.d.ts.map +1 -0
- package/{src/components/Skeleton/Skeleton.spec.tsx → dist/components/Skeleton/Skeleton.spec.js} +5 -6
- package/dist/components/Skeleton/index.d.ts +9 -0
- package/dist/components/Skeleton/index.d.ts.map +1 -0
- package/dist/components/Skeleton/index.js +9 -0
- package/dist/components/Table/Table.css.d.ts +3 -0
- package/dist/components/Table/Table.css.d.ts.map +1 -0
- package/{src/components/Table/Table.css.ts → dist/components/Table/Table.css.js} +7 -10
- package/dist/components/Table/Table.d.ts +8 -0
- package/dist/components/Table/Table.d.ts.map +1 -0
- package/dist/components/Table/Table.js +10 -0
- package/dist/components/Table/Table.spec.d.ts +2 -0
- package/dist/components/Table/Table.spec.d.ts.map +1 -0
- package/dist/components/Table/Table.spec.js +10 -0
- package/dist/components/Table/TableBody.d.ts +5 -0
- package/dist/components/Table/TableBody.d.ts.map +1 -0
- package/dist/components/Table/TableBody.js +6 -0
- package/dist/components/Table/TableCell.css.d.ts +2 -0
- package/dist/components/Table/TableCell.css.d.ts.map +1 -0
- package/dist/components/Table/TableCell.css.js +32 -0
- package/dist/components/Table/TableCell.d.ts +9 -0
- package/dist/components/Table/TableCell.d.ts.map +1 -0
- package/dist/components/Table/TableCell.js +8 -0
- package/dist/components/Table/TableHead.css.d.ts +2 -0
- package/dist/components/Table/TableHead.css.d.ts.map +1 -0
- package/dist/components/Table/TableHead.css.js +8 -0
- package/dist/components/Table/TableHead.d.ts +9 -0
- package/dist/components/Table/TableHead.d.ts.map +1 -0
- package/dist/components/Table/TableHead.js +8 -0
- package/dist/components/Table/TableHeader.d.ts +5 -0
- package/dist/components/Table/TableHeader.d.ts.map +1 -0
- package/dist/components/Table/TableHeader.js +6 -0
- package/dist/components/Table/TableRow.css.d.ts +2 -0
- package/dist/components/Table/TableRow.css.d.ts.map +1 -0
- package/{src/components/Table/TableRow.css.ts → dist/components/Table/TableRow.css.js} +2 -3
- package/dist/components/Table/TableRow.d.ts +7 -0
- package/dist/components/Table/TableRow.d.ts.map +1 -0
- package/dist/components/Table/TableRow.js +7 -0
- package/dist/components/Table/index.d.ts +7 -0
- package/dist/components/Table/index.d.ts.map +1 -0
- package/{src/components/Table/index.ts → dist/components/Table/index.js} +6 -6
- package/dist/components/Tabs/Tabs.d.ts +7 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.js +11 -0
- package/dist/components/Tabs/Tabs.spec.d.ts +2 -0
- package/dist/components/Tabs/Tabs.spec.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.spec.js +22 -0
- package/dist/components/Tabs/TabsContent.d.ts +9 -0
- package/dist/components/Tabs/TabsContent.d.ts.map +1 -0
- package/dist/components/Tabs/TabsContent.js +17 -0
- package/dist/components/Tabs/TabsList.css.d.ts +2 -0
- package/dist/components/Tabs/TabsList.css.d.ts.map +1 -0
- package/dist/components/Tabs/TabsList.css.js +8 -0
- package/dist/components/Tabs/TabsList.d.ts +5 -0
- package/dist/components/Tabs/TabsList.d.ts.map +1 -0
- package/dist/components/Tabs/TabsList.js +9 -0
- package/dist/components/Tabs/TabsProvider.d.ts +9 -0
- package/dist/components/Tabs/TabsProvider.d.ts.map +1 -0
- package/dist/components/Tabs/TabsProvider.js +6 -0
- package/dist/components/Tabs/TabsTrigger.css.d.ts +13 -0
- package/dist/components/Tabs/TabsTrigger.css.d.ts.map +1 -0
- package/dist/components/Tabs/TabsTrigger.css.js +29 -0
- package/dist/components/Tabs/TabsTrigger.d.ts +7 -0
- package/dist/components/Tabs/TabsTrigger.d.ts.map +1 -0
- package/dist/components/Tabs/TabsTrigger.js +19 -0
- package/dist/components/Tabs/index.d.ts +5 -0
- package/dist/components/Tabs/index.d.ts.map +1 -0
- package/{src/components/Tabs/index.ts → dist/components/Tabs/index.js} +4 -4
- package/dist/components/TextField/TextField.css.d.ts +49 -0
- package/dist/components/TextField/TextField.css.d.ts.map +1 -0
- package/dist/components/TextField/TextField.css.js +59 -0
- package/dist/components/TextField/TextField.spec.d.ts +2 -0
- package/dist/components/TextField/TextField.spec.d.ts.map +1 -0
- package/{src/components/TextField/TextField.spec.tsx → dist/components/TextField/TextField.spec.js} +5 -6
- package/dist/components/TextField/index.d.ts +8 -0
- package/dist/components/TextField/index.d.ts.map +1 -0
- package/dist/components/TextField/index.js +10 -0
- package/dist/components/Toast/Toast.css.d.ts +26 -0
- package/dist/components/Toast/Toast.css.d.ts.map +1 -0
- package/dist/components/Toast/Toast.css.js +62 -0
- package/dist/components/Toast/Toast.spec.d.ts +2 -0
- package/dist/components/Toast/Toast.spec.d.ts.map +1 -0
- package/{src/components/Toast/Toast.spec.tsx → dist/components/Toast/Toast.spec.js} +5 -6
- package/dist/components/Toast/index.d.ts +8 -0
- package/dist/components/Toast/index.d.ts.map +1 -0
- package/dist/components/Toast/index.js +13 -0
- package/dist/components/Typography/Typography.css.d.ts +10 -0
- package/dist/components/Typography/Typography.css.d.ts.map +1 -0
- package/dist/components/Typography/Typography.css.js +15 -0
- package/dist/components/Typography/Typography.spec.d.ts +2 -0
- package/dist/components/Typography/Typography.spec.d.ts.map +1 -0
- package/dist/components/Typography/Typography.spec.js +28 -0
- package/dist/components/Typography/index.d.ts +14 -0
- package/dist/components/Typography/index.d.ts.map +1 -0
- package/dist/components/Typography/index.js +11 -0
- package/dist/components/index.d.ts +19 -0
- package/dist/components/index.d.ts.map +1 -0
- package/{src/components/index.ts → dist/components/index.js} +18 -18
- package/dist/contexts/UIProvider.d.ts +9 -0
- package/dist/contexts/UIProvider.d.ts.map +1 -0
- package/dist/contexts/UIProvider.js +8 -0
- package/dist/contexts/index.d.ts +2 -0
- package/dist/contexts/index.d.ts.map +1 -0
- package/{src/contexts/index.ts → dist/contexts/index.js} +1 -1
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/{src/hooks/index.ts → dist/hooks/index.js} +5 -5
- package/dist/hooks/useDialog/index.d.ts +6 -0
- package/dist/hooks/useDialog/index.d.ts.map +1 -0
- package/dist/hooks/useDialog/index.js +28 -0
- package/dist/hooks/useDialog/useDialog.spec.d.ts +2 -0
- package/dist/hooks/useDialog/useDialog.spec.d.ts.map +1 -0
- package/dist/hooks/useDialog/useDialog.spec.js +53 -0
- package/dist/hooks/useMouseScroll/index.d.ts +5 -0
- package/dist/hooks/useMouseScroll/index.d.ts.map +1 -0
- package/dist/hooks/useMouseScroll/index.js +47 -0
- package/dist/hooks/usePointerSlider/index.d.ts +6 -0
- package/dist/hooks/usePointerSlider/index.d.ts.map +1 -0
- package/dist/hooks/usePointerSlider/index.js +44 -0
- package/dist/hooks/useRipple/index.d.ts +4 -0
- package/dist/hooks/useRipple/index.d.ts.map +1 -0
- package/dist/hooks/useRipple/index.js +111 -0
- package/dist/hooks/useRipple/ripple.css.d.ts +13 -0
- package/dist/hooks/useRipple/ripple.css.d.ts.map +1 -0
- package/dist/hooks/useRipple/ripple.css.js +30 -0
- package/dist/hooks/useToast/ToastContainer.css.d.ts +2 -0
- package/dist/hooks/useToast/ToastContainer.css.d.ts.map +1 -0
- package/dist/hooks/useToast/ToastContainer.css.js +10 -0
- package/dist/hooks/useToast/ToastContainer.d.ts +7 -0
- package/dist/hooks/useToast/ToastContainer.d.ts.map +1 -0
- package/dist/hooks/useToast/ToastContainer.js +5 -0
- package/dist/hooks/useToast/ToastProvider.d.ts +22 -0
- package/dist/hooks/useToast/ToastProvider.d.ts.map +1 -0
- package/dist/hooks/useToast/ToastProvider.js +47 -0
- package/dist/hooks/useToast/index.d.ts +5 -0
- package/dist/hooks/useToast/index.d.ts.map +1 -0
- package/dist/hooks/useToast/index.js +10 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/{src/index.ts → dist/index.js} +8 -8
- package/dist/styles/globalStyle.css.d.ts +2 -0
- package/dist/styles/globalStyle.css.d.ts.map +1 -0
- package/dist/styles/globalStyle.css.js +26 -0
- package/dist/styles/index.d.ts +5 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/{src/styles/index.ts → dist/styles/index.js} +4 -4
- package/dist/styles/layers.css.d.ts +3 -0
- package/dist/styles/layers.css.d.ts.map +1 -0
- package/{src/styles/layers.css.ts → dist/styles/layers.css.js} +3 -4
- package/dist/styles/overlay.css.d.ts +4 -0
- package/dist/styles/overlay.css.d.ts.map +1 -0
- package/dist/styles/overlay.css.js +31 -0
- package/dist/styles/sprinkles.css.d.ts +3954 -0
- package/dist/styles/sprinkles.css.d.ts.map +1 -0
- package/dist/styles/sprinkles.css.js +118 -0
- package/dist/styles/sx.d.ts +3 -0
- package/dist/styles/sx.d.ts.map +1 -0
- package/dist/styles/sx.js +10 -0
- package/dist/tests/uiTest.d.ts +3 -0
- package/dist/tests/uiTest.d.ts.map +1 -0
- package/dist/tests/uiTest.js +36 -0
- package/dist/themes/darkTheme.css.d.ts +314 -0
- package/dist/themes/darkTheme.css.d.ts.map +1 -0
- package/dist/themes/darkTheme.css.js +29 -0
- package/dist/themes/index.d.ts +4 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/{src/themes/index.ts → dist/themes/index.js} +3 -3
- package/dist/themes/lightTheme.css.d.ts +314 -0
- package/dist/themes/lightTheme.css.d.ts.map +1 -0
- package/dist/themes/lightTheme.css.js +29 -0
- package/dist/themes/theme.css.d.ts +314 -0
- package/dist/themes/theme.css.d.ts.map +1 -0
- package/dist/themes/theme.css.js +21 -0
- package/dist/tokens/index.d.ts +6 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/{src/tokens/index.ts → dist/tokens/index.js} +5 -5
- package/dist/tokens/scale/color.d.ts +579 -0
- package/dist/tokens/scale/color.d.ts.map +1 -0
- package/dist/tokens/scale/color.js +600 -0
- package/dist/tokens/semantic/breakpoint.d.ts +7 -0
- package/dist/tokens/semantic/breakpoint.d.ts.map +1 -0
- package/dist/tokens/semantic/breakpoint.js +6 -0
- package/dist/tokens/semantic/color.d.ts +2 -0
- package/dist/tokens/semantic/color.d.ts.map +1 -0
- package/dist/tokens/semantic/color.js +10 -0
- package/dist/tokens/semantic/spacing.d.ts +10 -0
- package/dist/tokens/semantic/spacing.d.ts.map +1 -0
- package/dist/tokens/semantic/spacing.js +9 -0
- package/dist/tokens/semantic/typography.d.ts +33 -0
- package/dist/tokens/semantic/typography.d.ts.map +1 -0
- package/dist/tokens/semantic/typography.js +32 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/{src/types/index.ts → dist/types/index.js} +1 -1
- package/{src/types/ui.types.ts → dist/types/ui.types.d.ts} +15 -26
- package/dist/types/ui.types.d.ts.map +1 -0
- package/dist/types/ui.types.js +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/{src/utils/index.ts → dist/utils/index.js} +1 -1
- package/dist/utils/sprinklesUtils.d.ts +10 -0
- package/dist/utils/sprinklesUtils.d.ts.map +1 -0
- package/dist/utils/sprinklesUtils.js +19 -0
- package/dist/utils/styleUtils.css.d.ts +23 -0
- package/dist/utils/styleUtils.css.d.ts.map +1 -0
- package/dist/utils/styleUtils.css.js +61 -0
- package/package.json +8 -3
- package/.babelrc +0 -12
- package/.turbo/turbo-check-types.log +0 -2
- package/.turbo/turbo-lint.log +0 -12
- package/.turbo/turbo-test.log +0 -4084
- package/.vscode/settings.json +0 -4
- package/eslint.config.mjs +0 -4
- package/jest.config.json +0 -10
- package/jest.setup.js +0 -2
- package/src/components/Accordion/Accordion.css.ts +0 -29
- package/src/components/Accordion/Accordion.tsx +0 -44
- package/src/components/Accordion/AccordionContent.css.ts +0 -29
- package/src/components/Accordion/AccordionContent.tsx +0 -87
- package/src/components/Accordion/AccordionContext.ts +0 -9
- package/src/components/Accordion/AccordionTrigger.css.ts +0 -46
- package/src/components/Accordion/AccordionTrigger.tsx +0 -41
- package/src/components/Alert/index.tsx +0 -25
- package/src/components/Box/Box.css.ts +0 -18
- package/src/components/Box/index.tsx +0 -41
- package/src/components/Button/Button.css.ts +0 -241
- package/src/components/Button/Button.spec.tsx +0 -30
- package/src/components/Button/index.tsx +0 -60
- package/src/components/Card/Card.css.ts +0 -93
- package/src/components/Card/Card.spec.tsx +0 -24
- package/src/components/Card/Card.tsx +0 -41
- package/src/components/Card/CardContent.tsx +0 -23
- package/src/components/Card/CardInteraction.css.ts +0 -11
- package/src/components/Card/CardInteraction.tsx +0 -36
- package/src/components/Card/CardThumbnail.tsx +0 -23
- package/src/components/Chip/Chip.css.ts +0 -75
- package/src/components/Chip/Chip.tsx +0 -37
- package/src/components/Confirm/index.tsx +0 -44
- package/src/components/Dialog/Dialog.css.ts +0 -25
- package/src/components/Dialog/Dialog.spec.tsx +0 -26
- package/src/components/Dialog/Dialog.tsx +0 -30
- package/src/components/Dialog/DialogContent.css.ts +0 -16
- package/src/components/Dialog/DialogContent.tsx +0 -26
- package/src/components/Dialog/DialogFooter.css.ts +0 -20
- package/src/components/Dialog/DialogFooter.tsx +0 -26
- package/src/components/Dialog/DialogHeader.css.ts +0 -31
- package/src/components/Dialog/DialogHeader.tsx +0 -37
- package/src/components/Navigation/Navigation.spec.tsx +0 -19
- package/src/components/Navigation/NavigationAside.tsx +0 -23
- package/src/components/Navigation/NavigationBar.css.ts +0 -42
- package/src/components/Navigation/NavigationBar.tsx +0 -25
- package/src/components/Navigation/NavigationContainer.css.ts +0 -11
- package/src/components/Navigation/NavigationContainer.tsx +0 -26
- package/src/components/Navigation/NavigationDrawer.css.ts +0 -61
- package/src/components/Navigation/NavigationDrawer.tsx +0 -67
- package/src/components/Navigation/NavigationItem.css.ts +0 -43
- package/src/components/Navigation/NavigationItem.tsx +0 -24
- package/src/components/Navigation/NavigationLogo.tsx +0 -28
- package/src/components/Navigation/NavigationMenu.css.ts +0 -23
- package/src/components/Navigation/NavigationMenu.tsx +0 -25
- package/src/components/Range/Range.css.ts +0 -132
- package/src/components/Range/Range.tsx +0 -90
- package/src/components/ScrollArea/ScrollArea.tsx +0 -68
- package/src/components/Select/Select.css.ts +0 -22
- package/src/components/Select/Select.spec.tsx +0 -65
- package/src/components/Select/Select.tsx +0 -111
- package/src/components/Select/SelectContext.ts +0 -59
- package/src/components/Select/SelectOption.css.ts +0 -14
- package/src/components/Select/SelectOption.tsx +0 -40
- package/src/components/Select/SelectOptionList.css.ts +0 -68
- package/src/components/Select/SelectOptionList.tsx +0 -59
- package/src/components/Select/SelectTrigger.css.ts +0 -73
- package/src/components/Select/SelectTrigger.tsx +0 -49
- package/src/components/Skeleton/Skeleton.css.ts +0 -26
- package/src/components/Skeleton/index.tsx +0 -27
- package/src/components/Table/Table.spec.tsx +0 -12
- package/src/components/Table/Table.tsx +0 -27
- package/src/components/Table/TableBody.tsx +0 -14
- package/src/components/Table/TableCell.css.ts +0 -43
- package/src/components/Table/TableCell.tsx +0 -30
- package/src/components/Table/TableHead.css.ts +0 -10
- package/src/components/Table/TableHead.tsx +0 -30
- package/src/components/Table/TableHeader.tsx +0 -14
- package/src/components/Table/TableRow.tsx +0 -24
- package/src/components/Tabs/Tabs.spec.tsx +0 -46
- package/src/components/Tabs/Tabs.tsx +0 -34
- package/src/components/Tabs/TabsContent.tsx +0 -32
- package/src/components/Tabs/TabsList.css.ts +0 -11
- package/src/components/Tabs/TabsList.tsx +0 -25
- package/src/components/Tabs/TabsProvider.tsx +0 -17
- package/src/components/Tabs/TabsTrigger.css.ts +0 -38
- package/src/components/Tabs/TabsTrigger.tsx +0 -43
- package/src/components/TextField/TextField.css.ts +0 -81
- package/src/components/TextField/index.tsx +0 -38
- package/src/components/Toast/Toast.css.ts +0 -79
- package/src/components/Toast/index.tsx +0 -48
- package/src/components/Typography/Typography.css.ts +0 -17
- package/src/components/Typography/Typography.spec.tsx +0 -35
- package/src/components/Typography/index.tsx +0 -57
- package/src/contexts/UIProvider.tsx +0 -30
- package/src/hooks/useDialog/index.tsx +0 -51
- package/src/hooks/useDialog/useDialog.spec.tsx +0 -80
- package/src/hooks/useMouseScroll/index.ts +0 -63
- package/src/hooks/usePointerSlider/index.ts +0 -79
- package/src/hooks/useRipple/index.tsx +0 -152
- package/src/hooks/useRipple/ripple.css.ts +0 -40
- package/src/hooks/useToast/ToastContainer.css.ts +0 -12
- package/src/hooks/useToast/ToastContainer.tsx +0 -11
- package/src/hooks/useToast/ToastProvider.tsx +0 -131
- package/src/hooks/useToast/index.ts +0 -15
- package/src/styles/globalStyle.css.ts +0 -36
- package/src/styles/overlay.css.ts +0 -40
- package/src/styles/sprinkles.css.ts +0 -149
- package/src/styles/sx.ts +0 -13
- package/src/tests/uiTest.tsx +0 -54
- package/src/themes/darkTheme.css.ts +0 -30
- package/src/themes/lightTheme.css.ts +0 -30
- package/src/themes/theme.css.ts +0 -32
- package/src/tokens/scale/color.ts +0 -604
- package/src/tokens/semantic/breakpoint.ts +0 -6
- package/src/tokens/semantic/color.ts +0 -10
- package/src/tokens/semantic/spacing.ts +0 -9
- package/src/tokens/semantic/typography.ts +0 -32
- package/src/utils/sprinklesUtils.ts +0 -28
- package/src/utils/styleUtils.css.ts +0 -109
- package/tsconfig.json +0 -11
- package/turbo/generators/config.ts +0 -30
- package/turbo/generators/templates/component.hbs +0 -8
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { forwardRef, useEffect, useRef, useState } from 'react';
|
|
4
|
-
|
|
5
|
-
import { useCombinedRefs } from '@kimdw-rtk/utils';
|
|
6
|
-
import clsx from 'clsx';
|
|
7
|
-
|
|
8
|
-
import { useMouseScroll } from '#hooks/useMouseScroll';
|
|
9
|
-
import { sx } from '#styles';
|
|
10
|
-
import type { UIComponent } from '#types';
|
|
11
|
-
|
|
12
|
-
import * as s from './ScrollArea.css';
|
|
13
|
-
|
|
14
|
-
type ScrollAreaProps = UIComponent<'div'>;
|
|
15
|
-
|
|
16
|
-
export const ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>(
|
|
17
|
-
({ children, className, sx: propSx, ...props }, ref) => {
|
|
18
|
-
const scrollAreaRef = useRef<HTMLDivElement>(null);
|
|
19
|
-
const targetRef = useCombinedRefs(ref, scrollAreaRef);
|
|
20
|
-
const [hasLeftSpace, setHasLeftSpace] = useState<boolean>(false);
|
|
21
|
-
const [hasRightSpace, setHasRightSpace] = useState<boolean>(true);
|
|
22
|
-
useMouseScroll(scrollAreaRef);
|
|
23
|
-
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
const element = scrollAreaRef.current;
|
|
26
|
-
|
|
27
|
-
if (element === null) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const handleScroll = () => {
|
|
32
|
-
setHasLeftSpace(element.scrollLeft !== 0);
|
|
33
|
-
setHasRightSpace(
|
|
34
|
-
Math.round(element.scrollLeft + element.clientWidth) <
|
|
35
|
-
element.scrollWidth,
|
|
36
|
-
);
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
handleScroll();
|
|
40
|
-
|
|
41
|
-
element.addEventListener('scroll', handleScroll);
|
|
42
|
-
|
|
43
|
-
return () => {
|
|
44
|
-
element.removeEventListener('scroll', handleScroll);
|
|
45
|
-
};
|
|
46
|
-
}, []);
|
|
47
|
-
|
|
48
|
-
return (
|
|
49
|
-
<div
|
|
50
|
-
ref={targetRef}
|
|
51
|
-
className={clsx(
|
|
52
|
-
s.scrollArea,
|
|
53
|
-
className,
|
|
54
|
-
sx(propSx),
|
|
55
|
-
hasLeftSpace && hasRightSpace && s.maskBoth,
|
|
56
|
-
hasLeftSpace && s.maskLeft,
|
|
57
|
-
hasRightSpace && s.maskRight,
|
|
58
|
-
)}
|
|
59
|
-
{...props}
|
|
60
|
-
>
|
|
61
|
-
<div className={s.wrapper}>{children}</div>
|
|
62
|
-
</div>
|
|
63
|
-
);
|
|
64
|
-
},
|
|
65
|
-
);
|
|
66
|
-
ScrollArea.displayName = 'ScrollArea';
|
|
67
|
-
|
|
68
|
-
export { s as scrollAreaCss };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { recipeWithLayer } from '#styleUtils';
|
|
2
|
-
import { typography } from '#tokens';
|
|
3
|
-
|
|
4
|
-
export const select = recipeWithLayer({
|
|
5
|
-
base: {
|
|
6
|
-
position: 'relative',
|
|
7
|
-
},
|
|
8
|
-
|
|
9
|
-
variants: {
|
|
10
|
-
size: {
|
|
11
|
-
sm: {
|
|
12
|
-
fontSize: typography.size.sm,
|
|
13
|
-
},
|
|
14
|
-
md: {
|
|
15
|
-
fontSize: typography.size.md,
|
|
16
|
-
},
|
|
17
|
-
lg: {
|
|
18
|
-
fontSize: typography.size.lg,
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
});
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { fireEvent, render, screen } from '@testing-library/react';
|
|
2
|
-
|
|
3
|
-
import { Select, SelectOption } from '.';
|
|
4
|
-
import { uiTest } from '../../tests/uiTest';
|
|
5
|
-
|
|
6
|
-
describe('Select 컴포넌트', () => {
|
|
7
|
-
uiTest(Select, 'Select');
|
|
8
|
-
|
|
9
|
-
it('클릭한 option의 내용이 Select에 보인다.', () => {
|
|
10
|
-
render(
|
|
11
|
-
<Select data-testid="select">
|
|
12
|
-
<SelectOption value="1">1번</SelectOption>
|
|
13
|
-
<SelectOption value="2">2번</SelectOption>
|
|
14
|
-
</Select>,
|
|
15
|
-
);
|
|
16
|
-
|
|
17
|
-
const select = screen.getByTestId('select');
|
|
18
|
-
|
|
19
|
-
fireEvent.click(screen.getByText('2번'));
|
|
20
|
-
expect(select).toHaveTextContent('2번');
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
it('새로운 option을 클릭하면 onChange 이벤트가 발생하고, form value, ref.value의 값이 바뀐다.', () => {
|
|
24
|
-
const handleChange = jest.fn();
|
|
25
|
-
|
|
26
|
-
render(
|
|
27
|
-
<form data-testid="form">
|
|
28
|
-
<Select data-testid="select" name="select" onChange={handleChange}>
|
|
29
|
-
<SelectOption value="1">1번</SelectOption>
|
|
30
|
-
<SelectOption value="2">2번</SelectOption>
|
|
31
|
-
</Select>
|
|
32
|
-
</form>,
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
const option2 = screen.getByText('2번');
|
|
36
|
-
const form = screen.getByTestId('form') as HTMLFormElement;
|
|
37
|
-
|
|
38
|
-
fireEvent.click(option2);
|
|
39
|
-
expect(handleChange).toHaveBeenCalledTimes(1);
|
|
40
|
-
expect(handleChange.mock.calls[0][0]).toBe('2');
|
|
41
|
-
expect(new FormData(form).get('select')).toBe('2');
|
|
42
|
-
|
|
43
|
-
fireEvent.click(option2);
|
|
44
|
-
expect(handleChange).toHaveBeenCalledTimes(1);
|
|
45
|
-
expect(new FormData(form).get('select')).toBe('2');
|
|
46
|
-
|
|
47
|
-
fireEvent.click(screen.getByText('1번'));
|
|
48
|
-
expect(handleChange).toHaveBeenCalledTimes(2);
|
|
49
|
-
expect(handleChange.mock.calls[1][0]).toBe('1');
|
|
50
|
-
expect(new FormData(form).get('select')).toBe('1');
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it('defaultValue의 값이 기본으로 보인다.', () => {
|
|
54
|
-
render(
|
|
55
|
-
<Select data-testid="select" defaultValue="2">
|
|
56
|
-
<SelectOption value="1">1번</SelectOption>
|
|
57
|
-
<SelectOption value="2">2번</SelectOption>
|
|
58
|
-
</Select>,
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
const select = screen.getByTestId('select');
|
|
62
|
-
|
|
63
|
-
expect(select).toHaveTextContent('2번');
|
|
64
|
-
});
|
|
65
|
-
});
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
forwardRef,
|
|
5
|
-
useEffect,
|
|
6
|
-
useReducer,
|
|
7
|
-
useRef,
|
|
8
|
-
type ComponentProps,
|
|
9
|
-
type CSSProperties,
|
|
10
|
-
type RefObject,
|
|
11
|
-
} from 'react';
|
|
12
|
-
|
|
13
|
-
import { useCombinedRefs } from '@kimdw-rtk/utils';
|
|
14
|
-
import clsx from 'clsx';
|
|
15
|
-
|
|
16
|
-
import { sx } from '#styles';
|
|
17
|
-
import type { UIComponent } from '#types';
|
|
18
|
-
|
|
19
|
-
import * as s from './Select.css';
|
|
20
|
-
import { SelectContext, selectReducer } from './SelectContext';
|
|
21
|
-
import SelectOptionList from './SelectOptionList';
|
|
22
|
-
import SelectTrigger from './SelectTrigger';
|
|
23
|
-
|
|
24
|
-
interface SelectProps
|
|
25
|
-
extends Omit<UIComponent<'div', typeof s.select>, 'ref' | 'onChange'> {
|
|
26
|
-
ref?: RefObject<{ value?: string } | null>;
|
|
27
|
-
name?: string;
|
|
28
|
-
width?: CSSProperties['width'];
|
|
29
|
-
defaultValue?: string;
|
|
30
|
-
variant?: ComponentProps<typeof SelectTrigger>['variant'];
|
|
31
|
-
onChange?: (value: string | undefined) => void;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export const Select = forwardRef<HTMLDivElement, SelectProps>(
|
|
35
|
-
(
|
|
36
|
-
{
|
|
37
|
-
children,
|
|
38
|
-
className,
|
|
39
|
-
style,
|
|
40
|
-
name,
|
|
41
|
-
defaultValue,
|
|
42
|
-
width = '100%',
|
|
43
|
-
size = 'md',
|
|
44
|
-
sx: propSx,
|
|
45
|
-
variant = 'outlined',
|
|
46
|
-
onChange,
|
|
47
|
-
...props
|
|
48
|
-
},
|
|
49
|
-
ref,
|
|
50
|
-
) => {
|
|
51
|
-
const containerRef = useRef<HTMLDivElement>(null);
|
|
52
|
-
const targetRef = useCombinedRefs(ref, containerRef);
|
|
53
|
-
const [state, dispatch] = useReducer(selectReducer, {
|
|
54
|
-
isActive: false,
|
|
55
|
-
containerRef,
|
|
56
|
-
defaultValue,
|
|
57
|
-
items: new Map(),
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
const container = containerRef.current;
|
|
62
|
-
|
|
63
|
-
if (!container) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const handleOutsideClick = (e: MouseEvent) => {
|
|
68
|
-
if (container.contains(e.target as Node) || !state.isActive) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
dispatch({ type: 'TOGGLE' });
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
window.addEventListener('mousedown', handleOutsideClick);
|
|
76
|
-
|
|
77
|
-
return () => {
|
|
78
|
-
window.removeEventListener('mousedown', handleOutsideClick);
|
|
79
|
-
};
|
|
80
|
-
}, [state.isActive, dispatch]);
|
|
81
|
-
|
|
82
|
-
useEffect(() => {
|
|
83
|
-
if (!onChange || !state.items.size) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
onChange(state.selected);
|
|
88
|
-
//eslint-disable-next-line
|
|
89
|
-
}, [state.selected]);
|
|
90
|
-
|
|
91
|
-
return (
|
|
92
|
-
<SelectContext.Provider value={{ state, dispatch }}>
|
|
93
|
-
<div
|
|
94
|
-
ref={targetRef}
|
|
95
|
-
style={{ ...style, width }}
|
|
96
|
-
className={clsx(s.select({ size }), className, sx(propSx))}
|
|
97
|
-
{...props}
|
|
98
|
-
>
|
|
99
|
-
<SelectTrigger variant={variant}>
|
|
100
|
-
{state.selected !== null && state.items.get(state.selected || '')}
|
|
101
|
-
</SelectTrigger>
|
|
102
|
-
<SelectOptionList>{children}</SelectOptionList>
|
|
103
|
-
<input type="hidden" name={name} value={state.selected || ''} />
|
|
104
|
-
</div>
|
|
105
|
-
</SelectContext.Provider>
|
|
106
|
-
);
|
|
107
|
-
},
|
|
108
|
-
);
|
|
109
|
-
Select.displayName = 'Select';
|
|
110
|
-
|
|
111
|
-
export { s as selectCss };
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { createContext, type Dispatch, type ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
-
type SelectState = {
|
|
4
|
-
isActive: boolean;
|
|
5
|
-
selected?: string;
|
|
6
|
-
defaultValue?: string;
|
|
7
|
-
items: Map<string, ReactNode>;
|
|
8
|
-
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
type SelectAction =
|
|
12
|
-
| { type: 'ADD'; payload: { value: string; children: ReactNode } }
|
|
13
|
-
| { type: 'REMOVE'; payload: { value: string } }
|
|
14
|
-
| { type: 'SELECT'; payload: { value: string } }
|
|
15
|
-
| { type: 'TOGGLE' };
|
|
16
|
-
|
|
17
|
-
export const SelectContext = createContext<
|
|
18
|
-
{ state: SelectState; dispatch: Dispatch<SelectAction> } | undefined
|
|
19
|
-
>(undefined);
|
|
20
|
-
|
|
21
|
-
export const selectReducer = (
|
|
22
|
-
state: SelectState,
|
|
23
|
-
action: SelectAction,
|
|
24
|
-
): SelectState => {
|
|
25
|
-
switch (action.type) {
|
|
26
|
-
case 'ADD': {
|
|
27
|
-
// 현재 selected가 없고, defaultValue === payload.value일 경우 select함.
|
|
28
|
-
if (
|
|
29
|
-
state.selected === undefined &&
|
|
30
|
-
state.defaultValue === action.payload.value
|
|
31
|
-
) {
|
|
32
|
-
return {
|
|
33
|
-
...state,
|
|
34
|
-
selected: action.payload.value,
|
|
35
|
-
items: new Map(state.items).set(
|
|
36
|
-
action.payload.value,
|
|
37
|
-
action.payload.children,
|
|
38
|
-
),
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
return {
|
|
42
|
-
...state,
|
|
43
|
-
items: new Map(state.items).set(
|
|
44
|
-
action.payload.value,
|
|
45
|
-
action.payload.children,
|
|
46
|
-
),
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
case 'REMOVE': {
|
|
50
|
-
const newMap = new Map(state.items);
|
|
51
|
-
newMap.delete(action.payload.value);
|
|
52
|
-
return { ...state, items: newMap };
|
|
53
|
-
}
|
|
54
|
-
case 'SELECT':
|
|
55
|
-
return { ...state, isActive: false, selected: action.payload.value };
|
|
56
|
-
case 'TOGGLE':
|
|
57
|
-
return { ...state, isActive: !state.isActive };
|
|
58
|
-
}
|
|
59
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { styleWithLayer } from '#styleUtils';
|
|
2
|
-
import { theme } from '#themes';
|
|
3
|
-
|
|
4
|
-
export const selectOption = styleWithLayer({
|
|
5
|
-
padding: '0.75em 0.5em',
|
|
6
|
-
|
|
7
|
-
transition: 'background-color 0.2s ease',
|
|
8
|
-
|
|
9
|
-
cursor: 'default',
|
|
10
|
-
|
|
11
|
-
':hover': {
|
|
12
|
-
backgroundColor: `rgb(${theme.color.accent})`,
|
|
13
|
-
},
|
|
14
|
-
});
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { useContext, useEffect, type ReactNode } from 'react';
|
|
4
|
-
|
|
5
|
-
import { SelectContext } from './SelectContext';
|
|
6
|
-
import * as s from './SelectOption.css';
|
|
7
|
-
|
|
8
|
-
interface SelectOptionProps {
|
|
9
|
-
children: ReactNode;
|
|
10
|
-
value: string;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export const SelectOption = ({ children, value }: SelectOptionProps) => {
|
|
14
|
-
const selectContext = useContext(SelectContext);
|
|
15
|
-
|
|
16
|
-
if (!selectContext) {
|
|
17
|
-
throw new Error('SelectOption must be rendered within a Select.');
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const { dispatch } = selectContext;
|
|
21
|
-
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
dispatch({ type: 'ADD', payload: { value, children } });
|
|
24
|
-
|
|
25
|
-
return () => {
|
|
26
|
-
dispatch({ type: 'REMOVE', payload: { value } });
|
|
27
|
-
};
|
|
28
|
-
// eslint-disable-next-line
|
|
29
|
-
}, [dispatch, value]);
|
|
30
|
-
|
|
31
|
-
const handleClick = () => {
|
|
32
|
-
dispatch({ type: 'SELECT', payload: { value } });
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
return (
|
|
36
|
-
<div className={s.selectOption} onClick={handleClick}>
|
|
37
|
-
{children}
|
|
38
|
-
</div>
|
|
39
|
-
);
|
|
40
|
-
};
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { keyframes } from '@vanilla-extract/css';
|
|
2
|
-
|
|
3
|
-
import { recipeWithLayer } from '#styleUtils';
|
|
4
|
-
import { theme } from '#themes';
|
|
5
|
-
|
|
6
|
-
const fadeIn = keyframes({
|
|
7
|
-
'0%': {
|
|
8
|
-
transform: 'scale(0.95)',
|
|
9
|
-
opacity: 0,
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
'100%': {
|
|
13
|
-
transform: 'scale(1)',
|
|
14
|
-
opacity: 1,
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
export const container = recipeWithLayer({
|
|
19
|
-
base: {
|
|
20
|
-
overflowY: 'auto',
|
|
21
|
-
position: 'absolute',
|
|
22
|
-
zIndex: '10',
|
|
23
|
-
|
|
24
|
-
width: '100%',
|
|
25
|
-
minWidth: 'max-content',
|
|
26
|
-
border: `1px solid rgb(${theme.color.border})`,
|
|
27
|
-
borderRadius: theme.borderRadius,
|
|
28
|
-
margin: '0.5rem 0',
|
|
29
|
-
|
|
30
|
-
backgroundColor: `rgb(${theme.color.background})`,
|
|
31
|
-
|
|
32
|
-
animation: `${fadeIn} 0.3s ease 1`,
|
|
33
|
-
transformOrigin: '0 0',
|
|
34
|
-
|
|
35
|
-
userSelect: 'none',
|
|
36
|
-
|
|
37
|
-
'::-webkit-scrollbar': {
|
|
38
|
-
width: '0.25rem',
|
|
39
|
-
height: '0.25rem',
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
'::-webkit-scrollbar-thumb': {
|
|
43
|
-
borderRadius: '0.5rem',
|
|
44
|
-
|
|
45
|
-
backgroundColor: `rgb(${theme.color['muted-foreground']})`,
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
|
|
49
|
-
variants: {
|
|
50
|
-
isVisible: {
|
|
51
|
-
true: {
|
|
52
|
-
display: 'block',
|
|
53
|
-
},
|
|
54
|
-
false: {
|
|
55
|
-
display: 'none',
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
|
|
59
|
-
isAbove: {
|
|
60
|
-
true: {
|
|
61
|
-
top: '100%',
|
|
62
|
-
},
|
|
63
|
-
false: {
|
|
64
|
-
bottom: '100%',
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
});
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { useContext, useMemo, useRef, type ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
-
import clsx from 'clsx';
|
|
4
|
-
|
|
5
|
-
import { sprinkles } from '#styles';
|
|
6
|
-
|
|
7
|
-
import { SelectContext } from './SelectContext';
|
|
8
|
-
import * as s from './SelectOptionList.css';
|
|
9
|
-
|
|
10
|
-
interface SelectOptionListProps {
|
|
11
|
-
children: ReactNode;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const SelectOptionList = ({ children }: SelectOptionListProps) => {
|
|
15
|
-
const selectContext = useContext(SelectContext);
|
|
16
|
-
const containerRef = useRef<HTMLDivElement>(null);
|
|
17
|
-
|
|
18
|
-
if (!selectContext) {
|
|
19
|
-
throw new Error('SelectOption must be rendered within a Select.');
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const { state } = selectContext;
|
|
23
|
-
|
|
24
|
-
const isAbove = useMemo(() => {
|
|
25
|
-
const container = containerRef.current;
|
|
26
|
-
const parent = state.containerRef.current;
|
|
27
|
-
|
|
28
|
-
if (!state.isActive || !container || !parent) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const parentRect = parent.getBoundingClientRect();
|
|
33
|
-
container.style.display = 'block';
|
|
34
|
-
const containerRect = container.getBoundingClientRect();
|
|
35
|
-
container.style.display = '';
|
|
36
|
-
|
|
37
|
-
// 하단에 리스트를 모두 보여줄 공간이 충분한 경우
|
|
38
|
-
if (containerRect.top + containerRect.height < window.innerHeight) {
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// 그렇지 않으면 parent의 상단/하단 중 공간이 더 넓은 쪽으로 리스트를 보여줌
|
|
43
|
-
return parentRect.top + parentRect.height / 2 < window.innerHeight / 2;
|
|
44
|
-
}, [state.isActive, state.containerRef]);
|
|
45
|
-
|
|
46
|
-
return (
|
|
47
|
-
<div
|
|
48
|
-
ref={containerRef}
|
|
49
|
-
className={clsx(
|
|
50
|
-
s.container({ isVisible: state.isActive, isAbove }),
|
|
51
|
-
sprinkles({ boxShadow: 'accent-sm' }),
|
|
52
|
-
)}
|
|
53
|
-
>
|
|
54
|
-
{children}
|
|
55
|
-
</div>
|
|
56
|
-
);
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export default SelectOptionList;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { style } from '@vanilla-extract/css';
|
|
2
|
-
import { recipe } from '@vanilla-extract/recipes';
|
|
3
|
-
|
|
4
|
-
import { theme } from '#themes';
|
|
5
|
-
|
|
6
|
-
export const children = style({
|
|
7
|
-
overflow: 'hidden',
|
|
8
|
-
textOverflow: 'ellipsis',
|
|
9
|
-
whiteSpace: 'nowrap',
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
export const icon = recipe({
|
|
13
|
-
base: {
|
|
14
|
-
flexShrink: '0',
|
|
15
|
-
|
|
16
|
-
lineHeight: '0',
|
|
17
|
-
|
|
18
|
-
transition: 'color 0.2s ease, transform 0.2s ease',
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
variants: {
|
|
22
|
-
isActive: {
|
|
23
|
-
false: {
|
|
24
|
-
transform: 'rotate(0)',
|
|
25
|
-
},
|
|
26
|
-
true: {
|
|
27
|
-
color: `rgb(${theme.color.primary})`,
|
|
28
|
-
|
|
29
|
-
transform: 'rotate(-180deg)',
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
export const selectTrigger = recipe({
|
|
36
|
-
base: {
|
|
37
|
-
display: 'flex',
|
|
38
|
-
alignItems: 'center',
|
|
39
|
-
gap: '0.5em',
|
|
40
|
-
justifyContent: 'space-between',
|
|
41
|
-
|
|
42
|
-
width: '100%',
|
|
43
|
-
|
|
44
|
-
transition: 'border-color 0.2s ease',
|
|
45
|
-
|
|
46
|
-
cursor: 'pointer',
|
|
47
|
-
userSelect: 'none',
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
variants: {
|
|
51
|
-
isActive: {
|
|
52
|
-
true: {
|
|
53
|
-
borderColor: `rgb(${theme.color.primary})`,
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
variant: {
|
|
57
|
-
contained: {
|
|
58
|
-
padding: '0.75em 0.75em',
|
|
59
|
-
borderRadius: theme.borderRadius,
|
|
60
|
-
|
|
61
|
-
backgroundColor: `rgb(${theme.color.secondary})`,
|
|
62
|
-
},
|
|
63
|
-
outlined: {
|
|
64
|
-
padding: '0.75em 0.5em',
|
|
65
|
-
border: '1px solid',
|
|
66
|
-
borderColor: `rgb(${theme.color.border})`,
|
|
67
|
-
borderRadius: theme.borderRadius,
|
|
68
|
-
|
|
69
|
-
backgroundColor: `rgb(${theme.color.background})`,
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
});
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { useContext } from 'react';
|
|
2
|
-
|
|
3
|
-
import clsx from 'clsx';
|
|
4
|
-
import { ChevronDownIcon } from 'lucide-react';
|
|
5
|
-
|
|
6
|
-
import { sx } from '#styles';
|
|
7
|
-
import type { UIComponent } from '#types';
|
|
8
|
-
|
|
9
|
-
import { SelectContext } from './SelectContext';
|
|
10
|
-
import * as s from './SelectTrigger.css';
|
|
11
|
-
|
|
12
|
-
type SelectTriggerProps = UIComponent<'div', typeof s.selectTrigger>;
|
|
13
|
-
|
|
14
|
-
const SelectTrigger = ({
|
|
15
|
-
children,
|
|
16
|
-
className,
|
|
17
|
-
variant,
|
|
18
|
-
sx: propSx,
|
|
19
|
-
}: SelectTriggerProps) => {
|
|
20
|
-
const selectContext = useContext(SelectContext);
|
|
21
|
-
|
|
22
|
-
if (!selectContext) {
|
|
23
|
-
throw new Error('SelectTrigger must be rendered within a Select.');
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const { state, dispatch } = selectContext;
|
|
27
|
-
|
|
28
|
-
const handleClick = () => {
|
|
29
|
-
dispatch({ type: 'TOGGLE' });
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
return (
|
|
33
|
-
<div
|
|
34
|
-
className={clsx(
|
|
35
|
-
s.selectTrigger({ isActive: state.isActive, variant }),
|
|
36
|
-
className,
|
|
37
|
-
sx(propSx),
|
|
38
|
-
)}
|
|
39
|
-
onClick={handleClick}
|
|
40
|
-
>
|
|
41
|
-
<span className={s.children}>{children}</span>
|
|
42
|
-
<span className={s.icon({ isActive: state.isActive })}>
|
|
43
|
-
<ChevronDownIcon size="1em" strokeWidth="2px" />
|
|
44
|
-
</span>
|
|
45
|
-
</div>
|
|
46
|
-
);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export default SelectTrigger;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { keyframes } from '@vanilla-extract/css';
|
|
2
|
-
|
|
3
|
-
import { styleWithLayer } from '#styleUtils';
|
|
4
|
-
import { theme } from '#themes';
|
|
5
|
-
|
|
6
|
-
const shimmer = keyframes({
|
|
7
|
-
'0%': {
|
|
8
|
-
backgroundPosition: '-300% 0',
|
|
9
|
-
},
|
|
10
|
-
|
|
11
|
-
'100%': {
|
|
12
|
-
backgroundPosition: '300% 0',
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
export const skeleton = styleWithLayer({
|
|
17
|
-
display: 'block',
|
|
18
|
-
|
|
19
|
-
maxWidth: '100%',
|
|
20
|
-
borderRadius: theme.borderRadius,
|
|
21
|
-
|
|
22
|
-
background: `linear-gradient(90deg, rgba(${theme.color.accent}, 0.4) 30%, rgba(${theme.color.accent}, 0.2) 65%, rgba(${theme.color.accent}, 0.4))`,
|
|
23
|
-
backgroundSize: '300% 100%',
|
|
24
|
-
|
|
25
|
-
animation: `${shimmer} 5s linear 0s infinite`,
|
|
26
|
-
});
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { forwardRef, type CSSProperties } from 'react';
|
|
2
|
-
|
|
3
|
-
import { clsx } from 'clsx';
|
|
4
|
-
|
|
5
|
-
import { sx } from '#styles';
|
|
6
|
-
import type { UIComponent } from '#types';
|
|
7
|
-
|
|
8
|
-
import * as s from './Skeleton.css';
|
|
9
|
-
|
|
10
|
-
interface SkeletonProps extends UIComponent<'div'> {
|
|
11
|
-
width?: CSSProperties['width'];
|
|
12
|
-
height?: CSSProperties['height'];
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export const Skeleton = forwardRef<HTMLDivElement, SkeletonProps>(
|
|
16
|
-
({ className, width, height, style, sx: propSx, ...props }, ref) => {
|
|
17
|
-
return (
|
|
18
|
-
<div
|
|
19
|
-
ref={ref}
|
|
20
|
-
className={clsx(s.skeleton, className, sx(propSx))}
|
|
21
|
-
style={{ ...style, width, height }}
|
|
22
|
-
{...props}
|
|
23
|
-
/>
|
|
24
|
-
);
|
|
25
|
-
},
|
|
26
|
-
);
|
|
27
|
-
Skeleton.displayName = 'Skeleton';
|