reka-ui 2.2.1 → 2.3.1
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/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/AccordionRoot.cjs.map +1 -1
- package/dist/Accordion/AccordionRoot.js.map +1 -1
- package/dist/AlertDialog/AlertDialogCancel.cjs.map +1 -1
- package/dist/AlertDialog/AlertDialogCancel.js.map +1 -1
- package/dist/AlertDialog/AlertDialogContent.cjs.map +1 -1
- package/dist/AlertDialog/AlertDialogContent.js.map +1 -1
- package/dist/AspectRatio/AspectRatio.cjs.map +1 -1
- package/dist/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/Avatar/AvatarFallback.cjs +11 -14
- package/dist/Avatar/AvatarFallback.cjs.map +1 -1
- package/dist/Avatar/AvatarFallback.js +12 -15
- package/dist/Avatar/AvatarFallback.js.map +1 -1
- package/dist/Avatar/AvatarImage.cjs +3 -2
- package/dist/Avatar/AvatarImage.cjs.map +1 -1
- package/dist/Avatar/AvatarImage.js +3 -2
- package/dist/Avatar/AvatarImage.js.map +1 -1
- package/dist/Avatar/AvatarRoot.cjs +1 -1
- package/dist/Avatar/AvatarRoot.cjs.map +1 -1
- package/dist/Avatar/AvatarRoot.js +1 -1
- package/dist/Avatar/AvatarRoot.js.map +1 -1
- package/dist/Avatar/utils.cjs +43 -16
- package/dist/Avatar/utils.cjs.map +1 -1
- package/dist/Avatar/utils.js +44 -17
- package/dist/Avatar/utils.js.map +1 -1
- package/dist/Calendar/CalendarCell.cjs +2 -2
- package/dist/Calendar/CalendarCell.cjs.map +1 -1
- package/dist/Calendar/CalendarCell.js +2 -2
- package/dist/Calendar/CalendarCell.js.map +1 -1
- package/dist/Calendar/CalendarCellTrigger.cjs +5 -1
- package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
- package/dist/Calendar/CalendarCellTrigger.js +5 -1
- package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
- package/dist/Calendar/CalendarGrid.cjs.map +1 -1
- package/dist/Calendar/CalendarGrid.js.map +1 -1
- package/dist/Calendar/CalendarHeading.cjs.map +1 -1
- package/dist/Calendar/CalendarHeading.js.map +1 -1
- package/dist/Calendar/CalendarNext.cjs.map +1 -1
- package/dist/Calendar/CalendarNext.js.map +1 -1
- package/dist/Calendar/CalendarPrev.cjs.map +1 -1
- package/dist/Calendar/CalendarPrev.js.map +1 -1
- package/dist/Calendar/CalendarRoot.cjs +7 -4
- package/dist/Calendar/CalendarRoot.cjs.map +1 -1
- package/dist/Calendar/CalendarRoot.js +7 -4
- package/dist/Calendar/CalendarRoot.js.map +1 -1
- package/dist/Calendar/useCalendar.cjs +2 -2
- package/dist/Calendar/useCalendar.cjs.map +1 -1
- package/dist/Calendar/useCalendar.js +2 -2
- package/dist/Calendar/useCalendar.js.map +1 -1
- package/dist/Checkbox/CheckboxGroupRoot.cjs.map +1 -1
- package/dist/Checkbox/CheckboxGroupRoot.js.map +1 -1
- package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
- package/dist/Checkbox/CheckboxRoot.js.map +1 -1
- package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
- package/dist/Collapsible/CollapsibleContent.js.map +1 -1
- package/dist/Collapsible/CollapsibleRoot.cjs +2 -0
- package/dist/Collapsible/CollapsibleRoot.cjs.map +1 -1
- package/dist/Collapsible/CollapsibleRoot.js +2 -0
- package/dist/Collapsible/CollapsibleRoot.js.map +1 -1
- package/dist/Collection/Collection.cjs.map +1 -1
- package/dist/Collection/Collection.js.map +1 -1
- package/dist/Combobox/ComboboxContentImpl.cjs +1 -1
- package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
- package/dist/Combobox/ComboboxContentImpl.js +1 -1
- package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
- package/dist/Combobox/ComboboxGroup.cjs.map +1 -1
- package/dist/Combobox/ComboboxGroup.js.map +1 -1
- package/dist/Combobox/ComboboxInput.cjs.map +1 -1
- package/dist/Combobox/ComboboxInput.js.map +1 -1
- package/dist/Combobox/ComboboxItem.cjs.map +1 -1
- package/dist/Combobox/ComboboxItem.js.map +1 -1
- package/dist/Combobox/ComboboxRoot.cjs +1 -2
- package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
- package/dist/Combobox/ComboboxRoot.js +1 -2
- package/dist/Combobox/ComboboxRoot.js.map +1 -1
- package/dist/Combobox/ComboboxTrigger.cjs.map +1 -1
- package/dist/Combobox/ComboboxTrigger.js.map +1 -1
- package/dist/Combobox/ComboboxViewport.cjs.map +1 -1
- package/dist/Combobox/ComboboxViewport.js.map +1 -1
- package/dist/Combobox/ComboboxVirtualizer.cjs.map +1 -1
- package/dist/Combobox/ComboboxVirtualizer.js.map +1 -1
- package/dist/ConfigProvider/ConfigProvider.cjs.map +1 -1
- package/dist/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/ContextMenu/ContextMenuContent.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuContent.js.map +1 -1
- package/dist/ContextMenu/ContextMenuRoot.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuRoot.js.map +1 -1
- package/dist/ContextMenu/ContextMenuSub.cjs +1 -1
- package/dist/ContextMenu/ContextMenuSub.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuSub.js +1 -1
- package/dist/ContextMenu/ContextMenuSub.js.map +1 -1
- package/dist/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuTrigger.js.map +1 -1
- package/dist/DateField/DateFieldInput.cjs +1 -0
- package/dist/DateField/DateFieldInput.cjs.map +1 -1
- package/dist/DateField/DateFieldInput.js +1 -0
- package/dist/DateField/DateFieldInput.js.map +1 -1
- package/dist/DateField/DateFieldRoot.cjs +7 -1
- package/dist/DateField/DateFieldRoot.cjs.map +1 -1
- package/dist/DateField/DateFieldRoot.js +7 -1
- package/dist/DateField/DateFieldRoot.js.map +1 -1
- package/dist/DatePicker/DatePickerCellTrigger.cjs.map +1 -1
- package/dist/DatePicker/DatePickerCellTrigger.js.map +1 -1
- package/dist/DatePicker/DatePickerContent.cjs +8 -3
- package/dist/DatePicker/DatePickerContent.cjs.map +1 -1
- package/dist/DatePicker/DatePickerContent.js +9 -4
- package/dist/DatePicker/DatePickerContent.js.map +1 -1
- package/dist/DatePicker/DatePickerHeading.cjs.map +1 -1
- package/dist/DatePicker/DatePickerHeading.js.map +1 -1
- package/dist/DatePicker/DatePickerNext.cjs.map +1 -1
- package/dist/DatePicker/DatePickerNext.js.map +1 -1
- package/dist/DatePicker/DatePickerPrev.cjs.map +1 -1
- package/dist/DatePicker/DatePickerPrev.js.map +1 -1
- package/dist/DatePicker/DatePickerRoot.cjs +1 -0
- package/dist/DatePicker/DatePickerRoot.cjs.map +1 -1
- package/dist/DatePicker/DatePickerRoot.js +1 -0
- package/dist/DatePicker/DatePickerRoot.js.map +1 -1
- package/dist/DateRangeField/DateRangeFieldInput.cjs +1 -0
- package/dist/DateRangeField/DateRangeFieldInput.cjs.map +1 -1
- package/dist/DateRangeField/DateRangeFieldInput.js +1 -0
- package/dist/DateRangeField/DateRangeFieldInput.js.map +1 -1
- package/dist/DateRangeField/DateRangeFieldRoot.cjs +13 -9
- package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
- package/dist/DateRangeField/DateRangeFieldRoot.js +13 -9
- package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.cjs +2 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.js +2 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerContent.cjs +8 -3
- package/dist/DateRangePicker/DateRangePickerContent.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerContent.js +9 -4
- package/dist/DateRangePicker/DateRangePickerContent.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeading.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeading.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerNext.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerNext.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerPrev.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerPrev.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.cjs +6 -2
- package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.js +6 -2
- package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
- package/dist/Dialog/DialogContentImpl.cjs +1 -1
- package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
- package/dist/Dialog/DialogContentImpl.js +1 -1
- package/dist/Dialog/DialogContentImpl.js.map +1 -1
- package/dist/Dialog/DialogContentNonModal.cjs.map +1 -1
- package/dist/Dialog/DialogContentNonModal.js.map +1 -1
- package/dist/Dialog/DialogRoot.cjs +4 -1
- package/dist/Dialog/DialogRoot.cjs.map +1 -1
- package/dist/Dialog/DialogRoot.js +4 -1
- package/dist/Dialog/DialogRoot.js.map +1 -1
- package/dist/Dialog/DialogTrigger.cjs.map +1 -1
- package/dist/Dialog/DialogTrigger.js.map +1 -1
- package/dist/DismissableLayer/DismissableLayer.cjs.map +1 -1
- package/dist/DismissableLayer/DismissableLayer.js.map +1 -1
- package/dist/DismissableLayer/DismissableLayerBranch.cjs.map +1 -1
- package/dist/DismissableLayer/DismissableLayerBranch.js.map +1 -1
- package/dist/DismissableLayer/utils.cjs +19 -7
- package/dist/DismissableLayer/utils.cjs.map +1 -1
- package/dist/DismissableLayer/utils.js +20 -8
- package/dist/DismissableLayer/utils.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRoot.cjs +1 -1
- package/dist/DropdownMenu/DropdownMenuRoot.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRoot.js +1 -1
- package/dist/DropdownMenu/DropdownMenuRoot.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSub.cjs +1 -1
- package/dist/DropdownMenu/DropdownMenuSub.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSub.js +1 -1
- package/dist/DropdownMenu/DropdownMenuSub.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuTrigger.js.map +1 -1
- package/dist/Editable/EditableInput.cjs.map +1 -1
- package/dist/Editable/EditableInput.js.map +1 -1
- package/dist/Editable/EditableRoot.cjs +3 -3
- package/dist/Editable/EditableRoot.cjs.map +1 -1
- package/dist/Editable/EditableRoot.js +3 -3
- package/dist/Editable/EditableRoot.js.map +1 -1
- package/dist/FocusScope/FocusScope.cjs.map +1 -1
- package/dist/FocusScope/FocusScope.js.map +1 -1
- package/dist/HoverCard/HoverCardContentImpl.cjs +1 -1
- package/dist/HoverCard/HoverCardContentImpl.cjs.map +1 -1
- package/dist/HoverCard/HoverCardContentImpl.js +1 -1
- package/dist/HoverCard/HoverCardContentImpl.js.map +1 -1
- package/dist/HoverCard/HoverCardRoot.cjs +1 -1
- package/dist/HoverCard/HoverCardRoot.cjs.map +1 -1
- package/dist/HoverCard/HoverCardRoot.js +1 -1
- package/dist/HoverCard/HoverCardRoot.js.map +1 -1
- package/dist/Listbox/ListboxFilter.cjs.map +1 -1
- package/dist/Listbox/ListboxFilter.js.map +1 -1
- package/dist/Listbox/ListboxItem.cjs.map +1 -1
- package/dist/Listbox/ListboxItem.js.map +1 -1
- package/dist/Listbox/ListboxRoot.cjs +1 -1
- package/dist/Listbox/ListboxRoot.cjs.map +1 -1
- package/dist/Listbox/ListboxRoot.js +1 -1
- package/dist/Listbox/ListboxRoot.js.map +1 -1
- package/dist/Listbox/ListboxVirtualizer.cjs +3 -3
- package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
- package/dist/Listbox/ListboxVirtualizer.js +3 -3
- package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
- package/dist/Menu/MenuCheckboxItem.cjs.map +1 -1
- package/dist/Menu/MenuCheckboxItem.js.map +1 -1
- package/dist/Menu/MenuContentImpl.cjs +1 -1
- package/dist/Menu/MenuContentImpl.cjs.map +1 -1
- package/dist/Menu/MenuContentImpl.js +1 -1
- package/dist/Menu/MenuContentImpl.js.map +1 -1
- package/dist/Menu/MenuItemImpl.cjs.map +1 -1
- package/dist/Menu/MenuItemImpl.js.map +1 -1
- package/dist/Menu/MenuItemIndicator.cjs.map +1 -1
- package/dist/Menu/MenuItemIndicator.js.map +1 -1
- package/dist/Menu/MenuRadioGroup.cjs.map +1 -1
- package/dist/Menu/MenuRadioGroup.js.map +1 -1
- package/dist/Menu/MenuRoot.cjs +1 -1
- package/dist/Menu/MenuRoot.cjs.map +1 -1
- package/dist/Menu/MenuRoot.js +1 -1
- package/dist/Menu/MenuRoot.js.map +1 -1
- package/dist/Menu/MenuSub.cjs +1 -1
- package/dist/Menu/MenuSub.cjs.map +1 -1
- package/dist/Menu/MenuSub.js +1 -1
- package/dist/Menu/MenuSub.js.map +1 -1
- package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
- package/dist/Menu/MenuSubTrigger.js.map +1 -1
- package/dist/Menubar/MenubarContent.cjs.map +1 -1
- package/dist/Menubar/MenubarContent.js.map +1 -1
- package/dist/Menubar/MenubarMenu.cjs.map +1 -1
- package/dist/Menubar/MenubarMenu.js.map +1 -1
- package/dist/Menubar/MenubarRoot.cjs.map +1 -1
- package/dist/Menubar/MenubarRoot.js.map +1 -1
- package/dist/Menubar/MenubarSub.cjs +1 -1
- package/dist/Menubar/MenubarSub.cjs.map +1 -1
- package/dist/Menubar/MenubarSub.js +1 -1
- package/dist/Menubar/MenubarSub.js.map +1 -1
- package/dist/Menubar/MenubarTrigger.cjs.map +1 -1
- package/dist/Menubar/MenubarTrigger.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContent.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContent.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.cjs +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.js +1 -1
- package/dist/NavigationMenu/NavigationMenuContentImpl.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuIndicator.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuIndicator.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuItem.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuItem.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuList.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuList.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuRoot.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuRoot.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuSub.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuSub.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuTrigger.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuTrigger.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuViewport.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuViewport.js.map +1 -1
- package/dist/NumberField/NumberFieldInput.cjs +2 -2
- package/dist/NumberField/NumberFieldInput.cjs.map +1 -1
- package/dist/NumberField/NumberFieldInput.js +2 -2
- package/dist/NumberField/NumberFieldInput.js.map +1 -1
- package/dist/NumberField/NumberFieldRoot.cjs +8 -5
- package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
- package/dist/NumberField/NumberFieldRoot.js +8 -5
- package/dist/NumberField/NumberFieldRoot.js.map +1 -1
- package/dist/Pagination/PaginationFirst.cjs.map +1 -1
- package/dist/Pagination/PaginationFirst.js.map +1 -1
- package/dist/Pagination/PaginationLast.cjs.map +1 -1
- package/dist/Pagination/PaginationLast.js.map +1 -1
- package/dist/Pagination/PaginationList.cjs.map +1 -1
- package/dist/Pagination/PaginationList.js.map +1 -1
- package/dist/Pagination/PaginationListItem.cjs.map +1 -1
- package/dist/Pagination/PaginationListItem.js.map +1 -1
- package/dist/Pagination/PaginationNext.cjs.map +1 -1
- package/dist/Pagination/PaginationNext.js.map +1 -1
- package/dist/Pagination/PaginationPrev.cjs.map +1 -1
- package/dist/Pagination/PaginationPrev.js.map +1 -1
- package/dist/Pagination/PaginationRoot.cjs.map +1 -1
- package/dist/Pagination/PaginationRoot.js.map +1 -1
- package/dist/PinInput/PinInputInput.cjs +14 -6
- package/dist/PinInput/PinInputInput.cjs.map +1 -1
- package/dist/PinInput/PinInputInput.js +14 -6
- package/dist/PinInput/PinInputInput.js.map +1 -1
- package/dist/PinInput/PinInputRoot.cjs +4 -2
- package/dist/PinInput/PinInputRoot.cjs.map +1 -1
- package/dist/PinInput/PinInputRoot.js +4 -2
- package/dist/PinInput/PinInputRoot.js.map +1 -1
- package/dist/Popover/PopoverAnchor.cjs.map +1 -1
- package/dist/Popover/PopoverAnchor.js.map +1 -1
- package/dist/Popover/PopoverContentImpl.cjs +1 -1
- package/dist/Popover/PopoverContentImpl.js +1 -1
- package/dist/Popover/PopoverContentModal.cjs.map +1 -1
- package/dist/Popover/PopoverContentModal.js.map +1 -1
- package/dist/Popover/PopoverContentNonModal.cjs.map +1 -1
- package/dist/Popover/PopoverContentNonModal.js.map +1 -1
- package/dist/Popover/PopoverRoot.cjs +1 -1
- package/dist/Popover/PopoverRoot.cjs.map +1 -1
- package/dist/Popover/PopoverRoot.js +1 -1
- package/dist/Popover/PopoverRoot.js.map +1 -1
- package/dist/Popover/PopoverTrigger.cjs.map +1 -1
- package/dist/Popover/PopoverTrigger.js.map +1 -1
- package/dist/Popper/PopperAnchor.cjs.map +1 -1
- package/dist/Popper/PopperAnchor.js.map +1 -1
- package/dist/Popper/PopperArrow.cjs.map +1 -1
- package/dist/Popper/PopperArrow.js.map +1 -1
- package/dist/Popper/PopperContent.cjs.map +1 -1
- package/dist/Popper/PopperContent.js.map +1 -1
- package/dist/Presence/Presence.cjs.map +1 -1
- package/dist/Presence/Presence.js.map +1 -1
- package/dist/Presence/usePresence.cjs.map +1 -1
- package/dist/Presence/usePresence.js.map +1 -1
- package/dist/Primitive/Slot.cjs +1 -9
- package/dist/Primitive/Slot.cjs.map +1 -1
- package/dist/Primitive/Slot.js +1 -9
- package/dist/Primitive/Slot.js.map +1 -1
- package/dist/Progress/ProgressRoot.cjs +3 -2
- package/dist/Progress/ProgressRoot.cjs.map +1 -1
- package/dist/Progress/ProgressRoot.js +3 -2
- package/dist/Progress/ProgressRoot.js.map +1 -1
- package/dist/RadioGroup/Radio.cjs +2 -0
- package/dist/RadioGroup/Radio.cjs.map +1 -1
- package/dist/RadioGroup/Radio.js +2 -0
- package/dist/RadioGroup/Radio.js.map +1 -1
- package/dist/RadioGroup/RadioGroupItem.cjs.map +1 -1
- package/dist/RadioGroup/RadioGroupItem.js.map +1 -1
- package/dist/RadioGroup/RadioGroupRoot.cjs.map +1 -1
- package/dist/RadioGroup/RadioGroupRoot.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCell.cjs +2 -2
- package/dist/RangeCalendar/RangeCalendarCell.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCell.js +2 -2
- package/dist/RangeCalendar/RangeCalendarCell.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +28 -9
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCellTrigger.js +28 -9
- package/dist/RangeCalendar/RangeCalendarCellTrigger.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarGrid.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarGrid.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarHeading.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarHeading.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarNext.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarNext.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarPrev.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarPrev.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.cjs +26 -9
- package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.js +26 -9
- package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
- package/dist/RangeCalendar/useRangeCalendar.cjs +21 -4
- package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
- package/dist/RangeCalendar/useRangeCalendar.js +21 -4
- package/dist/RangeCalendar/useRangeCalendar.js.map +1 -1
- package/dist/RovingFocus/RovingFocusGroup.cjs +1 -1
- package/dist/RovingFocus/RovingFocusGroup.cjs.map +1 -1
- package/dist/RovingFocus/RovingFocusGroup.js +1 -1
- package/dist/RovingFocus/RovingFocusGroup.js.map +1 -1
- package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
- package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaCornerImpl.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaCornerImpl.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaRoot.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaRoot.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbar.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbar.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarAuto.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarAuto.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarHover.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarHover.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarImpl.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarImpl.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarScroll.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarScroll.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarX.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarX.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarY.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarY.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaThumb.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaThumb.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.js.map +1 -1
- package/dist/Select/BubbleSelect.cjs.map +1 -1
- package/dist/Select/BubbleSelect.js.map +1 -1
- package/dist/Select/SelectContent.cjs.map +1 -1
- package/dist/Select/SelectContent.js.map +1 -1
- package/dist/Select/SelectContentImpl.cjs +2 -2
- package/dist/Select/SelectContentImpl.cjs.map +1 -1
- package/dist/Select/SelectContentImpl.js +2 -2
- package/dist/Select/SelectContentImpl.js.map +1 -1
- package/dist/Select/SelectItem.cjs.map +1 -1
- package/dist/Select/SelectItem.js.map +1 -1
- package/dist/Select/SelectItemAlignedPosition.cjs +1 -1
- package/dist/Select/SelectItemAlignedPosition.cjs.map +1 -1
- package/dist/Select/SelectItemAlignedPosition.js +1 -1
- package/dist/Select/SelectItemAlignedPosition.js.map +1 -1
- package/dist/Select/SelectItemText.cjs.map +1 -1
- package/dist/Select/SelectItemText.js.map +1 -1
- package/dist/Select/SelectProvider.cjs.map +1 -1
- package/dist/Select/SelectProvider.js.map +1 -1
- package/dist/Select/SelectRoot.cjs +3 -1
- package/dist/Select/SelectRoot.cjs.map +1 -1
- package/dist/Select/SelectRoot.js +3 -1
- package/dist/Select/SelectRoot.js.map +1 -1
- package/dist/Select/SelectScrollButtonImpl.cjs.map +1 -1
- package/dist/Select/SelectScrollButtonImpl.js.map +1 -1
- package/dist/Select/SelectTrigger.cjs.map +1 -1
- package/dist/Select/SelectTrigger.js.map +1 -1
- package/dist/Select/SelectValue.cjs.map +1 -1
- package/dist/Select/SelectValue.js.map +1 -1
- package/dist/Select/SelectViewport.cjs.map +1 -1
- package/dist/Select/SelectViewport.js.map +1 -1
- package/dist/Slider/SliderHorizontal.cjs +7 -4
- package/dist/Slider/SliderHorizontal.cjs.map +1 -1
- package/dist/Slider/SliderHorizontal.js +7 -4
- package/dist/Slider/SliderHorizontal.js.map +1 -1
- package/dist/Slider/SliderRange.cjs +2 -2
- package/dist/Slider/SliderRange.cjs.map +1 -1
- package/dist/Slider/SliderRange.js +2 -2
- package/dist/Slider/SliderRange.js.map +1 -1
- package/dist/Slider/SliderRoot.cjs.map +1 -1
- package/dist/Slider/SliderRoot.js.map +1 -1
- package/dist/Slider/SliderThumb.cjs.map +1 -1
- package/dist/Slider/SliderThumb.js.map +1 -1
- package/dist/Slider/SliderThumbImpl.cjs +3 -3
- package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
- package/dist/Slider/SliderThumbImpl.js +3 -3
- package/dist/Slider/SliderThumbImpl.js.map +1 -1
- package/dist/Slider/SliderVertical.cjs +7 -4
- package/dist/Slider/SliderVertical.cjs.map +1 -1
- package/dist/Slider/SliderVertical.js +7 -4
- package/dist/Slider/SliderVertical.js.map +1 -1
- package/dist/Slider/utils.cjs +1 -1
- package/dist/Slider/utils.cjs.map +1 -1
- package/dist/Slider/utils.js +1 -1
- package/dist/Slider/utils.js.map +1 -1
- package/dist/Splitter/SplitterGroup.cjs.map +1 -1
- package/dist/Splitter/SplitterGroup.js.map +1 -1
- package/dist/Splitter/SplitterPanel.cjs +16 -10
- package/dist/Splitter/SplitterPanel.cjs.map +1 -1
- package/dist/Splitter/SplitterPanel.js +16 -10
- package/dist/Splitter/SplitterPanel.js.map +1 -1
- package/dist/Stepper/StepperIndicator.cjs.map +1 -1
- package/dist/Stepper/StepperIndicator.js.map +1 -1
- package/dist/Stepper/StepperItem.cjs.map +1 -1
- package/dist/Stepper/StepperItem.js.map +1 -1
- package/dist/Stepper/StepperRoot.cjs +31 -4
- package/dist/Stepper/StepperRoot.cjs.map +1 -1
- package/dist/Stepper/StepperRoot.js +31 -4
- package/dist/Stepper/StepperRoot.js.map +1 -1
- package/dist/Stepper/StepperTrigger.cjs.map +1 -1
- package/dist/Stepper/StepperTrigger.js.map +1 -1
- package/dist/Switch/SwitchRoot.cjs.map +1 -1
- package/dist/Switch/SwitchRoot.js.map +1 -1
- package/dist/Tabs/TabsContent.cjs.map +1 -1
- package/dist/Tabs/TabsContent.js.map +1 -1
- package/dist/Tabs/TabsIndicator.cjs.map +1 -1
- package/dist/Tabs/TabsIndicator.js.map +1 -1
- package/dist/Tabs/TabsList.cjs.map +1 -1
- package/dist/Tabs/TabsList.js.map +1 -1
- package/dist/Tabs/TabsRoot.cjs.map +1 -1
- package/dist/Tabs/TabsRoot.js.map +1 -1
- package/dist/Tabs/TabsTrigger.cjs.map +1 -1
- package/dist/Tabs/TabsTrigger.js.map +1 -1
- package/dist/TagsInput/TagsInputInput.cjs +1 -0
- package/dist/TagsInput/TagsInputInput.cjs.map +1 -1
- package/dist/TagsInput/TagsInputInput.js +1 -0
- package/dist/TagsInput/TagsInputInput.js.map +1 -1
- package/dist/TagsInput/TagsInputItem.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItem.js.map +1 -1
- package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
- package/dist/TagsInput/TagsInputRoot.cjs +1 -1
- package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
- package/dist/TagsInput/TagsInputRoot.js +1 -1
- package/dist/TagsInput/TagsInputRoot.js.map +1 -1
- package/dist/TimeField/TimeFieldInput.cjs +1 -0
- package/dist/TimeField/TimeFieldInput.cjs.map +1 -1
- package/dist/TimeField/TimeFieldInput.js +1 -0
- package/dist/TimeField/TimeFieldInput.js.map +1 -1
- package/dist/TimeField/TimeFieldRoot.cjs +13 -4
- package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
- package/dist/TimeField/TimeFieldRoot.js +13 -4
- package/dist/TimeField/TimeFieldRoot.js.map +1 -1
- package/dist/Toast/ToastAnnounce.cjs.map +1 -1
- package/dist/Toast/ToastAnnounce.js.map +1 -1
- package/dist/Toast/ToastRoot.cjs.map +1 -1
- package/dist/Toast/ToastRoot.js.map +1 -1
- package/dist/Toast/ToastRootImpl.cjs +1 -1
- package/dist/Toast/ToastRootImpl.cjs.map +1 -1
- package/dist/Toast/ToastRootImpl.js +1 -1
- package/dist/Toast/ToastRootImpl.js.map +1 -1
- package/dist/Toast/ToastViewport.cjs +2 -2
- package/dist/Toast/ToastViewport.cjs.map +1 -1
- package/dist/Toast/ToastViewport.js +2 -2
- package/dist/Toast/ToastViewport.js.map +1 -1
- package/dist/Toggle/Toggle.cjs.map +1 -1
- package/dist/Toggle/Toggle.js.map +1 -1
- package/dist/ToggleGroup/ToggleGroupItem.cjs.map +1 -1
- package/dist/ToggleGroup/ToggleGroupItem.js.map +1 -1
- package/dist/ToggleGroup/ToggleGroupRoot.cjs.map +1 -1
- package/dist/ToggleGroup/ToggleGroupRoot.js.map +1 -1
- package/dist/Toolbar/ToolbarRoot.cjs.map +1 -1
- package/dist/Toolbar/ToolbarRoot.js.map +1 -1
- package/dist/Tooltip/TooltipContentImpl.cjs +2 -2
- package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
- package/dist/Tooltip/TooltipContentImpl.js +2 -2
- package/dist/Tooltip/TooltipContentImpl.js.map +1 -1
- package/dist/Tooltip/TooltipRoot.cjs +1 -1
- package/dist/Tooltip/TooltipRoot.cjs.map +1 -1
- package/dist/Tooltip/TooltipRoot.js +1 -1
- package/dist/Tooltip/TooltipRoot.js.map +1 -1
- package/dist/Tooltip/TooltipTrigger.cjs +1 -1
- package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
- package/dist/Tooltip/TooltipTrigger.js +1 -1
- package/dist/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/Tree/TreeItem.cjs +4 -1
- package/dist/Tree/TreeItem.cjs.map +1 -1
- package/dist/Tree/TreeItem.js +4 -1
- package/dist/Tree/TreeItem.js.map +1 -1
- package/dist/Tree/TreeRoot.cjs +29 -3
- package/dist/Tree/TreeRoot.cjs.map +1 -1
- package/dist/Tree/TreeRoot.js +29 -3
- package/dist/Tree/TreeRoot.js.map +1 -1
- package/dist/Tree/TreeVirtualizer.cjs +2 -2
- package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
- package/dist/Tree/TreeVirtualizer.js +2 -2
- package/dist/Tree/TreeVirtualizer.js.map +1 -1
- package/dist/Viewport/Viewport.cjs.map +1 -1
- package/dist/Viewport/Viewport.js.map +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInputBubble.cjs.map +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInputBubble.js.map +1 -1
- package/dist/component/BaseSeparator.cjs.map +1 -1
- package/dist/component/BaseSeparator.js.map +1 -1
- package/dist/date/calendar.cjs.map +1 -1
- package/dist/date/calendar.js.map +1 -1
- package/dist/date/parser.cjs +22 -7
- package/dist/date/parser.cjs.map +1 -1
- package/dist/date/parser.js +23 -8
- package/dist/date/parser.js.map +1 -1
- package/dist/date/useDateField.cjs +21 -6
- package/dist/date/useDateField.cjs.map +1 -1
- package/dist/date/useDateField.js +21 -6
- package/dist/date/useDateField.js.map +1 -1
- package/dist/date/utils.cjs +31 -2
- package/dist/date/utils.cjs.map +1 -1
- package/dist/date/utils.js +30 -3
- package/dist/date/utils.js.map +1 -1
- package/dist/index.d.ts +495 -353
- package/dist/shared/useBodyScrollLock.cjs +2 -2
- package/dist/shared/useBodyScrollLock.cjs.map +1 -1
- package/dist/shared/useBodyScrollLock.js +2 -2
- package/dist/shared/useBodyScrollLock.js.map +1 -1
- package/dist/shared/useDateFormatter.cjs +12 -10
- package/dist/shared/useDateFormatter.cjs.map +1 -1
- package/dist/shared/useDateFormatter.js +12 -10
- package/dist/shared/useDateFormatter.js.map +1 -1
- package/dist/shared/useDirection.cjs.map +1 -1
- package/dist/shared/useDirection.js.map +1 -1
- package/dist/shared/useGraceArea.cjs.map +1 -1
- package/dist/shared/useGraceArea.js.map +1 -1
- package/dist/shared/useId.cjs +2 -2
- package/dist/shared/useId.cjs.map +1 -1
- package/dist/shared/useId.js +2 -2
- package/dist/shared/useId.js.map +1 -1
- package/dist/shared/useLocale.cjs.map +1 -1
- package/dist/shared/useLocale.js.map +1 -1
- package/dist/shared/useNonce.cjs.map +1 -1
- package/dist/shared/useNonce.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaRoot.cjs","sources":["../../src/ScrollArea/ScrollAreaRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"ScrollAreaRoot.cjs","sources":["../../src/ScrollArea/ScrollAreaRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { Direction, ScrollType } from './types'\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useDirection, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaRootContext {\n type: Ref<ScrollType>\n dir: Ref<Direction>\n scrollHideDelay: Ref<number>\n scrollArea: Ref<HTMLElement | undefined>\n viewport: Ref<HTMLElement | undefined>\n onViewportChange: (viewport: HTMLElement | null) => void\n content: Ref<HTMLElement | undefined>\n onContentChange: (content: HTMLElement) => void\n scrollbarX: Ref<HTMLElement | undefined>\n onScrollbarXChange: (scrollbar: HTMLElement | null) => void\n scrollbarXEnabled: Ref<boolean>\n onScrollbarXEnabledChange: (rendered: boolean) => void\n scrollbarY: Ref<HTMLElement | undefined>\n onScrollbarYChange: (scrollbar: HTMLElement | null) => void\n scrollbarYEnabled: Ref<boolean>\n onScrollbarYEnabledChange: (rendered: boolean) => void\n onCornerWidthChange: (width: number) => void\n onCornerHeightChange: (height: number) => void\n}\n\nexport const [injectScrollAreaRootContext, provideScrollAreaRootContext]\n = createContext<ScrollAreaRootContext>('ScrollAreaRoot')\n\nexport interface ScrollAreaRootProps extends PrimitiveProps {\n /**\n * Describes the nature of scrollbar visibility, similar to how the scrollbar preferences in MacOS control visibility of native scrollbars.\n *\n * `auto` - means that scrollbars are visible when content is overflowing on the corresponding orientation. <br>\n * `always` - means that scrollbars are always visible regardless of whether the content is overflowing.<br>\n * `scroll` - means that scrollbars are visible when the user is scrolling along its corresponding orientation.<br>\n * `hover` - when the user is scrolling along its corresponding orientation and when the user is hovering over the scroll area.\n */\n type?: ScrollType\n /** The reading direction of the combobox when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** If type is set to either `scroll` or `hover`, this prop determines the length of time, in milliseconds, <br> before the scrollbars are hidden after the user stops interacting with scrollbars. */\n scrollHideDelay?: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, toRefs } from 'vue'\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<ScrollAreaRootProps>(), {\n type: 'hover',\n scrollHideDelay: 600,\n})\n\nconst cornerWidth = ref(0)\nconst cornerHeight = ref(0)\nconst viewport = ref<HTMLElement>()\nconst content = ref<HTMLElement>()\nconst scrollbarX = ref<HTMLElement>()\nconst scrollbarY = ref<HTMLElement>()\nconst scrollbarXEnabled = ref(false)\nconst scrollbarYEnabled = ref(false)\n\nconst { type, dir: propDir, scrollHideDelay } = toRefs(props)\nconst dir = useDirection(propDir)\n\nfunction scrollTop() {\n viewport.value?.scrollTo({\n top: 0,\n })\n}\nfunction scrollTopLeft() {\n viewport.value?.scrollTo({\n top: 0,\n left: 0,\n })\n}\n\ndefineExpose({\n /** Viewport element within ScrollArea */\n viewport,\n /** Scroll viewport to top */\n scrollTop,\n /** Scroll viewport to top-left */\n scrollTopLeft,\n})\n\nconst { forwardRef, currentElement: scrollArea } = useForwardExpose()\n\nprovideScrollAreaRootContext({\n type,\n dir,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: (el) => {\n viewport.value = el || undefined\n },\n content,\n onContentChange: (el) => {\n content.value = el\n },\n scrollbarX,\n scrollbarXEnabled,\n scrollbarY,\n scrollbarYEnabled,\n onScrollbarXChange: (scrollbar) => {\n scrollbarX.value = scrollbar || undefined\n },\n onScrollbarYChange: (scrollbar) => {\n scrollbarY.value = scrollbar || undefined\n },\n onScrollbarXEnabledChange: (rendered) => {\n scrollbarXEnabled.value = rendered\n },\n onScrollbarYEnabledChange: (rendered) => {\n scrollbarYEnabled.value = rendered\n },\n onCornerWidthChange: (width) => {\n cornerWidth.value = width\n },\n onCornerHeightChange: (height) => {\n cornerHeight.value = height\n },\n})\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n :dir=\"dir\"\n :style=\"{\n position: 'relative',\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n ['--reka-scroll-area-corner-width' as any]: `${cornerWidth}px`,\n ['--reka-scroll-area-corner-height' as any]: `${cornerHeight}px`,\n }\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["createContext","ref","toRefs","useDirection","useForwardExpose"],"mappings":";;;;;;;;AA2BO,MAAM,CAAC,2BAAA,EAA6B,4BAA4B,CAAA,GACnEA,mCAAqC,gBAAgB;;;;;;;;;;;AAuBzD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAM,MAAA,WAAA,GAAcC,QAAI,CAAC,CAAA;AACzB,IAAM,MAAA,YAAA,GAAeA,QAAI,CAAC,CAAA;AAC1B,IAAA,MAAM,WAAWA,OAAiB,EAAA;AAClC,IAAA,MAAM,UAAUA,OAAiB,EAAA;AACjC,IAAA,MAAM,aAAaA,OAAiB,EAAA;AACpC,IAAA,MAAM,aAAaA,OAAiB,EAAA;AACpC,IAAM,MAAA,iBAAA,GAAoBA,QAAI,KAAK,CAAA;AACnC,IAAM,MAAA,iBAAA,GAAoBA,QAAI,KAAK,CAAA;AAEnC,IAAA,MAAM,EAAE,IAAM,EAAA,GAAA,EAAK,SAAS,eAAgB,EAAA,GAAIC,WAAO,KAAK,CAAA;AAC5D,IAAM,MAAA,GAAA,GAAMC,iCAAa,OAAO,CAAA;AAEhC,IAAA,SAAS,SAAY,GAAA;AACnB,MAAA,QAAA,CAAS,OAAO,QAAS,CAAA;AAAA,QACvB,GAAK,EAAA;AAAA,OACN,CAAA;AAAA;AAEH,IAAA,SAAS,aAAgB,GAAA;AACvB,MAAA,QAAA,CAAS,OAAO,QAAS,CAAA;AAAA,QACvB,GAAK,EAAA,CAAA;AAAA,QACL,IAAM,EAAA;AAAA,OACP,CAAA;AAAA;AAGH,IAAa,QAAA,CAAA;AAAA;AAAA,MAEX,QAAA;AAAA;AAAA,MAEA,SAAA;AAAA;AAAA,MAEA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,UAAA,KAAeC,wCAAiB,EAAA;AAEpE,IAA6B,4BAAA,CAAA;AAAA,MAC3B,IAAA;AAAA,MACA,GAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA,EAAkB,CAAC,EAAO,KAAA;AACxB,QAAA,QAAA,CAAS,QAAQ,EAAM,IAAA,MAAA;AAAA,OACzB;AAAA,MACA,OAAA;AAAA,MACA,eAAA,EAAiB,CAAC,EAAO,KAAA;AACvB,QAAA,OAAA,CAAQ,KAAQ,GAAA,EAAA;AAAA,OAClB;AAAA,MACA,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,kBAAA,EAAoB,CAAC,SAAc,KAAA;AACjC,QAAA,UAAA,CAAW,QAAQ,SAAa,IAAA,MAAA;AAAA,OAClC;AAAA,MACA,kBAAA,EAAoB,CAAC,SAAc,KAAA;AACjC,QAAA,UAAA,CAAW,QAAQ,SAAa,IAAA,MAAA;AAAA,OAClC;AAAA,MACA,yBAAA,EAA2B,CAAC,QAAa,KAAA;AACvC,QAAA,iBAAA,CAAkB,KAAQ,GAAA,QAAA;AAAA,OAC5B;AAAA,MACA,yBAAA,EAA2B,CAAC,QAAa,KAAA;AACvC,QAAA,iBAAA,CAAkB,KAAQ,GAAA,QAAA;AAAA,OAC5B;AAAA,MACA,mBAAA,EAAqB,CAAC,KAAU,KAAA;AAC9B,QAAA,WAAA,CAAY,KAAQ,GAAA,KAAA;AAAA,OACtB;AAAA,MACA,oBAAA,EAAsB,CAAC,MAAW,KAAA;AAChC,QAAA,YAAA,CAAa,KAAQ,GAAA,MAAA;AAAA;AACvB,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaRoot.js","sources":["../../src/ScrollArea/ScrollAreaRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"ScrollAreaRoot.js","sources":["../../src/ScrollArea/ScrollAreaRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { Direction, ScrollType } from './types'\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useDirection, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaRootContext {\n type: Ref<ScrollType>\n dir: Ref<Direction>\n scrollHideDelay: Ref<number>\n scrollArea: Ref<HTMLElement | undefined>\n viewport: Ref<HTMLElement | undefined>\n onViewportChange: (viewport: HTMLElement | null) => void\n content: Ref<HTMLElement | undefined>\n onContentChange: (content: HTMLElement) => void\n scrollbarX: Ref<HTMLElement | undefined>\n onScrollbarXChange: (scrollbar: HTMLElement | null) => void\n scrollbarXEnabled: Ref<boolean>\n onScrollbarXEnabledChange: (rendered: boolean) => void\n scrollbarY: Ref<HTMLElement | undefined>\n onScrollbarYChange: (scrollbar: HTMLElement | null) => void\n scrollbarYEnabled: Ref<boolean>\n onScrollbarYEnabledChange: (rendered: boolean) => void\n onCornerWidthChange: (width: number) => void\n onCornerHeightChange: (height: number) => void\n}\n\nexport const [injectScrollAreaRootContext, provideScrollAreaRootContext]\n = createContext<ScrollAreaRootContext>('ScrollAreaRoot')\n\nexport interface ScrollAreaRootProps extends PrimitiveProps {\n /**\n * Describes the nature of scrollbar visibility, similar to how the scrollbar preferences in MacOS control visibility of native scrollbars.\n *\n * `auto` - means that scrollbars are visible when content is overflowing on the corresponding orientation. <br>\n * `always` - means that scrollbars are always visible regardless of whether the content is overflowing.<br>\n * `scroll` - means that scrollbars are visible when the user is scrolling along its corresponding orientation.<br>\n * `hover` - when the user is scrolling along its corresponding orientation and when the user is hovering over the scroll area.\n */\n type?: ScrollType\n /** The reading direction of the combobox when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** If type is set to either `scroll` or `hover`, this prop determines the length of time, in milliseconds, <br> before the scrollbars are hidden after the user stops interacting with scrollbars. */\n scrollHideDelay?: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, toRefs } from 'vue'\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<ScrollAreaRootProps>(), {\n type: 'hover',\n scrollHideDelay: 600,\n})\n\nconst cornerWidth = ref(0)\nconst cornerHeight = ref(0)\nconst viewport = ref<HTMLElement>()\nconst content = ref<HTMLElement>()\nconst scrollbarX = ref<HTMLElement>()\nconst scrollbarY = ref<HTMLElement>()\nconst scrollbarXEnabled = ref(false)\nconst scrollbarYEnabled = ref(false)\n\nconst { type, dir: propDir, scrollHideDelay } = toRefs(props)\nconst dir = useDirection(propDir)\n\nfunction scrollTop() {\n viewport.value?.scrollTo({\n top: 0,\n })\n}\nfunction scrollTopLeft() {\n viewport.value?.scrollTo({\n top: 0,\n left: 0,\n })\n}\n\ndefineExpose({\n /** Viewport element within ScrollArea */\n viewport,\n /** Scroll viewport to top */\n scrollTop,\n /** Scroll viewport to top-left */\n scrollTopLeft,\n})\n\nconst { forwardRef, currentElement: scrollArea } = useForwardExpose()\n\nprovideScrollAreaRootContext({\n type,\n dir,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: (el) => {\n viewport.value = el || undefined\n },\n content,\n onContentChange: (el) => {\n content.value = el\n },\n scrollbarX,\n scrollbarXEnabled,\n scrollbarY,\n scrollbarYEnabled,\n onScrollbarXChange: (scrollbar) => {\n scrollbarX.value = scrollbar || undefined\n },\n onScrollbarYChange: (scrollbar) => {\n scrollbarY.value = scrollbar || undefined\n },\n onScrollbarXEnabledChange: (rendered) => {\n scrollbarXEnabled.value = rendered\n },\n onScrollbarYEnabledChange: (rendered) => {\n scrollbarYEnabled.value = rendered\n },\n onCornerWidthChange: (width) => {\n cornerWidth.value = width\n },\n onCornerHeightChange: (height) => {\n cornerHeight.value = height\n },\n})\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n :dir=\"dir\"\n :style=\"{\n position: 'relative',\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n ['--reka-scroll-area-corner-width' as any]: `${cornerWidth}px`,\n ['--reka-scroll-area-corner-height' as any]: `${cornerHeight}px`,\n }\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;AA2BO,MAAM,CAAC,2BAAA,EAA6B,4BAA4B,CAAA,GACnE,cAAqC,gBAAgB;;;;;;;;;;;AAuBzD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAM,MAAA,WAAA,GAAc,IAAI,CAAC,CAAA;AACzB,IAAM,MAAA,YAAA,GAAe,IAAI,CAAC,CAAA;AAC1B,IAAA,MAAM,WAAW,GAAiB,EAAA;AAClC,IAAA,MAAM,UAAU,GAAiB,EAAA;AACjC,IAAA,MAAM,aAAa,GAAiB,EAAA;AACpC,IAAA,MAAM,aAAa,GAAiB,EAAA;AACpC,IAAM,MAAA,iBAAA,GAAoB,IAAI,KAAK,CAAA;AACnC,IAAM,MAAA,iBAAA,GAAoB,IAAI,KAAK,CAAA;AAEnC,IAAA,MAAM,EAAE,IAAM,EAAA,GAAA,EAAK,SAAS,eAAgB,EAAA,GAAI,OAAO,KAAK,CAAA;AAC5D,IAAM,MAAA,GAAA,GAAM,aAAa,OAAO,CAAA;AAEhC,IAAA,SAAS,SAAY,GAAA;AACnB,MAAA,QAAA,CAAS,OAAO,QAAS,CAAA;AAAA,QACvB,GAAK,EAAA;AAAA,OACN,CAAA;AAAA;AAEH,IAAA,SAAS,aAAgB,GAAA;AACvB,MAAA,QAAA,CAAS,OAAO,QAAS,CAAA;AAAA,QACvB,GAAK,EAAA,CAAA;AAAA,QACL,IAAM,EAAA;AAAA,OACP,CAAA;AAAA;AAGH,IAAa,QAAA,CAAA;AAAA;AAAA,MAEX,QAAA;AAAA;AAAA,MAEA,SAAA;AAAA;AAAA,MAEA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,UAAA,KAAe,gBAAiB,EAAA;AAEpE,IAA6B,4BAAA,CAAA;AAAA,MAC3B,IAAA;AAAA,MACA,GAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA,EAAkB,CAAC,EAAO,KAAA;AACxB,QAAA,QAAA,CAAS,QAAQ,EAAM,IAAA,MAAA;AAAA,OACzB;AAAA,MACA,OAAA;AAAA,MACA,eAAA,EAAiB,CAAC,EAAO,KAAA;AACvB,QAAA,OAAA,CAAQ,KAAQ,GAAA,EAAA;AAAA,OAClB;AAAA,MACA,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,kBAAA,EAAoB,CAAC,SAAc,KAAA;AACjC,QAAA,UAAA,CAAW,QAAQ,SAAa,IAAA,MAAA;AAAA,OAClC;AAAA,MACA,kBAAA,EAAoB,CAAC,SAAc,KAAA;AACjC,QAAA,UAAA,CAAW,QAAQ,SAAa,IAAA,MAAA;AAAA,OAClC;AAAA,MACA,yBAAA,EAA2B,CAAC,QAAa,KAAA;AACvC,QAAA,iBAAA,CAAkB,KAAQ,GAAA,QAAA;AAAA,OAC5B;AAAA,MACA,yBAAA,EAA2B,CAAC,QAAa,KAAA;AACvC,QAAA,iBAAA,CAAkB,KAAQ,GAAA,QAAA;AAAA,OAC5B;AAAA,MACA,mBAAA,EAAqB,CAAC,KAAU,KAAA;AAC9B,QAAA,WAAA,CAAY,KAAQ,GAAA,KAAA;AAAA,OACtB;AAAA,MACA,oBAAA,EAAsB,CAAC,MAAW,KAAA;AAChC,QAAA,YAAA,CAAa,KAAQ,GAAA,MAAA;AAAA;AACvB,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbar.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbar.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaScrollbarProps extends PrimitiveProps {\n /** The orientation of the scrollbar */\n orientation?: 'vertical' | 'horizontal'\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n\nexport interface ScrollAreaScollbarContext {\n as: Ref<PrimitiveProps['as']>\n orientation: Ref<'vertical' | 'horizontal'>\n forceMount?: Ref<boolean>\n isHorizontal: Ref<boolean>\n asChild: Ref<boolean>\n}\n\nexport const [injectScrollAreaScrollbarContext, provideScrollAreaScrollbarContext]\n = createContext<ScrollAreaScollbarContext>('ScrollAreaScrollbar')\n</script>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n onUnmounted,\n toRefs,\n watch,\n} from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\nimport ScrollAreaScrollbarHover from './ScrollAreaScrollbarHover.vue'\nimport ScrollAreaScrollbarScroll from './ScrollAreaScrollbarScroll.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ScrollAreaScrollbarProps>(), {\n orientation: 'vertical',\n as: 'div',\n})\n\nconst { forwardRef } = useForwardExpose()\nconst rootContext = injectScrollAreaRootContext()\n\nconst isHorizontal = computed(() => props.orientation === 'horizontal')\n\nwatch(\n isHorizontal,\n () => {\n if (isHorizontal.value)\n rootContext.onScrollbarXEnabledChange(true)\n else rootContext.onScrollbarYEnabledChange(true)\n },\n { immediate: true },\n)\n\nonUnmounted(() => {\n rootContext.onScrollbarXEnabledChange(false)\n rootContext.onScrollbarYEnabledChange(false)\n})\n\nconst { orientation, forceMount, asChild, as } = toRefs(props)\nprovideScrollAreaScrollbarContext({\n orientation,\n forceMount,\n isHorizontal,\n as,\n asChild,\n})\n</script>\n\n<template>\n <ScrollAreaScrollbarHover\n v-if=\"rootContext.type.value === 'hover'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarHover>\n <ScrollAreaScrollbarScroll\n v-else-if=\"rootContext.type.value === 'scroll'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarScroll>\n <ScrollAreaScrollbarAuto\n v-else-if=\"rootContext.type.value === 'auto'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n <ScrollAreaScrollbarVisible\n v-else-if=\"rootContext.type.value === 'always'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n data-state=\"visible\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n</template>\n"],"names":["createContext","useForwardExpose","injectScrollAreaRootContext","computed","watch","onUnmounted","toRefs"],"mappings":";;;;;;;;;;;AAuBO,MAAM,CAAC,gCAAA,EAAkC,iCAAiC,CAAA,GAC7EA,mCAAyC,qBAAqB;;;;;;;;;;;;;AAoBlE,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AACxC,IAAA,MAAM,cAAcC,qDAA4B,EAAA;AAEhD,IAAA,MAAM,YAAe,GAAAC,YAAA,CAAS,MAAM,KAAA,CAAM,gBAAgB,YAAY,CAAA;AAEtE,IAAAC,SAAA;AAAA,MACE,YAAA;AAAA,MACA,MAAM;AACJ,QAAA,IAAI,YAAa,CAAA,KAAA;AACf,UAAA,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,aACvC,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,OACjD;AAAA,MACA,EAAE,WAAW,IAAK;AAAA,KACpB;AAEA,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAC3C,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAAA,KAC5C,CAAA;AAED,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,SAAS,EAAG,EAAA,GAAIC,WAAO,KAAK,CAAA;AAC7D,IAAkC,iCAAA,CAAA;AAAA,MAChC,WAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,EAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbar.js","sources":["../../src/ScrollArea/ScrollAreaScrollbar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbar.js","sources":["../../src/ScrollArea/ScrollAreaScrollbar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { PrimitiveProps } from '@/Primitive'\nimport { createContext, useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaScrollbarProps extends PrimitiveProps {\n /** The orientation of the scrollbar */\n orientation?: 'vertical' | 'horizontal'\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n\nexport interface ScrollAreaScollbarContext {\n as: Ref<PrimitiveProps['as']>\n orientation: Ref<'vertical' | 'horizontal'>\n forceMount?: Ref<boolean>\n isHorizontal: Ref<boolean>\n asChild: Ref<boolean>\n}\n\nexport const [injectScrollAreaScrollbarContext, provideScrollAreaScrollbarContext]\n = createContext<ScrollAreaScollbarContext>('ScrollAreaScrollbar')\n</script>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n onUnmounted,\n toRefs,\n watch,\n} from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\nimport ScrollAreaScrollbarHover from './ScrollAreaScrollbarHover.vue'\nimport ScrollAreaScrollbarScroll from './ScrollAreaScrollbarScroll.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ScrollAreaScrollbarProps>(), {\n orientation: 'vertical',\n as: 'div',\n})\n\nconst { forwardRef } = useForwardExpose()\nconst rootContext = injectScrollAreaRootContext()\n\nconst isHorizontal = computed(() => props.orientation === 'horizontal')\n\nwatch(\n isHorizontal,\n () => {\n if (isHorizontal.value)\n rootContext.onScrollbarXEnabledChange(true)\n else rootContext.onScrollbarYEnabledChange(true)\n },\n { immediate: true },\n)\n\nonUnmounted(() => {\n rootContext.onScrollbarXEnabledChange(false)\n rootContext.onScrollbarYEnabledChange(false)\n})\n\nconst { orientation, forceMount, asChild, as } = toRefs(props)\nprovideScrollAreaScrollbarContext({\n orientation,\n forceMount,\n isHorizontal,\n as,\n asChild,\n})\n</script>\n\n<template>\n <ScrollAreaScrollbarHover\n v-if=\"rootContext.type.value === 'hover'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarHover>\n <ScrollAreaScrollbarScroll\n v-else-if=\"rootContext.type.value === 'scroll'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarScroll>\n <ScrollAreaScrollbarAuto\n v-else-if=\"rootContext.type.value === 'auto'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :force-mount=\"forceMount\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n <ScrollAreaScrollbarVisible\n v-else-if=\"rootContext.type.value === 'always'\"\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n data-state=\"visible\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n</template>\n"],"names":[],"mappings":";;;;;;;;;AAuBO,MAAM,CAAC,gCAAA,EAAkC,iCAAiC,CAAA,GAC7E,cAAyC,qBAAqB;;;;;;;;;;;;;AAoBlE,IAAA,MAAM,KAAQ,GAAA,OAAA;AAKd,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AACxC,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAEhD,IAAA,MAAM,YAAe,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,gBAAgB,YAAY,CAAA;AAEtE,IAAA,KAAA;AAAA,MACE,YAAA;AAAA,MACA,MAAM;AACJ,QAAA,IAAI,YAAa,CAAA,KAAA;AACf,UAAA,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,aACvC,WAAA,CAAY,0BAA0B,IAAI,CAAA;AAAA,OACjD;AAAA,MACA,EAAE,WAAW,IAAK;AAAA,KACpB;AAEA,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAC3C,MAAA,WAAA,CAAY,0BAA0B,KAAK,CAAA;AAAA,KAC5C,CAAA;AAED,IAAA,MAAM,EAAE,WAAa,EAAA,UAAA,EAAY,SAAS,EAAG,EAAA,GAAI,OAAO,KAAK,CAAA;AAC7D,IAAkC,iCAAA,CAAA;AAAA,MAChC,WAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,EAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarAuto.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarAuto.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarAutoProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarAuto.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarAuto.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarAutoProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport { onMounted, ref } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineProps<ScrollAreaScrollbarAutoProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst visible = ref(false)\n\nconst handleResize = useDebounceFn(() => {\n if (rootContext.viewport.value) {\n const isOverflowX\n = rootContext.viewport.value.offsetWidth\n < rootContext.viewport.value.scrollWidth\n const isOverflowY\n = rootContext.viewport.value.offsetHeight\n < rootContext.viewport.value.scrollHeight\n\n visible.value = scrollbarContext.isHorizontal.value\n ? isOverflowX\n : isOverflowY\n }\n}, 10)\n\nonMounted(() => handleResize())\n\nuseResizeObserver(rootContext.viewport, handleResize)\nuseResizeObserver(rootContext.content, handleResize)\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarContext","useForwardExpose","ref","useDebounceFn","onMounted","useResizeObserver"],"mappings":";;;;;;;;;;;;;;;;AAiBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmBC,+DAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAM,MAAA,OAAA,GAAUC,QAAI,KAAK,CAAA;AAEzB,IAAM,MAAA,YAAA,GAAeC,mBAAc,MAAM;AACvC,MAAI,IAAA,WAAA,CAAY,SAAS,KAAO,EAAA;AAC9B,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,WACzB,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,WAAA;AACjC,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,YACzB,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,YAAA;AAEjC,QAAA,OAAA,CAAQ,KAAQ,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAC1C,WACA,GAAA,WAAA;AAAA;AACN,OACC,EAAE,CAAA;AAEL,IAAUC,aAAA,CAAA,MAAM,cAAc,CAAA;AAE9B,IAAkBC,sBAAA,CAAA,WAAA,CAAY,UAAU,YAAY,CAAA;AACpD,IAAkBA,sBAAA,CAAA,WAAA,CAAY,SAAS,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarAuto.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarAuto.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarAutoProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarAuto.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarAuto.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarAutoProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport { onMounted, ref } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineProps<ScrollAreaScrollbarAutoProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst visible = ref(false)\n\nconst handleResize = useDebounceFn(() => {\n if (rootContext.viewport.value) {\n const isOverflowX\n = rootContext.viewport.value.offsetWidth\n < rootContext.viewport.value.scrollWidth\n const isOverflowY\n = rootContext.viewport.value.offsetHeight\n < rootContext.viewport.value.scrollHeight\n\n visible.value = scrollbarContext.isHorizontal.value\n ? isOverflowX\n : isOverflowY\n }\n}, 10)\n\nonMounted(() => handleResize())\n\nuseResizeObserver(rootContext.viewport, handleResize)\nuseResizeObserver(rootContext.content, handleResize)\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAiBA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmB,gCAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA;AAEzB,IAAM,MAAA,YAAA,GAAe,cAAc,MAAM;AACvC,MAAI,IAAA,WAAA,CAAY,SAAS,KAAO,EAAA;AAC9B,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,WACzB,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,WAAA;AACjC,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,YACzB,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,YAAA;AAEjC,QAAA,OAAA,CAAQ,KAAQ,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAC1C,WACA,GAAA,WAAA;AAAA;AACN,OACC,EAAE,CAAA;AAEL,IAAU,SAAA,CAAA,MAAM,cAAc,CAAA;AAE9B,IAAkB,iBAAA,CAAA,WAAA,CAAY,UAAU,YAAY,CAAA;AACpD,IAAkB,iBAAA,CAAA,WAAA,CAAY,SAAS,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarHover.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarHover.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ScrollAreaScrollbarAutoProps } from './ScrollAreaScrollbarAuto.vue'\n\nexport interface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarHover.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarHover.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ScrollAreaScrollbarAutoProps } from './ScrollAreaScrollbarAuto.vue'\n\nexport interface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\ndefineProps<ScrollAreaScrollbarHoverProps>()\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst { forwardRef } = useForwardExpose()\n\nlet timeout: ReturnType<typeof setTimeout> | undefined | number\nconst visible = ref(false)\n\nfunction handlePointerEnter() {\n window.clearTimeout(timeout)\n visible.value = true\n}\nfunction handlePointerLeave() {\n timeout = window.setTimeout(() => {\n visible.value = false\n }, rootContext.scrollHideDelay.value)\n}\n\nonMounted(() => {\n const scrollArea = rootContext.scrollArea.value\n\n if (scrollArea) {\n scrollArea.addEventListener('pointerenter', handlePointerEnter)\n scrollArea.addEventListener('pointerleave', handlePointerLeave)\n }\n})\n\nonUnmounted(() => {\n const scrollArea = rootContext.scrollArea.value\n if (scrollArea) {\n window.clearTimeout(timeout)\n scrollArea.removeEventListener('pointerenter', handlePointerEnter)\n scrollArea.removeEventListener('pointerleave', handlePointerLeave)\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarAuto\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","useForwardExpose","ref","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAEhD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAI,IAAA,OAAA;AACJ,IAAM,MAAA,OAAA,GAAUC,QAAI,KAAK,CAAA;AAEzB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA;AAAA;AAElB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAU,OAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AAChC,QAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA;AAAA,OAClB,EAAG,WAAY,CAAA,eAAA,CAAgB,KAAK,CAAA;AAAA;AAGtC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAE1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAC9D,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAAA;AAChE,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAC1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AACjE,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AAAA;AACnE,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarHover.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarHover.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ScrollAreaScrollbarAutoProps } from './ScrollAreaScrollbarAuto.vue'\n\nexport interface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarHover.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarHover.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ScrollAreaScrollbarAutoProps } from './ScrollAreaScrollbarAuto.vue'\n\nexport interface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\ndefineProps<ScrollAreaScrollbarHoverProps>()\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst { forwardRef } = useForwardExpose()\n\nlet timeout: ReturnType<typeof setTimeout> | undefined | number\nconst visible = ref(false)\n\nfunction handlePointerEnter() {\n window.clearTimeout(timeout)\n visible.value = true\n}\nfunction handlePointerLeave() {\n timeout = window.setTimeout(() => {\n visible.value = false\n }, rootContext.scrollHideDelay.value)\n}\n\nonMounted(() => {\n const scrollArea = rootContext.scrollArea.value\n\n if (scrollArea) {\n scrollArea.addEventListener('pointerenter', handlePointerEnter)\n scrollArea.addEventListener('pointerleave', handlePointerLeave)\n }\n})\n\nonUnmounted(() => {\n const scrollArea = rootContext.scrollArea.value\n if (scrollArea) {\n window.clearTimeout(timeout)\n scrollArea.removeEventListener('pointerenter', handlePointerEnter)\n scrollArea.removeEventListener('pointerleave', handlePointerLeave)\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarAuto\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAEhD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAI,IAAA,OAAA;AACJ,IAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA;AAEzB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA;AAAA;AAElB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAU,OAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AAChC,QAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA;AAAA,OAClB,EAAG,WAAY,CAAA,eAAA,CAAgB,KAAK,CAAA;AAAA;AAGtC,IAAA,SAAA,CAAU,MAAM;AACd,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAE1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAC9D,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAAA;AAChE,KACD,CAAA;AAED,IAAA,WAAA,CAAY,MAAM;AAChB,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAC1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AACjE,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AAAA;AACnE,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarImpl.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarImpl.vue"],"sourcesContent":["<script lang=\"ts\">\ntype ScrollbarAreaScrollbarImplEmits = {\n onDragScroll: [payload: { x: number, y: number }]\n onWheelScroll: [payload: { x: number, y: number }]\n onThumbPointerDown: [payload: { x: number, y: number }]\n}\n\nexport interface ScrollAreaScrollbarImplProps {\n isHorizontal: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarImpl.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarImpl.vue"],"sourcesContent":["<script lang=\"ts\">\ntype ScrollbarAreaScrollbarImplEmits = {\n onDragScroll: [payload: { x: number, y: number }]\n onWheelScroll: [payload: { x: number, y: number }]\n onThumbPointerDown: [payload: { x: number, y: number }]\n}\n\nexport interface ScrollAreaScrollbarImplProps {\n isHorizontal: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useResizeObserver } from '@vueuse/core'\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { toInt } from './utils'\n\nconst props = defineProps<ScrollAreaScrollbarImplProps>()\nconst emit = defineEmits<ScrollbarAreaScrollbarImplEmits>()\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef, currentElement: scrollbar } = useForwardExpose()\nconst prevWebkitUserSelectRef = ref('')\nconst rectRef = ref<DOMRect>()\n\nfunction handleDragScroll(event: MouseEvent) {\n if (rectRef.value) {\n const x = event.clientX - rectRef.value?.left\n const y = event.clientY - rectRef.value?.top\n emit('onDragScroll', { x, y })\n }\n}\n\nfunction handlePointerDown(event: PointerEvent) {\n const mainPointer = 0\n if (event.button === mainPointer) {\n const element = event.target as HTMLElement\n element.setPointerCapture(event.pointerId)\n rectRef.value = scrollbar.value!.getBoundingClientRect()\n\n // pointer capture doesn't prevent text selection in Safari\n // so we remove text selection manually when scrolling\n prevWebkitUserSelectRef.value = document.body.style.webkitUserSelect\n document.body.style.webkitUserSelect = 'none'\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = 'auto'\n\n handleDragScroll(event)\n }\n}\n\nfunction handlePointerMove(event: PointerEvent) {\n handleDragScroll(event)\n}\n\nfunction handlePointerUp(event: PointerEvent) {\n const element = event.target as HTMLElement\n if (element.hasPointerCapture(event.pointerId))\n element.releasePointerCapture(event.pointerId)\n\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.value\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = ''\n\n rectRef.value = undefined\n}\n\nfunction handleWheel(event: WheelEvent) {\n const element = event.target as HTMLElement\n const isScrollbarWheel = scrollbar.value?.contains(element)\n const maxScrollPos\n = scrollbarVisibleContext.sizes.value.content\n - scrollbarVisibleContext.sizes.value.viewport\n if (isScrollbarWheel)\n scrollbarVisibleContext.handleWheelScroll(event, maxScrollPos)\n}\n\nonMounted(() => {\n document.addEventListener('wheel', handleWheel, { passive: false })\n})\nonUnmounted(() => {\n document.removeEventListener('wheel', handleWheel)\n})\n\nfunction handleSizeChange() {\n if (!scrollbar.value)\n return\n if (props.isHorizontal) {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollWidth ?? 0,\n viewport: rootContext.viewport.value?.offsetWidth ?? 0,\n scrollbar: {\n size: scrollbar.value.clientWidth ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value).paddingRight),\n },\n })\n }\n else {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollHeight ?? 0,\n viewport: rootContext.viewport.value?.offsetHeight ?? 0,\n scrollbar: {\n size: scrollbar.value?.clientHeight ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value!).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value!).paddingRight),\n },\n })\n }\n}\n\nuseResizeObserver(scrollbar, handleSizeChange)\nuseResizeObserver(rootContext.content, handleSizeChange)\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n style=\"position: absolute\"\n data-scrollbarimpl\n :as=\"scrollbarContext.as.value\"\n :as-child=\"scrollbarContext.asChild.value\"\n @pointerdown=\"handlePointerDown\"\n @pointermove=\"handlePointerMove\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","injectScrollAreaScrollbarContext","useForwardExpose","ref","onMounted","onUnmounted","toInt","useResizeObserver"],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA;AACb,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AACxE,IAAA,MAAM,mBAAmBC,+DAAiC,EAAA;AAE1D,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,SAAA,KAAcC,wCAAiB,EAAA;AACnE,IAAM,MAAA,uBAAA,GAA0BC,QAAI,EAAE,CAAA;AACtC,IAAA,MAAM,UAAUA,OAAa,EAAA;AAE7B,IAAA,SAAS,iBAAiB,KAAmB,EAAA;AAC3C,MAAA,IAAI,QAAQ,KAAO,EAAA;AACjB,QAAA,MAAM,CAAI,GAAA,KAAA,CAAM,OAAU,GAAA,OAAA,CAAQ,KAAO,EAAA,IAAA;AACzC,QAAA,MAAM,CAAI,GAAA,KAAA,CAAM,OAAU,GAAA,OAAA,CAAQ,KAAO,EAAA,GAAA;AACzC,QAAA,IAAA,CAAK,cAAgB,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,CAAA;AAAA;AAC/B;AAGF,IAAA,SAAS,kBAAkB,KAAqB,EAAA;AAC9C,MAAA,MAAM,WAAc,GAAA,CAAA;AACpB,MAAI,IAAA,KAAA,CAAM,WAAW,WAAa,EAAA;AAChC,QAAA,MAAM,UAAU,KAAM,CAAA,MAAA;AACtB,QAAQ,OAAA,CAAA,iBAAA,CAAkB,MAAM,SAAS,CAAA;AACzC,QAAQ,OAAA,CAAA,KAAA,GAAQ,SAAU,CAAA,KAAA,CAAO,qBAAsB,EAAA;AAIvD,QAAwB,uBAAA,CAAA,KAAA,GAAQ,QAAS,CAAA,IAAA,CAAK,KAAM,CAAA,gBAAA;AACpD,QAAS,QAAA,CAAA,IAAA,CAAK,MAAM,gBAAmB,GAAA,MAAA;AACvC,QAAA,IAAI,WAAY,CAAA,QAAA;AACd,UAAY,WAAA,CAAA,QAAA,CAAS,KAAO,CAAA,KAAA,CAAM,cAAiB,GAAA,MAAA;AAErD,QAAA,gBAAA,CAAiB,KAAK,CAAA;AAAA;AACxB;AAGF,IAAA,SAAS,kBAAkB,KAAqB,EAAA;AAC9C,MAAA,gBAAA,CAAiB,KAAK,CAAA;AAAA;AAGxB,IAAA,SAAS,gBAAgB,KAAqB,EAAA;AAC5C,MAAA,MAAM,UAAU,KAAM,CAAA,MAAA;AACtB,MAAI,IAAA,OAAA,CAAQ,iBAAkB,CAAA,KAAA,CAAM,SAAS,CAAA;AAC3C,QAAQ,OAAA,CAAA,qBAAA,CAAsB,MAAM,SAAS,CAAA;AAE/C,MAAS,QAAA,CAAA,IAAA,CAAK,KAAM,CAAA,gBAAA,GAAmB,uBAAwB,CAAA,KAAA;AAC/D,MAAA,IAAI,WAAY,CAAA,QAAA;AACd,QAAY,WAAA,CAAA,QAAA,CAAS,KAAO,CAAA,KAAA,CAAM,cAAiB,GAAA,EAAA;AAErD,MAAA,OAAA,CAAQ,KAAQ,GAAA,MAAA;AAAA;AAGlB,IAAA,SAAS,YAAY,KAAmB,EAAA;AACtC,MAAA,MAAM,UAAU,KAAM,CAAA,MAAA;AACtB,MAAA,MAAM,gBAAmB,GAAA,SAAA,CAAU,KAAO,EAAA,QAAA,CAAS,OAAO,CAAA;AAC1D,MAAA,MAAM,eACF,uBAAwB,CAAA,KAAA,CAAM,MAAM,OAClC,GAAA,uBAAA,CAAwB,MAAM,KAAM,CAAA,QAAA;AAC1C,MAAI,IAAA,gBAAA;AACF,QAAwB,uBAAA,CAAA,iBAAA,CAAkB,OAAO,YAAY,CAAA;AAAA;AAGjE,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,QAAA,CAAS,iBAAiB,OAAS,EAAA,WAAA,EAAa,EAAE,OAAA,EAAS,OAAO,CAAA;AAAA,KACnE,CAAA;AACD,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAS,QAAA,CAAA,mBAAA,CAAoB,SAAS,WAAW,CAAA;AAAA,KAClD,CAAA;AAED,IAAA,SAAS,gBAAmB,GAAA;AAC1B,MAAA,IAAI,CAAC,SAAU,CAAA,KAAA;AACb,QAAA;AACF,MAAA,IAAI,MAAM,YAAc,EAAA;AACtB,QAAA,uBAAA,CAAwB,gBAAiB,CAAA;AAAA,UACvC,OAAS,EAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,WAAe,IAAA,CAAA;AAAA,UACpD,QAAU,EAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,WAAe,IAAA,CAAA;AAAA,UACrD,SAAW,EAAA;AAAA,YACT,IAAA,EAAM,SAAU,CAAA,KAAA,CAAM,WAAe,IAAA,CAAA;AAAA,YACrC,cAAcC,sBAAM,CAAA,gBAAA,CAAiB,SAAU,CAAA,KAAK,EAAE,WAAW,CAAA;AAAA,YACjE,YAAYA,sBAAM,CAAA,gBAAA,CAAiB,SAAU,CAAA,KAAK,EAAE,YAAY;AAAA;AAClE,SACD,CAAA;AAAA,OAEE,MAAA;AACH,QAAA,uBAAA,CAAwB,gBAAiB,CAAA;AAAA,UACvC,OAAS,EAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,YAAgB,IAAA,CAAA;AAAA,UACrD,QAAU,EAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,YAAgB,IAAA,CAAA;AAAA,UACtD,SAAW,EAAA;AAAA,YACT,IAAA,EAAM,SAAU,CAAA,KAAA,EAAO,YAAgB,IAAA,CAAA;AAAA,YACvC,cAAcA,sBAAM,CAAA,gBAAA,CAAiB,SAAU,CAAA,KAAM,EAAE,WAAW,CAAA;AAAA,YAClE,YAAYA,sBAAM,CAAA,gBAAA,CAAiB,SAAU,CAAA,KAAM,EAAE,YAAY;AAAA;AACnE,SACD,CAAA;AAAA;AACH;AAGF,IAAAC,sBAAA,CAAkB,WAAW,gBAAgB,CAAA;AAC7C,IAAkBA,sBAAA,CAAA,WAAA,CAAY,SAAS,gBAAgB,CAAA;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarImpl.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarImpl.vue"],"sourcesContent":["<script lang=\"ts\">\ntype ScrollbarAreaScrollbarImplEmits = {\n onDragScroll: [payload: { x: number, y: number }]\n onWheelScroll: [payload: { x: number, y: number }]\n onThumbPointerDown: [payload: { x: number, y: number }]\n}\n\nexport interface ScrollAreaScrollbarImplProps {\n isHorizontal: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarImpl.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarImpl.vue"],"sourcesContent":["<script lang=\"ts\">\ntype ScrollbarAreaScrollbarImplEmits = {\n onDragScroll: [payload: { x: number, y: number }]\n onWheelScroll: [payload: { x: number, y: number }]\n onThumbPointerDown: [payload: { x: number, y: number }]\n}\n\nexport interface ScrollAreaScrollbarImplProps {\n isHorizontal: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useResizeObserver } from '@vueuse/core'\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { toInt } from './utils'\n\nconst props = defineProps<ScrollAreaScrollbarImplProps>()\nconst emit = defineEmits<ScrollbarAreaScrollbarImplEmits>()\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef, currentElement: scrollbar } = useForwardExpose()\nconst prevWebkitUserSelectRef = ref('')\nconst rectRef = ref<DOMRect>()\n\nfunction handleDragScroll(event: MouseEvent) {\n if (rectRef.value) {\n const x = event.clientX - rectRef.value?.left\n const y = event.clientY - rectRef.value?.top\n emit('onDragScroll', { x, y })\n }\n}\n\nfunction handlePointerDown(event: PointerEvent) {\n const mainPointer = 0\n if (event.button === mainPointer) {\n const element = event.target as HTMLElement\n element.setPointerCapture(event.pointerId)\n rectRef.value = scrollbar.value!.getBoundingClientRect()\n\n // pointer capture doesn't prevent text selection in Safari\n // so we remove text selection manually when scrolling\n prevWebkitUserSelectRef.value = document.body.style.webkitUserSelect\n document.body.style.webkitUserSelect = 'none'\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = 'auto'\n\n handleDragScroll(event)\n }\n}\n\nfunction handlePointerMove(event: PointerEvent) {\n handleDragScroll(event)\n}\n\nfunction handlePointerUp(event: PointerEvent) {\n const element = event.target as HTMLElement\n if (element.hasPointerCapture(event.pointerId))\n element.releasePointerCapture(event.pointerId)\n\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.value\n if (rootContext.viewport)\n rootContext.viewport.value!.style.scrollBehavior = ''\n\n rectRef.value = undefined\n}\n\nfunction handleWheel(event: WheelEvent) {\n const element = event.target as HTMLElement\n const isScrollbarWheel = scrollbar.value?.contains(element)\n const maxScrollPos\n = scrollbarVisibleContext.sizes.value.content\n - scrollbarVisibleContext.sizes.value.viewport\n if (isScrollbarWheel)\n scrollbarVisibleContext.handleWheelScroll(event, maxScrollPos)\n}\n\nonMounted(() => {\n document.addEventListener('wheel', handleWheel, { passive: false })\n})\nonUnmounted(() => {\n document.removeEventListener('wheel', handleWheel)\n})\n\nfunction handleSizeChange() {\n if (!scrollbar.value)\n return\n if (props.isHorizontal) {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollWidth ?? 0,\n viewport: rootContext.viewport.value?.offsetWidth ?? 0,\n scrollbar: {\n size: scrollbar.value.clientWidth ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value).paddingRight),\n },\n })\n }\n else {\n scrollbarVisibleContext.handleSizeChange({\n content: rootContext.viewport.value?.scrollHeight ?? 0,\n viewport: rootContext.viewport.value?.offsetHeight ?? 0,\n scrollbar: {\n size: scrollbar.value?.clientHeight ?? 0,\n paddingStart: toInt(getComputedStyle(scrollbar.value!).paddingLeft),\n paddingEnd: toInt(getComputedStyle(scrollbar.value!).paddingRight),\n },\n })\n }\n}\n\nuseResizeObserver(scrollbar, handleSizeChange)\nuseResizeObserver(rootContext.content, handleSizeChange)\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n style=\"position: absolute\"\n data-scrollbarimpl\n :as=\"scrollbarContext.as.value\"\n :as-child=\"scrollbarContext.asChild.value\"\n @pointerdown=\"handlePointerDown\"\n @pointermove=\"handlePointerMove\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarScroll.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarScroll.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarScrollProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarScroll.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarScroll.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarScrollProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useDebounceFn } from '@vueuse/core'\nimport { watchEffect } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { useStateMachine } from '../shared/useStateMachine'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineProps<ScrollAreaScrollbarScrollProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst { state, dispatch } = useStateMachine('hidden', {\n hidden: {\n SCROLL: 'scrolling',\n },\n scrolling: {\n SCROLL_END: 'idle',\n POINTER_ENTER: 'interacting',\n },\n interacting: {\n SCROLL: 'interacting',\n POINTER_LEAVE: 'idle',\n },\n idle: {\n HIDE: 'hidden',\n SCROLL: 'scrolling',\n POINTER_ENTER: 'interacting',\n },\n})\n\nwatchEffect((onCleanup) => {\n if (state.value === 'idle') {\n const timeId = window.setTimeout(\n () => dispatch('HIDE'),\n rootContext.scrollHideDelay.value,\n )\n\n onCleanup(() => {\n window.clearTimeout(timeId)\n })\n }\n})\n\nconst debounceScrollEnd = useDebounceFn(() => dispatch('SCROLL_END'), 100)\n\nwatchEffect((onCleanup) => {\n const viewport = rootContext.viewport.value\n const scrollDirection = scrollbarContext.isHorizontal.value\n ? 'scrollLeft'\n : 'scrollTop'\n\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection]\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection]\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos\n if (hasScrollInDirectionChanged) {\n dispatch('SCROLL')\n debounceScrollEnd()\n }\n prevScrollPos = scrollPos\n }\n viewport.addEventListener('scroll', handleScroll)\n\n onCleanup(() => {\n viewport.removeEventListener('scroll', handleScroll)\n })\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || state !== 'hidden'\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarContext","useForwardExpose","useStateMachine","watchEffect","useDebounceFn"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmBC,+DAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAA,MAAM,EAAE,KAAA,EAAO,QAAS,EAAA,GAAIC,uCAAgB,QAAU,EAAA;AAAA,MACpD,MAAQ,EAAA;AAAA,QACN,MAAQ,EAAA;AAAA,OACV;AAAA,MACA,SAAW,EAAA;AAAA,QACT,UAAY,EAAA,MAAA;AAAA,QACZ,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,WAAa,EAAA;AAAA,QACX,MAAQ,EAAA,aAAA;AAAA,QACR,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,QAAA;AAAA,QACN,MAAQ,EAAA,WAAA;AAAA,QACR,aAAe,EAAA;AAAA;AACjB,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAI,IAAA,KAAA,CAAM,UAAU,MAAQ,EAAA;AAC1B,QAAA,MAAM,SAAS,MAAO,CAAA,UAAA;AAAA,UACpB,MAAM,SAAS,MAAM,CAAA;AAAA,UACrB,YAAY,eAAgB,CAAA;AAAA,SAC9B;AAEA,QAAA,SAAA,CAAU,MAAM;AACd,UAAA,MAAA,CAAO,aAAa,MAAM,CAAA;AAAA,SAC3B,CAAA;AAAA;AACH,KACD,CAAA;AAED,IAAA,MAAM,oBAAoBC,kBAAc,CAAA,MAAM,QAAS,CAAA,YAAY,GAAG,GAAG,CAAA;AAEzE,IAAAD,eAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAM,MAAA,QAAA,GAAW,YAAY,QAAS,CAAA,KAAA;AACtC,MAAA,MAAM,eAAkB,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAClD,YACA,GAAA,WAAA;AAEJ,MAAA,IAAI,QAAU,EAAA;AACZ,QAAI,IAAA,aAAA,GAAgB,SAAS,eAAe,CAAA;AAC5C,QAAA,MAAM,eAAe,MAAM;AACzB,UAAM,MAAA,SAAA,GAAY,SAAS,eAAe,CAAA;AAC1C,UAAA,MAAM,8BAA8B,aAAkB,KAAA,SAAA;AACtD,UAAA,IAAI,2BAA6B,EAAA;AAC/B,YAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,YAAkB,iBAAA,EAAA;AAAA;AAEpB,UAAgB,aAAA,GAAA,SAAA;AAAA,SAClB;AACA,QAAS,QAAA,CAAA,gBAAA,CAAiB,UAAU,YAAY,CAAA;AAEhD,QAAA,SAAA,CAAU,MAAM;AACd,UAAS,QAAA,CAAA,mBAAA,CAAoB,UAAU,YAAY,CAAA;AAAA,SACpD,CAAA;AAAA;AACH,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarScroll.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarScroll.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarScrollProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarScroll.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarScroll.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarScrollProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { useDebounceFn } from '@vueuse/core'\nimport { watchEffect } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\nimport { useStateMachine } from '../shared/useStateMachine'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\n\ndefineProps<ScrollAreaScrollbarScrollProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst { state, dispatch } = useStateMachine('hidden', {\n hidden: {\n SCROLL: 'scrolling',\n },\n scrolling: {\n SCROLL_END: 'idle',\n POINTER_ENTER: 'interacting',\n },\n interacting: {\n SCROLL: 'interacting',\n POINTER_LEAVE: 'idle',\n },\n idle: {\n HIDE: 'hidden',\n SCROLL: 'scrolling',\n POINTER_ENTER: 'interacting',\n },\n})\n\nwatchEffect((onCleanup) => {\n if (state.value === 'idle') {\n const timeId = window.setTimeout(\n () => dispatch('HIDE'),\n rootContext.scrollHideDelay.value,\n )\n\n onCleanup(() => {\n window.clearTimeout(timeId)\n })\n }\n})\n\nconst debounceScrollEnd = useDebounceFn(() => dispatch('SCROLL_END'), 100)\n\nwatchEffect((onCleanup) => {\n const viewport = rootContext.viewport.value\n const scrollDirection = scrollbarContext.isHorizontal.value\n ? 'scrollLeft'\n : 'scrollTop'\n\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection]\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection]\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos\n if (hasScrollInDirectionChanged) {\n dispatch('SCROLL')\n debounceScrollEnd()\n }\n prevScrollPos = scrollPos\n }\n viewport.addEventListener('scroll', handleScroll)\n\n onCleanup(() => {\n viewport.removeEventListener('scroll', handleScroll)\n })\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || state !== 'hidden'\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmB,gCAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAExC,IAAA,MAAM,EAAE,KAAA,EAAO,QAAS,EAAA,GAAI,gBAAgB,QAAU,EAAA;AAAA,MACpD,MAAQ,EAAA;AAAA,QACN,MAAQ,EAAA;AAAA,OACV;AAAA,MACA,SAAW,EAAA;AAAA,QACT,UAAY,EAAA,MAAA;AAAA,QACZ,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,WAAa,EAAA;AAAA,QACX,MAAQ,EAAA,aAAA;AAAA,QACR,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,QAAA;AAAA,QACN,MAAQ,EAAA,WAAA;AAAA,QACR,aAAe,EAAA;AAAA;AACjB,KACD,CAAA;AAED,IAAA,WAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAI,IAAA,KAAA,CAAM,UAAU,MAAQ,EAAA;AAC1B,QAAA,MAAM,SAAS,MAAO,CAAA,UAAA;AAAA,UACpB,MAAM,SAAS,MAAM,CAAA;AAAA,UACrB,YAAY,eAAgB,CAAA;AAAA,SAC9B;AAEA,QAAA,SAAA,CAAU,MAAM;AACd,UAAA,MAAA,CAAO,aAAa,MAAM,CAAA;AAAA,SAC3B,CAAA;AAAA;AACH,KACD,CAAA;AAED,IAAA,MAAM,oBAAoB,aAAc,CAAA,MAAM,QAAS,CAAA,YAAY,GAAG,GAAG,CAAA;AAEzE,IAAA,WAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAM,MAAA,QAAA,GAAW,YAAY,QAAS,CAAA,KAAA;AACtC,MAAA,MAAM,eAAkB,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAClD,YACA,GAAA,WAAA;AAEJ,MAAA,IAAI,QAAU,EAAA;AACZ,QAAI,IAAA,aAAA,GAAgB,SAAS,eAAe,CAAA;AAC5C,QAAA,MAAM,eAAe,MAAM;AACzB,UAAM,MAAA,SAAA,GAAY,SAAS,eAAe,CAAA;AAC1C,UAAA,MAAM,8BAA8B,aAAkB,KAAA,SAAA;AACtD,UAAA,IAAI,2BAA6B,EAAA;AAC/B,YAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,YAAkB,iBAAA,EAAA;AAAA;AAEpB,UAAgB,aAAA,GAAA,SAAA;AAAA,SAClB;AACA,QAAS,QAAA,CAAA,gBAAA,CAAiB,UAAU,YAAY,CAAA;AAEhD,QAAA,SAAA,CAAU,MAAM;AACd,UAAS,QAAA,CAAA,mBAAA,CAAoB,UAAU,YAAY,CAAA;AAAA,SACpD,CAAA;AAAA;AACH,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarX.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarX.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarX.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarX.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { getThumbSize } from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarXChange(scrollbarElement.value)\n})\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"true\"\n data-orientation=\"horizontal\"\n :style=\"{\n bottom: 0,\n left: rootContext.dir.value === 'rtl' ? 'var(--reka-scroll-area-corner-width)' : 0,\n right: rootContext.dir.value === 'ltr' ? 'var(--reka-scroll-area-corner-width)' : 0,\n ['--reka-scroll-area-thumb-width' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.x)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","useForwardExpose","onMounted","computed"],"mappings":";;;;;;;;;;;;AAQA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqBC,wCAAiB,EAAA;AAE1E,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AACD,IAAA,MAAM,KAAQ,GAAAC,YAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarX.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarX.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarX.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarX.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { getThumbSize } from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarXChange(scrollbarElement.value)\n})\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"true\"\n data-orientation=\"horizontal\"\n :style=\"{\n bottom: 0,\n left: rootContext.dir.value === 'rtl' ? 'var(--reka-scroll-area-corner-width)' : 0,\n right: rootContext.dir.value === 'ltr' ? 'var(--reka-scroll-area-corner-width)' : 0,\n ['--reka-scroll-area-thumb-width' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.x)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;AAQA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0B,uCAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqB,gBAAiB,EAAA;AAE1E,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AACD,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarY.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarY.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarY.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarY.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { getThumbSize } from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarYChange(scrollbarElement.value)\n})\n\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"false\"\n data-orientation=\"vertical\"\n :style=\"{\n top: 0,\n right: rootContext.dir.value === 'ltr' ? 0 : undefined,\n left: rootContext.dir.value === 'rtl' ? 0 : undefined,\n bottom: 'var(--reka-scroll-area-corner-height)',\n ['--reka-scroll-area-thumb-height' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.y)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","useForwardExpose","onMounted","computed"],"mappings":";;;;;;;;;;;;AAQA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqBC,wCAAiB,EAAA;AAE1E,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AAED,IAAA,MAAM,KAAQ,GAAAC,YAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaScrollbarY.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarY.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaScrollbarY.js","sources":["../../src/ScrollArea/ScrollAreaScrollbarY.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport { useForwardExpose } from '@/shared'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarImpl from './ScrollAreaScrollbarImpl.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { getThumbSize } from './utils'\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarVisibleContext = injectScrollAreaScrollbarVisibleContext()\n\nconst { forwardRef, currentElement: scrollbarElement } = useForwardExpose()\n\nonMounted(() => {\n if (scrollbarElement.value)\n rootContext.onScrollbarYChange(scrollbarElement.value)\n})\n\nconst sizes = computed(() => scrollbarVisibleContext.sizes.value)\n</script>\n\n<template>\n <ScrollAreaScrollbarImpl\n :ref=\"forwardRef\"\n :is-horizontal=\"false\"\n data-orientation=\"vertical\"\n :style=\"{\n top: 0,\n right: rootContext.dir.value === 'ltr' ? 0 : undefined,\n left: rootContext.dir.value === 'rtl' ? 0 : undefined,\n bottom: 'var(--reka-scroll-area-corner-height)',\n ['--reka-scroll-area-thumb-height' as any]: sizes ? `${getThumbSize(sizes)}px` : undefined,\n }\"\n @on-drag-scroll=\"scrollbarVisibleContext.onDragScroll($event.y)\"\n >\n <slot />\n </ScrollAreaScrollbarImpl>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;AAQA,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0B,uCAAwC,EAAA;AAExE,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,gBAAA,KAAqB,gBAAiB,EAAA;AAE1E,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAiB,CAAA,KAAA;AACnB,QAAY,WAAA,CAAA,kBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAAA,KACxD,CAAA;AAED,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaThumb.cjs","sources":["../../src/ScrollArea/ScrollAreaThumb.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaThumbProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaThumb.cjs","sources":["../../src/ScrollArea/ScrollAreaThumb.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaThumbProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { watchOnce } from '@vueuse/core'\nimport { computed, onUnmounted, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { addUnlinkedScrollListener } from './utils'\n\nconst props = defineProps<ScrollAreaThumbProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContextVisible = injectScrollAreaScrollbarVisibleContext()\n\nfunction handlePointerDown(event: MouseEvent) {\n const thumb = event.target as HTMLElement\n const thumbRect = thumb.getBoundingClientRect()\n const x = event.clientX - thumbRect.left\n const y = event.clientY - thumbRect.top\n scrollbarContextVisible.handleThumbDown(event, { x, y })\n}\n\nfunction handlePointerUp(event: MouseEvent) {\n scrollbarContextVisible.handleThumbUp(event)\n}\n\nconst { forwardRef, currentElement: thumbElement } = useForwardExpose()\nconst removeUnlinkedScrollListenerRef = ref<() => void>()\nconst viewport = computed(() => rootContext.viewport.value)\n\nfunction handleScroll() {\n if (!removeUnlinkedScrollListenerRef.value) {\n const listener = addUnlinkedScrollListener(\n viewport.value!,\n scrollbarContextVisible.onThumbPositionChange,\n )\n removeUnlinkedScrollListenerRef.value = listener\n scrollbarContextVisible.onThumbPositionChange()\n }\n}\n\nconst sizes = computed(() => scrollbarContextVisible.sizes.value)\n\nwatchOnce(sizes, () => {\n scrollbarContextVisible.onThumbChange(thumbElement.value!)\n if (viewport.value) {\n /**\n * We only bind to native scroll event so we know when scroll starts and ends.\n * When scroll starts we start a requestAnimationFrame loop that checks for\n * changes to scroll position. That rAF loop triggers our thumb position change\n * when relevant to avoid scroll-linked effects. We cancel the loop when scroll ends.\n * https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\n */\n scrollbarContextVisible.onThumbPositionChange()\n viewport.value.addEventListener('scroll', handleScroll)\n }\n})\n\nonUnmounted(() => {\n viewport.value!.removeEventListener('scroll', handleScroll)\n rootContext.viewport.value?.removeEventListener('scroll', handleScroll)\n})\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :data-state=\"scrollbarContextVisible.hasThumb ? 'visible' : 'hidden'\"\n :style=\"{\n width: 'var(--reka-scroll-area-thumb-width)',\n height: 'var(--reka-scroll-area-thumb-height)',\n }\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n @pointerdown=\"handlePointerDown\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarVisibleContext","useForwardExpose","ref","computed","addUnlinkedScrollListener","watchOnce","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0BC,6EAAwC,EAAA;AAExE,IAAA,SAAS,kBAAkB,KAAmB,EAAA;AAC5C,MAAA,MAAM,QAAQ,KAAM,CAAA,MAAA;AACpB,MAAM,MAAA,SAAA,GAAY,MAAM,qBAAsB,EAAA;AAC9C,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,IAAA;AACpC,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,GAAA;AACpC,MAAA,uBAAA,CAAwB,eAAgB,CAAA,KAAA,EAAO,EAAE,CAAA,EAAG,GAAG,CAAA;AAAA;AAGzD,IAAA,SAAS,gBAAgB,KAAmB,EAAA;AAC1C,MAAA,uBAAA,CAAwB,cAAc,KAAK,CAAA;AAAA;AAG7C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,YAAA,KAAiBC,wCAAiB,EAAA;AACtE,IAAA,MAAM,kCAAkCC,OAAgB,EAAA;AACxD,IAAA,MAAM,QAAW,GAAAC,YAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAE1D,IAAA,SAAS,YAAe,GAAA;AACtB,MAAI,IAAA,CAAC,gCAAgC,KAAO,EAAA;AAC1C,QAAA,MAAM,QAAW,GAAAC,0CAAA;AAAA,UACf,QAAS,CAAA,KAAA;AAAA,UACT,uBAAwB,CAAA;AAAA,SAC1B;AACA,QAAA,+BAAA,CAAgC,KAAQ,GAAA,QAAA;AACxC,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAAA;AAChD;AAGF,IAAA,MAAM,KAAQ,GAAAD,YAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;AAEhE,IAAAE,cAAA,CAAU,OAAO,MAAM;AACrB,MAAwB,uBAAA,CAAA,aAAA,CAAc,aAAa,KAAM,CAAA;AACzD,MAAA,IAAI,SAAS,KAAO,EAAA;AAQlB,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAC9C,QAAS,QAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA;AACxD,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAS,QAAA,CAAA,KAAA,CAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAC1D,MAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA,KACvE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaThumb.js","sources":["../../src/ScrollArea/ScrollAreaThumb.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaThumbProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaThumb.js","sources":["../../src/ScrollArea/ScrollAreaThumb.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface ScrollAreaThumbProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { watchOnce } from '@vueuse/core'\nimport { computed, onUnmounted, ref } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarVisibleContext } from './ScrollAreaScrollbarVisible.vue'\nimport { addUnlinkedScrollListener } from './utils'\n\nconst props = defineProps<ScrollAreaThumbProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContextVisible = injectScrollAreaScrollbarVisibleContext()\n\nfunction handlePointerDown(event: MouseEvent) {\n const thumb = event.target as HTMLElement\n const thumbRect = thumb.getBoundingClientRect()\n const x = event.clientX - thumbRect.left\n const y = event.clientY - thumbRect.top\n scrollbarContextVisible.handleThumbDown(event, { x, y })\n}\n\nfunction handlePointerUp(event: MouseEvent) {\n scrollbarContextVisible.handleThumbUp(event)\n}\n\nconst { forwardRef, currentElement: thumbElement } = useForwardExpose()\nconst removeUnlinkedScrollListenerRef = ref<() => void>()\nconst viewport = computed(() => rootContext.viewport.value)\n\nfunction handleScroll() {\n if (!removeUnlinkedScrollListenerRef.value) {\n const listener = addUnlinkedScrollListener(\n viewport.value!,\n scrollbarContextVisible.onThumbPositionChange,\n )\n removeUnlinkedScrollListenerRef.value = listener\n scrollbarContextVisible.onThumbPositionChange()\n }\n}\n\nconst sizes = computed(() => scrollbarContextVisible.sizes.value)\n\nwatchOnce(sizes, () => {\n scrollbarContextVisible.onThumbChange(thumbElement.value!)\n if (viewport.value) {\n /**\n * We only bind to native scroll event so we know when scroll starts and ends.\n * When scroll starts we start a requestAnimationFrame loop that checks for\n * changes to scroll position. That rAF loop triggers our thumb position change\n * when relevant to avoid scroll-linked effects. We cancel the loop when scroll ends.\n * https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects\n */\n scrollbarContextVisible.onThumbPositionChange()\n viewport.value.addEventListener('scroll', handleScroll)\n }\n})\n\nonUnmounted(() => {\n viewport.value!.removeEventListener('scroll', handleScroll)\n rootContext.viewport.value?.removeEventListener('scroll', handleScroll)\n})\n</script>\n\n<template>\n <Primitive\n :ref=\"forwardRef\"\n :data-state=\"scrollbarContextVisible.hasThumb ? 'visible' : 'hidden'\"\n :style=\"{\n width: 'var(--reka-scroll-area-thumb-width)',\n height: 'var(--reka-scroll-area-thumb-height)',\n }\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n @pointerdown=\"handlePointerDown\"\n @pointerup=\"handlePointerUp\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,0BAA0B,uCAAwC,EAAA;AAExE,IAAA,SAAS,kBAAkB,KAAmB,EAAA;AAC5C,MAAA,MAAM,QAAQ,KAAM,CAAA,MAAA;AACpB,MAAM,MAAA,SAAA,GAAY,MAAM,qBAAsB,EAAA;AAC9C,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,IAAA;AACpC,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,SAAU,CAAA,GAAA;AACpC,MAAA,uBAAA,CAAwB,eAAgB,CAAA,KAAA,EAAO,EAAE,CAAA,EAAG,GAAG,CAAA;AAAA;AAGzD,IAAA,SAAS,gBAAgB,KAAmB,EAAA;AAC1C,MAAA,uBAAA,CAAwB,cAAc,KAAK,CAAA;AAAA;AAG7C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,YAAA,KAAiB,gBAAiB,EAAA;AACtE,IAAA,MAAM,kCAAkC,GAAgB,EAAA;AACxD,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,WAAA,CAAY,SAAS,KAAK,CAAA;AAE1D,IAAA,SAAS,YAAe,GAAA;AACtB,MAAI,IAAA,CAAC,gCAAgC,KAAO,EAAA;AAC1C,QAAA,MAAM,QAAW,GAAA,yBAAA;AAAA,UACf,QAAS,CAAA,KAAA;AAAA,UACT,uBAAwB,CAAA;AAAA,SAC1B;AACA,QAAA,+BAAA,CAAgC,KAAQ,GAAA,QAAA;AACxC,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAAA;AAChD;AAGF,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,MAAM,uBAAA,CAAwB,MAAM,KAAK,CAAA;AAEhE,IAAA,SAAA,CAAU,OAAO,MAAM;AACrB,MAAwB,uBAAA,CAAA,aAAA,CAAc,aAAa,KAAM,CAAA;AACzD,MAAA,IAAI,SAAS,KAAO,EAAA;AAQlB,QAAA,uBAAA,CAAwB,qBAAsB,EAAA;AAC9C,QAAS,QAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA;AACxD,KACD,CAAA;AAED,IAAA,WAAA,CAAY,MAAM;AAChB,MAAS,QAAA,CAAA,KAAA,CAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAC1D,MAAA,WAAA,CAAY,QAAS,CAAA,KAAA,EAAO,mBAAoB,CAAA,QAAA,EAAU,YAAY,CAAA;AAAA,KACvE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaViewport.cjs","sources":["../../src/ScrollArea/ScrollAreaViewport.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { useNonce } from '@/shared/useNonce'\n\nexport interface ScrollAreaViewportProps extends PrimitiveProps {\n /**\n * Will add `nonce` attribute to the style tag which can be used by Content Security Policy. <br> If omitted, inherits globally from `ConfigProvider`.\n */\n nonce?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaViewport.cjs","sources":["../../src/ScrollArea/ScrollAreaViewport.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { useNonce } from '@/shared/useNonce'\n\nexport interface ScrollAreaViewportProps extends PrimitiveProps {\n /**\n * Will add `nonce` attribute to the style tag which can be used by Content Security Policy. <br> If omitted, inherits globally from `ConfigProvider`.\n */\n nonce?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref, toRefs } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<ScrollAreaViewportProps>()\n\nconst { nonce: propNonce } = toRefs(props)\nconst nonce = useNonce(propNonce)\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst viewportElement = ref<HTMLElement>()\n\nonMounted(() => {\n rootContext.onViewportChange(viewportElement.value!)\n rootContext.onContentChange(contentElement.value!)\n})\n\ndefineExpose({\n viewportElement,\n})\nconst { forwardRef, currentElement: contentElement } = useForwardExpose()\n</script>\n\n<template>\n <div\n ref=\"viewportElement\"\n data-reka-scroll-area-viewport=\"\"\n :style=\"{\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflowed#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: rootContext.scrollbarXEnabled.value ? 'scroll' : 'hidden',\n overflowY: rootContext.scrollbarYEnabled.value ? 'scroll' : 'hidden',\n }\"\n v-bind=\"$attrs\"\n :tabindex=\"0\"\n >\n <Primitive\n :ref=\"forwardRef\"\n :style=\"{\n /**\n * When horizontal scrollbar is visible: this element should be at least\n * as wide as its children for size calculations to work correctly.\n *\n * When horizontal scrollbar is NOT visible: this element's width should\n * be constrained by the parent container to enable `text-overflow: ellipsis`\n */\n minWidth: rootContext.scrollbarXEnabled.value ? 'fit-content' : undefined,\n }\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n >\n <slot />\n </Primitive>\n </div>\n <Primitive\n as=\"style\"\n :nonce=\"nonce\"\n >\n /* Hide scrollbars cross-browser and enable momentum scroll for touch\n devices */\n [data-reka-scroll-area-viewport] {\n scrollbar-width:none;\n -ms-overflow-style:none;\n -webkit-overflow-scrolling:touch;\n }\n\n [data-reka-scroll-area-viewport]::-webkit-scrollbar {\n display:none;\n }\n </Primitive>\n</template>\n"],"names":["toRefs","useNonce","injectScrollAreaRootContext","ref","onMounted","useForwardExpose"],"mappings":";;;;;;;;;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,EAAE,KAAA,EAAO,SAAU,EAAA,GAAIA,WAAO,KAAK,CAAA;AACzC,IAAM,MAAA,KAAA,GAAQC,yBAAS,SAAS,CAAA;AAEhC,IAAA,MAAM,cAAcC,qDAA4B,EAAA;AAEhD,IAAA,MAAM,kBAAkBC,OAAiB,EAAA;AAEzC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAY,WAAA,CAAA,gBAAA,CAAiB,gBAAgB,KAAM,CAAA;AACnD,MAAY,WAAA,CAAA,eAAA,CAAgB,eAAe,KAAM,CAAA;AAAA,KAClD,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX;AAAA,KACD,CAAA;AACD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,cAAA,KAAmBC,wCAAiB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollAreaViewport.js","sources":["../../src/ScrollArea/ScrollAreaViewport.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { useNonce } from '@/shared/useNonce'\n\nexport interface ScrollAreaViewportProps extends PrimitiveProps {\n /**\n * Will add `nonce` attribute to the style tag which can be used by Content Security Policy. <br> If omitted, inherits globally from `ConfigProvider`.\n */\n nonce?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"ScrollAreaViewport.js","sources":["../../src/ScrollArea/ScrollAreaViewport.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { useNonce } from '@/shared/useNonce'\n\nexport interface ScrollAreaViewportProps extends PrimitiveProps {\n /**\n * Will add `nonce` attribute to the style tag which can be used by Content Security Policy. <br> If omitted, inherits globally from `ConfigProvider`.\n */\n nonce?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref, toRefs } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<ScrollAreaViewportProps>()\n\nconst { nonce: propNonce } = toRefs(props)\nconst nonce = useNonce(propNonce)\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst viewportElement = ref<HTMLElement>()\n\nonMounted(() => {\n rootContext.onViewportChange(viewportElement.value!)\n rootContext.onContentChange(contentElement.value!)\n})\n\ndefineExpose({\n viewportElement,\n})\nconst { forwardRef, currentElement: contentElement } = useForwardExpose()\n</script>\n\n<template>\n <div\n ref=\"viewportElement\"\n data-reka-scroll-area-viewport=\"\"\n :style=\"{\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflowed#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: rootContext.scrollbarXEnabled.value ? 'scroll' : 'hidden',\n overflowY: rootContext.scrollbarYEnabled.value ? 'scroll' : 'hidden',\n }\"\n v-bind=\"$attrs\"\n :tabindex=\"0\"\n >\n <Primitive\n :ref=\"forwardRef\"\n :style=\"{\n /**\n * When horizontal scrollbar is visible: this element should be at least\n * as wide as its children for size calculations to work correctly.\n *\n * When horizontal scrollbar is NOT visible: this element's width should\n * be constrained by the parent container to enable `text-overflow: ellipsis`\n */\n minWidth: rootContext.scrollbarXEnabled.value ? 'fit-content' : undefined,\n }\"\n :as-child=\"props.asChild\"\n :as=\"as\"\n >\n <slot />\n </Primitive>\n </div>\n <Primitive\n as=\"style\"\n :nonce=\"nonce\"\n >\n /* Hide scrollbars cross-browser and enable momentum scroll for touch\n devices */\n [data-reka-scroll-area-viewport] {\n scrollbar-width:none;\n -ms-overflow-style:none;\n -webkit-overflow-scrolling:touch;\n }\n\n [data-reka-scroll-area-viewport]::-webkit-scrollbar {\n display:none;\n }\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,EAAE,KAAA,EAAO,SAAU,EAAA,GAAI,OAAO,KAAK,CAAA;AACzC,IAAM,MAAA,KAAA,GAAQ,SAAS,SAAS,CAAA;AAEhC,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAEhD,IAAA,MAAM,kBAAkB,GAAiB,EAAA;AAEzC,IAAA,SAAA,CAAU,MAAM;AACd,MAAY,WAAA,CAAA,gBAAA,CAAiB,gBAAgB,KAAM,CAAA;AACnD,MAAY,WAAA,CAAA,eAAA,CAAgB,eAAe,KAAM,CAAA;AAAA,KAClD,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX;AAAA,KACD,CAAA;AACD,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,cAAA,KAAmB,gBAAiB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BubbleSelect.cjs","sources":["../../src/Select/BubbleSelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"BubbleSelect.cjs","sources":["../../src/Select/BubbleSelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport { VisuallyHidden } from '@/VisuallyHidden'\n\ninterface BubbleSelectProps {\n autocomplete?: string\n autofocus?: boolean\n disabled?: boolean\n form?: string\n multiple?: boolean\n name?: string\n required?: boolean\n size?: number\n value?: any\n}\n\nconst props = defineProps<BubbleSelectProps>()\nconst selectElement = ref<HTMLElement>()\n\n// This would bubble \"change\" event to form, with the target as Select element.\nwatch(() => props.value, (cur, prev) => {\n const selectProto = window.HTMLSelectElement.prototype\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n 'value',\n ) as PropertyDescriptor\n const setValue = descriptor.set\n if (cur !== prev && setValue && selectElement.value) {\n const event = new Event('change', { bubbles: true })\n setValue.call(selectElement.value, cur)\n selectElement.value.dispatchEvent(event)\n }\n})\n\n/**\n * We purposefully use a `select` here to support form autofill as much\n * as possible.\n *\n * We purposefully do not add the `value` attribute here to allow the value\n * to be set programmatically and bubble to any parent form `onChange` event.\n *\n * We use `VisuallyHidden` rather than `display: \"none\"` because Safari autofill\n * won't work otherwise.\n */\n</script>\n\n<template>\n <VisuallyHidden as-child>\n <select\n ref=\"selectElement\"\n v-bind=\"props\"\n >\n <slot />\n </select>\n </VisuallyHidden>\n</template>\n"],"names":["ref","watch"],"mappings":";;;;;;;;;;;;;;;;;;;AAgBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,gBAAgBA,OAAiB,EAAA;AAGvC,IAAAC,SAAA,CAAM,MAAM,KAAA,CAAM,KAAO,EAAA,CAAC,KAAK,IAAS,KAAA;AACtC,MAAM,MAAA,WAAA,GAAc,OAAO,iBAAkB,CAAA,SAAA;AAC7C,MAAA,MAAM,aAAa,MAAO,CAAA,wBAAA;AAAA,QACxB,WAAA;AAAA,QACA;AAAA,OACF;AACA,MAAA,MAAM,WAAW,UAAW,CAAA,GAAA;AAC5B,MAAA,IAAI,GAAQ,KAAA,IAAA,IAAQ,QAAY,IAAA,aAAA,CAAc,KAAO,EAAA;AACnD,QAAA,MAAM,QAAQ,IAAI,KAAA,CAAM,UAAU,EAAE,OAAA,EAAS,MAAM,CAAA;AACnD,QAAS,QAAA,CAAA,IAAA,CAAK,aAAc,CAAA,KAAA,EAAO,GAAG,CAAA;AACtC,QAAc,aAAA,CAAA,KAAA,CAAM,cAAc,KAAK,CAAA;AAAA;AACzC,KACD,CAAA;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BubbleSelect.js","sources":["../../src/Select/BubbleSelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"BubbleSelect.js","sources":["../../src/Select/BubbleSelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport { VisuallyHidden } from '@/VisuallyHidden'\n\ninterface BubbleSelectProps {\n autocomplete?: string\n autofocus?: boolean\n disabled?: boolean\n form?: string\n multiple?: boolean\n name?: string\n required?: boolean\n size?: number\n value?: any\n}\n\nconst props = defineProps<BubbleSelectProps>()\nconst selectElement = ref<HTMLElement>()\n\n// This would bubble \"change\" event to form, with the target as Select element.\nwatch(() => props.value, (cur, prev) => {\n const selectProto = window.HTMLSelectElement.prototype\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n 'value',\n ) as PropertyDescriptor\n const setValue = descriptor.set\n if (cur !== prev && setValue && selectElement.value) {\n const event = new Event('change', { bubbles: true })\n setValue.call(selectElement.value, cur)\n selectElement.value.dispatchEvent(event)\n }\n})\n\n/**\n * We purposefully use a `select` here to support form autofill as much\n * as possible.\n *\n * We purposefully do not add the `value` attribute here to allow the value\n * to be set programmatically and bubble to any parent form `onChange` event.\n *\n * We use `VisuallyHidden` rather than `display: \"none\"` because Safari autofill\n * won't work otherwise.\n */\n</script>\n\n<template>\n <VisuallyHidden as-child>\n <select\n ref=\"selectElement\"\n v-bind=\"props\"\n >\n <slot />\n </select>\n </VisuallyHidden>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAgBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,gBAAgB,GAAiB,EAAA;AAGvC,IAAA,KAAA,CAAM,MAAM,KAAA,CAAM,KAAO,EAAA,CAAC,KAAK,IAAS,KAAA;AACtC,MAAM,MAAA,WAAA,GAAc,OAAO,iBAAkB,CAAA,SAAA;AAC7C,MAAA,MAAM,aAAa,MAAO,CAAA,wBAAA;AAAA,QACxB,WAAA;AAAA,QACA;AAAA,OACF;AACA,MAAA,MAAM,WAAW,UAAW,CAAA,GAAA;AAC5B,MAAA,IAAI,GAAQ,KAAA,IAAA,IAAQ,QAAY,IAAA,aAAA,CAAc,KAAO,EAAA;AACnD,QAAA,MAAM,QAAQ,IAAI,KAAA,CAAM,UAAU,EAAE,OAAA,EAAS,MAAM,CAAA;AACnD,QAAS,QAAA,CAAA,IAAA,CAAK,aAAc,CAAA,KAAA,EAAO,GAAG,CAAA;AACtC,QAAc,aAAA,CAAA,KAAA,CAAM,cAAc,KAAK,CAAA;AAAA;AACzC,KACD,CAAA;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectContent.cjs","sources":["../../src/Select/SelectContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n SelectContentImplEmits,\n SelectContentImplProps,\n} from './SelectContentImpl.vue'\n\nexport type SelectContentEmits = SelectContentImplEmits\n\nexport interface SelectContentProps extends SelectContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"SelectContent.cjs","sources":["../../src/Select/SelectContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n SelectContentImplEmits,\n SelectContentImplProps,\n} from './SelectContentImpl.vue'\n\nexport type SelectContentEmits = SelectContentImplEmits\n\nexport interface SelectContentProps extends SelectContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardPropsEmits } from '@/shared'\nimport SelectContentImpl from './SelectContentImpl.vue'\nimport SelectProvider from './SelectProvider.vue'\nimport { injectSelectRootContext } from './SelectRoot.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<SelectContentProps>()\n\nconst emits = defineEmits<SelectContentEmits>()\nconst forwarded = useForwardPropsEmits(props, emits)\n\nconst rootContext = injectSelectRootContext()\n\nconst fragment = ref<DocumentFragment>()\nonMounted(() => {\n fragment.value = new DocumentFragment()\n})\n\nconst presenceRef = ref<InstanceType<typeof Presence>>()\nconst renderPresence = computed(() => props.forceMount || rootContext.open.value)\n</script>\n\n<template>\n <Presence\n v-if=\"renderPresence\"\n ref=\"presenceRef\"\n :present=\"true\"\n >\n <SelectContentImpl v-bind=\"{ ...forwarded, ...$attrs }\">\n <slot />\n </SelectContentImpl>\n </Presence>\n\n <div v-else-if=\"!presenceRef?.present && fragment\">\n <Teleport :to=\"fragment\">\n <SelectProvider :context=\"rootContext\">\n <slot />\n </SelectProvider>\n </Teleport>\n </div>\n</template>\n"],"names":["useForwardPropsEmits","injectSelectRootContext","ref","onMounted","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,KAAQ,GAAA,MAAA;AACd,IAAM,MAAA,SAAA,GAAYA,gDAAqB,CAAA,KAAA,EAAO,KAAK,CAAA;AAEnD,IAAA,MAAM,cAAcC,yCAAwB,EAAA;AAE5C,IAAA,MAAM,WAAWC,OAAsB,EAAA;AACvC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAS,QAAA,CAAA,KAAA,GAAQ,IAAI,gBAAiB,EAAA;AAAA,KACvC,CAAA;AAED,IAAA,MAAM,cAAcD,OAAmC,EAAA;AACvD,IAAA,MAAM,iBAAiBE,YAAS,CAAA,MAAM,MAAM,UAAc,IAAA,WAAA,CAAY,KAAK,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectContent.js","sources":["../../src/Select/SelectContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n SelectContentImplEmits,\n SelectContentImplProps,\n} from './SelectContentImpl.vue'\n\nexport type SelectContentEmits = SelectContentImplEmits\n\nexport interface SelectContentProps extends SelectContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"SelectContent.js","sources":["../../src/Select/SelectContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n SelectContentImplEmits,\n SelectContentImplProps,\n} from './SelectContentImpl.vue'\n\nexport type SelectContentEmits = SelectContentImplEmits\n\nexport interface SelectContentProps extends SelectContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with Vue animation libraries.\n */\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue'\nimport { Presence } from '@/Presence'\nimport { useForwardPropsEmits } from '@/shared'\nimport SelectContentImpl from './SelectContentImpl.vue'\nimport SelectProvider from './SelectProvider.vue'\nimport { injectSelectRootContext } from './SelectRoot.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = defineProps<SelectContentProps>()\n\nconst emits = defineEmits<SelectContentEmits>()\nconst forwarded = useForwardPropsEmits(props, emits)\n\nconst rootContext = injectSelectRootContext()\n\nconst fragment = ref<DocumentFragment>()\nonMounted(() => {\n fragment.value = new DocumentFragment()\n})\n\nconst presenceRef = ref<InstanceType<typeof Presence>>()\nconst renderPresence = computed(() => props.forceMount || rootContext.open.value)\n</script>\n\n<template>\n <Presence\n v-if=\"renderPresence\"\n ref=\"presenceRef\"\n :present=\"true\"\n >\n <SelectContentImpl v-bind=\"{ ...forwarded, ...$attrs }\">\n <slot />\n </SelectContentImpl>\n </Presence>\n\n <div v-else-if=\"!presenceRef?.present && fragment\">\n <Teleport :to=\"fragment\">\n <SelectProvider :context=\"rootContext\">\n <slot />\n </SelectProvider>\n </Teleport>\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,KAAQ,GAAA,MAAA;AACd,IAAM,MAAA,SAAA,GAAY,oBAAqB,CAAA,KAAA,EAAO,KAAK,CAAA;AAEnD,IAAA,MAAM,cAAc,uBAAwB,EAAA;AAE5C,IAAA,MAAM,WAAW,GAAsB,EAAA;AACvC,IAAA,SAAA,CAAU,MAAM;AACd,MAAS,QAAA,CAAA,KAAA,GAAQ,IAAI,gBAAiB,EAAA;AAAA,KACvC,CAAA;AAED,IAAA,MAAM,cAAc,GAAmC,EAAA;AACvD,IAAA,MAAM,iBAAiB,QAAS,CAAA,MAAM,MAAM,UAAc,IAAA,WAAA,CAAY,KAAK,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|