@arolariu/components 1.0.0 → 2.0.0
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 +89 -0
- package/EXAMPLES.md +2510 -0
- package/dist/components/ui/accordion.js +3 -3
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/accordion_module.css.map +1 -1
- package/dist/components/ui/alert-dialog.d.ts +4 -16
- package/dist/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/alert-dialog.js +21 -17
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/alert-dialog_module.css +1 -1
- package/dist/components/ui/alert-dialog_module.css.map +1 -1
- package/dist/components/ui/alert.js +4 -4
- package/dist/components/ui/alert.js.map +1 -1
- package/dist/components/ui/alert_module.css.map +1 -1
- package/dist/components/ui/aspect-ratio.js +2 -2
- package/dist/components/ui/aspect-ratio.js.map +1 -1
- package/dist/components/ui/aspect-ratio_module.css.map +1 -1
- package/dist/components/ui/async-boundary.js +2 -2
- package/dist/components/ui/async-boundary.js.map +1 -1
- package/dist/components/ui/avatar.d.ts +3 -12
- package/dist/components/ui/avatar.d.ts.map +1 -1
- package/dist/components/ui/avatar.js +18 -15
- package/dist/components/ui/avatar.js.map +1 -1
- package/dist/components/ui/avatar_module.css.map +1 -1
- package/dist/components/ui/background-beams.js +3 -3
- package/dist/components/ui/background-beams.js.map +1 -1
- package/dist/components/ui/background-beams_module.css.map +1 -1
- package/dist/components/ui/badge.js +2 -2
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/badge_module.css.map +1 -1
- package/dist/components/ui/breadcrumb.js +10 -10
- package/dist/components/ui/breadcrumb.js.map +1 -1
- package/dist/components/ui/breadcrumb_module.css.map +1 -1
- package/dist/components/ui/bubble-background.js +5 -5
- package/dist/components/ui/bubble-background.js.map +1 -1
- package/dist/components/ui/bubble-background_module.css.map +1 -1
- package/dist/components/ui/button-group.d.ts +1 -1
- package/dist/components/ui/button-group.d.ts.map +1 -1
- package/dist/components/ui/button-group.js +6 -6
- package/dist/components/ui/button-group.js.map +1 -1
- package/dist/components/ui/button-group_module.css.map +1 -1
- package/dist/components/ui/button.js +4 -4
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/button_module.css.map +1 -1
- package/dist/components/ui/calendar.d.ts +3 -5
- package/dist/components/ui/calendar.d.ts.map +1 -1
- package/dist/components/ui/calendar.js +9 -9
- package/dist/components/ui/calendar.js.map +1 -1
- package/dist/components/ui/calendar_module.css.map +1 -1
- package/dist/components/ui/card-skeleton.js +2 -2
- package/dist/components/ui/card-skeleton.js.map +1 -1
- package/dist/components/ui/card-skeleton_module.css.map +1 -1
- package/dist/components/ui/card.js +8 -8
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/card_module.css.map +1 -1
- package/dist/components/ui/carousel.d.ts.map +1 -1
- package/dist/components/ui/carousel.js +16 -16
- package/dist/components/ui/carousel.js.map +1 -1
- package/dist/components/ui/carousel_module.css +1 -1
- package/dist/components/ui/carousel_module.css.map +1 -1
- package/dist/components/ui/chart.d.ts +6 -3
- package/dist/components/ui/chart.d.ts.map +1 -1
- package/dist/components/ui/chart.js +70 -70
- package/dist/components/ui/chart.js.map +1 -1
- package/dist/components/ui/chart_module.css.map +1 -1
- package/dist/components/ui/checkbox-group.d.ts +2 -6
- package/dist/components/ui/checkbox-group.d.ts.map +1 -1
- package/dist/components/ui/checkbox-group.js +8 -7
- package/dist/components/ui/checkbox-group.js.map +1 -1
- package/dist/components/ui/checkbox-group_module.css.map +1 -1
- package/dist/components/ui/checkbox.d.ts +3 -1
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/checkbox.js +6 -3
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/checkbox_module.css.map +1 -1
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/collapsible.js +4 -4
- package/dist/components/ui/collapsible.js.map +1 -1
- package/dist/components/ui/collapsible_module.css.map +1 -1
- package/dist/components/ui/combobox.d.ts +335 -0
- package/dist/components/ui/combobox.d.ts.map +1 -0
- package/dist/components/ui/combobox.js +206 -0
- package/dist/components/ui/combobox.js.map +1 -0
- package/dist/components/ui/combobox.module.js +23 -0
- package/dist/components/ui/combobox.module.js.map +1 -0
- package/dist/components/ui/combobox_module.css +142 -0
- package/dist/components/ui/combobox_module.css.map +1 -0
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/command.js +62 -53
- package/dist/components/ui/command.js.map +1 -1
- package/dist/components/ui/command_module.css +1 -1
- package/dist/components/ui/command_module.css.map +1 -1
- package/dist/components/ui/context-menu.d.ts.map +1 -1
- package/dist/components/ui/context-menu.js +6 -6
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/context-menu_module.css.map +1 -1
- package/dist/components/ui/copy-button.js +6 -6
- package/dist/components/ui/copy-button.js.map +1 -1
- package/dist/components/ui/copy-button_module.css.map +1 -1
- package/dist/components/ui/counting-number.js +6 -6
- package/dist/components/ui/counting-number.js.map +1 -1
- package/dist/components/ui/counting-number_module.css.map +1 -1
- package/dist/components/ui/dialog.js +6 -6
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/dialog_module.css +1 -1
- package/dist/components/ui/dialog_module.css.map +1 -1
- package/dist/components/ui/dot-background_module.css.map +1 -1
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/drawer.js +5 -5
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/drawer_module.css.map +1 -1
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.js +6 -6
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/dropdown-menu_module.css.map +1 -1
- package/dist/components/ui/dropdrawer.d.ts +10 -16
- package/dist/components/ui/dropdrawer.d.ts.map +1 -1
- package/dist/components/ui/dropdrawer.js +73 -65
- package/dist/components/ui/dropdrawer.js.map +1 -1
- package/dist/components/ui/dropdrawer_module.css.map +1 -1
- package/dist/components/ui/empty.js +7 -7
- package/dist/components/ui/empty.js.map +1 -1
- package/dist/components/ui/empty_module.css.map +1 -1
- package/dist/components/ui/error-boundary.js +2 -2
- package/dist/components/ui/error-boundary.js.map +1 -1
- package/dist/components/ui/error-boundary_module.css.map +1 -1
- package/dist/components/ui/field.js +12 -12
- package/dist/components/ui/field.js.map +1 -1
- package/dist/components/ui/field_module.css.map +1 -1
- package/dist/components/ui/fireworks-background.js +6 -6
- package/dist/components/ui/fireworks-background.js.map +1 -1
- package/dist/components/ui/fireworks-background_module.css.map +1 -1
- package/dist/components/ui/flip-button.js +5 -5
- package/dist/components/ui/flip-button.js.map +1 -1
- package/dist/components/ui/flip-button_module.css.map +1 -1
- package/dist/components/ui/focus-scope.js +6 -6
- package/dist/components/ui/focus-scope.js.map +1 -1
- package/dist/components/ui/focus-scope_module.css.map +1 -1
- package/dist/components/ui/form-skeleton.js +2 -2
- package/dist/components/ui/form-skeleton.js.map +1 -1
- package/dist/components/ui/form-skeleton_module.css.map +1 -1
- package/dist/components/ui/form.d.ts +3 -3
- package/dist/components/ui/form.d.ts.map +1 -1
- package/dist/components/ui/form.js +13 -13
- package/dist/components/ui/form.js.map +1 -1
- package/dist/components/ui/form_module.css.map +1 -1
- package/dist/components/ui/gradient-background.js +2 -2
- package/dist/components/ui/gradient-background.js.map +1 -1
- package/dist/components/ui/gradient-background_module.css.map +1 -1
- package/dist/components/ui/gradient-text.js +2 -2
- package/dist/components/ui/gradient-text.js.map +1 -1
- package/dist/components/ui/gradient-text_module.css.map +1 -1
- package/dist/components/ui/highlight-text.js +4 -4
- package/dist/components/ui/highlight-text.js.map +1 -1
- package/dist/components/ui/highlight-text_module.css.map +1 -1
- package/dist/components/ui/hole-background.js +21 -21
- package/dist/components/ui/hole-background.js.map +1 -1
- package/dist/components/ui/hole-background_module.css.map +1 -1
- package/dist/components/ui/hover-card.js +3 -3
- package/dist/components/ui/hover-card.js.map +1 -1
- package/dist/components/ui/hover-card_module.css.map +1 -1
- package/dist/components/ui/input-group.js +7 -7
- package/dist/components/ui/input-group.js.map +1 -1
- package/dist/components/ui/input-group_module.css.map +1 -1
- package/dist/components/ui/input-otp.d.ts +3 -3
- package/dist/components/ui/input-otp.d.ts.map +1 -1
- package/dist/components/ui/input-otp.js +6 -6
- package/dist/components/ui/input-otp.js.map +1 -1
- package/dist/components/ui/input-otp_module.css.map +1 -1
- package/dist/components/ui/input.js +2 -2
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/input_module.css.map +1 -1
- package/dist/components/ui/item.d.ts +1 -1
- package/dist/components/ui/item.d.ts.map +1 -1
- package/dist/components/ui/item.js +13 -13
- package/dist/components/ui/item.js.map +1 -1
- package/dist/components/ui/item_module.css.map +1 -1
- package/dist/components/ui/kbd.js +3 -3
- package/dist/components/ui/kbd.js.map +1 -1
- package/dist/components/ui/kbd_module.css.map +1 -1
- package/dist/components/ui/label.js +2 -2
- package/dist/components/ui/label.js.map +1 -1
- package/dist/components/ui/label_module.css.map +1 -1
- package/dist/components/ui/list-skeleton.js +2 -2
- package/dist/components/ui/list-skeleton.js.map +1 -1
- package/dist/components/ui/list-skeleton_module.css.map +1 -1
- package/dist/components/ui/loading-overlay.js +2 -2
- package/dist/components/ui/loading-overlay.js.map +1 -1
- package/dist/components/ui/loading-overlay_module.css.map +1 -1
- package/dist/components/ui/menubar.d.ts +11 -13
- package/dist/components/ui/menubar.d.ts.map +1 -1
- package/dist/components/ui/menubar.js +4 -4
- package/dist/components/ui/menubar.js.map +1 -1
- package/dist/components/ui/menubar_module.css.map +1 -1
- package/dist/components/ui/meter.d.ts +8 -24
- package/dist/components/ui/meter.d.ts.map +1 -1
- package/dist/components/ui/meter.js +23 -19
- package/dist/components/ui/meter.js.map +1 -1
- package/dist/components/ui/meter_module.css.map +1 -1
- package/dist/components/ui/navigation-menu.d.ts +3 -12
- package/dist/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/components/ui/navigation-menu.js +15 -12
- package/dist/components/ui/navigation-menu.js.map +1 -1
- package/dist/components/ui/navigation-menu_module.css +1 -1
- package/dist/components/ui/navigation-menu_module.css.map +1 -1
- package/dist/components/ui/number-field.d.ts +6 -12
- package/dist/components/ui/number-field.d.ts.map +1 -1
- package/dist/components/ui/number-field.js +3 -3
- package/dist/components/ui/number-field.js.map +1 -1
- package/dist/components/ui/number-field_module.css.map +1 -1
- package/dist/components/ui/pagination.js +8 -8
- package/dist/components/ui/pagination.js.map +1 -1
- package/dist/components/ui/pagination_module.css.map +1 -1
- package/dist/components/ui/popover.js +5 -5
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/popover_module.css.map +1 -1
- package/dist/components/ui/progress.d.ts +1 -4
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/progress.js +10 -9
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/ui/progress_module.css.map +1 -1
- package/dist/components/ui/radio-group.d.ts +2 -4
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/radio-group.js +3 -3
- package/dist/components/ui/radio-group.js.map +1 -1
- package/dist/components/ui/radio-group_module.css.map +1 -1
- package/dist/components/ui/resizable.d.ts +13 -29
- package/dist/components/ui/resizable.d.ts.map +1 -1
- package/dist/components/ui/resizable.js +8 -7
- package/dist/components/ui/resizable.js.map +1 -1
- package/dist/components/ui/resizable_module.css.map +1 -1
- package/dist/components/ui/ripple-button.js +9 -9
- package/dist/components/ui/ripple-button.js.map +1 -1
- package/dist/components/ui/ripple-button_module.css.map +1 -1
- package/dist/components/ui/scratcher.d.ts +1 -1
- package/dist/components/ui/scratcher.d.ts.map +1 -1
- package/dist/components/ui/scratcher.js +5 -4
- package/dist/components/ui/scratcher.js.map +1 -1
- package/dist/components/ui/scratcher_module.css.map +1 -1
- package/dist/components/ui/scroll-area.d.ts +2 -4
- package/dist/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/scroll-area.js +2 -2
- package/dist/components/ui/scroll-area.js.map +1 -1
- package/dist/components/ui/scroll-area_module.css.map +1 -1
- package/dist/components/ui/select.js +4 -4
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/select_module.css.map +1 -1
- package/dist/components/ui/separator.d.ts +1 -4
- package/dist/components/ui/separator.d.ts.map +1 -1
- package/dist/components/ui/separator.js +9 -8
- package/dist/components/ui/separator.js.map +1 -1
- package/dist/components/ui/separator_module.css.map +1 -1
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sheet.js +6 -6
- package/dist/components/ui/sheet.js.map +1 -1
- package/dist/components/ui/sheet_module.css.map +1 -1
- package/dist/components/ui/sidebar.d.ts +1 -1
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/sidebar.js +36 -36
- package/dist/components/ui/sidebar.js.map +1 -1
- package/dist/components/ui/sidebar_module.css.map +1 -1
- package/dist/components/ui/skeleton.js +2 -2
- package/dist/components/ui/skeleton.js.map +1 -1
- package/dist/components/ui/skeleton_module.css.map +1 -1
- package/dist/components/ui/slider.js +2 -2
- package/dist/components/ui/slider.js.map +1 -1
- package/dist/components/ui/slider_module.css.map +1 -1
- package/dist/components/ui/spinner.js +2 -2
- package/dist/components/ui/spinner.js.map +1 -1
- package/dist/components/ui/spinner_module.css.map +1 -1
- package/dist/components/ui/stepper.js +2 -2
- package/dist/components/ui/stepper.js.map +1 -1
- package/dist/components/ui/stepper_module.css.map +1 -1
- package/dist/components/ui/switch.js +2 -2
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/switch_module.css.map +1 -1
- package/dist/components/ui/table-skeleton.js +2 -2
- package/dist/components/ui/table-skeleton.js.map +1 -1
- package/dist/components/ui/table-skeleton_module.css.map +1 -1
- package/dist/components/ui/table.js +9 -9
- package/dist/components/ui/table.js.map +1 -1
- package/dist/components/ui/table_module.css.map +1 -1
- package/dist/components/ui/tabs.js +3 -3
- package/dist/components/ui/tabs.js.map +1 -1
- package/dist/components/ui/tabs_module.css.map +1 -1
- package/dist/components/ui/textarea.js +2 -2
- package/dist/components/ui/textarea.js.map +1 -1
- package/dist/components/ui/textarea_module.css.map +1 -1
- package/dist/components/ui/timeline.js +5 -5
- package/dist/components/ui/timeline.js.map +1 -1
- package/dist/components/ui/timeline_module.css.map +1 -1
- package/dist/components/ui/{sonner.d.ts → toast.d.ts} +15 -6
- package/dist/components/ui/toast.d.ts.map +1 -0
- package/dist/components/ui/{sonner.js → toast.js} +43 -42
- package/dist/components/ui/toast.js.map +1 -0
- package/dist/components/ui/toast.module.js +34 -0
- package/dist/components/ui/toast.module.js.map +1 -0
- package/dist/components/ui/{sonner_module.css → toast_module.css} +35 -35
- package/dist/components/ui/toast_module.css.map +1 -0
- package/dist/components/ui/toggle-group.d.ts +2 -8
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.js +14 -12
- package/dist/components/ui/toggle-group.js.map +1 -1
- package/dist/components/ui/toggle-group_module.css.map +1 -1
- package/dist/components/ui/toggle.js +2 -2
- package/dist/components/ui/toggle.js.map +1 -1
- package/dist/components/ui/toggle_module.css.map +1 -1
- package/dist/components/ui/toolbar.d.ts +10 -30
- package/dist/components/ui/toolbar.d.ts.map +1 -1
- package/dist/components/ui/toolbar.js +28 -23
- package/dist/components/ui/toolbar.js.map +1 -1
- package/dist/components/ui/toolbar_module.css.map +1 -1
- package/dist/components/ui/tooltip.js +4 -4
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/ui/tooltip_module.css.map +1 -1
- package/dist/components/ui/typewriter.js +4 -4
- package/dist/components/ui/typewriter.js.map +1 -1
- package/dist/components/ui/typewriter_module.css.map +1 -1
- package/dist/components/ui/visually-hidden.js +2 -2
- package/dist/components/ui/visually-hidden.js.map +1 -1
- package/dist/components/ui/visually-hidden_module.css.map +1 -1
- package/dist/hooks/useAnnounce.js +5 -5
- package/dist/hooks/useAnnounce.js.map +1 -1
- package/dist/hooks/useClipboard.d.ts +77 -0
- package/dist/hooks/useClipboard.d.ts.map +1 -0
- package/dist/hooks/useClipboard.js +42 -0
- package/dist/hooks/useClipboard.js.map +1 -0
- package/dist/hooks/useControllableState.d.ts +54 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -0
- package/dist/hooks/useControllableState.js +29 -0
- package/dist/hooks/useControllableState.js.map +1 -0
- package/dist/hooks/useDebounce.d.ts +33 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useDebounce.js +20 -0
- package/dist/hooks/useDebounce.js.map +1 -0
- package/dist/hooks/useEventCallback.d.ts +34 -0
- package/dist/hooks/useEventCallback.d.ts.map +1 -0
- package/dist/hooks/useEventCallback.js +12 -0
- package/dist/hooks/useEventCallback.js.map +1 -0
- package/dist/hooks/useFocusManager.js +6 -6
- package/dist/hooks/useFocusManager.js.map +1 -1
- package/dist/hooks/useFocusVisible.js +5 -5
- package/dist/hooks/useFocusVisible.js.map +1 -1
- package/dist/hooks/useId.d.ts +30 -0
- package/dist/hooks/useId.d.ts.map +1 -0
- package/dist/hooks/useId.js +9 -0
- package/dist/hooks/useId.js.map +1 -0
- package/dist/hooks/useIntersectionObserver.d.ts +51 -0
- package/dist/hooks/useIntersectionObserver.d.ts.map +1 -0
- package/dist/hooks/useIntersectionObserver.js +25 -0
- package/dist/hooks/useIntersectionObserver.js.map +1 -0
- package/dist/hooks/useInterval.d.ts +55 -0
- package/dist/hooks/useInterval.d.ts.map +1 -0
- package/dist/hooks/useInterval.js +24 -0
- package/dist/hooks/useInterval.js.map +1 -0
- package/dist/hooks/useLocalStorage.d.ts +43 -0
- package/dist/hooks/useLocalStorage.d.ts.map +1 -0
- package/dist/hooks/useLocalStorage.js +53 -0
- package/dist/hooks/useLocalStorage.js.map +1 -0
- package/dist/hooks/useMediaQuery.js +3 -3
- package/dist/hooks/useMediaQuery.js.map +1 -1
- package/dist/hooks/useMergedRefs.d.ts +27 -0
- package/dist/hooks/useMergedRefs.d.ts.map +1 -0
- package/dist/hooks/useMergedRefs.js +11 -0
- package/dist/hooks/useMergedRefs.js.map +1 -0
- package/dist/hooks/useOnClickOutside.d.ts +32 -0
- package/dist/hooks/useOnClickOutside.d.ts.map +1 -0
- package/dist/hooks/useOnClickOutside.js +23 -0
- package/dist/hooks/useOnClickOutside.js.map +1 -0
- package/dist/hooks/usePrevious.d.ts +33 -0
- package/dist/hooks/usePrevious.d.ts.map +1 -0
- package/dist/hooks/usePrevious.js +14 -0
- package/dist/hooks/usePrevious.js.map +1 -0
- package/dist/hooks/useThrottle.d.ts +37 -0
- package/dist/hooks/useThrottle.d.ts.map +1 -0
- package/dist/hooks/useThrottle.js +34 -0
- package/dist/hooks/useThrottle.js.map +1 -0
- package/dist/hooks/useTimeout.d.ts +28 -0
- package/dist/hooks/useTimeout.d.ts.map +1 -0
- package/dist/hooks/useTimeout.js +24 -0
- package/dist/hooks/useTimeout.js.map +1 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +17 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -1
- package/dist/lib/utilities.d.ts +2 -3
- package/dist/lib/utilities.d.ts.map +1 -1
- package/dist/lib/utilities.js.map +1 -1
- package/dist/motion/Collapse.js +2 -2
- package/dist/motion/Collapse.js.map +1 -1
- package/dist/motion/Collapse_module.css.map +1 -1
- package/dist/motion/tokens.js +5 -5
- package/dist/motion/tokens.js.map +1 -1
- package/package.json +88 -10
- package/src/components/ui/alert-dialog.tsx +15 -8
- package/src/components/ui/avatar.tsx +9 -6
- package/src/components/ui/calendar.tsx +9 -14
- package/src/components/ui/carousel.tsx +2 -0
- package/src/components/ui/chart.tsx +65 -62
- package/src/components/ui/checkbox-group.tsx +4 -5
- package/src/components/ui/checkbox.tsx +10 -2
- package/src/components/ui/collapsible.tsx +1 -0
- package/src/components/ui/combobox.module.css +158 -0
- package/src/components/ui/combobox.tsx +569 -0
- package/src/components/ui/command.tsx +31 -15
- package/src/components/ui/context-menu.tsx +3 -0
- package/src/components/ui/drawer.tsx +2 -0
- package/src/components/ui/dropdown-menu.tsx +3 -0
- package/src/components/ui/dropdrawer.tsx +80 -62
- package/src/components/ui/form.tsx +28 -3
- package/src/components/ui/input-otp.tsx +3 -3
- package/src/components/ui/menubar.tsx +9 -10
- package/src/components/ui/meter.tsx +16 -17
- package/src/components/ui/navigation-menu.tsx +41 -33
- package/src/components/ui/number-field.tsx +6 -13
- package/src/components/ui/progress.tsx +3 -2
- package/src/components/ui/radio-group.tsx +2 -5
- package/src/components/ui/resizable.tsx +15 -18
- package/src/components/ui/scratcher.tsx +6 -10
- package/src/components/ui/scroll-area.tsx +2 -5
- package/src/components/ui/separator.tsx +4 -3
- package/src/components/ui/sheet.tsx +3 -0
- package/src/components/ui/sidebar.tsx +1 -0
- package/src/components/ui/{sonner.module.css → toast.module.css} +1 -1
- package/src/components/ui/{sonner.tsx → toast.tsx} +22 -14
- package/src/components/ui/toggle-group.tsx +6 -4
- package/src/components/ui/toolbar.tsx +20 -21
- package/src/hooks/useClipboard.tsx +137 -0
- package/src/hooks/useControllableState.tsx +81 -0
- package/src/hooks/useDebounce.tsx +50 -0
- package/src/hooks/useEventCallback.tsx +47 -0
- package/src/hooks/useId.tsx +36 -0
- package/src/hooks/useIntersectionObserver.tsx +81 -0
- package/src/hooks/useInterval.tsx +80 -0
- package/src/hooks/useLocalStorage.tsx +111 -0
- package/src/hooks/useMergedRefs.tsx +48 -0
- package/src/hooks/useOnClickOutside.tsx +55 -0
- package/src/hooks/usePrevious.tsx +44 -0
- package/src/hooks/useThrottle.tsx +78 -0
- package/src/hooks/useTimeout.tsx +51 -0
- package/src/index.ts +27 -4
- package/src/lib/utilities.ts +4 -4
- package/src/motion/tokens.ts +4 -4
- package/src/stories/DesignPrinciples.mdx +48 -0
- package/src/stories/GettingStarted.mdx +92 -0
- package/src/stories/Welcome.mdx +44 -0
- package/dist/components/ui/sonner.d.ts.map +0 -1
- package/dist/components/ui/sonner.js.map +0 -1
- package/dist/components/ui/sonner.module.js +0 -34
- package/dist/components/ui/sonner.module.js.map +0 -1
- package/dist/components/ui/sonner_module.css.map +0 -1
package/dist/index.js
CHANGED
|
@@ -18,6 +18,7 @@ export { CheckboxGroup } from "./components/ui/checkbox-group.js";
|
|
|
18
18
|
export { Area, AreaChart, Bar, BarChart, BarStack, Brush, CartesianGrid, Cell, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ComposedChart, Cross, Curve, Customized, DefaultZIndexes, Dot, ErrorBar, Funnel, FunnelChart, LabelList, Line, LineChart, Pie, PieChart, PolarAngleAxis, PolarGrid, PolarRadiusAxis, Polygon, Radar, RadarChart, RadialBar, RadialBarChart, RechartsLabel, Rectangle, ReferenceArea, ReferenceDot, ReferenceLine, ResponsiveContainer, Sankey, Scatter, ScatterChart, Sector, SunburstChart, Symbols, Trapezoid, Treemap, XAxis, YAxis, ZAxis, ZIndexLayer, useActiveTooltipCoordinate, useActiveTooltipDataPoints, useActiveTooltipLabel, useChartHeight, useChartWidth, useIsTooltipActive, useMargin, useOffset, usePlotArea, useXAxisDomain, useYAxisDomain } from "./components/ui/chart.js";
|
|
19
19
|
export { Checkbox } from "./components/ui/checkbox.js";
|
|
20
20
|
export { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./components/ui/collapsible.js";
|
|
21
|
+
export { Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxItem, ComboboxSeparator, ComboboxTrigger } from "./components/ui/combobox.js";
|
|
21
22
|
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from "./components/ui/command.js";
|
|
22
23
|
export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from "./components/ui/context-menu.js";
|
|
23
24
|
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "./components/ui/dialog.js";
|
|
@@ -50,7 +51,7 @@ export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupActio
|
|
|
50
51
|
export { Skeleton } from "./components/ui/skeleton.js";
|
|
51
52
|
export { Spinner } from "./components/ui/spinner.js";
|
|
52
53
|
export { Slider } from "./components/ui/slider.js";
|
|
53
|
-
export { Toaster, toast } from "./components/ui/
|
|
54
|
+
export { Toaster, toast } from "./components/ui/toast.js";
|
|
54
55
|
export { Switch } from "./components/ui/switch.js";
|
|
55
56
|
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./components/ui/table.js";
|
|
56
57
|
export { Tabs, TabsContent, TabsList, TabsTrigger } from "./components/ui/tabs.js";
|
|
@@ -64,12 +65,25 @@ export { Stepper } from "./components/ui/stepper.js";
|
|
|
64
65
|
export { Timeline, TimelineContent, TimelineDot, TimelineItem } from "./components/ui/timeline.js";
|
|
65
66
|
export { VisuallyHidden } from "./components/ui/visually-hidden.js";
|
|
66
67
|
export { useBreakpoint } from "./hooks/useBreakpoint.js";
|
|
68
|
+
export { useClipboard } from "./hooks/useClipboard.js";
|
|
67
69
|
export { useColorScheme } from "./hooks/useColorScheme.js";
|
|
70
|
+
export { useControllableState } from "./hooks/useControllableState.js";
|
|
71
|
+
export { useDebounce } from "./hooks/useDebounce.js";
|
|
72
|
+
export { useEventCallback } from "./hooks/useEventCallback.js";
|
|
68
73
|
export { useFocusVisible } from "./hooks/useFocusVisible.js";
|
|
74
|
+
export { useId } from "./hooks/useId.js";
|
|
75
|
+
export { useIntersectionObserver } from "./hooks/useIntersectionObserver.js";
|
|
76
|
+
export { useInterval } from "./hooks/useInterval.js";
|
|
69
77
|
export { useIsMobile } from "./hooks/useIsMobile.js";
|
|
78
|
+
export { useLocalStorage } from "./hooks/useLocalStorage.js";
|
|
70
79
|
export { useMediaQuery } from "./hooks/useMediaQuery.js";
|
|
80
|
+
export { useMergedRefs } from "./hooks/useMergedRefs.js";
|
|
81
|
+
export { useOnClickOutside } from "./hooks/useOnClickOutside.js";
|
|
71
82
|
export { usePrefersContrast } from "./hooks/usePrefersContrast.js";
|
|
83
|
+
export { usePrevious } from "./hooks/usePrevious.js";
|
|
72
84
|
export { useReducedMotion } from "./hooks/useReducedMotion.js";
|
|
85
|
+
export { useThrottle } from "./hooks/useThrottle.js";
|
|
86
|
+
export { useTimeout } from "./hooks/useTimeout.js";
|
|
73
87
|
export { useWindowSize } from "./hooks/useWindowSize.js";
|
|
74
88
|
export { adjustHexColorLightness, adjustLightness, calculateComplementaryHexColor, convertHexToHslString, convertHslToHexString, getComplementaryColor, hexToHsl, hslToHex, isValidHexColor, parseHslString, parseHslStringToComponents, validateHexColorFormat } from "./lib/color-conversion-utilities.js";
|
|
75
89
|
export { cn } from "./lib/utilities.js";
|
package/dist/lib/utilities.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
export type { ClassValue } from "clsx";
|
|
2
2
|
/**
|
|
3
3
|
* Helper function that merges CSS class names.
|
|
4
4
|
* Uses clsx for conditional class name composition.
|
|
5
5
|
* @param inputs Array of class names
|
|
6
6
|
* @returns Merged class names string
|
|
7
7
|
*/
|
|
8
|
-
export declare function cn(...inputs: ReadonlyArray<ClassValue>): string;
|
|
9
|
-
export type { ClassValue };
|
|
8
|
+
export declare function cn(...inputs: ReadonlyArray<import("clsx").ClassValue>): string;
|
|
10
9
|
//# sourceMappingURL=utilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/lib/utilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/lib/utilities.ts"],"names":[],"mappings":"AAEA,YAAY,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,aAAa,CAAC,OAAO,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,CAE9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib/utilities.js","sources":["../../src/lib/utilities.ts"],"sourcesContent":["import {clsx
|
|
1
|
+
{"version":3,"file":"lib/utilities.js","sources":["../../src/lib/utilities.ts"],"sourcesContent":["import {clsx} from \"clsx\";\r\n\r\nexport type {ClassValue} from \"clsx\";\r\n\r\n/**\r\n * Helper function that merges CSS class names.\r\n * Uses clsx for conditional class name composition.\r\n * @param inputs Array of class names\r\n * @returns Merged class names string\r\n */\r\nexport function cn(...inputs: ReadonlyArray<import(\"clsx\").ClassValue>): string {\r\n return clsx(inputs);\r\n}\r\n"],"names":["cn","inputs","clsx"],"mappings":";AAUO,SAASA,GAAG,GAAGC,MAAgD;IACpE,OAAOC,KAAKD;AACd"}
|
package/dist/motion/Collapse.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { forwardRef } from "react";
|
|
4
3
|
import { cn } from "../lib/utilities.js";
|
|
5
4
|
import Collapse_module from "./Collapse.module.js";
|
|
6
|
-
|
|
5
|
+
import * as __rspack_external_react from "react";
|
|
6
|
+
const Collapse = /*#__PURE__*/ __rspack_external_react.forwardRef(({ open, children, className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
7
7
|
ref: ref,
|
|
8
8
|
"data-state": open ? "open" : "closed",
|
|
9
9
|
className: cn(Collapse_module.collapse, className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion/Collapse.js","sources":["../../src/motion/Collapse.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./Collapse.module.css\";\r\n\r\n/**\r\n * Represents the configurable props for the {@link Collapse} component.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so consumers can provide ARIA metadata,\r\n * testing hooks, and custom classes while keeping the animated container typed.\r\n */\r\ninterface CollapseProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Whether the content is expanded.\r\n */\r\n open: boolean;\r\n /**\r\n * Content to show or hide with animation.\r\n */\r\n children: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Animated height collapse and expand using CSS grid-template-rows.\r\n *\r\n * @remarks\r\n * Supports reduced motion through a CSS `prefers-reduced-motion` media query and keeps\r\n * content mounted so assistive technologies and measurement logic remain stable.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Collapse open={isExpanded}>\r\n * <p>Collapsible content</p>\r\n * </Collapse>\r\n * ```\r\n */\r\nconst Collapse = React.forwardRef<HTMLDivElement, CollapseProps>(({open, children, className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n data-state={open ? \"open\" : \"closed\"}\r\n className={cn(styles.collapse, className)}\r\n {...props}>\r\n <div className={styles.inner}>{children}</div>\r\n </div>\r\n));\r\nCollapse.displayName = \"Collapse\";\r\n\r\nexport {Collapse};\r\nexport type {CollapseProps};\r\n"],"names":["Collapse","React","open","children","className","props","ref","cn","styles"],"mappings":";;;;;AAuCA,MAAMA,WAAW,WAAHA,GAAGC,
|
|
1
|
+
{"version":3,"file":"motion/Collapse.js","sources":["../../src/motion/Collapse.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./Collapse.module.css\";\r\n\r\n/**\r\n * Represents the configurable props for the {@link Collapse} component.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so consumers can provide ARIA metadata,\r\n * testing hooks, and custom classes while keeping the animated container typed.\r\n */\r\ninterface CollapseProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Whether the content is expanded.\r\n */\r\n open: boolean;\r\n /**\r\n * Content to show or hide with animation.\r\n */\r\n children: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Animated height collapse and expand using CSS grid-template-rows.\r\n *\r\n * @remarks\r\n * Supports reduced motion through a CSS `prefers-reduced-motion` media query and keeps\r\n * content mounted so assistive technologies and measurement logic remain stable.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Collapse open={isExpanded}>\r\n * <p>Collapsible content</p>\r\n * </Collapse>\r\n * ```\r\n */\r\nconst Collapse = React.forwardRef<HTMLDivElement, CollapseProps>(({open, children, className, ...props}, ref) => (\r\n <div\r\n ref={ref}\r\n data-state={open ? \"open\" : \"closed\"}\r\n className={cn(styles.collapse, className)}\r\n {...props}>\r\n <div className={styles.inner}>{children}</div>\r\n </div>\r\n));\r\nCollapse.displayName = \"Collapse\";\r\n\r\nexport {Collapse};\r\nexport type {CollapseProps};\r\n"],"names":["Collapse","React","open","children","className","props","ref","cn","styles"],"mappings":";;;;;AAuCA,MAAMA,WAAW,WAAHA,GAAGC,wBAAAA,UAAgB,CAAgC,CAAC,EAACC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACvG,IAAC;QACC,KAAKA;QACL,cAAYJ,OAAO,SAAS;QAC5B,WAAWK,GAAGC,gBAAAA,QAAe,EAAEJ;QAC9B,GAAGC,KAAK;kBACT,kBAAC;YAAI,WAAWG,gBAAAA,KAAY;sBAAGL;;;AAGnCH,SAAS,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[1].oneOf[2].use[2]!/home/runner/work/arolariu.ro/arolariu.ro/node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/postcss-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[3]!/home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/motion/Collapse.module.css","webpack://./src/motion/Collapse.module.css"],"names":[],"mappings":"AAAA;ECCE,UAAU;EACV,8FAA8F;EAC9F,uBAAuB;EACvB,aAAa;EACb,gBAAgB;AAClB;;ADNsK;ECSpK,UAAU;EACV,uBAAuB;AACzB;;ADXkO;ECchO,aAAa;AACf;;ADfsP;EAAuC;ICmBzR,gBAAgB;EAClB;AACF","sourcesContent":[".collapse{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transition:grid-template-rows var(--ac-transition-normal),opacity var(--ac-transition-normal)}.collapse[data-state=open]{grid-template-rows:1fr;opacity:1}.inner{min-height:0}@media (prefers-reduced-motion:reduce){.collapse{transition:none}}",".collapse {\n opacity: 0;\n transition: grid-template-rows var(--ac-transition-normal),opacity var(--ac-transition-normal);\n grid-template-rows: 0fr;\n display: grid;\n overflow: hidden;\n}\n\n.collapse[data-state=\"open\"] {\n opacity: 1;\n grid-template-rows: 1fr;\n}\n\n.inner {\n min-height: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapse {\n transition: none;\n }\n}\n"],"sourceRoot":""}
|
package/dist/motion/tokens.js
CHANGED
|
@@ -10,25 +10,25 @@ const easings = {
|
|
|
10
10
|
0.25,
|
|
11
11
|
0.1,
|
|
12
12
|
0.25,
|
|
13
|
-
1
|
|
13
|
+
1
|
|
14
14
|
],
|
|
15
15
|
easeIn: [
|
|
16
16
|
0.42,
|
|
17
17
|
0,
|
|
18
|
-
1
|
|
19
|
-
1
|
|
18
|
+
1,
|
|
19
|
+
1
|
|
20
20
|
],
|
|
21
21
|
easeOut: [
|
|
22
22
|
0,
|
|
23
23
|
0,
|
|
24
24
|
0.58,
|
|
25
|
-
1
|
|
25
|
+
1
|
|
26
26
|
],
|
|
27
27
|
easeInOut: [
|
|
28
28
|
0.42,
|
|
29
29
|
0,
|
|
30
30
|
0.58,
|
|
31
|
-
1
|
|
31
|
+
1
|
|
32
32
|
],
|
|
33
33
|
spring: {
|
|
34
34
|
type: "spring",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion/tokens.js","sources":["../../src/motion/tokens.ts"],"sourcesContent":["/**\r\n * Standard motion duration constants in seconds.\r\n * Aligned with `--ac-transition-*` CSS custom properties in `index.css`.\r\n *\r\n * @example\r\n * ```tsx\r\n * <motion.div animate={{opacity: 1}} transition={{duration: durations.normal}} />\r\n * ```\r\n */\r\nexport const durations = {\r\n fast: 0.1,\r\n normal: 0.15,\r\n slow: 0.2,\r\n slower: 0.3,\r\n slowest: 0.5,\r\n} as const;\r\n\r\n/**\r\n * Standard easing curves for consistent motion across the library.\r\n */\r\nexport const easings = {\r\n ease: [0.25, 0.1, 0.25, 1
|
|
1
|
+
{"version":3,"file":"motion/tokens.js","sources":["../../src/motion/tokens.ts"],"sourcesContent":["/**\r\n * Standard motion duration constants in seconds.\r\n * Aligned with `--ac-transition-*` CSS custom properties in `index.css`.\r\n *\r\n * @example\r\n * ```tsx\r\n * <motion.div animate={{opacity: 1}} transition={{duration: durations.normal}} />\r\n * ```\r\n */\r\nexport const durations = {\r\n fast: 0.1,\r\n normal: 0.15,\r\n slow: 0.2,\r\n slower: 0.3,\r\n slowest: 0.5,\r\n} as const;\r\n\r\n/**\r\n * Standard easing curves for consistent motion across the library.\r\n */\r\nexport const easings = {\r\n ease: [0.25, 0.1, 0.25, 1],\r\n easeIn: [0.42, 0, 1, 1],\r\n easeOut: [0, 0, 0.58, 1],\r\n easeInOut: [0.42, 0, 0.58, 1],\r\n spring: {type: \"spring\" as const, stiffness: 300, damping: 24},\r\n} as const;\r\n\r\n/**\r\n * Represents a named motion duration token.\r\n */\r\nexport type Duration = keyof typeof durations;\r\n\r\n/**\r\n * Represents a named motion easing token.\r\n */\r\nexport type Easing = keyof typeof easings;\r\n"],"names":["durations","easings"],"mappings":"AASO,MAAMA,YAAY;IACvB,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;AACX;AAKO,MAAMC,UAAU;IACrB,MAAM;QAAC;QAAM;QAAK;QAAM;KAAE;IAC1B,QAAQ;QAAC;QAAM;QAAG;QAAG;KAAE;IACvB,SAAS;QAAC;QAAG;QAAG;QAAM;KAAE;IACxB,WAAW;QAAC;QAAM;QAAG;QAAM;KAAE;IAC7B,QAAQ;QAAC,MAAM;QAAmB,WAAW;QAAK,SAAS;IAAE;AAC/D"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arolariu/components",
|
|
3
3
|
"displayName": "@arolariu/components",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.0",
|
|
5
5
|
"description": "🎨 70+ beautiful, accessible React components built on Base UI. TypeScript-first, CSS Modules styling, tree-shakeable, SSR-ready. Perfect for modern web apps, design systems & rapid prototyping. Zero config, maximum flexibility! ⚡",
|
|
6
6
|
"homepage": "https://arolariu.ro",
|
|
7
7
|
"repository": {
|
|
@@ -84,10 +84,12 @@
|
|
|
84
84
|
"build": "npm run build:before && rslib build && npm run build:after",
|
|
85
85
|
"build:before": "node scripts/beforeBuild.ts",
|
|
86
86
|
"build:after": "node scripts/afterBuild.ts",
|
|
87
|
-
"build:clean": "
|
|
87
|
+
"build:clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
88
88
|
"build:exports": "node scripts/generate-exports.ts",
|
|
89
89
|
"test": "npm run test:unit",
|
|
90
|
-
"test:unit": "vitest run"
|
|
90
|
+
"test:unit": "vitest run",
|
|
91
|
+
"storybook": "storybook dev -p 6006",
|
|
92
|
+
"build-storybook": "storybook build"
|
|
91
93
|
},
|
|
92
94
|
"dependencies": {
|
|
93
95
|
"clsx": "*",
|
|
@@ -110,17 +112,23 @@
|
|
|
110
112
|
"@rsbuild/core": "*",
|
|
111
113
|
"@rsbuild/plugin-react": "*",
|
|
112
114
|
"@rslib/core": "*",
|
|
115
|
+
"@storybook/addon-a11y": "*",
|
|
116
|
+
"@storybook/addon-docs": "*",
|
|
117
|
+
"@storybook/addon-links": "*",
|
|
118
|
+
"@storybook/addon-themes": "*",
|
|
113
119
|
"@types/node": "*",
|
|
114
120
|
"@types/react": "*",
|
|
115
121
|
"@types/react-dom": "*",
|
|
116
122
|
"motion": "*",
|
|
117
|
-
"postcss": "*",
|
|
118
123
|
"playwright": "*",
|
|
124
|
+
"postcss": "*",
|
|
119
125
|
"react": "*",
|
|
120
126
|
"react-dom": "*",
|
|
121
127
|
"react-hook-form": "*",
|
|
122
128
|
"recharts": "*",
|
|
123
|
-
"
|
|
129
|
+
"storybook": "*",
|
|
130
|
+
"storybook-addon-rslib": "*",
|
|
131
|
+
"storybook-react-rsbuild": "*",
|
|
124
132
|
"typescript": "*"
|
|
125
133
|
},
|
|
126
134
|
"publishConfig": {
|
|
@@ -241,6 +249,11 @@
|
|
|
241
249
|
"import": "./dist/components/ui/collapsible.js",
|
|
242
250
|
"default": "./dist/components/ui/collapsible.js"
|
|
243
251
|
},
|
|
252
|
+
"./combobox": {
|
|
253
|
+
"types": "./dist/components/ui/combobox.d.ts",
|
|
254
|
+
"import": "./dist/components/ui/combobox.js",
|
|
255
|
+
"default": "./dist/components/ui/combobox.js"
|
|
256
|
+
},
|
|
244
257
|
"./command": {
|
|
245
258
|
"types": "./dist/components/ui/command.d.ts",
|
|
246
259
|
"import": "./dist/components/ui/command.js",
|
|
@@ -481,11 +494,6 @@
|
|
|
481
494
|
"import": "./dist/components/ui/slider.js",
|
|
482
495
|
"default": "./dist/components/ui/slider.js"
|
|
483
496
|
},
|
|
484
|
-
"./sonner": {
|
|
485
|
-
"types": "./dist/components/ui/sonner.d.ts",
|
|
486
|
-
"import": "./dist/components/ui/sonner.js",
|
|
487
|
-
"default": "./dist/components/ui/sonner.js"
|
|
488
|
-
},
|
|
489
497
|
"./spinner": {
|
|
490
498
|
"types": "./dist/components/ui/spinner.d.ts",
|
|
491
499
|
"import": "./dist/components/ui/spinner.js",
|
|
@@ -526,6 +534,11 @@
|
|
|
526
534
|
"import": "./dist/components/ui/timeline.js",
|
|
527
535
|
"default": "./dist/components/ui/timeline.js"
|
|
528
536
|
},
|
|
537
|
+
"./toast": {
|
|
538
|
+
"types": "./dist/components/ui/toast.d.ts",
|
|
539
|
+
"import": "./dist/components/ui/toast.js",
|
|
540
|
+
"default": "./dist/components/ui/toast.js"
|
|
541
|
+
},
|
|
529
542
|
"./toggle-group": {
|
|
530
543
|
"types": "./dist/components/ui/toggle-group.d.ts",
|
|
531
544
|
"import": "./dist/components/ui/toggle-group.js",
|
|
@@ -566,11 +579,31 @@
|
|
|
566
579
|
"import": "./dist/hooks/useBreakpoint.js",
|
|
567
580
|
"default": "./dist/hooks/useBreakpoint.js"
|
|
568
581
|
},
|
|
582
|
+
"./useClipboard": {
|
|
583
|
+
"types": "./dist/hooks/useClipboard.d.ts",
|
|
584
|
+
"import": "./dist/hooks/useClipboard.js",
|
|
585
|
+
"default": "./dist/hooks/useClipboard.js"
|
|
586
|
+
},
|
|
569
587
|
"./useColorScheme": {
|
|
570
588
|
"types": "./dist/hooks/useColorScheme.d.ts",
|
|
571
589
|
"import": "./dist/hooks/useColorScheme.js",
|
|
572
590
|
"default": "./dist/hooks/useColorScheme.js"
|
|
573
591
|
},
|
|
592
|
+
"./useControllableState": {
|
|
593
|
+
"types": "./dist/hooks/useControllableState.d.ts",
|
|
594
|
+
"import": "./dist/hooks/useControllableState.js",
|
|
595
|
+
"default": "./dist/hooks/useControllableState.js"
|
|
596
|
+
},
|
|
597
|
+
"./useDebounce": {
|
|
598
|
+
"types": "./dist/hooks/useDebounce.d.ts",
|
|
599
|
+
"import": "./dist/hooks/useDebounce.js",
|
|
600
|
+
"default": "./dist/hooks/useDebounce.js"
|
|
601
|
+
},
|
|
602
|
+
"./useEventCallback": {
|
|
603
|
+
"types": "./dist/hooks/useEventCallback.d.ts",
|
|
604
|
+
"import": "./dist/hooks/useEventCallback.js",
|
|
605
|
+
"default": "./dist/hooks/useEventCallback.js"
|
|
606
|
+
},
|
|
574
607
|
"./useFocusManager": {
|
|
575
608
|
"types": "./dist/hooks/useFocusManager.d.ts",
|
|
576
609
|
"import": "./dist/hooks/useFocusManager.js",
|
|
@@ -581,26 +614,71 @@
|
|
|
581
614
|
"import": "./dist/hooks/useFocusVisible.js",
|
|
582
615
|
"default": "./dist/hooks/useFocusVisible.js"
|
|
583
616
|
},
|
|
617
|
+
"./useId": {
|
|
618
|
+
"types": "./dist/hooks/useId.d.ts",
|
|
619
|
+
"import": "./dist/hooks/useId.js",
|
|
620
|
+
"default": "./dist/hooks/useId.js"
|
|
621
|
+
},
|
|
622
|
+
"./useIntersectionObserver": {
|
|
623
|
+
"types": "./dist/hooks/useIntersectionObserver.d.ts",
|
|
624
|
+
"import": "./dist/hooks/useIntersectionObserver.js",
|
|
625
|
+
"default": "./dist/hooks/useIntersectionObserver.js"
|
|
626
|
+
},
|
|
627
|
+
"./useInterval": {
|
|
628
|
+
"types": "./dist/hooks/useInterval.d.ts",
|
|
629
|
+
"import": "./dist/hooks/useInterval.js",
|
|
630
|
+
"default": "./dist/hooks/useInterval.js"
|
|
631
|
+
},
|
|
584
632
|
"./useIsMobile": {
|
|
585
633
|
"types": "./dist/hooks/useIsMobile.d.ts",
|
|
586
634
|
"import": "./dist/hooks/useIsMobile.js",
|
|
587
635
|
"default": "./dist/hooks/useIsMobile.js"
|
|
588
636
|
},
|
|
637
|
+
"./useLocalStorage": {
|
|
638
|
+
"types": "./dist/hooks/useLocalStorage.d.ts",
|
|
639
|
+
"import": "./dist/hooks/useLocalStorage.js",
|
|
640
|
+
"default": "./dist/hooks/useLocalStorage.js"
|
|
641
|
+
},
|
|
589
642
|
"./useMediaQuery": {
|
|
590
643
|
"types": "./dist/hooks/useMediaQuery.d.ts",
|
|
591
644
|
"import": "./dist/hooks/useMediaQuery.js",
|
|
592
645
|
"default": "./dist/hooks/useMediaQuery.js"
|
|
593
646
|
},
|
|
647
|
+
"./useMergedRefs": {
|
|
648
|
+
"types": "./dist/hooks/useMergedRefs.d.ts",
|
|
649
|
+
"import": "./dist/hooks/useMergedRefs.js",
|
|
650
|
+
"default": "./dist/hooks/useMergedRefs.js"
|
|
651
|
+
},
|
|
652
|
+
"./useOnClickOutside": {
|
|
653
|
+
"types": "./dist/hooks/useOnClickOutside.d.ts",
|
|
654
|
+
"import": "./dist/hooks/useOnClickOutside.js",
|
|
655
|
+
"default": "./dist/hooks/useOnClickOutside.js"
|
|
656
|
+
},
|
|
594
657
|
"./usePrefersContrast": {
|
|
595
658
|
"types": "./dist/hooks/usePrefersContrast.d.ts",
|
|
596
659
|
"import": "./dist/hooks/usePrefersContrast.js",
|
|
597
660
|
"default": "./dist/hooks/usePrefersContrast.js"
|
|
598
661
|
},
|
|
662
|
+
"./usePrevious": {
|
|
663
|
+
"types": "./dist/hooks/usePrevious.d.ts",
|
|
664
|
+
"import": "./dist/hooks/usePrevious.js",
|
|
665
|
+
"default": "./dist/hooks/usePrevious.js"
|
|
666
|
+
},
|
|
599
667
|
"./useReducedMotion": {
|
|
600
668
|
"types": "./dist/hooks/useReducedMotion.d.ts",
|
|
601
669
|
"import": "./dist/hooks/useReducedMotion.js",
|
|
602
670
|
"default": "./dist/hooks/useReducedMotion.js"
|
|
603
671
|
},
|
|
672
|
+
"./useThrottle": {
|
|
673
|
+
"types": "./dist/hooks/useThrottle.d.ts",
|
|
674
|
+
"import": "./dist/hooks/useThrottle.js",
|
|
675
|
+
"default": "./dist/hooks/useThrottle.js"
|
|
676
|
+
},
|
|
677
|
+
"./useTimeout": {
|
|
678
|
+
"types": "./dist/hooks/useTimeout.d.ts",
|
|
679
|
+
"import": "./dist/hooks/useTimeout.js",
|
|
680
|
+
"default": "./dist/hooks/useTimeout.js"
|
|
681
|
+
},
|
|
604
682
|
"./useWindowSize": {
|
|
605
683
|
"types": "./dist/hooks/useWindowSize.d.ts",
|
|
606
684
|
"import": "./dist/hooks/useWindowSize.js",
|
|
@@ -108,13 +108,15 @@ AlertDialog.displayName = "AlertDialog";
|
|
|
108
108
|
*
|
|
109
109
|
* @see {@link https://base-ui.com/react/components/alert-dialog | Base UI Documentation}
|
|
110
110
|
*/
|
|
111
|
-
|
|
111
|
+
const AlertDialogTrigger = React.forwardRef<HTMLButtonElement, AlertDialogTrigger.Props>(function AlertDialogTrigger(props, forwardedRef) {
|
|
112
|
+
// eslint-disable-next-line sonarjs/deprecation -- backward-compatible asChild API
|
|
112
113
|
const {asChild = false, children, className, render, ...otherProps} = props;
|
|
113
114
|
const renderProp = asChild && React.isValidElement(children) ? children : render;
|
|
114
115
|
|
|
115
116
|
return (
|
|
116
117
|
<BaseAlertDialog.Trigger
|
|
117
118
|
{...otherProps}
|
|
119
|
+
ref={forwardedRef}
|
|
118
120
|
render={useRender({
|
|
119
121
|
defaultTagName: "button",
|
|
120
122
|
render: renderProp as never,
|
|
@@ -123,7 +125,7 @@ function AlertDialogTrigger(props: Readonly<AlertDialogTrigger.Props>): React.Re
|
|
|
123
125
|
{renderProp ? undefined : children}
|
|
124
126
|
</BaseAlertDialog.Trigger>
|
|
125
127
|
);
|
|
126
|
-
}
|
|
128
|
+
});
|
|
127
129
|
AlertDialogTrigger.displayName = "AlertDialogTrigger";
|
|
128
130
|
|
|
129
131
|
/**
|
|
@@ -198,7 +200,7 @@ AlertDialogOverlay.displayName = "AlertDialogOverlay";
|
|
|
198
200
|
*
|
|
199
201
|
* @see {@link https://base-ui.com/react/components/alert-dialog | Base UI Documentation}
|
|
200
202
|
*/
|
|
201
|
-
|
|
203
|
+
const AlertDialogContent = React.forwardRef<HTMLDivElement, AlertDialogContent.Props>(function AlertDialogContent(props, forwardedRef) {
|
|
202
204
|
const {className, children, render, ...otherProps} = props;
|
|
203
205
|
|
|
204
206
|
return (
|
|
@@ -206,6 +208,7 @@ function AlertDialogContent(props: Readonly<AlertDialogContent.Props>): React.Re
|
|
|
206
208
|
<AlertDialogOverlay />
|
|
207
209
|
<BaseAlertDialog.Popup
|
|
208
210
|
{...otherProps}
|
|
211
|
+
ref={forwardedRef}
|
|
209
212
|
render={useRender({
|
|
210
213
|
defaultTagName: "div",
|
|
211
214
|
render: render as never,
|
|
@@ -215,7 +218,7 @@ function AlertDialogContent(props: Readonly<AlertDialogContent.Props>): React.Re
|
|
|
215
218
|
</BaseAlertDialog.Popup>
|
|
216
219
|
</AlertDialogPortal>
|
|
217
220
|
);
|
|
218
|
-
}
|
|
221
|
+
});
|
|
219
222
|
AlertDialogContent.displayName = "AlertDialogContent";
|
|
220
223
|
|
|
221
224
|
/**
|
|
@@ -237,6 +240,7 @@ AlertDialogContent.displayName = "AlertDialogContent";
|
|
|
237
240
|
* @see {@link https://base-ui.com/react/components/alert-dialog | Base UI Documentation}
|
|
238
241
|
*/
|
|
239
242
|
function AlertDialogHeader(props: Readonly<AlertDialogHeader.Props>): React.ReactElement {
|
|
243
|
+
// eslint-disable-next-line sonarjs/deprecation -- backward-compatible asChild API
|
|
240
244
|
const {asChild = false, children, className, render, ...otherProps} = props;
|
|
241
245
|
const renderProp = asChild && React.isValidElement(children) ? children : render;
|
|
242
246
|
|
|
@@ -269,6 +273,7 @@ AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
|
269
273
|
* @see {@link https://base-ui.com/react/components/alert-dialog | Base UI Documentation}
|
|
270
274
|
*/
|
|
271
275
|
function AlertDialogFooter(props: Readonly<AlertDialogFooter.Props>): React.ReactElement {
|
|
276
|
+
// eslint-disable-next-line sonarjs/deprecation -- backward-compatible asChild API
|
|
272
277
|
const {asChild = false, children, className, render, ...otherProps} = props;
|
|
273
278
|
const renderProp = asChild && React.isValidElement(children) ? children : render;
|
|
274
279
|
|
|
@@ -364,12 +369,13 @@ AlertDialogDescription.displayName = "AlertDialogDescription";
|
|
|
364
369
|
*
|
|
365
370
|
* @see {@link https://base-ui.com/react/components/alert-dialog | Base UI Documentation}
|
|
366
371
|
*/
|
|
367
|
-
|
|
372
|
+
const AlertDialogAction = React.forwardRef<HTMLButtonElement, AlertDialogAction.Props>(function AlertDialogAction(props, forwardedRef) {
|
|
368
373
|
const {className, children, render, ...otherProps} = props;
|
|
369
374
|
|
|
370
375
|
return (
|
|
371
376
|
<BaseAlertDialog.Close
|
|
372
377
|
{...otherProps}
|
|
378
|
+
ref={forwardedRef}
|
|
373
379
|
render={useRender({
|
|
374
380
|
defaultTagName: "button",
|
|
375
381
|
render: render as never,
|
|
@@ -383,7 +389,7 @@ function AlertDialogAction(props: Readonly<AlertDialogAction.Props>): React.Reac
|
|
|
383
389
|
{children}
|
|
384
390
|
</BaseAlertDialog.Close>
|
|
385
391
|
);
|
|
386
|
-
}
|
|
392
|
+
});
|
|
387
393
|
AlertDialogAction.displayName = "AlertDialogAction";
|
|
388
394
|
|
|
389
395
|
/**
|
|
@@ -402,12 +408,13 @@ AlertDialogAction.displayName = "AlertDialogAction";
|
|
|
402
408
|
*
|
|
403
409
|
* @see {@link https://base-ui.com/react/components/alert-dialog | Base UI Documentation}
|
|
404
410
|
*/
|
|
405
|
-
|
|
411
|
+
const AlertDialogCancel = React.forwardRef<HTMLButtonElement, AlertDialogCancel.Props>(function AlertDialogCancel(props, forwardedRef) {
|
|
406
412
|
const {className, children, render, ...otherProps} = props;
|
|
407
413
|
|
|
408
414
|
return (
|
|
409
415
|
<BaseAlertDialog.Close
|
|
410
416
|
{...otherProps}
|
|
417
|
+
ref={forwardedRef}
|
|
411
418
|
render={useRender({
|
|
412
419
|
defaultTagName: "button",
|
|
413
420
|
render: render as never,
|
|
@@ -421,7 +428,7 @@ function AlertDialogCancel(props: Readonly<AlertDialogCancel.Props>): React.Reac
|
|
|
421
428
|
{children}
|
|
422
429
|
</BaseAlertDialog.Close>
|
|
423
430
|
);
|
|
424
|
-
}
|
|
431
|
+
});
|
|
425
432
|
AlertDialogCancel.displayName = "AlertDialogCancel";
|
|
426
433
|
|
|
427
434
|
// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
|
|
@@ -51,12 +51,13 @@ interface AvatarFallbackProps extends Omit<React.ComponentPropsWithRef<typeof Ba
|
|
|
51
51
|
*
|
|
52
52
|
* @see {@link https://base-ui.com/react/components/avatar | Base UI Documentation}
|
|
53
53
|
*/
|
|
54
|
-
|
|
54
|
+
const Avatar = React.forwardRef<HTMLSpanElement, Avatar.Props>(function Avatar(props, forwardedRef) {
|
|
55
55
|
const {className, children, render, ...otherProps} = props;
|
|
56
56
|
|
|
57
57
|
return (
|
|
58
58
|
<BaseAvatar.Root
|
|
59
59
|
{...otherProps}
|
|
60
|
+
ref={forwardedRef}
|
|
60
61
|
render={useRender({
|
|
61
62
|
defaultTagName: "span",
|
|
62
63
|
render: render as never,
|
|
@@ -65,7 +66,7 @@ function Avatar(props: Readonly<Avatar.Props>): React.ReactElement {
|
|
|
65
66
|
{children}
|
|
66
67
|
</BaseAvatar.Root>
|
|
67
68
|
);
|
|
68
|
-
}
|
|
69
|
+
});
|
|
69
70
|
Avatar.displayName = "Avatar";
|
|
70
71
|
|
|
71
72
|
/**
|
|
@@ -84,12 +85,13 @@ Avatar.displayName = "Avatar";
|
|
|
84
85
|
*
|
|
85
86
|
* @see {@link https://base-ui.com/react/components/avatar | Base UI Documentation}
|
|
86
87
|
*/
|
|
87
|
-
|
|
88
|
+
const AvatarImage = React.forwardRef<HTMLImageElement, AvatarImage.Props>(function AvatarImage(props, forwardedRef) {
|
|
88
89
|
const {className, render, ...otherProps} = props;
|
|
89
90
|
|
|
90
91
|
return (
|
|
91
92
|
<BaseAvatar.Image
|
|
92
93
|
{...otherProps}
|
|
94
|
+
ref={forwardedRef}
|
|
93
95
|
render={useRender({
|
|
94
96
|
defaultTagName: "img",
|
|
95
97
|
render: render as never,
|
|
@@ -97,7 +99,7 @@ function AvatarImage(props: Readonly<AvatarImage.Props>): React.ReactElement {
|
|
|
97
99
|
})}
|
|
98
100
|
/>
|
|
99
101
|
);
|
|
100
|
-
}
|
|
102
|
+
});
|
|
101
103
|
AvatarImage.displayName = "AvatarImage";
|
|
102
104
|
|
|
103
105
|
/**
|
|
@@ -116,12 +118,13 @@ AvatarImage.displayName = "AvatarImage";
|
|
|
116
118
|
*
|
|
117
119
|
* @see {@link https://base-ui.com/react/components/avatar | Base UI Documentation}
|
|
118
120
|
*/
|
|
119
|
-
|
|
121
|
+
const AvatarFallback = React.forwardRef<HTMLSpanElement, AvatarFallback.Props>(function AvatarFallback(props, forwardedRef) {
|
|
120
122
|
const {className, children, render, ...otherProps} = props;
|
|
121
123
|
|
|
122
124
|
return (
|
|
123
125
|
<BaseAvatar.Fallback
|
|
124
126
|
{...otherProps}
|
|
127
|
+
ref={forwardedRef}
|
|
125
128
|
render={useRender({
|
|
126
129
|
defaultTagName: "span",
|
|
127
130
|
render: render as never,
|
|
@@ -130,7 +133,7 @@ function AvatarFallback(props: Readonly<AvatarFallback.Props>): React.ReactEleme
|
|
|
130
133
|
{children}
|
|
131
134
|
</BaseAvatar.Fallback>
|
|
132
135
|
);
|
|
133
|
-
}
|
|
136
|
+
});
|
|
134
137
|
AvatarFallback.displayName = "AvatarFallback";
|
|
135
138
|
|
|
136
139
|
// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import {ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon} from "lucide-react";
|
|
6
6
|
import * as React from "react";
|
|
7
|
+
import type {DateRange, DayPickerProps, Matcher} from "react-day-picker";
|
|
7
8
|
import {DayButton, DayPicker} from "react-day-picker";
|
|
8
9
|
|
|
9
10
|
import {Button} from "@/components/ui/button";
|
|
@@ -58,16 +59,10 @@ const calendarButtonVariantStyles: Record<CalendarButtonVariant, string> = {
|
|
|
58
59
|
*
|
|
59
60
|
* @see {@link https://daypicker.dev | React Day Picker Docs}
|
|
60
61
|
*/
|
|
61
|
-
function Calendar(
|
|
62
|
-
className,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
captionLayout = "label",
|
|
66
|
-
buttonVariant = "ghost",
|
|
67
|
-
formatters,
|
|
68
|
-
components,
|
|
69
|
-
...props
|
|
70
|
-
}: Readonly<CalendarProps>): React.JSX.Element {
|
|
62
|
+
const Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(function Calendar(
|
|
63
|
+
{className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props},
|
|
64
|
+
forwardedRef,
|
|
65
|
+
) {
|
|
71
66
|
return (
|
|
72
67
|
<DayPicker
|
|
73
68
|
showOutsideDays={showOutsideDays}
|
|
@@ -75,7 +70,7 @@ function Calendar({
|
|
|
75
70
|
captionLayout={captionLayout}
|
|
76
71
|
formatters={{
|
|
77
72
|
formatMonthDropdown: (date) => {
|
|
78
|
-
const locale = props
|
|
73
|
+
const {locale} = props;
|
|
79
74
|
|
|
80
75
|
return date.toLocaleString(locale?.code ?? "default", {month: "short"});
|
|
81
76
|
},
|
|
@@ -125,7 +120,7 @@ function Calendar({
|
|
|
125
120
|
Root: ({className: rootClassName, rootRef, ...rootProps}) => (
|
|
126
121
|
<div
|
|
127
122
|
data-slot='calendar'
|
|
128
|
-
ref={rootRef}
|
|
123
|
+
ref={rootRef ?? forwardedRef}
|
|
129
124
|
className={cn(styles.calendarRoot, rootClassName)}
|
|
130
125
|
{...rootProps}
|
|
131
126
|
/>
|
|
@@ -163,7 +158,7 @@ function Calendar({
|
|
|
163
158
|
{...props}
|
|
164
159
|
/>
|
|
165
160
|
);
|
|
166
|
-
}
|
|
161
|
+
});
|
|
167
162
|
|
|
168
163
|
function CalendarWeekNumber({week, children, ...tdProps}: Readonly<CalendarWeekNumberProps>): React.JSX.Element {
|
|
169
164
|
return (
|
|
@@ -202,6 +197,6 @@ function CalendarDayButton({className, day, modifiers, ...props}: Readonly<React
|
|
|
202
197
|
|
|
203
198
|
Calendar.displayName = "Calendar";
|
|
204
199
|
|
|
205
|
-
export type {DateRange, DayPickerProps, Matcher}
|
|
200
|
+
export type {DateRange, DayPickerProps, Matcher};
|
|
206
201
|
export {Calendar};
|
|
207
202
|
export type {CalendarProps};
|
|
@@ -127,7 +127,9 @@ const Carousel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivEl
|
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
+
// eslint-disable-next-line react-hooks-extra/no-direct-set-state-in-use-effect
|
|
130
131
|
setCanScrollPrev(emblaApi.canScrollPrev());
|
|
132
|
+
// eslint-disable-next-line react-hooks-extra/no-direct-set-state-in-use-effect
|
|
131
133
|
setCanScrollNext(emblaApi.canScrollNext());
|
|
132
134
|
}, []);
|
|
133
135
|
|