@rupe/v-datepicker 1.0.0-alpha.0
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/LICENSE +21 -0
- package/dist/components/Calendar/CalendarCell.d.ts +17 -0
- package/dist/components/Calendar/CalendarCell.vue.js +34 -0
- package/dist/components/Calendar/CalendarCell.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarCell.vue2.js +5 -0
- package/dist/components/Calendar/CalendarCell.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarCellTrigger.d.ts +72 -0
- package/dist/components/Calendar/CalendarCellTrigger.vue.js +159 -0
- package/dist/components/Calendar/CalendarCellTrigger.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarCellTrigger.vue2.js +5 -0
- package/dist/components/Calendar/CalendarCellTrigger.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarGrid.d.ts +13 -0
- package/dist/components/Calendar/CalendarGrid.vue.js +40 -0
- package/dist/components/Calendar/CalendarGrid.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarGrid.vue2.js +5 -0
- package/dist/components/Calendar/CalendarGrid.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarGridBody.d.ts +13 -0
- package/dist/components/Calendar/CalendarGridBody.vue.js +25 -0
- package/dist/components/Calendar/CalendarGridBody.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarGridBody.vue2.js +5 -0
- package/dist/components/Calendar/CalendarGridBody.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarGridHead.d.ts +13 -0
- package/dist/components/Calendar/CalendarGridHead.vue.js +25 -0
- package/dist/components/Calendar/CalendarGridHead.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarGridHead.vue2.js +5 -0
- package/dist/components/Calendar/CalendarGridHead.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarGridRow.d.ts +13 -0
- package/dist/components/Calendar/CalendarGridRow.vue.js +25 -0
- package/dist/components/Calendar/CalendarGridRow.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarGridRow.vue2.js +5 -0
- package/dist/components/Calendar/CalendarGridRow.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarHeadCell.d.ts +13 -0
- package/dist/components/Calendar/CalendarHeadCell.vue.js +25 -0
- package/dist/components/Calendar/CalendarHeadCell.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarHeadCell.vue2.js +5 -0
- package/dist/components/Calendar/CalendarHeadCell.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarHeader.d.ts +13 -0
- package/dist/components/Calendar/CalendarHeader.vue.js +25 -0
- package/dist/components/Calendar/CalendarHeader.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarHeader.vue2.js +5 -0
- package/dist/components/Calendar/CalendarHeader.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarHeading.d.ts +21 -0
- package/dist/components/Calendar/CalendarHeading.vue.js +33 -0
- package/dist/components/Calendar/CalendarHeading.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarHeading.vue2.js +5 -0
- package/dist/components/Calendar/CalendarHeading.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarMonthHeading.d.ts +22 -0
- package/dist/components/Calendar/CalendarMonthHeading.vue.js +49 -0
- package/dist/components/Calendar/CalendarMonthHeading.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarMonthHeading.vue2.js +5 -0
- package/dist/components/Calendar/CalendarMonthHeading.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarMonthYearOverlay.d.ts +27 -0
- package/dist/components/Calendar/CalendarMonthYearOverlay.vue.js +61 -0
- package/dist/components/Calendar/CalendarMonthYearOverlay.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarMonthYearOverlay.vue2.js +5 -0
- package/dist/components/Calendar/CalendarMonthYearOverlay.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarNext.d.ts +21 -0
- package/dist/components/Calendar/CalendarNext.vue.js +42 -0
- package/dist/components/Calendar/CalendarNext.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarNext.vue2.js +5 -0
- package/dist/components/Calendar/CalendarNext.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarOverlayItem.d.ts +24 -0
- package/dist/components/Calendar/CalendarOverlayItem.vue.js +34 -0
- package/dist/components/Calendar/CalendarOverlayItem.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarOverlayItem.vue2.js +5 -0
- package/dist/components/Calendar/CalendarOverlayItem.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarPrev.d.ts +21 -0
- package/dist/components/Calendar/CalendarPrev.vue.js +42 -0
- package/dist/components/Calendar/CalendarPrev.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarPrev.vue2.js +5 -0
- package/dist/components/Calendar/CalendarPrev.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarRoot.d.ts +210 -0
- package/dist/components/Calendar/CalendarRoot.vue.js +253 -0
- package/dist/components/Calendar/CalendarRoot.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarRoot.vue2.js +8 -0
- package/dist/components/Calendar/CalendarRoot.vue2.js.map +1 -0
- package/dist/components/Calendar/CalendarYearHeading.d.ts +22 -0
- package/dist/components/Calendar/CalendarYearHeading.vue.js +49 -0
- package/dist/components/Calendar/CalendarYearHeading.vue.js.map +1 -0
- package/dist/components/Calendar/CalendarYearHeading.vue2.js +5 -0
- package/dist/components/Calendar/CalendarYearHeading.vue2.js.map +1 -0
- package/dist/components/Calendar/index.d.ts +15 -0
- package/dist/components/Calendar/useCalendar.d.ts +50 -0
- package/dist/components/Calendar/useCalendar.js +317 -0
- package/dist/components/Calendar/useCalendar.js.map +1 -0
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +51 -0
- package/dist/components/ConfigProvider/ConfigProvider.vue.js +7 -0
- package/dist/components/ConfigProvider/ConfigProvider.vue.js.map +1 -0
- package/dist/components/ConfigProvider/index.d.ts +1 -0
- package/dist/components/DateField/DateFieldInput.d.ts +15 -0
- package/dist/components/DateField/DateFieldInput.vue.js +70 -0
- package/dist/components/DateField/DateFieldInput.vue.js.map +1 -0
- package/dist/components/DateField/DateFieldInput.vue2.js +5 -0
- package/dist/components/DateField/DateFieldInput.vue2.js.map +1 -0
- package/dist/components/DateField/DateFieldRoot.d.ts +151 -0
- package/dist/components/DateField/DateFieldRoot.vue.js +237 -0
- package/dist/components/DateField/DateFieldRoot.vue.js.map +1 -0
- package/dist/components/DateField/DateFieldRoot.vue2.js +8 -0
- package/dist/components/DateField/DateFieldRoot.vue2.js.map +1 -0
- package/dist/components/DateField/index.d.ts +2 -0
- package/dist/components/DatePicker/DatePickerAnchor.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerAnchor.vue.js +29 -0
- package/dist/components/DatePicker/DatePickerAnchor.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerAnchor.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerAnchor.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerArrow.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerArrow.vue.js +31 -0
- package/dist/components/DatePicker/DatePickerArrow.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerArrow.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerArrow.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerCalendar.d.ts +17 -0
- package/dist/components/DatePicker/DatePickerCalendar.vue.js +60 -0
- package/dist/components/DatePicker/DatePickerCalendar.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerCalendar.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerCalendar.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerCell.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerCell.vue.js +28 -0
- package/dist/components/DatePicker/DatePickerCell.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerCell.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerCell.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerCellTrigger.d.ts +10 -0
- package/dist/components/DatePicker/DatePickerCellTrigger.vue.js +29 -0
- package/dist/components/DatePicker/DatePickerCellTrigger.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerCellTrigger.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerCellTrigger.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerClose.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerClose.vue.js +28 -0
- package/dist/components/DatePicker/DatePickerClose.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerClose.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerClose.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerContent.d.ts +31 -0
- package/dist/components/DatePicker/DatePickerContent.vue.js +69 -0
- package/dist/components/DatePicker/DatePickerContent.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerContent.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerContent.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerField.d.ts +16 -0
- package/dist/components/DatePicker/DatePickerField.vue.js +55 -0
- package/dist/components/DatePicker/DatePickerField.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerField.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerField.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerGrid.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerGrid.vue.js +27 -0
- package/dist/components/DatePicker/DatePickerGrid.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerGrid.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerGrid.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerGridBody.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerGridBody.vue.js +27 -0
- package/dist/components/DatePicker/DatePickerGridBody.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerGridBody.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerGridBody.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerGridHead.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerGridHead.vue.js +27 -0
- package/dist/components/DatePicker/DatePickerGridHead.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerGridHead.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerGridHead.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerGridRow.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerGridRow.vue.js +27 -0
- package/dist/components/DatePicker/DatePickerGridRow.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerGridRow.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerGridRow.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerHeadCell.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerHeadCell.vue.js +27 -0
- package/dist/components/DatePicker/DatePickerHeadCell.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerHeadCell.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerHeadCell.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerHeader.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerHeader.vue.js +27 -0
- package/dist/components/DatePicker/DatePickerHeader.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerHeader.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerHeader.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerHeading.d.ts +19 -0
- package/dist/components/DatePicker/DatePickerHeading.vue.js +29 -0
- package/dist/components/DatePicker/DatePickerHeading.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerHeading.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerHeading.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerInput.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerInput.vue.js +27 -0
- package/dist/components/DatePicker/DatePickerInput.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerInput.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerInput.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerMonthHeading.d.ts +13 -0
- package/dist/components/DatePicker/DatePickerMonthHeading.vue.js +27 -0
- package/dist/components/DatePicker/DatePickerMonthHeading.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerMonthHeading.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerMonthHeading.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerMonthYearOverlay.d.ts +24 -0
- package/dist/components/DatePicker/DatePickerMonthYearOverlay.vue.js +30 -0
- package/dist/components/DatePicker/DatePickerMonthYearOverlay.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerMonthYearOverlay.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerMonthYearOverlay.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerNext.d.ts +10 -0
- package/dist/components/DatePicker/DatePickerNext.vue.js +28 -0
- package/dist/components/DatePicker/DatePickerNext.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerNext.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerNext.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerOverlayItem.d.ts +19 -0
- package/dist/components/DatePicker/DatePickerOverlayItem.vue.js +25 -0
- package/dist/components/DatePicker/DatePickerOverlayItem.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerOverlayItem.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerOverlayItem.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerPrev.d.ts +10 -0
- package/dist/components/DatePicker/DatePickerPrev.vue.js +28 -0
- package/dist/components/DatePicker/DatePickerPrev.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerPrev.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerPrev.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerRoot.d.ts +84 -0
- package/dist/components/DatePicker/DatePickerRoot.vue.js +169 -0
- package/dist/components/DatePicker/DatePickerRoot.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerRoot.vue2.js +8 -0
- package/dist/components/DatePicker/DatePickerRoot.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerTrigger.d.ts +11 -0
- package/dist/components/DatePicker/DatePickerTrigger.vue.js +37 -0
- package/dist/components/DatePicker/DatePickerTrigger.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerTrigger.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerTrigger.vue2.js.map +1 -0
- package/dist/components/DatePicker/DatePickerYearHeading.d.ts +13 -0
- package/dist/components/DatePicker/DatePickerYearHeading.vue.js +27 -0
- package/dist/components/DatePicker/DatePickerYearHeading.vue.js.map +1 -0
- package/dist/components/DatePicker/DatePickerYearHeading.vue2.js +5 -0
- package/dist/components/DatePicker/DatePickerYearHeading.vue2.js.map +1 -0
- package/dist/components/DatePicker/index.d.ts +24 -0
- package/dist/components/DismissableLayer/DismissableLayer.d.ts +67 -0
- package/dist/components/DismissableLayer/DismissableLayer.vue.js +118 -0
- package/dist/components/DismissableLayer/DismissableLayer.vue.js.map +1 -0
- package/dist/components/DismissableLayer/DismissableLayer.vue2.js +7 -0
- package/dist/components/DismissableLayer/DismissableLayer.vue2.js.map +1 -0
- package/dist/components/DismissableLayer/DismissableLayerBranch.d.ts +11 -0
- package/dist/components/DismissableLayer/index.d.ts +3 -0
- package/dist/components/DismissableLayer/utils.d.ts +28 -0
- package/dist/components/DismissableLayer/utils.js +112 -0
- package/dist/components/DismissableLayer/utils.js.map +1 -0
- package/dist/components/FocusScope/FocusScope.d.ts +82 -0
- package/dist/components/FocusScope/FocusScope.test.d.ts +1 -0
- package/dist/components/FocusScope/FocusScope.vue.js +149 -0
- package/dist/components/FocusScope/FocusScope.vue.js.map +1 -0
- package/dist/components/FocusScope/FocusScope.vue2.js +5 -0
- package/dist/components/FocusScope/FocusScope.vue2.js.map +1 -0
- package/dist/components/FocusScope/index.d.ts +1 -0
- package/dist/components/FocusScope/stack.d.ts +12 -0
- package/dist/components/FocusScope/stack.js +38 -0
- package/dist/components/FocusScope/stack.js.map +1 -0
- package/dist/components/FocusScope/utils.d.ts +46 -0
- package/dist/components/FocusScope/utils.js +70 -0
- package/dist/components/FocusScope/utils.js.map +1 -0
- package/dist/components/Popover/PopoverAnchor.d.ts +11 -0
- package/dist/components/Popover/PopoverAnchor.vue.js +37 -0
- package/dist/components/Popover/PopoverAnchor.vue.js.map +1 -0
- package/dist/components/Popover/PopoverAnchor.vue2.js +5 -0
- package/dist/components/Popover/PopoverAnchor.vue2.js.map +1 -0
- package/dist/components/Popover/PopoverArrow.d.ts +15 -0
- package/dist/components/Popover/PopoverArrow.vue.js +31 -0
- package/dist/components/Popover/PopoverArrow.vue.js.map +1 -0
- package/dist/components/Popover/PopoverArrow.vue2.js +5 -0
- package/dist/components/Popover/PopoverArrow.vue2.js.map +1 -0
- package/dist/components/Popover/PopoverClose.d.ts +13 -0
- package/dist/components/Popover/PopoverClose.vue.js +34 -0
- package/dist/components/Popover/PopoverClose.vue.js.map +1 -0
- package/dist/components/Popover/PopoverClose.vue2.js +5 -0
- package/dist/components/Popover/PopoverClose.vue2.js.map +1 -0
- package/dist/components/Popover/PopoverContent.d.ts +32 -0
- package/dist/components/Popover/PopoverContent.vue.js +61 -0
- package/dist/components/Popover/PopoverContent.vue.js.map +1 -0
- package/dist/components/Popover/PopoverContent.vue2.js +5 -0
- package/dist/components/Popover/PopoverContent.vue2.js.map +1 -0
- package/dist/components/Popover/PopoverContentImpl.d.ts +47 -0
- package/dist/components/Popover/PopoverContentImpl.vue.js +97 -0
- package/dist/components/Popover/PopoverContentImpl.vue.js.map +1 -0
- package/dist/components/Popover/PopoverContentImpl.vue2.js +5 -0
- package/dist/components/Popover/PopoverContentImpl.vue2.js.map +1 -0
- package/dist/components/Popover/PopoverContentNonModal.d.ts +32 -0
- package/dist/components/Popover/PopoverContentNonModal.vue.js +78 -0
- package/dist/components/Popover/PopoverContentNonModal.vue.js.map +1 -0
- package/dist/components/Popover/PopoverContentNonModal.vue2.js +5 -0
- package/dist/components/Popover/PopoverContentNonModal.vue2.js.map +1 -0
- package/dist/components/Popover/PopoverPortal.d.ts +11 -0
- package/dist/components/Popover/PopoverPortal.vue.js +26 -0
- package/dist/components/Popover/PopoverPortal.vue.js.map +1 -0
- package/dist/components/Popover/PopoverPortal.vue2.js +5 -0
- package/dist/components/Popover/PopoverPortal.vue2.js.map +1 -0
- package/dist/components/Popover/PopoverRoot.d.ts +55 -0
- package/dist/components/Popover/PopoverRoot.vue.js +55 -0
- package/dist/components/Popover/PopoverRoot.vue.js.map +1 -0
- package/dist/components/Popover/PopoverRoot.vue2.js +8 -0
- package/dist/components/Popover/PopoverRoot.vue2.js.map +1 -0
- package/dist/components/Popover/PopoverTrigger.d.ts +13 -0
- package/dist/components/Popover/PopoverTrigger.vue.js +51 -0
- package/dist/components/Popover/PopoverTrigger.vue.js.map +1 -0
- package/dist/components/Popover/PopoverTrigger.vue2.js +5 -0
- package/dist/components/Popover/PopoverTrigger.vue2.js.map +1 -0
- package/dist/components/Popover/index.d.ts +7 -0
- package/dist/components/Popper/PopperAnchor.d.ts +19 -0
- package/dist/components/Popper/PopperAnchor.vue.js +37 -0
- package/dist/components/Popper/PopperAnchor.vue.js.map +1 -0
- package/dist/components/Popper/PopperAnchor.vue2.js +5 -0
- package/dist/components/Popper/PopperAnchor.vue2.js.map +1 -0
- package/dist/components/Popper/PopperArrow.d.ts +15 -0
- package/dist/components/Popper/PopperArrow.vue.js +76 -0
- package/dist/components/Popper/PopperArrow.vue.js.map +1 -0
- package/dist/components/Popper/PopperArrow.vue2.js +5 -0
- package/dist/components/Popper/PopperArrow.vue2.js.map +1 -0
- package/dist/components/Popper/PopperContent.d.ts +179 -0
- package/dist/components/Popper/PopperContent.vue.js +9 -0
- package/dist/components/Popper/PopperContent.vue.js.map +1 -0
- package/dist/components/Popper/PopperContent.vue2.js +230 -0
- package/dist/components/Popper/PopperContent.vue2.js.map +1 -0
- package/dist/components/Popper/PopperRoot.d.ts +19 -0
- package/dist/components/Popper/PopperRoot.vue.js +25 -0
- package/dist/components/Popper/PopperRoot.vue.js.map +1 -0
- package/dist/components/Popper/PopperRoot.vue2.js +8 -0
- package/dist/components/Popper/PopperRoot.vue2.js.map +1 -0
- package/dist/components/Popper/index.d.ts +5 -0
- package/dist/components/Popper/utils.d.ts +12 -0
- package/dist/components/Popper/utils.js +46 -0
- package/dist/components/Popper/utils.js.map +1 -0
- package/dist/components/Presence/Presence.d.ts +43 -0
- package/dist/components/Presence/Presence.js +61 -0
- package/dist/components/Presence/Presence.js.map +1 -0
- package/dist/components/Presence/index.d.ts +1 -0
- package/dist/components/Presence/usePresence.d.ts +4 -0
- package/dist/components/Presence/usePresence.js +131 -0
- package/dist/components/Presence/usePresence.js.map +1 -0
- package/dist/components/Primitive/Primitive.d.ts +39 -0
- package/dist/components/Primitive/Primitive.js +29 -0
- package/dist/components/Primitive/Primitive.js.map +1 -0
- package/dist/components/Primitive/Slot.d.ts +5 -0
- package/dist/components/Primitive/Slot.js +30 -0
- package/dist/components/Primitive/Slot.js.map +1 -0
- package/dist/components/Primitive/index.d.ts +3 -0
- package/dist/components/Primitive/usePrimitiveElement.d.ts +5 -0
- package/dist/components/Primitive/usePrimitiveElement.js +14 -0
- package/dist/components/Primitive/usePrimitiveElement.js.map +1 -0
- package/dist/components/Teleport/Teleport.d.ts +37 -0
- package/dist/components/Teleport/Teleport.vue.js +28 -0
- package/dist/components/Teleport/Teleport.vue.js.map +1 -0
- package/dist/components/Teleport/Teleport.vue2.js +5 -0
- package/dist/components/Teleport/Teleport.vue2.js.map +1 -0
- package/dist/components/Teleport/index.d.ts +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +16 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.vue.js +49 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.vue.js.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.vue2.js +5 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.vue2.js.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHiddenInput.d.ts +14 -0
- package/dist/components/VisuallyHidden/VisuallyHiddenInputBubble.d.ts +22 -0
- package/dist/components/VisuallyHidden/index.d.ts +2 -0
- package/dist/date/calendar.d.ts +59 -0
- package/dist/date/calendar.js +90 -0
- package/dist/date/calendar.js.map +1 -0
- package/dist/date/comparators.d.ts +80 -0
- package/dist/date/comparators.js +61 -0
- package/dist/date/comparators.js.map +1 -0
- package/dist/date/index.d.ts +3 -0
- package/dist/date/types.d.ts +28 -0
- package/dist/date/utils.d.ts +12 -0
- package/dist/date/utils.js +10 -0
- package/dist/date/utils.js.map +1 -0
- package/dist/index.cjs +9097 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.js +722 -0
- package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
- package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +626 -0
- package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
- package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +174 -0
- package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
- package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +155 -0
- package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -0
- package/dist/node_modules/.pnpm/@floating-ui_vue@1.1.9_vue@3.5.26_typescript@5.9.3_/node_modules/@floating-ui/vue/dist/floating-ui.vue.js +180 -0
- package/dist/node_modules/.pnpm/@floating-ui_vue@1.1.9_vue@3.5.26_typescript@5.9.3_/node_modules/@floating-ui/vue/dist/floating-ui.vue.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/BuddhistCalendar.js +34 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/BuddhistCalendar.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/CalendarDate.js +213 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/CalendarDate.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/DateFormatter.js +116 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/DateFormatter.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/EthiopicCalendar.js +129 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/EthiopicCalendar.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/GregorianCalendar.js +123 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/GregorianCalendar.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/HebrewCalendar.js +114 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/HebrewCalendar.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/IndianCalendar.js +77 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/IndianCalendar.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/IslamicCalendar.js +141 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/IslamicCalendar.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/JapaneseCalendar.js +155 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/JapaneseCalendar.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/PersianCalendar.js +59 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/PersianCalendar.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/TaiwanCalendar.js +59 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/TaiwanCalendar.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/conversion.js +170 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/conversion.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/createCalendar.js +44 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/createCalendar.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/manipulation.js +301 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/manipulation.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/queries.js +141 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/queries.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/string.js +35 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/string.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/utils.js +7 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/utils.js.map +1 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/weekStartData.js +101 -0
- package/dist/node_modules/.pnpm/@internationalized_date@3.10.1/node_modules/@internationalized/date/dist/weekStartData.js.map +1 -0
- package/dist/node_modules/.pnpm/@swc_helpers@0.5.18/node_modules/@swc/helpers/esm/_check_private_redeclaration.js +9 -0
- package/dist/node_modules/.pnpm/@swc_helpers@0.5.18/node_modules/@swc/helpers/esm/_check_private_redeclaration.js.map +1 -0
- package/dist/node_modules/.pnpm/@swc_helpers@0.5.18/node_modules/@swc/helpers/esm/_class_private_field_init.js +9 -0
- package/dist/node_modules/.pnpm/@swc_helpers@0.5.18/node_modules/@swc/helpers/esm/_class_private_field_init.js.map +1 -0
- package/dist/node_modules/.pnpm/@vueuse_core@14.1.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.js +140 -0
- package/dist/node_modules/.pnpm/@vueuse_core@14.1.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@vueuse_shared@14.1.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.js +88 -0
- package/dist/node_modules/.pnpm/@vueuse_shared@14.1.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.js +60 -0
- package/dist/node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.js.map +1 -0
- package/dist/shared/arrays.d.ts +37 -0
- package/dist/shared/component/Arrow.d.ts +34 -0
- package/dist/shared/component/Arrow.vue.js +45 -0
- package/dist/shared/component/Arrow.vue.js.map +1 -0
- package/dist/shared/component/Arrow.vue2.js +5 -0
- package/dist/shared/component/Arrow.vue2.js.map +1 -0
- package/dist/shared/component/BaseSeparator.d.ts +26 -0
- package/dist/shared/component/index.d.ts +2 -0
- package/dist/shared/constant/countryList.d.ts +1 -0
- package/dist/shared/constant/index.d.ts +1 -0
- package/dist/shared/createContext.d.ts +8 -0
- package/dist/shared/createContext.js +26 -0
- package/dist/shared/createContext.js.map +1 -0
- package/dist/shared/date/comparators.d.ts +27 -0
- package/dist/shared/date/comparators.js +27 -0
- package/dist/shared/date/comparators.js.map +1 -0
- package/dist/shared/date/index.d.ts +8 -0
- package/dist/shared/date/parser.d.ts +37 -0
- package/dist/shared/date/parser.js +161 -0
- package/dist/shared/date/parser.js.map +1 -0
- package/dist/shared/date/parts.d.ts +12 -0
- package/dist/shared/date/parts.js +17 -0
- package/dist/shared/date/parts.js.map +1 -0
- package/dist/shared/date/placeholders.d.ts +8 -0
- package/dist/shared/date/placeholders.js +196 -0
- package/dist/shared/date/placeholders.js.map +1 -0
- package/dist/shared/date/segment.d.ts +5 -0
- package/dist/shared/date/segment.js +44 -0
- package/dist/shared/date/segment.js.map +1 -0
- package/dist/shared/date/types.d.ts +37 -0
- package/dist/shared/date/useDateField.d.ts +142 -0
- package/dist/shared/date/useDateField.js +618 -0
- package/dist/shared/date/useDateField.js.map +1 -0
- package/dist/shared/date/utils.d.ts +11 -0
- package/dist/shared/date/utils.js +76 -0
- package/dist/shared/date/utils.js.map +1 -0
- package/dist/shared/getActiveElement.d.ts +1 -0
- package/dist/shared/getActiveElement.js +14 -0
- package/dist/shared/getActiveElement.js.map +1 -0
- package/dist/shared/handleAndDispatchCustomEvent.d.ts +3 -0
- package/dist/shared/handleAndDispatchCustomEvent.js +15 -0
- package/dist/shared/handleAndDispatchCustomEvent.js.map +1 -0
- package/dist/shared/index.d.ts +22 -0
- package/dist/shared/nullish.d.ts +1 -0
- package/dist/shared/nullish.js +7 -0
- package/dist/shared/nullish.js.map +1 -0
- package/dist/shared/onFocusOutside.d.ts +2 -0
- package/dist/shared/renderSlotFragments.d.ts +2 -0
- package/dist/shared/renderSlotFragments.js +14 -0
- package/dist/shared/renderSlotFragments.js.map +1 -0
- package/dist/shared/trap-focus.d.ts +1 -0
- package/dist/shared/types.d.ts +48 -0
- package/dist/shared/useDateFormatter.d.ts +30 -0
- package/dist/shared/useDateFormatter.js +121 -0
- package/dist/shared/useDateFormatter.js.map +1 -0
- package/dist/shared/useDirection.d.ts +8 -0
- package/dist/shared/useDirection.js +12 -0
- package/dist/shared/useDirection.js.map +1 -0
- package/dist/shared/useEmitAsProps.d.ts +10 -0
- package/dist/shared/useEmitAsProps.js +19 -0
- package/dist/shared/useEmitAsProps.js.map +1 -0
- package/dist/shared/useFocusGuards.d.ts +5 -0
- package/dist/shared/useFocusGuards.js +39 -0
- package/dist/shared/useFocusGuards.js.map +1 -0
- package/dist/shared/useForwardExpose.d.ts +6 -0
- package/dist/shared/useForwardExpose.js +49 -0
- package/dist/shared/useForwardExpose.js.map +1 -0
- package/dist/shared/useForwardProps.d.ts +9 -0
- package/dist/shared/useForwardProps.js +27 -0
- package/dist/shared/useForwardProps.js.map +1 -0
- package/dist/shared/useForwardPropsEmits.d.ts +14 -0
- package/dist/shared/useForwardPropsEmits.js +15 -0
- package/dist/shared/useForwardPropsEmits.js.map +1 -0
- package/dist/shared/useId.d.ts +9 -0
- package/dist/shared/useId.js +19 -0
- package/dist/shared/useId.js.map +1 -0
- package/dist/shared/useIsUsingKeyboard.d.ts +3 -0
- package/dist/shared/useKbd.d.ts +78 -0
- package/dist/shared/useKbd.js +42 -0
- package/dist/shared/useKbd.js.map +1 -0
- package/dist/shared/useLocale.d.ts +7 -0
- package/dist/shared/useLocale.js +12 -0
- package/dist/shared/useLocale.js.map +1 -0
- package/dist/shared/useNonce.d.ts +2 -0
- package/dist/shared/useSize.d.ts +5 -0
- package/dist/shared/useSize.js +44 -0
- package/dist/shared/useSize.js.map +1 -0
- package/dist/shared/useStateMachine.d.ts +25 -0
- package/dist/shared/useStateMachine.js +19 -0
- package/dist/shared/useStateMachine.js.map +1 -0
- package/dist/shared/withDefault.d.ts +22 -0
- package/package.json +72 -0
- package/src/components/Calendar/CalendarCell.vue +39 -0
- package/src/components/Calendar/CalendarCellTrigger.vue +206 -0
- package/src/components/Calendar/CalendarGrid.vue +35 -0
- package/src/components/Calendar/CalendarGridBody.vue +19 -0
- package/src/components/Calendar/CalendarGridHead.vue +19 -0
- package/src/components/Calendar/CalendarGridRow.vue +17 -0
- package/src/components/Calendar/CalendarHeadCell.vue +17 -0
- package/src/components/Calendar/CalendarHeader.vue +17 -0
- package/src/components/Calendar/CalendarHeading.vue +32 -0
- package/src/components/Calendar/CalendarMonthHeading.vue +65 -0
- package/src/components/Calendar/CalendarMonthYearOverlay.vue +48 -0
- package/src/components/Calendar/CalendarNext.vue +51 -0
- package/src/components/Calendar/CalendarOverlayItem.vue +30 -0
- package/src/components/Calendar/CalendarPrev.vue +51 -0
- package/src/components/Calendar/CalendarRoot.vue +394 -0
- package/src/components/Calendar/CalendarYearHeading.vue +63 -0
- package/src/components/Calendar/index.ts +63 -0
- package/src/components/Calendar/useCalendar.ts +453 -0
- package/src/components/ConfigProvider/ConfigProvider.vue +73 -0
- package/src/components/ConfigProvider/index.ts +5 -0
- package/src/components/DateField/DateFieldInput.vue +72 -0
- package/src/components/DateField/DateFieldRoot.vue +359 -0
- package/src/components/DateField/index.ts +10 -0
- package/src/components/DatePicker/DatePickerAnchor.vue +16 -0
- package/src/components/DatePicker/DatePickerArrow.vue +16 -0
- package/src/components/DatePicker/DatePickerCalendar.vue +62 -0
- package/src/components/DatePicker/DatePickerCell.vue +16 -0
- package/src/components/DatePicker/DatePickerCellTrigger.vue +18 -0
- package/src/components/DatePicker/DatePickerClose.vue +16 -0
- package/src/components/DatePicker/DatePickerContent.vue +50 -0
- package/src/components/DatePicker/DatePickerField.vue +53 -0
- package/src/components/DatePicker/DatePickerGrid.vue +16 -0
- package/src/components/DatePicker/DatePickerGridBody.vue +16 -0
- package/src/components/DatePicker/DatePickerGridHead.vue +16 -0
- package/src/components/DatePicker/DatePickerGridRow.vue +16 -0
- package/src/components/DatePicker/DatePickerHeadCell.vue +16 -0
- package/src/components/DatePicker/DatePickerHeader.vue +16 -0
- package/src/components/DatePicker/DatePickerHeading.vue +24 -0
- package/src/components/DatePicker/DatePickerInput.vue +16 -0
- package/src/components/DatePicker/DatePickerMonthHeading.vue +19 -0
- package/src/components/DatePicker/DatePickerMonthYearOverlay.vue +13 -0
- package/src/components/DatePicker/DatePickerNext.vue +19 -0
- package/src/components/DatePicker/DatePickerOverlayItem.vue +16 -0
- package/src/components/DatePicker/DatePickerPrev.vue +18 -0
- package/src/components/DatePicker/DatePickerRoot.vue +216 -0
- package/src/components/DatePicker/DatePickerTrigger.vue +29 -0
- package/src/components/DatePicker/DatePickerYearHeading.vue +19 -0
- package/src/components/DatePicker/index.ts +92 -0
- package/src/components/DismissableLayer/DismissableLayer.vue +175 -0
- package/src/components/DismissableLayer/DismissableLayerBranch.vue +28 -0
- package/src/components/DismissableLayer/index.ts +7 -0
- package/src/components/DismissableLayer/utils.ts +194 -0
- package/src/components/FocusScope/FocusScope.vue +220 -0
- package/src/components/FocusScope/index.ts +5 -0
- package/src/components/FocusScope/stack.ts +49 -0
- package/src/components/FocusScope/utils.ts +108 -0
- package/src/components/Popover/PopoverAnchor.vue +30 -0
- package/src/components/Popover/PopoverArrow.vue +23 -0
- package/src/components/Popover/PopoverClose.vue +29 -0
- package/src/components/Popover/PopoverContent.vue +41 -0
- package/src/components/Popover/PopoverContentImpl.vue +97 -0
- package/src/components/Popover/PopoverContentNonModal.vue +74 -0
- package/src/components/Popover/PopoverPortal.vue +17 -0
- package/src/components/Popover/PopoverRoot.vue +83 -0
- package/src/components/Popover/PopoverTrigger.vue +48 -0
- package/src/components/Popover/index.ts +31 -0
- package/src/components/Popper/PopperAnchor.vue +36 -0
- package/src/components/Popper/PopperArrow.vue +81 -0
- package/src/components/Popper/PopperContent.vue +399 -0
- package/src/components/Popper/PopperRoot.vue +36 -0
- package/src/components/Popper/index.ts +15 -0
- package/src/components/Popper/utils.ts +63 -0
- package/src/components/Presence/Presence.ts +91 -0
- package/src/components/Presence/index.ts +1 -0
- package/src/components/Presence/usePresence.ts +175 -0
- package/src/components/Primitive/Primitive.ts +66 -0
- package/src/components/Primitive/Slot.ts +40 -0
- package/src/components/Primitive/index.ts +3 -0
- package/src/components/Primitive/usePrimitiveElement.ts +13 -0
- package/src/components/Teleport/Teleport.vue +49 -0
- package/src/components/Teleport/index.ts +1 -0
- package/src/components/VisuallyHidden/VisuallyHidden.vue +47 -0
- package/src/components/VisuallyHidden/VisuallyHiddenInput.vue +67 -0
- package/src/components/VisuallyHidden/VisuallyHiddenInputBubble.vue +56 -0
- package/src/components/VisuallyHidden/index.ts +2 -0
- package/src/date/calendar.ts +242 -0
- package/src/date/comparators.ts +199 -0
- package/src/date/index.ts +3 -0
- package/src/date/types.ts +37 -0
- package/src/date/utils.ts +18 -0
- package/src/index.ts +78 -0
- package/src/shared/arrays.ts +66 -0
- package/src/shared/component/Arrow.vue +55 -0
- package/src/shared/component/BaseSeparator.vue +57 -0
- package/src/shared/component/index.ts +2 -0
- package/src/shared/constant/countryList.ts +251 -0
- package/src/shared/constant/index.ts +1 -0
- package/src/shared/createContext.ts +57 -0
- package/src/shared/date/comparators.ts +74 -0
- package/src/shared/date/index.ts +42 -0
- package/src/shared/date/parser.ts +252 -0
- package/src/shared/date/parts.ts +32 -0
- package/src/shared/date/placeholders.ts +221 -0
- package/src/shared/date/segment.ts +50 -0
- package/src/shared/date/types.ts +50 -0
- package/src/shared/date/useDateField.ts +998 -0
- package/src/shared/date/utils.ts +84 -0
- package/src/shared/getActiveElement.ts +12 -0
- package/src/shared/handleAndDispatchCustomEvent.ts +21 -0
- package/src/shared/index.ts +27 -0
- package/src/shared/nullish.ts +3 -0
- package/src/shared/onFocusOutside.ts +29 -0
- package/src/shared/renderSlotFragments.ts +13 -0
- package/src/shared/trap-focus.ts +45 -0
- package/src/shared/types.ts +64 -0
- package/src/shared/useDateFormatter.ts +186 -0
- package/src/shared/useDirection.ts +16 -0
- package/src/shared/useEmitAsProps.ts +32 -0
- package/src/shared/useFocusGuards.ts +46 -0
- package/src/shared/useForwardExpose.ts +66 -0
- package/src/shared/useForwardProps.ts +43 -0
- package/src/shared/useForwardPropsEmits.ts +26 -0
- package/src/shared/useId.ts +34 -0
- package/src/shared/useIsUsingKeyboard.ts +22 -0
- package/src/shared/useKbd.ts +58 -0
- package/src/shared/useLocale.ts +15 -0
- package/src/shared/useNonce.ts +10 -0
- package/src/shared/useSize.ts +64 -0
- package/src/shared/useStateMachine.ts +48 -0
- package/src/shared/withDefault.ts +61 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { Granularity } from './comparators'
|
|
2
|
+
import type { DateStep, HourCycle } from './types'
|
|
3
|
+
import { defu } from 'defu'
|
|
4
|
+
|
|
5
|
+
export function getOptsByGranularity(granularity: Granularity, hourCycle: HourCycle, isTimeValue: boolean = false) {
|
|
6
|
+
const opts: Intl.DateTimeFormatOptions = {
|
|
7
|
+
year: 'numeric',
|
|
8
|
+
month: '2-digit',
|
|
9
|
+
day: '2-digit',
|
|
10
|
+
hour: '2-digit',
|
|
11
|
+
minute: '2-digit',
|
|
12
|
+
second: '2-digit',
|
|
13
|
+
timeZoneName: 'short',
|
|
14
|
+
hourCycle: normalizeHourCycle(hourCycle),
|
|
15
|
+
hour12: normalizeHour12(hourCycle),
|
|
16
|
+
}
|
|
17
|
+
if (isTimeValue) {
|
|
18
|
+
delete opts.year
|
|
19
|
+
delete opts.month
|
|
20
|
+
delete opts.day
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (granularity === 'day') {
|
|
24
|
+
delete opts.second
|
|
25
|
+
delete opts.hour
|
|
26
|
+
delete opts.minute
|
|
27
|
+
delete opts.timeZoneName
|
|
28
|
+
}
|
|
29
|
+
if (granularity === 'hour') {
|
|
30
|
+
delete opts.minute
|
|
31
|
+
delete opts.second
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (granularity === 'minute')
|
|
35
|
+
delete opts.second
|
|
36
|
+
|
|
37
|
+
return opts
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
type GetDefaultDateStepProps = {
|
|
41
|
+
step?: DateStep
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function normalizeDateStep(props?: GetDefaultDateStepProps): DateStep {
|
|
45
|
+
return defu(props?.step, {
|
|
46
|
+
year: 1,
|
|
47
|
+
month: 1,
|
|
48
|
+
day: 1,
|
|
49
|
+
hour: 1,
|
|
50
|
+
minute: 1,
|
|
51
|
+
second: 1,
|
|
52
|
+
millisecond: 1,
|
|
53
|
+
} satisfies DateStep)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function handleCalendarInitialFocus(calendar: HTMLElement) {
|
|
57
|
+
const selectedDay = calendar.querySelector<HTMLElement>('[data-selected]')
|
|
58
|
+
if (selectedDay)
|
|
59
|
+
return selectedDay.focus()
|
|
60
|
+
|
|
61
|
+
const today = calendar.querySelector<HTMLElement>('[data-today]')
|
|
62
|
+
if (today)
|
|
63
|
+
return today.focus()
|
|
64
|
+
|
|
65
|
+
const firstDay = calendar.querySelector<HTMLElement>('[data-reka-calendar-day]')
|
|
66
|
+
if (firstDay)
|
|
67
|
+
return firstDay.focus()
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function normalizeHourCycle(hourCycle: HourCycle) {
|
|
71
|
+
if (hourCycle === 24)
|
|
72
|
+
return 'h23'
|
|
73
|
+
if (hourCycle === 12)
|
|
74
|
+
return 'h11'
|
|
75
|
+
return undefined
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function normalizeHour12(hourCycle: HourCycle) {
|
|
79
|
+
if (hourCycle === 24)
|
|
80
|
+
return false
|
|
81
|
+
if (hourCycle === 12)
|
|
82
|
+
return true
|
|
83
|
+
return undefined
|
|
84
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function getActiveElement(): Element | null {
|
|
2
|
+
let activeElement = document.activeElement
|
|
3
|
+
if (activeElement == null) {
|
|
4
|
+
return null
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
while (activeElement != null && activeElement.shadowRoot != null && activeElement.shadowRoot.activeElement != null) {
|
|
8
|
+
activeElement = activeElement.shadowRoot.activeElement
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return activeElement
|
|
12
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function handleAndDispatchCustomEvent<
|
|
2
|
+
E extends CustomEvent,
|
|
3
|
+
OriginalEvent extends Event,
|
|
4
|
+
>(
|
|
5
|
+
name: string,
|
|
6
|
+
handler: ((event: E) => void) | undefined,
|
|
7
|
+
detail: { originalEvent: OriginalEvent } & (E extends CustomEvent<infer D>
|
|
8
|
+
? D
|
|
9
|
+
: never),
|
|
10
|
+
) {
|
|
11
|
+
const target = detail.originalEvent.target
|
|
12
|
+
const event = new CustomEvent(name, {
|
|
13
|
+
bubbles: false,
|
|
14
|
+
cancelable: true,
|
|
15
|
+
detail,
|
|
16
|
+
})
|
|
17
|
+
if (handler)
|
|
18
|
+
target.addEventListener(name, handler as EventListener, { once: true })
|
|
19
|
+
|
|
20
|
+
target.dispatchEvent(event)
|
|
21
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export * from "./arrays";
|
|
2
|
+
export { createContext } from "./createContext";
|
|
3
|
+
export {
|
|
4
|
+
type DateRange,
|
|
5
|
+
type DateStep,
|
|
6
|
+
type DateValue,
|
|
7
|
+
type SegmentPart,
|
|
8
|
+
} from "./date";
|
|
9
|
+
export { getActiveElement } from "./getActiveElement";
|
|
10
|
+
export { handleAndDispatchCustomEvent } from "./handleAndDispatchCustomEvent";
|
|
11
|
+
export * from "./nullish";
|
|
12
|
+
export { onFocusOutside } from "./onFocusOutside";
|
|
13
|
+
export { renderSlotFragments } from "./renderSlotFragments";
|
|
14
|
+
export { trapFocus } from "./trap-focus";
|
|
15
|
+
export { type Formatter, useDateFormatter } from "./useDateFormatter";
|
|
16
|
+
export { useDirection } from "./useDirection";
|
|
17
|
+
export { useEmitAsProps } from "./useEmitAsProps";
|
|
18
|
+
export { useFocusGuards } from "./useFocusGuards";
|
|
19
|
+
export { useForwardExpose } from "./useForwardExpose";
|
|
20
|
+
export { useForwardProps } from "./useForwardProps";
|
|
21
|
+
export { useForwardPropsEmits } from "./useForwardPropsEmits";
|
|
22
|
+
export { useId } from "./useId";
|
|
23
|
+
export { useKbd, useTestKbd } from "./useKbd";
|
|
24
|
+
export { useLocale } from "./useLocale";
|
|
25
|
+
export { useSize } from "./useSize";
|
|
26
|
+
export { useStateMachine } from "./useStateMachine";
|
|
27
|
+
export { withDefault } from "./withDefault";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { MaybeElementRef } from '@vueuse/core'
|
|
2
|
+
import { unrefElement } from '@vueuse/core'
|
|
3
|
+
import { onMounted, onUnmounted } from 'vue'
|
|
4
|
+
|
|
5
|
+
export function onFocusOutside(
|
|
6
|
+
element: MaybeElementRef,
|
|
7
|
+
handler: (event: FocusEvent) => void,
|
|
8
|
+
) {
|
|
9
|
+
const handleFocusOut = (ev: FocusEvent) => {
|
|
10
|
+
const el = unrefElement(element)
|
|
11
|
+
if (!ev.relatedTarget)
|
|
12
|
+
return
|
|
13
|
+
const isFocusInsideElement = el?.contains(ev.relatedTarget as Node)
|
|
14
|
+
|
|
15
|
+
if (!isFocusInsideElement)
|
|
16
|
+
handler(ev)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
onMounted(() => {
|
|
20
|
+
const el = unrefElement(element)
|
|
21
|
+
// @ts-expect-error focusout should received FocusEvent
|
|
22
|
+
el?.addEventListener('focusout', handleFocusOut)
|
|
23
|
+
})
|
|
24
|
+
onUnmounted(() => {
|
|
25
|
+
const el = unrefElement(element)
|
|
26
|
+
// @ts-expect-error focusout should received FocusEvent
|
|
27
|
+
el?.removeEventListener('focusout', handleFocusOut)
|
|
28
|
+
})
|
|
29
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { VNode } from 'vue'
|
|
2
|
+
import { Fragment } from 'vue'
|
|
3
|
+
|
|
4
|
+
export function renderSlotFragments(children?: VNode[]): VNode[] {
|
|
5
|
+
if (!children)
|
|
6
|
+
return []
|
|
7
|
+
return children.flatMap((child) => {
|
|
8
|
+
if (child.type === Fragment)
|
|
9
|
+
return renderSlotFragments(child.children as VNode[])
|
|
10
|
+
|
|
11
|
+
return [child]
|
|
12
|
+
})
|
|
13
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { getActiveElement } from './getActiveElement'
|
|
2
|
+
|
|
3
|
+
export function trapFocus(element: HTMLElement) {
|
|
4
|
+
if (element) {
|
|
5
|
+
const focusableEls = [
|
|
6
|
+
...Array.from(
|
|
7
|
+
element.querySelectorAll(
|
|
8
|
+
'a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])',
|
|
9
|
+
),
|
|
10
|
+
),
|
|
11
|
+
].filter(
|
|
12
|
+
el => !el.hasAttribute('disabled') && !el.getAttribute('aria-hidden'),
|
|
13
|
+
)
|
|
14
|
+
const firstFocusableEl = focusableEls[0] as HTMLElement
|
|
15
|
+
const lastFocusableEl = focusableEls[
|
|
16
|
+
focusableEls.length - 1
|
|
17
|
+
] as HTMLElement
|
|
18
|
+
const KEYCODE_TAB = 9
|
|
19
|
+
|
|
20
|
+
if (firstFocusableEl)
|
|
21
|
+
firstFocusableEl.focus()
|
|
22
|
+
|
|
23
|
+
element.addEventListener('keydown', (e) => {
|
|
24
|
+
const isTabPressed = e.key === 'Tab' || e.keyCode === KEYCODE_TAB
|
|
25
|
+
|
|
26
|
+
if (!isTabPressed)
|
|
27
|
+
return
|
|
28
|
+
|
|
29
|
+
if (e.shiftKey) {
|
|
30
|
+
/* shift + tab */ if (getActiveElement() === firstFocusableEl) {
|
|
31
|
+
lastFocusableEl.focus()
|
|
32
|
+
e.preventDefault()
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
/* tab */
|
|
37
|
+
if (getActiveElement() === lastFocusableEl) {
|
|
38
|
+
firstFocusableEl.focus()
|
|
39
|
+
e.preventDefault()
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
return firstFocusableEl
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
type DataOrientation = 'vertical' | 'horizontal'
|
|
2
|
+
type Direction = 'ltr' | 'rtl'
|
|
3
|
+
type SingleOrMultipleType = 'single' | 'multiple'
|
|
4
|
+
|
|
5
|
+
interface SingleOrMultipleProps<T = AcceptableValue | AcceptableValue[]> {
|
|
6
|
+
/**
|
|
7
|
+
* Determines whether a "single" or "multiple" items can be selected at a time.
|
|
8
|
+
*
|
|
9
|
+
* This prop will overwrite the inferred type from `modelValue` and `defaultValue`.
|
|
10
|
+
*/
|
|
11
|
+
type?: SingleOrMultipleType
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The controlled value of the active item(s).
|
|
15
|
+
*
|
|
16
|
+
* Use this when you need to control the state of the items. Can be binded with `v-model`
|
|
17
|
+
*/
|
|
18
|
+
modelValue?: T
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The default active value of the item(s).
|
|
22
|
+
*
|
|
23
|
+
* Use when you do not need to control the state of the item(s).
|
|
24
|
+
*/
|
|
25
|
+
defaultValue?: T
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* if padding or margin is number, it will be in px
|
|
30
|
+
* if padding or margin is true, it will be var(--scrollbar-width)
|
|
31
|
+
* otherwise, it will be passed string
|
|
32
|
+
*/
|
|
33
|
+
type ScrollBodyOption = {
|
|
34
|
+
padding?: boolean | number | string
|
|
35
|
+
margin?: boolean | number | string
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Exclude `boolean` type to prevent type casting
|
|
39
|
+
// reference: https://vuejs.org/guide/components/props.html#boolean-casting
|
|
40
|
+
type AcceptableValue = string | number | bigint | Record<string, any> | null
|
|
41
|
+
type ArrayOrWrapped<T> = T extends any[] ? T : Array<T>
|
|
42
|
+
type StringOrNumber = string | number
|
|
43
|
+
|
|
44
|
+
// Temporary solution for InstanceType complains about generic components. Reference: https://github.com/vuejs/language-tools/issues/3206#issuecomment-2188687250
|
|
45
|
+
import type { DefineComponent } from 'vue'
|
|
46
|
+
|
|
47
|
+
type GenericComponentInstance<T> = T extends new (...args: any[]) => infer R
|
|
48
|
+
? R
|
|
49
|
+
: T extends (...args: any[]) => infer R
|
|
50
|
+
? R extends { __ctx?: infer K }
|
|
51
|
+
? Exclude<K, void> extends { expose: (...args: infer Y) => void }
|
|
52
|
+
? Y[0] & InstanceType<DefineComponent>
|
|
53
|
+
: any
|
|
54
|
+
: any
|
|
55
|
+
: any
|
|
56
|
+
|
|
57
|
+
interface FormFieldProps {
|
|
58
|
+
/** The name of the field. Submitted with its owning form as part of a name/value pair. */
|
|
59
|
+
name?: string
|
|
60
|
+
/** When `true`, indicates that the user must set the value before the owning form can be submitted. */
|
|
61
|
+
required?: boolean
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export type { AcceptableValue, ArrayOrWrapped, DataOrientation, Direction, FormFieldProps, GenericComponentInstance, ScrollBodyOption, SingleOrMultipleProps, SingleOrMultipleType, StringOrNumber }
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Implementation ported from https://github.com/melt-ui/melt-ui/blob/develop/src/lib/internal/helpers/date/formatter.ts
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { DateValue, ZonedDateTime } from "@internationalized/date";
|
|
6
|
+
import {
|
|
7
|
+
DateFormatter,
|
|
8
|
+
getLocalTimeZone,
|
|
9
|
+
today,
|
|
10
|
+
} from "@internationalized/date";
|
|
11
|
+
import { ref } from "vue";
|
|
12
|
+
import { hasTime, isZonedDateTime, toDate } from "../date";
|
|
13
|
+
|
|
14
|
+
export interface DateFormatterOptions extends Intl.DateTimeFormatOptions {
|
|
15
|
+
calendar?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type Formatter = {
|
|
19
|
+
getLocale: () => string;
|
|
20
|
+
setLocale: (newLocale: string) => void;
|
|
21
|
+
custom: (date: Date, options: DateFormatterOptions) => string;
|
|
22
|
+
selectedDate: (date: DateValue, includeTime?: boolean) => string;
|
|
23
|
+
dayOfWeek: (date: Date, length?: DateFormatterOptions["weekday"]) => string;
|
|
24
|
+
fullMonthAndYear: (date: Date, options?: DateFormatterOptions) => string;
|
|
25
|
+
fullMonth: (date: Date, options?: DateFormatterOptions) => string;
|
|
26
|
+
fullYear: (date: Date, options?: DateFormatterOptions) => string;
|
|
27
|
+
dayPeriod: (date: Date) => string;
|
|
28
|
+
part: (
|
|
29
|
+
dateObj: DateValue,
|
|
30
|
+
type: Intl.DateTimeFormatPartTypes,
|
|
31
|
+
options?: DateFormatterOptions,
|
|
32
|
+
) => string;
|
|
33
|
+
toParts: (
|
|
34
|
+
date: DateValue,
|
|
35
|
+
options?: DateFormatterOptions,
|
|
36
|
+
) => Intl.DateTimeFormatPart[];
|
|
37
|
+
getMonths: () => { label: string; value: number }[];
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Creates a wrapper around the `DateFormatter`, which is
|
|
42
|
+
* an improved version of the {@link Intl.DateTimeFormat} API,
|
|
43
|
+
* that is used internally by the various date builders to
|
|
44
|
+
* easily format dates in a consistent way.
|
|
45
|
+
*
|
|
46
|
+
* @see [DateFormatter](https://react-spectrum.adobe.com/internationalized/date/DateFormatter.html)
|
|
47
|
+
*/
|
|
48
|
+
export function useDateFormatter(
|
|
49
|
+
initialLocale: string,
|
|
50
|
+
opts: DateFormatterOptions = {},
|
|
51
|
+
): Formatter {
|
|
52
|
+
const locale = ref(initialLocale);
|
|
53
|
+
|
|
54
|
+
function getLocale() {
|
|
55
|
+
return locale.value;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function setLocale(newLocale: string) {
|
|
59
|
+
locale.value = newLocale;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function custom(date: Date, options: DateFormatterOptions) {
|
|
63
|
+
return new DateFormatter(locale.value, { ...opts, ...options }).format(
|
|
64
|
+
date,
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function selectedDate(date: DateValue, includeTime = true) {
|
|
69
|
+
if (hasTime(date) && includeTime) {
|
|
70
|
+
return custom(toDate(date), {
|
|
71
|
+
dateStyle: "long",
|
|
72
|
+
timeStyle: "long",
|
|
73
|
+
});
|
|
74
|
+
} else {
|
|
75
|
+
return custom(toDate(date), {
|
|
76
|
+
dateStyle: "long",
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function fullMonthAndYear(date: Date, options: DateFormatterOptions = {}) {
|
|
82
|
+
return new DateFormatter(locale.value, {
|
|
83
|
+
...opts,
|
|
84
|
+
month: "long",
|
|
85
|
+
year: "numeric",
|
|
86
|
+
...options,
|
|
87
|
+
}).format(date);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function fullMonth(date: Date, options: DateFormatterOptions = {}) {
|
|
91
|
+
return new DateFormatter(locale.value, {
|
|
92
|
+
...opts,
|
|
93
|
+
month: "long",
|
|
94
|
+
...options,
|
|
95
|
+
}).format(date);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function getMonths() {
|
|
99
|
+
const defaultDate = today(getLocalTimeZone());
|
|
100
|
+
const months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
|
101
|
+
return months.map((item) => ({
|
|
102
|
+
label: fullMonth(toDate(defaultDate.set({ month: item }))),
|
|
103
|
+
value: item,
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function fullYear(date: Date, options: DateFormatterOptions = {}) {
|
|
108
|
+
return new DateFormatter(locale.value, {
|
|
109
|
+
...opts,
|
|
110
|
+
year: "numeric",
|
|
111
|
+
...options,
|
|
112
|
+
}).format(date);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function toParts(date: DateValue, options?: DateFormatterOptions) {
|
|
116
|
+
if (isZonedDateTime(date)) {
|
|
117
|
+
return new DateFormatter(locale.value, {
|
|
118
|
+
...opts,
|
|
119
|
+
...options,
|
|
120
|
+
timeZone: (date as ZonedDateTime).timeZone,
|
|
121
|
+
}).formatToParts(toDate(date));
|
|
122
|
+
} else {
|
|
123
|
+
return new DateFormatter(locale.value, {
|
|
124
|
+
...opts,
|
|
125
|
+
...options,
|
|
126
|
+
}).formatToParts(toDate(date));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function dayOfWeek(
|
|
131
|
+
date: Date,
|
|
132
|
+
length: DateFormatterOptions["weekday"] = "narrow",
|
|
133
|
+
) {
|
|
134
|
+
return new DateFormatter(locale.value, { ...opts, weekday: length }).format(
|
|
135
|
+
date,
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function dayPeriod(date: Date) {
|
|
140
|
+
const parts = new DateFormatter(locale.value, {
|
|
141
|
+
...opts,
|
|
142
|
+
hour: "numeric",
|
|
143
|
+
minute: "numeric",
|
|
144
|
+
}).formatToParts(date);
|
|
145
|
+
const value = parts.find((p) => p.type === "dayPeriod")?.value;
|
|
146
|
+
// Day period can be "AM"/"PM" or "a.m."/"p.m." in some locales
|
|
147
|
+
if (value === "PM" || value === "p.m.") return "PM";
|
|
148
|
+
|
|
149
|
+
return "AM";
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const defaultPartOptions: DateFormatterOptions = {
|
|
153
|
+
year: "numeric",
|
|
154
|
+
month: "numeric",
|
|
155
|
+
day: "numeric",
|
|
156
|
+
hour: "numeric",
|
|
157
|
+
minute: "numeric",
|
|
158
|
+
second: "numeric",
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
function part(
|
|
162
|
+
dateObj: DateValue,
|
|
163
|
+
type: Intl.DateTimeFormatPartTypes,
|
|
164
|
+
options: DateFormatterOptions = {},
|
|
165
|
+
) {
|
|
166
|
+
const opts = { ...defaultPartOptions, ...options };
|
|
167
|
+
const parts = toParts(dateObj, opts);
|
|
168
|
+
const part = parts.find((p) => p.type === type);
|
|
169
|
+
return part ? part.value : "";
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
return {
|
|
173
|
+
setLocale,
|
|
174
|
+
getLocale,
|
|
175
|
+
fullMonth,
|
|
176
|
+
fullYear,
|
|
177
|
+
fullMonthAndYear,
|
|
178
|
+
toParts,
|
|
179
|
+
custom,
|
|
180
|
+
part,
|
|
181
|
+
dayPeriod,
|
|
182
|
+
selectedDate,
|
|
183
|
+
dayOfWeek,
|
|
184
|
+
getMonths,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Ref } from "vue";
|
|
2
|
+
import type { Direction } from "./types";
|
|
3
|
+
import { computed, ref } from "vue";
|
|
4
|
+
import { injectConfigProviderContext } from "../components/ConfigProvider/ConfigProvider.vue";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The `useDirection` function provides a way to access the current direction in your application.
|
|
8
|
+
* @param {Ref<Direction | undefined>} [dir] - An optional ref containing the direction (ltr or rtl).
|
|
9
|
+
* @returns computed value that combines with the resolved direction.
|
|
10
|
+
*/
|
|
11
|
+
export function useDirection(dir?: Ref<Direction | undefined>) {
|
|
12
|
+
const context = injectConfigProviderContext({
|
|
13
|
+
dir: ref("ltr"),
|
|
14
|
+
});
|
|
15
|
+
return computed(() => dir?.value || context.dir?.value || "ltr");
|
|
16
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { camelize, getCurrentInstance, toHandlerKey } from 'vue'
|
|
2
|
+
|
|
3
|
+
// Vue doesn't have emits forwarding, in order to bind the emits we have to convert events into `onXXX` handlers
|
|
4
|
+
// issue: https://github.com/vuejs/core/issues/5917
|
|
5
|
+
/**
|
|
6
|
+
* The `useEmitAsProps` function is a TypeScript utility that converts emitted events into props for a
|
|
7
|
+
* Vue component.
|
|
8
|
+
* @param emit - The `emit` parameter is a function that is used to emit events from a component. It
|
|
9
|
+
* takes two parameters: `name` which is the name of the event to be emitted, and `...args` which are
|
|
10
|
+
* the arguments to be passed along with the event.
|
|
11
|
+
* @returns The function `useEmitAsProps` returns an object that maps event names to functions that
|
|
12
|
+
* call the `emit` function with the corresponding event name and arguments.
|
|
13
|
+
*/
|
|
14
|
+
export function useEmitAsProps<Name extends string>(
|
|
15
|
+
emit: (name: Name, ...args: any[]) => void,
|
|
16
|
+
) {
|
|
17
|
+
const vm = getCurrentInstance()
|
|
18
|
+
|
|
19
|
+
const events = vm?.type.emits as Name[]
|
|
20
|
+
const result: Record<string, any> = {}
|
|
21
|
+
|
|
22
|
+
if (!events?.length) {
|
|
23
|
+
console.warn(
|
|
24
|
+
`No emitted event found. Please check component: ${vm?.type.__name}`,
|
|
25
|
+
)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
events?.forEach((ev) => {
|
|
29
|
+
result[toHandlerKey(camelize(ev))] = (...arg: any) => emit(ev, ...arg)
|
|
30
|
+
})
|
|
31
|
+
return result
|
|
32
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { isClient } from '@vueuse/shared'
|
|
2
|
+
import { watchEffect } from 'vue'
|
|
3
|
+
|
|
4
|
+
/** Number of components which have requested interest to have focus guards */
|
|
5
|
+
let count = 0
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Injects a pair of focus guards at the edges of the whole DOM tree
|
|
9
|
+
* to ensure `focusin` & `focusout` events can be caught consistently.
|
|
10
|
+
*/
|
|
11
|
+
export function useFocusGuards() {
|
|
12
|
+
watchEffect((cleanupFn) => {
|
|
13
|
+
if (!isClient)
|
|
14
|
+
return
|
|
15
|
+
const edgeGuards = document.querySelectorAll('[data-reka-focus-guard]')
|
|
16
|
+
document.body.insertAdjacentElement(
|
|
17
|
+
'afterbegin',
|
|
18
|
+
edgeGuards[0] ?? createFocusGuard(),
|
|
19
|
+
)
|
|
20
|
+
document.body.insertAdjacentElement(
|
|
21
|
+
'beforeend',
|
|
22
|
+
edgeGuards[1] ?? createFocusGuard(),
|
|
23
|
+
)
|
|
24
|
+
count++
|
|
25
|
+
|
|
26
|
+
cleanupFn(() => {
|
|
27
|
+
if (count === 1) {
|
|
28
|
+
document
|
|
29
|
+
.querySelectorAll('[data-reka-focus-guard]')
|
|
30
|
+
.forEach(node => node.remove())
|
|
31
|
+
}
|
|
32
|
+
count--
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function createFocusGuard() {
|
|
38
|
+
const element = document.createElement('span')
|
|
39
|
+
element.setAttribute('data-reka-focus-guard', '')
|
|
40
|
+
element.tabIndex = 0
|
|
41
|
+
element.style.outline = 'none'
|
|
42
|
+
element.style.opacity = '0'
|
|
43
|
+
element.style.position = 'fixed'
|
|
44
|
+
element.style.pointerEvents = 'none'
|
|
45
|
+
return element
|
|
46
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { ComponentPublicInstance } from 'vue'
|
|
2
|
+
// reference: https://github.com/vuejs/rfcs/issues/258#issuecomment-1068697672
|
|
3
|
+
import { unrefElement } from '@vueuse/core'
|
|
4
|
+
import { computed, getCurrentInstance, ref } from 'vue'
|
|
5
|
+
|
|
6
|
+
export function useForwardExpose<T extends ComponentPublicInstance>() {
|
|
7
|
+
const instance = getCurrentInstance()!
|
|
8
|
+
|
|
9
|
+
const currentRef = ref<Element | T | null>()
|
|
10
|
+
const currentElement = computed<HTMLElement>(() => {
|
|
11
|
+
// $el could be text/comment for non-single root normal or text root, thus we retrieve the nextElementSibling
|
|
12
|
+
// @ts-expect-error ignore ts error
|
|
13
|
+
return ['#text', '#comment'].includes(currentRef.value?.$el.nodeName) ? currentRef.value?.$el.nextElementSibling : unrefElement(currentRef)
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
// Do give us credit if you reference our code :D
|
|
17
|
+
// localExpose should only be assigned once else will create infinite loop
|
|
18
|
+
const localExpose: Record<string, any> | null = Object.assign({}, instance.exposed)
|
|
19
|
+
const ret: Record<string, any> = {}
|
|
20
|
+
|
|
21
|
+
// retrieve props for current instance
|
|
22
|
+
for (const key in instance.props) {
|
|
23
|
+
Object.defineProperty(ret, key, {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
get: () => instance.props[key],
|
|
27
|
+
})
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// retrieve default exposed value
|
|
31
|
+
if (Object.keys(localExpose).length > 0) {
|
|
32
|
+
for (const key in localExpose) {
|
|
33
|
+
Object.defineProperty(ret, key, {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
get: () => localExpose![key],
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// retrieve original first root element
|
|
42
|
+
Object.defineProperty(ret, '$el', {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
configurable: true,
|
|
45
|
+
get: () => instance.vnode.el,
|
|
46
|
+
})
|
|
47
|
+
instance.exposed = ret
|
|
48
|
+
|
|
49
|
+
function forwardRef(ref: Element | T | null) {
|
|
50
|
+
currentRef.value = ref
|
|
51
|
+
|
|
52
|
+
if (!ref)
|
|
53
|
+
return
|
|
54
|
+
|
|
55
|
+
// retrieve the forwarded element
|
|
56
|
+
Object.defineProperty(ret, '$el', {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
configurable: true,
|
|
59
|
+
get: () => (ref instanceof Element ? ref : ref.$el),
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
instance.exposed = ret
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return { forwardRef, currentRef, currentElement }
|
|
66
|
+
}
|