@kimdw-rtk/ui 0.0.13 → 0.0.15
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/chunk-IEP6GGEX.mjs +23 -0
- package/dist/chunk-Y4CBEQ5S.mjs +456 -0
- package/dist/chunk-Y4CBEQ5S.mjs.map +1 -0
- package/dist/components/Accordion/{Accordion.css.js → Accordion.css.mjs} +8 -5
- package/dist/components/Accordion/{Accordion.css.js.map → Accordion.css.mjs.map} +1 -1
- package/dist/components/Accordion/{Accordion.js → Accordion.mjs} +9 -6
- package/dist/components/Accordion/{Accordion.js.map → Accordion.mjs.map} +1 -1
- package/dist/components/Accordion/Accordion.spec.mjs +7 -0
- package/dist/components/Accordion/{Accordion.spec.js.map → Accordion.spec.mjs.map} +1 -1
- package/dist/components/Accordion/AccordionContent.css.mjs +30 -0
- package/dist/components/Accordion/{AccordionContent.css.js.map → AccordionContent.css.mjs.map} +1 -1
- package/dist/components/Accordion/AccordionContent.mjs +66 -0
- package/dist/components/Accordion/{AccordionContent.js.map → AccordionContent.mjs.map} +1 -1
- package/dist/components/Accordion/AccordionContext.mjs +13 -0
- package/dist/components/Accordion/{AccordionContext.js.map → AccordionContext.mjs.map} +1 -1
- package/dist/components/Accordion/{AccordionTrigger.css.js → AccordionTrigger.css.mjs} +8 -5
- package/dist/components/Accordion/{AccordionTrigger.css.js.map → AccordionTrigger.css.mjs.map} +1 -1
- package/dist/components/Accordion/{AccordionTrigger.js → AccordionTrigger.mjs} +8 -5
- package/dist/components/Accordion/{AccordionTrigger.js.map → AccordionTrigger.mjs.map} +1 -1
- package/dist/components/Accordion/index.mjs +5 -0
- package/dist/components/Accordion/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Alert/{index.js → index.mjs} +8 -5
- package/dist/components/Alert/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Box/Box.css.mjs +23 -0
- package/dist/components/Box/{Box.css.js.map → Box.css.mjs.map} +1 -1
- package/dist/components/Box/Box.spec.mjs +7 -0
- package/dist/components/Box/{Box.spec.js.map → Box.spec.mjs.map} +1 -1
- package/dist/components/Box/{index.js → index.mjs} +9 -6
- package/dist/components/Box/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Button/{Button.css.js → Button.css.mjs} +16 -13
- package/dist/components/Button/{Button.css.js.map → Button.css.mjs.map} +1 -1
- package/dist/components/Button/{Button.spec.js → Button.spec.mjs} +13 -6
- package/dist/components/Button/{Button.spec.js.map → Button.spec.mjs.map} +1 -1
- package/dist/components/Button/{index.js → index.mjs} +12 -9
- package/dist/components/Button/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Card/{Card.css.js → Card.css.mjs} +12 -9
- package/dist/components/Card/{Card.css.js.map → Card.css.mjs.map} +1 -1
- package/dist/components/Card/{Card.js → Card.mjs} +8 -5
- package/dist/components/Card/{Card.js.map → Card.mjs.map} +1 -1
- package/dist/components/Card/{Card.spec.js → Card.spec.mjs} +12 -5
- package/dist/components/Card/{Card.spec.js.map → Card.spec.mjs.map} +1 -1
- package/dist/components/Card/CardContent.css.mjs +13 -0
- package/dist/components/Card/{CardContent.css.js.map → CardContent.css.mjs.map} +1 -1
- package/dist/components/Card/{CardContent.js → CardContent.mjs} +8 -5
- package/dist/components/Card/{CardContent.js.map → CardContent.mjs.map} +1 -1
- package/dist/components/Card/CardInteraction.css.mjs +15 -0
- package/dist/components/Card/{CardInteraction.css.js.map → CardInteraction.css.mjs.map} +1 -1
- package/dist/components/Card/{CardInteraction.js → CardInteraction.mjs} +9 -6
- package/dist/components/Card/{CardInteraction.js.map → CardInteraction.mjs.map} +1 -1
- package/dist/components/Card/CardThumbnail.css.mjs +12 -0
- package/dist/components/Card/{CardThumbnail.css.js.map → CardThumbnail.css.mjs.map} +1 -1
- package/dist/components/Card/{CardThumbnail.js → CardThumbnail.mjs} +8 -5
- package/dist/components/Card/{CardThumbnail.js.map → CardThumbnail.mjs.map} +1 -1
- package/dist/components/Card/index.mjs +6 -0
- package/dist/components/Card/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Chip/{Chip.css.js → Chip.css.mjs} +13 -10
- package/dist/components/Chip/{Chip.css.js.map → Chip.css.mjs.map} +1 -1
- package/dist/components/Chip/{Chip.js → Chip.mjs} +8 -5
- package/dist/components/Chip/{Chip.js.map → Chip.mjs.map} +1 -1
- package/dist/components/Chip/Chip.spec.mjs +7 -0
- package/dist/components/Chip/{Chip.spec.js.map → Chip.spec.mjs.map} +1 -1
- package/dist/components/Chip/index.mjs +3 -0
- package/dist/components/Chip/index.mjs.map +1 -0
- package/dist/components/Confirm/{index.js → index.mjs} +7 -4
- package/dist/components/Confirm/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Dialog/{Dialog.css.js → Dialog.css.mjs} +7 -4
- package/dist/components/Dialog/{Dialog.css.js.map → Dialog.css.mjs.map} +1 -1
- package/dist/components/Dialog/{Dialog.js → Dialog.mjs} +9 -6
- package/dist/components/Dialog/{Dialog.js.map → Dialog.mjs.map} +1 -1
- package/dist/components/Dialog/{Dialog.spec.js → Dialog.spec.mjs} +12 -5
- package/dist/components/Dialog/{Dialog.spec.js.map → Dialog.spec.mjs.map} +1 -1
- package/dist/components/Dialog/DialogContent.css.mjs +19 -0
- package/dist/components/Dialog/{DialogContent.css.js.map → DialogContent.css.mjs.map} +1 -1
- package/dist/components/Dialog/{DialogContent.js → DialogContent.mjs} +9 -6
- package/dist/components/Dialog/{DialogContent.js.map → DialogContent.mjs.map} +1 -1
- package/dist/components/Dialog/{DialogFooter.css.js → DialogFooter.css.mjs} +7 -4
- package/dist/components/Dialog/{DialogFooter.css.js.map → DialogFooter.css.mjs.map} +1 -1
- package/dist/components/Dialog/{DialogFooter.js → DialogFooter.mjs} +8 -5
- package/dist/components/Dialog/{DialogFooter.js.map → DialogFooter.mjs.map} +1 -1
- package/dist/components/Dialog/{DialogHeader.css.js → DialogHeader.css.mjs} +8 -5
- package/dist/components/Dialog/{DialogHeader.css.js.map → DialogHeader.css.mjs.map} +1 -1
- package/dist/components/Dialog/{DialogHeader.js → DialogHeader.mjs} +9 -6
- package/dist/components/Dialog/{DialogHeader.js.map → DialogHeader.mjs.map} +1 -1
- package/dist/components/Dialog/index.mjs +6 -0
- package/dist/components/Dialog/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Navigation/{Navigation.spec.js → Navigation.spec.mjs} +5 -4
- package/dist/components/Navigation/{Navigation.spec.js.map → Navigation.spec.mjs.map} +1 -1
- package/dist/components/Navigation/NavigationAside.css.mjs +13 -0
- package/dist/components/Navigation/{NavigationAside.css.js.map → NavigationAside.css.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationAside.js → NavigationAside.mjs} +8 -5
- package/dist/components/Navigation/{NavigationAside.js.map → NavigationAside.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationBar.css.js → NavigationBar.css.mjs} +8 -5
- package/dist/components/Navigation/{NavigationBar.css.js.map → NavigationBar.css.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationBar.js → NavigationBar.mjs} +8 -5
- package/dist/components/Navigation/{NavigationBar.js.map → NavigationBar.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationContainer.css.js → NavigationContainer.css.mjs} +5 -2
- package/dist/components/Navigation/{NavigationContainer.css.js.map → NavigationContainer.css.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationContainer.js → NavigationContainer.mjs} +8 -5
- package/dist/components/Navigation/{NavigationContainer.js.map → NavigationContainer.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationDrawer.css.js → NavigationDrawer.css.mjs} +10 -7
- package/dist/components/Navigation/{NavigationDrawer.css.js.map → NavigationDrawer.css.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationDrawer.js → NavigationDrawer.mjs} +8 -5
- package/dist/components/Navigation/{NavigationDrawer.js.map → NavigationDrawer.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationItem.css.js → NavigationItem.css.mjs} +9 -6
- package/dist/components/Navigation/{NavigationItem.css.js.map → NavigationItem.css.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationItem.js → NavigationItem.mjs} +8 -5
- package/dist/components/Navigation/{NavigationItem.js.map → NavigationItem.mjs.map} +1 -1
- package/dist/components/Navigation/NavigationLogo.css.mjs +11 -0
- package/dist/components/Navigation/{NavigationLogo.css.js.map → NavigationLogo.css.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationLogo.js → NavigationLogo.mjs} +8 -5
- package/dist/components/Navigation/{NavigationLogo.js.map → NavigationLogo.mjs.map} +1 -1
- package/dist/components/Navigation/NavigationMenu.css.mjs +26 -0
- package/dist/components/Navigation/{NavigationMenu.css.js.map → NavigationMenu.css.mjs.map} +1 -1
- package/dist/components/Navigation/{NavigationMenu.js → NavigationMenu.mjs} +8 -5
- package/dist/components/Navigation/{NavigationMenu.js.map → NavigationMenu.mjs.map} +1 -1
- package/dist/components/Navigation/index.mjs +9 -0
- package/dist/components/Navigation/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Range/{Range.css.js → Range.css.mjs} +15 -12
- package/dist/components/Range/{Range.css.js.map → Range.css.mjs.map} +1 -1
- package/dist/components/Range/{Range.js → Range.mjs} +9 -6
- package/dist/components/Range/{Range.js.map → Range.mjs.map} +1 -1
- package/dist/components/Range/Range.spec.mjs +7 -0
- package/dist/components/Range/{Range.spec.js.map → Range.spec.mjs.map} +1 -1
- package/dist/components/Range/index.mjs +3 -0
- package/dist/components/Range/index.mjs.map +1 -0
- package/dist/components/ScrollArea/{ScrollArea.css.js → ScrollArea.css.mjs} +11 -8
- package/dist/components/ScrollArea/{ScrollArea.css.js.map → ScrollArea.css.mjs.map} +1 -1
- package/dist/components/ScrollArea/{ScrollArea.js → ScrollArea.mjs} +9 -6
- package/dist/components/ScrollArea/{ScrollArea.js.map → ScrollArea.mjs.map} +1 -1
- package/dist/components/ScrollArea/ScrollArea.spec.mjs +7 -0
- package/dist/components/ScrollArea/{ScrollArea.spec.js.map → ScrollArea.spec.mjs.map} +1 -1
- package/dist/components/ScrollArea/index.mjs +3 -0
- package/dist/components/ScrollArea/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Select/{Select.css.js → Select.css.mjs} +7 -4
- package/dist/components/Select/{Select.css.js.map → Select.css.mjs.map} +1 -1
- package/dist/components/Select/{Select.js → Select.mjs} +11 -8
- package/dist/components/Select/{Select.js.map → Select.mjs.map} +1 -1
- package/dist/components/Select/{Select.spec.js → Select.spec.mjs} +17 -10
- package/dist/components/Select/{Select.spec.js.map → Select.spec.mjs.map} +1 -1
- package/dist/components/Select/{SelectContext.js → SelectContext.mjs} +6 -3
- package/dist/components/Select/{SelectContext.js.map → SelectContext.mjs.map} +1 -1
- package/dist/components/Select/SelectOption.css.mjs +17 -0
- package/dist/components/Select/{SelectOption.css.js.map → SelectOption.css.mjs.map} +1 -1
- package/dist/components/Select/{SelectOption.js → SelectOption.mjs} +8 -5
- package/dist/components/Select/{SelectOption.js.map → SelectOption.mjs.map} +1 -1
- package/dist/components/Select/{SelectOptionList.css.js → SelectOptionList.css.mjs} +8 -5
- package/dist/components/Select/{SelectOptionList.css.js.map → SelectOptionList.css.mjs.map} +1 -1
- package/dist/components/Select/{SelectOptionList.js → SelectOptionList.mjs} +14 -11
- package/dist/components/Select/{SelectOptionList.js.map → SelectOptionList.mjs.map} +1 -1
- package/dist/components/Select/{SelectTrigger.css.js → SelectTrigger.css.mjs} +8 -5
- package/dist/components/Select/{SelectTrigger.css.js.map → SelectTrigger.css.mjs.map} +1 -1
- package/dist/components/Select/{SelectTrigger.js → SelectTrigger.mjs} +11 -8
- package/dist/components/Select/{SelectTrigger.js.map → SelectTrigger.mjs.map} +1 -1
- package/dist/components/Select/index.mjs +4 -0
- package/dist/components/Select/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Skeleton/{Skeleton.css.js → Skeleton.css.mjs} +8 -5
- package/dist/components/Skeleton/{Skeleton.css.js.map → Skeleton.css.mjs.map} +1 -1
- package/dist/components/Skeleton/Skeleton.spec.mjs +7 -0
- package/dist/components/Skeleton/{Skeleton.spec.js.map → Skeleton.spec.mjs.map} +1 -1
- package/dist/components/Skeleton/{index.js → index.mjs} +8 -5
- package/dist/components/Skeleton/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Table/Table.css.mjs +15 -0
- package/dist/components/Table/{Table.css.js.map → Table.css.mjs.map} +1 -1
- package/dist/components/Table/{Table.js → Table.mjs} +8 -5
- package/dist/components/Table/{Table.js.map → Table.mjs.map} +1 -1
- package/dist/components/Table/Table.spec.mjs +7 -0
- package/dist/components/Table/{Table.spec.js.map → Table.spec.mjs.map} +1 -1
- package/dist/components/Table/{TableBody.js → TableBody.mjs} +7 -4
- package/dist/components/Table/{TableBody.js.map → TableBody.mjs.map} +1 -1
- package/dist/components/Table/{TableCell.css.js → TableCell.css.mjs} +9 -6
- package/dist/components/Table/{TableCell.css.js.map → TableCell.css.mjs.map} +1 -1
- package/dist/components/Table/{TableCell.js → TableCell.mjs} +9 -6
- package/dist/components/Table/{TableCell.js.map → TableCell.mjs.map} +1 -1
- package/dist/components/Table/TableHead.css.mjs +15 -0
- package/dist/components/Table/{TableHead.css.js.map → TableHead.css.mjs.map} +1 -1
- package/dist/components/Table/{TableHead.js → TableHead.mjs} +9 -6
- package/dist/components/Table/{TableHead.js.map → TableHead.mjs.map} +1 -1
- package/dist/components/Table/{TableHeader.js → TableHeader.mjs} +7 -4
- package/dist/components/Table/{TableHeader.js.map → TableHeader.mjs.map} +1 -1
- package/dist/components/Table/TableRow.css.mjs +9 -0
- package/dist/components/Table/{TableRow.css.js.map → TableRow.css.mjs.map} +1 -1
- package/dist/components/Table/{TableRow.js → TableRow.mjs} +8 -5
- package/dist/components/Table/{TableRow.js.map → TableRow.mjs.map} +1 -1
- package/dist/components/Table/index.mjs +8 -0
- package/dist/components/Table/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Tabs/{Tabs.js → Tabs.mjs} +8 -5
- package/dist/components/Tabs/{Tabs.js.map → Tabs.mjs.map} +1 -1
- package/dist/components/Tabs/{Tabs.spec.js → Tabs.spec.mjs} +19 -12
- package/dist/components/Tabs/{Tabs.spec.js.map → Tabs.spec.mjs.map} +1 -1
- package/dist/components/Tabs/{TabsContent.js → TabsContent.mjs} +8 -5
- package/dist/components/Tabs/{TabsContent.js.map → TabsContent.mjs.map} +1 -1
- package/dist/components/Tabs/TabsList.css.mjs +15 -0
- package/dist/components/Tabs/{TabsList.css.js.map → TabsList.css.mjs.map} +1 -1
- package/dist/components/Tabs/{TabsList.js → TabsList.mjs} +8 -5
- package/dist/components/Tabs/{TabsList.js.map → TabsList.mjs.map} +1 -1
- package/dist/components/Tabs/TabsProvider.mjs +14 -0
- package/dist/components/Tabs/{TabsProvider.js.map → TabsProvider.mjs.map} +1 -1
- package/dist/components/Tabs/{TabsTrigger.css.js → TabsTrigger.css.mjs} +7 -4
- package/dist/components/Tabs/{TabsTrigger.css.js.map → TabsTrigger.css.mjs.map} +1 -1
- package/dist/components/Tabs/{TabsTrigger.js → TabsTrigger.mjs} +9 -6
- package/dist/components/Tabs/{TabsTrigger.js.map → TabsTrigger.mjs.map} +1 -1
- package/dist/components/Tabs/index.mjs +6 -0
- package/dist/components/Tabs/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/TextField/{TextField.css.js → TextField.css.mjs} +12 -9
- package/dist/components/TextField/{TextField.css.js.map → TextField.css.mjs.map} +1 -1
- package/dist/components/TextField/TextField.spec.mjs +7 -0
- package/dist/components/TextField/{TextField.spec.js.map → TextField.spec.mjs.map} +1 -1
- package/dist/components/TextField/{index.js → index.mjs} +8 -5
- package/dist/components/TextField/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Toast/{Toast.css.js → Toast.css.mjs} +13 -10
- package/dist/components/Toast/{Toast.css.js.map → Toast.css.mjs.map} +1 -1
- package/dist/components/Toast/Toast.spec.mjs +7 -0
- package/dist/components/Toast/{Toast.spec.js.map → Toast.spec.mjs.map} +1 -1
- package/dist/components/Toast/{index.js → index.mjs} +9 -6
- package/dist/components/Toast/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/Typography/{Typography.css.js → Typography.css.mjs} +6 -3
- package/dist/components/Typography/{Typography.css.js.map → Typography.css.mjs.map} +1 -1
- package/dist/components/Typography/{Typography.spec.js → Typography.spec.mjs} +13 -6
- package/dist/components/Typography/{Typography.spec.js.map → Typography.spec.mjs.map} +1 -1
- package/dist/components/Typography/{index.js → index.mjs} +9 -6
- package/dist/components/Typography/{index.js.map → index.mjs.map} +1 -1
- package/dist/components/index.mjs +20 -0
- package/dist/components/{index.js.map → index.mjs.map} +1 -1
- package/dist/contexts/{UIProvider.js → UIProvider.mjs} +8 -5
- package/dist/contexts/{UIProvider.js.map → UIProvider.mjs.map} +1 -1
- package/dist/contexts/index.mjs +3 -0
- package/dist/contexts/index.mjs.map +1 -0
- package/dist/hooks/index.mjs +7 -0
- package/dist/hooks/{index.js.map → index.mjs.map} +1 -1
- package/dist/hooks/useDialog/{index.js → index.mjs} +7 -4
- package/dist/hooks/useDialog/{index.js.map → index.mjs.map} +1 -1
- package/dist/hooks/useDialog/{useDialog.spec.js → useDialog.spec.mjs} +21 -14
- package/dist/hooks/useDialog/{useDialog.spec.js.map → useDialog.spec.mjs.map} +1 -1
- package/dist/hooks/useMouseScroll/{index.js → index.mjs} +5 -2
- package/dist/hooks/useMouseScroll/{index.js.map → index.mjs.map} +1 -1
- package/dist/hooks/usePointerSlider/{index.js → index.mjs} +5 -2
- package/dist/hooks/usePointerSlider/{index.js.map → index.mjs.map} +1 -1
- package/dist/hooks/useRipple/{index.js → index.mjs} +23 -20
- package/dist/hooks/useRipple/{index.js.map → index.mjs.map} +1 -1
- package/dist/hooks/useRipple/{ripple.css.js → ripple.css.mjs} +7 -4
- package/dist/hooks/useRipple/{ripple.css.js.map → ripple.css.mjs.map} +1 -1
- package/dist/hooks/useToast/{ToastContainer.css.js → ToastContainer.css.mjs} +5 -2
- package/dist/hooks/useToast/{ToastContainer.css.js.map → ToastContainer.css.mjs.map} +1 -1
- package/dist/hooks/useToast/ToastContainer.mjs +12 -0
- package/dist/hooks/useToast/{ToastContainer.js.map → ToastContainer.mjs.map} +1 -1
- package/dist/hooks/useToast/{ToastProvider.js → ToastProvider.mjs} +10 -7
- package/dist/hooks/useToast/{ToastProvider.js.map → ToastProvider.mjs.map} +1 -1
- package/dist/hooks/useToast/{index.js → index.mjs} +6 -3
- package/dist/hooks/useToast/{index.js.map → index.mjs.map} +1 -1
- package/dist/index.mjs +10 -0
- package/dist/{index.js.map → index.mjs.map} +1 -1
- package/dist/styles/{globalStyle.css.js → globalStyle.css.mjs} +3 -2
- package/dist/styles/{globalStyle.css.js.map → globalStyle.css.mjs.map} +1 -1
- package/dist/styles/index.mjs +6 -0
- package/dist/styles/{index.js.map → index.mjs.map} +1 -1
- package/dist/styles/layers.css.mjs +11 -0
- package/dist/styles/{layers.css.js.map → layers.css.mjs.map} +1 -1
- package/dist/styles/{overlay.css.js → overlay.css.mjs} +7 -4
- package/dist/styles/{overlay.css.js.map → overlay.css.mjs.map} +1 -1
- package/dist/styles/{sprinkles.css.js → sprinkles.css.mjs} +14 -11
- package/dist/styles/{sprinkles.css.js.map → sprinkles.css.mjs.map} +1 -1
- package/dist/styles/{sx.js → sx.mjs} +6 -3
- package/dist/styles/{sx.js.map → sx.mjs.map} +1 -1
- package/dist/tests/{uiTest.js → uiTest.mjs} +16 -10
- package/dist/tests/{uiTest.js.map → uiTest.mjs.map} +1 -1
- package/dist/themes/{darkTheme.css.js → darkTheme.css.mjs} +6 -3
- package/dist/themes/{darkTheme.css.js.map → darkTheme.css.mjs.map} +1 -1
- package/dist/themes/index.mjs +10 -0
- package/dist/themes/{index.js.map → index.mjs.map} +1 -1
- package/dist/themes/{lightTheme.css.js → lightTheme.css.mjs} +6 -3
- package/dist/themes/{lightTheme.css.js.map → lightTheme.css.mjs.map} +1 -1
- package/dist/themes/{theme.css.js → theme.css.mjs} +8 -5
- package/dist/themes/{theme.css.js.map → theme.css.mjs.map} +1 -1
- package/dist/tokens/index.mjs +17 -0
- package/dist/tokens/{index.js.map → index.mjs.map} +1 -1
- package/dist/tokens/scale/{color.js → color.mjs} +7 -4
- package/dist/tokens/scale/{color.js.map → color.mjs.map} +1 -1
- package/dist/tokens/semantic/breakpoint.mjs +13 -0
- package/dist/tokens/semantic/{breakpoint.js.map → breakpoint.mjs.map} +1 -1
- package/dist/tokens/semantic/{color.js → color.mjs} +5 -2
- package/dist/tokens/semantic/{color.js.map → color.mjs.map} +1 -1
- package/dist/tokens/semantic/{spacing.js → spacing.mjs} +5 -2
- package/dist/tokens/semantic/spacing.mjs.map +1 -0
- package/dist/tokens/semantic/{typography.js → typography.mjs} +5 -2
- package/dist/tokens/semantic/{typography.js.map → typography.mjs.map} +1 -1
- package/dist/types/index.mjs +3 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/types/ui.types.mjs +1 -0
- package/dist/types/ui.types.mjs.map +1 -0
- package/dist/utils/index.mjs +3 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/{sprinklesUtils.js → sprinklesUtils.mjs} +7 -4
- package/dist/utils/{sprinklesUtils.js.map → sprinklesUtils.mjs.map} +1 -1
- package/dist/utils/{styleUtils.css.js → styleUtils.css.mjs} +7 -4
- package/dist/utils/{styleUtils.css.js.map → styleUtils.css.mjs.map} +1 -1
- package/package.json +1 -1
- package/dist/components/Accordion/Accordion.spec.js +0 -6
- package/dist/components/Accordion/AccordionContent.css.js +0 -27
- package/dist/components/Accordion/AccordionContent.js +0 -63
- package/dist/components/Accordion/AccordionContext.js +0 -10
- package/dist/components/Accordion/index.js +0 -4
- package/dist/components/Box/Box.css.js +0 -20
- package/dist/components/Box/Box.spec.js +0 -6
- package/dist/components/Card/CardContent.css.js +0 -10
- package/dist/components/Card/CardInteraction.css.js +0 -12
- package/dist/components/Card/CardThumbnail.css.js +0 -9
- package/dist/components/Card/index.js +0 -5
- package/dist/components/Chip/Chip.spec.js +0 -6
- package/dist/components/Chip/index.js +0 -2
- package/dist/components/Chip/index.js.map +0 -1
- package/dist/components/Dialog/DialogContent.css.js +0 -16
- package/dist/components/Dialog/index.js +0 -5
- package/dist/components/Navigation/NavigationAside.css.js +0 -10
- package/dist/components/Navigation/NavigationLogo.css.js +0 -8
- package/dist/components/Navigation/NavigationMenu.css.js +0 -23
- package/dist/components/Navigation/index.js +0 -8
- package/dist/components/Range/Range.spec.js +0 -6
- package/dist/components/Range/index.js +0 -2
- package/dist/components/Range/index.js.map +0 -1
- package/dist/components/ScrollArea/ScrollArea.spec.js +0 -6
- package/dist/components/ScrollArea/index.js +0 -2
- package/dist/components/Select/SelectOption.css.js +0 -14
- package/dist/components/Select/index.js +0 -3
- package/dist/components/Skeleton/Skeleton.spec.js +0 -6
- package/dist/components/Table/Table.css.js +0 -12
- package/dist/components/Table/Table.spec.js +0 -6
- package/dist/components/Table/TableHead.css.js +0 -12
- package/dist/components/Table/TableRow.css.js +0 -6
- package/dist/components/Table/index.js +0 -7
- package/dist/components/Tabs/TabsList.css.js +0 -12
- package/dist/components/Tabs/TabsProvider.js +0 -11
- package/dist/components/Tabs/index.js +0 -5
- package/dist/components/TextField/TextField.spec.js +0 -6
- package/dist/components/Toast/Toast.spec.js +0 -6
- package/dist/components/index.js +0 -19
- package/dist/contexts/index.js +0 -2
- package/dist/contexts/index.js.map +0 -1
- package/dist/hooks/index.js +0 -6
- package/dist/hooks/useToast/ToastContainer.js +0 -9
- package/dist/index.js +0 -9
- package/dist/styles/index.js +0 -5
- package/dist/styles/layers.css.js +0 -8
- package/dist/themes/index.js +0 -7
- package/dist/tokens/index.js +0 -14
- package/dist/tokens/semantic/breakpoint.js +0 -10
- package/dist/tokens/semantic/spacing.js.map +0 -1
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/types/ui.types.js +0 -1
- package/dist/utils/index.js +0 -2
- package/dist/utils/index.js.map +0 -1
- /package/dist/{types/ui.types.js.map → chunk-IEP6GGEX.mjs.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Typography/Typography.spec.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cleanup, render, screen } from '@testing-library/react';\n\nimport { Typography } from '#components';\n\nimport { uiTest } from '../../tests/uiTest';\n\ndescribe('Typogrphy 컴포넌트', () => {\n uiTest(Typography, 'Typography');\n\n test('기본적으로 p태그로 출력한다.', () => {\n render(<Typography>test</Typography>);\n expect(screen.getByText('test').tagName.toLowerCase()).toBe('p');\n });\n\n test('as에 전달된 알맞은 태그로 출력한다.', () => {\n const tags: ComponentProps<typeof Typography>['as'][] = [\n 'p',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'span',\n ];\n\n for (const tag of tags) {\n cleanup();\n render(<Typography as={tag}>test</Typography>);\n expect(screen.getByText('test').tagName.toLowerCase()).toBe(tag);\n }\n });\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Typography/Typography.spec.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cleanup, render, screen } from '@testing-library/react';\n\nimport { Typography } from '#components';\n\nimport { uiTest } from '../../tests/uiTest';\n\ndescribe('Typogrphy 컴포넌트', () => {\n uiTest(Typography, 'Typography');\n\n test('기본적으로 p태그로 출력한다.', () => {\n render(<Typography>test</Typography>);\n expect(screen.getByText('test').tagName.toLowerCase()).toBe('p');\n });\n\n test('as에 전달된 알맞은 태그로 출력한다.', () => {\n const tags: ComponentProps<typeof Typography>['as'][] = [\n 'p',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'span',\n ];\n\n for (const tag of tags) {\n cleanup();\n render(<Typography as={tag}>test</Typography>);\n expect(screen.getByText('test').tagName.toLowerCase()).toBe(tag);\n }\n });\n});\n"],"mappings":";;;;;;;;AAIA,SAAS,kBAAkB;AAE3B,SAAS,cAAc;AAMZ;AAJX,SAAS,sCAAkB,MAAM;AAC/B,SAAO,YAAY,YAAY;AAE/B,OAAK,gFAAoB,MAAM;AAC7B,WAAO,oBAAC,cAAW,kBAAI,CAAa;AACpC,WAAO,yBAAO,UAAU,MAAM,EAAE,QAAQ,YAAY,CAAC,EAAE,KAAK,GAAG;AAAA,EACjE,CAAC;AAED,OAAK,+FAAyB,MAAM;AAClC,UAAM,OAAkD;AAAA,MACtD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,eAAW,OAAO,MAAM;AACtB,cAAQ;AACR,aAAO,oBAAC,cAAW,IAAI,KAAK,kBAAI,CAAa;AAC7C,aAAO,yBAAO,UAAU,MAAM,EAAE,QAAQ,YAAY,CAAC,EAAE,KAAK,GAAG;AAAA,IACjE;AAAA,EACF,CAAC;AACH,CAAC;","names":[]}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "../../chunk-IEP6GGEX.mjs";
|
|
2
|
+
|
|
3
|
+
// src/components/Typography/index.tsx
|
|
2
4
|
import { forwardRef } from "react";
|
|
3
5
|
import clsx from "clsx";
|
|
4
|
-
import { sprinkles } from "#styles";
|
|
5
|
-
import
|
|
6
|
-
import * as s from "./Typography.css";
|
|
7
|
-
|
|
6
|
+
import { sprinkles } from "#styles.mjs";
|
|
7
|
+
import "#types.mjs";
|
|
8
|
+
import * as s from "./Typography.css.mjs";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
var Typography = forwardRef(
|
|
8
11
|
({
|
|
9
12
|
children,
|
|
10
13
|
as: Component = "p",
|
|
@@ -38,4 +41,4 @@ export {
|
|
|
38
41
|
Typography,
|
|
39
42
|
s as typographyCss
|
|
40
43
|
};
|
|
41
|
-
//# sourceMappingURL=index.
|
|
44
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Typography/index.tsx"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport clsx from 'clsx';\n\nimport { sprinkles, type SprinklesProps } from '#styles';\nimport { type UIComponent } from '#types';\n\nimport * as s from './Typography.css';\n\ntype TypographyElement = 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'span';\n\ntype TypographyProps<T extends TypographyElement = TypographyElement> = Omit<\n UIComponent<T, typeof s.typography> & {\n as?: T;\n color?: SprinklesProps['color'];\n fontSize?: SprinklesProps['fontSize'];\n fontWeight?: SprinklesProps['fontWeight'];\n lineHeight?: SprinklesProps['lineHeight'];\n },\n 'ref'\n>;\n\nexport const Typography = forwardRef<HTMLParagraphElement, TypographyProps>(\n (\n {\n children,\n as: Component = 'p',\n className,\n color = 'foreground',\n fontSize = 'md',\n fontWeight = 'normal',\n lineHeight,\n isEllipsis = false,\n sx,\n ...props\n },\n ref,\n ) => {\n return (\n <Component\n ref={ref}\n className={clsx(\n s.typography({ isEllipsis }),\n sprinkles({ color, fontSize, fontWeight, lineHeight }),\n sx && sprinkles(sx),\n className,\n )}\n {...props}\n >\n {children}\n </Component>\n );\n },\n);\nTypography.displayName = 'Typography';\n\nexport { s as typographyCss };\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Typography/index.tsx"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport clsx from 'clsx';\n\nimport { sprinkles, type SprinklesProps } from '#styles';\nimport { type UIComponent } from '#types';\n\nimport * as s from './Typography.css';\n\ntype TypographyElement = 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'span';\n\ntype TypographyProps<T extends TypographyElement = TypographyElement> = Omit<\n UIComponent<T, typeof s.typography> & {\n as?: T;\n color?: SprinklesProps['color'];\n fontSize?: SprinklesProps['fontSize'];\n fontWeight?: SprinklesProps['fontWeight'];\n lineHeight?: SprinklesProps['lineHeight'];\n },\n 'ref'\n>;\n\nexport const Typography = forwardRef<HTMLParagraphElement, TypographyProps>(\n (\n {\n children,\n as: Component = 'p',\n className,\n color = 'foreground',\n fontSize = 'md',\n fontWeight = 'normal',\n lineHeight,\n isEllipsis = false,\n sx,\n ...props\n },\n ref,\n ) => {\n return (\n <Component\n ref={ref}\n className={clsx(\n s.typography({ isEllipsis }),\n sprinkles({ color, fontSize, fontWeight, lineHeight }),\n sx && sprinkles(sx),\n className,\n )}\n {...props}\n >\n {children}\n </Component>\n );\n },\n);\nTypography.displayName = 'Typography';\n\nexport { s as typographyCss };\n"],"mappings":";;;AAAA,SAAS,kBAAkB;AAE3B,OAAO,UAAU;AAEjB,SAAS,iBAAsC;AAC/C,OAAiC;AAEjC,YAAY,OAAO;AAgCb;AAjBC,IAAM,aAAa;AAAA,EACxB,CACE;AAAA,IACE;AAAA,IACA,IAAI,YAAY;AAAA,IAChB;AAAA,IACA,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,aAAa;AAAA,IACb;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACP,aAAW,EAAE,WAAW,CAAC;AAAA,UAC3B,UAAU,EAAE,OAAO,UAAU,YAAY,WAAW,CAAC;AAAA,UACrD,MAAM,UAAU,EAAE;AAAA,UAClB;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,WAAW,cAAc;","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// src/components/index.ts
|
|
2
|
+
export * from "./Accordion/index.mjs";
|
|
3
|
+
export * from "./Alert/index.mjs";
|
|
4
|
+
export * from "./Box/index.mjs";
|
|
5
|
+
export * from "./Button/index.mjs";
|
|
6
|
+
export * from "./Card/index.mjs";
|
|
7
|
+
export * from "./Chip/index.mjs";
|
|
8
|
+
export * from "./Confirm/index.mjs";
|
|
9
|
+
export * from "./Dialog/index.mjs";
|
|
10
|
+
export * from "./Navigation/index.mjs";
|
|
11
|
+
export * from "./Range/index.mjs";
|
|
12
|
+
export * from "./ScrollArea/index.mjs";
|
|
13
|
+
export * from "./Select/index.mjs";
|
|
14
|
+
export * from "./Skeleton/index.mjs";
|
|
15
|
+
export * from "./Table/index.mjs";
|
|
16
|
+
export * from "./Tabs/index.mjs";
|
|
17
|
+
export * from "./TextField/index.mjs";
|
|
18
|
+
export * from "./Toast/index.mjs";
|
|
19
|
+
export * from "./Typography/index.mjs";
|
|
20
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './Accordion';\nexport * from './Alert';\nexport * from './Box';\nexport * from './Button';\nexport * from './Card';\nexport * from './Chip';\nexport * from './Confirm';\nexport * from './Dialog';\nexport * from './Navigation';\nexport * from './Range';\nexport * from './ScrollArea';\nexport * from './Select';\nexport * from './Skeleton';\nexport * from './Table';\nexport * from './Tabs';\nexport * from './TextField';\nexport * from './Toast';\nexport * from './Typography';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './Accordion';\nexport * from './Alert';\nexport * from './Box';\nexport * from './Button';\nexport * from './Card';\nexport * from './Chip';\nexport * from './Confirm';\nexport * from './Dialog';\nexport * from './Navigation';\nexport * from './Range';\nexport * from './ScrollArea';\nexport * from './Select';\nexport * from './Skeleton';\nexport * from './Table';\nexport * from './Tabs';\nexport * from './TextField';\nexport * from './Toast';\nexport * from './Typography';\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import "../chunk-IEP6GGEX.mjs";
|
|
3
|
+
|
|
4
|
+
// src/contexts/UIProvider.tsx
|
|
3
5
|
import { OverlayProvider } from "@kimdw-rtk/utils";
|
|
4
|
-
import { ToastProvider } from "#hooks";
|
|
5
|
-
import * as overlayStyle from "../styles/overlay.css";
|
|
6
|
-
|
|
6
|
+
import { ToastProvider } from "#hooks.mjs";
|
|
7
|
+
import * as overlayStyle from "../styles/overlay.css.mjs";
|
|
8
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
9
|
+
var UIProvider = ({
|
|
7
10
|
children,
|
|
8
11
|
overlayUnmountOn = "transitionEnd"
|
|
9
12
|
}) => {
|
|
@@ -19,4 +22,4 @@ const UIProvider = ({
|
|
|
19
22
|
export {
|
|
20
23
|
UIProvider
|
|
21
24
|
};
|
|
22
|
-
//# sourceMappingURL=UIProvider.
|
|
25
|
+
//# sourceMappingURL=UIProvider.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/contexts/UIProvider.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\n\nimport { OverlayProvider, type OverlayOption } from '@kimdw-rtk/utils';\n\nimport { ToastProvider } from '#hooks';\n\nimport * as overlayStyle from '../styles/overlay.css';\n\ninterface UIProviderProps {\n children: ReactNode;\n overlayUnmountOn?: OverlayOption['unmountOn'];\n}\n\nexport const UIProvider = ({\n children,\n overlayUnmountOn = 'transitionEnd',\n}: UIProviderProps) => {\n return (\n <>\n <OverlayProvider\n className={{ ...overlayStyle }}\n unmountOn={overlayUnmountOn}\n >\n <ToastProvider>{children}</ToastProvider>\n </OverlayProvider>\n </>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/contexts/UIProvider.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\n\nimport { OverlayProvider, type OverlayOption } from '@kimdw-rtk/utils';\n\nimport { ToastProvider } from '#hooks';\n\nimport * as overlayStyle from '../styles/overlay.css';\n\ninterface UIProviderProps {\n children: ReactNode;\n overlayUnmountOn?: OverlayOption['unmountOn'];\n}\n\nexport const UIProvider = ({\n children,\n overlayUnmountOn = 'transitionEnd',\n}: UIProviderProps) => {\n return (\n <>\n <OverlayProvider\n className={{ ...overlayStyle }}\n unmountOn={overlayUnmountOn}\n >\n <ToastProvider>{children}</ToastProvider>\n </OverlayProvider>\n </>\n );\n};\n"],"mappings":";;;;AAIA,SAAS,uBAA2C;AAEpD,SAAS,qBAAqB;AAE9B,YAAY,kBAAkB;AAY1B,mBAKI,WALJ;AALG,IAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA,mBAAmB;AACrB,MAAuB;AACrB,SACE,gCACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,EAAE,GAAG,aAAa;AAAA,MAC7B,WAAW;AAAA,MAEX,8BAAC,iBAAe,UAAS;AAAA;AAAA,EAC3B,GACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/contexts/index.ts"],"sourcesContent":["export * from './UIProvider';\n"],"mappings":";AAAA,cAAc;","names":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// src/hooks/index.ts
|
|
2
|
+
export * from "./useDialog/index.mjs";
|
|
3
|
+
export * from "./usePointerSlider/index.mjs";
|
|
4
|
+
export * from "./useRipple/index.mjs";
|
|
5
|
+
export * from "./useToast/index.mjs";
|
|
6
|
+
export * from "./useToast/ToastProvider.mjs";
|
|
7
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["export * from './useDialog';\nexport * from './usePointerSlider';\nexport * from './useRipple';\nexport * from './useToast';\nexport * from './useToast/ToastProvider';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["export * from './useDialog';\nexport * from './usePointerSlider';\nexport * from './useRipple';\nexport * from './useToast';\nexport * from './useToast/ToastProvider';\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import "../../chunk-IEP6GGEX.mjs";
|
|
3
|
+
|
|
4
|
+
// src/hooks/useDialog/index.tsx
|
|
3
5
|
import { useCallback, useMemo, useRef } from "react";
|
|
4
6
|
import { useOverlay } from "@kimdw-rtk/utils";
|
|
5
|
-
import { Alert, Confirm } from "#components";
|
|
6
|
-
|
|
7
|
+
import { Alert, Confirm } from "#components.mjs";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var useDialog = () => {
|
|
7
10
|
const { push } = useOverlay();
|
|
8
11
|
const dialogRef = useRef(null);
|
|
9
12
|
const alert = useCallback(
|
|
@@ -46,4 +49,4 @@ const useDialog = () => {
|
|
|
46
49
|
export {
|
|
47
50
|
useDialog
|
|
48
51
|
};
|
|
49
|
-
//# sourceMappingURL=index.
|
|
52
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useDialog/index.tsx"],"sourcesContent":["'use client';\n\nimport { type ReactNode, useCallback, useMemo, useRef } from 'react';\n\nimport { useOverlay } from '@kimdw-rtk/utils';\n\nimport { Alert, Confirm } from '#components';\n\nexport const useDialog = () => {\n const { push } = useOverlay();\n const dialogRef = useRef<{ close: () => void }>(null);\n\n const alert = useCallback(\n (message: ReactNode) => {\n return new Promise((resolve) => {\n push(<Alert>{message}</Alert>, { onClose: () => resolve(true) });\n });\n },\n [push],\n );\n\n const confirm = useCallback(\n (message: ReactNode): Promise<boolean> => {\n return new Promise((resolve) => {\n const handleConfirm = () => {\n resolve(true);\n dialogRef.current?.close();\n };\n\n const handleCancle = () => {\n resolve(false);\n dialogRef.current?.close();\n };\n\n push(\n <Confirm\n ref={dialogRef}\n onConfirm={handleConfirm}\n onCancle={handleCancle}\n >\n {message}\n </Confirm>,\n { onClose: () => resolve(false) },\n );\n });\n },\n [push],\n );\n\n return useMemo(() => ({ alert, confirm }), [alert, confirm]);\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useDialog/index.tsx"],"sourcesContent":["'use client';\n\nimport { type ReactNode, useCallback, useMemo, useRef } from 'react';\n\nimport { useOverlay } from '@kimdw-rtk/utils';\n\nimport { Alert, Confirm } from '#components';\n\nexport const useDialog = () => {\n const { push } = useOverlay();\n const dialogRef = useRef<{ close: () => void }>(null);\n\n const alert = useCallback(\n (message: ReactNode) => {\n return new Promise((resolve) => {\n push(<Alert>{message}</Alert>, { onClose: () => resolve(true) });\n });\n },\n [push],\n );\n\n const confirm = useCallback(\n (message: ReactNode): Promise<boolean> => {\n return new Promise((resolve) => {\n const handleConfirm = () => {\n resolve(true);\n dialogRef.current?.close();\n };\n\n const handleCancle = () => {\n resolve(false);\n dialogRef.current?.close();\n };\n\n push(\n <Confirm\n ref={dialogRef}\n onConfirm={handleConfirm}\n onCancle={handleCancle}\n >\n {message}\n </Confirm>,\n { onClose: () => resolve(false) },\n );\n });\n },\n [push],\n );\n\n return useMemo(() => ({ alert, confirm }), [alert, confirm]);\n};\n"],"mappings":";;;;AAEA,SAAyB,aAAa,SAAS,cAAc;AAE7D,SAAS,kBAAkB;AAE3B,SAAS,OAAO,eAAe;AASlB;AAPN,IAAM,YAAY,MAAM;AAC7B,QAAM,EAAE,KAAK,IAAI,WAAW;AAC5B,QAAM,YAAY,OAA8B,IAAI;AAEpD,QAAM,QAAQ;AAAA,IACZ,CAAC,YAAuB;AACtB,aAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,aAAK,oBAAC,SAAO,mBAAQ,GAAU,EAAE,SAAS,MAAM,QAAQ,IAAI,EAAE,CAAC;AAAA,MACjE,CAAC;AAAA,IACH;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,UAAU;AAAA,IACd,CAAC,YAAyC;AACxC,aAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,cAAM,gBAAgB,MAAM;AAC1B,kBAAQ,IAAI;AACZ,oBAAU,SAAS,MAAM;AAAA,QAC3B;AAEA,cAAM,eAAe,MAAM;AACzB,kBAAQ,KAAK;AACb,oBAAU,SAAS,MAAM;AAAA,QAC3B;AAEA;AAAA,UACE;AAAA,YAAC;AAAA;AAAA,cACC,KAAK;AAAA,cACL,WAAW;AAAA,cACX,UAAU;AAAA,cAET;AAAA;AAAA,UACH;AAAA,UACA,EAAE,SAAS,MAAM,QAAQ,KAAK,EAAE;AAAA,QAClC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,SAAO,QAAQ,OAAO,EAAE,OAAO,QAAQ,IAAI,CAAC,OAAO,OAAO,CAAC;AAC7D;","names":[]}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
act,
|
|
3
|
+
react_esm_exports,
|
|
4
|
+
render
|
|
5
|
+
} from "../../chunk-Y4CBEQ5S.mjs";
|
|
6
|
+
import "../../chunk-IEP6GGEX.mjs";
|
|
7
|
+
|
|
8
|
+
// src/hooks/useDialog/useDialog.spec.tsx
|
|
9
|
+
import { UIProvider } from "#contexts.mjs";
|
|
10
|
+
import { useDialog } from "#hooks.mjs";
|
|
1
11
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { act, render, screen, waitFor } from "@testing-library/react";
|
|
3
|
-
import { UIProvider } from "#contexts";
|
|
4
|
-
import { useDialog } from "#hooks";
|
|
5
12
|
describe("useDialog \uD14C\uC2A4\uD2B8", () => {
|
|
6
13
|
const mockFn = jest.fn();
|
|
7
14
|
beforeEach(() => {
|
|
@@ -20,40 +27,40 @@ describe("useDialog \uD14C\uC2A4\uD2B8", () => {
|
|
|
20
27
|
);
|
|
21
28
|
});
|
|
22
29
|
it("\uD655\uC778 \uBC84\uD2BC\uC744 \uB204\uB974\uBA74 alert\uC744 \uB2EB\uC744 \uC218 \uC788\uB2E4.", async () => {
|
|
23
|
-
const alertButton = screen.getByRole("button", { name: "alert click" });
|
|
24
|
-
expect(screen.queryByText("alert")).not.toBeInTheDocument();
|
|
30
|
+
const alertButton = react_esm_exports.screen.getByRole("button", { name: "alert click" });
|
|
31
|
+
expect(react_esm_exports.screen.queryByText("alert")).not.toBeInTheDocument();
|
|
25
32
|
act(() => {
|
|
26
33
|
alertButton.click();
|
|
27
34
|
});
|
|
28
|
-
expect(screen.getByText("alert")).toBeInTheDocument();
|
|
29
|
-
const okButton = screen.getByRole("button", { name: "\uD655\uC778" });
|
|
35
|
+
expect(react_esm_exports.screen.getByText("alert")).toBeInTheDocument();
|
|
36
|
+
const okButton = react_esm_exports.screen.getByRole("button", { name: "\uD655\uC778" });
|
|
30
37
|
act(() => {
|
|
31
38
|
okButton.click();
|
|
32
39
|
});
|
|
33
|
-
expect(screen.queryByText("alert")).not.toBeInTheDocument();
|
|
40
|
+
expect(react_esm_exports.screen.queryByText("alert")).not.toBeInTheDocument();
|
|
34
41
|
});
|
|
35
42
|
it.skip("confirm\uC758 \uD655\uC778 \uBC84\uD2BC\uC744 \uB204\uB974\uBA74 true, \uCDE8\uC18C \uBC84\uD2BC\uC744 \uB204\uB974\uBA74 false\uB97C \uBC18\uD658\uD55C\uB2E4.", async () => {
|
|
36
|
-
const confirmButton = screen.getByRole("button", { name: "confirm click" });
|
|
43
|
+
const confirmButton = react_esm_exports.screen.getByRole("button", { name: "confirm click" });
|
|
37
44
|
act(() => {
|
|
38
45
|
confirmButton.click();
|
|
39
46
|
});
|
|
40
|
-
const okButton = screen.getByRole("button", { name: "\uD655\uC778" });
|
|
47
|
+
const okButton = react_esm_exports.screen.getByRole("button", { name: "\uD655\uC778" });
|
|
41
48
|
act(() => {
|
|
42
49
|
okButton.click();
|
|
43
50
|
});
|
|
44
|
-
await waitFor(() => {
|
|
51
|
+
await (0, react_esm_exports.waitFor)(() => {
|
|
45
52
|
expect(mockFn.mock.calls[0][0]).toBe(true);
|
|
46
53
|
});
|
|
47
54
|
act(() => {
|
|
48
55
|
confirmButton.click();
|
|
49
56
|
});
|
|
50
|
-
const cancelButton = screen.getByRole("button", { name: "\uCDE8\uC18C" });
|
|
57
|
+
const cancelButton = react_esm_exports.screen.getByRole("button", { name: "\uCDE8\uC18C" });
|
|
51
58
|
act(() => {
|
|
52
59
|
cancelButton.click();
|
|
53
60
|
});
|
|
54
|
-
await waitFor(() => {
|
|
61
|
+
await (0, react_esm_exports.waitFor)(() => {
|
|
55
62
|
expect(mockFn.mock.calls[1][0]).toBe(false);
|
|
56
63
|
});
|
|
57
64
|
});
|
|
58
65
|
});
|
|
59
|
-
//# sourceMappingURL=useDialog.spec.
|
|
66
|
+
//# sourceMappingURL=useDialog.spec.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useDialog/useDialog.spec.tsx"],"sourcesContent":["import { act, render, screen, waitFor } from '@testing-library/react';\n\nimport { UIProvider } from '#contexts';\nimport { useDialog } from '#hooks';\n\ndescribe('useDialog 테스트', () => {\n const mockFn = jest.fn();\n\n beforeEach(() => {\n const TestComponent = () => {\n const { alert, confirm } = useDialog();\n\n const handleConfirmClick = async () => {\n mockFn(await confirm('confirm'));\n };\n\n return (\n <>\n <button onClick={() => alert('alert')}>alert click</button>\n <button onClick={handleConfirmClick}>confirm click</button>\n </>\n );\n };\n\n render(\n <UIProvider overlayUnmountOn={'exit'}>\n <TestComponent />\n </UIProvider>,\n );\n });\n\n it('확인 버튼을 누르면 alert을 닫을 수 있다.', async () => {\n const alertButton = screen.getByRole('button', { name: 'alert click' });\n\n expect(screen.queryByText('alert')).not.toBeInTheDocument();\n\n act(() => {\n alertButton.click();\n });\n\n expect(screen.getByText('alert')).toBeInTheDocument();\n\n const okButton = screen.getByRole('button', { name: '확인' });\n act(() => {\n okButton.click();\n });\n\n expect(screen.queryByText('alert')).not.toBeInTheDocument();\n });\n\n it.skip('confirm의 확인 버튼을 누르면 true, 취소 버튼을 누르면 false를 반환한다.', async () => {\n const confirmButton = screen.getByRole('button', { name: 'confirm click' });\n\n act(() => {\n confirmButton.click();\n });\n\n const okButton = screen.getByRole('button', { name: '확인' });\n act(() => {\n okButton.click();\n });\n\n await waitFor(() => {\n expect(mockFn.mock.calls[0][0]).toBe(true);\n });\n\n act(() => {\n confirmButton.click();\n });\n\n const cancelButton = screen.getByRole('button', { name: '취소' });\n act(() => {\n cancelButton.click();\n });\n\n await waitFor(() => {\n expect(mockFn.mock.calls[1][0]).toBe(false);\n });\n });\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useDialog/useDialog.spec.tsx"],"sourcesContent":["import { act, render, screen, waitFor } from '@testing-library/react';\n\nimport { UIProvider } from '#contexts';\nimport { useDialog } from '#hooks';\n\ndescribe('useDialog 테스트', () => {\n const mockFn = jest.fn();\n\n beforeEach(() => {\n const TestComponent = () => {\n const { alert, confirm } = useDialog();\n\n const handleConfirmClick = async () => {\n mockFn(await confirm('confirm'));\n };\n\n return (\n <>\n <button onClick={() => alert('alert')}>alert click</button>\n <button onClick={handleConfirmClick}>confirm click</button>\n </>\n );\n };\n\n render(\n <UIProvider overlayUnmountOn={'exit'}>\n <TestComponent />\n </UIProvider>,\n );\n });\n\n it('확인 버튼을 누르면 alert을 닫을 수 있다.', async () => {\n const alertButton = screen.getByRole('button', { name: 'alert click' });\n\n expect(screen.queryByText('alert')).not.toBeInTheDocument();\n\n act(() => {\n alertButton.click();\n });\n\n expect(screen.getByText('alert')).toBeInTheDocument();\n\n const okButton = screen.getByRole('button', { name: '확인' });\n act(() => {\n okButton.click();\n });\n\n expect(screen.queryByText('alert')).not.toBeInTheDocument();\n });\n\n it.skip('confirm의 확인 버튼을 누르면 true, 취소 버튼을 누르면 false를 반환한다.', async () => {\n const confirmButton = screen.getByRole('button', { name: 'confirm click' });\n\n act(() => {\n confirmButton.click();\n });\n\n const okButton = screen.getByRole('button', { name: '확인' });\n act(() => {\n okButton.click();\n });\n\n await waitFor(() => {\n expect(mockFn.mock.calls[0][0]).toBe(true);\n });\n\n act(() => {\n confirmButton.click();\n });\n\n const cancelButton = screen.getByRole('button', { name: '취소' });\n act(() => {\n cancelButton.click();\n });\n\n await waitFor(() => {\n expect(mockFn.mock.calls[1][0]).toBe(false);\n });\n });\n});\n"],"mappings":";;;;;;;;AAEA,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAclB,mBACE,KADF;AAZR,SAAS,gCAAiB,MAAM;AAC9B,QAAM,SAAS,KAAK,GAAG;AAEvB,aAAW,MAAM;AACf,UAAM,gBAAgB,MAAM;AAC1B,YAAM,EAAE,OAAO,QAAQ,IAAI,UAAU;AAErC,YAAM,qBAAqB,YAAY;AACrC,eAAO,MAAM,QAAQ,SAAS,CAAC;AAAA,MACjC;AAEA,aACE,iCACE;AAAA,4BAAC,YAAO,SAAS,MAAM,MAAM,OAAO,GAAG,yBAAW;AAAA,QAClD,oBAAC,YAAO,SAAS,oBAAoB,2BAAa;AAAA,SACpD;AAAA,IAEJ;AAEA;AAAA,MACE,oBAAC,cAAW,kBAAkB,QAC5B,8BAAC,iBAAc,GACjB;AAAA,IACF;AAAA,EACF,CAAC;AAED,KAAG,oGAA8B,YAAY;AAC3C,UAAM,cAAc,yBAAO,UAAU,UAAU,EAAE,MAAM,cAAc,CAAC;AAEtE,WAAO,yBAAO,YAAY,OAAO,CAAC,EAAE,IAAI,kBAAkB;AAE1D,QAAI,MAAM;AACR,kBAAY,MAAM;AAAA,IACpB,CAAC;AAED,WAAO,yBAAO,UAAU,OAAO,CAAC,EAAE,kBAAkB;AAEpD,UAAM,WAAW,yBAAO,UAAU,UAAU,EAAE,MAAM,eAAK,CAAC;AAC1D,QAAI,MAAM;AACR,eAAS,MAAM;AAAA,IACjB,CAAC;AAED,WAAO,yBAAO,YAAY,OAAO,CAAC,EAAE,IAAI,kBAAkB;AAAA,EAC5D,CAAC;AAED,KAAG,KAAK,mKAAqD,YAAY;AACvE,UAAM,gBAAgB,yBAAO,UAAU,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE1E,QAAI,MAAM;AACR,oBAAc,MAAM;AAAA,IACtB,CAAC;AAED,UAAM,WAAW,yBAAO,UAAU,UAAU,EAAE,MAAM,eAAK,CAAC;AAC1D,QAAI,MAAM;AACR,eAAS,MAAM;AAAA,IACjB,CAAC;AAED,cAAM,2BAAQ,MAAM;AAClB,aAAO,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI;AAAA,IAC3C,CAAC;AAED,QAAI,MAAM;AACR,oBAAc,MAAM;AAAA,IACtB,CAAC;AAED,UAAM,eAAe,yBAAO,UAAU,UAAU,EAAE,MAAM,eAAK,CAAC;AAC9D,QAAI,MAAM;AACR,mBAAa,MAAM;AAAA,IACrB,CAAC;AAED,cAAM,2BAAQ,MAAM;AAClB,aAAO,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK;AAAA,IAC5C,CAAC;AAAA,EACH,CAAC;AACH,CAAC;","names":[]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import "../../chunk-IEP6GGEX.mjs";
|
|
3
|
+
|
|
4
|
+
// src/hooks/useMouseScroll/index.ts
|
|
2
5
|
import { useEffect } from "react";
|
|
3
|
-
|
|
6
|
+
var useMouseScroll = (ref) => {
|
|
4
7
|
useEffect(() => {
|
|
5
8
|
const element = ref.current;
|
|
6
9
|
let isDown = false, startX = 0, startLeft = 0;
|
|
@@ -45,4 +48,4 @@ const useMouseScroll = (ref) => {
|
|
|
45
48
|
export {
|
|
46
49
|
useMouseScroll
|
|
47
50
|
};
|
|
48
|
-
//# sourceMappingURL=index.
|
|
51
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useMouseScroll/index.ts"],"sourcesContent":["'use client';\n\nimport { useEffect } from 'react';\n\n/**\n * 마우스를 사용하는 환경에서도 드래그로 가로 스크롤을 할 수 있게 만드는 hook\n */\nexport const useMouseScroll = <T extends React.RefObject<HTMLElement | null>>(\n ref: T,\n): void => {\n useEffect(() => {\n const element = ref.current;\n let isDown = false,\n startX = 0,\n startLeft = 0;\n\n if (element === null) {\n return;\n }\n\n const handleMouseDown = (e: MouseEvent) => {\n if (!element.contains(e.target as Node)) {\n return;\n }\n\n isDown = true;\n\n startLeft = element.scrollLeft;\n startX = e.x;\n };\n\n const handleMouseMove = (e: MouseEvent) => {\n if (!isDown) {\n return;\n }\n\n element.scrollLeft = startLeft + startX - e.x;\n };\n\n const handleMouseUp = () => {\n isDown = false;\n };\n\n const handleWheel = (e: WheelEvent) => {\n element.scrollTo({\n left: element.scrollLeft + e.deltaY,\n behavior: 'smooth',\n });\n };\n\n window.addEventListener('mousedown', handleMouseDown);\n window.addEventListener('mousemove', handleMouseMove);\n window.addEventListener('mouseup', handleMouseUp);\n element.addEventListener('wheel', handleWheel);\n\n return () => {\n window.removeEventListener('mousedown', handleMouseDown);\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n element.removeEventListener('wheel', handleWheel);\n };\n }, [ref]);\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useMouseScroll/index.ts"],"sourcesContent":["'use client';\n\nimport { useEffect } from 'react';\n\n/**\n * 마우스를 사용하는 환경에서도 드래그로 가로 스크롤을 할 수 있게 만드는 hook\n */\nexport const useMouseScroll = <T extends React.RefObject<HTMLElement | null>>(\n ref: T,\n): void => {\n useEffect(() => {\n const element = ref.current;\n let isDown = false,\n startX = 0,\n startLeft = 0;\n\n if (element === null) {\n return;\n }\n\n const handleMouseDown = (e: MouseEvent) => {\n if (!element.contains(e.target as Node)) {\n return;\n }\n\n isDown = true;\n\n startLeft = element.scrollLeft;\n startX = e.x;\n };\n\n const handleMouseMove = (e: MouseEvent) => {\n if (!isDown) {\n return;\n }\n\n element.scrollLeft = startLeft + startX - e.x;\n };\n\n const handleMouseUp = () => {\n isDown = false;\n };\n\n const handleWheel = (e: WheelEvent) => {\n element.scrollTo({\n left: element.scrollLeft + e.deltaY,\n behavior: 'smooth',\n });\n };\n\n window.addEventListener('mousedown', handleMouseDown);\n window.addEventListener('mousemove', handleMouseMove);\n window.addEventListener('mouseup', handleMouseUp);\n element.addEventListener('wheel', handleWheel);\n\n return () => {\n window.removeEventListener('mousedown', handleMouseDown);\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n element.removeEventListener('wheel', handleWheel);\n };\n }, [ref]);\n};\n"],"mappings":";;;;AAEA,SAAS,iBAAiB;AAKnB,IAAM,iBAAiB,CAC5B,QACS;AACT,YAAU,MAAM;AACd,UAAM,UAAU,IAAI;AACpB,QAAI,SAAS,OACX,SAAS,GACT,YAAY;AAEd,QAAI,YAAY,MAAM;AACpB;AAAA,IACF;AAEA,UAAM,kBAAkB,CAAC,MAAkB;AACzC,UAAI,CAAC,QAAQ,SAAS,EAAE,MAAc,GAAG;AACvC;AAAA,MACF;AAEA,eAAS;AAET,kBAAY,QAAQ;AACpB,eAAS,EAAE;AAAA,IACb;AAEA,UAAM,kBAAkB,CAAC,MAAkB;AACzC,UAAI,CAAC,QAAQ;AACX;AAAA,MACF;AAEA,cAAQ,aAAa,YAAY,SAAS,EAAE;AAAA,IAC9C;AAEA,UAAM,gBAAgB,MAAM;AAC1B,eAAS;AAAA,IACX;AAEA,UAAM,cAAc,CAAC,MAAkB;AACrC,cAAQ,SAAS;AAAA,QACf,MAAM,QAAQ,aAAa,EAAE;AAAA,QAC7B,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAEA,WAAO,iBAAiB,aAAa,eAAe;AACpD,WAAO,iBAAiB,aAAa,eAAe;AACpD,WAAO,iBAAiB,WAAW,aAAa;AAChD,YAAQ,iBAAiB,SAAS,WAAW;AAE7C,WAAO,MAAM;AACX,aAAO,oBAAoB,aAAa,eAAe;AACvD,aAAO,oBAAoB,aAAa,eAAe;AACvD,aAAO,oBAAoB,WAAW,aAAa;AACnD,cAAQ,oBAAoB,SAAS,WAAW;AAAA,IAClD;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AACV;","names":[]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import "../../chunk-IEP6GGEX.mjs";
|
|
3
|
+
|
|
4
|
+
// src/hooks/usePointerSlider/index.ts
|
|
2
5
|
import { useEffect, useState } from "react";
|
|
3
|
-
|
|
6
|
+
var usePointerSlider = (ref, {
|
|
4
7
|
min,
|
|
5
8
|
max,
|
|
6
9
|
defaultValue
|
|
@@ -55,4 +58,4 @@ const usePointerSlider = (ref, {
|
|
|
55
58
|
export {
|
|
56
59
|
usePointerSlider
|
|
57
60
|
};
|
|
58
|
-
//# sourceMappingURL=index.
|
|
61
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/usePointerSlider/index.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const usePointerSlider = <T extends React.RefObject<HTMLElement | null>>(\n ref: T,\n {\n min,\n max,\n defaultValue,\n }: {\n min: number;\n max: number;\n defaultValue: number;\n },\n): number => {\n const [value, setValue] = useState<number>(defaultValue);\n\n useEffect(() => {\n const element = ref.current;\n let isDown = false,\n parentWidth = 0,\n parentX = 0;\n\n if (element === null) {\n return;\n }\n\n element.style.left = `${((value - min) / (max - min)) * 100}%`;\n\n const handlePointerDown = (e: PointerEvent) => {\n element.setPointerCapture(e.pointerId);\n isDown = true;\n const boundingRect = element.parentElement?.getBoundingClientRect();\n\n if (boundingRect === undefined) {\n return;\n }\n\n parentWidth = boundingRect.width;\n parentX = boundingRect.x;\n };\n\n const handlePointerMove = (e: PointerEvent) => {\n if (!isDown) {\n return;\n }\n\n const currentValue = Math.min(\n max,\n Math.max(\n min,\n Math.round((e.clientX - parentX) / (parentWidth / (max - min))) + min,\n ),\n );\n\n element.style.left = `${((currentValue - min) / (max - min)) * 100}%`;\n\n setValue(currentValue);\n };\n\n const handlePointerUp = (e: PointerEvent) => {\n element.releasePointerCapture(e.pointerId);\n isDown = false;\n };\n\n element.addEventListener('pointerdown', handlePointerDown);\n element.addEventListener('pointermove', handlePointerMove);\n element.addEventListener('pointerup', handlePointerUp);\n\n return () => {\n element.removeEventListener('pointerdown', handlePointerDown);\n element.removeEventListener('pointermove', handlePointerMove);\n element.removeEventListener('pointerup', handlePointerUp);\n };\n }, [ref, max, min, value]);\n\n return value;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/usePointerSlider/index.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const usePointerSlider = <T extends React.RefObject<HTMLElement | null>>(\n ref: T,\n {\n min,\n max,\n defaultValue,\n }: {\n min: number;\n max: number;\n defaultValue: number;\n },\n): number => {\n const [value, setValue] = useState<number>(defaultValue);\n\n useEffect(() => {\n const element = ref.current;\n let isDown = false,\n parentWidth = 0,\n parentX = 0;\n\n if (element === null) {\n return;\n }\n\n element.style.left = `${((value - min) / (max - min)) * 100}%`;\n\n const handlePointerDown = (e: PointerEvent) => {\n element.setPointerCapture(e.pointerId);\n isDown = true;\n const boundingRect = element.parentElement?.getBoundingClientRect();\n\n if (boundingRect === undefined) {\n return;\n }\n\n parentWidth = boundingRect.width;\n parentX = boundingRect.x;\n };\n\n const handlePointerMove = (e: PointerEvent) => {\n if (!isDown) {\n return;\n }\n\n const currentValue = Math.min(\n max,\n Math.max(\n min,\n Math.round((e.clientX - parentX) / (parentWidth / (max - min))) + min,\n ),\n );\n\n element.style.left = `${((currentValue - min) / (max - min)) * 100}%`;\n\n setValue(currentValue);\n };\n\n const handlePointerUp = (e: PointerEvent) => {\n element.releasePointerCapture(e.pointerId);\n isDown = false;\n };\n\n element.addEventListener('pointerdown', handlePointerDown);\n element.addEventListener('pointermove', handlePointerMove);\n element.addEventListener('pointerup', handlePointerUp);\n\n return () => {\n element.removeEventListener('pointerdown', handlePointerDown);\n element.removeEventListener('pointermove', handlePointerMove);\n element.removeEventListener('pointerup', handlePointerUp);\n };\n }, [ref, max, min, value]);\n\n return value;\n};\n"],"mappings":";;;;AAEA,SAAS,WAAW,gBAAgB;AAE7B,IAAM,mBAAmB,CAC9B,KACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF,MAKW;AACX,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,YAAY;AAEvD,YAAU,MAAM;AACd,UAAM,UAAU,IAAI;AACpB,QAAI,SAAS,OACX,cAAc,GACd,UAAU;AAEZ,QAAI,YAAY,MAAM;AACpB;AAAA,IACF;AAEA,YAAQ,MAAM,OAAO,IAAK,QAAQ,QAAQ,MAAM,OAAQ,GAAG;AAE3D,UAAM,oBAAoB,CAAC,MAAoB;AAC7C,cAAQ,kBAAkB,EAAE,SAAS;AACrC,eAAS;AACT,YAAM,eAAe,QAAQ,eAAe,sBAAsB;AAElE,UAAI,iBAAiB,QAAW;AAC9B;AAAA,MACF;AAEA,oBAAc,aAAa;AAC3B,gBAAU,aAAa;AAAA,IACzB;AAEA,UAAM,oBAAoB,CAAC,MAAoB;AAC7C,UAAI,CAAC,QAAQ;AACX;AAAA,MACF;AAEA,YAAM,eAAe,KAAK;AAAA,QACxB;AAAA,QACA,KAAK;AAAA,UACH;AAAA,UACA,KAAK,OAAO,EAAE,UAAU,YAAY,eAAe,MAAM,KAAK,IAAI;AAAA,QACpE;AAAA,MACF;AAEA,cAAQ,MAAM,OAAO,IAAK,eAAe,QAAQ,MAAM,OAAQ,GAAG;AAElE,eAAS,YAAY;AAAA,IACvB;AAEA,UAAM,kBAAkB,CAAC,MAAoB;AAC3C,cAAQ,sBAAsB,EAAE,SAAS;AACzC,eAAS;AAAA,IACX;AAEA,YAAQ,iBAAiB,eAAe,iBAAiB;AACzD,YAAQ,iBAAiB,eAAe,iBAAiB;AACzD,YAAQ,iBAAiB,aAAa,eAAe;AAErD,WAAO,MAAM;AACX,cAAQ,oBAAoB,eAAe,iBAAiB;AAC5D,cAAQ,oBAAoB,eAAe,iBAAiB;AAC5D,cAAQ,oBAAoB,aAAa,eAAe;AAAA,IAC1D;AAAA,EACF,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,CAAC;AAEzB,SAAO;AACT;","names":[]}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import "../../chunk-IEP6GGEX.mjs";
|
|
3
|
+
|
|
4
|
+
// src/hooks/useRipple/index.tsx
|
|
3
5
|
import { useEffect, useMemo, useRef } from "react";
|
|
4
|
-
import * as s from "./ripple.css";
|
|
5
|
-
|
|
6
|
+
import * as s from "./ripple.css.mjs";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
var useRipple = (ref) => {
|
|
6
9
|
const rippleRef = useRef(null);
|
|
7
10
|
useEffect(() => {
|
|
8
11
|
let element = null;
|
|
@@ -14,11 +17,11 @@ const useRipple = (ref) => {
|
|
|
14
17
|
} else {
|
|
15
18
|
element = ref.current;
|
|
16
19
|
}
|
|
17
|
-
const
|
|
20
|
+
const ripple2 = rippleRef.current;
|
|
18
21
|
let timer;
|
|
19
22
|
let isAnimationPending = false;
|
|
20
23
|
let isFadeIn = false, isMouseDown = false, isTransitionEnd = true;
|
|
21
|
-
if (!
|
|
24
|
+
if (!ripple2 || !element) {
|
|
22
25
|
return;
|
|
23
26
|
}
|
|
24
27
|
const clearTimer = () => {
|
|
@@ -28,15 +31,15 @@ const useRipple = (ref) => {
|
|
|
28
31
|
const runAnimation = (x, y) => {
|
|
29
32
|
const width = element.clientWidth / 2 + Math.abs(element.clientWidth / 2 - x), height = element.clientHeight / 2 + Math.abs(element.clientHeight / 2 - y);
|
|
30
33
|
const size = Math.round(Math.sqrt(width ** 2 + height ** 2) * 2);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
ripple2.style.width = `${size}px`;
|
|
35
|
+
ripple2.style.height = `${size}px`;
|
|
36
|
+
ripple2.style.left = `${x}px`;
|
|
37
|
+
ripple2.style.top = `${y}px`;
|
|
38
|
+
ripple2.style.boxShadow = `${s.colorVar} 0 0 ${size / 10}px ${size / 10}px`;
|
|
39
|
+
ripple2.className = s.ripple({ animation: false });
|
|
40
|
+
ripple2.offsetTop;
|
|
41
|
+
ripple2.className = s.ripple({ animation: true });
|
|
42
|
+
ripple2.style.opacity = "1";
|
|
40
43
|
isAnimationPending = false;
|
|
41
44
|
isFadeIn = true;
|
|
42
45
|
isTransitionEnd = false;
|
|
@@ -52,7 +55,7 @@ const useRipple = (ref) => {
|
|
|
52
55
|
runAnimation(e.offsetX, e.offsetY);
|
|
53
56
|
};
|
|
54
57
|
const handlePointerDown = (e) => {
|
|
55
|
-
if (e.button !== 0 || !
|
|
58
|
+
if (e.button !== 0 || !ripple2 || !isTransitionEnd) {
|
|
56
59
|
return;
|
|
57
60
|
}
|
|
58
61
|
if (element instanceof HTMLButtonElement && element.disabled) {
|
|
@@ -73,7 +76,7 @@ const useRipple = (ref) => {
|
|
|
73
76
|
}
|
|
74
77
|
clearTimer();
|
|
75
78
|
if (!isFadeIn) {
|
|
76
|
-
|
|
79
|
+
ripple2.style.opacity = "0";
|
|
77
80
|
isFadeIn = false;
|
|
78
81
|
}
|
|
79
82
|
isMouseDown = false;
|
|
@@ -81,7 +84,7 @@ const useRipple = (ref) => {
|
|
|
81
84
|
const handleTransitionEnd = (e) => {
|
|
82
85
|
if (e.propertyName === "opacity" && isFadeIn) {
|
|
83
86
|
if (!isMouseDown) {
|
|
84
|
-
|
|
87
|
+
ripple2.style.opacity = "0";
|
|
85
88
|
}
|
|
86
89
|
isFadeIn = false;
|
|
87
90
|
return;
|
|
@@ -94,13 +97,13 @@ const useRipple = (ref) => {
|
|
|
94
97
|
element.addEventListener("pointerdown", handlePointerDown);
|
|
95
98
|
element.addEventListener("pointerup", handlePointerUp);
|
|
96
99
|
element.addEventListener("pointerleave", handlePointerUp);
|
|
97
|
-
|
|
100
|
+
ripple2.addEventListener("transitionend", handleTransitionEnd);
|
|
98
101
|
return () => {
|
|
99
102
|
element.removeEventListener("click", handleClick);
|
|
100
103
|
element.removeEventListener("pointerdown", handlePointerDown);
|
|
101
104
|
element.removeEventListener("pointerup", handlePointerUp);
|
|
102
105
|
element.removeEventListener("pointerleave", handlePointerUp);
|
|
103
|
-
|
|
106
|
+
ripple2.removeEventListener("transitionend", handleTransitionEnd);
|
|
104
107
|
};
|
|
105
108
|
}, [ref, rippleRef]);
|
|
106
109
|
return useMemo(
|
|
@@ -113,4 +116,4 @@ const useRipple = (ref) => {
|
|
|
113
116
|
export {
|
|
114
117
|
useRipple
|
|
115
118
|
};
|
|
116
|
-
//# sourceMappingURL=index.
|
|
119
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useRipple/index.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useMemo, useRef } from 'react';\n\nimport * as s from './ripple.css';\n\nexport const useRipple = <T extends HTMLElement>(ref?: React.Ref<T>) => {\n const rippleRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let element: T | null = null;\n\n if (!ref) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(element);\n } else {\n element = ref.current;\n }\n\n const ripple = rippleRef.current;\n\n let timer: ReturnType<typeof setTimeout>;\n let isAnimationPending = false;\n\n let isFadeIn = false,\n isMouseDown = false,\n isTransitionEnd = true;\n\n if (!ripple || !element) {\n return;\n }\n\n const clearTimer = () => {\n clearTimeout(timer);\n isAnimationPending = false;\n };\n\n const runAnimation = (x: number, y: number) => {\n const width =\n element.clientWidth / 2 + Math.abs(element.clientWidth / 2 - x),\n height =\n element.clientHeight / 2 + Math.abs(element.clientHeight / 2 - y);\n const size = Math.round(Math.sqrt(width ** 2 + height ** 2) * 2);\n\n ripple.style.width = `${size}px`;\n ripple.style.height = `${size}px`;\n ripple.style.left = `${x}px`;\n ripple.style.top = `${y}px`;\n\n ripple.style.boxShadow = `${s.colorVar} 0 0 ${size / 10}px ${size / 10}px`;\n ripple.className = s.ripple({ animation: false });\n //eslint-disable-next-line\n ripple.offsetTop;\n ripple.className = s.ripple({ animation: true });\n ripple.style.opacity = '1';\n\n isAnimationPending = false;\n isFadeIn = true;\n isTransitionEnd = false;\n };\n\n const handleClick = (e: MouseEvent) => {\n if (!isAnimationPending) {\n return;\n }\n\n if (element instanceof HTMLButtonElement && element.disabled) {\n return;\n }\n\n clearTimer();\n runAnimation(e.offsetX, e.offsetY);\n };\n\n const handlePointerDown = (e: PointerEvent) => {\n if (e.button !== 0 || !ripple || !isTransitionEnd) {\n return;\n }\n\n if (element instanceof HTMLButtonElement && element.disabled) {\n return;\n }\n\n isMouseDown = true;\n\n if (e.pointerType === 'mouse') {\n runAnimation(e.offsetX, e.offsetY);\n return;\n }\n\n clearTimer();\n isAnimationPending = true;\n timer = setTimeout(() => runAnimation(e.offsetX, e.offsetY), 100);\n };\n\n const handlePointerUp = () => {\n if (!isMouseDown) {\n return;\n }\n\n clearTimer();\n\n if (!isFadeIn) {\n ripple.style.opacity = '0';\n isFadeIn = false;\n }\n\n isMouseDown = false;\n };\n\n const handleTransitionEnd = (e: TransitionEvent) => {\n if (e.propertyName === 'opacity' && isFadeIn) {\n if (!isMouseDown) {\n ripple.style.opacity = '0';\n }\n\n isFadeIn = false;\n return;\n }\n\n if (e.propertyName === 'transform' && !isFadeIn) {\n isTransitionEnd = true;\n }\n };\n\n element.addEventListener('click', handleClick);\n element.addEventListener('pointerdown', handlePointerDown);\n element.addEventListener('pointerup', handlePointerUp);\n element.addEventListener('pointerleave', handlePointerUp);\n ripple.addEventListener('transitionend', handleTransitionEnd);\n\n return () => {\n element.removeEventListener('click', handleClick);\n element.removeEventListener('pointerdown', handlePointerDown);\n element.removeEventListener('pointerup', handlePointerUp);\n element.removeEventListener('pointerleave', handlePointerUp);\n ripple.removeEventListener('transitionend', handleTransitionEnd);\n };\n }, [ref, rippleRef]);\n\n return useMemo(\n () => ({\n ripple: (\n <div ref={rippleRef} className={s.ripple({ animation: false })} />\n ),\n }),\n [rippleRef],\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useRipple/index.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useMemo, useRef } from 'react';\n\nimport * as s from './ripple.css';\n\nexport const useRipple = <T extends HTMLElement>(ref?: React.Ref<T>) => {\n const rippleRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let element: T | null = null;\n\n if (!ref) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(element);\n } else {\n element = ref.current;\n }\n\n const ripple = rippleRef.current;\n\n let timer: ReturnType<typeof setTimeout>;\n let isAnimationPending = false;\n\n let isFadeIn = false,\n isMouseDown = false,\n isTransitionEnd = true;\n\n if (!ripple || !element) {\n return;\n }\n\n const clearTimer = () => {\n clearTimeout(timer);\n isAnimationPending = false;\n };\n\n const runAnimation = (x: number, y: number) => {\n const width =\n element.clientWidth / 2 + Math.abs(element.clientWidth / 2 - x),\n height =\n element.clientHeight / 2 + Math.abs(element.clientHeight / 2 - y);\n const size = Math.round(Math.sqrt(width ** 2 + height ** 2) * 2);\n\n ripple.style.width = `${size}px`;\n ripple.style.height = `${size}px`;\n ripple.style.left = `${x}px`;\n ripple.style.top = `${y}px`;\n\n ripple.style.boxShadow = `${s.colorVar} 0 0 ${size / 10}px ${size / 10}px`;\n ripple.className = s.ripple({ animation: false });\n //eslint-disable-next-line\n ripple.offsetTop;\n ripple.className = s.ripple({ animation: true });\n ripple.style.opacity = '1';\n\n isAnimationPending = false;\n isFadeIn = true;\n isTransitionEnd = false;\n };\n\n const handleClick = (e: MouseEvent) => {\n if (!isAnimationPending) {\n return;\n }\n\n if (element instanceof HTMLButtonElement && element.disabled) {\n return;\n }\n\n clearTimer();\n runAnimation(e.offsetX, e.offsetY);\n };\n\n const handlePointerDown = (e: PointerEvent) => {\n if (e.button !== 0 || !ripple || !isTransitionEnd) {\n return;\n }\n\n if (element instanceof HTMLButtonElement && element.disabled) {\n return;\n }\n\n isMouseDown = true;\n\n if (e.pointerType === 'mouse') {\n runAnimation(e.offsetX, e.offsetY);\n return;\n }\n\n clearTimer();\n isAnimationPending = true;\n timer = setTimeout(() => runAnimation(e.offsetX, e.offsetY), 100);\n };\n\n const handlePointerUp = () => {\n if (!isMouseDown) {\n return;\n }\n\n clearTimer();\n\n if (!isFadeIn) {\n ripple.style.opacity = '0';\n isFadeIn = false;\n }\n\n isMouseDown = false;\n };\n\n const handleTransitionEnd = (e: TransitionEvent) => {\n if (e.propertyName === 'opacity' && isFadeIn) {\n if (!isMouseDown) {\n ripple.style.opacity = '0';\n }\n\n isFadeIn = false;\n return;\n }\n\n if (e.propertyName === 'transform' && !isFadeIn) {\n isTransitionEnd = true;\n }\n };\n\n element.addEventListener('click', handleClick);\n element.addEventListener('pointerdown', handlePointerDown);\n element.addEventListener('pointerup', handlePointerUp);\n element.addEventListener('pointerleave', handlePointerUp);\n ripple.addEventListener('transitionend', handleTransitionEnd);\n\n return () => {\n element.removeEventListener('click', handleClick);\n element.removeEventListener('pointerdown', handlePointerDown);\n element.removeEventListener('pointerup', handlePointerUp);\n element.removeEventListener('pointerleave', handlePointerUp);\n ripple.removeEventListener('transitionend', handleTransitionEnd);\n };\n }, [ref, rippleRef]);\n\n return useMemo(\n () => ({\n ripple: (\n <div ref={rippleRef} className={s.ripple({ animation: false })} />\n ),\n }),\n [rippleRef],\n );\n};\n"],"mappings":";;;;AAEA,SAAS,WAAW,SAAS,cAAc;AAE3C,YAAY,OAAO;AA8IX;AA5ID,IAAM,YAAY,CAAwB,QAAuB;AACtE,QAAM,YAAY,OAAuB,IAAI;AAE7C,YAAU,MAAM;AACd,QAAI,UAAoB;AAExB,QAAI,CAAC,KAAK;AACR;AAAA,IACF;AAEA,QAAI,OAAO,QAAQ,YAAY;AAC7B,UAAI,OAAO;AAAA,IACb,OAAO;AACL,gBAAU,IAAI;AAAA,IAChB;AAEA,UAAMA,UAAS,UAAU;AAEzB,QAAI;AACJ,QAAI,qBAAqB;AAEzB,QAAI,WAAW,OACb,cAAc,OACd,kBAAkB;AAEpB,QAAI,CAACA,WAAU,CAAC,SAAS;AACvB;AAAA,IACF;AAEA,UAAM,aAAa,MAAM;AACvB,mBAAa,KAAK;AAClB,2BAAqB;AAAA,IACvB;AAEA,UAAM,eAAe,CAAC,GAAW,MAAc;AAC7C,YAAM,QACF,QAAQ,cAAc,IAAI,KAAK,IAAI,QAAQ,cAAc,IAAI,CAAC,GAChE,SACE,QAAQ,eAAe,IAAI,KAAK,IAAI,QAAQ,eAAe,IAAI,CAAC;AACpE,YAAM,OAAO,KAAK,MAAM,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC;AAE/D,MAAAA,QAAO,MAAM,QAAQ,GAAG,IAAI;AAC5B,MAAAA,QAAO,MAAM,SAAS,GAAG,IAAI;AAC7B,MAAAA,QAAO,MAAM,OAAO,GAAG,CAAC;AACxB,MAAAA,QAAO,MAAM,MAAM,GAAG,CAAC;AAEvB,MAAAA,QAAO,MAAM,YAAY,GAAK,UAAQ,QAAQ,OAAO,EAAE,MAAM,OAAO,EAAE;AACtE,MAAAA,QAAO,YAAc,SAAO,EAAE,WAAW,MAAM,CAAC;AAEhD,MAAAA,QAAO;AACP,MAAAA,QAAO,YAAc,SAAO,EAAE,WAAW,KAAK,CAAC;AAC/C,MAAAA,QAAO,MAAM,UAAU;AAEvB,2BAAqB;AACrB,iBAAW;AACX,wBAAkB;AAAA,IACpB;AAEA,UAAM,cAAc,CAAC,MAAkB;AACrC,UAAI,CAAC,oBAAoB;AACvB;AAAA,MACF;AAEA,UAAI,mBAAmB,qBAAqB,QAAQ,UAAU;AAC5D;AAAA,MACF;AAEA,iBAAW;AACX,mBAAa,EAAE,SAAS,EAAE,OAAO;AAAA,IACnC;AAEA,UAAM,oBAAoB,CAAC,MAAoB;AAC7C,UAAI,EAAE,WAAW,KAAK,CAACA,WAAU,CAAC,iBAAiB;AACjD;AAAA,MACF;AAEA,UAAI,mBAAmB,qBAAqB,QAAQ,UAAU;AAC5D;AAAA,MACF;AAEA,oBAAc;AAEd,UAAI,EAAE,gBAAgB,SAAS;AAC7B,qBAAa,EAAE,SAAS,EAAE,OAAO;AACjC;AAAA,MACF;AAEA,iBAAW;AACX,2BAAqB;AACrB,cAAQ,WAAW,MAAM,aAAa,EAAE,SAAS,EAAE,OAAO,GAAG,GAAG;AAAA,IAClE;AAEA,UAAM,kBAAkB,MAAM;AAC5B,UAAI,CAAC,aAAa;AAChB;AAAA,MACF;AAEA,iBAAW;AAEX,UAAI,CAAC,UAAU;AACb,QAAAA,QAAO,MAAM,UAAU;AACvB,mBAAW;AAAA,MACb;AAEA,oBAAc;AAAA,IAChB;AAEA,UAAM,sBAAsB,CAAC,MAAuB;AAClD,UAAI,EAAE,iBAAiB,aAAa,UAAU;AAC5C,YAAI,CAAC,aAAa;AAChB,UAAAA,QAAO,MAAM,UAAU;AAAA,QACzB;AAEA,mBAAW;AACX;AAAA,MACF;AAEA,UAAI,EAAE,iBAAiB,eAAe,CAAC,UAAU;AAC/C,0BAAkB;AAAA,MACpB;AAAA,IACF;AAEA,YAAQ,iBAAiB,SAAS,WAAW;AAC7C,YAAQ,iBAAiB,eAAe,iBAAiB;AACzD,YAAQ,iBAAiB,aAAa,eAAe;AACrD,YAAQ,iBAAiB,gBAAgB,eAAe;AACxD,IAAAA,QAAO,iBAAiB,iBAAiB,mBAAmB;AAE5D,WAAO,MAAM;AACX,cAAQ,oBAAoB,SAAS,WAAW;AAChD,cAAQ,oBAAoB,eAAe,iBAAiB;AAC5D,cAAQ,oBAAoB,aAAa,eAAe;AACxD,cAAQ,oBAAoB,gBAAgB,eAAe;AAC3D,MAAAA,QAAO,oBAAoB,iBAAiB,mBAAmB;AAAA,IACjE;AAAA,EACF,GAAG,CAAC,KAAK,SAAS,CAAC;AAEnB,SAAO;AAAA,IACL,OAAO;AAAA,MACL,QACE,oBAAC,SAAI,KAAK,WAAW,WAAa,SAAO,EAAE,WAAW,MAAM,CAAC,GAAG;AAAA,IAEpE;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AACF;","names":["ripple"]}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import "../../chunk-IEP6GGEX.mjs";
|
|
2
|
+
|
|
3
|
+
// src/hooks/useRipple/ripple.css.ts
|
|
1
4
|
import { createVar } from "@vanilla-extract/css";
|
|
2
5
|
import { recipe } from "@vanilla-extract/recipes";
|
|
3
|
-
import { theme } from "#themes";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
import { theme } from "#themes.mjs";
|
|
7
|
+
var colorVar = createVar();
|
|
8
|
+
var ripple = recipe({
|
|
6
9
|
base: {
|
|
7
10
|
position: "absolute",
|
|
8
11
|
left: "0",
|
|
@@ -32,4 +35,4 @@ export {
|
|
|
32
35
|
colorVar,
|
|
33
36
|
ripple
|
|
34
37
|
};
|
|
35
|
-
//# sourceMappingURL=ripple.css.
|
|
38
|
+
//# sourceMappingURL=ripple.css.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useRipple/ripple.css.ts"],"sourcesContent":["import { createVar } from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { theme } from '#themes';\n\nexport const colorVar = createVar();\n\nexport const ripple = recipe({\n base: {\n position: 'absolute',\n left: '0',\n top: '0',\n\n borderRadius: '50%',\n\n backgroundColor: colorVar,\n\n opacity: '0',\n transformOrigin: 'center center',\n\n pointerEvents: 'none',\n\n vars: {\n [colorVar]: `color-mix(in srgb, rgba(${theme.color.accent}, 0.2) 20%, rgba(${theme.color.foreground}, 0.2) 80%)`,\n },\n },\n variants: {\n animation: {\n true: {\n transition:\n 'opacity 0.25s linear, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1)',\n transform: 'translate(-50%, -50%) scale(1, 1)',\n },\n\n false: {\n transform: 'translate(-50%, -50%) scale(0.1, 0.1)',\n },\n },\n },\n});\n"],"mappings":"AAAA,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AAEvB,SAAS,aAAa;AAEf,
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useRipple/ripple.css.ts"],"sourcesContent":["import { createVar } from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { theme } from '#themes';\n\nexport const colorVar = createVar();\n\nexport const ripple = recipe({\n base: {\n position: 'absolute',\n left: '0',\n top: '0',\n\n borderRadius: '50%',\n\n backgroundColor: colorVar,\n\n opacity: '0',\n transformOrigin: 'center center',\n\n pointerEvents: 'none',\n\n vars: {\n [colorVar]: `color-mix(in srgb, rgba(${theme.color.accent}, 0.2) 20%, rgba(${theme.color.foreground}, 0.2) 80%)`,\n },\n },\n variants: {\n animation: {\n true: {\n transition:\n 'opacity 0.25s linear, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1)',\n transform: 'translate(-50%, -50%) scale(1, 1)',\n },\n\n false: {\n transform: 'translate(-50%, -50%) scale(0.1, 0.1)',\n },\n },\n },\n});\n"],"mappings":";;;AAAA,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AAEvB,SAAS,aAAa;AAEf,IAAM,WAAW,UAAU;AAE3B,IAAM,SAAS,OAAO;AAAA,EAC3B,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,KAAK;AAAA,IAEL,cAAc;AAAA,IAEd,iBAAiB;AAAA,IAEjB,SAAS;AAAA,IACT,iBAAiB;AAAA,IAEjB,eAAe;AAAA,IAEf,MAAM;AAAA,MACJ,CAAC,QAAQ,GAAG,2BAA2B,MAAM,MAAM,MAAM,oBAAoB,MAAM,MAAM,UAAU;AAAA,IACrG;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,WAAW;AAAA,MACT,MAAM;AAAA,QACJ,YACE;AAAA,QACF,WAAW;AAAA,MACb;AAAA,MAEA,OAAO;AAAA,QACL,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import "../../chunk-IEP6GGEX.mjs";
|
|
2
|
+
|
|
3
|
+
// src/hooks/useToast/ToastContainer.css.ts
|
|
1
4
|
import { style } from "@vanilla-extract/css";
|
|
2
|
-
|
|
5
|
+
var container = style({
|
|
3
6
|
display: "flex",
|
|
4
7
|
alignItems: "flex-end",
|
|
5
8
|
flexDirection: "column-reverse",
|
|
@@ -11,4 +14,4 @@ const container = style({
|
|
|
11
14
|
export {
|
|
12
15
|
container
|
|
13
16
|
};
|
|
14
|
-
//# sourceMappingURL=ToastContainer.css.
|
|
17
|
+
//# sourceMappingURL=ToastContainer.css.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useToast/ToastContainer.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nexport const container = style({\n display: 'flex',\n alignItems: 'flex-end',\n flexDirection: 'column-reverse',\n\n position: 'fixed',\n right: '1rem',\n bottom: '1rem',\n left: '1rem',\n});\n"],"mappings":"AAAA,SAAS,aAAa;AAEf,
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useToast/ToastContainer.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nexport const container = style({\n display: 'flex',\n alignItems: 'flex-end',\n flexDirection: 'column-reverse',\n\n position: 'fixed',\n right: '1rem',\n bottom: '1rem',\n left: '1rem',\n});\n"],"mappings":";;;AAAA,SAAS,aAAa;AAEf,IAAM,YAAY,MAAM;AAAA,EAC7B,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,eAAe;AAAA,EAEf,UAAU;AAAA,EACV,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AACR,CAAC;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "../../chunk-IEP6GGEX.mjs";
|
|
2
|
+
|
|
3
|
+
// src/hooks/useToast/ToastContainer.tsx
|
|
4
|
+
import * as s from "./ToastContainer.css.mjs";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
var ToastContainer = ({ children }) => {
|
|
7
|
+
return /* @__PURE__ */ jsx("div", { className: s.container, children });
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
ToastContainer
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=ToastContainer.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useToast/ToastContainer.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport * as s from './ToastContainer.css';\n\ninterface ToastContainerProps {\n children: ReactNode;\n}\n\nexport const ToastContainer = ({ children }: ToastContainerProps) => {\n return <div className={s.container}>{children}</div>;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useToast/ToastContainer.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport * as s from './ToastContainer.css';\n\ninterface ToastContainerProps {\n children: ReactNode;\n}\n\nexport const ToastContainer = ({ children }: ToastContainerProps) => {\n return <div className={s.container}>{children}</div>;\n};\n"],"mappings":";;;AAEA,YAAY,OAAO;AAOV;AADF,IAAM,iBAAiB,CAAC,EAAE,SAAS,MAA2B;AACnE,SAAO,oBAAC,SAAI,WAAa,aAAY,UAAS;AAChD;","names":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import "../../chunk-IEP6GGEX.mjs";
|
|
3
|
+
|
|
4
|
+
// src/hooks/useToast/ToastProvider.tsx
|
|
3
5
|
import {
|
|
4
6
|
createContext,
|
|
5
7
|
useCallback,
|
|
@@ -8,13 +10,14 @@ import {
|
|
|
8
10
|
useState
|
|
9
11
|
} from "react";
|
|
10
12
|
import { CSSTransition, TransitionGroup } from "@kimdw-rtk/utils";
|
|
11
|
-
import { Toast } from "#components";
|
|
12
|
-
import { ToastContainer } from "./ToastContainer";
|
|
13
|
-
|
|
13
|
+
import { Toast } from "#components.mjs";
|
|
14
|
+
import { ToastContainer } from "./ToastContainer.mjs";
|
|
15
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
|
+
var ToastContext = createContext(
|
|
14
17
|
void 0
|
|
15
18
|
);
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
var DEFAULT_TOAST_DURATION = 5e3;
|
|
20
|
+
var ToastProvider = ({
|
|
18
21
|
children,
|
|
19
22
|
defaultDuration = DEFAULT_TOAST_DURATION
|
|
20
23
|
}) => {
|
|
@@ -96,4 +99,4 @@ export {
|
|
|
96
99
|
ToastContext,
|
|
97
100
|
ToastProvider
|
|
98
101
|
};
|
|
99
|
-
//# sourceMappingURL=ToastProvider.
|
|
102
|
+
//# sourceMappingURL=ToastProvider.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useToast/ToastProvider.tsx"],"sourcesContent":["'use client';\n\nimport {\n createContext,\n useCallback,\n useMemo,\n useRef,\n useState,\n type ComponentProps,\n type ReactNode,\n} from 'react';\n\nimport { CSSTransition, TransitionGroup } from '@kimdw-rtk/utils';\n\nimport { Toast } from '#components';\n\nimport { ToastContainer } from './ToastContainer';\n\nexport interface ToastData {\n id: number;\n color?: ComponentProps<typeof Toast>['color'];\n message: string;\n autoClose?: boolean;\n duration?: number;\n onClick?: (id: number) => void;\n}\n\ninterface ToastContextType {\n push: (data: Omit<ToastData, 'id'>) => number;\n remove: (id: number) => void;\n}\n\nexport const ToastContext = createContext<ToastContextType | undefined>(\n undefined,\n);\n\ninterface ToastProviderProps {\n children: ReactNode;\n defaultDuration?: number;\n}\n\nconst DEFAULT_TOAST_DURATION = 5000;\n\nexport const ToastProvider = ({\n children,\n defaultDuration = DEFAULT_TOAST_DURATION,\n}: ToastProviderProps) => {\n const [toasts, setToasts] = useState<ToastData[]>([]);\n const idRef = useRef<number>(0);\n\n const remove = useCallback((id: number) => {\n setToasts((prev) => prev.filter((toast) => toast.id !== id));\n }, []);\n\n const push = useCallback<ToastContextType['push']>(\n ({\n color,\n message,\n autoClose = true,\n duration = defaultDuration,\n onClick,\n }) => {\n const id = ++idRef.current;\n setToasts((prev) => [\n ...prev,\n { id, color, message, autoClose, duration, onClick },\n ]);\n\n if (!autoClose) {\n return id;\n }\n\n // autoClose가 true면, 일정 시간이 지난 후 toast 제거\n setTimeout(() => {\n remove(id);\n }, duration);\n\n return id;\n },\n [defaultDuration, remove],\n );\n\n const handleToastClick = (toast: ToastData) => {\n // onClick 이벤트가 정의되어 있지 않으면 기본적으로 toast를 닫도록 한다.\n if (toast.onClick === undefined) {\n remove(toast.id);\n return;\n }\n\n toast.onClick(toast.id);\n };\n\n return (\n <ToastContext.Provider\n value={useMemo(() => ({ push, remove }), [push, remove])}\n >\n {children}\n <ToastContainer>\n <TransitionGroup>\n {toasts.map((toast) => (\n <CSSTransition\n as=\"div\"\n key={toast.id}\n initial={{\n opacity: 0,\n transform: 'translateY(1rem)',\n height: '0',\n }}\n animate={{\n opacity: 1,\n transform: 'translateY(0)',\n height: '3.5rem',\n }}\n exit={{ opacity: 0, height: '0' }}\n duration={500}\n style={{ display: 'flex', flexDirection: 'column-reverse' }}\n >\n <Toast\n color={toast.color}\n duration={toast.autoClose ? toast.duration : 0}\n onClick={() => handleToastClick(toast)}\n >\n {toast.message}\n </Toast>\n </CSSTransition>\n ))}\n </TransitionGroup>\n </ToastContainer>\n </ToastContext.Provider>\n );\n};\n"],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useToast/ToastProvider.tsx"],"sourcesContent":["'use client';\n\nimport {\n createContext,\n useCallback,\n useMemo,\n useRef,\n useState,\n type ComponentProps,\n type ReactNode,\n} from 'react';\n\nimport { CSSTransition, TransitionGroup } from '@kimdw-rtk/utils';\n\nimport { Toast } from '#components';\n\nimport { ToastContainer } from './ToastContainer';\n\nexport interface ToastData {\n id: number;\n color?: ComponentProps<typeof Toast>['color'];\n message: string;\n autoClose?: boolean;\n duration?: number;\n onClick?: (id: number) => void;\n}\n\ninterface ToastContextType {\n push: (data: Omit<ToastData, 'id'>) => number;\n remove: (id: number) => void;\n}\n\nexport const ToastContext = createContext<ToastContextType | undefined>(\n undefined,\n);\n\ninterface ToastProviderProps {\n children: ReactNode;\n defaultDuration?: number;\n}\n\nconst DEFAULT_TOAST_DURATION = 5000;\n\nexport const ToastProvider = ({\n children,\n defaultDuration = DEFAULT_TOAST_DURATION,\n}: ToastProviderProps) => {\n const [toasts, setToasts] = useState<ToastData[]>([]);\n const idRef = useRef<number>(0);\n\n const remove = useCallback((id: number) => {\n setToasts((prev) => prev.filter((toast) => toast.id !== id));\n }, []);\n\n const push = useCallback<ToastContextType['push']>(\n ({\n color,\n message,\n autoClose = true,\n duration = defaultDuration,\n onClick,\n }) => {\n const id = ++idRef.current;\n setToasts((prev) => [\n ...prev,\n { id, color, message, autoClose, duration, onClick },\n ]);\n\n if (!autoClose) {\n return id;\n }\n\n // autoClose가 true면, 일정 시간이 지난 후 toast 제거\n setTimeout(() => {\n remove(id);\n }, duration);\n\n return id;\n },\n [defaultDuration, remove],\n );\n\n const handleToastClick = (toast: ToastData) => {\n // onClick 이벤트가 정의되어 있지 않으면 기본적으로 toast를 닫도록 한다.\n if (toast.onClick === undefined) {\n remove(toast.id);\n return;\n }\n\n toast.onClick(toast.id);\n };\n\n return (\n <ToastContext.Provider\n value={useMemo(() => ({ push, remove }), [push, remove])}\n >\n {children}\n <ToastContainer>\n <TransitionGroup>\n {toasts.map((toast) => (\n <CSSTransition\n as=\"div\"\n key={toast.id}\n initial={{\n opacity: 0,\n transform: 'translateY(1rem)',\n height: '0',\n }}\n animate={{\n opacity: 1,\n transform: 'translateY(0)',\n height: '3.5rem',\n }}\n exit={{ opacity: 0, height: '0' }}\n duration={500}\n style={{ display: 'flex', flexDirection: 'column-reverse' }}\n >\n <Toast\n color={toast.color}\n duration={toast.autoClose ? toast.duration : 0}\n onClick={() => handleToastClick(toast)}\n >\n {toast.message}\n </Toast>\n </CSSTransition>\n ))}\n </TransitionGroup>\n </ToastContainer>\n </ToastContext.Provider>\n );\n};\n"],"mappings":";;;;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAEP,SAAS,eAAe,uBAAuB;AAE/C,SAAS,aAAa;AAEtB,SAAS,sBAAsB;AA6E3B,SAwBU,KAxBV;AA7DG,IAAM,eAAe;AAAA,EAC1B;AACF;AAOA,IAAM,yBAAyB;AAExB,IAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA,kBAAkB;AACpB,MAA0B;AACxB,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAsB,CAAC,CAAC;AACpD,QAAM,QAAQ,OAAe,CAAC;AAE9B,QAAM,SAAS,YAAY,CAAC,OAAe;AACzC,cAAU,CAAC,SAAS,KAAK,OAAO,CAAC,UAAU,MAAM,OAAO,EAAE,CAAC;AAAA,EAC7D,GAAG,CAAC,CAAC;AAEL,QAAM,OAAO;AAAA,IACX,CAAC;AAAA,MACC;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,WAAW;AAAA,MACX;AAAA,IACF,MAAM;AACJ,YAAM,KAAK,EAAE,MAAM;AACnB,gBAAU,CAAC,SAAS;AAAA,QAClB,GAAG;AAAA,QACH,EAAE,IAAI,OAAO,SAAS,WAAW,UAAU,QAAQ;AAAA,MACrD,CAAC;AAED,UAAI,CAAC,WAAW;AACd,eAAO;AAAA,MACT;AAGA,iBAAW,MAAM;AACf,eAAO,EAAE;AAAA,MACX,GAAG,QAAQ;AAEX,aAAO;AAAA,IACT;AAAA,IACA,CAAC,iBAAiB,MAAM;AAAA,EAC1B;AAEA,QAAM,mBAAmB,CAAC,UAAqB;AAE7C,QAAI,MAAM,YAAY,QAAW;AAC/B,aAAO,MAAM,EAAE;AACf;AAAA,IACF;AAEA,UAAM,QAAQ,MAAM,EAAE;AAAA,EACxB;AAEA,SACE;AAAA,IAAC,aAAa;AAAA,IAAb;AAAA,MACC,OAAO,QAAQ,OAAO,EAAE,MAAM,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC;AAAA,MAEtD;AAAA;AAAA,QACD,oBAAC,kBACC,8BAAC,mBACE,iBAAO,IAAI,CAAC,UACX;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YAEH,SAAS;AAAA,cACP,SAAS;AAAA,cACT,WAAW;AAAA,cACX,QAAQ;AAAA,YACV;AAAA,YACA,SAAS;AAAA,cACP,SAAS;AAAA,cACT,WAAW;AAAA,cACX,QAAQ;AAAA,YACV;AAAA,YACA,MAAM,EAAE,SAAS,GAAG,QAAQ,IAAI;AAAA,YAChC,UAAU;AAAA,YACV,OAAO,EAAE,SAAS,QAAQ,eAAe,iBAAiB;AAAA,YAE1D;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO,MAAM;AAAA,gBACb,UAAU,MAAM,YAAY,MAAM,WAAW;AAAA,gBAC7C,SAAS,MAAM,iBAAiB,KAAK;AAAA,gBAEpC,gBAAM;AAAA;AAAA,YACT;AAAA;AAAA,UArBK,MAAM;AAAA,QAsBb,CACD,GACH,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
|