@arolariu/components 0.0.38 → 0.0.39
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/CHANGELOG.md +94 -0
- package/CONTRIBUTING.md +371 -0
- package/DEBUGGING.md +401 -0
- package/EXAMPLES.md +1035 -0
- package/LICENSE +21 -21
- package/README.md +627 -0
- 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.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.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 +2 -2
- 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 +244 -242
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.css +399 -149
- 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 +31 -31
- 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 +399 -149
- 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 +399 -149
- 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 +95 -76
- 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 +4 -4
- package/src/components/ui/button.tsx +1 -1
- package/src/components/ui/calendar.tsx +213 -75
- package/src/components/ui/card.tsx +4 -4
- package/src/components/ui/carousel.tsx +6 -6
- package/src/components/ui/chart.tsx +66 -39
- 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 +4 -1
- package/src/components/ui/dropdrawer.tsx +973 -973
- 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 +5 -6
- 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 +7 -7
- package/src/components/ui/scratcher.tsx +1 -1
- 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
- package/changelog.md +0 -45
- package/readme.md +0 -215
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import "react";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
4
|
+
import { Indicator, Root } from "@radix-ui/react-checkbox";
|
|
5
|
+
import { CheckIcon } from "lucide-react";
|
|
6
|
+
import { cn } from "../../lib/utils.js";
|
|
7
7
|
function Checkbox({ className, ...props }) {
|
|
8
|
-
return /*#__PURE__*/
|
|
8
|
+
return /*#__PURE__*/ jsx(Root, {
|
|
9
9
|
"data-slot": "checkbox",
|
|
10
|
-
className:
|
|
10
|
+
className: cn("peer border-neutral-200 dark:bg-neutral-200/30 data-[state=checked]:bg-neutral-900 data-[state=checked]:text-neutral-50 dark:data-[state=checked]:bg-neutral-900 data-[state=checked]:border-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:dark:bg-neutral-800/30 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:text-neutral-900 dark:dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:border-neutral-50 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", className),
|
|
11
11
|
...props,
|
|
12
|
-
children: /*#__PURE__*/
|
|
12
|
+
children: /*#__PURE__*/ jsx(Indicator, {
|
|
13
13
|
"data-slot": "checkbox-indicator",
|
|
14
14
|
className: "flex items-center justify-center text-current transition-none",
|
|
15
|
-
children: /*#__PURE__*/
|
|
15
|
+
children: /*#__PURE__*/ jsx(CheckIcon, {
|
|
16
16
|
className: "size-3.5"
|
|
17
17
|
})
|
|
18
18
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\checkbox.js","sources":["webpack://@arolariu/components/./src/components/ui/checkbox.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer border-neutral-200 dark:bg-neutral-200/30 data-[state=checked]:bg-neutral-900 data-[state=checked]:text-neutral-50 dark:data-[state=checked]:bg-neutral-900 data-[state=checked]:border-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:dark:bg-neutral-800/30 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:text-neutral-900 dark:dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:border-neutral-50 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 className
|
|
1
|
+
{"version":3,"file":"components\\ui\\checkbox.js","sources":["webpack://@arolariu/components/./src/components/ui/checkbox.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer border-neutral-200 dark:bg-neutral-200/30 data-[state=checked]:bg-neutral-900 data-[state=checked]:text-neutral-50 dark:data-[state=checked]:bg-neutral-900 data-[state=checked]:border-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:dark:bg-neutral-800/30 dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:text-neutral-900 dark:dark:data-[state=checked]:bg-neutral-50 dark:data-[state=checked]:border-neutral-50 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 className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"names":["Checkbox","className","props","CheckboxPrimitive","cn","CheckIcon"],"mappings":";;;;;;AAQA,SAASA,SAAS,EAChBC,SAAS,EACT,GAAGC,OACiD;IACpD,OAAO,WAAP,GACE,IAACC,MAAsB;QACrB,aAAU;QACV,WAAWC,GACT,w5BACAH;QAED,GAAGC,KAAK;kBAET,kBAACC,WAA2B;YAC1B,aAAU;YACV,WAAU;sBAEV,kBAACE,WAASA;gBAAC,WAAU;;;;AAI7B"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import "react";
|
|
4
|
-
import
|
|
4
|
+
import { CollapsibleContent, CollapsibleTrigger, Root } from "@radix-ui/react-collapsible";
|
|
5
5
|
function Collapsible({ ...props }) {
|
|
6
|
-
return /*#__PURE__*/
|
|
6
|
+
return /*#__PURE__*/ jsx(Root, {
|
|
7
7
|
"data-slot": "collapsible",
|
|
8
8
|
...props
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
return /*#__PURE__*/
|
|
11
|
+
function collapsible_CollapsibleTrigger({ ...props }) {
|
|
12
|
+
return /*#__PURE__*/ jsx(CollapsibleTrigger, {
|
|
13
13
|
"data-slot": "collapsible-trigger",
|
|
14
14
|
...props
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
function
|
|
18
|
-
return /*#__PURE__*/
|
|
17
|
+
function collapsible_CollapsibleContent({ ...props }) {
|
|
18
|
+
return /*#__PURE__*/ jsx(CollapsibleContent, {
|
|
19
19
|
"data-slot": "collapsible-content",
|
|
20
20
|
...props
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
-
export { Collapsible, CollapsibleContent, CollapsibleTrigger };
|
|
23
|
+
export { Collapsible, collapsible_CollapsibleContent as CollapsibleContent, collapsible_CollapsibleTrigger as CollapsibleTrigger };
|
|
24
24
|
|
|
25
25
|
//# sourceMappingURL=collapsible.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\collapsible.js","sources":["webpack://@arolariu/components/./src/components/ui/collapsible.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n );\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n data-slot=\"collapsible-content\"\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"],"names":["Collapsible","props","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent"],"mappings":";;;;AAKA,SAASA,YAAY,EACnB,GAAGC,OACoD;IACvD,OAAO,WAAP,GAAO,
|
|
1
|
+
{"version":3,"file":"components\\ui\\collapsible.js","sources":["webpack://@arolariu/components/./src/components/ui/collapsible.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n );\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n data-slot=\"collapsible-content\"\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"],"names":["Collapsible","props","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent"],"mappings":";;;;AAKA,SAASA,YAAY,EACnB,GAAGC,OACoD;IACvD,OAAO,WAAP,GAAO,IAACC,MAAyB;QAAC,aAAU;QAAe,GAAGD,KAAK;;AACrE;AAEA,SAASE,+BAAmB,EAC1B,GAAGF,OACkE;IACrE,OAAO,WAAP,GACE,IAACC,oBAAuC;QACtC,aAAU;QACT,GAAGD,KAAK;;AAGf;AAEA,SAASG,+BAAmB,EAC1B,GAAGH,OACkE;IACrE,OAAO,WAAP,GACE,IAACC,oBAAuC;QACtC,aAAU;QACT,GAAGD,KAAK;;AAGf"}
|
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import "react";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
function
|
|
9
|
-
return /*#__PURE__*/
|
|
4
|
+
import { Command } from "cmdk";
|
|
5
|
+
import { SearchIcon } from "lucide-react";
|
|
6
|
+
import { cn } from "../../lib/utils.js";
|
|
7
|
+
import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "./dialog.js";
|
|
8
|
+
function command_Command({ className, ...props }) {
|
|
9
|
+
return /*#__PURE__*/ jsx(Command, {
|
|
10
10
|
"data-slot": "command",
|
|
11
|
-
className:
|
|
11
|
+
className: cn("bg-white text-neutral-950 flex h-full w-full flex-col overflow-hidden rounded-md dark:bg-neutral-950 dark:text-neutral-50", className),
|
|
12
12
|
...props
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
-
function CommandDialog({ title = "Command Palette", description = "Search for a command to run...", children, ...props }) {
|
|
16
|
-
return /*#__PURE__*/
|
|
15
|
+
function CommandDialog({ title = "Command Palette", description = "Search for a command to run...", children, className, showCloseButton = true, ...props }) {
|
|
16
|
+
return /*#__PURE__*/ jsxs(Dialog, {
|
|
17
17
|
...props,
|
|
18
18
|
children: [
|
|
19
|
-
/*#__PURE__*/
|
|
19
|
+
/*#__PURE__*/ jsxs(DialogHeader, {
|
|
20
20
|
className: "sr-only",
|
|
21
21
|
children: [
|
|
22
|
-
/*#__PURE__*/
|
|
22
|
+
/*#__PURE__*/ jsx(DialogTitle, {
|
|
23
23
|
children: title
|
|
24
24
|
}),
|
|
25
|
-
/*#__PURE__*/
|
|
25
|
+
/*#__PURE__*/ jsx(DialogDescription, {
|
|
26
26
|
children: description
|
|
27
27
|
})
|
|
28
28
|
]
|
|
29
29
|
}),
|
|
30
|
-
/*#__PURE__*/
|
|
31
|
-
className: "overflow-hidden p-0",
|
|
32
|
-
|
|
30
|
+
/*#__PURE__*/ jsx(DialogContent, {
|
|
31
|
+
className: cn("overflow-hidden p-0", className),
|
|
32
|
+
showCloseButton: showCloseButton,
|
|
33
|
+
children: /*#__PURE__*/ jsx(command_Command, {
|
|
33
34
|
className: "[&_[cmdk-group-heading]]:text-neutral-500 **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5 dark:[&_[cmdk-group-heading]]:text-neutral-400",
|
|
34
35
|
children: children
|
|
35
36
|
})
|
|
@@ -38,63 +39,63 @@ function CommandDialog({ title = "Command Palette", description = "Search for a
|
|
|
38
39
|
});
|
|
39
40
|
}
|
|
40
41
|
function CommandInput({ className, ...props }) {
|
|
41
|
-
return /*#__PURE__*/
|
|
42
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
42
43
|
"data-slot": "command-input-wrapper",
|
|
43
44
|
className: "flex h-9 items-center gap-2 border-b px-3",
|
|
44
45
|
children: [
|
|
45
|
-
/*#__PURE__*/
|
|
46
|
+
/*#__PURE__*/ jsx(SearchIcon, {
|
|
46
47
|
className: "size-4 shrink-0 opacity-50"
|
|
47
48
|
}),
|
|
48
|
-
/*#__PURE__*/
|
|
49
|
+
/*#__PURE__*/ jsx(Command.Input, {
|
|
49
50
|
"data-slot": "command-input",
|
|
50
|
-
className:
|
|
51
|
+
className: cn("placeholder:text-neutral-500 flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50 dark:placeholder:text-neutral-400", className),
|
|
51
52
|
...props
|
|
52
53
|
})
|
|
53
54
|
]
|
|
54
55
|
});
|
|
55
56
|
}
|
|
56
57
|
function CommandList({ className, ...props }) {
|
|
57
|
-
return /*#__PURE__*/
|
|
58
|
+
return /*#__PURE__*/ jsx(Command.List, {
|
|
58
59
|
"data-slot": "command-list",
|
|
59
|
-
className:
|
|
60
|
+
className: cn("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto", className),
|
|
60
61
|
...props
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
64
|
function CommandEmpty({ ...props }) {
|
|
64
|
-
return /*#__PURE__*/
|
|
65
|
+
return /*#__PURE__*/ jsx(Command.Empty, {
|
|
65
66
|
"data-slot": "command-empty",
|
|
66
67
|
className: "py-6 text-center text-sm",
|
|
67
68
|
...props
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
71
|
function CommandGroup({ className, ...props }) {
|
|
71
|
-
return /*#__PURE__*/
|
|
72
|
+
return /*#__PURE__*/ jsx(Command.Group, {
|
|
72
73
|
"data-slot": "command-group",
|
|
73
|
-
className:
|
|
74
|
+
className: cn("text-neutral-950 [&_[cmdk-group-heading]]:text-neutral-500 overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium dark:text-neutral-50 dark:[&_[cmdk-group-heading]]:text-neutral-400", className),
|
|
74
75
|
...props
|
|
75
76
|
});
|
|
76
77
|
}
|
|
77
78
|
function CommandSeparator({ className, ...props }) {
|
|
78
|
-
return /*#__PURE__*/
|
|
79
|
+
return /*#__PURE__*/ jsx(Command.Separator, {
|
|
79
80
|
"data-slot": "command-separator",
|
|
80
|
-
className:
|
|
81
|
+
className: cn("bg-neutral-200 -mx-1 h-px dark:bg-neutral-800", className),
|
|
81
82
|
...props
|
|
82
83
|
});
|
|
83
84
|
}
|
|
84
85
|
function CommandItem({ className, ...props }) {
|
|
85
|
-
return /*#__PURE__*/
|
|
86
|
+
return /*#__PURE__*/ jsx(Command.Item, {
|
|
86
87
|
"data-slot": "command-item",
|
|
87
|
-
className:
|
|
88
|
+
className: cn("data-[selected=true]:bg-neutral-100 data-[selected=true]:text-neutral-900 [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:data-[selected=true]:bg-neutral-800 dark:data-[selected=true]:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400", className),
|
|
88
89
|
...props
|
|
89
90
|
});
|
|
90
91
|
}
|
|
91
92
|
function CommandShortcut({ className, ...props }) {
|
|
92
|
-
return /*#__PURE__*/
|
|
93
|
+
return /*#__PURE__*/ jsx("span", {
|
|
93
94
|
"data-slot": "command-shortcut",
|
|
94
|
-
className:
|
|
95
|
+
className: cn("text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400", className),
|
|
95
96
|
...props
|
|
96
97
|
});
|
|
97
98
|
}
|
|
98
|
-
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
|
|
99
|
+
export { command_Command as Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
|
|
99
100
|
|
|
100
101
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\command.js","sources":["webpack://@arolariu/components/./src/components/ui/command.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { SearchIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"@/components/ui/dialog\";\n\nfunction Command({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn(\n \"bg-white text-neutral-950 flex h-full w-full flex-col overflow-hidden rounded-md dark:bg-neutral-950 dark:text-neutral-50\",\n className
|
|
1
|
+
{"version":3,"file":"components\\ui\\command.js","sources":["webpack://@arolariu/components/./src/components/ui/command.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { SearchIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"@/components/ui/dialog\";\n\nfunction Command({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn(\n \"bg-white text-neutral-950 flex h-full w-full flex-col overflow-hidden rounded-md dark:bg-neutral-950 dark:text-neutral-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandDialog({\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n className,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof Dialog> & {\n title?: string;\n description?: string;\n className?: string;\n showCloseButton?: boolean;\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className=\"sr-only\">\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent\n className={cn(\"overflow-hidden p-0\", className)}\n showCloseButton={showCloseButton}\n >\n <Command className=\"[&_[cmdk-group-heading]]:text-neutral-500 **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5 dark:[&_[cmdk-group-heading]]:text-neutral-400\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n}\n\nfunction CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div\n data-slot=\"command-input-wrapper\"\n className=\"flex h-9 items-center gap-2 border-b px-3\"\n >\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn(\n \"placeholder:text-neutral-500 flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50 dark:placeholder:text-neutral-400\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CommandList({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn(\n \"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n );\n}\n\nfunction CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n \"text-neutral-950 [&_[cmdk-group-heading]]:text-neutral-500 overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium dark:text-neutral-50 dark:[&_[cmdk-group-heading]]:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn(\"bg-neutral-200 -mx-1 h-px dark:bg-neutral-800\", className)}\n {...props}\n />\n );\n}\n\nfunction CommandItem({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n \"data-[selected=true]:bg-neutral-100 data-[selected=true]:text-neutral-900 [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:data-[selected=true]:bg-neutral-800 dark:data-[selected=true]:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn(\n \"text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n"],"names":["Command","className","props","CommandPrimitive","cn","CommandDialog","title","description","children","showCloseButton","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogContent","CommandInput","SearchIcon","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut"],"mappings":";;;;;;;AAeA,SAASA,gBAAQ,EACfC,SAAS,EACT,GAAGC,OAC2C;IAC9C,OAAO,WAAP,GACE,IAACC,SAAgBA;QACf,aAAU;QACV,WAAWC,GACT,6HACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASG,cAAc,EACrBC,QAAQ,iBAAiB,EACzBC,cAAc,gCAAgC,EAC9CC,QAAQ,EACRP,SAAS,EACTQ,kBAAkB,IAAI,EACtB,GAAGP,OAMJ;IACC,OAAO,WAAP,GACE,KAACQ,QAAMA;QAAE,GAAGR,KAAK;;0BACf,KAACS,cAAYA;gBAAC,WAAU;;kCACtB,IAACC,aAAWA;kCAAEN;;kCACd,IAACO,mBAAiBA;kCAAEN;;;;0BAEtB,IAACO,eAAaA;gBACZ,WAAWV,GAAG,uBAAuBH;gBACrC,iBAAiBQ;0BAEjB,kBAACT,iBAAOA;oBAAC,WAAU;8BAChBQ;;;;;AAKX;AAEA,SAASO,aAAa,EACpBd,SAAS,EACT,GAAGC,OACiD;IACpD,OAAO,WAAP,GACE,KAAC;QACC,aAAU;QACV,WAAU;;0BAEV,IAACc,YAAUA;gBAAC,WAAU;;0BACtB,IAACb,QAAAA,KAAsB;gBACrB,aAAU;gBACV,WAAWC,GACT,yLACAH;gBAED,GAAGC,KAAK;;;;AAIjB;AAEA,SAASe,YAAY,EACnBhB,SAAS,EACT,GAAGC,OACgD;IACnD,OAAO,WAAP,GACE,IAACC,QAAAA,IAAqB;QACpB,aAAU;QACV,WAAWC,GACT,+DACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASgB,aAAa,EACpB,GAAGhB,OACiD;IACpD,OAAO,WAAP,GACE,IAACC,QAAAA,KAAsB;QACrB,aAAU;QACV,WAAU;QACT,GAAGD,KAAK;;AAGf;AAEA,SAASiB,aAAa,EACpBlB,SAAS,EACT,GAAGC,OACiD;IACpD,OAAO,WAAP,GACE,IAACC,QAAAA,KAAsB;QACrB,aAAU;QACV,WAAWC,GACT,0RACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASkB,iBAAiB,EACxBnB,SAAS,EACT,GAAGC,OACqD;IACxD,OAAO,WAAP,GACE,IAACC,QAAAA,SAA0B;QACzB,aAAU;QACV,WAAWC,GAAG,iDAAiDH;QAC9D,GAAGC,KAAK;;AAGf;AAEA,SAASmB,YAAY,EACnBpB,SAAS,EACT,GAAGC,OACgD;IACnD,OAAO,WAAP,GACE,IAACC,QAAAA,IAAqB;QACpB,aAAU;QACV,WAAWC,GACT,wgBACAH;QAED,GAAGC,KAAK;;AAGf;AAEA,SAASoB,gBAAgB,EACvBrB,SAAS,EACT,GAAGC,OAC0B;IAC7B,OAAO,WAAP,GACE,IAAC;QACC,aAAU;QACV,WAAWE,GACT,0EACAH;QAED,GAAGC,KAAK;;AAGf"}
|
|
@@ -1,95 +1,95 @@
|
|
|
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 { CheckboxItem, Content, Group, Item, ItemIndicator, Label, Portal, RadioGroup, RadioItem, Root, Separator, Sub, SubContent, SubTrigger, Trigger } from "@radix-ui/react-context-menu";
|
|
5
|
+
import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
|
|
6
|
+
import { cn } from "../../lib/utils.js";
|
|
7
7
|
function ContextMenu({ ...props }) {
|
|
8
|
-
return /*#__PURE__*/
|
|
8
|
+
return /*#__PURE__*/ jsx(Root, {
|
|
9
9
|
"data-slot": "context-menu",
|
|
10
10
|
...props
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
function ContextMenuTrigger({ ...props }) {
|
|
14
|
-
return /*#__PURE__*/
|
|
14
|
+
return /*#__PURE__*/ jsx(Trigger, {
|
|
15
15
|
"data-slot": "context-menu-trigger",
|
|
16
16
|
...props
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
function ContextMenuGroup({ ...props }) {
|
|
20
|
-
return /*#__PURE__*/
|
|
20
|
+
return /*#__PURE__*/ jsx(Group, {
|
|
21
21
|
"data-slot": "context-menu-group",
|
|
22
22
|
...props
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
function ContextMenuPortal({ ...props }) {
|
|
26
|
-
return /*#__PURE__*/
|
|
26
|
+
return /*#__PURE__*/ jsx(Portal, {
|
|
27
27
|
"data-slot": "context-menu-portal",
|
|
28
28
|
...props
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
function ContextMenuSub({ ...props }) {
|
|
32
|
-
return /*#__PURE__*/
|
|
32
|
+
return /*#__PURE__*/ jsx(Sub, {
|
|
33
33
|
"data-slot": "context-menu-sub",
|
|
34
34
|
...props
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
function ContextMenuRadioGroup({ ...props }) {
|
|
38
|
-
return /*#__PURE__*/
|
|
38
|
+
return /*#__PURE__*/ jsx(RadioGroup, {
|
|
39
39
|
"data-slot": "context-menu-radio-group",
|
|
40
40
|
...props
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
function ContextMenuSubTrigger({ className, inset, children, ...props }) {
|
|
44
|
-
return /*#__PURE__*/
|
|
44
|
+
return /*#__PURE__*/ jsxs(SubTrigger, {
|
|
45
45
|
"data-slot": "context-menu-sub-trigger",
|
|
46
46
|
"data-inset": inset,
|
|
47
|
-
className:
|
|
47
|
+
className: cn("focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50", className),
|
|
48
48
|
...props,
|
|
49
49
|
children: [
|
|
50
50
|
children,
|
|
51
|
-
/*#__PURE__*/
|
|
51
|
+
/*#__PURE__*/ jsx(ChevronRightIcon, {
|
|
52
52
|
className: "ml-auto"
|
|
53
53
|
})
|
|
54
54
|
]
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
function ContextMenuSubContent({ className, ...props }) {
|
|
58
|
-
return /*#__PURE__*/
|
|
58
|
+
return /*#__PURE__*/ jsx(SubContent, {
|
|
59
59
|
"data-slot": "context-menu-sub-content",
|
|
60
|
-
className:
|
|
60
|
+
className: cn("bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border border-neutral-200 p-1 shadow-lg dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
|
|
61
61
|
...props
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
function ContextMenuContent({ className, ...props }) {
|
|
65
|
-
return /*#__PURE__*/
|
|
66
|
-
children: /*#__PURE__*/
|
|
65
|
+
return /*#__PURE__*/ jsx(Portal, {
|
|
66
|
+
children: /*#__PURE__*/ jsx(Content, {
|
|
67
67
|
"data-slot": "context-menu-content",
|
|
68
|
-
className:
|
|
68
|
+
className: cn("bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-neutral-200 p-1 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800", className),
|
|
69
69
|
...props
|
|
70
70
|
})
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
function ContextMenuItem({ className, inset, variant = "default", ...props }) {
|
|
74
|
-
return /*#__PURE__*/
|
|
74
|
+
return /*#__PURE__*/ jsx(Item, {
|
|
75
75
|
"data-slot": "context-menu-item",
|
|
76
76
|
"data-inset": inset,
|
|
77
77
|
"data-variant": variant,
|
|
78
|
-
className:
|
|
78
|
+
className: cn("focus:bg-neutral-100 focus:text-neutral-900 data-[variant=destructive]:text-red-500 data-[variant=destructive]:focus:bg-red-500/10 dark:data-[variant=destructive]:focus:bg-red-500/20 data-[variant=destructive]:focus:text-red-500 data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[variant=destructive]:text-red-900 dark:data-[variant=destructive]:focus:bg-red-900/10 dark:dark:data-[variant=destructive]:focus:bg-red-900/20 dark:data-[variant=destructive]:focus:text-red-900 dark:[&_svg:not([class*='text-'])]:text-neutral-400", className),
|
|
79
79
|
...props
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
function ContextMenuCheckboxItem({ className, children, checked, ...props }) {
|
|
83
|
-
return /*#__PURE__*/
|
|
83
|
+
return /*#__PURE__*/ jsxs(CheckboxItem, {
|
|
84
84
|
"data-slot": "context-menu-checkbox-item",
|
|
85
|
-
className:
|
|
85
|
+
className: cn("focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50", className),
|
|
86
86
|
checked: checked,
|
|
87
87
|
...props,
|
|
88
88
|
children: [
|
|
89
|
-
/*#__PURE__*/
|
|
89
|
+
/*#__PURE__*/ jsx("span", {
|
|
90
90
|
className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
|
|
91
|
-
children: /*#__PURE__*/
|
|
92
|
-
children: /*#__PURE__*/
|
|
91
|
+
children: /*#__PURE__*/ jsx(ItemIndicator, {
|
|
92
|
+
children: /*#__PURE__*/ jsx(CheckIcon, {
|
|
93
93
|
className: "size-4"
|
|
94
94
|
})
|
|
95
95
|
})
|
|
@@ -99,15 +99,15 @@ function ContextMenuCheckboxItem({ className, children, checked, ...props }) {
|
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
101
|
function ContextMenuRadioItem({ className, children, ...props }) {
|
|
102
|
-
return /*#__PURE__*/
|
|
102
|
+
return /*#__PURE__*/ jsxs(RadioItem, {
|
|
103
103
|
"data-slot": "context-menu-radio-item",
|
|
104
|
-
className:
|
|
104
|
+
className: cn("focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50", className),
|
|
105
105
|
...props,
|
|
106
106
|
children: [
|
|
107
|
-
/*#__PURE__*/
|
|
107
|
+
/*#__PURE__*/ jsx("span", {
|
|
108
108
|
className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
|
|
109
|
-
children: /*#__PURE__*/
|
|
110
|
-
children: /*#__PURE__*/
|
|
109
|
+
children: /*#__PURE__*/ jsx(ItemIndicator, {
|
|
110
|
+
children: /*#__PURE__*/ jsx(CircleIcon, {
|
|
111
111
|
className: "size-2 fill-current"
|
|
112
112
|
})
|
|
113
113
|
})
|
|
@@ -117,24 +117,24 @@ function ContextMenuRadioItem({ className, children, ...props }) {
|
|
|
117
117
|
});
|
|
118
118
|
}
|
|
119
119
|
function ContextMenuLabel({ className, inset, ...props }) {
|
|
120
|
-
return /*#__PURE__*/
|
|
120
|
+
return /*#__PURE__*/ jsx(Label, {
|
|
121
121
|
"data-slot": "context-menu-label",
|
|
122
122
|
"data-inset": inset,
|
|
123
|
-
className:
|
|
123
|
+
className: cn("text-neutral-950 px-2 py-1.5 text-sm font-medium data-[inset]:pl-8 dark:text-neutral-50", className),
|
|
124
124
|
...props
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
127
|
function ContextMenuSeparator({ className, ...props }) {
|
|
128
|
-
return /*#__PURE__*/
|
|
128
|
+
return /*#__PURE__*/ jsx(Separator, {
|
|
129
129
|
"data-slot": "context-menu-separator",
|
|
130
|
-
className:
|
|
130
|
+
className: cn("bg-neutral-200 -mx-1 my-1 h-px dark:bg-neutral-800", className),
|
|
131
131
|
...props
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
function ContextMenuShortcut({ className, ...props }) {
|
|
135
|
-
return /*#__PURE__*/
|
|
135
|
+
return /*#__PURE__*/ jsx("span", {
|
|
136
136
|
"data-slot": "context-menu-shortcut",
|
|
137
|
-
className:
|
|
137
|
+
className: cn("text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400", className),
|
|
138
138
|
...props
|
|
139
139
|
});
|
|
140
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\ui\\context-menu.js","sources":["webpack://@arolariu/components/./src/components/ui/context-menu.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ContextMenu({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />;\n}\n\nfunction ContextMenuTrigger({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return (\n <ContextMenuPrimitive.Trigger data-slot=\"context-menu-trigger\" {...props} />\n );\n}\n\nfunction ContextMenuGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return (\n <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />\n );\n}\n\nfunction ContextMenuPortal({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return (\n <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />\n );\n}\n\nfunction ContextMenuSub({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />;\n}\n\nfunction ContextMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return (\n <ContextMenuPrimitive.RadioGroup\n data-slot=\"context-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n );\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot=\"context-menu-sub-content\"\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border border-neutral-200 p-1 shadow-lg dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Content>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot=\"context-menu-content\"\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-neutral-200 p-1 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot=\"context-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[variant=destructive]:text-red-500 data-[variant=destructive]:focus:bg-red-500/10 dark:data-[variant=destructive]:focus:bg-red-500/20 data-[variant=destructive]:focus:text-red-500 data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[variant=destructive]:text-red-900 dark:data-[variant=destructive]:focus:bg-red-900/10 dark:dark:data-[variant=destructive]:focus:bg-red-900/20 dark:data-[variant=destructive]:focus:text-red-900 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn(\n \"text-neutral-950 px-2 py-1.5 text-sm font-medium data-[inset]:pl-8 dark:text-neutral-50\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn(\n \"bg-neutral-200 -mx-1 my-1 h-px dark:bg-neutral-800\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n \"text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n};\n"],"names":["ContextMenu","props","ContextMenuPrimitive","ContextMenuTrigger","ContextMenuGroup","ContextMenuPortal","ContextMenuSub","ContextMenuRadioGroup","ContextMenuSubTrigger","className","inset","children","cn","ChevronRightIcon","ContextMenuSubContent","ContextMenuContent","ContextMenuItem","variant","ContextMenuCheckboxItem","checked","CheckIcon","ContextMenuRadioItem","CircleIcon","ContextMenuLabel","ContextMenuSeparator","ContextMenuShortcut"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components\\ui\\context-menu.js","sources":["webpack://@arolariu/components/./src/components/ui/context-menu.tsx"],"sourcesContent":["\n\nimport * as React from \"react\";\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ContextMenu({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot=\"context-menu\" {...props} />;\n}\n\nfunction ContextMenuTrigger({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return (\n <ContextMenuPrimitive.Trigger data-slot=\"context-menu-trigger\" {...props} />\n );\n}\n\nfunction ContextMenuGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return (\n <ContextMenuPrimitive.Group data-slot=\"context-menu-group\" {...props} />\n );\n}\n\nfunction ContextMenuPortal({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return (\n <ContextMenuPrimitive.Portal data-slot=\"context-menu-portal\" {...props} />\n );\n}\n\nfunction ContextMenuSub({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot=\"context-menu-sub\" {...props} />;\n}\n\nfunction ContextMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return (\n <ContextMenuPrimitive.RadioGroup\n data-slot=\"context-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot=\"context-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-900 flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-50\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n );\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot=\"context-menu-sub-content\"\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border border-neutral-200 p-1 shadow-lg dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Content>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot=\"context-menu-content\"\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-neutral-200 p-1 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot=\"context-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 data-[variant=destructive]:text-red-500 data-[variant=destructive]:focus:bg-red-500/10 dark:data-[variant=destructive]:focus:bg-red-500/20 data-[variant=destructive]:focus:text-red-500 data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-neutral-500 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:data-[variant=destructive]:text-red-900 dark:data-[variant=destructive]:focus:bg-red-900/10 dark:dark:data-[variant=destructive]:focus:bg-red-900/20 dark:data-[variant=destructive]:focus:text-red-900 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot=\"context-menu-checkbox-item\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot=\"context-menu-radio-item\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:focus:bg-neutral-800 dark:focus:text-neutral-50\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot=\"context-menu-label\"\n data-inset={inset}\n className={cn(\n \"text-neutral-950 px-2 py-1.5 text-sm font-medium data-[inset]:pl-8 dark:text-neutral-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot=\"context-menu-separator\"\n className={cn(\n \"bg-neutral-200 -mx-1 my-1 h-px dark:bg-neutral-800\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"context-menu-shortcut\"\n className={cn(\n \"text-neutral-500 ml-auto text-xs tracking-widest dark:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n};\n"],"names":["ContextMenu","props","ContextMenuPrimitive","ContextMenuTrigger","ContextMenuGroup","ContextMenuPortal","ContextMenuSub","ContextMenuRadioGroup","ContextMenuSubTrigger","className","inset","children","cn","ChevronRightIcon","ContextMenuSubContent","ContextMenuContent","ContextMenuItem","variant","ContextMenuCheckboxItem","checked","CheckIcon","ContextMenuRadioItem","CircleIcon","ContextMenuLabel","ContextMenuSeparator","ContextMenuShortcut"],"mappings":"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"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
const CountingNumber = /*#__PURE__*/
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef, useEffect, useImperativeHandle, useRef } from "react";
|
|
4
|
+
import { useInView, useMotionValue, useSpring } from "motion/react";
|
|
5
|
+
const CountingNumber = /*#__PURE__*/ forwardRef(({ number, fromNumber = 0, padStart = false, inView = false, inViewMargin = "0px", inViewOnce = true, decimalSeparator = ".", transition = {
|
|
6
6
|
stiffness: 90,
|
|
7
7
|
damping: 50
|
|
8
8
|
}, decimalPlaces = 0, className, ...props }, ref)=>{
|
|
9
|
-
const localRef =
|
|
10
|
-
|
|
9
|
+
const localRef = useRef(null);
|
|
10
|
+
useImperativeHandle(ref, ()=>localRef.current);
|
|
11
11
|
const numberStr = number.toString();
|
|
12
12
|
const decimals = "number" == typeof decimalPlaces ? decimalPlaces : numberStr.includes(".") ? numberStr.split(".")[1].length : 0;
|
|
13
|
-
const motionVal =
|
|
14
|
-
const springVal =
|
|
15
|
-
const inViewResult =
|
|
13
|
+
const motionVal = useMotionValue(fromNumber);
|
|
14
|
+
const springVal = useSpring(motionVal, transition);
|
|
15
|
+
const inViewResult = useInView(localRef, {
|
|
16
16
|
once: inViewOnce,
|
|
17
17
|
margin: inViewMargin
|
|
18
18
|
});
|
|
19
19
|
const isInView = !inView || inViewResult;
|
|
20
|
-
|
|
20
|
+
useEffect(()=>{
|
|
21
21
|
if (isInView) motionVal.set(number);
|
|
22
22
|
}, [
|
|
23
23
|
isInView,
|
|
24
24
|
number,
|
|
25
25
|
motionVal
|
|
26
26
|
]);
|
|
27
|
-
|
|
27
|
+
useEffect(()=>{
|
|
28
28
|
const unsubscribe = springVal.on("change", (latest)=>{
|
|
29
29
|
if (localRef.current) {
|
|
30
30
|
let formatted = decimals > 0 ? latest.toFixed(decimals) : Math.round(latest).toString();
|
|
@@ -48,7 +48,7 @@ const CountingNumber = /*#__PURE__*/ __WEBPACK_EXTERNAL_MODULE_react__.forwardRe
|
|
|
48
48
|
]);
|
|
49
49
|
const finalIntLength = Math.floor(Math.abs(number)).toString().length;
|
|
50
50
|
const initialText = padStart ? "0".padStart(finalIntLength, "0") + (decimals > 0 ? decimalSeparator + "0".repeat(decimals) : "") : "0" + (decimals > 0 ? decimalSeparator + "0".repeat(decimals) : "");
|
|
51
|
-
return /*#__PURE__*/
|
|
51
|
+
return /*#__PURE__*/ jsx("span", {
|
|
52
52
|
ref: localRef,
|
|
53
53
|
className: className,
|
|
54
54
|
...props,
|