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
package/dist/Avatar/utils.js
CHANGED
|
@@ -1,28 +1,55 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isClient } from '@vueuse/shared';
|
|
2
|
+
import { ref, computed, onMounted, watchEffect, onUnmounted } from 'vue';
|
|
2
3
|
|
|
3
|
-
function
|
|
4
|
-
|
|
4
|
+
function resolveLoadingStatus(image, src) {
|
|
5
|
+
if (!image) {
|
|
6
|
+
return "idle";
|
|
7
|
+
}
|
|
8
|
+
if (!src) {
|
|
9
|
+
return "error";
|
|
10
|
+
}
|
|
11
|
+
if (image.src !== src) {
|
|
12
|
+
image.src = src;
|
|
13
|
+
}
|
|
14
|
+
return image.complete && image.naturalWidth > 0 ? "loaded" : "loading";
|
|
15
|
+
}
|
|
16
|
+
function useImageLoadingStatus(src, { referrerPolicy, crossOrigin } = {}) {
|
|
5
17
|
const isMounted = ref(false);
|
|
18
|
+
const imageRef = ref(null);
|
|
19
|
+
const image = computed(() => {
|
|
20
|
+
if (!isMounted.value) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
if (!imageRef.value && isClient) {
|
|
24
|
+
imageRef.value = new window.Image();
|
|
25
|
+
}
|
|
26
|
+
return imageRef.value;
|
|
27
|
+
});
|
|
28
|
+
const loadingStatus = ref(resolveLoadingStatus(image.value, src.value));
|
|
6
29
|
const updateStatus = (status) => () => {
|
|
7
30
|
if (isMounted.value)
|
|
8
31
|
loadingStatus.value = status;
|
|
9
32
|
};
|
|
10
33
|
onMounted(() => {
|
|
11
34
|
isMounted.value = true;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
35
|
+
watchEffect((onCleanup) => {
|
|
36
|
+
const img = image.value;
|
|
37
|
+
if (!img)
|
|
38
|
+
return;
|
|
39
|
+
loadingStatus.value = resolveLoadingStatus(img, src.value);
|
|
40
|
+
const handleLoad = updateStatus("loaded");
|
|
41
|
+
const handleError = updateStatus("error");
|
|
42
|
+
img.addEventListener("load", handleLoad);
|
|
43
|
+
img.addEventListener("error", handleError);
|
|
44
|
+
if (referrerPolicy?.value)
|
|
45
|
+
img.referrerPolicy = referrerPolicy.value;
|
|
46
|
+
if (typeof crossOrigin?.value === "string")
|
|
47
|
+
img.crossOrigin = crossOrigin.value;
|
|
48
|
+
onCleanup(() => {
|
|
49
|
+
img.removeEventListener("load", handleLoad);
|
|
50
|
+
img.removeEventListener("error", handleError);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
26
53
|
});
|
|
27
54
|
onUnmounted(() => {
|
|
28
55
|
isMounted.value = false;
|
package/dist/Avatar/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/Avatar/utils.ts"],"sourcesContent":["import type { ImgHTMLAttributes, Ref } from 'vue'\nimport { onMounted, onUnmounted, ref,
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/Avatar/utils.ts"],"sourcesContent":["import type { ImgHTMLAttributes, Ref } from 'vue'\nimport { isClient } from '@vueuse/shared'\nimport { computed, onMounted, onUnmounted, ref, watchEffect } from 'vue'\n\nexport type ImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error'\n\nfunction resolveLoadingStatus(image: HTMLImageElement | null, src?: string): ImageLoadingStatus {\n if (!image) {\n return 'idle'\n }\n if (!src) {\n return 'error'\n }\n if (image.src !== src) {\n image.src = src\n }\n return image.complete && image.naturalWidth > 0 ? 'loaded' : 'loading'\n}\n\nexport function useImageLoadingStatus(src: Ref<string>, { referrerPolicy, crossOrigin }: { referrerPolicy?: Ref<ImgHTMLAttributes['referrerpolicy']>, crossOrigin?: Ref<ImgHTMLAttributes['crossorigin']> } = {}) {\n const isMounted = ref(false)\n const imageRef = ref<HTMLImageElement | null>(null)\n const image = computed(() => {\n if (!isMounted.value) {\n return null\n }\n if (!imageRef.value && isClient) {\n imageRef.value = new window.Image()\n }\n return imageRef.value\n })\n\n const loadingStatus = ref<ImageLoadingStatus>(resolveLoadingStatus(image.value, src.value))\n\n const updateStatus = (status: ImageLoadingStatus) => () => {\n if (isMounted.value)\n loadingStatus.value = status\n }\n\n onMounted(() => {\n isMounted.value = true\n\n watchEffect((onCleanup) => {\n const img = image.value\n if (!img)\n return\n\n loadingStatus.value = resolveLoadingStatus(img, src.value)\n\n const handleLoad = updateStatus('loaded')\n const handleError = updateStatus('error')\n\n img.addEventListener('load', handleLoad)\n img.addEventListener('error', handleError)\n\n if (referrerPolicy?.value)\n img.referrerPolicy = referrerPolicy.value\n if (typeof crossOrigin?.value === 'string')\n img.crossOrigin = crossOrigin.value\n\n onCleanup(() => {\n img.removeEventListener('load', handleLoad)\n img.removeEventListener('error', handleError)\n })\n })\n })\n\n onUnmounted(() => {\n isMounted.value = false\n })\n\n return loadingStatus\n}\n"],"names":[],"mappings":";;;AAMA,SAAS,oBAAA,CAAqB,OAAgC,GAAkC,EAAA;AAC9F,EAAA,IAAI,CAAC,KAAO,EAAA;AACV,IAAO,OAAA,MAAA;AAAA;AAET,EAAA,IAAI,CAAC,GAAK,EAAA;AACR,IAAO,OAAA,OAAA;AAAA;AAET,EAAI,IAAA,KAAA,CAAM,QAAQ,GAAK,EAAA;AACrB,IAAA,KAAA,CAAM,GAAM,GAAA,GAAA;AAAA;AAEd,EAAA,OAAO,KAAM,CAAA,QAAA,IAAY,KAAM,CAAA,YAAA,GAAe,IAAI,QAAW,GAAA,SAAA;AAC/D;AAEO,SAAS,sBAAsB,GAAkB,EAAA,EAAE,gBAAgB,WAAY,EAAA,GAAwH,EAAI,EAAA;AAChN,EAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA;AAC3B,EAAM,MAAA,QAAA,GAAW,IAA6B,IAAI,CAAA;AAClD,EAAM,MAAA,KAAA,GAAQ,SAAS,MAAM;AAC3B,IAAI,IAAA,CAAC,UAAU,KAAO,EAAA;AACpB,MAAO,OAAA,IAAA;AAAA;AAET,IAAI,IAAA,CAAC,QAAS,CAAA,KAAA,IAAS,QAAU,EAAA;AAC/B,MAAS,QAAA,CAAA,KAAA,GAAQ,IAAI,MAAA,CAAO,KAAM,EAAA;AAAA;AAEpC,IAAA,OAAO,QAAS,CAAA,KAAA;AAAA,GACjB,CAAA;AAED,EAAA,MAAM,gBAAgB,GAAwB,CAAA,oBAAA,CAAqB,MAAM,KAAO,EAAA,GAAA,CAAI,KAAK,CAAC,CAAA;AAE1F,EAAM,MAAA,YAAA,GAAe,CAAC,MAAA,KAA+B,MAAM;AACzD,IAAA,IAAI,SAAU,CAAA,KAAA;AACZ,MAAA,aAAA,CAAc,KAAQ,GAAA,MAAA;AAAA,GAC1B;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,SAAA,CAAU,KAAQ,GAAA,IAAA;AAElB,IAAA,WAAA,CAAY,CAAC,SAAc,KAAA;AACzB,MAAA,MAAM,MAAM,KAAM,CAAA,KAAA;AAClB,MAAA,IAAI,CAAC,GAAA;AACH,QAAA;AAEF,MAAA,aAAA,CAAc,KAAQ,GAAA,oBAAA,CAAqB,GAAK,EAAA,GAAA,CAAI,KAAK,CAAA;AAEzD,MAAM,MAAA,UAAA,GAAa,aAAa,QAAQ,CAAA;AACxC,MAAM,MAAA,WAAA,GAAc,aAAa,OAAO,CAAA;AAExC,MAAI,GAAA,CAAA,gBAAA,CAAiB,QAAQ,UAAU,CAAA;AACvC,MAAI,GAAA,CAAA,gBAAA,CAAiB,SAAS,WAAW,CAAA;AAEzC,MAAA,IAAI,cAAgB,EAAA,KAAA;AAClB,QAAA,GAAA,CAAI,iBAAiB,cAAe,CAAA,KAAA;AACtC,MAAI,IAAA,OAAO,aAAa,KAAU,KAAA,QAAA;AAChC,QAAA,GAAA,CAAI,cAAc,WAAY,CAAA,KAAA;AAEhC,MAAA,SAAA,CAAU,MAAM;AACd,QAAI,GAAA,CAAA,mBAAA,CAAoB,QAAQ,UAAU,CAAA;AAC1C,QAAI,GAAA,CAAA,mBAAA,CAAoB,SAAS,WAAW,CAAA;AAAA,OAC7C,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA;AAED,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,SAAA,CAAU,KAAQ,GAAA,KAAA;AAAA,GACnB,CAAA;AAED,EAAO,OAAA,aAAA;AACT;;;;"}
|
|
@@ -19,8 +19,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
19
19
|
"as-child": _ctx.asChild,
|
|
20
20
|
role: "gridcell",
|
|
21
21
|
"aria-selected": vue.unref(rootContext).isDateSelected(_ctx.date) ? true : void 0,
|
|
22
|
-
"aria-disabled": vue.unref(rootContext).isDateDisabled(_ctx.date) || vue.unref(rootContext).isDateUnavailable?.(_ctx.date),
|
|
23
|
-
"data-disabled": vue.unref(rootContext).isDateDisabled(_ctx.date) ? "" : void 0
|
|
22
|
+
"aria-disabled": vue.unref(rootContext).isDateDisabled(_ctx.date) || vue.unref(rootContext).isDateUnavailable?.(_ctx.date) || vue.unref(rootContext).disableDaysOutsideCurrentView.value,
|
|
23
|
+
"data-disabled": vue.unref(rootContext).isDateDisabled(_ctx.date) || vue.unref(rootContext).disableDaysOutsideCurrentView.value ? "" : void 0
|
|
24
24
|
}, {
|
|
25
25
|
default: vue.withCtx(() => [
|
|
26
26
|
vue.renderSlot(_ctx.$slots, "default")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarCell.cjs","sources":["../../src/Calendar/CalendarCell.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"CalendarCell.cjs","sources":["../../src/Calendar/CalendarCell.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarCellProps extends PrimitiveProps {\n /** The date value for the cell */\n date: DateValue\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nwithDefaults(defineProps<CalendarCellProps>(), { as: 'td' })\nconst rootContext = injectCalendarRootContext()\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n role=\"gridcell\"\n :aria-selected=\"rootContext.isDateSelected(date) ? true : undefined\"\n :aria-disabled=\"rootContext.isDateDisabled(date) || rootContext.isDateUnavailable?.(date) || rootContext.disableDaysOutsideCurrentView.value\"\n :data-disabled=\"rootContext.isDateDisabled(date) || rootContext.disableDaysOutsideCurrentView.value ? '' : undefined\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectCalendarRootContext"],"mappings":";;;;;;;;;;;;;;AAeA,IAAA,MAAM,cAAcA,+CAA0B,EAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -17,8 +17,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
17
17
|
"as-child": _ctx.asChild,
|
|
18
18
|
role: "gridcell",
|
|
19
19
|
"aria-selected": unref(rootContext).isDateSelected(_ctx.date) ? true : void 0,
|
|
20
|
-
"aria-disabled": unref(rootContext).isDateDisabled(_ctx.date) || unref(rootContext).isDateUnavailable?.(_ctx.date),
|
|
21
|
-
"data-disabled": unref(rootContext).isDateDisabled(_ctx.date) ? "" : void 0
|
|
20
|
+
"aria-disabled": unref(rootContext).isDateDisabled(_ctx.date) || unref(rootContext).isDateUnavailable?.(_ctx.date) || unref(rootContext).disableDaysOutsideCurrentView.value,
|
|
21
|
+
"data-disabled": unref(rootContext).isDateDisabled(_ctx.date) || unref(rootContext).disableDaysOutsideCurrentView.value ? "" : void 0
|
|
22
22
|
}, {
|
|
23
23
|
default: withCtx(() => [
|
|
24
24
|
renderSlot(_ctx.$slots, "default")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarCell.js","sources":["../../src/Calendar/CalendarCell.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"CalendarCell.js","sources":["../../src/Calendar/CalendarCell.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarCellProps extends PrimitiveProps {\n /** The date value for the cell */\n date: DateValue\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nwithDefaults(defineProps<CalendarCellProps>(), { as: 'td' })\nconst rootContext = injectCalendarRootContext()\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n role=\"gridcell\"\n :aria-selected=\"rootContext.isDateSelected(date) ? true : undefined\"\n :aria-disabled=\"rootContext.isDateDisabled(date) || rootContext.isDateUnavailable?.(date) || rootContext.disableDaysOutsideCurrentView.value\"\n :data-disabled=\"rootContext.isDateDisabled(date) || rootContext.disableDaysOutsideCurrentView.value ? '' : undefined\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAeA,IAAA,MAAM,cAAc,yBAA0B,EAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -32,7 +32,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
32
32
|
year: "numeric"
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
|
-
const isDisabled = vue.computed(() => rootContext.isDateDisabled(props.day));
|
|
36
35
|
const isUnavailable = vue.computed(
|
|
37
36
|
() => rootContext.isDateUnavailable?.(props.day) ?? false
|
|
38
37
|
);
|
|
@@ -45,6 +44,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
45
44
|
const isOutsideVisibleView = vue.computed(
|
|
46
45
|
() => rootContext.isOutsideVisibleView(props.day)
|
|
47
46
|
);
|
|
47
|
+
const isDisabled = vue.computed(() => rootContext.isDateDisabled(props.day) || rootContext.disableDaysOutsideCurrentView.value && isOutsideView.value);
|
|
48
48
|
const isFocusedDate = vue.computed(() => {
|
|
49
49
|
return !rootContext.disabled.value && date.isSameDay(props.day, rootContext.placeholder.value);
|
|
50
50
|
});
|
|
@@ -57,9 +57,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
57
57
|
rootContext.onDateChange(date);
|
|
58
58
|
}
|
|
59
59
|
function handleClick() {
|
|
60
|
+
if (isDisabled.value)
|
|
61
|
+
return;
|
|
60
62
|
changeDate(props.day);
|
|
61
63
|
}
|
|
62
64
|
function handleArrowKey(e) {
|
|
65
|
+
if (isDisabled.value)
|
|
66
|
+
return;
|
|
63
67
|
e.preventDefault();
|
|
64
68
|
e.stopPropagation();
|
|
65
69
|
const parentElement = rootContext.parentElement.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarCellTrigger.cjs","sources":["../../src/Calendar/CalendarCellTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { DateValue } from '@internationalized/date'\nimport { getDaysInMonth, toDate } from '@/date'\nimport { useKbd } from '@/shared'\nimport {\n\n getLocalTimeZone,\n isSameDay,\n isSameMonth,\n isToday,\n} from '@internationalized/date'\nimport { computed, nextTick } from 'vue'\nimport { getSelectableCells } from './utils'\n\nexport interface CalendarCellTriggerProps extends PrimitiveProps {\n /** The date value provided to the cell trigger */\n day: DateValue\n /** The month in which the cell is rendered */\n month: DateValue\n}\n\nexport interface CalendarCellTriggerSlot {\n default: (props: {\n /** Current day */\n dayValue: string\n /** Current disable state */\n disabled: boolean\n /** Current selected state */\n selected: boolean\n /** Current today state */\n today: boolean\n /** Current outside view state */\n outsideView: boolean\n /** Current outside visible view state */\n outsideVisibleView: boolean\n /** Current unavailable state */\n unavailable: boolean\n }) => any\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarCellTriggerProps>(), {\n as: 'div',\n})\n\ndefineSlots<CalendarCellTriggerSlot>()\n\nconst kbd = useKbd()\nconst rootContext = injectCalendarRootContext()\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nconst dayValue = computed(() => props.day.day.toLocaleString(rootContext.locale.value))\n\nconst labelText = computed(() => {\n return rootContext.formatter.custom(toDate(props.day), {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n })\n})\n\nconst isDisabled = computed(() => rootContext.isDateDisabled(props.day))\nconst isUnavailable = computed(() =>\n rootContext.isDateUnavailable?.(props.day) ?? false,\n)\nconst isDateToday = computed(() => {\n return isToday(props.day, getLocalTimeZone())\n})\nconst isOutsideView = computed(() => {\n return !isSameMonth(props.day, props.month)\n})\nconst isOutsideVisibleView = computed(() =>\n rootContext.isOutsideVisibleView(props.day),\n)\n\nconst isFocusedDate = computed(() => {\n return !rootContext.disabled.value && isSameDay(props.day, rootContext.placeholder.value)\n})\nconst isSelectedDate = computed(() => rootContext.isDateSelected(props.day))\n\nfunction changeDate(date: DateValue) {\n if (rootContext.readonly.value)\n return\n if (rootContext.isDateDisabled(date) || rootContext.isDateUnavailable?.(date))\n return\n\n rootContext.onDateChange(date)\n}\n\nfunction handleClick() {\n changeDate(props.day)\n}\n\nfunction handleArrowKey(e: KeyboardEvent) {\n e.preventDefault()\n e.stopPropagation()\n const parentElement = rootContext.parentElement.value!\n const indexIncrementation = 7\n const sign = rootContext.dir.value === 'rtl' ? -1 : 1\n switch (e.code) {\n case kbd.ARROW_RIGHT:\n shiftFocus(currentElement.value, sign)\n break\n case kbd.ARROW_LEFT:\n shiftFocus(currentElement.value, -sign)\n break\n case kbd.ARROW_UP:\n shiftFocus(currentElement.value, -indexIncrementation)\n break\n case kbd.ARROW_DOWN:\n shiftFocus(currentElement.value, indexIncrementation)\n break\n case kbd.ENTER:\n case kbd.SPACE_CODE:\n changeDate(props.day)\n }\n\n function shiftFocus(node: HTMLElement, add: number) {\n const allCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!allCollectionItems.length)\n return\n\n const index = allCollectionItems.indexOf(node)\n const newIndex = index + add\n\n if (newIndex >= 0 && newIndex < allCollectionItems.length) {\n if (allCollectionItems[newIndex].hasAttribute('data-disabled')) {\n shiftFocus(allCollectionItems[newIndex], add)\n }\n allCollectionItems[newIndex].focus()\n return\n }\n\n if (newIndex < 0) {\n if (rootContext.isPrevButtonDisabled())\n return\n rootContext.prevPage()\n nextTick(() => {\n const newCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!newCollectionItems.length)\n return\n if (!rootContext.pagedNavigation.value && rootContext.numberOfMonths.value > 1) {\n // Placeholder is set to first month of the new page\n const numberOfDays = getDaysInMonth(rootContext.placeholder.value)\n const computedIndex = numberOfDays - Math.abs(newIndex)\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[\n computedIndex\n ].focus()\n return\n }\n const computedIndex = newCollectionItems.length - Math.abs(newIndex)\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[\n computedIndex\n ].focus()\n })\n return\n }\n\n if (newIndex >= allCollectionItems.length) {\n if (rootContext.isNextButtonDisabled())\n return\n rootContext.nextPage()\n nextTick(() => {\n const newCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!newCollectionItems.length)\n return\n\n if (!rootContext.pagedNavigation.value && rootContext.numberOfMonths.value > 1) {\n // Placeholder is set to first month of the new page\n const numberOfDays = getDaysInMonth(\n rootContext.placeholder.value.add({ months: rootContext.numberOfMonths.value - 1 }),\n )\n\n const computedIndex = newIndex - allCollectionItems.length + (newCollectionItems.length - numberOfDays)\n\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[computedIndex].focus()\n return\n }\n\n const computedIndex = newIndex - allCollectionItems.length\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n\n newCollectionItems[computedIndex].focus()\n })\n }\n }\n}\n</script>\n\n<template>\n <Primitive\n ref=\"primitiveElement\"\n v-bind=\"props\"\n role=\"button\"\n :aria-label=\"labelText\"\n data-reka-calendar-cell-trigger\n :aria-disabled=\"isDisabled || isUnavailable ? true : undefined\"\n :data-selected=\"isSelectedDate ? true : undefined\"\n :data-value=\"day.toString()\"\n :data-disabled=\"isDisabled ? '' : undefined\"\n :data-unavailable=\"isUnavailable ? '' : undefined\"\n :data-today=\"isDateToday ? '' : undefined\"\n :data-outside-view=\"isOutsideView ? '' : undefined\"\n :data-outside-visible-view=\"isOutsideVisibleView ? '' : undefined\"\n :data-focused=\"isFocusedDate ? '' : undefined\"\n :tabindex=\"isFocusedDate ? 0 : isOutsideView || isDisabled ? undefined : -1\"\n @click=\"handleClick\"\n @keydown.up.down.left.right.space.enter=\"handleArrowKey\"\n @keydown.enter.prevent\n >\n <slot\n :day-value=\"dayValue\"\n :disabled=\"isDisabled\"\n :today=\"isDateToday\"\n :selected=\"isSelectedDate\"\n :outside-view=\"isOutsideView\"\n :outside-visible-view=\"isOutsideVisibleView\"\n :unavailable=\"isUnavailable\"\n >\n {{ dayValue }}\n </slot>\n </Primitive>\n</template>\n"],"names":["useKbd","injectCalendarRootContext","usePrimitiveElement","computed","toDate","isToday","getLocalTimeZone","isSameMonth","isSameDay","getSelectableCells","nextTick","getDaysInMonth","computedIndex"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarCellTrigger.cjs","sources":["../../src/Calendar/CalendarCellTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport type { PrimitiveProps } from '@/Primitive'\nimport {\n\n getLocalTimeZone,\n isSameDay,\n isSameMonth,\n isToday,\n} from '@internationalized/date'\nimport { computed, nextTick } from 'vue'\nimport { getDaysInMonth, toDate } from '@/date'\nimport { useKbd } from '@/shared'\nimport { getSelectableCells } from './utils'\n\nexport interface CalendarCellTriggerProps extends PrimitiveProps {\n /** The date value provided to the cell trigger */\n day: DateValue\n /** The month in which the cell is rendered */\n month: DateValue\n}\n\nexport interface CalendarCellTriggerSlot {\n default?: (props: {\n /** Current day */\n dayValue: string\n /** Current disable state */\n disabled: boolean\n /** Current selected state */\n selected: boolean\n /** Current today state */\n today: boolean\n /** Current outside view state */\n outsideView: boolean\n /** Current outside visible view state */\n outsideVisibleView: boolean\n /** Current unavailable state */\n unavailable: boolean\n }) => any\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarCellTriggerProps>(), {\n as: 'div',\n})\n\ndefineSlots<CalendarCellTriggerSlot>()\n\nconst kbd = useKbd()\nconst rootContext = injectCalendarRootContext()\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nconst dayValue = computed(() => props.day.day.toLocaleString(rootContext.locale.value))\n\nconst labelText = computed(() => {\n return rootContext.formatter.custom(toDate(props.day), {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n })\n})\n\nconst isUnavailable = computed(() =>\n rootContext.isDateUnavailable?.(props.day) ?? false,\n)\nconst isDateToday = computed(() => {\n return isToday(props.day, getLocalTimeZone())\n})\nconst isOutsideView = computed(() => {\n return !isSameMonth(props.day, props.month)\n})\n\nconst isOutsideVisibleView = computed(() =>\n rootContext.isOutsideVisibleView(props.day),\n)\n\nconst isDisabled = computed(() => rootContext.isDateDisabled(props.day) || (rootContext.disableDaysOutsideCurrentView.value && isOutsideView.value))\n\nconst isFocusedDate = computed(() => {\n return !rootContext.disabled.value && isSameDay(props.day, rootContext.placeholder.value)\n})\nconst isSelectedDate = computed(() => rootContext.isDateSelected(props.day))\n\nfunction changeDate(date: DateValue) {\n if (rootContext.readonly.value)\n return\n if (rootContext.isDateDisabled(date) || rootContext.isDateUnavailable?.(date))\n return\n\n rootContext.onDateChange(date)\n}\n\nfunction handleClick() {\n if (isDisabled.value)\n return\n changeDate(props.day)\n}\n\nfunction handleArrowKey(e: KeyboardEvent) {\n if (isDisabled.value)\n return\n e.preventDefault()\n e.stopPropagation()\n const parentElement = rootContext.parentElement.value!\n const indexIncrementation = 7\n const sign = rootContext.dir.value === 'rtl' ? -1 : 1\n switch (e.code) {\n case kbd.ARROW_RIGHT:\n shiftFocus(currentElement.value, sign)\n break\n case kbd.ARROW_LEFT:\n shiftFocus(currentElement.value, -sign)\n break\n case kbd.ARROW_UP:\n shiftFocus(currentElement.value, -indexIncrementation)\n break\n case kbd.ARROW_DOWN:\n shiftFocus(currentElement.value, indexIncrementation)\n break\n case kbd.ENTER:\n case kbd.SPACE_CODE:\n changeDate(props.day)\n }\n\n function shiftFocus(node: HTMLElement, add: number) {\n const allCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!allCollectionItems.length)\n return\n\n const index = allCollectionItems.indexOf(node)\n const newIndex = index + add\n\n if (newIndex >= 0 && newIndex < allCollectionItems.length) {\n if (allCollectionItems[newIndex].hasAttribute('data-disabled')) {\n shiftFocus(allCollectionItems[newIndex], add)\n }\n allCollectionItems[newIndex].focus()\n return\n }\n\n if (newIndex < 0) {\n if (rootContext.isPrevButtonDisabled())\n return\n rootContext.prevPage()\n nextTick(() => {\n const newCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!newCollectionItems.length)\n return\n if (!rootContext.pagedNavigation.value && rootContext.numberOfMonths.value > 1) {\n // Placeholder is set to first month of the new page\n const numberOfDays = getDaysInMonth(rootContext.placeholder.value)\n const computedIndex = numberOfDays - Math.abs(newIndex)\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[\n computedIndex\n ].focus()\n return\n }\n const computedIndex = newCollectionItems.length - Math.abs(newIndex)\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[\n computedIndex\n ].focus()\n })\n return\n }\n\n if (newIndex >= allCollectionItems.length) {\n if (rootContext.isNextButtonDisabled())\n return\n rootContext.nextPage()\n nextTick(() => {\n const newCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!newCollectionItems.length)\n return\n\n if (!rootContext.pagedNavigation.value && rootContext.numberOfMonths.value > 1) {\n // Placeholder is set to first month of the new page\n const numberOfDays = getDaysInMonth(\n rootContext.placeholder.value.add({ months: rootContext.numberOfMonths.value - 1 }),\n )\n\n const computedIndex = newIndex - allCollectionItems.length + (newCollectionItems.length - numberOfDays)\n\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[computedIndex].focus()\n return\n }\n\n const computedIndex = newIndex - allCollectionItems.length\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n\n newCollectionItems[computedIndex].focus()\n })\n }\n }\n}\n</script>\n\n<template>\n <Primitive\n ref=\"primitiveElement\"\n v-bind=\"props\"\n role=\"button\"\n :aria-label=\"labelText\"\n data-reka-calendar-cell-trigger\n :aria-disabled=\"isDisabled || isUnavailable ? true : undefined\"\n :data-selected=\"isSelectedDate ? true : undefined\"\n :data-value=\"day.toString()\"\n :data-disabled=\"isDisabled ? '' : undefined\"\n :data-unavailable=\"isUnavailable ? '' : undefined\"\n :data-today=\"isDateToday ? '' : undefined\"\n :data-outside-view=\"isOutsideView ? '' : undefined\"\n :data-outside-visible-view=\"isOutsideVisibleView ? '' : undefined\"\n :data-focused=\"isFocusedDate ? '' : undefined\"\n :tabindex=\"isFocusedDate ? 0 : isOutsideView || isDisabled ? undefined : -1\"\n @click=\"handleClick\"\n @keydown.up.down.left.right.space.enter=\"handleArrowKey\"\n @keydown.enter.prevent\n >\n <slot\n :day-value=\"dayValue\"\n :disabled=\"isDisabled\"\n :today=\"isDateToday\"\n :selected=\"isSelectedDate\"\n :outside-view=\"isOutsideView\"\n :outside-visible-view=\"isOutsideVisibleView\"\n :unavailable=\"isUnavailable\"\n >\n {{ dayValue }}\n </slot>\n </Primitive>\n</template>\n"],"names":["useKbd","injectCalendarRootContext","usePrimitiveElement","computed","toDate","isToday","getLocalTimeZone","isSameMonth","isSameDay","getSelectableCells","nextTick","getDaysInMonth","computedIndex"],"mappings":"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"}
|
|
@@ -30,7 +30,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
30
30
|
year: "numeric"
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
|
-
const isDisabled = computed(() => rootContext.isDateDisabled(props.day));
|
|
34
33
|
const isUnavailable = computed(
|
|
35
34
|
() => rootContext.isDateUnavailable?.(props.day) ?? false
|
|
36
35
|
);
|
|
@@ -43,6 +42,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
43
42
|
const isOutsideVisibleView = computed(
|
|
44
43
|
() => rootContext.isOutsideVisibleView(props.day)
|
|
45
44
|
);
|
|
45
|
+
const isDisabled = computed(() => rootContext.isDateDisabled(props.day) || rootContext.disableDaysOutsideCurrentView.value && isOutsideView.value);
|
|
46
46
|
const isFocusedDate = computed(() => {
|
|
47
47
|
return !rootContext.disabled.value && isSameDay(props.day, rootContext.placeholder.value);
|
|
48
48
|
});
|
|
@@ -55,9 +55,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
55
55
|
rootContext.onDateChange(date);
|
|
56
56
|
}
|
|
57
57
|
function handleClick() {
|
|
58
|
+
if (isDisabled.value)
|
|
59
|
+
return;
|
|
58
60
|
changeDate(props.day);
|
|
59
61
|
}
|
|
60
62
|
function handleArrowKey(e) {
|
|
63
|
+
if (isDisabled.value)
|
|
64
|
+
return;
|
|
61
65
|
e.preventDefault();
|
|
62
66
|
e.stopPropagation();
|
|
63
67
|
const parentElement = rootContext.parentElement.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarCellTrigger.js","sources":["../../src/Calendar/CalendarCellTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { DateValue } from '@internationalized/date'\nimport { getDaysInMonth, toDate } from '@/date'\nimport { useKbd } from '@/shared'\nimport {\n\n getLocalTimeZone,\n isSameDay,\n isSameMonth,\n isToday,\n} from '@internationalized/date'\nimport { computed, nextTick } from 'vue'\nimport { getSelectableCells } from './utils'\n\nexport interface CalendarCellTriggerProps extends PrimitiveProps {\n /** The date value provided to the cell trigger */\n day: DateValue\n /** The month in which the cell is rendered */\n month: DateValue\n}\n\nexport interface CalendarCellTriggerSlot {\n default: (props: {\n /** Current day */\n dayValue: string\n /** Current disable state */\n disabled: boolean\n /** Current selected state */\n selected: boolean\n /** Current today state */\n today: boolean\n /** Current outside view state */\n outsideView: boolean\n /** Current outside visible view state */\n outsideVisibleView: boolean\n /** Current unavailable state */\n unavailable: boolean\n }) => any\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarCellTriggerProps>(), {\n as: 'div',\n})\n\ndefineSlots<CalendarCellTriggerSlot>()\n\nconst kbd = useKbd()\nconst rootContext = injectCalendarRootContext()\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nconst dayValue = computed(() => props.day.day.toLocaleString(rootContext.locale.value))\n\nconst labelText = computed(() => {\n return rootContext.formatter.custom(toDate(props.day), {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n })\n})\n\nconst isDisabled = computed(() => rootContext.isDateDisabled(props.day))\nconst isUnavailable = computed(() =>\n rootContext.isDateUnavailable?.(props.day) ?? false,\n)\nconst isDateToday = computed(() => {\n return isToday(props.day, getLocalTimeZone())\n})\nconst isOutsideView = computed(() => {\n return !isSameMonth(props.day, props.month)\n})\nconst isOutsideVisibleView = computed(() =>\n rootContext.isOutsideVisibleView(props.day),\n)\n\nconst isFocusedDate = computed(() => {\n return !rootContext.disabled.value && isSameDay(props.day, rootContext.placeholder.value)\n})\nconst isSelectedDate = computed(() => rootContext.isDateSelected(props.day))\n\nfunction changeDate(date: DateValue) {\n if (rootContext.readonly.value)\n return\n if (rootContext.isDateDisabled(date) || rootContext.isDateUnavailable?.(date))\n return\n\n rootContext.onDateChange(date)\n}\n\nfunction handleClick() {\n changeDate(props.day)\n}\n\nfunction handleArrowKey(e: KeyboardEvent) {\n e.preventDefault()\n e.stopPropagation()\n const parentElement = rootContext.parentElement.value!\n const indexIncrementation = 7\n const sign = rootContext.dir.value === 'rtl' ? -1 : 1\n switch (e.code) {\n case kbd.ARROW_RIGHT:\n shiftFocus(currentElement.value, sign)\n break\n case kbd.ARROW_LEFT:\n shiftFocus(currentElement.value, -sign)\n break\n case kbd.ARROW_UP:\n shiftFocus(currentElement.value, -indexIncrementation)\n break\n case kbd.ARROW_DOWN:\n shiftFocus(currentElement.value, indexIncrementation)\n break\n case kbd.ENTER:\n case kbd.SPACE_CODE:\n changeDate(props.day)\n }\n\n function shiftFocus(node: HTMLElement, add: number) {\n const allCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!allCollectionItems.length)\n return\n\n const index = allCollectionItems.indexOf(node)\n const newIndex = index + add\n\n if (newIndex >= 0 && newIndex < allCollectionItems.length) {\n if (allCollectionItems[newIndex].hasAttribute('data-disabled')) {\n shiftFocus(allCollectionItems[newIndex], add)\n }\n allCollectionItems[newIndex].focus()\n return\n }\n\n if (newIndex < 0) {\n if (rootContext.isPrevButtonDisabled())\n return\n rootContext.prevPage()\n nextTick(() => {\n const newCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!newCollectionItems.length)\n return\n if (!rootContext.pagedNavigation.value && rootContext.numberOfMonths.value > 1) {\n // Placeholder is set to first month of the new page\n const numberOfDays = getDaysInMonth(rootContext.placeholder.value)\n const computedIndex = numberOfDays - Math.abs(newIndex)\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[\n computedIndex\n ].focus()\n return\n }\n const computedIndex = newCollectionItems.length - Math.abs(newIndex)\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[\n computedIndex\n ].focus()\n })\n return\n }\n\n if (newIndex >= allCollectionItems.length) {\n if (rootContext.isNextButtonDisabled())\n return\n rootContext.nextPage()\n nextTick(() => {\n const newCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!newCollectionItems.length)\n return\n\n if (!rootContext.pagedNavigation.value && rootContext.numberOfMonths.value > 1) {\n // Placeholder is set to first month of the new page\n const numberOfDays = getDaysInMonth(\n rootContext.placeholder.value.add({ months: rootContext.numberOfMonths.value - 1 }),\n )\n\n const computedIndex = newIndex - allCollectionItems.length + (newCollectionItems.length - numberOfDays)\n\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[computedIndex].focus()\n return\n }\n\n const computedIndex = newIndex - allCollectionItems.length\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n\n newCollectionItems[computedIndex].focus()\n })\n }\n }\n}\n</script>\n\n<template>\n <Primitive\n ref=\"primitiveElement\"\n v-bind=\"props\"\n role=\"button\"\n :aria-label=\"labelText\"\n data-reka-calendar-cell-trigger\n :aria-disabled=\"isDisabled || isUnavailable ? true : undefined\"\n :data-selected=\"isSelectedDate ? true : undefined\"\n :data-value=\"day.toString()\"\n :data-disabled=\"isDisabled ? '' : undefined\"\n :data-unavailable=\"isUnavailable ? '' : undefined\"\n :data-today=\"isDateToday ? '' : undefined\"\n :data-outside-view=\"isOutsideView ? '' : undefined\"\n :data-outside-visible-view=\"isOutsideVisibleView ? '' : undefined\"\n :data-focused=\"isFocusedDate ? '' : undefined\"\n :tabindex=\"isFocusedDate ? 0 : isOutsideView || isDisabled ? undefined : -1\"\n @click=\"handleClick\"\n @keydown.up.down.left.right.space.enter=\"handleArrowKey\"\n @keydown.enter.prevent\n >\n <slot\n :day-value=\"dayValue\"\n :disabled=\"isDisabled\"\n :today=\"isDateToday\"\n :selected=\"isSelectedDate\"\n :outside-view=\"isOutsideView\"\n :outside-visible-view=\"isOutsideVisibleView\"\n :unavailable=\"isUnavailable\"\n >\n {{ dayValue }}\n </slot>\n </Primitive>\n</template>\n"],"names":["computedIndex"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarCellTrigger.js","sources":["../../src/Calendar/CalendarCellTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport type { PrimitiveProps } from '@/Primitive'\nimport {\n\n getLocalTimeZone,\n isSameDay,\n isSameMonth,\n isToday,\n} from '@internationalized/date'\nimport { computed, nextTick } from 'vue'\nimport { getDaysInMonth, toDate } from '@/date'\nimport { useKbd } from '@/shared'\nimport { getSelectableCells } from './utils'\n\nexport interface CalendarCellTriggerProps extends PrimitiveProps {\n /** The date value provided to the cell trigger */\n day: DateValue\n /** The month in which the cell is rendered */\n month: DateValue\n}\n\nexport interface CalendarCellTriggerSlot {\n default?: (props: {\n /** Current day */\n dayValue: string\n /** Current disable state */\n disabled: boolean\n /** Current selected state */\n selected: boolean\n /** Current today state */\n today: boolean\n /** Current outside view state */\n outsideView: boolean\n /** Current outside visible view state */\n outsideVisibleView: boolean\n /** Current unavailable state */\n unavailable: boolean\n }) => any\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarCellTriggerProps>(), {\n as: 'div',\n})\n\ndefineSlots<CalendarCellTriggerSlot>()\n\nconst kbd = useKbd()\nconst rootContext = injectCalendarRootContext()\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nconst dayValue = computed(() => props.day.day.toLocaleString(rootContext.locale.value))\n\nconst labelText = computed(() => {\n return rootContext.formatter.custom(toDate(props.day), {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n })\n})\n\nconst isUnavailable = computed(() =>\n rootContext.isDateUnavailable?.(props.day) ?? false,\n)\nconst isDateToday = computed(() => {\n return isToday(props.day, getLocalTimeZone())\n})\nconst isOutsideView = computed(() => {\n return !isSameMonth(props.day, props.month)\n})\n\nconst isOutsideVisibleView = computed(() =>\n rootContext.isOutsideVisibleView(props.day),\n)\n\nconst isDisabled = computed(() => rootContext.isDateDisabled(props.day) || (rootContext.disableDaysOutsideCurrentView.value && isOutsideView.value))\n\nconst isFocusedDate = computed(() => {\n return !rootContext.disabled.value && isSameDay(props.day, rootContext.placeholder.value)\n})\nconst isSelectedDate = computed(() => rootContext.isDateSelected(props.day))\n\nfunction changeDate(date: DateValue) {\n if (rootContext.readonly.value)\n return\n if (rootContext.isDateDisabled(date) || rootContext.isDateUnavailable?.(date))\n return\n\n rootContext.onDateChange(date)\n}\n\nfunction handleClick() {\n if (isDisabled.value)\n return\n changeDate(props.day)\n}\n\nfunction handleArrowKey(e: KeyboardEvent) {\n if (isDisabled.value)\n return\n e.preventDefault()\n e.stopPropagation()\n const parentElement = rootContext.parentElement.value!\n const indexIncrementation = 7\n const sign = rootContext.dir.value === 'rtl' ? -1 : 1\n switch (e.code) {\n case kbd.ARROW_RIGHT:\n shiftFocus(currentElement.value, sign)\n break\n case kbd.ARROW_LEFT:\n shiftFocus(currentElement.value, -sign)\n break\n case kbd.ARROW_UP:\n shiftFocus(currentElement.value, -indexIncrementation)\n break\n case kbd.ARROW_DOWN:\n shiftFocus(currentElement.value, indexIncrementation)\n break\n case kbd.ENTER:\n case kbd.SPACE_CODE:\n changeDate(props.day)\n }\n\n function shiftFocus(node: HTMLElement, add: number) {\n const allCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!allCollectionItems.length)\n return\n\n const index = allCollectionItems.indexOf(node)\n const newIndex = index + add\n\n if (newIndex >= 0 && newIndex < allCollectionItems.length) {\n if (allCollectionItems[newIndex].hasAttribute('data-disabled')) {\n shiftFocus(allCollectionItems[newIndex], add)\n }\n allCollectionItems[newIndex].focus()\n return\n }\n\n if (newIndex < 0) {\n if (rootContext.isPrevButtonDisabled())\n return\n rootContext.prevPage()\n nextTick(() => {\n const newCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!newCollectionItems.length)\n return\n if (!rootContext.pagedNavigation.value && rootContext.numberOfMonths.value > 1) {\n // Placeholder is set to first month of the new page\n const numberOfDays = getDaysInMonth(rootContext.placeholder.value)\n const computedIndex = numberOfDays - Math.abs(newIndex)\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[\n computedIndex\n ].focus()\n return\n }\n const computedIndex = newCollectionItems.length - Math.abs(newIndex)\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[\n computedIndex\n ].focus()\n })\n return\n }\n\n if (newIndex >= allCollectionItems.length) {\n if (rootContext.isNextButtonDisabled())\n return\n rootContext.nextPage()\n nextTick(() => {\n const newCollectionItems: HTMLElement[] = getSelectableCells(parentElement)\n if (!newCollectionItems.length)\n return\n\n if (!rootContext.pagedNavigation.value && rootContext.numberOfMonths.value > 1) {\n // Placeholder is set to first month of the new page\n const numberOfDays = getDaysInMonth(\n rootContext.placeholder.value.add({ months: rootContext.numberOfMonths.value - 1 }),\n )\n\n const computedIndex = newIndex - allCollectionItems.length + (newCollectionItems.length - numberOfDays)\n\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n newCollectionItems[computedIndex].focus()\n return\n }\n\n const computedIndex = newIndex - allCollectionItems.length\n if (newCollectionItems[computedIndex].hasAttribute('data-disabled')) {\n shiftFocus(newCollectionItems[computedIndex], add)\n }\n\n newCollectionItems[computedIndex].focus()\n })\n }\n }\n}\n</script>\n\n<template>\n <Primitive\n ref=\"primitiveElement\"\n v-bind=\"props\"\n role=\"button\"\n :aria-label=\"labelText\"\n data-reka-calendar-cell-trigger\n :aria-disabled=\"isDisabled || isUnavailable ? true : undefined\"\n :data-selected=\"isSelectedDate ? true : undefined\"\n :data-value=\"day.toString()\"\n :data-disabled=\"isDisabled ? '' : undefined\"\n :data-unavailable=\"isUnavailable ? '' : undefined\"\n :data-today=\"isDateToday ? '' : undefined\"\n :data-outside-view=\"isOutsideView ? '' : undefined\"\n :data-outside-visible-view=\"isOutsideVisibleView ? '' : undefined\"\n :data-focused=\"isFocusedDate ? '' : undefined\"\n :tabindex=\"isFocusedDate ? 0 : isOutsideView || isDisabled ? undefined : -1\"\n @click=\"handleClick\"\n @keydown.up.down.left.right.space.enter=\"handleArrowKey\"\n @keydown.enter.prevent\n >\n <slot\n :day-value=\"dayValue\"\n :disabled=\"isDisabled\"\n :today=\"isDateToday\"\n :selected=\"isSelectedDate\"\n :outside-view=\"isOutsideView\"\n :outside-visible-view=\"isOutsideVisibleView\"\n :unavailable=\"isUnavailable\"\n >\n {{ dayValue }}\n </slot>\n </Primitive>\n</template>\n"],"names":["computedIndex"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarGrid.cjs","sources":["../../src/Calendar/CalendarGrid.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarGridProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"CalendarGrid.cjs","sources":["../../src/Calendar/CalendarGrid.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarGridProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarGridProps>(), { as: 'table' })\n\nconst rootContext = injectCalendarRootContext()\nconst disabled = computed(() => rootContext.disabled.value ? true : undefined)\nconst readonly = computed(() => rootContext.readonly.value ? true : undefined)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n tabindex=\"-1\"\n role=\"grid\"\n :aria-readonly=\"readonly\"\n :aria-disabled=\"disabled\"\n :data-readonly=\"readonly && ''\"\n :data-disabled=\"disabled && ''\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectCalendarRootContext","computed"],"mappings":";;;;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,+CAA0B,EAAA;AAC9C,IAAA,MAAM,WAAWC,YAAS,CAAA,MAAM,YAAY,QAAS,CAAA,KAAA,GAAQ,OAAO,MAAS,CAAA;AAC7E,IAAA,MAAM,WAAWA,YAAS,CAAA,MAAM,YAAY,QAAS,CAAA,KAAA,GAAQ,OAAO,MAAS,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarGrid.js","sources":["../../src/Calendar/CalendarGrid.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarGridProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"CalendarGrid.js","sources":["../../src/Calendar/CalendarGrid.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarGridProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarGridProps>(), { as: 'table' })\n\nconst rootContext = injectCalendarRootContext()\nconst disabled = computed(() => rootContext.disabled.value ? true : undefined)\nconst readonly = computed(() => rootContext.readonly.value ? true : undefined)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n tabindex=\"-1\"\n role=\"grid\"\n :aria-readonly=\"readonly\"\n :aria-disabled=\"disabled\"\n :data-readonly=\"readonly && ''\"\n :data-disabled=\"disabled && ''\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,yBAA0B,EAAA;AAC9C,IAAA,MAAM,WAAW,QAAS,CAAA,MAAM,YAAY,QAAS,CAAA,KAAA,GAAQ,OAAO,MAAS,CAAA;AAC7E,IAAA,MAAM,WAAW,QAAS,CAAA,MAAM,YAAY,QAAS,CAAA,KAAA,GAAQ,OAAO,MAAS,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarHeading.cjs","sources":["../../src/Calendar/CalendarHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarHeadingProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarHeadingProps>(), { as: 'div' })\n\ndefineSlots<{\n default
|
|
1
|
+
{"version":3,"file":"CalendarHeading.cjs","sources":["../../src/Calendar/CalendarHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarHeadingProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarHeadingProps>(), { as: 'div' })\n\ndefineSlots<{\n default?: (props: {\n /** Current month and year */\n headingValue: string\n }) => any\n}>()\n\nconst rootContext = injectCalendarRootContext()\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :data-disabled=\"rootContext.disabled.value ? '' : undefined\"\n >\n <slot :heading-value=\"rootContext.headingValue.value\">\n {{ rootContext.headingValue.value }}\n </slot>\n </Primitive>\n</template>\n"],"names":["injectCalendarRootContext"],"mappings":";;;;;;;;;;;;;AAUA,IAAA,MAAM,KAAQ,GAAA,OAAA;AASd,IAAA,MAAM,cAAcA,+CAA0B,EAAA;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarHeading.js","sources":["../../src/Calendar/CalendarHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarHeadingProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarHeadingProps>(), { as: 'div' })\n\ndefineSlots<{\n default
|
|
1
|
+
{"version":3,"file":"CalendarHeading.js","sources":["../../src/Calendar/CalendarHeading.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarHeadingProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarHeadingProps>(), { as: 'div' })\n\ndefineSlots<{\n default?: (props: {\n /** Current month and year */\n headingValue: string\n }) => any\n}>()\n\nconst rootContext = injectCalendarRootContext()\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :data-disabled=\"rootContext.disabled.value ? '' : undefined\"\n >\n <slot :heading-value=\"rootContext.headingValue.value\">\n {{ rootContext.headingValue.value }}\n </slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;AAUA,IAAA,MAAM,KAAQ,GAAA,OAAA;AASd,IAAA,MAAM,cAAc,yBAA0B,EAAA;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarNext.cjs","sources":["../../src/Calendar/CalendarNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"CalendarNext.cjs","sources":["../../src/Calendar/CalendarNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarNextProps extends PrimitiveProps {\n /** The function to be used for the next page. Overwrites the `nextPage` function set on the `CalendarRoot`. */\n nextPage?: (placeholder: DateValue) => DateValue\n}\n\nexport interface CalendarNextSlot {\n default?: (props: {\n /** Current disable state */\n disabled: boolean\n }) => any\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarNextProps>(), { as: 'button', step: 'month' })\ndefineSlots<CalendarNextSlot>()\n\nconst disabled = computed(() => rootContext.disabled.value || rootContext.isNextButtonDisabled(props.nextPage))\n\nconst rootContext = injectCalendarRootContext()\n</script>\n\n<template>\n <Primitive\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n aria-label=\"Next page\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :aria-disabled=\"disabled || undefined\"\n :data-disabled=\"disabled || undefined\"\n :disabled=\"disabled\"\n @click=\"rootContext.nextPage(props.nextPage)\"\n >\n <slot :disabled>\n Next page\n </slot>\n </Primitive>\n</template>\n"],"names":["computed","injectCalendarRootContext"],"mappings":";;;;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAM,MAAA,QAAA,GAAWA,YAAS,CAAA,MAAM,WAAY,CAAA,QAAA,CAAS,SAAS,WAAY,CAAA,oBAAA,CAAqB,KAAM,CAAA,QAAQ,CAAC,CAAA;AAE9G,IAAA,MAAM,cAAcC,+CAA0B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarNext.js","sources":["../../src/Calendar/CalendarNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"CalendarNext.js","sources":["../../src/Calendar/CalendarNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarNextProps extends PrimitiveProps {\n /** The function to be used for the next page. Overwrites the `nextPage` function set on the `CalendarRoot`. */\n nextPage?: (placeholder: DateValue) => DateValue\n}\n\nexport interface CalendarNextSlot {\n default?: (props: {\n /** Current disable state */\n disabled: boolean\n }) => any\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarNextProps>(), { as: 'button', step: 'month' })\ndefineSlots<CalendarNextSlot>()\n\nconst disabled = computed(() => rootContext.disabled.value || rootContext.isNextButtonDisabled(props.nextPage))\n\nconst rootContext = injectCalendarRootContext()\n</script>\n\n<template>\n <Primitive\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n aria-label=\"Next page\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :aria-disabled=\"disabled || undefined\"\n :data-disabled=\"disabled || undefined\"\n :disabled=\"disabled\"\n @click=\"rootContext.nextPage(props.nextPage)\"\n >\n <slot :disabled>\n Next page\n </slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,MAAM,WAAY,CAAA,QAAA,CAAS,SAAS,WAAY,CAAA,oBAAA,CAAqB,KAAM,CAAA,QAAQ,CAAC,CAAA;AAE9G,IAAA,MAAM,cAAc,yBAA0B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarPrev.cjs","sources":["../../src/Calendar/CalendarPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"CalendarPrev.cjs","sources":["../../src/Calendar/CalendarPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarPrevProps extends PrimitiveProps {\n /** The function to be used for the prev page. Overwrites the `prevPage` function set on the `CalendarRoot`. */\n prevPage?: (placeholder: DateValue) => DateValue\n}\n\nexport interface CalendarPrevSlot {\n default?: (props: {\n /** Current disable state */\n disabled: boolean\n }) => any\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarPrevProps>(), { as: 'button', step: 'month' })\ndefineSlots<CalendarPrevSlot>()\n\nconst disabled = computed(() => rootContext.disabled.value || rootContext.isPrevButtonDisabled(props.prevPage))\n\nconst rootContext = injectCalendarRootContext()\n</script>\n\n<template>\n <Primitive\n aria-label=\"Previous page\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :aria-disabled=\"disabled || undefined\"\n :data-disabled=\"disabled || undefined\"\n :disabled=\"disabled\"\n @click=\"rootContext.prevPage(props.prevPage)\"\n >\n <slot :disabled>\n Prev page\n </slot>\n </Primitive>\n</template>\n"],"names":["computed","injectCalendarRootContext"],"mappings":";;;;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAM,MAAA,QAAA,GAAWA,YAAS,CAAA,MAAM,WAAY,CAAA,QAAA,CAAS,SAAS,WAAY,CAAA,oBAAA,CAAqB,KAAM,CAAA,QAAQ,CAAC,CAAA;AAE9G,IAAA,MAAM,cAAcC,+CAA0B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarPrev.js","sources":["../../src/Calendar/CalendarPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"CalendarPrev.js","sources":["../../src/Calendar/CalendarPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface CalendarPrevProps extends PrimitiveProps {\n /** The function to be used for the prev page. Overwrites the `prevPage` function set on the `CalendarRoot`. */\n prevPage?: (placeholder: DateValue) => DateValue\n}\n\nexport interface CalendarPrevSlot {\n default?: (props: {\n /** Current disable state */\n disabled: boolean\n }) => any\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { Primitive } from '@/Primitive'\nimport { injectCalendarRootContext } from './CalendarRoot.vue'\n\nconst props = withDefaults(defineProps<CalendarPrevProps>(), { as: 'button', step: 'month' })\ndefineSlots<CalendarPrevSlot>()\n\nconst disabled = computed(() => rootContext.disabled.value || rootContext.isPrevButtonDisabled(props.prevPage))\n\nconst rootContext = injectCalendarRootContext()\n</script>\n\n<template>\n <Primitive\n aria-label=\"Previous page\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :aria-disabled=\"disabled || undefined\"\n :data-disabled=\"disabled || undefined\"\n :disabled=\"disabled\"\n @click=\"rootContext.prevPage(props.prevPage)\"\n >\n <slot :disabled>\n Prev page\n </slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAsBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,MAAM,WAAY,CAAA,QAAA,CAAS,SAAS,WAAY,CAAA,oBAAA,CAAqB,KAAM,CAAA,QAAQ,CAAC,CAAA;AAE9G,IAAA,MAAM,cAAc,yBAA0B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -21,8 +21,6 @@ const [injectCalendarRootContext, provideCalendarRootContext] = shared_createCon
|
|
|
21
21
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
22
22
|
__name: "CalendarRoot",
|
|
23
23
|
props: {
|
|
24
|
-
modelValue: {},
|
|
25
|
-
multiple: { type: Boolean, default: false },
|
|
26
24
|
defaultValue: { default: void 0 },
|
|
27
25
|
defaultPlaceholder: {},
|
|
28
26
|
placeholder: { default: void 0 },
|
|
@@ -44,6 +42,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
44
42
|
dir: {},
|
|
45
43
|
nextPage: {},
|
|
46
44
|
prevPage: {},
|
|
45
|
+
modelValue: {},
|
|
46
|
+
multiple: { type: Boolean, default: false },
|
|
47
|
+
disableDaysOutsideCurrentView: { type: Boolean, default: false },
|
|
47
48
|
asChild: { type: Boolean },
|
|
48
49
|
as: { default: "div" }
|
|
49
50
|
},
|
|
@@ -71,7 +72,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
71
72
|
nextPage: propsNextPage,
|
|
72
73
|
prevPage: propsPrevPage,
|
|
73
74
|
dir: propDir,
|
|
74
|
-
locale: propLocale
|
|
75
|
+
locale: propLocale,
|
|
76
|
+
disableDaysOutsideCurrentView
|
|
75
77
|
} = vue.toRefs(props);
|
|
76
78
|
const { primitiveElement, currentElement: parentElement } = Primitive_usePrimitiveElement.usePrimitiveElement();
|
|
77
79
|
const locale = shared_useLocale.useLocale(propLocale);
|
|
@@ -203,7 +205,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
203
205
|
prevPage,
|
|
204
206
|
parentElement,
|
|
205
207
|
onPlaceholderChange,
|
|
206
|
-
onDateChange
|
|
208
|
+
onDateChange,
|
|
209
|
+
disableDaysOutsideCurrentView
|
|
207
210
|
});
|
|
208
211
|
return (_ctx, _cache) => {
|
|
209
212
|
return vue.openBlock(), vue.createBlock(vue.unref(Primitive_Primitive.Primitive), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarRoot.cjs","sources":["../../src/Calendar/CalendarRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Grid, Matcher, WeekDayFormat } from '@/date'\n\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Formatter } from '@/shared'\nimport type { Direction } from '@/shared/types'\n\nimport type { DateValue } from '@internationalized/date'\nimport type { Ref } from 'vue'\nimport { createContext, useDirection, useLocale } from '@/shared'\nimport { getDefaultDate, handleCalendarInitialFocus } from '@/shared/date'\nimport { isEqualDay, isSameDay } from '@internationalized/date'\nimport { useCalendar, useCalendarState } from './useCalendar'\n\ntype CalendarRootContext = {\n locale: Ref<string>\n modelValue: Ref<DateValue | DateValue[] | undefined>\n placeholder: Ref<DateValue>\n pagedNavigation: Ref<boolean>\n preventDeselect: Ref<boolean>\n grid: Ref<Grid<DateValue>[]>\n weekDays: Ref<string[]>\n weekStartsOn: Ref<0 | 1 | 2 | 3 | 4 | 5 | 6>\n weekdayFormat: Ref<WeekDayFormat>\n fixedWeeks: Ref<boolean>\n multiple: Ref<boolean>\n numberOfMonths: Ref<number>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n initialFocus: Ref<boolean>\n onDateChange: (date: DateValue) => void\n onPlaceholderChange: (date: DateValue) => void\n fullCalendarLabel: Ref<string>\n parentElement: Ref<HTMLElement | undefined>\n headingValue: Ref<string>\n isInvalid: Ref<boolean>\n isDateDisabled: Matcher\n isDateSelected: Matcher\n isDateUnavailable?: Matcher\n isOutsideVisibleView: (date: DateValue) => boolean\n prevPage: (prevPageFunc?: (date: DateValue) => DateValue) => void\n nextPage: (nextPageFunc?: (date: DateValue) => DateValue) => void\n isNextButtonDisabled: (nextPageFunc?: (date: DateValue) => DateValue) => boolean\n isPrevButtonDisabled: (prevPageFunc?: (date: DateValue) => DateValue) => boolean\n formatter: Formatter\n dir: Ref<Direction>\n}\n\ninterface BaseCalendarRootProps extends PrimitiveProps {\n /** The default value for the calendar */\n defaultValue?: DateValue\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 /** This property causes the previous and next buttons to navigate by the number of months displayed at once, rather than one month */\n pagedNavigation?: boolean\n /** Whether or not to prevent the user from deselecting a date without selecting another date first */\n preventDeselect?: boolean\n /** The day of the week to start the calendar on */\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6\n /** The format to use for the weekday strings provided via the weekdays slot prop */\n weekdayFormat?: WeekDayFormat\n /** The accessible label for the calendar */\n calendarLabel?: string\n /** Whether or not to always display 6 weeks in the calendar */\n fixedWeeks?: 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 /** The number of months to display at once */\n numberOfMonths?: number\n /** Whether or not the calendar is disabled */\n disabled?: boolean\n /** Whether or not the calendar is readonly */\n readonly?: boolean\n /** If true, the calendar will focus the selected day, today, or the first day of the month depending on what is visible when the calendar is mounted */\n initialFocus?: boolean\n /** A function that returns whether or not a date is disabled */\n isDateDisabled?: Matcher\n /** A function that returns whether or not a date is unavailable */\n isDateUnavailable?: Matcher\n /** The reading direction of the calendar when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** A function that returns the next page of the calendar. It receives the current placeholder as an argument inside the component. */\n nextPage?: (placeholder: DateValue) => DateValue\n /** A function that returns the previous page of the calendar. It receives the current placeholder as an argument inside the component. */\n prevPage?: (placeholder: DateValue) => DateValue\n}\n\nexport interface MultipleCalendarRootProps extends BaseCalendarRootProps {\n /** The controlled checked state of the calendar. Can be bound as `v-model`. */\n modelValue?: DateValue[] | undefined\n /** Whether or not multiple dates can be selected */\n multiple: true\n}\n\nexport interface SingleCalendarRootProps extends BaseCalendarRootProps {\n /** The controlled checked state of the calendar. Can be bound as `v-model`. */\n modelValue?: DateValue | undefined\n /** Whether or not multiple dates can be selected */\n multiple?: false\n}\n\nexport type CalendarRootProps = MultipleCalendarRootProps | SingleCalendarRootProps\n\nexport type CalendarRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [date: DateValue | undefined]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectCalendarRootContext, provideCalendarRootContext]\n = createContext<CalendarRootContext>('CalendarRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\nimport { onMounted, toRefs, watch } from 'vue'\n\nconst props = withDefaults(defineProps<CalendarRootProps>(), {\n defaultValue: undefined,\n as: 'div',\n pagedNavigation: false,\n preventDeselect: false,\n weekStartsOn: 0,\n weekdayFormat: 'narrow',\n fixedWeeks: false,\n multiple: false,\n numberOfMonths: 1,\n disabled: false,\n readonly: false,\n initialFocus: false,\n placeholder: undefined,\n isDateDisabled: undefined,\n isDateUnavailable: undefined,\n})\nconst emits = defineEmits<CalendarRootEmits>()\ndefineSlots<{\n default: (props: {\n /** The current date of the placeholder */\n date: DateValue\n /** The grid of dates */\n grid: Grid<DateValue>[]\n /** The days of the week */\n weekDays: string[]\n /** The start of the week */\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6\n /** The calendar locale */\n locale: string\n /** Whether or not to always display 6 weeks in the calendar */\n fixedWeeks: boolean\n /** The current date of the calendar */\n modelValue: DateValue | undefined\n }) => any\n}>()\n\nconst {\n disabled,\n readonly,\n initialFocus,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n multiple,\n minValue,\n maxValue,\n numberOfMonths,\n preventDeselect,\n isDateDisabled: propsIsDateDisabled,\n isDateUnavailable: propsIsDateUnavailable,\n calendarLabel,\n defaultValue,\n nextPage: propsNextPage,\n prevPage: propsPrevPage,\n dir: propDir,\n locale: propLocale,\n} = toRefs(props)\n\nconst { primitiveElement, currentElement: parentElement }\n = usePrimitiveElement()\nconst locale = useLocale(propLocale)\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: defaultValue.value,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateValue | DateValue[] | undefined>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n defaultValue: modelValue.value,\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\nfunction onPlaceholderChange(value: DateValue) {\n placeholder.value = value.copy()\n}\n\nconst {\n fullCalendarLabel,\n headingValue,\n isDateDisabled,\n isDateUnavailable,\n isNextButtonDisabled,\n isPrevButtonDisabled,\n weekdays,\n isOutsideVisibleView,\n nextPage,\n prevPage,\n formatter,\n grid,\n} = useCalendar({\n locale,\n placeholder,\n weekStartsOn,\n fixedWeeks,\n numberOfMonths,\n minValue,\n maxValue,\n disabled,\n weekdayFormat,\n pagedNavigation,\n isDateDisabled: propsIsDateDisabled.value,\n isDateUnavailable: propsIsDateUnavailable.value,\n calendarLabel,\n nextPage: propsNextPage,\n prevPage: propsPrevPage,\n})\n\nconst {\n isInvalid,\n isDateSelected,\n} = useCalendarState({\n date: modelValue,\n isDateDisabled,\n isDateUnavailable,\n})\n\nwatch(modelValue, (_modelValue) => {\n if (Array.isArray(_modelValue) && _modelValue.length) {\n const lastValue = _modelValue[_modelValue.length - 1]\n if (lastValue && !isEqualDay(placeholder.value, lastValue))\n onPlaceholderChange(lastValue)\n }\n else if (!Array.isArray(_modelValue) && _modelValue && !isEqualDay(placeholder.value, _modelValue)) {\n onPlaceholderChange(_modelValue)\n }\n})\n\nfunction onDateChange(value: DateValue) {\n if (!multiple.value) {\n if (!modelValue.value) {\n modelValue.value = value.copy()\n return\n }\n\n if (!preventDeselect.value && isEqualDay(modelValue.value as DateValue, value)) {\n placeholder.value = value.copy()\n modelValue.value = undefined\n }\n else { modelValue.value = value.copy() }\n }\n else if (!modelValue.value) {\n modelValue.value = [value.copy()]\n }\n else if (Array.isArray(modelValue.value)) {\n const index = modelValue.value.findIndex(date => isSameDay(date, value))\n if (index === -1) {\n modelValue.value = [...modelValue.value, value]\n }\n else if (!preventDeselect.value) {\n const next = modelValue.value.filter(date => !isSameDay(date, value))\n if (!next.length) {\n placeholder.value = value.copy()\n modelValue.value = undefined\n return\n }\n modelValue.value = next.map(date => date.copy())\n }\n }\n}\n\nonMounted(() => {\n if (initialFocus.value)\n handleCalendarInitialFocus(parentElement.value)\n})\n\nprovideCalendarRootContext({\n isDateUnavailable,\n dir,\n isDateDisabled,\n locale,\n formatter,\n modelValue,\n placeholder,\n disabled,\n initialFocus,\n pagedNavigation,\n grid,\n weekDays: weekdays,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n multiple,\n numberOfMonths,\n readonly,\n preventDeselect,\n fullCalendarLabel,\n headingValue,\n isInvalid,\n isDateSelected,\n isNextButtonDisabled,\n isPrevButtonDisabled,\n isOutsideVisibleView,\n nextPage,\n prevPage,\n parentElement,\n onPlaceholderChange,\n onDateChange,\n})\n</script>\n\n<template>\n <Primitive\n ref=\"primitiveElement\"\n :as=\"as\"\n :as-child=\"asChild\"\n role=\"application\"\n :aria-label=\"fullCalendarLabel\"\n :data-readonly=\"readonly ? '' : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :dir=\"dir\"\n >\n <slot\n :date=\"placeholder\"\n :grid=\"grid\"\n :week-days=\"weekdays\"\n :week-starts-on=\"weekStartsOn\"\n :locale=\"locale\"\n :fixed-weeks=\"fixedWeeks\"\n :model-value=\"modelValue\"\n />\n <div\n style=\"border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; white-space: nowrap; width: 1px;\"\n >\n <div\n role=\"heading\"\n aria-level=\"2\"\n >\n {{ fullCalendarLabel }}\n </div>\n </div>\n </Primitive>\n</template>\n"],"names":["createContext","toRefs","usePrimitiveElement","useLocale","useDirection","useVModel","getDefaultDate","useCalendar","useCalendarState","watch","isEqualDay","isSameDay","date","onMounted","handleCalendarInitialFocus"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarRoot.cjs","sources":["../../src/Calendar/CalendarRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DateValue } from '@internationalized/date'\n\nimport type { Ref } from 'vue'\nimport type { Grid, Matcher, WeekDayFormat } from '@/date'\nimport type { PrimitiveProps } from '@/Primitive'\n\nimport type { Formatter } from '@/shared'\nimport type { Direction } from '@/shared/types'\nimport { isEqualDay, isSameDay } from '@internationalized/date'\nimport { createContext, useDirection, useLocale } from '@/shared'\nimport { getDefaultDate, handleCalendarInitialFocus } from '@/shared/date'\nimport { useCalendar, useCalendarState } from './useCalendar'\n\ntype CalendarRootContext = {\n locale: Ref<string>\n modelValue: Ref<DateValue | DateValue[] | undefined>\n placeholder: Ref<DateValue>\n pagedNavigation: Ref<boolean>\n preventDeselect: Ref<boolean>\n grid: Ref<Grid<DateValue>[]>\n weekDays: Ref<string[]>\n weekStartsOn: Ref<0 | 1 | 2 | 3 | 4 | 5 | 6>\n weekdayFormat: Ref<WeekDayFormat>\n fixedWeeks: Ref<boolean>\n multiple: Ref<boolean>\n numberOfMonths: Ref<number>\n disabled: Ref<boolean>\n readonly: Ref<boolean>\n initialFocus: Ref<boolean>\n onDateChange: (date: DateValue) => void\n onPlaceholderChange: (date: DateValue) => void\n fullCalendarLabel: Ref<string>\n parentElement: Ref<HTMLElement | undefined>\n headingValue: Ref<string>\n isInvalid: Ref<boolean>\n isDateDisabled: Matcher\n isDateSelected: Matcher\n isDateUnavailable?: Matcher\n isOutsideVisibleView: (date: DateValue) => boolean\n prevPage: (prevPageFunc?: (date: DateValue) => DateValue) => void\n nextPage: (nextPageFunc?: (date: DateValue) => DateValue) => void\n isNextButtonDisabled: (nextPageFunc?: (date: DateValue) => DateValue) => boolean\n isPrevButtonDisabled: (prevPageFunc?: (date: DateValue) => DateValue) => boolean\n formatter: Formatter\n dir: Ref<Direction>\n disableDaysOutsideCurrentView: Ref<boolean>\n}\n\nexport interface CalendarRootProps extends PrimitiveProps {\n /** The default value for the calendar */\n defaultValue?: DateValue\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 */\n placeholder?: DateValue\n /** This property causes the previous and next buttons to navigate by the number of months displayed at once, rather than one month */\n pagedNavigation?: boolean\n /** Whether or not to prevent the user from deselecting a date without selecting another date first */\n preventDeselect?: boolean\n /** The day of the week to start the calendar on */\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6\n /** The format to use for the weekday strings provided via the weekdays slot prop */\n weekdayFormat?: WeekDayFormat\n /** The accessible label for the calendar */\n calendarLabel?: string\n /** Whether or not to always display 6 weeks in the calendar */\n fixedWeeks?: 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 /** The number of months to display at once */\n numberOfMonths?: number\n /** Whether the calendar is disabled */\n disabled?: boolean\n /** Whether the calendar is readonly */\n readonly?: boolean\n /** If true, the calendar will focus the selected day, today, or the first day of the month depending on what is visible when the calendar is mounted */\n initialFocus?: boolean\n /** A function that returns whether or not a date is disabled */\n isDateDisabled?: Matcher\n /** A function that returns whether or not a date is unavailable */\n isDateUnavailable?: Matcher\n /** The reading direction of the calendar when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** A function that returns the next page of the calendar. It receives the current placeholder as an argument inside the component. */\n nextPage?: (placeholder: DateValue) => DateValue\n /** A function that returns the previous page of the calendar. It receives the current placeholder as an argument inside the component. */\n prevPage?: (placeholder: DateValue) => DateValue\n /** The controlled checked state of the calendar */\n modelValue?: DateValue | DateValue[] | undefined\n /** Whether multiple dates can be selected */\n multiple?: boolean\n /** Whether or not to disable days outside the current view. */\n disableDaysOutsideCurrentView?: boolean\n}\n\nexport type CalendarRootEmits = {\n /** Event handler called whenever the model value changes */\n 'update:modelValue': [date: DateValue | undefined]\n /** Event handler called whenever the placeholder value changes */\n 'update:placeholder': [date: DateValue]\n}\n\nexport const [injectCalendarRootContext, provideCalendarRootContext]\n = createContext<CalendarRootContext>('CalendarRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\nimport { onMounted, toRefs, watch } from 'vue'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\n\nconst props = withDefaults(defineProps<CalendarRootProps>(), {\n defaultValue: undefined,\n as: 'div',\n pagedNavigation: false,\n preventDeselect: false,\n weekStartsOn: 0,\n weekdayFormat: 'narrow',\n fixedWeeks: false,\n multiple: false,\n numberOfMonths: 1,\n disabled: false,\n readonly: false,\n initialFocus: false,\n placeholder: undefined,\n isDateDisabled: undefined,\n isDateUnavailable: undefined,\n disableDaysOutsideCurrentView: false,\n})\nconst emits = defineEmits<CalendarRootEmits>()\ndefineSlots<{\n default?: (props: {\n /** The current date of the placeholder */\n date: DateValue\n /** The grid of dates */\n grid: Grid<DateValue>[]\n /** The days of the week */\n weekDays: string[]\n /** The start of the week */\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6\n /** The calendar locale */\n locale: string\n /** Whether or not to always display 6 weeks in the calendar */\n fixedWeeks: boolean\n /** The current date of the calendar */\n modelValue: DateValue | DateValue[] | undefined\n }) => any\n}>()\n\nconst {\n disabled,\n readonly,\n initialFocus,\n pagedNavigation,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n multiple,\n minValue,\n maxValue,\n numberOfMonths,\n preventDeselect,\n isDateDisabled: propsIsDateDisabled,\n isDateUnavailable: propsIsDateUnavailable,\n calendarLabel,\n defaultValue,\n nextPage: propsNextPage,\n prevPage: propsPrevPage,\n dir: propDir,\n locale: propLocale,\n disableDaysOutsideCurrentView,\n} = toRefs(props)\n\nconst { primitiveElement, currentElement: parentElement }\n = usePrimitiveElement()\nconst locale = useLocale(propLocale)\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: defaultValue.value,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<DateValue | DateValue[] | undefined>\n\nconst defaultDate = getDefaultDate({\n defaultPlaceholder: props.placeholder,\n defaultValue: modelValue.value,\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\nfunction onPlaceholderChange(value: DateValue) {\n placeholder.value = value.copy()\n}\n\nconst {\n fullCalendarLabel,\n headingValue,\n isDateDisabled,\n isDateUnavailable,\n isNextButtonDisabled,\n isPrevButtonDisabled,\n weekdays,\n isOutsideVisibleView,\n nextPage,\n prevPage,\n formatter,\n grid,\n} = useCalendar({\n locale,\n placeholder,\n weekStartsOn,\n fixedWeeks,\n numberOfMonths,\n minValue,\n maxValue,\n disabled,\n weekdayFormat,\n pagedNavigation,\n isDateDisabled: propsIsDateDisabled.value,\n isDateUnavailable: propsIsDateUnavailable.value,\n calendarLabel,\n nextPage: propsNextPage,\n prevPage: propsPrevPage,\n})\n\nconst {\n isInvalid,\n isDateSelected,\n} = useCalendarState({\n date: modelValue,\n isDateDisabled,\n isDateUnavailable,\n})\n\nwatch(modelValue, (_modelValue) => {\n if (Array.isArray(_modelValue) && _modelValue.length) {\n const lastValue = _modelValue[_modelValue.length - 1]\n if (lastValue && !isEqualDay(placeholder.value, lastValue))\n onPlaceholderChange(lastValue)\n }\n else if (!Array.isArray(_modelValue) && _modelValue && !isEqualDay(placeholder.value, _modelValue)) {\n onPlaceholderChange(_modelValue)\n }\n})\n\nfunction onDateChange(value: DateValue) {\n if (!multiple.value) {\n if (!modelValue.value) {\n modelValue.value = value.copy()\n return\n }\n\n if (!preventDeselect.value && isEqualDay(modelValue.value as DateValue, value)) {\n placeholder.value = value.copy()\n modelValue.value = undefined\n }\n else { modelValue.value = value.copy() }\n }\n else if (!modelValue.value) {\n modelValue.value = [value.copy()]\n }\n else if (Array.isArray(modelValue.value)) {\n const index = modelValue.value.findIndex(date => isSameDay(date, value))\n if (index === -1) {\n modelValue.value = [...modelValue.value, value]\n }\n else if (!preventDeselect.value) {\n const next = modelValue.value.filter(date => !isSameDay(date, value))\n if (!next.length) {\n placeholder.value = value.copy()\n modelValue.value = undefined\n return\n }\n modelValue.value = next.map(date => date.copy())\n }\n }\n}\n\nonMounted(() => {\n if (initialFocus.value)\n handleCalendarInitialFocus(parentElement.value)\n})\n\nprovideCalendarRootContext({\n isDateUnavailable,\n dir,\n isDateDisabled,\n locale,\n formatter,\n modelValue,\n placeholder,\n disabled,\n initialFocus,\n pagedNavigation,\n grid,\n weekDays: weekdays,\n weekStartsOn,\n weekdayFormat,\n fixedWeeks,\n multiple,\n numberOfMonths,\n readonly,\n preventDeselect,\n fullCalendarLabel,\n headingValue,\n isInvalid,\n isDateSelected,\n isNextButtonDisabled,\n isPrevButtonDisabled,\n isOutsideVisibleView,\n nextPage,\n prevPage,\n parentElement,\n onPlaceholderChange,\n onDateChange,\n disableDaysOutsideCurrentView,\n})\n</script>\n\n<template>\n <Primitive\n ref=\"primitiveElement\"\n :as=\"as\"\n :as-child=\"asChild\"\n role=\"application\"\n :aria-label=\"fullCalendarLabel\"\n :data-readonly=\"readonly ? '' : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-invalid=\"isInvalid ? '' : undefined\"\n :dir=\"dir\"\n >\n <slot\n :date=\"placeholder\"\n :grid=\"grid\"\n :week-days=\"weekdays\"\n :week-starts-on=\"weekStartsOn\"\n :locale=\"locale\"\n :fixed-weeks=\"fixedWeeks\"\n :model-value=\"modelValue\"\n />\n <div\n style=\"border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; white-space: nowrap; width: 1px;\"\n >\n <div\n role=\"heading\"\n aria-level=\"2\"\n >\n {{ fullCalendarLabel }}\n </div>\n </div>\n </Primitive>\n</template>\n"],"names":["createContext","toRefs","usePrimitiveElement","useLocale","useDirection","useVModel","getDefaultDate","useCalendar","useCalendarState","watch","isEqualDay","isSameDay","date","onMounted","handleCalendarInitialFocus"],"mappings":"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"}
|
|
@@ -19,8 +19,6 @@ const [injectCalendarRootContext, provideCalendarRootContext] = createContext("C
|
|
|
19
19
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
20
20
|
__name: "CalendarRoot",
|
|
21
21
|
props: {
|
|
22
|
-
modelValue: {},
|
|
23
|
-
multiple: { type: Boolean, default: false },
|
|
24
22
|
defaultValue: { default: void 0 },
|
|
25
23
|
defaultPlaceholder: {},
|
|
26
24
|
placeholder: { default: void 0 },
|
|
@@ -42,6 +40,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
42
40
|
dir: {},
|
|
43
41
|
nextPage: {},
|
|
44
42
|
prevPage: {},
|
|
43
|
+
modelValue: {},
|
|
44
|
+
multiple: { type: Boolean, default: false },
|
|
45
|
+
disableDaysOutsideCurrentView: { type: Boolean, default: false },
|
|
45
46
|
asChild: { type: Boolean },
|
|
46
47
|
as: { default: "div" }
|
|
47
48
|
},
|
|
@@ -69,7 +70,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
69
70
|
nextPage: propsNextPage,
|
|
70
71
|
prevPage: propsPrevPage,
|
|
71
72
|
dir: propDir,
|
|
72
|
-
locale: propLocale
|
|
73
|
+
locale: propLocale,
|
|
74
|
+
disableDaysOutsideCurrentView
|
|
73
75
|
} = toRefs(props);
|
|
74
76
|
const { primitiveElement, currentElement: parentElement } = usePrimitiveElement();
|
|
75
77
|
const locale = useLocale(propLocale);
|
|
@@ -201,7 +203,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
201
203
|
prevPage,
|
|
202
204
|
parentElement,
|
|
203
205
|
onPlaceholderChange,
|
|
204
|
-
onDateChange
|
|
206
|
+
onDateChange,
|
|
207
|
+
disableDaysOutsideCurrentView
|
|
205
208
|
});
|
|
206
209
|
return (_ctx, _cache) => {
|
|
207
210
|
return openBlock(), createBlock(unref(Primitive), {
|