@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.cjs","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.cjs","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":"6iDA4BA,IAAIA,GAAY,CAAC,IAAK,QAAS,UAAW,WAAW,EACjDC,GAAiB,CAAC,IAAK,OAAO,EAC9BC,GAAc,SACd,CAACC,GAAYC,GAAeC,EAAqB,EAAIC,GAAAA,iBAAiBJ,EAAW,EACjF,CAACK,GAAqBC,EAAiB,EAAIC,GAAAA,mBAAmBP,GAAa,CAC7EG,GACAK,GAAAA,iBACF,CAAC,EACGC,GAAiBD,GAAAA,kBAAmB,EACpC,CAACE,GAAgBC,CAAgB,EAAIN,GAAoBL,EAAW,EACpE,CAACY,GAA6BC,EAA6B,EAAIR,GAAoBL,EAAW,EAC9Fc,GAAUC,GAAU,CACtB,KAAM,CACJ,cAAAC,EACA,SAAAC,EACA,KAAMC,EACN,YAAAC,EACA,aAAAC,EACA,MAAOC,EACP,aAAAC,EACA,cAAAC,EACA,IAAAC,EACA,KAAAC,EACA,aAAAC,EACA,SAAAC,EACA,SAAAC,EACA,KAAAC,CACJ,EAAMd,EACEe,EAAcrB,GAAeO,CAAa,EAC1C,CAACe,EAASC,CAAU,EAAIC,EAAM,SAAS,IAAI,EAC3C,CAACC,EAAWC,CAAY,EAAIF,EAAM,SAAS,IAAI,EAC/C,CAACG,EAAsBC,CAAuB,EAAIJ,EAAM,SAAS,EAAK,EACtEK,GAAYC,GAAY,aAACf,CAAG,EAC5B,CAACgB,EAAO,GAAOC,CAAO,EAAIC,GAAAA,qBAAqB,CACnD,KAAMxB,EACN,YAAaC,EACb,SAAUC,CACd,CAAG,EACK,CAACuB,EAAOC,CAAQ,EAAIF,wBAAqB,CAC7C,KAAMrB,EACN,YAAaC,EACb,SAAUC,CACd,CAAG,EACKsB,EAA2BZ,EAAM,OAAO,IAAI,EAC5Ca,EAAgBf,EAAUF,GAAQ,CAAC,CAACE,EAAQ,QAAQ,MAAM,EAAI,GAC9D,CAACgB,EAAkBC,CAAmB,EAAIf,EAAM,SAAyB,IAAI,GAAK,EAClFgB,EAAkB,MAAM,KAAKF,CAAgB,EAAE,IAAKG,GAAWA,EAAO,MAAM,KAAK,EAAE,KAAK,GAAG,EACjG,OAAuBC,EAAG,IAACC,GAAoB,KAAE,CAAE,GAAGtB,EAAa,SAA0BuB,EAAI,KAC/F3C,GACA,CACE,SAAAkB,EACA,MAAOZ,EACP,QAAAe,EACA,gBAAiBC,EACjB,UAAAE,EACA,kBAAmBC,EACnB,qBAAAC,EACA,6BAA8BC,EAC9B,UAAWiB,GAAAA,MAAO,EAClB,MAAAX,EACA,cAAeC,EACf,KAAAJ,EACA,aAAcC,EACd,IAAKH,GACL,yBAAAO,EACA,SAAAlB,EACA,SAAU,CACQwB,EAAG,IAAClD,GAAW,SAAU,CAAE,MAAOe,EAAe,SAA0BmC,EAAG,IAC5FvC,GACA,CACE,MAAOG,EAAM,cACb,kBAAmBkB,EAAM,YAAaiB,GAAW,CAC/CF,EAAqBO,GAAS,IAAI,IAAIA,CAAI,EAAE,IAAIL,CAAM,CAAC,CACxD,EAAE,EAAE,EACL,qBAAsBjB,EAAM,YAAaiB,GAAW,CAClDF,EAAqBO,GAAS,CAC5B,MAAMC,EAAa,IAAI,IAAID,CAAI,EAC/B,OAAAC,EAAW,OAAON,CAAM,EACjBM,CACvB,CAAe,CACF,EAAE,EAAE,EACL,SAAAvC,CACZ,CACA,EAAW,EACH6B,EAAgCO,EAAI,KAClCI,GACA,CACE,cAAe,GACf,SAAA7B,EACA,SAAU,GACV,KAAAH,EACA,aAAAC,EACA,MAAAiB,EACA,SAAWe,GAAUd,EAASc,EAAM,OAAO,KAAK,EAChD,SAAA/B,EACA,KAAAE,EACA,SAAU,CACRc,IAAU,OAAyBQ,MAAI,SAAU,CAAE,MAAO,EAAI,CAAA,EAAI,KAClE,MAAM,KAAKJ,CAAgB,CACzC,CACW,EACDE,CACV,EAAY,IACZ,CACA,CACA,EAAK,CACL,EACAnC,GAAO,YAAcd,GACrB,IAAI2D,GAAe,gBACfC,GAAgB3B,EAAM,WACxB,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,cAAA7C,EAAe,SAAAW,EAAW,GAAO,GAAGmC,CAAc,EAAG/C,EACvDe,EAAcrB,GAAeO,CAAa,EAC1C+C,EAAUpD,EAAiBgD,GAAc3C,CAAa,EACtDgD,EAAaD,EAAQ,UAAYpC,EACjCsC,EAAeC,EAAe,gBAACL,EAAcE,EAAQ,eAAe,EACpEI,EAAWjE,GAAcc,CAAa,EACtCoD,EAAiBnC,EAAM,OAAO,OAAO,EACrC,CAACoC,EAAWC,EAAuBC,CAAc,EAAIC,GAAoBC,GAAW,CACxF,MAAMC,EAAeP,IAAW,OAAQQ,GAAS,CAACA,EAAK,QAAQ,EACzDC,EAAcF,EAAa,KAAMC,GAASA,EAAK,QAAUZ,EAAQ,KAAK,EACtEc,EAAWC,GAAaJ,EAAcD,EAAQG,CAAW,EAC3DC,IAAa,QACfd,EAAQ,cAAcc,EAAS,KAAK,CAE5C,CAAK,EACKE,EAAcC,GAAiB,CAC9BhB,IACHD,EAAQ,aAAa,EAAI,EACzBQ,EAAgB,GAEdS,IACFjB,EAAQ,yBAAyB,QAAU,CACzC,EAAG,KAAK,MAAMiB,EAAa,KAAK,EAChC,EAAG,KAAK,MAAMA,EAAa,KAAK,CACjC,EAEJ,EACD,OAAuB7B,EAAAA,IAAI8B,GAAAA,OAAwB,CAAE,QAAS,GAAM,GAAGnD,EAAa,SAA0BqB,EAAG,IAC/G+B,EAAAA,UAAU,OACV,CACE,KAAM,SACN,KAAM,WACN,gBAAiBnB,EAAQ,UACzB,gBAAiBA,EAAQ,KACzB,gBAAiBA,EAAQ,SACzB,oBAAqB,OACrB,IAAKA,EAAQ,IACb,aAAcA,EAAQ,KAAO,OAAS,SACtC,SAAUC,EACV,gBAAiBA,EAAa,GAAK,OACnC,mBAAoBmB,GAAsBpB,EAAQ,KAAK,EAAI,GAAK,OAChE,GAAGD,EACH,IAAKG,EACL,QAASmB,EAAAA,qBAAqBtB,EAAa,QAAUJ,GAAU,CAC7DA,EAAM,cAAc,MAAO,EACvBU,EAAe,UAAY,SAC7BW,EAAWrB,CAAK,CAE5B,CAAS,EACD,cAAe0B,EAAAA,qBAAqBtB,EAAa,cAAgBJ,GAAU,CACzEU,EAAe,QAAUV,EAAM,YAC/B,MAAM2B,EAAS3B,EAAM,OACjB2B,EAAO,kBAAkB3B,EAAM,SAAS,GAC1C2B,EAAO,sBAAsB3B,EAAM,SAAS,EAE1CA,EAAM,SAAW,GAAKA,EAAM,UAAY,IAASA,EAAM,cAAgB,UACzEqB,EAAWrB,CAAK,EAChBA,EAAM,eAAgB,EAElC,CAAS,EACD,UAAW0B,EAAAA,qBAAqBtB,EAAa,UAAYJ,GAAU,CACjE,MAAM4B,EAAgBjB,EAAU,UAAY,GAExC,EADkBX,EAAM,SAAWA,EAAM,QAAUA,EAAM,UACvCA,EAAM,IAAI,SAAW,GAAGY,EAAsBZ,EAAM,GAAG,EACzE,EAAA4B,GAAiB5B,EAAM,MAAQ,MAC/B5D,GAAU,SAAS4D,EAAM,GAAG,IAC9BqB,EAAY,EACZrB,EAAM,eAAgB,EAEzB,CAAA,CACT,CACA,EAAO,CACP,CACA,EACAE,GAAc,YAAcD,GAC5B,IAAI4B,GAAa,cACbC,GAAcvD,EAAM,WACtB,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,cAAA7C,EAAe,UAAAyE,EAAW,MAAAC,EAAO,SAAAzE,EAAU,YAAA0E,EAAc,GAAI,GAAGC,CAAU,EAAK7E,EACjFgD,EAAUpD,EAAiB4E,GAAYvE,CAAa,EACpD,CAAE,6BAAA6E,CAA4B,EAAK9B,EACnC+B,EAAc7E,IAAa,OAC3BgD,EAAeC,EAAe,gBAACL,EAAcE,EAAQ,iBAAiB,EAC5EgC,OAAAA,EAAAA,gBAAgB,IAAM,CACpBF,EAA6BC,CAAW,CAC9C,EAAO,CAACD,EAA8BC,CAAW,CAAC,EACvB3C,EAAG,IACxB+B,EAAAA,UAAU,KACV,CACE,GAAGU,EACH,IAAK3B,EACL,MAAO,CAAE,cAAe,MAAQ,EAChC,SAAUkB,GAAsBpB,EAAQ,KAAK,EAAoBZ,MAAI6C,EAAAA,SAAU,CAAE,SAAUL,CAAW,CAAE,EAAI1E,CACpH,CACK,CACL,CACA,EACAuE,GAAY,YAAcD,GAC1B,IAAIU,GAAY,aACZC,GAAajE,EAAM,WACrB,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,cAAA7C,EAAe,SAAAC,EAAU,GAAGkF,CAAW,EAAGpF,EAClD,OAAuBoC,EAAG,IAAC+B,EAAS,UAAC,KAAM,CAAE,cAAe,GAAM,GAAGiB,EAAW,IAAKtC,EAAc,SAAU5C,GAAY,GAAQ,CAAE,CACvI,CACA,EACAiF,GAAW,YAAcD,GACzB,IAAIG,GAAc,eACdC,GAAgBtF,GACKoC,EAAAA,IAAImD,GAAAA,OAAiB,CAAE,QAAS,GAAM,GAAGvF,EAAO,EAEzEsF,GAAa,YAAcD,GAC3B,IAAIG,EAAe,gBACfC,GAAgBvE,EAAM,WACxB,CAAClB,EAAO8C,IAAiB,CACvB,MAAME,EAAUpD,EAAiB4F,EAAcxF,EAAM,aAAa,EAC5D,CAAC0F,EAAUC,CAAW,EAAIzE,EAAM,SAAU,EAIhD,GAHA8D,EAAAA,gBAAgB,IAAM,CACpBW,EAAY,IAAI,gBAAkB,CACnC,EAAE,EAAE,EACD,CAAC3C,EAAQ,KAAM,CACjB,MAAM4C,EAAOF,EACb,OAAOE,EAAOC,GAAS,aACLzD,MAAI0D,GAAuB,CAAE,MAAO9F,EAAM,cAAe,SAA0BoC,EAAG,IAAClD,GAAW,KAAM,CAAE,MAAOc,EAAM,cAAe,SAA0BoC,EAAG,IAAC,MAAO,CAAE,SAAUpC,EAAM,QAAQ,CAAE,CAAG,CAAA,EAAG,EAC7N4F,CACR,EAAU,IACV,CACI,OAAuBxD,EAAAA,IAAI2D,GAAmB,CAAE,GAAG/F,EAAO,IAAK8C,EAAc,CACjF,CACA,EACA2C,GAAc,YAAcD,EAC5B,IAAIQ,EAAiB,GACjB,CAACF,GAAuBG,CAAuB,EAAI3G,GAAoBkG,CAAY,EACnFU,GAAoB,oBACpBH,GAAoB7E,EAAM,WAC5B,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CACJ,cAAA7C,EACA,SAAAkG,EAAW,eACX,iBAAAC,EACA,gBAAAC,EACA,qBAAAC,EAGA,KAAAC,EACA,WAAAC,EACA,MAAAC,EACA,YAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,OAAAC,EACA,iBAAAC,EACA,gBAAAC,EAEA,GAAGC,CACT,EAAQjH,EACEgD,EAAUpD,EAAiB4F,EAAcvF,CAAa,EACtD,CAACiH,EAASC,CAAU,EAAIjG,EAAM,SAAS,IAAI,EAC3C,CAACkG,EAAUC,EAAW,EAAInG,EAAM,SAAS,IAAI,EAC7CgC,EAAeC,EAAAA,gBAAgBL,EAAewE,GAASH,EAAWG,CAAI,CAAC,EACvE,CAACC,EAAcC,CAAe,EAAItG,EAAM,SAAS,IAAI,EACrD,CAACuG,EAAkBC,CAAmB,EAAIxG,EAAM,SACpD,IACD,EACKkC,EAAWjE,GAAcc,CAAa,EACtC,CAAC0H,EAAcC,CAAe,EAAI1G,EAAM,SAAS,EAAK,EACtD2G,EAAyB3G,EAAM,OAAO,EAAK,EACjDA,EAAM,UAAU,IAAM,CACpB,GAAIgG,EAAS,OAAOY,GAAU,WAACZ,CAAO,CAC5C,EAAO,CAACA,CAAO,CAAC,EACZa,kBAAgB,EAChB,MAAMC,EAAa9G,EAAM,YACtB+G,GAAe,CACd,KAAM,CAACC,EAAW,GAAGC,CAAS,EAAI/E,EAAQ,EAAG,IAAKQ,GAASA,EAAK,IAAI,OAAO,EACrE,CAACwE,CAAQ,EAAID,EAAU,MAAM,EAAE,EAC/BE,EAA6B,SAAS,cAC5C,UAAWC,KAAaL,EAMtB,GALIK,IAAcD,IAClBC,GAAW,eAAe,CAAE,MAAO,SAAS,CAAE,EAC1CA,IAAcJ,GAAad,IAAUA,EAAS,UAAY,GAC1DkB,IAAcF,GAAYhB,IAAUA,EAAS,UAAYA,EAAS,cACtEkB,GAAW,MAAO,EACd,SAAS,gBAAkBD,GAA4B,MAE9D,EACD,CAACjF,EAAUgE,CAAQ,CACpB,EACKmB,EAAoBrH,EAAM,YAC9B,IAAM8G,EAAW,CAACT,EAAcL,CAAO,CAAC,EACxC,CAACc,EAAYT,EAAcL,CAAO,CACnC,EACDhG,EAAM,UAAU,IAAM,CAChByG,GACFY,EAAmB,CAE3B,EAAO,CAACZ,EAAcY,CAAiB,CAAC,EACpC,KAAM,CAAE,aAAAlI,EAAc,yBAAAyB,CAAwB,EAAKkB,EACnD9B,EAAM,UAAU,IAAM,CACpB,GAAIgG,EAAS,CACX,IAAIsB,EAAmB,CAAE,EAAG,EAAG,EAAG,CAAG,EACrC,MAAMC,EAAqB9F,GAAU,CACnC6F,EAAmB,CACjB,EAAG,KAAK,IAAI,KAAK,MAAM7F,EAAM,KAAK,GAAKb,EAAyB,SAAS,GAAK,EAAE,EAChF,EAAG,KAAK,IAAI,KAAK,MAAMa,EAAM,KAAK,GAAKb,EAAyB,SAAS,GAAK,EAAE,CACjF,CACF,EACK4G,EAAmB/F,GAAU,CAC7B6F,EAAiB,GAAK,IAAMA,EAAiB,GAAK,GACpD7F,EAAM,eAAgB,EAEjBuE,EAAQ,SAASvE,EAAM,MAAM,GAChCtC,EAAa,EAAK,EAGtB,SAAS,oBAAoB,cAAeoI,CAAiB,EAC7D3G,EAAyB,QAAU,IACpC,EACD,OAAIA,EAAyB,UAAY,OACvC,SAAS,iBAAiB,cAAe2G,CAAiB,EAC1D,SAAS,iBAAiB,YAAaC,EAAiB,CAAE,QAAS,GAAM,KAAM,GAAM,GAEhF,IAAM,CACX,SAAS,oBAAoB,cAAeD,CAAiB,EAC7D,SAAS,oBAAoB,YAAaC,EAAiB,CAAE,QAAS,GAAM,CAC7E,CACT,CACK,EAAE,CAACxB,EAAS7G,EAAcyB,CAAwB,CAAC,EACpDZ,EAAM,UAAU,IAAM,CACpB,MAAMyH,EAAQ,IAAMtI,EAAa,EAAK,EACtC,cAAO,iBAAiB,OAAQsI,CAAK,EACrC,OAAO,iBAAiB,SAAUA,CAAK,EAChC,IAAM,CACX,OAAO,oBAAoB,OAAQA,CAAK,EACxC,OAAO,oBAAoB,SAAUA,CAAK,CAC3C,CACP,EAAO,CAACtI,CAAY,CAAC,EACjB,KAAM,CAACiD,GAAWC,EAAqB,EAAIE,GAAoBC,GAAW,CACxE,MAAMC,EAAeP,IAAW,OAAQQ,GAAS,CAACA,EAAK,QAAQ,EACzDC,EAAcF,EAAa,KAAMC,GAASA,EAAK,IAAI,UAAY,SAAS,aAAa,EACrFE,EAAWC,GAAaJ,EAAcD,EAAQG,CAAW,EAC3DC,GACF,WAAW,IAAMA,EAAS,IAAI,QAAQ,MAAK,CAAE,CAErD,CAAK,EACK8E,GAAkB1H,EAAM,YAC5B,CAACoG,EAAM1F,EAAOhB,IAAa,CACzB,MAAMiI,EAAmB,CAAChB,EAAuB,SAAW,CAACjH,GACtCoC,EAAQ,QAAU,QAAUA,EAAQ,QAAUpB,GAC/CiH,KACpBrB,EAAgBF,CAAI,EAChBuB,IAAkBhB,EAAuB,QAAU,IAE1D,EACD,CAAC7E,EAAQ,KAAK,CACf,EACK8F,GAAkB5H,EAAM,YAAY,IAAMgG,GAAS,MAAO,EAAE,CAACA,CAAO,CAAC,EACrE6B,EAAsB7H,EAAM,YAChC,CAACoG,EAAM1F,EAAOhB,IAAa,CACzB,MAAMiI,EAAmB,CAAChB,EAAuB,SAAW,CAACjH,GACtCoC,EAAQ,QAAU,QAAUA,EAAQ,QAAUpB,GAC/CiH,IACpBnB,EAAoBJ,CAAI,CAE3B,EACD,CAACtE,EAAQ,KAAK,CACf,EACKgG,GAAiB7C,IAAa,SAAW8C,GAAuBC,GAChEC,GAAqBH,KAAmBC,GAAuB,CACnE,KAAA1C,EACA,WAAAC,EACA,MAAAC,EACA,YAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,OAAAC,EACA,iBAAAC,EACA,gBAAAC,CACN,EAAQ,CAAE,EACN,OAAuB5E,EAAG,IACxB0D,GACA,CACE,MAAO7F,EACP,QAAAiH,EACA,SAAAE,EACA,iBAAkBC,GAClB,gBAAAuB,GACA,aAAArB,EACA,YAAauB,GACb,oBAAAC,EACA,kBAAAR,EACA,iBAAAd,EACA,SAAAtB,EACA,aAAAwB,EACA,UAAArE,GACA,SAA0BlB,EAAAA,IAAIgH,GAAAA,QAAc,CAAE,GAAIC,GAAAA,KAAM,eAAgB,GAAM,SAA0BjH,EAAG,IACzGkH,GAAU,WACV,CACE,QAAS,GACT,QAAStG,EAAQ,KACjB,iBAAmBL,GAAU,CAC3BA,EAAM,eAAgB,CACvB,EACD,mBAAoB0B,EAAoB,qBAAC+B,EAAmBzD,GAAU,CACpEK,EAAQ,SAAS,MAAM,CAAE,cAAe,EAAI,CAAE,EAC9CL,EAAM,eAAgB,CACpC,CAAa,EACD,SAA0BP,EAAG,IAC3BmH,GAAgB,iBAChB,CACE,QAAS,GACT,4BAA6B,GAC7B,gBAAAlD,EACA,qBAAAC,EACA,eAAiB3D,GAAUA,EAAM,eAAgB,EACjD,UAAW,IAAMK,EAAQ,aAAa,EAAK,EAC3C,SAA0BZ,EAAG,IAC3B4G,GACA,CACE,KAAM,UACN,GAAIhG,EAAQ,UACZ,aAAcA,EAAQ,KAAO,OAAS,SACtC,IAAKA,EAAQ,IACb,cAAgBL,GAAUA,EAAM,eAAgB,EAChD,GAAGsE,EACH,GAAGkC,GACH,SAAU,IAAMvB,EAAgB,EAAI,EACpC,IAAK1E,EACL,MAAO,CAEL,QAAS,OACT,cAAe,SAEf,QAAS,OACT,GAAG+D,EAAa,KACjB,EACD,UAAW5C,EAAAA,qBAAqB4C,EAAa,UAAYtE,GAAU,CACjE,MAAM6G,EAAgB7G,EAAM,SAAWA,EAAM,QAAUA,EAAM,QAG7D,GAFIA,EAAM,MAAQ,OAAOA,EAAM,eAAgB,EAC3C,CAAC6G,GAAiB7G,EAAM,IAAI,SAAW,GAAGY,GAAsBZ,EAAM,GAAG,EACzE,CAAC,UAAW,YAAa,OAAQ,KAAK,EAAE,SAASA,EAAM,GAAG,EAAG,CAE/D,IAAI8G,EADUrG,IAAW,OAAQQ,GAAS,CAACA,EAAK,QAAQ,EAC7B,IAAKA,GAASA,EAAK,IAAI,OAAO,EAIzD,GAHI,CAAC,UAAW,KAAK,EAAE,SAASjB,EAAM,GAAG,IACvC8G,EAAiBA,EAAe,MAAO,EAAC,QAAS,GAE/C,CAAC,UAAW,WAAW,EAAE,SAAS9G,EAAM,GAAG,EAAG,CAChD,MAAM+G,EAAiB/G,EAAM,OACvBgH,EAAeF,EAAe,QAAQC,CAAc,EAC1DD,EAAiBA,EAAe,MAAME,EAAe,CAAC,CAChF,CACwB,WAAW,IAAM3B,EAAWyB,CAAc,CAAC,EAC3C9G,EAAM,eAAgB,CAC9C,CACqB,CAAA,CACrB,CACA,CACA,CACA,CACA,CACA,CAAW,CAAA,CACX,CACK,CACL,CACA,EACAoD,GAAkB,YAAcG,GAChC,IAAI0D,GAA6B,4BAC7BV,GAA4BhI,EAAM,WAAW,CAAClB,EAAO8C,IAAiB,CACxE,KAAM,CAAE,cAAA7C,EAAe,SAAA4J,EAAU,GAAGC,CAAa,EAAG9J,EAC9CgD,EAAUpD,EAAiB4F,EAAcvF,CAAa,EACtD8J,EAAiB9D,EAAwBT,EAAcvF,CAAa,EACpE,CAAC+J,EAAgBC,CAAiB,EAAI/I,EAAM,SAAS,IAAI,EACzD,CAACgG,EAASC,CAAU,EAAIjG,EAAM,SAAS,IAAI,EAC3CgC,EAAeC,EAAAA,gBAAgBL,EAAewE,GAASH,EAAWG,CAAI,CAAC,EACvElE,EAAWjE,GAAcc,CAAa,EACtCiK,EAA0BhJ,EAAM,OAAO,EAAK,EAC5CiJ,EAAsBjJ,EAAM,OAAO,EAAI,EACvC,CAAE,SAAAkG,EAAU,aAAAG,EAAc,iBAAAE,EAAkB,kBAAAc,CAAmB,EAAGwB,EAClE5D,EAAWjF,EAAM,YAAY,IAAM,CACvC,GAAI8B,EAAQ,SAAWA,EAAQ,WAAagH,GAAkB9C,GAAWE,GAAYG,GAAgBE,EAAkB,CACrH,MAAM2C,EAAcpH,EAAQ,QAAQ,sBAAuB,EACrDqH,EAAcnD,EAAQ,sBAAuB,EAC7CoD,EAAgBtH,EAAQ,UAAU,sBAAuB,EACzDuH,EAAe9C,EAAiB,sBAAuB,EAC7D,GAAIzE,EAAQ,MAAQ,MAAO,CACzB,MAAMwH,EAAiBD,EAAa,KAAOF,EAAY,KACjDI,EAAOH,EAAc,KAAOE,EAC5BE,EAAYN,EAAY,KAAOK,EAC/BE,EAAkBP,EAAY,MAAQM,EACtCE,GAAe,KAAK,IAAID,EAAiBN,EAAY,KAAK,EAC1DQ,GAAY,OAAO,WAAa7E,EAChC8E,GAAcC,GAAK,MAACN,EAAM,CAC9BzE,EAMA,KAAK,IAAIA,EAAgB6E,GAAYD,EAAY,CAC3D,CAAS,EACDZ,EAAe,MAAM,SAAWW,EAAkB,KAClDX,EAAe,MAAM,KAAOc,GAAc,IAClD,KAAa,CACL,MAAMN,EAAiBH,EAAY,MAAQE,EAAa,MAClDS,EAAQ,OAAO,WAAaV,EAAc,MAAQE,EAClDS,EAAa,OAAO,WAAab,EAAY,MAAQY,EACrDL,EAAkBP,EAAY,MAAQa,EACtCL,GAAe,KAAK,IAAID,EAAiBN,EAAY,KAAK,EAC1Da,GAAW,OAAO,WAAalF,EAC/BmF,GAAeJ,GAAK,MAACC,EAAO,CAChChF,EACA,KAAK,IAAIA,EAAgBkF,GAAWN,EAAY,CAC1D,CAAS,EACDZ,EAAe,MAAM,SAAWW,EAAkB,KAClDX,EAAe,MAAM,MAAQmB,GAAe,IACpD,CACM,MAAMC,EAAQhI,EAAU,EAClBiI,EAAkB,OAAO,YAAcrF,EAAiB,EACxDsF,EAAclE,EAAS,aACvBmE,EAAgB,OAAO,iBAAiBrE,CAAO,EAC/CsE,EAAwB,SAASD,EAAc,eAAgB,EAAE,EACjEE,EAAoB,SAASF,EAAc,WAAY,EAAE,EACzDG,EAA2B,SAASH,EAAc,kBAAmB,EAAE,EACvEI,EAAuB,SAASJ,EAAc,cAAe,EAAE,EAC/DK,EAAoBJ,EAAwBC,EAAoBH,EAAcK,EAAuBD,EACrGG,GAAmB,KAAK,IAAItE,EAAa,aAAe,EAAGqE,CAAiB,EAC5EE,GAAiB,OAAO,iBAAiB1E,CAAQ,EACjD2E,GAAqB,SAASD,GAAe,WAAY,EAAE,EAC3DE,GAAwB,SAASF,GAAe,cAAe,EAAE,EACjEG,EAAyB7B,EAAY,IAAMA,EAAY,OAAS,EAAIpE,EACpEkG,GAA4Bb,EAAkBY,EAC9CE,GAAyB5E,EAAa,aAAe,EACrD6E,EAAmB7E,EAAa,UAAY4E,GAC5CE,EAAyBb,EAAwBC,EAAoBW,EACrEE,EAA4BV,EAAoBS,EAEtD,GADoCA,GAA0BJ,EAC7B,CAC/B,MAAMM,EAAanB,EAAM,OAAS,GAAK7D,IAAiB6D,EAAMA,EAAM,OAAS,CAAC,EAAE,IAAI,QACpFpB,EAAe,MAAM,OAAS,MAC9B,MAAMwC,EAAuBtF,EAAQ,aAAeE,EAAS,UAAYA,EAAS,aAC5EqF,EAAmC,KAAK,IAC5CP,GACAC,IACCI,EAAaP,GAAwB,GAAKQ,EAAuBd,CACnE,EACKgB,EAASL,EAAyBI,EACxCzC,EAAe,MAAM,OAAS0C,EAAS,IAC/C,KAAa,CACL,MAAMC,EAAcvB,EAAM,OAAS,GAAK7D,IAAiB6D,EAAM,CAAC,EAAE,IAAI,QACtEpB,EAAe,MAAM,IAAM,MAM3B,MAAM0C,EALgC,KAAK,IACzCT,EACAT,EAAwBpE,EAAS,WAChCuF,EAAcZ,GAAqB,GAAKI,EAC1C,EAC8CG,EAC/CtC,EAAe,MAAM,OAAS0C,EAAS,KACvCtF,EAAS,UAAYiF,EAAyBJ,EAAyB7E,EAAS,SACxF,CACM4C,EAAe,MAAM,OAAS,GAAGhE,CAAc,OAC/CgE,EAAe,MAAM,UAAY6B,GAAmB,KACpD7B,EAAe,MAAM,UAAYqB,EAAkB,KACnDxB,IAAY,EACZ,sBAAsB,IAAMK,EAAwB,QAAU,EAAI,CACxE,CACA,EAAK,CACD9G,EACAJ,EAAQ,QACRA,EAAQ,UACRgH,EACA9C,EACAE,EACAG,EACAE,EACAzE,EAAQ,IACR6G,CACJ,CAAG,EACD7E,EAAAA,gBAAgB,IAAMmB,IAAY,CAACA,CAAQ,CAAC,EAC5C,KAAM,CAACyG,EAAeC,CAAgB,EAAI3L,EAAM,SAAU,EAC1D8D,EAAAA,gBAAgB,IAAM,CAChBkC,GAAS2F,EAAiB,OAAO,iBAAiB3F,CAAO,EAAE,MAAM,CACzE,EAAK,CAACA,CAAO,CAAC,EACZ,MAAM4F,GAA2B5L,EAAM,YACpCoG,GAAS,CACJA,GAAQ6C,EAAoB,UAAY,KAC1ChE,EAAU,EACVoC,IAAqB,EACrB4B,EAAoB,QAAU,GAEjC,EACD,CAAChE,EAAUoC,CAAiB,CAC7B,EACD,OAAuBnG,EAAG,IACxB2K,GACA,CACE,MAAO9M,EACP,eAAA+J,EACA,wBAAAE,EACA,qBAAsB4C,GACtB,SAA0B1K,EAAG,IAC3B,MACA,CACE,IAAK6H,EACL,MAAO,CACL,QAAS,OACT,cAAe,SACf,SAAU,QACV,OAAQ2C,CACT,EACD,SAA0BxK,EAAG,IAC3B+B,EAAAA,UAAU,IACV,CACE,GAAG2F,EACH,IAAK5G,EACL,MAAO,CAGL,UAAW,aAEX,UAAW,OACX,GAAG4G,EAAY,KAC/B,CACA,CACA,CACA,CACA,CACA,CACG,CACH,CAAC,EACDZ,GAA0B,YAAcU,GACxC,IAAIoD,GAAuB,uBACvB/D,GAAuB/H,EAAM,WAAW,CAAClB,EAAO8C,IAAiB,CACnE,KAAM,CACJ,cAAA7C,EACA,MAAAwG,EAAQ,QACR,iBAAAI,EAAmBb,EACnB,GAAG8D,CACP,EAAM9J,EACEe,EAAcrB,GAAeO,CAAa,EAChD,OAAuBmC,EAAG,IACxB6K,GAAuB,QACvB,CACE,GAAGlM,EACH,GAAG+I,EACH,IAAKhH,EACL,MAAA2D,EACA,iBAAAI,EACA,MAAO,CAEL,UAAW,aACX,GAAGiD,EAAY,MAGb,0CAA2C,uCAC3C,yCAA0C,sCAC1C,0CAA2C,uCAC3C,+BAAgC,mCAChC,gCAAiC,mCAE3C,CACA,CACG,CACH,CAAC,EACDb,GAAqB,YAAc+D,GACnC,GAAI,CAACD,GAAwBG,EAAwB,EAAI5N,GAAoBkG,EAAc,CAAA,CAAE,EACzF2H,GAAgB,iBAChBC,GAAiBlM,EAAM,WACzB,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,cAAA7C,EAAe,MAAAoN,EAAO,GAAGC,CAAe,EAAGtN,EAC7C+J,EAAiB9D,EAAwBkH,GAAelN,CAAa,EACrEsN,EAAkBL,GAAyBC,GAAelN,CAAa,EACvEiD,EAAeC,EAAe,gBAACL,EAAciH,EAAe,gBAAgB,EAC5EyD,EAAmBtM,EAAM,OAAO,CAAC,EACvC,OAAuBoB,EAAI,KAAC2C,WAAU,CAAE,SAAU,CAChC7C,EAAG,IACjB,QACA,CACE,wBAAyB,CACvB,OAAQ,2KACT,EACD,MAAAiL,CACV,CACO,EACejL,EAAG,IAAClD,GAAW,KAAM,CAAE,MAAOe,EAAe,SAA0BmC,EAAG,IACxF+B,EAAAA,UAAU,IACV,CACE,6BAA8B,GAC9B,KAAM,eACN,GAAGmJ,EACH,IAAKpK,EACL,MAAO,CAIL,SAAU,WACV,KAAM,EAKN,SAAU,cACV,GAAGoK,EAAc,KAClB,EACD,SAAUjJ,EAAAA,qBAAqBiJ,EAAc,SAAW3K,GAAU,CAChE,MAAMyE,EAAWzE,EAAM,cACjB,CAAE,eAAAqH,EAAgB,wBAAAE,CAAuB,EAAKqD,EACpD,GAAIrD,GAAyB,SAAWF,EAAgB,CACtD,MAAMyD,EAAa,KAAK,IAAID,EAAiB,QAAUpG,EAAS,SAAS,EACzE,GAAIqG,EAAa,EAAG,CAClB,MAAMpC,EAAkB,OAAO,YAAcrF,EAAiB,EACxD0H,EAAe,WAAW1D,EAAe,MAAM,SAAS,EACxD2D,EAAY,WAAW3D,EAAe,MAAM,MAAM,EAClD4D,EAAa,KAAK,IAAIF,EAAcC,CAAS,EACnD,GAAIC,EAAavC,EAAiB,CAChC,MAAMwC,EAAaD,EAAaH,EAC1BK,EAAoB,KAAK,IAAIzC,EAAiBwC,CAAU,EACxDE,EAAaF,EAAaC,EAChC9D,EAAe,MAAM,OAAS8D,EAAoB,KAC9C9D,EAAe,MAAM,SAAW,QAClC5C,EAAS,UAAY2G,EAAa,EAAIA,EAAa,EACnD/D,EAAe,MAAM,eAAiB,WAE1D,CACA,CACA,CACYwD,EAAiB,QAAUpG,EAAS,SACrC,CAAA,CACX,CACA,CAAS,CAAA,CACT,EAAO,CACP,CACA,EACAgG,GAAe,YAAcD,GAC7B,IAAIa,GAAa,cACb,CAACC,GAA4BC,EAAqB,EAAI5O,GAAoB0O,EAAU,EACpFG,GAAcjN,EAAM,WACtB,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,cAAA7C,EAAe,GAAGmO,CAAU,EAAKpO,EACnCqO,EAAU9L,GAAAA,MAAO,EACvB,OAAuBH,EAAG,IAAC6L,GAA4B,CAAE,MAAOhO,EAAe,GAAIoO,EAAS,SAA0BjM,EAAAA,IAAI+B,EAAS,UAAC,IAAK,CAAE,KAAM,QAAS,kBAAmBkK,EAAS,GAAGD,EAAY,IAAKtL,CAAc,CAAA,EAAG,CAC/N,CACA,EACAqL,GAAY,YAAcH,GAC1B,IAAIM,GAAa,cACbC,GAAcrN,EAAM,WACtB,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,cAAA7C,EAAe,GAAGuO,CAAU,EAAKxO,EACnCyO,EAAeP,GAAsBI,GAAYrO,CAAa,EACpE,OAAuBmC,MAAI+B,EAAAA,UAAU,IAAK,CAAE,GAAIsK,EAAa,GAAI,GAAGD,EAAY,IAAK1L,CAAY,CAAE,CACvG,CACA,EACAyL,GAAY,YAAcD,GAC1B,IAAII,GAAY,aACZ,CAACC,GAA2BC,EAAoB,EAAItP,GAAoBoP,EAAS,EACjFG,GAAa3N,EAAM,WACrB,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CACJ,cAAA7C,EACA,MAAA2B,EACA,SAAAhB,EAAW,GACX,UAAWkO,EACX,GAAGC,CACT,EAAQ/O,EACEgD,EAAUpD,EAAiB8O,GAAWzO,CAAa,EACnD8J,EAAiB9D,EAAwByI,GAAWzO,CAAa,EACjE+O,EAAahM,EAAQ,QAAUpB,EAC/B,CAACqN,EAAWC,CAAY,EAAIhO,EAAM,SAAS4N,GAAiB,EAAE,EAC9D,CAACK,EAAWC,CAAY,EAAIlO,EAAM,SAAS,EAAK,EAChDgC,EAAeC,EAAe,gBAClCL,EACCwE,GAASyC,EAAe,kBAAkBzC,EAAM1F,EAAOhB,CAAQ,CACjE,EACKyO,EAAS9M,GAAAA,MAAO,EAChBc,EAAiBnC,EAAM,OAAO,OAAO,EACrCoO,EAAe,IAAM,CACpB1O,IACHoC,EAAQ,cAAcpB,CAAK,EAC3BoB,EAAQ,aAAa,EAAK,EAE7B,EACD,GAAIpB,IAAU,GACZ,MAAM,IAAI,MACR,uLACD,EAEH,OAAuBQ,EAAG,IACxBuM,GACA,CACE,MAAO1O,EACP,MAAA2B,EACA,SAAAhB,EACA,OAAAyO,EACA,WAAAL,EACA,iBAAkB9N,EAAM,YAAaoG,GAAS,CAC5C4H,EAAcK,GAAkBA,IAAkBjI,GAAM,aAAe,IAAI,MAAM,CAClF,EAAE,EAAE,EACL,SAA0BlF,EAAG,IAC3BlD,GAAW,SACX,CACE,MAAOe,EACP,MAAA2B,EACA,SAAAhB,EACA,UAAAqO,EACA,SAA0B7M,EAAG,IAC3B+B,EAAAA,UAAU,IACV,CACE,KAAM,SACN,kBAAmBkL,EACnB,mBAAoBF,EAAY,GAAK,OACrC,gBAAiBH,GAAcG,EAC/B,aAAcH,EAAa,UAAY,YACvC,gBAAiBpO,GAAY,OAC7B,gBAAiBA,EAAW,GAAK,OACjC,SAAUA,EAAW,OAAS,GAC9B,GAAGmO,EACH,IAAK7L,EACL,QAASmB,EAAoB,qBAAC0K,EAAU,QAAS,IAAMK,EAAa,EAAI,CAAC,EACzE,OAAQ/K,EAAoB,qBAAC0K,EAAU,OAAQ,IAAMK,EAAa,EAAK,CAAC,EACxE,QAAS/K,EAAoB,qBAAC0K,EAAU,QAAS,IAAM,CACjD1L,EAAe,UAAY,SAASiM,EAAc,CACxE,CAAiB,EACD,YAAajL,EAAoB,qBAAC0K,EAAU,YAAa,IAAM,CACzD1L,EAAe,UAAY,SAASiM,EAAc,CACxE,CAAiB,EACD,cAAejL,EAAAA,qBAAqB0K,EAAU,cAAgBpM,GAAU,CACtEU,EAAe,QAAUV,EAAM,WACjD,CAAiB,EACD,cAAe0B,EAAAA,qBAAqB0K,EAAU,cAAgBpM,GAAU,CACtEU,EAAe,QAAUV,EAAM,YAC3B/B,EACFmJ,EAAe,cAAe,EACrB1G,EAAe,UAAY,SACpCV,EAAM,cAAc,MAAM,CAAE,cAAe,EAAI,CAAE,CAErE,CAAiB,EACD,eAAgB0B,EAAAA,qBAAqB0K,EAAU,eAAiBpM,GAAU,CACpEA,EAAM,gBAAkB,SAAS,eACnCoH,EAAe,cAAe,CAElD,CAAiB,EACD,UAAW1F,EAAAA,qBAAqB0K,EAAU,UAAYpM,GAAU,CACxCoH,EAAe,WAAW,UAAY,IACvCpH,EAAM,MAAQ,MAC/B3D,GAAe,SAAS2D,EAAM,GAAG,GAAG2M,EAAc,EAClD3M,EAAM,MAAQ,KAAKA,EAAM,eAAgB,EAC9C,CAAA,CACjB,CACA,CACA,CACA,CACA,CACK,CACL,CACA,EACAkM,GAAW,YAAcH,GACzB,IAAIc,GAAiB,iBACjBC,GAAiBvO,EAAM,WACzB,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,cAAA7C,EAAe,UAAAyE,EAAW,MAAAC,EAAO,GAAG+K,CAAe,EAAG1P,EACxDgD,EAAUpD,EAAiB4P,GAAgBvP,CAAa,EACxD8J,EAAiB9D,EAAwBuJ,GAAgBvP,CAAa,EACtE0P,EAAcf,GAAqBY,GAAgBvP,CAAa,EAChE2P,EAAuB9P,GAA8B0P,GAAgBvP,CAAa,EAClF,CAAC4P,EAAcC,CAAe,EAAI5O,EAAM,SAAS,IAAI,EACrDgC,EAAeC,EAAe,gBAClCL,EACCwE,GAASwI,EAAgBxI,CAAI,EAC9BqI,EAAY,iBACXrI,GAASyC,EAAe,sBAAsBzC,EAAMqI,EAAY,MAAOA,EAAY,QAAQ,CAC7F,EACKI,EAAcF,GAAc,YAC5BG,EAAe9O,EAAM,QACzB,IAAsBkB,EAAG,IAAC,SAAU,CAAE,MAAOuN,EAAY,MAAO,SAAUA,EAAY,SAAU,SAAUI,CAAW,EAAIJ,EAAY,KAAK,EAC1I,CAACA,EAAY,SAAUA,EAAY,MAAOI,CAAW,CACtD,EACK,CAAE,kBAAAE,EAAmB,qBAAAC,CAAoB,EAAKN,EACpD5K,OAAAA,EAAAA,gBAAgB,KACdiL,EAAkBD,CAAY,EACvB,IAAME,EAAqBF,CAAY,GAC7C,CAACC,EAAmBC,EAAsBF,CAAY,CAAC,EACnC1N,EAAI,KAAC2C,WAAU,CAAE,SAAU,CAChC7C,EAAAA,IAAI+B,EAAS,UAAC,KAAM,CAAE,GAAIwL,EAAY,OAAQ,GAAGD,EAAe,IAAKxM,EAAc,EACnGyM,EAAY,YAAc3M,EAAQ,WAAa,CAACA,EAAQ,qBAAuB6C,GAAS,aAAa6J,EAAc,SAAU1M,EAAQ,SAAS,EAAI,IACxJ,EAAO,CACP,CACA,EACAyM,GAAe,YAAcD,GAC7B,IAAIW,GAAsB,sBACtBC,GAAsBlP,EAAM,WAC9B,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,cAAA7C,EAAe,GAAGoQ,CAAkB,EAAKrQ,EAEjD,OADoB4O,GAAqBuB,GAAqBlQ,CAAa,EACxD,WAA6BmC,MAAI+B,EAAAA,UAAU,KAAM,CAAE,cAAe,GAAM,GAAGkM,EAAoB,IAAKvN,CAAY,CAAE,EAAI,IAC7I,CACA,EACAsN,GAAoB,YAAcD,GAClC,IAAIG,GAAwB,uBACxBC,GAAuBrP,EAAM,WAAW,CAAClB,EAAO8C,IAAiB,CACnE,MAAMiH,EAAiB9D,EAAwBqK,GAAuBtQ,EAAM,aAAa,EACnFuN,EAAkBL,GAAyBoD,GAAuBtQ,EAAM,aAAa,EACrF,CAACwQ,EAAaC,CAAc,EAAIvP,EAAM,SAAS,EAAK,EACpDgC,EAAeC,EAAe,gBAACL,EAAcyK,EAAgB,oBAAoB,EACvFvI,OAAAA,EAAAA,gBAAgB,IAAM,CACpB,GAAI+E,EAAe,UAAYA,EAAe,aAAc,CAC1D,IAAI2G,EAAgB,UAAW,CAC7B,MAAMC,EAAevJ,EAAS,UAAY,EAC1CqJ,EAAeE,CAAY,CAC5B,EAED,MAAMvJ,EAAW2C,EAAe,SAChC,OAAA2G,EAAe,EACftJ,EAAS,iBAAiB,SAAUsJ,CAAa,EAC1C,IAAMtJ,EAAS,oBAAoB,SAAUsJ,CAAa,CACvE,CACG,EAAE,CAAC3G,EAAe,SAAUA,EAAe,YAAY,CAAC,EAClDyG,EAA8BpO,EAAG,IACtCwO,GACA,CACE,GAAG5Q,EACH,IAAKkD,EACL,aAAc,IAAM,CAClB,KAAM,CAAE,SAAAkE,EAAU,aAAAG,CAAY,EAAKwC,EAC/B3C,GAAYG,IACdH,EAAS,UAAYA,EAAS,UAAYG,EAAa,aAEjE,CACA,CACA,EAAM,IACN,CAAC,EACDgJ,GAAqB,YAAcD,GACnC,IAAIO,GAA0B,yBAC1BC,GAAyB5P,EAAM,WAAW,CAAClB,EAAO8C,IAAiB,CACrE,MAAMiH,EAAiB9D,EAAwB4K,GAAyB7Q,EAAM,aAAa,EACrFuN,EAAkBL,GAAyB2D,GAAyB7Q,EAAM,aAAa,EACvF,CAAC+Q,EAAeC,CAAgB,EAAI9P,EAAM,SAAS,EAAK,EACxDgC,EAAeC,EAAe,gBAACL,EAAcyK,EAAgB,oBAAoB,EACvFvI,OAAAA,EAAAA,gBAAgB,IAAM,CACpB,GAAI+E,EAAe,UAAYA,EAAe,aAAc,CAC1D,IAAI2G,EAAgB,UAAW,CAC7B,MAAMO,EAAY7J,EAAS,aAAeA,EAAS,aAC7C8J,EAAiB,KAAK,KAAK9J,EAAS,SAAS,EAAI6J,EACvDD,EAAiBE,CAAc,CAChC,EAED,MAAM9J,EAAW2C,EAAe,SAChC,OAAA2G,EAAe,EACftJ,EAAS,iBAAiB,SAAUsJ,CAAa,EAC1C,IAAMtJ,EAAS,oBAAoB,SAAUsJ,CAAa,CACvE,CACG,EAAE,CAAC3G,EAAe,SAAUA,EAAe,YAAY,CAAC,EAClDgH,EAAgC3O,EAAG,IACxCwO,GACA,CACE,GAAG5Q,EACH,IAAKkD,EACL,aAAc,IAAM,CAClB,KAAM,CAAE,SAAAkE,EAAU,aAAAG,CAAY,EAAKwC,EAC/B3C,GAAYG,IACdH,EAAS,UAAYA,EAAS,UAAYG,EAAa,aAEjE,CACA,CACA,EAAM,IACN,CAAC,EACDuJ,GAAuB,YAAcD,GACrC,IAAID,GAAyB1P,EAAM,WAAW,CAAClB,EAAO8C,IAAiB,CACrE,KAAM,CAAE,cAAA7C,EAAe,aAAAkR,EAAc,GAAGC,CAAsB,EAAGpR,EAC3D+J,EAAiB9D,EAAwB,qBAAsBhG,CAAa,EAC5EoR,EAAqBnQ,EAAM,OAAO,IAAI,EACtCkC,EAAWjE,GAAcc,CAAa,EACtCqR,EAAuBpQ,EAAM,YAAY,IAAM,CAC/CmQ,EAAmB,UAAY,OACjC,OAAO,cAAcA,EAAmB,OAAO,EAC/CA,EAAmB,QAAU,KAEhC,EAAE,EAAE,EACLnQ,OAAAA,EAAM,UAAU,IACP,IAAMoQ,EAAsB,EAClC,CAACA,CAAoB,CAAC,EACzBtM,EAAAA,gBAAgB,IAAM,CACD5B,IAAW,KAAMQ,GAASA,EAAK,IAAI,UAAY,SAAS,aAAa,GAC5E,IAAI,SAAS,eAAe,CAAE,MAAO,UAAW,CAChE,EAAK,CAACR,CAAQ,CAAC,EACUhB,EAAG,IACxB+B,EAAAA,UAAU,IACV,CACE,cAAe,GACf,GAAGiN,EACH,IAAKtO,EACL,MAAO,CAAE,WAAY,EAAG,GAAGsO,EAAqB,KAAO,EACvD,cAAe/M,EAAoB,qBAAC+M,EAAqB,cAAe,IAAM,CACxEC,EAAmB,UAAY,OACjCA,EAAmB,QAAU,OAAO,YAAYF,EAAc,EAAE,EAE1E,CAAO,EACD,cAAe9M,EAAoB,qBAAC+M,EAAqB,cAAe,IAAM,CAC5ErH,EAAe,cAAe,EAC1BsH,EAAmB,UAAY,OACjCA,EAAmB,QAAU,OAAO,YAAYF,EAAc,EAAE,EAE1E,CAAO,EACD,eAAgB9M,EAAoB,qBAAC+M,EAAqB,eAAgB,IAAM,CAC9EE,EAAsB,CACvB,CAAA,CACP,CACG,CACH,CAAC,EACGC,GAAiB,kBACjBC,GAAkBtQ,EAAM,WAC1B,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,cAAA7C,EAAe,GAAGwR,CAAc,EAAKzR,EAC7C,OAAuBoC,EAAG,IAAC+B,YAAU,IAAK,CAAE,cAAe,GAAM,GAAGsN,EAAgB,IAAK3O,EAAc,CAC3G,CACA,EACA0O,GAAgB,YAAcD,GAC9B,IAAIG,GAAa,cACbC,GAAczQ,EAAM,WACtB,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,cAAA7C,EAAe,GAAG2R,CAAU,EAAK5R,EACnCe,EAAcrB,GAAeO,CAAa,EAC1C+C,EAAUpD,EAAiB8R,GAAYzR,CAAa,EACpD8J,EAAiB9D,EAAwByL,GAAYzR,CAAa,EACxE,OAAO+C,EAAQ,MAAQ+G,EAAe,WAAa,SAA2B3H,EAAAA,IAAIyP,GAAAA,MAAuB,CAAE,GAAG9Q,EAAa,GAAG6Q,EAAY,IAAK9O,CAAY,CAAE,EAAI,IACrK,CACA,EACA6O,GAAY,YAAcD,GAC1B,SAAStN,GAAsBxC,EAAO,CACpC,OAAOA,IAAU,IAAMA,IAAU,MACnC,CACA,IAAIc,GAAexB,EAAM,WACvB,CAAClB,EAAO8C,IAAiB,CACvB,KAAM,CAAE,MAAAlB,EAAO,GAAGkQ,CAAW,EAAK9R,EAC5B+R,EAAM7Q,EAAM,OAAO,IAAI,EACvBgC,EAAeC,EAAAA,gBAAgBL,EAAciP,CAAG,EAChDC,EAAYC,GAAW,YAACrQ,CAAK,EACnCV,OAAAA,EAAM,UAAU,IAAM,CACpB,MAAMgR,EAASH,EAAI,QACbI,EAAc,OAAO,kBAAkB,UAKvCtQ,EAJa,OAAO,yBACxBsQ,EACA,OACD,EAC2B,IAC5B,GAAIH,IAAcpQ,GAASC,EAAU,CACnC,MAAMc,EAAQ,IAAI,MAAM,SAAU,CAAE,QAAS,GAAM,EACnDd,EAAS,KAAKqQ,EAAQtQ,CAAK,EAC3BsQ,EAAO,cAAcvP,CAAK,CAClC,CACA,EAAO,CAACqP,EAAWpQ,CAAK,CAAC,EACEQ,EAAAA,IAAIgQ,GAAAA,eAAgB,CAAE,QAAS,GAAM,SAA0BhQ,MAAI,SAAU,CAAE,GAAG0P,EAAa,IAAK5O,EAAc,aAActB,CAAO,CAAA,EAAG,CACrK,CACA,EACAc,GAAa,YAAc,eAC3B,SAASe,GAAmB4O,EAAgB,CAC1C,MAAMC,EAAqBC,GAAc,eAACF,CAAc,EAClD/O,EAAYpC,EAAM,OAAO,EAAE,EAC3BsR,EAAWtR,EAAM,OAAO,CAAC,EACzBqC,EAAwBrC,EAAM,YACjCuR,GAAQ,CACP,MAAM/O,EAASJ,EAAU,QAAUmP,EACnCH,EAAmB5O,CAAM,EACxB,SAASgP,EAAa9Q,EAAO,CAC5B0B,EAAU,QAAU1B,EACpB,OAAO,aAAa4Q,EAAS,OAAO,EAChC5Q,IAAU,KAAI4Q,EAAS,QAAU,OAAO,WAAW,IAAME,EAAa,EAAE,EAAG,GAAG,EACnF,EAAEhP,CAAM,CACV,EACD,CAAC4O,CAAkB,CACpB,EACK9O,EAAiBtC,EAAM,YAAY,IAAM,CAC7CoC,EAAU,QAAU,GACpB,OAAO,aAAakP,EAAS,OAAO,CACrC,EAAE,EAAE,EACLtR,OAAAA,EAAM,UAAU,IACP,IAAM,OAAO,aAAasR,EAAS,OAAO,EAChD,EAAE,EACE,CAAClP,EAAWC,EAAuBC,CAAc,CAC1D,CACA,SAASO,GAAaqH,EAAO1H,EAAQG,EAAa,CAEhD,MAAM8O,EADajP,EAAO,OAAS,GAAK,MAAM,KAAKA,CAAM,EAAE,MAAOkP,GAASA,IAASlP,EAAO,CAAC,CAAC,EACvDA,EAAO,CAAC,EAAIA,EAC5CmP,EAAmBhP,EAAcuH,EAAM,QAAQvH,CAAW,EAAI,GACpE,IAAIiP,EAAeC,GAAU3H,EAAO,KAAK,IAAIyH,EAAkB,CAAC,CAAC,EACtCF,EAAiB,SAAW,IAC/BG,EAAeA,EAAa,OAAQE,GAAMA,IAAMnP,CAAW,GACnF,MAAMC,EAAWgP,EAAa,KAC3BlP,GAASA,EAAK,UAAU,YAAW,EAAG,WAAW+O,EAAiB,YAAa,CAAA,CACjF,EACD,OAAO7O,IAAaD,EAAcC,EAAW,MAC/C,CACA,SAASiP,GAAUE,EAAOC,EAAY,CACpC,OAAOD,EAAM,IAAI,CAACE,EAAGC,IAAUH,GAAOC,EAAaE,GAASH,EAAM,MAAM,CAAC,CAC3E,CACG,IAACI,GAAQtT,GACRuT,GAAUzQ,GACV0Q,GAAQ9O,GACR+O,GAAOrO,GACPsO,GAASnO,GACToO,GAAWjO,GACXkO,GAAWvG,GACXwG,GAAQzF,GACR0F,GAAQtF,GACRuF,GAAOjF,GACPkF,GAAWtE,GACXuE,GAAgB5D,GAChB6D,GAAiB1D,GACjB2D,GAAmBpD,GACnBqD,GAAY3C","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),u=require("../../react-primitive/dist/index.cjs"),d=require("react/jsx-runtime");function p(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const f=p(l);var v="Separator",i="horizontal",O=["horizontal","vertical"],n=f.forwardRef((e,r)=>{const{decorative:t,orientation:o=i,...c}=e,a=m(o)?o:i,s=t?{role:"none"}:{"aria-orientation":a==="vertical"?a:void 0,role:"separator"};return d.jsx(u.Primitive.div,{"data-orientation":a,...s,...c,ref:r})});n.displayName=v;function m(e){return O.includes(e)}var b=n;exports.Root=b;exports.Separator=n;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","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":"
|
|
1
|
+
{"version":3,"file":"index.cjs","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":"ieAIA,IAAIA,EAAO,YACPC,EAAsB,aACtBC,EAAe,CAAC,aAAc,UAAU,EACxCC,EAAYC,EAAM,WAAW,CAACC,EAAOC,IAAiB,CACxD,KAAM,CAAE,WAAAC,EAAY,YAAaC,EAAkBP,EAAqB,GAAGQ,CAAQ,EAAKJ,EAClFK,EAAcC,EAAmBH,CAAe,EAAIA,EAAkBP,EAEtEW,EAAgBL,EAAa,CAAE,KAAM,QAAW,CAAE,mBADhCG,IAAgB,WAAaA,EAAc,OAC0B,KAAM,WAAa,EAChH,OAAuBG,EAAG,IACxBC,EAAAA,UAAU,IACV,CACE,mBAAoBJ,EACpB,GAAGE,EACH,GAAGH,EACH,IAAKH,CACX,CACG,CACH,CAAC,EACDH,EAAU,YAAcH,EACxB,SAASW,EAAmBD,EAAa,CACvC,OAAOR,EAAa,SAASQ,CAAW,CAC1C,CACG,IAACK,EAAOZ","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ae=require("react"),G=require("../../number/dist/index.cjs"),
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ae=require("react"),G=require("../../number/dist/index.cjs"),C=require("../../primitive/dist/index.cjs"),K=require("../../react-compose-refs/dist/index.cjs"),ce=require("../../react-context/dist/index.cjs"),le=require("../../react-use-controllable-state/dist/index.cjs"),de=require("../../react-direction/dist/index.cjs"),ue=require("../../react-use-previous/dist/index.cjs"),fe=require("../../react-use-size/dist/index.cjs"),A=require("../../react-primitive/dist/index.cjs"),me=require("../../react-collection/dist/index.cjs"),p=require("react/jsx-runtime");function Se(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const l=Se(ae);var W=["PageUp","PageDown"],J=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Q={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},_="Slider",[O,pe,he]=me.createCollection(_),[Z,ge]=ce.createContextScope(_,[he]),[ve,I]=Z(_),q=l.forwardRef((e,t)=>{const{name:n,min:o=0,max:i=100,step:a=1,orientation:r="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:g=[o],value:w,onValueChange:s=()=>{},onValueCommit:u=()=>{},inverted:v=!1,form:R,...h}=e,m=l.useRef(new Set),f=l.useRef(0),x=r==="horizontal"?xe:be,[S=[],M]=le.useControllableState({prop:w,defaultProp:g,onChange:b=>{[...m.current][f.current]?.focus(),s(b)}}),V=l.useRef(S);function k(b){const P=De(S,b);T(b,P)}function ie(b){T(b,f.current)}function se(){const b=V.current[f.current];S[f.current]!==b&&u(S)}function T(b,P,{commit:H}={commit:!1}){const Y=Me(a),B=Te(Math.round((b-o)/a)*a+o,Y),j=G.clamp(B,[o,i]);M((E=[])=>{const y=Pe(E,j,P);if(_e(y,d*a)){f.current=y.indexOf(j);const X=String(y)!==String(E);return X&&H&&u(y),X?y:E}else return E})}return p.jsx(ve,{scope:e.__scopeSlider,name:n,disabled:c,min:o,max:i,valueIndexToChangeRef:f,thumbs:m.current,values:S,orientation:r,form:R,children:p.jsx(O.Provider,{scope:e.__scopeSlider,children:p.jsx(O.Slot,{scope:e.__scopeSlider,children:p.jsx(x,{"aria-disabled":c,"data-disabled":c?"":void 0,...h,ref:t,onPointerDown:C.composeEventHandlers(h.onPointerDown,()=>{c||(V.current=S)}),min:o,max:i,inverted:v,onSlideStart:c?void 0:k,onSlideMove:c?void 0:ie,onSlideEnd:c?void 0:se,onHomeKeyDown:()=>!c&&T(o,0,{commit:!0}),onEndKeyDown:()=>!c&&T(i,S.length-1,{commit:!0}),onStepKeyDown:({event:b,direction:P})=>{if(!c){const B=W.includes(b.key)||b.shiftKey&&J.includes(b.key)?10:1,j=f.current,E=S[j],y=a*B*P;T(E+y,j,{commit:!0})}}})})})})});q.displayName=_;var[ee,te]=Z(_,{startEdge:"left",endEdge:"right",size:"width",direction:1}),xe=l.forwardRef((e,t)=>{const{min:n,max:o,dir:i,inverted:a,onSlideStart:r,onSlideMove:c,onSlideEnd:d,onStepKeyDown:g,...w}=e,[s,u]=l.useState(null),v=K.useComposedRefs(t,x=>u(x)),R=l.useRef(void 0),h=de.useDirection(i),m=h==="ltr",f=m&&!a||!m&&a;function D(x){const S=R.current||s.getBoundingClientRect(),M=[0,S.width],k=U(M,f?[n,o]:[o,n]);return R.current=S,k(x-S.left)}return p.jsx(ee,{scope:e.__scopeSlider,startEdge:f?"left":"right",endEdge:f?"right":"left",direction:f?1:-1,size:"width",children:p.jsx(ne,{dir:h,"data-orientation":"horizontal",...w,ref:v,style:{...w.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:x=>{const S=D(x.clientX);r?.(S)},onSlideMove:x=>{const S=D(x.clientX);c?.(S)},onSlideEnd:()=>{R.current=void 0,d?.()},onStepKeyDown:x=>{const M=Q[f?"from-left":"from-right"].includes(x.key);g?.({event:x,direction:M?-1:1})}})})}),be=l.forwardRef((e,t)=>{const{min:n,max:o,inverted:i,onSlideStart:a,onSlideMove:r,onSlideEnd:c,onStepKeyDown:d,...g}=e,w=l.useRef(null),s=K.useComposedRefs(t,w),u=l.useRef(void 0),v=!i;function R(h){const m=u.current||w.current.getBoundingClientRect(),f=[0,m.height],x=U(f,v?[o,n]:[n,o]);return u.current=m,x(h-m.top)}return p.jsx(ee,{scope:e.__scopeSlider,startEdge:v?"bottom":"top",endEdge:v?"top":"bottom",size:"height",direction:v?1:-1,children:p.jsx(ne,{"data-orientation":"vertical",...g,ref:s,style:{...g.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:h=>{const m=R(h.clientY);a?.(m)},onSlideMove:h=>{const m=R(h.clientY);r?.(m)},onSlideEnd:()=>{u.current=void 0,c?.()},onStepKeyDown:h=>{const f=Q[v?"from-bottom":"from-top"].includes(h.key);d?.({event:h,direction:f?-1:1})}})})}),ne=l.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:o,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:r,onEndKeyDown:c,onStepKeyDown:d,...g}=e,w=I(_,n);return p.jsx(A.Primitive.span,{...g,ref:t,onKeyDown:C.composeEventHandlers(e.onKeyDown,s=>{s.key==="Home"?(r(s),s.preventDefault()):s.key==="End"?(c(s),s.preventDefault()):W.concat(J).includes(s.key)&&(d(s),s.preventDefault())}),onPointerDown:C.composeEventHandlers(e.onPointerDown,s=>{const u=s.target;u.setPointerCapture(s.pointerId),s.preventDefault(),w.thumbs.has(u)?u.focus():o(s)}),onPointerMove:C.composeEventHandlers(e.onPointerMove,s=>{s.target.hasPointerCapture(s.pointerId)&&i(s)}),onPointerUp:C.composeEventHandlers(e.onPointerUp,s=>{const u=s.target;u.hasPointerCapture(s.pointerId)&&(u.releasePointerCapture(s.pointerId),a(s))})})}),oe="SliderTrack",N=l.forwardRef((e,t)=>{const{__scopeSlider:n,...o}=e,i=I(oe,n);return p.jsx(A.Primitive.span,{"data-disabled":i.disabled?"":void 0,"data-orientation":i.orientation,...o,ref:t})});N.displayName=oe;var z="SliderRange",L=l.forwardRef((e,t)=>{const{__scopeSlider:n,...o}=e,i=I(z,n),a=te(z,n),r=l.useRef(null),c=K.useComposedRefs(t,r),d=i.values.length,g=i.values.map(u=>re(u,i.min,i.max)),w=d>1?Math.min(...g):0,s=100-Math.max(...g);return p.jsx(A.Primitive.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?"":void 0,...o,ref:c,style:{...e.style,[a.startEdge]:w+"%",[a.endEdge]:s+"%"}})});L.displayName=z;var $="SliderThumb",F=l.forwardRef((e,t)=>{const n=pe(e.__scopeSlider),[o,i]=l.useState(null),a=K.useComposedRefs(t,c=>i(c)),r=l.useMemo(()=>o?n().findIndex(c=>c.ref.current===o):-1,[n,o]);return p.jsx(we,{...e,ref:a,index:r})}),we=l.forwardRef((e,t)=>{const{__scopeSlider:n,index:o,name:i,...a}=e,r=I($,n),c=te($,n),[d,g]=l.useState(null),w=K.useComposedRefs(t,D=>g(D)),s=d?r.form||!!d.closest("form"):!0,u=fe.useSize(d),v=r.values[o],R=v===void 0?0:re(v,r.min,r.max),h=ye(o,r.values.length),m=u?.[c.size],f=m?Ee(m,R,c.direction):0;return l.useEffect(()=>{if(d)return r.thumbs.add(d),()=>{r.thumbs.delete(d)}},[d,r.thumbs]),p.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[c.startEdge]:`calc(${R}% + ${f}px)`},children:[p.jsx(O.ItemSlot,{scope:e.__scopeSlider,children:p.jsx(A.Primitive.span,{role:"slider","aria-label":e["aria-label"]||h,"aria-valuemin":r.min,"aria-valuenow":v,"aria-valuemax":r.max,"aria-orientation":r.orientation,"data-orientation":r.orientation,"data-disabled":r.disabled?"":void 0,tabIndex:r.disabled?void 0:0,...a,ref:w,style:v===void 0?{display:"none"}:e.style,onFocus:C.composeEventHandlers(e.onFocus,()=>{r.valueIndexToChangeRef.current=o})})}),s&&p.jsx(Re,{name:i??(r.name?r.name+(r.values.length>1?"[]":""):void 0),form:r.form,value:v},o)]})});F.displayName=$;var Re=e=>{const{value:t,...n}=e,o=l.useRef(null),i=ue.usePrevious(t);return l.useEffect(()=>{const a=o.current,r=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(r,"value").set;if(i!==t&&d){const g=new Event("input",{bubbles:!0});d.call(a,t),a.dispatchEvent(g)}},[i,t]),p.jsx("input",{style:{display:"none"},...n,ref:o,defaultValue:t})};function Pe(e=[],t,n){const o=[...e];return o[n]=t,o.sort((i,a)=>i-a)}function re(e,t,n){const a=100/(n-t)*(e-t);return G.clamp(a,[0,100])}function ye(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function De(e,t){if(e.length===1)return 0;const n=e.map(i=>Math.abs(i-t)),o=Math.min(...n);return n.indexOf(o)}function Ee(e,t,n){const o=e/2,a=U([0,50],[0,o]);return(o-a(t)*n)*n}function Ce(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function _e(e,t){if(t>0){const n=Ce(e);return Math.min(...n)>=t}return!0}function U(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const o=(t[1]-t[0])/(e[1]-e[0]);return t[0]+o*(n-e[0])}}function Me(e){return(String(e).split(".")[1]||"").length}function Te(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var je=q,Ke=N,Ae=L,Ie=F;exports.Range=Ae;exports.Root=je;exports.Slider=q;exports.SliderRange=L;exports.SliderThumb=F;exports.SliderTrack=N;exports.Thumb=Ie;exports.Track=Ke;exports.createSliderScope=ge;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|