@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,"file":"components/ui/item.js","sources":["../../../src/components/ui/item.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {Separator} from \"@/components/ui/separator\";\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./item.module.css\";\r\n\r\n/** Supported surface variants for {@link Item}. */\r\nexport type ItemVariant = \"default\" | \"outline\" | \"muted\";\r\n\r\n/** Supported size variants for {@link Item}. */\r\nexport type ItemSize = \"default\" | \"sm\";\r\n\r\n/** Supported media treatments for {@link ItemMedia}. */\r\nexport type ItemMediaVariant = \"default\" | \"icon\" | \"image\";\r\n\r\ntype ItemDataAttributes = Record<`data-${string}`, string | boolean | undefined>;\r\n\r\n/**\r\n * Props for the {@link ItemGroup} component.\r\n */\r\nexport type ItemGroupProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Props for the {@link ItemSeparator} component.\r\n */\r\nexport type ItemSeparatorProps = React.ComponentPropsWithoutRef<typeof Separator>;\r\n\r\n/**\r\n * Props for the {@link Item} component.\r\n */\r\nexport interface ItemProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Enables rendering an existing div-compatible child element. @default false */\r\n asChild?: boolean;\r\n /** Compactness applied to the item container. @default \"default\" */\r\n size?: ItemSize;\r\n /** Visual surface treatment for the item container. @default \"default\" */\r\n variant?: ItemVariant;\r\n}\r\n\r\n/**\r\n * Props for the {@link ItemMedia} component.\r\n */\r\nexport interface ItemMediaProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Visual treatment used for the media slot. @default \"default\" */\r\n variant?: ItemMediaVariant;\r\n}\r\n\r\n/**\r\n * Props for the {@link ItemContent} component.\r\n */\r\nexport type ItemContentProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Props for the {@link ItemTitle} component.\r\n */\r\nexport type ItemTitleProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Props for the {@link ItemDescription} component.\r\n */\r\nexport type ItemDescriptionProps = React.ComponentPropsWithoutRef<\"p\">;\r\n\r\n/**\r\n * Props for the {@link ItemActions} component.\r\n */\r\nexport type ItemActionsProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Props for the {@link ItemHeader} component.\r\n */\r\nexport type ItemHeaderProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Props for the {@link ItemFooter} component.\r\n */\r\nexport type ItemFooterProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Groups a collection of list-like items with consistent spacing.\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 * <ItemGroup>\r\n * <Item />\r\n * </ItemGroup>\r\n * ```\r\n *\r\n * @see {@link ItemGroupProps} for available props\r\n */\r\nconst ItemGroup = React.forwardRef<HTMLDivElement, ItemGroupProps>(\r\n ({className, ...props}: Readonly<ItemGroupProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n role='list'\r\n data-slot='item-group'\r\n className={cn(styles.group, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Inserts a separator between adjacent items.\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 * <ItemSeparator />\r\n * ```\r\n *\r\n * @see {@link ItemSeparatorProps} for available props\r\n */\r\nconst ItemSeparator = React.forwardRef<HTMLDivElement, ItemSeparatorProps>(\r\n ({className, ...props}: Readonly<ItemSeparatorProps>, ref): React.JSX.Element => (\r\n <Separator\r\n ref={ref}\r\n data-slot='item-separator'\r\n orientation='horizontal'\r\n className={cn(styles.separator, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Creates a flexible data-display row with optional media and actions.\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 * <Item variant='outline'>Content</Item>\r\n * ```\r\n *\r\n * @see {@link ItemProps} for available props\r\n */\r\nconst Item = React.forwardRef<HTMLDivElement, ItemProps>(\r\n (\r\n {className, variant = \"default\", size = \"default\", asChild = false, children, ...props}: Readonly<ItemProps>,\r\n ref,\r\n ): React.JSX.Element => {\r\n const mergedClassName = cn(\r\n styles.item,\r\n variant === \"outline\" && styles.outline,\r\n variant === \"muted\" && styles.muted,\r\n size === \"sm\" ? styles.sizeSm : styles.sizeDefault,\r\n className,\r\n );\r\n\r\n if (asChild && React.isValidElement(children)) {\r\n const child = children as React.ReactElement<\r\n React.ComponentPropsWithoutRef<\"div\"> & ItemDataAttributes & {ref?: React.Ref<HTMLDivElement>}\r\n >;\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 \"data-size\": size,\r\n \"data-slot\": \"item\",\r\n \"data-variant\": variant,\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 data-slot='item'\r\n data-size={size}\r\n data-variant={variant}\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 * Renders the leading media slot for an item.\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 * <ItemMedia variant='icon'>⭐</ItemMedia>\r\n * ```\r\n *\r\n * @see {@link ItemMediaProps} for available props\r\n */\r\nconst ItemMedia = React.forwardRef<HTMLDivElement, ItemMediaProps>(\r\n ({className, variant = \"default\", ...props}: Readonly<ItemMediaProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-media'\r\n data-variant={variant}\r\n className={cn(styles.media, variant === \"icon\" && styles.mediaIcon, variant === \"image\" && styles.mediaImage, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Wraps the main textual content for an item.\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 * <ItemContent>Details</ItemContent>\r\n * ```\r\n *\r\n * @see {@link ItemContentProps} for available props\r\n */\r\nconst ItemContent = React.forwardRef<HTMLDivElement, ItemContentProps>(\r\n ({className, ...props}: Readonly<ItemContentProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-content'\r\n className={cn(styles.content, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Displays the primary title text for an item.\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 * <ItemTitle>Title</ItemTitle>\r\n * ```\r\n *\r\n * @see {@link ItemTitleProps} for available props\r\n */\r\nconst ItemTitle = React.forwardRef<HTMLDivElement, ItemTitleProps>(\r\n ({className, ...props}: Readonly<ItemTitleProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-title'\r\n className={cn(styles.title, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Displays secondary descriptive content for an item.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<p>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ItemDescription>Support text</ItemDescription>\r\n * ```\r\n *\r\n * @see {@link ItemDescriptionProps} for available props\r\n */\r\nconst ItemDescription = React.forwardRef<HTMLParagraphElement, ItemDescriptionProps>(\r\n ({className, ...props}: Readonly<ItemDescriptionProps>, ref): React.JSX.Element => (\r\n <p\r\n ref={ref}\r\n data-slot='item-description'\r\n className={cn(styles.description, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Hosts action controls aligned to the trailing edge of an item.\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 * <ItemActions>\r\n * <button type='button'>Edit</button>\r\n * </ItemActions>\r\n * ```\r\n *\r\n * @see {@link ItemActionsProps} for available props\r\n */\r\nconst ItemActions = React.forwardRef<HTMLDivElement, ItemActionsProps>(\r\n ({className, ...props}: Readonly<ItemActionsProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-actions'\r\n className={cn(styles.actions, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Wraps leading title and description content for an item.\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 * <ItemHeader>\r\n * <ItemTitle>Profile</ItemTitle>\r\n * </ItemHeader>\r\n * ```\r\n *\r\n * @see {@link ItemHeaderProps} for available props\r\n */\r\nconst ItemHeader = React.forwardRef<HTMLDivElement, ItemHeaderProps>(\r\n ({className, ...props}: Readonly<ItemHeaderProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-header'\r\n className={cn(styles.header, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Wraps trailing metadata or supplementary content for an item.\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 * <ItemFooter>Updated 2m ago</ItemFooter>\r\n * ```\r\n *\r\n * @see {@link ItemFooterProps} for available props\r\n */\r\nconst ItemFooter = React.forwardRef<HTMLDivElement, ItemFooterProps>(\r\n ({className, ...props}: Readonly<ItemFooterProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-footer'\r\n className={cn(styles.footer, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nItemGroup.displayName = \"ItemGroup\";\r\nItemSeparator.displayName = \"ItemSeparator\";\r\nItem.displayName = \"Item\";\r\nItemMedia.displayName = \"ItemMedia\";\r\nItemContent.displayName = \"ItemContent\";\r\nItemTitle.displayName = \"ItemTitle\";\r\nItemDescription.displayName = \"ItemDescription\";\r\nItemActions.displayName = \"ItemActions\";\r\nItemHeader.displayName = \"ItemHeader\";\r\nItemFooter.displayName = \"ItemFooter\";\r\n\r\nexport {Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle};\r\n"],"names":["ItemGroup","React","className","props","ref","cn","styles","ItemSeparator","Separator","Item","variant","size","asChild","children","mergedClassName","child","ItemMedia","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/ui/item.js","sources":["../../../src/components/ui/item.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {Separator} from \"@/components/ui/separator\";\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./item.module.css\";\r\n\r\n/** Supported surface variants for {@link Item}. */\r\nexport type ItemVariant = \"default\" | \"outline\" | \"muted\";\r\n\r\n/** Supported size variants for {@link Item}. */\r\nexport type ItemSize = \"default\" | \"sm\";\r\n\r\n/** Supported media treatments for {@link ItemMedia}. */\r\nexport type ItemMediaVariant = \"default\" | \"icon\" | \"image\";\r\n\r\ntype ItemDataAttributes = Record<`data-${string}`, string | boolean | undefined>;\r\n\r\n/**\r\n * Props for the {@link ItemGroup} component.\r\n */\r\nexport type ItemGroupProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Props for the {@link ItemSeparator} component.\r\n */\r\nexport type ItemSeparatorProps = React.ComponentPropsWithoutRef<typeof Separator>;\r\n\r\n/**\r\n * Props for the {@link Item} component.\r\n */\r\nexport interface ItemProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Enables rendering an existing div-compatible child element. @default false */\r\n asChild?: boolean;\r\n /** Compactness applied to the item container. @default \"default\" */\r\n size?: ItemSize;\r\n /** Visual surface treatment for the item container. @default \"default\" */\r\n variant?: ItemVariant;\r\n}\r\n\r\n/**\r\n * Props for the {@link ItemMedia} component.\r\n */\r\nexport interface ItemMediaProps extends React.ComponentPropsWithoutRef<\"div\"> {\r\n /** Visual treatment used for the media slot. @default \"default\" */\r\n variant?: ItemMediaVariant;\r\n}\r\n\r\n/**\r\n * Props for the {@link ItemContent} component.\r\n */\r\nexport type ItemContentProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Props for the {@link ItemTitle} component.\r\n */\r\nexport type ItemTitleProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Props for the {@link ItemDescription} component.\r\n */\r\nexport type ItemDescriptionProps = React.ComponentPropsWithoutRef<\"p\">;\r\n\r\n/**\r\n * Props for the {@link ItemActions} component.\r\n */\r\nexport type ItemActionsProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Props for the {@link ItemHeader} component.\r\n */\r\nexport type ItemHeaderProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Props for the {@link ItemFooter} component.\r\n */\r\nexport type ItemFooterProps = React.ComponentPropsWithoutRef<\"div\">;\r\n\r\n/**\r\n * Groups a collection of list-like items with consistent spacing.\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 * <ItemGroup>\r\n * <Item />\r\n * </ItemGroup>\r\n * ```\r\n *\r\n * @see {@link ItemGroupProps} for available props\r\n */\r\nconst ItemGroup = React.forwardRef<HTMLDivElement, ItemGroupProps>(\r\n ({className, ...props}: Readonly<ItemGroupProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n role='list'\r\n data-slot='item-group'\r\n className={cn(styles.group, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Inserts a separator between adjacent items.\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 * <ItemSeparator />\r\n * ```\r\n *\r\n * @see {@link ItemSeparatorProps} for available props\r\n */\r\nconst ItemSeparator = React.forwardRef<HTMLDivElement, ItemSeparatorProps>(\r\n ({className, ...props}: Readonly<ItemSeparatorProps>, ref): React.JSX.Element => (\r\n <Separator\r\n ref={ref}\r\n data-slot='item-separator'\r\n orientation='horizontal'\r\n className={cn(styles.separator, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Creates a flexible data-display row with optional media and actions.\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 * <Item variant='outline'>Content</Item>\r\n * ```\r\n *\r\n * @see {@link ItemProps} for available props\r\n */\r\nconst Item = React.forwardRef<HTMLDivElement, ItemProps>(\r\n (\r\n {className, variant = \"default\", size = \"default\", asChild = false, children, ...props}: Readonly<ItemProps>,\r\n ref,\r\n ): React.JSX.Element => {\r\n const mergedClassName = cn(\r\n styles.item,\r\n variant === \"outline\" && styles.outline,\r\n variant === \"muted\" && styles.muted,\r\n size === \"sm\" ? styles.sizeSm : styles.sizeDefault,\r\n className,\r\n );\r\n\r\n if (asChild && React.isValidElement(children)) {\r\n const child = children as React.ReactElement<\r\n React.ComponentPropsWithoutRef<\"div\"> & ItemDataAttributes & {ref?: React.Ref<HTMLDivElement>}\r\n >;\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 \"data-size\": size,\r\n \"data-slot\": \"item\",\r\n \"data-variant\": variant,\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 data-slot='item'\r\n data-size={size}\r\n data-variant={variant}\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 * Renders the leading media slot for an item.\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 * <ItemMedia variant='icon'>⭐</ItemMedia>\r\n * ```\r\n *\r\n * @see {@link ItemMediaProps} for available props\r\n */\r\nconst ItemMedia = React.forwardRef<HTMLDivElement, ItemMediaProps>(\r\n ({className, variant = \"default\", ...props}: Readonly<ItemMediaProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-media'\r\n data-variant={variant}\r\n className={cn(styles.media, variant === \"icon\" && styles.mediaIcon, variant === \"image\" && styles.mediaImage, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Wraps the main textual content for an item.\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 * <ItemContent>Details</ItemContent>\r\n * ```\r\n *\r\n * @see {@link ItemContentProps} for available props\r\n */\r\nconst ItemContent = React.forwardRef<HTMLDivElement, ItemContentProps>(\r\n ({className, ...props}: Readonly<ItemContentProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-content'\r\n className={cn(styles.content, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Displays the primary title text for an item.\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 * <ItemTitle>Title</ItemTitle>\r\n * ```\r\n *\r\n * @see {@link ItemTitleProps} for available props\r\n */\r\nconst ItemTitle = React.forwardRef<HTMLDivElement, ItemTitleProps>(\r\n ({className, ...props}: Readonly<ItemTitleProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-title'\r\n className={cn(styles.title, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Displays secondary descriptive content for an item.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<p>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <ItemDescription>Support text</ItemDescription>\r\n * ```\r\n *\r\n * @see {@link ItemDescriptionProps} for available props\r\n */\r\nconst ItemDescription = React.forwardRef<HTMLParagraphElement, ItemDescriptionProps>(\r\n ({className, ...props}: Readonly<ItemDescriptionProps>, ref): React.JSX.Element => (\r\n <p\r\n ref={ref}\r\n data-slot='item-description'\r\n className={cn(styles.description, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Hosts action controls aligned to the trailing edge of an item.\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 * <ItemActions>\r\n * <button type='button'>Edit</button>\r\n * </ItemActions>\r\n * ```\r\n *\r\n * @see {@link ItemActionsProps} for available props\r\n */\r\nconst ItemActions = React.forwardRef<HTMLDivElement, ItemActionsProps>(\r\n ({className, ...props}: Readonly<ItemActionsProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-actions'\r\n className={cn(styles.actions, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Wraps leading title and description content for an item.\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 * <ItemHeader>\r\n * <ItemTitle>Profile</ItemTitle>\r\n * </ItemHeader>\r\n * ```\r\n *\r\n * @see {@link ItemHeaderProps} for available props\r\n */\r\nconst ItemHeader = React.forwardRef<HTMLDivElement, ItemHeaderProps>(\r\n ({className, ...props}: Readonly<ItemHeaderProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-header'\r\n className={cn(styles.header, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Wraps trailing metadata or supplementary content for an item.\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 * <ItemFooter>Updated 2m ago</ItemFooter>\r\n * ```\r\n *\r\n * @see {@link ItemFooterProps} for available props\r\n */\r\nconst ItemFooter = React.forwardRef<HTMLDivElement, ItemFooterProps>(\r\n ({className, ...props}: Readonly<ItemFooterProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n data-slot='item-footer'\r\n className={cn(styles.footer, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nItemGroup.displayName = \"ItemGroup\";\r\nItemSeparator.displayName = \"ItemSeparator\";\r\nItem.displayName = \"Item\";\r\nItemMedia.displayName = \"ItemMedia\";\r\nItemContent.displayName = \"ItemContent\";\r\nItemTitle.displayName = \"ItemTitle\";\r\nItemDescription.displayName = \"ItemDescription\";\r\nItemActions.displayName = \"ItemActions\";\r\nItemHeader.displayName = \"ItemHeader\";\r\nItemFooter.displayName = \"ItemFooter\";\r\n\r\nexport {Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle};\r\n"],"names":["ItemGroup","React","className","props","ref","cn","styles","ItemSeparator","Separator","Item","variant","size","asChild","children","mergedClassName","child","ItemMedia","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter"],"mappings":"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"}
|
|
@@ -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/item.module.css","webpack://./src/components/ui/item.module.css"],"names":[],"mappings":"AAAA;ECCE,sBAAsB;EACtB,aAAa;AACf;;ADH0C;ECMxC,oBAAoB;AACtB;;ADPwE;ECUtE,kCAAkC;EAClC,2BAA2B;EAC3B,4BAA4B;EAC5B,mBAAmB;EACnB,sBAAsB;EACtB,kIAAkI;EAClI,uBAAuB;EACvB,uBAAuB;EACvB,aAAa;EACb,eAAe;EACf,aAAa;AACf;;ADrBqb;ECwBnb,cAAc;EACd,qBAAqB;AACvB;;AD1Bge;EC6B9d,4BAA4B;EAC5B,oCAAoC;AACtC;;AD/BojB;ECkCljB,8BAA8B;AAChC;;ADnC2lB;ECsCzlB,qEAAqE;AACvE;;ADvCuqB;EC0CrqB,sBAAsB;EACtB,0BAA0B;AAC5B;;AD5CouB;EC+CluB,sCAAsC;EACtC,4DAA4D;AAC9D;;ADjD80B;ECoD50B,mBAAmB;EACnB,sBAAsB;EACtB,uBAAuB;EACvB,aAAa;AACf;;ADxDk6B;EC2Dh6B,cAAc;AAChB;;AD5Dk8B;EC+Dh8B,iCAAiC;EACjC,kCAAkC;EAClC,kCAAkC;EAClC,WAAW;EACX,YAAY;AACd;;ADpEykC;ECuEvkC,WAAW;EACX,YAAY;AACd;;ADzE+mC;EC4E7mC,kCAAkC;EAClC,aAAa;EACb,cAAc;EACd,gBAAgB;AAClB;;ADhFwsC;ECmFtsC,iBAAiB;EACjB,WAAW;EACX,YAAY;AACd;;ADtFgwC;ECyF9vC,sBAAsB;EACtB,sBAAsB;EACtB,OAAO;EACP,YAAY;EACZ,aAAa;AACf;;AD9F01C;ECiGx1C,UAAU;AACZ;;ADlGs3C;ECqGp3C,mBAAmB;EACnB,sBAAsB;EACtB,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,aAAa;AACf;;AD3Gq+C;EC8Gn+C,4BAA4B;AAC9B;;AD/GqhD;ECkHnhD,iCAAiC;EACjC,gBAAgB;AAClB;;ADpHmlD;ECuHjlD,cAAc;EACd,0BAA0B;EAC1B,0BAA0B;AAC5B;;AD1HoqD;EAAqB;IC8HrrD,2BAA2B;EAC7B;AACF;;ADhI0uD;ECmIxuD,mBAAmB;EACnB,sBAAsB;EACtB,aAAa;AACf;;ADtIyzD;ECyIvzD,gBAAgB;EAChB,8BAA8B;AAChC","sourcesContent":[".group{display:flex;flex-direction:column}.separator{margin:0!important}.item{align-items:center;background-color:transparent;border:1px solid transparent;border-radius:var(--ac-radius-md);color:var(--ac-foreground);display:flex;flex-wrap:wrap;font-size:var(--ac-text-sm);gap:var(--ac-space-4);outline:none;transition:border-color var(--ac-transition-fast),background-color var(--ac-transition-fast),box-shadow var(--ac-transition-fast)}.item a{color:inherit;text-decoration:none}.item:focus-visible{border-color:var(--ac-ring);box-shadow:0 0 0 1px var(--ac-ring)}.outline{border-color:var(--ac-border)}.muted{background-color:color-mix(in oklch,var(--ac-muted),transparent 25%)}.sizeDefault{gap:var(--ac-space-4);padding:var(--ac-space-4)}.sizeSm{gap:calc(var(--ac-space-2) + .125rem);padding:calc(var(--ac-space-2) + .125rem) var(--ac-space-4)}.media{align-items:center;display:flex;gap:var(--ac-space-2);justify-content:center}.media,.media svg{flex-shrink:0}.mediaIcon{background-color:var(--ac-muted);border:1px solid var(--ac-border);border-radius:var(--ac-radius-sm);height:2rem;width:2rem}.mediaIcon svg{height:1rem;width:1rem}.mediaImage{border-radius:var(--ac-radius-sm);height:2.5rem;overflow:hidden;width:2.5rem}.mediaImage img{height:100%;object-fit:cover;width:100%}.content{display:flex;flex:1 1 0%;flex-direction:column;gap:var(--ac-space-1);min-width:0}.content+.content{flex:none}.title{align-items:center;display:flex;font-weight:500;gap:var(--ac-space-2);line-height:1.4;width:fit-content}.description,.title{font-size:var(--ac-text-sm)}.description{color:var(--ac-muted-foreground);line-height:1.5}.description a{color:inherit;text-decoration:underline;text-underline-offset:4px}@media (hover:hover){.description a:hover{color:var(--ac-foreground)}}.actions,.footer,.header{align-items:center;display:flex;gap:var(--ac-space-2)}.footer,.header{flex-basis:100%;justify-content:space-between}",".group {\n flex-direction: column;\n display: flex;\n}\n\n.separator {\n margin: 0 !important;\n}\n\n.item {\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-4);\n transition: border-color var(--ac-transition-fast),background-color var(--ac-transition-fast),box-shadow var(--ac-transition-fast);\n background-color: #0000;\n border: 1px solid #0000;\n outline: none;\n flex-wrap: wrap;\n display: flex;\n}\n\n.item a {\n color: inherit;\n text-decoration: none;\n}\n\n.item:focus-visible {\n border-color: var(--ac-ring);\n box-shadow: 0 0 0 1px var(--ac-ring);\n}\n\n.outline {\n border-color: var(--ac-border);\n}\n\n.muted {\n background-color: color-mix(in oklch,var(--ac-muted),transparent 25%);\n}\n\n.sizeDefault {\n gap: var(--ac-space-4);\n padding: var(--ac-space-4);\n}\n\n.sizeSm {\n gap: calc(var(--ac-space-2) + .125rem);\n padding: calc(var(--ac-space-2) + .125rem) var(--ac-space-4);\n}\n\n.media {\n align-items: center;\n gap: var(--ac-space-2);\n justify-content: center;\n display: flex;\n}\n\n.media, .media svg {\n flex-shrink: 0;\n}\n\n.mediaIcon {\n background-color: var(--ac-muted);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-sm);\n width: 2rem;\n height: 2rem;\n}\n\n.mediaIcon svg {\n width: 1rem;\n height: 1rem;\n}\n\n.mediaImage {\n border-radius: var(--ac-radius-sm);\n width: 2.5rem;\n height: 2.5rem;\n overflow: hidden;\n}\n\n.mediaImage img {\n object-fit: cover;\n width: 100%;\n height: 100%;\n}\n\n.content {\n gap: var(--ac-space-1);\n flex-direction: column;\n flex: 1;\n min-width: 0;\n display: flex;\n}\n\n.content + .content {\n flex: none;\n}\n\n.title {\n align-items: center;\n gap: var(--ac-space-2);\n width: fit-content;\n font-weight: 500;\n line-height: 1.4;\n display: flex;\n}\n\n.description, .title {\n font-size: var(--ac-text-sm);\n}\n\n.description {\n color: var(--ac-muted-foreground);\n line-height: 1.5;\n}\n\n.description a {\n color: inherit;\n text-underline-offset: 4px;\n text-decoration: underline;\n}\n\n@media (hover: hover) {\n .description a:hover {\n color: var(--ac-foreground);\n }\n}\n\n.actions, .footer, .header {\n align-items: center;\n gap: var(--ac-space-2);\n display: flex;\n}\n\n.footer, .header {\n flex-basis: 100%;\n justify-content: space-between;\n}\n"],"sourceRoot":""}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from "react";
|
|
3
2
|
import { cn } from "../../lib/utilities.js";
|
|
4
3
|
import kbd_module from "./kbd.module.js";
|
|
5
|
-
|
|
4
|
+
import * as __rspack_external_react from "react";
|
|
5
|
+
const Kbd = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("kbd", {
|
|
6
6
|
ref: ref,
|
|
7
7
|
"data-slot": "kbd",
|
|
8
8
|
className: cn(kbd_module.kbd, className),
|
|
9
9
|
...props
|
|
10
10
|
}));
|
|
11
|
-
const KbdGroup = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("kbd", {
|
|
11
|
+
const KbdGroup = /*#__PURE__*/ __rspack_external_react.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("kbd", {
|
|
12
12
|
ref: ref,
|
|
13
13
|
"data-slot": "kbd-group",
|
|
14
14
|
className: cn(kbd_module.group, className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/ui/kbd.js","sources":["../../../src/components/ui/kbd.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./kbd.module.css\";\r\n\r\n/**\r\n * Props for the {@link Kbd} component.\r\n */\r\nexport type KbdProps = React.ComponentPropsWithoutRef<\"kbd\">;\r\n\r\n/**\r\n * Props for the {@link KbdGroup} component.\r\n */\r\nexport type KbdGroupProps = React.ComponentPropsWithoutRef<\"kbd\">;\r\n\r\n/**\r\n * Renders an inline keyboard keycap label.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<kbd>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <Kbd>⌘K</Kbd>\r\n * ```\r\n *\r\n * @see {@link KbdProps} for available props\r\n */\r\nconst Kbd = React.forwardRef<HTMLElement, KbdProps>(\r\n ({className, ...props}: Readonly<KbdProps>, ref): React.JSX.Element => (\r\n <kbd\r\n ref={ref}\r\n data-slot='kbd'\r\n className={cn(styles.kbd, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Groups multiple keyboard keycap labels into a shared visual cluster.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<kbd>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <KbdGroup>\r\n * <Kbd>⌘</Kbd>\r\n * <Kbd>K</Kbd>\r\n * </KbdGroup>\r\n * ```\r\n *\r\n * @see {@link KbdGroupProps} for available props\r\n */\r\nconst KbdGroup = React.forwardRef<HTMLElement, KbdGroupProps>(\r\n ({className, ...props}: Readonly<KbdGroupProps>, ref): React.JSX.Element => (\r\n <kbd\r\n ref={ref}\r\n data-slot='kbd-group'\r\n className={cn(styles.group, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nKbd.displayName = \"Kbd\";\r\nKbdGroup.displayName = \"KbdGroup\";\r\n\r\nexport {Kbd, KbdGroup};\r\n"],"names":["Kbd","React","className","props","ref","cn","styles","KbdGroup"],"mappings":";;;;AA8BA,MAAMA,MAAM,WAAHA,GAAGC,
|
|
1
|
+
{"version":3,"file":"components/ui/kbd.js","sources":["../../../src/components/ui/kbd.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./kbd.module.css\";\r\n\r\n/**\r\n * Props for the {@link Kbd} component.\r\n */\r\nexport type KbdProps = React.ComponentPropsWithoutRef<\"kbd\">;\r\n\r\n/**\r\n * Props for the {@link KbdGroup} component.\r\n */\r\nexport type KbdGroupProps = React.ComponentPropsWithoutRef<\"kbd\">;\r\n\r\n/**\r\n * Renders an inline keyboard keycap label.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<kbd>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <Kbd>⌘K</Kbd>\r\n * ```\r\n *\r\n * @see {@link KbdProps} for available props\r\n */\r\nconst Kbd = React.forwardRef<HTMLElement, KbdProps>(\r\n ({className, ...props}: Readonly<KbdProps>, ref): React.JSX.Element => (\r\n <kbd\r\n ref={ref}\r\n data-slot='kbd'\r\n className={cn(styles.kbd, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\n/**\r\n * Groups multiple keyboard keycap labels into a shared visual cluster.\r\n *\r\n * @remarks\r\n * - Pure CSS component (no Base UI primitive)\r\n * - Renders a `<kbd>` element\r\n * - Styling via CSS Modules with `--ac-*` custom properties\r\n *\r\n * @example\r\n * ```tsx\r\n * <KbdGroup>\r\n * <Kbd>⌘</Kbd>\r\n * <Kbd>K</Kbd>\r\n * </KbdGroup>\r\n * ```\r\n *\r\n * @see {@link KbdGroupProps} for available props\r\n */\r\nconst KbdGroup = React.forwardRef<HTMLElement, KbdGroupProps>(\r\n ({className, ...props}: Readonly<KbdGroupProps>, ref): React.JSX.Element => (\r\n <kbd\r\n ref={ref}\r\n data-slot='kbd-group'\r\n className={cn(styles.group, className)}\r\n {...props}\r\n />\r\n ),\r\n);\r\n\r\nKbd.displayName = \"Kbd\";\r\nKbdGroup.displayName = \"KbdGroup\";\r\n\r\nexport {Kbd, KbdGroup};\r\n"],"names":["Kbd","React","className","props","ref","cn","styles","KbdGroup"],"mappings":";;;;AA8BA,MAAMA,MAAM,WAAHA,GAAGC,wBAAAA,UAAgB,CAC1B,CAAC,EAACC,SAAS,EAAE,GAAGC,OAA0B,EAAEC,MAAAA,WAAAA,GAC1C,IAAC;QACC,KAAKA;QACL,aAAU;QACV,WAAWC,GAAGC,WAAAA,GAAU,EAAEJ;QACzB,GAAGC,KAAK;;AAuBf,MAAMI,WAAW,WAAHA,GAAGN,wBAAAA,UAAgB,CAC/B,CAAC,EAACC,SAAS,EAAE,GAAGC,OAA+B,EAAEC,MAAAA,WAAAA,GAC/C,IAAC;QACC,KAAKA;QACL,aAAU;QACV,WAAWC,GAAGC,WAAAA,KAAY,EAAEJ;QAC3B,GAAGC,KAAK;;AAKfH,IAAI,WAAW,GAAG;AAClBO,SAAS,WAAW,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack
|
|
1
|
+
{"version":3,"sources":["webpack://./../../node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[1].oneOf[2].use[2]!/home/runner/work/arolariu.ro/arolariu.ro/node_modules/@rslib/core/node_modules/@rsbuild/core/compiled/postcss-loader/index.js??ruleSet[1].rules[1].oneOf[2].use[3]!/home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/kbd.module.css","webpack://./src/components/ui/kbd.module.css"],"names":[],"mappings":"AAAA;ECCE,iCAAiC;EACjC,8BAA8B;EAC9B,kCAAkC;EAClC,iCAAiC;EACjC,2GAA2G;EAC3G,4BAA4B;EAC5B,mBAAmB;EACnB,sBAAsB;EACtB,yBAAyB;EACzB,4BAA4B;EAC5B,4BAA4B;EAC5B,oBAAoB;EACpB,yBAAyB;EACzB,iBAAiB;EACjB,yBAAyB;EACzB,uBAAuB;EACvB,kBAAkB;EAClB,gBAAgB;EAChB,oBAAoB;AACtB;;ADpB4gB;ECuB1gB,aAAa;EACb,cAAc;AAChB;;ADzBgjB;EC4B9iB,mBAAmB;EACnB,sBAAsB;EACtB,oBAAoB;AACtB","sourcesContent":[".kbd{align-items:center;background-color:var(--ac-muted);border:solid var(--ac-border);border-radius:var(--ac-radius-sm);border-width:1px 1px 2px;color:var(--ac-muted-foreground);display:inline-flex;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--ac-text-xs);font-weight:600;gap:var(--ac-space-1);height:var(--ac-size-xs);justify-content:center;min-width:var(--ac-size-xs);padding:0 var(--ac-space-1);pointer-events:none;user-select:none;width:fit-content}.kbd svg{height:.75rem;width:.75rem}.group{align-items:center;display:inline-flex;gap:var(--ac-space-1)}",".kbd {\n background-color: var(--ac-muted);\n border: solid var(--ac-border);\n border-radius: var(--ac-radius-sm);\n color: var(--ac-muted-foreground);\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n font-size: var(--ac-text-xs);\n align-items: center;\n gap: var(--ac-space-1);\n height: var(--ac-size-xs);\n min-width: var(--ac-size-xs);\n padding: 0 var(--ac-space-1);\n pointer-events: none;\n -webkit-user-select: none;\n user-select: none;\n border-width: 1px 1px 2px;\n justify-content: center;\n width: fit-content;\n font-weight: 600;\n display: inline-flex;\n}\n\n.kbd svg {\n width: .75rem;\n height: .75rem;\n}\n\n.group {\n align-items: center;\n gap: var(--ac-space-1);\n display: inline-flex;\n}\n"],"sourceRoot":""}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from "react";
|
|
3
2
|
import { cn } from "../../lib/utilities.js";
|
|
4
3
|
import label_module from "./label.module.js";
|
|
5
|
-
|
|
4
|
+
import * as __rspack_external_react from "react";
|
|
5
|
+
const Label = /*#__PURE__*/ __rspack_external_react.forwardRef(({ children, className, htmlFor, ...props }, ref)=>/*#__PURE__*/ jsx("label", {
|
|
6
6
|
ref: ref,
|
|
7
7
|
className: cn(label_module.label, className),
|
|
8
8
|
htmlFor: htmlFor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/ui/label.js","sources":["../../../src/components/ui/label.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./label.module.css\";\r\n\r\n/**\r\n * Represents the configurable props for the Label component.\r\n *\r\n * @remarks\r\n * Extends native `<label>` attributes so the component can participate in accessible\r\n * form relationships while exposing a documented class override.\r\n */\r\nexport interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {\r\n /**\r\n * Additional CSS classes merged with the default label typography.\r\n */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * An accessible text label for form controls and field groups.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Client Component.\r\n *\r\n * Renders a styled `<label>` element that pairs naturally with form inputs through\r\n * `htmlFor`. Use it to provide clear, clickable context for interactive controls.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Label htmlFor=\"email\">Email address</Label>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/label Base UI Label docs}\r\n */\r\nconst Label = React.forwardRef<HTMLLabelElement, LabelProps>(({children, className, htmlFor, ...props}, ref) => (\r\n <label\r\n ref={ref}\r\n className={cn(styles.label, className)}\r\n htmlFor={htmlFor}\r\n {...props}>\r\n {children}\r\n </label>\r\n));\r\nLabel.displayName = \"Label\";\r\n\r\nexport {Label};\r\n"],"names":["Label","React","children","className","htmlFor","props","ref","cn","styles"],"mappings":";;;;AAmCA,MAAMA,QAAQ,WAAHA,GAAGC,
|
|
1
|
+
{"version":3,"file":"components/ui/label.js","sources":["../../../src/components/ui/label.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./label.module.css\";\r\n\r\n/**\r\n * Represents the configurable props for the Label component.\r\n *\r\n * @remarks\r\n * Extends native `<label>` attributes so the component can participate in accessible\r\n * form relationships while exposing a documented class override.\r\n */\r\nexport interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {\r\n /**\r\n * Additional CSS classes merged with the default label typography.\r\n */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * An accessible text label for form controls and field groups.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Client Component.\r\n *\r\n * Renders a styled `<label>` element that pairs naturally with form inputs through\r\n * `htmlFor`. Use it to provide clear, clickable context for interactive controls.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Label htmlFor=\"email\">Email address</Label>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/label Base UI Label docs}\r\n */\r\nconst Label = React.forwardRef<HTMLLabelElement, LabelProps>(({children, className, htmlFor, ...props}, ref) => (\r\n <label\r\n ref={ref}\r\n className={cn(styles.label, className)}\r\n htmlFor={htmlFor}\r\n {...props}>\r\n {children}\r\n </label>\r\n));\r\nLabel.displayName = \"Label\";\r\n\r\nexport {Label};\r\n"],"names":["Label","React","children","className","htmlFor","props","ref","cn","styles"],"mappings":";;;;AAmCA,MAAMA,QAAQ,WAAHA,GAAGC,wBAAAA,UAAgB,CAA+B,CAAC,EAACC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAE,GAAGC,OAAM,EAAEC,MAAAA,WAAAA,GACtG,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,aAAAA,KAAY,EAAEL;QAC5B,SAASC;QACR,GAAGC,KAAK;kBACRH;;AAGLF,MAAM,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/label.module.css","webpack://./src/components/ui/label.module.css"],"names":[],"mappings":"AAAA;ECCE,2BAA2B;EAC3B,eAAe;EACf,4BAA4B;EAC5B,yBAAyB;EACzB,iBAAiB;EACjB,gBAAgB;EAChB,cAAc;AAChB;;ADR4H;ECW1H,mBAAmB;EACnB,WAAW;AACb","sourcesContent":[".label{color:var(--ac-foreground);cursor:default;font-size:var(--ac-text-sm);font-weight:500;line-height:1;user-select:none}.label[data-disabled]{cursor:not-allowed;opacity:.7}",".label {\n color: var(--ac-foreground);\n cursor: default;\n font-size: var(--ac-text-sm);\n -webkit-user-select: none;\n user-select: none;\n font-weight: 500;\n line-height: 1;\n}\n\n.label[data-disabled] {\n cursor: not-allowed;\n opacity: .7;\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 list_skeleton_module from "./list-skeleton.module.js";
|
|
5
4
|
import { Skeleton } from "./skeleton.js";
|
|
6
|
-
|
|
5
|
+
import * as __rspack_external_react from "react";
|
|
6
|
+
const ListSkeleton = /*#__PURE__*/ __rspack_external_react.forwardRef(({ items = 5, showAvatar = true, className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
|
|
7
7
|
ref: ref,
|
|
8
8
|
className: cn(list_skeleton_module.list, className),
|
|
9
9
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/ui/list-skeleton.js","sources":["../../../src/components/ui/list-skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./list-skeleton.module.css\";\r\nimport {Skeleton} from \"./skeleton\";\r\n\r\n/**\r\n * Represents the configurable props for the {@link ListSkeleton} component.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so list-shaped placeholders can be embedded in\r\n * semantic containers and customized with layout or accessibility attributes.\r\n */\r\ninterface ListSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Number of list item placeholders to render.\r\n *\r\n * @default 5\r\n */\r\n items?: number;\r\n /**\r\n * Whether each item should render a leading circular avatar placeholder.\r\n *\r\n * @default true\r\n */\r\n showAvatar?: boolean;\r\n}\r\n\r\n/**\r\n * Renders a skeleton placeholder shaped like a stacked list of items.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Each item includes optional avatar media plus two text lines, making it suitable for\r\n * activity feeds, contact lists, or navigation menus that load incrementally.\r\n *\r\n * @example\r\n * ```tsx\r\n * <ListSkeleton items={8} showAvatar={false} aria-label=\"Loading notifications\" />\r\n * ```\r\n *\r\n * @see {@link ListSkeletonProps} for available props\r\n */\r\nconst ListSkeleton = React.forwardRef<HTMLDivElement, ListSkeletonProps>(\r\n ({items = 5, showAvatar = true, className, ...props}: Readonly<ListSkeletonProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.list, className)}\r\n {...props}>\r\n {Array.from({length: items}, (_, index) => (\r\n <div\r\n key={index}\r\n className={styles.item}>\r\n {showAvatar ? <Skeleton className={styles.avatar} /> : null}\r\n <div className={styles.text}>\r\n <Skeleton className={styles.primary} />\r\n <Skeleton className={styles.secondary} />\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n ),\r\n);\r\n\r\nListSkeleton.displayName = \"ListSkeleton\";\r\n\r\nexport {ListSkeleton};\r\nexport type {ListSkeletonProps};\r\n"],"names":["ListSkeleton","React","items","showAvatar","className","props","ref","cn","styles","Array","_","index","Skeleton"],"mappings":";;;;;AA6CA,MAAMA,eAAe,WAAHA,GAAGC,
|
|
1
|
+
{"version":3,"file":"components/ui/list-skeleton.js","sources":["../../../src/components/ui/list-skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./list-skeleton.module.css\";\r\nimport {Skeleton} from \"./skeleton\";\r\n\r\n/**\r\n * Represents the configurable props for the {@link ListSkeleton} component.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so list-shaped placeholders can be embedded in\r\n * semantic containers and customized with layout or accessibility attributes.\r\n */\r\ninterface ListSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Number of list item placeholders to render.\r\n *\r\n * @default 5\r\n */\r\n items?: number;\r\n /**\r\n * Whether each item should render a leading circular avatar placeholder.\r\n *\r\n * @default true\r\n */\r\n showAvatar?: boolean;\r\n}\r\n\r\n/**\r\n * Renders a skeleton placeholder shaped like a stacked list of items.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Server- and client-compatible presentational component.\r\n *\r\n * Each item includes optional avatar media plus two text lines, making it suitable for\r\n * activity feeds, contact lists, or navigation menus that load incrementally.\r\n *\r\n * @example\r\n * ```tsx\r\n * <ListSkeleton items={8} showAvatar={false} aria-label=\"Loading notifications\" />\r\n * ```\r\n *\r\n * @see {@link ListSkeletonProps} for available props\r\n */\r\nconst ListSkeleton = React.forwardRef<HTMLDivElement, ListSkeletonProps>(\r\n ({items = 5, showAvatar = true, className, ...props}: Readonly<ListSkeletonProps>, ref): React.JSX.Element => (\r\n <div\r\n ref={ref}\r\n className={cn(styles.list, className)}\r\n {...props}>\r\n {Array.from({length: items}, (_, index) => (\r\n <div\r\n key={index}\r\n className={styles.item}>\r\n {showAvatar ? <Skeleton className={styles.avatar} /> : null}\r\n <div className={styles.text}>\r\n <Skeleton className={styles.primary} />\r\n <Skeleton className={styles.secondary} />\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n ),\r\n);\r\n\r\nListSkeleton.displayName = \"ListSkeleton\";\r\n\r\nexport {ListSkeleton};\r\nexport type {ListSkeletonProps};\r\n"],"names":["ListSkeleton","React","items","showAvatar","className","props","ref","cn","styles","Array","_","index","Skeleton"],"mappings":";;;;;AA6CA,MAAMA,eAAe,WAAHA,GAAGC,wBAAAA,UAAgB,CACnC,CAAC,EAACC,QAAQ,CAAC,EAAEC,aAAa,IAAI,EAAEC,SAAS,EAAE,GAAGC,OAAmC,EAAEC,MAAAA,WAAAA,GACjF,IAAC;QACC,KAAKA;QACL,WAAWC,GAAGC,qBAAAA,IAAW,EAAEJ;QAC1B,GAAGC,KAAK;kBACRI,MAAM,IAAI,CAAC;YAAC,QAAQP;QAAK,GAAG,CAACQ,GAAGC,QAAAA,WAAAA,GAC/B,KAAC;gBAEC,WAAWH,qBAAAA,IAAW;;oBACrBL,aAAa,WAAbA,GAAa,IAACS,UAAQA;wBAAC,WAAWJ,qBAAAA,MAAa;yBAAO;kCACvD,KAAC;wBAAI,WAAWA,qBAAAA,IAAW;;0CACzB,IAACI,UAAQA;gCAAC,WAAWJ,qBAAAA,OAAc;;0CACnC,IAACI,UAAQA;gCAAC,WAAWJ,qBAAAA,SAAgB;;;;;eALlCG;;AAafX,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/list-skeleton.module.css","webpack://./src/components/ui/list-skeleton.module.css"],"names":[],"mappings":"AAAA;ECCE,sBAAsB;AACxB;;ADF4B;ECK1B,sBAAsB;EACtB,aAAa;AACf;;ADP2E;ECUzE,mBAAmB;AACrB;;ADXoG;ECclG,kBAAkB;EAClB,cAAc;EACd,aAAa;EACb,cAAc;AAChB;;ADlBuK;ECqBrK,sBAAsB;EACtB,sBAAsB;EACtB,OAAO;EACP,aAAa;AACf;;ADzB6O;EC4B3O,UAAU;EACV,eAAe;AACjB;;AD9B+Q;ECiC7Q,UAAU;EACV,cAAc;AAChB","sourcesContent":[".list{flex-direction:column}.item,.list{display:flex;gap:var(--ac-space-3)}.item{align-items:center}.avatar{border-radius:50%;flex-shrink:0;height:2.5rem;width:2.5rem}.text{display:flex;flex:1;flex-direction:column;gap:var(--ac-space-1)}.primary{height:.875rem;width:60%}.secondary{height:.75rem;width:40%}",".list {\n flex-direction: column;\n}\n\n.item, .list {\n gap: var(--ac-space-3);\n display: flex;\n}\n\n.item {\n align-items: center;\n}\n\n.avatar {\n border-radius: 50%;\n flex-shrink: 0;\n width: 2.5rem;\n height: 2.5rem;\n}\n\n.text {\n gap: var(--ac-space-1);\n flex-direction: column;\n flex: 1;\n display: flex;\n}\n\n.primary {\n width: 60%;\n height: .875rem;\n}\n\n.secondary {\n width: 40%;\n height: .75rem;\n}\n"],"sourceRoot":""}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { forwardRef } from "react";
|
|
4
3
|
import { cn } from "../../lib/utilities.js";
|
|
5
4
|
import loading_overlay_module from "./loading-overlay.module.js";
|
|
6
5
|
import { Spinner } from "./spinner.js";
|
|
7
|
-
|
|
6
|
+
import * as __rspack_external_react from "react";
|
|
7
|
+
const LoadingOverlay = /*#__PURE__*/ __rspack_external_react.forwardRef(({ visible = true, blur = false, className, children, ...props }, ref)=>{
|
|
8
8
|
if (!visible) return null;
|
|
9
9
|
return /*#__PURE__*/ jsx("div", {
|
|
10
10
|
ref: ref,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/ui/loading-overlay.js","sources":["../../../src/components/ui/loading-overlay.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./loading-overlay.module.css\";\r\nimport {Spinner} from \"./spinner\";\r\n\r\n/**\r\n * Represents the configurable props for the {@link LoadingOverlay} component.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so overlays can be positioned inside relatively\r\n * positioned containers, annotated for accessibility, and visually customized.\r\n */\r\ninterface LoadingOverlayProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Whether the overlay should be rendered.\r\n *\r\n * @default true\r\n */\r\n visible?: boolean;\r\n /**\r\n * Whether a backdrop blur effect should be applied behind the overlay.\r\n *\r\n * @default false\r\n */\r\n blur?: boolean;\r\n}\r\n\r\n/**\r\n * Renders a centered loading overlay for pending asynchronous operations.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Client component.\r\n *\r\n * Place this component inside a relatively positioned container to block interactions\r\n * while preserving the layout underneath. By default, it renders the shared spinner, but\r\n * custom children can replace that indicator when richer progress UI is needed.\r\n *\r\n * @example\r\n * ```tsx\r\n * <div className=\"relative\">\r\n * <LoadingOverlay visible blur />\r\n * <Content />\r\n * </div>\r\n * ```\r\n *\r\n * @see {@link LoadingOverlayProps} for available props\r\n */\r\nconst LoadingOverlay = React.forwardRef<HTMLDivElement, LoadingOverlayProps>(\r\n ({visible = true, blur = false, className, children, ...props}: Readonly<LoadingOverlayProps>, ref): React.JSX.Element | null => {\r\n if (!visible) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={cn(styles.overlay, blur && styles.blur, className)}\r\n {...props}>\r\n {children ?? <Spinner className={styles.spinner} />}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nLoadingOverlay.displayName = \"LoadingOverlay\";\r\n\r\nexport {LoadingOverlay};\r\nexport type {LoadingOverlayProps};\r\n"],"names":["LoadingOverlay","React","visible","blur","className","children","props","ref","cn","styles","Spinner"],"mappings":";;;;;;AAmDA,MAAMA,iBAAiB,WAAHA,GAAGC,
|
|
1
|
+
{"version":3,"file":"components/ui/loading-overlay.js","sources":["../../../src/components/ui/loading-overlay.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport styles from \"./loading-overlay.module.css\";\r\nimport {Spinner} from \"./spinner\";\r\n\r\n/**\r\n * Represents the configurable props for the {@link LoadingOverlay} component.\r\n *\r\n * @remarks\r\n * Extends native `<div>` attributes so overlays can be positioned inside relatively\r\n * positioned containers, annotated for accessibility, and visually customized.\r\n */\r\ninterface LoadingOverlayProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * Whether the overlay should be rendered.\r\n *\r\n * @default true\r\n */\r\n visible?: boolean;\r\n /**\r\n * Whether a backdrop blur effect should be applied behind the overlay.\r\n *\r\n * @default false\r\n */\r\n blur?: boolean;\r\n}\r\n\r\n/**\r\n * Renders a centered loading overlay for pending asynchronous operations.\r\n *\r\n * @remarks\r\n * **Rendering Context**: Client component.\r\n *\r\n * Place this component inside a relatively positioned container to block interactions\r\n * while preserving the layout underneath. By default, it renders the shared spinner, but\r\n * custom children can replace that indicator when richer progress UI is needed.\r\n *\r\n * @example\r\n * ```tsx\r\n * <div className=\"relative\">\r\n * <LoadingOverlay visible blur />\r\n * <Content />\r\n * </div>\r\n * ```\r\n *\r\n * @see {@link LoadingOverlayProps} for available props\r\n */\r\nconst LoadingOverlay = React.forwardRef<HTMLDivElement, LoadingOverlayProps>(\r\n ({visible = true, blur = false, className, children, ...props}: Readonly<LoadingOverlayProps>, ref): React.JSX.Element | null => {\r\n if (!visible) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={cn(styles.overlay, blur && styles.blur, className)}\r\n {...props}>\r\n {children ?? <Spinner className={styles.spinner} />}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nLoadingOverlay.displayName = \"LoadingOverlay\";\r\n\r\nexport {LoadingOverlay};\r\nexport type {LoadingOverlayProps};\r\n"],"names":["LoadingOverlay","React","visible","blur","className","children","props","ref","cn","styles","Spinner"],"mappings":";;;;;;AAmDA,MAAMA,iBAAiB,WAAHA,GAAGC,wBAAAA,UAAgB,CACrC,CAAC,EAACC,UAAU,IAAI,EAAEC,OAAO,KAAK,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGC,OAAqC,EAAEC;IAC7F,IAAI,CAACL,SACH,OAAO;IAGT,OAAO,WAAP,GACE,IAAC;QACC,KAAKK;QACL,WAAWC,GAAGC,uBAAAA,OAAc,EAAEN,QAAQM,uBAAAA,IAAW,EAAEL;QAClD,GAAGE,KAAK;kBACRD,YAAY,WAAZA,GAAY,IAACK,SAAOA;YAAC,WAAWD,uBAAAA,OAAc;;;AAGrD;AAGFT,eAAe,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/loading-overlay.module.css","webpack://./src/components/ui/loading-overlay.module.css"],"names":[],"mappings":"AAAA;ECCE,yDAAyD;EACzD,sBAAsB;EACtB,WAAW;EACX,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,QAAQ;AACV;;ADToL;ECYlL,0BAA0B;AAC5B;;ADboN;ECgBlN,WAAW;EACX,YAAY;AACd","sourcesContent":[".overlay{align-items:center;background-color:rgb(from var(--ac-background) r g b/.7);border-radius:inherit;display:flex;inset:0;justify-content:center;position:absolute;z-index:10}.blur{backdrop-filter:blur(4px)}.spinner{height:2rem;width:2rem}",".overlay {\n background-color: rgb(from var(--ac-background) r g b/.7);\n border-radius: inherit;\n z-index: 10;\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n inset: 0;\n}\n\n.blur {\n backdrop-filter: blur(4px);\n}\n\n.spinner {\n width: 2rem;\n height: 2rem;\n}\n"],"sourceRoot":""}
|
|
@@ -2,16 +2,6 @@ import { Menu as BaseMenu } from "@base-ui/react/menu";
|
|
|
2
2
|
import { Menubar as BaseMenubar } from "@base-ui/react/menubar";
|
|
3
3
|
import { useRender } from "@base-ui/react/use-render";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
type MenubarProps = Omit<React.ComponentPropsWithRef<typeof BaseMenubar>, "className"> & {
|
|
6
|
-
className?: string;
|
|
7
|
-
};
|
|
8
|
-
interface MenubarTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Trigger>, "className"> {
|
|
9
|
-
/**
|
|
10
|
-
* Applies additional CSS classes to the component root element.
|
|
11
|
-
* @default undefined
|
|
12
|
-
*/
|
|
13
|
-
className?: string;
|
|
14
|
-
}
|
|
15
5
|
interface MenubarSubTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.SubmenuTrigger>, "className"> {
|
|
16
6
|
/**
|
|
17
7
|
* Applies additional CSS classes to the component root element.
|
|
@@ -212,7 +202,7 @@ declare namespace Menubar {
|
|
|
212
202
|
*
|
|
213
203
|
* @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}
|
|
214
204
|
*/
|
|
215
|
-
declare const MenubarTrigger: React.ForwardRefExoticComponent<Omit<
|
|
205
|
+
declare const MenubarTrigger: React.ForwardRefExoticComponent<Omit<MenubarTrigger.Props, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
216
206
|
/**
|
|
217
207
|
* Renders the menubar sub trigger.
|
|
218
208
|
*
|
|
@@ -382,11 +372,19 @@ declare namespace MenubarShortcut {
|
|
|
382
372
|
var displayName: string;
|
|
383
373
|
}
|
|
384
374
|
declare namespace Menubar {
|
|
385
|
-
type Props =
|
|
375
|
+
type Props = Omit<React.ComponentPropsWithRef<typeof BaseMenubar>, "className"> & {
|
|
376
|
+
className?: string;
|
|
377
|
+
};
|
|
386
378
|
type State = BaseMenubar.State;
|
|
387
379
|
}
|
|
388
380
|
declare namespace MenubarTrigger {
|
|
389
|
-
type Props =
|
|
381
|
+
type Props = Omit<React.ComponentPropsWithRef<typeof BaseMenu.Trigger>, "className"> & {
|
|
382
|
+
/**
|
|
383
|
+
* Applies additional CSS classes to the component root element.
|
|
384
|
+
* @default undefined
|
|
385
|
+
*/
|
|
386
|
+
className?: string;
|
|
387
|
+
};
|
|
390
388
|
type State = BaseMenu.Trigger.State;
|
|
391
389
|
}
|
|
392
390
|
declare namespace MenubarSubTrigger {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/menubar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAEpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,
|
|
1
|
+
{"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/menubar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ import { Menubar } from "@base-ui/react/menubar";
|
|
|
5
5
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
6
6
|
import { useRender } from "@base-ui/react/use-render";
|
|
7
7
|
import { Check, ChevronRight, Circle } from "lucide-react";
|
|
8
|
-
import { forwardRef, isValidElement } from "react";
|
|
9
8
|
import { cn } from "../../lib/utilities.js";
|
|
10
9
|
import menubar_module from "./menubar.module.js";
|
|
10
|
+
import * as __rspack_external_react from "react";
|
|
11
11
|
const MenubarMenu = Menu.Root;
|
|
12
12
|
const MenubarGroup = Menu.Group;
|
|
13
13
|
const MenubarPortal = Menu.Portal;
|
|
@@ -27,7 +27,7 @@ function menubar_Menubar(props) {
|
|
|
27
27
|
children: children
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
const MenubarTrigger = /*#__PURE__*/ forwardRef((props, ref)=>{
|
|
30
|
+
const MenubarTrigger = /*#__PURE__*/ __rspack_external_react.forwardRef((props, ref)=>{
|
|
31
31
|
const { className, children, render, ...otherProps } = props;
|
|
32
32
|
return /*#__PURE__*/ jsx(Menu.Trigger, {
|
|
33
33
|
ref: ref,
|
|
@@ -83,7 +83,7 @@ function MenubarSubContent(props) {
|
|
|
83
83
|
})
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
|
-
const MenubarContent = /*#__PURE__*/ forwardRef((props, ref)=>{
|
|
86
|
+
const MenubarContent = /*#__PURE__*/ __rspack_external_react.forwardRef((props, ref)=>{
|
|
87
87
|
const { alignOffset = -4, className, children, render, sideOffset = 8, ...otherProps } = props;
|
|
88
88
|
return /*#__PURE__*/ jsx(MenubarPortal, {
|
|
89
89
|
children: /*#__PURE__*/ jsx(Menu.Positioner, {
|
|
@@ -201,7 +201,7 @@ function MenubarSeparator(props) {
|
|
|
201
201
|
}
|
|
202
202
|
function MenubarShortcut(props) {
|
|
203
203
|
const { asChild = false, children, className, render, ...otherProps } = props;
|
|
204
|
-
const renderProp = asChild && /*#__PURE__*/ isValidElement(children) ? children : render;
|
|
204
|
+
const renderProp = asChild && /*#__PURE__*/ __rspack_external_react.isValidElement(children) ? children : render;
|
|
205
205
|
return useRender({
|
|
206
206
|
defaultTagName: "span",
|
|
207
207
|
render: renderProp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/ui/menubar.js","sources":["../../../src/components/ui/menubar.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {Menu as BaseMenu} from \"@base-ui/react/menu\";\r\nimport {Menubar as BaseMenubar} from \"@base-ui/react/menubar\";\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport {useRender} from \"@base-ui/react/use-render\";\r\nimport {Check, ChevronRight, Circle} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./menubar.module.css\";\r\n\r\ntype MenubarProps = Omit<React.ComponentPropsWithRef<typeof BaseMenubar>, \"className\"> & {className?: string};\r\ninterface MenubarTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Trigger>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\ninterface MenubarSubTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.SubmenuTrigger>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Applies inset spacing to align nested content.\r\n * @default false\r\n */\r\n inset?: boolean;\r\n}\r\ninterface MenubarContentProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Positioner>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\ninterface MenubarItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Item>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Applies inset spacing to align nested content.\r\n * @default false\r\n */\r\n inset?: boolean;\r\n}\r\ninterface MenubarCheckboxItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.CheckboxItem>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\ninterface MenubarRadioItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.RadioItem>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\ninterface MenubarLabelProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.GroupLabel>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Applies inset spacing to align nested content.\r\n * @default false\r\n */\r\n inset?: boolean;\r\n}\r\ninterface MenubarSeparatorProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Separator>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\ninterface MenubarShortcutProps extends React.ComponentPropsWithRef<\"span\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Overrides the default rendered element while preserving component behavior.\r\n * @default undefined\r\n */\r\n render?: useRender.RenderProp<Record<string, never>>;\r\n /**\r\n * Enables child element composition instead of rendering the default wrapper.\r\n * @default false\r\n * @deprecated Prefer Base UI's `render` prop.\r\n */\r\n asChild?: boolean;\r\n}\r\n\r\n/**\r\n * Renders the menubar menu.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarMenu>Content</MenubarMenu>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarMenu: typeof BaseMenu.Root & {displayName?: string} = BaseMenu.Root;\r\n/**\r\n * Renders the menubar group.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarGroup>Content</MenubarGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarGroup = BaseMenu.Group;\r\n/**\r\n * Provides the menubar portal container.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarPortal>Content</MenubarPortal>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarPortal = BaseMenu.Portal;\r\n/**\r\n * Coordinates the menubar radio group.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarRadioGroup>Content</MenubarRadioGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarRadioGroup = BaseMenu.RadioGroup;\r\n/**\r\n * Coordinates the menubar sub.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarSub>Content</MenubarSub>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarSub: typeof BaseMenu.SubmenuRoot & {displayName?: string} = BaseMenu.SubmenuRoot;\r\n\r\n/**\r\n * Coordinates menubar state and accessibility behavior.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <Menubar>Content</Menubar>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction Menubar(props: Readonly<Menubar.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenubar\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.root, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenubar>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar trigger.\r\n *\r\n * @remarks\r\n * - Renders a `<button>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarTrigger>Content</MenubarTrigger>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarTrigger = React.forwardRef<HTMLButtonElement, MenubarTrigger.Props>(\r\n (props: Readonly<MenubarTrigger.Props>, ref): React.ReactElement => {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.Trigger\r\n ref={ref}\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"button\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.trigger, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenu.Trigger>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Renders the menubar sub trigger.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarSubTrigger>Content</MenubarSubTrigger>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarSubTrigger(props: Readonly<MenubarSubTrigger.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.SubmenuTrigger\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, styles.subTrigger, inset && styles.inset, className)}, {}),\r\n })}>\r\n {children}\r\n <ChevronRight className={styles.subTriggerIcon} />\r\n </BaseMenu.SubmenuTrigger>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar sub content.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarSubContent>Content</MenubarSubContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarSubContent(props: Readonly<MenubarContent.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.Positioner\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps({className: styles.positioner}, {}),\r\n })}>\r\n <BaseMenu.Popup\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.content, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenu.Popup>\r\n </BaseMenu.Positioner>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar content.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarContent>Content</MenubarContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarContent = React.forwardRef<React.ComponentRef<typeof BaseMenu.Popup>, MenubarContent.Props>(\r\n (props: Readonly<MenubarContent.Props>, ref): React.ReactElement => {\r\n const {alignOffset = -4, className, children, render, sideOffset = 8, ...otherProps} = props;\r\n\r\n return (\r\n <MenubarPortal>\r\n <BaseMenu.Positioner\r\n alignOffset={alignOffset}\r\n sideOffset={sideOffset}\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps({className: styles.positioner}, {}),\r\n })}>\r\n <BaseMenu.Popup\r\n ref={ref}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.content, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenu.Popup>\r\n </BaseMenu.Positioner>\r\n </MenubarPortal>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Renders the menubar item.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarItem>Content</MenubarItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarItem(props: Readonly<MenubarItem.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.Item\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, inset && styles.inset, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenu.Item>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar checkbox item.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarCheckboxItem>Content</MenubarCheckboxItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarCheckboxItem(props: Readonly<MenubarCheckboxItem.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.CheckboxItem\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, styles.indicatorItem, className)}, {}),\r\n })}>\r\n <span className={styles.indicatorSlot}>\r\n <BaseMenu.CheckboxItemIndicator>\r\n <Check className={styles.indicatorIcon} />\r\n </BaseMenu.CheckboxItemIndicator>\r\n </span>\r\n {children}\r\n </BaseMenu.CheckboxItem>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar radio item.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarRadioItem>Content</MenubarRadioItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarRadioItem(props: Readonly<MenubarRadioItem.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.RadioItem\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, styles.indicatorItem, className)}, {}),\r\n })}>\r\n <span className={styles.indicatorSlot}>\r\n <BaseMenu.RadioItemIndicator>\r\n <Circle className={styles.radioIndicatorIcon} />\r\n </BaseMenu.RadioItemIndicator>\r\n </span>\r\n {children}\r\n </BaseMenu.RadioItem>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar label.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarLabel>Content</MenubarLabel>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarLabel(props: Readonly<MenubarLabel.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.GroupLabel\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.label, inset && styles.inset, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenu.GroupLabel>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar separator.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarSeparator>Content</MenubarSeparator>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarSeparator(props: Readonly<MenubarSeparator.Props>): React.ReactElement {\r\n const {className, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.Separator\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.separator, className)}, {}),\r\n })}\r\n />\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar shortcut.\r\n *\r\n * @remarks\r\n * - Renders a `<span>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarShortcut>Content</MenubarShortcut>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarShortcut(props: Readonly<MenubarShortcut.Props>): React.ReactElement {\r\n const {asChild = false, children, className, render, ...otherProps} = props;\r\n const renderProp = asChild && React.isValidElement(children) ? children : render;\r\n\r\n return useRender({\r\n defaultTagName: \"span\",\r\n render: renderProp as never,\r\n props: mergeProps({className: cn(styles.shortcut, className)}, otherProps, {\r\n children: renderProp ? undefined : children,\r\n }),\r\n });\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace Menubar {\r\n export type Props = MenubarProps;\r\n export type State = BaseMenubar.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarTrigger {\r\n export type Props = MenubarTriggerProps;\r\n export type State = BaseMenu.Trigger.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarSubTrigger {\r\n export type Props = MenubarSubTriggerProps;\r\n export type State = BaseMenu.SubmenuTrigger.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarContent {\r\n export type Props = MenubarContentProps;\r\n export type State = BaseMenu.Popup.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarSubContent {\r\n export type Props = MenubarContentProps;\r\n export type State = BaseMenu.Popup.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarItem {\r\n export type Props = MenubarItemProps;\r\n export type State = BaseMenu.Item.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarCheckboxItem {\r\n export type Props = MenubarCheckboxItemProps;\r\n export type State = BaseMenu.CheckboxItem.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarRadioItem {\r\n export type Props = MenubarRadioItemProps;\r\n export type State = BaseMenu.RadioItem.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarLabel {\r\n export type Props = MenubarLabelProps;\r\n export type State = BaseMenu.GroupLabel.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarSeparator {\r\n export type Props = MenubarSeparatorProps;\r\n export type State = BaseMenu.Separator.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarShortcut {\r\n export type Props = MenubarShortcutProps;\r\n export type State = Record<string, never>;\r\n}\r\n\r\nMenubarMenu.displayName = \"MenubarMenu\";\r\nMenubarGroup.displayName = \"MenubarGroup\";\r\nMenubarPortal.displayName = \"MenubarPortal\";\r\nMenubarRadioGroup.displayName = \"MenubarRadioGroup\";\r\nMenubarSub.displayName = \"MenubarSub\";\r\nMenubar.displayName = \"Menubar\";\r\nMenubarTrigger.displayName = \"MenubarTrigger\";\r\nMenubarSubTrigger.displayName = \"MenubarSubTrigger\";\r\nMenubarSubContent.displayName = \"MenubarSubContent\";\r\nMenubarContent.displayName = \"MenubarContent\";\r\nMenubarItem.displayName = \"MenubarItem\";\r\nMenubarCheckboxItem.displayName = \"MenubarCheckboxItem\";\r\nMenubarRadioItem.displayName = \"MenubarRadioItem\";\r\nMenubarLabel.displayName = \"MenubarLabel\";\r\nMenubarSeparator.displayName = \"MenubarSeparator\";\r\nMenubarShortcut.displayName = \"MenubarShortcut\";\r\n\r\nexport {\r\n Menubar,\r\n MenubarCheckboxItem,\r\n MenubarContent,\r\n MenubarGroup,\r\n MenubarItem,\r\n MenubarLabel,\r\n MenubarMenu,\r\n MenubarPortal,\r\n MenubarRadioGroup,\r\n MenubarRadioItem,\r\n MenubarSeparator,\r\n MenubarShortcut,\r\n MenubarSub,\r\n MenubarSubContent,\r\n MenubarSubTrigger,\r\n MenubarTrigger,\r\n};\r\n"],"names":["MenubarMenu","BaseMenu","MenubarGroup","MenubarPortal","MenubarRadioGroup","MenubarSub","Menubar","props","className","children","render","otherProps","BaseMenubar","useRender","mergeProps","cn","styles","MenubarTrigger","React","ref","MenubarSubTrigger","inset","ChevronRight","MenubarSubContent","MenubarContent","alignOffset","sideOffset","MenubarItem","MenubarCheckboxItem","Check","MenubarRadioItem","Circle","MenubarLabel","MenubarSeparator","MenubarShortcut","asChild","renderProp","undefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/ui/menubar.js","sources":["../../../src/components/ui/menubar.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {Menu as BaseMenu} from \"@base-ui/react/menu\";\r\nimport {Menubar as BaseMenubar} from \"@base-ui/react/menubar\";\r\nimport {mergeProps} from \"@base-ui/react/merge-props\";\r\nimport {useRender} from \"@base-ui/react/use-render\";\r\nimport {Check, ChevronRight, Circle} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {cn} from \"@/lib/utilities\";\r\nimport styles from \"./menubar.module.css\";\r\n\r\ninterface MenubarSubTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.SubmenuTrigger>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Applies inset spacing to align nested content.\r\n * @default false\r\n */\r\n inset?: boolean;\r\n}\r\ninterface MenubarContentProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Positioner>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\ninterface MenubarItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Item>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Applies inset spacing to align nested content.\r\n * @default false\r\n */\r\n inset?: boolean;\r\n}\r\ninterface MenubarCheckboxItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.CheckboxItem>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\ninterface MenubarRadioItemProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.RadioItem>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\ninterface MenubarLabelProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.GroupLabel>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Applies inset spacing to align nested content.\r\n * @default false\r\n */\r\n inset?: boolean;\r\n}\r\ninterface MenubarSeparatorProps extends Omit<React.ComponentPropsWithRef<typeof BaseMenu.Separator>, \"className\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\ninterface MenubarShortcutProps extends React.ComponentPropsWithRef<\"span\"> {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Overrides the default rendered element while preserving component behavior.\r\n * @default undefined\r\n */\r\n render?: useRender.RenderProp<Record<string, never>>;\r\n /**\r\n * Enables child element composition instead of rendering the default wrapper.\r\n * @default false\r\n * @deprecated Prefer Base UI's `render` prop.\r\n */\r\n asChild?: boolean;\r\n}\r\n\r\n/**\r\n * Renders the menubar menu.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarMenu>Content</MenubarMenu>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarMenu: typeof BaseMenu.Root & {displayName?: string} = BaseMenu.Root;\r\n/**\r\n * Renders the menubar group.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarGroup>Content</MenubarGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarGroup = BaseMenu.Group;\r\n/**\r\n * Provides the menubar portal container.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarPortal>Content</MenubarPortal>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarPortal = BaseMenu.Portal;\r\n/**\r\n * Coordinates the menubar radio group.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarRadioGroup>Content</MenubarRadioGroup>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarRadioGroup = BaseMenu.RadioGroup;\r\n/**\r\n * Coordinates the menubar sub.\r\n *\r\n * @remarks\r\n * - Delegates structure and state to the underlying Base UI primitive\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Preserves the underlying primitive API for advanced composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarSub>Content</MenubarSub>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarSub: typeof BaseMenu.SubmenuRoot & {displayName?: string} = BaseMenu.SubmenuRoot;\r\n\r\n/**\r\n * Coordinates menubar state and accessibility behavior.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <Menubar>Content</Menubar>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction Menubar(props: Readonly<Menubar.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenubar\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.root, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenubar>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar trigger.\r\n *\r\n * @remarks\r\n * - Renders a `<button>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarTrigger>Content</MenubarTrigger>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarTrigger = React.forwardRef<HTMLButtonElement, MenubarTrigger.Props>(\r\n (props: Readonly<MenubarTrigger.Props>, ref): React.ReactElement => {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.Trigger\r\n ref={ref}\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"button\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.trigger, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenu.Trigger>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Renders the menubar sub trigger.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarSubTrigger>Content</MenubarSubTrigger>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarSubTrigger(props: Readonly<MenubarSubTrigger.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.SubmenuTrigger\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, styles.subTrigger, inset && styles.inset, className)}, {}),\r\n })}>\r\n {children}\r\n <ChevronRight className={styles.subTriggerIcon} />\r\n </BaseMenu.SubmenuTrigger>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar sub content.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarSubContent>Content</MenubarSubContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarSubContent(props: Readonly<MenubarContent.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.Positioner\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps({className: styles.positioner}, {}),\r\n })}>\r\n <BaseMenu.Popup\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.content, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenu.Popup>\r\n </BaseMenu.Positioner>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar content.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarContent>Content</MenubarContent>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nconst MenubarContent = React.forwardRef<React.ComponentRef<typeof BaseMenu.Popup>, MenubarContent.Props>(\r\n (props: Readonly<MenubarContent.Props>, ref): React.ReactElement => {\r\n const {alignOffset = -4, className, children, render, sideOffset = 8, ...otherProps} = props;\r\n\r\n return (\r\n <MenubarPortal>\r\n <BaseMenu.Positioner\r\n alignOffset={alignOffset}\r\n sideOffset={sideOffset}\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps({className: styles.positioner}, {}),\r\n })}>\r\n <BaseMenu.Popup\r\n ref={ref}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.content, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenu.Popup>\r\n </BaseMenu.Positioner>\r\n </MenubarPortal>\r\n );\r\n },\r\n);\r\n\r\n/**\r\n * Renders the menubar item.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarItem>Content</MenubarItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarItem(props: Readonly<MenubarItem.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.Item\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, inset && styles.inset, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenu.Item>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar checkbox item.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarCheckboxItem>Content</MenubarCheckboxItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarCheckboxItem(props: Readonly<MenubarCheckboxItem.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.CheckboxItem\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, styles.indicatorItem, className)}, {}),\r\n })}>\r\n <span className={styles.indicatorSlot}>\r\n <BaseMenu.CheckboxItemIndicator>\r\n <Check className={styles.indicatorIcon} />\r\n </BaseMenu.CheckboxItemIndicator>\r\n </span>\r\n {children}\r\n </BaseMenu.CheckboxItem>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar radio item.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarRadioItem>Content</MenubarRadioItem>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarRadioItem(props: Readonly<MenubarRadioItem.Props>): React.ReactElement {\r\n const {className, children, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.RadioItem\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.item, styles.indicatorItem, className)}, {}),\r\n })}>\r\n <span className={styles.indicatorSlot}>\r\n <BaseMenu.RadioItemIndicator>\r\n <Circle className={styles.radioIndicatorIcon} />\r\n </BaseMenu.RadioItemIndicator>\r\n </span>\r\n {children}\r\n </BaseMenu.RadioItem>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar label.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarLabel>Content</MenubarLabel>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarLabel(props: Readonly<MenubarLabel.Props>): React.ReactElement {\r\n const {className, children, inset = false, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.GroupLabel\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.label, inset && styles.inset, className)}, {}),\r\n })}>\r\n {children}\r\n </BaseMenu.GroupLabel>\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar separator.\r\n *\r\n * @remarks\r\n * - Renders a `<div>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarSeparator>Content</MenubarSeparator>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarSeparator(props: Readonly<MenubarSeparator.Props>): React.ReactElement {\r\n const {className, render, ...otherProps} = props;\r\n\r\n return (\r\n <BaseMenu.Separator\r\n {...otherProps}\r\n render={useRender({\r\n defaultTagName: \"div\",\r\n render: render as never,\r\n props: mergeProps({className: cn(styles.separator, className)}, {}),\r\n })}\r\n />\r\n );\r\n}\r\n\r\n/**\r\n * Renders the menubar shortcut.\r\n *\r\n * @remarks\r\n * - Renders a `<span>` element by default\r\n * - Built on {@link https://base-ui.com/react/components/menubar | Base UI Menubar}\r\n * - Supports the `render` prop for element composition\r\n *\r\n * @example\r\n * ```tsx\r\n * <MenubarShortcut>Content</MenubarShortcut>\r\n * ```\r\n *\r\n * @see {@link https://base-ui.com/react/components/menubar | Base UI Documentation}\r\n */\r\nfunction MenubarShortcut(props: Readonly<MenubarShortcut.Props>): React.ReactElement {\r\n // eslint-disable-next-line sonarjs/deprecation -- backward-compatible asChild API\r\n const {asChild = false, children, className, render, ...otherProps} = props;\r\n const renderProp = asChild && React.isValidElement(children) ? children : render;\r\n\r\n return useRender({\r\n defaultTagName: \"span\",\r\n render: renderProp as never,\r\n props: mergeProps({className: cn(styles.shortcut, className)}, otherProps, {\r\n children: renderProp ? undefined : children,\r\n }),\r\n });\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace Menubar {\r\n export type Props = Omit<React.ComponentPropsWithRef<typeof BaseMenubar>, \"className\"> & {className?: string};\r\n export type State = BaseMenubar.State;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarTrigger {\r\n export type Props = Omit<React.ComponentPropsWithRef<typeof BaseMenu.Trigger>, \"className\"> & {\r\n /**\r\n * Applies additional CSS classes to the component root element.\r\n * @default undefined\r\n */\r\n className?: string;\r\n };\r\n export type State = BaseMenu.Trigger.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarSubTrigger {\r\n export type Props = MenubarSubTriggerProps;\r\n export type State = BaseMenu.SubmenuTrigger.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarContent {\r\n export type Props = MenubarContentProps;\r\n export type State = BaseMenu.Popup.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarSubContent {\r\n export type Props = MenubarContentProps;\r\n export type State = BaseMenu.Popup.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarItem {\r\n export type Props = MenubarItemProps;\r\n export type State = BaseMenu.Item.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarCheckboxItem {\r\n export type Props = MenubarCheckboxItemProps;\r\n export type State = BaseMenu.CheckboxItem.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarRadioItem {\r\n export type Props = MenubarRadioItemProps;\r\n export type State = BaseMenu.RadioItem.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarLabel {\r\n export type Props = MenubarLabelProps;\r\n export type State = BaseMenu.GroupLabel.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarSeparator {\r\n export type Props = MenubarSeparatorProps;\r\n export type State = BaseMenu.Separator.State;\r\n}\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace MenubarShortcut {\r\n export type Props = MenubarShortcutProps;\r\n export type State = Record<string, never>;\r\n}\r\n\r\nMenubarMenu.displayName = \"MenubarMenu\";\r\nMenubarGroup.displayName = \"MenubarGroup\";\r\nMenubarPortal.displayName = \"MenubarPortal\";\r\nMenubarRadioGroup.displayName = \"MenubarRadioGroup\";\r\nMenubarSub.displayName = \"MenubarSub\";\r\nMenubar.displayName = \"Menubar\";\r\nMenubarTrigger.displayName = \"MenubarTrigger\";\r\nMenubarSubTrigger.displayName = \"MenubarSubTrigger\";\r\nMenubarSubContent.displayName = \"MenubarSubContent\";\r\nMenubarContent.displayName = \"MenubarContent\";\r\nMenubarItem.displayName = \"MenubarItem\";\r\nMenubarCheckboxItem.displayName = \"MenubarCheckboxItem\";\r\nMenubarRadioItem.displayName = \"MenubarRadioItem\";\r\nMenubarLabel.displayName = \"MenubarLabel\";\r\nMenubarSeparator.displayName = \"MenubarSeparator\";\r\nMenubarShortcut.displayName = \"MenubarShortcut\";\r\n\r\nexport {\r\n Menubar,\r\n MenubarCheckboxItem,\r\n MenubarContent,\r\n MenubarGroup,\r\n MenubarItem,\r\n MenubarLabel,\r\n MenubarMenu,\r\n MenubarPortal,\r\n MenubarRadioGroup,\r\n MenubarRadioItem,\r\n MenubarSeparator,\r\n MenubarShortcut,\r\n MenubarSub,\r\n MenubarSubContent,\r\n MenubarSubTrigger,\r\n MenubarTrigger,\r\n};\r\n"],"names":["MenubarMenu","BaseMenu","MenubarGroup","MenubarPortal","MenubarRadioGroup","MenubarSub","Menubar","props","className","children","render","otherProps","BaseMenubar","useRender","mergeProps","cn","styles","MenubarTrigger","React","ref","MenubarSubTrigger","inset","ChevronRight","MenubarSubContent","MenubarContent","alignOffset","sideOffset","MenubarItem","MenubarCheckboxItem","Check","MenubarRadioItem","Circle","MenubarLabel","MenubarSeparator","MenubarShortcut","asChild","renderProp","undefined"],"mappings":"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"}
|
|
@@ -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/menubar.module.css","webpack://./src/components/ui/menubar.module.css"],"names":[],"mappings":"AAAA;ECCE,sCAAsC;EACtC,kCAAkC;EAClC,kCAAkC;EAClC,sBAAsB;EACtB,kCAAkC;EAClC,0BAA0B;EAC1B,+BAA+B;AACjC;;ADRuO;ECWrO,mBAAmB;EACnB,oBAAoB;AACtB;;ADb6R;ECgB3R,kCAAkC;EAClC,2BAA2B;EAC3B,eAAe;EACf,4BAA4B;EAC5B,4DAA4D;EAC5D,4BAA4B;EAC5B,gBAAgB;EAChB,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,gBAAgB;AAClB;;AD3B6jB;EC8B3jB,kCAAkC;EAClC,kCAAkC;AACpC;;ADhCkrB;ECmChrB,WAAW;AACb;;ADpCysB;ECuCvsB,mCAAmC;EACnC,kCAAkC;EAClC,kCAAkC;EAClC,mCAAmC;EACnC,qDAAqD;EACrD,gBAAgB;EAChB,0BAA0B;EAC1B,qFAAqF;EACrF,qBAAqB;EACrB,uCAAuC;AACzC;;ADjD8lC;ECoD5lC,UAAU;EACV,qBAAqB;AACvB;;ADtDurC;ECyDrrC,kCAAkC;EAClC,eAAe;EACf,4BAA4B;EAC5B,mBAAmB;EACnB,sBAAsB;EACtB,kCAAkC;EAClC,4CAA4C;EAC5C,yBAAyB;EACzB,iBAAiB;EACjB,aAAa;EACb,WAAW;EACX,aAAa;EACb,kBAAkB;AACpB;;ADtEy8C;ECyEv8C,kCAAkC;EAClC,kCAAkC;AACpC;;AD3EqiD;EC8EniD,WAAW;EACX,oBAAoB;AACtB;;ADhFylD;ECmFvlD,gCAAgC;AAClC;;ADpFqoD;ECuFnoD,kCAAkC;EAClC,kCAAkC;AACpC;;ADzFsuD;EC4FpuD,WAAW;EACX,YAAY;EACZ,iBAAiB;AACnB;;AD/F8xD;ECkG5xD,+CAA+C;AACjD;;ADnG41D;ECsG11D,YAAY;EACZ,uBAAuB;EACvB,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,oBAAoB;EACpB,kBAAkB;AACpB;;AD7Gy+D;ECgHv+D,cAAc;EACd,eAAe;AACjB;;ADlHyiE;ECqHviE,kBAAkB;AACpB;;ADtH+kE;ECyH7kE,4BAA4B;EAC5B,4CAA4C;EAC5C,gBAAgB;AAClB;;AD5H8qE;EC+H5qE,+CAA+C;AACjD;;ADhIouE;ECmIluE,kCAAkC;EAClC,WAAW;EACX,oDAAoD;AACtD;;ADtIg1E;ECyI90E,iCAAiC;EACjC,4BAA4B;EAC5B,qBAAqB;EACrB,iBAAiB;AACnB","sourcesContent":[".root{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,.04);gap:var(--ac-space-1);min-height:var(--ac-size-default);padding:var(--ac-space-1)}.root,.trigger{align-items:center;display:inline-flex}.trigger{background:transparent;border:none;border-radius:var(--ac-radius-sm);color:var(--ac-foreground);cursor:default;font-size:var(--ac-text-sm);font-weight:500;justify-content:center;min-height:calc(var(--ac-size-default) - var(--ac-space-1));outline:none;padding:0 var(--ac-space-3)}.trigger:focus-visible,.trigger[data-popup-open]{background-color:var(--ac-accent);color:var(--ac-accent-foreground)}.positioner{z-index:50}.content{background-color:var(--ac-popover);border:1px solid var(--ac-border);border-radius:var(--ac-radius-md);box-shadow:0 16px 40px -16px rgba(0,0,0,.35);color:var(--ac-popover-foreground);max-height:min(24rem,var(--available-height,24rem));min-width:12rem;overflow-x:hidden;overflow-y:auto;padding:var(--ac-space-1);transition:opacity var(--ac-transition-normal),transform var(--ac-transition-normal)}.content[data-ending-style],.content[data-starting-style]{opacity:0;transform:scale(.96)}.item{align-items:center;border-radius:var(--ac-radius-sm);cursor:default;display:flex;font-size:var(--ac-text-sm);gap:var(--ac-space-2);min-height:var(--ac-size-default);outline:none;padding:var(--ac-space-1) var(--ac-space-2);position:relative;user-select:none;width:100%}.item[data-highlighted]{background-color:var(--ac-accent);color:var(--ac-accent-foreground)}.item[data-disabled]{opacity:.5;pointer-events:none}.subTrigger{padding-right:var(--ac-space-3)}.subTrigger[data-popup-open]{background-color:var(--ac-accent);color:var(--ac-accent-foreground)}.subTriggerIcon{height:1rem;margin-left:auto;width:1rem}.indicatorItem{padding-left:calc(var(--ac-space-2) + 1.25rem)}.indicatorSlot{align-items:center;display:inline-flex;height:1rem;justify-content:center;left:var(--ac-space-2);position:absolute;width:1rem}.indicatorIcon,.radioIndicatorIcon{height:.875rem;width:.875rem}.radioIndicatorIcon{fill:currentcolor}.label{font-size:var(--ac-text-sm);font-weight:600;padding:var(--ac-space-1) var(--ac-space-2)}.inset{padding-left:calc(var(--ac-space-2) + 1.25rem)}.separator{background-color:var(--ac-border);height:1px;margin:var(--ac-space-1) calc(var(--ac-space-1)*-1)}.shortcut{color:var(--ac-muted-foreground);font-size:var(--ac-text-xs);letter-spacing:.08em;margin-left:auto}",".root {\n background-color: var(--ac-background);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-md);\n gap: var(--ac-space-1);\n min-height: var(--ac-size-default);\n padding: var(--ac-space-1);\n box-shadow: 0 1px 2px #0000000a;\n}\n\n.root, .trigger {\n align-items: center;\n display: inline-flex;\n}\n\n.trigger {\n border-radius: var(--ac-radius-sm);\n color: var(--ac-foreground);\n cursor: default;\n font-size: var(--ac-text-sm);\n min-height: calc(var(--ac-size-default) - var(--ac-space-1));\n padding: 0 var(--ac-space-3);\n background: none;\n border: none;\n outline: none;\n justify-content: center;\n font-weight: 500;\n}\n\n.trigger:focus-visible, .trigger[data-popup-open] {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n}\n\n.positioner {\n z-index: 50;\n}\n\n.content {\n background-color: var(--ac-popover);\n border: 1px solid var(--ac-border);\n border-radius: var(--ac-radius-md);\n color: var(--ac-popover-foreground);\n max-height: min(24rem,var(--available-height, 24rem));\n min-width: 12rem;\n padding: var(--ac-space-1);\n transition: opacity var(--ac-transition-normal),transform var(--ac-transition-normal);\n overflow: hidden auto;\n box-shadow: 0 16px 40px -16px #00000059;\n}\n\n.content[data-ending-style], .content[data-starting-style] {\n opacity: 0;\n transform: scale(.96);\n}\n\n.item {\n border-radius: var(--ac-radius-sm);\n cursor: default;\n font-size: var(--ac-text-sm);\n align-items: center;\n gap: var(--ac-space-2);\n min-height: var(--ac-size-default);\n padding: var(--ac-space-1) var(--ac-space-2);\n -webkit-user-select: none;\n user-select: none;\n outline: none;\n width: 100%;\n display: flex;\n position: relative;\n}\n\n.item[data-highlighted] {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n}\n\n.item[data-disabled] {\n opacity: .5;\n pointer-events: none;\n}\n\n.subTrigger {\n padding-right: var(--ac-space-3);\n}\n\n.subTrigger[data-popup-open] {\n background-color: var(--ac-accent);\n color: var(--ac-accent-foreground);\n}\n\n.subTriggerIcon {\n width: 1rem;\n height: 1rem;\n margin-left: auto;\n}\n\n.indicatorItem {\n padding-left: calc(var(--ac-space-2) + 1.25rem);\n}\n\n.indicatorSlot {\n height: 1rem;\n left: var(--ac-space-2);\n justify-content: center;\n align-items: center;\n width: 1rem;\n display: inline-flex;\n position: absolute;\n}\n\n.indicatorIcon, .radioIndicatorIcon {\n width: .875rem;\n height: .875rem;\n}\n\n.radioIndicatorIcon {\n fill: currentColor;\n}\n\n.label {\n font-size: var(--ac-text-sm);\n padding: var(--ac-space-1) var(--ac-space-2);\n font-weight: 600;\n}\n\n.inset {\n padding-left: calc(var(--ac-space-2) + 1.25rem);\n}\n\n.separator {\n background-color: var(--ac-border);\n height: 1px;\n margin: var(--ac-space-1) calc(var(--ac-space-1)*-1);\n}\n\n.shortcut {\n color: var(--ac-muted-foreground);\n font-size: var(--ac-text-xs);\n letter-spacing: .08em;\n margin-left: auto;\n}\n"],"sourceRoot":""}
|