@arolariu/components 0.0.30 → 0.0.31
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/dist/cjs/components/ui/accordion.cjs +1 -1
- package/dist/cjs/components/ui/accordion.cjs.map +1 -1
- package/dist/cjs/components/ui/alert-dialog.cjs +1 -1
- package/dist/cjs/components/ui/alert-dialog.cjs.map +1 -1
- package/dist/cjs/components/ui/alert.cjs +1 -1
- package/dist/cjs/components/ui/alert.cjs.map +1 -1
- package/dist/cjs/components/ui/aspect-ratio.cjs +1 -1
- package/dist/cjs/components/ui/aspect-ratio.cjs.map +1 -1
- package/dist/cjs/components/ui/avatar.cjs +1 -1
- package/dist/cjs/components/ui/avatar.cjs.map +1 -1
- package/dist/cjs/components/ui/badge.cjs +1 -1
- package/dist/cjs/components/ui/badge.cjs.map +1 -1
- package/dist/cjs/components/ui/breadcrumb.cjs +1 -1
- package/dist/cjs/components/ui/breadcrumb.cjs.map +1 -1
- package/dist/cjs/components/ui/button.cjs +1 -1
- package/dist/cjs/components/ui/button.cjs.map +1 -1
- package/dist/cjs/components/ui/calendar.cjs +1 -1
- package/dist/cjs/components/ui/calendar.cjs.map +1 -1
- package/dist/cjs/components/ui/card.cjs +1 -1
- package/dist/cjs/components/ui/card.cjs.map +1 -1
- package/dist/cjs/components/ui/carousel.cjs +1 -1
- package/dist/cjs/components/ui/carousel.cjs.map +1 -1
- package/dist/cjs/components/ui/chart.cjs +3 -3
- package/dist/cjs/components/ui/chart.cjs.map +1 -1
- package/dist/cjs/components/ui/checkbox.cjs +1 -1
- package/dist/cjs/components/ui/checkbox.cjs.map +1 -1
- package/dist/cjs/components/ui/collapsible.cjs +1 -1
- package/dist/cjs/components/ui/collapsible.cjs.map +1 -1
- package/dist/cjs/components/ui/command.cjs +1 -1
- package/dist/cjs/components/ui/command.cjs.map +1 -1
- package/dist/cjs/components/ui/context-menu.cjs +1 -1
- package/dist/cjs/components/ui/context-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/dialog.cjs +1 -1
- package/dist/cjs/components/ui/dialog.cjs.map +1 -1
- package/dist/cjs/components/ui/drawer.cjs +1 -1
- package/dist/cjs/components/ui/drawer.cjs.map +1 -1
- package/dist/cjs/components/ui/dropdown-menu.cjs +1 -1
- package/dist/cjs/components/ui/dropdown-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/form.cjs +1 -1
- package/dist/cjs/components/ui/form.cjs.map +1 -1
- package/dist/cjs/components/ui/hover-card.cjs +1 -1
- package/dist/cjs/components/ui/hover-card.cjs.map +1 -1
- package/dist/cjs/components/ui/input-otp.cjs +1 -1
- package/dist/cjs/components/ui/input-otp.cjs.map +1 -1
- package/dist/cjs/components/ui/input.cjs +1 -1
- package/dist/cjs/components/ui/input.cjs.map +1 -1
- package/dist/cjs/components/ui/label.cjs +1 -1
- package/dist/cjs/components/ui/label.cjs.map +1 -1
- package/dist/cjs/components/ui/menubar.cjs +1 -1
- package/dist/cjs/components/ui/menubar.cjs.map +1 -1
- package/dist/cjs/components/ui/navigation-menu.cjs +1 -1
- package/dist/cjs/components/ui/navigation-menu.cjs.map +1 -1
- package/dist/cjs/components/ui/pagination.cjs +1 -1
- package/dist/cjs/components/ui/pagination.cjs.map +1 -1
- package/dist/cjs/components/ui/popover.cjs +1 -1
- package/dist/cjs/components/ui/popover.cjs.map +1 -1
- package/dist/cjs/components/ui/progress.cjs +1 -1
- package/dist/cjs/components/ui/progress.cjs.map +1 -1
- package/dist/cjs/components/ui/radio-group.cjs +1 -1
- package/dist/cjs/components/ui/radio-group.cjs.map +1 -1
- package/dist/cjs/components/ui/resizable.cjs +1 -1
- package/dist/cjs/components/ui/resizable.cjs.map +1 -1
- package/dist/cjs/components/ui/scroll-area.cjs +1 -1
- package/dist/cjs/components/ui/scroll-area.cjs.map +1 -1
- package/dist/cjs/components/ui/select.cjs +1 -1
- package/dist/cjs/components/ui/select.cjs.map +1 -1
- package/dist/cjs/components/ui/separator.cjs +1 -1
- package/dist/cjs/components/ui/separator.cjs.map +1 -1
- package/dist/cjs/components/ui/sheet.cjs +1 -1
- package/dist/cjs/components/ui/sheet.cjs.map +1 -1
- package/dist/cjs/components/ui/sidebar.cjs +1 -1
- package/dist/cjs/components/ui/sidebar.cjs.map +1 -1
- package/dist/cjs/components/ui/skeleton.cjs +1 -1
- package/dist/cjs/components/ui/skeleton.cjs.map +1 -1
- package/dist/cjs/components/ui/slider.cjs +1 -1
- package/dist/cjs/components/ui/slider.cjs.map +1 -1
- package/dist/cjs/components/ui/sonner.cjs +1 -1
- package/dist/cjs/components/ui/sonner.cjs.map +1 -1
- package/dist/cjs/components/ui/switch.cjs +1 -1
- package/dist/cjs/components/ui/switch.cjs.map +1 -1
- package/dist/cjs/components/ui/table.cjs +1 -1
- package/dist/cjs/components/ui/table.cjs.map +1 -1
- package/dist/cjs/components/ui/tabs.cjs +1 -1
- package/dist/cjs/components/ui/tabs.cjs.map +1 -1
- package/dist/cjs/components/ui/textarea.cjs +1 -1
- package/dist/cjs/components/ui/textarea.cjs.map +1 -1
- package/dist/cjs/components/ui/toggle-group.cjs +1 -1
- package/dist/cjs/components/ui/toggle-group.cjs.map +1 -1
- package/dist/cjs/components/ui/toggle.cjs +1 -1
- package/dist/cjs/components/ui/toggle.cjs.map +1 -1
- package/dist/cjs/components/ui/tooltip.cjs +1 -1
- package/dist/cjs/components/ui/tooltip.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-accordion/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-accordion/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-alert-dialog/dist/index.cjs +3 -3
- package/dist/cjs/node_modules/@radix-ui/react-alert-dialog/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-arrow/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-arrow/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-aspect-ratio/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-aspect-ratio/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-avatar/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-avatar/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-checkbox/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-checkbox/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-collapsible/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-collapsible/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-collection/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-collection/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-context/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-context-menu/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-context-menu/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-dialog/dist/index.cjs +2 -2
- package/dist/cjs/node_modules/@radix-ui/react-dialog/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-direction/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-direction/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-focus-scope/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-hover-card/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-hover-card/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-label/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-label/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-menu/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-menu/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-menubar/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-menubar/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-navigation-menu/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-navigation-menu/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-popover/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-popover/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-portal/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-portal/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-primitive/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-progress/dist/index.cjs +2 -2
- package/dist/cjs/node_modules/@radix-ui/react-progress/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-radio-group/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-radio-group/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-roving-focus/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-scroll-area/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-scroll-area/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-select/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-select/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-separator/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-separator/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-slider/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-slider/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-switch/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-switch/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-tabs/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-tabs/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-toggle/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-toggle/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-toggle-group/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-toggle-group/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-tooltip/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs.map +1 -1
- package/dist/cjs/node_modules/react-day-picker/dist/index.esm.cjs +1 -1
- package/dist/cjs/node_modules/react-day-picker/dist/index.esm.cjs.map +1 -1
- package/dist/esm/components/ui/accordion.js +20 -20
- package/dist/esm/components/ui/accordion.js.map +1 -1
- package/dist/esm/components/ui/alert-dialog.js +53 -50
- package/dist/esm/components/ui/alert-dialog.js.map +1 -1
- package/dist/esm/components/ui/alert.js +6 -6
- package/dist/esm/components/ui/alert.js.map +1 -1
- package/dist/esm/components/ui/aspect-ratio.js +4 -4
- package/dist/esm/components/ui/aspect-ratio.js.map +1 -1
- package/dist/esm/components/ui/avatar.js +7 -7
- package/dist/esm/components/ui/avatar.js.map +1 -1
- package/dist/esm/components/ui/badge.js +9 -10
- package/dist/esm/components/ui/badge.js.map +1 -1
- package/dist/esm/components/ui/breadcrumb.js +36 -31
- package/dist/esm/components/ui/breadcrumb.js.map +1 -1
- package/dist/esm/components/ui/button.js +9 -10
- package/dist/esm/components/ui/button.js.map +1 -1
- package/dist/esm/components/ui/calendar.js +4 -4
- package/dist/esm/components/ui/calendar.js.map +1 -1
- package/dist/esm/components/ui/card.js +15 -12
- package/dist/esm/components/ui/card.js.map +1 -1
- package/dist/esm/components/ui/carousel.js +83 -83
- package/dist/esm/components/ui/carousel.js.map +1 -1
- package/dist/esm/components/ui/chart.js +80 -80
- package/dist/esm/components/ui/chart.js.map +1 -1
- package/dist/esm/components/ui/checkbox.js +4 -4
- package/dist/esm/components/ui/checkbox.js.map +1 -1
- package/dist/esm/components/ui/collapsible.js +10 -10
- package/dist/esm/components/ui/collapsible.js.map +1 -1
- package/dist/esm/components/ui/command.js +53 -53
- package/dist/esm/components/ui/command.js.map +1 -1
- package/dist/esm/components/ui/context-menu.js +80 -77
- package/dist/esm/components/ui/context-menu.js.map +1 -1
- package/dist/esm/components/ui/dialog.js +48 -45
- package/dist/esm/components/ui/dialog.js.map +1 -1
- package/dist/esm/components/ui/drawer.js +55 -49
- package/dist/esm/components/ui/drawer.js.map +1 -1
- package/dist/esm/components/ui/dropdown-menu.js +67 -64
- package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
- package/dist/esm/components/ui/form.js +44 -38
- package/dist/esm/components/ui/form.js.map +1 -1
- package/dist/esm/components/ui/hover-card.js +6 -6
- package/dist/esm/components/ui/hover-card.js.map +1 -1
- package/dist/esm/components/ui/input-otp.js +19 -19
- package/dist/esm/components/ui/input-otp.js.map +1 -1
- package/dist/esm/components/ui/input.js +2 -2
- package/dist/esm/components/ui/input.js.map +1 -1
- package/dist/esm/components/ui/label.js +4 -4
- package/dist/esm/components/ui/label.js.map +1 -1
- package/dist/esm/components/ui/menubar.js +94 -91
- package/dist/esm/components/ui/menubar.js.map +1 -1
- package/dist/esm/components/ui/navigation-menu.js +44 -44
- package/dist/esm/components/ui/navigation-menu.js.map +1 -1
- package/dist/esm/components/ui/pagination.js +39 -39
- package/dist/esm/components/ui/pagination.js.map +1 -1
- package/dist/esm/components/ui/popover.js +9 -9
- package/dist/esm/components/ui/popover.js.map +1 -1
- package/dist/esm/components/ui/progress.js +9 -9
- package/dist/esm/components/ui/progress.js.map +1 -1
- package/dist/esm/components/ui/radio-group.js +8 -8
- package/dist/esm/components/ui/radio-group.js.map +1 -1
- package/dist/esm/components/ui/resizable.js +8 -8
- package/dist/esm/components/ui/resizable.js.map +1 -1
- package/dist/esm/components/ui/scroll-area.js +22 -22
- package/dist/esm/components/ui/scroll-area.js.map +1 -1
- package/dist/esm/components/ui/select.js +81 -78
- package/dist/esm/components/ui/select.js.map +1 -1
- package/dist/esm/components/ui/separator.js +4 -4
- package/dist/esm/components/ui/separator.js.map +1 -1
- package/dist/esm/components/ui/sheet.js +50 -44
- package/dist/esm/components/ui/sheet.js.map +1 -1
- package/dist/esm/components/ui/sidebar.js +178 -179
- package/dist/esm/components/ui/sidebar.js.map +1 -1
- package/dist/esm/components/ui/skeleton.js +8 -5
- package/dist/esm/components/ui/skeleton.js.map +1 -1
- package/dist/esm/components/ui/slider.js +21 -21
- package/dist/esm/components/ui/slider.js.map +1 -1
- package/dist/esm/components/ui/sonner.js +2 -2
- package/dist/esm/components/ui/sonner.js.map +1 -1
- package/dist/esm/components/ui/switch.js +3 -3
- package/dist/esm/components/ui/switch.js.map +1 -1
- package/dist/esm/components/ui/table.js +20 -17
- package/dist/esm/components/ui/table.js.map +1 -1
- package/dist/esm/components/ui/tabs.js +5 -5
- package/dist/esm/components/ui/tabs.js.map +1 -1
- package/dist/esm/components/ui/textarea.js +2 -2
- package/dist/esm/components/ui/textarea.js.map +1 -1
- package/dist/esm/components/ui/toggle-group.js +7 -7
- package/dist/esm/components/ui/toggle-group.js.map +1 -1
- package/dist/esm/components/ui/toggle.js +5 -5
- package/dist/esm/components/ui/toggle.js.map +1 -1
- package/dist/esm/components/ui/tooltip.js +19 -19
- package/dist/esm/components/ui/tooltip.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-accordion/dist/index.js +74 -74
- package/dist/esm/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-alert-dialog/dist/index.js +69 -69
- package/dist/esm/node_modules/@radix-ui/react-alert-dialog/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-arrow/dist/index.js +6 -6
- package/dist/esm/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-aspect-ratio/dist/index.js +12 -12
- package/dist/esm/node_modules/@radix-ui/react-aspect-ratio/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-avatar/dist/index.js +29 -29
- package/dist/esm/node_modules/@radix-ui/react-avatar/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-checkbox/dist/index.js +62 -62
- package/dist/esm/node_modules/@radix-ui/react-checkbox/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-collapsible/dist/index.js +46 -46
- package/dist/esm/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-collection/dist/index.js +26 -26
- package/dist/esm/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-context/dist/index.js +21 -21
- package/dist/esm/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-context-menu/dist/index.js +115 -115
- package/dist/esm/node_modules/@radix-ui/react-context-menu/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.js +100 -100
- package/dist/esm/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-direction/dist/index.js +1 -1
- package/dist/esm/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +38 -38
- package/dist/esm/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +105 -105
- package/dist/esm/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-focus-scope/dist/index.js +9 -9
- package/dist/esm/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-hover-card/dist/index.js +41 -41
- package/dist/esm/node_modules/@radix-ui/react-hover-card/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-label/dist/index.js +3 -3
- package/dist/esm/node_modules/@radix-ui/react-label/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-menu/dist/index.js +198 -198
- package/dist/esm/node_modules/@radix-ui/react-menu/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-menubar/dist/index.js +96 -96
- package/dist/esm/node_modules/@radix-ui/react-menubar/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-navigation-menu/dist/index.js +236 -236
- package/dist/esm/node_modules/@radix-ui/react-navigation-menu/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-popover/dist/index.js +90 -90
- package/dist/esm/node_modules/@radix-ui/react-popover/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.js +49 -49
- package/dist/esm/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-portal/dist/index.js +8 -8
- package/dist/esm/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-primitive/dist/index.js +10 -10
- package/dist/esm/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-progress/dist/index.js +18 -18
- package/dist/esm/node_modules/@radix-ui/react-progress/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-radio-group/dist/index.js +86 -86
- package/dist/esm/node_modules/@radix-ui/react-radio-group/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-roving-focus/dist/index.js +29 -29
- package/dist/esm/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-scroll-area/dist/index.js +170 -170
- package/dist/esm/node_modules/@radix-ui/react-scroll-area/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-select/dist/index.js +350 -350
- package/dist/esm/node_modules/@radix-ui/react-select/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-separator/dist/index.js +6 -6
- package/dist/esm/node_modules/@radix-ui/react-separator/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-slider/dist/index.js +114 -114
- package/dist/esm/node_modules/@radix-ui/react-slider/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.js +14 -14
- package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-switch/dist/index.js +48 -48
- package/dist/esm/node_modules/@radix-ui/react-switch/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-tabs/dist/index.js +48 -48
- package/dist/esm/node_modules/@radix-ui/react-tabs/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-toggle/dist/index.js +6 -6
- package/dist/esm/node_modules/@radix-ui/react-toggle/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-toggle-group/dist/index.js +67 -71
- package/dist/esm/node_modules/@radix-ui/react-toggle-group/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.js +97 -97
- package/dist/esm/node_modules/@radix-ui/react-tooltip/dist/index.js.map +1 -1
- package/dist/esm/node_modules/@radix-ui/react-visually-hidden/dist/index.js +4 -4
- package/dist/esm/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +1 -1
- package/dist/esm/node_modules/react-day-picker/dist/index.esm.js +483 -483
- package/dist/esm/node_modules/react-day-picker/dist/index.esm.js.map +1 -1
- package/dist/types/components/ui/accordion.d.ts.map +1 -1
- package/dist/types/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/types/components/ui/alert.d.ts.map +1 -1
- package/dist/types/components/ui/avatar.d.ts.map +1 -1
- package/dist/types/components/ui/badge.d.ts.map +1 -1
- package/dist/types/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/types/components/ui/button.d.ts.map +1 -1
- package/dist/types/components/ui/calendar.d.ts.map +1 -1
- package/dist/types/components/ui/card.d.ts +1 -1
- package/dist/types/components/ui/card.d.ts.map +1 -1
- package/dist/types/components/ui/carousel.d.ts +1 -1
- package/dist/types/components/ui/carousel.d.ts.map +1 -1
- package/dist/types/components/ui/chart.d.ts.map +1 -1
- package/dist/types/components/ui/checkbox.d.ts.map +1 -1
- package/dist/types/components/ui/command.d.ts +1 -1
- package/dist/types/components/ui/command.d.ts.map +1 -1
- package/dist/types/components/ui/context-menu.d.ts.map +1 -1
- package/dist/types/components/ui/dialog.d.ts.map +1 -1
- package/dist/types/components/ui/drawer.d.ts.map +1 -1
- package/dist/types/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/types/components/ui/form.d.ts.map +1 -1
- package/dist/types/components/ui/hover-card.d.ts.map +1 -1
- package/dist/types/components/ui/input-otp.d.ts.map +1 -1
- package/dist/types/components/ui/input.d.ts.map +1 -1
- package/dist/types/components/ui/label.d.ts.map +1 -1
- package/dist/types/components/ui/menubar.d.ts.map +1 -1
- package/dist/types/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/types/components/ui/pagination.d.ts +1 -1
- package/dist/types/components/ui/pagination.d.ts.map +1 -1
- package/dist/types/components/ui/popover.d.ts.map +1 -1
- package/dist/types/components/ui/progress.d.ts.map +1 -1
- package/dist/types/components/ui/radio-group.d.ts.map +1 -1
- package/dist/types/components/ui/resizable.d.ts.map +1 -1
- package/dist/types/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/types/components/ui/select.d.ts.map +1 -1
- package/dist/types/components/ui/separator.d.ts.map +1 -1
- package/dist/types/components/ui/sheet.d.ts.map +1 -1
- package/dist/types/components/ui/sidebar.d.ts +5 -5
- package/dist/types/components/ui/sidebar.d.ts.map +1 -1
- package/dist/types/components/ui/skeleton.d.ts.map +1 -1
- package/dist/types/components/ui/slider.d.ts.map +1 -1
- package/dist/types/components/ui/switch.d.ts.map +1 -1
- package/dist/types/components/ui/table.d.ts.map +1 -1
- package/dist/types/components/ui/tabs.d.ts.map +1 -1
- package/dist/types/components/ui/textarea.d.ts.map +1 -1
- package/dist/types/components/ui/toggle-group.d.ts +1 -1
- package/dist/types/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/types/components/ui/toggle.d.ts.map +1 -1
- package/dist/types/components/ui/tooltip.d.ts.map +1 -1
- package/package.json +163 -399
- package/src/components/ui/accordion.tsx +10 -11
- package/src/components/ui/alert-dialog.tsx +21 -18
- package/src/components/ui/alert.tsx +10 -10
- package/src/components/ui/avatar.tsx +8 -9
- package/src/components/ui/badge.tsx +8 -9
- package/src/components/ui/breadcrumb.tsx +22 -17
- package/src/components/ui/button.tsx +11 -11
- package/src/components/ui/calendar.tsx +10 -10
- package/src/components/ui/card.tsx +20 -11
- package/src/components/ui/carousel.tsx +62 -63
- package/src/components/ui/chart.tsx +1 -2
- package/src/components/ui/checkbox.tsx +7 -8
- package/src/components/ui/command.tsx +18 -19
- package/src/components/ui/context-menu.tsx +29 -27
- package/src/components/ui/dialog.tsx +20 -18
- package/src/components/ui/drawer.tsx +23 -18
- package/src/components/ui/dropdown-menu.tsx +29 -27
- package/src/components/ui/form.tsx +49 -43
- package/src/components/ui/hover-card.tsx +8 -9
- package/src/components/ui/input-otp.tsx +1 -2
- package/src/components/ui/input.tsx +1 -2
- package/src/components/ui/label.tsx +6 -7
- package/src/components/ui/menubar.tsx +30 -28
- package/src/components/ui/navigation-menu.tsx +19 -19
- package/src/components/ui/pagination.tsx +14 -15
- package/src/components/ui/popover.tsx +9 -10
- package/src/components/ui/progress.tsx +6 -7
- package/src/components/ui/radio-group.tsx +8 -9
- package/src/components/ui/resizable.tsx +10 -11
- package/src/components/ui/scroll-area.tsx +7 -8
- package/src/components/ui/select.tsx +20 -18
- package/src/components/ui/separator.tsx +6 -7
- package/src/components/ui/sheet.tsx +25 -20
- package/src/components/ui/sidebar.tsx +119 -117
- package/src/components/ui/skeleton.tsx +7 -4
- package/src/components/ui/slider.tsx +9 -10
- package/src/components/ui/switch.tsx +6 -7
- package/src/components/ui/table.tsx +16 -14
- package/src/components/ui/tabs.tsx +9 -10
- package/src/components/ui/textarea.tsx +4 -4
- package/src/components/ui/toggle-group.tsx +11 -12
- package/src/components/ui/toggle.tsx +8 -9
- package/src/components/ui/tooltip.tsx +9 -10
- package/tsconfig.json +47 -0
- package/dist/cjs/_virtual/jsx-runtime.cjs +0 -2
- package/dist/cjs/_virtual/jsx-runtime.cjs.map +0 -1
- package/dist/cjs/_virtual/jsx-runtime2.cjs +0 -2
- package/dist/cjs/_virtual/jsx-runtime2.cjs.map +0 -1
- package/dist/cjs/_virtual/react-jsx-runtime.development.cjs +0 -2
- package/dist/cjs/_virtual/react-jsx-runtime.development.cjs.map +0 -1
- package/dist/cjs/_virtual/react-jsx-runtime.production.cjs +0 -2
- package/dist/cjs/_virtual/react-jsx-runtime.production.cjs.map +0 -1
- package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.development.cjs +0 -24
- package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.development.cjs.map +0 -1
- package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.production.cjs +0 -10
- package/dist/cjs/node_modules/react/cjs/react-jsx-runtime.production.cjs.map +0 -1
- package/dist/cjs/node_modules/react/jsx-runtime.cjs +0 -2
- package/dist/cjs/node_modules/react/jsx-runtime.cjs.map +0 -1
- package/dist/esm/_virtual/jsx-runtime.js +0 -7
- package/dist/esm/_virtual/jsx-runtime.js.map +0 -1
- package/dist/esm/_virtual/jsx-runtime2.js +0 -6
- package/dist/esm/_virtual/jsx-runtime2.js.map +0 -1
- package/dist/esm/_virtual/react-jsx-runtime.development.js +0 -6
- package/dist/esm/_virtual/react-jsx-runtime.development.js.map +0 -1
- package/dist/esm/_virtual/react-jsx-runtime.production.js +0 -6
- package/dist/esm/_virtual/react-jsx-runtime.production.js.map +0 -1
- package/dist/esm/node_modules/react/cjs/react-jsx-runtime.development.js +0 -410
- package/dist/esm/node_modules/react/cjs/react-jsx-runtime.development.js.map +0 -1
- package/dist/esm/node_modules/react/cjs/react-jsx-runtime.production.js +0 -37
- package/dist/esm/node_modules/react/cjs/react-jsx-runtime.production.js.map +0 -1
- package/dist/esm/node_modules/react/jsx-runtime.js +0 -12
- package/dist/esm/node_modules/react/jsx-runtime.js.map +0 -1
- package/src/global.d.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@radix-ui/react-select/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/select/src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n BubbleSelect,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nvar BubbleSelect = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...selectProps } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx(\"select\", { ...selectProps, ref: composedRefs, defaultValue: value }) });\n }\n);\nBubbleSelect.displayName = \"BubbleSelect\";\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["OPEN_KEYS","SELECTION_KEYS","SELECT_NAME","Collection","useCollection","createCollectionScope","createCollection","createSelectContext","createSelectScope","createContextScope","createPopperScope","usePopperScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","props","__scopeSelect","children","openProp","defaultOpen","onOpenChange","valueProp","defaultValue","onValueChange","dir","name","autoComplete","disabled","required","form","popperScope","trigger","setTrigger","React","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","direction","useDirection","open","setOpen","useControllableState","value","setValue","triggerPointerDownPosRef","isFormControl","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","option","jsx","PopperPrimitive.Root","jsxs","useId","prev","optionsSet","BubbleSelect","event","TRIGGER_NAME","SelectTrigger","forwardedRef","triggerProps","context","isDisabled","composedRefs","useComposedRefs","getItems","pointerTypeRef","searchRef","handleTypeaheadSearch","resetTypeahead","useTypeaheadSearch","search","enabledItems","item","currentItem","nextItem","findNextItem","handleOpen","pointerEvent","PopperPrimitive.Anchor","Primitive","shouldShowPlaceholder","composeEventHandlers","target","isTypingAhead","VALUE_NAME","SelectValue","className","style","placeholder","valueProps","onValueNodeHasChildrenChange","hasChildren","useLayoutEffect","Fragment","ICON_NAME","SelectIcon","iconProps","PORTAL_NAME","SelectPortal","PortalPrimitive","CONTENT_NAME","SelectContent","fragment","setFragment","frag","ReactDOM","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","CONTENT_IMPL_NAME","position","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","viewport","setViewport","node","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","isPositioned","setIsPositioned","firstValidItemFoundRef","hideOthers","useFocusGuards","focusFirst","candidates","firstItem","restItems","lastItem","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","RemoveScroll","Slot","FocusScope","DismissableLayer","isModifierKey","candidateNodes","currentElement","currentIndex","ITEM_ALIGNED_POSITION_NAME","onPlaced","popperProps","contentContext","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","left","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","clamp","right","rightDelta","leftEdge","clampedRight","items","availableHeight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","contentPaddingBottom","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","itemOffsetMiddle","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","clampedTriggerMiddleToBottomEdge","height","isFirstItem","contentZIndex","setContentZIndex","handleScrollButtonChange","SelectViewportProvider","POPPER_POSITION_NAME","PopperPrimitive.Content","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","nonce","viewportProps","viewportContext","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","GROUP_NAME","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupProps","groupId","LABEL_NAME","SelectLabel","labelProps","groupContext","ITEM_NAME","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","itemProps","isSelected","textValue","setTextValue","isFocused","setIsFocused","textId","handleSelect","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","textContent","nativeOption","onNativeOptionAdd","onNativeOptionRemove","ITEM_INDICATOR_NAME","SelectItemIndicator","itemIndicatorProps","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","onAutoScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SEPARATOR_NAME","SelectSeparator","separatorProps","ARROW_NAME","SelectArrow","arrowProps","PopperPrimitive.Arrow","selectProps","ref","prevValue","usePrevious","select","selectProto","VisuallyHidden","onSearchChange","handleSearchChange","useCallbackRef","timerRef","key","updateSearch","normalizedSearch","char","currentItemIndex","wrappedItems","wrapArray","v","array","startIndex","_","index","Root2","Trigger","Value","Icon","Portal","Content2","Viewport","Group","Label","Item","ItemText","ItemIndicator","ScrollUpButton","ScrollDownButton","Separator"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@radix-ui/react-select/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/select/src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n BubbleSelect,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nvar BubbleSelect = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...selectProps } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx(\"select\", { ...selectProps, ref: composedRefs, defaultValue: value }) });\n }\n);\nBubbleSelect.displayName = \"BubbleSelect\";\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["OPEN_KEYS","SELECTION_KEYS","SELECT_NAME","Collection","useCollection","createCollectionScope","createCollection","createSelectContext","createSelectScope","createContextScope","createPopperScope","usePopperScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","props","__scopeSelect","children","openProp","defaultOpen","onOpenChange","valueProp","defaultValue","onValueChange","dir","name","autoComplete","disabled","required","form","popperScope","trigger","setTrigger","React","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","direction","useDirection","open","setOpen","useControllableState","value","setValue","triggerPointerDownPosRef","isFormControl","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","option","jsx","PopperPrimitive.Root","jsxs","useId","prev","optionsSet","BubbleSelect","event","TRIGGER_NAME","SelectTrigger","forwardedRef","triggerProps","context","isDisabled","composedRefs","useComposedRefs","getItems","pointerTypeRef","searchRef","handleTypeaheadSearch","resetTypeahead","useTypeaheadSearch","search","enabledItems","item","currentItem","nextItem","findNextItem","handleOpen","pointerEvent","PopperPrimitive.Anchor","Primitive","shouldShowPlaceholder","composeEventHandlers","target","isTypingAhead","VALUE_NAME","SelectValue","className","style","placeholder","valueProps","onValueNodeHasChildrenChange","hasChildren","useLayoutEffect","Fragment","ICON_NAME","SelectIcon","iconProps","PORTAL_NAME","SelectPortal","PortalPrimitive","CONTENT_NAME","SelectContent","fragment","setFragment","frag","ReactDOM","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","CONTENT_IMPL_NAME","position","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","viewport","setViewport","node","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","isPositioned","setIsPositioned","firstValidItemFoundRef","hideOthers","useFocusGuards","focusFirst","candidates","firstItem","restItems","lastItem","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","RemoveScroll","Slot","FocusScope","DismissableLayer","isModifierKey","candidateNodes","currentElement","currentIndex","ITEM_ALIGNED_POSITION_NAME","onPlaced","popperProps","contentContext","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","left","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","clamp","right","rightDelta","leftEdge","clampedRight","items","availableHeight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","contentPaddingBottom","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","itemOffsetMiddle","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","clampedTriggerMiddleToBottomEdge","height","isFirstItem","contentZIndex","setContentZIndex","handleScrollButtonChange","SelectViewportProvider","POPPER_POSITION_NAME","PopperPrimitive.Content","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","nonce","viewportProps","viewportContext","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","GROUP_NAME","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupProps","groupId","LABEL_NAME","SelectLabel","labelProps","groupContext","ITEM_NAME","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","itemProps","isSelected","textValue","setTextValue","isFocused","setIsFocused","textId","handleSelect","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","textContent","nativeOption","onNativeOptionAdd","onNativeOptionRemove","ITEM_INDICATOR_NAME","SelectItemIndicator","itemIndicatorProps","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","onAutoScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SEPARATOR_NAME","SelectSeparator","separatorProps","ARROW_NAME","SelectArrow","arrowProps","PopperPrimitive.Arrow","selectProps","ref","prevValue","usePrevious","select","selectProto","VisuallyHidden","onSearchChange","handleSearchChange","useCallbackRef","timerRef","key","updateSearch","normalizedSearch","char","currentItemIndex","wrappedItems","wrapArray","v","array","startIndex","_","index","Root2","Trigger","Value","Icon","Portal","Content2","Viewport","Group","Label","Item","ItemText","ItemIndicator","ScrollUpButton","ScrollDownButton","Separator"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as p from "react";
|
|
3
|
-
import { Primitive as
|
|
4
|
-
import {
|
|
5
|
-
var
|
|
3
|
+
import { Primitive as v } from "../../react-primitive/dist/index.js";
|
|
4
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
5
|
+
var m = "Separator", a = "horizontal", d = ["horizontal", "vertical"], i = p.forwardRef((r, n) => {
|
|
6
6
|
const { decorative: e, orientation: t = a, ...s } = r, o = f(t) ? t : a, c = e ? { role: "none" } : { "aria-orientation": o === "vertical" ? o : void 0, role: "separator" };
|
|
7
|
-
return /* @__PURE__ */
|
|
8
|
-
|
|
7
|
+
return /* @__PURE__ */ l(
|
|
8
|
+
v.div,
|
|
9
9
|
{
|
|
10
10
|
"data-orientation": o,
|
|
11
11
|
...c,
|
|
@@ -14,7 +14,7 @@ var l = "Separator", a = "horizontal", d = ["horizontal", "vertical"], i = p.for
|
|
|
14
14
|
}
|
|
15
15
|
);
|
|
16
16
|
});
|
|
17
|
-
i.displayName =
|
|
17
|
+
i.displayName = m;
|
|
18
18
|
function f(r) {
|
|
19
19
|
return d.includes(r);
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@radix-ui/react-separator/dist/index.mjs"],"sourcesContent":["// packages/react/separator/src/separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Separator\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = React.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n});\nSeparator.displayName = NAME;\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["NAME","DEFAULT_ORIENTATION","ORIENTATIONS","Separator","React","props","forwardedRef","decorative","orientationProp","domProps","orientation","isValidOrientation","semanticProps","jsx","Primitive","Root"],"mappings":";;;;AAIA,IAAIA,IAAO,aACPC,IAAsB,cACtBC,IAAe,CAAC,cAAc,UAAU,GACxCC,IAAYC,EAAM,WAAW,CAACC,GAAOC,MAAiB;AACxD,QAAM,EAAE,YAAAC,GAAY,aAAaC,IAAkBP,GAAqB,GAAGQ,EAAQ,IAAKJ,GAClFK,IAAcC,EAAmBH,CAAe,IAAIA,IAAkBP,GAEtEW,IAAgBL,IAAa,EAAE,MAAM,WAAW,EAAE,oBADhCG,MAAgB,aAAaA,IAAc,QAC0B,MAAM,YAAa;AAChH,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@radix-ui/react-separator/dist/index.mjs"],"sourcesContent":["// packages/react/separator/src/separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Separator\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = React.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n});\nSeparator.displayName = NAME;\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["NAME","DEFAULT_ORIENTATION","ORIENTATIONS","Separator","React","props","forwardedRef","decorative","orientationProp","domProps","orientation","isValidOrientation","semanticProps","jsx","Primitive","Root"],"mappings":";;;;AAIA,IAAIA,IAAO,aACPC,IAAsB,cACtBC,IAAe,CAAC,cAAc,UAAU,GACxCC,IAAYC,EAAM,WAAW,CAACC,GAAOC,MAAiB;AACxD,QAAM,EAAE,YAAAC,GAAY,aAAaC,IAAkBP,GAAqB,GAAGQ,EAAQ,IAAKJ,GAClFK,IAAcC,EAAmBH,CAAe,IAAIA,IAAkBP,GAEtEW,IAAgBL,IAAa,EAAE,MAAM,WAAW,EAAE,oBADhCG,MAAgB,aAAaA,IAAc,QAC0B,MAAM,YAAa;AAChH,SAAuB,gBAAAG;AAAA,IACrBC,EAAU;AAAA,IACV;AAAA,MACE,oBAAoBJ;AAAA,MACpB,GAAGE;AAAA,MACH,GAAGH;AAAA,MACH,KAAKH;AAAA,IACX;AAAA,EACG;AACH,CAAC;AACDH,EAAU,cAAcH;AACxB,SAASW,EAAmBD,GAAa;AACvC,SAAOR,EAAa,SAASQ,CAAW;AAC1C;AACG,IAACK,IAAOZ;","x_google_ignoreList":[0]}
|