@coreui/react-pro 5.1.0 → 5.3.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 +2 -1
- package/dist/cjs/components/accordion/CAccordion.js +1 -1
- package/dist/cjs/components/accordion/CAccordionBody.js +1 -1
- package/dist/cjs/components/accordion/CAccordionButton.js +1 -1
- package/dist/cjs/components/accordion/CAccordionHeader.js +1 -1
- package/dist/cjs/components/accordion/CAccordionItem.js +1 -1
- package/dist/cjs/components/alert/CAlert.js +1 -1
- package/dist/cjs/components/alert/CAlertHeading.js +1 -1
- package/dist/cjs/components/alert/CAlertLink.js +1 -1
- package/dist/cjs/components/avatar/CAvatar.js +1 -1
- package/dist/cjs/components/backdrop/CBackdrop.js +1 -1
- package/dist/cjs/components/badge/CBadge.js +1 -1
- package/dist/cjs/components/breadcrumb/CBreadcrumb.js +1 -1
- package/dist/cjs/components/breadcrumb/CBreadcrumbItem.js +1 -1
- package/dist/cjs/components/button/CButton.js +6 -2
- package/dist/cjs/components/button/CButton.js.map +1 -1
- package/dist/cjs/components/button-group/CButtonGroup.js +1 -1
- package/dist/cjs/components/button-group/CButtonToolbar.js +1 -1
- package/dist/cjs/components/calendar/CCalendar.js +3 -3
- package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
- package/dist/cjs/components/calendar/utils.d.ts +5 -4
- package/dist/cjs/components/calendar/utils.js +15 -6
- package/dist/cjs/components/calendar/utils.js.map +1 -1
- package/dist/cjs/components/callout/CCallout.js +1 -1
- package/dist/cjs/components/card/CCard.js +1 -1
- package/dist/cjs/components/card/CCardBody.js +1 -1
- package/dist/cjs/components/card/CCardFooter.js +1 -1
- package/dist/cjs/components/card/CCardGroup.js +1 -1
- package/dist/cjs/components/card/CCardHeader.js +1 -1
- package/dist/cjs/components/card/CCardImage.js +1 -1
- package/dist/cjs/components/card/CCardImageOverlay.js +1 -1
- package/dist/cjs/components/card/CCardLink.js +1 -1
- package/dist/cjs/components/card/CCardSubtitle.js +1 -1
- package/dist/cjs/components/card/CCardText.js +1 -1
- package/dist/cjs/components/card/CCardTitle.js +1 -1
- package/dist/cjs/components/carousel/CCarousel.js +1 -1
- package/dist/cjs/components/carousel/CCarouselCaption.js +1 -1
- package/dist/cjs/components/carousel/CCarouselItem.js +1 -1
- package/dist/cjs/components/close-button/CCloseButton.js +1 -1
- package/dist/cjs/components/collapse/CCollapse.js +1 -1
- package/dist/cjs/components/date-picker/CDatePicker.d.ts +7 -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.d.ts +16 -4
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js +10 -8
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/utils.d.ts +1 -0
- package/dist/cjs/components/date-range-picker/utils.js +10 -0
- package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdown.js +3 -2
- package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownDivider.js +1 -1
- package/dist/cjs/components/dropdown/CDropdownHeader.js +1 -1
- package/dist/cjs/components/dropdown/CDropdownItem.js +1 -1
- package/dist/cjs/components/dropdown/CDropdownItemPlain.js +1 -1
- package/dist/cjs/components/dropdown/CDropdownMenu.js +1 -1
- package/dist/cjs/components/dropdown/CDropdownToggle.js +1 -1
- package/dist/cjs/components/dropdown/utils.d.ts +0 -1
- package/dist/cjs/components/dropdown/utils.js +0 -13
- package/dist/cjs/components/dropdown/utils.js.map +1 -1
- package/dist/cjs/components/element-cover/CElementCover.js +1 -1
- package/dist/cjs/components/footer/CFooter.js +1 -1
- package/dist/cjs/components/form/CForm.js +1 -1
- package/dist/cjs/components/form/CFormCheck.js +1 -1
- package/dist/cjs/components/form/CFormControlValidation.js +1 -1
- package/dist/cjs/components/form/CFormControlWrapper.js +1 -1
- package/dist/cjs/components/form/CFormFeedback.js +1 -1
- package/dist/cjs/components/form/CFormFloating.js +1 -1
- package/dist/cjs/components/form/CFormInput.js +1 -1
- package/dist/cjs/components/form/CFormLabel.js +1 -1
- package/dist/cjs/components/form/CFormRange.js +1 -1
- package/dist/cjs/components/form/CFormSelect.js +1 -1
- package/dist/cjs/components/form/CFormSwitch.js +1 -1
- package/dist/cjs/components/form/CFormText.js +1 -1
- package/dist/cjs/components/form/CFormTextarea.js +1 -1
- package/dist/cjs/components/form/CInputGroup.js +1 -1
- package/dist/cjs/components/form/CInputGroupText.js +1 -1
- package/dist/cjs/components/grid/CCol.js +1 -1
- package/dist/cjs/components/grid/CContainer.js +1 -1
- package/dist/cjs/components/grid/CRow.js +1 -1
- package/dist/cjs/components/header/CHeader.js +1 -1
- package/dist/cjs/components/header/CHeaderBrand.js +1 -1
- package/dist/cjs/components/header/CHeaderDivider.js +1 -1
- package/dist/cjs/components/header/CHeaderNav.js +1 -1
- package/dist/cjs/components/header/CHeaderText.js +1 -1
- package/dist/cjs/components/header/CHeaderToggler.js +1 -1
- package/dist/cjs/components/image/CImage.js +1 -1
- package/dist/cjs/components/link/CLink.js +1 -1
- package/dist/cjs/components/list-group/CListGroupItem.js +1 -1
- package/dist/cjs/components/loading-button/CLoadingButton.js +1 -1
- package/dist/cjs/components/modal/CModal.js +1 -1
- package/dist/cjs/components/modal/CModalBody.js +1 -1
- package/dist/cjs/components/modal/CModalContent.js +1 -1
- package/dist/cjs/components/modal/CModalDialog.js +1 -1
- package/dist/cjs/components/modal/CModalFooter.js +1 -1
- package/dist/cjs/components/modal/CModalHeader.js +1 -1
- package/dist/cjs/components/modal/CModalTitle.js +1 -1
- package/dist/cjs/components/multi-select/CMultiSelect.d.ts +15 -3
- package/dist/cjs/components/multi-select/CMultiSelect.js +18 -11
- package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js +5 -3
- package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectOptions.js +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectSelection.js +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
- package/dist/cjs/components/multi-select/utils.js +1 -1
- package/dist/cjs/components/nav/CNav.js +1 -1
- package/dist/cjs/components/nav/CNavGroup.js +1 -1
- package/dist/cjs/components/nav/CNavGroupItems.js +1 -1
- package/dist/cjs/components/nav/CNavItem.js +1 -1
- package/dist/cjs/components/nav/CNavLink.js +1 -1
- package/dist/cjs/components/nav/CNavTitle.js +1 -1
- package/dist/cjs/components/navbar/CNavbar.js +1 -1
- package/dist/cjs/components/navbar/CNavbarBrand.js +1 -1
- package/dist/cjs/components/navbar/CNavbarNav.js +1 -1
- package/dist/cjs/components/navbar/CNavbarText.js +1 -1
- package/dist/cjs/components/navbar/CNavbarToggler.js +1 -1
- package/dist/cjs/components/offcanvas/COffcanvas.js +1 -1
- package/dist/cjs/components/offcanvas/COffcanvasBody.js +1 -1
- package/dist/cjs/components/offcanvas/COffcanvasHeader.js +1 -1
- package/dist/cjs/components/offcanvas/COffcanvasTitle.js +1 -1
- package/dist/cjs/components/pagination/CPagination.js +1 -1
- package/dist/cjs/components/pagination/CPaginationItem.js +1 -1
- package/dist/cjs/components/placeholder/CPlaceholder.js +1 -1
- package/dist/cjs/components/popover/CPopover.js +8 -2
- package/dist/cjs/components/popover/CPopover.js.map +1 -1
- package/dist/cjs/components/progress/CProgress.js +1 -1
- package/dist/cjs/components/progress/CProgressBar.js +1 -1
- package/dist/cjs/components/progress/CProgressStacked.js +1 -1
- package/dist/cjs/components/rating/CRating.js +1 -1
- package/dist/cjs/components/sidebar/CSidebar.js +1 -1
- package/dist/cjs/components/sidebar/CSidebarBrand.js +1 -1
- package/dist/cjs/components/sidebar/CSidebarFooter.js +1 -1
- package/dist/cjs/components/sidebar/CSidebarHeader.js +1 -1
- package/dist/cjs/components/sidebar/CSidebarNav.js +1 -1
- package/dist/cjs/components/sidebar/CSidebarToggler.js +1 -1
- package/dist/cjs/components/smart-pagination/CSmartPagination.js +1 -1
- package/dist/cjs/components/smart-table/CSmartTable.js +4 -4
- package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTableBody.js +1 -1
- package/dist/cjs/components/smart-table/CSmartTableHead.js +1 -1
- package/dist/cjs/components/smart-table/utils.d.ts +5 -5
- package/dist/cjs/components/smart-table/utils.js +1 -1
- package/dist/cjs/components/spinner/CSpinner.js +1 -1
- package/dist/cjs/components/table/CTable.js +1 -1
- package/dist/cjs/components/table/CTableBody.js +1 -1
- package/dist/cjs/components/table/CTableCaption.js +1 -1
- package/dist/cjs/components/table/CTableDataCell.js +1 -1
- package/dist/cjs/components/table/CTableFoot.js +1 -1
- package/dist/cjs/components/table/CTableHead.js +1 -1
- package/dist/cjs/components/table/CTableHeaderCell.js +1 -1
- package/dist/cjs/components/table/CTableResponsiveWrapper.js +1 -1
- package/dist/cjs/components/table/CTableRow.js +1 -1
- package/dist/cjs/components/tabs/CTab.d.ts +12 -0
- package/dist/cjs/components/tabs/CTab.js +25 -0
- package/dist/cjs/components/tabs/CTab.js.map +1 -0
- package/dist/cjs/components/tabs/CTabContent.js +1 -1
- package/dist/cjs/components/tabs/CTabList.d.ts +16 -0
- package/dist/cjs/components/tabs/CTabList.js +54 -0
- package/dist/cjs/components/tabs/CTabList.js.map +1 -0
- package/dist/cjs/components/tabs/CTabPane.d.ts +6 -0
- package/dist/cjs/components/tabs/CTabPane.js +5 -3
- package/dist/cjs/components/tabs/CTabPane.js.map +1 -1
- package/dist/cjs/components/tabs/CTabPanel.d.ts +28 -0
- package/dist/cjs/components/tabs/CTabPanel.js +43 -0
- package/dist/cjs/components/tabs/CTabPanel.js.map +1 -0
- package/dist/cjs/components/tabs/CTabs.d.ts +22 -0
- package/dist/cjs/components/tabs/CTabs.js +28 -0
- package/dist/cjs/components/tabs/CTabs.js.map +1 -0
- package/dist/cjs/components/tabs/index.d.ts +5 -1
- package/dist/cjs/components/time-picker/CTimePicker.d.ts +12 -0
- package/dist/cjs/components/time-picker/CTimePicker.js +6 -6
- package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/cjs/components/time-picker/utils.d.ts +4 -4
- package/dist/cjs/components/toast/CToast.js +1 -1
- package/dist/cjs/components/toast/CToastBody.js +1 -1
- package/dist/cjs/components/toast/CToastClose.js +1 -1
- package/dist/cjs/components/toast/CToastHeader.js +1 -1
- package/dist/cjs/components/toast/CToaster.js +1 -1
- package/dist/cjs/components/tooltip/CTooltip.js +8 -2
- package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
- package/dist/cjs/components/virtual-scroller/CVirtualScroller.js +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsA.js +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsB.js +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsC.js +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsD.js +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsE.js +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsF.js +1 -1
- package/dist/cjs/hooks/useForkedRef.d.ts +0 -1
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/node_modules/@coreui/icons-react/dist/{index.es.js → index.esm.js} +93 -30
- package/dist/cjs/node_modules/@coreui/icons-react/dist/index.esm.js.map +1 -0
- package/dist/cjs/{node_modules → packages/coreui-react-pro/node_modules}/tslib/tslib.es6.js.map +1 -1
- package/dist/cjs/utils/getNextActiveElement.d.ts +2 -0
- package/dist/cjs/utils/getNextActiveElement.js +19 -0
- package/dist/cjs/utils/getNextActiveElement.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +2 -1
- package/dist/esm/components/accordion/CAccordion.js +1 -1
- package/dist/esm/components/accordion/CAccordionBody.js +1 -1
- package/dist/esm/components/accordion/CAccordionButton.js +1 -1
- package/dist/esm/components/accordion/CAccordionHeader.js +1 -1
- package/dist/esm/components/accordion/CAccordionItem.js +1 -1
- package/dist/esm/components/alert/CAlert.js +1 -1
- package/dist/esm/components/alert/CAlertHeading.js +1 -1
- package/dist/esm/components/alert/CAlertLink.js +1 -1
- package/dist/esm/components/avatar/CAvatar.js +1 -1
- package/dist/esm/components/backdrop/CBackdrop.js +1 -1
- package/dist/esm/components/badge/CBadge.js +1 -1
- package/dist/esm/components/breadcrumb/CBreadcrumb.js +1 -1
- package/dist/esm/components/breadcrumb/CBreadcrumbItem.js +1 -1
- package/dist/esm/components/button/CButton.js +6 -2
- package/dist/esm/components/button/CButton.js.map +1 -1
- package/dist/esm/components/button-group/CButtonGroup.js +1 -1
- package/dist/esm/components/button-group/CButtonToolbar.js +1 -1
- package/dist/esm/components/calendar/CCalendar.js +3 -3
- package/dist/esm/components/calendar/CCalendar.js.map +1 -1
- package/dist/esm/components/calendar/utils.d.ts +5 -4
- package/dist/esm/components/calendar/utils.js +15 -7
- package/dist/esm/components/calendar/utils.js.map +1 -1
- package/dist/esm/components/callout/CCallout.js +1 -1
- package/dist/esm/components/card/CCard.js +1 -1
- package/dist/esm/components/card/CCardBody.js +1 -1
- package/dist/esm/components/card/CCardFooter.js +1 -1
- package/dist/esm/components/card/CCardGroup.js +1 -1
- package/dist/esm/components/card/CCardHeader.js +1 -1
- package/dist/esm/components/card/CCardImage.js +1 -1
- package/dist/esm/components/card/CCardImageOverlay.js +1 -1
- package/dist/esm/components/card/CCardLink.js +1 -1
- package/dist/esm/components/card/CCardSubtitle.js +1 -1
- package/dist/esm/components/card/CCardText.js +1 -1
- package/dist/esm/components/card/CCardTitle.js +1 -1
- package/dist/esm/components/carousel/CCarousel.js +1 -1
- package/dist/esm/components/carousel/CCarouselCaption.js +1 -1
- package/dist/esm/components/carousel/CCarouselItem.js +1 -1
- package/dist/esm/components/close-button/CCloseButton.js +1 -1
- package/dist/esm/components/collapse/CCollapse.js +1 -1
- package/dist/esm/components/date-picker/CDatePicker.d.ts +7 -1
- package/dist/esm/components/date-picker/CDatePicker.js +4 -4
- package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +16 -4
- package/dist/esm/components/date-range-picker/CDateRangePicker.js +11 -9
- package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/utils.d.ts +1 -0
- package/dist/esm/components/date-range-picker/utils.js +10 -1
- package/dist/esm/components/date-range-picker/utils.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdown.js +3 -2
- package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownDivider.js +1 -1
- package/dist/esm/components/dropdown/CDropdownHeader.js +1 -1
- package/dist/esm/components/dropdown/CDropdownItem.js +1 -1
- package/dist/esm/components/dropdown/CDropdownItemPlain.js +1 -1
- package/dist/esm/components/dropdown/CDropdownMenu.js +1 -1
- package/dist/esm/components/dropdown/CDropdownToggle.js +1 -1
- package/dist/esm/components/dropdown/utils.d.ts +0 -1
- package/dist/esm/components/dropdown/utils.js +1 -13
- package/dist/esm/components/dropdown/utils.js.map +1 -1
- package/dist/esm/components/element-cover/CElementCover.js +1 -1
- package/dist/esm/components/footer/CFooter.js +1 -1
- package/dist/esm/components/form/CForm.js +1 -1
- package/dist/esm/components/form/CFormCheck.js +1 -1
- package/dist/esm/components/form/CFormControlValidation.js +1 -1
- package/dist/esm/components/form/CFormControlWrapper.js +1 -1
- package/dist/esm/components/form/CFormFeedback.js +1 -1
- package/dist/esm/components/form/CFormFloating.js +1 -1
- package/dist/esm/components/form/CFormInput.js +1 -1
- package/dist/esm/components/form/CFormLabel.js +1 -1
- package/dist/esm/components/form/CFormRange.js +1 -1
- package/dist/esm/components/form/CFormSelect.js +1 -1
- package/dist/esm/components/form/CFormSwitch.js +1 -1
- package/dist/esm/components/form/CFormText.js +1 -1
- package/dist/esm/components/form/CFormTextarea.js +1 -1
- package/dist/esm/components/form/CInputGroup.js +1 -1
- package/dist/esm/components/form/CInputGroupText.js +1 -1
- package/dist/esm/components/grid/CCol.js +1 -1
- package/dist/esm/components/grid/CContainer.js +1 -1
- package/dist/esm/components/grid/CRow.js +1 -1
- package/dist/esm/components/header/CHeader.js +1 -1
- package/dist/esm/components/header/CHeaderBrand.js +1 -1
- package/dist/esm/components/header/CHeaderDivider.js +1 -1
- package/dist/esm/components/header/CHeaderNav.js +1 -1
- package/dist/esm/components/header/CHeaderText.js +1 -1
- package/dist/esm/components/header/CHeaderToggler.js +1 -1
- package/dist/esm/components/image/CImage.js +1 -1
- package/dist/esm/components/link/CLink.js +1 -1
- package/dist/esm/components/list-group/CListGroupItem.js +1 -1
- package/dist/esm/components/loading-button/CLoadingButton.js +1 -1
- package/dist/esm/components/modal/CModal.js +1 -1
- package/dist/esm/components/modal/CModalBody.js +1 -1
- package/dist/esm/components/modal/CModalContent.js +1 -1
- package/dist/esm/components/modal/CModalDialog.js +1 -1
- package/dist/esm/components/modal/CModalFooter.js +1 -1
- package/dist/esm/components/modal/CModalHeader.js +1 -1
- package/dist/esm/components/modal/CModalTitle.js +1 -1
- package/dist/esm/components/multi-select/CMultiSelect.d.ts +15 -3
- package/dist/esm/components/multi-select/CMultiSelect.js +18 -11
- package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js +5 -3
- package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectOptions.js +1 -1
- package/dist/esm/components/multi-select/CMultiSelectSelection.js +1 -1
- package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
- package/dist/esm/components/multi-select/utils.js +1 -1
- package/dist/esm/components/nav/CNav.js +1 -1
- package/dist/esm/components/nav/CNavGroup.js +1 -1
- package/dist/esm/components/nav/CNavGroupItems.js +1 -1
- package/dist/esm/components/nav/CNavItem.js +1 -1
- package/dist/esm/components/nav/CNavLink.js +1 -1
- package/dist/esm/components/nav/CNavTitle.js +1 -1
- package/dist/esm/components/navbar/CNavbar.js +1 -1
- package/dist/esm/components/navbar/CNavbarBrand.js +1 -1
- package/dist/esm/components/navbar/CNavbarNav.js +1 -1
- package/dist/esm/components/navbar/CNavbarText.js +1 -1
- package/dist/esm/components/navbar/CNavbarToggler.js +1 -1
- package/dist/esm/components/offcanvas/COffcanvas.js +1 -1
- package/dist/esm/components/offcanvas/COffcanvasBody.js +1 -1
- package/dist/esm/components/offcanvas/COffcanvasHeader.js +1 -1
- package/dist/esm/components/offcanvas/COffcanvasTitle.js +1 -1
- package/dist/esm/components/pagination/CPagination.js +1 -1
- package/dist/esm/components/pagination/CPaginationItem.js +1 -1
- package/dist/esm/components/placeholder/CPlaceholder.js +1 -1
- package/dist/esm/components/popover/CPopover.js +8 -2
- package/dist/esm/components/popover/CPopover.js.map +1 -1
- package/dist/esm/components/progress/CProgress.js +1 -1
- package/dist/esm/components/progress/CProgressBar.js +1 -1
- package/dist/esm/components/progress/CProgressStacked.js +1 -1
- package/dist/esm/components/rating/CRating.js +1 -1
- package/dist/esm/components/sidebar/CSidebar.js +1 -1
- package/dist/esm/components/sidebar/CSidebarBrand.js +1 -1
- package/dist/esm/components/sidebar/CSidebarFooter.js +1 -1
- package/dist/esm/components/sidebar/CSidebarHeader.js +1 -1
- package/dist/esm/components/sidebar/CSidebarNav.js +1 -1
- package/dist/esm/components/sidebar/CSidebarToggler.js +1 -1
- package/dist/esm/components/smart-pagination/CSmartPagination.js +1 -1
- package/dist/esm/components/smart-table/CSmartTable.js +2 -2
- package/dist/esm/components/smart-table/CSmartTableBody.js +1 -1
- package/dist/esm/components/smart-table/CSmartTableHead.js +1 -1
- package/dist/esm/components/smart-table/utils.d.ts +5 -5
- package/dist/esm/components/smart-table/utils.js +1 -1
- package/dist/esm/components/spinner/CSpinner.js +1 -1
- package/dist/esm/components/table/CTable.js +1 -1
- package/dist/esm/components/table/CTableBody.js +1 -1
- package/dist/esm/components/table/CTableCaption.js +1 -1
- package/dist/esm/components/table/CTableDataCell.js +1 -1
- package/dist/esm/components/table/CTableFoot.js +1 -1
- package/dist/esm/components/table/CTableHead.js +1 -1
- package/dist/esm/components/table/CTableHeaderCell.js +1 -1
- package/dist/esm/components/table/CTableResponsiveWrapper.js +1 -1
- package/dist/esm/components/table/CTableRow.js +1 -1
- package/dist/esm/components/tabs/CTab.d.ts +12 -0
- package/dist/esm/components/tabs/CTab.js +23 -0
- package/dist/esm/components/tabs/CTab.js.map +1 -0
- package/dist/esm/components/tabs/CTabContent.js +1 -1
- package/dist/esm/components/tabs/CTabList.d.ts +16 -0
- package/dist/esm/components/tabs/CTabList.js +52 -0
- package/dist/esm/components/tabs/CTabList.js.map +1 -0
- package/dist/esm/components/tabs/CTabPane.d.ts +6 -0
- package/dist/esm/components/tabs/CTabPane.js +5 -3
- package/dist/esm/components/tabs/CTabPane.js.map +1 -1
- package/dist/esm/components/tabs/CTabPanel.d.ts +28 -0
- package/dist/esm/components/tabs/CTabPanel.js +41 -0
- package/dist/esm/components/tabs/CTabPanel.js.map +1 -0
- package/dist/esm/components/tabs/CTabs.d.ts +22 -0
- package/dist/esm/components/tabs/CTabs.js +25 -0
- package/dist/esm/components/tabs/CTabs.js.map +1 -0
- package/dist/esm/components/tabs/index.d.ts +5 -1
- package/dist/esm/components/time-picker/CTimePicker.d.ts +12 -0
- package/dist/esm/components/time-picker/CTimePicker.js +6 -6
- package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/esm/components/time-picker/utils.d.ts +4 -4
- package/dist/esm/components/toast/CToast.js +1 -1
- package/dist/esm/components/toast/CToastBody.js +1 -1
- package/dist/esm/components/toast/CToastClose.js +1 -1
- package/dist/esm/components/toast/CToastHeader.js +1 -1
- package/dist/esm/components/toast/CToaster.js +1 -1
- package/dist/esm/components/tooltip/CTooltip.js +8 -2
- package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
- package/dist/esm/components/virtual-scroller/CVirtualScroller.js +1 -1
- package/dist/esm/components/widgets/CWidgetStatsA.js +1 -1
- package/dist/esm/components/widgets/CWidgetStatsB.js +1 -1
- package/dist/esm/components/widgets/CWidgetStatsC.js +1 -1
- package/dist/esm/components/widgets/CWidgetStatsD.js +1 -1
- package/dist/esm/components/widgets/CWidgetStatsE.js +1 -1
- package/dist/esm/components/widgets/CWidgetStatsF.js +1 -1
- package/dist/esm/hooks/useForkedRef.d.ts +0 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/node_modules/@coreui/icons-react/dist/{index.es.js → index.esm.js} +93 -32
- package/dist/esm/node_modules/@coreui/icons-react/dist/index.esm.js.map +1 -0
- package/dist/esm/{node_modules → packages/coreui-react-pro/node_modules}/tslib/tslib.es6.js.map +1 -1
- package/dist/esm/utils/getNextActiveElement.d.ts +2 -0
- package/dist/esm/utils/getNextActiveElement.js +15 -0
- package/dist/esm/utils/getNextActiveElement.js.map +1 -0
- package/dist/esm/utils/index.d.ts +2 -1
- package/package.json +10 -10
- package/src/components/button/CButton.tsx +5 -2
- package/src/components/button/__tests__/CButton.spec.tsx +1 -1
- package/src/components/button-group/__tests__/CButtonGroup.spec.tsx +6 -6
- package/src/components/button-group/__tests__/CButtonToolbar.spec.tsx +6 -6
- package/src/components/calendar/CCalendar.tsx +2 -2
- package/src/components/calendar/utils.ts +23 -7
- package/src/components/date-picker/CDatePicker.tsx +11 -2
- package/src/components/date-range-picker/CDateRangePicker.tsx +31 -12
- package/src/components/date-range-picker/utils.ts +16 -0
- package/src/components/dropdown/CDropdown.tsx +2 -2
- package/src/components/dropdown/__tests__/CDropdownToggle.spec.tsx +1 -1
- package/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.tsx.snap +1 -1
- package/src/components/dropdown/__tests__/__snapshots__/CDropdownToggle.spec.tsx.snap +1 -1
- package/src/components/dropdown/utils.ts +0 -22
- package/src/components/modal/__tests__/CModal.spec.tsx +1 -1
- package/src/components/multi-select/CMultiSelect.tsx +31 -6
- package/src/components/multi-select/CMultiSelectNativeSelect.tsx +6 -4
- package/src/components/multi-select/CMultiSelectSelection.tsx +1 -0
- package/src/components/nav/__tests__/__snapshots__/CNavItem.spec.tsx.snap +12 -8
- package/src/components/popover/CPopover.tsx +8 -0
- package/src/components/popover/__tests__/CPopover.spec.tsx +2 -2
- package/src/components/popover/__tests__/__snapshots__/CPopover.spec.tsx.snap +22 -0
- package/src/components/sidebar/__tests__/__snapshots__/CSidebarBrand.spec.tsx.snap +4 -4
- package/src/components/sidebar/__tests__/__snapshots__/CSidebarNav.spec.tsx.snap +6 -2
- package/src/components/tabs/CTab.tsx +56 -0
- package/src/components/tabs/CTabList.tsx +92 -0
- package/src/components/tabs/CTabPane.tsx +9 -2
- package/src/components/tabs/CTabPanel.tsx +98 -0
- package/src/components/tabs/CTabs.tsx +54 -0
- package/src/components/tabs/__tests__/__snapshots__/CTabPane.spec.tsx.snap +1 -1
- package/src/components/tabs/index.ts +5 -1
- package/src/components/time-picker/CTimePicker.tsx +17 -1
- package/src/components/toast/__tests__/__snapshots__/CToaster.spec.tsx.snap +1 -1
- package/src/components/tooltip/CTooltip.tsx +8 -0
- package/src/components/tooltip/__tests__/__snapshots__/CTooltip.spec.tsx.snap +1 -0
- package/src/components/widgets/__tests__/__snapshots__/CWidgetStatsC.spec.tsx.snap +1 -1
- package/src/utils/getNextActiveElement.ts +23 -0
- package/src/utils/index.ts +2 -0
- package/dist/cjs/node_modules/@coreui/icons-react/dist/index.es.js.map +0 -1
- package/dist/esm/node_modules/@coreui/icons-react/dist/index.es.js.map +0 -1
- /package/dist/cjs/{node_modules → packages/coreui-react-pro/node_modules}/tslib/tslib.es6.js +0 -0
- /package/dist/esm/{node_modules → packages/coreui-react-pro/node_modules}/tslib/tslib.es6.js +0 -0
|
@@ -22,10 +22,16 @@ export interface CDatePickerProps
|
|
|
22
22
|
/**
|
|
23
23
|
* The id global attribute defines an identifier (ID) that must be unique in the whole document.
|
|
24
24
|
*
|
|
25
|
-
* The name
|
|
25
|
+
* **[Deprecated since v5.3.0]** The name attributes for input element is generated based on this property until you define name prop ex.:
|
|
26
26
|
* - \{id\}-date
|
|
27
27
|
*/
|
|
28
28
|
id?: string
|
|
29
|
+
/**
|
|
30
|
+
* The name attribute for the input element.
|
|
31
|
+
*
|
|
32
|
+
* @since 5.3.0
|
|
33
|
+
*/
|
|
34
|
+
name?: string
|
|
29
35
|
/**
|
|
30
36
|
* Callback fired when the date changed.
|
|
31
37
|
*/
|
|
@@ -33,11 +39,12 @@ export interface CDatePickerProps
|
|
|
33
39
|
}
|
|
34
40
|
|
|
35
41
|
export const CDatePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDatePickerProps>(
|
|
36
|
-
({ date, id, onDateChange, placeholder = 'Select date', ...rest }, ref) => {
|
|
42
|
+
({ date, id, name, onDateChange, placeholder = 'Select date', ...rest }, ref) => {
|
|
37
43
|
return (
|
|
38
44
|
<CDateRangePicker
|
|
39
45
|
calendars={1}
|
|
40
46
|
id={id}
|
|
47
|
+
name={name}
|
|
41
48
|
startDate={date}
|
|
42
49
|
onStartDateChange={onDateChange}
|
|
43
50
|
placeholder={placeholder}
|
|
@@ -54,5 +61,7 @@ CDatePicker.displayName = 'CDatePicker'
|
|
|
54
61
|
CDatePicker.propTypes = {
|
|
55
62
|
...CDateRangePicker.propTypes,
|
|
56
63
|
date: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.string]),
|
|
64
|
+
id: PropTypes.string,
|
|
65
|
+
name: PropTypes.string,
|
|
57
66
|
onDateChange: PropTypes.func,
|
|
58
67
|
}
|
|
@@ -12,11 +12,11 @@ import { CTimePicker } from '../time-picker/CTimePicker'
|
|
|
12
12
|
|
|
13
13
|
import { useDebouncedCallback } from '../../hooks'
|
|
14
14
|
import { Colors } from '../../types'
|
|
15
|
-
import { getLocalDateFromString } from './utils'
|
|
15
|
+
import { getInputIdOrName, getLocalDateFromString } from './utils'
|
|
16
16
|
|
|
17
17
|
export interface CDateRangePickerProps
|
|
18
|
-
extends Omit<CFormControlWrapperProps, 'floatingLabel'>,
|
|
19
|
-
Omit<CPickerProps, 'placeholder'>,
|
|
18
|
+
extends Omit<CFormControlWrapperProps, 'floatingLabel' | 'id'>,
|
|
19
|
+
Omit<CPickerProps, 'placeholder' | 'id'>,
|
|
20
20
|
Omit<CCalendarProps, 'onDayHover' | 'onCalendarDateChange'> {
|
|
21
21
|
/**
|
|
22
22
|
* The number of calendars that render on desktop devices.
|
|
@@ -85,13 +85,13 @@ export interface CDateRangePickerProps
|
|
|
85
85
|
*/
|
|
86
86
|
confirmButtonVariant?: 'outline' | 'ghost'
|
|
87
87
|
/**
|
|
88
|
-
* The id
|
|
88
|
+
* The id attribute for the input elements. It can be a single string for both the start and end dates. If a single string is used, the postfix "-start-date" and "-end-date" will be automatically added to make the IDs unique. Alternatively, you can use an array of two strings for start and end dates separately.
|
|
89
89
|
*
|
|
90
|
-
*
|
|
90
|
+
* **[Deprecated since v5.3.0]** If the property is a type of string, the name attributes for input elements are generated based on this property until you define name prop ex.:
|
|
91
91
|
* - \{id\}-start-date
|
|
92
92
|
* - \{id\}-end-date
|
|
93
93
|
*/
|
|
94
|
-
id?: string
|
|
94
|
+
id?: string | [string, string]
|
|
95
95
|
/**
|
|
96
96
|
* Toggle visibility or set the content of the input indicator.
|
|
97
97
|
*/
|
|
@@ -118,6 +118,18 @@ export interface CDateRangePickerProps
|
|
|
118
118
|
* Toggle the readonly state for the component.
|
|
119
119
|
*/
|
|
120
120
|
inputReadOnly?: boolean
|
|
121
|
+
/**
|
|
122
|
+
* The name attribute for the input elements. It can be a single string for both the start and end dates. If a single string is used, the postfix "-start-date" and "-end-date" will be automatically added to make the names unique. Alternatively, you can use an array of two strings for start and end dates separately.
|
|
123
|
+
*
|
|
124
|
+
* Example for single string: 'date-input'
|
|
125
|
+
* Result: 'date-input-start-date', 'date-input-end-date'
|
|
126
|
+
*
|
|
127
|
+
* Example for array: ['start-date-input', 'end-date-input']
|
|
128
|
+
* Result: 'start-date-input', 'end-date-input'
|
|
129
|
+
*
|
|
130
|
+
* @since 5.3.0
|
|
131
|
+
*/
|
|
132
|
+
name?: string | [string, string]
|
|
121
133
|
/**
|
|
122
134
|
* Specifies short hints that are visible in start date and end date inputs.
|
|
123
135
|
*/
|
|
@@ -223,6 +235,7 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
|
|
|
223
235
|
locale = 'default',
|
|
224
236
|
maxDate,
|
|
225
237
|
minDate,
|
|
238
|
+
name,
|
|
226
239
|
navigation,
|
|
227
240
|
navYearFirst,
|
|
228
241
|
onEndDateChange,
|
|
@@ -430,7 +443,11 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
|
|
|
430
443
|
hover: inputStartHoverValue,
|
|
431
444
|
})}
|
|
432
445
|
disabled={disabled}
|
|
433
|
-
{...(id && {
|
|
446
|
+
{...(id && { id: getInputIdOrName(id, range, 'start') })}
|
|
447
|
+
{...(name && { name: getInputIdOrName(name, range, 'start') })}
|
|
448
|
+
{...(id &&
|
|
449
|
+
!Array.isArray(id) &&
|
|
450
|
+
!name && { name: range ? `${id}-start-date` : `${id}-date` })} // TODO: remove in v6
|
|
434
451
|
placeholder={Array.isArray(placeholder) ? placeholder[0] : placeholder}
|
|
435
452
|
readOnly={inputReadOnly}
|
|
436
453
|
required={required}
|
|
@@ -448,7 +465,9 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
|
|
|
448
465
|
hover: inputEndHoverValue,
|
|
449
466
|
})}
|
|
450
467
|
disabled={disabled}
|
|
451
|
-
{...(id && {
|
|
468
|
+
{...(id && { id: getInputIdOrName(id, range, 'end') })}
|
|
469
|
+
{...(name && { name: getInputIdOrName(name, range, 'end') })}
|
|
470
|
+
{...(id && !Array.isArray(id) && !name && { name: `${id}-end-date` })} // TODO: remove in v6
|
|
452
471
|
placeholder={placeholder[1]}
|
|
453
472
|
readOnly={inputReadOnly}
|
|
454
473
|
required={required}
|
|
@@ -480,7 +499,7 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
|
|
|
480
499
|
feedback={feedback}
|
|
481
500
|
feedbackInvalid={feedbackInvalid}
|
|
482
501
|
feedbackValid={feedbackValid}
|
|
483
|
-
id
|
|
502
|
+
{...(id && !Array.isArray(id) && { id: id })}
|
|
484
503
|
invalid={isValid === false ? true : false}
|
|
485
504
|
label={label}
|
|
486
505
|
text={text}
|
|
@@ -547,7 +566,6 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
|
|
|
547
566
|
)}
|
|
548
567
|
</div>
|
|
549
568
|
}
|
|
550
|
-
id={id}
|
|
551
569
|
toggler={toggler ?? InputGroup()}
|
|
552
570
|
onHide={() => {
|
|
553
571
|
setVisible(false)
|
|
@@ -612,7 +630,7 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
|
|
|
612
630
|
/>
|
|
613
631
|
{timepicker && (
|
|
614
632
|
<div className="date-picker-timepickers">
|
|
615
|
-
{isMobile || (range && calendars === 1) ? (
|
|
633
|
+
{(isMobile && range) || (range && calendars === 1) ? (
|
|
616
634
|
<>
|
|
617
635
|
<CTimePicker
|
|
618
636
|
container="inline"
|
|
@@ -687,12 +705,13 @@ CDateRangePicker.propTypes = {
|
|
|
687
705
|
confirmButtonColor: CButton.propTypes?.color,
|
|
688
706
|
confirmButtonSize: CButton.propTypes?.size,
|
|
689
707
|
confirmButtonVariant: CButton.propTypes?.variant,
|
|
690
|
-
id: PropTypes.string,
|
|
708
|
+
id: PropTypes.oneOfType([PropTypes.string, PropTypes.any]),
|
|
691
709
|
indicator: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),
|
|
692
710
|
inputDateFormat: PropTypes.func,
|
|
693
711
|
inputDateParse: PropTypes.func,
|
|
694
712
|
inputOnChangeDelay: PropTypes.number,
|
|
695
713
|
inputReadOnly: PropTypes.bool,
|
|
714
|
+
name: PropTypes.oneOfType([PropTypes.string, PropTypes.any]),
|
|
696
715
|
placeholder: PropTypes.oneOfType([
|
|
697
716
|
PropTypes.string,
|
|
698
717
|
PropTypes.arrayOf(PropTypes.string.isRequired),
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
export const getInputIdOrName = (
|
|
2
|
+
attribute: string | [string, string],
|
|
3
|
+
range: boolean,
|
|
4
|
+
position?: 'start' | 'end',
|
|
5
|
+
): string => {
|
|
6
|
+
if (range && !Array.isArray(attribute)) {
|
|
7
|
+
return `${attribute}-${position}-date`
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
if (Array.isArray(attribute)) {
|
|
11
|
+
return position === 'start' ? attribute[0] : attribute[1]
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return attribute
|
|
15
|
+
}
|
|
16
|
+
|
|
1
17
|
export const getLocalDateFromString = (string: string, locale: string, time?: boolean) => {
|
|
2
18
|
if (!Number.isNaN(Date.parse(string))) {
|
|
3
19
|
return new Date(Date.parse(string))
|
|
@@ -15,10 +15,10 @@ import { PolymorphicRefForwardingComponent } from '../../helpers'
|
|
|
15
15
|
import { useForkedRef, usePopper } from '../../hooks'
|
|
16
16
|
import { placementPropType } from '../../props'
|
|
17
17
|
import type { Placements } from '../../types'
|
|
18
|
-
import { isRTL } from '../../utils'
|
|
18
|
+
import { getNextActiveElement, isRTL } from '../../utils'
|
|
19
19
|
|
|
20
20
|
import type { Alignments, Directions } from './types'
|
|
21
|
-
import {
|
|
21
|
+
import { getPlacement } from './utils'
|
|
22
22
|
|
|
23
23
|
export interface CDropdownProps extends HTMLAttributes<HTMLDivElement | HTMLLIElement> {
|
|
24
24
|
/**
|
|
@@ -10,7 +10,7 @@ test('loads and displays CDropdownToggle component', async () => {
|
|
|
10
10
|
|
|
11
11
|
test('CDropdownToggle customize', async () => {
|
|
12
12
|
const { container } = render(
|
|
13
|
-
<CDropdownToggle caret={true} split={true} trigger="focus">
|
|
13
|
+
<CDropdownToggle caret={true} color="primary" split={true} trigger="focus">
|
|
14
14
|
Test
|
|
15
15
|
</CDropdownToggle>,
|
|
16
16
|
)
|
|
@@ -19,28 +19,6 @@ export const getAlignmentClassNames = (alignment: Alignments) => {
|
|
|
19
19
|
return classNames
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export const getNextActiveElement = (
|
|
23
|
-
list: HTMLElement[],
|
|
24
|
-
activeElement: HTMLElement,
|
|
25
|
-
shouldGetNext: boolean,
|
|
26
|
-
isCycleAllowed: boolean,
|
|
27
|
-
) => {
|
|
28
|
-
const listLength = list.length
|
|
29
|
-
let index = list.indexOf(activeElement)
|
|
30
|
-
|
|
31
|
-
if (index === -1) {
|
|
32
|
-
return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
index += shouldGetNext ? 1 : -1
|
|
36
|
-
|
|
37
|
-
if (isCycleAllowed) {
|
|
38
|
-
index = (index + listLength) % listLength
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return list[Math.max(0, Math.min(index, listLength - 1))]
|
|
42
|
-
}
|
|
43
|
-
|
|
44
22
|
export const getPlacement = (
|
|
45
23
|
placement: Placement,
|
|
46
24
|
direction: string | undefined,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react'
|
|
2
2
|
import { render, fireEvent } from '@testing-library/react'
|
|
3
|
-
import '@testing-library/jest-dom
|
|
3
|
+
import '@testing-library/jest-dom'
|
|
4
4
|
import { CModal } from '../../../index'
|
|
5
5
|
|
|
6
6
|
test('loads and displays CModal component', async () => {
|
|
@@ -53,10 +53,10 @@ export interface CMultiSelectProps
|
|
|
53
53
|
*/
|
|
54
54
|
disabled?: boolean
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
56
|
+
* Set the id attribute for the native select element.
|
|
57
57
|
*
|
|
58
|
-
* The name
|
|
59
|
-
* -
|
|
58
|
+
* **[Deprecated since v5.3.0]** The name attribute for the native select element is generated based on the `id` property:
|
|
59
|
+
* - `<select name="\{id\}-multi-select" />`
|
|
60
60
|
*/
|
|
61
61
|
id?: string
|
|
62
62
|
/**
|
|
@@ -69,6 +69,12 @@ export interface CMultiSelectProps
|
|
|
69
69
|
* It specifies that multiple options can be selected at once.
|
|
70
70
|
*/
|
|
71
71
|
multiple?: boolean
|
|
72
|
+
/**
|
|
73
|
+
* The name attribute for the select element.
|
|
74
|
+
*
|
|
75
|
+
* @since 5.3.0
|
|
76
|
+
*/
|
|
77
|
+
name?: string
|
|
72
78
|
/**
|
|
73
79
|
* Execute a function when a user changes the selected option.
|
|
74
80
|
*/
|
|
@@ -119,6 +125,12 @@ export interface CMultiSelectProps
|
|
|
119
125
|
* When it is present, it indicates that the user must choose a value before submitting the form.
|
|
120
126
|
*/
|
|
121
127
|
required?: boolean
|
|
128
|
+
/**
|
|
129
|
+
* Determines whether the selected options should be cleared when the options list is updated. When set to true, any previously selected options will be reset whenever the options list undergoes a change. This ensures that outdated selections are not retained when new options are provided.
|
|
130
|
+
*
|
|
131
|
+
* @since 5.3.0
|
|
132
|
+
*/
|
|
133
|
+
resetSelectionOnOptionsChange?: boolean
|
|
122
134
|
/**
|
|
123
135
|
* Enables search input element.
|
|
124
136
|
*/
|
|
@@ -176,11 +188,12 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
176
188
|
feedback,
|
|
177
189
|
feedbackInvalid,
|
|
178
190
|
feedbackValid,
|
|
179
|
-
loading,
|
|
180
|
-
multiple = true,
|
|
181
191
|
id,
|
|
182
192
|
invalid,
|
|
183
193
|
label,
|
|
194
|
+
loading,
|
|
195
|
+
multiple = true,
|
|
196
|
+
name,
|
|
184
197
|
onChange,
|
|
185
198
|
onFilterChange,
|
|
186
199
|
onHide,
|
|
@@ -192,6 +205,7 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
192
205
|
optionsGroupsTemplate,
|
|
193
206
|
placeholder = 'Select...',
|
|
194
207
|
required,
|
|
208
|
+
resetSelectionOnOptionsChange = false,
|
|
195
209
|
search = true,
|
|
196
210
|
searchNoResultsLabel = 'No results found',
|
|
197
211
|
selectAll = true,
|
|
@@ -273,6 +287,10 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
273
287
|
useEffect(() => {
|
|
274
288
|
setOptions(options)
|
|
275
289
|
|
|
290
|
+
if (resetSelectionOnOptionsChange) {
|
|
291
|
+
return setSelected([])
|
|
292
|
+
}
|
|
293
|
+
|
|
276
294
|
const _selected = flattenedOptions.filter((option: Option) => option.selected === true)
|
|
277
295
|
const deselected = flattenedOptions.filter(
|
|
278
296
|
(option: Option) => option.selected === false,
|
|
@@ -311,6 +329,11 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
311
329
|
return () => {
|
|
312
330
|
onHide && onHide()
|
|
313
331
|
|
|
332
|
+
setSearchValue('')
|
|
333
|
+
if (searchRef.current) {
|
|
334
|
+
searchRef.current.value = ''
|
|
335
|
+
}
|
|
336
|
+
|
|
314
337
|
window.removeEventListener('mouseup', handleMouseUp)
|
|
315
338
|
window.removeEventListener('keyup', handleKeyUp)
|
|
316
339
|
|
|
@@ -437,6 +460,7 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
437
460
|
<CMultiSelectNativeSelect
|
|
438
461
|
id={id}
|
|
439
462
|
multiple={multiple}
|
|
463
|
+
name={name}
|
|
440
464
|
options={selected}
|
|
441
465
|
required={required}
|
|
442
466
|
value={
|
|
@@ -460,7 +484,6 @@ export const CMultiSelect = forwardRef<HTMLDivElement, CMultiSelectProps>(
|
|
|
460
484
|
className,
|
|
461
485
|
)}
|
|
462
486
|
aria-expanded={_visible}
|
|
463
|
-
id={id}
|
|
464
487
|
ref={multiSelectForkedRef}
|
|
465
488
|
>
|
|
466
489
|
<div
|
|
@@ -559,6 +582,7 @@ CMultiSelect.propTypes = {
|
|
|
559
582
|
disabled: PropTypes.bool,
|
|
560
583
|
loading: PropTypes.bool,
|
|
561
584
|
multiple: PropTypes.bool,
|
|
585
|
+
name: PropTypes.string,
|
|
562
586
|
onChange: PropTypes.func,
|
|
563
587
|
onFilterChange: PropTypes.func,
|
|
564
588
|
onHide: PropTypes.func,
|
|
@@ -570,6 +594,7 @@ CMultiSelect.propTypes = {
|
|
|
570
594
|
optionsGroupsTemplate: PropTypes.func,
|
|
571
595
|
placeholder: PropTypes.string,
|
|
572
596
|
required: PropTypes.bool,
|
|
597
|
+
resetSelectionOnOptionsChange: PropTypes.bool,
|
|
573
598
|
search: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf<'external'>(['external'])]),
|
|
574
599
|
searchNoResultsLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
|
|
575
600
|
selectAll: PropTypes.bool,
|
|
@@ -26,12 +26,12 @@ const createNativeOptions = (options: Option[]) =>
|
|
|
26
26
|
export const CMultiSelectNativeSelect = forwardRef<
|
|
27
27
|
HTMLSelectElement,
|
|
28
28
|
CMultiSelectNativeSelectProps
|
|
29
|
-
>(({ id, options, ...rest }, ref) => {
|
|
29
|
+
>(({ id, name, options, ...rest }, ref) => {
|
|
30
30
|
return (
|
|
31
31
|
<select
|
|
32
|
-
|
|
33
|
-
{...(id && {
|
|
34
|
-
{...(
|
|
32
|
+
id={id}
|
|
33
|
+
{...(id && !name && { name: `${id}-multi-select` })} // TODO: remove in v6
|
|
34
|
+
{...(name && { name: name })}
|
|
35
35
|
tabIndex={-1}
|
|
36
36
|
style={{ display: 'none' }}
|
|
37
37
|
{...rest}
|
|
@@ -43,6 +43,8 @@ export const CMultiSelectNativeSelect = forwardRef<
|
|
|
43
43
|
})
|
|
44
44
|
|
|
45
45
|
CMultiSelectNativeSelect.propTypes = {
|
|
46
|
+
id: PropTypes.string,
|
|
47
|
+
name: PropTypes.string,
|
|
46
48
|
options: PropTypes.array,
|
|
47
49
|
value: PropTypes.oneOfType([
|
|
48
50
|
PropTypes.number,
|
|
@@ -2,35 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`CNavItem customize 1`] = `
|
|
4
4
|
<div>
|
|
5
|
-
<
|
|
5
|
+
<h3
|
|
6
6
|
class="nav-item bazinga"
|
|
7
7
|
>
|
|
8
|
-
<
|
|
8
|
+
<a
|
|
9
9
|
aria-current="page"
|
|
10
|
+
aria-disabled="true"
|
|
10
11
|
class="nav-link bazinga active disabled"
|
|
11
12
|
disabled=""
|
|
12
13
|
href="/bazinga"
|
|
14
|
+
tabindex="-1"
|
|
13
15
|
>
|
|
14
16
|
Test
|
|
15
|
-
</
|
|
16
|
-
</
|
|
17
|
+
</a>
|
|
18
|
+
</h3>
|
|
17
19
|
</div>
|
|
18
20
|
`;
|
|
19
21
|
|
|
20
22
|
exports[`CNavItem customize 2`] = `
|
|
21
23
|
<div>
|
|
22
|
-
<
|
|
24
|
+
<h3
|
|
23
25
|
class="nav-item bazinga"
|
|
24
26
|
>
|
|
25
|
-
<
|
|
27
|
+
<a
|
|
26
28
|
aria-current="page"
|
|
29
|
+
aria-disabled="true"
|
|
27
30
|
class="nav-link bazinga active disabled"
|
|
28
31
|
disabled=""
|
|
29
32
|
href="/bazinga"
|
|
33
|
+
tabindex="-1"
|
|
30
34
|
>
|
|
31
35
|
Test
|
|
32
|
-
</
|
|
33
|
-
</
|
|
36
|
+
</a>
|
|
37
|
+
</h3>
|
|
34
38
|
</div>
|
|
35
39
|
`;
|
|
36
40
|
|
|
@@ -149,6 +149,7 @@ export const CPopover = forwardRef<HTMLDivElement, CPopoverProps>(
|
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
initPopper(togglerRef.current, popoverRef.current, popperConfig)
|
|
152
|
+
popoverRef.current.style.removeProperty('display')
|
|
152
153
|
popoverRef.current.classList.add('show')
|
|
153
154
|
onShow && onShow()
|
|
154
155
|
}
|
|
@@ -160,6 +161,10 @@ export const CPopover = forwardRef<HTMLDivElement, CPopoverProps>(
|
|
|
160
161
|
popoverRef.current.classList.remove('show')
|
|
161
162
|
onHide && onHide()
|
|
162
163
|
executeAfterTransition(() => {
|
|
164
|
+
if (popoverRef.current) {
|
|
165
|
+
popoverRef.current.style.display = 'none'
|
|
166
|
+
}
|
|
167
|
+
|
|
163
168
|
destroyPopper()
|
|
164
169
|
setMounted(false)
|
|
165
170
|
}, popoverRef.current)
|
|
@@ -193,6 +198,9 @@ export const CPopover = forwardRef<HTMLDivElement, CPopoverProps>(
|
|
|
193
198
|
id={uID.current}
|
|
194
199
|
ref={forkedRef}
|
|
195
200
|
role="tooltip"
|
|
201
|
+
style={{
|
|
202
|
+
display: 'none',
|
|
203
|
+
}}
|
|
196
204
|
{...rest}
|
|
197
205
|
>
|
|
198
206
|
<div className="popover-arrow"></div>
|
|
@@ -6,7 +6,7 @@ import { CPopover, CButton } from '../../../index'
|
|
|
6
6
|
test('loads and displays CPopover component', async () => {
|
|
7
7
|
const { container } = render(
|
|
8
8
|
<CPopover content="A">
|
|
9
|
-
<CButton>Test</CButton>
|
|
9
|
+
<CButton color="primary">Test</CButton>
|
|
10
10
|
</CPopover>,
|
|
11
11
|
)
|
|
12
12
|
expect(container).toMatchSnapshot()
|
|
@@ -17,7 +17,7 @@ test('CPopover customize', async () => {
|
|
|
17
17
|
let arr, element
|
|
18
18
|
const { container } = render(
|
|
19
19
|
<CPopover content="content" title="title" trigger="click" placement="right">
|
|
20
|
-
<CButton>Test</CButton>
|
|
20
|
+
<CButton color="primary">Test</CButton>
|
|
21
21
|
</CPopover>,
|
|
22
22
|
{ container: document.body },
|
|
23
23
|
)
|
|
@@ -3,11 +3,33 @@
|
|
|
3
3
|
exports[`CPopover customize 1`] = `
|
|
4
4
|
<body>
|
|
5
5
|
<button
|
|
6
|
+
aria-describedby="popover744956"
|
|
6
7
|
class="btn btn-primary"
|
|
7
8
|
type="button"
|
|
8
9
|
>
|
|
9
10
|
Test
|
|
10
11
|
</button>
|
|
12
|
+
<div
|
|
13
|
+
class="popover bs-popover-auto fade show"
|
|
14
|
+
id="popover744956"
|
|
15
|
+
role="tooltip"
|
|
16
|
+
style="position: absolute; left: 0px; top: 0px; margin: 0px;"
|
|
17
|
+
>
|
|
18
|
+
<div
|
|
19
|
+
class="popover-arrow"
|
|
20
|
+
style="position: absolute;"
|
|
21
|
+
/>
|
|
22
|
+
<div
|
|
23
|
+
class="popover-header"
|
|
24
|
+
>
|
|
25
|
+
title
|
|
26
|
+
</div>
|
|
27
|
+
<div
|
|
28
|
+
class="popover-body"
|
|
29
|
+
>
|
|
30
|
+
content
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
11
33
|
</body>
|
|
12
34
|
`;
|
|
13
35
|
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`CSidebarBrand customize 1`] = `
|
|
4
4
|
<div>
|
|
5
|
-
<
|
|
5
|
+
<a
|
|
6
6
|
class="sidebar-brand bazinga"
|
|
7
7
|
>
|
|
8
8
|
Test
|
|
9
|
-
</
|
|
9
|
+
</a>
|
|
10
10
|
</div>
|
|
11
11
|
`;
|
|
12
12
|
|
|
13
13
|
exports[`loads and displays CSidebarBrand component 1`] = `
|
|
14
14
|
<div>
|
|
15
|
-
<
|
|
15
|
+
<a
|
|
16
16
|
class="sidebar-brand"
|
|
17
17
|
color="primary"
|
|
18
18
|
>
|
|
19
19
|
Test
|
|
20
|
-
</
|
|
20
|
+
</a>
|
|
21
21
|
</div>
|
|
22
22
|
`;
|
|
@@ -4,7 +4,9 @@ exports[`CSidebarNav customize 1`] = `
|
|
|
4
4
|
<div>
|
|
5
5
|
<ul
|
|
6
6
|
class="sidebar-nav bazinga"
|
|
7
|
-
|
|
7
|
+
>
|
|
8
|
+
Test
|
|
9
|
+
</ul>
|
|
8
10
|
</div>
|
|
9
11
|
`;
|
|
10
12
|
|
|
@@ -12,6 +14,8 @@ exports[`loads and displays CSidebarNav component 1`] = `
|
|
|
12
14
|
<div>
|
|
13
15
|
<ul
|
|
14
16
|
class="sidebar-nav"
|
|
15
|
-
|
|
17
|
+
>
|
|
18
|
+
Test
|
|
19
|
+
</ul>
|
|
16
20
|
</div>
|
|
17
21
|
`;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React, { forwardRef, HTMLAttributes, useContext } from 'react'
|
|
2
|
+
import PropTypes from 'prop-types'
|
|
3
|
+
import classNames from 'classnames'
|
|
4
|
+
|
|
5
|
+
import { TabsContext } from './CTabs'
|
|
6
|
+
|
|
7
|
+
export interface CTabProps extends HTMLAttributes<HTMLButtonElement> {
|
|
8
|
+
/**
|
|
9
|
+
* A string of all className you want applied to the base component.
|
|
10
|
+
*/
|
|
11
|
+
className?: string
|
|
12
|
+
/**
|
|
13
|
+
* Item key.
|
|
14
|
+
*/
|
|
15
|
+
itemKey: number | string
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const CTab = forwardRef<HTMLButtonElement, CTabProps>(
|
|
19
|
+
({ children, className, itemKey, ...rest }, ref) => {
|
|
20
|
+
const { _activeItemKey, setActiveItemKey, id } = useContext(TabsContext)
|
|
21
|
+
|
|
22
|
+
const isActive = () => itemKey === _activeItemKey
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<button
|
|
26
|
+
className={classNames(
|
|
27
|
+
'nav-link',
|
|
28
|
+
{
|
|
29
|
+
active: isActive(),
|
|
30
|
+
},
|
|
31
|
+
className,
|
|
32
|
+
)}
|
|
33
|
+
id={`${id}${itemKey}-tab`}
|
|
34
|
+
onClick={() => setActiveItemKey(itemKey)}
|
|
35
|
+
onFocus={() => setActiveItemKey(itemKey)}
|
|
36
|
+
role="tab"
|
|
37
|
+
tabIndex={isActive() ? 0 : -1}
|
|
38
|
+
type="button"
|
|
39
|
+
aria-controls={`${id}${itemKey}-tab-pane`}
|
|
40
|
+
aria-selected={isActive()}
|
|
41
|
+
ref={ref}
|
|
42
|
+
{...rest}
|
|
43
|
+
>
|
|
44
|
+
{children}
|
|
45
|
+
</button>
|
|
46
|
+
)
|
|
47
|
+
},
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
CTab.propTypes = {
|
|
51
|
+
children: PropTypes.node,
|
|
52
|
+
className: PropTypes.string,
|
|
53
|
+
itemKey: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
CTab.displayName = 'CTab'
|