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":"DateRangeFieldRoot.js","sources":["../../src/DateRangeField/DateRangeFieldRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Matcher } from '@/date'\n\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Formatter } from '@/shared'\nimport type { DateRange, Granularity, HourCycle, SegmentPart, SegmentValueObj } from '@/shared/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport type { DateValue } from '@internationalized/date'\nimport type { Ref } from 'vue'\nimport {\n areAllDaysBetweenValid,\n hasTime,\n isBefore,\n isBeforeOrSame,\n\n} from '@/date'\nimport { createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n createContent,\n\n getDefaultDate,\n getSegmentElements,\n\n initializeSegmentValues,\n isSegmentNavigationKey,\n\n syncSegmentValues,\n} from '@/shared/date'\n\nexport type DateRangeType = 'start' | 'end'\n\ntype DateRangeFieldRootContext = {\n locale: Ref<string>\n startValue: Ref<DateValue | undefined>\n endValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n isDateUnavailable?: Matcher\n isInvalid: Ref<boolean>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n formatter: Formatter\n hourCycle: HourCycle\n segmentValues: Record<DateRangeType, Ref<SegmentValueObj>>\n segmentContents: Ref<{ start: { part: SegmentPart, value: string }[], end: { part: SegmentPart, value: string }[] }>\n elements: Ref<Set<HTMLElement>>\n focusNext: () => void\n setFocusedElement: (el: HTMLElement) => void\n}\n\nexport interface DateRangeFieldRootProps extends PrimitiveProps, FormFieldProps {\n /** The default value for the calendar */\n defaultValue?: DateRange\n /** The default placeholder date */\n defaultPlaceholder?: DateValue\n /** The placeholder date, which is used to determine what month to display when no date is selected. This updates as the user navigates the calendar and can be used to programmatically control the calendar view */\n placeholder?: DateValue\n /** The controlled checked state of the calendar. Can be bound as `v-model`. */\n modelValue?: DateRange | null\n /** The hour cycle used for formatting times. Defaults to the local preference */\n hourCycle?: HourCycle\n /** The granularity to use for formatting times. Defaults to day if a CalendarDate is provided, otherwise defaults to minute. The field will render segments for each part of the date up to and including the specified granularity */\n granularity?: Granularity\n /** Whether or not to hide the time zone segment of the field */\n hideTimeZone?: boolean\n /** The maximum date that can be selected */\n maxValue?: DateValue\n /** The minimum date that can be selected */\n minValue?: DateValue\n /** The locale to use for formatting dates */\n locale?: string\n /** Whether or not the date field is disabled */\n disabled?: boolean\n /** Whether or not the date field is readonly */\n readonly?: boolean\n /** A function that returns whether or not a date is unavailable */\n isDateUnavailable?: Matcher\n /** Id of the element */\n id?: string\n /** The reading direction of the date field when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n}\n\nexport type DateRangeFieldRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [DateRange]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectDateRangeFieldRootContext, provideDateRangeFieldRootContext]\n = createContext<DateRangeFieldRootContext>('DateRangeFieldRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { VisuallyHidden } from '@/VisuallyHidden'\nimport { useVModel } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DateRangeFieldRootProps>(), {\n defaultValue: undefined,\n disabled: false,\n readonly: false,\n placeholder: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DateRangeFieldRootEmits>()\nconst { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, dir: propDir, locale: propLocale } = toRefs(props)\nconst locale = useLocale(propLocale)\nconst dir = useDirection(propDir)\n\nconst formatter = useDateFormatter(locale.value)\nconst { primitiveElement, currentElement: parentElement }\n = usePrimitiveElement()\nconst segmentElements = ref<Set<HTMLElement>>(new Set())\n\nonMounted(() => {\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n})\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue ?? { start: undefined, end: undefined },\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateRange | null>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value?.start,\n locale: props.locale,\n})\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst inferredGranularity = computed(() => {\n if (props.granularity)\n return !hasTime(placeholder.value) ? 'day' : props.granularity\n\n return hasTime(placeholder.value) ? 'minute' : 'day'\n})\n\nconst isStartInvalid = computed(() => {\n if (!modelValue.value?.start)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.start))\n return true\n\n if (props.minValue && isBefore(modelValue.value.start, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.start))\n return true\n\n return false\n})\n\nconst isEndInvalid = computed(() => {\n if (!modelValue.value?.end)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.end))\n return true\n\n if (props.minValue && isBefore(modelValue.value.end, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.end))\n return true\n\n return false\n})\n\nconst isInvalid = computed(() => {\n if (isStartInvalid.value || isEndInvalid.value)\n return true\n\n if (!modelValue.value?.start || !modelValue.value?.end)\n return false\n\n if (!isBeforeOrSame(modelValue.value.start, modelValue.value.end))\n return true\n\n if (propsIsDateUnavailable.value !== undefined) {\n const allValid = areAllDaysBetweenValid(\n modelValue.value.start,\n modelValue.value.end,\n propsIsDateUnavailable.value,\n undefined,\n )\n if (!allValid)\n return true\n }\n return false\n})\n\nconst initialSegments = initializeSegmentValues(inferredGranularity.value)\n\nconst startSegmentValues = ref<SegmentValueObj>(modelValue.value?.start ? { ...syncSegmentValues({ value: modelValue.value.start, formatter }) } : { ...initialSegments })\nconst endSegmentValues = ref<SegmentValueObj>(modelValue.value?.end ? { ...syncSegmentValues({ value: modelValue.value.end, formatter }) } : { ...initialSegments })\n\nconst startSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: startSegmentValues.value,\n locale,\n}))\n\nconst endSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: endSegmentValues.value,\n locale,\n}))\n\nconst segmentContents = computed(() => ({\n start: startSegmentContent.value.arr,\n end: endSegmentContent.value.arr,\n}))\n\nconst editableSegmentContents = computed(() => ({ start: segmentContents.value.start.filter(({ part }) => part !== 'literal'), end: segmentContents.value.end.filter(({ part }) => part !== 'literal') }))\n\nconst startValue = ref(modelValue.value?.start?.copy()) as Ref<DateValue | undefined>\nconst endValue = ref(modelValue.value?.end?.copy()) as Ref<DateValue | undefined>\n\nwatch([startValue, endValue], ([_startValue, _endValue]) => {\n modelValue.value = { start: _startValue?.copy(), end: _endValue?.copy() }\n})\n\nwatch(modelValue, (_modelValue) => {\n if (_modelValue && _modelValue.start && _modelValue.end) {\n if (!startValue.value || _modelValue.start.compare(startValue.value) !== 0)\n startValue.value = _modelValue.start.copy()\n if (!endValue.value || _modelValue.end.compare(endValue.value) !== 0)\n endValue.value = _modelValue.end.copy()\n }\n if (!_modelValue) {\n startValue.value = undefined\n endValue.value = undefined\n }\n})\n\nwatch([startValue, locale], ([_startValue]) => {\n if (_startValue !== undefined) {\n startSegmentValues.value = { ...syncSegmentValues({ value: _startValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(startSegmentValues.value).every(value => value !== null) && _startValue === undefined) {\n startSegmentValues.value = { ...initialSegments }\n }\n})\n\nwatch(locale, (value) => {\n if (formatter.getLocale() !== value) {\n formatter.setLocale(value)\n // Locale changed, so we need to clear the segment elements and re-get them (different order)\n // Get the focusable elements again on the next tick\n nextTick(() => {\n segmentElements.value.clear()\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n })\n }\n})\n\nwatch(modelValue, (_modelValue) => {\n if (_modelValue && _modelValue.start !== undefined && placeholder.value.compare(_modelValue.start) !== 0)\n placeholder.value = _modelValue.start.copy()\n})\n\nwatch([endValue, locale], ([_endValue]) => {\n if (_endValue !== undefined) {\n endSegmentValues.value = { ...syncSegmentValues({ value: _endValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(endSegmentValues.value).every(value => value !== null) && _endValue === undefined) {\n endSegmentValues.value = { ...initialSegments }\n }\n})\n\nconst currentFocusedElement = ref<HTMLElement | null>(null)\n\nconst currentSegmentIndex = computed(() => Array.from(segmentElements.value).findIndex(el =>\n el.getAttribute('data-reka-date-field-segment') === currentFocusedElement.value?.getAttribute('data-reka-date-field-segment')\n && el.getAttribute('data-reka-date-range-field-segment-type') === currentFocusedElement.value?.getAttribute('data-reka-date-range-field-segment-type')))\n\nconst nextFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const nextCondition = sign < 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (nextCondition)\n return null\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value + sign]\n return segmentToFocus\n})\n\nconst prevFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const prevCondition = sign > 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (prevCondition)\n return null\n\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value - sign]\n return segmentToFocus\n})\n\nconst kbd = useKbd()\n\nfunction handleKeydown(e: KeyboardEvent) {\n if (!isSegmentNavigationKey(e.key))\n return\n if (e.key === kbd.ARROW_LEFT)\n prevFocusableSegment.value?.focus()\n if (e.key === kbd.ARROW_RIGHT)\n nextFocusableSegment.value?.focus()\n}\n\nfunction setFocusedElement(el: HTMLElement) {\n currentFocusedElement.value = el\n}\n\nprovideDateRangeFieldRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n locale,\n startValue,\n endValue,\n placeholder,\n disabled,\n formatter,\n hourCycle: props.hourCycle,\n readonly,\n segmentValues: { start: startSegmentValues, end: endSegmentValues },\n isInvalid,\n segmentContents: editableSegmentContents,\n elements: segmentElements,\n setFocusedElement,\n focusNext() {\n nextFocusableSegment.value?.focus()\n },\n})\n\ndefineExpose({\n setFocusedElement,\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"$attrs\"\n ref=\"primitiveElement\"\n role=\"group\"\n :aria-disabled=\"disabled ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-readonly=\"readonly ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :dir=\"dir\"\n @keydown.left.right=\"handleKeydown\"\n >\n <slot\n :model-value=\"modelValue\"\n :segments=\"segmentContents\"\n />\n\n <VisuallyHidden\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"`${modelValue?.start?.toString()} - ${modelValue?.end?.toString()}`\"\n :name=\"name\"\n :disabled=\"disabled\"\n :required=\"required\"\n @focus=\"Array.from(segmentElements)?.[0]?.focus()\"\n />\n </Primitive>\n</template>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateRangeFieldRoot.js","sources":["../../src/DateRangeField/DateRangeFieldRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\n\nimport type { Ref } from 'vue'\nimport type { Matcher } from '@/date'\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Formatter } from '@/shared'\nimport type { DateRange, DateStep, Granularity, HourCycle, SegmentPart, SegmentValueObj } from '@/shared/date'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport {\n areAllDaysBetweenValid,\n hasTime,\n isBefore,\n isBeforeOrSame,\n\n} from '@/date'\nimport { createContext, useDateFormatter, useDirection, useKbd, useLocale } from '@/shared'\nimport {\n createContent,\n\n getDefaultDate,\n getSegmentElements,\n\n initializeSegmentValues,\n isSegmentNavigationKey,\n normalizeDateStep,\n normalizeHourCycle,\n\n syncSegmentValues,\n} from '@/shared/date'\n\nexport type DateRangeType = 'start' | 'end'\n\ntype DateRangeFieldRootContext = {\n locale: Ref<string>\n startValue: Ref<DateValue | undefined>\n endValue: Ref<DateValue | undefined>\n placeholder: Ref<DateValue>\n isDateUnavailable?: Matcher\n isInvalid: Ref<boolean>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n formatter: Formatter\n hourCycle: HourCycle\n step: Ref<DateStep>\n segmentValues: Record<DateRangeType, Ref<SegmentValueObj>>\n segmentContents: Ref<{ start: { part: SegmentPart, value: string }[], end: { part: SegmentPart, value: string }[] }>\n elements: Ref<Set<HTMLElement>>\n focusNext: () => void\n setFocusedElement: (el: HTMLElement) => void\n}\n\nexport interface DateRangeFieldRootProps extends PrimitiveProps, FormFieldProps {\n /** The default value for the calendar */\n defaultValue?: DateRange\n /** The default placeholder date */\n defaultPlaceholder?: DateValue\n /** The placeholder date, which is used to determine what month to display when no date is selected. This updates as the user navigates the calendar and can be used to programmatically control the calendar view */\n placeholder?: DateValue\n /** The controlled checked state of the calendar. Can be bound as `v-model`. */\n modelValue?: DateRange | null\n /** The hour cycle used for formatting times. Defaults to the local preference */\n hourCycle?: HourCycle\n /** The stepping interval for the time fields. Defaults to `1`. */\n step?: DateStep\n /** The granularity to use for formatting times. Defaults to day if a CalendarDate is provided, otherwise defaults to minute. The field will render segments for each part of the date up to and including the specified granularity */\n granularity?: Granularity\n /** Whether or not to hide the time zone segment of the field */\n hideTimeZone?: boolean\n /** The maximum date that can be selected */\n maxValue?: DateValue\n /** The minimum date that can be selected */\n minValue?: DateValue\n /** The locale to use for formatting dates */\n locale?: string\n /** Whether or not the date field is disabled */\n disabled?: boolean\n /** Whether or not the date field is readonly */\n readonly?: boolean\n /** A function that returns whether or not a date is unavailable */\n isDateUnavailable?: Matcher\n /** Id of the element */\n id?: string\n /** The reading direction of the date field when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n}\n\nexport type DateRangeFieldRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [DateRange]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectDateRangeFieldRootContext, provideDateRangeFieldRootContext]\n = createContext<DateRangeFieldRootContext>('DateRangeFieldRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\nimport { computed, nextTick, onMounted, ref, toRefs, watch } from 'vue'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { VisuallyHidden } from '@/VisuallyHidden'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DateRangeFieldRootProps>(), {\n defaultValue: undefined,\n disabled: false,\n readonly: false,\n placeholder: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<DateRangeFieldRootEmits>()\nconst { disabled, readonly, isDateUnavailable: propsIsDateUnavailable, dir: propDir, locale: propLocale } = toRefs(props)\nconst locale = useLocale(propLocale)\nconst dir = useDirection(propDir)\n\nconst formatter = useDateFormatter(locale.value, {\n hourCycle: normalizeHourCycle(props.hourCycle),\n})\nconst { primitiveElement, currentElement: parentElement }\n = usePrimitiveElement()\nconst segmentElements = ref<Set<HTMLElement>>(new Set())\n\nonMounted(() => {\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n})\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue ?? { start: undefined, end: undefined },\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateRange | null>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value?.start,\n locale: props.locale,\n})\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst step = computed(() => normalizeDateStep(props))\n\nconst inferredGranularity = computed(() => {\n if (props.granularity)\n return !hasTime(placeholder.value) ? 'day' : props.granularity\n\n return hasTime(placeholder.value) ? 'minute' : 'day'\n})\n\nconst isStartInvalid = computed(() => {\n if (!modelValue.value?.start)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.start))\n return true\n\n if (props.minValue && isBefore(modelValue.value.start, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.start))\n return true\n\n return false\n})\n\nconst isEndInvalid = computed(() => {\n if (!modelValue.value?.end)\n return false\n\n if (propsIsDateUnavailable.value?.(modelValue.value.end))\n return true\n\n if (props.minValue && isBefore(modelValue.value.end, props.minValue))\n return true\n\n if (props.maxValue && isBefore(props.maxValue, modelValue.value.end))\n return true\n\n return false\n})\n\nconst isInvalid = computed(() => {\n if (isStartInvalid.value || isEndInvalid.value)\n return true\n\n if (!modelValue.value?.start || !modelValue.value?.end)\n return false\n\n if (!isBeforeOrSame(modelValue.value.start, modelValue.value.end))\n return true\n\n if (propsIsDateUnavailable.value !== undefined) {\n const allValid = areAllDaysBetweenValid(\n modelValue.value.start,\n modelValue.value.end,\n propsIsDateUnavailable.value,\n undefined,\n )\n if (!allValid)\n return true\n }\n return false\n})\n\nconst initialSegments = initializeSegmentValues(inferredGranularity.value)\n\nconst startSegmentValues = ref<SegmentValueObj>(modelValue.value?.start ? { ...syncSegmentValues({ value: modelValue.value.start, formatter }) } : { ...initialSegments })\nconst endSegmentValues = ref<SegmentValueObj>(modelValue.value?.end ? { ...syncSegmentValues({ value: modelValue.value.end, formatter }) } : { ...initialSegments })\n\nconst startSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: startSegmentValues.value,\n locale,\n}))\n\nconst endSegmentContent = computed(() => createContent({\n granularity: inferredGranularity.value,\n dateRef: placeholder.value,\n formatter,\n hideTimeZone: props.hideTimeZone,\n hourCycle: props.hourCycle,\n segmentValues: endSegmentValues.value,\n locale,\n}))\n\nconst segmentContents = computed(() => ({\n start: startSegmentContent.value.arr,\n end: endSegmentContent.value.arr,\n}))\n\nconst editableSegmentContents = computed(() => ({ start: segmentContents.value.start.filter(({ part }) => part !== 'literal'), end: segmentContents.value.end.filter(({ part }) => part !== 'literal') }))\n\nconst startValue = ref(modelValue.value?.start?.copy()) as Ref<DateValue | undefined>\nconst endValue = ref(modelValue.value?.end?.copy()) as Ref<DateValue | undefined>\n\nwatch([startValue, endValue], ([_startValue, _endValue]) => {\n modelValue.value = { start: _startValue?.copy(), end: _endValue?.copy() }\n})\n\nwatch(modelValue, (_modelValue) => {\n const isStartChanged = _modelValue?.start && startValue.value\n ? _modelValue.start.compare(startValue.value) !== 0\n : _modelValue?.start !== startValue.value\n if (isStartChanged) {\n startValue.value = _modelValue?.start?.copy()\n }\n\n const isEndChanged = _modelValue?.end && endValue.value\n ? _modelValue.end.compare(endValue.value) !== 0\n : _modelValue?.end !== endValue.value\n if (isEndChanged) {\n endValue.value = _modelValue?.end?.copy()\n }\n})\n\nwatch([startValue, locale], ([_startValue]) => {\n if (_startValue !== undefined) {\n startSegmentValues.value = { ...syncSegmentValues({ value: _startValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(startSegmentValues.value).every(value => value !== null) && _startValue === undefined) {\n startSegmentValues.value = { ...initialSegments }\n }\n})\n\nwatch(locale, (value) => {\n if (formatter.getLocale() !== value) {\n formatter.setLocale(value)\n // Locale changed, so we need to clear the segment elements and re-get them (different order)\n // Get the focusable elements again on the next tick\n nextTick(() => {\n segmentElements.value.clear()\n getSegmentElements(parentElement.value).forEach(item => segmentElements.value.add(item as HTMLElement))\n })\n }\n})\n\nwatch(modelValue, (_modelValue) => {\n if (_modelValue && _modelValue.start !== undefined && placeholder.value.compare(_modelValue.start) !== 0)\n placeholder.value = _modelValue.start.copy()\n})\n\nwatch([endValue, locale], ([_endValue]) => {\n if (_endValue !== undefined) {\n endSegmentValues.value = { ...syncSegmentValues({ value: _endValue, formatter }) }\n }\n // If segment has null value, means that user modified it, thus do not reset the segmentValues\n else if (Object.values(endSegmentValues.value).every(value => value !== null) && _endValue === undefined) {\n endSegmentValues.value = { ...initialSegments }\n }\n})\n\nconst currentFocusedElement = ref<HTMLElement | null>(null)\n\nconst currentSegmentIndex = computed(() => Array.from(segmentElements.value).findIndex(el =>\n el.getAttribute('data-reka-date-field-segment') === currentFocusedElement.value?.getAttribute('data-reka-date-field-segment')\n && el.getAttribute('data-reka-date-range-field-segment-type') === currentFocusedElement.value?.getAttribute('data-reka-date-range-field-segment-type')))\n\nconst nextFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const nextCondition = sign < 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (nextCondition)\n return null\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value + sign]\n return segmentToFocus\n})\n\nconst prevFocusableSegment = computed(() => {\n const sign = dir.value === 'rtl' ? -1 : 1\n const prevCondition = sign > 0 ? currentSegmentIndex.value < 0 : currentSegmentIndex.value > segmentElements.value.size - 1\n if (prevCondition)\n return null\n\n const segmentToFocus = Array.from(segmentElements.value)[currentSegmentIndex.value - sign]\n return segmentToFocus\n})\n\nconst kbd = useKbd()\n\nfunction handleKeydown(e: KeyboardEvent) {\n if (!isSegmentNavigationKey(e.key))\n return\n if (e.key === kbd.ARROW_LEFT)\n prevFocusableSegment.value?.focus()\n if (e.key === kbd.ARROW_RIGHT)\n nextFocusableSegment.value?.focus()\n}\n\nfunction setFocusedElement(el: HTMLElement) {\n currentFocusedElement.value = el\n}\n\nprovideDateRangeFieldRootContext({\n isDateUnavailable: propsIsDateUnavailable.value,\n locale,\n startValue,\n endValue,\n placeholder,\n disabled,\n formatter,\n hourCycle: props.hourCycle,\n step,\n readonly,\n segmentValues: { start: startSegmentValues, end: endSegmentValues },\n isInvalid,\n segmentContents: editableSegmentContents,\n elements: segmentElements,\n setFocusedElement,\n focusNext() {\n nextFocusableSegment.value?.focus()\n },\n})\n\ndefineExpose({\n setFocusedElement,\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"$attrs\"\n ref=\"primitiveElement\"\n role=\"group\"\n :aria-disabled=\"disabled ? true : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-readonly=\"readonly ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :dir=\"dir\"\n @keydown.left.right=\"handleKeydown\"\n >\n <slot\n :model-value=\"modelValue\"\n :segments=\"segmentContents\"\n />\n\n <VisuallyHidden\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"`${modelValue?.start?.toString()} - ${modelValue?.end?.toString()}`\"\n :name=\"name\"\n :disabled=\"disabled\"\n :required=\"required\"\n @focus=\"Array.from(segmentElements)?.[0]?.focus()\"\n />\n </Primitive>\n</template>\n"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
27
27
|
preventDeselect: vue.unref(rootContext).preventDeselect.value,
|
|
28
28
|
minValue: vue.unref(rootContext).minValue.value,
|
|
29
29
|
maxValue: vue.unref(rootContext).maxValue.value,
|
|
30
|
-
dir: vue.unref(rootContext).dir.value
|
|
30
|
+
dir: vue.unref(rootContext).dir.value,
|
|
31
|
+
fixedDate: vue.unref(rootContext).fixedDate.value
|
|
31
32
|
}, {
|
|
32
33
|
"initial-focus": "",
|
|
33
34
|
"model-value": vue.unref(rootContext).modelValue.value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerCalendar.cjs","sources":["../../src/DateRangePicker/DateRangePickerCalendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { isEqualDay } from '@internationalized/date'\nimport { RangeCalendarRoot } from '..'\nimport { injectDateRangePickerRootContext } from './DateRangePickerRoot.vue'\n</script>\n\n<script setup lang=\"ts\">\nconst rootContext = injectDateRangePickerRootContext()\n</script>\n\n<template>\n <RangeCalendarRoot\n v-slot=\"{ weekDays, grid, date, weekStartsOn, locale, fixedWeeks }\"\n v-bind=\"{\n allowNonContiguousRanges: rootContext.allowNonContiguousRanges.value,\n isDateDisabled: rootContext.isDateDisabled,\n isDateUnavailable: rootContext.isDateUnavailable,\n isDateHighlightable: rootContext.isDateHighlightable,\n locale: rootContext.locale.value,\n disabled: rootContext.disabled.value,\n pagedNavigation: rootContext.pagedNavigation.value,\n weekStartsOn: rootContext.weekStartsOn.value,\n weekdayFormat: rootContext.weekdayFormat.value,\n fixedWeeks: rootContext.fixedWeeks.value,\n numberOfMonths: rootContext.numberOfMonths.value,\n readonly: rootContext.readonly.value,\n preventDeselect: rootContext.preventDeselect.value,\n minValue: rootContext.minValue.value,\n maxValue: rootContext.maxValue.value,\n dir: rootContext.dir.value,\n }\"\n initial-focus\n :model-value=\"rootContext.modelValue.value\"\n :placeholder=\"rootContext.placeholder.value\"\n @update:start-value=\"(date) => {\n rootContext.onStartValueChange(date)\n }\"\n @update:model-value=\"(date) => {\n if (date.start && rootContext.modelValue.value?.start && date.end && rootContext.modelValue.value?.end && isEqualDay(date.start, rootContext.modelValue.value?.start) && isEqualDay(date.end, rootContext.modelValue.value?.end)) return\n rootContext.onDateChange(date)\n }\"\n @update:placeholder=\"(date) => {\n if (isEqualDay(date, rootContext.placeholder.value)) return\n rootContext.onPlaceholderChange(date)\n }\"\n >\n <slot\n :date=\"date\"\n :grid=\"grid\"\n :week-days=\"weekDays\"\n :week-starts-on=\"weekStartsOn\"\n :locale=\"locale\"\n :fixed-weeks=\"fixedWeeks\"\n />\n </RangeCalendarRoot>\n</template>\n"],"names":["injectDateRangePickerRootContext"],"mappings":";;;;;;;;;;;AAOA,IAAA,MAAM,cAAcA,oEAAiC,EAAA
|
|
1
|
+
{"version":3,"file":"DateRangePickerCalendar.cjs","sources":["../../src/DateRangePicker/DateRangePickerCalendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { isEqualDay } from '@internationalized/date'\nimport { RangeCalendarRoot } from '..'\nimport { injectDateRangePickerRootContext } from './DateRangePickerRoot.vue'\n</script>\n\n<script setup lang=\"ts\">\nconst rootContext = injectDateRangePickerRootContext()\n</script>\n\n<template>\n <RangeCalendarRoot\n v-slot=\"{ weekDays, grid, date, weekStartsOn, locale, fixedWeeks }\"\n v-bind=\"{\n allowNonContiguousRanges: rootContext.allowNonContiguousRanges.value,\n isDateDisabled: rootContext.isDateDisabled,\n isDateUnavailable: rootContext.isDateUnavailable,\n isDateHighlightable: rootContext.isDateHighlightable,\n locale: rootContext.locale.value,\n disabled: rootContext.disabled.value,\n pagedNavigation: rootContext.pagedNavigation.value,\n weekStartsOn: rootContext.weekStartsOn.value,\n weekdayFormat: rootContext.weekdayFormat.value,\n fixedWeeks: rootContext.fixedWeeks.value,\n numberOfMonths: rootContext.numberOfMonths.value,\n readonly: rootContext.readonly.value,\n preventDeselect: rootContext.preventDeselect.value,\n minValue: rootContext.minValue.value,\n maxValue: rootContext.maxValue.value,\n dir: rootContext.dir.value,\n fixedDate: rootContext.fixedDate.value,\n }\"\n initial-focus\n :model-value=\"rootContext.modelValue.value\"\n :placeholder=\"rootContext.placeholder.value\"\n @update:start-value=\"(date) => {\n rootContext.onStartValueChange(date)\n }\"\n @update:model-value=\"(date) => {\n if (date.start && rootContext.modelValue.value?.start && date.end && rootContext.modelValue.value?.end && isEqualDay(date.start, rootContext.modelValue.value?.start) && isEqualDay(date.end, rootContext.modelValue.value?.end)) return\n rootContext.onDateChange(date)\n }\"\n @update:placeholder=\"(date) => {\n if (isEqualDay(date, rootContext.placeholder.value)) return\n rootContext.onPlaceholderChange(date)\n }\"\n >\n <slot\n :date=\"date\"\n :grid=\"grid\"\n :week-days=\"weekDays\"\n :week-starts-on=\"weekStartsOn\"\n :locale=\"locale\"\n :fixed-weeks=\"fixedWeeks\"\n />\n </RangeCalendarRoot>\n</template>\n"],"names":["injectDateRangePickerRootContext"],"mappings":";;;;;;;;;;;AAOA,IAAA,MAAM,cAAcA,oEAAiC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -25,7 +25,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
25
25
|
preventDeselect: unref(rootContext).preventDeselect.value,
|
|
26
26
|
minValue: unref(rootContext).minValue.value,
|
|
27
27
|
maxValue: unref(rootContext).maxValue.value,
|
|
28
|
-
dir: unref(rootContext).dir.value
|
|
28
|
+
dir: unref(rootContext).dir.value,
|
|
29
|
+
fixedDate: unref(rootContext).fixedDate.value
|
|
29
30
|
}, {
|
|
30
31
|
"initial-focus": "",
|
|
31
32
|
"model-value": unref(rootContext).modelValue.value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerCalendar.js","sources":["../../src/DateRangePicker/DateRangePickerCalendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { isEqualDay } from '@internationalized/date'\nimport { RangeCalendarRoot } from '..'\nimport { injectDateRangePickerRootContext } from './DateRangePickerRoot.vue'\n</script>\n\n<script setup lang=\"ts\">\nconst rootContext = injectDateRangePickerRootContext()\n</script>\n\n<template>\n <RangeCalendarRoot\n v-slot=\"{ weekDays, grid, date, weekStartsOn, locale, fixedWeeks }\"\n v-bind=\"{\n allowNonContiguousRanges: rootContext.allowNonContiguousRanges.value,\n isDateDisabled: rootContext.isDateDisabled,\n isDateUnavailable: rootContext.isDateUnavailable,\n isDateHighlightable: rootContext.isDateHighlightable,\n locale: rootContext.locale.value,\n disabled: rootContext.disabled.value,\n pagedNavigation: rootContext.pagedNavigation.value,\n weekStartsOn: rootContext.weekStartsOn.value,\n weekdayFormat: rootContext.weekdayFormat.value,\n fixedWeeks: rootContext.fixedWeeks.value,\n numberOfMonths: rootContext.numberOfMonths.value,\n readonly: rootContext.readonly.value,\n preventDeselect: rootContext.preventDeselect.value,\n minValue: rootContext.minValue.value,\n maxValue: rootContext.maxValue.value,\n dir: rootContext.dir.value,\n }\"\n initial-focus\n :model-value=\"rootContext.modelValue.value\"\n :placeholder=\"rootContext.placeholder.value\"\n @update:start-value=\"(date) => {\n rootContext.onStartValueChange(date)\n }\"\n @update:model-value=\"(date) => {\n if (date.start && rootContext.modelValue.value?.start && date.end && rootContext.modelValue.value?.end && isEqualDay(date.start, rootContext.modelValue.value?.start) && isEqualDay(date.end, rootContext.modelValue.value?.end)) return\n rootContext.onDateChange(date)\n }\"\n @update:placeholder=\"(date) => {\n if (isEqualDay(date, rootContext.placeholder.value)) return\n rootContext.onPlaceholderChange(date)\n }\"\n >\n <slot\n :date=\"date\"\n :grid=\"grid\"\n :week-days=\"weekDays\"\n :week-starts-on=\"weekStartsOn\"\n :locale=\"locale\"\n :fixed-weeks=\"fixedWeeks\"\n />\n </RangeCalendarRoot>\n</template>\n"],"names":[],"mappings":";;;;;;;;;AAOA,IAAA,MAAM,cAAc,gCAAiC,EAAA
|
|
1
|
+
{"version":3,"file":"DateRangePickerCalendar.js","sources":["../../src/DateRangePicker/DateRangePickerCalendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { isEqualDay } from '@internationalized/date'\nimport { RangeCalendarRoot } from '..'\nimport { injectDateRangePickerRootContext } from './DateRangePickerRoot.vue'\n</script>\n\n<script setup lang=\"ts\">\nconst rootContext = injectDateRangePickerRootContext()\n</script>\n\n<template>\n <RangeCalendarRoot\n v-slot=\"{ weekDays, grid, date, weekStartsOn, locale, fixedWeeks }\"\n v-bind=\"{\n allowNonContiguousRanges: rootContext.allowNonContiguousRanges.value,\n isDateDisabled: rootContext.isDateDisabled,\n isDateUnavailable: rootContext.isDateUnavailable,\n isDateHighlightable: rootContext.isDateHighlightable,\n locale: rootContext.locale.value,\n disabled: rootContext.disabled.value,\n pagedNavigation: rootContext.pagedNavigation.value,\n weekStartsOn: rootContext.weekStartsOn.value,\n weekdayFormat: rootContext.weekdayFormat.value,\n fixedWeeks: rootContext.fixedWeeks.value,\n numberOfMonths: rootContext.numberOfMonths.value,\n readonly: rootContext.readonly.value,\n preventDeselect: rootContext.preventDeselect.value,\n minValue: rootContext.minValue.value,\n maxValue: rootContext.maxValue.value,\n dir: rootContext.dir.value,\n fixedDate: rootContext.fixedDate.value,\n }\"\n initial-focus\n :model-value=\"rootContext.modelValue.value\"\n :placeholder=\"rootContext.placeholder.value\"\n @update:start-value=\"(date) => {\n rootContext.onStartValueChange(date)\n }\"\n @update:model-value=\"(date) => {\n if (date.start && rootContext.modelValue.value?.start && date.end && rootContext.modelValue.value?.end && isEqualDay(date.start, rootContext.modelValue.value?.start) && isEqualDay(date.end, rootContext.modelValue.value?.end)) return\n rootContext.onDateChange(date)\n }\"\n @update:placeholder=\"(date) => {\n if (isEqualDay(date, rootContext.placeholder.value)) return\n rootContext.onPlaceholderChange(date)\n }\"\n >\n <slot\n :date=\"date\"\n :grid=\"grid\"\n :week-days=\"weekDays\"\n :week-starts-on=\"weekStartsOn\"\n :locale=\"locale\"\n :fixed-weeks=\"fixedWeeks\"\n />\n </RangeCalendarRoot>\n</template>\n"],"names":[],"mappings":";;;;;;;;;AAOA,IAAA,MAAM,cAAc,gCAAiC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -9,6 +9,7 @@ const Popover_PopoverContent = require('../Popover/PopoverContent.cjs');
|
|
|
9
9
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
10
10
|
__name: "DateRangePickerContent",
|
|
11
11
|
props: {
|
|
12
|
+
portal: {},
|
|
12
13
|
forceMount: { type: Boolean },
|
|
13
14
|
side: {},
|
|
14
15
|
sideOffset: {},
|
|
@@ -33,9 +34,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
33
34
|
setup(__props, { emit: __emit }) {
|
|
34
35
|
const props = __props;
|
|
35
36
|
const emits = __emit;
|
|
36
|
-
const
|
|
37
|
+
const propsToForward = vue.computed(() => ({
|
|
38
|
+
...props,
|
|
39
|
+
portal: void 0
|
|
40
|
+
}));
|
|
41
|
+
const forwarded = shared_useForwardPropsEmits.useForwardPropsEmits(propsToForward, emits);
|
|
37
42
|
return (_ctx, _cache) => {
|
|
38
|
-
return vue.openBlock(), vue.createBlock(vue.unref(Popover_PopoverPortal._sfc_main),
|
|
43
|
+
return vue.openBlock(), vue.createBlock(vue.unref(Popover_PopoverPortal._sfc_main), vue.normalizeProps(vue.guardReactiveProps(_ctx.portal)), {
|
|
39
44
|
default: vue.withCtx(() => [
|
|
40
45
|
vue.createVNode(vue.unref(Popover_PopoverContent._sfc_main), vue.normalizeProps(vue.guardReactiveProps({ ...vue.unref(forwarded), ..._ctx.$attrs })), {
|
|
41
46
|
default: vue.withCtx(() => [
|
|
@@ -45,7 +50,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
45
50
|
}, 16)
|
|
46
51
|
]),
|
|
47
52
|
_: 3
|
|
48
|
-
});
|
|
53
|
+
}, 16);
|
|
49
54
|
};
|
|
50
55
|
}
|
|
51
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerContent.cjs","sources":["../../src/DateRangePicker/DateRangePickerContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverContentEmits, PopoverContentProps } from '..'\nimport { PopoverContent, PopoverPortal, useForwardPropsEmits } from '..'\n\nexport interface DateRangePickerContentProps extends PopoverContentProps {}\nexport interface DateRangePickerContentEmits extends PopoverContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerContentProps>()\nconst emits = defineEmits<DateRangePickerContentEmits>()\n\nconst forwarded = useForwardPropsEmits(
|
|
1
|
+
{"version":3,"file":"DateRangePickerContent.cjs","sources":["../../src/DateRangePicker/DateRangePickerContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverContentEmits, PopoverContentProps, PopoverPortalProps } from '..'\nimport { computed } from 'vue'\nimport { PopoverContent, PopoverPortal, useForwardPropsEmits } from '..'\n\nexport interface DateRangePickerContentProps extends PopoverContentProps {\n /**\n * Props to control the portal wrapped around the content.\n */\n portal?: PopoverPortalProps\n}\nexport interface DateRangePickerContentEmits extends PopoverContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerContentProps>()\nconst emits = defineEmits<DateRangePickerContentEmits>()\n\nconst propsToForward = computed(() => ({\n ...props,\n portal: undefined,\n}))\nconst forwarded = useForwardPropsEmits(propsToForward, emits)\n</script>\n\n<template>\n <PopoverPortal v-bind=\"portal\">\n <PopoverContent\n v-bind=\"{ ...forwarded, ...$attrs }\"\n >\n <slot />\n </PopoverContent>\n </PopoverPortal>\n</template>\n"],"names":["computed","useForwardPropsEmits"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,cAAA,GAAiBA,aAAS,OAAO;AAAA,MACrC,GAAG,KAAA;AAAA,MACH,MAAQ,EAAA;AAAA,KACR,CAAA,CAAA;AACF,IAAM,MAAA,SAAA,GAAYC,gDAAqB,CAAA,cAAA,EAAgB,KAAK,CAAA;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, createBlock, openBlock, unref,
|
|
1
|
+
import { defineComponent, computed, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, createVNode, renderSlot } from 'vue';
|
|
2
2
|
import '@floating-ui/vue';
|
|
3
3
|
import { u as useForwardPropsEmits } from '../shared/useForwardPropsEmits.js';
|
|
4
4
|
import { _ as _sfc_main$1 } from '../Popover/PopoverPortal.js';
|
|
@@ -7,6 +7,7 @@ import { _ as _sfc_main$2 } from '../Popover/PopoverContent.js';
|
|
|
7
7
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
8
|
__name: "DateRangePickerContent",
|
|
9
9
|
props: {
|
|
10
|
+
portal: {},
|
|
10
11
|
forceMount: { type: Boolean },
|
|
11
12
|
side: {},
|
|
12
13
|
sideOffset: {},
|
|
@@ -31,9 +32,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
31
32
|
setup(__props, { emit: __emit }) {
|
|
32
33
|
const props = __props;
|
|
33
34
|
const emits = __emit;
|
|
34
|
-
const
|
|
35
|
+
const propsToForward = computed(() => ({
|
|
36
|
+
...props,
|
|
37
|
+
portal: void 0
|
|
38
|
+
}));
|
|
39
|
+
const forwarded = useForwardPropsEmits(propsToForward, emits);
|
|
35
40
|
return (_ctx, _cache) => {
|
|
36
|
-
return openBlock(), createBlock(unref(_sfc_main$1),
|
|
41
|
+
return openBlock(), createBlock(unref(_sfc_main$1), normalizeProps(guardReactiveProps(_ctx.portal)), {
|
|
37
42
|
default: withCtx(() => [
|
|
38
43
|
createVNode(unref(_sfc_main$2), normalizeProps(guardReactiveProps({ ...unref(forwarded), ..._ctx.$attrs })), {
|
|
39
44
|
default: withCtx(() => [
|
|
@@ -43,7 +48,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
43
48
|
}, 16)
|
|
44
49
|
]),
|
|
45
50
|
_: 3
|
|
46
|
-
});
|
|
51
|
+
}, 16);
|
|
47
52
|
};
|
|
48
53
|
}
|
|
49
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerContent.js","sources":["../../src/DateRangePicker/DateRangePickerContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverContentEmits, PopoverContentProps } from '..'\nimport { PopoverContent, PopoverPortal, useForwardPropsEmits } from '..'\n\nexport interface DateRangePickerContentProps extends PopoverContentProps {}\nexport interface DateRangePickerContentEmits extends PopoverContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerContentProps>()\nconst emits = defineEmits<DateRangePickerContentEmits>()\n\nconst forwarded = useForwardPropsEmits(
|
|
1
|
+
{"version":3,"file":"DateRangePickerContent.js","sources":["../../src/DateRangePicker/DateRangePickerContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopoverContentEmits, PopoverContentProps, PopoverPortalProps } from '..'\nimport { computed } from 'vue'\nimport { PopoverContent, PopoverPortal, useForwardPropsEmits } from '..'\n\nexport interface DateRangePickerContentProps extends PopoverContentProps {\n /**\n * Props to control the portal wrapped around the content.\n */\n portal?: PopoverPortalProps\n}\nexport interface DateRangePickerContentEmits extends PopoverContentEmits {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerContentProps>()\nconst emits = defineEmits<DateRangePickerContentEmits>()\n\nconst propsToForward = computed(() => ({\n ...props,\n portal: undefined,\n}))\nconst forwarded = useForwardPropsEmits(propsToForward, emits)\n</script>\n\n<template>\n <PopoverPortal v-bind=\"portal\">\n <PopoverContent\n v-bind=\"{ ...forwarded, ...$attrs }\"\n >\n <slot />\n </PopoverContent>\n </PopoverPortal>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,cAAA,GAAiB,SAAS,OAAO;AAAA,MACrC,GAAG,KAAA;AAAA,MACH,MAAQ,EAAA;AAAA,KACR,CAAA,CAAA;AACF,IAAM,MAAA,SAAA,GAAY,oBAAqB,CAAA,cAAA,EAAgB,KAAK,CAAA;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerHeading.cjs","sources":["../../src/DateRangePicker/DateRangePickerHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { RangeCalendarHeadingProps } from '..'\nimport { RangeCalendarHeading } from '..'\n\nexport interface DateRangePickerHeadingProps extends RangeCalendarHeadingProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerHeadingProps>()\ndefineSlots<{\n default
|
|
1
|
+
{"version":3,"file":"DateRangePickerHeading.cjs","sources":["../../src/DateRangePicker/DateRangePickerHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { RangeCalendarHeadingProps } from '..'\nimport { RangeCalendarHeading } from '..'\n\nexport interface DateRangePickerHeadingProps extends RangeCalendarHeadingProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerHeadingProps>()\ndefineSlots<{\n default?: (props: {\n /** Current month and year */\n headingValue: string\n }) => any\n}>()\n</script>\n\n<template>\n <RangeCalendarHeading\n v-slot=\"{ headingValue }\"\n v-bind=\"props\"\n >\n <slot :heading-value=\"headingValue\">\n {{ headingValue }}\n </slot>\n </RangeCalendarHeading>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerHeading.js","sources":["../../src/DateRangePicker/DateRangePickerHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { RangeCalendarHeadingProps } from '..'\nimport { RangeCalendarHeading } from '..'\n\nexport interface DateRangePickerHeadingProps extends RangeCalendarHeadingProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerHeadingProps>()\ndefineSlots<{\n default
|
|
1
|
+
{"version":3,"file":"DateRangePickerHeading.js","sources":["../../src/DateRangePicker/DateRangePickerHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { RangeCalendarHeadingProps } from '..'\nimport { RangeCalendarHeading } from '..'\n\nexport interface DateRangePickerHeadingProps extends RangeCalendarHeadingProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerHeadingProps>()\ndefineSlots<{\n default?: (props: {\n /** Current month and year */\n headingValue: string\n }) => any\n}>()\n</script>\n\n<template>\n <RangeCalendarHeading\n v-slot=\"{ headingValue }\"\n v-bind=\"props\"\n >\n <slot :heading-value=\"headingValue\">\n {{ headingValue }}\n </slot>\n </RangeCalendarHeading>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerNext.cjs","sources":["../../src/DateRangePicker/DateRangePickerNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"DateRangePickerNext.cjs","sources":["../../src/DateRangePicker/DateRangePickerNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { RangeCalendarNextProps } from '..'\nimport type { RangeCalendarNextSlot } from '@/RangeCalendar/RangeCalendarNext.vue'\nimport { RangeCalendarNext } from '..'\n\nexport interface DateRangePickerNextProps extends RangeCalendarNextProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerNextProps>()\ndefineSlots<RangeCalendarNextSlot>()\n</script>\n\n<template>\n <RangeCalendarNext\n v-slot=\"slotProps \"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </RangeCalendarNext>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerNext.js","sources":["../../src/DateRangePicker/DateRangePickerNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"DateRangePickerNext.js","sources":["../../src/DateRangePicker/DateRangePickerNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { RangeCalendarNextProps } from '..'\nimport type { RangeCalendarNextSlot } from '@/RangeCalendar/RangeCalendarNext.vue'\nimport { RangeCalendarNext } from '..'\n\nexport interface DateRangePickerNextProps extends RangeCalendarNextProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerNextProps>()\ndefineSlots<RangeCalendarNextSlot>()\n</script>\n\n<template>\n <RangeCalendarNext\n v-slot=\"slotProps \"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </RangeCalendarNext>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerPrev.cjs","sources":["../../src/DateRangePicker/DateRangePickerPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"DateRangePickerPrev.cjs","sources":["../../src/DateRangePicker/DateRangePickerPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { RangeCalendarPrevProps } from '..'\nimport type { RangeCalendarPrevSlot } from '@/RangeCalendar/RangeCalendarPrev.vue'\nimport { RangeCalendarPrev } from '..'\n\nexport interface DateRangePickerPrevProps extends RangeCalendarPrevProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerPrevProps>()\ndefineSlots<RangeCalendarPrevSlot>()\n</script>\n\n<template>\n <RangeCalendarPrev\n v-slot=\"slotProps \"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </RangeCalendarPrev>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerPrev.js","sources":["../../src/DateRangePicker/DateRangePickerPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"DateRangePickerPrev.js","sources":["../../src/DateRangePicker/DateRangePickerPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { RangeCalendarPrevProps } from '..'\nimport type { RangeCalendarPrevSlot } from '@/RangeCalendar/RangeCalendarPrev.vue'\nimport { RangeCalendarPrev } from '..'\n\nexport interface DateRangePickerPrevProps extends RangeCalendarPrevProps {}\n</script>\n\n<script setup lang=\"ts\">\nconst props = defineProps<DateRangePickerPrevProps>()\ndefineSlots<RangeCalendarPrevSlot>()\n</script>\n\n<template>\n <RangeCalendarPrev\n v-slot=\"slotProps \"\n v-bind=\"props\"\n >\n <slot v-bind=\"slotProps\" />\n </RangeCalendarPrev>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA;;;;;;;;;;;;;;"}
|
|
@@ -20,6 +20,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
20
20
|
placeholder: { default: void 0 },
|
|
21
21
|
modelValue: {},
|
|
22
22
|
hourCycle: {},
|
|
23
|
+
step: {},
|
|
23
24
|
granularity: {},
|
|
24
25
|
hideTimeZone: { type: Boolean },
|
|
25
26
|
maxValue: {},
|
|
@@ -45,7 +46,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
45
46
|
numberOfMonths: { default: 1 },
|
|
46
47
|
preventDeselect: { type: Boolean, default: false },
|
|
47
48
|
isDateHighlightable: { type: Function, default: void 0 },
|
|
48
|
-
allowNonContiguousRanges: { type: Boolean, default: false }
|
|
49
|
+
allowNonContiguousRanges: { type: Boolean, default: false },
|
|
50
|
+
fixedDate: {}
|
|
49
51
|
},
|
|
50
52
|
emits: ["update:modelValue", "update:placeholder", "update:startValue", "update:open"],
|
|
51
53
|
setup(__props, { emit: __emit }) {
|
|
@@ -75,7 +77,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
75
77
|
hideTimeZone,
|
|
76
78
|
hourCycle,
|
|
77
79
|
dir: propsDir,
|
|
78
|
-
allowNonContiguousRanges
|
|
80
|
+
allowNonContiguousRanges,
|
|
81
|
+
fixedDate
|
|
79
82
|
} = vue.toRefs(props);
|
|
80
83
|
const dir = shared_useDirection.useDirection(propsDir);
|
|
81
84
|
const modelValue = core.useVModel(props, "modelValue", emits, {
|
|
@@ -131,6 +134,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
131
134
|
hourCycle,
|
|
132
135
|
dateFieldRef,
|
|
133
136
|
dir,
|
|
137
|
+
fixedDate,
|
|
134
138
|
onStartValueChange(date) {
|
|
135
139
|
emits("update:startValue", date);
|
|
136
140
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerRoot.cjs","sources":["../../src/DateRangePicker/DateRangePickerRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"DateRangePickerRoot.cjs","sources":["../../src/DateRangePicker/DateRangePickerRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\n\nimport type { Ref } from 'vue'\nimport type { DateRangeFieldRoot, DateRangeFieldRootProps, PopoverRootEmits, PopoverRootProps, RangeCalendarRootProps } from '..'\nimport type { Matcher, WeekDayFormat } from '@/date'\nimport type { DateRange, Granularity, HourCycle } from '@/shared/date'\n\nimport type { Direction } from '@/shared/types'\nimport { createContext, useDirection } from '@/shared'\nimport { getDefaultDate } from '@/shared/date'\nimport { PopoverRoot } from '..'\n\ntype DateRangePickerRootContext = {\n id: Ref<string | undefined>\n name: Ref<string | undefined>\n minValue: Ref<DateValue | undefined>\n maxValue: Ref<DateValue | undefined>\n hourCycle: Ref<HourCycle | undefined>\n granularity: Ref<Granularity | undefined>\n hideTimeZone: Ref<boolean>\n required: Ref<boolean>\n locale: Ref<string>\n dateFieldRef: Ref<InstanceType<typeof DateRangeFieldRoot> | undefined>\n modelValue: Ref<{ start: DateValue | undefined, end: DateValue | undefined }>\n placeholder: Ref<DateValue>\n pagedNavigation: Ref<boolean>\n preventDeselect: Ref<boolean>\n weekStartsOn: Ref<0 | 1 | 2 | 3 | 4 | 5 | 6>\n weekdayFormat: Ref<WeekDayFormat>\n fixedWeeks: Ref<boolean>\n numberOfMonths: Ref<number>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n isDateDisabled?: Matcher\n isDateUnavailable?: Matcher\n isDateHighlightable?: Matcher\n defaultOpen: Ref<boolean>\n open: Ref<boolean>\n modal: Ref<boolean>\n onDateChange: (date: DateRange) => void\n onPlaceholderChange: (date: DateValue) => void\n onStartValueChange: (date: DateValue | undefined) => void\n dir: Ref<Direction>\n allowNonContiguousRanges: Ref<boolean>\n fixedDate: Ref<'start' | 'end' | undefined>\n}\n\nexport type DateRangePickerRootProps = DateRangeFieldRootProps & PopoverRootProps & Pick<RangeCalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect' | 'isDateUnavailable' | 'isDateHighlightable' | 'allowNonContiguousRanges' | 'fixedDate'>\n\nexport type DateRangePickerRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [date: DateRange]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n /** Event handler called whenever the start value changes */\n 'update:startValue': [date: DateValue | undefined]\n}\n\nexport const [injectDateRangePickerRootContext, provideDateRangePickerRootContext]\n = createContext<DateRangePickerRootContext>('DateRangePickerRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\nimport { ref, toRefs, watch } from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst props = withDefaults(defineProps<DateRangePickerRootProps>(), {\n defaultValue: () => ({ start: undefined, end: undefined }),\n defaultOpen: false,\n open: undefined,\n modal: false,\n pagedNavigation: false,\n preventDeselect: false,\n weekStartsOn: 0,\n weekdayFormat: 'narrow',\n fixedWeeks: false,\n numberOfMonths: 1,\n disabled: false,\n readonly: false,\n initialFocus: false,\n placeholder: undefined,\n locale: 'en',\n isDateDisabled: undefined,\n isDateUnavailable: undefined,\n isDateHighlightable: undefined,\n allowNonContiguousRanges: false,\n})\nconst emits = defineEmits<DateRangePickerRootEmits & PopoverRootEmits>()\nconst {\n locale,\n disabled,\n readonly,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n preventDeselect,\n isDateDisabled: propsIsDateDisabled,\n isDateUnavailable: propsIsDateUnavailable,\n isDateHighlightable: propsIsDateHighlightable,\n defaultOpen,\n modal,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n dir: propsDir,\n allowNonContiguousRanges,\n fixedDate,\n} = toRefs(props)\n\nconst dir = useDirection(propsDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue ?? { start: undefined, end: undefined },\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateRange>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value?.start,\n locale: props.locale,\n})\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst open = useVModel(props, 'open', emits, {\n defaultValue: defaultOpen.value,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nconst dateFieldRef = ref<InstanceType<typeof DateRangeFieldRoot> | undefined>()\n\nwatch(modelValue, (value) => {\n if (value && value.start && value.start.compare(placeholder.value) !== 0) {\n placeholder.value = value.start.copy()\n }\n})\n\nprovideDateRangePickerRootContext({\n allowNonContiguousRanges,\n isDateUnavailable: propsIsDateUnavailable.value,\n isDateDisabled: propsIsDateDisabled.value,\n isDateHighlightable: propsIsDateHighlightable.value,\n locale,\n disabled,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n readonly,\n preventDeselect,\n modelValue,\n placeholder,\n defaultOpen,\n modal,\n open,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n dateFieldRef,\n dir,\n fixedDate,\n onStartValueChange(date: DateValue | undefined) {\n emits('update:startValue', date)\n },\n onDateChange(date: DateRange) {\n modelValue.value = { start: date.start?.copy(), end: date.end?.copy() }\n },\n onPlaceholderChange(date: DateValue) {\n placeholder.value = date.copy()\n },\n})\n</script>\n\n<template>\n <PopoverRoot\n v-model:open=\"open\"\n :default-open=\"defaultOpen\"\n :modal=\"modal\"\n >\n <slot\n :model-value=\"modelValue\"\n :open=\"open\"\n />\n </PopoverRoot>\n</template>\n"],"names":["createContext","toRefs","useDirection","useVModel","getDefaultDate","ref","watch"],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
18
18
|
placeholder: { default: void 0 },
|
|
19
19
|
modelValue: {},
|
|
20
20
|
hourCycle: {},
|
|
21
|
+
step: {},
|
|
21
22
|
granularity: {},
|
|
22
23
|
hideTimeZone: { type: Boolean },
|
|
23
24
|
maxValue: {},
|
|
@@ -43,7 +44,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
43
44
|
numberOfMonths: { default: 1 },
|
|
44
45
|
preventDeselect: { type: Boolean, default: false },
|
|
45
46
|
isDateHighlightable: { type: Function, default: void 0 },
|
|
46
|
-
allowNonContiguousRanges: { type: Boolean, default: false }
|
|
47
|
+
allowNonContiguousRanges: { type: Boolean, default: false },
|
|
48
|
+
fixedDate: {}
|
|
47
49
|
},
|
|
48
50
|
emits: ["update:modelValue", "update:placeholder", "update:startValue", "update:open"],
|
|
49
51
|
setup(__props, { emit: __emit }) {
|
|
@@ -73,7 +75,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
73
75
|
hideTimeZone,
|
|
74
76
|
hourCycle,
|
|
75
77
|
dir: propsDir,
|
|
76
|
-
allowNonContiguousRanges
|
|
78
|
+
allowNonContiguousRanges,
|
|
79
|
+
fixedDate
|
|
77
80
|
} = toRefs(props);
|
|
78
81
|
const dir = useDirection(propsDir);
|
|
79
82
|
const modelValue = useVModel(props, "modelValue", emits, {
|
|
@@ -129,6 +132,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
129
132
|
hourCycle,
|
|
130
133
|
dateFieldRef,
|
|
131
134
|
dir,
|
|
135
|
+
fixedDate,
|
|
132
136
|
onStartValueChange(date) {
|
|
133
137
|
emits("update:startValue", date);
|
|
134
138
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePickerRoot.js","sources":["../../src/DateRangePicker/DateRangePickerRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"DateRangePickerRoot.js","sources":["../../src/DateRangePicker/DateRangePickerRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\n\nimport type { Ref } from 'vue'\nimport type { DateRangeFieldRoot, DateRangeFieldRootProps, PopoverRootEmits, PopoverRootProps, RangeCalendarRootProps } from '..'\nimport type { Matcher, WeekDayFormat } from '@/date'\nimport type { DateRange, Granularity, HourCycle } from '@/shared/date'\n\nimport type { Direction } from '@/shared/types'\nimport { createContext, useDirection } from '@/shared'\nimport { getDefaultDate } from '@/shared/date'\nimport { PopoverRoot } from '..'\n\ntype DateRangePickerRootContext = {\n id: Ref<string | undefined>\n name: Ref<string | undefined>\n minValue: Ref<DateValue | undefined>\n maxValue: Ref<DateValue | undefined>\n hourCycle: Ref<HourCycle | undefined>\n granularity: Ref<Granularity | undefined>\n hideTimeZone: Ref<boolean>\n required: Ref<boolean>\n locale: Ref<string>\n dateFieldRef: Ref<InstanceType<typeof DateRangeFieldRoot> | undefined>\n modelValue: Ref<{ start: DateValue | undefined, end: DateValue | undefined }>\n placeholder: Ref<DateValue>\n pagedNavigation: Ref<boolean>\n preventDeselect: Ref<boolean>\n weekStartsOn: Ref<0 | 1 | 2 | 3 | 4 | 5 | 6>\n weekdayFormat: Ref<WeekDayFormat>\n fixedWeeks: Ref<boolean>\n numberOfMonths: Ref<number>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n isDateDisabled?: Matcher\n isDateUnavailable?: Matcher\n isDateHighlightable?: Matcher\n defaultOpen: Ref<boolean>\n open: Ref<boolean>\n modal: Ref<boolean>\n onDateChange: (date: DateRange) => void\n onPlaceholderChange: (date: DateValue) => void\n onStartValueChange: (date: DateValue | undefined) => void\n dir: Ref<Direction>\n allowNonContiguousRanges: Ref<boolean>\n fixedDate: Ref<'start' | 'end' | undefined>\n}\n\nexport type DateRangePickerRootProps = DateRangeFieldRootProps & PopoverRootProps & Pick<RangeCalendarRootProps, 'isDateDisabled' | 'pagedNavigation' | 'weekStartsOn' | 'weekdayFormat' | 'fixedWeeks' | 'numberOfMonths' | 'preventDeselect' | 'isDateUnavailable' | 'isDateHighlightable' | 'allowNonContiguousRanges' | 'fixedDate'>\n\nexport type DateRangePickerRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [date: DateRange]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n /** Event handler called whenever the start value changes */\n 'update:startValue': [date: DateValue | undefined]\n}\n\nexport const [injectDateRangePickerRootContext, provideDateRangePickerRootContext]\n = createContext<DateRangePickerRootContext>('DateRangePickerRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\nimport { ref, toRefs, watch } from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\nconst props = withDefaults(defineProps<DateRangePickerRootProps>(), {\n defaultValue: () => ({ start: undefined, end: undefined }),\n defaultOpen: false,\n open: undefined,\n modal: false,\n pagedNavigation: false,\n preventDeselect: false,\n weekStartsOn: 0,\n weekdayFormat: 'narrow',\n fixedWeeks: false,\n numberOfMonths: 1,\n disabled: false,\n readonly: false,\n initialFocus: false,\n placeholder: undefined,\n locale: 'en',\n isDateDisabled: undefined,\n isDateUnavailable: undefined,\n isDateHighlightable: undefined,\n allowNonContiguousRanges: false,\n})\nconst emits = defineEmits<DateRangePickerRootEmits & PopoverRootEmits>()\nconst {\n locale,\n disabled,\n readonly,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n preventDeselect,\n isDateDisabled: propsIsDateDisabled,\n isDateUnavailable: propsIsDateUnavailable,\n isDateHighlightable: propsIsDateHighlightable,\n defaultOpen,\n modal,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n dir: propsDir,\n allowNonContiguousRanges,\n fixedDate,\n} = toRefs(props)\n\nconst dir = useDirection(propsDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue ?? { start: undefined, end: undefined },\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateRange>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n granularity: props.granularity,\n defaultValue: modelValue.value?.start,\n locale: props.locale,\n})\n\nconst placeholder = useVModel(props, 'placeholder', emits, {\n defaultValue: props.defaultPlaceholder ?? defaultDate.copy(),\n passive: (props.placeholder === undefined) as false,\n}) as Ref<DateValue>\n\nconst open = useVModel(props, 'open', emits, {\n defaultValue: defaultOpen.value,\n passive: (props.open === undefined) as false,\n}) as Ref<boolean>\n\nconst dateFieldRef = ref<InstanceType<typeof DateRangeFieldRoot> | undefined>()\n\nwatch(modelValue, (value) => {\n if (value && value.start && value.start.compare(placeholder.value) !== 0) {\n placeholder.value = value.start.copy()\n }\n})\n\nprovideDateRangePickerRootContext({\n allowNonContiguousRanges,\n isDateUnavailable: propsIsDateUnavailable.value,\n isDateDisabled: propsIsDateDisabled.value,\n isDateHighlightable: propsIsDateHighlightable.value,\n locale,\n disabled,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n numberOfMonths,\n readonly,\n preventDeselect,\n modelValue,\n placeholder,\n defaultOpen,\n modal,\n open,\n id,\n name,\n required,\n minValue,\n maxValue,\n granularity,\n hideTimeZone,\n hourCycle,\n dateFieldRef,\n dir,\n fixedDate,\n onStartValueChange(date: DateValue | undefined) {\n emits('update:startValue', date)\n },\n onDateChange(date: DateRange) {\n modelValue.value = { start: date.start?.copy(), end: date.end?.copy() }\n },\n onPlaceholderChange(date: DateValue) {\n placeholder.value = date.copy()\n },\n})\n</script>\n\n<template>\n <PopoverRoot\n v-model:open=\"open\"\n :default-open=\"defaultOpen\"\n :modal=\"modal\"\n >\n <slot\n :model-value=\"modelValue\"\n :open=\"open\"\n />\n </PopoverRoot>\n</template>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const vue = require('vue');
|
|
4
|
-
const DismissableLayer_DismissableLayer = require('../DismissableLayer/DismissableLayer.cjs');
|
|
5
4
|
const Menu_utils = require('../Menu/utils.cjs');
|
|
6
5
|
const Dialog_utils = require('./utils.cjs');
|
|
7
6
|
const shared_useForwardExpose = require('../shared/useForwardExpose.cjs');
|
|
8
7
|
const shared_useId = require('../shared/useId.cjs');
|
|
9
8
|
const shared_getActiveElement = require('../shared/getActiveElement.cjs');
|
|
10
9
|
const FocusScope_FocusScope = require('../FocusScope/FocusScope.cjs');
|
|
10
|
+
const DismissableLayer_DismissableLayer = require('../DismissableLayer/DismissableLayer.cjs');
|
|
11
11
|
const Dialog_DialogRoot = require('./DialogRoot.cjs');
|
|
12
12
|
|
|
13
13
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogContentImpl.cjs","sources":["../../src/Dialog/DialogContentImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n DismissableLayerEmits,\n DismissableLayerProps,\n} from '@/DismissableLayer'\nimport { getActiveElement, useForwardExpose, useId } from '@/shared'\n\nexport type DialogContentImplEmits = DismissableLayerEmits & {\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n openAutoFocus: [event: Event]\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n closeAutoFocus: [event: Event]\n}\n\nexport interface DialogContentImplProps extends DismissableLayerProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling transntion with Vue native transition or other animation libraries.\n */\n forceMount?: boolean\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue false\n */\n trapFocus?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"DialogContentImpl.cjs","sources":["../../src/Dialog/DialogContentImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n DismissableLayerEmits,\n DismissableLayerProps,\n} from '@/DismissableLayer'\nimport { getActiveElement, useForwardExpose, useId } from '@/shared'\n\nexport type DialogContentImplEmits = DismissableLayerEmits & {\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n openAutoFocus: [event: Event]\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n closeAutoFocus: [event: Event]\n}\n\nexport interface DialogContentImplProps extends DismissableLayerProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling transntion with Vue native transition or other animation libraries.\n */\n forceMount?: boolean\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue false\n */\n trapFocus?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted } from 'vue'\nimport { DismissableLayer } from '@/DismissableLayer'\nimport { FocusScope } from '@/FocusScope'\nimport { getOpenState } from '@/Menu/utils'\nimport { injectDialogRootContext } from './DialogRoot.vue'\nimport { useWarning } from './utils'\n\nconst props = defineProps<DialogContentImplProps>()\nconst emits = defineEmits<DialogContentImplEmits>()\n\nconst rootContext = injectDialogRootContext()\nconst { forwardRef, currentElement: contentElement } = useForwardExpose()\n\nrootContext.titleId ||= useId(undefined, 'reka-dialog-title')\nrootContext.descriptionId ||= useId(undefined, 'reka-dialog-description')\n\nonMounted(() => {\n rootContext.contentElement = contentElement\n\n // Preserve the `DialogTrigger` element in case it was triggered programmatically\n if (getActiveElement() !== document.body)\n rootContext.triggerElement.value = getActiveElement() as HTMLElement\n})\n\nif (process.env.NODE_ENV !== 'production') {\n useWarning({\n titleName: 'DialogTitle',\n contentName: 'DialogContent',\n componentLink: 'dialog.html#title',\n titleId: rootContext.titleId,\n descriptionId: rootContext.descriptionId,\n contentElement,\n })\n}\n</script>\n\n<template>\n <FocusScope\n as-child\n loop\n :trapped=\"props.trapFocus\"\n @mount-auto-focus=\"emits('openAutoFocus', $event)\"\n @unmount-auto-focus=\"emits('closeAutoFocus', $event)\"\n >\n <DismissableLayer\n :id=\"rootContext.contentId\"\n :ref=\"forwardRef\"\n :as=\"as\"\n :as-child=\"asChild\"\n :disable-outside-pointer-events=\"disableOutsidePointerEvents\"\n role=\"dialog\"\n :aria-describedby=\"rootContext.descriptionId\"\n :aria-labelledby=\"rootContext.titleId\"\n :data-state=\"getOpenState(rootContext.open.value)\"\n v-bind=\"$attrs\"\n @dismiss=\"rootContext.onOpenChange(false)\"\n @escape-key-down=\"emits('escapeKeyDown', $event)\"\n @focus-outside=\"emits('focusOutside', $event)\"\n @interact-outside=\"emits('interactOutside', $event)\"\n @pointer-down-outside=\"emits('pointerDownOutside', $event)\"\n >\n <slot />\n </DismissableLayer>\n </FocusScope>\n</template>\n"],"names":["injectDialogRootContext","useForwardExpose","useId","onMounted","getActiveElement","useWarning"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2CA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,cAAcA,yCAAwB,EAAA;AAC5C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,cAAA,KAAmBC,wCAAiB,EAAA;AAExE,IAAY,WAAA,CAAA,OAAA,KAAYC,kBAAM,CAAA,MAAA,EAAW,mBAAmB,CAAA;AAC5D,IAAY,WAAA,CAAA,aAAA,KAAkBA,kBAAM,CAAA,MAAA,EAAW,yBAAyB,CAAA;AAExE,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,WAAA,CAAY,cAAiB,GAAA,cAAA;AAG7B,MAAI,IAAAC,wCAAA,OAAuB,QAAS,CAAA,IAAA;AAClC,QAAY,WAAA,CAAA,cAAA,CAAe,QAAQA,wCAAiB,EAAA;AAAA,KACvD,CAAA;AAED,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAWC,uBAAA,CAAA;AAAA,QACT,SAAW,EAAA,aAAA;AAAA,QACX,WAAa,EAAA,eAAA;AAAA,QACb,aAAe,EAAA,mBAAA;AAAA,QACf,SAAS,WAAY,CAAA,OAAA;AAAA,QACrB,eAAe,WAAY,CAAA,aAAA;AAAA,QAC3B;AAAA,OACD,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { defineComponent, onMounted, createBlock, openBlock, unref, withCtx, createVNode, mergeProps, renderSlot } from 'vue';
|
|
2
|
-
import { _ as _sfc_main$2 } from '../DismissableLayer/DismissableLayer.js';
|
|
3
2
|
import { g as getOpenState } from '../Menu/utils.js';
|
|
4
3
|
import { u as useWarning } from './utils.js';
|
|
5
4
|
import { u as useForwardExpose } from '../shared/useForwardExpose.js';
|
|
6
5
|
import { u as useId } from '../shared/useId.js';
|
|
7
6
|
import { g as getActiveElement } from '../shared/getActiveElement.js';
|
|
8
7
|
import { _ as _sfc_main$1 } from '../FocusScope/FocusScope.js';
|
|
8
|
+
import { _ as _sfc_main$2 } from '../DismissableLayer/DismissableLayer.js';
|
|
9
9
|
import { i as injectDialogRootContext } from './DialogRoot.js';
|
|
10
10
|
|
|
11
11
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogContentImpl.js","sources":["../../src/Dialog/DialogContentImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n DismissableLayerEmits,\n DismissableLayerProps,\n} from '@/DismissableLayer'\nimport { getActiveElement, useForwardExpose, useId } from '@/shared'\n\nexport type DialogContentImplEmits = DismissableLayerEmits & {\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n openAutoFocus: [event: Event]\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n closeAutoFocus: [event: Event]\n}\n\nexport interface DialogContentImplProps extends DismissableLayerProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling transntion with Vue native transition or other animation libraries.\n */\n forceMount?: boolean\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue false\n */\n trapFocus?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"DialogContentImpl.js","sources":["../../src/Dialog/DialogContentImpl.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n DismissableLayerEmits,\n DismissableLayerProps,\n} from '@/DismissableLayer'\nimport { getActiveElement, useForwardExpose, useId } from '@/shared'\n\nexport type DialogContentImplEmits = DismissableLayerEmits & {\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n openAutoFocus: [event: Event]\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n closeAutoFocus: [event: Event]\n}\n\nexport interface DialogContentImplProps extends DismissableLayerProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling transntion with Vue native transition or other animation libraries.\n */\n forceMount?: boolean\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue false\n */\n trapFocus?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted } from 'vue'\nimport { DismissableLayer } from '@/DismissableLayer'\nimport { FocusScope } from '@/FocusScope'\nimport { getOpenState } from '@/Menu/utils'\nimport { injectDialogRootContext } from './DialogRoot.vue'\nimport { useWarning } from './utils'\n\nconst props = defineProps<DialogContentImplProps>()\nconst emits = defineEmits<DialogContentImplEmits>()\n\nconst rootContext = injectDialogRootContext()\nconst { forwardRef, currentElement: contentElement } = useForwardExpose()\n\nrootContext.titleId ||= useId(undefined, 'reka-dialog-title')\nrootContext.descriptionId ||= useId(undefined, 'reka-dialog-description')\n\nonMounted(() => {\n rootContext.contentElement = contentElement\n\n // Preserve the `DialogTrigger` element in case it was triggered programmatically\n if (getActiveElement() !== document.body)\n rootContext.triggerElement.value = getActiveElement() as HTMLElement\n})\n\nif (process.env.NODE_ENV !== 'production') {\n useWarning({\n titleName: 'DialogTitle',\n contentName: 'DialogContent',\n componentLink: 'dialog.html#title',\n titleId: rootContext.titleId,\n descriptionId: rootContext.descriptionId,\n contentElement,\n })\n}\n</script>\n\n<template>\n <FocusScope\n as-child\n loop\n :trapped=\"props.trapFocus\"\n @mount-auto-focus=\"emits('openAutoFocus', $event)\"\n @unmount-auto-focus=\"emits('closeAutoFocus', $event)\"\n >\n <DismissableLayer\n :id=\"rootContext.contentId\"\n :ref=\"forwardRef\"\n :as=\"as\"\n :as-child=\"asChild\"\n :disable-outside-pointer-events=\"disableOutsidePointerEvents\"\n role=\"dialog\"\n :aria-describedby=\"rootContext.descriptionId\"\n :aria-labelledby=\"rootContext.titleId\"\n :data-state=\"getOpenState(rootContext.open.value)\"\n v-bind=\"$attrs\"\n @dismiss=\"rootContext.onOpenChange(false)\"\n @escape-key-down=\"emits('escapeKeyDown', $event)\"\n @focus-outside=\"emits('focusOutside', $event)\"\n @interact-outside=\"emits('interactOutside', $event)\"\n @pointer-down-outside=\"emits('pointerDownOutside', $event)\"\n >\n <slot />\n </DismissableLayer>\n </FocusScope>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2CA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,cAAc,uBAAwB,EAAA;AAC5C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,cAAA,KAAmB,gBAAiB,EAAA;AAExE,IAAY,WAAA,CAAA,OAAA,KAAY,KAAM,CAAA,MAAA,EAAW,mBAAmB,CAAA;AAC5D,IAAY,WAAA,CAAA,aAAA,KAAkB,KAAM,CAAA,MAAA,EAAW,yBAAyB,CAAA;AAExE,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,WAAA,CAAY,cAAiB,GAAA,cAAA;AAG7B,MAAI,IAAA,gBAAA,OAAuB,QAAS,CAAA,IAAA;AAClC,QAAY,WAAA,CAAA,cAAA,CAAe,QAAQ,gBAAiB,EAAA;AAAA,KACvD,CAAA;AAED,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAW,UAAA,CAAA;AAAA,QACT,SAAW,EAAA,aAAA;AAAA,QACX,WAAa,EAAA,eAAA;AAAA,QACb,aAAe,EAAA,mBAAA;AAAA,QACf,SAAS,WAAY,CAAA,OAAA;AAAA,QACrB,eAAe,WAAY,CAAA,aAAA;AAAA,QAC3B;AAAA,OACD,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogContentNonModal.cjs","sources":["../../src/Dialog/DialogContentNonModal.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { DialogContentImplEmits, DialogContentImplProps } from './DialogContentImpl.vue'\nimport {
|
|
1
|
+
{"version":3,"file":"DialogContentNonModal.cjs","sources":["../../src/Dialog/DialogContentNonModal.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { DialogContentImplEmits, DialogContentImplProps } from './DialogContentImpl.vue'\nimport { ref } from 'vue'\nimport { useEmitAsProps, useForwardExpose } from '@/shared'\nimport DialogContentImpl from './DialogContentImpl.vue'\nimport { injectDialogRootContext } from './DialogRoot.vue'\n\nconst props = defineProps<DialogContentImplProps>()\nconst emits = defineEmits<DialogContentImplEmits>()\n\nconst emitsAsProps = useEmitAsProps(emits)\nuseForwardExpose()\n\nconst rootContext = injectDialogRootContext()\nconst hasInteractedOutsideRef = ref(false)\nconst hasPointerDownOutsideRef = ref(false)\n</script>\n\n<template>\n <DialogContentImpl\n v-bind=\"{ ...props, ...emitsAsProps }\"\n :trap-focus=\"false\"\n :disable-outside-pointer-events=\"false\"\n @close-auto-focus=\"\n (event) => {\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef) rootContext.triggerElement.value?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef = false;\n hasPointerDownOutsideRef = false;\n }\n \"\n @interact-outside=\"(event) => {\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef = true;\n if (event.detail.originalEvent.type === 'pointerdown') {\n hasPointerDownOutsideRef = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = rootContext.triggerElement.value?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef) {\n event.preventDefault();\n }\n }\"\n >\n <slot />\n </DialogContentImpl>\n</template>\n"],"names":["useEmitAsProps","useForwardExpose","injectDialogRootContext","ref"],"mappings":";;;;;;;;;;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAM,MAAA,YAAA,GAAeA,qCAAe,KAAK,CAAA;AACzC,IAAiBC,wCAAA,EAAA;AAEjB,IAAA,MAAM,cAAcC,yCAAwB,EAAA;AAC5C,IAAM,MAAA,uBAAA,GAA0BC,QAAI,KAAK,CAAA;AACzC,IAAM,MAAA,wBAAA,GAA2BA,QAAI,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|