@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
|
@@ -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/components/ui/bubble-background.module.css","webpack://./src/components/ui/bubble-background.module.css"],"names":[],"mappings":"AAAA;ECCE,qDAAqD;EACrD,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;AAClB;;ADNkH;ECShH,QAAQ;EACR,SAAS;EACT,kBAAkB;EAClB,MAAM;EACN,OAAO;AACT;;ADd6K;ECiB3K,8BAA8B;EAC9B,kBAAkB;EAClB,QAAQ;AACV;;ADpBgP;ECuB9O,0BAA0B;EAC1B,qBAAqB;EACrB,kBAAkB;AACpB;;AD1ByT;EC6BvT,UAAU;EACV,WAAW;EACX,QAAQ;EACR,SAAS;AACX;;ADjC0X;ECoCxX,4HAA4H;AAC9H;;ADrCmgB;ECwCjgB,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,QAAQ;AACV;;AD7C6lB;ECgD3lB,mCAAmC;AACrC;;ADjDmpB;ECoDjpB,8HAA8H;EAC9H,UAAU;EACV,WAAW;EACX,QAAQ;EACR,SAAS;AACX;;ADzDq0B;EC4Dn0B,mCAAmC;AACrC;;AD7D03B;ECgEx3B,4HAA4H;EAC5H,UAAU;EACV,WAAW;EACX,kBAAkB;EAClB,sBAAsB;EACtB,uBAAuB;AACzB;;ADtEulC;ECyErlC,8HAA8H;EAC9H,WAAW;AACb;;AD3E8uC;EC8E5uC,qDAAqD;AACvD;;AD/EizC;ECkF/yC,4HAA4H;EAC5H,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,SAAS;EACT,UAAU;AACZ;;ADxFs/C;EC2Fp/C,4HAA4H;EAC5H,WAAW;EACX,WAAW;EACX,YAAY;AACd","sourcesContent":[".root{background:linear-gradient(135deg,#2e1065,#1d4ed8);height:100%;overflow:hidden;position:relative;width:100%}.hiddenSvg{height:0;left:0;position:absolute;top:0;width:0}.filterLayer{filter:url(#goo) blur(40px);inset:0;position:absolute}.bubble{border-radius:9999px;mix-blend-mode:hard-light;position:absolute}.bubbleFirst,.bubbleFourth{height:80%;left:10%;top:10%;width:80%}.bubbleFirst{background:radial-gradient(circle at center,rgb(var(--ac-bubble-first-color)/.8) 0,rgb(var(--ac-bubble-first-color)/0) 50%)}.rotator{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.rotatorSecond{transform-origin:calc(50% - 400px) 50%}.bubbleSecond{background:radial-gradient(circle at center,rgb(var(--ac-bubble-second-color)/.8) 0,rgb(var(--ac-bubble-second-color)/0) 50%);height:80%;left:10%;top:10%;width:80%}.rotatorThird{transform-origin:calc(50% + 400px) 50%}.bubbleThird{background:radial-gradient(circle at center,rgb(var(--ac-bubble-third-color)/.8) 0,rgb(var(--ac-bubble-third-color)/0) 50%);height:80%;left:calc(50% - 500px);position:absolute;top:calc(50% + 200px);width:80%}.bubbleFourth{background:radial-gradient(circle at center,rgb(var(--ac-bubble-fourth-color)/.8) 0,rgb(var(--ac-bubble-fourth-color)/0) 50%);opacity:.7}.rotatorFifth{transform-origin:calc(50% - 800px) calc(50% + 200px)}.bubbleFifth{background:radial-gradient(circle at center,rgb(var(--ac-bubble-fifth-color)/.8) 0,rgb(var(--ac-bubble-fifth-color)/0) 50%);height:160%;left:-30%;position:absolute;top:-30%;width:160%}.bubbleInteractive{background:radial-gradient(circle at center,rgb(var(--ac-bubble-sixth-color)/.8) 0,rgb(var(--ac-bubble-sixth-color)/0) 50%);height:100%;opacity:.7;width:100%}",".root {\n background: linear-gradient(135deg, #2e1065, #1d4ed8);\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n}\n\n.hiddenSvg {\n width: 0;\n height: 0;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.filterLayer {\n filter: url(\"#goo\") blur(40px);\n position: absolute;\n inset: 0;\n}\n\n.bubble {\n mix-blend-mode: hard-light;\n border-radius: 9999px;\n position: absolute;\n}\n\n.bubbleFirst, .bubbleFourth {\n width: 80%;\n height: 80%;\n top: 10%;\n left: 10%;\n}\n\n.bubbleFirst {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-first-color)/.8) 0,rgb(var(--ac-bubble-first-color)/0) 50%);\n}\n\n.rotator {\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n inset: 0;\n}\n\n.rotatorSecond {\n transform-origin: calc(50% - 400px);\n}\n\n.bubbleSecond {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-second-color)/.8) 0,rgb(var(--ac-bubble-second-color)/0) 50%);\n width: 80%;\n height: 80%;\n top: 10%;\n left: 10%;\n}\n\n.rotatorThird {\n transform-origin: calc(50% + 400px);\n}\n\n.bubbleThird {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-third-color)/.8) 0,rgb(var(--ac-bubble-third-color)/0) 50%);\n width: 80%;\n height: 80%;\n position: absolute;\n top: calc(50% + 200px);\n left: calc(50% - 500px);\n}\n\n.bubbleFourth {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-fourth-color)/.8) 0,rgb(var(--ac-bubble-fourth-color)/0) 50%);\n opacity: .7;\n}\n\n.rotatorFifth {\n transform-origin: calc(50% - 800px) calc(50% + 200px);\n}\n\n.bubbleFifth {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-fifth-color)/.8) 0,rgb(var(--ac-bubble-fifth-color)/0) 50%);\n width: 160%;\n height: 160%;\n position: absolute;\n top: -30%;\n left: -30%;\n}\n\n.bubbleInteractive {\n background: radial-gradient(circle at center,rgb(var(--ac-bubble-sixth-color)/.8) 0,rgb(var(--ac-bubble-sixth-color)/0) 50%);\n opacity: .7;\n width: 100%;\n height: 100%;\n}\n"],"sourceRoot":""}
|
|
@@ -88,6 +88,6 @@ declare const ButtonGroupText: React.ForwardRefExoticComponent<ButtonGroupTextPr
|
|
|
88
88
|
*
|
|
89
89
|
* @see {@link ButtonGroupSeparatorProps} for available props
|
|
90
90
|
*/
|
|
91
|
-
declare const ButtonGroupSeparator: React.ForwardRefExoticComponent<Omit<
|
|
91
|
+
declare const ButtonGroupSeparator: React.ForwardRefExoticComponent<Omit<Omit<import("./separator").SeparatorProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
92
92
|
export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
|
|
93
93
|
//# sourceMappingURL=button-group.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAIpD,2DAA2D;AAC3D,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE/D,UAAU,yBAAyB;IACjC,gFAAgF;IAChF,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC7E,6DAA6D;IAC7D,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACjF,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,SAAS,CAAC,CAAC;AAEzF;;;;;;;;;;GAUG;AACH,iBAAS,mBAAmB,CAAC,EAAC,WAA0B,EAAE,SAAS,EAAC,GAAE,QAAQ,CAAC,yBAAyB,CAAM,GAAG,MAAM,CAEtH;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,WAAW,yFAWhB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,eAAe,6FAwBpB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAIpD,2DAA2D;AAC3D,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE/D,UAAU,yBAAyB;IACjC,gFAAgF;IAChF,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC7E,6DAA6D;IAC7D,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACjF,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,SAAS,CAAC,CAAC;AAEzF;;;;;;;;;;GAUG;AACH,iBAAS,mBAAmB,CAAC,EAAC,WAA0B,EAAE,SAAS,EAAC,GAAE,QAAQ,CAAC,yBAAyB,CAAM,GAAG,MAAM,CAEtH;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,WAAW,yFAWhB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,eAAe,6FAwBpB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,oBAAoB,2LAUzB,CAAC;AAMF,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAC,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { cloneElement, forwardRef, isValidElement } from "react";
|
|
4
3
|
import { Separator } from "./separator.js";
|
|
5
4
|
import { cn } from "../../lib/utilities.js";
|
|
6
5
|
import button_group_module from "./button-group.module.js";
|
|
6
|
+
import * as __rspack_external_react from "react";
|
|
7
7
|
function buttonGroupVariants({ orientation = "horizontal", className } = {}) {
|
|
8
8
|
return cn(button_group_module.root, "vertical" === orientation ? button_group_module.vertical : button_group_module.horizontal, className);
|
|
9
9
|
}
|
|
10
|
-
const ButtonGroup = /*#__PURE__*/ forwardRef(({ className, orientation = "horizontal", ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
10
|
+
const ButtonGroup = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, orientation = "horizontal", ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
11
11
|
ref: ref,
|
|
12
12
|
role: "group",
|
|
13
13
|
"data-slot": "button-group",
|
|
@@ -18,11 +18,11 @@ const ButtonGroup = /*#__PURE__*/ forwardRef(({ className, orientation = "horizo
|
|
|
18
18
|
}),
|
|
19
19
|
...props
|
|
20
20
|
}));
|
|
21
|
-
const ButtonGroupText = /*#__PURE__*/ forwardRef(({ className, asChild = false, children, ...props }, ref)=>{
|
|
21
|
+
const ButtonGroupText = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, asChild = false, children, ...props }, ref)=>{
|
|
22
22
|
const mergedClassName = cn(button_group_module.text, className);
|
|
23
|
-
if (asChild && /*#__PURE__*/ isValidElement(children)) {
|
|
23
|
+
if (asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children)) {
|
|
24
24
|
const child = children;
|
|
25
|
-
return /*#__PURE__*/ cloneElement(child, {
|
|
25
|
+
return /*#__PURE__*/ __rspack_external_react.cloneElement(child, {
|
|
26
26
|
...props,
|
|
27
27
|
ref,
|
|
28
28
|
className: cn(mergedClassName, child.props.className)
|
|
@@ -35,7 +35,7 @@ const ButtonGroupText = /*#__PURE__*/ forwardRef(({ className, asChild = false,
|
|
|
35
35
|
children: children
|
|
36
36
|
});
|
|
37
37
|
});
|
|
38
|
-
const ButtonGroupSeparator = /*#__PURE__*/ forwardRef(({ className, orientation = "vertical", ...props }, ref)=>/*#__PURE__*/ jsx(Separator, {
|
|
38
|
+
const ButtonGroupSeparator = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, orientation = "vertical", ...props }, ref)=>/*#__PURE__*/ jsx(Separator, {
|
|
39
39
|
ref: ref,
|
|
40
40
|
"data-slot": "button-group-separator",
|
|
41
41
|
orientation: orientation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/ui/button-group.js","sources":["../../../src/components/ui/button-group.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\n\r\nimport {Separator} from \"@/components/ui/separator\";\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./button-group.module.css\";\r\n\r\n/** Supported layout directions for {@link ButtonGroup}. */\r\nexport type ButtonGroupOrientation = \"horizontal\" | \"vertical\";\r\n\r\ninterface ButtonGroupVariantOptions {\r\n /** Orientation used to resolve the root style classes. @default \"horizontal\" */\r\n orientation?: ButtonGroupOrientation;\r\n /** Additional classes merged into the generated variant string. @default undefined */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroup} component.\r\n */\r\nexport interface ButtonGroupProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Arrangement of grouped controls. @default \"horizontal\" */\r\n orientation?: ButtonGroupOrientation;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroupText} component.\r\n */\r\nexport interface ButtonGroupTextProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Enables rendering an existing div-compatible child element. @default false */\r\n asChild?: boolean;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroupSeparator} component.\r\n */\r\nexport type ButtonGroupSeparatorProps = React.ComponentPropsWithoutRef<typeof Separator>;\r\n\r\n/**\r\n * Returns the CSS class list for a button group root.\r\n *\r\n * @param options - Variant options used to derive the generated class string.\r\n * @returns The merged class name string for the requested orientation.\r\n *\r\n * @example\r\n * ```tsx\r\n * const className = buttonGroupVariants({orientation: \"vertical\"});\r\n * ```\r\n */\r\nfunction buttonGroupVariants({orientation = \"horizontal\", className}: Readonly<ButtonGroupVariantOptions> = {}): string {\r\n return cn(styles.root, orientation === \"vertical\" ? styles.vertical : styles.horizontal, className);\r\n}\r\n\r\n/**\r\n * Aligns related buttons into a single visual control group.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<div>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroup>\r\n * <button type='button'>Left</button>\r\n * <button type='button'>Right</button>\r\n * </ButtonGroup>\r\n * ```\r\n *\r\n * @see {@link ButtonGroupProps} for available props\r\n */\r\nconst ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\r\n ({className, orientation = \"horizontal\", ...props}: Readonly<ButtonGroupProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n role='group'\r\n data-slot='button-group'\r\n data-orientation={orientation}\r\n className={buttonGroupVariants({orientation, className})}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Adds descriptive text content within a button group layout.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<div>` element by default\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroupText>Actions</ButtonGroupText>\r\n * ```\r\n *\r\n * @see {@link ButtonGroupTextProps} for available props\r\n */\r\nconst ButtonGroupText = React.forwardRef<HTMLDivElement, ButtonGroupTextProps>(\r\n ({className, asChild = false, children, ...props}: Readonly<ButtonGroupTextProps>, ref): React.JSX.Element => {\r\n const mergedClassName = cn(styles.text, className);\r\n\r\n if (asChild && React.isValidElement(children)) {\r\n const child = children as React.ReactElement<React.ComponentPropsWithoutRef<\"div\"> & {ref?: React.Ref<HTMLDivElement>}>;\r\n\r\n // eslint-disable-next-line react-x/no-clone-element -- replaces Radix Slot while preserving asChild prop merging\r\n return React.cloneElement(child, {\r\n ...props,\r\n ref,\r\n className: cn(mergedClassName, child.props.className),\r\n });\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={mergedClassName}\r\n {...props}>\r\n {children}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Inserts a separator between grouped controls.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a wrapped `Separator` component\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroupSeparator orientation='vertical' />\r\n * ```\r\n *\r\n * @see {@link ButtonGroupSeparatorProps} for available props\r\n */\r\nconst ButtonGroupSeparator = React.forwardRef<HTMLDivElement, ButtonGroupSeparatorProps>(\r\n ({className, orientation = \"vertical\", ...props}: Readonly<ButtonGroupSeparatorProps>, ref): React.JSX.Element => (\r\n <Separator\r\n ref={ref}\r\n data-slot='button-group-separator'\r\n orientation={orientation}\r\n className={cn(styles.separator, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nButtonGroup.displayName = \"ButtonGroup\";\r\nButtonGroupText.displayName = \"ButtonGroupText\";\r\nButtonGroupSeparator.displayName = \"ButtonGroupSeparator\";\r\n\r\nexport {ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants};\r\n"],"names":["buttonGroupVariants","orientation","className","cn","styles","ButtonGroup","React","props","ref","ButtonGroupText","asChild","children","mergedClassName","child","ButtonGroupSeparator","Separator"],"mappings":";;;;;;AAkDA,SAASA,oBAAoB,EAACC,cAAc,YAAY,EAAEC,SAAS,EAAsC,GAAG,CAAC,CAAC;IAC5G,OAAOC,GAAGC,oBAAAA,IAAW,EAAEH,AAAgB,eAAhBA,cAA6BG,oBAAAA,QAAe,GAAGA,oBAAAA,UAAiB,EAAEF;AAC3F;AAoBA,MAAMG,cAAc,WAAHA,GAAGC,
|
|
1
|
+
{"version":3,"file":"components/ui/button-group.js","sources":["../../../src/components/ui/button-group.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\n\r\nimport {Separator} from \"@/components/ui/separator\";\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./button-group.module.css\";\r\n\r\n/** Supported layout directions for {@link ButtonGroup}. */\r\nexport type ButtonGroupOrientation = \"horizontal\" | \"vertical\";\r\n\r\ninterface ButtonGroupVariantOptions {\r\n /** Orientation used to resolve the root style classes. @default \"horizontal\" */\r\n orientation?: ButtonGroupOrientation;\r\n /** Additional classes merged into the generated variant string. @default undefined */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroup} component.\r\n */\r\nexport interface ButtonGroupProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Arrangement of grouped controls. @default \"horizontal\" */\r\n orientation?: ButtonGroupOrientation;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroupText} component.\r\n */\r\nexport interface ButtonGroupTextProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Enables rendering an existing div-compatible child element. @default false */\r\n asChild?: boolean;\r\n}\r\n\r\n/**\r\n * Props for the {@link ButtonGroupSeparator} component.\r\n */\r\nexport type ButtonGroupSeparatorProps = React.ComponentPropsWithoutRef<typeof Separator>;\r\n\r\n/**\r\n * Returns the CSS class list for a button group root.\r\n *\r\n * @param options - Variant options used to derive the generated class string.\r\n * @returns The merged class name string for the requested orientation.\r\n *\r\n * @example\r\n * ```tsx\r\n * const className = buttonGroupVariants({orientation: \"vertical\"});\r\n * ```\r\n */\r\nfunction buttonGroupVariants({orientation = \"horizontal\", className}: Readonly<ButtonGroupVariantOptions> = {}): string {\r\n return cn(styles.root, orientation === \"vertical\" ? styles.vertical : styles.horizontal, className);\r\n}\r\n\r\n/**\r\n * Aligns related buttons into a single visual control group.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<div>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroup>\r\n * <button type='button'>Left</button>\r\n * <button type='button'>Right</button>\r\n * </ButtonGroup>\r\n * ```\r\n *\r\n * @see {@link ButtonGroupProps} for available props\r\n */\r\nconst ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\r\n ({className, orientation = \"horizontal\", ...props}: Readonly<ButtonGroupProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n role='group'\r\n data-slot='button-group'\r\n data-orientation={orientation}\r\n className={buttonGroupVariants({orientation, className})}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Adds descriptive text content within a button group layout.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<div>` element by default\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroupText>Actions</ButtonGroupText>\r\n * ```\r\n *\r\n * @see {@link ButtonGroupTextProps} for available props\r\n */\r\nconst ButtonGroupText = React.forwardRef<HTMLDivElement, ButtonGroupTextProps>(\r\n ({className, asChild = false, children, ...props}: Readonly<ButtonGroupTextProps>, ref): React.JSX.Element => {\r\n const mergedClassName = cn(styles.text, className);\r\n\r\n if (asChild && React.isValidElement(children)) {\r\n const child = children as React.ReactElement<React.ComponentPropsWithoutRef<\"div\"> & {ref?: React.Ref<HTMLDivElement>}>;\r\n\r\n // eslint-disable-next-line react-x/no-clone-element -- replaces Radix Slot while preserving asChild prop merging\r\n return React.cloneElement(child, {\r\n ...props,\r\n ref,\r\n className: cn(mergedClassName, child.props.className),\r\n });\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={mergedClassName}\r\n {...props}>\r\n {children}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Inserts a separator between grouped controls.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a wrapped `Separator` component\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ButtonGroupSeparator orientation='vertical' />\r\n * ```\r\n *\r\n * @see {@link ButtonGroupSeparatorProps} for available props\r\n */\r\nconst ButtonGroupSeparator = React.forwardRef<HTMLDivElement, ButtonGroupSeparatorProps>(\r\n ({className, orientation = \"vertical\", ...props}: Readonly<ButtonGroupSeparatorProps>, ref): React.JSX.Element => (\r\n <Separator\r\n ref={ref}\r\n data-slot='button-group-separator'\r\n orientation={orientation}\r\n className={cn(styles.separator, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nButtonGroup.displayName = \"ButtonGroup\";\r\nButtonGroupText.displayName = \"ButtonGroupText\";\r\nButtonGroupSeparator.displayName = \"ButtonGroupSeparator\";\r\n\r\nexport {ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants};\r\n"],"names":["buttonGroupVariants","orientation","className","cn","styles","ButtonGroup","React","props","ref","ButtonGroupText","asChild","children","mergedClassName","child","ButtonGroupSeparator","Separator"],"mappings":";;;;;;AAkDA,SAASA,oBAAoB,EAACC,cAAc,YAAY,EAAEC,SAAS,EAAsC,GAAG,CAAC,CAAC;IAC5G,OAAOC,GAAGC,oBAAAA,IAAW,EAAEH,AAAgB,eAAhBA,cAA6BG,oBAAAA,QAAe,GAAGA,oBAAAA,UAAiB,EAAEF;AAC3F;AAoBA,MAAMG,cAAc,WAAHA,GAAGC,wBAAAA,UAAgB,CAClC,CAAC,EAACJ,SAAS,EAAED,cAAc,YAAY,EAAE,GAAGM,OAAkC,EAAEC,MAAAA,WAAAA,GAC9E,IAAC;QACC,KAAKA;QACL,MAAK;QACL,aAAU;QACV,oBAAkBP;QAClB,WAAWD,oBAAoB;YAACC;YAAaC;QAAS;QACrD,GAAGK,KAAK;;AAoBf,MAAME,kBAAkB,WAAHA,GAAGH,wBAAAA,UAAgB,CACtC,CAAC,EAACJ,SAAS,EAAEQ,UAAU,KAAK,EAAEC,QAAQ,EAAE,GAAGJ,OAAsC,EAAEC;IACjF,MAAMI,kBAAkBT,GAAGC,oBAAAA,IAAW,EAAEF;IAExC,IAAIQ,WAAW,WAAXA,GAAWJ,wBAAAA,cAAoB,CAACK,WAAW;QAC7C,MAAME,QAAQF;QAGd,OAAO,WAAP,GAAOL,wBAAAA,YAAkB,CAACO,OAAO;YAC/B,GAAGN,KAAK;YACRC;YACA,WAAWL,GAAGS,iBAAiBC,MAAM,KAAK,CAAC,SAAS;QACtD;IACF;IAEA,OAAO,WAAP,GACE,IAAC;QACC,KAAKL;QACL,WAAWI;QACV,GAAGL,KAAK;kBACRI;;AAGP;AAkBF,MAAMG,uBAAuB,WAAHA,GAAGR,wBAAAA,UAAgB,CAC3C,CAAC,EAACJ,SAAS,EAAED,cAAc,UAAU,EAAE,GAAGM,OAA2C,EAAEC,MAAAA,WAAAA,GACrF,IAACO,WAASA;QACR,KAAKP;QACL,aAAU;QACV,aAAaP;QACb,WAAWE,GAAGC,oBAAAA,SAAgB,EAAEF;QAC/B,GAAGK,KAAK;;AAKfF,YAAY,WAAW,GAAG;AAC1BI,gBAAgB,WAAW,GAAG;AAC9BK,qBAAqB,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/components/ui/button-group.module.css","webpack://./src/components/ui/button-group.module.css"],"names":[],"mappings":"AAAA;ECCE,oBAAoB;EACpB,kBAAkB;EAClB,oBAAoB;AACtB;;ADJgE;ECO9D,cAAc;AAChB;;ADRsF;ECWpF,UAAU;EACV,kBAAkB;AACpB;;ADbuI;ECgBrI,UAAU;AACZ;;ADjBiK;ECoB/J,yBAAyB;EACzB,4BAA4B;EAC5B,iBAAiB;AACnB;;ADvBsQ;EC0BpQ,0BAA0B;EAC1B,6BAA6B;AAC/B;;AD5B2V;EC+BzV,sBAAsB;EACtB,WAAW;AACb;;ADjCsY;ECoCpY,yBAAyB;EACzB,0BAA0B;EAC1B,gBAAgB;AAClB;;ADvCse;EC0Cpe,6BAA6B;EAC7B,4BAA4B;AAC9B;;AD5C2jB;EC+CzjB,iCAAiC;EACjC,kCAAkC;EAClC,kCAAkC;EAClC,2BAA2B;EAC3B,4BAA4B;EAC5B,mBAAmB;EACnB,sBAAsB;EACtB,4BAA4B;EAC5B,gBAAgB;EAChB,oBAAoB;EACpB,+BAA+B;AACjC;;AD1D62B;EC6D32B,cAAc;EACd,WAAW;EACX,YAAY;AACd;;ADhE45B;ECmE15B,kCAAkC;EAClC,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AACtB;;ADvEigC;EC0E//B,YAAY;AACd","sourcesContent":[".root{align-items:stretch;display:inline-flex;width:fit-content}.root>*{flex-shrink:0}.root>:focus-visible{position:relative;z-index:1}.root>input{flex:1 1 auto}.horizontal>:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.horizontal>:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.vertical{flex-direction:column;width:100%}.vertical>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.vertical>:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.text{align-items:center;background-color:var(--ac-muted);border:1px solid var(--ac-border);border-radius:var(--ac-radius-md);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-foreground);display:inline-flex;font-size:var(--ac-text-sm);font-weight:500;gap:var(--ac-space-2);padding:0 var(--ac-space-4)}.text svg{flex-shrink:0;height:1rem;width:1rem}.separator{align-self:stretch;background-color:var(--ac-border);margin:0!important;position:relative}.separator[data-orientation=vertical]{height:auto}",".root {\n align-items: stretch;\n width: fit-content;\n display: inline-flex;\n}\n\n.root > * {\n flex-shrink: 0;\n}\n\n.root > :focus-visible {\n z-index: 1;\n position: relative;\n}\n\n.root > input {\n flex: auto;\n}\n\n.horizontal > :not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-left: -1px;\n}\n\n.horizontal > :not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.vertical {\n flex-direction: column;\n width: 100%;\n}\n\n.vertical > :not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n margin-top: -1px;\n}\n\n.vertical > :not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.text {\n background-color: var(--ac-muted);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-md);\n color: var(--ac-foreground);\n font-size: var(--ac-text-sm);\n align-items: center;\n gap: var(--ac-space-2);\n padding: 0 var(--ac-space-4);\n font-weight: 500;\n display: inline-flex;\n box-shadow: 0 1px 2px #0000000d;\n}\n\n.text svg {\n flex-shrink: 0;\n width: 1rem;\n height: 1rem;\n}\n\n.separator {\n background-color: var(--ac-border);\n align-self: stretch;\n position: relative;\n margin: 0 !important;\n}\n\n.separator[data-orientation=\"vertical\"] {\n height: auto;\n}\n"],"sourceRoot":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
3
3
|
import { useRender } from "@base-ui/react/use-render";
|
|
4
|
-
import { forwardRef, isValidElement } from "react";
|
|
5
4
|
import { cn } from "../../lib/utilities.js";
|
|
6
5
|
import button_module from "./button.module.js";
|
|
6
|
+
import * as __rspack_external_react from "react";
|
|
7
7
|
const variantStyles = {
|
|
8
8
|
default: button_module["default"],
|
|
9
9
|
destructive: button_module.destructive,
|
|
@@ -22,7 +22,7 @@ function buttonVariants({ variant = "default", size = "default", className } = {
|
|
|
22
22
|
return cn(button_module.button, variantStyles[variant], sizeStyles[size], className);
|
|
23
23
|
}
|
|
24
24
|
function isIntrinsicButtonElement(renderProp) {
|
|
25
|
-
return /*#__PURE__*/ isValidElement(renderProp) && "string" == typeof renderProp.type && "button" === renderProp.type;
|
|
25
|
+
return /*#__PURE__*/ __rspack_external_react.isValidElement(renderProp) && "string" == typeof renderProp.type && "button" === renderProp.type;
|
|
26
26
|
}
|
|
27
27
|
function createNonNativeInteractionProps(disabled) {
|
|
28
28
|
return {
|
|
@@ -41,7 +41,7 @@ function createNonNativeInteractionProps(disabled) {
|
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
|
-
const Button = /*#__PURE__*/ forwardRef((props, ref)=>{
|
|
44
|
+
const Button = /*#__PURE__*/ __rspack_external_react.forwardRef((props, ref)=>{
|
|
45
45
|
const { render, asChild = false, variant = "default", size = "default", disabled = false, className, children, ...otherProps } = props;
|
|
46
46
|
const state = {
|
|
47
47
|
variant,
|
|
@@ -53,7 +53,7 @@ const Button = /*#__PURE__*/ forwardRef((props, ref)=>{
|
|
|
53
53
|
size,
|
|
54
54
|
className
|
|
55
55
|
});
|
|
56
|
-
const renderProp = asChild && /*#__PURE__*/ isValidElement(children) ? children : render;
|
|
56
|
+
const renderProp = asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children) ? children : render;
|
|
57
57
|
const shouldRenderNativeButton = !renderProp || isIntrinsicButtonElement(renderProp);
|
|
58
58
|
const typeProps = shouldRenderNativeButton ? {
|
|
59
59
|
type: "button"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/ui/button.js","sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport {useRender} from \"@base-ui/react/use-render\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./button.module.css\";\r\n\r\nconst variantStyles: Record<ButtonVariant, string> = {\r\n default: styles.default!,\r\n destructive: styles.destructive!,\r\n outline: styles.outline!,\r\n secondary: styles.secondary!,\r\n ghost: styles.ghost!,\r\n link: styles.link!,\r\n};\r\n\r\nconst sizeStyles: Record<ButtonSize, string> = {\r\n default: styles.sizeDefault!,\r\n sm: styles.sizeSm!,\r\n lg: styles.sizeLg!,\r\n icon: styles.sizeIcon!,\r\n};\r\n\r\nexport type ButtonVariant = \"default\" | \"destructive\" | \"outline\" | \"secondary\" | \"ghost\" | \"link\";\r\nexport type ButtonSize = \"default\" | \"sm\" | \"lg\" | \"icon\";\r\n\r\n/**\r\n * Serializable button state exposed to Base UI render callbacks.\r\n */\r\nexport interface ButtonState extends Record<string, unknown> {\r\n variant: ButtonVariant;\r\n size: ButtonSize;\r\n disabled: boolean;\r\n}\r\n\r\ninterface ButtonVariantOptions {\r\n variant?: ButtonVariant;\r\n size?: ButtonSize;\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Props for the shared button component.\r\n */\r\nexport interface ButtonProps extends Omit<React.ComponentPropsWithRef<\"button\">, \"children\" | \"className\" | \"disabled\"> {\r\n /**\r\n * Visual style variant.\r\n * @default \"default\"\r\n */\r\n variant?: ButtonVariant;\r\n /**\r\n * Size preset.\r\n * @default \"default\"\r\n */\r\n size?: ButtonSize;\r\n /**\r\n * Whether the button should ignore user interaction.\r\n * @default false\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Additional CSS classes merged with the button styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Custom element or render callback used to replace the default `<button>`.\r\n * @default undefined\r\n */\r\n render?: useRender.RenderProp<ButtonState>;\r\n /**\r\n * Backward-compatible child-slot API.\r\n * Converts the single child element to the `render` prop internally.\r\n * @default false\r\n */\r\n asChild?: boolean;\r\n /**\r\n * Button contents when `render` is not provided.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Builds the composed class list for the shared button component.\r\n */\r\nfunction buttonVariants({variant = \"default\", size = \"default\", className}: Readonly<ButtonVariantOptions> = {}): string {\r\n return cn(styles.button, variantStyles[variant], sizeStyles[size], className);\r\n}\r\n\r\nfunction isIntrinsicButtonElement(renderProp: ButtonProps[\"render\"]): boolean {\r\n return React.isValidElement(renderProp) && typeof renderProp.type === \"string\" && renderProp.type === \"button\";\r\n}\r\n\r\nfunction createNonNativeInteractionProps(disabled: boolean): React.HTMLAttributes<HTMLElement> {\r\n return {\r\n \"aria-disabled\": disabled || undefined,\r\n role: \"button\",\r\n tabIndex: disabled ? -1 : undefined,\r\n onClick(event) {\r\n if (!disabled) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n\r\n if (\"preventBaseUIHandler\" in event && typeof event.preventBaseUIHandler === \"function\") {\r\n event.preventBaseUIHandler();\r\n }\r\n },\r\n onKeyDown(event) {\r\n if (!disabled || (event.key !== \"Enter\" && event.key !== \" \")) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n\r\n if (\"preventBaseUIHandler\" in event && typeof event.preventBaseUIHandler === \"function\") {\r\n event.preventBaseUIHandler();\r\n }\r\n },\r\n };\r\n}\r\n\r\n/**\r\n * A button component that triggers actions.\r\n * Built with Base UI's canonical `useRender` + `mergeProps` composition pattern.\r\n *\r\n * @remarks\r\n * Renders a native `<button>` by default. Use the `render` prop to compose the\r\n * button styles and shared behavior with other elements or components. The\r\n * deprecated `asChild` prop is still supported and internally converted to\r\n * `render` for backward compatibility.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Button variant=\"default\" size=\"sm\">Click me</Button>\r\n * <Button render={<a href=\"/dashboard\" />}>Go to dashboard</Button>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/button | Base UI Button}\r\n */\r\nconst Button = React.forwardRef<HTMLButtonElement, Button.Props>((props: Readonly<Button.Props>, ref): React.ReactElement => {\r\n const {render, asChild = false, variant = \"default\", size = \"default\", disabled = false, className, children, ...otherProps} = props;\r\n\r\n const state: Button.State = {variant, size, disabled};\r\n const composedClassName = buttonVariants({variant, size, className});\r\n const renderProp = asChild && React.isValidElement(children) ? children : render;\r\n const shouldRenderNativeButton = !renderProp || isIntrinsicButtonElement(renderProp);\r\n const typeProps: Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\"> = shouldRenderNativeButton ? {type: \"button\"} : {};\r\n const interactionProps = shouldRenderNativeButton ? {disabled} : createNonNativeInteractionProps(disabled);\r\n\r\n return useRender<Button.State, HTMLButtonElement>({\r\n defaultTagName: \"button\",\r\n ref,\r\n render: renderProp,\r\n state,\r\n props: mergeProps<\"button\">({className: composedClassName}, typeProps, otherProps, interactionProps, {\r\n children: renderProp ? undefined : children,\r\n }),\r\n });\r\n});\r\nButton.displayName = \"Button\";\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace Button {\r\n export type State = ButtonState;\r\n export type Props = ButtonProps;\r\n}\r\n\r\nexport {Button, buttonVariants};\r\n"],"names":["variantStyles","styles","sizeStyles","buttonVariants","variant","size","className","cn","isIntrinsicButtonElement","renderProp","React","createNonNativeInteractionProps","disabled","undefined","event","Button","props","ref","render","asChild","children","otherProps","state","composedClassName","shouldRenderNativeButton","typeProps","interactionProps","useRender","mergeProps"],"mappings":";;;;;;AASA,MAAMA,gBAA+C;IACnD,SAASC,aAAAA,CAAAA,UAAc;IACvB,aAAaA,cAAAA,WAAkB;IAC/B,SAASA,cAAAA,OAAc;IACvB,WAAWA,cAAAA,SAAgB;IAC3B,OAAOA,cAAAA,KAAY;IACnB,MAAMA,cAAAA,IAAW;AACnB;AAEA,MAAMC,aAAyC;IAC7C,SAASD,cAAAA,WAAkB;IAC3B,IAAIA,cAAAA,MAAa;IACjB,IAAIA,cAAAA,MAAa;IACjB,MAAMA,cAAAA,QAAe;AACvB;AAiEA,SAASE,eAAe,EAACC,UAAU,SAAS,EAAEC,OAAO,SAAS,EAAEC,SAAS,EAAiC,GAAG,CAAC,CAAC;IAC7G,OAAOC,GAAGN,cAAAA,MAAa,EAAED,aAAa,CAACI,QAAQ,EAAEF,UAAU,CAACG,KAAK,EAAEC;AACrE;AAEA,SAASE,yBAAyBC,UAAiC;IACjE,OAAO,WAAP,GAAOC,
|
|
1
|
+
{"version":3,"file":"components/ui/button.js","sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport {useRender} from \"@base-ui/react/use-render\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./button.module.css\";\r\n\r\nconst variantStyles: Record<ButtonVariant, string> = {\r\n default: styles.default!,\r\n destructive: styles.destructive!,\r\n outline: styles.outline!,\r\n secondary: styles.secondary!,\r\n ghost: styles.ghost!,\r\n link: styles.link!,\r\n};\r\n\r\nconst sizeStyles: Record<ButtonSize, string> = {\r\n default: styles.sizeDefault!,\r\n sm: styles.sizeSm!,\r\n lg: styles.sizeLg!,\r\n icon: styles.sizeIcon!,\r\n};\r\n\r\nexport type ButtonVariant = \"default\" | \"destructive\" | \"outline\" | \"secondary\" | \"ghost\" | \"link\";\r\nexport type ButtonSize = \"default\" | \"sm\" | \"lg\" | \"icon\";\r\n\r\n/**\r\n * Serializable button state exposed to Base UI render callbacks.\r\n */\r\nexport interface ButtonState extends Record<string, unknown> {\r\n variant: ButtonVariant;\r\n size: ButtonSize;\r\n disabled: boolean;\r\n}\r\n\r\ninterface ButtonVariantOptions {\r\n variant?: ButtonVariant;\r\n size?: ButtonSize;\r\n className?: string;\r\n}\r\n\r\n/**\r\n * Props for the shared button component.\r\n */\r\nexport interface ButtonProps extends Omit<React.ComponentPropsWithRef<\"button\">, \"children\" | \"className\" | \"disabled\"> {\r\n /**\r\n * Visual style variant.\r\n * @default \"default\"\r\n */\r\n variant?: ButtonVariant;\r\n /**\r\n * Size preset.\r\n * @default \"default\"\r\n */\r\n size?: ButtonSize;\r\n /**\r\n * Whether the button should ignore user interaction.\r\n * @default false\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Additional CSS classes merged with the button styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Custom element or render callback used to replace the default `<button>`.\r\n * @default undefined\r\n */\r\n render?: useRender.RenderProp<ButtonState>;\r\n /**\r\n * Backward-compatible child-slot API.\r\n * Converts the single child element to the `render` prop internally.\r\n * @default false\r\n */\r\n asChild?: boolean;\r\n /**\r\n * Button contents when `render` is not provided.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Builds the composed class list for the shared button component.\r\n */\r\nfunction buttonVariants({variant = \"default\", size = \"default\", className}: Readonly<ButtonVariantOptions> = {}): string {\r\n return cn(styles.button, variantStyles[variant], sizeStyles[size], className);\r\n}\r\n\r\nfunction isIntrinsicButtonElement(renderProp: ButtonProps[\"render\"]): boolean {\r\n return React.isValidElement(renderProp) && typeof renderProp.type === \"string\" && renderProp.type === \"button\";\r\n}\r\n\r\nfunction createNonNativeInteractionProps(disabled: boolean): React.HTMLAttributes<HTMLElement> {\r\n return {\r\n \"aria-disabled\": disabled || undefined,\r\n role: \"button\",\r\n tabIndex: disabled ? -1 : undefined,\r\n onClick(event) {\r\n if (!disabled) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n\r\n if (\"preventBaseUIHandler\" in event && typeof event.preventBaseUIHandler === \"function\") {\r\n event.preventBaseUIHandler();\r\n }\r\n },\r\n onKeyDown(event) {\r\n if (!disabled || (event.key !== \"Enter\" && event.key !== \" \")) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n\r\n if (\"preventBaseUIHandler\" in event && typeof event.preventBaseUIHandler === \"function\") {\r\n event.preventBaseUIHandler();\r\n }\r\n },\r\n };\r\n}\r\n\r\n/**\r\n * A button component that triggers actions.\r\n * Built with Base UI's canonical `useRender` + `mergeProps` composition pattern.\r\n *\r\n * @remarks\r\n * Renders a native `<button>` by default. Use the `render` prop to compose the\r\n * button styles and shared behavior with other elements or components. The\r\n * deprecated `asChild` prop is still supported and internally converted to\r\n * `render` for backward compatibility.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Button variant=\"default\" size=\"sm\">Click me</Button>\r\n * <Button render={<a href=\"/dashboard\" />}>Go to dashboard</Button>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/button | Base UI Button}\r\n */\r\nconst Button = React.forwardRef<HTMLButtonElement, Button.Props>((props: Readonly<Button.Props>, ref): React.ReactElement => {\r\n const {render, asChild = false, variant = \"default\", size = \"default\", disabled = false, className, children, ...otherProps} = props;\r\n\r\n const state: Button.State = {variant, size, disabled};\r\n const composedClassName = buttonVariants({variant, size, className});\r\n const renderProp = asChild && React.isValidElement(children) ? children : render;\r\n const shouldRenderNativeButton = !renderProp || isIntrinsicButtonElement(renderProp);\r\n const typeProps: Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\"> = shouldRenderNativeButton ? {type: \"button\"} : {};\r\n const interactionProps = shouldRenderNativeButton ? {disabled} : createNonNativeInteractionProps(disabled);\r\n\r\n return useRender<Button.State, HTMLButtonElement>({\r\n defaultTagName: \"button\",\r\n ref,\r\n render: renderProp,\r\n state,\r\n props: mergeProps<\"button\">({className: composedClassName}, typeProps, otherProps, interactionProps, {\r\n children: renderProp ? undefined : children,\r\n }),\r\n });\r\n});\r\nButton.displayName = \"Button\";\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace Button {\r\n export type State = ButtonState;\r\n export type Props = ButtonProps;\r\n}\r\n\r\nexport {Button, buttonVariants};\r\n"],"names":["variantStyles","styles","sizeStyles","buttonVariants","variant","size","className","cn","isIntrinsicButtonElement","renderProp","React","createNonNativeInteractionProps","disabled","undefined","event","Button","props","ref","render","asChild","children","otherProps","state","composedClassName","shouldRenderNativeButton","typeProps","interactionProps","useRender","mergeProps"],"mappings":";;;;;;AASA,MAAMA,gBAA+C;IACnD,SAASC,aAAAA,CAAAA,UAAc;IACvB,aAAaA,cAAAA,WAAkB;IAC/B,SAASA,cAAAA,OAAc;IACvB,WAAWA,cAAAA,SAAgB;IAC3B,OAAOA,cAAAA,KAAY;IACnB,MAAMA,cAAAA,IAAW;AACnB;AAEA,MAAMC,aAAyC;IAC7C,SAASD,cAAAA,WAAkB;IAC3B,IAAIA,cAAAA,MAAa;IACjB,IAAIA,cAAAA,MAAa;IACjB,MAAMA,cAAAA,QAAe;AACvB;AAiEA,SAASE,eAAe,EAACC,UAAU,SAAS,EAAEC,OAAO,SAAS,EAAEC,SAAS,EAAiC,GAAG,CAAC,CAAC;IAC7G,OAAOC,GAAGN,cAAAA,MAAa,EAAED,aAAa,CAACI,QAAQ,EAAEF,UAAU,CAACG,KAAK,EAAEC;AACrE;AAEA,SAASE,yBAAyBC,UAAiC;IACjE,OAAO,WAAP,GAAOC,wBAAAA,cAAoB,CAACD,eAAe,AAA2B,YAA3B,OAAOA,WAAW,IAAI,IAAiBA,AAAoB,aAApBA,WAAW,IAAI;AACnG;AAEA,SAASE,gCAAgCC,QAAiB;IACxD,OAAO;QACL,iBAAiBA,YAAYC;QAC7B,MAAM;QACN,UAAUD,WAAW,KAAKC;QAC1B,SAAQC,KAAK;YACX,IAAI,CAACF,UACH;YAGFE,MAAM,cAAc;YAEpB,IAAI,0BAA0BA,SAAS,AAAsC,cAAtC,OAAOA,MAAM,oBAAoB,EACtEA,MAAM,oBAAoB;QAE9B;QACA,WAAUA,KAAK;YACb,IAAI,CAACF,YAAaE,AAAc,YAAdA,MAAM,GAAG,IAAgBA,AAAc,QAAdA,MAAM,GAAG,EAClD;YAGFA,MAAM,cAAc;YAEpB,IAAI,0BAA0BA,SAAS,AAAsC,cAAtC,OAAOA,MAAM,oBAAoB,EACtEA,MAAM,oBAAoB;QAE9B;IACF;AACF;AAoBA,MAAMC,SAAS,WAAHA,GAAGL,wBAAAA,UAAgB,CAAkC,CAACM,OAA+BC;IAC/F,MAAM,EAACC,MAAM,EAAEC,UAAU,KAAK,EAAEf,UAAU,SAAS,EAAEC,OAAO,SAAS,EAAEO,WAAW,KAAK,EAAEN,SAAS,EAAEc,QAAQ,EAAE,GAAGC,YAAW,GAAGL;IAE/H,MAAMM,QAAsB;QAAClB;QAASC;QAAMO;IAAQ;IACpD,MAAMW,oBAAoBpB,eAAe;QAACC;QAASC;QAAMC;IAAS;IAClE,MAAMG,aAAaU,WAAW,WAAXA,GAAWT,wBAAAA,cAAoB,CAACU,YAAYA,WAAWF;IAC1E,MAAMM,2BAA2B,CAACf,cAAcD,yBAAyBC;IACzE,MAAMgB,YAAyED,2BAA2B;QAAC,MAAM;IAAQ,IAAI,CAAC;IAC9H,MAAME,mBAAmBF,2BAA2B;QAACZ;IAAQ,IAAID,gCAAgCC;IAEjG,OAAOe,UAA2C;QAChD,gBAAgB;QAChBV;QACA,QAAQR;QACRa;QACA,OAAOM,WAAqB;YAAC,WAAWL;QAAiB,GAAGE,WAAWJ,YAAYK,kBAAkB;YACnG,UAAUjB,aAAaI,SAAYO;QACrC;IACF;AACF;AACAL,OAAO,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/components/ui/button.module.css","webpack://./src/components/ui/button.module.css"],"names":[],"mappings":"AAAA;ECCE,kCAAkC;EAClC,sBAAsB;EACtB,eAAe;EACf,4BAA4B;EAC5B,mBAAmB;EACnB,sBAAsB;EACtB,kKAAkK;EAClK,yBAAyB;EACzB,iBAAiB;EACjB,mBAAmB;EACnB,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,gBAAgB;EAChB,gBAAgB;EAChB,oBAAoB;;EDhBwa;ICmB1b,iCAAiC;IACjC,oBAAoB;EACtB;;EDrBigB;ICwB/f,WAAW;IACX,oBAAoB;EACtB;;ED1B4jB;IC6B1jB,oBAAoB;IACpB,cAAc;IACd,WAAW;IACX,YAAY;EACd;AACF;;ADlC8nB;ECqC5nB,mCAAmC;EACnC,mCAAmC;EACnC,+BAA+B;;EDvCmtB;IAAqB;MC2CnwB,uEAAuE;IACzE;EACF;AACF;;AD9C+2B;ECiD72B,uCAAuC;EACvC,2BAA2B;EAC3B,+BAA+B;;EDnDo8B;IAAqB;MCuDp/B,2EAA2E;IAC7E;EACF;AACF;;AD1DomC;EC6DlmC,sCAAsC;EACtC,kCAAkC;EAClC,2BAA2B;EAC3B,+BAA+B;;EDhEstC;IAAqB;MCoEtwC,kCAAkC;MAClC,kCAAkC;IACpC;EACF;AACF;;ADxE+2C;EC2E72C,qCAAqC;EACrC,qCAAqC;EACrC,+BAA+B;;ED7E08C;IAAqB;MCiF1/C,yEAAyE;IAC3E;EACF;AACF;;ADpFwmD;ECuFtmD,2BAA2B;EAC3B,uBAAuB;;EDxF8oD;IAAqB;MC4FtrD,kCAAkC;MAClC,kCAAkC;IACpC;EACF;AACF;;ADhG+xD;ECmG7xD,2BAA2B;EAC3B,0BAA0B;EAC1B,uBAAuB;;EDrG81D;IAAqB;MCyGt4D,0BAA0B;IAC5B;EACF;AACF;;AD5Gq8D;EC+Gn8D,8BAA8B;EAC9B,4CAA4C;AAC9C;;ADjH4hE;ECoH1hE,kCAAkC;EAClC,4BAA4B;EAC5B,yBAAyB;EACzB,4CAA4C;AAC9C;;ADxHuqE;EC2HrqE,kCAAkC;EAClC,4BAA4B;EAC5B,yBAAyB;EACzB,4CAA4C;AAC9C;;AD/HkzE;ECkIhzE,8BAA8B;EAC9B,6BAA6B;EAC7B,UAAU;AACZ","sourcesContent":[".button{align-items:center;border:none;border-radius:var(--ac-radius-md);box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:var(--ac-text-xs);font-weight:500;gap:var(--ac-space-2);justify-content:center;line-height:1.6;outline:none;transition:background-color var(--ac-transition-fast),color var(--ac-transition-fast),border-color var(--ac-transition-fast),box-shadow var(--ac-transition-fast);user-select:none;white-space:nowrap;&:focus-visible{outline:2px solid var(--ac-ring);outline-offset:-1px}&:disabled,&[data-disabled]{opacity:.5;pointer-events:none}& svg{flex-shrink:0;height:1rem;pointer-events:none;width:1rem}}.default{background-color:var(--ac-primary);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-primary-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:color-mix(in oklch,var(--ac-primary),transparent 10%)}}}.destructive{background-color:var(--ac-destructive);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-background);@media (hover:hover){&:hover:not([data-disabled]){background-color:color-mix(in oklch,var(--ac-destructive),transparent 10%)}}}.outline{background-color:var(--ac-background);border:1px solid var(--ac-border);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:var(--ac-accent);color:var(--ac-accent-foreground)}}}.secondary{background-color:var(--ac-secondary);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);color:var(--ac-secondary-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:color-mix(in oklch,var(--ac-secondary),transparent 20%)}}}.ghost{background-color:transparent;color:var(--ac-foreground);@media (hover:hover){&:hover:not([data-disabled]){background-color:var(--ac-accent);color:var(--ac-accent-foreground)}}}.link{background-color:transparent;color:var(--ac-foreground);text-underline-offset:4px;@media (hover:hover){&:hover:not([data-disabled]){text-decoration:underline}}}.sizeDefault{height:var(--ac-size-default);padding:var(--ac-space-1) var(--ac-space-3)}.sizeSm{border-radius:var(--ac-radius-sm);font-size:var(--ac-text-xs);height:var(--ac-size-md);padding:var(--ac-space-1) var(--ac-space-2)}.sizeLg{border-radius:var(--ac-radius-md);font-size:var(--ac-text-sm);height:var(--ac-size-lg);padding:var(--ac-space-1) var(--ac-space-4)}.sizeIcon{height:var(--ac-size-default);padding:0;width:var(--ac-size-default)}",".button {\n border-radius: var(--ac-radius-md);\n box-sizing: border-box;\n cursor: pointer;\n font-size: var(--ac-text-xs);\n align-items: center;\n gap: var(--ac-space-2);\n transition: background-color var(--ac-transition-fast),color var(--ac-transition-fast),border-color var(--ac-transition-fast),box-shadow var(--ac-transition-fast);\n -webkit-user-select: none;\n user-select: none;\n white-space: nowrap;\n border: none;\n outline: none;\n justify-content: center;\n font-weight: 500;\n line-height: 1.6;\n display: inline-flex;\n\n &:focus-visible {\n outline: 2px solid var(--ac-ring);\n outline-offset: -1px;\n }\n\n &:disabled, &[data-disabled] {\n opacity: .5;\n pointer-events: none;\n }\n\n & svg {\n pointer-events: none;\n flex-shrink: 0;\n width: 1rem;\n height: 1rem;\n }\n}\n\n.default {\n background-color: var(--ac-primary);\n color: var(--ac-primary-foreground);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: color-mix(in oklch,var(--ac-primary),transparent 10%);\n }\n }\n}\n\n.destructive {\n background-color: var(--ac-destructive);\n color: var(--ac-background);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: color-mix(in oklch,var(--ac-destructive),transparent 10%);\n }\n }\n}\n\n.outline {\n background-color: var(--ac-background);\n border: 1px solid var(--ac-border);\n color: var(--ac-foreground);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n }\n }\n}\n\n.secondary {\n background-color: var(--ac-secondary);\n color: var(--ac-secondary-foreground);\n box-shadow: 0 1px 2px #0000000d;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: color-mix(in oklch,var(--ac-secondary),transparent 20%);\n }\n }\n}\n\n.ghost {\n color: var(--ac-foreground);\n background-color: #0000;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n }\n }\n}\n\n.link {\n color: var(--ac-foreground);\n text-underline-offset: 4px;\n background-color: #0000;\n\n @media (hover: hover) {\n &:hover:not([data-disabled]) {\n text-decoration: underline;\n }\n }\n}\n\n.sizeDefault {\n height: var(--ac-size-default);\n padding: var(--ac-space-1) var(--ac-space-3);\n}\n\n.sizeSm {\n border-radius: var(--ac-radius-sm);\n font-size: var(--ac-text-xs);\n height: var(--ac-size-md);\n padding: var(--ac-space-1) var(--ac-space-2);\n}\n\n.sizeLg {\n border-radius: var(--ac-radius-md);\n font-size: var(--ac-text-sm);\n height: var(--ac-size-lg);\n padding: var(--ac-space-1) var(--ac-space-4);\n}\n\n.sizeIcon {\n height: var(--ac-size-default);\n width: var(--ac-size-default);\n padding: 0;\n}\n"],"sourceRoot":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import type { DateRange, DayPickerProps, Matcher } from "react-day-picker";
|
|
2
3
|
import { DayPicker } from "react-day-picker";
|
|
3
4
|
import { Button } from "./button";
|
|
4
5
|
/**
|
|
@@ -33,11 +34,8 @@ type CalendarProps = React.ComponentProps<typeof DayPicker> & {
|
|
|
33
34
|
*
|
|
34
35
|
* @see {@link https://daypicker.dev | React Day Picker Docs}
|
|
35
36
|
*/
|
|
36
|
-
declare
|
|
37
|
-
|
|
38
|
-
var displayName: string;
|
|
39
|
-
}
|
|
40
|
-
export type { DateRange, DayPickerProps, Matcher } from "react-day-picker";
|
|
37
|
+
declare const Calendar: React.ForwardRefExoticComponent<CalendarProps & React.RefAttributes<HTMLDivElement>>;
|
|
38
|
+
export type { DateRange, DayPickerProps, Matcher };
|
|
41
39
|
export { Calendar };
|
|
42
40
|
export type { CalendarProps };
|
|
43
41
|
//# sourceMappingURL=calendar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/calendar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAY,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAU9C;;GAEG;AACH,KAAK,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAC5D;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAChE,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/calendar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAY,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAU9C;;GAEG;AACH,KAAK,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAC5D;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAChE,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,QAAA,MAAM,QAAQ,sFAmGZ,CAAC;AAuCH,YAAY,EAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAC,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,CAAC;AAClB,YAAY,EAAC,aAAa,EAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
|
|
4
|
-
import { useEffect, useRef } from "react";
|
|
5
4
|
import { DayPicker } from "react-day-picker";
|
|
6
5
|
import { Button } from "./button.js";
|
|
7
6
|
import { cn } from "../../lib/utilities.js";
|
|
8
7
|
import button_module from "./button.module.js";
|
|
9
8
|
import calendar_module from "./calendar.module.js";
|
|
9
|
+
import * as __rspack_external_react from "react";
|
|
10
10
|
const calendarButtonVariantStyles = {
|
|
11
11
|
default: button_module["default"],
|
|
12
12
|
destructive: button_module.destructive,
|
|
@@ -15,14 +15,14 @@ const calendarButtonVariantStyles = {
|
|
|
15
15
|
outline: button_module.outline,
|
|
16
16
|
secondary: button_module.secondary
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
const calendar_Calendar = /*#__PURE__*/ __rspack_external_react.forwardRef(function({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }, forwardedRef) {
|
|
19
19
|
return /*#__PURE__*/ jsx(DayPicker, {
|
|
20
20
|
showOutsideDays: showOutsideDays,
|
|
21
21
|
className: cn(calendar_module.container, className),
|
|
22
22
|
captionLayout: captionLayout,
|
|
23
23
|
formatters: {
|
|
24
24
|
formatMonthDropdown: (date)=>{
|
|
25
|
-
const locale = props
|
|
25
|
+
const { locale } = props;
|
|
26
26
|
return date.toLocaleString(locale?.code ?? "default", {
|
|
27
27
|
month: "short"
|
|
28
28
|
});
|
|
@@ -60,7 +60,7 @@ function Calendar({ className, classNames, showOutsideDays = true, captionLayout
|
|
|
60
60
|
components: {
|
|
61
61
|
Root: ({ className: rootClassName, rootRef, ...rootProps })=>/*#__PURE__*/ jsx("div", {
|
|
62
62
|
"data-slot": "calendar",
|
|
63
|
-
ref: rootRef,
|
|
63
|
+
ref: rootRef ?? forwardedRef,
|
|
64
64
|
className: cn(calendar_module.calendarRoot, rootClassName),
|
|
65
65
|
...rootProps
|
|
66
66
|
}),
|
|
@@ -84,7 +84,7 @@ function Calendar({ className, classNames, showOutsideDays = true, captionLayout
|
|
|
84
84
|
},
|
|
85
85
|
...props
|
|
86
86
|
});
|
|
87
|
-
}
|
|
87
|
+
});
|
|
88
88
|
function CalendarWeekNumber({ week, children, ...tdProps }) {
|
|
89
89
|
return /*#__PURE__*/ jsx("td", {
|
|
90
90
|
...tdProps,
|
|
@@ -95,8 +95,8 @@ function CalendarWeekNumber({ week, children, ...tdProps }) {
|
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
function CalendarDayButton({ className, day, modifiers, ...props }) {
|
|
98
|
-
const ref = useRef(null);
|
|
99
|
-
useEffect(()=>{
|
|
98
|
+
const ref = __rspack_external_react.useRef(null);
|
|
99
|
+
__rspack_external_react.useEffect(()=>{
|
|
100
100
|
if (modifiers["focused"]) ref.current?.focus();
|
|
101
101
|
}, [
|
|
102
102
|
modifiers
|
|
@@ -114,7 +114,7 @@ function CalendarDayButton({ className, day, modifiers, ...props }) {
|
|
|
114
114
|
...props
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
|
-
|
|
118
|
-
export { Calendar };
|
|
117
|
+
calendar_Calendar.displayName = "Calendar";
|
|
118
|
+
export { calendar_Calendar as Calendar };
|
|
119
119
|
|
|
120
120
|
//# sourceMappingURL=calendar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/ui/calendar.js","sources":["../../../src/components/ui/calendar.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/* eslint-disable complexity, react/no-unstable-nested-components, react-x/no-nested-component-definitions, react/prop-types */\r\n\r\nimport {ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon} from \"lucide-react\";\r\nimport * as React from \"react\";\r\nimport {DayButton, DayPicker} from \"react-day-picker\";\r\n\r\nimport {Button} from \"@/components/ui/button\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport buttonStyles from \"./button.module.css\";\r\nimport styles from \"./calendar.module.css\";\r\n\r\ntype CalendarButtonVariant = NonNullable<React.ComponentProps<typeof Button>[\"variant\"]>;\r\ntype DayPickerComponents = NonNullable<React.ComponentProps<typeof DayPicker>[\"components\"]>;\r\ntype CalendarWeekNumberProps = React.ComponentProps<NonNullable<DayPickerComponents[\"WeekNumber\"]>>;\r\n\r\n/**\r\n * Props for the shared calendar component.\r\n */\r\ntype CalendarProps = React.ComponentProps<typeof DayPicker> & {\r\n /**\r\n * Visual variant applied to the navigation buttons.\r\n * @default \"ghost\"\r\n */\r\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\r\n};\r\n\r\nconst calendarButtonVariantStyles: Record<CalendarButtonVariant, string> = {\r\n default: buttonStyles.default,\r\n destructive: buttonStyles.destructive,\r\n ghost: buttonStyles.ghost,\r\n link: buttonStyles.link,\r\n outline: buttonStyles.outline,\r\n secondary: buttonStyles.secondary,\r\n};\r\n\r\n/**\r\n * Renders a styled calendar built on top of `react-day-picker`.\r\n *\r\n * @remarks\r\n * - Renders the `DayPicker` calendar root\r\n * - Built on `react-day-picker` with shared button styling from the component library\r\n * - Preserves the V1 public API while aligning visuals with the current design system\r\n * - Overrides the default DayPicker `Root`, `Chevron`, `DayButton`, and `WeekNumber`\r\n * components while still allowing consumers to replace them through the `components` prop\r\n * - Override the default chevron icons with `components={{Chevron: YourChevronComponent}}`\r\n *\r\n * @example\r\n * ```tsx\r\n * <Calendar\r\n * mode='single'\r\n * selected={new Date()}\r\n * onSelect={(date) => console.log(date)}\r\n * />\r\n * ```\r\n *\r\n * @see {@link https://daypicker.dev | React Day Picker Docs}\r\n */\r\nfunction Calendar({\r\n className,\r\n classNames,\r\n showOutsideDays = true,\r\n captionLayout = \"label\",\r\n buttonVariant = \"ghost\",\r\n formatters,\r\n components,\r\n ...props\r\n}: Readonly<CalendarProps>): React.JSX.Element {\r\n return (\r\n <DayPicker\r\n showOutsideDays={showOutsideDays}\r\n className={cn(styles.container, className)}\r\n captionLayout={captionLayout}\r\n formatters={{\r\n formatMonthDropdown: (date) => {\r\n const locale = props.locale;\r\n\r\n return date.toLocaleString(locale?.code ?? \"default\", {month: \"short\"});\r\n },\r\n ...formatters,\r\n }}\r\n classNames={{\r\n ...classNames,\r\n root: cn(styles.root, classNames?.root),\r\n months: cn(styles.months, classNames?.months),\r\n month: cn(styles.month, classNames?.month),\r\n nav: cn(styles.nav, classNames?.nav),\r\n button_previous: cn(\r\n buttonStyles.button,\r\n buttonStyles.sizeIcon,\r\n calendarButtonVariantStyles[buttonVariant],\r\n styles.navButton,\r\n classNames?.button_previous,\r\n ),\r\n button_next: cn(\r\n buttonStyles.button,\r\n buttonStyles.sizeIcon,\r\n calendarButtonVariantStyles[buttonVariant],\r\n styles.navButton,\r\n classNames?.button_next,\r\n ),\r\n month_caption: cn(styles.monthCaption, classNames?.month_caption),\r\n dropdowns: cn(styles.dropdowns, classNames?.dropdowns),\r\n dropdown_root: cn(styles.dropdownRoot, classNames?.dropdown_root),\r\n dropdown: cn(styles.dropdown, classNames?.dropdown),\r\n caption_label: cn(styles.captionLabel, captionLayout !== \"label\" && styles.captionLabelDropdown, classNames?.caption_label),\r\n month_grid: cn(styles.monthGrid, classNames?.month_grid),\r\n weekdays: cn(styles.weekdays, classNames?.weekdays),\r\n weekday: cn(styles.weekday, classNames?.weekday),\r\n week: cn(styles.week, classNames?.week),\r\n week_number_header: cn(styles.weekNumberHeader, classNames?.week_number_header),\r\n week_number: cn(styles.weekNumber, classNames?.week_number),\r\n day: cn(styles.day, classNames?.day),\r\n range_start: cn(styles.rangeStart, classNames?.range_start),\r\n range_middle: cn(styles.rangeMiddle, classNames?.range_middle),\r\n range_end: cn(styles.rangeEnd, classNames?.range_end),\r\n today: cn(styles.today, classNames?.today),\r\n outside: cn(styles.outside, classNames?.outside),\r\n disabled: classNames?.disabled,\r\n hidden: cn(styles.hidden, classNames?.hidden),\r\n }}\r\n components={{\r\n Root: ({className: rootClassName, rootRef, ...rootProps}) => (\r\n <div\r\n data-slot='calendar'\r\n ref={rootRef}\r\n className={cn(styles.calendarRoot, rootClassName)}\r\n {...rootProps}\r\n />\r\n ),\r\n Chevron: ({className: chevronClassName, orientation, ...chevronProps}) => {\r\n if (orientation === \"left\") {\r\n return (\r\n <ChevronLeftIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n }\r\n\r\n if (orientation === \"right\") {\r\n return (\r\n <ChevronRightIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <ChevronDownIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n },\r\n DayButton: CalendarDayButton,\r\n WeekNumber: CalendarWeekNumber,\r\n ...components,\r\n }}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction CalendarWeekNumber({week, children, ...tdProps}: Readonly<CalendarWeekNumberProps>): React.JSX.Element {\r\n return (\r\n <td {...tdProps}>\r\n <div className={styles.weekNumberCell}>{children}</div>\r\n </td>\r\n );\r\n}\r\n\r\nfunction CalendarDayButton({className, day, modifiers, ...props}: Readonly<React.ComponentProps<typeof DayButton>>): React.JSX.Element {\r\n const ref = React.useRef<HTMLButtonElement>(null);\r\n\r\n React.useEffect(() => {\r\n if (modifiers[\"focused\"]) {\r\n ref.current?.focus();\r\n }\r\n }, [modifiers]);\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant='ghost'\r\n size='icon'\r\n data-day={day.date.toLocaleDateString()}\r\n data-selected-single={Boolean(\r\n modifiers[\"selected\"] && !modifiers[\"range_start\"] && !modifiers[\"range_end\"] && !modifiers[\"range_middle\"],\r\n )}\r\n data-range-start={Boolean(modifiers[\"range_start\"])}\r\n data-range-end={Boolean(modifiers[\"range_end\"])}\r\n data-range-middle={Boolean(modifiers[\"range_middle\"])}\r\n className={cn(styles.dayButton, className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nCalendar.displayName = \"Calendar\";\r\n\r\nexport type {DateRange, DayPickerProps, Matcher} from \"react-day-picker\";\r\nexport {Calendar};\r\nexport type {CalendarProps};\r\n"],"names":["calendarButtonVariantStyles","buttonStyles","Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","DayPicker","cn","styles","date","locale","rootClassName","rootRef","rootProps","chevronClassName","orientation","chevronProps","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","CalendarWeekNumber","week","children","tdProps","day","modifiers","ref","React","Button","Boolean"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/ui/calendar.js","sources":["../../../src/components/ui/calendar.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/* eslint-disable complexity, react/no-unstable-nested-components, react-x/no-nested-component-definitions, react/prop-types */\r\n\r\nimport {ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon} from \"lucide-react\";\r\nimport * as React from \"react\";\r\nimport type {DateRange, DayPickerProps, Matcher} from \"react-day-picker\";\r\nimport {DayButton, DayPicker} from \"react-day-picker\";\r\n\r\nimport {Button} from \"@/components/ui/button\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport buttonStyles from \"./button.module.css\";\r\nimport styles from \"./calendar.module.css\";\r\n\r\ntype CalendarButtonVariant = NonNullable<React.ComponentProps<typeof Button>[\"variant\"]>;\r\ntype DayPickerComponents = NonNullable<React.ComponentProps<typeof DayPicker>[\"components\"]>;\r\ntype CalendarWeekNumberProps = React.ComponentProps<NonNullable<DayPickerComponents[\"WeekNumber\"]>>;\r\n\r\n/**\r\n * Props for the shared calendar component.\r\n */\r\ntype CalendarProps = React.ComponentProps<typeof DayPicker> & {\r\n /**\r\n * Visual variant applied to the navigation buttons.\r\n * @default \"ghost\"\r\n */\r\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\r\n};\r\n\r\nconst calendarButtonVariantStyles: Record<CalendarButtonVariant, string> = {\r\n default: buttonStyles.default,\r\n destructive: buttonStyles.destructive,\r\n ghost: buttonStyles.ghost,\r\n link: buttonStyles.link,\r\n outline: buttonStyles.outline,\r\n secondary: buttonStyles.secondary,\r\n};\r\n\r\n/**\r\n * Renders a styled calendar built on top of `react-day-picker`.\r\n *\r\n * @remarks\r\n * - Renders the `DayPicker` calendar root\r\n * - Built on `react-day-picker` with shared button styling from the component library\r\n * - Preserves the V1 public API while aligning visuals with the current design system\r\n * - Overrides the default DayPicker `Root`, `Chevron`, `DayButton`, and `WeekNumber`\r\n * components while still allowing consumers to replace them through the `components` prop\r\n * - Override the default chevron icons with `components={{Chevron: YourChevronComponent}}`\r\n *\r\n * @example\r\n * ```tsx\r\n * <Calendar\r\n * mode='single'\r\n * selected={new Date()}\r\n * onSelect={(date) => console.log(date)}\r\n * />\r\n * ```\r\n *\r\n * @see {@link https://daypicker.dev | React Day Picker Docs}\r\n */\r\nconst Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(function Calendar(\r\n {className, classNames, showOutsideDays = true, captionLayout = \"label\", buttonVariant = \"ghost\", formatters, components, ...props},\r\n forwardedRef,\r\n) {\r\n return (\r\n <DayPicker\r\n showOutsideDays={showOutsideDays}\r\n className={cn(styles.container, className)}\r\n captionLayout={captionLayout}\r\n formatters={{\r\n formatMonthDropdown: (date) => {\r\n const {locale} = props;\r\n\r\n return date.toLocaleString(locale?.code ?? \"default\", {month: \"short\"});\r\n },\r\n ...formatters,\r\n }}\r\n classNames={{\r\n ...classNames,\r\n root: cn(styles.root, classNames?.root),\r\n months: cn(styles.months, classNames?.months),\r\n month: cn(styles.month, classNames?.month),\r\n nav: cn(styles.nav, classNames?.nav),\r\n button_previous: cn(\r\n buttonStyles.button,\r\n buttonStyles.sizeIcon,\r\n calendarButtonVariantStyles[buttonVariant],\r\n styles.navButton,\r\n classNames?.button_previous,\r\n ),\r\n button_next: cn(\r\n buttonStyles.button,\r\n buttonStyles.sizeIcon,\r\n calendarButtonVariantStyles[buttonVariant],\r\n styles.navButton,\r\n classNames?.button_next,\r\n ),\r\n month_caption: cn(styles.monthCaption, classNames?.month_caption),\r\n dropdowns: cn(styles.dropdowns, classNames?.dropdowns),\r\n dropdown_root: cn(styles.dropdownRoot, classNames?.dropdown_root),\r\n dropdown: cn(styles.dropdown, classNames?.dropdown),\r\n caption_label: cn(styles.captionLabel, captionLayout !== \"label\" && styles.captionLabelDropdown, classNames?.caption_label),\r\n month_grid: cn(styles.monthGrid, classNames?.month_grid),\r\n weekdays: cn(styles.weekdays, classNames?.weekdays),\r\n weekday: cn(styles.weekday, classNames?.weekday),\r\n week: cn(styles.week, classNames?.week),\r\n week_number_header: cn(styles.weekNumberHeader, classNames?.week_number_header),\r\n week_number: cn(styles.weekNumber, classNames?.week_number),\r\n day: cn(styles.day, classNames?.day),\r\n range_start: cn(styles.rangeStart, classNames?.range_start),\r\n range_middle: cn(styles.rangeMiddle, classNames?.range_middle),\r\n range_end: cn(styles.rangeEnd, classNames?.range_end),\r\n today: cn(styles.today, classNames?.today),\r\n outside: cn(styles.outside, classNames?.outside),\r\n disabled: classNames?.disabled,\r\n hidden: cn(styles.hidden, classNames?.hidden),\r\n }}\r\n components={{\r\n Root: ({className: rootClassName, rootRef, ...rootProps}) => (\r\n <div\r\n data-slot='calendar'\r\n ref={rootRef ?? forwardedRef}\r\n className={cn(styles.calendarRoot, rootClassName)}\r\n {...rootProps}\r\n />\r\n ),\r\n Chevron: ({className: chevronClassName, orientation, ...chevronProps}) => {\r\n if (orientation === \"left\") {\r\n return (\r\n <ChevronLeftIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n }\r\n\r\n if (orientation === \"right\") {\r\n return (\r\n <ChevronRightIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <ChevronDownIcon\r\n className={cn(styles.chevron, chevronClassName)}\r\n {...chevronProps}\r\n />\r\n );\r\n },\r\n DayButton: CalendarDayButton,\r\n WeekNumber: CalendarWeekNumber,\r\n ...components,\r\n }}\r\n {...props}\r\n />\r\n );\r\n});\r\n\r\nfunction CalendarWeekNumber({week, children, ...tdProps}: Readonly<CalendarWeekNumberProps>): React.JSX.Element {\r\n return (\r\n <td {...tdProps}>\r\n <div className={styles.weekNumberCell}>{children}</div>\r\n </td>\r\n );\r\n}\r\n\r\nfunction CalendarDayButton({className, day, modifiers, ...props}: Readonly<React.ComponentProps<typeof DayButton>>): React.JSX.Element {\r\n const ref = React.useRef<HTMLButtonElement>(null);\r\n\r\n React.useEffect(() => {\r\n if (modifiers[\"focused\"]) {\r\n ref.current?.focus();\r\n }\r\n }, [modifiers]);\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant='ghost'\r\n size='icon'\r\n data-day={day.date.toLocaleDateString()}\r\n data-selected-single={Boolean(\r\n modifiers[\"selected\"] && !modifiers[\"range_start\"] && !modifiers[\"range_end\"] && !modifiers[\"range_middle\"],\r\n )}\r\n data-range-start={Boolean(modifiers[\"range_start\"])}\r\n data-range-end={Boolean(modifiers[\"range_end\"])}\r\n data-range-middle={Boolean(modifiers[\"range_middle\"])}\r\n className={cn(styles.dayButton, className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nCalendar.displayName = \"Calendar\";\r\n\r\nexport type {DateRange, DayPickerProps, Matcher};\r\nexport {Calendar};\r\nexport type {CalendarProps};\r\n"],"names":["calendarButtonVariantStyles","buttonStyles","Calendar","React","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","forwardedRef","DayPicker","cn","styles","date","locale","rootClassName","rootRef","rootProps","chevronClassName","orientation","chevronProps","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","CalendarWeekNumber","week","children","tdProps","day","modifiers","ref","Button","Boolean"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/calendar.module.css","webpack://./src/components/ui/calendar.module.css"],"names":[],"mappings":"AADA;ECEE,sCAAsC;EACtC,sCAAsC;EACtC,kCAAkC;EAClC,2BAA2B;EAC3B,0BAA0B;AAC5B;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,sBAAsB;EACtB,sBAAsB;EACtB,aAAa;EACb,kBAAkB;AACpB;;AAEA;EACE;IACE,mBAAmB;EACrB;AACF;;AAEA;EACE,sBAAsB;EACtB,sBAAsB;AACxB;;AAEA;EACE,WAAW;EACX,aAAa;AACf;;AAEA;EACE,mBAAmB;EACnB,sBAAsB;EACtB,eAAe;EACf,8BAA8B;EAC9B,kBAAkB;EAClB,MAAM;AACR;;AAEA;EACE,2BAA2B;EAC3B,0BAA0B;EAC1B,UAAU;;EAEV;IACE,WAAW;EACb;AACF;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,2BAA2B;EAC3B,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,aAAa;AACf;;AAEA;EACE,4BAA4B;EAC5B,sBAAsB;EACtB,gBAAgB;AAClB;;AAEA;EACE,sCAAsC;EACtC,kCAAkC;EAClC,kCAAkC;EAClC,kBAAkB;EAClB,+BAA+B;;EAE/B;IACE,4BAA4B;IAC5B,qEAAqE;IACrE,iBAAiB;EACnB;AACF;;AAEA;EACE,UAAU;EACV,kBAAkB;EAClB,QAAQ;AACV;;AAEA;EACE,4BAA4B;EAC5B,yBAAyB;EACzB,iBAAiB;EACjB,gBAAgB;AAClB;;AAEA;EACE,kCAAkC;EAClC,mBAAmB;EACnB,sBAAsB;EACtB,YAAY;EACZ,iCAAiC;EACjC,aAAa;AACf;;AAEA;EACE,yBAAyB;EACzB,WAAW;AACb;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,kCAAkC;EAClC,iCAAiC;EACjC,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;EACjB,OAAO;EACP,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,6BAA6B;EAC7B,WAAW;EACX,aAAa;AACf;;AAEA;EACE,iCAAiC;EACjC,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;EACjB,0BAA0B;EAC1B,gBAAgB;AAClB;;AAEA;EACE,2BAA2B;EAC3B,kBAAkB;EAClB,0BAA0B;EAC1B,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;AACf;;AAEA;EACE,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;EACjB,WAAW;EACX,YAAY;EACZ,UAAU;EACV,kBAAkB;AACpB;;AAEA;EACE,iCAAiC;EACjC,8CAA8C;EAC9C,2CAA2C;AAC7C;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,+CAA+C;EAC/C,4CAA4C;AAC9C;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,kCAAkC;EAClC,2BAA2B;AAC7B;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,eAAe;EACf,sBAAsB;EACtB,YAAY;EACZ,8BAA8B;EAC9B,UAAU;EACV,sBAAsB;EACtB,WAAW;EACX,gBAAgB;EAChB,cAAc;EACd,aAAa;EACb,kBAAkB;;EAElB;IACE,qEAAqE;IACrE,oBAAoB;IACpB,UAAU;EACZ;;EAEA;IACE,sCAAsC;IACtC,2BAA2B;EAC7B;;EAEA;IACE,iCAAiC;IACjC,2BAA2B;IAC3B,gBAAgB;EAClB;;EAEA;IACE,kCAAkC;EACpC;;EAEA;IACE,4BAA4B;IAC5B,WAAW;EACb;AACF","sourcesContent":[".container{--ac-cell-size:var(--ac-size-default);background-color:var(--ac-background);border-radius:var(--ac-radius-lg);color:var(--ac-foreground);padding:var(--ac-space-3)}.calendarRoot,.container,.root{width:fit-content}.months{display:flex;flex-direction:column;gap:var(--ac-space-4);position:relative}@media (min-width:768px){.months{flex-direction:row}}.month{flex-direction:column;gap:var(--ac-space-4)}.month,.nav{display:flex;width:100%}.nav{align-items:center;gap:var(--ac-space-1);inset-inline:0;justify-content:space-between;position:absolute;top:0}.navButton{height:var(--ac-cell-size);padding:0;width:var(--ac-cell-size);&[aria-disabled=true],&[disabled]{opacity:.5}}.monthCaption{padding-inline:var(--ac-cell-size)}.dropdowns,.monthCaption{align-items:center;display:flex;height:var(--ac-cell-size);justify-content:center;width:100%}.dropdowns{font-size:var(--ac-text-sm);font-weight:500;gap:var(--ac-space-2)}.dropdownRoot{background-color:var(--ac-background);border:1px solid var(--ac-border);border-radius:var(--ac-radius-md);box-shadow:0 1px 2px rgba(0,0,0,.05);position:relative;&:focus-within{border-color:var(--ac-ring);outline:3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);outline-offset:0}}.dropdown{inset:0;opacity:0;position:absolute}.captionLabel{font-size:var(--ac-text-sm);font-weight:500;user-select:none}.captionLabelDropdown{align-items:center;border-radius:var(--ac-radius-md);display:flex;gap:var(--ac-space-1);height:2rem;padding-inline:var(--ac-space-2)}.monthGrid{border-collapse:collapse;width:100%}.weekdays{display:flex}.weekday{border-radius:var(--ac-radius-md);color:var(--ac-muted-foreground);flex:1;font-size:.8rem;font-weight:400;text-align:center;user-select:none}.week{display:flex;margin-top:var(--ac-space-2);width:100%}.weekNumber,.weekNumberHeader{color:var(--ac-muted-foreground);font-size:.8rem;text-align:center;user-select:none;width:var(--ac-cell-size)}.weekNumberCell{align-items:center;display:flex;height:var(--ac-cell-size);justify-content:center;text-align:center;width:var(--ac-cell-size)}.day{height:100%;padding:0;position:relative;text-align:center;user-select:none;width:100%}.rangeStart{background-color:var(--ac-muted);border-bottom-left-radius:var(--ac-radius-md);border-top-left-radius:var(--ac-radius-md)}.rangeMiddle{border-radius:0}.rangeEnd{border-bottom-right-radius:var(--ac-radius-md);border-top-right-radius:var(--ac-radius-md)}.rangeEnd,.today{background-color:var(--ac-muted)}.today{border-radius:var(--ac-radius-md);color:var(--ac-foreground)}.day[data-disabled=true],.outside{color:var(--ac-muted-foreground)}.day[data-disabled=true]{opacity:.5}.hidden{visibility:hidden}.chevron{height:1rem;width:1rem}.dayButton{aspect-ratio:1;display:flex;flex-direction:column;font-weight:400;gap:var(--ac-space-1);height:auto;line-height:1;min-width:var(--ac-cell-size);position:relative;width:100%;z-index:0;&:focus-visible,.day[data-focused=true] &{outline:3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);outline-offset:-1px;z-index:1}&[data-range-end=true],&[data-range-start=true],&[data-selected-single=true]{background-color:var(--ac-foreground);color:var(--ac-background)}&[data-range-middle=true]{background-color:var(--ac-muted);border-radius:0;color:var(--ac-foreground)}&[data-range-end=true],&[data-range-start=true]{border-radius:var(--ac-radius-md)}&>span{font-size:var(--ac-text-xs);opacity:.7}}",".container {\n --ac-cell-size: var(--ac-size-default);\n background-color: var(--ac-background);\n border-radius: var(--ac-radius-lg);\n color: var(--ac-foreground);\n padding: var(--ac-space-3);\n}\n\n.calendarRoot, .container, .root {\n width: fit-content;\n}\n\n.months {\n gap: var(--ac-space-4);\n flex-direction: column;\n display: flex;\n position: relative;\n}\n\n@media (width >= 768px) {\n .months {\n flex-direction: row;\n }\n}\n\n.month {\n gap: var(--ac-space-4);\n flex-direction: column;\n}\n\n.month, .nav {\n width: 100%;\n display: flex;\n}\n\n.nav {\n align-items: center;\n gap: var(--ac-space-1);\n inset-inline: 0;\n justify-content: space-between;\n position: absolute;\n top: 0;\n}\n\n.navButton {\n height: var(--ac-cell-size);\n width: var(--ac-cell-size);\n padding: 0;\n\n &[aria-disabled=\"true\"], &[disabled] {\n opacity: .5;\n }\n}\n\n.monthCaption {\n padding-inline: var(--ac-cell-size);\n}\n\n.dropdowns, .monthCaption {\n height: var(--ac-cell-size);\n justify-content: center;\n align-items: center;\n width: 100%;\n display: flex;\n}\n\n.dropdowns {\n font-size: var(--ac-text-sm);\n gap: var(--ac-space-2);\n font-weight: 500;\n}\n\n.dropdownRoot {\n background-color: var(--ac-background);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-md);\n position: relative;\n box-shadow: 0 1px 2px #0000000d;\n\n &:focus-within {\n border-color: var(--ac-ring);\n outline: 3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);\n outline-offset: 0;\n }\n}\n\n.dropdown {\n opacity: 0;\n position: absolute;\n inset: 0;\n}\n\n.captionLabel {\n font-size: var(--ac-text-sm);\n -webkit-user-select: none;\n user-select: none;\n font-weight: 500;\n}\n\n.captionLabelDropdown {\n border-radius: var(--ac-radius-md);\n align-items: center;\n gap: var(--ac-space-1);\n height: 2rem;\n padding-inline: var(--ac-space-2);\n display: flex;\n}\n\n.monthGrid {\n border-collapse: collapse;\n width: 100%;\n}\n\n.weekdays {\n display: flex;\n}\n\n.weekday {\n border-radius: var(--ac-radius-md);\n color: var(--ac-muted-foreground);\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n flex: 1;\n font-size: .8rem;\n font-weight: 400;\n}\n\n.week {\n margin-top: var(--ac-space-2);\n width: 100%;\n display: flex;\n}\n\n.weekNumber, .weekNumberHeader {\n color: var(--ac-muted-foreground);\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n width: var(--ac-cell-size);\n font-size: .8rem;\n}\n\n.weekNumberCell {\n height: var(--ac-cell-size);\n text-align: center;\n width: var(--ac-cell-size);\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.day {\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n width: 100%;\n height: 100%;\n padding: 0;\n position: relative;\n}\n\n.rangeStart {\n background-color: var(--ac-muted);\n border-bottom-left-radius: var(--ac-radius-md);\n border-top-left-radius: var(--ac-radius-md);\n}\n\n.rangeMiddle {\n border-radius: 0;\n}\n\n.rangeEnd {\n border-bottom-right-radius: var(--ac-radius-md);\n border-top-right-radius: var(--ac-radius-md);\n}\n\n.rangeEnd, .today {\n background-color: var(--ac-muted);\n}\n\n.today {\n border-radius: var(--ac-radius-md);\n color: var(--ac-foreground);\n}\n\n.day[data-disabled=\"true\"], .outside {\n color: var(--ac-muted-foreground);\n}\n\n.day[data-disabled=\"true\"] {\n opacity: .5;\n}\n\n.hidden {\n visibility: hidden;\n}\n\n.chevron {\n width: 1rem;\n height: 1rem;\n}\n\n.dayButton {\n aspect-ratio: 1;\n gap: var(--ac-space-1);\n height: auto;\n min-width: var(--ac-cell-size);\n z-index: 0;\n flex-direction: column;\n width: 100%;\n font-weight: 400;\n line-height: 1;\n display: flex;\n position: relative;\n\n &:focus-visible, .day[data-focused=\"true\"] & {\n outline: 3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);\n outline-offset: -1px;\n z-index: 1;\n }\n\n &[data-range-end=\"true\"], &[data-range-start=\"true\"], &[data-selected-single=\"true\"] {\n background-color: var(--ac-foreground);\n color: var(--ac-background);\n }\n\n &[data-range-middle=\"true\"] {\n background-color: var(--ac-muted);\n color: var(--ac-foreground);\n border-radius: 0;\n }\n\n &[data-range-end=\"true\"], &[data-range-start=\"true\"] {\n border-radius: var(--ac-radius-md);\n }\n\n & > span {\n font-size: var(--ac-text-xs);\n opacity: .7;\n }\n}\n"],"sourceRoot":""}
|
|
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/components/ui/calendar.module.css","webpack://./src/components/ui/calendar.module.css"],"names":[],"mappings":"AAAA;ECCE,sCAAsC;EACtC,sCAAsC;EACtC,kCAAkC;EAClC,2BAA2B;EAC3B,0BAA0B;AAC5B;;ADN8K;ECS5K,kBAAkB;AACpB;;ADV+N;ECa7N,sBAAsB;EACtB,sBAAsB;EACtB,aAAa;EACb,kBAAkB;AACpB;;ADjBkT;EAAyB;ICqBvU,mBAAmB;EACrB;AACF;;ADvBuW;EC0BrW,sBAAsB;EACtB,sBAAsB;AACxB;;AD5B0Z;EC+BxZ,WAAW;EACX,aAAa;AACf;;ADjC8b;ECoC5b,mBAAmB;EACnB,sBAAsB;EACtB,eAAe;EACf,8BAA8B;EAC9B,kBAAkB;EAClB,MAAM;AACR;;AD1CijB;EC6C/iB,2BAA2B;EAC3B,0BAA0B;EAC1B,UAAU;;ED/C+mB;ICkDvnB,WAAW;EACb;AACF;;ADpDyqB;ECuDvqB,mCAAmC;AACrC;;ADxD0tB;EC2DxtB,2BAA2B;EAC3B,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,aAAa;AACf;;ADhEg1B;ECmE90B,4BAA4B;EAC5B,sBAAsB;EACtB,gBAAgB;AAClB;;ADtE65B;ECyE35B,sCAAsC;EACtC,kCAAkC;EAClC,kCAAkC;EAClC,kBAAkB;EAClB,+BAA+B;;ED7E2iC;ICgFxkC,4BAA4B;IAC5B,qEAAqE;IACrE,iBAAiB;EACnB;AACF;;ADpF8sC;ECuF5sC,UAAU;EACV,kBAAkB;EAClB,QAAQ;AACV;;AD1F4vC;EC6F1vC,4BAA4B;EAC5B,yBAAyB;EACzB,iBAAiB;EACjB,gBAAgB;AAClB;;ADjGu0C;ECoGr0C,kCAAkC;EAClC,mBAAmB;EACnB,sBAAsB;EACtB,YAAY;EACZ,iCAAiC;EACjC,aAAa;AACf;;AD1Gk+C;EC6Gh+C,yBAAyB;EACzB,WAAW;AACb;;AD/GihD;ECkH/gD,aAAa;AACf;;ADnHwiD;ECsHtiD,kCAAkC;EAClC,iCAAiC;EACjC,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;EACjB,OAAO;EACP,gBAAgB;EAChB,gBAAgB;AAClB;;AD9H8rD;ECiI5rD,6BAA6B;EAC7B,WAAW;EACX,aAAa;AACf;;ADpIyvD;ECuIvvD,iCAAiC;EACjC,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;EACjB,0BAA0B;EAC1B,gBAAgB;AAClB;;AD7Iq4D;ECgJn4D,2BAA2B;EAC3B,kBAAkB;EAClB,0BAA0B;EAC1B,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;AACf;;ADtJmhE;ECyJjhE,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;EACjB,WAAW;EACX,YAAY;EACZ,UAAU;EACV,kBAAkB;AACpB;;ADhK8mE;ECmK5mE,iCAAiC;EACjC,8CAA8C;EAC9C,2CAA2C;AAC7C;;ADtKovE;ECyKlvE,gBAAgB;AAClB;;AD1KixE;EC6K/wE,+CAA+C;EAC/C,4CAA4C;AAC9C;;AD/Ks3E;ECkLp3E,iCAAiC;AACnC;;ADnLw6E;ECsLt6E,kCAAkC;EAClC,2BAA2B;AAC7B;;ADxL4+E;EC2L1+E,iCAAiC;AACnC;;AD5L+iF;EC+L7iF,WAAW;AACb;;ADhMmlF;ECmMjlF,kBAAkB;AACpB;;ADpM6mF;ECuM3mF,WAAW;EACX,YAAY;AACd;;ADzM6oF;EC4M3oF,eAAe;EACf,sBAAsB;EACtB,YAAY;EACZ,8BAA8B;EAC9B,UAAU;EACV,sBAAsB;EACtB,WAAW;EACX,gBAAgB;EAChB,cAAc;EACd,aAAa;EACb,kBAAkB;;EDtN2zF;ICyN30F,qEAAqE;IACrE,oBAAoB;IACpB,UAAU;EACZ;;ED5N09F;IC+Nx9F,sCAAsC;IACtC,2BAA2B;EAC7B;;EDjOwmG;ICoOtmG,iCAAiC;IACjC,2BAA2B;IAC3B,gBAAgB;EAClB;;EDvO8sG;IC0O5sG,kCAAkC;EACpC;;ED3OgyG;IC8O9xG,4BAA4B;IAC5B,WAAW;EACb;AACF","sourcesContent":[".container{--ac-cell-size:var(--ac-size-default);background-color:var(--ac-background);border-radius:var(--ac-radius-lg);color:var(--ac-foreground);padding:var(--ac-space-3)}.calendarRoot,.container,.root{width:fit-content}.months{display:flex;flex-direction:column;gap:var(--ac-space-4);position:relative}@media (min-width:768px){.months{flex-direction:row}}.month{flex-direction:column;gap:var(--ac-space-4)}.month,.nav{display:flex;width:100%}.nav{align-items:center;gap:var(--ac-space-1);inset-inline:0;justify-content:space-between;position:absolute;top:0}.navButton{height:var(--ac-cell-size);padding:0;width:var(--ac-cell-size);&[aria-disabled=true],&[disabled]{opacity:.5}}.monthCaption{padding-inline:var(--ac-cell-size)}.dropdowns,.monthCaption{align-items:center;display:flex;height:var(--ac-cell-size);justify-content:center;width:100%}.dropdowns{font-size:var(--ac-text-sm);font-weight:500;gap:var(--ac-space-2)}.dropdownRoot{background-color:var(--ac-background);border:1px solid var(--ac-border);border-radius:var(--ac-radius-md);box-shadow:0 1px 2px rgba(0,0,0,.05);position:relative;&:focus-within{border-color:var(--ac-ring);outline:3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);outline-offset:0}}.dropdown{inset:0;opacity:0;position:absolute}.captionLabel{font-size:var(--ac-text-sm);font-weight:500;user-select:none}.captionLabelDropdown{align-items:center;border-radius:var(--ac-radius-md);display:flex;gap:var(--ac-space-1);height:2rem;padding-inline:var(--ac-space-2)}.monthGrid{border-collapse:collapse;width:100%}.weekdays{display:flex}.weekday{border-radius:var(--ac-radius-md);color:var(--ac-muted-foreground);flex:1;font-size:.8rem;font-weight:400;text-align:center;user-select:none}.week{display:flex;margin-top:var(--ac-space-2);width:100%}.weekNumber,.weekNumberHeader{color:var(--ac-muted-foreground);font-size:.8rem;text-align:center;user-select:none;width:var(--ac-cell-size)}.weekNumberCell{align-items:center;display:flex;height:var(--ac-cell-size);justify-content:center;text-align:center;width:var(--ac-cell-size)}.day{height:100%;padding:0;position:relative;text-align:center;user-select:none;width:100%}.rangeStart{background-color:var(--ac-muted);border-bottom-left-radius:var(--ac-radius-md);border-top-left-radius:var(--ac-radius-md)}.rangeMiddle{border-radius:0}.rangeEnd{border-bottom-right-radius:var(--ac-radius-md);border-top-right-radius:var(--ac-radius-md)}.rangeEnd,.today{background-color:var(--ac-muted)}.today{border-radius:var(--ac-radius-md);color:var(--ac-foreground)}.day[data-disabled=true],.outside{color:var(--ac-muted-foreground)}.day[data-disabled=true]{opacity:.5}.hidden{visibility:hidden}.chevron{height:1rem;width:1rem}.dayButton{aspect-ratio:1;display:flex;flex-direction:column;font-weight:400;gap:var(--ac-space-1);height:auto;line-height:1;min-width:var(--ac-cell-size);position:relative;width:100%;z-index:0;&:focus-visible,.day[data-focused=true] &{outline:3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);outline-offset:-1px;z-index:1}&[data-range-end=true],&[data-range-start=true],&[data-selected-single=true]{background-color:var(--ac-foreground);color:var(--ac-background)}&[data-range-middle=true]{background-color:var(--ac-muted);border-radius:0;color:var(--ac-foreground)}&[data-range-end=true],&[data-range-start=true]{border-radius:var(--ac-radius-md)}&>span{font-size:var(--ac-text-xs);opacity:.7}}",".container {\n --ac-cell-size: var(--ac-size-default);\n background-color: var(--ac-background);\n border-radius: var(--ac-radius-lg);\n color: var(--ac-foreground);\n padding: var(--ac-space-3);\n}\n\n.calendarRoot, .container, .root {\n width: fit-content;\n}\n\n.months {\n gap: var(--ac-space-4);\n flex-direction: column;\n display: flex;\n position: relative;\n}\n\n@media (width >= 768px) {\n .months {\n flex-direction: row;\n }\n}\n\n.month {\n gap: var(--ac-space-4);\n flex-direction: column;\n}\n\n.month, .nav {\n width: 100%;\n display: flex;\n}\n\n.nav {\n align-items: center;\n gap: var(--ac-space-1);\n inset-inline: 0;\n justify-content: space-between;\n position: absolute;\n top: 0;\n}\n\n.navButton {\n height: var(--ac-cell-size);\n width: var(--ac-cell-size);\n padding: 0;\n\n &[aria-disabled=\"true\"], &[disabled] {\n opacity: .5;\n }\n}\n\n.monthCaption {\n padding-inline: var(--ac-cell-size);\n}\n\n.dropdowns, .monthCaption {\n height: var(--ac-cell-size);\n justify-content: center;\n align-items: center;\n width: 100%;\n display: flex;\n}\n\n.dropdowns {\n font-size: var(--ac-text-sm);\n gap: var(--ac-space-2);\n font-weight: 500;\n}\n\n.dropdownRoot {\n background-color: var(--ac-background);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-md);\n position: relative;\n box-shadow: 0 1px 2px #0000000d;\n\n &:focus-within {\n border-color: var(--ac-ring);\n outline: 3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);\n outline-offset: 0;\n }\n}\n\n.dropdown {\n opacity: 0;\n position: absolute;\n inset: 0;\n}\n\n.captionLabel {\n font-size: var(--ac-text-sm);\n -webkit-user-select: none;\n user-select: none;\n font-weight: 500;\n}\n\n.captionLabelDropdown {\n border-radius: var(--ac-radius-md);\n align-items: center;\n gap: var(--ac-space-1);\n height: 2rem;\n padding-inline: var(--ac-space-2);\n display: flex;\n}\n\n.monthGrid {\n border-collapse: collapse;\n width: 100%;\n}\n\n.weekdays {\n display: flex;\n}\n\n.weekday {\n border-radius: var(--ac-radius-md);\n color: var(--ac-muted-foreground);\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n flex: 1;\n font-size: .8rem;\n font-weight: 400;\n}\n\n.week {\n margin-top: var(--ac-space-2);\n width: 100%;\n display: flex;\n}\n\n.weekNumber, .weekNumberHeader {\n color: var(--ac-muted-foreground);\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n width: var(--ac-cell-size);\n font-size: .8rem;\n}\n\n.weekNumberCell {\n height: var(--ac-cell-size);\n text-align: center;\n width: var(--ac-cell-size);\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.day {\n text-align: center;\n -webkit-user-select: none;\n user-select: none;\n width: 100%;\n height: 100%;\n padding: 0;\n position: relative;\n}\n\n.rangeStart {\n background-color: var(--ac-muted);\n border-bottom-left-radius: var(--ac-radius-md);\n border-top-left-radius: var(--ac-radius-md);\n}\n\n.rangeMiddle {\n border-radius: 0;\n}\n\n.rangeEnd {\n border-bottom-right-radius: var(--ac-radius-md);\n border-top-right-radius: var(--ac-radius-md);\n}\n\n.rangeEnd, .today {\n background-color: var(--ac-muted);\n}\n\n.today {\n border-radius: var(--ac-radius-md);\n color: var(--ac-foreground);\n}\n\n.day[data-disabled=\"true\"], .outside {\n color: var(--ac-muted-foreground);\n}\n\n.day[data-disabled=\"true\"] {\n opacity: .5;\n}\n\n.hidden {\n visibility: hidden;\n}\n\n.chevron {\n width: 1rem;\n height: 1rem;\n}\n\n.dayButton {\n aspect-ratio: 1;\n gap: var(--ac-space-1);\n height: auto;\n min-width: var(--ac-cell-size);\n z-index: 0;\n flex-direction: column;\n width: 100%;\n font-weight: 400;\n line-height: 1;\n display: flex;\n position: relative;\n\n &:focus-visible, .day[data-focused=\"true\"] & {\n outline: 3px solid color-mix(in oklch,var(--ac-ring),transparent 65%);\n outline-offset: -1px;\n z-index: 1;\n }\n\n &[data-range-end=\"true\"], &[data-range-start=\"true\"], &[data-selected-single=\"true\"] {\n background-color: var(--ac-foreground);\n color: var(--ac-background);\n }\n\n &[data-range-middle=\"true\"] {\n background-color: var(--ac-muted);\n color: var(--ac-foreground);\n border-radius: 0;\n }\n\n &[data-range-end=\"true\"], &[data-range-start=\"true\"] {\n border-radius: var(--ac-radius-md);\n }\n\n & > span {\n font-size: var(--ac-text-xs);\n opacity: .7;\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from "react";
|
|
3
2
|
import { cn } from "../../lib/utilities.js";
|
|
4
3
|
import card_skeleton_module from "./card-skeleton.module.js";
|
|
5
4
|
import { Skeleton } from "./skeleton.js";
|
|
6
|
-
|
|
5
|
+
import * as __rspack_external_react from "react";
|
|
6
|
+
const CardSkeleton = /*#__PURE__*/ __rspack_external_react.forwardRef(({ lines = 3, className, ...props }, ref)=>/*#__PURE__*/ jsxs("div", {
|
|
7
7
|
ref: ref,
|
|
8
8
|
className: cn(card_skeleton_module.card, className),
|
|
9
9
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/ui/card-skeleton.js","sources":["../../../src/components/ui/card-skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./card-skeleton.module.css\";\r\nimport {Skeleton} from \"./skeleton\";\r\n\r\n/**\r\n * Represents the configurable props for the {@link CardSkeleton} component.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so card-shaped loading placeholders can be composed\r\n * in semantic regions, annotated for accessibility, and sized with custom class names.\r\n */\r\ninterface CardSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Number of body placeholder lines rendered in the card content area.\r\n *\r\n * @default 3\r\n */\r\n lines?: number;\r\n}\r\n\r\n/**\r\n * Renders a skeleton placeholder shaped like a card surface.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Mimics the visual structure of the library's card primitive with a header, stacked\r\n * content lines, and a trailing footer action placeholder to reduce layout shift while\r\n * data-backed card content is loading.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardSkeleton lines={4} aria-label=\"Loading billing summary\" />\r\n * ```\r\n *\r\n * @see {@link CardSkeletonProps} for available props\r\n */\r\nconst CardSkeleton = React.forwardRef<HTMLDivElement, CardSkeletonProps>(\r\n ({lines = 3, className, ...props}: Readonly<CardSkeletonProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.card, className)}\r\n {...props}>\r\n <div className={styles.header}>\r\n <Skeleton className={styles.title} />\r\n <Skeleton className={styles.subtitle} />\r\n </div>\r\n <div className={styles.content}>\r\n {Array.from({length: lines}, (_, index) => (\r\n <Skeleton\r\n key={index}\r\n className={cn(styles.line, index === lines - 1 && styles.lineShort)}\r\n />\r\n ))}\r\n </div>\r\n <div className={styles.footer}>\r\n <Skeleton className={styles.button} />\r\n </div>\r\n </div>\r\n ),\r\n);\r\n\r\nCardSkeleton.displayName = \"CardSkeleton\";\r\n\r\nexport {CardSkeleton};\r\nexport type {CardSkeletonProps};\r\n"],"names":["CardSkeleton","React","lines","className","props","ref","cn","styles","Skeleton","Array","_","index"],"mappings":";;;;;AAwCA,MAAMA,eAAe,WAAHA,GAAGC,
|
|
1
|
+
{"version":3,"file":"components/ui/card-skeleton.js","sources":["../../../src/components/ui/card-skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./card-skeleton.module.css\";\r\nimport {Skeleton} from \"./skeleton\";\r\n\r\n/**\r\n * Represents the configurable props for the {@link CardSkeleton} component.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so card-shaped loading placeholders can be composed\r\n * in semantic regions, annotated for accessibility, and sized with custom class names.\r\n */\r\ninterface CardSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Number of body placeholder lines rendered in the card content area.\r\n *\r\n * @default 3\r\n */\r\n lines?: number;\r\n}\r\n\r\n/**\r\n * Renders a skeleton placeholder shaped like a card surface.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Mimics the visual structure of the library's card primitive with a header, stacked\r\n * content lines, and a trailing footer action placeholder to reduce layout shift while\r\n * data-backed card content is loading.\r\n *\r\n * @example\r\n * ```tsx\r\n * <CardSkeleton lines={4} aria-label=\"Loading billing summary\" />\r\n * ```\r\n *\r\n * @see {@link CardSkeletonProps} for available props\r\n */\r\nconst CardSkeleton = React.forwardRef<HTMLDivElement, CardSkeletonProps>(\r\n ({lines = 3, className, ...props}: Readonly<CardSkeletonProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.card, className)}\r\n {...props}>\r\n <div className={styles.header}>\r\n <Skeleton className={styles.title} />\r\n <Skeleton className={styles.subtitle} />\r\n </div>\r\n <div className={styles.content}>\r\n {Array.from({length: lines}, (_, index) => (\r\n <Skeleton\r\n key={index}\r\n className={cn(styles.line, index === lines - 1 && styles.lineShort)}\r\n />\r\n ))}\r\n </div>\r\n <div className={styles.footer}>\r\n <Skeleton className={styles.button} />\r\n </div>\r\n </div>\r\n ),\r\n);\r\n\r\nCardSkeleton.displayName = \"CardSkeleton\";\r\n\r\nexport {CardSkeleton};\r\nexport type {CardSkeletonProps};\r\n"],"names":["CardSkeleton","React","lines","className","props","ref","cn","styles","Skeleton","Array","_","index"],"mappings":";;;;;AAwCA,MAAMA,eAAe,WAAHA,GAAGC,wBAAAA,UAAgB,CACnC,CAAC,EAACC,QAAQ,CAAC,EAAEC,SAAS,EAAE,GAAGC,OAAmC,EAAEC,MAAAA,WAAAA,GAC9D,KAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,qBAAAA,IAAW,EAAEJ;QAC1B,GAAGC,KAAK;;0BACT,KAAC;gBAAI,WAAWG,qBAAAA,MAAa;;kCAC3B,IAACC,UAAQA;wBAAC,WAAWD,qBAAAA,KAAY;;kCACjC,IAACC,UAAQA;wBAAC,WAAWD,qBAAAA,QAAe;;;;0BAEtC,IAAC;gBAAI,WAAWA,qBAAAA,OAAc;0BAC3BE,MAAM,IAAI,CAAC;oBAAC,QAAQP;gBAAK,GAAG,CAACQ,GAAGC,QAAAA,WAAAA,GAC/B,IAACH,UAAQA;wBAEP,WAAWF,GAAGC,qBAAAA,IAAW,EAAEI,UAAUT,QAAQ,KAAKK,qBAAAA,SAAgB;uBAD7DI;;0BAKX,IAAC;gBAAI,WAAWJ,qBAAAA,MAAa;0BAC3B,kBAACC,UAAQA;oBAAC,WAAWD,qBAAAA,MAAa;;;;;AAM1CP,aAAa,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/components/ui/card-skeleton.module.css","webpack://./src/components/ui/card-skeleton.module.css"],"names":[],"mappings":"AAAA;ECCE,kCAAkC;EAClC,kCAAkC;EAClC,sBAAsB;EACtB,0BAA0B;AAC5B;;ADL0H;ECQxH,sBAAsB;EACtB,aAAa;AACf;;ADV2K;ECazK,sBAAsB;AACxB;;ADdyM;ECiBvM,UAAU;EACV,eAAe;AACjB;;ADnByO;ECsBvO,UAAU;EACV,eAAe;AACjB;;ADxB4Q;EC2B1Q,sBAAsB;EACtB,sBAAsB;EACtB,aAAa;AACf;;AD9B8U;ECiC5U,WAAW;EACX,eAAe;AACjB;;ADnC8W;ECsC5W,UAAU;AACZ;;ADvCmY;EC0CjY,yBAAyB;EACzB,aAAa;AACf;;AD5Cib;EC+C/a,kCAAkC;EAClC,WAAW;EACX,eAAe;AACjB","sourcesContent":[".card{border:1px solid var(--ac-border);border-radius:var(--ac-radius-lg);gap:var(--ac-space-4);padding:var(--ac-space-6)}.card,.header{display:flex;flex-direction:column}.header{gap:var(--ac-space-2)}.title{height:1.25rem;width:60%}.subtitle{height:.875rem;width:40%}.content{display:flex;flex-direction:column;gap:var(--ac-space-2)}.line{height:.875rem;width:100%}.lineShort{width:75%}.footer{display:flex;justify-content:flex-end}.button{border-radius:var(--ac-radius-md);height:2.25rem;width:6rem}",".card {\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-lg);\n gap: var(--ac-space-4);\n padding: var(--ac-space-6);\n}\n\n.card, .header {\n flex-direction: column;\n display: flex;\n}\n\n.header {\n gap: var(--ac-space-2);\n}\n\n.title {\n width: 60%;\n height: 1.25rem;\n}\n\n.subtitle {\n width: 40%;\n height: .875rem;\n}\n\n.content {\n gap: var(--ac-space-2);\n flex-direction: column;\n display: flex;\n}\n\n.line {\n width: 100%;\n height: .875rem;\n}\n\n.lineShort {\n width: 75%;\n}\n\n.footer {\n justify-content: flex-end;\n display: flex;\n}\n\n.button {\n border-radius: var(--ac-radius-md);\n width: 6rem;\n height: 2.25rem;\n}\n"],"sourceRoot":""}
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from "react";
|
|
3
2
|
import { cn } from "../../lib/utilities.js";
|
|
4
3
|
import card_module from "./card.module.js";
|
|
5
|
-
|
|
4
|
+
import * as __rspack_external_react from "react";
|
|
5
|
+
const Card = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
6
6
|
ref: ref,
|
|
7
7
|
className: cn(card_module.card, className),
|
|
8
8
|
...props
|
|
9
9
|
}));
|
|
10
10
|
Card.displayName = "Card";
|
|
11
|
-
const CardHeader = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
11
|
+
const CardHeader = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
12
12
|
ref: ref,
|
|
13
13
|
className: cn(card_module.header, className),
|
|
14
14
|
...props
|
|
15
15
|
}));
|
|
16
16
|
CardHeader.displayName = "CardHeader";
|
|
17
|
-
const CardTitle = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
17
|
+
const CardTitle = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
18
18
|
ref: ref,
|
|
19
19
|
className: cn(card_module.title, className),
|
|
20
20
|
...props
|
|
21
21
|
}));
|
|
22
22
|
CardTitle.displayName = "CardTitle";
|
|
23
|
-
const CardDescription = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
23
|
+
const CardDescription = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
24
24
|
ref: ref,
|
|
25
25
|
className: cn(card_module.description, className),
|
|
26
26
|
...props
|
|
27
27
|
}));
|
|
28
28
|
CardDescription.displayName = "CardDescription";
|
|
29
|
-
const CardAction = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
29
|
+
const CardAction = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
30
30
|
ref: ref,
|
|
31
31
|
className: cn(card_module.action, className),
|
|
32
32
|
...props
|
|
33
33
|
}));
|
|
34
34
|
CardAction.displayName = "CardAction";
|
|
35
|
-
const CardContent = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
35
|
+
const CardContent = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
36
36
|
ref: ref,
|
|
37
37
|
className: cn(card_module.content, className),
|
|
38
38
|
...props
|
|
39
39
|
}));
|
|
40
40
|
CardContent.displayName = "CardContent";
|
|
41
|
-
const CardFooter = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
41
|
+
const CardFooter = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
42
42
|
ref: ref,
|
|
43
43
|
className: cn(card_module.footer, className),
|
|
44
44
|
...props
|