@coreui/react-pro 5.20.0 → 5.22.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/README.md +1 -1
- package/dist/cjs/components/accordion/CAccordion.js +5 -5
- package/dist/cjs/components/accordion/CAccordion.js.map +1 -1
- package/dist/cjs/components/accordion/CAccordionBody.js +4 -4
- package/dist/cjs/components/accordion/CAccordionBody.js.map +1 -1
- package/dist/cjs/components/accordion/CAccordionButton.js +4 -4
- package/dist/cjs/components/accordion/CAccordionButton.js.map +1 -1
- package/dist/cjs/components/accordion/CAccordionContext.js +1 -1
- package/dist/cjs/components/accordion/CAccordionContext.js.map +1 -1
- package/dist/cjs/components/accordion/CAccordionHeader.js +3 -3
- package/dist/cjs/components/accordion/CAccordionHeader.js.map +1 -1
- package/dist/cjs/components/accordion/CAccordionItem.js +11 -11
- package/dist/cjs/components/accordion/CAccordionItem.js.map +1 -1
- package/dist/cjs/components/accordion/CAccordionItemContext.js +1 -1
- package/dist/cjs/components/accordion/CAccordionItemContext.js.map +1 -1
- package/dist/cjs/components/alert/CAlert.js +8 -8
- package/dist/cjs/components/alert/CAlert.js.map +1 -1
- package/dist/cjs/components/alert/CAlertHeading.js +3 -3
- package/dist/cjs/components/alert/CAlertHeading.js.map +1 -1
- package/dist/cjs/components/alert/CAlertLink.js +3 -3
- package/dist/cjs/components/alert/CAlertLink.js.map +1 -1
- package/dist/cjs/components/autocomplete/CAutocomplete.js +61 -66
- package/dist/cjs/components/autocomplete/CAutocomplete.js.map +1 -1
- package/dist/cjs/components/autocomplete/CAutocompleteOptions.js +15 -21
- package/dist/cjs/components/autocomplete/CAutocompleteOptions.js.map +1 -1
- package/dist/cjs/components/autocomplete/utils.js +23 -32
- package/dist/cjs/components/autocomplete/utils.js.map +1 -1
- package/dist/cjs/components/avatar/CAvatar.js +8 -9
- package/dist/cjs/components/avatar/CAvatar.js.map +1 -1
- package/dist/cjs/components/backdrop/CBackdrop.js +6 -6
- package/dist/cjs/components/backdrop/CBackdrop.js.map +1 -1
- package/dist/cjs/components/badge/CBadge.js +13 -14
- package/dist/cjs/components/badge/CBadge.js.map +1 -1
- package/dist/cjs/components/breadcrumb/CBreadcrumb.js +3 -3
- package/dist/cjs/components/breadcrumb/CBreadcrumb.js.map +1 -1
- package/dist/cjs/components/breadcrumb/CBreadcrumbItem.js +3 -3
- package/dist/cjs/components/breadcrumb/CBreadcrumbItem.js.map +1 -1
- package/dist/cjs/components/button/CButton.js +8 -9
- package/dist/cjs/components/button/CButton.js.map +1 -1
- package/dist/cjs/components/button-group/CButtonGroup.js +3 -4
- package/dist/cjs/components/button-group/CButtonGroup.js.map +1 -1
- package/dist/cjs/components/button-group/CButtonToolbar.js +3 -3
- package/dist/cjs/components/button-group/CButtonToolbar.js.map +1 -1
- package/dist/cjs/components/calendar/CCalendar.js +69 -73
- package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
- package/dist/cjs/components/calendar/CCalendarNavigation.js +8 -11
- package/dist/cjs/components/calendar/CCalendarNavigation.js.map +1 -1
- package/dist/cjs/components/calendar/CCalendarPanel.js +63 -72
- package/dist/cjs/components/calendar/CCalendarPanel.js.map +1 -1
- package/dist/cjs/components/calendar/utils.d.ts +53 -2
- package/dist/cjs/components/calendar/utils.js +544 -127
- package/dist/cjs/components/calendar/utils.js.map +1 -1
- package/dist/cjs/components/callout/CCallout.js +5 -6
- package/dist/cjs/components/callout/CCallout.js.map +1 -1
- package/dist/cjs/components/card/CCard.js +7 -8
- package/dist/cjs/components/card/CCard.js.map +1 -1
- package/dist/cjs/components/card/CCardBody.js +3 -3
- package/dist/cjs/components/card/CCardBody.js.map +1 -1
- package/dist/cjs/components/card/CCardFooter.js +3 -3
- package/dist/cjs/components/card/CCardFooter.js.map +1 -1
- package/dist/cjs/components/card/CCardGroup.js +3 -3
- package/dist/cjs/components/card/CCardGroup.js.map +1 -1
- package/dist/cjs/components/card/CCardHeader.js +3 -3
- package/dist/cjs/components/card/CCardHeader.js.map +1 -1
- package/dist/cjs/components/card/CCardImage.js +3 -3
- package/dist/cjs/components/card/CCardImage.js.map +1 -1
- package/dist/cjs/components/card/CCardImageOverlay.js +3 -3
- package/dist/cjs/components/card/CCardImageOverlay.js.map +1 -1
- package/dist/cjs/components/card/CCardLink.js +3 -3
- package/dist/cjs/components/card/CCardLink.js.map +1 -1
- package/dist/cjs/components/card/CCardSubtitle.js +3 -3
- package/dist/cjs/components/card/CCardSubtitle.js.map +1 -1
- package/dist/cjs/components/card/CCardText.js +3 -3
- package/dist/cjs/components/card/CCardText.js.map +1 -1
- package/dist/cjs/components/card/CCardTitle.js +3 -3
- package/dist/cjs/components/card/CCardTitle.js.map +1 -1
- package/dist/cjs/components/carousel/CCarousel.js +41 -41
- package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
- package/dist/cjs/components/carousel/CCarouselCaption.js +3 -3
- package/dist/cjs/components/carousel/CCarouselCaption.js.map +1 -1
- package/dist/cjs/components/carousel/CCarouselContext.js +1 -1
- package/dist/cjs/components/carousel/CCarouselContext.js.map +1 -1
- package/dist/cjs/components/carousel/CCarouselItem.js +21 -21
- package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
- package/dist/cjs/components/close-button/CCloseButton.js +3 -3
- package/dist/cjs/components/close-button/CCloseButton.js.map +1 -1
- package/dist/cjs/components/collapse/CCollapse.js +16 -16
- package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
- package/dist/cjs/components/conditional-portal/CConditionalPortal.js +4 -5
- package/dist/cjs/components/conditional-portal/CConditionalPortal.js.map +1 -1
- package/dist/cjs/components/date-picker/CDatePicker.js +4 -4
- package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js +135 -106
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/utils.d.ts +0 -9
- package/dist/cjs/components/date-range-picker/utils.js +2 -40
- package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdown.d.ts +41 -10
- package/dist/cjs/components/dropdown/CDropdown.js +131 -77
- package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownContext.d.ts +1 -1
- package/dist/cjs/components/dropdown/CDropdownContext.js +1 -1
- package/dist/cjs/components/dropdown/CDropdownContext.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownDivider.js +3 -3
- package/dist/cjs/components/dropdown/CDropdownDivider.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownHeader.js +3 -3
- package/dist/cjs/components/dropdown/CDropdownHeader.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownItem.js +3 -3
- package/dist/cjs/components/dropdown/CDropdownItem.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownItemPlain.js +3 -3
- package/dist/cjs/components/dropdown/CDropdownItemPlain.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownMenu.js +6 -6
- package/dist/cjs/components/dropdown/CDropdownMenu.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownToggle.d.ts +14 -3
- package/dist/cjs/components/dropdown/CDropdownToggle.js +20 -14
- package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/cjs/components/dropdown/utils.d.ts +2 -0
- package/dist/cjs/components/dropdown/utils.js +20 -7
- package/dist/cjs/components/dropdown/utils.js.map +1 -1
- package/dist/cjs/components/element-cover/CElementCover.js +20 -21
- package/dist/cjs/components/element-cover/CElementCover.js.map +1 -1
- package/dist/cjs/components/focus-trap/CFocusTrap.d.ts +59 -0
- package/dist/cjs/components/focus-trap/CFocusTrap.js +162 -0
- package/dist/cjs/components/focus-trap/CFocusTrap.js.map +1 -0
- package/dist/cjs/components/focus-trap/index.d.ts +2 -0
- package/dist/cjs/components/focus-trap/utils.d.ts +36 -0
- package/dist/cjs/components/focus-trap/utils.js +108 -0
- package/dist/cjs/components/focus-trap/utils.js.map +1 -0
- package/dist/cjs/components/footer/CFooter.js +3 -4
- package/dist/cjs/components/footer/CFooter.js.map +1 -1
- package/dist/cjs/components/form/CForm.js +3 -3
- package/dist/cjs/components/form/CForm.js.map +1 -1
- package/dist/cjs/components/form/CFormCheck.js +16 -19
- package/dist/cjs/components/form/CFormCheck.js.map +1 -1
- package/dist/cjs/components/form/CFormControlValidation.js +2 -4
- package/dist/cjs/components/form/CFormControlValidation.js.map +1 -1
- package/dist/cjs/components/form/CFormControlWrapper.js +3 -5
- package/dist/cjs/components/form/CFormControlWrapper.js.map +1 -1
- package/dist/cjs/components/form/CFormFeedback.js +6 -7
- package/dist/cjs/components/form/CFormFeedback.js.map +1 -1
- package/dist/cjs/components/form/CFormFloating.js +3 -3
- package/dist/cjs/components/form/CFormFloating.js.map +1 -1
- package/dist/cjs/components/form/CFormInput.js +13 -14
- package/dist/cjs/components/form/CFormInput.js.map +1 -1
- package/dist/cjs/components/form/CFormLabel.js +3 -3
- package/dist/cjs/components/form/CFormLabel.js.map +1 -1
- package/dist/cjs/components/form/CFormRange.js +3 -3
- package/dist/cjs/components/form/CFormRange.js.map +1 -1
- package/dist/cjs/components/form/CFormSelect.js +10 -11
- package/dist/cjs/components/form/CFormSelect.js.map +1 -1
- package/dist/cjs/components/form/CFormSwitch.js +10 -12
- package/dist/cjs/components/form/CFormSwitch.js.map +1 -1
- package/dist/cjs/components/form/CFormText.js +3 -3
- package/dist/cjs/components/form/CFormText.js.map +1 -1
- package/dist/cjs/components/form/CFormTextarea.js +4 -4
- package/dist/cjs/components/form/CFormTextarea.js.map +1 -1
- package/dist/cjs/components/form/CInputGroup.js +5 -6
- package/dist/cjs/components/form/CInputGroup.js.map +1 -1
- package/dist/cjs/components/form/CInputGroupText.js +3 -3
- package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
- package/dist/cjs/components/grid/CCol.js +16 -16
- package/dist/cjs/components/grid/CCol.js.map +1 -1
- package/dist/cjs/components/grid/CContainer.js +8 -8
- package/dist/cjs/components/grid/CContainer.js.map +1 -1
- package/dist/cjs/components/grid/CRow.js +13 -13
- package/dist/cjs/components/grid/CRow.js.map +1 -1
- package/dist/cjs/components/header/CHeader.js +3 -4
- package/dist/cjs/components/header/CHeader.js.map +1 -1
- package/dist/cjs/components/header/CHeaderBrand.js +3 -3
- package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
- package/dist/cjs/components/header/CHeaderDivider.js +3 -3
- package/dist/cjs/components/header/CHeaderDivider.js.map +1 -1
- package/dist/cjs/components/header/CHeaderNav.js +3 -3
- package/dist/cjs/components/header/CHeaderNav.js.map +1 -1
- package/dist/cjs/components/header/CHeaderText.js +3 -3
- package/dist/cjs/components/header/CHeaderText.js.map +1 -1
- package/dist/cjs/components/header/CHeaderToggler.js +3 -3
- package/dist/cjs/components/header/CHeaderToggler.js.map +1 -1
- package/dist/cjs/components/image/CImage.js +9 -10
- package/dist/cjs/components/image/CImage.js.map +1 -1
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/link/CLink.js +5 -5
- package/dist/cjs/components/link/CLink.js.map +1 -1
- package/dist/cjs/components/list-group/CListGroup.js +6 -8
- package/dist/cjs/components/list-group/CListGroup.js.map +1 -1
- package/dist/cjs/components/list-group/CListGroupItem.js +13 -14
- package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
- package/dist/cjs/components/loading-button/CLoadingButton.js +7 -7
- package/dist/cjs/components/loading-button/CLoadingButton.js.map +1 -1
- package/dist/cjs/components/modal/CModal.js +26 -34
- package/dist/cjs/components/modal/CModal.js.map +1 -1
- package/dist/cjs/components/modal/CModalBody.js +3 -3
- package/dist/cjs/components/modal/CModalBody.js.map +1 -1
- package/dist/cjs/components/modal/CModalContent.js +3 -3
- package/dist/cjs/components/modal/CModalContent.js.map +1 -1
- package/dist/cjs/components/modal/CModalContext.js +1 -1
- package/dist/cjs/components/modal/CModalContext.js.map +1 -1
- package/dist/cjs/components/modal/CModalDialog.js +9 -11
- package/dist/cjs/components/modal/CModalDialog.js.map +1 -1
- package/dist/cjs/components/modal/CModalFooter.js +3 -3
- package/dist/cjs/components/modal/CModalFooter.js.map +1 -1
- package/dist/cjs/components/modal/CModalHeader.js +5 -5
- package/dist/cjs/components/modal/CModalHeader.js.map +1 -1
- package/dist/cjs/components/modal/CModalTitle.js +3 -3
- package/dist/cjs/components/modal/CModalTitle.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelect.js +81 -84
- package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js +5 -9
- package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectOptions.js +12 -18
- package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectSelection.js +7 -8
- package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
- package/dist/cjs/components/multi-select/utils.js +27 -37
- package/dist/cjs/components/multi-select/utils.js.map +1 -1
- package/dist/cjs/components/nav/CNav.js +7 -7
- package/dist/cjs/components/nav/CNav.js.map +1 -1
- package/dist/cjs/components/nav/CNavGroup.js +24 -24
- package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
- package/dist/cjs/components/nav/CNavGroupItems.js +3 -3
- package/dist/cjs/components/nav/CNavGroupItems.js.map +1 -1
- package/dist/cjs/components/nav/CNavItem.js +3 -3
- package/dist/cjs/components/nav/CNavItem.js.map +1 -1
- package/dist/cjs/components/nav/CNavLink.js +7 -7
- package/dist/cjs/components/nav/CNavLink.js.map +1 -1
- package/dist/cjs/components/nav/CNavTitle.js +3 -3
- package/dist/cjs/components/nav/CNavTitle.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbar.js +6 -7
- package/dist/cjs/components/navbar/CNavbar.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbarBrand.js +4 -4
- package/dist/cjs/components/navbar/CNavbarBrand.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbarNav.js +3 -3
- package/dist/cjs/components/navbar/CNavbarNav.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbarText.js +3 -3
- package/dist/cjs/components/navbar/CNavbarText.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbarToggler.js +3 -3
- package/dist/cjs/components/navbar/CNavbarToggler.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvas.js +20 -21
- package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvasBody.js +3 -3
- package/dist/cjs/components/offcanvas/COffcanvasBody.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvasHeader.js +3 -3
- package/dist/cjs/components/offcanvas/COffcanvasHeader.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvasTitle.js +3 -3
- package/dist/cjs/components/offcanvas/COffcanvasTitle.js.map +1 -1
- package/dist/cjs/components/pagination/CPagination.js +7 -8
- package/dist/cjs/components/pagination/CPagination.js.map +1 -1
- package/dist/cjs/components/pagination/CPaginationItem.js +5 -5
- package/dist/cjs/components/pagination/CPaginationItem.js.map +1 -1
- package/dist/cjs/components/password-input/CPasswordInput.js +17 -20
- package/dist/cjs/components/password-input/CPasswordInput.js.map +1 -1
- package/dist/cjs/components/picker/CPicker.js +33 -32
- package/dist/cjs/components/picker/CPicker.js.map +1 -1
- package/dist/cjs/components/placeholder/CPlaceholder.js +13 -14
- package/dist/cjs/components/placeholder/CPlaceholder.js.map +1 -1
- package/dist/cjs/components/popover/CPopover.js +29 -29
- package/dist/cjs/components/popover/CPopover.js.map +1 -1
- package/dist/cjs/components/progress/CProgress.js +8 -8
- package/dist/cjs/components/progress/CProgress.js.map +1 -1
- package/dist/cjs/components/progress/CProgressBar.js +8 -9
- package/dist/cjs/components/progress/CProgressBar.js.map +1 -1
- package/dist/cjs/components/progress/CProgressStacked.js +3 -3
- package/dist/cjs/components/progress/CProgressStacked.js.map +1 -1
- package/dist/cjs/components/progress/CProgressStackedContext.js +1 -1
- package/dist/cjs/components/progress/CProgressStackedContext.js.map +1 -1
- package/dist/cjs/components/range-slider/CRangeSlider.js +49 -49
- package/dist/cjs/components/range-slider/CRangeSlider.js.map +1 -1
- package/dist/cjs/components/range-slider/utils.js +67 -57
- package/dist/cjs/components/range-slider/utils.js.map +1 -1
- package/dist/cjs/components/rating/CRating.js +30 -32
- package/dist/cjs/components/rating/CRating.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebar.js +34 -37
- package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarBrand.js +3 -3
- package/dist/cjs/components/sidebar/CSidebarBrand.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarFooter.js +3 -3
- package/dist/cjs/components/sidebar/CSidebarFooter.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarHeader.js +3 -3
- package/dist/cjs/components/sidebar/CSidebarHeader.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarNav.js +14 -14
- package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarNavContext.js +1 -1
- package/dist/cjs/components/sidebar/CSidebarNavContext.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarToggler.js +3 -3
- package/dist/cjs/components/sidebar/CSidebarToggler.js.map +1 -1
- package/dist/cjs/components/smart-pagination/CSmartPagination.js +22 -22
- package/dist/cjs/components/smart-pagination/CSmartPagination.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTable.js +85 -96
- package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTableBody.js +15 -18
- package/dist/cjs/components/smart-table/CSmartTableBody.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTableHead.js +23 -29
- package/dist/cjs/components/smart-table/CSmartTableHead.js.map +1 -1
- package/dist/cjs/components/smart-table/consts.js +1 -1
- package/dist/cjs/components/smart-table/consts.js.map +1 -1
- package/dist/cjs/components/smart-table/utils.js +81 -106
- package/dist/cjs/components/smart-table/utils.js.map +1 -1
- package/dist/cjs/components/spinner/CSpinner.js +6 -7
- package/dist/cjs/components/spinner/CSpinner.js.map +1 -1
- package/dist/cjs/components/stepper/CStepper.js +58 -57
- package/dist/cjs/components/stepper/CStepper.js.map +1 -1
- package/dist/cjs/components/table/CTable.js +25 -26
- package/dist/cjs/components/table/CTable.js.map +1 -1
- package/dist/cjs/components/table/CTableBody.js +5 -6
- package/dist/cjs/components/table/CTableBody.js.map +1 -1
- package/dist/cjs/components/table/CTableCaption.js +3 -3
- package/dist/cjs/components/table/CTableCaption.js.map +1 -1
- package/dist/cjs/components/table/CTableDataCell.js +8 -9
- package/dist/cjs/components/table/CTableDataCell.js.map +1 -1
- package/dist/cjs/components/table/CTableFoot.js +5 -6
- package/dist/cjs/components/table/CTableFoot.js.map +1 -1
- package/dist/cjs/components/table/CTableHead.js +5 -6
- package/dist/cjs/components/table/CTableHead.js.map +1 -1
- package/dist/cjs/components/table/CTableHeaderCell.js +5 -6
- package/dist/cjs/components/table/CTableHeaderCell.js.map +1 -1
- package/dist/cjs/components/table/CTableResponsiveWrapper.js +3 -3
- package/dist/cjs/components/table/CTableResponsiveWrapper.js.map +1 -1
- package/dist/cjs/components/table/CTableRow.js +7 -8
- package/dist/cjs/components/table/CTableRow.js.map +1 -1
- package/dist/cjs/components/table/utils.js +9 -13
- package/dist/cjs/components/table/utils.js.map +1 -1
- package/dist/cjs/components/tabs/CTab.js +6 -6
- package/dist/cjs/components/tabs/CTab.js.map +1 -1
- package/dist/cjs/components/tabs/CTabContent.js +3 -3
- package/dist/cjs/components/tabs/CTabContent.js.map +1 -1
- package/dist/cjs/components/tabs/CTabList.js +13 -13
- package/dist/cjs/components/tabs/CTabList.js.map +1 -1
- package/dist/cjs/components/tabs/CTabPane.js +6 -6
- package/dist/cjs/components/tabs/CTabPane.js.map +1 -1
- package/dist/cjs/components/tabs/CTabPanel.js +10 -10
- package/dist/cjs/components/tabs/CTabPanel.js.map +1 -1
- package/dist/cjs/components/tabs/CTabs.js +7 -8
- package/dist/cjs/components/tabs/CTabs.js.map +1 -1
- package/dist/cjs/components/tabs/CTabsContext.js +1 -1
- package/dist/cjs/components/tabs/CTabsContext.js.map +1 -1
- package/dist/cjs/components/time-picker/CTimePicker.d.ts +24 -0
- package/dist/cjs/components/time-picker/CTimePicker.js +86 -76
- package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/cjs/components/time-picker/CTimePickerRollCol.d.ts +3 -0
- package/dist/cjs/components/time-picker/CTimePickerRollCol.js +79 -19
- package/dist/cjs/components/time-picker/CTimePickerRollCol.js.map +1 -1
- package/dist/cjs/components/time-picker/utils.js +36 -53
- package/dist/cjs/components/time-picker/utils.js.map +1 -1
- package/dist/cjs/components/toast/CToast.js +21 -25
- package/dist/cjs/components/toast/CToast.js.map +1 -1
- package/dist/cjs/components/toast/CToastBody.js +3 -3
- package/dist/cjs/components/toast/CToastBody.js.map +1 -1
- package/dist/cjs/components/toast/CToastClose.js +5 -5
- package/dist/cjs/components/toast/CToastClose.js.map +1 -1
- package/dist/cjs/components/toast/CToastContext.js +1 -1
- package/dist/cjs/components/toast/CToastContext.js.map +1 -1
- package/dist/cjs/components/toast/CToastHeader.js +3 -3
- package/dist/cjs/components/toast/CToastHeader.js.map +1 -1
- package/dist/cjs/components/toast/CToaster.js +12 -13
- package/dist/cjs/components/toast/CToaster.js.map +1 -1
- package/dist/cjs/components/tooltip/CTooltip.js +30 -30
- package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
- package/dist/cjs/components/virtual-scroller/CVirtualScroller.js +28 -32
- package/dist/cjs/components/virtual-scroller/CVirtualScroller.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsA.js +3 -4
- package/dist/cjs/components/widgets/CWidgetStatsA.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsB.js +4 -4
- package/dist/cjs/components/widgets/CWidgetStatsB.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsC.js +4 -4
- package/dist/cjs/components/widgets/CWidgetStatsC.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsD.js +7 -8
- package/dist/cjs/components/widgets/CWidgetStatsD.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsE.js +3 -3
- package/dist/cjs/components/widgets/CWidgetStatsE.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsF.js +6 -6
- package/dist/cjs/components/widgets/CWidgetStatsF.js.map +1 -1
- package/dist/cjs/hooks/useClipboard.js +21 -33
- package/dist/cjs/hooks/useClipboard.js.map +1 -1
- package/dist/cjs/hooks/useColorModes.js +15 -20
- package/dist/cjs/hooks/useColorModes.js.map +1 -1
- package/dist/cjs/hooks/useDebounce.js +5 -5
- package/dist/cjs/hooks/useDebounce.js.map +1 -1
- package/dist/cjs/hooks/useDebouncedCallback.js +5 -9
- package/dist/cjs/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/cjs/hooks/useDropdownWithPopper.js +22 -23
- package/dist/cjs/hooks/useDropdownWithPopper.js.map +1 -1
- package/dist/cjs/hooks/useForkedRef.js +6 -10
- package/dist/cjs/hooks/useForkedRef.js.map +1 -1
- package/dist/cjs/hooks/useIsVisible.js +5 -8
- package/dist/cjs/hooks/useIsVisible.js.map +1 -1
- package/dist/cjs/hooks/usePopper.js +11 -11
- package/dist/cjs/hooks/usePopper.js.map +1 -1
- package/dist/cjs/hooks/useStateWithCallback.js +3 -3
- package/dist/cjs/hooks/useStateWithCallback.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/node_modules/tslib/tslib.es6.js +0 -51
- package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/cjs/props.js +7 -7
- package/dist/cjs/props.js.map +1 -1
- package/dist/cjs/utils/executeAfterTransition.js +8 -10
- package/dist/cjs/utils/executeAfterTransition.js.map +1 -1
- package/dist/cjs/utils/getNextActiveElement.js +3 -3
- package/dist/cjs/utils/getNextActiveElement.js.map +1 -1
- package/dist/cjs/utils/getNextSibling.js +2 -2
- package/dist/cjs/utils/getNextSibling.js.map +1 -1
- package/dist/cjs/utils/getPreviousSibling.js +2 -2
- package/dist/cjs/utils/getPreviousSibling.js.map +1 -1
- package/dist/cjs/utils/getRTLPlacement.js +1 -1
- package/dist/cjs/utils/getRTLPlacement.js.map +1 -1
- package/dist/cjs/utils/getTransitionDurationFromElement.js +4 -4
- package/dist/cjs/utils/getTransitionDurationFromElement.js.map +1 -1
- package/dist/cjs/utils/isInViewport.js +2 -2
- package/dist/cjs/utils/isInViewport.js.map +1 -1
- package/dist/cjs/utils/isObjectInArray.js +9 -12
- package/dist/cjs/utils/isObjectInArray.js.map +1 -1
- package/dist/cjs/utils/isRTL.js +1 -1
- package/dist/cjs/utils/isRTL.js.map +1 -1
- package/dist/esm/components/accordion/CAccordion.js +6 -6
- package/dist/esm/components/accordion/CAccordion.js.map +1 -1
- package/dist/esm/components/accordion/CAccordionBody.js +5 -5
- package/dist/esm/components/accordion/CAccordionBody.js.map +1 -1
- package/dist/esm/components/accordion/CAccordionButton.js +5 -5
- package/dist/esm/components/accordion/CAccordionButton.js.map +1 -1
- package/dist/esm/components/accordion/CAccordionContext.js +1 -1
- package/dist/esm/components/accordion/CAccordionContext.js.map +1 -1
- package/dist/esm/components/accordion/CAccordionHeader.js +4 -4
- package/dist/esm/components/accordion/CAccordionHeader.js.map +1 -1
- package/dist/esm/components/accordion/CAccordionItem.js +12 -12
- package/dist/esm/components/accordion/CAccordionItem.js.map +1 -1
- package/dist/esm/components/accordion/CAccordionItemContext.js +1 -1
- package/dist/esm/components/accordion/CAccordionItemContext.js.map +1 -1
- package/dist/esm/components/alert/CAlert.js +9 -9
- package/dist/esm/components/alert/CAlert.js.map +1 -1
- package/dist/esm/components/alert/CAlertHeading.js +4 -4
- package/dist/esm/components/alert/CAlertHeading.js.map +1 -1
- package/dist/esm/components/alert/CAlertLink.js +4 -4
- package/dist/esm/components/alert/CAlertLink.js.map +1 -1
- package/dist/esm/components/autocomplete/CAutocomplete.js +62 -67
- package/dist/esm/components/autocomplete/CAutocomplete.js.map +1 -1
- package/dist/esm/components/autocomplete/CAutocompleteOptions.js +15 -21
- package/dist/esm/components/autocomplete/CAutocompleteOptions.js.map +1 -1
- package/dist/esm/components/autocomplete/utils.js +23 -32
- package/dist/esm/components/autocomplete/utils.js.map +1 -1
- package/dist/esm/components/avatar/CAvatar.js +9 -10
- package/dist/esm/components/avatar/CAvatar.js.map +1 -1
- package/dist/esm/components/backdrop/CBackdrop.js +7 -7
- package/dist/esm/components/backdrop/CBackdrop.js.map +1 -1
- package/dist/esm/components/badge/CBadge.js +14 -15
- package/dist/esm/components/badge/CBadge.js.map +1 -1
- package/dist/esm/components/breadcrumb/CBreadcrumb.js +4 -4
- package/dist/esm/components/breadcrumb/CBreadcrumb.js.map +1 -1
- package/dist/esm/components/breadcrumb/CBreadcrumbItem.js +4 -4
- package/dist/esm/components/breadcrumb/CBreadcrumbItem.js.map +1 -1
- package/dist/esm/components/button/CButton.js +9 -10
- package/dist/esm/components/button/CButton.js.map +1 -1
- package/dist/esm/components/button-group/CButtonGroup.js +4 -5
- package/dist/esm/components/button-group/CButtonGroup.js.map +1 -1
- package/dist/esm/components/button-group/CButtonToolbar.js +4 -4
- package/dist/esm/components/button-group/CButtonToolbar.js.map +1 -1
- package/dist/esm/components/calendar/CCalendar.js +69 -73
- package/dist/esm/components/calendar/CCalendar.js.map +1 -1
- package/dist/esm/components/calendar/CCalendarNavigation.js +8 -11
- package/dist/esm/components/calendar/CCalendarNavigation.js.map +1 -1
- package/dist/esm/components/calendar/CCalendarPanel.js +63 -72
- package/dist/esm/components/calendar/CCalendarPanel.js.map +1 -1
- package/dist/esm/components/calendar/utils.d.ts +53 -2
- package/dist/esm/components/calendar/utils.js +542 -128
- package/dist/esm/components/calendar/utils.js.map +1 -1
- package/dist/esm/components/callout/CCallout.js +6 -7
- package/dist/esm/components/callout/CCallout.js.map +1 -1
- package/dist/esm/components/card/CCard.js +8 -9
- package/dist/esm/components/card/CCard.js.map +1 -1
- package/dist/esm/components/card/CCardBody.js +4 -4
- package/dist/esm/components/card/CCardBody.js.map +1 -1
- package/dist/esm/components/card/CCardFooter.js +4 -4
- package/dist/esm/components/card/CCardFooter.js.map +1 -1
- package/dist/esm/components/card/CCardGroup.js +4 -4
- package/dist/esm/components/card/CCardGroup.js.map +1 -1
- package/dist/esm/components/card/CCardHeader.js +4 -4
- package/dist/esm/components/card/CCardHeader.js.map +1 -1
- package/dist/esm/components/card/CCardImage.js +4 -4
- package/dist/esm/components/card/CCardImage.js.map +1 -1
- package/dist/esm/components/card/CCardImageOverlay.js +4 -4
- package/dist/esm/components/card/CCardImageOverlay.js.map +1 -1
- package/dist/esm/components/card/CCardLink.js +4 -4
- package/dist/esm/components/card/CCardLink.js.map +1 -1
- package/dist/esm/components/card/CCardSubtitle.js +4 -4
- package/dist/esm/components/card/CCardSubtitle.js.map +1 -1
- package/dist/esm/components/card/CCardText.js +4 -4
- package/dist/esm/components/card/CCardText.js.map +1 -1
- package/dist/esm/components/card/CCardTitle.js +4 -4
- package/dist/esm/components/card/CCardTitle.js.map +1 -1
- package/dist/esm/components/carousel/CCarousel.js +42 -42
- package/dist/esm/components/carousel/CCarousel.js.map +1 -1
- package/dist/esm/components/carousel/CCarouselCaption.js +4 -4
- package/dist/esm/components/carousel/CCarouselCaption.js.map +1 -1
- package/dist/esm/components/carousel/CCarouselContext.js +1 -1
- package/dist/esm/components/carousel/CCarouselContext.js.map +1 -1
- package/dist/esm/components/carousel/CCarouselItem.js +22 -22
- package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
- package/dist/esm/components/close-button/CCloseButton.js +4 -4
- package/dist/esm/components/close-button/CCloseButton.js.map +1 -1
- package/dist/esm/components/collapse/CCollapse.js +17 -17
- package/dist/esm/components/collapse/CCollapse.js.map +1 -1
- package/dist/esm/components/conditional-portal/CConditionalPortal.js +4 -5
- package/dist/esm/components/conditional-portal/CConditionalPortal.js.map +1 -1
- package/dist/esm/components/date-picker/CDatePicker.js +5 -5
- package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/CDateRangePicker.js +136 -107
- package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/utils.d.ts +0 -9
- package/dist/esm/components/date-range-picker/utils.js +3 -40
- package/dist/esm/components/date-range-picker/utils.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdown.d.ts +41 -10
- package/dist/esm/components/dropdown/CDropdown.js +133 -79
- package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownContext.d.ts +1 -1
- package/dist/esm/components/dropdown/CDropdownContext.js +1 -1
- package/dist/esm/components/dropdown/CDropdownContext.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownDivider.js +4 -4
- package/dist/esm/components/dropdown/CDropdownDivider.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownHeader.js +4 -4
- package/dist/esm/components/dropdown/CDropdownHeader.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownItem.js +4 -4
- package/dist/esm/components/dropdown/CDropdownItem.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownItemPlain.js +4 -4
- package/dist/esm/components/dropdown/CDropdownItemPlain.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownMenu.js +7 -7
- package/dist/esm/components/dropdown/CDropdownMenu.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownToggle.d.ts +14 -3
- package/dist/esm/components/dropdown/CDropdownToggle.js +21 -15
- package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/esm/components/dropdown/utils.d.ts +2 -0
- package/dist/esm/components/dropdown/utils.js +20 -8
- package/dist/esm/components/dropdown/utils.js.map +1 -1
- package/dist/esm/components/element-cover/CElementCover.js +21 -22
- package/dist/esm/components/element-cover/CElementCover.js.map +1 -1
- package/dist/esm/components/focus-trap/CFocusTrap.d.ts +59 -0
- package/dist/esm/components/focus-trap/CFocusTrap.js +160 -0
- package/dist/esm/components/focus-trap/CFocusTrap.js.map +1 -0
- package/dist/esm/components/focus-trap/index.d.ts +2 -0
- package/dist/esm/components/focus-trap/utils.d.ts +36 -0
- package/dist/esm/components/focus-trap/utils.js +102 -0
- package/dist/esm/components/focus-trap/utils.js.map +1 -0
- package/dist/esm/components/footer/CFooter.js +4 -5
- package/dist/esm/components/footer/CFooter.js.map +1 -1
- package/dist/esm/components/form/CForm.js +4 -4
- package/dist/esm/components/form/CForm.js.map +1 -1
- package/dist/esm/components/form/CFormCheck.js +17 -20
- package/dist/esm/components/form/CFormCheck.js.map +1 -1
- package/dist/esm/components/form/CFormControlValidation.js +2 -4
- package/dist/esm/components/form/CFormControlValidation.js.map +1 -1
- package/dist/esm/components/form/CFormControlWrapper.js +3 -5
- package/dist/esm/components/form/CFormControlWrapper.js.map +1 -1
- package/dist/esm/components/form/CFormFeedback.js +7 -8
- package/dist/esm/components/form/CFormFeedback.js.map +1 -1
- package/dist/esm/components/form/CFormFloating.js +4 -4
- package/dist/esm/components/form/CFormFloating.js.map +1 -1
- package/dist/esm/components/form/CFormInput.js +14 -15
- package/dist/esm/components/form/CFormInput.js.map +1 -1
- package/dist/esm/components/form/CFormLabel.js +4 -4
- package/dist/esm/components/form/CFormLabel.js.map +1 -1
- package/dist/esm/components/form/CFormRange.js +4 -4
- package/dist/esm/components/form/CFormRange.js.map +1 -1
- package/dist/esm/components/form/CFormSelect.js +11 -12
- package/dist/esm/components/form/CFormSelect.js.map +1 -1
- package/dist/esm/components/form/CFormSwitch.js +11 -13
- package/dist/esm/components/form/CFormSwitch.js.map +1 -1
- package/dist/esm/components/form/CFormText.js +4 -4
- package/dist/esm/components/form/CFormText.js.map +1 -1
- package/dist/esm/components/form/CFormTextarea.js +5 -5
- package/dist/esm/components/form/CFormTextarea.js.map +1 -1
- package/dist/esm/components/form/CInputGroup.js +6 -7
- package/dist/esm/components/form/CInputGroup.js.map +1 -1
- package/dist/esm/components/form/CInputGroupText.js +4 -4
- package/dist/esm/components/form/CInputGroupText.js.map +1 -1
- package/dist/esm/components/grid/CCol.js +17 -17
- package/dist/esm/components/grid/CCol.js.map +1 -1
- package/dist/esm/components/grid/CContainer.js +9 -9
- package/dist/esm/components/grid/CContainer.js.map +1 -1
- package/dist/esm/components/grid/CRow.js +14 -14
- package/dist/esm/components/grid/CRow.js.map +1 -1
- package/dist/esm/components/header/CHeader.js +4 -5
- package/dist/esm/components/header/CHeader.js.map +1 -1
- package/dist/esm/components/header/CHeaderBrand.js +4 -4
- package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
- package/dist/esm/components/header/CHeaderDivider.js +4 -4
- package/dist/esm/components/header/CHeaderDivider.js.map +1 -1
- package/dist/esm/components/header/CHeaderNav.js +4 -4
- package/dist/esm/components/header/CHeaderNav.js.map +1 -1
- package/dist/esm/components/header/CHeaderText.js +4 -4
- package/dist/esm/components/header/CHeaderText.js.map +1 -1
- package/dist/esm/components/header/CHeaderToggler.js +4 -4
- package/dist/esm/components/header/CHeaderToggler.js.map +1 -1
- package/dist/esm/components/image/CImage.js +10 -11
- package/dist/esm/components/image/CImage.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/link/CLink.js +6 -6
- package/dist/esm/components/link/CLink.js.map +1 -1
- package/dist/esm/components/list-group/CListGroup.js +7 -9
- package/dist/esm/components/list-group/CListGroup.js.map +1 -1
- package/dist/esm/components/list-group/CListGroupItem.js +14 -15
- package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
- package/dist/esm/components/loading-button/CLoadingButton.js +8 -8
- package/dist/esm/components/loading-button/CLoadingButton.js.map +1 -1
- package/dist/esm/components/modal/CModal.js +27 -35
- package/dist/esm/components/modal/CModal.js.map +1 -1
- package/dist/esm/components/modal/CModalBody.js +4 -4
- package/dist/esm/components/modal/CModalBody.js.map +1 -1
- package/dist/esm/components/modal/CModalContent.js +4 -4
- package/dist/esm/components/modal/CModalContent.js.map +1 -1
- package/dist/esm/components/modal/CModalContext.js +1 -1
- package/dist/esm/components/modal/CModalContext.js.map +1 -1
- package/dist/esm/components/modal/CModalDialog.js +10 -12
- package/dist/esm/components/modal/CModalDialog.js.map +1 -1
- package/dist/esm/components/modal/CModalFooter.js +4 -4
- package/dist/esm/components/modal/CModalFooter.js.map +1 -1
- package/dist/esm/components/modal/CModalHeader.js +6 -6
- package/dist/esm/components/modal/CModalHeader.js.map +1 -1
- package/dist/esm/components/modal/CModalTitle.js +4 -4
- package/dist/esm/components/modal/CModalTitle.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelect.js +82 -85
- package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js +6 -10
- package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectOptions.js +12 -18
- package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectSelection.js +7 -8
- package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
- package/dist/esm/components/multi-select/utils.js +28 -38
- package/dist/esm/components/multi-select/utils.js.map +1 -1
- package/dist/esm/components/nav/CNav.js +8 -8
- package/dist/esm/components/nav/CNav.js.map +1 -1
- package/dist/esm/components/nav/CNavGroup.js +25 -25
- package/dist/esm/components/nav/CNavGroup.js.map +1 -1
- package/dist/esm/components/nav/CNavGroupItems.js +4 -4
- package/dist/esm/components/nav/CNavGroupItems.js.map +1 -1
- package/dist/esm/components/nav/CNavItem.js +4 -4
- package/dist/esm/components/nav/CNavItem.js.map +1 -1
- package/dist/esm/components/nav/CNavLink.js +8 -8
- package/dist/esm/components/nav/CNavLink.js.map +1 -1
- package/dist/esm/components/nav/CNavTitle.js +4 -4
- package/dist/esm/components/nav/CNavTitle.js.map +1 -1
- package/dist/esm/components/navbar/CNavbar.js +7 -8
- package/dist/esm/components/navbar/CNavbar.js.map +1 -1
- package/dist/esm/components/navbar/CNavbarBrand.js +5 -5
- package/dist/esm/components/navbar/CNavbarBrand.js.map +1 -1
- package/dist/esm/components/navbar/CNavbarNav.js +4 -4
- package/dist/esm/components/navbar/CNavbarNav.js.map +1 -1
- package/dist/esm/components/navbar/CNavbarText.js +4 -4
- package/dist/esm/components/navbar/CNavbarText.js.map +1 -1
- package/dist/esm/components/navbar/CNavbarToggler.js +4 -4
- package/dist/esm/components/navbar/CNavbarToggler.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvas.js +21 -22
- package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvasBody.js +4 -4
- package/dist/esm/components/offcanvas/COffcanvasBody.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvasHeader.js +4 -4
- package/dist/esm/components/offcanvas/COffcanvasHeader.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvasTitle.js +4 -4
- package/dist/esm/components/offcanvas/COffcanvasTitle.js.map +1 -1
- package/dist/esm/components/pagination/CPagination.js +8 -9
- package/dist/esm/components/pagination/CPagination.js.map +1 -1
- package/dist/esm/components/pagination/CPaginationItem.js +6 -6
- package/dist/esm/components/pagination/CPaginationItem.js.map +1 -1
- package/dist/esm/components/password-input/CPasswordInput.js +18 -21
- package/dist/esm/components/password-input/CPasswordInput.js.map +1 -1
- package/dist/esm/components/picker/CPicker.js +33 -32
- package/dist/esm/components/picker/CPicker.js.map +1 -1
- package/dist/esm/components/placeholder/CPlaceholder.js +14 -15
- package/dist/esm/components/placeholder/CPlaceholder.js.map +1 -1
- package/dist/esm/components/popover/CPopover.js +30 -30
- package/dist/esm/components/popover/CPopover.js.map +1 -1
- package/dist/esm/components/progress/CProgress.js +9 -9
- package/dist/esm/components/progress/CProgress.js.map +1 -1
- package/dist/esm/components/progress/CProgressBar.js +9 -10
- package/dist/esm/components/progress/CProgressBar.js.map +1 -1
- package/dist/esm/components/progress/CProgressStacked.js +4 -4
- package/dist/esm/components/progress/CProgressStacked.js.map +1 -1
- package/dist/esm/components/progress/CProgressStackedContext.js +1 -1
- package/dist/esm/components/progress/CProgressStackedContext.js.map +1 -1
- package/dist/esm/components/range-slider/CRangeSlider.js +50 -50
- package/dist/esm/components/range-slider/CRangeSlider.js.map +1 -1
- package/dist/esm/components/range-slider/utils.js +67 -57
- package/dist/esm/components/range-slider/utils.js.map +1 -1
- package/dist/esm/components/rating/CRating.js +31 -33
- package/dist/esm/components/rating/CRating.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebar.js +35 -38
- package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarBrand.js +4 -4
- package/dist/esm/components/sidebar/CSidebarBrand.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarFooter.js +4 -4
- package/dist/esm/components/sidebar/CSidebarFooter.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarHeader.js +4 -4
- package/dist/esm/components/sidebar/CSidebarHeader.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarNav.js +15 -15
- package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarNavContext.js +1 -1
- package/dist/esm/components/sidebar/CSidebarNavContext.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarToggler.js +4 -4
- package/dist/esm/components/sidebar/CSidebarToggler.js.map +1 -1
- package/dist/esm/components/smart-pagination/CSmartPagination.js +23 -23
- package/dist/esm/components/smart-pagination/CSmartPagination.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTable.js +86 -97
- package/dist/esm/components/smart-table/CSmartTable.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTableBody.js +16 -19
- package/dist/esm/components/smart-table/CSmartTableBody.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTableHead.js +24 -30
- package/dist/esm/components/smart-table/CSmartTableHead.js.map +1 -1
- package/dist/esm/components/smart-table/consts.js +1 -1
- package/dist/esm/components/smart-table/consts.js.map +1 -1
- package/dist/esm/components/smart-table/utils.js +82 -107
- package/dist/esm/components/smart-table/utils.js.map +1 -1
- package/dist/esm/components/spinner/CSpinner.js +7 -8
- package/dist/esm/components/spinner/CSpinner.js.map +1 -1
- package/dist/esm/components/stepper/CStepper.js +59 -58
- package/dist/esm/components/stepper/CStepper.js.map +1 -1
- package/dist/esm/components/table/CTable.js +26 -27
- package/dist/esm/components/table/CTable.js.map +1 -1
- package/dist/esm/components/table/CTableBody.js +6 -7
- package/dist/esm/components/table/CTableBody.js.map +1 -1
- package/dist/esm/components/table/CTableCaption.js +4 -4
- package/dist/esm/components/table/CTableCaption.js.map +1 -1
- package/dist/esm/components/table/CTableDataCell.js +9 -10
- package/dist/esm/components/table/CTableDataCell.js.map +1 -1
- package/dist/esm/components/table/CTableFoot.js +6 -7
- package/dist/esm/components/table/CTableFoot.js.map +1 -1
- package/dist/esm/components/table/CTableHead.js +6 -7
- package/dist/esm/components/table/CTableHead.js.map +1 -1
- package/dist/esm/components/table/CTableHeaderCell.js +6 -7
- package/dist/esm/components/table/CTableHeaderCell.js.map +1 -1
- package/dist/esm/components/table/CTableResponsiveWrapper.js +4 -4
- package/dist/esm/components/table/CTableResponsiveWrapper.js.map +1 -1
- package/dist/esm/components/table/CTableRow.js +8 -9
- package/dist/esm/components/table/CTableRow.js.map +1 -1
- package/dist/esm/components/table/utils.js +9 -13
- package/dist/esm/components/table/utils.js.map +1 -1
- package/dist/esm/components/tabs/CTab.js +7 -7
- package/dist/esm/components/tabs/CTab.js.map +1 -1
- package/dist/esm/components/tabs/CTabContent.js +4 -4
- package/dist/esm/components/tabs/CTabContent.js.map +1 -1
- package/dist/esm/components/tabs/CTabList.js +14 -14
- package/dist/esm/components/tabs/CTabList.js.map +1 -1
- package/dist/esm/components/tabs/CTabPane.js +7 -7
- package/dist/esm/components/tabs/CTabPane.js.map +1 -1
- package/dist/esm/components/tabs/CTabPanel.js +11 -11
- package/dist/esm/components/tabs/CTabPanel.js.map +1 -1
- package/dist/esm/components/tabs/CTabs.js +7 -8
- package/dist/esm/components/tabs/CTabs.js.map +1 -1
- package/dist/esm/components/tabs/CTabsContext.js +1 -1
- package/dist/esm/components/tabs/CTabsContext.js.map +1 -1
- package/dist/esm/components/time-picker/CTimePicker.d.ts +24 -0
- package/dist/esm/components/time-picker/CTimePicker.js +87 -77
- package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/esm/components/time-picker/CTimePickerRollCol.d.ts +3 -0
- package/dist/esm/components/time-picker/CTimePickerRollCol.js +80 -20
- package/dist/esm/components/time-picker/CTimePickerRollCol.js.map +1 -1
- package/dist/esm/components/time-picker/utils.js +36 -53
- package/dist/esm/components/time-picker/utils.js.map +1 -1
- package/dist/esm/components/toast/CToast.js +22 -26
- package/dist/esm/components/toast/CToast.js.map +1 -1
- package/dist/esm/components/toast/CToastBody.js +4 -4
- package/dist/esm/components/toast/CToastBody.js.map +1 -1
- package/dist/esm/components/toast/CToastClose.js +6 -6
- package/dist/esm/components/toast/CToastClose.js.map +1 -1
- package/dist/esm/components/toast/CToastContext.js +1 -1
- package/dist/esm/components/toast/CToastContext.js.map +1 -1
- package/dist/esm/components/toast/CToastHeader.js +4 -4
- package/dist/esm/components/toast/CToastHeader.js.map +1 -1
- package/dist/esm/components/toast/CToaster.js +13 -14
- package/dist/esm/components/toast/CToaster.js.map +1 -1
- package/dist/esm/components/tooltip/CTooltip.js +31 -31
- package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
- package/dist/esm/components/virtual-scroller/CVirtualScroller.js +29 -33
- package/dist/esm/components/virtual-scroller/CVirtualScroller.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsA.js +4 -5
- package/dist/esm/components/widgets/CWidgetStatsA.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsB.js +5 -5
- package/dist/esm/components/widgets/CWidgetStatsB.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsC.js +5 -5
- package/dist/esm/components/widgets/CWidgetStatsC.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsD.js +8 -9
- package/dist/esm/components/widgets/CWidgetStatsD.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsE.js +4 -4
- package/dist/esm/components/widgets/CWidgetStatsE.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsF.js +7 -7
- package/dist/esm/components/widgets/CWidgetStatsF.js.map +1 -1
- package/dist/esm/hooks/useClipboard.js +22 -34
- package/dist/esm/hooks/useClipboard.js.map +1 -1
- package/dist/esm/hooks/useColorModes.js +15 -20
- package/dist/esm/hooks/useColorModes.js.map +1 -1
- package/dist/esm/hooks/useDebounce.js +5 -5
- package/dist/esm/hooks/useDebounce.js.map +1 -1
- package/dist/esm/hooks/useDebouncedCallback.js +5 -9
- package/dist/esm/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/esm/hooks/useDropdownWithPopper.js +22 -23
- package/dist/esm/hooks/useDropdownWithPopper.js.map +1 -1
- package/dist/esm/hooks/useForkedRef.js +6 -10
- package/dist/esm/hooks/useForkedRef.js.map +1 -1
- package/dist/esm/hooks/useIsVisible.js +5 -8
- package/dist/esm/hooks/useIsVisible.js.map +1 -1
- package/dist/esm/hooks/usePopper.js +11 -11
- package/dist/esm/hooks/usePopper.js.map +1 -1
- package/dist/esm/hooks/useStateWithCallback.js +3 -3
- package/dist/esm/hooks/useStateWithCallback.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/node_modules/tslib/tslib.es6.js +1 -50
- package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/esm/props.js +7 -7
- package/dist/esm/props.js.map +1 -1
- package/dist/esm/utils/executeAfterTransition.js +8 -10
- package/dist/esm/utils/executeAfterTransition.js.map +1 -1
- package/dist/esm/utils/getNextActiveElement.js +3 -3
- package/dist/esm/utils/getNextActiveElement.js.map +1 -1
- package/dist/esm/utils/getNextSibling.js +2 -2
- package/dist/esm/utils/getNextSibling.js.map +1 -1
- package/dist/esm/utils/getPreviousSibling.js +2 -2
- package/dist/esm/utils/getPreviousSibling.js.map +1 -1
- package/dist/esm/utils/getRTLPlacement.js +1 -1
- package/dist/esm/utils/getRTLPlacement.js.map +1 -1
- package/dist/esm/utils/getTransitionDurationFromElement.js +4 -4
- package/dist/esm/utils/getTransitionDurationFromElement.js.map +1 -1
- package/dist/esm/utils/isInViewport.js +2 -2
- package/dist/esm/utils/isInViewport.js.map +1 -1
- package/dist/esm/utils/isObjectInArray.js +9 -12
- package/dist/esm/utils/isObjectInArray.js.map +1 -1
- package/dist/esm/utils/isRTL.js +1 -1
- package/dist/esm/utils/isRTL.js.map +1 -1
- package/package.json +7 -7
- package/src/components/accordion/CAccordion.tsx +1 -1
- package/src/components/accordion/CAccordionHeader.tsx +1 -1
- package/src/components/alert/CAlert.tsx +3 -3
- package/src/components/alert/CAlertHeading.tsx +1 -1
- package/src/components/alert/CAlertLink.tsx +1 -1
- package/src/components/alert/__tests__/CAlertHeading.spec.tsx +1 -1
- package/src/components/alert/__tests__/CAlertLink.spec.tsx +1 -1
- package/src/components/avatar/CAvatar.tsx +2 -2
- package/src/components/avatar/__tests__/CAvatar.spec.tsx +2 -2
- package/src/components/backdrop/CBackdrop.tsx +1 -1
- package/src/components/backdrop/__tests__/CBackdrop.spec.tsx +1 -1
- package/src/components/badge/CBadge.tsx +3 -3
- package/src/components/badge/__tests__/CBadge.spec.tsx +1 -1
- package/src/components/breadcrumb/CBreadcrumb.tsx +1 -1
- package/src/components/breadcrumb/CBreadcrumbItem.tsx +2 -2
- package/src/components/breadcrumb/__tests__/CBreadcrumb.spec.tsx +1 -1
- package/src/components/breadcrumb/__tests__/CBreadcrumbItem.spec.tsx +1 -1
- package/src/components/button/__tests__/CButton.spec.tsx +2 -2
- package/src/components/button-group/CButtonGroup.tsx +2 -2
- package/src/components/button-group/CButtonToolbar.tsx +1 -1
- package/src/components/button-group/__tests__/CButtonGroup.spec.tsx +2 -2
- package/src/components/button-group/__tests__/CButtonToolbar.spec.tsx +1 -1
- package/src/components/calendar/CCalendarNavigation.tsx +26 -23
- package/src/components/calendar/CCalendarPanel.tsx +14 -12
- package/src/components/calendar/__tests__/CCalendar.accessibility.spec.tsx +595 -0
- package/src/components/calendar/__tests__/CCalendar.comprehensive.spec.tsx +402 -0
- package/src/components/calendar/__tests__/CCalendar.edge-cases.spec.tsx +416 -0
- package/src/components/calendar/__tests__/CCalendar.interactions.spec.tsx +593 -0
- package/src/components/calendar/__tests__/CCalendar.simple.spec.tsx +81 -0
- package/src/components/calendar/__tests__/CCalendar.spec.tsx +123 -5
- package/src/components/calendar/__tests__/README.md +149 -0
- package/src/components/calendar/__tests__/test-setup.ts +19 -0
- package/src/components/calendar/__tests__/timezone-verification.spec.tsx +62 -0
- package/src/components/calendar/__tests__/utils.simple.spec.tsx +80 -0
- package/src/components/calendar/__tests__/utils.spec.tsx +402 -0
- package/src/components/calendar/utils.ts +595 -47
- package/src/components/callout/CCallout.tsx +2 -2
- package/src/components/callout/__tests__/CCallout.spec.tsx +1 -1
- package/src/components/card/CCard.tsx +2 -2
- package/src/components/card/CCardBody.tsx +1 -1
- package/src/components/card/CCardFooter.tsx +1 -1
- package/src/components/card/CCardGroup.tsx +1 -1
- package/src/components/card/CCardImageOverlay.tsx +1 -1
- package/src/components/card/CCardLink.tsx +1 -1
- package/src/components/card/CCardSubtitle.tsx +1 -1
- package/src/components/card/__tests__/CCard.spec.tsx +1 -1
- package/src/components/card/__tests__/CCardGroup.spec.tsx +1 -1
- package/src/components/card/__tests__/CCardHeader.spec.tsx +1 -1
- package/src/components/card/__tests__/CCardLink.spec.tsx +1 -1
- package/src/components/card/__tests__/CCardSubtitle.spec.tsx +1 -1
- package/src/components/card/__tests__/CCardText.spec.tsx +1 -1
- package/src/components/card/__tests__/CCardTitle.spec.tsx +1 -1
- package/src/components/carousel/__tests__/CCarousel.spec.tsx +3 -3
- package/src/components/close-button/CCloseButton.tsx +2 -2
- package/src/components/collapse/CCollapse.tsx +1 -1
- package/src/components/date-range-picker/CDateRangePicker.tsx +110 -64
- package/src/components/date-range-picker/utils.ts +0 -58
- package/src/components/dropdown/CDropdown.tsx +214 -106
- package/src/components/dropdown/CDropdownContext.ts +1 -1
- package/src/components/dropdown/CDropdownHeader.tsx +1 -0
- package/src/components/dropdown/CDropdownItemPlain.tsx +1 -0
- package/src/components/dropdown/CDropdownMenu.tsx +1 -0
- package/src/components/dropdown/CDropdownToggle.tsx +28 -4
- package/src/components/dropdown/__tests__/CDropdown.spec.tsx +3 -3
- package/src/components/dropdown/__tests__/CDropdownHeader.spec.tsx +1 -1
- package/src/components/dropdown/__tests__/CDropdownItem.spec.tsx +1 -1
- package/src/components/dropdown/__tests__/CDropdownItemPlain.spec.tsx +1 -1
- package/src/components/dropdown/__tests__/CDropdownMenu.spec.tsx +1 -1
- package/src/components/dropdown/__tests__/CDropdownToggle.spec.tsx +1 -1
- package/src/components/dropdown/utils.ts +23 -2
- package/src/components/focus-trap/CFocusTrap.tsx +254 -0
- package/src/components/focus-trap/__tests__/CFocusTrap.spec.tsx +232 -0
- package/src/components/focus-trap/__tests__/__snapshots__/CFocusTrap.spec.tsx.snap +21 -0
- package/src/components/focus-trap/index.ts +3 -0
- package/src/components/focus-trap/utils.ts +115 -0
- package/src/components/footer/CFooter.tsx +1 -1
- package/src/components/footer/__tests__/CFooter.spec.tsx +1 -1
- package/src/components/form/CForm.tsx +1 -1
- package/src/components/form/CFormCheck.tsx +5 -5
- package/src/components/form/CFormFeedback.tsx +2 -2
- package/src/components/form/CFormFloating.tsx +1 -1
- package/src/components/form/CFormInput.tsx +4 -4
- package/src/components/form/CFormLabel.tsx +1 -1
- package/src/components/form/CFormRange.tsx +1 -1
- package/src/components/form/CFormSelect.tsx +3 -3
- package/src/components/form/CFormSwitch.tsx +2 -2
- package/src/components/form/CFormTextarea.tsx +3 -3
- package/src/components/form/CInputGroup.tsx +2 -2
- package/src/components/form/CInputGroupText.tsx +1 -1
- package/src/components/form/__tests__/CForm.spec.tsx +2 -2
- package/src/components/form/__tests__/CFormCheck.spec.tsx +2 -2
- package/src/components/form/__tests__/CFormControl.spec.tsx +1 -1
- package/src/components/form/__tests__/CFormFeedback.spec.tsx +2 -2
- package/src/components/form/__tests__/CFormInput.spec.tsx +3 -2
- package/src/components/form/__tests__/CFormRange.spec.tsx +1 -1
- package/src/components/form/__tests__/CFormSelect.spec.tsx +1 -1
- package/src/components/form/__tests__/CFormSwitch.spec.tsx +1 -1
- package/src/components/form/__tests__/CFormText.spec.tsx +1 -1
- package/src/components/form/__tests__/CFormTextarea.spec.tsx +1 -1
- package/src/components/form/__tests__/CInputGroup.spec.tsx +1 -1
- package/src/components/form/__tests__/CInputGroupText.spec.tsx +1 -1
- package/src/components/grid/CCol.tsx +2 -2
- package/src/components/grid/CContainer.tsx +2 -2
- package/src/components/grid/CRow.tsx +1 -1
- package/src/components/grid/__tests__/CCol.spec.tsx +2 -2
- package/src/components/grid/__tests__/CContainer.spec.tsx +2 -2
- package/src/components/grid/__tests__/CRow.spec.tsx +5 -5
- package/src/components/header/CHeader.tsx +1 -1
- package/src/components/header/CHeaderDivider.tsx +1 -1
- package/src/components/header/CHeaderText.tsx +1 -1
- package/src/components/header/CHeaderToggler.tsx +1 -1
- package/src/components/header/__tests__/CHeader.spec.tsx +1 -1
- package/src/components/header/__tests__/CHeaderBrand.spec.tsx +1 -1
- package/src/components/header/__tests__/CHeaderNav.spec.tsx +1 -1
- package/src/components/image/CImage.tsx +2 -2
- package/src/components/image/__tests__/CImage.spec.tsx +1 -1
- package/src/components/index.ts +1 -0
- package/src/components/link/__tests__/CLink.spec.tsx +3 -3
- package/src/components/list-group/CListGroup.tsx +1 -1
- package/src/components/list-group/CListGroupItem.tsx +2 -2
- package/src/components/list-group/__tests__/CListGroup.spec.tsx +2 -2
- package/src/components/list-group/__tests__/CListGroupItem.spec.tsx +1 -1
- package/src/components/modal/CModal.tsx +5 -13
- package/src/components/modal/CModalBody.tsx +1 -1
- package/src/components/modal/CModalContent.tsx +1 -1
- package/src/components/modal/CModalDialog.tsx +2 -2
- package/src/components/modal/CModalFooter.tsx +1 -1
- package/src/components/modal/CModalHeader.tsx +1 -1
- package/src/components/modal/__tests__/CModal.spec.tsx +2 -2
- package/src/components/modal/__tests__/CModalDialog.spec.tsx +1 -1
- package/src/components/modal/__tests__/CModalTitle.spec.tsx +1 -1
- package/src/components/nav/CNavGroup.tsx +2 -2
- package/src/components/nav/CNavGroupItems.tsx +1 -1
- package/src/components/nav/__tests__/CNavGroup.spec.tsx +1 -1
- package/src/components/nav/__tests__/CNavItem.spec.tsx +1 -1
- package/src/components/nav/__tests__/CNavLink.spec.tsx +1 -1
- package/src/components/navbar/CNavbar.tsx +3 -3
- package/src/components/navbar/CNavbarText.tsx +1 -1
- package/src/components/navbar/CNavbarToggler.tsx +1 -1
- package/src/components/navbar/__tests__/CNavbar.spec.tsx +2 -2
- package/src/components/navbar/__tests__/CNavbarBrand.spec.tsx +1 -1
- package/src/components/navbar/__tests__/CNavbarNav.spec.tsx +1 -1
- package/src/components/offcanvas/COffcanvas.tsx +26 -24
- package/src/components/offcanvas/COffcanvasBody.tsx +1 -1
- package/src/components/offcanvas/COffcanvasHeader.tsx +1 -1
- package/src/components/offcanvas/COffcanvasTitle.tsx +1 -1
- package/src/components/offcanvas/__tests__/COffcanvasTitle.spec.tsx +1 -1
- package/src/components/pagination/CPagination.tsx +2 -2
- package/src/components/pagination/CPaginationItem.tsx +2 -2
- package/src/components/pagination/__tests__/CPagination.spec.tsx +2 -2
- package/src/components/pagination/__tests__/CPaginationItem.spec.tsx +1 -1
- package/src/components/picker/CPicker.tsx +32 -29
- package/src/components/placeholder/CPlaceholder.tsx +2 -2
- package/src/components/placeholder/__tests__/CPlaceholder.spec.tsx +1 -1
- package/src/components/progress/__tests__/CProgress.spec.tsx +1 -1
- package/src/components/progress/__tests__/CProgressBar.spec.tsx +1 -1
- package/src/components/sidebar/CSidebarFooter.tsx +1 -1
- package/src/components/sidebar/CSidebarHeader.tsx +1 -1
- package/src/components/sidebar/CSidebarToggler.tsx +1 -1
- package/src/components/sidebar/__tests__/CSidebar.spec.tsx +2 -2
- package/src/components/spinner/CSpinner.tsx +3 -3
- package/src/components/spinner/__tests__/CSpinner.spec.tsx +1 -1
- package/src/components/table/CTable.tsx +3 -3
- package/src/components/table/CTableBody.tsx +2 -2
- package/src/components/table/CTableDataCell.tsx +2 -2
- package/src/components/table/CTableFoot.tsx +2 -2
- package/src/components/table/CTableHead.tsx +2 -2
- package/src/components/table/CTableHeaderCell.tsx +2 -2
- package/src/components/table/CTableRow.tsx +2 -2
- package/src/components/table/__tests__/CTable.spec.tsx +2 -2
- package/src/components/table/__tests__/CTableBody.spec.tsx +1 -1
- package/src/components/table/__tests__/CTableDataCell.spec.tsx +2 -2
- package/src/components/table/__tests__/CTableFoot.spec.tsx +1 -1
- package/src/components/table/__tests__/CTableHead.spec.tsx +1 -1
- package/src/components/table/__tests__/CTableHeaderCell.spec.tsx +2 -2
- package/src/components/table/__tests__/CTableRow.spec.tsx +2 -2
- package/src/components/tabs/CTab.tsx +2 -2
- package/src/components/tabs/CTabContent.tsx +1 -1
- package/src/components/tabs/CTabPane.tsx +2 -2
- package/src/components/tabs/CTabPanel.tsx +2 -2
- package/src/components/time-picker/CTimePicker.tsx +81 -10
- package/src/components/time-picker/CTimePickerRollCol.tsx +103 -20
- package/src/components/toast/CToastBody.tsx +1 -1
- package/src/components/toast/CToastHeader.tsx +1 -1
- package/src/components/toast/__tests__/CToaster.spec.tsx +2 -2
- package/src/components/widgets/CWidgetStatsA.tsx +1 -1
- package/src/components/widgets/CWidgetStatsB.tsx +1 -1
- package/src/components/widgets/CWidgetStatsC.tsx +2 -2
- package/src/components/widgets/CWidgetStatsD.tsx +2 -2
- package/src/components/widgets/CWidgetStatsE.tsx +1 -1
- package/src/components/widgets/CWidgetStatsF.tsx +1 -1
- package/src/components/widgets/__tests__/CWidgetStatsA.spec.tsx +1 -1
- package/src/components/widgets/__tests__/CWidgetStatsB.spec.tsx +1 -1
- package/src/components/widgets/__tests__/CWidgetStatsC.spec.tsx +1 -1
- package/src/components/widgets/__tests__/CWidgetStatsD.spec.tsx +1 -1
- package/src/components/widgets/__tests__/CWidgetStatsE.spec.tsx +1 -1
- package/src/components/widgets/__tests__/CWidgetStatsF.spec.tsx +2 -2
- package/src/helpers/polymorphicComponent.ts +1 -1
- package/src/utils/executeAfterTransition.ts +1 -1
- package/src/utils/getNextActiveElement.ts +1 -1
- package/src/utils/mergeClassNames.ts +1 -1
|
@@ -1,35 +1,423 @@
|
|
|
1
|
-
import { __spreadArray } from '../../node_modules/tslib/tslib.es6.js';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Converts an ISO week string to a Date object representing the Monday of that week.
|
|
5
3
|
* @param isoWeek - The ISO week string (e.g., "2023W05" or "2023w05").
|
|
6
4
|
* @returns The Date object for the Monday of the specified week, or null if invalid.
|
|
7
5
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Helper function to calculate Monday of ISO week 1 for a given year.
|
|
8
|
+
* @param year - The year to calculate for.
|
|
9
|
+
* @returns The Monday of ISO week 1.
|
|
10
|
+
*/
|
|
11
|
+
const getMondayOfISOWeek1 = (year) => {
|
|
12
|
+
const jan4 = new Date(year, 0, 4);
|
|
13
|
+
const jan4DayOfWeek = jan4.getDay();
|
|
14
|
+
const daysFromMonday = jan4DayOfWeek === 0 ? 6 : jan4DayOfWeek - 1; // Sunday = 6 days from Monday
|
|
15
|
+
const mondayOfWeek1 = new Date(jan4);
|
|
16
|
+
mondayOfWeek1.setDate(jan4.getDate() - daysFromMonday);
|
|
17
|
+
return mondayOfWeek1;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Helper function to calculate Monday of a specific ISO week.
|
|
21
|
+
* @param year - The year.
|
|
22
|
+
* @param week - The ISO week number.
|
|
23
|
+
* @returns The Monday of the specified ISO week.
|
|
24
|
+
*/
|
|
25
|
+
const getMondayOfISOWeek = (year, week) => {
|
|
26
|
+
const mondayOfWeek1 = getMondayOfISOWeek1(year);
|
|
27
|
+
const weekStart = new Date(mondayOfWeek1);
|
|
28
|
+
// prettier-ignore
|
|
29
|
+
weekStart.setDate(mondayOfWeek1.getDate() + ((week - 1) * 7));
|
|
30
|
+
return weekStart;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Helper function to convert a date to a month number for comparison.
|
|
34
|
+
* @param date - The date to convert.
|
|
35
|
+
* @returns A number representing year*12 + month for easy comparison.
|
|
36
|
+
*/
|
|
37
|
+
const dateToMonthNumber = (date) => {
|
|
38
|
+
// prettier-ignore
|
|
39
|
+
return (date.getFullYear() * 12) + date.getMonth();
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Helper function to check if a value is within min/max range.
|
|
43
|
+
* @param value - The value to check.
|
|
44
|
+
* @param min - Minimum allowed value (null means no minimum).
|
|
45
|
+
* @param max - Maximum allowed value (null means no maximum).
|
|
46
|
+
* @returns True if the value is outside the range, false if within range.
|
|
47
|
+
*/
|
|
48
|
+
const isOutsideRange = (value, min, max) => {
|
|
49
|
+
if (min !== null && value < min) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
if (max !== null && value > max) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Converts an ISO week string to a Date object representing the Monday of that week.
|
|
59
|
+
* @param isoWeek - The ISO week string (e.g., "2023W05" or "2023w05").
|
|
60
|
+
* @returns The Date object for the Monday of the specified week.
|
|
61
|
+
*/
|
|
62
|
+
const convertIsoWeekToDate = (isoWeek) => {
|
|
63
|
+
const [year, week] = isoWeek.split(/[Ww]/);
|
|
64
|
+
const parsedYear = parseYearSmart(year);
|
|
65
|
+
const parsedWeek = Number.parseInt(week, 10);
|
|
66
|
+
// Create date from ISO week using helper function
|
|
67
|
+
return getMondayOfISOWeek(parsedYear, parsedWeek);
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Parses a week string and returns a Date object for the Monday of that week.
|
|
71
|
+
* @param dateString - The week string to parse.
|
|
72
|
+
* @returns The Date object for the Monday of the week, or null if invalid.
|
|
73
|
+
*/
|
|
74
|
+
const parseWeekString = (dateString) => {
|
|
75
|
+
const weekPatterns = [
|
|
76
|
+
/^(\d{4})-W(\d{1,2})$/, // 2023-W05, 2023-W5
|
|
77
|
+
/^(\d{4})W(\d{1,2})$/, // 2023W05, 2023W5
|
|
78
|
+
/^(\d{4})\s+W(\d{1,2})$/, // 2023 W05, 2023 W5
|
|
79
|
+
];
|
|
80
|
+
for (const pattern of weekPatterns) {
|
|
81
|
+
const match = dateString.trim().match(pattern);
|
|
82
|
+
if (match) {
|
|
83
|
+
const parsedYear = parseYearSmart(match[1]);
|
|
84
|
+
const parsedWeek = Number.parseInt(match[2], 10);
|
|
85
|
+
// Create date from ISO week using helper function
|
|
86
|
+
return getMondayOfISOWeek(parsedYear, parsedWeek);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Fallback to existing ISO week parsing
|
|
90
|
+
return convertIsoWeekToDate(dateString);
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Parses a month string and returns a Date object for the first day of that month.
|
|
94
|
+
* @param dateString - The month string to parse.
|
|
95
|
+
* @returns The Date object for the first day of the month, or null if invalid.
|
|
96
|
+
*/
|
|
97
|
+
const parseMonthString = (dateString) => {
|
|
98
|
+
const monthPatterns = [
|
|
99
|
+
/^(\d{2,4})[-/.\s](\d{1,2})$/, // 2023-12, 23-12, 2023/12, 23/12, 2023 12, etc.
|
|
100
|
+
/^(\d{1,2})[-/.\s](\d{2,4})$/, // 12-2023, 12-23, 12/2023, 12/23, 12 2023, etc.
|
|
101
|
+
];
|
|
102
|
+
for (const pattern of monthPatterns) {
|
|
103
|
+
const match = dateString.trim().match(pattern);
|
|
104
|
+
if (match) {
|
|
105
|
+
const firstGroup = match[1];
|
|
106
|
+
const secondGroup = match[2];
|
|
107
|
+
// Determine which group is year and which is month
|
|
108
|
+
const parsedFirst = Number.parseInt(firstGroup, 10);
|
|
109
|
+
const parsedSecond = Number.parseInt(secondGroup, 10);
|
|
110
|
+
let parsedYear;
|
|
111
|
+
let parsedMonth;
|
|
112
|
+
// Determine which group is year and which is month based on several heuristics
|
|
113
|
+
if (firstGroup.length >= 3 || parsedFirst >= 100) {
|
|
114
|
+
// First group is clearly a year (3+ digits or >= 100)
|
|
115
|
+
parsedYear = parseYearSmart(firstGroup);
|
|
116
|
+
parsedMonth = parsedSecond - 1;
|
|
117
|
+
}
|
|
118
|
+
else if (secondGroup.length >= 3 || parsedSecond >= 100) {
|
|
119
|
+
// Second group is clearly a year (3+ digits or >= 100)
|
|
120
|
+
parsedYear = parseYearSmart(secondGroup);
|
|
121
|
+
parsedMonth = parsedFirst - 1;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
// Both groups are 1-2 digits, use context clues
|
|
125
|
+
// If second group is a valid month (1-12), treat first as year
|
|
126
|
+
if (parsedSecond >= 1 && parsedSecond <= 12 && (parsedFirst > 12 || parsedFirst < 1)) {
|
|
127
|
+
parsedYear = parseYearSmart(firstGroup);
|
|
128
|
+
parsedMonth = parsedSecond - 1;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
// Default: treat second group as year
|
|
132
|
+
parsedYear = parseYearSmart(secondGroup);
|
|
133
|
+
parsedMonth = parsedFirst - 1;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (parsedMonth >= 0 && parsedMonth <= 11) {
|
|
137
|
+
return new Date(parsedYear, parsedMonth, 1);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// For month selection, don't use fallback parsing - return null if no pattern matches
|
|
142
|
+
return null;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Parses a year string or number and returns a Date object for January 1st of that year.
|
|
146
|
+
* @param dateString - The year string or number to parse.
|
|
147
|
+
* @returns The Date object for January 1st of the year, or null if invalid.
|
|
148
|
+
*/
|
|
149
|
+
const parseYearString = (dateString) => {
|
|
150
|
+
const yearString = String(dateString);
|
|
151
|
+
const yearPattern = /^(\d{2,4})$/;
|
|
152
|
+
const match = yearString.trim().match(yearPattern);
|
|
153
|
+
if (match) {
|
|
154
|
+
const groups = { year: match[1] };
|
|
155
|
+
return createDateFromYear(groups);
|
|
156
|
+
}
|
|
157
|
+
return parseLocalDateString(yearString);
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Helper function to generate multiple date format patterns based on locale.
|
|
161
|
+
* @param locale - The locale to use for date format patterns.
|
|
162
|
+
* @param includeTime - Whether to include time in the patterns.
|
|
163
|
+
* @returns Array of date format patterns.
|
|
164
|
+
*/
|
|
165
|
+
const generateDatePatterns = (locale, includeTime) => {
|
|
166
|
+
const referenceDate = new Date(2013, 11, 31, 17, 19, 22);
|
|
167
|
+
const patterns = [];
|
|
168
|
+
try {
|
|
169
|
+
// Get the standard locale format
|
|
170
|
+
const standardFormat = includeTime
|
|
171
|
+
? referenceDate.toLocaleString(locale)
|
|
172
|
+
: referenceDate.toLocaleDateString(locale);
|
|
173
|
+
patterns.push(standardFormat);
|
|
174
|
+
}
|
|
175
|
+
catch (_a) {
|
|
176
|
+
// Fallback to default locale if invalid locale provided
|
|
177
|
+
const standardFormat = includeTime
|
|
178
|
+
? referenceDate.toLocaleString('en-US')
|
|
179
|
+
: referenceDate.toLocaleDateString('en-US');
|
|
180
|
+
patterns.push(standardFormat);
|
|
181
|
+
}
|
|
182
|
+
// Generate common alternative formats by replacing separators
|
|
183
|
+
const separators = ['/', '-', '.', ' '];
|
|
184
|
+
const standardFormat = patterns[0];
|
|
185
|
+
// Detect the original separator
|
|
186
|
+
let originalSeparator = '/'; // default
|
|
187
|
+
if (standardFormat.includes('/')) {
|
|
188
|
+
originalSeparator = '/';
|
|
189
|
+
}
|
|
190
|
+
else if (standardFormat.includes('-')) {
|
|
191
|
+
originalSeparator = '-';
|
|
192
|
+
}
|
|
193
|
+
else if (standardFormat.includes('.')) {
|
|
194
|
+
originalSeparator = '.';
|
|
195
|
+
}
|
|
196
|
+
for (const sep of separators) {
|
|
197
|
+
if (sep !== originalSeparator) {
|
|
198
|
+
// Escape the original separator for regex if it's a special character
|
|
199
|
+
const escapedSeparator = originalSeparator.replaceAll(/[.*+?^${}()|[\]\\]/g, String.raw `\$&`);
|
|
200
|
+
const altFormat = standardFormat.replaceAll(new RegExp(escapedSeparator, 'g'), sep);
|
|
201
|
+
patterns.push(altFormat);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return patterns;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Helper function to build regex pattern for date parsing.
|
|
208
|
+
* @param formatString - The date format string.
|
|
209
|
+
* @param includeTime - Whether to include time patterns.
|
|
210
|
+
* @returns The regex pattern string.
|
|
211
|
+
*/
|
|
212
|
+
const buildDateRegexPattern = (formatString, includeTime) => {
|
|
213
|
+
// First escape special regex characters
|
|
214
|
+
// eslint-disable-next-line unicorn/prefer-string-raw
|
|
215
|
+
let regexPattern = formatString.replaceAll(/[.*+?^${}()|[\\]\\]/g, '\\$&');
|
|
216
|
+
// Then replace the date/time components with regex groups
|
|
217
|
+
regexPattern = regexPattern
|
|
218
|
+
.replace('2013', String.raw `(?<year>\d{2,4})`)
|
|
219
|
+
.replace('12', String.raw `(?<month>\d{1,2})`)
|
|
220
|
+
.replace('31', String.raw `(?<day>\d{1,2})`);
|
|
221
|
+
if (includeTime) {
|
|
222
|
+
regexPattern = regexPattern
|
|
223
|
+
.replaceAll(/17|5/g, String.raw `(?<hour>\d{1,2})`)
|
|
224
|
+
.replace('19', String.raw `(?<minute>\d{1,2})`)
|
|
225
|
+
.replace('22', String.raw `(?<second>\d{1,2})`)
|
|
226
|
+
.replaceAll(/AM|PM/gi, '(?<ampm>[APap][Mm])');
|
|
227
|
+
}
|
|
228
|
+
return regexPattern;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* Helper function to try parsing with multiple patterns.
|
|
232
|
+
* @param dateString - The date string to parse.
|
|
233
|
+
* @param patterns - Array of format patterns to try.
|
|
234
|
+
* @param includeTime - Whether time parsing is included.
|
|
235
|
+
* @returns Parsed groups or null if no match.
|
|
236
|
+
*/
|
|
237
|
+
const tryParseWithPatterns = (dateString, patterns, includeTime) => {
|
|
238
|
+
for (const pattern of patterns) {
|
|
239
|
+
const regexPattern = buildDateRegexPattern(pattern, includeTime);
|
|
240
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
241
|
+
const match = dateString.trim().match(regex);
|
|
242
|
+
if (match === null || match === void 0 ? void 0 : match.groups) {
|
|
243
|
+
return match.groups;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return null;
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Helper function to convert 12-hour to 24-hour format.
|
|
250
|
+
* @param hour - Hour string.
|
|
251
|
+
* @param ampm - AM/PM indicator.
|
|
252
|
+
* @returns Hour in 24-hour format.
|
|
253
|
+
*/
|
|
254
|
+
const convertTo24Hour = (hour, ampm) => {
|
|
255
|
+
const parsedHour = Number.parseInt(hour, 10);
|
|
256
|
+
if (!ampm) {
|
|
257
|
+
return parsedHour;
|
|
258
|
+
}
|
|
259
|
+
const isPM = ampm.toLowerCase() === 'pm';
|
|
260
|
+
if (isPM && parsedHour !== 12) {
|
|
261
|
+
return parsedHour + 12;
|
|
262
|
+
}
|
|
263
|
+
if (!isPM && parsedHour === 12) {
|
|
264
|
+
return 0;
|
|
265
|
+
}
|
|
266
|
+
return parsedHour;
|
|
267
|
+
};
|
|
268
|
+
/**
|
|
269
|
+
* Helper function to validate time components.
|
|
270
|
+
* @param hour - Hour value.
|
|
271
|
+
* @param minute - Minute value.
|
|
272
|
+
* @param second - Second value.
|
|
273
|
+
* @returns True if time components are valid.
|
|
274
|
+
*/
|
|
275
|
+
const validateTimeComponents = (hour, minute, second) => {
|
|
276
|
+
return hour >= 0 && hour <= 23 && minute >= 0 && minute <= 59 && second >= 0 && second <= 59;
|
|
277
|
+
};
|
|
278
|
+
/**
|
|
279
|
+
* Helper function to validate date components.
|
|
280
|
+
* @param month - Month string.
|
|
281
|
+
* @param day - Day string.
|
|
282
|
+
* @returns True if date components are valid.
|
|
283
|
+
*/
|
|
284
|
+
const validateDateComponents = (month, day) => {
|
|
285
|
+
const parsedMonth = Number.parseInt(month, 10) - 1;
|
|
286
|
+
const parsedDay = Number.parseInt(day, 10);
|
|
287
|
+
return parsedMonth >= 0 && parsedMonth <= 11 && parsedDay >= 1 && parsedDay <= 31;
|
|
288
|
+
};
|
|
289
|
+
/**
|
|
290
|
+
* Helper function to create date with time.
|
|
291
|
+
* @param groups - Parsed date and time groups.
|
|
292
|
+
* @returns Date object or null if invalid.
|
|
293
|
+
*/
|
|
294
|
+
const createDateWithTime = (groups) => {
|
|
295
|
+
const { year, month, day, hour, minute, second, ampm } = groups;
|
|
296
|
+
const parsedYear = parseYearSmart(year);
|
|
297
|
+
const parsedMonth = Number.parseInt(month, 10) - 1;
|
|
298
|
+
const parsedDay = Number.parseInt(day, 10);
|
|
299
|
+
const parsedHour = convertTo24Hour(hour, ampm);
|
|
300
|
+
const parsedMinute = Number.parseInt(minute !== null && minute !== void 0 ? minute : '0', 10) || 0;
|
|
301
|
+
const parsedSecond = Number.parseInt(second !== null && second !== void 0 ? second : '0', 10) || 0;
|
|
302
|
+
if (!validateTimeComponents(parsedHour, parsedMinute, parsedSecond)) {
|
|
303
|
+
return null;
|
|
304
|
+
}
|
|
305
|
+
return new Date(parsedYear, parsedMonth, parsedDay, parsedHour, parsedMinute, parsedSecond);
|
|
306
|
+
};
|
|
307
|
+
/**
|
|
308
|
+
* Helper function to create date without time.
|
|
309
|
+
* @param groups - Parsed date groups.
|
|
310
|
+
* @returns Date object or null if invalid.
|
|
311
|
+
*/
|
|
312
|
+
const createDateOnly = (groups) => {
|
|
313
|
+
const { year, month, day } = groups;
|
|
314
|
+
if (!validateDateComponents(month, day)) {
|
|
315
|
+
return null;
|
|
316
|
+
}
|
|
317
|
+
const parsedYear = parseYearSmart(year);
|
|
318
|
+
const parsedMonth = Number.parseInt(month, 10) - 1;
|
|
319
|
+
const parsedDay = Number.parseInt(day, 10);
|
|
320
|
+
return new Date(parsedYear, parsedMonth, parsedDay);
|
|
321
|
+
};
|
|
322
|
+
/**
|
|
323
|
+
* Enhanced day parsing with locale-aware patterns.
|
|
324
|
+
* @param dateString - The day string to parse.
|
|
325
|
+
* @param locale - The locale to use for parsing.
|
|
326
|
+
* @param includeTime - Whether to include time parsing.
|
|
327
|
+
* @returns Date object or null if invalid.
|
|
328
|
+
*/
|
|
329
|
+
const parseDayString = (dateString, locale, includeTime) => {
|
|
330
|
+
const patterns = generateDatePatterns(locale, includeTime);
|
|
331
|
+
const groups = tryParseWithPatterns(dateString, patterns, includeTime);
|
|
332
|
+
if (!groups) {
|
|
333
|
+
// Check if input looks like a complete date (has separators and multiple parts)
|
|
334
|
+
// If so, use fallback parsing for formats like "2022/08/17", "2022-08-17"
|
|
335
|
+
// If not (like "1", "12"), return null
|
|
336
|
+
const trimmed = dateString.trim();
|
|
337
|
+
const hasDateSeparators = /[-/.:]/.test(trimmed);
|
|
338
|
+
const parts = trimmed.split(/[-/.\s:]+/).filter((part) => part.length > 0);
|
|
339
|
+
const hasMultipleParts = parts.length >= 2;
|
|
340
|
+
if (hasDateSeparators && hasMultipleParts) {
|
|
341
|
+
// Use fallback for complete date strings that don't match locale patterns
|
|
342
|
+
return parseLocalDateString(dateString);
|
|
343
|
+
}
|
|
344
|
+
// For incomplete input like "1" or "12", return null
|
|
345
|
+
return null;
|
|
346
|
+
}
|
|
347
|
+
// For day selection, require at least month and day to be present
|
|
348
|
+
if ('month' in groups && 'day' in groups) {
|
|
349
|
+
const { month, day } = groups;
|
|
350
|
+
if (!validateDateComponents(month, day)) {
|
|
351
|
+
return null;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
// If incomplete date information, return null instead of guessing
|
|
356
|
+
return null;
|
|
357
|
+
}
|
|
358
|
+
// Create and return appropriate date object
|
|
359
|
+
return includeTime
|
|
360
|
+
? createDateWithTime(groups)
|
|
361
|
+
: createDateOnly(groups);
|
|
362
|
+
};
|
|
363
|
+
/**
|
|
364
|
+
* Parses a date string into a local Date object.
|
|
365
|
+
* @param dateString - The date string to parse.
|
|
366
|
+
* @returns The Date object in local timezone, or null if invalid.
|
|
367
|
+
*/
|
|
368
|
+
const parseLocalDateString = (dateString) => {
|
|
369
|
+
const _date = new Date(Date.parse(dateString));
|
|
370
|
+
if (!Number.isNaN(_date.getTime())) {
|
|
371
|
+
return _date;
|
|
372
|
+
}
|
|
373
|
+
return null;
|
|
13
374
|
};
|
|
14
375
|
/**
|
|
15
376
|
* Converts a date string or Date object to a Date object based on selection type.
|
|
16
377
|
* @param date - The date to convert.
|
|
17
378
|
* @param selectionType - The type of selection ('day', 'week', 'month', 'year').
|
|
379
|
+
* @param locale - The locale to use for date parsing (for day parsing).
|
|
380
|
+
* @param includeTime - Whether to include time parsing (for day parsing).
|
|
18
381
|
* @returns The corresponding Date object or null if invalid.
|
|
19
382
|
*/
|
|
20
|
-
|
|
383
|
+
const convertToDateObject = (date, selectionType, locale = 'en-US', includeTime = false) => {
|
|
384
|
+
if (date === null) {
|
|
385
|
+
return null;
|
|
386
|
+
}
|
|
21
387
|
if (date instanceof Date) {
|
|
22
|
-
return date;
|
|
388
|
+
return Number.isNaN(date.getTime()) ? null : date;
|
|
23
389
|
}
|
|
24
|
-
|
|
25
|
-
|
|
390
|
+
const dateString = date;
|
|
391
|
+
switch (selectionType) {
|
|
392
|
+
case 'week': {
|
|
393
|
+
return parseWeekString(dateString);
|
|
394
|
+
}
|
|
395
|
+
case 'month': {
|
|
396
|
+
return parseMonthString(dateString);
|
|
397
|
+
}
|
|
398
|
+
case 'year': {
|
|
399
|
+
return parseYearString(dateString);
|
|
400
|
+
}
|
|
401
|
+
default: {
|
|
402
|
+
// Enhanced day parsing with locale support
|
|
403
|
+
return parseDayString(dateString, locale, includeTime);
|
|
404
|
+
}
|
|
26
405
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
406
|
+
};
|
|
407
|
+
/**
|
|
408
|
+
* Enhanced locale-aware date parsing function (replaces getLocalDateFromString).
|
|
409
|
+
* @param dateString - The date string to parse.
|
|
410
|
+
* @param locale - The locale to use for date format patterns.
|
|
411
|
+
* @param includeTime - Whether to include time parsing.
|
|
412
|
+
* @param selectionType - The selection type ('day', 'week', 'month', 'year').
|
|
413
|
+
* @returns A Date object if parsing succeeds, null if parsing fails.
|
|
414
|
+
*/
|
|
415
|
+
const getLocalDateFromString = (dateString, locale = 'en-US', includeTime = false, selectionType = 'day') => {
|
|
416
|
+
// Input validation
|
|
417
|
+
if (!dateString || typeof dateString !== 'string') {
|
|
418
|
+
return null;
|
|
31
419
|
}
|
|
32
|
-
return
|
|
420
|
+
return convertToDateObject(dateString, selectionType, locale, includeTime);
|
|
33
421
|
};
|
|
34
422
|
/**
|
|
35
423
|
* Creates groups from an array.
|
|
@@ -37,11 +425,11 @@ var convertToDateObject = function (date, selectionType) {
|
|
|
37
425
|
* @param numberOfGroups - Number of groups to create.
|
|
38
426
|
* @returns An array of grouped arrays.
|
|
39
427
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
428
|
+
const createGroupsInArray = (arr, numberOfGroups) => {
|
|
429
|
+
const perGroup = Math.ceil(arr.length / numberOfGroups);
|
|
42
430
|
return Array.from({ length: numberOfGroups })
|
|
43
431
|
.fill('')
|
|
44
|
-
.map(
|
|
432
|
+
.map((_, i) => arr.slice(i * perGroup, (i + 1) * perGroup));
|
|
45
433
|
};
|
|
46
434
|
/**
|
|
47
435
|
* Adjusts the calendar date based on order and view type.
|
|
@@ -50,7 +438,7 @@ var createGroupsInArray = function (arr, numberOfGroups) {
|
|
|
50
438
|
* @param view - The current view type.
|
|
51
439
|
* @returns The adjusted Date object.
|
|
52
440
|
*/
|
|
53
|
-
|
|
441
|
+
const getCalendarDate = (calendarDate, order, view) => {
|
|
54
442
|
if (order !== 0 && view === 'days') {
|
|
55
443
|
return new Date(calendarDate.getFullYear(), calendarDate.getMonth() + order, 1);
|
|
56
444
|
}
|
|
@@ -58,7 +446,8 @@ var getCalendarDate = function (calendarDate, order, view) {
|
|
|
58
446
|
return new Date(calendarDate.getFullYear() + order, calendarDate.getMonth(), 1);
|
|
59
447
|
}
|
|
60
448
|
if (order !== 0 && view === 'years') {
|
|
61
|
-
|
|
449
|
+
// prettier-ignore
|
|
450
|
+
return new Date(calendarDate.getFullYear() + (12 * order), calendarDate.getMonth(), 1);
|
|
62
451
|
}
|
|
63
452
|
return calendarDate;
|
|
64
453
|
};
|
|
@@ -68,20 +457,20 @@ var getCalendarDate = function (calendarDate, order, view) {
|
|
|
68
457
|
* @param selectionType - The type of selection ('day', 'week', 'month', 'year').
|
|
69
458
|
* @returns A formatted date string or the original Date object.
|
|
70
459
|
*/
|
|
71
|
-
|
|
460
|
+
const getDateBySelectionType = (date, selectionType) => {
|
|
72
461
|
if (date === null) {
|
|
73
462
|
return null;
|
|
74
463
|
}
|
|
75
464
|
if (selectionType === 'week') {
|
|
76
|
-
|
|
77
|
-
return
|
|
465
|
+
const { year, weekNumber } = getISOWeekNumberAndYear(date);
|
|
466
|
+
return `${year}W${weekNumber.toString().padStart(2, '0')}`;
|
|
78
467
|
}
|
|
79
468
|
if (selectionType === 'month') {
|
|
80
|
-
|
|
81
|
-
return
|
|
469
|
+
const monthNumber = `0${date.getMonth() + 1}`.slice(-2);
|
|
470
|
+
return `${date.getFullYear()}-${monthNumber}`;
|
|
82
471
|
}
|
|
83
472
|
if (selectionType === 'year') {
|
|
84
|
-
return
|
|
473
|
+
return `${date.getFullYear()}`;
|
|
85
474
|
}
|
|
86
475
|
return date;
|
|
87
476
|
};
|
|
@@ -91,9 +480,8 @@ var getDateBySelectionType = function (date, selectionType) {
|
|
|
91
480
|
* @param format - The format of the month names ('short' or 'long').
|
|
92
481
|
* @returns An array of month names.
|
|
93
482
|
*/
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return Array.from({ length: 12 }, function (_, i) {
|
|
483
|
+
const getMonthsNames = (locale, format = 'short') => {
|
|
484
|
+
return Array.from({ length: 12 }, (_, i) => {
|
|
97
485
|
return new Date(2000, i, 1).toLocaleString(locale, { month: format });
|
|
98
486
|
});
|
|
99
487
|
};
|
|
@@ -103,9 +491,8 @@ var getMonthsNames = function (locale, format) {
|
|
|
103
491
|
* @param selector - The CSS selector used to identify selectable dates. Defaults to 'tr[tabindex="0"], td[tabindex="0"]'.
|
|
104
492
|
* @returns An array of HTMLElements representing the selectable dates.
|
|
105
493
|
*/
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return __spreadArray([], Element.prototype.querySelectorAll.call(element, selector), true);
|
|
494
|
+
const getSelectableDates = (element, selector = 'tr[tabindex="0"], td[tabindex="0"]') => {
|
|
495
|
+
return [...Element.prototype.querySelectorAll.call(element, selector)];
|
|
109
496
|
};
|
|
110
497
|
/**
|
|
111
498
|
* Generates an array of years centered around a given year.
|
|
@@ -113,9 +500,8 @@ var getSelectableDates = function (element, selector) {
|
|
|
113
500
|
* @param range - The number of years before and after the central year.
|
|
114
501
|
* @returns An array of years.
|
|
115
502
|
*/
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return Array.from({ length: range * 2 }, function (_, i) { return year - range + i; });
|
|
503
|
+
const getYears = (year, range = 6) => {
|
|
504
|
+
return Array.from({ length: range * 2 }, (_, i) => year - range + i);
|
|
119
505
|
};
|
|
120
506
|
/**
|
|
121
507
|
* Retrieves leading days (from the previous month) for a calendar view.
|
|
@@ -124,19 +510,19 @@ var getYears = function (year, range) {
|
|
|
124
510
|
* @param firstDayOfWeek - The first day of the week (0-6, where 0 is Sunday).
|
|
125
511
|
* @returns An array of leading day objects.
|
|
126
512
|
*/
|
|
127
|
-
|
|
513
|
+
const getLeadingDays = (year, month, firstDayOfWeek) => {
|
|
128
514
|
// 0: sunday
|
|
129
515
|
// 1: monday
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
516
|
+
const dates = [];
|
|
517
|
+
const d = new Date(year, month);
|
|
518
|
+
const y = d.getFullYear();
|
|
519
|
+
const m = d.getMonth();
|
|
520
|
+
const firstWeekday = new Date(y, m, 1).getDay();
|
|
521
|
+
let leadingDays = 6 - (6 - firstWeekday) - firstDayOfWeek;
|
|
136
522
|
if (firstDayOfWeek) {
|
|
137
523
|
leadingDays = leadingDays < 0 ? 7 + leadingDays : leadingDays;
|
|
138
524
|
}
|
|
139
|
-
for (
|
|
525
|
+
for (let i = leadingDays * -1; i < 0; i++) {
|
|
140
526
|
dates.push({
|
|
141
527
|
date: new Date(y, m, i + 1),
|
|
142
528
|
month: 'previous',
|
|
@@ -150,10 +536,10 @@ var getLeadingDays = function (year, month, firstDayOfWeek) {
|
|
|
150
536
|
* @param month - The month (0-11).
|
|
151
537
|
* @returns An array of day objects.
|
|
152
538
|
*/
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
for (
|
|
539
|
+
const getMonthDays = (year, month) => {
|
|
540
|
+
const dates = [];
|
|
541
|
+
const lastDay = new Date(year, month + 1, 0).getDate();
|
|
542
|
+
for (let i = 1; i <= lastDay; i++) {
|
|
157
543
|
dates.push({
|
|
158
544
|
date: new Date(year, month, i),
|
|
159
545
|
month: 'current',
|
|
@@ -169,10 +555,10 @@ var getMonthDays = function (year, month) {
|
|
|
169
555
|
* @param monthDays - Array of current month day objects.
|
|
170
556
|
* @returns An array of trailing day objects.
|
|
171
557
|
*/
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
for (
|
|
558
|
+
const getTrailingDays = (year, month, leadingDays, monthDays) => {
|
|
559
|
+
const dates = [];
|
|
560
|
+
const days = 42 - (leadingDays.length + monthDays.length);
|
|
561
|
+
for (let i = 1; i <= days; i++) {
|
|
176
562
|
dates.push({
|
|
177
563
|
date: new Date(year, month + 1, i),
|
|
178
564
|
month: 'next',
|
|
@@ -193,15 +579,15 @@ var getTrailingDays = function (year, month, leadingDays, monthDays) {
|
|
|
193
579
|
* - `weekNumber`: the ISO week number (1–53),
|
|
194
580
|
* - `year`: the ISO year (may differ from the calendar year of the date).
|
|
195
581
|
*/
|
|
196
|
-
|
|
197
|
-
|
|
582
|
+
const getISOWeekNumberAndYear = (date) => {
|
|
583
|
+
const tempDate = new Date(date);
|
|
198
584
|
tempDate.setHours(0, 0, 0, 0);
|
|
199
585
|
// Thursday in current week decides the year
|
|
200
586
|
tempDate.setDate(tempDate.getDate() + 3 - ((tempDate.getDay() + 6) % 7));
|
|
201
|
-
|
|
587
|
+
const week1 = new Date(tempDate.getFullYear(), 0, 4);
|
|
202
588
|
// Calculate full weeks to the date
|
|
203
|
-
|
|
204
|
-
return { weekNumber
|
|
589
|
+
const weekNumber = 1 + Math.round((tempDate.getTime() - week1.getTime()) / (86400000 * 7));
|
|
590
|
+
return { weekNumber, year: tempDate.getFullYear() };
|
|
205
591
|
};
|
|
206
592
|
/**
|
|
207
593
|
* Retrieves detailed information about each week in a month for calendar rendering.
|
|
@@ -210,13 +596,13 @@ var getISOWeekNumberAndYear = function (date) {
|
|
|
210
596
|
* @param firstDayOfWeek - The first day of the week (0-6, where 0 is Sunday).
|
|
211
597
|
* @returns An array of week objects containing week numbers and day details.
|
|
212
598
|
*/
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
days.forEach(
|
|
599
|
+
const getMonthDetails = (year, month, firstDayOfWeek) => {
|
|
600
|
+
const daysPrevMonth = getLeadingDays(year, month, firstDayOfWeek);
|
|
601
|
+
const daysThisMonth = getMonthDays(year, month);
|
|
602
|
+
const daysNextMonth = getTrailingDays(year, month, daysPrevMonth, daysThisMonth);
|
|
603
|
+
const days = [...daysPrevMonth, ...daysThisMonth, ...daysNextMonth];
|
|
604
|
+
const weeks = [];
|
|
605
|
+
days.forEach((day, index) => {
|
|
220
606
|
if (index % 7 === 0 || weeks.length === 0) {
|
|
221
607
|
weeks.push({
|
|
222
608
|
week: { number: 0, year: 0 },
|
|
@@ -224,10 +610,16 @@ var getMonthDetails = function (year, month, firstDayOfWeek) {
|
|
|
224
610
|
});
|
|
225
611
|
}
|
|
226
612
|
if ((index + 1) % 7 === 0) {
|
|
227
|
-
|
|
228
|
-
weeks
|
|
613
|
+
const { weekNumber, year } = getISOWeekNumberAndYear(day.date);
|
|
614
|
+
const lastWeek = weeks.at(-1);
|
|
615
|
+
if (lastWeek) {
|
|
616
|
+
lastWeek.week = { number: weekNumber, year };
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
const lastWeek = weeks.at(-1);
|
|
620
|
+
if (lastWeek) {
|
|
621
|
+
lastWeek.days.push(day);
|
|
229
622
|
}
|
|
230
|
-
weeks[weeks.length - 1].days.push(day);
|
|
231
623
|
});
|
|
232
624
|
return weeks;
|
|
233
625
|
};
|
|
@@ -239,7 +631,7 @@ var getMonthDetails = function (year, month, firstDayOfWeek) {
|
|
|
239
631
|
* @param disabledDates - Criteria for disabled dates.
|
|
240
632
|
* @returns True if the date is disabled, false otherwise.
|
|
241
633
|
*/
|
|
242
|
-
|
|
634
|
+
const isDateDisabled = (date, min, max, disabledDates) => {
|
|
243
635
|
if (min && date < min) {
|
|
244
636
|
return true;
|
|
245
637
|
}
|
|
@@ -256,8 +648,7 @@ var isDateDisabled = function (date, min, max, disabledDates) {
|
|
|
256
648
|
return true;
|
|
257
649
|
}
|
|
258
650
|
if (Array.isArray(disabledDates) && disabledDates) {
|
|
259
|
-
for (
|
|
260
|
-
var _date = disabledDates_1[_i];
|
|
651
|
+
for (const _date of disabledDates) {
|
|
261
652
|
if (typeof _date === 'function' && _date(date)) {
|
|
262
653
|
return true;
|
|
263
654
|
}
|
|
@@ -278,11 +669,11 @@ var isDateDisabled = function (date, min, max, disabledDates) {
|
|
|
278
669
|
* @param end - End date of the range.
|
|
279
670
|
* @returns True if the date is within the range, false otherwise.
|
|
280
671
|
*/
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
return
|
|
672
|
+
const isDateInRange = (date, start, end) => {
|
|
673
|
+
const _date = removeTimeFromDate(date);
|
|
674
|
+
const _start = start ? removeTimeFromDate(start) : null;
|
|
675
|
+
const _end = end ? removeTimeFromDate(end) : null;
|
|
676
|
+
return Boolean(_start && _end && _start <= _date && _date <= _end);
|
|
286
677
|
};
|
|
287
678
|
/**
|
|
288
679
|
* Checks if a date is selected based on start and end dates.
|
|
@@ -291,7 +682,7 @@ var isDateInRange = function (date, start, end) {
|
|
|
291
682
|
* @param end - End date.
|
|
292
683
|
* @returns True if the date is selected, false otherwise.
|
|
293
684
|
*/
|
|
294
|
-
|
|
685
|
+
const isDateSelected = (date, start, end) => {
|
|
295
686
|
if (start !== null && isSameDateAs(start, date)) {
|
|
296
687
|
return true;
|
|
297
688
|
}
|
|
@@ -307,10 +698,10 @@ var isDateSelected = function (date, start, end) {
|
|
|
307
698
|
* @param disabledDates - Criteria for disabled dates.
|
|
308
699
|
* @returns True if any date in the range is disabled, false otherwise.
|
|
309
700
|
*/
|
|
310
|
-
|
|
701
|
+
const isDisableDateInRange = (startDate, endDate, disabledDates) => {
|
|
311
702
|
if (startDate && endDate) {
|
|
312
|
-
|
|
313
|
-
|
|
703
|
+
const date = new Date(startDate);
|
|
704
|
+
let disabled = false;
|
|
314
705
|
while (date < endDate) {
|
|
315
706
|
date.setDate(date.getDate() + 1);
|
|
316
707
|
if (isDateDisabled(date, null, null, disabledDates)) {
|
|
@@ -330,24 +721,21 @@ var isDisableDateInRange = function (startDate, endDate, disabledDates) {
|
|
|
330
721
|
* @param disabledDates - Criteria for disabled dates.
|
|
331
722
|
* @returns True if the month is disabled, false otherwise.
|
|
332
723
|
*/
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
if (
|
|
338
|
-
return true;
|
|
339
|
-
}
|
|
340
|
-
if (_max && current > _max) {
|
|
724
|
+
const isMonthDisabled = (date, min, max, disabledDates) => {
|
|
725
|
+
const current = dateToMonthNumber(date);
|
|
726
|
+
const _min = min ? dateToMonthNumber(min) : null;
|
|
727
|
+
const _max = max ? dateToMonthNumber(max) : null;
|
|
728
|
+
if (isOutsideRange(current, _min, _max)) {
|
|
341
729
|
return true;
|
|
342
730
|
}
|
|
343
731
|
if (disabledDates === undefined) {
|
|
344
732
|
return false;
|
|
345
733
|
}
|
|
346
|
-
|
|
347
|
-
|
|
734
|
+
const startTime = min ? Math.max(date.getTime(), min.getTime()) : date.getTime();
|
|
735
|
+
const endTime = max
|
|
348
736
|
? Math.min(date.getTime(), max.getTime())
|
|
349
|
-
: new Date(new Date().getFullYear(), 11, 31);
|
|
350
|
-
for (
|
|
737
|
+
: new Date(new Date().getFullYear(), 11, 31).getTime();
|
|
738
|
+
for (const currentDate = new Date(startTime); currentDate.getTime() <= endTime; currentDate.setDate(currentDate.getDate() + 1)) {
|
|
351
739
|
if (!isDateDisabled(currentDate, min, max, disabledDates)) {
|
|
352
740
|
return false;
|
|
353
741
|
}
|
|
@@ -361,9 +749,9 @@ var isMonthDisabled = function (date, min, max, disabledDates) {
|
|
|
361
749
|
* @param end - End date.
|
|
362
750
|
* @returns True if the month is selected, false otherwise.
|
|
363
751
|
*/
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
752
|
+
const isMonthSelected = (date, start, end) => {
|
|
753
|
+
const year = date.getFullYear();
|
|
754
|
+
const month = date.getMonth();
|
|
367
755
|
if (start !== null && year === start.getFullYear() && month === start.getMonth()) {
|
|
368
756
|
return true;
|
|
369
757
|
}
|
|
@@ -379,13 +767,11 @@ var isMonthSelected = function (date, start, end) {
|
|
|
379
767
|
* @param end - End date.
|
|
380
768
|
* @returns True if the month is within the range, false otherwise.
|
|
381
769
|
*/
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
var _date = year * 12 + month;
|
|
388
|
-
return !!(_start && _end && _start <= _date && _date <= _end);
|
|
770
|
+
const isMonthInRange = (date, start, end) => {
|
|
771
|
+
const _start = start ? dateToMonthNumber(start) : null;
|
|
772
|
+
const _end = end ? dateToMonthNumber(end) : null;
|
|
773
|
+
const _date = dateToMonthNumber(date);
|
|
774
|
+
return Boolean(_start && _end && _start <= _date && _date <= _end);
|
|
389
775
|
};
|
|
390
776
|
/**
|
|
391
777
|
* Checks if two dates are the same calendar date.
|
|
@@ -393,7 +779,7 @@ var isMonthInRange = function (date, start, end) {
|
|
|
393
779
|
* @param date2 - Second date.
|
|
394
780
|
* @returns True if both dates are the same, false otherwise.
|
|
395
781
|
*/
|
|
396
|
-
|
|
782
|
+
const isSameDateAs = (date, date2) => {
|
|
397
783
|
if (date instanceof Date && date2 instanceof Date) {
|
|
398
784
|
return (date.getDate() === date2.getDate() &&
|
|
399
785
|
date.getMonth() === date2.getMonth() &&
|
|
@@ -409,8 +795,8 @@ var isSameDateAs = function (date, date2) {
|
|
|
409
795
|
* @param date - The date to check.
|
|
410
796
|
* @returns True if the date is today, false otherwise.
|
|
411
797
|
*/
|
|
412
|
-
|
|
413
|
-
|
|
798
|
+
const isToday = (date) => {
|
|
799
|
+
const today = new Date();
|
|
414
800
|
return isSameDateAs(date, today);
|
|
415
801
|
};
|
|
416
802
|
/**
|
|
@@ -421,24 +807,21 @@ var isToday = function (date) {
|
|
|
421
807
|
* @param disabledDates - Criteria for disabled dates.
|
|
422
808
|
* @returns True if the year is disabled, false otherwise.
|
|
423
809
|
*/
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
if (
|
|
429
|
-
return true;
|
|
430
|
-
}
|
|
431
|
-
if (maxYear && year > maxYear) {
|
|
810
|
+
const isYearDisabled = (date, min, max, disabledDates) => {
|
|
811
|
+
const year = date.getFullYear();
|
|
812
|
+
const minYear = min ? min.getFullYear() : null;
|
|
813
|
+
const maxYear = max ? max.getFullYear() : null;
|
|
814
|
+
if (isOutsideRange(year, minYear, maxYear)) {
|
|
432
815
|
return true;
|
|
433
816
|
}
|
|
434
817
|
if (disabledDates === undefined) {
|
|
435
818
|
return false;
|
|
436
819
|
}
|
|
437
|
-
|
|
438
|
-
|
|
820
|
+
const startTime = min ? Math.max(date.getTime(), min.getTime()) : date.getTime();
|
|
821
|
+
const endTime = max
|
|
439
822
|
? Math.min(date.getTime(), max.getTime())
|
|
440
|
-
: new Date(new Date().getFullYear(), 11, 31);
|
|
441
|
-
for (
|
|
823
|
+
: new Date(new Date().getFullYear(), 11, 31).getTime();
|
|
824
|
+
for (const currentDate = new Date(startTime); currentDate.getTime() <= endTime; currentDate.setDate(currentDate.getDate() + 1)) {
|
|
442
825
|
if (!isDateDisabled(currentDate, min, max, disabledDates)) {
|
|
443
826
|
return false;
|
|
444
827
|
}
|
|
@@ -452,8 +835,8 @@ var isYearDisabled = function (date, min, max, disabledDates) {
|
|
|
452
835
|
* @param end - End date.
|
|
453
836
|
* @returns True if the year matches the start's or end's year, false otherwise.
|
|
454
837
|
*/
|
|
455
|
-
|
|
456
|
-
|
|
838
|
+
const isYearSelected = (date, start, end) => {
|
|
839
|
+
const year = date.getFullYear();
|
|
457
840
|
if (start !== null && year === start.getFullYear()) {
|
|
458
841
|
return true;
|
|
459
842
|
}
|
|
@@ -469,19 +852,19 @@ var isYearSelected = function (date, start, end) {
|
|
|
469
852
|
* @param end - End date.
|
|
470
853
|
* @returns True if the year's value lies between start's year and end's year, false otherwise.
|
|
471
854
|
*/
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
return
|
|
855
|
+
const isYearInRange = (date, start, end) => {
|
|
856
|
+
const year = date.getFullYear();
|
|
857
|
+
const _start = start ? start.getFullYear() : null;
|
|
858
|
+
const _end = end ? end.getFullYear() : null;
|
|
859
|
+
return Boolean(_start && _end && _start <= year && year <= _end);
|
|
477
860
|
};
|
|
478
861
|
/**
|
|
479
862
|
* Removes the time component from a Date object.
|
|
480
863
|
* @param date - The original date.
|
|
481
864
|
* @returns A new Date object with the time set to 00:00:00.
|
|
482
865
|
*/
|
|
483
|
-
|
|
484
|
-
|
|
866
|
+
const removeTimeFromDate = (date) => {
|
|
867
|
+
const clearedDate = new Date(date);
|
|
485
868
|
clearedDate.setHours(0, 0, 0, 0);
|
|
486
869
|
return clearedDate;
|
|
487
870
|
};
|
|
@@ -492,17 +875,48 @@ var removeTimeFromDate = function (date) {
|
|
|
492
875
|
* @param {Date | null} source - The date to copy the time from.
|
|
493
876
|
* @returns {Date} A new Date instance with the date from `target` and time from `source`.
|
|
494
877
|
*/
|
|
495
|
-
|
|
878
|
+
const setTimeFromDate = (target, source) => {
|
|
496
879
|
if (target === null) {
|
|
497
880
|
return null;
|
|
498
881
|
}
|
|
499
882
|
if (!(source instanceof Date)) {
|
|
500
883
|
return target;
|
|
501
884
|
}
|
|
502
|
-
|
|
885
|
+
const result = new Date(target); // create a copy to avoid mutation
|
|
503
886
|
result.setHours(source.getHours(), source.getMinutes(), source.getSeconds(), source.getMilliseconds());
|
|
504
887
|
return result;
|
|
505
888
|
};
|
|
889
|
+
/**
|
|
890
|
+
* Parses a year string with smart 2-digit handling.
|
|
891
|
+
* @param yearString - The year string to parse.
|
|
892
|
+
* @returns The parsed year as a number with intelligent century assignment.
|
|
893
|
+
*/
|
|
894
|
+
const parseYearSmart = (yearString) => {
|
|
895
|
+
let parsedYear = Number.parseInt(yearString, 10);
|
|
896
|
+
// Handle 2-digit years with intelligent century assignment
|
|
897
|
+
if (parsedYear < 100) {
|
|
898
|
+
const currentYear = new Date().getFullYear();
|
|
899
|
+
const currentCentury = Math.floor(currentYear / 100) * 100;
|
|
900
|
+
parsedYear = currentCentury + parsedYear;
|
|
901
|
+
// If the result is more than 50 years in the future, use previous century
|
|
902
|
+
// This creates a sliding window: for current year 2025, years 76-99 become 1976-1999
|
|
903
|
+
// and years 00-75 become 2000-2075
|
|
904
|
+
if (parsedYear > currentYear + 50) {
|
|
905
|
+
parsedYear -= 100;
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
return parsedYear;
|
|
909
|
+
};
|
|
910
|
+
/**
|
|
911
|
+
* Creates a date from year groups.
|
|
912
|
+
* @param groups - The year groups containing year string.
|
|
913
|
+
* @returns A Date object for January 1st of the year.
|
|
914
|
+
*/
|
|
915
|
+
const createDateFromYear = (groups) => {
|
|
916
|
+
const { year } = groups;
|
|
917
|
+
const parsedYear = parseYearSmart(year);
|
|
918
|
+
return new Date(parsedYear, 0, 1);
|
|
919
|
+
};
|
|
506
920
|
|
|
507
|
-
export { convertIsoWeekToDate, convertToDateObject, createGroupsInArray, getCalendarDate, getDateBySelectionType, getISOWeekNumberAndYear, getMonthDetails, getMonthsNames, getSelectableDates, getYears, isDateDisabled, isDateInRange, isDateSelected, isDisableDateInRange, isMonthDisabled, isMonthInRange, isMonthSelected, isSameDateAs, isToday, isYearDisabled, isYearInRange, isYearSelected, removeTimeFromDate, setTimeFromDate };
|
|
921
|
+
export { convertIsoWeekToDate, convertToDateObject, createDateFromYear, createGroupsInArray, getCalendarDate, getDateBySelectionType, getISOWeekNumberAndYear, getLocalDateFromString, getMonthDetails, getMonthsNames, getSelectableDates, getYears, isDateDisabled, isDateInRange, isDateSelected, isDisableDateInRange, isMonthDisabled, isMonthInRange, isMonthSelected, isSameDateAs, isToday, isYearDisabled, isYearInRange, isYearSelected, parseYearSmart, removeTimeFromDate, setTimeFromDate };
|
|
508
922
|
//# sourceMappingURL=utils.js.map
|