reka-ui 2.2.0 → 2.2.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/AccordionHeader.cjs.map +1 -1
- package/dist/Accordion/AccordionHeader.js.map +1 -1
- 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/Accordion/AccordionTrigger.cjs.map +1 -1
- package/dist/Accordion/AccordionTrigger.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.map +1 -1
- package/dist/Avatar/AvatarFallback.js.map +1 -1
- package/dist/Avatar/AvatarImage.cjs.map +1 -1
- package/dist/Avatar/AvatarImage.js.map +1 -1
- package/dist/Avatar/AvatarRoot.cjs.map +1 -1
- package/dist/Avatar/AvatarRoot.js.map +1 -1
- package/dist/Avatar/utils.cjs.map +1 -1
- package/dist/Avatar/utils.js.map +1 -1
- package/dist/Calendar/CalendarCell.cjs +1 -1
- package/dist/Calendar/CalendarCell.js +1 -1
- package/dist/Calendar/CalendarCellTrigger.cjs.map +1 -1
- package/dist/Calendar/CalendarCellTrigger.js.map +1 -1
- package/dist/Calendar/CalendarHeading.cjs +1 -1
- package/dist/Calendar/CalendarHeading.js +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.map +1 -1
- 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 +1 -1
- package/dist/Checkbox/CheckboxGroupRoot.cjs.map +1 -1
- package/dist/Checkbox/CheckboxGroupRoot.js +1 -1
- package/dist/Checkbox/CheckboxGroupRoot.js.map +1 -1
- package/dist/Checkbox/CheckboxIndicator.cjs.map +1 -1
- package/dist/Checkbox/CheckboxIndicator.js.map +1 -1
- package/dist/Checkbox/CheckboxRoot.cjs +1 -1
- package/dist/Checkbox/CheckboxRoot.cjs.map +1 -1
- package/dist/Checkbox/CheckboxRoot.js +1 -1
- package/dist/Checkbox/CheckboxRoot.js.map +1 -1
- package/dist/Collapsible/CollapsibleContent.cjs +1 -1
- package/dist/Collapsible/CollapsibleContent.cjs.map +1 -1
- package/dist/Collapsible/CollapsibleContent.js +1 -1
- package/dist/Collapsible/CollapsibleContent.js.map +1 -1
- package/dist/Collapsible/CollapsibleRoot.cjs.map +1 -1
- package/dist/Collapsible/CollapsibleRoot.js.map +1 -1
- package/dist/Collapsible/CollapsibleTrigger.cjs +1 -1
- package/dist/Collapsible/CollapsibleTrigger.js +1 -1
- package/dist/Collection/Collection.cjs.map +1 -1
- package/dist/Collection/Collection.js.map +1 -1
- package/dist/Combobox/ComboboxAnchor.cjs.map +1 -1
- package/dist/Combobox/ComboboxAnchor.js.map +1 -1
- package/dist/Combobox/ComboboxArrow.cjs.map +1 -1
- package/dist/Combobox/ComboboxArrow.js.map +1 -1
- package/dist/Combobox/ComboboxCancel.cjs +1 -0
- package/dist/Combobox/ComboboxCancel.cjs.map +1 -1
- package/dist/Combobox/ComboboxCancel.js +1 -0
- package/dist/Combobox/ComboboxCancel.js.map +1 -1
- package/dist/Combobox/ComboboxContent.cjs.map +1 -1
- package/dist/Combobox/ComboboxContent.js.map +1 -1
- package/dist/Combobox/ComboboxContentImpl.cjs +2 -2
- package/dist/Combobox/ComboboxContentImpl.cjs.map +1 -1
- package/dist/Combobox/ComboboxContentImpl.js +2 -2
- package/dist/Combobox/ComboboxContentImpl.js.map +1 -1
- package/dist/Combobox/ComboboxEmpty.cjs.map +1 -1
- package/dist/Combobox/ComboboxEmpty.js.map +1 -1
- package/dist/Combobox/ComboboxGroup.cjs +1 -1
- package/dist/Combobox/ComboboxGroup.js +1 -1
- package/dist/Combobox/ComboboxInput.cjs +9 -1
- package/dist/Combobox/ComboboxInput.cjs.map +1 -1
- package/dist/Combobox/ComboboxInput.js +9 -1
- package/dist/Combobox/ComboboxInput.js.map +1 -1
- package/dist/Combobox/ComboboxItem.cjs +4 -3
- package/dist/Combobox/ComboboxItem.cjs.map +1 -1
- package/dist/Combobox/ComboboxItem.js +4 -3
- package/dist/Combobox/ComboboxItem.js.map +1 -1
- package/dist/Combobox/ComboboxLabel.cjs +1 -1
- package/dist/Combobox/ComboboxLabel.js +1 -1
- package/dist/Combobox/ComboboxRoot.cjs.map +1 -1
- package/dist/Combobox/ComboboxRoot.js.map +1 -1
- package/dist/Combobox/ComboboxVirtualizer.cjs.map +1 -1
- package/dist/Combobox/ComboboxVirtualizer.js.map +1 -1
- package/dist/ContextMenu/ContextMenuContent.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuContent.js.map +1 -1
- package/dist/ContextMenu/ContextMenuPortal.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuPortal.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 +2 -2
- package/dist/ContextMenu/ContextMenuTrigger.cjs.map +1 -1
- package/dist/ContextMenu/ContextMenuTrigger.js +2 -2
- package/dist/ContextMenu/ContextMenuTrigger.js.map +1 -1
- package/dist/DateField/DateFieldInput.cjs.map +1 -1
- package/dist/DateField/DateFieldInput.js.map +1 -1
- package/dist/DateField/DateFieldRoot.cjs.map +1 -1
- package/dist/DateField/DateFieldRoot.js.map +1 -1
- package/dist/DatePicker/DatePickerArrow.cjs.map +1 -1
- package/dist/DatePicker/DatePickerArrow.js.map +1 -1
- package/dist/DatePicker/DatePickerCalendar.cjs.map +1 -1
- package/dist/DatePicker/DatePickerCalendar.js.map +1 -1
- package/dist/DatePicker/DatePickerCell.cjs.map +1 -1
- package/dist/DatePicker/DatePickerCell.js.map +1 -1
- package/dist/DatePicker/DatePickerCellTrigger.cjs.map +1 -1
- package/dist/DatePicker/DatePickerCellTrigger.js.map +1 -1
- package/dist/DatePicker/DatePickerClose.cjs.map +1 -1
- package/dist/DatePicker/DatePickerClose.js.map +1 -1
- package/dist/DatePicker/DatePickerContent.cjs.map +1 -1
- package/dist/DatePicker/DatePickerContent.js.map +1 -1
- package/dist/DatePicker/DatePickerGrid.cjs.map +1 -1
- package/dist/DatePicker/DatePickerGrid.js.map +1 -1
- package/dist/DatePicker/DatePickerGridBody.cjs.map +1 -1
- package/dist/DatePicker/DatePickerGridBody.js.map +1 -1
- package/dist/DatePicker/DatePickerGridHead.cjs.map +1 -1
- package/dist/DatePicker/DatePickerGridHead.js.map +1 -1
- package/dist/DatePicker/DatePickerGridRow.cjs.map +1 -1
- package/dist/DatePicker/DatePickerGridRow.js.map +1 -1
- package/dist/DatePicker/DatePickerHeadCell.cjs.map +1 -1
- package/dist/DatePicker/DatePickerHeadCell.js.map +1 -1
- package/dist/DatePicker/DatePickerHeader.cjs.map +1 -1
- package/dist/DatePicker/DatePickerHeader.js.map +1 -1
- package/dist/DatePicker/DatePickerHeading.cjs.map +1 -1
- package/dist/DatePicker/DatePickerHeading.js.map +1 -1
- package/dist/DatePicker/DatePickerInput.cjs.map +1 -1
- package/dist/DatePicker/DatePickerInput.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.map +1 -1
- package/dist/DatePicker/DatePickerRoot.js.map +1 -1
- package/dist/DatePicker/DatePickerTrigger.cjs.map +1 -1
- package/dist/DatePicker/DatePickerTrigger.js.map +1 -1
- package/dist/DateRangeField/DateRangeFieldInput.cjs.map +1 -1
- package/dist/DateRangeField/DateRangeFieldInput.js.map +1 -1
- package/dist/DateRangeField/DateRangeFieldRoot.cjs.map +1 -1
- package/dist/DateRangeField/DateRangeFieldRoot.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerAnchor.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerAnchor.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerArrow.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerArrow.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.cjs +1 -0
- package/dist/DateRangePicker/DateRangePickerCalendar.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCalendar.js +1 -0
- package/dist/DateRangePicker/DateRangePickerCalendar.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCell.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerCell.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerClose.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerClose.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerContent.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerContent.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGrid.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGrid.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridBody.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridBody.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridHead.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridHead.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridRow.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerGridRow.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeadCell.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeadCell.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeader.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeader.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeading.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerHeading.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerInput.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerInput.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 +3 -0
- package/dist/DateRangePicker/DateRangePickerRoot.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerRoot.js +3 -0
- package/dist/DateRangePicker/DateRangePickerRoot.js.map +1 -1
- package/dist/DateRangePicker/DateRangePickerTrigger.cjs.map +1 -1
- package/dist/DateRangePicker/DateRangePickerTrigger.js.map +1 -1
- package/dist/Dialog/DialogClose.cjs +1 -1
- package/dist/Dialog/DialogClose.cjs.map +1 -1
- package/dist/Dialog/DialogClose.js +1 -1
- package/dist/Dialog/DialogClose.js.map +1 -1
- package/dist/Dialog/DialogContent.cjs.map +1 -1
- package/dist/Dialog/DialogContent.js.map +1 -1
- package/dist/Dialog/DialogContentImpl.cjs.map +1 -1
- package/dist/Dialog/DialogContentImpl.js.map +1 -1
- package/dist/Dialog/DialogContentModal.cjs.map +1 -1
- package/dist/Dialog/DialogContentModal.js.map +1 -1
- package/dist/Dialog/DialogContentNonModal.cjs.map +1 -1
- package/dist/Dialog/DialogContentNonModal.js.map +1 -1
- package/dist/Dialog/DialogDescription.cjs.map +1 -1
- package/dist/Dialog/DialogDescription.js.map +1 -1
- package/dist/Dialog/DialogOverlay.cjs.map +1 -1
- package/dist/Dialog/DialogOverlay.js.map +1 -1
- package/dist/Dialog/DialogOverlayImpl.cjs.map +1 -1
- package/dist/Dialog/DialogOverlayImpl.js.map +1 -1
- package/dist/Dialog/DialogRoot.cjs.map +1 -1
- package/dist/Dialog/DialogRoot.js.map +1 -1
- package/dist/Dialog/DialogTitle.cjs.map +1 -1
- package/dist/Dialog/DialogTitle.js.map +1 -1
- package/dist/Dialog/DialogTrigger.cjs +1 -1
- package/dist/Dialog/DialogTrigger.cjs.map +1 -1
- package/dist/Dialog/DialogTrigger.js +1 -1
- package/dist/Dialog/DialogTrigger.js.map +1 -1
- package/dist/Dialog/utils.cjs.map +1 -1
- package/dist/Dialog/utils.js.map +1 -1
- package/dist/DismissableLayer/DismissableLayer.cjs.map +1 -1
- package/dist/DismissableLayer/DismissableLayer.js.map +1 -1
- package/dist/DismissableLayer/utils.cjs +4 -3
- package/dist/DismissableLayer/utils.cjs.map +1 -1
- package/dist/DismissableLayer/utils.js +4 -3
- package/dist/DismissableLayer/utils.js.map +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.cjs +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuContent.js +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 +1 -1
- package/dist/DropdownMenu/DropdownMenuTrigger.cjs.map +1 -1
- package/dist/DropdownMenu/DropdownMenuTrigger.js +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/EditablePreview.cjs.map +1 -1
- package/dist/Editable/EditablePreview.js.map +1 -1
- package/dist/Editable/EditableRoot.cjs.map +1 -1
- package/dist/Editable/EditableRoot.js.map +1 -1
- package/dist/FocusScope/FocusScope.cjs +1 -1
- package/dist/FocusScope/FocusScope.cjs.map +1 -1
- package/dist/FocusScope/FocusScope.js +1 -1
- package/dist/FocusScope/FocusScope.js.map +1 -1
- package/dist/HoverCard/HoverCardContent.cjs +1 -1
- package/dist/HoverCard/HoverCardContent.cjs.map +1 -1
- package/dist/HoverCard/HoverCardContent.js +1 -1
- package/dist/HoverCard/HoverCardContent.js.map +1 -1
- package/dist/HoverCard/HoverCardContentImpl.cjs +3 -3
- package/dist/HoverCard/HoverCardContentImpl.cjs.map +1 -1
- package/dist/HoverCard/HoverCardContentImpl.js +3 -3
- 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/HoverCard/HoverCardTrigger.cjs +1 -1
- package/dist/HoverCard/HoverCardTrigger.cjs.map +1 -1
- package/dist/HoverCard/HoverCardTrigger.js +1 -1
- package/dist/HoverCard/HoverCardTrigger.js.map +1 -1
- package/dist/Listbox/ListboxContent.cjs +1 -1
- package/dist/Listbox/ListboxContent.cjs.map +1 -1
- package/dist/Listbox/ListboxContent.js +1 -1
- package/dist/Listbox/ListboxContent.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 +2 -2
- package/dist/Listbox/ListboxItem.cjs.map +1 -1
- package/dist/Listbox/ListboxItem.js +2 -2
- package/dist/Listbox/ListboxItem.js.map +1 -1
- package/dist/Listbox/ListboxItemIndicator.cjs.map +1 -1
- package/dist/Listbox/ListboxItemIndicator.js.map +1 -1
- package/dist/Listbox/ListboxRoot.cjs +3 -3
- package/dist/Listbox/ListboxRoot.cjs.map +1 -1
- package/dist/Listbox/ListboxRoot.js +3 -3
- package/dist/Listbox/ListboxRoot.js.map +1 -1
- package/dist/Listbox/ListboxVirtualizer.cjs +4 -4
- package/dist/Listbox/ListboxVirtualizer.cjs.map +1 -1
- package/dist/Listbox/ListboxVirtualizer.js +4 -4
- package/dist/Listbox/ListboxVirtualizer.js.map +1 -1
- package/dist/Menu/MenuAnchor.cjs.map +1 -1
- package/dist/Menu/MenuAnchor.js.map +1 -1
- package/dist/Menu/MenuCheckboxItem.cjs +1 -1
- package/dist/Menu/MenuCheckboxItem.cjs.map +1 -1
- package/dist/Menu/MenuCheckboxItem.js +1 -1
- package/dist/Menu/MenuCheckboxItem.js.map +1 -1
- package/dist/Menu/MenuContent.cjs.map +1 -1
- package/dist/Menu/MenuContent.js.map +1 -1
- package/dist/Menu/MenuContentImpl.cjs +2 -2
- package/dist/Menu/MenuContentImpl.cjs.map +1 -1
- package/dist/Menu/MenuContentImpl.js +2 -2
- package/dist/Menu/MenuContentImpl.js.map +1 -1
- package/dist/Menu/MenuItem.cjs.map +1 -1
- package/dist/Menu/MenuItem.js.map +1 -1
- package/dist/Menu/MenuItemImpl.cjs +1 -1
- package/dist/Menu/MenuItemImpl.cjs.map +1 -1
- package/dist/Menu/MenuItemImpl.js +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/MenuRadioItem.cjs +1 -1
- package/dist/Menu/MenuRadioItem.cjs.map +1 -1
- package/dist/Menu/MenuRadioItem.js +1 -1
- package/dist/Menu/MenuRadioItem.js.map +1 -1
- package/dist/Menu/MenuRoot.cjs +2 -2
- package/dist/Menu/MenuRoot.cjs.map +1 -1
- package/dist/Menu/MenuRoot.js +2 -2
- package/dist/Menu/MenuRoot.js.map +1 -1
- package/dist/Menu/MenuRootContentModal.cjs.map +1 -1
- package/dist/Menu/MenuRootContentModal.js.map +1 -1
- package/dist/Menu/MenuRootContentNonModal.cjs.map +1 -1
- package/dist/Menu/MenuRootContentNonModal.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/MenuSubContent.cjs.map +1 -1
- package/dist/Menu/MenuSubContent.js.map +1 -1
- package/dist/Menu/MenuSubTrigger.cjs +1 -1
- package/dist/Menu/MenuSubTrigger.cjs.map +1 -1
- package/dist/Menu/MenuSubTrigger.js +1 -1
- package/dist/Menu/MenuSubTrigger.js.map +1 -1
- package/dist/Menubar/MenubarContent.cjs +1 -1
- package/dist/Menubar/MenubarContent.cjs.map +1 -1
- package/dist/Menubar/MenubarContent.js +1 -1
- package/dist/Menubar/MenubarContent.js.map +1 -1
- package/dist/Menubar/MenubarGroup.cjs.map +1 -1
- package/dist/Menubar/MenubarGroup.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/MenubarSubContent.cjs.map +1 -1
- package/dist/Menubar/MenubarSubContent.js.map +1 -1
- package/dist/Menubar/MenubarTrigger.cjs +1 -1
- package/dist/Menubar/MenubarTrigger.cjs.map +1 -1
- package/dist/Menubar/MenubarTrigger.js +1 -1
- package/dist/Menubar/MenubarTrigger.js.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContent.cjs +1 -1
- package/dist/NavigationMenu/NavigationMenuContent.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuContent.js +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/NavigationMenuLink.cjs.map +1 -1
- package/dist/NavigationMenu/NavigationMenuLink.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/NumberFieldDecrement.cjs +1 -1
- package/dist/NumberField/NumberFieldDecrement.cjs.map +1 -1
- package/dist/NumberField/NumberFieldDecrement.js +1 -1
- package/dist/NumberField/NumberFieldDecrement.js.map +1 -1
- package/dist/NumberField/NumberFieldIncrement.cjs.map +1 -1
- package/dist/NumberField/NumberFieldIncrement.js.map +1 -1
- package/dist/NumberField/NumberFieldInput.cjs +1 -1
- package/dist/NumberField/NumberFieldInput.cjs.map +1 -1
- package/dist/NumberField/NumberFieldInput.js +1 -1
- package/dist/NumberField/NumberFieldInput.js.map +1 -1
- package/dist/NumberField/NumberFieldRoot.cjs.map +1 -1
- package/dist/NumberField/NumberFieldRoot.js.map +1 -1
- package/dist/NumberField/utils.cjs.map +1 -1
- package/dist/NumberField/utils.js +1 -1
- package/dist/NumberField/utils.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/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/Pagination/utils.cjs.map +1 -1
- package/dist/Pagination/utils.js.map +1 -1
- package/dist/PinInput/PinInputInput.cjs.map +1 -1
- package/dist/PinInput/PinInputInput.js.map +1 -1
- package/dist/PinInput/PinInputRoot.cjs.map +1 -1
- 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/PopoverClose.cjs.map +1 -1
- package/dist/Popover/PopoverClose.js.map +1 -1
- package/dist/Popover/PopoverContent.cjs.map +1 -1
- package/dist/Popover/PopoverContent.js.map +1 -1
- package/dist/Popover/PopoverContentImpl.cjs +1 -1
- package/dist/Popover/PopoverContentImpl.cjs.map +1 -1
- package/dist/Popover/PopoverContentImpl.js +1 -1
- package/dist/Popover/PopoverContentImpl.js.map +1 -1
- package/dist/Popover/PopoverContentModal.cjs +1 -1
- package/dist/Popover/PopoverContentModal.cjs.map +1 -1
- package/dist/Popover/PopoverContentModal.js +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 +1 -1
- package/dist/Popover/PopoverTrigger.cjs.map +1 -1
- package/dist/Popover/PopoverTrigger.js +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 +2 -2
- package/dist/Popper/PopperContent.cjs.map +1 -1
- package/dist/Popper/PopperContent.js +2 -2
- package/dist/Popper/PopperContent.js.map +1 -1
- package/dist/Popper/PopperRoot.cjs.map +1 -1
- package/dist/Popper/PopperRoot.js.map +1 -1
- package/dist/Presence/Presence.cjs +1 -1
- package/dist/Presence/Presence.cjs.map +1 -1
- package/dist/Presence/Presence.js +1 -1
- package/dist/Presence/Presence.js.map +1 -1
- package/dist/Presence/usePresence.cjs +2 -2
- package/dist/Presence/usePresence.cjs.map +1 -1
- package/dist/Presence/usePresence.js +2 -2
- package/dist/Presence/usePresence.js.map +1 -1
- package/dist/Primitive/Primitive.cjs.map +1 -1
- package/dist/Primitive/Primitive.js.map +1 -1
- package/dist/Primitive/Slot.cjs.map +1 -1
- package/dist/Primitive/Slot.js.map +1 -1
- package/dist/Primitive/usePrimitiveElement.cjs.map +1 -1
- package/dist/Primitive/usePrimitiveElement.js.map +1 -1
- package/dist/Progress/ProgressIndicator.cjs.map +1 -1
- package/dist/Progress/ProgressIndicator.js.map +1 -1
- package/dist/Progress/ProgressRoot.cjs.map +1 -1
- package/dist/Progress/ProgressRoot.js.map +1 -1
- package/dist/RadioGroup/Radio.cjs.map +1 -1
- package/dist/RadioGroup/Radio.js.map +1 -1
- package/dist/RadioGroup/RadioGroupIndicator.cjs.map +1 -1
- package/dist/RadioGroup/RadioGroupIndicator.js.map +1 -1
- package/dist/RadioGroup/RadioGroupItem.cjs +1 -1
- package/dist/RadioGroup/RadioGroupItem.cjs.map +1 -1
- package/dist/RadioGroup/RadioGroupItem.js +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/RadioGroup/utils.cjs.map +1 -1
- package/dist/RadioGroup/utils.js.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCell.cjs +1 -1
- package/dist/RangeCalendar/RangeCalendarCell.js +1 -1
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs +2 -2
- package/dist/RangeCalendar/RangeCalendarCellTrigger.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarCellTrigger.js +2 -2
- 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 +1 -1
- package/dist/RangeCalendar/RangeCalendarHeading.js +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 +8 -3
- package/dist/RangeCalendar/RangeCalendarRoot.cjs.map +1 -1
- package/dist/RangeCalendar/RangeCalendarRoot.js +8 -3
- package/dist/RangeCalendar/RangeCalendarRoot.js.map +1 -1
- package/dist/RangeCalendar/useRangeCalendar.cjs +8 -2
- package/dist/RangeCalendar/useRangeCalendar.cjs.map +1 -1
- package/dist/RangeCalendar/useRangeCalendar.js +8 -2
- 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 +1 -1
- package/dist/RovingFocus/RovingFocusItem.cjs.map +1 -1
- package/dist/RovingFocus/RovingFocusItem.js +1 -1
- package/dist/RovingFocus/RovingFocusItem.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaCorner.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaCorner.js.map +1 -1
- package/dist/ScrollArea/ScrollAreaCornerImpl.cjs +1 -1
- package/dist/ScrollArea/ScrollAreaCornerImpl.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaCornerImpl.js +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 +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbar.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbar.js +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/ScrollAreaScrollbarVisible.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaScrollbarVisible.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 +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.cjs.map +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.js +1 -1
- package/dist/ScrollArea/ScrollAreaViewport.js.map +1 -1
- package/dist/ScrollArea/utils.cjs.map +1 -1
- package/dist/ScrollArea/utils.js.map +1 -1
- package/dist/Select/BubbleSelect.cjs.map +1 -1
- package/dist/Select/BubbleSelect.js.map +1 -1
- package/dist/Select/SelectArrow.cjs +1 -1
- package/dist/Select/SelectArrow.cjs.map +1 -1
- package/dist/Select/SelectArrow.js +1 -1
- package/dist/Select/SelectArrow.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 +4 -4
- package/dist/Select/SelectContentImpl.cjs.map +1 -1
- package/dist/Select/SelectContentImpl.js +4 -4
- package/dist/Select/SelectContentImpl.js.map +1 -1
- package/dist/Select/SelectItem.cjs +1 -1
- package/dist/Select/SelectItem.cjs.map +1 -1
- package/dist/Select/SelectItem.js +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/SelectItemIndicator.cjs.map +1 -1
- package/dist/Select/SelectItemIndicator.js.map +1 -1
- package/dist/Select/SelectItemText.cjs.map +1 -1
- package/dist/Select/SelectItemText.js.map +1 -1
- package/dist/Select/SelectPopperPosition.cjs +1 -1
- package/dist/Select/SelectPopperPosition.cjs.map +1 -1
- package/dist/Select/SelectPopperPosition.js +1 -1
- package/dist/Select/SelectPopperPosition.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 +2 -2
- package/dist/Select/SelectRoot.cjs.map +1 -1
- package/dist/Select/SelectRoot.js +2 -2
- 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/SelectScrollDownButton.cjs +1 -1
- package/dist/Select/SelectScrollDownButton.cjs.map +1 -1
- package/dist/Select/SelectScrollDownButton.js +1 -1
- package/dist/Select/SelectScrollDownButton.js.map +1 -1
- package/dist/Select/SelectTrigger.cjs +3 -3
- package/dist/Select/SelectTrigger.cjs.map +1 -1
- package/dist/Select/SelectTrigger.js +3 -3
- package/dist/Select/SelectTrigger.js.map +1 -1
- package/dist/Select/SelectValue.cjs +2 -1
- package/dist/Select/SelectValue.cjs.map +1 -1
- package/dist/Select/SelectValue.js +2 -1
- package/dist/Select/SelectValue.js.map +1 -1
- package/dist/Select/SelectViewport.cjs +1 -1
- package/dist/Select/SelectViewport.cjs.map +1 -1
- package/dist/Select/SelectViewport.js +1 -1
- package/dist/Select/SelectViewport.js.map +1 -1
- package/dist/Select/utils.cjs +4 -0
- package/dist/Select/utils.cjs.map +1 -1
- package/dist/Select/utils.js +4 -1
- package/dist/Select/utils.js.map +1 -1
- package/dist/Slider/SliderHorizontal.cjs.map +1 -1
- package/dist/Slider/SliderHorizontal.js.map +1 -1
- package/dist/Slider/SliderRange.cjs.map +1 -1
- package/dist/Slider/SliderRange.js.map +1 -1
- package/dist/Slider/SliderRoot.cjs +1 -1
- package/dist/Slider/SliderRoot.cjs.map +1 -1
- package/dist/Slider/SliderRoot.js +1 -1
- package/dist/Slider/SliderRoot.js.map +1 -1
- package/dist/Slider/SliderThumb.cjs +1 -1
- package/dist/Slider/SliderThumb.cjs.map +1 -1
- package/dist/Slider/SliderThumb.js +1 -1
- package/dist/Slider/SliderThumb.js.map +1 -1
- package/dist/Slider/SliderThumbImpl.cjs +1 -1
- package/dist/Slider/SliderThumbImpl.cjs.map +1 -1
- package/dist/Slider/SliderThumbImpl.js +1 -1
- package/dist/Slider/SliderThumbImpl.js.map +1 -1
- package/dist/Slider/SliderVertical.cjs.map +1 -1
- package/dist/Slider/SliderVertical.js.map +1 -1
- package/dist/Splitter/SplitterGroup.cjs +5 -5
- package/dist/Splitter/SplitterGroup.cjs.map +1 -1
- package/dist/Splitter/SplitterGroup.js +5 -5
- package/dist/Splitter/SplitterGroup.js.map +1 -1
- package/dist/Splitter/SplitterPanel.cjs.map +1 -1
- package/dist/Splitter/SplitterPanel.js.map +1 -1
- package/dist/Splitter/SplitterResizeHandle.cjs +1 -1
- package/dist/Splitter/SplitterResizeHandle.cjs.map +1 -1
- package/dist/Splitter/SplitterResizeHandle.js +1 -1
- package/dist/Splitter/SplitterResizeHandle.js.map +1 -1
- package/dist/Stepper/StepperDescription.cjs +1 -1
- package/dist/Stepper/StepperDescription.cjs.map +1 -1
- package/dist/Stepper/StepperDescription.js +1 -1
- package/dist/Stepper/StepperDescription.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.map +1 -1
- package/dist/Stepper/StepperRoot.js.map +1 -1
- package/dist/Stepper/StepperSeparator.cjs.map +1 -1
- package/dist/Stepper/StepperSeparator.js.map +1 -1
- package/dist/Stepper/StepperTitle.cjs.map +1 -1
- package/dist/Stepper/StepperTitle.js.map +1 -1
- package/dist/Stepper/StepperTrigger.cjs +1 -1
- package/dist/Stepper/StepperTrigger.cjs.map +1 -1
- package/dist/Stepper/StepperTrigger.js +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/Switch/SwitchThumb.cjs.map +1 -1
- package/dist/Switch/SwitchThumb.js.map +1 -1
- package/dist/Tabs/TabsContent.cjs +1 -1
- package/dist/Tabs/TabsContent.cjs.map +1 -1
- package/dist/Tabs/TabsContent.js +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 +1 -1
- package/dist/Tabs/TabsList.cjs.map +1 -1
- package/dist/Tabs/TabsList.js +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/TagsInputClear.cjs +1 -1
- package/dist/TagsInput/TagsInputClear.cjs.map +1 -1
- package/dist/TagsInput/TagsInputClear.js +1 -1
- package/dist/TagsInput/TagsInputClear.js.map +1 -1
- package/dist/TagsInput/TagsInputInput.cjs +1 -1
- package/dist/TagsInput/TagsInputInput.cjs.map +1 -1
- package/dist/TagsInput/TagsInputInput.js +1 -1
- 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 +1 -1
- package/dist/TagsInput/TagsInputItemDelete.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItemDelete.js +1 -1
- package/dist/TagsInput/TagsInputItemDelete.js.map +1 -1
- package/dist/TagsInput/TagsInputItemText.cjs +1 -1
- package/dist/TagsInput/TagsInputItemText.cjs.map +1 -1
- package/dist/TagsInput/TagsInputItemText.js +1 -1
- package/dist/TagsInput/TagsInputItemText.js.map +1 -1
- package/dist/TagsInput/TagsInputRoot.cjs.map +1 -1
- package/dist/TagsInput/TagsInputRoot.js.map +1 -1
- package/dist/TimeField/TimeFieldInput.cjs.map +1 -1
- package/dist/TimeField/TimeFieldInput.js.map +1 -1
- package/dist/TimeField/TimeFieldRoot.cjs +1 -1
- package/dist/TimeField/TimeFieldRoot.cjs.map +1 -1
- package/dist/TimeField/TimeFieldRoot.js +1 -1
- package/dist/TimeField/TimeFieldRoot.js.map +1 -1
- package/dist/Toast/ToastAnnounce.cjs +1 -1
- package/dist/Toast/ToastAnnounce.cjs.map +1 -1
- package/dist/Toast/ToastAnnounce.js +1 -1
- package/dist/Toast/ToastAnnounce.js.map +1 -1
- package/dist/Toast/ToastProvider.cjs.map +1 -1
- package/dist/Toast/ToastProvider.js.map +1 -1
- package/dist/Toast/ToastRoot.cjs +28 -20
- package/dist/Toast/ToastRoot.cjs.map +1 -1
- package/dist/Toast/ToastRoot.js +28 -20
- package/dist/Toast/ToastRoot.js.map +1 -1
- package/dist/Toast/ToastRootImpl.cjs +3 -3
- package/dist/Toast/ToastRootImpl.cjs.map +1 -1
- package/dist/Toast/ToastRootImpl.js +3 -3
- 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/Toolbar/ToolbarSeparator.cjs +1 -1
- package/dist/Toolbar/ToolbarSeparator.js +1 -1
- package/dist/Toolbar/ToolbarToggleGroup.cjs +1 -1
- package/dist/Toolbar/ToolbarToggleGroup.cjs.map +1 -1
- package/dist/Toolbar/ToolbarToggleGroup.js +1 -1
- package/dist/Toolbar/ToolbarToggleGroup.js.map +1 -1
- package/dist/Toolbar/ToolbarToggleItem.cjs.map +1 -1
- package/dist/Toolbar/ToolbarToggleItem.js.map +1 -1
- package/dist/Tooltip/TooltipContent.cjs +1 -1
- package/dist/Tooltip/TooltipContent.cjs.map +1 -1
- package/dist/Tooltip/TooltipContent.js +1 -1
- package/dist/Tooltip/TooltipContent.js.map +1 -1
- package/dist/Tooltip/TooltipContentHoverable.cjs.map +1 -1
- package/dist/Tooltip/TooltipContentHoverable.js.map +1 -1
- package/dist/Tooltip/TooltipContentImpl.cjs +3 -3
- package/dist/Tooltip/TooltipContentImpl.cjs.map +1 -1
- package/dist/Tooltip/TooltipContentImpl.js +3 -3
- 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 +4 -1
- package/dist/Tooltip/TooltipTrigger.cjs.map +1 -1
- package/dist/Tooltip/TooltipTrigger.js +4 -1
- package/dist/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/Tree/TreeItem.cjs.map +1 -1
- package/dist/Tree/TreeItem.js.map +1 -1
- package/dist/Tree/TreeRoot.cjs +1 -1
- package/dist/Tree/TreeRoot.cjs.map +1 -1
- package/dist/Tree/TreeRoot.js +1 -1
- package/dist/Tree/TreeRoot.js.map +1 -1
- package/dist/Tree/TreeVirtualizer.cjs +3 -3
- package/dist/Tree/TreeVirtualizer.cjs.map +1 -1
- package/dist/Tree/TreeVirtualizer.js +3 -3
- package/dist/Tree/TreeVirtualizer.js.map +1 -1
- package/dist/Tree/utils.cjs.map +1 -1
- package/dist/Tree/utils.js.map +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInput.cjs.map +1 -1
- package/dist/VisuallyHidden/VisuallyHiddenInput.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/composables/useWindowSplitterBehavior.cjs.map +1 -1
- package/dist/composables/useWindowSplitterBehavior.js.map +1 -1
- package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs +3 -3
- package/dist/composables/useWindowSplitterPanelGroupBehavior.cjs.map +1 -1
- package/dist/composables/useWindowSplitterPanelGroupBehavior.js +3 -3
- package/dist/composables/useWindowSplitterPanelGroupBehavior.js.map +1 -1
- package/dist/date/calendar.cjs +1 -1
- package/dist/date/calendar.cjs.map +1 -1
- package/dist/date/calendar.js +1 -1
- package/dist/date/calendar.js.map +1 -1
- package/dist/date/comparators.cjs +6 -4
- package/dist/date/comparators.cjs.map +1 -1
- package/dist/date/comparators.js +6 -4
- package/dist/date/comparators.js.map +1 -1
- package/dist/date/parser.cjs.map +1 -1
- package/dist/date/parser.js.map +1 -1
- package/dist/date/useDateField.cjs.map +1 -1
- package/dist/date/useDateField.js.map +1 -1
- package/dist/date/utils.cjs +7 -7
- package/dist/date/utils.cjs.map +1 -1
- package/dist/date/utils.js +7 -7
- package/dist/date/utils.js.map +1 -1
- package/dist/date.d.ts +2 -2
- package/dist/index.cjs +347 -347
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1188 -1323
- package/dist/index.js +161 -161
- package/dist/index.js.map +1 -1
- package/dist/shared/createContext.cjs.map +1 -1
- package/dist/shared/createContext.js.map +1 -1
- package/dist/shared/renderSlotFragments.cjs.map +1 -1
- package/dist/shared/renderSlotFragments.js.map +1 -1
- package/dist/shared/useArrowNavigation.cjs.map +1 -1
- package/dist/shared/useArrowNavigation.js.map +1 -1
- package/dist/shared/useBodyScrollLock.cjs +1 -1
- package/dist/shared/useBodyScrollLock.cjs.map +1 -1
- package/dist/shared/useBodyScrollLock.js +1 -1
- package/dist/shared/useBodyScrollLock.js.map +1 -1
- package/dist/shared/useDateFormatter.cjs +1 -1
- package/dist/shared/useDateFormatter.cjs.map +1 -1
- package/dist/shared/useDateFormatter.js +1 -1
- 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/useFilter.cjs.map +1 -1
- package/dist/shared/useFilter.js.map +1 -1
- package/dist/shared/useFormControl.cjs.map +1 -1
- package/dist/shared/useFormControl.js.map +1 -1
- package/dist/shared/useForwardExpose.cjs.map +1 -1
- package/dist/shared/useForwardExpose.js.map +1 -1
- package/dist/shared/useForwardProps.cjs.map +1 -1
- package/dist/shared/useForwardProps.js.map +1 -1
- package/dist/shared/useForwardPropsEmits.cjs.map +1 -1
- package/dist/shared/useForwardPropsEmits.js.map +1 -1
- package/dist/shared/useGraceArea.cjs +1 -1
- package/dist/shared/useGraceArea.cjs.map +1 -1
- package/dist/shared/useGraceArea.js +1 -1
- package/dist/shared/useGraceArea.js.map +1 -1
- package/dist/shared/useHideOthers.cjs.map +1 -1
- package/dist/shared/useHideOthers.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/dist/shared/useSelectionBehavior.cjs +2 -2
- package/dist/shared/useSelectionBehavior.cjs.map +1 -1
- package/dist/shared/useSelectionBehavior.js +2 -2
- package/dist/shared/useSelectionBehavior.js.map +1 -1
- package/dist/shared/useSingleOrMultipleValue.cjs +1 -1
- package/dist/shared/useSingleOrMultipleValue.cjs.map +1 -1
- package/dist/shared/useSingleOrMultipleValue.js +1 -1
- package/dist/shared/useSingleOrMultipleValue.js.map +1 -1
- package/dist/shared/useSize.cjs.map +1 -1
- package/dist/shared/useSize.js.map +1 -1
- package/dist/shared/useStateMachine.cjs.map +1 -1
- package/dist/shared/useStateMachine.js.map +1 -1
- package/dist/shared/withDefault.cjs.map +1 -1
- package/dist/shared/withDefault.js.map +1 -1
- package/dist/utils/calculate.cjs +1 -1
- package/dist/utils/calculate.cjs.map +1 -1
- package/dist/utils/calculate.js +1 -1
- package/dist/utils/calculate.js.map +1 -1
- package/dist/utils/dom.cjs.map +1 -1
- package/dist/utils/dom.js.map +1 -1
- package/dist/utils/registry.cjs +1 -1
- package/dist/utils/registry.cjs.map +1 -1
- package/dist/utils/registry.js +1 -1
- package/dist/utils/registry.js.map +1 -1
- package/dist/utils/resizePanel.cjs +1 -1
- package/dist/utils/resizePanel.cjs.map +1 -1
- package/dist/utils/resizePanel.js +1 -1
- package/dist/utils/resizePanel.js.map +1 -1
- package/dist/utils/style.cjs.map +1 -1
- package/dist/utils/style.js.map +1 -1
- package/package.json +7 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberFieldRoot.js","sources":["../../src/NumberField/NumberFieldRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\nimport { clamp, createContext, snapValueToStep, useFormControl, useLocale } from '@/shared'\nimport { type HTMLAttributes, type Ref, computed, ref, toRefs } from 'vue'\nimport type { FormFieldProps } from '@/shared/types'\n\nexport interface NumberFieldRootProps extends PrimitiveProps, FormFieldProps {\n defaultValue?: number\n modelValue?: number | null\n /** The smallest value allowed for the input. */\n min?: number\n /** The largest value allowed for the input. */\n max?: number\n /** The amount that the input value changes with each increment or decrement \"tick\". */\n step?: number\n /** When `false`, prevents the value from snapping to the nearest increment of the step value */\n stepSnapping?: boolean\n /** Formatting options for the value displayed in the number field. This also affects what characters are allowed to be typed by the user. */\n formatOptions?: Intl.NumberFormatOptions\n /** The locale to use for formatting dates */\n locale?: string\n /** When `true`, prevents the user from interacting with the Number Field. */\n disabled?: boolean\n /** When `true`, prevents the value from changing on wheel scroll. */\n disableWheelChange?: boolean\n /** Id of the element */\n id?: string\n}\n\nexport type NumberFieldRootEmits = {\n 'update:modelValue': [val: number]\n}\n\ninterface NumberFieldRootContext {\n modelValue: Ref<number>\n handleIncrease: (multiplier?: number) => void\n handleDecrease: (multiplier?: number) => void\n handleMinMaxValue: (type: 'min' | 'max') => void\n inputEl: Ref<HTMLInputElement | undefined>\n onInputElement: (el: HTMLInputElement) => void\n inputMode: Ref<HTMLAttributes['inputmode']>\n textValue: Ref<string>\n validate: (val: string) => boolean\n applyInputValue: (val: string) => void\n disabled: Ref<boolean>\n disableWheelChange: Ref<boolean>\n max: Ref<number | undefined>\n min: Ref<number | undefined>\n isDecreaseDisabled: Ref<boolean>\n isIncreaseDisabled: Ref<boolean>\n id: Ref<string | undefined>\n}\n\nexport const [injectNumberFieldRootContext, provideNumberFieldRootContext] = createContext<NumberFieldRootContext>('NumberFieldRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { handleDecimalOperation, useNumberFormatter, useNumberParser } from './utils'\nimport { VisuallyHiddenInput } from '@/VisuallyHidden'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<NumberFieldRootProps>(), {\n as: 'div',\n defaultValue: undefined,\n step: 1,\n stepSnapping: true,\n})\nconst emits = defineEmits<NumberFieldRootEmits>()\nconst { disabled, disableWheelChange, min, max, step, stepSnapping, formatOptions, id, locale: propLocale } = toRefs(props)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<number>\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nconst locale = useLocale(propLocale)\nconst isFormControl = useFormControl(currentElement)\nconst inputEl = ref<HTMLInputElement>()\n\nconst isDecreaseDisabled = computed(() => (\n clampInputValue(modelValue.value) === min.value\n || (min.value && !isNaN(modelValue.value) ? (handleDecimalOperation('-', modelValue.value, step.value) < min.value) : false)),\n)\nconst isIncreaseDisabled = computed(() => (\n clampInputValue(modelValue.value) === max.value\n || (max.value && !isNaN(modelValue.value) ? (handleDecimalOperation('+', modelValue.value, step.value) > max.value) : false)),\n)\n\nfunction handleChangingValue(type: 'increase' | 'decrease', multiplier = 1) {\n inputEl.value?.focus()\n const currentInputValue = numberParser.parse(inputEl.value?.value ?? '')\n if (props.disabled)\n return\n if (isNaN(currentInputValue)) {\n modelValue.value = min.value ?? 0\n }\n else {\n if (type === 'increase')\n modelValue.value = clampInputValue(currentInputValue + ((step.value ?? 1) * multiplier))\n else\n modelValue.value = clampInputValue(currentInputValue - ((step.value ?? 1) * multiplier))\n }\n}\n\nfunction handleIncrease(multiplier = 1) {\n handleChangingValue('increase', multiplier)\n}\nfunction handleDecrease(multiplier = 1) {\n handleChangingValue('decrease', multiplier)\n}\n\nfunction handleMinMaxValue(type: 'min' | 'max') {\n if (type === 'min' && min.value !== undefined)\n modelValue.value = clampInputValue(min.value)\n else if (type === 'max' && max.value !== undefined)\n modelValue.value = clampInputValue(max.value)\n}\n\n// Formatter\nconst numberFormatter = useNumberFormatter(locale, formatOptions)\nconst numberParser = useNumberParser(locale, formatOptions)\n\nconst inputMode = computed<HTMLAttributes['inputmode']>(() => {\n // The inputMode attribute influences the software keyboard that is shown on touch devices.\n // Browsers and operating systems are quite inconsistent about what keys are available, however.\n // We choose between numeric and decimal based on whether we allow negative and fractional numbers,\n // and based on testing on various devices to determine what keys are available in each inputMode.\n const hasDecimals = numberFormatter.resolvedOptions().maximumFractionDigits! > 0\n\n return hasDecimals ? 'decimal' : 'numeric'\n})\n// Replace negative textValue formatted using currencySign: 'accounting'\n// with a textValue that can be announced using a minus sign.\nconst textValueFormatter = useNumberFormatter(locale, formatOptions)\nconst textValue = computed(() => isNaN(modelValue.value) ? '' : textValueFormatter.format(modelValue.value))\n\nfunction validate(val: string) {\n return numberParser.isValidPartialNumber(val, min.value, max.value)\n}\n\nfunction setInputValue(val: string) {\n if (inputEl.value)\n inputEl.value.value = val\n}\n\nfunction clampInputValue(val: number) {\n // Clamp to min and max, round to the nearest step, and round to specified number of digits\n let clampedValue: number\n if (step.value === undefined || isNaN(step.value) || !stepSnapping.value)\n clampedValue = clamp(val, min.value, max.value)\n else\n clampedValue = snapValueToStep(val, min.value, max.value, step.value)\n\n clampedValue = numberParser.parse(numberFormatter.format(clampedValue))\n return clampedValue\n}\n\nfunction applyInputValue(val: string) {\n const parsedValue = numberParser.parse(val)\n\n modelValue.value = clampInputValue(parsedValue)\n // Set to empty state if input value is empty\n if (!val.length)\n return setInputValue(val)\n\n // if it failed to parse, then reset input to formatted version of current number\n if (isNaN(parsedValue))\n return setInputValue(textValue.value)\n\n return setInputValue(textValue.value)\n}\n\nprovideNumberFieldRootContext({\n modelValue,\n handleDecrease,\n handleIncrease,\n handleMinMaxValue,\n inputMode,\n inputEl,\n onInputElement: el => inputEl.value = el,\n textValue,\n validate,\n applyInputValue,\n disabled,\n disableWheelChange,\n max,\n min,\n isDecreaseDisabled,\n isIncreaseDisabled,\n id,\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"$attrs\"\n ref=\"primitiveElement\"\n role=\"group\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-disabled=\"disabled ? '' : undefined\"\n >\n <slot\n :model-value=\"modelValue\"\n :text-value=\"textValue\"\n />\n\n <VisuallyHiddenInput\n v-if=\"isFormControl && name\"\n type=\"text\"\n :value=\"modelValue\"\n :name=\"name\"\n :disabled=\"disabled\"\n :required=\"required\"\n />\n </Primitive>\n</template>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NumberFieldRoot.js","sources":["../../src/NumberField/NumberFieldRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { FormFieldProps } from '@/shared/types'\nimport type { HTMLAttributes, Ref } from 'vue'\nimport { clamp, createContext, snapValueToStep, useFormControl, useLocale } from '@/shared'\nimport { useVModel } from '@vueuse/core'\nimport { computed, ref, toRefs } from 'vue'\n\nexport interface NumberFieldRootProps extends PrimitiveProps, FormFieldProps {\n defaultValue?: number\n modelValue?: number | null\n /** The smallest value allowed for the input. */\n min?: number\n /** The largest value allowed for the input. */\n max?: number\n /** The amount that the input value changes with each increment or decrement \"tick\". */\n step?: number\n /** When `false`, prevents the value from snapping to the nearest increment of the step value */\n stepSnapping?: boolean\n /** Formatting options for the value displayed in the number field. This also affects what characters are allowed to be typed by the user. */\n formatOptions?: Intl.NumberFormatOptions\n /** The locale to use for formatting dates */\n locale?: string\n /** When `true`, prevents the user from interacting with the Number Field. */\n disabled?: boolean\n /** When `true`, prevents the value from changing on wheel scroll. */\n disableWheelChange?: boolean\n /** Id of the element */\n id?: string\n}\n\nexport type NumberFieldRootEmits = {\n 'update:modelValue': [val: number]\n}\n\ninterface NumberFieldRootContext {\n modelValue: Ref<number>\n handleIncrease: (multiplier?: number) => void\n handleDecrease: (multiplier?: number) => void\n handleMinMaxValue: (type: 'min' | 'max') => void\n inputEl: Ref<HTMLInputElement | undefined>\n onInputElement: (el: HTMLInputElement) => void\n inputMode: Ref<HTMLAttributes['inputmode']>\n textValue: Ref<string>\n validate: (val: string) => boolean\n applyInputValue: (val: string) => void\n disabled: Ref<boolean>\n disableWheelChange: Ref<boolean>\n max: Ref<number | undefined>\n min: Ref<number | undefined>\n isDecreaseDisabled: Ref<boolean>\n isIncreaseDisabled: Ref<boolean>\n id: Ref<string | undefined>\n}\n\nexport const [injectNumberFieldRootContext, provideNumberFieldRootContext] = createContext<NumberFieldRootContext>('NumberFieldRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { VisuallyHiddenInput } from '@/VisuallyHidden'\nimport { handleDecimalOperation, useNumberFormatter, useNumberParser } from './utils'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<NumberFieldRootProps>(), {\n as: 'div',\n defaultValue: undefined,\n step: 1,\n stepSnapping: true,\n})\nconst emits = defineEmits<NumberFieldRootEmits>()\nconst { disabled, disableWheelChange, min, max, step, stepSnapping, formatOptions, id, locale: propLocale } = toRefs(props)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue,\n passive: (props.modelValue === undefined) as false,\n}) as Ref<number>\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\n\nconst locale = useLocale(propLocale)\nconst isFormControl = useFormControl(currentElement)\nconst inputEl = ref<HTMLInputElement>()\n\nconst isDecreaseDisabled = computed(() => (\n clampInputValue(modelValue.value) === min.value\n || (min.value && !isNaN(modelValue.value) ? (handleDecimalOperation('-', modelValue.value, step.value) < min.value) : false)),\n)\nconst isIncreaseDisabled = computed(() => (\n clampInputValue(modelValue.value) === max.value\n || (max.value && !isNaN(modelValue.value) ? (handleDecimalOperation('+', modelValue.value, step.value) > max.value) : false)),\n)\n\nfunction handleChangingValue(type: 'increase' | 'decrease', multiplier = 1) {\n inputEl.value?.focus()\n const currentInputValue = numberParser.parse(inputEl.value?.value ?? '')\n if (props.disabled)\n return\n if (isNaN(currentInputValue)) {\n modelValue.value = min.value ?? 0\n }\n else {\n if (type === 'increase')\n modelValue.value = clampInputValue(currentInputValue + ((step.value ?? 1) * multiplier))\n else\n modelValue.value = clampInputValue(currentInputValue - ((step.value ?? 1) * multiplier))\n }\n}\n\nfunction handleIncrease(multiplier = 1) {\n handleChangingValue('increase', multiplier)\n}\nfunction handleDecrease(multiplier = 1) {\n handleChangingValue('decrease', multiplier)\n}\n\nfunction handleMinMaxValue(type: 'min' | 'max') {\n if (type === 'min' && min.value !== undefined)\n modelValue.value = clampInputValue(min.value)\n else if (type === 'max' && max.value !== undefined)\n modelValue.value = clampInputValue(max.value)\n}\n\n// Formatter\nconst numberFormatter = useNumberFormatter(locale, formatOptions)\nconst numberParser = useNumberParser(locale, formatOptions)\n\nconst inputMode = computed<HTMLAttributes['inputmode']>(() => {\n // The inputMode attribute influences the software keyboard that is shown on touch devices.\n // Browsers and operating systems are quite inconsistent about what keys are available, however.\n // We choose between numeric and decimal based on whether we allow negative and fractional numbers,\n // and based on testing on various devices to determine what keys are available in each inputMode.\n const hasDecimals = numberFormatter.resolvedOptions().maximumFractionDigits! > 0\n\n return hasDecimals ? 'decimal' : 'numeric'\n})\n// Replace negative textValue formatted using currencySign: 'accounting'\n// with a textValue that can be announced using a minus sign.\nconst textValueFormatter = useNumberFormatter(locale, formatOptions)\nconst textValue = computed(() => isNaN(modelValue.value) ? '' : textValueFormatter.format(modelValue.value))\n\nfunction validate(val: string) {\n return numberParser.isValidPartialNumber(val, min.value, max.value)\n}\n\nfunction setInputValue(val: string) {\n if (inputEl.value)\n inputEl.value.value = val\n}\n\nfunction clampInputValue(val: number) {\n // Clamp to min and max, round to the nearest step, and round to specified number of digits\n let clampedValue: number\n if (step.value === undefined || isNaN(step.value) || !stepSnapping.value)\n clampedValue = clamp(val, min.value, max.value)\n else\n clampedValue = snapValueToStep(val, min.value, max.value, step.value)\n\n clampedValue = numberParser.parse(numberFormatter.format(clampedValue))\n return clampedValue\n}\n\nfunction applyInputValue(val: string) {\n const parsedValue = numberParser.parse(val)\n\n modelValue.value = clampInputValue(parsedValue)\n // Set to empty state if input value is empty\n if (!val.length)\n return setInputValue(val)\n\n // if it failed to parse, then reset input to formatted version of current number\n if (isNaN(parsedValue))\n return setInputValue(textValue.value)\n\n return setInputValue(textValue.value)\n}\n\nprovideNumberFieldRootContext({\n modelValue,\n handleDecrease,\n handleIncrease,\n handleMinMaxValue,\n inputMode,\n inputEl,\n onInputElement: el => inputEl.value = el,\n textValue,\n validate,\n applyInputValue,\n disabled,\n disableWheelChange,\n max,\n min,\n isDecreaseDisabled,\n isIncreaseDisabled,\n id,\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"$attrs\"\n ref=\"primitiveElement\"\n role=\"group\"\n :as=\"as\"\n :as-child=\"asChild\"\n :data-disabled=\"disabled ? '' : undefined\"\n >\n <slot\n :model-value=\"modelValue\"\n :text-value=\"textValue\"\n />\n\n <VisuallyHiddenInput\n v-if=\"isFormControl && name\"\n type=\"text\"\n :value=\"modelValue\"\n :name=\"name\"\n :disabled=\"disabled\"\n :required=\"required\"\n />\n </Primitive>\n</template>\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","sources":["../../src/NumberField/utils.ts"],"sourcesContent":["import { NumberFormatter, NumberParser } from '@internationalized/number'\nimport {
|
|
1
|
+
{"version":3,"file":"utils.cjs","sources":["../../src/NumberField/utils.ts"],"sourcesContent":["import type { MaybeComputedElementRef } from '@vueuse/core'\nimport type { Ref } from 'vue'\nimport { NumberFormatter, NumberParser } from '@internationalized/number'\nimport { unrefElement, useEventListener } from '@vueuse/core'\nimport { createEventHook, isClient, reactiveComputed } from '@vueuse/shared'\nimport { computed, ref } from 'vue'\n\nexport function usePressedHold(options: { target?: MaybeComputedElementRef, disabled: Ref<boolean> }) {\n const { disabled } = options\n const timeout = ref<number>()\n const triggerHook = createEventHook()\n const resetTimeout = () => window.clearTimeout(timeout.value)\n\n const onIncrementPressStart = (delay: number) => {\n resetTimeout()\n if (disabled.value)\n return\n\n triggerHook.trigger()\n\n timeout.value = window.setTimeout(() => {\n onIncrementPressStart(60)\n }, delay)\n }\n\n const handlePressStart = () => {\n onIncrementPressStart(400)\n }\n\n const handlePressEnd = () => {\n resetTimeout()\n }\n\n // Handle press event, modified version of useMousePressed\n const isPressed = ref(false)\n const target = computed(() => unrefElement(options.target))\n\n const onPressStart = (event: PointerEvent) => {\n // Only handle left clicks, and ignore events that bubbled through portals.\n if (event.button !== 0 || isPressed.value)\n return\n\n event.preventDefault()\n isPressed.value = true\n handlePressStart()\n }\n\n const onPressRelease = () => {\n isPressed.value = false\n handlePressEnd()\n }\n\n if (isClient) {\n useEventListener(target || window, 'pointerdown', onPressStart)\n useEventListener(window, 'pointerup', onPressRelease)\n useEventListener(window, 'pointercancel', onPressRelease)\n }\n\n return {\n isPressed,\n onTrigger: triggerHook.on,\n }\n}\n\nexport function useNumberFormatter(locale: Ref<string>, options: Ref<Intl.NumberFormatOptions | undefined> = ref({})) {\n return reactiveComputed(() => new NumberFormatter(locale.value, options.value))\n}\n\nexport function useNumberParser(locale: Ref<string>, options: Ref<Intl.NumberFormatOptions | undefined> = ref({})) {\n return reactiveComputed(() => new NumberParser(locale.value, options.value))\n}\n\nexport function handleDecimalOperation(operator: '-' | '+', value1: number, value2: number): number {\n let result = operator === '+' ? value1 + value2 : value1 - value2\n\n // Check if we have decimals\n if (value1 % 1 !== 0 || value2 % 1 !== 0) {\n const value1Decimal = value1.toString().split('.')\n const value2Decimal = value2.toString().split('.')\n const value1DecimalLength = (value1Decimal[1] && value1Decimal[1].length) || 0\n const value2DecimalLength = (value2Decimal[1] && value2Decimal[1].length) || 0\n const multiplier = 10 ** Math.max(value1DecimalLength, value2DecimalLength)\n\n // Transform the decimals to integers based on the precision\n value1 = Math.round(value1 * multiplier)\n value2 = Math.round(value2 * multiplier)\n\n // Perform the operation on integers values to make sure we don't get a fancy decimal value\n result = operator === '+' ? value1 + value2 : value1 - value2\n\n // Transform the integer result back to decimal\n result /= multiplier\n }\n\n return result\n}\n"],"names":["ref","createEventHook","computed","unrefElement","isClient","useEventListener","reactiveComputed","NumberFormatter","NumberParser"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NumberFormatter, NumberParser } from '@internationalized/number';
|
|
2
2
|
import { unrefElement, useEventListener } from '@vueuse/core';
|
|
3
|
-
import {
|
|
3
|
+
import { createEventHook, isClient, reactiveComputed } from '@vueuse/shared';
|
|
4
4
|
import { ref, computed } from 'vue';
|
|
5
5
|
|
|
6
6
|
function usePressedHold(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/NumberField/utils.ts"],"sourcesContent":["import { NumberFormatter, NumberParser } from '@internationalized/number'\nimport {
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/NumberField/utils.ts"],"sourcesContent":["import type { MaybeComputedElementRef } from '@vueuse/core'\nimport type { Ref } from 'vue'\nimport { NumberFormatter, NumberParser } from '@internationalized/number'\nimport { unrefElement, useEventListener } from '@vueuse/core'\nimport { createEventHook, isClient, reactiveComputed } from '@vueuse/shared'\nimport { computed, ref } from 'vue'\n\nexport function usePressedHold(options: { target?: MaybeComputedElementRef, disabled: Ref<boolean> }) {\n const { disabled } = options\n const timeout = ref<number>()\n const triggerHook = createEventHook()\n const resetTimeout = () => window.clearTimeout(timeout.value)\n\n const onIncrementPressStart = (delay: number) => {\n resetTimeout()\n if (disabled.value)\n return\n\n triggerHook.trigger()\n\n timeout.value = window.setTimeout(() => {\n onIncrementPressStart(60)\n }, delay)\n }\n\n const handlePressStart = () => {\n onIncrementPressStart(400)\n }\n\n const handlePressEnd = () => {\n resetTimeout()\n }\n\n // Handle press event, modified version of useMousePressed\n const isPressed = ref(false)\n const target = computed(() => unrefElement(options.target))\n\n const onPressStart = (event: PointerEvent) => {\n // Only handle left clicks, and ignore events that bubbled through portals.\n if (event.button !== 0 || isPressed.value)\n return\n\n event.preventDefault()\n isPressed.value = true\n handlePressStart()\n }\n\n const onPressRelease = () => {\n isPressed.value = false\n handlePressEnd()\n }\n\n if (isClient) {\n useEventListener(target || window, 'pointerdown', onPressStart)\n useEventListener(window, 'pointerup', onPressRelease)\n useEventListener(window, 'pointercancel', onPressRelease)\n }\n\n return {\n isPressed,\n onTrigger: triggerHook.on,\n }\n}\n\nexport function useNumberFormatter(locale: Ref<string>, options: Ref<Intl.NumberFormatOptions | undefined> = ref({})) {\n return reactiveComputed(() => new NumberFormatter(locale.value, options.value))\n}\n\nexport function useNumberParser(locale: Ref<string>, options: Ref<Intl.NumberFormatOptions | undefined> = ref({})) {\n return reactiveComputed(() => new NumberParser(locale.value, options.value))\n}\n\nexport function handleDecimalOperation(operator: '-' | '+', value1: number, value2: number): number {\n let result = operator === '+' ? value1 + value2 : value1 - value2\n\n // Check if we have decimals\n if (value1 % 1 !== 0 || value2 % 1 !== 0) {\n const value1Decimal = value1.toString().split('.')\n const value2Decimal = value2.toString().split('.')\n const value1DecimalLength = (value1Decimal[1] && value1Decimal[1].length) || 0\n const value2DecimalLength = (value2Decimal[1] && value2Decimal[1].length) || 0\n const multiplier = 10 ** Math.max(value1DecimalLength, value2DecimalLength)\n\n // Transform the decimals to integers based on the precision\n value1 = Math.round(value1 * multiplier)\n value2 = Math.round(value2 * multiplier)\n\n // Perform the operation on integers values to make sure we don't get a fancy decimal value\n result = operator === '+' ? value1 + value2 : value1 - value2\n\n // Transform the integer result back to decimal\n result /= multiplier\n }\n\n return result\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationFirst.cjs","sources":["../../src/Pagination/PaginationFirst.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationFirstProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PaginationFirst.cjs","sources":["../../src/Pagination/PaginationFirst.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationFirstProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed } from 'vue'\nimport { injectPaginationRootContext } from './PaginationRoot.vue'\n\nconst props = withDefaults(defineProps<PaginationFirstProps>(), { as: 'button' })\n\nconst rootContext = injectPaginationRootContext()\nuseForwardExpose()\n\nconst disabled = computed((): boolean => rootContext.page.value === 1 || rootContext.disabled.value)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n aria-label=\"First Page\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :disabled\n @click=\"!disabled && rootContext.onPageChange(1)\"\n >\n <slot>First page</slot>\n </Primitive>\n</template>\n"],"names":["injectPaginationRootContext","useForwardExpose","computed"],"mappings":";;;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAiBC,wCAAA,EAAA;AAEjB,IAAM,MAAA,QAAA,GAAWC,aAAS,MAAe,WAAA,CAAY,KAAK,KAAU,KAAA,CAAA,IAAK,WAAY,CAAA,QAAA,CAAS,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationFirst.js","sources":["../../src/Pagination/PaginationFirst.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationFirstProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PaginationFirst.js","sources":["../../src/Pagination/PaginationFirst.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationFirstProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed } from 'vue'\nimport { injectPaginationRootContext } from './PaginationRoot.vue'\n\nconst props = withDefaults(defineProps<PaginationFirstProps>(), { as: 'button' })\n\nconst rootContext = injectPaginationRootContext()\nuseForwardExpose()\n\nconst disabled = computed((): boolean => rootContext.page.value === 1 || rootContext.disabled.value)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n aria-label=\"First Page\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :disabled\n @click=\"!disabled && rootContext.onPageChange(1)\"\n >\n <slot>First page</slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAiB,gBAAA,EAAA;AAEjB,IAAM,MAAA,QAAA,GAAW,SAAS,MAAe,WAAA,CAAY,KAAK,KAAU,KAAA,CAAA,IAAK,WAAY,CAAA,QAAA,CAAS,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationLast.cjs","sources":["../../src/Pagination/PaginationLast.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationLastProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PaginationLast.cjs","sources":["../../src/Pagination/PaginationLast.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationLastProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed } from 'vue'\nimport { injectPaginationRootContext } from './PaginationRoot.vue'\n\nconst props = withDefaults(defineProps<PaginationLastProps>(), { as: 'button' })\n\nconst rootContext = injectPaginationRootContext()\nuseForwardExpose()\n\nconst disabled = computed((): boolean => rootContext.page.value === rootContext.pageCount.value || rootContext.disabled.value)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n aria-label=\"Last Page\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :disabled\n @click=\"!disabled && rootContext.onPageChange(rootContext.pageCount.value)\"\n >\n <slot>Last page</slot>\n </Primitive>\n</template>\n"],"names":["injectPaginationRootContext","useForwardExpose","computed"],"mappings":";;;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAiBC,wCAAA,EAAA;AAEjB,IAAM,MAAA,QAAA,GAAWC,YAAS,CAAA,MAAe,WAAY,CAAA,IAAA,CAAK,KAAU,KAAA,WAAA,CAAY,SAAU,CAAA,KAAA,IAAS,WAAY,CAAA,QAAA,CAAS,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationLast.js","sources":["../../src/Pagination/PaginationLast.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationLastProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PaginationLast.js","sources":["../../src/Pagination/PaginationLast.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationLastProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed } from 'vue'\nimport { injectPaginationRootContext } from './PaginationRoot.vue'\n\nconst props = withDefaults(defineProps<PaginationLastProps>(), { as: 'button' })\n\nconst rootContext = injectPaginationRootContext()\nuseForwardExpose()\n\nconst disabled = computed((): boolean => rootContext.page.value === rootContext.pageCount.value || rootContext.disabled.value)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n aria-label=\"Last Page\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :disabled\n @click=\"!disabled && rootContext.onPageChange(rootContext.pageCount.value)\"\n >\n <slot>Last page</slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAiB,gBAAA,EAAA;AAEjB,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,MAAe,WAAY,CAAA,IAAA,CAAK,KAAU,KAAA,WAAA,CAAY,SAAU,CAAA,KAAA,IAAS,WAAY,CAAA,QAAA,CAAS,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationListItem.cjs","sources":["../../src/Pagination/PaginationListItem.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationListItemProps extends PrimitiveProps {\n /** Value for the page */\n value: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PaginationListItem.cjs","sources":["../../src/Pagination/PaginationListItem.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationListItemProps extends PrimitiveProps {\n /** Value for the page */\n value: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed } from 'vue'\nimport { injectPaginationRootContext } from './PaginationRoot.vue'\n\nconst props = withDefaults(defineProps<PaginationListItemProps>(), { as: 'button' })\nuseForwardExpose()\n\nconst rootContext = injectPaginationRootContext()\nconst isSelected = computed(() => rootContext.page.value === props.value)\n\nconst disabled = computed((): boolean => rootContext.disabled.value)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n data-type=\"page\"\n :aria-label=\"`Page ${value}`\"\n :aria-current=\"isSelected ? 'page' : undefined\"\n :data-selected=\"isSelected ? 'true' : undefined\"\n :disabled\n :type=\"as === 'button' ? 'button' : undefined\"\n @click=\"!disabled && rootContext.onPageChange(value)\"\n >\n <slot>{{ value }}</slot>\n </Primitive>\n</template>\n"],"names":["useForwardExpose","injectPaginationRootContext","computed"],"mappings":";;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAiBA,wCAAA,EAAA;AAEjB,IAAA,MAAM,cAAcC,qDAA4B,EAAA;AAChD,IAAA,MAAM,aAAaC,YAAS,CAAA,MAAM,YAAY,IAAK,CAAA,KAAA,KAAU,MAAM,KAAK,CAAA;AAExE,IAAA,MAAM,QAAW,GAAAA,YAAA,CAAS,MAAe,WAAA,CAAY,SAAS,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationListItem.js","sources":["../../src/Pagination/PaginationListItem.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationListItemProps extends PrimitiveProps {\n /** Value for the page */\n value: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PaginationListItem.js","sources":["../../src/Pagination/PaginationListItem.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationListItemProps extends PrimitiveProps {\n /** Value for the page */\n value: number\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed } from 'vue'\nimport { injectPaginationRootContext } from './PaginationRoot.vue'\n\nconst props = withDefaults(defineProps<PaginationListItemProps>(), { as: 'button' })\nuseForwardExpose()\n\nconst rootContext = injectPaginationRootContext()\nconst isSelected = computed(() => rootContext.page.value === props.value)\n\nconst disabled = computed((): boolean => rootContext.disabled.value)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n data-type=\"page\"\n :aria-label=\"`Page ${value}`\"\n :aria-current=\"isSelected ? 'page' : undefined\"\n :data-selected=\"isSelected ? 'true' : undefined\"\n :disabled\n :type=\"as === 'button' ? 'button' : undefined\"\n @click=\"!disabled && rootContext.onPageChange(value)\"\n >\n <slot>{{ value }}</slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAiB,gBAAA,EAAA;AAEjB,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAChD,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,YAAY,IAAK,CAAA,KAAA,KAAU,MAAM,KAAK,CAAA;AAExE,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAe,WAAA,CAAY,SAAS,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationNext.cjs","sources":["../../src/Pagination/PaginationNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationNextProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PaginationNext.cjs","sources":["../../src/Pagination/PaginationNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationNextProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed } from 'vue'\nimport { injectPaginationRootContext } from './PaginationRoot.vue'\n\nconst props = withDefaults(defineProps<PaginationNextProps>(), { as: 'button' })\n\nuseForwardExpose()\nconst rootContext = injectPaginationRootContext()\n\nconst disabled = computed((): boolean => rootContext.page.value === rootContext.pageCount.value || rootContext.disabled.value)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n aria-label=\"Next Page\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :disabled\n @click=\"!disabled && rootContext.onPageChange(rootContext.page.value + 1)\"\n >\n <slot>Next page</slot>\n </Primitive>\n</template>\n"],"names":["useForwardExpose","injectPaginationRootContext","computed"],"mappings":";;;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAiBA,wCAAA,EAAA;AACjB,IAAA,MAAM,cAAcC,qDAA4B,EAAA;AAEhD,IAAM,MAAA,QAAA,GAAWC,YAAS,CAAA,MAAe,WAAY,CAAA,IAAA,CAAK,KAAU,KAAA,WAAA,CAAY,SAAU,CAAA,KAAA,IAAS,WAAY,CAAA,QAAA,CAAS,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationNext.js","sources":["../../src/Pagination/PaginationNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationNextProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PaginationNext.js","sources":["../../src/Pagination/PaginationNext.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationNextProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed } from 'vue'\nimport { injectPaginationRootContext } from './PaginationRoot.vue'\n\nconst props = withDefaults(defineProps<PaginationNextProps>(), { as: 'button' })\n\nuseForwardExpose()\nconst rootContext = injectPaginationRootContext()\n\nconst disabled = computed((): boolean => rootContext.page.value === rootContext.pageCount.value || rootContext.disabled.value)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n aria-label=\"Next Page\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :disabled\n @click=\"!disabled && rootContext.onPageChange(rootContext.page.value + 1)\"\n >\n <slot>Next page</slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAEhD,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,MAAe,WAAY,CAAA,IAAA,CAAK,KAAU,KAAA,WAAA,CAAY,SAAU,CAAA,KAAA,IAAS,WAAY,CAAA,QAAA,CAAS,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationPrev.cjs","sources":["../../src/Pagination/PaginationPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationPrevProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PaginationPrev.cjs","sources":["../../src/Pagination/PaginationPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationPrevProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed } from 'vue'\nimport { injectPaginationRootContext } from './PaginationRoot.vue'\n\nconst props = withDefaults(defineProps<PaginationPrevProps>(), { as: 'button' })\n\nuseForwardExpose()\nconst rootContext = injectPaginationRootContext()\n\nconst disabled = computed((): boolean => rootContext.page.value === 1 || rootContext.disabled.value)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n aria-label=\"Previous Page\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :disabled\n @click=\"!disabled && rootContext.onPageChange(rootContext.page.value - 1)\"\n >\n <slot>Prev page</slot>\n </Primitive>\n</template>\n"],"names":["useForwardExpose","injectPaginationRootContext","computed"],"mappings":";;;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAiBA,wCAAA,EAAA;AACjB,IAAA,MAAM,cAAcC,qDAA4B,EAAA;AAEhD,IAAM,MAAA,QAAA,GAAWC,aAAS,MAAe,WAAA,CAAY,KAAK,KAAU,KAAA,CAAA,IAAK,WAAY,CAAA,QAAA,CAAS,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationPrev.js","sources":["../../src/Pagination/PaginationPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationPrevProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PaginationPrev.js","sources":["../../src/Pagination/PaginationPrev.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PaginationPrevProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { computed } from 'vue'\nimport { injectPaginationRootContext } from './PaginationRoot.vue'\n\nconst props = withDefaults(defineProps<PaginationPrevProps>(), { as: 'button' })\n\nuseForwardExpose()\nconst rootContext = injectPaginationRootContext()\n\nconst disabled = computed((): boolean => rootContext.page.value === 1 || rootContext.disabled.value)\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n aria-label=\"Previous Page\"\n :type=\"as === 'button' ? 'button' : undefined\"\n :disabled\n @click=\"!disabled && rootContext.onPageChange(rootContext.page.value - 1)\"\n >\n <slot>Prev page</slot>\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,cAAc,2BAA4B,EAAA;AAEhD,IAAM,MAAA,QAAA,GAAW,SAAS,MAAe,WAAA,CAAY,KAAK,KAAU,KAAA,CAAA,IAAK,WAAY,CAAA,QAAA,CAAS,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationRoot.cjs","sources":["../../src/Pagination/PaginationRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"PaginationRoot.cjs","sources":["../../src/Pagination/PaginationRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Ref } from 'vue'\nimport { createContext, useForwardExpose } from '@/shared'\n\ntype PaginationRootContext = {\n page: Ref<number>\n onPageChange: (value: number) => void\n pageCount: Ref<number>\n siblingCount: Ref<number>\n disabled: Ref<boolean>\n showEdges: Ref<boolean>\n}\n\nexport interface PaginationRootProps extends PrimitiveProps {\n /** The controlled value of the current page. Can be binded as `v-model:page`. */\n page?: number\n /**\n * The value of the page that should be active when initially rendered.\n *\n * Use when you do not need to control the value state.\n */\n defaultPage?: number\n /** Number of items per page */\n itemsPerPage: number\n /** Number of items in your list */\n total?: number\n /** Number of sibling should be shown around the current page */\n siblingCount?: number\n /** When `true`, prevents the user from interacting with item */\n disabled?: boolean\n /** When `true`, always show first page, last page, and ellipsis */\n showEdges?: boolean\n}\n\nexport type PaginationRootEmits = {\n /** Event handler called when the page value changes */\n 'update:page': [value: number]\n}\n\nexport const [injectPaginationRootContext, providePaginationRootContext]\n = createContext<PaginationRootContext>('PaginationRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\nimport { computed, toRefs } from 'vue'\n\nconst props = withDefaults(defineProps<PaginationRootProps>(), {\n as: 'nav',\n total: 0,\n siblingCount: 2,\n defaultPage: 1,\n showEdges: false,\n})\nconst emits = defineEmits<PaginationRootEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current page state */\n page: typeof page.value\n /** Number of pages */\n pageCount: typeof pageCount.value\n }) => any\n}>()\n\nconst { siblingCount, disabled, showEdges } = toRefs(props)\n\nuseForwardExpose()\nconst page = useVModel(props, 'page', emits, {\n defaultValue: props.defaultPage,\n passive: (props.page === undefined) as false,\n}) as Ref<number>\n\nconst pageCount = computed(() => Math.max(1, Math.ceil(props.total / (props.itemsPerPage || 1))))\n\nprovidePaginationRootContext({\n page,\n onPageChange(value) {\n page.value = value\n },\n pageCount,\n siblingCount,\n disabled,\n showEdges,\n})\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n >\n <slot\n :page=\"page\"\n :page-count=\"pageCount\"\n />\n </Primitive>\n</template>\n"],"names":["createContext","toRefs","useForwardExpose","useVModel","computed"],"mappings":";;;;;;;;AAwCO,MAAM,CAAC,2BAAA,EAA6B,4BAA4B,CAAA,GACnEA,mCAAqC,gBAAgB;;;;;;;;;;;;;;;;AAQzD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAOd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAWd,IAAA,MAAM,EAAE,YAAc,EAAA,QAAA,EAAU,SAAU,EAAA,GAAIC,WAAO,KAAK,CAAA;AAE1D,IAAiBC,wCAAA,EAAA;AACjB,IAAA,MAAM,IAAO,GAAAC,cAAA,CAAU,KAAO,EAAA,MAAA,EAAQ,KAAO,EAAA;AAAA,MAC3C,cAAc,KAAM,CAAA,WAAA;AAAA,MACpB,OAAA,EAAU,MAAM,IAAS,KAAA;AAAA,KAC1B,CAAA;AAED,IAAA,MAAM,SAAY,GAAAC,YAAA,CAAS,MAAM,IAAA,CAAK,IAAI,CAAG,EAAA,IAAA,CAAK,IAAK,CAAA,KAAA,CAAM,KAAS,IAAA,KAAA,CAAM,YAAgB,IAAA,CAAA,CAAE,CAAC,CAAC,CAAA;AAEhG,IAA6B,4BAAA,CAAA;AAAA,MAC3B,IAAA;AAAA,MACA,aAAa,KAAO,EAAA;AAClB,QAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AAAA,OACf;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationRoot.js","sources":["../../src/Pagination/PaginationRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {
|
|
1
|
+
{"version":3,"file":"PaginationRoot.js","sources":["../../src/Pagination/PaginationRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Ref } from 'vue'\nimport { createContext, useForwardExpose } from '@/shared'\n\ntype PaginationRootContext = {\n page: Ref<number>\n onPageChange: (value: number) => void\n pageCount: Ref<number>\n siblingCount: Ref<number>\n disabled: Ref<boolean>\n showEdges: Ref<boolean>\n}\n\nexport interface PaginationRootProps extends PrimitiveProps {\n /** The controlled value of the current page. Can be binded as `v-model:page`. */\n page?: number\n /**\n * The value of the page that should be active when initially rendered.\n *\n * Use when you do not need to control the value state.\n */\n defaultPage?: number\n /** Number of items per page */\n itemsPerPage: number\n /** Number of items in your list */\n total?: number\n /** Number of sibling should be shown around the current page */\n siblingCount?: number\n /** When `true`, prevents the user from interacting with item */\n disabled?: boolean\n /** When `true`, always show first page, last page, and ellipsis */\n showEdges?: boolean\n}\n\nexport type PaginationRootEmits = {\n /** Event handler called when the page value changes */\n 'update:page': [value: number]\n}\n\nexport const [injectPaginationRootContext, providePaginationRootContext]\n = createContext<PaginationRootContext>('PaginationRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\nimport { computed, toRefs } from 'vue'\n\nconst props = withDefaults(defineProps<PaginationRootProps>(), {\n as: 'nav',\n total: 0,\n siblingCount: 2,\n defaultPage: 1,\n showEdges: false,\n})\nconst emits = defineEmits<PaginationRootEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current page state */\n page: typeof page.value\n /** Number of pages */\n pageCount: typeof pageCount.value\n }) => any\n}>()\n\nconst { siblingCount, disabled, showEdges } = toRefs(props)\n\nuseForwardExpose()\nconst page = useVModel(props, 'page', emits, {\n defaultValue: props.defaultPage,\n passive: (props.page === undefined) as false,\n}) as Ref<number>\n\nconst pageCount = computed(() => Math.max(1, Math.ceil(props.total / (props.itemsPerPage || 1))))\n\nprovidePaginationRootContext({\n page,\n onPageChange(value) {\n page.value = value\n },\n pageCount,\n siblingCount,\n disabled,\n showEdges,\n})\n</script>\n\n<template>\n <Primitive\n :as=\"as\"\n :as-child=\"asChild\"\n >\n <slot\n :page=\"page\"\n :page-count=\"pageCount\"\n />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;AAwCO,MAAM,CAAC,2BAAA,EAA6B,4BAA4B,CAAA,GACnE,cAAqC,gBAAgB;;;;;;;;;;;;;;;;AAQzD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAOd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAWd,IAAA,MAAM,EAAE,YAAc,EAAA,QAAA,EAAU,SAAU,EAAA,GAAI,OAAO,KAAK,CAAA;AAE1D,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,IAAO,GAAA,SAAA,CAAU,KAAO,EAAA,MAAA,EAAQ,KAAO,EAAA;AAAA,MAC3C,cAAc,KAAM,CAAA,WAAA;AAAA,MACpB,OAAA,EAAU,MAAM,IAAS,KAAA;AAAA,KAC1B,CAAA;AAED,IAAA,MAAM,SAAY,GAAA,QAAA,CAAS,MAAM,IAAA,CAAK,IAAI,CAAG,EAAA,IAAA,CAAK,IAAK,CAAA,KAAA,CAAM,KAAS,IAAA,KAAA,CAAM,YAAgB,IAAA,CAAA,CAAE,CAAC,CAAC,CAAA;AAEhG,IAA6B,4BAAA,CAAA;AAAA,MAC3B,IAAA;AAAA,MACA,aAAa,KAAO,EAAA;AAClB,QAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AAAA,OACf;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","sources":["../../src/Pagination/utils.ts"],"sourcesContent":["// reference https://github.com/chakra-ui/zag/blob/main/packages/machines/pagination/src/pagination.utils.ts\n\ntype Pages = Array<{ type: 'ellipsis' } | { type: 'page', value: number }>\n\nfunction range(start: number, end: number) {\n const length = end - start + 1\n return Array.from({ length }, (_, idx) => idx + start)\n}\n\nexport function transform(items: (string | number)[]): Pages {\n return items.map((value) => {\n if (typeof value === 'number')\n return { type: 'page', value }\n return { type: 'ellipsis' }\n })\n}\n\nconst ELLIPSIS = 'ellipsis'\n\nexport function getRange(currentPage: number, pageCount: number, siblingCount: number, showEdges: boolean) {\n const firstPageIndex = 1\n const lastPageIndex = pageCount\n\n const leftSiblingIndex = Math.max(currentPage - siblingCount, firstPageIndex)\n const rightSiblingIndex = Math.min(currentPage + siblingCount, lastPageIndex)\n\n if (showEdges) {\n /**\n * `2 * siblingCount + 5` explanation:\n * 2 * siblingCount for left/right siblings\n * 5 for 2x left/right ellipsis, 2x first/last page + 1x current page\n *\n * For some page counts (e.g. totalPages: 8, siblingCount: 2),\n * calculated max page is higher than total pages,\n * so we need to take the minimum of both.\n */\n const totalPageNumbers = Math.min(2 * siblingCount + 5, pageCount)\n\n const itemCount = totalPageNumbers - 2 // 2 stands for one ellipsis and either first or last page\n\n const showLeftEllipsis\n // default condition\n = leftSiblingIndex > firstPageIndex + 2\n // if the current page is towards the end of the list\n
|
|
1
|
+
{"version":3,"file":"utils.cjs","sources":["../../src/Pagination/utils.ts"],"sourcesContent":["// reference https://github.com/chakra-ui/zag/blob/main/packages/machines/pagination/src/pagination.utils.ts\n\ntype Pages = Array<{ type: 'ellipsis' } | { type: 'page', value: number }>\n\nfunction range(start: number, end: number) {\n const length = end - start + 1\n return Array.from({ length }, (_, idx) => idx + start)\n}\n\nexport function transform(items: (string | number)[]): Pages {\n return items.map((value) => {\n if (typeof value === 'number')\n return { type: 'page', value }\n return { type: 'ellipsis' }\n })\n}\n\nconst ELLIPSIS = 'ellipsis'\n\nexport function getRange(currentPage: number, pageCount: number, siblingCount: number, showEdges: boolean) {\n const firstPageIndex = 1\n const lastPageIndex = pageCount\n\n const leftSiblingIndex = Math.max(currentPage - siblingCount, firstPageIndex)\n const rightSiblingIndex = Math.min(currentPage + siblingCount, lastPageIndex)\n\n if (showEdges) {\n /**\n * `2 * siblingCount + 5` explanation:\n * 2 * siblingCount for left/right siblings\n * 5 for 2x left/right ellipsis, 2x first/last page + 1x current page\n *\n * For some page counts (e.g. totalPages: 8, siblingCount: 2),\n * calculated max page is higher than total pages,\n * so we need to take the minimum of both.\n */\n const totalPageNumbers = Math.min(2 * siblingCount + 5, pageCount)\n\n const itemCount = totalPageNumbers - 2 // 2 stands for one ellipsis and either first or last page\n\n const showLeftEllipsis\n // default condition\n = leftSiblingIndex > firstPageIndex + 2\n // if the current page is towards the end of the list\n && Math.abs(lastPageIndex - itemCount - firstPageIndex + 1) > 2\n // if the current page is towards the middle of the list\n && Math.abs(leftSiblingIndex - firstPageIndex) > 2\n\n const showRightEllipsis\n // default condition\n = rightSiblingIndex < lastPageIndex - 2\n // if the current page is towards the start of the list\n && Math.abs(lastPageIndex - itemCount) > 2\n // if the current page is towards the middle of the list\n && Math.abs(lastPageIndex - rightSiblingIndex) > 2\n\n if (!showLeftEllipsis && showRightEllipsis) {\n const leftRange = range(1, itemCount)\n\n return [...leftRange, ELLIPSIS, lastPageIndex]\n }\n\n if (showLeftEllipsis && !showRightEllipsis) {\n const rightRange = range(lastPageIndex - itemCount + 1, lastPageIndex)\n\n return [firstPageIndex, ELLIPSIS, ...rightRange]\n }\n\n if (showLeftEllipsis && showRightEllipsis) {\n const middleRange = range(leftSiblingIndex, rightSiblingIndex)\n\n return [firstPageIndex, ELLIPSIS, ...middleRange, ELLIPSIS, lastPageIndex]\n }\n\n const fullRange = range(firstPageIndex, lastPageIndex)\n return fullRange\n }\n else {\n const itemCount = siblingCount * 2 + 1\n\n if (pageCount < itemCount)\n return range(1, lastPageIndex)\n\n else if (currentPage <= (siblingCount + 1))\n return range(firstPageIndex, itemCount)\n\n else if ((pageCount - currentPage) <= siblingCount)\n return range(pageCount - itemCount + 1, lastPageIndex)\n\n else\n return range(leftSiblingIndex, rightSiblingIndex)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/Pagination/utils.ts"],"sourcesContent":["// reference https://github.com/chakra-ui/zag/blob/main/packages/machines/pagination/src/pagination.utils.ts\n\ntype Pages = Array<{ type: 'ellipsis' } | { type: 'page', value: number }>\n\nfunction range(start: number, end: number) {\n const length = end - start + 1\n return Array.from({ length }, (_, idx) => idx + start)\n}\n\nexport function transform(items: (string | number)[]): Pages {\n return items.map((value) => {\n if (typeof value === 'number')\n return { type: 'page', value }\n return { type: 'ellipsis' }\n })\n}\n\nconst ELLIPSIS = 'ellipsis'\n\nexport function getRange(currentPage: number, pageCount: number, siblingCount: number, showEdges: boolean) {\n const firstPageIndex = 1\n const lastPageIndex = pageCount\n\n const leftSiblingIndex = Math.max(currentPage - siblingCount, firstPageIndex)\n const rightSiblingIndex = Math.min(currentPage + siblingCount, lastPageIndex)\n\n if (showEdges) {\n /**\n * `2 * siblingCount + 5` explanation:\n * 2 * siblingCount for left/right siblings\n * 5 for 2x left/right ellipsis, 2x first/last page + 1x current page\n *\n * For some page counts (e.g. totalPages: 8, siblingCount: 2),\n * calculated max page is higher than total pages,\n * so we need to take the minimum of both.\n */\n const totalPageNumbers = Math.min(2 * siblingCount + 5, pageCount)\n\n const itemCount = totalPageNumbers - 2 // 2 stands for one ellipsis and either first or last page\n\n const showLeftEllipsis\n // default condition\n = leftSiblingIndex > firstPageIndex + 2\n // if the current page is towards the end of the list\n
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/Pagination/utils.ts"],"sourcesContent":["// reference https://github.com/chakra-ui/zag/blob/main/packages/machines/pagination/src/pagination.utils.ts\n\ntype Pages = Array<{ type: 'ellipsis' } | { type: 'page', value: number }>\n\nfunction range(start: number, end: number) {\n const length = end - start + 1\n return Array.from({ length }, (_, idx) => idx + start)\n}\n\nexport function transform(items: (string | number)[]): Pages {\n return items.map((value) => {\n if (typeof value === 'number')\n return { type: 'page', value }\n return { type: 'ellipsis' }\n })\n}\n\nconst ELLIPSIS = 'ellipsis'\n\nexport function getRange(currentPage: number, pageCount: number, siblingCount: number, showEdges: boolean) {\n const firstPageIndex = 1\n const lastPageIndex = pageCount\n\n const leftSiblingIndex = Math.max(currentPage - siblingCount, firstPageIndex)\n const rightSiblingIndex = Math.min(currentPage + siblingCount, lastPageIndex)\n\n if (showEdges) {\n /**\n * `2 * siblingCount + 5` explanation:\n * 2 * siblingCount for left/right siblings\n * 5 for 2x left/right ellipsis, 2x first/last page + 1x current page\n *\n * For some page counts (e.g. totalPages: 8, siblingCount: 2),\n * calculated max page is higher than total pages,\n * so we need to take the minimum of both.\n */\n const totalPageNumbers = Math.min(2 * siblingCount + 5, pageCount)\n\n const itemCount = totalPageNumbers - 2 // 2 stands for one ellipsis and either first or last page\n\n const showLeftEllipsis\n // default condition\n = leftSiblingIndex > firstPageIndex + 2\n // if the current page is towards the end of the list\n && Math.abs(lastPageIndex - itemCount - firstPageIndex + 1) > 2\n // if the current page is towards the middle of the list\n && Math.abs(leftSiblingIndex - firstPageIndex) > 2\n\n const showRightEllipsis\n // default condition\n = rightSiblingIndex < lastPageIndex - 2\n // if the current page is towards the start of the list\n && Math.abs(lastPageIndex - itemCount) > 2\n // if the current page is towards the middle of the list\n && Math.abs(lastPageIndex - rightSiblingIndex) > 2\n\n if (!showLeftEllipsis && showRightEllipsis) {\n const leftRange = range(1, itemCount)\n\n return [...leftRange, ELLIPSIS, lastPageIndex]\n }\n\n if (showLeftEllipsis && !showRightEllipsis) {\n const rightRange = range(lastPageIndex - itemCount + 1, lastPageIndex)\n\n return [firstPageIndex, ELLIPSIS, ...rightRange]\n }\n\n if (showLeftEllipsis && showRightEllipsis) {\n const middleRange = range(leftSiblingIndex, rightSiblingIndex)\n\n return [firstPageIndex, ELLIPSIS, ...middleRange, ELLIPSIS, lastPageIndex]\n }\n\n const fullRange = range(firstPageIndex, lastPageIndex)\n return fullRange\n }\n else {\n const itemCount = siblingCount * 2 + 1\n\n if (pageCount < itemCount)\n return range(1, lastPageIndex)\n\n else if (currentPage <= (siblingCount + 1))\n return range(firstPageIndex, itemCount)\n\n else if ((pageCount - currentPage) <= siblingCount)\n return range(pageCount - itemCount + 1, lastPageIndex)\n\n else\n return range(leftSiblingIndex, rightSiblingIndex)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinInputInput.cjs","sources":["../../src/PinInput/PinInputInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { Primitive, type PrimitiveProps, usePrimitiveElement } from '@/Primitive'\nimport { injectPinInputRootContext } from './PinInputRoot.vue'\nimport { getActiveElement, useArrowNavigation } from '@/shared'\n\nexport interface PinInputInputProps extends PrimitiveProps {\n /** Position of the value this input binds to. */\n index: number\n /** When `true`, prevents the user from interacting with the pin input */\n disabled?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, onUnmounted, watch } from 'vue'\n\nconst props = withDefaults(defineProps<PinInputInputProps>(), {\n as: 'input',\n})\n\nconst context = injectPinInputRootContext()\nconst inputElements = computed(() => Array.from(context.inputElements!.value))\nconst currentValue = computed(() => context.currentModelValue.value[props.index])\n\nconst disabled = computed(() => props.disabled || context.disabled.value)\nconst isOtpMode = computed(() => context.otp.value)\nconst isNumericMode = computed(() => context.type.value === 'number')\nconst isPasswordMode = computed(() => context.mask.value)\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\nfunction handleInput(event: InputEvent) {\n const target = event.target as HTMLInputElement\n\n if ((event.data?.length ?? 0) > 1) {\n handleMultipleCharacter(target.value)\n return\n }\n\n if (isNumericMode.value && !/^\\d*$/.test(target.value)) {\n target.value = target.value.replace(/\\D/g, '')\n return\n }\n\n target.value = target.value.slice(-1)\n updateModelValueAt(props.index, target.value)\n\n const nextEl = inputElements.value[props.index + 1]\n if (nextEl)\n nextEl.focus()\n}\n\nfunction resetPlaceholder() {\n const target = currentElement.value as HTMLInputElement\n nextTick(() => {\n if (target && !target.value)\n target.placeholder = context.placeholder.value\n })\n}\n\nfunction handleKeydown(event: KeyboardEvent) {\n useArrowNavigation(event, getActiveElement() as HTMLElement, undefined, {\n itemsArray: inputElements.value,\n focus: true,\n loop: false,\n arrowKeyOptions: 'horizontal',\n dir: context.dir.value,\n })\n}\n\nfunction handleBackspace(event: KeyboardEvent) {\n event.preventDefault()\n const target = event.target as HTMLInputElement\n const value = target.value\n\n if (value) {\n updateModelValueAt(props.index, '')\n }\n else {\n const prevEl = inputElements.value[props.index - 1]\n if (prevEl) {\n prevEl.focus()\n updateModelValueAt(props.index - 1, '')\n }\n }\n}\n\nfunction handleDelete(event: KeyboardEvent) {\n if (event.key === 'Delete') {\n event.preventDefault()\n updateModelValueAt(props.index, '')\n }\n}\n\nfunction handleFocus(event: FocusEvent) {\n const target = event.target as HTMLInputElement\n target.setSelectionRange(1, 1)\n\n if (!target.value)\n target.placeholder = ''\n}\n\nfunction handleBlur(event: FocusEvent) {\n resetPlaceholder()\n}\n\nfunction handlePaste(event: ClipboardEvent) {\n event.preventDefault()\n const clipboardData = event.clipboardData\n if (!clipboardData)\n return\n\n const values = clipboardData.getData('text')\n handleMultipleCharacter(values)\n}\n\nfunction handleMultipleCharacter(values: string) {\n const tempModelValue = [...context.currentModelValue.value]\n const initialIndex = values.length >= inputElements.value.length ? 0 : props.index\n const lastIndex = Math.min(initialIndex + values.length, inputElements.value.length)\n for (let i = initialIndex; i < lastIndex; i++) {\n const input = inputElements.value[i]\n const value = values[i - initialIndex]\n if (isNumericMode.value && !/^\\d*$/.test(value))\n continue\n\n tempModelValue[i] = value\n input.focus()\n }\n context.modelValue.value = tempModelValue\n inputElements.value[lastIndex]?.focus()\n}\n\nfunction removeTrailingEmptyStrings(input: string[]) {\n let i = input.length - 1\n\n while (i >= 0 && input[i] === '') {\n input.pop()\n i--\n }\n\n return input\n}\n\nfunction updateModelValueAt(index: number, value: string) {\n const tempModelValue = [...context.currentModelValue.value]\n tempModelValue[index] = value\n context.modelValue.value = removeTrailingEmptyStrings(tempModelValue)\n}\n\nwatch(currentValue, () => {\n if (!currentValue.value) {\n resetPlaceholder()\n }\n})\n\nonMounted(() => {\n context.onInputElementChange(currentElement.value as HTMLInputElement)\n})\nonUnmounted(() => {\n context.inputElements?.value.delete(currentElement.value as HTMLInputElement)\n})\n</script>\n\n<template>\n <Primitive\n ref=\"primitiveElement\"\n autocapitalize=\"none\"\n :as=\"as\"\n :as-child=\"asChild\"\n :autocomplete=\"isOtpMode ? 'one-time-code' : 'false'\"\n :type=\"isPasswordMode ? 'password' : 'text'\"\n :inputmode=\"isNumericMode ? 'numeric' : 'text'\"\n :pattern=\"isNumericMode ? '[0-9]*' : undefined\"\n :placeholder=\"context.placeholder.value\"\n :value=\"currentValue\"\n :disabled=\"disabled\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-complete=\"context.isCompleted.value ? '' : undefined\"\n :aria-label=\"`pin input ${index + 1} of ${inputElements.length}`\"\n @input=\"handleInput($event as InputEvent)\"\n @keydown.left.right.up.down.home.end=\"handleKeydown\"\n @keydown.backspace=\"handleBackspace\"\n @keydown.delete=\"handleDelete\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @paste=\"handlePaste\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectPinInputRootContext","computed","usePrimitiveElement","nextTick","useArrowNavigation","getActiveElement","watch","onMounted","onUnmounted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PinInputInput.cjs","sources":["../../src/PinInput/PinInputInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { getActiveElement, useArrowNavigation } from '@/shared'\nimport { injectPinInputRootContext } from './PinInputRoot.vue'\n\nexport interface PinInputInputProps extends PrimitiveProps {\n /** Position of the value this input binds to. */\n index: number\n /** When `true`, prevents the user from interacting with the pin input */\n disabled?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, onUnmounted, watch } from 'vue'\n\nconst props = withDefaults(defineProps<PinInputInputProps>(), {\n as: 'input',\n})\n\nconst context = injectPinInputRootContext()\nconst inputElements = computed(() => Array.from(context.inputElements!.value))\nconst currentValue = computed(() => context.currentModelValue.value[props.index])\n\nconst disabled = computed(() => props.disabled || context.disabled.value)\nconst isOtpMode = computed(() => context.otp.value)\nconst isNumericMode = computed(() => context.type.value === 'number')\nconst isPasswordMode = computed(() => context.mask.value)\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\nfunction handleInput(event: InputEvent) {\n const target = event.target as HTMLInputElement\n\n if ((event.data?.length ?? 0) > 1) {\n handleMultipleCharacter(target.value)\n return\n }\n\n if (isNumericMode.value && !/^\\d*$/.test(target.value)) {\n target.value = target.value.replace(/\\D/g, '')\n return\n }\n\n target.value = target.value.slice(-1)\n updateModelValueAt(props.index, target.value)\n\n const nextEl = inputElements.value[props.index + 1]\n if (nextEl)\n nextEl.focus()\n}\n\nfunction resetPlaceholder() {\n const target = currentElement.value as HTMLInputElement\n nextTick(() => {\n if (target && !target.value)\n target.placeholder = context.placeholder.value\n })\n}\n\nfunction handleKeydown(event: KeyboardEvent) {\n useArrowNavigation(event, getActiveElement() as HTMLElement, undefined, {\n itemsArray: inputElements.value,\n focus: true,\n loop: false,\n arrowKeyOptions: 'horizontal',\n dir: context.dir.value,\n })\n}\n\nfunction handleBackspace(event: KeyboardEvent) {\n event.preventDefault()\n const target = event.target as HTMLInputElement\n const value = target.value\n\n if (value) {\n updateModelValueAt(props.index, '')\n }\n else {\n const prevEl = inputElements.value[props.index - 1]\n if (prevEl) {\n prevEl.focus()\n updateModelValueAt(props.index - 1, '')\n }\n }\n}\n\nfunction handleDelete(event: KeyboardEvent) {\n if (event.key === 'Delete') {\n event.preventDefault()\n updateModelValueAt(props.index, '')\n }\n}\n\nfunction handleFocus(event: FocusEvent) {\n const target = event.target as HTMLInputElement\n target.setSelectionRange(1, 1)\n\n if (!target.value)\n target.placeholder = ''\n}\n\nfunction handleBlur(event: FocusEvent) {\n resetPlaceholder()\n}\n\nfunction handlePaste(event: ClipboardEvent) {\n event.preventDefault()\n const clipboardData = event.clipboardData\n if (!clipboardData)\n return\n\n const values = clipboardData.getData('text')\n handleMultipleCharacter(values)\n}\n\nfunction handleMultipleCharacter(values: string) {\n const tempModelValue = [...context.currentModelValue.value]\n const initialIndex = values.length >= inputElements.value.length ? 0 : props.index\n const lastIndex = Math.min(initialIndex + values.length, inputElements.value.length)\n for (let i = initialIndex; i < lastIndex; i++) {\n const input = inputElements.value[i]\n const value = values[i - initialIndex]\n if (isNumericMode.value && !/^\\d*$/.test(value))\n continue\n\n tempModelValue[i] = value\n input.focus()\n }\n context.modelValue.value = tempModelValue\n inputElements.value[lastIndex]?.focus()\n}\n\nfunction removeTrailingEmptyStrings(input: string[]) {\n let i = input.length - 1\n\n while (i >= 0 && input[i] === '') {\n input.pop()\n i--\n }\n\n return input\n}\n\nfunction updateModelValueAt(index: number, value: string) {\n const tempModelValue = [...context.currentModelValue.value]\n tempModelValue[index] = value\n context.modelValue.value = removeTrailingEmptyStrings(tempModelValue)\n}\n\nwatch(currentValue, () => {\n if (!currentValue.value) {\n resetPlaceholder()\n }\n})\n\nonMounted(() => {\n context.onInputElementChange(currentElement.value as HTMLInputElement)\n})\nonUnmounted(() => {\n context.inputElements?.value.delete(currentElement.value as HTMLInputElement)\n})\n</script>\n\n<template>\n <Primitive\n ref=\"primitiveElement\"\n autocapitalize=\"none\"\n :as=\"as\"\n :as-child=\"asChild\"\n :autocomplete=\"isOtpMode ? 'one-time-code' : 'false'\"\n :type=\"isPasswordMode ? 'password' : 'text'\"\n :inputmode=\"isNumericMode ? 'numeric' : 'text'\"\n :pattern=\"isNumericMode ? '[0-9]*' : undefined\"\n :placeholder=\"context.placeholder.value\"\n :value=\"currentValue\"\n :disabled=\"disabled\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-complete=\"context.isCompleted.value ? '' : undefined\"\n :aria-label=\"`pin input ${index + 1} of ${inputElements.length}`\"\n @input=\"handleInput($event as InputEvent)\"\n @keydown.left.right.up.down.home.end=\"handleKeydown\"\n @keydown.backspace=\"handleBackspace\"\n @keydown.delete=\"handleDelete\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @paste=\"handlePaste\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectPinInputRootContext","computed","usePrimitiveElement","nextTick","useArrowNavigation","getActiveElement","watch","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,UAAUA,+CAA0B,EAAA;AAC1C,IAAM,MAAA,aAAA,GAAgBC,aAAS,MAAM,KAAA,CAAM,KAAK,OAAQ,CAAA,aAAA,CAAe,KAAK,CAAC,CAAA;AAC7E,IAAM,MAAA,YAAA,GAAeA,aAAS,MAAM,OAAA,CAAQ,kBAAkB,KAAM,CAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AAEhF,IAAA,MAAM,WAAWA,YAAS,CAAA,MAAM,MAAM,QAAY,IAAA,OAAA,CAAQ,SAAS,KAAK,CAAA;AACxE,IAAA,MAAM,SAAY,GAAAA,YAAA,CAAS,MAAM,OAAA,CAAQ,IAAI,KAAK,CAAA;AAClD,IAAA,MAAM,gBAAgBA,YAAS,CAAA,MAAM,OAAQ,CAAA,IAAA,CAAK,UAAU,QAAQ,CAAA;AACpE,IAAA,MAAM,cAAiB,GAAAA,YAAA,CAAS,MAAM,OAAA,CAAQ,KAAK,KAAK,CAAA;AAExD,IAAA,MAAM,EAAE,gBAAA,EAAkB,cAAe,EAAA,GAAIC,iDAAoB,EAAA;AACjE,IAAA,SAAS,YAAY,KAAmB,EAAA;AACtC,MAAA,MAAM,SAAS,KAAM,CAAA,MAAA;AAErB,MAAA,IAAA,CAAK,KAAM,CAAA,IAAA,EAAM,MAAU,IAAA,CAAA,IAAK,CAAG,EAAA;AACjC,QAAA,uBAAA,CAAwB,OAAO,KAAK,CAAA;AACpC,QAAA;AAAA;AAGF,MAAA,IAAI,cAAc,KAAS,IAAA,CAAC,QAAQ,IAAK,CAAA,MAAA,CAAO,KAAK,CAAG,EAAA;AACtD,QAAA,MAAA,CAAO,KAAQ,GAAA,MAAA,CAAO,KAAM,CAAA,OAAA,CAAQ,OAAO,EAAE,CAAA;AAC7C,QAAA;AAAA;AAGF,MAAA,MAAA,CAAO,KAAQ,GAAA,MAAA,CAAO,KAAM,CAAA,KAAA,CAAM,EAAE,CAAA;AACpC,MAAmB,kBAAA,CAAA,KAAA,CAAM,KAAO,EAAA,MAAA,CAAO,KAAK,CAAA;AAE5C,MAAA,MAAM,MAAS,GAAA,aAAA,CAAc,KAAM,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA;AAClD,MAAI,IAAA,MAAA;AACF,QAAA,MAAA,CAAO,KAAM,EAAA;AAAA;AAGjB,IAAA,SAAS,gBAAmB,GAAA;AAC1B,MAAA,MAAM,SAAS,cAAe,CAAA,KAAA;AAC9B,MAAAC,YAAA,CAAS,MAAM;AACb,QAAI,IAAA,MAAA,IAAU,CAAC,MAAO,CAAA,KAAA;AACpB,UAAO,MAAA,CAAA,WAAA,GAAc,QAAQ,WAAY,CAAA,KAAA;AAAA,OAC5C,CAAA;AAAA;AAGH,IAAA,SAAS,cAAc,KAAsB,EAAA;AAC3C,MAAmBC,4CAAA,CAAA,KAAA,EAAOC,wCAAiB,EAAA,EAAkB,MAAW,EAAA;AAAA,QACtE,YAAY,aAAc,CAAA,KAAA;AAAA,QAC1B,KAAO,EAAA,IAAA;AAAA,QACP,IAAM,EAAA,KAAA;AAAA,QACN,eAAiB,EAAA,YAAA;AAAA,QACjB,GAAA,EAAK,QAAQ,GAAI,CAAA;AAAA,OAClB,CAAA;AAAA;AAGH,IAAA,SAAS,gBAAgB,KAAsB,EAAA;AAC7C,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,MAAM,SAAS,KAAM,CAAA,MAAA;AACrB,MAAA,MAAM,QAAQ,MAAO,CAAA,KAAA;AAErB,MAAA,IAAI,KAAO,EAAA;AACT,QAAmB,kBAAA,CAAA,KAAA,CAAM,OAAO,EAAE,CAAA;AAAA,OAE/B,MAAA;AACH,QAAA,MAAM,MAAS,GAAA,aAAA,CAAc,KAAM,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA;AAClD,QAAA,IAAI,MAAQ,EAAA;AACV,UAAA,MAAA,CAAO,KAAM,EAAA;AACb,UAAmB,kBAAA,CAAA,KAAA,CAAM,KAAQ,GAAA,CAAA,EAAG,EAAE,CAAA;AAAA;AACxC;AACF;AAGF,IAAA,SAAS,aAAa,KAAsB,EAAA;AAC1C,MAAI,IAAA,KAAA,CAAM,QAAQ,QAAU,EAAA;AAC1B,QAAA,KAAA,CAAM,cAAe,EAAA;AACrB,QAAmB,kBAAA,CAAA,KAAA,CAAM,OAAO,EAAE,CAAA;AAAA;AACpC;AAGF,IAAA,SAAS,YAAY,KAAmB,EAAA;AACtC,MAAA,MAAM,SAAS,KAAM,CAAA,MAAA;AACrB,MAAO,MAAA,CAAA,iBAAA,CAAkB,GAAG,CAAC,CAAA;AAE7B,MAAA,IAAI,CAAC,MAAO,CAAA,KAAA;AACV,QAAA,MAAA,CAAO,WAAc,GAAA,EAAA;AAAA;AAGzB,IAAA,SAAS,WAAW,KAAmB,EAAA;AACrC,MAAiB,gBAAA,EAAA;AAAA;AAGnB,IAAA,SAAS,YAAY,KAAuB,EAAA;AAC1C,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,MAAM,gBAAgB,KAAM,CAAA,aAAA;AAC5B,MAAA,IAAI,CAAC,aAAA;AACH,QAAA;AAEF,MAAM,MAAA,MAAA,GAAS,aAAc,CAAA,OAAA,CAAQ,MAAM,CAAA;AAC3C,MAAA,uBAAA,CAAwB,MAAM,CAAA;AAAA;AAGhC,IAAA,SAAS,wBAAwB,MAAgB,EAAA;AAC/C,MAAA,MAAM,cAAiB,GAAA,CAAC,GAAG,OAAA,CAAQ,kBAAkB,KAAK,CAAA;AAC1D,MAAA,MAAM,eAAe,MAAO,CAAA,MAAA,IAAU,cAAc,KAAM,CAAA,MAAA,GAAS,IAAI,KAAM,CAAA,KAAA;AAC7E,MAAM,MAAA,SAAA,GAAY,KAAK,GAAI,CAAA,YAAA,GAAe,OAAO,MAAQ,EAAA,aAAA,CAAc,MAAM,MAAM,CAAA;AACnF,MAAA,KAAA,IAAS,CAAI,GAAA,YAAA,EAAc,CAAI,GAAA,SAAA,EAAW,CAAK,EAAA,EAAA;AAC7C,QAAM,MAAA,KAAA,GAAQ,aAAc,CAAA,KAAA,CAAM,CAAC,CAAA;AACnC,QAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,CAAA,GAAI,YAAY,CAAA;AACrC,QAAA,IAAI,aAAc,CAAA,KAAA,IAAS,CAAC,OAAA,CAAQ,KAAK,KAAK,CAAA;AAC5C,UAAA;AAEF,QAAA,cAAA,CAAe,CAAC,CAAI,GAAA,KAAA;AACpB,QAAA,KAAA,CAAM,KAAM,EAAA;AAAA;AAEd,MAAA,OAAA,CAAQ,WAAW,KAAQ,GAAA,cAAA;AAC3B,MAAc,aAAA,CAAA,KAAA,CAAM,SAAS,CAAA,EAAG,KAAM,EAAA;AAAA;AAGxC,IAAA,SAAS,2BAA2B,KAAiB,EAAA;AACnD,MAAI,IAAA,CAAA,GAAI,MAAM,MAAS,GAAA,CAAA;AAEvB,MAAA,OAAO,CAAK,IAAA,CAAA,IAAK,KAAM,CAAA,CAAC,MAAM,EAAI,EAAA;AAChC,QAAA,KAAA,CAAM,GAAI,EAAA;AACV,QAAA,CAAA,EAAA;AAAA;AAGF,MAAO,OAAA,KAAA;AAAA;AAGT,IAAS,SAAA,kBAAA,CAAmB,OAAe,KAAe,EAAA;AACxD,MAAA,MAAM,cAAiB,GAAA,CAAC,GAAG,OAAA,CAAQ,kBAAkB,KAAK,CAAA;AAC1D,MAAA,cAAA,CAAe,KAAK,CAAI,GAAA,KAAA;AACxB,MAAQ,OAAA,CAAA,UAAA,CAAW,KAAQ,GAAA,0BAAA,CAA2B,cAAc,CAAA;AAAA;AAGtE,IAAAC,SAAA,CAAM,cAAc,MAAM;AACxB,MAAI,IAAA,CAAC,aAAa,KAAO,EAAA;AACvB,QAAiB,gBAAA,EAAA;AAAA;AACnB,KACD,CAAA;AAED,IAAAC,aAAA,CAAU,MAAM;AACd,MAAQ,OAAA,CAAA,oBAAA,CAAqB,eAAe,KAAyB,CAAA;AAAA,KACtE,CAAA;AACD,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAA,OAAA,CAAQ,aAAe,EAAA,KAAA,CAAM,MAAO,CAAA,cAAA,CAAe,KAAyB,CAAA;AAAA,KAC7E,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinInputInput.js","sources":["../../src/PinInput/PinInputInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { Primitive, type PrimitiveProps, usePrimitiveElement } from '@/Primitive'\nimport { injectPinInputRootContext } from './PinInputRoot.vue'\nimport { getActiveElement, useArrowNavigation } from '@/shared'\n\nexport interface PinInputInputProps extends PrimitiveProps {\n /** Position of the value this input binds to. */\n index: number\n /** When `true`, prevents the user from interacting with the pin input */\n disabled?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, onUnmounted, watch } from 'vue'\n\nconst props = withDefaults(defineProps<PinInputInputProps>(), {\n as: 'input',\n})\n\nconst context = injectPinInputRootContext()\nconst inputElements = computed(() => Array.from(context.inputElements!.value))\nconst currentValue = computed(() => context.currentModelValue.value[props.index])\n\nconst disabled = computed(() => props.disabled || context.disabled.value)\nconst isOtpMode = computed(() => context.otp.value)\nconst isNumericMode = computed(() => context.type.value === 'number')\nconst isPasswordMode = computed(() => context.mask.value)\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\nfunction handleInput(event: InputEvent) {\n const target = event.target as HTMLInputElement\n\n if ((event.data?.length ?? 0) > 1) {\n handleMultipleCharacter(target.value)\n return\n }\n\n if (isNumericMode.value && !/^\\d*$/.test(target.value)) {\n target.value = target.value.replace(/\\D/g, '')\n return\n }\n\n target.value = target.value.slice(-1)\n updateModelValueAt(props.index, target.value)\n\n const nextEl = inputElements.value[props.index + 1]\n if (nextEl)\n nextEl.focus()\n}\n\nfunction resetPlaceholder() {\n const target = currentElement.value as HTMLInputElement\n nextTick(() => {\n if (target && !target.value)\n target.placeholder = context.placeholder.value\n })\n}\n\nfunction handleKeydown(event: KeyboardEvent) {\n useArrowNavigation(event, getActiveElement() as HTMLElement, undefined, {\n itemsArray: inputElements.value,\n focus: true,\n loop: false,\n arrowKeyOptions: 'horizontal',\n dir: context.dir.value,\n })\n}\n\nfunction handleBackspace(event: KeyboardEvent) {\n event.preventDefault()\n const target = event.target as HTMLInputElement\n const value = target.value\n\n if (value) {\n updateModelValueAt(props.index, '')\n }\n else {\n const prevEl = inputElements.value[props.index - 1]\n if (prevEl) {\n prevEl.focus()\n updateModelValueAt(props.index - 1, '')\n }\n }\n}\n\nfunction handleDelete(event: KeyboardEvent) {\n if (event.key === 'Delete') {\n event.preventDefault()\n updateModelValueAt(props.index, '')\n }\n}\n\nfunction handleFocus(event: FocusEvent) {\n const target = event.target as HTMLInputElement\n target.setSelectionRange(1, 1)\n\n if (!target.value)\n target.placeholder = ''\n}\n\nfunction handleBlur(event: FocusEvent) {\n resetPlaceholder()\n}\n\nfunction handlePaste(event: ClipboardEvent) {\n event.preventDefault()\n const clipboardData = event.clipboardData\n if (!clipboardData)\n return\n\n const values = clipboardData.getData('text')\n handleMultipleCharacter(values)\n}\n\nfunction handleMultipleCharacter(values: string) {\n const tempModelValue = [...context.currentModelValue.value]\n const initialIndex = values.length >= inputElements.value.length ? 0 : props.index\n const lastIndex = Math.min(initialIndex + values.length, inputElements.value.length)\n for (let i = initialIndex; i < lastIndex; i++) {\n const input = inputElements.value[i]\n const value = values[i - initialIndex]\n if (isNumericMode.value && !/^\\d*$/.test(value))\n continue\n\n tempModelValue[i] = value\n input.focus()\n }\n context.modelValue.value = tempModelValue\n inputElements.value[lastIndex]?.focus()\n}\n\nfunction removeTrailingEmptyStrings(input: string[]) {\n let i = input.length - 1\n\n while (i >= 0 && input[i] === '') {\n input.pop()\n i--\n }\n\n return input\n}\n\nfunction updateModelValueAt(index: number, value: string) {\n const tempModelValue = [...context.currentModelValue.value]\n tempModelValue[index] = value\n context.modelValue.value = removeTrailingEmptyStrings(tempModelValue)\n}\n\nwatch(currentValue, () => {\n if (!currentValue.value) {\n resetPlaceholder()\n }\n})\n\nonMounted(() => {\n context.onInputElementChange(currentElement.value as HTMLInputElement)\n})\nonUnmounted(() => {\n context.inputElements?.value.delete(currentElement.value as HTMLInputElement)\n})\n</script>\n\n<template>\n <Primitive\n ref=\"primitiveElement\"\n autocapitalize=\"none\"\n :as=\"as\"\n :as-child=\"asChild\"\n :autocomplete=\"isOtpMode ? 'one-time-code' : 'false'\"\n :type=\"isPasswordMode ? 'password' : 'text'\"\n :inputmode=\"isNumericMode ? 'numeric' : 'text'\"\n :pattern=\"isNumericMode ? '[0-9]*' : undefined\"\n :placeholder=\"context.placeholder.value\"\n :value=\"currentValue\"\n :disabled=\"disabled\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-complete=\"context.isCompleted.value ? '' : undefined\"\n :aria-label=\"`pin input ${index + 1} of ${inputElements.length}`\"\n @input=\"handleInput($event as InputEvent)\"\n @keydown.left.right.up.down.home.end=\"handleKeydown\"\n @keydown.backspace=\"handleBackspace\"\n @keydown.delete=\"handleDelete\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @paste=\"handlePaste\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PinInputInput.js","sources":["../../src/PinInput/PinInputInput.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { Primitive, usePrimitiveElement } from '@/Primitive'\nimport { getActiveElement, useArrowNavigation } from '@/shared'\nimport { injectPinInputRootContext } from './PinInputRoot.vue'\n\nexport interface PinInputInputProps extends PrimitiveProps {\n /** Position of the value this input binds to. */\n index: number\n /** When `true`, prevents the user from interacting with the pin input */\n disabled?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, onUnmounted, watch } from 'vue'\n\nconst props = withDefaults(defineProps<PinInputInputProps>(), {\n as: 'input',\n})\n\nconst context = injectPinInputRootContext()\nconst inputElements = computed(() => Array.from(context.inputElements!.value))\nconst currentValue = computed(() => context.currentModelValue.value[props.index])\n\nconst disabled = computed(() => props.disabled || context.disabled.value)\nconst isOtpMode = computed(() => context.otp.value)\nconst isNumericMode = computed(() => context.type.value === 'number')\nconst isPasswordMode = computed(() => context.mask.value)\n\nconst { primitiveElement, currentElement } = usePrimitiveElement()\nfunction handleInput(event: InputEvent) {\n const target = event.target as HTMLInputElement\n\n if ((event.data?.length ?? 0) > 1) {\n handleMultipleCharacter(target.value)\n return\n }\n\n if (isNumericMode.value && !/^\\d*$/.test(target.value)) {\n target.value = target.value.replace(/\\D/g, '')\n return\n }\n\n target.value = target.value.slice(-1)\n updateModelValueAt(props.index, target.value)\n\n const nextEl = inputElements.value[props.index + 1]\n if (nextEl)\n nextEl.focus()\n}\n\nfunction resetPlaceholder() {\n const target = currentElement.value as HTMLInputElement\n nextTick(() => {\n if (target && !target.value)\n target.placeholder = context.placeholder.value\n })\n}\n\nfunction handleKeydown(event: KeyboardEvent) {\n useArrowNavigation(event, getActiveElement() as HTMLElement, undefined, {\n itemsArray: inputElements.value,\n focus: true,\n loop: false,\n arrowKeyOptions: 'horizontal',\n dir: context.dir.value,\n })\n}\n\nfunction handleBackspace(event: KeyboardEvent) {\n event.preventDefault()\n const target = event.target as HTMLInputElement\n const value = target.value\n\n if (value) {\n updateModelValueAt(props.index, '')\n }\n else {\n const prevEl = inputElements.value[props.index - 1]\n if (prevEl) {\n prevEl.focus()\n updateModelValueAt(props.index - 1, '')\n }\n }\n}\n\nfunction handleDelete(event: KeyboardEvent) {\n if (event.key === 'Delete') {\n event.preventDefault()\n updateModelValueAt(props.index, '')\n }\n}\n\nfunction handleFocus(event: FocusEvent) {\n const target = event.target as HTMLInputElement\n target.setSelectionRange(1, 1)\n\n if (!target.value)\n target.placeholder = ''\n}\n\nfunction handleBlur(event: FocusEvent) {\n resetPlaceholder()\n}\n\nfunction handlePaste(event: ClipboardEvent) {\n event.preventDefault()\n const clipboardData = event.clipboardData\n if (!clipboardData)\n return\n\n const values = clipboardData.getData('text')\n handleMultipleCharacter(values)\n}\n\nfunction handleMultipleCharacter(values: string) {\n const tempModelValue = [...context.currentModelValue.value]\n const initialIndex = values.length >= inputElements.value.length ? 0 : props.index\n const lastIndex = Math.min(initialIndex + values.length, inputElements.value.length)\n for (let i = initialIndex; i < lastIndex; i++) {\n const input = inputElements.value[i]\n const value = values[i - initialIndex]\n if (isNumericMode.value && !/^\\d*$/.test(value))\n continue\n\n tempModelValue[i] = value\n input.focus()\n }\n context.modelValue.value = tempModelValue\n inputElements.value[lastIndex]?.focus()\n}\n\nfunction removeTrailingEmptyStrings(input: string[]) {\n let i = input.length - 1\n\n while (i >= 0 && input[i] === '') {\n input.pop()\n i--\n }\n\n return input\n}\n\nfunction updateModelValueAt(index: number, value: string) {\n const tempModelValue = [...context.currentModelValue.value]\n tempModelValue[index] = value\n context.modelValue.value = removeTrailingEmptyStrings(tempModelValue)\n}\n\nwatch(currentValue, () => {\n if (!currentValue.value) {\n resetPlaceholder()\n }\n})\n\nonMounted(() => {\n context.onInputElementChange(currentElement.value as HTMLInputElement)\n})\nonUnmounted(() => {\n context.inputElements?.value.delete(currentElement.value as HTMLInputElement)\n})\n</script>\n\n<template>\n <Primitive\n ref=\"primitiveElement\"\n autocapitalize=\"none\"\n :as=\"as\"\n :as-child=\"asChild\"\n :autocomplete=\"isOtpMode ? 'one-time-code' : 'false'\"\n :type=\"isPasswordMode ? 'password' : 'text'\"\n :inputmode=\"isNumericMode ? 'numeric' : 'text'\"\n :pattern=\"isNumericMode ? '[0-9]*' : undefined\"\n :placeholder=\"context.placeholder.value\"\n :value=\"currentValue\"\n :disabled=\"disabled\"\n :data-disabled=\"disabled ? '' : undefined\"\n :data-complete=\"context.isCompleted.value ? '' : undefined\"\n :aria-label=\"`pin input ${index + 1} of ${inputElements.length}`\"\n @input=\"handleInput($event as InputEvent)\"\n @keydown.left.right.up.down.home.end=\"handleKeydown\"\n @keydown.backspace=\"handleBackspace\"\n @keydown.delete=\"handleDelete\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @paste=\"handlePaste\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAiBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,UAAU,yBAA0B,EAAA;AAC1C,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM,KAAA,CAAM,KAAK,OAAQ,CAAA,aAAA,CAAe,KAAK,CAAC,CAAA;AAC7E,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM,OAAA,CAAQ,kBAAkB,KAAM,CAAA,KAAA,CAAM,KAAK,CAAC,CAAA;AAEhF,IAAA,MAAM,WAAW,QAAS,CAAA,MAAM,MAAM,QAAY,IAAA,OAAA,CAAQ,SAAS,KAAK,CAAA;AACxE,IAAA,MAAM,SAAY,GAAA,QAAA,CAAS,MAAM,OAAA,CAAQ,IAAI,KAAK,CAAA;AAClD,IAAA,MAAM,gBAAgB,QAAS,CAAA,MAAM,OAAQ,CAAA,IAAA,CAAK,UAAU,QAAQ,CAAA;AACpE,IAAA,MAAM,cAAiB,GAAA,QAAA,CAAS,MAAM,OAAA,CAAQ,KAAK,KAAK,CAAA;AAExD,IAAA,MAAM,EAAE,gBAAA,EAAkB,cAAe,EAAA,GAAI,mBAAoB,EAAA;AACjE,IAAA,SAAS,YAAY,KAAmB,EAAA;AACtC,MAAA,MAAM,SAAS,KAAM,CAAA,MAAA;AAErB,MAAA,IAAA,CAAK,KAAM,CAAA,IAAA,EAAM,MAAU,IAAA,CAAA,IAAK,CAAG,EAAA;AACjC,QAAA,uBAAA,CAAwB,OAAO,KAAK,CAAA;AACpC,QAAA;AAAA;AAGF,MAAA,IAAI,cAAc,KAAS,IAAA,CAAC,QAAQ,IAAK,CAAA,MAAA,CAAO,KAAK,CAAG,EAAA;AACtD,QAAA,MAAA,CAAO,KAAQ,GAAA,MAAA,CAAO,KAAM,CAAA,OAAA,CAAQ,OAAO,EAAE,CAAA;AAC7C,QAAA;AAAA;AAGF,MAAA,MAAA,CAAO,KAAQ,GAAA,MAAA,CAAO,KAAM,CAAA,KAAA,CAAM,EAAE,CAAA;AACpC,MAAmB,kBAAA,CAAA,KAAA,CAAM,KAAO,EAAA,MAAA,CAAO,KAAK,CAAA;AAE5C,MAAA,MAAM,MAAS,GAAA,aAAA,CAAc,KAAM,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA;AAClD,MAAI,IAAA,MAAA;AACF,QAAA,MAAA,CAAO,KAAM,EAAA;AAAA;AAGjB,IAAA,SAAS,gBAAmB,GAAA;AAC1B,MAAA,MAAM,SAAS,cAAe,CAAA,KAAA;AAC9B,MAAA,QAAA,CAAS,MAAM;AACb,QAAI,IAAA,MAAA,IAAU,CAAC,MAAO,CAAA,KAAA;AACpB,UAAO,MAAA,CAAA,WAAA,GAAc,QAAQ,WAAY,CAAA,KAAA;AAAA,OAC5C,CAAA;AAAA;AAGH,IAAA,SAAS,cAAc,KAAsB,EAAA;AAC3C,MAAmB,kBAAA,CAAA,KAAA,EAAO,gBAAiB,EAAA,EAAkB,MAAW,EAAA;AAAA,QACtE,YAAY,aAAc,CAAA,KAAA;AAAA,QAC1B,KAAO,EAAA,IAAA;AAAA,QACP,IAAM,EAAA,KAAA;AAAA,QACN,eAAiB,EAAA,YAAA;AAAA,QACjB,GAAA,EAAK,QAAQ,GAAI,CAAA;AAAA,OAClB,CAAA;AAAA;AAGH,IAAA,SAAS,gBAAgB,KAAsB,EAAA;AAC7C,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,MAAM,SAAS,KAAM,CAAA,MAAA;AACrB,MAAA,MAAM,QAAQ,MAAO,CAAA,KAAA;AAErB,MAAA,IAAI,KAAO,EAAA;AACT,QAAmB,kBAAA,CAAA,KAAA,CAAM,OAAO,EAAE,CAAA;AAAA,OAE/B,MAAA;AACH,QAAA,MAAM,MAAS,GAAA,aAAA,CAAc,KAAM,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA;AAClD,QAAA,IAAI,MAAQ,EAAA;AACV,UAAA,MAAA,CAAO,KAAM,EAAA;AACb,UAAmB,kBAAA,CAAA,KAAA,CAAM,KAAQ,GAAA,CAAA,EAAG,EAAE,CAAA;AAAA;AACxC;AACF;AAGF,IAAA,SAAS,aAAa,KAAsB,EAAA;AAC1C,MAAI,IAAA,KAAA,CAAM,QAAQ,QAAU,EAAA;AAC1B,QAAA,KAAA,CAAM,cAAe,EAAA;AACrB,QAAmB,kBAAA,CAAA,KAAA,CAAM,OAAO,EAAE,CAAA;AAAA;AACpC;AAGF,IAAA,SAAS,YAAY,KAAmB,EAAA;AACtC,MAAA,MAAM,SAAS,KAAM,CAAA,MAAA;AACrB,MAAO,MAAA,CAAA,iBAAA,CAAkB,GAAG,CAAC,CAAA;AAE7B,MAAA,IAAI,CAAC,MAAO,CAAA,KAAA;AACV,QAAA,MAAA,CAAO,WAAc,GAAA,EAAA;AAAA;AAGzB,IAAA,SAAS,WAAW,KAAmB,EAAA;AACrC,MAAiB,gBAAA,EAAA;AAAA;AAGnB,IAAA,SAAS,YAAY,KAAuB,EAAA;AAC1C,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,MAAM,gBAAgB,KAAM,CAAA,aAAA;AAC5B,MAAA,IAAI,CAAC,aAAA;AACH,QAAA;AAEF,MAAM,MAAA,MAAA,GAAS,aAAc,CAAA,OAAA,CAAQ,MAAM,CAAA;AAC3C,MAAA,uBAAA,CAAwB,MAAM,CAAA;AAAA;AAGhC,IAAA,SAAS,wBAAwB,MAAgB,EAAA;AAC/C,MAAA,MAAM,cAAiB,GAAA,CAAC,GAAG,OAAA,CAAQ,kBAAkB,KAAK,CAAA;AAC1D,MAAA,MAAM,eAAe,MAAO,CAAA,MAAA,IAAU,cAAc,KAAM,CAAA,MAAA,GAAS,IAAI,KAAM,CAAA,KAAA;AAC7E,MAAM,MAAA,SAAA,GAAY,KAAK,GAAI,CAAA,YAAA,GAAe,OAAO,MAAQ,EAAA,aAAA,CAAc,MAAM,MAAM,CAAA;AACnF,MAAA,KAAA,IAAS,CAAI,GAAA,YAAA,EAAc,CAAI,GAAA,SAAA,EAAW,CAAK,EAAA,EAAA;AAC7C,QAAM,MAAA,KAAA,GAAQ,aAAc,CAAA,KAAA,CAAM,CAAC,CAAA;AACnC,QAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,CAAA,GAAI,YAAY,CAAA;AACrC,QAAA,IAAI,aAAc,CAAA,KAAA,IAAS,CAAC,OAAA,CAAQ,KAAK,KAAK,CAAA;AAC5C,UAAA;AAEF,QAAA,cAAA,CAAe,CAAC,CAAI,GAAA,KAAA;AACpB,QAAA,KAAA,CAAM,KAAM,EAAA;AAAA;AAEd,MAAA,OAAA,CAAQ,WAAW,KAAQ,GAAA,cAAA;AAC3B,MAAc,aAAA,CAAA,KAAA,CAAM,SAAS,CAAA,EAAG,KAAM,EAAA;AAAA;AAGxC,IAAA,SAAS,2BAA2B,KAAiB,EAAA;AACnD,MAAI,IAAA,CAAA,GAAI,MAAM,MAAS,GAAA,CAAA;AAEvB,MAAA,OAAO,CAAK,IAAA,CAAA,IAAK,KAAM,CAAA,CAAC,MAAM,EAAI,EAAA;AAChC,QAAA,KAAA,CAAM,GAAI,EAAA;AACV,QAAA,CAAA,EAAA;AAAA;AAGF,MAAO,OAAA,KAAA;AAAA;AAGT,IAAS,SAAA,kBAAA,CAAmB,OAAe,KAAe,EAAA;AACxD,MAAA,MAAM,cAAiB,GAAA,CAAC,GAAG,OAAA,CAAQ,kBAAkB,KAAK,CAAA;AAC1D,MAAA,cAAA,CAAe,KAAK,CAAI,GAAA,KAAA;AACxB,MAAQ,OAAA,CAAA,UAAA,CAAW,KAAQ,GAAA,0BAAA,CAA2B,cAAc,CAAA;AAAA;AAGtE,IAAA,KAAA,CAAM,cAAc,MAAM;AACxB,MAAI,IAAA,CAAC,aAAa,KAAO,EAAA;AACvB,QAAiB,gBAAA,EAAA;AAAA;AACnB,KACD,CAAA;AAED,IAAA,SAAA,CAAU,MAAM;AACd,MAAQ,OAAA,CAAA,oBAAA,CAAqB,eAAe,KAAyB,CAAA;AAAA,KACtE,CAAA;AACD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,OAAA,CAAQ,aAAe,EAAA,KAAA,CAAM,MAAO,CAAA,cAAA,CAAe,KAAyB,CAAA;AAAA,KAC7E,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinInputRoot.cjs","sources":["../../src/PinInput/PinInputRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PinInputRoot.cjs","sources":["../../src/PinInput/PinInputRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport type { ComputedRef, Ref } from 'vue'\nimport { createContext, useDirection, useForwardExpose } from '@/shared'\nimport VisuallyHiddenInput from '@/VisuallyHidden/VisuallyHiddenInput.vue'\nimport { computed, ref, toRefs, watch } from 'vue'\n\nexport type PinInputRootEmits = {\n 'update:modelValue': [value: string[]]\n 'complete': [value: string[]]\n}\n\nexport interface PinInputRootProps extends PrimitiveProps, FormFieldProps {\n /** The controlled checked state of the pin input. Can be binded as `v-model`. */\n modelValue?: string[] | null\n /** The default value of the pin inputs when it is initially rendered. Use when you do not need to control its checked state. */\n defaultValue?: string[]\n /** The placeholder character to use for empty pin-inputs. */\n placeholder?: string\n /** When `true`, pin inputs will be treated as password. */\n mask?: boolean\n /** When `true`, mobile devices will autodetect the OTP from messages or clipboard, and enable the autocomplete field. */\n otp?: boolean\n /** Input type for the inputs. */\n type?: 'text' | 'number'\n /** The reading direction of the combobox when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** When `true`, prevents the user from interacting with the pin input */\n disabled?: boolean\n /** Id of the element */\n id?: string\n}\n\nexport interface PinInputRootContext {\n modelValue: Ref<string[]>\n currentModelValue: ComputedRef<string[]>\n mask: Ref<boolean>\n otp: Ref<boolean>\n placeholder: Ref<string>\n type: Ref<PinInputRootProps['type']>\n dir: Ref<Direction>\n disabled: Ref<boolean>\n isCompleted: ComputedRef<boolean>\n inputElements?: Ref<Set<HTMLInputElement>>\n onInputElementChange: (el: HTMLInputElement) => void\n}\n\nexport const [injectPinInputRootContext, providePinInputRootContext]\n = createContext<PinInputRootContext>('PinInputRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<PinInputRootProps>(), {\n placeholder: '',\n type: 'text',\n})\nconst emits = defineEmits<PinInputRootEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current input values */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst { mask, otp, placeholder, type, disabled, dir: propDir } = toRefs(props)\nconst { forwardRef } = useForwardExpose()\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue ?? [],\n passive: (props.modelValue === undefined) as false,\n}) as Ref<string[]>\n\nconst currentModelValue = computed(() => Array.isArray(modelValue.value) ? [...modelValue.value] : [])\n\nconst inputElements = ref<Set<HTMLInputElement>>(new Set())\nfunction onInputElementChange(el: HTMLInputElement) {\n inputElements.value.add(el)\n}\n\nconst isCompleted = computed(() => {\n const modelValues = currentModelValue.value.filter(i => !!i)\n return modelValues.length === inputElements.value.size\n})\n\nwatch(modelValue, () => {\n if (isCompleted.value)\n emits('complete', modelValue.value)\n}, { deep: true })\n\nprovidePinInputRootContext({\n modelValue,\n currentModelValue,\n mask,\n otp,\n placeholder,\n type,\n dir,\n disabled,\n isCompleted,\n inputElements,\n onInputElementChange,\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :dir=\"dir\"\n :data-complete=\"isCompleted ? '' : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n >\n <slot :model-value=\"modelValue\" />\n\n <VisuallyHiddenInput\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"currentModelValue.join('')\"\n :name=\"name ?? ''\"\n :disabled=\"disabled\"\n :required=\"required\"\n @focus=\"Array.from(inputElements)?.[0]?.focus()\"\n />\n </Primitive>\n</template>\n"],"names":["createContext","toRefs","useForwardExpose","useDirection","useVModel","computed","ref","watch"],"mappings":";;;;;;;;;;AAgDO,MAAM,CAAC,yBAAA,EAA2B,0BAA0B,CAAA,GAC/DA,mCAAmC,cAAc;;;;;;;;;;;;;;;;;;;;;;;AAWrD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,KAAQ,GAAA,MAAA;AASd,IAAM,MAAA,EAAE,IAAM,EAAA,GAAA,EAAK,WAAa,EAAA,IAAA,EAAM,UAAU,GAAK,EAAA,OAAA,EAAY,GAAAC,UAAA,CAAO,KAAK,CAAA;AAC7E,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AACxC,IAAM,MAAA,GAAA,GAAMC,iCAAa,OAAO,CAAA;AAEhC,IAAA,MAAM,UAAa,GAAAC,cAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,MACvD,YAAA,EAAc,KAAM,CAAA,YAAA,IAAgB,EAAC;AAAA,MACrC,OAAA,EAAU,MAAM,UAAe,KAAA;AAAA,KAChC,CAAA;AAED,IAAA,MAAM,iBAAoB,GAAAC,YAAA,CAAS,MAAM,KAAA,CAAM,QAAQ,UAAW,CAAA,KAAK,CAAI,GAAA,CAAC,GAAG,UAAA,CAAW,KAAK,CAAA,GAAI,EAAE,CAAA;AAErG,IAAA,MAAM,aAAgB,GAAAC,OAAA,iBAA+B,IAAA,GAAA,EAAK,CAAA;AAC1D,IAAA,SAAS,qBAAqB,EAAsB,EAAA;AAClD,MAAc,aAAA,CAAA,KAAA,CAAM,IAAI,EAAE,CAAA;AAAA;AAG5B,IAAM,MAAA,WAAA,GAAcD,aAAS,MAAM;AACjC,MAAA,MAAM,cAAc,iBAAkB,CAAA,KAAA,CAAM,OAAO,CAAK,CAAA,KAAA,CAAC,CAAC,CAAC,CAAA;AAC3D,MAAO,OAAA,WAAA,CAAY,MAAW,KAAA,aAAA,CAAc,KAAM,CAAA,IAAA;AAAA,KACnD,CAAA;AAED,IAAAE,SAAA,CAAM,YAAY,MAAM;AACtB,MAAA,IAAI,WAAY,CAAA,KAAA;AACd,QAAM,KAAA,CAAA,UAAA,EAAY,WAAW,KAAK,CAAA;AAAA,KACnC,EAAA,EAAE,IAAM,EAAA,IAAA,EAAM,CAAA;AAEjB,IAA2B,0BAAA,CAAA;AAAA,MACzB,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,IAAA;AAAA,MACA,GAAA;AAAA,MACA,WAAA;AAAA,MACA,IAAA;AAAA,MACA,GAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinInputRoot.js","sources":["../../src/PinInput/PinInputRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PinInputRoot.js","sources":["../../src/PinInput/PinInputRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport type { Direction, FormFieldProps } from '@/shared/types'\nimport type { ComputedRef, Ref } from 'vue'\nimport { createContext, useDirection, useForwardExpose } from '@/shared'\nimport VisuallyHiddenInput from '@/VisuallyHidden/VisuallyHiddenInput.vue'\nimport { computed, ref, toRefs, watch } from 'vue'\n\nexport type PinInputRootEmits = {\n 'update:modelValue': [value: string[]]\n 'complete': [value: string[]]\n}\n\nexport interface PinInputRootProps extends PrimitiveProps, FormFieldProps {\n /** The controlled checked state of the pin input. Can be binded as `v-model`. */\n modelValue?: string[] | null\n /** The default value of the pin inputs when it is initially rendered. Use when you do not need to control its checked state. */\n defaultValue?: string[]\n /** The placeholder character to use for empty pin-inputs. */\n placeholder?: string\n /** When `true`, pin inputs will be treated as password. */\n mask?: boolean\n /** When `true`, mobile devices will autodetect the OTP from messages or clipboard, and enable the autocomplete field. */\n otp?: boolean\n /** Input type for the inputs. */\n type?: 'text' | 'number'\n /** The reading direction of the combobox when applicable. <br> If omitted, inherits globally from `ConfigProvider` or assumes LTR (left-to-right) reading mode. */\n dir?: Direction\n /** When `true`, prevents the user from interacting with the pin input */\n disabled?: boolean\n /** Id of the element */\n id?: string\n}\n\nexport interface PinInputRootContext {\n modelValue: Ref<string[]>\n currentModelValue: ComputedRef<string[]>\n mask: Ref<boolean>\n otp: Ref<boolean>\n placeholder: Ref<string>\n type: Ref<PinInputRootProps['type']>\n dir: Ref<Direction>\n disabled: Ref<boolean>\n isCompleted: ComputedRef<boolean>\n inputElements?: Ref<Set<HTMLInputElement>>\n onInputElementChange: (el: HTMLInputElement) => void\n}\n\nexport const [injectPinInputRootContext, providePinInputRootContext]\n = createContext<PinInputRootContext>('PinInputRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useVModel } from '@vueuse/core'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<PinInputRootProps>(), {\n placeholder: '',\n type: 'text',\n})\nconst emits = defineEmits<PinInputRootEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current input values */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst { mask, otp, placeholder, type, disabled, dir: propDir } = toRefs(props)\nconst { forwardRef } = useForwardExpose()\nconst dir = useDirection(propDir)\n\nconst modelValue = useVModel(props, 'modelValue', emits, {\n defaultValue: props.defaultValue ?? [],\n passive: (props.modelValue === undefined) as false,\n}) as Ref<string[]>\n\nconst currentModelValue = computed(() => Array.isArray(modelValue.value) ? [...modelValue.value] : [])\n\nconst inputElements = ref<Set<HTMLInputElement>>(new Set())\nfunction onInputElementChange(el: HTMLInputElement) {\n inputElements.value.add(el)\n}\n\nconst isCompleted = computed(() => {\n const modelValues = currentModelValue.value.filter(i => !!i)\n return modelValues.length === inputElements.value.size\n})\n\nwatch(modelValue, () => {\n if (isCompleted.value)\n emits('complete', modelValue.value)\n}, { deep: true })\n\nprovidePinInputRootContext({\n modelValue,\n currentModelValue,\n mask,\n otp,\n placeholder,\n type,\n dir,\n disabled,\n isCompleted,\n inputElements,\n onInputElementChange,\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :dir=\"dir\"\n :data-complete=\"isCompleted ? '' : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n >\n <slot :model-value=\"modelValue\" />\n\n <VisuallyHiddenInput\n :id=\"id\"\n as=\"input\"\n feature=\"focusable\"\n tabindex=\"-1\"\n :value=\"currentModelValue.join('')\"\n :name=\"name ?? ''\"\n :disabled=\"disabled\"\n :required=\"required\"\n @focus=\"Array.from(inputElements)?.[0]?.focus()\"\n />\n </Primitive>\n</template>\n"],"names":[],"mappings":";;;;;;;;AAgDO,MAAM,CAAC,yBAAA,EAA2B,0BAA0B,CAAA,GAC/D,cAAmC,cAAc;;;;;;;;;;;;;;;;;;;;;;;AAWrD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,KAAQ,GAAA,MAAA;AASd,IAAM,MAAA,EAAE,IAAM,EAAA,GAAA,EAAK,WAAa,EAAA,IAAA,EAAM,UAAU,GAAK,EAAA,OAAA,EAAY,GAAA,MAAA,CAAO,KAAK,CAAA;AAC7E,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,gBAAiB,EAAA;AACxC,IAAM,MAAA,GAAA,GAAM,aAAa,OAAO,CAAA;AAEhC,IAAA,MAAM,UAAa,GAAA,SAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAO,EAAA;AAAA,MACvD,YAAA,EAAc,KAAM,CAAA,YAAA,IAAgB,EAAC;AAAA,MACrC,OAAA,EAAU,MAAM,UAAe,KAAA;AAAA,KAChC,CAAA;AAED,IAAA,MAAM,iBAAoB,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,QAAQ,UAAW,CAAA,KAAK,CAAI,GAAA,CAAC,GAAG,UAAA,CAAW,KAAK,CAAA,GAAI,EAAE,CAAA;AAErG,IAAA,MAAM,aAAgB,GAAA,GAAA,iBAA+B,IAAA,GAAA,EAAK,CAAA;AAC1D,IAAA,SAAS,qBAAqB,EAAsB,EAAA;AAClD,MAAc,aAAA,CAAA,KAAA,CAAM,IAAI,EAAE,CAAA;AAAA;AAG5B,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AACjC,MAAA,MAAM,cAAc,iBAAkB,CAAA,KAAA,CAAM,OAAO,CAAK,CAAA,KAAA,CAAC,CAAC,CAAC,CAAA;AAC3D,MAAO,OAAA,WAAA,CAAY,MAAW,KAAA,aAAA,CAAc,KAAM,CAAA,IAAA;AAAA,KACnD,CAAA;AAED,IAAA,KAAA,CAAM,YAAY,MAAM;AACtB,MAAA,IAAI,WAAY,CAAA,KAAA;AACd,QAAM,KAAA,CAAA,UAAA,EAAY,WAAW,KAAK,CAAA;AAAA,KACnC,EAAA,EAAE,IAAM,EAAA,IAAA,EAAM,CAAA;AAEjB,IAA2B,0BAAA,CAAA;AAAA,MACzB,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,IAAA;AAAA,MACA,GAAA;AAAA,MACA,WAAA;AAAA,MACA,IAAA;AAAA,MACA,GAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverAnchor.cjs","sources":["../../src/Popover/PopoverAnchor.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopperAnchorProps } from '@/Popper'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PopoverAnchorProps extends PopperAnchorProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PopoverAnchor.cjs","sources":["../../src/Popover/PopoverAnchor.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopperAnchorProps } from '@/Popper'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PopoverAnchorProps extends PopperAnchorProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { PopperAnchor } from '@/Popper'\nimport { onBeforeMount, onUnmounted } from 'vue'\nimport { injectPopoverRootContext } from './PopoverRoot.vue'\n\nconst props = defineProps<PopoverAnchorProps>()\n\nuseForwardExpose()\nconst rootContext = injectPopoverRootContext()\n\nonBeforeMount(() => {\n rootContext.hasCustomAnchor.value = true\n})\nonUnmounted(() => {\n rootContext.hasCustomAnchor.value = false\n})\n</script>\n\n<template>\n <PopperAnchor v-bind=\"props\">\n <slot />\n </PopperAnchor>\n</template>\n"],"names":["useForwardExpose","injectPopoverRootContext","onBeforeMount","onUnmounted"],"mappings":";;;;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAiBA,wCAAA,EAAA;AACjB,IAAA,MAAM,cAAcC,4CAAyB,EAAA;AAE7C,IAAAC,iBAAA,CAAc,MAAM;AAClB,MAAA,WAAA,CAAY,gBAAgB,KAAQ,GAAA,IAAA;AAAA,KACrC,CAAA;AACD,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAA,WAAA,CAAY,gBAAgB,KAAQ,GAAA,KAAA;AAAA,KACrC,CAAA;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverAnchor.js","sources":["../../src/Popover/PopoverAnchor.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopperAnchorProps } from '@/Popper'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PopoverAnchorProps extends PopperAnchorProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"PopoverAnchor.js","sources":["../../src/Popover/PopoverAnchor.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PopperAnchorProps } from '@/Popper'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PopoverAnchorProps extends PopperAnchorProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { PopperAnchor } from '@/Popper'\nimport { onBeforeMount, onUnmounted } from 'vue'\nimport { injectPopoverRootContext } from './PopoverRoot.vue'\n\nconst props = defineProps<PopoverAnchorProps>()\n\nuseForwardExpose()\nconst rootContext = injectPopoverRootContext()\n\nonBeforeMount(() => {\n rootContext.hasCustomAnchor.value = true\n})\nonUnmounted(() => {\n rootContext.hasCustomAnchor.value = false\n})\n</script>\n\n<template>\n <PopperAnchor v-bind=\"props\">\n <slot />\n </PopperAnchor>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAiB,gBAAA,EAAA;AACjB,IAAA,MAAM,cAAc,wBAAyB,EAAA;AAE7C,IAAA,aAAA,CAAc,MAAM;AAClB,MAAA,WAAA,CAAY,gBAAgB,KAAQ,GAAA,IAAA;AAAA,KACrC,CAAA;AACD,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,WAAA,CAAY,gBAAgB,KAAQ,GAAA,KAAA;AAAA,KACrC,CAAA;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverClose.cjs","sources":["../../src/Popover/PopoverClose.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PopoverCloseProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport {\n injectPopoverRootContext,\n} from './PopoverRoot.vue'\
|
|
1
|
+
{"version":3,"file":"PopoverClose.cjs","sources":["../../src/Popover/PopoverClose.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\n\nexport interface PopoverCloseProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport {\n injectPopoverRootContext,\n} from './PopoverRoot.vue'\n\nconst props = withDefaults(defineProps<PopoverCloseProps>(), {\n as: 'button',\n})\n\nuseForwardExpose()\nconst rootContext = injectPopoverRootContext()\n</script>\n\n<template>\n <Primitive\n :type=\"as === 'button' ? 'button' : undefined\"\n :as=\"as\"\n :as-child=\"props.asChild\"\n @click=\"rootContext.onOpenChange(false)\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["useForwardExpose","injectPopoverRootContext"],"mappings":";;;;;;;;;;;;;;AAaA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAiBA,wCAAA,EAAA;AACjB,IAAA,MAAM,cAAcC,4CAAyB,EAAA;;;;;;;;;;;;;;;;;;;"}
|