@coreui/react-pro 5.0.0-rc.0 → 5.0.0-rc.2
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/alert/CAlertHeading.d.ts +7 -6
- package/dist/cjs/components/alert/CAlertHeading.js +2 -2
- package/dist/cjs/components/alert/CAlertHeading.js.map +1 -1
- package/dist/cjs/components/badge/CBadge.d.ts +7 -6
- package/dist/cjs/components/badge/CBadge.js +3 -3
- package/dist/cjs/components/badge/CBadge.js.map +1 -1
- package/dist/cjs/components/button/CButton.d.ts +7 -6
- package/dist/cjs/components/button/CButton.js +3 -3
- package/dist/cjs/components/button/CButton.js.map +1 -1
- package/dist/cjs/components/calendar/CCalendar.d.ts +3 -3
- package/dist/cjs/components/calendar/CCalendar.js +10 -8
- package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
- package/dist/cjs/components/calendar/utils.js.map +1 -1
- package/dist/cjs/components/card/CCardHeader.d.ts +7 -6
- package/dist/cjs/components/card/CCardHeader.js +2 -2
- package/dist/cjs/components/card/CCardHeader.js.map +1 -1
- package/dist/cjs/components/card/CCardImage.d.ts +7 -6
- package/dist/cjs/components/card/CCardImage.js +2 -2
- package/dist/cjs/components/card/CCardImage.js.map +1 -1
- package/dist/cjs/components/card/CCardSubtitle.d.ts +7 -6
- package/dist/cjs/components/card/CCardSubtitle.js +2 -2
- package/dist/cjs/components/card/CCardSubtitle.js.map +1 -1
- package/dist/cjs/components/card/CCardText.d.ts +7 -6
- package/dist/cjs/components/card/CCardText.js +2 -2
- package/dist/cjs/components/card/CCardText.js.map +1 -1
- package/dist/cjs/components/card/CCardTitle.d.ts +7 -6
- package/dist/cjs/components/card/CCardTitle.js +2 -2
- package/dist/cjs/components/card/CCardTitle.js.map +1 -1
- package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
- package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
- package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
- package/dist/cjs/components/conditional-portal/CConditionalPortal.js +1 -1
- package/dist/cjs/components/conditional-portal/CConditionalPortal.js.map +1 -1
- package/dist/cjs/components/date-range-picker/CDateRangePicker.d.ts +3 -3
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js +2 -2
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdown.d.ts +6 -5
- package/dist/cjs/components/dropdown/CDropdown.js +4 -4
- package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownHeader.d.ts +7 -6
- package/dist/cjs/components/dropdown/CDropdownHeader.js +2 -2
- package/dist/cjs/components/dropdown/CDropdownHeader.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownItem.d.ts +2 -6
- 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.d.ts +7 -6
- package/dist/cjs/components/dropdown/CDropdownItemPlain.js +2 -2
- package/dist/cjs/components/dropdown/CDropdownItemPlain.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownMenu.d.ts +7 -6
- package/dist/cjs/components/dropdown/CDropdownMenu.js +2 -2
- package/dist/cjs/components/dropdown/CDropdownMenu.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownToggle.d.ts +1 -1
- package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/cjs/components/dropdown/utils.js.map +1 -1
- package/dist/cjs/components/element-cover/CElementCover.js.map +1 -1
- package/dist/cjs/components/form/CFormCheck.js.map +1 -1
- package/dist/cjs/components/form/CFormFeedback.d.ts +7 -6
- package/dist/cjs/components/form/CFormFeedback.js +2 -2
- package/dist/cjs/components/form/CFormFeedback.js.map +1 -1
- package/dist/cjs/components/form/CFormText.d.ts +7 -6
- package/dist/cjs/components/form/CFormText.js +2 -2
- package/dist/cjs/components/form/CFormText.js.map +1 -1
- package/dist/cjs/components/form/CInputGroupText.d.ts +7 -6
- package/dist/cjs/components/form/CInputGroupText.js +2 -2
- package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
- package/dist/cjs/components/grid/CCol.js.map +1 -1
- package/dist/cjs/components/grid/CRow.js.map +1 -1
- package/dist/cjs/components/header/CHeaderBrand.d.ts +7 -10
- package/dist/cjs/components/header/CHeaderBrand.js +2 -2
- package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
- package/dist/cjs/components/header/CHeaderNav.d.ts +7 -6
- package/dist/cjs/components/header/CHeaderNav.js +2 -2
- package/dist/cjs/components/header/CHeaderNav.js.map +1 -1
- package/dist/cjs/components/link/CLink.d.ts +8 -7
- package/dist/cjs/components/link/CLink.js +2 -2
- package/dist/cjs/components/link/CLink.js.map +1 -1
- package/dist/cjs/components/list-group/CListGroup.d.ts +7 -6
- package/dist/cjs/components/list-group/CListGroup.js +2 -2
- package/dist/cjs/components/list-group/CListGroup.js.map +1 -1
- package/dist/cjs/components/list-group/CListGroupItem.d.ts +7 -6
- package/dist/cjs/components/list-group/CListGroupItem.js +6 -6
- package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
- package/dist/cjs/components/loading-button/CLoadingButton.js.map +1 -1
- package/dist/cjs/components/modal/CModal.js +1 -2
- package/dist/cjs/components/modal/CModal.js.map +1 -1
- package/dist/cjs/components/modal/CModalTitle.d.ts +4 -3
- package/dist/cjs/components/modal/CModalTitle.js +2 -2
- package/dist/cjs/components/modal/CModalTitle.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
- package/dist/cjs/components/multi-select/utils.js.map +1 -1
- package/dist/cjs/components/nav/CNav.d.ts +7 -6
- package/dist/cjs/components/nav/CNav.js +2 -2
- package/dist/cjs/components/nav/CNav.js.map +1 -1
- package/dist/cjs/components/nav/CNavGroup.d.ts +10 -4
- package/dist/cjs/components/nav/CNavGroup.js +11 -16
- package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
- package/dist/cjs/components/nav/CNavGroupItems.d.ts +10 -3
- package/dist/cjs/components/nav/CNavGroupItems.js +3 -2
- package/dist/cjs/components/nav/CNavGroupItems.js.map +1 -1
- package/dist/cjs/components/nav/CNavItem.d.ts +11 -2
- package/dist/cjs/components/nav/CNavItem.js +3 -2
- package/dist/cjs/components/nav/CNavItem.js.map +1 -1
- package/dist/cjs/components/nav/CNavLink.d.ts +2 -18
- package/dist/cjs/components/nav/CNavLink.js +3 -0
- package/dist/cjs/components/nav/CNavLink.js.map +1 -1
- package/dist/cjs/components/nav/CNavTitle.d.ts +7 -2
- package/dist/cjs/components/nav/CNavTitle.js +3 -2
- package/dist/cjs/components/nav/CNavTitle.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbar.d.ts +7 -6
- package/dist/cjs/components/navbar/CNavbar.js +2 -2
- package/dist/cjs/components/navbar/CNavbar.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbarBrand.d.ts +8 -7
- package/dist/cjs/components/navbar/CNavbarBrand.js +3 -3
- package/dist/cjs/components/navbar/CNavbarBrand.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbarNav.d.ts +7 -6
- package/dist/cjs/components/navbar/CNavbarNav.js +3 -3
- package/dist/cjs/components/navbar/CNavbarNav.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvasTitle.d.ts +7 -6
- package/dist/cjs/components/offcanvas/COffcanvasTitle.js +2 -2
- package/dist/cjs/components/offcanvas/COffcanvasTitle.js.map +1 -1
- package/dist/cjs/components/pagination/CPaginationItem.d.ts +4 -3
- package/dist/cjs/components/pagination/CPaginationItem.js +4 -4
- package/dist/cjs/components/pagination/CPaginationItem.js.map +1 -1
- package/dist/cjs/components/picker/CPicker.js.map +1 -1
- package/dist/cjs/components/placeholder/CPlaceholder.d.ts +7 -6
- package/dist/cjs/components/placeholder/CPlaceholder.js +2 -2
- package/dist/cjs/components/placeholder/CPlaceholder.js.map +1 -1
- package/dist/cjs/components/popover/CPopover.js +20 -13
- package/dist/cjs/components/popover/CPopover.js.map +1 -1
- package/dist/cjs/components/progress/CProgress.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarBrand.d.ts +10 -3
- package/dist/cjs/components/sidebar/CSidebarBrand.js +3 -2
- package/dist/cjs/components/sidebar/CSidebarBrand.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarNav.d.ts +9 -2
- package/dist/cjs/components/sidebar/CSidebarNav.js +30 -12
- package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
- package/dist/cjs/components/smart-pagination/CSmartPagination.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTable.js +3 -3
- package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTableBody.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTableHead.d.ts +4 -3
- package/dist/cjs/components/smart-table/CSmartTableHead.js +3 -3
- package/dist/cjs/components/smart-table/CSmartTableHead.js.map +1 -1
- package/dist/cjs/components/smart-table/utils.js.map +1 -1
- package/dist/cjs/components/spinner/CSpinner.d.ts +7 -6
- package/dist/cjs/components/spinner/CSpinner.js +2 -2
- package/dist/cjs/components/spinner/CSpinner.js.map +1 -1
- package/dist/cjs/components/time-picker/CTimePicker.d.ts +20 -2
- package/dist/cjs/components/time-picker/CTimePicker.js +30 -22
- package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/cjs/components/time-picker/CTimePickerRollCol.js.map +1 -1
- package/dist/cjs/components/time-picker/utils.d.ts +67 -10
- package/dist/cjs/components/time-picker/utils.js +114 -27
- package/dist/cjs/components/time-picker/utils.js.map +1 -1
- package/dist/cjs/components/toast/CToast.js.map +1 -1
- package/dist/cjs/components/toast/CToastClose.d.ts +5 -4
- package/dist/cjs/components/toast/CToastClose.js +2 -2
- package/dist/cjs/components/toast/CToastClose.js.map +1 -1
- package/dist/cjs/components/tooltip/CTooltip.js +20 -13
- package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
- package/dist/cjs/components/virtual-scroller/CVirtualScroller.js.map +1 -1
- package/dist/cjs/helpers/index.d.ts +2 -0
- package/dist/cjs/helpers/polymorphicComponent.d.ts +14 -0
- package/dist/cjs/hooks/useColorModes.js.map +1 -1
- package/dist/cjs/hooks/useForkedRef.js.map +1 -1
- package/dist/cjs/hooks/usePopper.js.map +1 -1
- package/dist/cjs/utils/executeAfterTransition.js.map +1 -1
- package/dist/cjs/utils/getRTLPlacement.js.map +1 -1
- package/dist/cjs/utils/getTransitionDurationFromElement.js.map +1 -1
- package/dist/cjs/utils/isObjectInArray.js.map +1 -1
- package/dist/cjs/utils/isRTL.js.map +1 -1
- package/dist/esm/components/alert/CAlertHeading.d.ts +7 -6
- package/dist/esm/components/alert/CAlertHeading.js +2 -2
- package/dist/esm/components/alert/CAlertHeading.js.map +1 -1
- package/dist/esm/components/badge/CBadge.d.ts +7 -6
- package/dist/esm/components/badge/CBadge.js +3 -3
- package/dist/esm/components/badge/CBadge.js.map +1 -1
- package/dist/esm/components/button/CButton.d.ts +7 -6
- package/dist/esm/components/button/CButton.js +3 -3
- package/dist/esm/components/button/CButton.js.map +1 -1
- package/dist/esm/components/calendar/CCalendar.d.ts +3 -3
- package/dist/esm/components/calendar/CCalendar.js +10 -8
- package/dist/esm/components/calendar/CCalendar.js.map +1 -1
- package/dist/esm/components/calendar/utils.js.map +1 -1
- package/dist/esm/components/card/CCardHeader.d.ts +7 -6
- package/dist/esm/components/card/CCardHeader.js +2 -2
- package/dist/esm/components/card/CCardHeader.js.map +1 -1
- package/dist/esm/components/card/CCardImage.d.ts +7 -6
- package/dist/esm/components/card/CCardImage.js +2 -2
- package/dist/esm/components/card/CCardImage.js.map +1 -1
- package/dist/esm/components/card/CCardSubtitle.d.ts +7 -6
- package/dist/esm/components/card/CCardSubtitle.js +2 -2
- package/dist/esm/components/card/CCardSubtitle.js.map +1 -1
- package/dist/esm/components/card/CCardText.d.ts +7 -6
- package/dist/esm/components/card/CCardText.js +2 -2
- package/dist/esm/components/card/CCardText.js.map +1 -1
- package/dist/esm/components/card/CCardTitle.d.ts +7 -6
- package/dist/esm/components/card/CCardTitle.js +2 -2
- package/dist/esm/components/card/CCardTitle.js.map +1 -1
- package/dist/esm/components/carousel/CCarousel.js.map +1 -1
- package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
- package/dist/esm/components/collapse/CCollapse.js.map +1 -1
- package/dist/esm/components/conditional-portal/CConditionalPortal.js +1 -1
- package/dist/esm/components/conditional-portal/CConditionalPortal.js.map +1 -1
- package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +3 -3
- package/dist/esm/components/date-range-picker/CDateRangePicker.js +2 -2
- package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/utils.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdown.d.ts +6 -5
- package/dist/esm/components/dropdown/CDropdown.js +4 -4
- package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownHeader.d.ts +7 -6
- package/dist/esm/components/dropdown/CDropdownHeader.js +2 -2
- package/dist/esm/components/dropdown/CDropdownHeader.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownItem.d.ts +2 -6
- package/dist/esm/components/dropdown/CDropdownItem.js +3 -3
- package/dist/esm/components/dropdown/CDropdownItem.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownItemPlain.d.ts +7 -6
- package/dist/esm/components/dropdown/CDropdownItemPlain.js +2 -2
- package/dist/esm/components/dropdown/CDropdownItemPlain.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownMenu.d.ts +7 -6
- package/dist/esm/components/dropdown/CDropdownMenu.js +2 -2
- package/dist/esm/components/dropdown/CDropdownMenu.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownToggle.d.ts +1 -1
- package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/esm/components/dropdown/utils.js.map +1 -1
- package/dist/esm/components/element-cover/CElementCover.js.map +1 -1
- package/dist/esm/components/form/CFormCheck.js.map +1 -1
- package/dist/esm/components/form/CFormFeedback.d.ts +7 -6
- package/dist/esm/components/form/CFormFeedback.js +2 -2
- package/dist/esm/components/form/CFormFeedback.js.map +1 -1
- package/dist/esm/components/form/CFormText.d.ts +7 -6
- package/dist/esm/components/form/CFormText.js +2 -2
- package/dist/esm/components/form/CFormText.js.map +1 -1
- package/dist/esm/components/form/CInputGroupText.d.ts +7 -6
- package/dist/esm/components/form/CInputGroupText.js +2 -2
- package/dist/esm/components/form/CInputGroupText.js.map +1 -1
- package/dist/esm/components/grid/CCol.js.map +1 -1
- package/dist/esm/components/grid/CRow.js.map +1 -1
- package/dist/esm/components/header/CHeaderBrand.d.ts +7 -10
- package/dist/esm/components/header/CHeaderBrand.js +2 -2
- package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
- package/dist/esm/components/header/CHeaderNav.d.ts +7 -6
- package/dist/esm/components/header/CHeaderNav.js +2 -2
- package/dist/esm/components/header/CHeaderNav.js.map +1 -1
- package/dist/esm/components/link/CLink.d.ts +8 -7
- package/dist/esm/components/link/CLink.js +2 -2
- package/dist/esm/components/link/CLink.js.map +1 -1
- package/dist/esm/components/list-group/CListGroup.d.ts +7 -6
- package/dist/esm/components/list-group/CListGroup.js +2 -2
- package/dist/esm/components/list-group/CListGroup.js.map +1 -1
- package/dist/esm/components/list-group/CListGroupItem.d.ts +7 -6
- package/dist/esm/components/list-group/CListGroupItem.js +6 -6
- package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
- package/dist/esm/components/loading-button/CLoadingButton.js.map +1 -1
- package/dist/esm/components/modal/CModal.js +1 -2
- package/dist/esm/components/modal/CModal.js.map +1 -1
- package/dist/esm/components/modal/CModalTitle.d.ts +4 -3
- package/dist/esm/components/modal/CModalTitle.js +2 -2
- package/dist/esm/components/modal/CModalTitle.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
- package/dist/esm/components/multi-select/utils.js.map +1 -1
- package/dist/esm/components/nav/CNav.d.ts +7 -6
- package/dist/esm/components/nav/CNav.js +2 -2
- package/dist/esm/components/nav/CNav.js.map +1 -1
- package/dist/esm/components/nav/CNavGroup.d.ts +10 -4
- package/dist/esm/components/nav/CNavGroup.js +11 -16
- package/dist/esm/components/nav/CNavGroup.js.map +1 -1
- package/dist/esm/components/nav/CNavGroupItems.d.ts +10 -3
- package/dist/esm/components/nav/CNavGroupItems.js +3 -2
- package/dist/esm/components/nav/CNavGroupItems.js.map +1 -1
- package/dist/esm/components/nav/CNavItem.d.ts +11 -2
- package/dist/esm/components/nav/CNavItem.js +3 -2
- package/dist/esm/components/nav/CNavItem.js.map +1 -1
- package/dist/esm/components/nav/CNavLink.d.ts +2 -18
- package/dist/esm/components/nav/CNavLink.js +3 -0
- package/dist/esm/components/nav/CNavLink.js.map +1 -1
- package/dist/esm/components/nav/CNavTitle.d.ts +7 -2
- package/dist/esm/components/nav/CNavTitle.js +3 -2
- package/dist/esm/components/nav/CNavTitle.js.map +1 -1
- package/dist/esm/components/navbar/CNavbar.d.ts +7 -6
- package/dist/esm/components/navbar/CNavbar.js +2 -2
- package/dist/esm/components/navbar/CNavbar.js.map +1 -1
- package/dist/esm/components/navbar/CNavbarBrand.d.ts +8 -7
- package/dist/esm/components/navbar/CNavbarBrand.js +3 -3
- package/dist/esm/components/navbar/CNavbarBrand.js.map +1 -1
- package/dist/esm/components/navbar/CNavbarNav.d.ts +7 -6
- package/dist/esm/components/navbar/CNavbarNav.js +3 -3
- package/dist/esm/components/navbar/CNavbarNav.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvasTitle.d.ts +7 -6
- package/dist/esm/components/offcanvas/COffcanvasTitle.js +2 -2
- package/dist/esm/components/offcanvas/COffcanvasTitle.js.map +1 -1
- package/dist/esm/components/pagination/CPaginationItem.d.ts +4 -3
- package/dist/esm/components/pagination/CPaginationItem.js +4 -4
- package/dist/esm/components/pagination/CPaginationItem.js.map +1 -1
- package/dist/esm/components/picker/CPicker.js.map +1 -1
- package/dist/esm/components/placeholder/CPlaceholder.d.ts +7 -6
- package/dist/esm/components/placeholder/CPlaceholder.js +2 -2
- package/dist/esm/components/placeholder/CPlaceholder.js.map +1 -1
- package/dist/esm/components/popover/CPopover.js +20 -13
- package/dist/esm/components/popover/CPopover.js.map +1 -1
- package/dist/esm/components/progress/CProgress.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarBrand.d.ts +10 -3
- package/dist/esm/components/sidebar/CSidebarBrand.js +3 -2
- package/dist/esm/components/sidebar/CSidebarBrand.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarNav.d.ts +9 -2
- package/dist/esm/components/sidebar/CSidebarNav.js +30 -12
- package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
- package/dist/esm/components/smart-pagination/CSmartPagination.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTable.js +3 -3
- package/dist/esm/components/smart-table/CSmartTable.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTableBody.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTableHead.d.ts +4 -3
- package/dist/esm/components/smart-table/CSmartTableHead.js +3 -3
- package/dist/esm/components/smart-table/CSmartTableHead.js.map +1 -1
- package/dist/esm/components/smart-table/utils.js.map +1 -1
- package/dist/esm/components/spinner/CSpinner.d.ts +7 -6
- package/dist/esm/components/spinner/CSpinner.js +2 -2
- package/dist/esm/components/spinner/CSpinner.js.map +1 -1
- package/dist/esm/components/time-picker/CTimePicker.d.ts +20 -2
- package/dist/esm/components/time-picker/CTimePicker.js +31 -23
- package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/esm/components/time-picker/CTimePickerRollCol.js.map +1 -1
- package/dist/esm/components/time-picker/utils.d.ts +67 -10
- package/dist/esm/components/time-picker/utils.js +114 -28
- package/dist/esm/components/time-picker/utils.js.map +1 -1
- package/dist/esm/components/toast/CToast.js.map +1 -1
- package/dist/esm/components/toast/CToastClose.d.ts +5 -4
- package/dist/esm/components/toast/CToastClose.js +2 -2
- package/dist/esm/components/toast/CToastClose.js.map +1 -1
- package/dist/esm/components/tooltip/CTooltip.js +20 -13
- package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
- package/dist/esm/components/virtual-scroller/CVirtualScroller.js.map +1 -1
- package/dist/esm/helpers/index.d.ts +2 -0
- package/dist/esm/helpers/polymorphicComponent.d.ts +14 -0
- package/dist/esm/hooks/useColorModes.js.map +1 -1
- package/dist/esm/hooks/useForkedRef.js.map +1 -1
- package/dist/esm/hooks/usePopper.js.map +1 -1
- package/dist/esm/utils/executeAfterTransition.js.map +1 -1
- package/dist/esm/utils/getRTLPlacement.js.map +1 -1
- package/dist/esm/utils/getTransitionDurationFromElement.js.map +1 -1
- package/dist/esm/utils/isObjectInArray.js.map +1 -1
- package/dist/esm/utils/isRTL.js.map +1 -1
- package/package.json +13 -13
- package/src/components/alert/CAlertHeading.tsx +17 -14
- package/src/components/alert/__tests__/CAlertHeading.spec.tsx +1 -1
- package/src/components/badge/CBadge.tsx +12 -8
- package/src/components/badge/__tests__/CBadge.spec.tsx +1 -1
- package/src/components/button/CButton.tsx +12 -18
- package/src/components/button/__tests__/CButton.spec.tsx +2 -2
- package/src/components/calendar/CCalendar.tsx +19 -13
- package/src/components/card/CCardHeader.tsx +17 -14
- package/src/components/card/CCardImage.tsx +9 -7
- package/src/components/card/CCardSubtitle.tsx +18 -14
- package/src/components/card/CCardText.tsx +17 -14
- package/src/components/card/CCardTitle.tsx +17 -14
- 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__/CCardImage.spec.tsx +1 -3
- 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/conditional-portal/CConditionalPortal.tsx +1 -1
- package/src/components/date-range-picker/CDateRangePicker.tsx +12 -12
- package/src/components/dropdown/CDropdown.tsx +12 -8
- package/src/components/dropdown/CDropdownHeader.tsx +17 -14
- package/src/components/dropdown/CDropdownItem.tsx +14 -20
- package/src/components/dropdown/CDropdownItemPlain.tsx +12 -7
- package/src/components/dropdown/CDropdownMenu.tsx +43 -41
- package/src/components/dropdown/CDropdownToggle.tsx +1 -1
- package/src/components/dropdown/__tests__/CDropdown.spec.tsx +1 -1
- 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/types.ts +1 -1
- package/src/components/form/CFormFeedback.tsx +28 -27
- package/src/components/form/CFormText.tsx +17 -14
- package/src/components/form/CInputGroupText.tsx +17 -14
- package/src/components/form/__tests__/CFormText.spec.tsx +1 -1
- package/src/components/form/__tests__/CInputGroupText.spec.tsx +1 -1
- package/src/components/header/CHeaderBrand.tsx +11 -13
- package/src/components/header/CHeaderBrand.tsx~HEAD +17 -14
- package/src/components/header/CHeaderNav.tsx +22 -19
- package/src/components/header/__tests__/CHeaderBrand.spec.tsx +1 -1
- package/src/components/header/__tests__/CHeaderNav.spec.tsx +1 -1
- package/src/components/link/CLink.tsx +33 -29
- package/src/components/link/__tests__/CLink.spec.tsx +2 -2
- package/src/components/list-group/CListGroup.tsx +27 -24
- package/src/components/list-group/CListGroupItem.tsx +38 -37
- package/src/components/list-group/__tests__/CListGroup.spec.tsx +1 -1
- package/src/components/list-group/__tests__/CListGroupItem.spec.tsx +1 -7
- package/src/components/loading-button/CLoadingButton.tsx +1 -0
- package/src/components/modal/CModal.tsx +1 -4
- package/src/components/modal/CModalTitle.tsx +14 -11
- package/src/components/modal/__tests__/CModalTitle.spec.tsx +1 -1
- package/src/components/nav/CNav.tsx +29 -26
- package/src/components/nav/CNavGroup.tsx +111 -100
- package/src/components/nav/CNavGroupItems.tsx +21 -11
- package/src/components/nav/CNavItem.tsx +29 -16
- package/src/components/nav/CNavLink.tsx +7 -19
- package/src/components/nav/CNavTitle.tsx +18 -10
- package/src/components/nav/__tests__/CNav.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 +11 -7
- package/src/components/navbar/CNavbarBrand.tsx +19 -16
- package/src/components/navbar/CNavbarNav.tsx +22 -19
- package/src/components/navbar/__tests__/CNavbar.spec.tsx +1 -1
- package/src/components/navbar/__tests__/CNavbarBrand.spec.tsx +1 -1
- package/src/components/navbar/__tests__/CNavbarNav.spec.tsx +1 -1
- package/src/components/offcanvas/COffcanvasTitle.tsx +17 -14
- package/src/components/offcanvas/__tests__/COffcanvasTitle.spec.tsx +1 -1
- package/src/components/pagination/CPaginationItem.tsx +33 -30
- package/src/components/pagination/__tests__/CPaginationItem.spec.tsx +1 -1
- package/src/components/placeholder/CPlaceholder.tsx +40 -41
- package/src/components/popover/CPopover.tsx +24 -13
- package/src/components/sidebar/CSidebarBrand.tsx +21 -11
- package/src/components/sidebar/CSidebarNav.tsx +68 -24
- package/src/components/smart-table/CSmartTable.tsx +1 -1
- package/src/components/smart-table/CSmartTableHead.tsx +179 -177
- package/src/components/spinner/CSpinner.tsx +11 -7
- package/src/components/spinner/__tests__/CSpinner.spec.tsx +1 -1
- package/src/components/time-picker/CTimePicker.tsx +73 -30
- package/src/components/time-picker/utils.ts +128 -68
- package/src/components/toast/CToastClose.tsx +8 -7
- package/src/components/tooltip/CTooltip.tsx +24 -12
- package/src/helpers/index.ts +3 -0
- package/src/helpers/polymorphicComponent.ts +21 -0
- package/src/hooks/useDebouncedCallback.ts +1 -1
- package/src/components/list-group/CListGroupItem.tsx~HEAD +0 -81
|
@@ -1,134 +1,194 @@
|
|
|
1
1
|
import type { LocalizedTimePartials } from './types'
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Converts a 12-hour time format to a 24-hour time format.
|
|
5
|
+
* @param {('am' | 'pm')} abbr The abbreviation indicating AM or PM.
|
|
6
|
+
* @param {number} hour The hour to be converted.
|
|
7
|
+
* @returns {number} The hour in 24-hour format.
|
|
8
|
+
*/
|
|
3
9
|
export const convert12hTo24h = (abbr: 'am' | 'pm', hour: number) => {
|
|
4
10
|
if (abbr === 'am' && hour === 12) {
|
|
5
11
|
return 0
|
|
6
12
|
}
|
|
13
|
+
|
|
7
14
|
if (abbr === 'am') {
|
|
8
15
|
return hour
|
|
9
16
|
}
|
|
17
|
+
|
|
10
18
|
if (abbr === 'pm' && hour === 12) {
|
|
11
19
|
return 12
|
|
12
20
|
}
|
|
21
|
+
|
|
13
22
|
return hour + 12
|
|
14
23
|
}
|
|
15
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Converts a 24-hour time format to a 12-hour format.
|
|
27
|
+
* @param {number} hour The hour to be converted.
|
|
28
|
+
* @returns {number} The hour in 12-hour format.
|
|
29
|
+
*/
|
|
16
30
|
export const convert24hTo12h = (hour: number) => hour % 12 || 12
|
|
17
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Converts a time input into a Date object.
|
|
34
|
+
* @param {Date | string | null | undefined} time The time input to be converted.
|
|
35
|
+
* @returns {Date | null} The converted Date object or null if the input is falsy.
|
|
36
|
+
*/
|
|
18
37
|
export const convertTimeToDate = (time: Date | string | null | undefined) =>
|
|
19
|
-
time
|
|
20
|
-
? time instanceof Date
|
|
21
|
-
? time
|
|
22
|
-
: new Date(`1970-01-01 ${time}`)
|
|
23
|
-
: null
|
|
38
|
+
time ? (time instanceof Date ? time : new Date(`1970-01-01 ${time}`)) : null
|
|
24
39
|
|
|
40
|
+
/**
|
|
41
|
+
* Retrieves the AM/PM part of the specified date according to the given locale.
|
|
42
|
+
* @param {Date} date The date from which to extract the AM/PM part.
|
|
43
|
+
* @param {string} locale The locale to use for formatting.
|
|
44
|
+
* @returns {string} 'am' or 'pm' based on the given date and locale.
|
|
45
|
+
*/
|
|
25
46
|
export const getAmPm = (date: Date, locale: string) => {
|
|
26
47
|
if (date.toLocaleTimeString(locale).includes('AM')) {
|
|
27
48
|
return 'am'
|
|
28
49
|
}
|
|
50
|
+
|
|
29
51
|
if (date.toLocaleTimeString(locale).includes('PM')) {
|
|
30
52
|
return 'pm'
|
|
31
53
|
}
|
|
54
|
+
|
|
32
55
|
return date.getHours() >= 12 ? 'pm' : 'am'
|
|
33
56
|
}
|
|
34
57
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Formats an array of time values (hours, minutes, or seconds) according to the specified locale and partial.
|
|
60
|
+
* @param {number[]} values An array of time values to format.
|
|
61
|
+
* @param {string} locale The locale to use for formatting.
|
|
62
|
+
* @param {('hour' | 'minute' | 'second')} partial The type of time value to format.
|
|
63
|
+
* @returns {Array} An array of objects with the original value and its localized label.
|
|
64
|
+
*/
|
|
65
|
+
export const formatTimePartials = (
|
|
66
|
+
values: number[],
|
|
67
|
+
locale: string,
|
|
68
|
+
partial: 'hour' | 'minute' | 'second',
|
|
69
|
+
) => {
|
|
70
|
+
const date = new Date()
|
|
71
|
+
|
|
72
|
+
const formatter = new Intl.DateTimeFormat(locale, {
|
|
73
|
+
hour: 'numeric',
|
|
74
|
+
minute: '2-digit',
|
|
75
|
+
second: '2-digit',
|
|
44
76
|
})
|
|
45
77
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
})
|
|
58
|
-
.split(/[^A-Za-z0-9\u06F0-\u06F90-9]/)[0],
|
|
78
|
+
return values.map((value) => {
|
|
79
|
+
if (partial === 'hour') {
|
|
80
|
+
date.setHours(value)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (partial === 'minute') {
|
|
84
|
+
date.setMinutes(value)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (partial === 'second') {
|
|
88
|
+
date.setSeconds(value)
|
|
59
89
|
}
|
|
60
|
-
})
|
|
61
90
|
|
|
62
|
-
// TODO: clean-up
|
|
63
|
-
export const getListOfSeconds = (locale: string, valueAsString = false) =>
|
|
64
|
-
Array.from({ length: 60 }, (_, i) => {
|
|
65
|
-
const d = new Date()
|
|
66
|
-
d.setSeconds(i)
|
|
67
91
|
return {
|
|
68
|
-
value
|
|
69
|
-
label:
|
|
70
|
-
.toLocaleTimeString(locale, {
|
|
71
|
-
minute: '2-digit',
|
|
72
|
-
second: '2-digit',
|
|
73
|
-
})
|
|
74
|
-
.split(/[^A-Za-z0-9\u06F0-\u06F90-9]/)[0],
|
|
92
|
+
value,
|
|
93
|
+
label: formatter.formatToParts(date).find((part) => part.type === partial)?.value || '',
|
|
75
94
|
}
|
|
76
95
|
})
|
|
96
|
+
}
|
|
77
97
|
|
|
98
|
+
/**
|
|
99
|
+
* Generates localized time partials (hours, minutes, seconds) based on the given parameters.
|
|
100
|
+
* @param {string} locale The locale to use for generating localized time partials.
|
|
101
|
+
* @param {'auto' | boolean} ampm Determines whether to use 12-hour or 24-hour format. 'auto' decides based on locale.
|
|
102
|
+
* @param {boolean | number[] | Function} hours An array of hours, a boolean, or a function to generate hours.
|
|
103
|
+
* @param {boolean | number[] | Function} minutes An array of minutes, a boolean, or a function to generate minutes.
|
|
104
|
+
* @param {boolean | number[] | Function} seconds An array of seconds, a boolean, or a function to generate seconds.
|
|
105
|
+
* @returns {LocalizedTimePartials} An object containing arrays of localized time partials and a boolean indicating if 12-hour format is used.
|
|
106
|
+
*/
|
|
78
107
|
export const getLocalizedTimePartials = (
|
|
79
108
|
locale: string,
|
|
80
109
|
ampm: 'auto' | boolean = 'auto',
|
|
110
|
+
hours: boolean | number[] | ((hour: number) => number[]) = [],
|
|
111
|
+
minutes: boolean | number[] | ((minute: number) => number[]) = [],
|
|
112
|
+
seconds: boolean | number[] | ((second: number) => number[]) = [],
|
|
81
113
|
): LocalizedTimePartials => {
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
const listOfHours =
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
114
|
+
const hour12 = (ampm === 'auto' && isAmPm(locale)) || ampm === true
|
|
115
|
+
|
|
116
|
+
const listOfHours =
|
|
117
|
+
Array.isArray(hours) && hours.length > 0
|
|
118
|
+
? hours
|
|
119
|
+
: (typeof hours === 'function'
|
|
120
|
+
? Array.from({ length: hour12 ? 12 : 24 }, (_, i) => (hour12 ? i + 1 : i)).filter((hour) =>
|
|
121
|
+
hours(hour),
|
|
122
|
+
)
|
|
123
|
+
: Array.from({ length: hour12 ? 12 : 24 }, (_, i) => (hour12 ? i + 1 : i)))
|
|
124
|
+
|
|
125
|
+
const listOfMinutes =
|
|
126
|
+
Array.isArray(minutes) && minutes.length > 0
|
|
127
|
+
? minutes
|
|
128
|
+
: (typeof minutes === 'function'
|
|
129
|
+
? Array.from({ length: 60 }, (_, i) => i).filter((minute) => minutes(minute))
|
|
130
|
+
: Array.from({ length: 60 }, (_, i) => i))
|
|
131
|
+
|
|
132
|
+
const listOfSeconds =
|
|
133
|
+
Array.isArray(seconds) && seconds.length > 0
|
|
134
|
+
? seconds
|
|
135
|
+
: (typeof seconds === 'function'
|
|
136
|
+
? Array.from({ length: 60 }, (_, i) => i).filter((second) => seconds(second))
|
|
137
|
+
: Array.from({ length: 60 }, (_, i) => i))
|
|
105
138
|
|
|
106
139
|
return {
|
|
107
|
-
listOfHours,
|
|
108
|
-
listOfMinutes:
|
|
109
|
-
listOfSeconds:
|
|
140
|
+
listOfHours: formatTimePartials(listOfHours, locale, 'hour'),
|
|
141
|
+
listOfMinutes: formatTimePartials(listOfMinutes, locale, 'minute'),
|
|
142
|
+
listOfSeconds: formatTimePartials(listOfSeconds, locale, 'second'),
|
|
110
143
|
hour12,
|
|
111
144
|
}
|
|
112
145
|
}
|
|
113
146
|
|
|
147
|
+
/**
|
|
148
|
+
* Gets the selected hour from a date object in either 12-hour or 24-hour format based on locale and preference.
|
|
149
|
+
* @param {Date | null} date The date object from which to extract the hour. If null, the function returns an empty string.
|
|
150
|
+
* @param {string} locale The locale to use when determining whether to return in 12-hour or 24-hour format.
|
|
151
|
+
* @param {'auto' | boolean} ampm Determines the format of the hour returned. 'auto' decides based on locale, true forces 12-hour format, and false forces 24-hour format.
|
|
152
|
+
* @returns {string | number} The hour in the specified format or an empty string if the date is null.
|
|
153
|
+
*/
|
|
114
154
|
export const getSelectedHour = (
|
|
115
155
|
date: Date | null,
|
|
116
156
|
locale: string,
|
|
117
157
|
ampm: 'auto' | boolean = 'auto',
|
|
118
158
|
) =>
|
|
119
159
|
date
|
|
120
|
-
? (ampm === 'auto' && isAmPm(locale)) || ampm === true
|
|
160
|
+
? ((ampm === 'auto' && isAmPm(locale)) || ampm === true
|
|
121
161
|
? convert24hTo12h(date.getHours())
|
|
122
|
-
: date.getHours()
|
|
162
|
+
: date.getHours())
|
|
123
163
|
: ''
|
|
124
164
|
|
|
165
|
+
/**
|
|
166
|
+
* Gets the selected minutes from a date object.
|
|
167
|
+
* @param {Date | null} date The date object from which to extract the minutes. If null, the function returns an empty string.
|
|
168
|
+
* @returns {string | number} The minutes from the date or an empty string if the date is null.
|
|
169
|
+
*/
|
|
125
170
|
export const getSelectedMinutes = (date: Date | null) => (date ? date.getMinutes() : '')
|
|
126
171
|
|
|
172
|
+
/**
|
|
173
|
+
* Gets the selected seconds from a date object.
|
|
174
|
+
* @param {Date | null} date The date object from which to extract the seconds. If null, the function returns an empty string.
|
|
175
|
+
* @returns {string | number} The seconds from the date or an empty string if the date is null.
|
|
176
|
+
*/
|
|
127
177
|
export const getSelectedSeconds = (date: Date | null) => (date ? date.getSeconds() : '')
|
|
128
178
|
|
|
179
|
+
/**
|
|
180
|
+
* Determines if the given locale uses AM/PM format.
|
|
181
|
+
* @param {string} locale The locale to check.
|
|
182
|
+
* @returns {boolean} True if the locale uses AM/PM format, otherwise false.
|
|
183
|
+
*/
|
|
129
184
|
export const isAmPm = (locale: string) =>
|
|
130
185
|
['am', 'AM', 'pm', 'PM'].some((el) => new Date().toLocaleString(locale).includes(el))
|
|
131
186
|
|
|
187
|
+
/**
|
|
188
|
+
* Validates if the given string represents a valid time.
|
|
189
|
+
* @param {string} time The time string to validate.
|
|
190
|
+
* @returns {boolean} True if the string is a valid time, otherwise false.
|
|
191
|
+
*/
|
|
132
192
|
export const isValidTime = (time: string) => {
|
|
133
193
|
const d = new Date(`1970-01-01 ${time}`)
|
|
134
194
|
return d instanceof Date && d.getTime()
|
|
@@ -6,17 +6,19 @@ import { CCloseButton, CCloseButtonProps } from '../close-button/CCloseButton'
|
|
|
6
6
|
|
|
7
7
|
import { CToastContext } from './CToast'
|
|
8
8
|
|
|
9
|
+
import { PolymorphicRefForwardingComponent } from '../../helpers'
|
|
10
|
+
|
|
9
11
|
type CombineButtonProps = CCloseButtonProps & CButtonProps
|
|
10
12
|
|
|
11
|
-
export interface CToastCloseProps extends CombineButtonProps {
|
|
13
|
+
export interface CToastCloseProps extends Omit<CombineButtonProps, 'as'> {
|
|
12
14
|
/**
|
|
13
15
|
* Component used for the root node. Either a string to use a HTML element or a component.
|
|
14
16
|
*/
|
|
15
|
-
|
|
17
|
+
as?: string | ElementType
|
|
16
18
|
}
|
|
17
19
|
|
|
18
|
-
export const CToastClose
|
|
19
|
-
({ children,
|
|
20
|
+
export const CToastClose: PolymorphicRefForwardingComponent<'button', CToastCloseProps> =
|
|
21
|
+
forwardRef<HTMLButtonElement, CToastCloseProps>(({ children, as: Component, ...rest }, ref) => {
|
|
20
22
|
const { setVisible } = useContext(CToastContext)
|
|
21
23
|
return Component ? (
|
|
22
24
|
<Component onClick={() => setVisible(false)} {...rest} ref={ref}>
|
|
@@ -25,12 +27,11 @@ export const CToastClose = forwardRef<HTMLButtonElement, CToastCloseProps>(
|
|
|
25
27
|
) : (
|
|
26
28
|
<CCloseButton onClick={() => setVisible(false)} {...rest} ref={ref} />
|
|
27
29
|
)
|
|
28
|
-
}
|
|
29
|
-
)
|
|
30
|
+
})
|
|
30
31
|
|
|
31
32
|
CToastClose.propTypes = {
|
|
32
33
|
...CCloseButton.propTypes,
|
|
33
|
-
|
|
34
|
+
as: PropTypes.elementType,
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
CToastClose.displayName = 'CToastClose'
|
|
@@ -90,9 +90,10 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
|
|
|
90
90
|
},
|
|
91
91
|
ref,
|
|
92
92
|
) => {
|
|
93
|
-
const tooltipRef = useRef(null)
|
|
93
|
+
const tooltipRef = useRef<HTMLDivElement>(null)
|
|
94
94
|
const togglerRef = useRef(null)
|
|
95
95
|
const forkedRef = useForkedRef(ref, tooltipRef)
|
|
96
|
+
const uID = useRef(`tooltip${Math.floor(Math.random() * 1_000_000)}`)
|
|
96
97
|
|
|
97
98
|
const { initPopper, destroyPopper } = usePopper()
|
|
98
99
|
const [_visible, setVisible] = useState(visible)
|
|
@@ -127,16 +128,6 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
|
|
|
127
128
|
setVisible(visible)
|
|
128
129
|
}, [visible])
|
|
129
130
|
|
|
130
|
-
useEffect(() => {
|
|
131
|
-
if (_visible && togglerRef.current && tooltipRef.current) {
|
|
132
|
-
initPopper(togglerRef.current, tooltipRef.current, popperConfig)
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
return () => {
|
|
136
|
-
destroyPopper()
|
|
137
|
-
}
|
|
138
|
-
}, [_visible])
|
|
139
|
-
|
|
140
131
|
const toggleVisible = (visible: boolean) => {
|
|
141
132
|
if (visible) {
|
|
142
133
|
setTimeout(() => setVisible(true), _delay.show)
|
|
@@ -149,6 +140,9 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
|
|
|
149
140
|
return (
|
|
150
141
|
<>
|
|
151
142
|
{React.cloneElement(children as React.ReactElement<any>, {
|
|
143
|
+
...(_visible && {
|
|
144
|
+
'aria-describedby': uID.current,
|
|
145
|
+
}),
|
|
152
146
|
ref: togglerRef,
|
|
153
147
|
...((trigger === 'click' || trigger.includes('click')) && {
|
|
154
148
|
onClick: () => toggleVisible(!_visible),
|
|
@@ -167,8 +161,22 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
|
|
|
167
161
|
in={_visible}
|
|
168
162
|
mountOnEnter
|
|
169
163
|
nodeRef={tooltipRef}
|
|
170
|
-
onEnter={
|
|
164
|
+
onEnter={() => {
|
|
165
|
+
if (togglerRef.current && tooltipRef.current) {
|
|
166
|
+
initPopper(togglerRef.current, tooltipRef.current, popperConfig)
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
onShow
|
|
170
|
+
}}
|
|
171
|
+
onEntering={() => {
|
|
172
|
+
if (togglerRef.current && tooltipRef.current) {
|
|
173
|
+
tooltipRef.current.style.display = 'initial'
|
|
174
|
+
}
|
|
175
|
+
}}
|
|
171
176
|
onExit={onHide}
|
|
177
|
+
onExited={() => {
|
|
178
|
+
destroyPopper()
|
|
179
|
+
}}
|
|
172
180
|
timeout={{
|
|
173
181
|
enter: 0,
|
|
174
182
|
exit: tooltipRef.current
|
|
@@ -188,8 +196,12 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
|
|
|
188
196
|
},
|
|
189
197
|
className,
|
|
190
198
|
)}
|
|
199
|
+
id={uID.current}
|
|
191
200
|
ref={forkedRef}
|
|
192
201
|
role="tooltip"
|
|
202
|
+
style={{
|
|
203
|
+
display: 'none',
|
|
204
|
+
}}
|
|
193
205
|
{...rest}
|
|
194
206
|
>
|
|
195
207
|
<div className="tooltip-arrow"></div>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, ElementType, PropsWithChildren, ReactNode } from 'react'
|
|
2
|
+
|
|
3
|
+
export type Omit<T, U> = Pick<T, Exclude<keyof T, keyof U>>
|
|
4
|
+
|
|
5
|
+
export type ReplaceProps<Inner extends ElementType, P> = Omit<ComponentPropsWithRef<Inner>, P> & P
|
|
6
|
+
|
|
7
|
+
export interface AsProp<As extends ElementType = ElementType> {
|
|
8
|
+
as?: As
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface Props<As extends ElementType = ElementType> extends AsProp<As> {}
|
|
12
|
+
|
|
13
|
+
export interface PolymorphicRefForwardingComponent<TInitial extends ElementType, P = unknown> {
|
|
14
|
+
<As extends ElementType = TInitial>(
|
|
15
|
+
props: PropsWithChildren<ReplaceProps<As, Props<As> & P>>,
|
|
16
|
+
context?: any, // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
17
|
+
): ReactNode | null
|
|
18
|
+
propTypes?: any // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
19
|
+
defaultProps?: Partial<P>
|
|
20
|
+
displayName?: string
|
|
21
|
+
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import React, { ElementType, AnchorHTMLAttributes, forwardRef } from 'react'
|
|
2
|
-
import PropTypes from 'prop-types'
|
|
3
|
-
import classNames from 'classnames'
|
|
4
|
-
|
|
5
|
-
import { CLink } from '../link/CLink'
|
|
6
|
-
|
|
7
|
-
import { colorPropType } from '../../props'
|
|
8
|
-
import type { Colors } from '../../types'
|
|
9
|
-
|
|
10
|
-
export interface CListGroupItemProps
|
|
11
|
-
extends AnchorHTMLAttributes<HTMLLIElement | HTMLAnchorElement | HTMLButtonElement> {
|
|
12
|
-
/**
|
|
13
|
-
* Toggle the active state for the component.
|
|
14
|
-
*/
|
|
15
|
-
active?: boolean
|
|
16
|
-
/**
|
|
17
|
-
* A string of all className you want applied to the component.
|
|
18
|
-
*/
|
|
19
|
-
className?: string
|
|
20
|
-
/**
|
|
21
|
-
* Sets the color context of the component to one of CoreUI’s themed colors.
|
|
22
|
-
*
|
|
23
|
-
* @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string
|
|
24
|
-
*/
|
|
25
|
-
color?: Colors
|
|
26
|
-
/**
|
|
27
|
-
* Toggle the disabled state for the component.
|
|
28
|
-
*/
|
|
29
|
-
disabled?: boolean
|
|
30
|
-
/**
|
|
31
|
-
* Component used for the root node. Either a string to use a HTML element or a component.
|
|
32
|
-
*/
|
|
33
|
-
component?: string | ElementType
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export const CListGroupItem = forwardRef<
|
|
37
|
-
HTMLLIElement | HTMLAnchorElement | HTMLButtonElement,
|
|
38
|
-
CListGroupItemProps
|
|
39
|
-
>(({ children, active, className, disabled, color, component = 'li', ...rest }, ref) => {
|
|
40
|
-
const _className = classNames(
|
|
41
|
-
'list-group-item',
|
|
42
|
-
{
|
|
43
|
-
[`list-group-item-${color}`]: color,
|
|
44
|
-
'list-group-item-action': component === 'a' || component === 'button',
|
|
45
|
-
active,
|
|
46
|
-
disabled,
|
|
47
|
-
},
|
|
48
|
-
className,
|
|
49
|
-
)
|
|
50
|
-
|
|
51
|
-
const Component = component === 'a' || component === 'button' ? CLink : component
|
|
52
|
-
|
|
53
|
-
rest = {
|
|
54
|
-
...((component === 'a' || component === 'button') && {
|
|
55
|
-
active,
|
|
56
|
-
disabled,
|
|
57
|
-
component,
|
|
58
|
-
ref: ref,
|
|
59
|
-
}),
|
|
60
|
-
...(active && { 'aria-current': true }),
|
|
61
|
-
...(disabled && { 'aria-disabled': true }),
|
|
62
|
-
...rest,
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return (
|
|
66
|
-
<Component className={_className} {...rest}>
|
|
67
|
-
{children}
|
|
68
|
-
</Component>
|
|
69
|
-
)
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
CListGroupItem.propTypes = {
|
|
73
|
-
active: PropTypes.bool,
|
|
74
|
-
children: PropTypes.node,
|
|
75
|
-
className: PropTypes.string,
|
|
76
|
-
color: colorPropType,
|
|
77
|
-
component: PropTypes.elementType,
|
|
78
|
-
disabled: PropTypes.bool,
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
CListGroupItem.displayName = 'CListGroupItem'
|