@arolariu/components 0.0.38 → 0.0.40
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/CONTRIBUTING.md +371 -0
- package/DEBUGGING.md +401 -0
- package/EXAMPLES.md +1035 -0
- package/LICENSE +21 -21
- package/changelog.md +85 -29
- package/dist/cjs/components/ui/accordion.cjs +2 -2
- package/dist/cjs/components/ui/accordion.cjs.map +1 -1
- package/dist/cjs/components/ui/alert-dialog.cjs +7 -7
- package/dist/cjs/components/ui/alert-dialog.cjs.map +1 -1
- package/dist/cjs/components/ui/alert.cjs +2 -2
- package/dist/cjs/components/ui/alert.cjs.map +1 -1
- package/dist/cjs/components/ui/aspect-ratio.cjs.map +1 -1
- package/dist/cjs/components/ui/avatar.cjs +2 -2
- package/dist/cjs/components/ui/avatar.cjs.map +1 -1
- package/dist/cjs/components/ui/background-beams.cjs.map +1 -1
- package/dist/cjs/components/ui/badge.cjs +2 -2
- package/dist/cjs/components/ui/badge.cjs.map +1 -1
- package/dist/cjs/components/ui/breadcrumb.cjs +5 -5
- package/dist/cjs/components/ui/breadcrumb.cjs.map +1 -1
- package/dist/cjs/components/ui/bubble-background.cjs +1 -2
- package/dist/cjs/components/ui/bubble-background.cjs.map +1 -1
- package/dist/cjs/components/ui/button.cjs.map +1 -1
- package/dist/cjs/components/ui/calendar.cjs +89 -35
- package/dist/cjs/components/ui/calendar.cjs.map +1 -1
- package/dist/cjs/components/ui/card.cjs +5 -5
- package/dist/cjs/components/ui/card.cjs.map +1 -1
- package/dist/cjs/components/ui/carousel.cjs +3 -3
- package/dist/cjs/components/ui/carousel.cjs.map +1 -1
- package/dist/cjs/components/ui/chart.cjs +14 -14
- package/dist/cjs/components/ui/chart.cjs.map +1 -1
- package/dist/cjs/components/ui/checkbox.cjs.map +1 -1
- package/dist/cjs/components/ui/collapsible.cjs +2 -2
- package/dist/cjs/components/ui/collapsible.cjs.map +1 -1
- package/dist/cjs/components/ui/command.cjs +8 -7
- package/dist/cjs/components/ui/command.cjs.map +1 -1
- package/dist/cjs/components/ui/context-menu.cjs +9 -9
- package/dist/cjs/components/ui/context-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/counting-number.cjs.map +1 -1
- package/dist/cjs/components/ui/dialog.cjs +8 -7
- package/dist/cjs/components/ui/dialog.cjs.map +1 -1
- package/dist/cjs/components/ui/dot-background.cjs.map +1 -1
- package/dist/cjs/components/ui/drawer.cjs +6 -6
- package/dist/cjs/components/ui/drawer.cjs.map +1 -1
- package/dist/cjs/components/ui/dropdown-menu.cjs +10 -10
- package/dist/cjs/components/ui/dropdown-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/dropdrawer.cjs +8 -8
- package/dist/cjs/components/ui/dropdrawer.cjs.map +1 -1
- package/dist/cjs/components/ui/fireworks-background.cjs.map +1 -1
- package/dist/cjs/components/ui/flip-button.cjs.map +1 -1
- package/dist/cjs/components/ui/form.cjs +5 -5
- package/dist/cjs/components/ui/form.cjs.map +1 -1
- package/dist/cjs/components/ui/gradient-background.cjs.map +1 -1
- package/dist/cjs/components/ui/gradient-text.cjs.map +1 -1
- package/dist/cjs/components/ui/highlight-text.cjs.map +1 -1
- package/dist/cjs/components/ui/hole-background.cjs.map +1 -1
- package/dist/cjs/components/ui/hover-card.cjs +2 -2
- package/dist/cjs/components/ui/hover-card.cjs.map +1 -1
- package/dist/cjs/components/ui/input-otp.cjs +3 -3
- package/dist/cjs/components/ui/input-otp.cjs.map +1 -1
- package/dist/cjs/components/ui/input.cjs.map +1 -1
- package/dist/cjs/components/ui/label.cjs.map +1 -1
- package/dist/cjs/components/ui/menubar.cjs +9 -9
- package/dist/cjs/components/ui/menubar.cjs.map +1 -1
- package/dist/cjs/components/ui/navigation-menu.cjs +4 -4
- package/dist/cjs/components/ui/navigation-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/pagination.cjs +3 -3
- package/dist/cjs/components/ui/pagination.cjs.map +1 -1
- package/dist/cjs/components/ui/popover.cjs.map +1 -1
- package/dist/cjs/components/ui/progress.cjs.map +1 -1
- package/dist/cjs/components/ui/radio-group.cjs.map +1 -1
- package/dist/cjs/components/ui/resizable.cjs +1 -1
- package/dist/cjs/components/ui/resizable.cjs.map +1 -1
- package/dist/cjs/components/ui/ripple-button.cjs.map +1 -1
- package/dist/cjs/components/ui/scratcher.cjs.map +1 -1
- package/dist/cjs/components/ui/scroll-area.cjs.map +1 -1
- package/dist/cjs/components/ui/select.cjs +5 -5
- package/dist/cjs/components/ui/select.cjs.map +1 -1
- package/dist/cjs/components/ui/separator.cjs +1 -1
- package/dist/cjs/components/ui/separator.cjs.map +1 -1
- package/dist/cjs/components/ui/sheet.cjs +5 -5
- package/dist/cjs/components/ui/sheet.cjs.map +1 -1
- package/dist/cjs/components/ui/sidebar.cjs +19 -19
- package/dist/cjs/components/ui/sidebar.cjs.map +1 -1
- package/dist/cjs/components/ui/skeleton.cjs.map +1 -1
- package/dist/cjs/components/ui/slider.cjs.map +1 -1
- package/dist/cjs/components/ui/sonner.cjs +2 -2
- package/dist/cjs/components/ui/sonner.cjs.map +1 -1
- package/dist/cjs/components/ui/switch.cjs.map +1 -1
- package/dist/cjs/components/ui/table.cjs +6 -6
- package/dist/cjs/components/ui/table.cjs.map +1 -1
- package/dist/cjs/components/ui/tabs.cjs +2 -2
- package/dist/cjs/components/ui/tabs.cjs.map +1 -1
- package/dist/cjs/components/ui/textarea.cjs.map +1 -1
- package/dist/cjs/components/ui/toggle-group.cjs +2 -2
- package/dist/cjs/components/ui/toggle-group.cjs.map +1 -1
- package/dist/cjs/components/ui/toggle.cjs +2 -2
- package/dist/cjs/components/ui/toggle.cjs.map +1 -1
- package/dist/cjs/components/ui/tooltip.cjs +3 -3
- package/dist/cjs/components/ui/tooltip.cjs.map +1 -1
- package/dist/cjs/hooks/use-mobile.cjs.map +1 -1
- package/dist/cjs/index.cjs +243 -241
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.css +400 -150
- package/dist/cjs/index.css.map +1 -0
- package/dist/cjs/lib/utils.cjs.map +1 -1
- package/dist/esm/components/ui/accordion.js +14 -14
- package/dist/esm/components/ui/accordion.js.map +1 -1
- package/dist/esm/components/ui/alert-dialog.js +25 -25
- package/dist/esm/components/ui/alert-dialog.js.map +1 -1
- package/dist/esm/components/ui/alert.js +10 -10
- package/dist/esm/components/ui/alert.js.map +1 -1
- package/dist/esm/components/ui/aspect-ratio.js +3 -3
- package/dist/esm/components/ui/aspect-ratio.js.map +1 -1
- package/dist/esm/components/ui/avatar.js +9 -9
- package/dist/esm/components/ui/avatar.js.map +1 -1
- package/dist/esm/components/ui/background-beams.js +20 -20
- package/dist/esm/components/ui/background-beams.js.map +1 -1
- package/dist/esm/components/ui/badge.js +8 -8
- package/dist/esm/components/ui/badge.js.map +1 -1
- package/dist/esm/components/ui/breadcrumb.js +21 -21
- package/dist/esm/components/ui/breadcrumb.js.map +1 -1
- package/dist/esm/components/ui/bubble-background.js +32 -33
- package/dist/esm/components/ui/bubble-background.js.map +1 -1
- package/dist/esm/components/ui/button.js +8 -8
- package/dist/esm/components/ui/button.js.map +1 -1
- package/dist/esm/components/ui/calendar.js +93 -42
- package/dist/esm/components/ui/calendar.js.map +1 -1
- package/dist/esm/components/ui/card.js +16 -16
- package/dist/esm/components/ui/card.js.map +1 -1
- package/dist/esm/components/ui/carousel.js +33 -33
- package/dist/esm/components/ui/carousel.js.map +1 -1
- package/dist/esm/components/ui/chart.js +45 -45
- package/dist/esm/components/ui/chart.js.map +1 -1
- package/dist/esm/components/ui/checkbox.js +8 -8
- package/dist/esm/components/ui/checkbox.js.map +1 -1
- package/dist/esm/components/ui/collapsible.js +8 -8
- package/dist/esm/components/ui/collapsible.js.map +1 -1
- package/dist/esm/components/ui/command.js +33 -32
- package/dist/esm/components/ui/command.js.map +1 -1
- package/dist/esm/components/ui/context-menu.js +36 -36
- package/dist/esm/components/ui/context-menu.js.map +1 -1
- package/dist/esm/components/ui/counting-number.js +12 -12
- package/dist/esm/components/ui/counting-number.js.map +1 -1
- package/dist/esm/components/ui/dialog.js +27 -26
- package/dist/esm/components/ui/dialog.js.map +1 -1
- package/dist/esm/components/ui/dot-background.js +15 -15
- package/dist/esm/components/ui/dot-background.js.map +1 -1
- package/dist/esm/components/ui/drawer.js +24 -24
- package/dist/esm/components/ui/drawer.js.map +1 -1
- package/dist/esm/components/ui/dropdown-menu.js +36 -36
- package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
- package/dist/esm/components/ui/dropdrawer.js +104 -104
- package/dist/esm/components/ui/dropdrawer.js.map +1 -1
- package/dist/esm/components/ui/fireworks-background.js +12 -12
- package/dist/esm/components/ui/fireworks-background.js.map +1 -1
- package/dist/esm/components/ui/flip-button.js +12 -12
- package/dist/esm/components/ui/flip-button.js.map +1 -1
- package/dist/esm/components/ui/form.js +26 -26
- package/dist/esm/components/ui/form.js.map +1 -1
- package/dist/esm/components/ui/gradient-background.js +7 -7
- package/dist/esm/components/ui/gradient-background.js.map +1 -1
- package/dist/esm/components/ui/gradient-text.js +9 -9
- package/dist/esm/components/ui/gradient-text.js.map +1 -1
- package/dist/esm/components/ui/highlight-text.js +10 -10
- package/dist/esm/components/ui/highlight-text.js.map +1 -1
- package/dist/esm/components/ui/hole-background.js +30 -30
- package/dist/esm/components/ui/hole-background.js.map +1 -1
- package/dist/esm/components/ui/hover-card.js +8 -8
- package/dist/esm/components/ui/hover-card.js.map +1 -1
- package/dist/esm/components/ui/input-otp.js +17 -17
- package/dist/esm/components/ui/input-otp.js.map +1 -1
- package/dist/esm/components/ui/input.js +4 -4
- package/dist/esm/components/ui/input.js.map +1 -1
- package/dist/esm/components/ui/label.js +5 -5
- package/dist/esm/components/ui/label.js.map +1 -1
- package/dist/esm/components/ui/menubar.js +39 -39
- package/dist/esm/components/ui/menubar.js.map +1 -1
- package/dist/esm/components/ui/navigation-menu.js +27 -27
- package/dist/esm/components/ui/navigation-menu.js.map +1 -1
- package/dist/esm/components/ui/pagination.js +23 -23
- package/dist/esm/components/ui/pagination.js.map +1 -1
- package/dist/esm/components/ui/popover.js +9 -9
- package/dist/esm/components/ui/popover.js.map +1 -1
- package/dist/esm/components/ui/progress.js +6 -6
- package/dist/esm/components/ui/progress.js.map +1 -1
- package/dist/esm/components/ui/radio-group.js +10 -10
- package/dist/esm/components/ui/radio-group.js.map +1 -1
- package/dist/esm/components/ui/resizable.js +11 -11
- package/dist/esm/components/ui/resizable.js.map +1 -1
- package/dist/esm/components/ui/ripple-button.js +14 -14
- package/dist/esm/components/ui/ripple-button.js.map +1 -1
- package/dist/esm/components/ui/scratcher.js +13 -13
- package/dist/esm/components/ui/scratcher.js.map +1 -1
- package/dist/esm/components/ui/scroll-area.js +11 -11
- package/dist/esm/components/ui/scroll-area.js.map +1 -1
- package/dist/esm/components/ui/select.js +34 -34
- package/dist/esm/components/ui/select.js.map +1 -1
- package/dist/esm/components/ui/separator.js +6 -6
- package/dist/esm/components/ui/separator.js.map +1 -1
- package/dist/esm/components/ui/sheet.js +25 -25
- package/dist/esm/components/ui/sheet.js.map +1 -1
- package/dist/esm/components/ui/sidebar.js +96 -96
- package/dist/esm/components/ui/sidebar.js.map +1 -1
- package/dist/esm/components/ui/skeleton.js +4 -4
- package/dist/esm/components/ui/skeleton.js.map +1 -1
- package/dist/esm/components/ui/slider.js +12 -12
- package/dist/esm/components/ui/slider.js.map +1 -1
- package/dist/esm/components/ui/sonner.js +7 -8
- package/dist/esm/components/ui/sonner.js.map +1 -1
- package/dist/esm/components/ui/switch.js +7 -7
- package/dist/esm/components/ui/switch.js.map +1 -1
- package/dist/esm/components/ui/table.js +19 -19
- package/dist/esm/components/ui/table.js.map +1 -1
- package/dist/esm/components/ui/tabs.js +11 -11
- package/dist/esm/components/ui/tabs.js.map +1 -1
- package/dist/esm/components/ui/textarea.js +4 -4
- package/dist/esm/components/ui/textarea.js.map +1 -1
- package/dist/esm/components/ui/toggle-group.js +12 -12
- package/dist/esm/components/ui/toggle-group.js.map +1 -1
- package/dist/esm/components/ui/toggle.js +7 -7
- package/dist/esm/components/ui/toggle.js.map +1 -1
- package/dist/esm/components/ui/tooltip.js +11 -11
- package/dist/esm/components/ui/tooltip.js.map +1 -1
- package/dist/esm/hooks/use-mobile.js +3 -3
- package/dist/esm/hooks/use-mobile.js.map +1 -1
- package/dist/esm/index.css +400 -150
- package/dist/esm/index.css.map +1 -0
- package/dist/esm/index.js +62 -332
- package/dist/esm/lib/utils.js +3 -3
- package/dist/esm/lib/utils.js.map +1 -1
- package/dist/index.css +400 -150
- package/dist/index.js +62 -332
- package/dist/types/components/ui/accordion.d.ts +1 -0
- package/dist/types/components/ui/accordion.d.ts.map +1 -0
- package/dist/types/components/ui/alert-dialog.d.ts +1 -0
- package/dist/types/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/types/components/ui/alert.d.ts +1 -0
- package/dist/types/components/ui/alert.d.ts.map +1 -0
- package/dist/types/components/ui/aspect-ratio.d.ts +1 -0
- package/dist/types/components/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/types/components/ui/avatar.d.ts +1 -0
- package/dist/types/components/ui/avatar.d.ts.map +1 -0
- package/dist/types/components/ui/background-beams.d.ts +1 -0
- package/dist/types/components/ui/background-beams.d.ts.map +1 -0
- package/dist/types/components/ui/badge.d.ts +1 -0
- package/dist/types/components/ui/badge.d.ts.map +1 -0
- package/dist/types/components/ui/breadcrumb.d.ts +1 -0
- package/dist/types/components/ui/breadcrumb.d.ts.map +1 -0
- package/dist/types/components/ui/bubble-background.d.ts +1 -0
- package/dist/types/components/ui/bubble-background.d.ts.map +1 -0
- package/dist/types/components/ui/button.d.ts +1 -0
- package/dist/types/components/ui/button.d.ts.map +1 -0
- package/dist/types/components/ui/calendar.d.ts +8 -3
- package/dist/types/components/ui/calendar.d.ts.map +1 -0
- package/dist/types/components/ui/card.d.ts +1 -0
- package/dist/types/components/ui/card.d.ts.map +1 -0
- package/dist/types/components/ui/carousel.d.ts +1 -0
- package/dist/types/components/ui/carousel.d.ts.map +1 -0
- package/dist/types/components/ui/chart.d.ts +19 -4
- package/dist/types/components/ui/chart.d.ts.map +1 -0
- package/dist/types/components/ui/checkbox.d.ts +1 -0
- package/dist/types/components/ui/checkbox.d.ts.map +1 -0
- package/dist/types/components/ui/collapsible.d.ts +1 -0
- package/dist/types/components/ui/collapsible.d.ts.map +1 -0
- package/dist/types/components/ui/command.d.ts +4 -1
- package/dist/types/components/ui/command.d.ts.map +1 -0
- package/dist/types/components/ui/context-menu.d.ts +1 -0
- package/dist/types/components/ui/context-menu.d.ts.map +1 -0
- package/dist/types/components/ui/counting-number.d.ts +1 -0
- package/dist/types/components/ui/counting-number.d.ts.map +1 -0
- package/dist/types/components/ui/dialog.d.ts +4 -1
- package/dist/types/components/ui/dialog.d.ts.map +1 -0
- package/dist/types/components/ui/dot-background.d.ts +1 -0
- package/dist/types/components/ui/dot-background.d.ts.map +1 -0
- package/dist/types/components/ui/drawer.d.ts +1 -0
- package/dist/types/components/ui/drawer.d.ts.map +1 -0
- package/dist/types/components/ui/dropdown-menu.d.ts +1 -0
- package/dist/types/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/types/components/ui/dropdrawer.d.ts +1 -0
- package/dist/types/components/ui/dropdrawer.d.ts.map +1 -0
- package/dist/types/components/ui/fireworks-background.d.ts +1 -0
- package/dist/types/components/ui/fireworks-background.d.ts.map +1 -0
- package/dist/types/components/ui/flip-button.d.ts +1 -0
- package/dist/types/components/ui/flip-button.d.ts.map +1 -0
- package/dist/types/components/ui/form.d.ts +1 -0
- package/dist/types/components/ui/form.d.ts.map +1 -0
- package/dist/types/components/ui/gradient-background.d.ts +1 -0
- package/dist/types/components/ui/gradient-background.d.ts.map +1 -0
- package/dist/types/components/ui/gradient-text.d.ts +1 -0
- package/dist/types/components/ui/gradient-text.d.ts.map +1 -0
- package/dist/types/components/ui/highlight-text.d.ts +1 -0
- package/dist/types/components/ui/highlight-text.d.ts.map +1 -0
- package/dist/types/components/ui/hole-background.d.ts +1 -0
- package/dist/types/components/ui/hole-background.d.ts.map +1 -0
- package/dist/types/components/ui/hover-card.d.ts +1 -0
- package/dist/types/components/ui/hover-card.d.ts.map +1 -0
- package/dist/types/components/ui/input-otp.d.ts +1 -0
- package/dist/types/components/ui/input-otp.d.ts.map +1 -0
- package/dist/types/components/ui/input.d.ts +1 -0
- package/dist/types/components/ui/input.d.ts.map +1 -0
- package/dist/types/components/ui/label.d.ts +1 -0
- package/dist/types/components/ui/label.d.ts.map +1 -0
- package/dist/types/components/ui/menubar.d.ts +1 -0
- package/dist/types/components/ui/menubar.d.ts.map +1 -0
- package/dist/types/components/ui/navigation-menu.d.ts +1 -0
- package/dist/types/components/ui/navigation-menu.d.ts.map +1 -0
- package/dist/types/components/ui/pagination.d.ts +1 -0
- package/dist/types/components/ui/pagination.d.ts.map +1 -0
- package/dist/types/components/ui/popover.d.ts +1 -0
- package/dist/types/components/ui/popover.d.ts.map +1 -0
- package/dist/types/components/ui/progress.d.ts +1 -0
- package/dist/types/components/ui/progress.d.ts.map +1 -0
- package/dist/types/components/ui/radio-group.d.ts +1 -0
- package/dist/types/components/ui/radio-group.d.ts.map +1 -0
- package/dist/types/components/ui/resizable.d.ts +1 -0
- package/dist/types/components/ui/resizable.d.ts.map +1 -0
- package/dist/types/components/ui/ripple-button.d.ts +1 -0
- package/dist/types/components/ui/ripple-button.d.ts.map +1 -0
- package/dist/types/components/ui/scratcher.d.ts +1 -0
- package/dist/types/components/ui/scratcher.d.ts.map +1 -0
- package/dist/types/components/ui/scroll-area.d.ts +1 -0
- package/dist/types/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/types/components/ui/select.d.ts +1 -0
- package/dist/types/components/ui/select.d.ts.map +1 -0
- package/dist/types/components/ui/separator.d.ts +1 -0
- package/dist/types/components/ui/separator.d.ts.map +1 -0
- package/dist/types/components/ui/sheet.d.ts +1 -0
- package/dist/types/components/ui/sheet.d.ts.map +1 -0
- package/dist/types/components/ui/sidebar.d.ts +1 -0
- package/dist/types/components/ui/sidebar.d.ts.map +1 -0
- package/dist/types/components/ui/skeleton.d.ts +1 -0
- package/dist/types/components/ui/skeleton.d.ts.map +1 -0
- package/dist/types/components/ui/slider.d.ts +1 -0
- package/dist/types/components/ui/slider.d.ts.map +1 -0
- package/dist/types/components/ui/sonner.d.ts +1 -0
- package/dist/types/components/ui/sonner.d.ts.map +1 -0
- package/dist/types/components/ui/switch.d.ts +1 -0
- package/dist/types/components/ui/switch.d.ts.map +1 -0
- package/dist/types/components/ui/table.d.ts +1 -0
- package/dist/types/components/ui/table.d.ts.map +1 -0
- package/dist/types/components/ui/tabs.d.ts +1 -0
- package/dist/types/components/ui/tabs.d.ts.map +1 -0
- package/dist/types/components/ui/textarea.d.ts +1 -0
- package/dist/types/components/ui/textarea.d.ts.map +1 -0
- package/dist/types/components/ui/toggle-group.d.ts +1 -0
- package/dist/types/components/ui/toggle-group.d.ts.map +1 -0
- package/dist/types/components/ui/toggle.d.ts +1 -0
- package/dist/types/components/ui/toggle.d.ts.map +1 -0
- package/dist/types/components/ui/tooltip.d.ts +1 -0
- package/dist/types/components/ui/tooltip.d.ts.map +1 -0
- package/dist/types/hooks/use-mobile.d.ts +1 -0
- package/dist/types/hooks/use-mobile.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/utils.d.ts +1 -0
- package/dist/types/lib/utils.d.ts.map +1 -0
- package/package.json +90 -72
- package/readme.md +627 -215
- package/src/components/ui/accordion.tsx +1 -1
- package/src/components/ui/alert-dialog.tsx +4 -4
- package/src/components/ui/alert.tsx +3 -3
- package/src/components/ui/avatar.tsx +2 -2
- package/src/components/ui/badge.tsx +1 -1
- package/src/components/ui/breadcrumb.tsx +3 -3
- package/src/components/ui/bubble-background.tsx +189 -187
- package/src/components/ui/button.tsx +1 -1
- package/src/components/ui/calendar.tsx +189 -51
- package/src/components/ui/card.tsx +4 -4
- package/src/components/ui/carousel.tsx +6 -6
- package/src/components/ui/chart.tsx +380 -353
- package/src/components/ui/checkbox.tsx +1 -1
- package/src/components/ui/command.tsx +14 -7
- package/src/components/ui/context-menu.tsx +9 -9
- package/src/components/ui/counting-number.tsx +4 -4
- package/src/components/ui/dialog.tsx +17 -9
- package/src/components/ui/dot-background.tsx +2 -2
- package/src/components/ui/drawer.tsx +141 -138
- package/src/components/ui/dropdrawer.tsx +2 -2
- package/src/components/ui/fireworks-background.tsx +12 -12
- package/src/components/ui/flip-button.tsx +6 -6
- package/src/components/ui/form.tsx +6 -6
- package/src/components/ui/gradient-background.tsx +3 -3
- package/src/components/ui/gradient-text.tsx +2 -2
- package/src/components/ui/highlight-text.tsx +3 -3
- package/src/components/ui/hole-background.tsx +9 -9
- package/src/components/ui/hover-card.tsx +1 -1
- package/src/components/ui/input-otp.tsx +2 -2
- package/src/components/ui/input.tsx +22 -23
- package/src/components/ui/label.tsx +1 -1
- package/src/components/ui/menubar.tsx +11 -11
- package/src/components/ui/navigation-menu.tsx +8 -8
- package/src/components/ui/pagination.tsx +1 -1
- package/src/components/ui/popover.tsx +1 -1
- package/src/components/ui/progress.tsx +1 -1
- package/src/components/ui/radio-group.tsx +1 -1
- package/src/components/ui/resizable.tsx +3 -3
- package/src/components/ui/ripple-button.tsx +111 -111
- package/src/components/ui/scratcher.tsx +171 -171
- package/src/components/ui/scroll-area.tsx +1 -1
- package/src/components/ui/select.tsx +8 -8
- package/src/components/ui/separator.tsx +2 -2
- package/src/components/ui/sheet.tsx +4 -4
- package/src/components/ui/sidebar.tsx +18 -18
- package/src/components/ui/skeleton.tsx +1 -1
- package/src/components/ui/slider.tsx +6 -6
- package/src/components/ui/switch.tsx +2 -2
- package/src/components/ui/table.tsx +5 -5
- package/src/components/ui/tabs.tsx +2 -2
- package/src/components/ui/textarea.tsx +1 -1
- package/src/components/ui/toggle-group.tsx +2 -2
- package/src/components/ui/toggle.tsx +1 -1
- package/src/components/ui/tooltip.tsx +1 -1
- package/src/hooks/use-mobile.tsx +44 -44
- package/src/index.css +68 -68
- package/src/index.ts +400 -400
- package/src/lib/utils.ts +10 -10
- package/tailwind.config.mjs +65 -65
- package/tsconfig.json +8 -0
|
@@ -1,70 +1,70 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import "react";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
4
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
5
|
+
import { ChevronRight, MoreHorizontal } from "lucide-react";
|
|
6
|
+
import { cn } from "../../lib/utils.js";
|
|
7
7
|
function Breadcrumb({ ...props }) {
|
|
8
|
-
return /*#__PURE__*/
|
|
8
|
+
return /*#__PURE__*/ jsx("nav", {
|
|
9
9
|
"aria-label": "breadcrumb",
|
|
10
10
|
"data-slot": "breadcrumb",
|
|
11
11
|
...props
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
14
|
function BreadcrumbList({ className, ...props }) {
|
|
15
|
-
return /*#__PURE__*/
|
|
15
|
+
return /*#__PURE__*/ jsx("ol", {
|
|
16
16
|
"data-slot": "breadcrumb-list",
|
|
17
|
-
className:
|
|
17
|
+
className: cn("text-neutral-500 flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5 dark:text-neutral-400", className),
|
|
18
18
|
...props
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
function BreadcrumbItem({ className, ...props }) {
|
|
22
|
-
return /*#__PURE__*/
|
|
22
|
+
return /*#__PURE__*/ jsx("li", {
|
|
23
23
|
"data-slot": "breadcrumb-item",
|
|
24
|
-
className:
|
|
24
|
+
className: cn("inline-flex items-center gap-1.5", className),
|
|
25
25
|
...props
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
function BreadcrumbLink({ asChild, className, ...props }) {
|
|
29
|
-
const Comp = asChild ?
|
|
30
|
-
return /*#__PURE__*/
|
|
29
|
+
const Comp = asChild ? Slot : "a";
|
|
30
|
+
return /*#__PURE__*/ jsx(Comp, {
|
|
31
31
|
"data-slot": "breadcrumb-link",
|
|
32
|
-
className:
|
|
32
|
+
className: cn("hover:text-neutral-950 transition-colors dark:hover:text-neutral-50", className),
|
|
33
33
|
...props
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
function BreadcrumbPage({ className, ...props }) {
|
|
37
|
-
return /*#__PURE__*/
|
|
37
|
+
return /*#__PURE__*/ jsx("span", {
|
|
38
38
|
"data-slot": "breadcrumb-page",
|
|
39
39
|
role: "link",
|
|
40
40
|
"aria-disabled": "true",
|
|
41
41
|
"aria-current": "page",
|
|
42
|
-
className:
|
|
42
|
+
className: cn("text-neutral-950 font-normal dark:text-neutral-50", className),
|
|
43
43
|
...props
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
function BreadcrumbSeparator({ children, className, ...props }) {
|
|
47
|
-
return /*#__PURE__*/
|
|
47
|
+
return /*#__PURE__*/ jsx("li", {
|
|
48
48
|
"data-slot": "breadcrumb-separator",
|
|
49
49
|
role: "presentation",
|
|
50
50
|
"aria-hidden": "true",
|
|
51
|
-
className:
|
|
51
|
+
className: cn("[&>svg]:size-3.5", className),
|
|
52
52
|
...props,
|
|
53
|
-
children: children ?? /*#__PURE__*/
|
|
53
|
+
children: children ?? /*#__PURE__*/ jsx(ChevronRight, {})
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
function BreadcrumbEllipsis({ className, ...props }) {
|
|
57
|
-
return /*#__PURE__*/
|
|
57
|
+
return /*#__PURE__*/ jsxs("span", {
|
|
58
58
|
"data-slot": "breadcrumb-ellipsis",
|
|
59
59
|
role: "presentation",
|
|
60
60
|
"aria-hidden": "true",
|
|
61
|
-
className:
|
|
61
|
+
className: cn("flex size-9 items-center justify-center", className),
|
|
62
62
|
...props,
|
|
63
63
|
children: [
|
|
64
|
-
/*#__PURE__*/
|
|
64
|
+
/*#__PURE__*/ jsx(MoreHorizontal, {
|
|
65
65
|
className: "size-4"
|
|
66
66
|
}),
|
|
67
|
-
/*#__PURE__*/
|
|
67
|
+
/*#__PURE__*/ jsx("span", {
|
|
68
68
|
className: "sr-only",
|
|
69
69
|
children: "More"
|
|
70
70
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\breadcrumb.js","sources":["webpack://@arolariu/components/./src/components/ui/breadcrumb.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-neutral-500 flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5 dark:text-neutral-400\",\n className
|
|
1
|
+
{"version":3,"file":"components\\ui\\breadcrumb.js","sources":["webpack://@arolariu/components/./src/components/ui/breadcrumb.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-neutral-500 flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5 dark:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\n \"hover:text-neutral-950 transition-colors dark:hover:text-neutral-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\n \"text-neutral-950 font-normal dark:text-neutral-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"names":["Breadcrumb","props","BreadcrumbList","className","cn","BreadcrumbItem","BreadcrumbLink","asChild","Comp","Slot","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","MoreHorizontal"],"mappings":";;;;;;AAQA,SAASA,WAAW,EAAE,GAAGC,OAAoC;IAC3D,OAAO,WAAP,GAAO,IAAC;QAAI,cAAW;QAAa,aAAU;QAAc,GAAGA,KAAK;;AACtE;AAEA,SAASC,eAAe,EAAEC,SAAS,EAAE,GAAGF,OAAmC;IACzE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWG,GACT,6GACAD;QAED,GAAGF,KAAK;;AAGf;AAEA,SAASI,eAAe,EAAEF,SAAS,EAAE,GAAGF,OAAmC;IACzE,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWG,GAAG,oCAAoCD;QACjD,GAAGF,KAAK;;AAGf;AAEA,SAASK,eAAe,EACtBC,OAAO,EACPJ,SAAS,EACT,GAAGF,OAGJ;IACC,MAAMO,OAAOD,UAAUE,OAAO;IAE9B,OAAO,WAAP,GACE,IAACD,MAAAA;QACC,aAAU;QACV,WAAWJ,GACT,uEACAD;QAED,GAAGF,KAAK;;AAGf;AAEA,SAASS,eAAe,EAAEP,SAAS,EAAE,GAAGF,OAAqC;IAC3E,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,MAAK;QACL,iBAAc;QACd,gBAAa;QACb,WAAWG,GACT,qDACAD;QAED,GAAGF,KAAK;;AAGf;AAEA,SAASU,oBAAoB,EAC3BC,QAAQ,EACRT,SAAS,EACT,GAAGF,OACwB;IAC3B,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,MAAK;QACL,eAAY;QACZ,WAAWG,GAAG,oBAAoBD;QACjC,GAAGF,KAAK;kBAERW,YAAY,WAAZA,GAAY,IAACC,cAAYA,CAAAA;;AAGhC;AAEA,SAASC,mBAAmB,EAC1BX,SAAS,EACT,GAAGF,OAC0B;IAC7B,OAAO,WAAP,GACE,KAAC;QACC,aAAU;QACV,MAAK;QACL,eAAY;QACZ,WAAWG,GAAG,2CAA2CD;QACxD,GAAGF,KAAK;;0BAET,IAACc,gBAAcA;gBAAC,WAAU;;0BAC1B,IAAC;gBAAK,WAAU;0BAAU;;;;AAGhC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
const BubbleBackground = /*#__PURE__*/
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef, useEffect, useImperativeHandle, useRef } from "react";
|
|
4
|
+
import { motion, useMotionValue, useSpring } from "motion/react";
|
|
5
|
+
import { cn } from "../../lib/utils.js";
|
|
6
|
+
const BubbleBackground = /*#__PURE__*/ forwardRef(({ className, children, interactive = false, transition = {
|
|
7
7
|
stiffness: 100,
|
|
8
8
|
damping: 20
|
|
9
9
|
}, colors = {
|
|
@@ -14,13 +14,13 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
|
|
|
14
14
|
fifth: "180,180,50",
|
|
15
15
|
sixth: "140,100,255"
|
|
16
16
|
}, ...props }, ref)=>{
|
|
17
|
-
const containerRef =
|
|
18
|
-
|
|
19
|
-
const mouseX =
|
|
20
|
-
const mouseY =
|
|
21
|
-
const springX =
|
|
22
|
-
const springY =
|
|
23
|
-
|
|
17
|
+
const containerRef = useRef(null);
|
|
18
|
+
useImperativeHandle(ref, ()=>containerRef.current);
|
|
19
|
+
const mouseX = useMotionValue(0);
|
|
20
|
+
const mouseY = useMotionValue(0);
|
|
21
|
+
const springX = useSpring(mouseX, transition);
|
|
22
|
+
const springY = useSpring(mouseY, transition);
|
|
23
|
+
useEffect(()=>{
|
|
24
24
|
if (!interactive) return;
|
|
25
25
|
const currentContainer = containerRef.current;
|
|
26
26
|
if (!currentContainer) return;
|
|
@@ -38,12 +38,12 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
|
|
|
38
38
|
mouseX,
|
|
39
39
|
mouseY
|
|
40
40
|
]);
|
|
41
|
-
return /*#__PURE__*/
|
|
41
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
42
42
|
ref: containerRef,
|
|
43
|
-
className:
|
|
43
|
+
className: cn("relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900", className),
|
|
44
44
|
...props,
|
|
45
45
|
children: [
|
|
46
|
-
/*#__PURE__*/
|
|
46
|
+
/*#__PURE__*/ jsx("style", {
|
|
47
47
|
children: `
|
|
48
48
|
:root {
|
|
49
49
|
--first-color: ${colors.first};
|
|
@@ -55,25 +55,25 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
|
|
|
55
55
|
}
|
|
56
56
|
`
|
|
57
57
|
}),
|
|
58
|
-
/*#__PURE__*/
|
|
58
|
+
/*#__PURE__*/ jsx("svg", {
|
|
59
59
|
xmlns: "http://www.w3.org/2000/svg",
|
|
60
60
|
className: "absolute top-0 left-0 w-0 h-0",
|
|
61
|
-
children: /*#__PURE__*/
|
|
62
|
-
children: /*#__PURE__*/
|
|
61
|
+
children: /*#__PURE__*/ jsx("defs", {
|
|
62
|
+
children: /*#__PURE__*/ jsxs("filter", {
|
|
63
63
|
id: "goo",
|
|
64
64
|
children: [
|
|
65
|
-
/*#__PURE__*/
|
|
65
|
+
/*#__PURE__*/ jsx("feGaussianBlur", {
|
|
66
66
|
in: "SourceGraphic",
|
|
67
67
|
stdDeviation: "10",
|
|
68
68
|
result: "blur"
|
|
69
69
|
}),
|
|
70
|
-
/*#__PURE__*/
|
|
70
|
+
/*#__PURE__*/ jsx("feColorMatrix", {
|
|
71
71
|
in: "blur",
|
|
72
72
|
mode: "matrix",
|
|
73
73
|
values: "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8",
|
|
74
74
|
result: "goo"
|
|
75
75
|
}),
|
|
76
|
-
/*#__PURE__*/
|
|
76
|
+
/*#__PURE__*/ jsx("feBlend", {
|
|
77
77
|
in: "SourceGraphic",
|
|
78
78
|
in2: "goo"
|
|
79
79
|
})
|
|
@@ -81,13 +81,13 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
|
|
|
81
81
|
})
|
|
82
82
|
})
|
|
83
83
|
}),
|
|
84
|
-
/*#__PURE__*/
|
|
84
|
+
/*#__PURE__*/ jsxs("div", {
|
|
85
85
|
className: "absolute inset-0",
|
|
86
86
|
style: {
|
|
87
87
|
filter: "url(#goo) blur(40px)"
|
|
88
88
|
},
|
|
89
89
|
children: [
|
|
90
|
-
/*#__PURE__*/
|
|
90
|
+
/*#__PURE__*/ jsx(motion.div, {
|
|
91
91
|
className: "absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)]",
|
|
92
92
|
animate: {
|
|
93
93
|
y: [
|
|
@@ -102,7 +102,7 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
|
|
|
102
102
|
repeat: 1 / 0
|
|
103
103
|
}
|
|
104
104
|
}),
|
|
105
|
-
/*#__PURE__*/
|
|
105
|
+
/*#__PURE__*/ jsx(motion.div, {
|
|
106
106
|
className: "absolute inset-0 flex justify-center items-center origin-[calc(50%-400px)]",
|
|
107
107
|
animate: {
|
|
108
108
|
rotate: 360
|
|
@@ -111,14 +111,13 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
|
|
|
111
111
|
duration: 20,
|
|
112
112
|
ease: "linear",
|
|
113
113
|
repeat: 1 / 0,
|
|
114
|
-
repeatType: "
|
|
115
|
-
reverse: true
|
|
114
|
+
repeatType: "reverse"
|
|
116
115
|
},
|
|
117
|
-
children: /*#__PURE__*/
|
|
116
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
118
117
|
className: "rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)]"
|
|
119
118
|
})
|
|
120
119
|
}),
|
|
121
|
-
/*#__PURE__*/
|
|
120
|
+
/*#__PURE__*/ jsx(motion.div, {
|
|
122
121
|
className: "absolute inset-0 flex justify-center items-center origin-[calc(50%+400px)]",
|
|
123
122
|
animate: {
|
|
124
123
|
rotate: 360
|
|
@@ -128,11 +127,11 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
|
|
|
128
127
|
ease: "linear",
|
|
129
128
|
repeat: 1 / 0
|
|
130
129
|
},
|
|
131
|
-
children: /*#__PURE__*/
|
|
130
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
132
131
|
className: "absolute rounded-full size-[80%] bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light top-[calc(50%+200px)] left-[calc(50%-500px)]"
|
|
133
132
|
})
|
|
134
133
|
}),
|
|
135
|
-
/*#__PURE__*/
|
|
134
|
+
/*#__PURE__*/ jsx(motion.div, {
|
|
136
135
|
className: "absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70",
|
|
137
136
|
animate: {
|
|
138
137
|
x: [
|
|
@@ -147,7 +146,7 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
|
|
|
147
146
|
repeat: 1 / 0
|
|
148
147
|
}
|
|
149
148
|
}),
|
|
150
|
-
/*#__PURE__*/
|
|
149
|
+
/*#__PURE__*/ jsx(motion.div, {
|
|
151
150
|
className: "absolute inset-0 flex justify-center items-center origin-[calc(50%_-_800px)_calc(50%_+_200px)]",
|
|
152
151
|
animate: {
|
|
153
152
|
rotate: 360
|
|
@@ -157,11 +156,11 @@ const BubbleBackground = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forward
|
|
|
157
156
|
ease: "linear",
|
|
158
157
|
repeat: 1 / 0
|
|
159
158
|
},
|
|
160
|
-
children: /*#__PURE__*/
|
|
159
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
161
160
|
className: "absolute rounded-full size-[160%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] top-[calc(50%-80%)] left-[calc(50%-80%)]"
|
|
162
161
|
})
|
|
163
162
|
}),
|
|
164
|
-
interactive && /*#__PURE__*/
|
|
163
|
+
interactive && /*#__PURE__*/ jsx(motion.div, {
|
|
165
164
|
className: "absolute rounded-full size-full mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70",
|
|
166
165
|
style: {
|
|
167
166
|
x: springX,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\bubble-background.js","sources":["webpack://@arolariu/components/./src/components/ui/bubble-background.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport {\n motion,\n type SpringOptions,\n useMotionValue,\n useSpring,\n} from \"motion/react\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface BubbleBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {\n interactive?: boolean;\n transition?: SpringOptions;\n colors?: {\n first: string;\n second: string;\n third: string;\n fourth: string;\n fifth: string;\n sixth: string;\n };\n}\n\nconst BubbleBackground = React.forwardRef<\n HTMLDivElement,\n BubbleBackgroundProps\n>(\n (\n {\n className,\n children,\n interactive = false,\n transition = { stiffness: 100, damping: 20 },\n colors = {\n first: \"18,113,255\",\n second: \"221,74,255\",\n third: \"0,220,255\",\n fourth: \"200,50,50\",\n fifth: \"180,180,50\",\n sixth: \"140,100,255\",\n },\n ...props\n },\n ref\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n React.useImperativeHandle(\n ref,\n () => containerRef.current as HTMLDivElement\n );\n\n const mouseX = useMotionValue(0);\n const mouseY = useMotionValue(0);\n const springX = useSpring(mouseX, transition);\n const springY = useSpring(mouseY, transition);\n\n React.useEffect(() => {\n if (!interactive) return;\n\n const currentContainer = containerRef.current;\n if (!currentContainer) return;\n\n const handleMouseMove = (e: MouseEvent) => {\n const rect = currentContainer.getBoundingClientRect();\n const centerX = rect.left + rect.width / 2;\n const centerY = rect.top + rect.height / 2;\n mouseX.set(e.clientX - centerX);\n mouseY.set(e.clientY - centerY);\n };\n\n currentContainer?.addEventListener(\"mousemove\", handleMouseMove);\n return () =>\n currentContainer?.removeEventListener(\"mousemove\", handleMouseMove);\n }, [interactive, mouseX, mouseY]);\n\n return (\n <div\n ref={containerRef}\n className={cn(\n \"relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900\",\n className\n )}\n {...props}\n >\n <style>\n {`\n :root {\n --first-color: ${colors.first};\n --second-color: ${colors.second};\n --third-color: ${colors.third};\n --fourth-color: ${colors.fourth};\n --fifth-color: ${colors.fifth};\n --sixth-color: ${colors.sixth};\n }\n `}\n </style>\n\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"absolute top-0 left-0 w-0 h-0\"\n >\n <defs>\n <filter id=\"goo\">\n <feGaussianBlur\n in=\"SourceGraphic\"\n stdDeviation=\"10\"\n result=\"blur\"\n />\n <feColorMatrix\n in=\"blur\"\n mode=\"matrix\"\n values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8\"\n result=\"goo\"\n />\n <feBlend in=\"SourceGraphic\" in2=\"goo\" />\n </filter>\n </defs>\n </svg>\n\n <div\n className=\"absolute inset-0\"\n style={{ filter: \"url(#goo) blur(40px)\" }}\n >\n <motion.div\n className=\"absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)]\"\n animate={{ y: [-50, 50, -50] }}\n transition={{ duration: 30, ease: \"easeInOut\", repeat: Infinity }}\n />\n\n <motion.div\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%-400px)]\"\n animate={{ rotate: 360 }}\n transition={{\n
|
|
1
|
+
{"version":3,"file":"components\\ui\\bubble-background.js","sources":["webpack://@arolariu/components/./src/components/ui/bubble-background.tsx"],"sourcesContent":["\r\n\r\nimport * as React from \"react\";\r\nimport {\r\n motion,\r\n type SpringOptions,\r\n Transition,\r\n useMotionValue,\r\n useSpring,\r\n} from \"motion/react\";\r\n\r\nimport { cn } from \"@/lib/utils\";\r\n\r\ninterface BubbleBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {\r\n interactive?: boolean;\r\n transition?: SpringOptions;\r\n colors?: {\r\n first: string;\r\n second: string;\r\n third: string;\r\n fourth: string;\r\n fifth: string;\r\n sixth: string;\r\n };\r\n}\r\n\r\nconst BubbleBackground = React.forwardRef<\r\n HTMLDivElement,\r\n BubbleBackgroundProps\r\n>(\r\n (\r\n {\r\n className,\r\n children,\r\n interactive = false,\r\n transition = { stiffness: 100, damping: 20 },\r\n colors = {\r\n first: \"18,113,255\",\r\n second: \"221,74,255\",\r\n third: \"0,220,255\",\r\n fourth: \"200,50,50\",\r\n fifth: \"180,180,50\",\r\n sixth: \"140,100,255\",\r\n },\r\n ...props\r\n },\r\n ref,\r\n ) => {\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n React.useImperativeHandle(\r\n ref,\r\n () => containerRef.current as HTMLDivElement,\r\n );\r\n\r\n const mouseX = useMotionValue(0);\r\n const mouseY = useMotionValue(0);\r\n const springX = useSpring(mouseX, transition);\r\n const springY = useSpring(mouseY, transition);\r\n\r\n React.useEffect(() => {\r\n if (!interactive) return;\r\n\r\n const currentContainer = containerRef.current;\r\n if (!currentContainer) return;\r\n\r\n const handleMouseMove = (e: MouseEvent) => {\r\n const rect = currentContainer.getBoundingClientRect();\r\n const centerX = rect.left + rect.width / 2;\r\n const centerY = rect.top + rect.height / 2;\r\n mouseX.set(e.clientX - centerX);\r\n mouseY.set(e.clientY - centerY);\r\n };\r\n\r\n currentContainer?.addEventListener(\"mousemove\", handleMouseMove);\r\n return () =>\r\n currentContainer?.removeEventListener(\"mousemove\", handleMouseMove);\r\n }, [interactive, mouseX, mouseY]);\r\n\r\n return (\r\n <div\r\n ref={containerRef}\r\n className={cn(\r\n \"relative size-full overflow-hidden bg-gradient-to-br from-violet-900 to-blue-900\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n <style>\r\n {`\r\n :root {\r\n --first-color: ${colors.first};\r\n --second-color: ${colors.second};\r\n --third-color: ${colors.third};\r\n --fourth-color: ${colors.fourth};\r\n --fifth-color: ${colors.fifth};\r\n --sixth-color: ${colors.sixth};\r\n }\r\n `}\r\n </style>\r\n\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n className=\"absolute top-0 left-0 w-0 h-0\"\r\n >\r\n <defs>\r\n <filter id=\"goo\">\r\n <feGaussianBlur\r\n in=\"SourceGraphic\"\r\n stdDeviation=\"10\"\r\n result=\"blur\"\r\n />\r\n <feColorMatrix\r\n in=\"blur\"\r\n mode=\"matrix\"\r\n values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -8\"\r\n result=\"goo\"\r\n />\r\n <feBlend in=\"SourceGraphic\" in2=\"goo\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n\r\n <div\r\n className=\"absolute inset-0\"\r\n style={{ filter: \"url(#goo) blur(40px)\" }}\r\n >\r\n <motion.div\r\n className=\"absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--first-color),0.8)_0%,rgba(var(--first-color),0)_50%)]\"\r\n animate={{ y: [-50, 50, -50] }}\r\n transition={{ duration: 30, ease: \"easeInOut\", repeat: Infinity }}\r\n />\r\n\r\n <motion.div\r\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%-400px)]\"\r\n animate={{ rotate: 360 }}\r\n transition={\r\n {\r\n duration: 20,\r\n ease: \"linear\",\r\n repeat: Infinity,\r\n repeatType: \"reverse\",\r\n } satisfies Transition\r\n }\r\n >\r\n <div className=\"rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--second-color),0.8)_0%,rgba(var(--second-color),0)_50%)]\" />\r\n </motion.div>\r\n\r\n <motion.div\r\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%+400px)]\"\r\n animate={{ rotate: 360 }}\r\n transition={{ duration: 40, ease: \"linear\", repeat: Infinity }}\r\n >\r\n <div className=\"absolute rounded-full size-[80%] bg-[radial-gradient(circle_at_center,rgba(var(--third-color),0.8)_0%,rgba(var(--third-color),0)_50%)] mix-blend-hard-light top-[calc(50%+200px)] left-[calc(50%-500px)]\" />\r\n </motion.div>\r\n\r\n <motion.div\r\n className=\"absolute rounded-full size-[80%] top-[10%] left-[10%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fourth-color),0.8)_0%,rgba(var(--fourth-color),0)_50%)] opacity-70\"\r\n animate={{ x: [-50, 50, -50] }}\r\n transition={{ duration: 40, ease: \"easeInOut\", repeat: Infinity }}\r\n />\r\n\r\n <motion.div\r\n className=\"absolute inset-0 flex justify-center items-center origin-[calc(50%_-_800px)_calc(50%_+_200px)]\"\r\n animate={{ rotate: 360 }}\r\n transition={{ duration: 20, ease: \"linear\", repeat: Infinity }}\r\n >\r\n <div className=\"absolute rounded-full size-[160%] mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--fifth-color),0.8)_0%,rgba(var(--fifth-color),0)_50%)] top-[calc(50%-80%)] left-[calc(50%-80%)]\" />\r\n </motion.div>\r\n\r\n {interactive && (\r\n <motion.div\r\n className=\"absolute rounded-full size-full mix-blend-hard-light bg-[radial-gradient(circle_at_center,rgba(var(--sixth-color),0.8)_0%,rgba(var(--sixth-color),0)_50%)] opacity-70\"\r\n style={{\r\n x: springX,\r\n y: springY,\r\n }}\r\n />\r\n )}\r\n </div>\r\n\r\n {children}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nBubbleBackground.displayName = \"BubbleBackground\";\r\n\r\nexport { BubbleBackground, type BubbleBackgroundProps };\r\n"],"names":["BubbleBackground","React","className","children","interactive","transition","colors","props","ref","containerRef","mouseX","useMotionValue","mouseY","springX","useSpring","springY","currentContainer","handleMouseMove","e","rect","centerX","centerY","cn","motion","Infinity"],"mappings":";;;;;AA0BA,MAAMA,mBAAmB,WAAnBA,GAAmBC,WAIvB,CACE,EACEC,SAAS,EACTC,QAAQ,EACRC,cAAc,KAAK,EACnBC,aAAa;IAAE,WAAW;IAAK,SAAS;AAAG,CAAC,EAC5CC,SAAS;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;AACT,CAAC,EACD,GAAGC,OACJ,EACDC;IAEA,MAAMC,eAAeR,OAA6B;IAClDA,oBACEO,KACA,IAAMC,aAAa,OAAO;IAG5B,MAAMC,SAASC,eAAe;IAC9B,MAAMC,SAASD,eAAe;IAC9B,MAAME,UAAUC,UAAUJ,QAAQL;IAClC,MAAMU,UAAUD,UAAUF,QAAQP;IAElCJ,UAAgB;QACd,IAAI,CAACG,aAAa;QAElB,MAAMY,mBAAmBP,aAAa,OAAO;QAC7C,IAAI,CAACO,kBAAkB;QAEvB,MAAMC,kBAAkB,CAACC;YACvB,MAAMC,OAAOH,iBAAiB,qBAAqB;YACnD,MAAMI,UAAUD,KAAK,IAAI,GAAGA,KAAK,KAAK,GAAG;YACzC,MAAME,UAAUF,KAAK,GAAG,GAAGA,KAAK,MAAM,GAAG;YACzCT,OAAO,GAAG,CAACQ,EAAE,OAAO,GAAGE;YACvBR,OAAO,GAAG,CAACM,EAAE,OAAO,GAAGG;QACzB;QAEAL,kBAAkB,iBAAiB,aAAaC;QAChD,OAAO,IACLD,kBAAkB,oBAAoB,aAAaC;IACvD,GAAG;QAACb;QAAaM;QAAQE;KAAO;IAEhC,OAAO,WAAP,GACE,KAAC;QACC,KAAKH;QACL,WAAWa,GACT,oFACApB;QAED,GAAGK,KAAK;;0BAET,IAAC;0BACE,CAAC;;6BAEiB,EAAED,OAAO,KAAK,CAAC;8BACd,EAAEA,OAAO,MAAM,CAAC;6BACjB,EAAEA,OAAO,KAAK,CAAC;8BACd,EAAEA,OAAO,MAAM,CAAC;6BACjB,EAAEA,OAAO,KAAK,CAAC;6BACf,EAAEA,OAAO,KAAK,CAAC;;UAElC,CAAC;;0BAGH,IAAC;gBACC,OAAM;gBACN,WAAU;0BAEV,kBAAC;8BACC,mBAAC;wBAAO,IAAG;;0CACT,IAAC;gCACC,IAAG;gCACH,cAAa;gCACb,QAAO;;0CAET,IAAC;gCACC,IAAG;gCACH,MAAK;gCACL,QAAO;gCACP,QAAO;;0CAET,IAAC;gCAAQ,IAAG;gCAAgB,KAAI;;;;;;0BAKtC,KAAC;gBACC,WAAU;gBACV,OAAO;oBAAE,QAAQ;gBAAuB;;kCAExC,IAACiB,OAAO,GAAG;wBACT,WAAU;wBACV,SAAS;4BAAE,GAAG;gCAAC;gCAAK;gCAAI;6BAAI;wBAAC;wBAC7B,YAAY;4BAAE,UAAU;4BAAI,MAAM;4BAAa,QAAQC;wBAAS;;kCAGlE,IAACD,OAAO,GAAG;wBACT,WAAU;wBACV,SAAS;4BAAE,QAAQ;wBAAI;wBACvB,YACE;4BACE,UAAU;4BACV,MAAM;4BACN,QAAQC;4BACR,YAAY;wBACd;kCAGF,kBAAC;4BAAI,WAAU;;;kCAGjB,IAACD,OAAO,GAAG;wBACT,WAAU;wBACV,SAAS;4BAAE,QAAQ;wBAAI;wBACvB,YAAY;4BAAE,UAAU;4BAAI,MAAM;4BAAU,QAAQC;wBAAS;kCAE7D,kBAAC;4BAAI,WAAU;;;kCAGjB,IAACD,OAAO,GAAG;wBACT,WAAU;wBACV,SAAS;4BAAE,GAAG;gCAAC;gCAAK;gCAAI;6BAAI;wBAAC;wBAC7B,YAAY;4BAAE,UAAU;4BAAI,MAAM;4BAAa,QAAQC;wBAAS;;kCAGlE,IAACD,OAAO,GAAG;wBACT,WAAU;wBACV,SAAS;4BAAE,QAAQ;wBAAI;wBACvB,YAAY;4BAAE,UAAU;4BAAI,MAAM;4BAAU,QAAQC;wBAAS;kCAE7D,kBAAC;4BAAI,WAAU;;;oBAGhBpB,eAAe,WAAfA,GACC,IAACmB,OAAO,GAAG;wBACT,WAAU;wBACV,OAAO;4BACL,GAAGV;4BACH,GAAGE;wBACL;;;;YAKLZ;;;AAGP;AAGFH,iBAAiB,WAAW,GAAG"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import "react";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
const buttonVariants =
|
|
4
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { cn } from "../../lib/utils.js";
|
|
7
|
+
const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900", {
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
10
10
|
default: "bg-neutral-900 text-neutral-50 shadow-xs hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90",
|
|
@@ -27,10 +27,10 @@ const buttonVariants = (0, __WEBPACK_EXTERNAL_MODULE_class_variance_authority_15
|
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
29
|
function Button({ className, variant, size, asChild = false, ...props }) {
|
|
30
|
-
const Comp = asChild ?
|
|
31
|
-
return /*#__PURE__*/
|
|
30
|
+
const Comp = asChild ? Slot : "button";
|
|
31
|
+
return /*#__PURE__*/ jsx(Comp, {
|
|
32
32
|
"data-slot": "button",
|
|
33
|
-
className:
|
|
33
|
+
className: cn(buttonVariants({
|
|
34
34
|
variant,
|
|
35
35
|
size,
|
|
36
36
|
className
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\button.js","sources":["webpack://@arolariu/components/./src/components/ui/button.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n {\n variants: {\n variant: {\n default:\n \"bg-neutral-900 text-neutral-50 shadow-xs hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90\",\n destructive:\n \"bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-500/60 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40 dark:dark:bg-red-900/60\",\n outline:\n \"border bg-white shadow-xs hover:bg-neutral-100 hover:text-neutral-900 dark:bg-neutral-200/30 dark:border-neutral-200 dark:hover:bg-neutral-200/50 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:bg-neutral-800/30 dark:dark:border-neutral-800 dark:dark:hover:bg-neutral-800/50\",\n secondary:\n \"bg-neutral-100 text-neutral-900 shadow-xs hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80\",\n ghost:\n \"hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-100/50 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:hover:bg-neutral-800/50\",\n link: \"text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }
|
|
1
|
+
{"version":3,"file":"components\\ui\\button.js","sources":["webpack://@arolariu/components/./src/components/ui/button.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n {\n variants: {\n variant: {\n default:\n \"bg-neutral-900 text-neutral-50 shadow-xs hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90\",\n destructive:\n \"bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-500/60 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40 dark:dark:bg-red-900/60\",\n outline:\n \"border bg-white shadow-xs hover:bg-neutral-100 hover:text-neutral-900 dark:bg-neutral-200/30 dark:border-neutral-200 dark:hover:bg-neutral-200/50 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:bg-neutral-800/30 dark:dark:border-neutral-800 dark:dark:hover:bg-neutral-800/50\",\n secondary:\n \"bg-neutral-100 text-neutral-900 shadow-xs hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80\",\n ghost:\n \"hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-100/50 dark:hover:bg-neutral-800 dark:hover:text-neutral-50 dark:dark:hover:bg-neutral-800/50\",\n link: \"text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"names":["buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","cn"],"mappings":";;;;;;AAQA,MAAMA,iBAAiBC,IACrB,wnBACA;IACE,UAAU;QACR,SAAS;YACP,SACE;YACF,aACE;YACF,SACE;YACF,WACE;YACF,OACE;YACF,MAAM;QACR;QACA,MAAM;YACJ,SAAS;YACT,IAAI;YACJ,IAAI;YACJ,MAAM;QACR;IACF;IACA,iBAAiB;QACf,SAAS;QACT,MAAM;IACR;AACF;AAGF,SAASC,OAAO,EACdC,SAAS,EACTC,OAAO,EACPC,IAAI,EACJC,UAAU,KAAK,EACf,GAAGC,OAIF;IACD,MAAMC,OAAOF,UAAUG,OAAO;IAE9B,OAAO,WAAP,GACE,IAACD,MAAAA;QACC,aAAU;QACV,WAAWE,GAAGV,eAAe;YAAEI;YAASC;YAAMF;QAAU;QACvD,GAAGI,KAAK;;AAGf"}
|
|
@@ -1,58 +1,109 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
3
|
-
import "react";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
9
|
-
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
4
|
+
import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
|
|
5
|
+
import { DayPicker, getDefaultClassNames } from "react-day-picker";
|
|
6
|
+
import { cn } from "../../lib/utils.js";
|
|
7
|
+
import { Button, buttonVariants } from "./button.js";
|
|
8
|
+
function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
|
|
9
|
+
const defaultClassNames = getDefaultClassNames();
|
|
10
|
+
return /*#__PURE__*/ jsx(DayPicker, {
|
|
10
11
|
showOutsideDays: showOutsideDays,
|
|
11
|
-
className:
|
|
12
|
+
className: cn("bg-white group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent dark:bg-neutral-950", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className),
|
|
13
|
+
captionLayout: captionLayout,
|
|
14
|
+
formatters: {
|
|
15
|
+
formatMonthDropdown: (date)=>date.toLocaleString("default", {
|
|
16
|
+
month: "short"
|
|
17
|
+
}),
|
|
18
|
+
...formatters
|
|
19
|
+
},
|
|
12
20
|
classNames: {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
21
|
+
root: cn("w-fit", defaultClassNames.root),
|
|
22
|
+
months: cn("flex gap-4 flex-col md:flex-row relative", defaultClassNames.months),
|
|
23
|
+
month: cn("flex flex-col w-full gap-4", defaultClassNames.month),
|
|
24
|
+
nav: cn("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between", defaultClassNames.nav),
|
|
25
|
+
button_previous: cn(buttonVariants({
|
|
26
|
+
variant: buttonVariant
|
|
27
|
+
}), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_previous),
|
|
28
|
+
button_next: cn(buttonVariants({
|
|
29
|
+
variant: buttonVariant
|
|
30
|
+
}), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_next),
|
|
31
|
+
month_caption: cn("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", defaultClassNames.month_caption),
|
|
32
|
+
dropdowns: cn("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5", defaultClassNames.dropdowns),
|
|
33
|
+
dropdown_root: cn("relative has-focus:border-neutral-950 border border-neutral-200 shadow-xs has-focus:ring-neutral-950/50 has-focus:ring-[3px] rounded-md dark:has-focus:border-neutral-300 dark:border-neutral-800 dark:has-focus:ring-neutral-300/50", defaultClassNames.dropdown_root),
|
|
34
|
+
dropdown: cn("absolute inset-0 opacity-0", defaultClassNames.dropdown),
|
|
35
|
+
caption_label: cn("select-none font-medium", "label" === captionLayout ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-neutral-500 [&>svg]:size-3.5 dark:[&>svg]:text-neutral-400", defaultClassNames.caption_label),
|
|
36
|
+
table: "w-full border-collapse",
|
|
37
|
+
weekdays: cn("flex", defaultClassNames.weekdays),
|
|
38
|
+
weekday: cn("text-neutral-500 rounded-md flex-1 font-normal text-[0.8rem] select-none dark:text-neutral-400", defaultClassNames.weekday),
|
|
39
|
+
week: cn("flex w-full mt-2", defaultClassNames.week),
|
|
40
|
+
week_number_header: cn("select-none w-(--cell-size)", defaultClassNames.week_number_header),
|
|
41
|
+
week_number: cn("text-[0.8rem] select-none text-neutral-500 dark:text-neutral-400", defaultClassNames.week_number),
|
|
42
|
+
day: cn("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none", defaultClassNames.day),
|
|
43
|
+
range_start: cn("rounded-l-md bg-neutral-100 dark:bg-neutral-800", defaultClassNames.range_start),
|
|
44
|
+
range_middle: cn("rounded-none", defaultClassNames.range_middle),
|
|
45
|
+
range_end: cn("rounded-r-md bg-neutral-100 dark:bg-neutral-800", defaultClassNames.range_end),
|
|
46
|
+
today: cn("bg-neutral-100 text-neutral-900 rounded-md data-[selected=true]:rounded-none dark:bg-neutral-800 dark:text-neutral-50", defaultClassNames.today),
|
|
47
|
+
outside: cn("text-neutral-500 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:text-neutral-400", defaultClassNames.outside),
|
|
48
|
+
disabled: cn("text-neutral-500 opacity-50 dark:text-neutral-400", defaultClassNames.disabled),
|
|
49
|
+
hidden: cn("invisible", defaultClassNames.hidden),
|
|
39
50
|
...classNames
|
|
40
51
|
},
|
|
41
52
|
components: {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
53
|
+
Root: ({ className, rootRef, ...props })=>/*#__PURE__*/ jsx("div", {
|
|
54
|
+
"data-slot": "calendar",
|
|
55
|
+
ref: rootRef,
|
|
56
|
+
className: cn(className),
|
|
57
|
+
...props
|
|
58
|
+
}),
|
|
59
|
+
Chevron: ({ className, orientation, ...props })=>{
|
|
60
|
+
if ("left" === orientation) return /*#__PURE__*/ jsx(ChevronLeftIcon, {
|
|
61
|
+
className: cn("size-4", className),
|
|
62
|
+
...props
|
|
63
|
+
});
|
|
64
|
+
if ("right" === orientation) return /*#__PURE__*/ jsx(ChevronRightIcon, {
|
|
65
|
+
className: cn("size-4", className),
|
|
45
66
|
...props
|
|
46
67
|
});
|
|
47
|
-
return /*#__PURE__*/
|
|
48
|
-
className:
|
|
68
|
+
return /*#__PURE__*/ jsx(ChevronDownIcon, {
|
|
69
|
+
className: cn("size-4", className),
|
|
49
70
|
...props
|
|
50
71
|
});
|
|
51
|
-
}
|
|
72
|
+
},
|
|
73
|
+
DayButton: CalendarDayButton,
|
|
74
|
+
WeekNumber: ({ children, ...props })=>/*#__PURE__*/ jsx("td", {
|
|
75
|
+
...props,
|
|
76
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
77
|
+
className: "flex size-(--cell-size) items-center justify-center text-center",
|
|
78
|
+
children: children
|
|
79
|
+
})
|
|
80
|
+
}),
|
|
81
|
+
...components
|
|
52
82
|
},
|
|
53
83
|
...props
|
|
54
84
|
});
|
|
55
85
|
}
|
|
56
|
-
|
|
86
|
+
function CalendarDayButton({ className, day, modifiers, ...props }) {
|
|
87
|
+
const defaultClassNames = getDefaultClassNames();
|
|
88
|
+
const ref = useRef(null);
|
|
89
|
+
useEffect(()=>{
|
|
90
|
+
if (modifiers["focused"]) ref.current?.focus();
|
|
91
|
+
}, [
|
|
92
|
+
modifiers["focused"]
|
|
93
|
+
]);
|
|
94
|
+
return /*#__PURE__*/ jsx(Button, {
|
|
95
|
+
ref: ref,
|
|
96
|
+
variant: "ghost",
|
|
97
|
+
size: "icon",
|
|
98
|
+
"data-day": day.date.toLocaleDateString(),
|
|
99
|
+
"data-selected-single": modifiers["selected"] && !modifiers["range_start"] && !modifiers["range_end"] && !modifiers["range_middle"],
|
|
100
|
+
"data-range-start": modifiers["range_start"],
|
|
101
|
+
"data-range-end": modifiers["range_end"],
|
|
102
|
+
"data-range-middle": modifiers["range_middle"],
|
|
103
|
+
className: cn("data-[selected-single=true]:bg-neutral-900 data-[selected-single=true]:text-neutral-50 data-[range-middle=true]:bg-neutral-100 data-[range-middle=true]:text-neutral-900 data-[range-start=true]:bg-neutral-900 data-[range-start=true]:text-neutral-50 data-[range-end=true]:bg-neutral-900 data-[range-end=true]:text-neutral-50 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-neutral-900 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70 dark:data-[selected-single=true]:bg-neutral-50 dark:data-[selected-single=true]:text-neutral-900 dark:data-[range-middle=true]:bg-neutral-800 dark:data-[range-middle=true]:text-neutral-50 dark:data-[range-start=true]:bg-neutral-50 dark:data-[range-start=true]:text-neutral-900 dark:data-[range-end=true]:bg-neutral-50 dark:data-[range-end=true]:text-neutral-900 dark:dark:hover:text-neutral-50", defaultClassNames.day, className),
|
|
104
|
+
...props
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
export { Calendar, CalendarDayButton };
|
|
57
108
|
|
|
58
109
|
//# sourceMappingURL=calendar.js.map
|