@coreui/react 5.0.0-rc.0 → 5.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +2 -2
- 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/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/dropdown/CDropdown.d.ts +6 -5
- package/dist/cjs/components/dropdown/CDropdown.js +3 -3
- 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/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/header/CHeaderBrand.d.ts +7 -6
- 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/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/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/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/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 +19 -12
- package/dist/cjs/components/popover/CPopover.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/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/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 +19 -12
- package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
- package/dist/cjs/helpers/index.d.ts +2 -0
- package/dist/cjs/helpers/polymorphicComponent.d.ts +14 -0
- 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 +2 -2
- 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/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/dropdown/CDropdown.d.ts +6 -5
- package/dist/esm/components/dropdown/CDropdown.js +3 -3
- 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/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/header/CHeaderBrand.d.ts +7 -6
- 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/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/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/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/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 +19 -12
- package/dist/esm/components/popover/CPopover.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/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/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 +19 -12
- package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
- package/dist/esm/helpers/index.d.ts +2 -0
- package/dist/esm/helpers/polymorphicComponent.d.ts +14 -0
- package/package.json +10 -10
- package/src/components/alert/CAlertHeading.tsx +17 -14
- package/src/components/alert/__tests__/CAlertHeading.spec.tsx +1 -1
- package/src/components/badge/CBadge.tsx +11 -7
- 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/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/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 +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/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/spinner/CSpinner.tsx +11 -7
- package/src/components/spinner/__tests__/CSpinner.spec.tsx +1 -1
- 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
|
@@ -10,7 +10,7 @@ test('loads and displays CFormText component', async () => {
|
|
|
10
10
|
|
|
11
11
|
test('CFormText customize', async () => {
|
|
12
12
|
const { container } = render(
|
|
13
|
-
<CFormText className="bazinga"
|
|
13
|
+
<CFormText className="bazinga" as="h3">
|
|
14
14
|
Test
|
|
15
15
|
</CFormText>,
|
|
16
16
|
)
|
|
@@ -10,7 +10,7 @@ test('loads and displays CInputGroupText component', async () => {
|
|
|
10
10
|
|
|
11
11
|
test('renders CInputGroupText component as a label', async () => {
|
|
12
12
|
const { container } = render(
|
|
13
|
-
<CInputGroupText
|
|
13
|
+
<CInputGroupText as="label" htmlFor="input">
|
|
14
14
|
Test
|
|
15
15
|
</CInputGroupText>,
|
|
16
16
|
)
|
|
@@ -2,32 +2,35 @@ import React, { ElementType, forwardRef, AnchorHTMLAttributes } from 'react'
|
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import classNames from 'classnames'
|
|
4
4
|
|
|
5
|
+
import { PolymorphicRefForwardingComponent } from '../../helpers'
|
|
6
|
+
|
|
5
7
|
export interface CHeaderBrandProps
|
|
6
8
|
extends AnchorHTMLAttributes<HTMLAnchorElement | HTMLSpanElement> {
|
|
7
9
|
/**
|
|
8
|
-
*
|
|
10
|
+
* Component used for the root node. Either a string to use a HTML element or a component.
|
|
9
11
|
*/
|
|
10
|
-
|
|
12
|
+
as?: ElementType
|
|
11
13
|
/**
|
|
12
|
-
*
|
|
14
|
+
* A string of all className you want applied to the component.
|
|
13
15
|
*/
|
|
14
|
-
|
|
16
|
+
className?: string
|
|
15
17
|
}
|
|
16
18
|
|
|
17
|
-
export const CHeaderBrand
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
)
|
|
19
|
+
export const CHeaderBrand: PolymorphicRefForwardingComponent<'a', CHeaderBrandProps> = forwardRef<
|
|
20
|
+
HTMLAnchorElement | HTMLSpanElement,
|
|
21
|
+
CHeaderBrandProps
|
|
22
|
+
>(({ children, as: Component = 'a', className, ...rest }, ref) => {
|
|
23
|
+
return (
|
|
24
|
+
<Component className={classNames('header-brand', className)} {...rest} ref={ref}>
|
|
25
|
+
{children}
|
|
26
|
+
</Component>
|
|
27
|
+
)
|
|
28
|
+
})
|
|
26
29
|
|
|
27
30
|
CHeaderBrand.propTypes = {
|
|
31
|
+
as: PropTypes.elementType,
|
|
28
32
|
children: PropTypes.node,
|
|
29
33
|
className: PropTypes.string,
|
|
30
|
-
component: PropTypes.elementType,
|
|
31
34
|
}
|
|
32
35
|
|
|
33
36
|
CHeaderBrand.displayName = 'CHeaderBrand'
|
|
@@ -2,36 +2,39 @@ import React, { ElementType, forwardRef, HTMLAttributes } from 'react'
|
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import classNames from 'classnames'
|
|
4
4
|
|
|
5
|
+
import { PolymorphicRefForwardingComponent } from '../../helpers'
|
|
6
|
+
|
|
5
7
|
export interface CHeaderNavProps extends HTMLAttributes<HTMLDivElement | HTMLUListElement> {
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* Component used for the root node. Either a string to use a HTML element or a component.
|
|
8
10
|
*/
|
|
9
|
-
|
|
11
|
+
as?: ElementType
|
|
10
12
|
/**
|
|
11
|
-
*
|
|
13
|
+
* A string of all className you want applied to the component.
|
|
12
14
|
*/
|
|
13
|
-
|
|
15
|
+
className?: string
|
|
14
16
|
}
|
|
15
17
|
|
|
16
|
-
export const CHeaderNav
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
)
|
|
18
|
+
export const CHeaderNav: PolymorphicRefForwardingComponent<'ul', CHeaderNavProps> = forwardRef<
|
|
19
|
+
HTMLDivElement | HTMLUListElement,
|
|
20
|
+
CHeaderNavProps
|
|
21
|
+
>(({ children, as: Component = 'ul', className, ...rest }, ref) => {
|
|
22
|
+
return (
|
|
23
|
+
<Component
|
|
24
|
+
className={classNames('header-nav', className)}
|
|
25
|
+
role="navigation"
|
|
26
|
+
{...rest}
|
|
27
|
+
ref={ref}
|
|
28
|
+
>
|
|
29
|
+
{children}
|
|
30
|
+
</Component>
|
|
31
|
+
)
|
|
32
|
+
})
|
|
30
33
|
|
|
31
34
|
CHeaderNav.propTypes = {
|
|
35
|
+
as: PropTypes.elementType,
|
|
32
36
|
children: PropTypes.node,
|
|
33
37
|
className: PropTypes.string,
|
|
34
|
-
component: PropTypes.elementType,
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
CHeaderNav.displayName = 'CHeaderNav'
|
|
@@ -10,7 +10,7 @@ test('loads and displays CHeaderBrand component', async () => {
|
|
|
10
10
|
|
|
11
11
|
test('CHeaderBrand customize', async () => {
|
|
12
12
|
const { container } = render(
|
|
13
|
-
<CHeaderBrand className="bazinga"
|
|
13
|
+
<CHeaderBrand className="bazinga" as="h3">
|
|
14
14
|
Test
|
|
15
15
|
</CHeaderBrand>,
|
|
16
16
|
)
|
|
@@ -10,7 +10,7 @@ test('loads and displays CHeaderNav component', async () => {
|
|
|
10
10
|
|
|
11
11
|
test('CHeaderNav customize', async () => {
|
|
12
12
|
const { container } = render(
|
|
13
|
-
<CHeaderNav className="bazinga"
|
|
13
|
+
<CHeaderNav className="bazinga" as="h3">
|
|
14
14
|
Test
|
|
15
15
|
</CHeaderNav>,
|
|
16
16
|
)
|
|
@@ -2,19 +2,22 @@ import React, { AllHTMLAttributes, ElementType, forwardRef, MouseEvent } from 'r
|
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import classNames from 'classnames'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import { PolymorphicRefForwardingComponent } from '../../helpers'
|
|
6
|
+
|
|
7
|
+
export interface CLinkProps
|
|
8
|
+
extends Omit<AllHTMLAttributes<HTMLButtonElement | HTMLAnchorElement>, 'as'> {
|
|
6
9
|
/**
|
|
7
10
|
* Toggle the active state for the component.
|
|
8
11
|
*/
|
|
9
12
|
active?: boolean
|
|
10
13
|
/**
|
|
11
|
-
*
|
|
14
|
+
* Component used for the root node. Either a string to use a HTML element or a component.
|
|
12
15
|
*/
|
|
13
|
-
|
|
16
|
+
as?: ElementType
|
|
14
17
|
/**
|
|
15
|
-
*
|
|
18
|
+
* A string of all className you want applied to the component.
|
|
16
19
|
*/
|
|
17
|
-
|
|
20
|
+
className?: string
|
|
18
21
|
/**
|
|
19
22
|
* Toggle the disabled state for the component.
|
|
20
23
|
*/
|
|
@@ -25,35 +28,36 @@ export interface CLinkProps extends AllHTMLAttributes<HTMLButtonElement | HTMLAn
|
|
|
25
28
|
href?: string
|
|
26
29
|
}
|
|
27
30
|
|
|
28
|
-
export const CLink
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
)
|
|
31
|
+
export const CLink: PolymorphicRefForwardingComponent<'a', CLinkProps> = forwardRef<
|
|
32
|
+
HTMLButtonElement | HTMLAnchorElement,
|
|
33
|
+
CLinkProps
|
|
34
|
+
>(({ children, active, as: Component = 'a', className, disabled, ...rest }, ref) => {
|
|
35
|
+
return (
|
|
36
|
+
<Component
|
|
37
|
+
// TODO: remove duplicated classes ex. `active active` in `<CListGroupItem>`
|
|
38
|
+
className={classNames(className, { active, disabled })}
|
|
39
|
+
{...(active && { 'aria-current': 'page' })}
|
|
40
|
+
{...(Component === 'a' && disabled && { 'aria-disabled': true, tabIndex: -1 })}
|
|
41
|
+
{...((Component === 'a' || Component === 'button') && {
|
|
42
|
+
onClick: (event: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {
|
|
43
|
+
event.preventDefault
|
|
44
|
+
!disabled && rest.onClick && rest.onClick(event)
|
|
45
|
+
},
|
|
46
|
+
})}
|
|
47
|
+
disabled={disabled}
|
|
48
|
+
{...rest}
|
|
49
|
+
ref={ref}
|
|
50
|
+
>
|
|
51
|
+
{children}
|
|
52
|
+
</Component>
|
|
53
|
+
)
|
|
54
|
+
})
|
|
51
55
|
|
|
52
56
|
CLink.propTypes = {
|
|
53
57
|
active: PropTypes.bool,
|
|
58
|
+
as: PropTypes.elementType,
|
|
54
59
|
children: PropTypes.node,
|
|
55
60
|
className: PropTypes.string,
|
|
56
|
-
component: PropTypes.elementType,
|
|
57
61
|
disabled: PropTypes.bool,
|
|
58
62
|
}
|
|
59
63
|
|
|
@@ -10,7 +10,7 @@ test('loads and displays CLink component', async () => {
|
|
|
10
10
|
|
|
11
11
|
test('CLink customize', async () => {
|
|
12
12
|
const { container } = render(
|
|
13
|
-
<CLink className="bazinga" active={true}
|
|
13
|
+
<CLink className="bazinga" active={true} as="button" disabled type="submit">
|
|
14
14
|
Test
|
|
15
15
|
</CLink>,
|
|
16
16
|
)
|
|
@@ -38,7 +38,7 @@ test('CLink click on button', async () => {
|
|
|
38
38
|
test('CLink click on disabled button', async () => {
|
|
39
39
|
const click = jest.fn()
|
|
40
40
|
render(
|
|
41
|
-
<CLink onClick={click} className="bazinga"
|
|
41
|
+
<CLink onClick={click} className="bazinga" as="button" disabled>
|
|
42
42
|
Test
|
|
43
43
|
</CLink>,
|
|
44
44
|
)
|
|
@@ -2,15 +2,17 @@ import React, { ElementType, forwardRef, HTMLAttributes } from 'react'
|
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import classNames from 'classnames'
|
|
4
4
|
|
|
5
|
+
import { PolymorphicRefForwardingComponent } from '../../helpers'
|
|
6
|
+
|
|
5
7
|
export interface CListGroupProps extends HTMLAttributes<HTMLDivElement | HTMLUListElement> {
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* Component used for the root node. Either a string to use a HTML element or a component.
|
|
8
10
|
*/
|
|
9
|
-
|
|
11
|
+
as?: ElementType
|
|
10
12
|
/**
|
|
11
|
-
*
|
|
13
|
+
* A string of all className you want applied to the component.
|
|
12
14
|
*/
|
|
13
|
-
|
|
15
|
+
className?: string
|
|
14
16
|
/**
|
|
15
17
|
* Remove some borders and rounded corners to render list group items edge-to-edge in a parent component (e.g., `<CCard>`).
|
|
16
18
|
*/
|
|
@@ -27,30 +29,31 @@ export interface CListGroupProps extends HTMLAttributes<HTMLDivElement | HTMLULi
|
|
|
27
29
|
| 'horizontal-xxl'
|
|
28
30
|
}
|
|
29
31
|
|
|
30
|
-
export const CListGroup
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
)
|
|
32
|
+
export const CListGroup: PolymorphicRefForwardingComponent<'ul', CListGroupProps> = forwardRef<
|
|
33
|
+
HTMLDivElement | HTMLUListElement,
|
|
34
|
+
CListGroupProps
|
|
35
|
+
>(({ children, as: Component = 'ul', className, flush, layout }, ref) => {
|
|
36
|
+
return (
|
|
37
|
+
<Component
|
|
38
|
+
className={classNames(
|
|
39
|
+
'list-group',
|
|
40
|
+
{
|
|
41
|
+
'list-group-flush': flush,
|
|
42
|
+
[`list-group-${layout}`]: layout,
|
|
43
|
+
},
|
|
44
|
+
className,
|
|
45
|
+
)}
|
|
46
|
+
ref={ref}
|
|
47
|
+
>
|
|
48
|
+
{children}
|
|
49
|
+
</Component>
|
|
50
|
+
)
|
|
51
|
+
})
|
|
49
52
|
|
|
50
53
|
CListGroup.propTypes = {
|
|
54
|
+
as: PropTypes.elementType,
|
|
51
55
|
children: PropTypes.node,
|
|
52
56
|
className: PropTypes.string,
|
|
53
|
-
component: PropTypes.elementType,
|
|
54
57
|
flush: PropTypes.bool,
|
|
55
58
|
layout: PropTypes.oneOf([
|
|
56
59
|
'horizontal',
|
|
@@ -4,6 +4,7 @@ import classNames from 'classnames'
|
|
|
4
4
|
|
|
5
5
|
import { CLink } from '../link/CLink'
|
|
6
6
|
|
|
7
|
+
import { PolymorphicRefForwardingComponent } from '../../helpers'
|
|
7
8
|
import { colorPropType } from '../../props'
|
|
8
9
|
import type { Colors } from '../../types'
|
|
9
10
|
|
|
@@ -13,6 +14,10 @@ export interface CListGroupItemProps
|
|
|
13
14
|
* Toggle the active state for the component.
|
|
14
15
|
*/
|
|
15
16
|
active?: boolean
|
|
17
|
+
/**
|
|
18
|
+
* Component used for the root node. Either a string to use a HTML element or a component.
|
|
19
|
+
*/
|
|
20
|
+
as?: ElementType
|
|
16
21
|
/**
|
|
17
22
|
* A string of all className you want applied to the component.
|
|
18
23
|
*/
|
|
@@ -27,55 +32,51 @@ export interface CListGroupItemProps
|
|
|
27
32
|
* Toggle the disabled state for the component.
|
|
28
33
|
*/
|
|
29
34
|
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
|
}
|
|
35
36
|
|
|
36
|
-
export const CListGroupItem =
|
|
37
|
-
HTMLLIElement | HTMLAnchorElement | HTMLButtonElement,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const Component = component === 'a' || component === 'button' ? CLink : component
|
|
37
|
+
export const CListGroupItem: PolymorphicRefForwardingComponent<'li', CListGroupItemProps> =
|
|
38
|
+
forwardRef<HTMLLIElement | HTMLAnchorElement | HTMLButtonElement, CListGroupItemProps>(
|
|
39
|
+
({ children, active, as = 'li', className, disabled, color, ...rest }, ref) => {
|
|
40
|
+
const Component = as === 'a' || as === 'button' ? CLink : as
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
active,
|
|
45
|
-
disabled,
|
|
46
|
-
component,
|
|
47
|
-
ref: ref,
|
|
48
|
-
}),
|
|
49
|
-
...(active && { 'aria-current': true }),
|
|
50
|
-
...(disabled && { 'aria-disabled': true }),
|
|
51
|
-
...rest,
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return (
|
|
55
|
-
<Component
|
|
56
|
-
className={classNames(
|
|
57
|
-
'list-group-item',
|
|
58
|
-
{
|
|
59
|
-
[`list-group-item-${color}`]: color,
|
|
60
|
-
'list-group-item-action': component === 'a' || component === 'button',
|
|
42
|
+
rest = {
|
|
43
|
+
...((as === 'a' || as === 'button') && {
|
|
61
44
|
active,
|
|
62
45
|
disabled,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
46
|
+
as,
|
|
47
|
+
ref: ref,
|
|
48
|
+
}),
|
|
49
|
+
...(active && { 'aria-current': true }),
|
|
50
|
+
...(disabled && { 'aria-disabled': true }),
|
|
51
|
+
...rest,
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return (
|
|
55
|
+
<Component
|
|
56
|
+
className={classNames(
|
|
57
|
+
'list-group-item',
|
|
58
|
+
{
|
|
59
|
+
[`list-group-item-${color}`]: color,
|
|
60
|
+
'list-group-item-action': as === 'a' || as === 'button',
|
|
61
|
+
active,
|
|
62
|
+
disabled,
|
|
63
|
+
},
|
|
64
|
+
className,
|
|
65
|
+
)}
|
|
66
|
+
{...rest}
|
|
67
|
+
>
|
|
68
|
+
{children}
|
|
69
|
+
</Component>
|
|
70
|
+
)
|
|
71
|
+
},
|
|
70
72
|
)
|
|
71
|
-
})
|
|
72
73
|
|
|
73
74
|
CListGroupItem.propTypes = {
|
|
74
75
|
active: PropTypes.bool,
|
|
76
|
+
as: PropTypes.elementType,
|
|
75
77
|
children: PropTypes.node,
|
|
76
78
|
className: PropTypes.string,
|
|
77
79
|
color: colorPropType,
|
|
78
|
-
component: PropTypes.elementType,
|
|
79
80
|
disabled: PropTypes.bool,
|
|
80
81
|
}
|
|
81
82
|
|
|
@@ -10,7 +10,7 @@ test('loads and displays CListGroup component', async () => {
|
|
|
10
10
|
|
|
11
11
|
test('CListGroup customize', async () => {
|
|
12
12
|
const { container } = render(
|
|
13
|
-
<CListGroup className="bazinga"
|
|
13
|
+
<CListGroup className="bazinga" as="h3" flush={true} layout="horizontal-xl">
|
|
14
14
|
Test
|
|
15
15
|
</CListGroup>,
|
|
16
16
|
)
|
|
@@ -10,13 +10,7 @@ test('loads and displays CListGroupItem component', async () => {
|
|
|
10
10
|
|
|
11
11
|
test('CListGroupItem customize', async () => {
|
|
12
12
|
const { container } = render(
|
|
13
|
-
<CListGroupItem
|
|
14
|
-
className="bazinga"
|
|
15
|
-
active={true}
|
|
16
|
-
color="warning"
|
|
17
|
-
disabled={true}
|
|
18
|
-
component="button"
|
|
19
|
-
>
|
|
13
|
+
<CListGroupItem className="bazinga" active={true} color="warning" disabled={true} as="button">
|
|
20
14
|
Test
|
|
21
15
|
</CListGroupItem>,
|
|
22
16
|
)
|
|
@@ -200,10 +200,7 @@ export const CModal = forwardRef<HTMLDivElement, CModalProps>(
|
|
|
200
200
|
}, [_visible])
|
|
201
201
|
|
|
202
202
|
const handleClickOutside = (event: Event) => {
|
|
203
|
-
if (
|
|
204
|
-
modalContentRef.current &&
|
|
205
|
-
!modalContentRef.current.contains(event.target as HTMLElement)
|
|
206
|
-
) {
|
|
203
|
+
if (modalRef.current && modalRef.current == event.target) {
|
|
207
204
|
handleDismiss()
|
|
208
205
|
}
|
|
209
206
|
}
|
|
@@ -2,6 +2,8 @@ import React, { ElementType, forwardRef, HTMLAttributes } from 'react'
|
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import classNames from 'classnames'
|
|
4
4
|
|
|
5
|
+
import { PolymorphicRefForwardingComponent } from '../../helpers'
|
|
6
|
+
|
|
5
7
|
export interface CModalTitleProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
6
8
|
/**
|
|
7
9
|
* A string of all className you want applied to the base component.
|
|
@@ -10,23 +12,24 @@ export interface CModalTitleProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
|
10
12
|
/**
|
|
11
13
|
* Component used for the root node. Either a string to use a HTML element or a component.
|
|
12
14
|
*/
|
|
13
|
-
|
|
15
|
+
as?: ElementType
|
|
14
16
|
}
|
|
15
17
|
|
|
16
|
-
export const CModalTitle
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
)
|
|
18
|
+
export const CModalTitle: PolymorphicRefForwardingComponent<'h5', CModalTitleProps> = forwardRef<
|
|
19
|
+
HTMLHeadElement,
|
|
20
|
+
CModalTitleProps
|
|
21
|
+
>(({ children, as: Component = 'h5', className, ...rest }, ref) => {
|
|
22
|
+
return (
|
|
23
|
+
<Component className={classNames('modal-title', className)} {...rest} ref={ref}>
|
|
24
|
+
{children}
|
|
25
|
+
</Component>
|
|
26
|
+
)
|
|
27
|
+
})
|
|
25
28
|
|
|
26
29
|
CModalTitle.propTypes = {
|
|
30
|
+
as: PropTypes.elementType,
|
|
27
31
|
children: PropTypes.node,
|
|
28
32
|
className: PropTypes.string,
|
|
29
|
-
component: PropTypes.elementType,
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
CModalTitle.displayName = 'CModalTitle'
|
|
@@ -10,7 +10,7 @@ test('loads and displays CModalTitle component', async () => {
|
|
|
10
10
|
|
|
11
11
|
test('CModalTitle customize', async () => {
|
|
12
12
|
const { container } = render(
|
|
13
|
-
<CModalTitle className="bazinga"
|
|
13
|
+
<CModalTitle className="bazinga" as="h3">
|
|
14
14
|
Test
|
|
15
15
|
</CModalTitle>,
|
|
16
16
|
)
|
|
@@ -2,16 +2,18 @@ import React, { ElementType, forwardRef, HTMLAttributes } from 'react'
|
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import classNames from 'classnames'
|
|
4
4
|
|
|
5
|
+
import { PolymorphicRefForwardingComponent } from '../../helpers'
|
|
6
|
+
|
|
5
7
|
export interface CNavProps
|
|
6
8
|
extends HTMLAttributes<HTMLDivElement | HTMLUListElement | HTMLOListElement> {
|
|
7
9
|
/**
|
|
8
|
-
*
|
|
10
|
+
* Component used for the root node. Either a string to use a HTML element or a component.
|
|
9
11
|
*/
|
|
10
|
-
|
|
12
|
+
as?: ElementType
|
|
11
13
|
/**
|
|
12
|
-
*
|
|
14
|
+
* A string of all className you want applied to the base component.
|
|
13
15
|
*/
|
|
14
|
-
|
|
16
|
+
className?: string
|
|
15
17
|
/**
|
|
16
18
|
* Specify a layout type for component.
|
|
17
19
|
*/
|
|
@@ -22,32 +24,33 @@ export interface CNavProps
|
|
|
22
24
|
variant?: 'pills' | 'tabs' | 'underline' | 'underline-border'
|
|
23
25
|
}
|
|
24
26
|
|
|
25
|
-
export const CNav
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
)
|
|
27
|
+
export const CNav: PolymorphicRefForwardingComponent<'ul', CNavProps> = forwardRef<
|
|
28
|
+
HTMLDivElement | HTMLUListElement | HTMLOListElement,
|
|
29
|
+
CNavProps
|
|
30
|
+
>(({ children, as: Component = 'ul', className, layout, variant, ...rest }, ref) => {
|
|
31
|
+
return (
|
|
32
|
+
<Component
|
|
33
|
+
className={classNames(
|
|
34
|
+
'nav',
|
|
35
|
+
{
|
|
36
|
+
[`nav-${layout}`]: layout,
|
|
37
|
+
[`nav-${variant}`]: variant,
|
|
38
|
+
},
|
|
39
|
+
className,
|
|
40
|
+
)}
|
|
41
|
+
role="navigation"
|
|
42
|
+
{...rest}
|
|
43
|
+
ref={ref}
|
|
44
|
+
>
|
|
45
|
+
{children}
|
|
46
|
+
</Component>
|
|
47
|
+
)
|
|
48
|
+
})
|
|
46
49
|
|
|
47
50
|
CNav.propTypes = {
|
|
51
|
+
as: PropTypes.elementType,
|
|
48
52
|
children: PropTypes.node,
|
|
49
53
|
className: PropTypes.string,
|
|
50
|
-
component: PropTypes.elementType,
|
|
51
54
|
layout: PropTypes.oneOf(['fill', 'justified']),
|
|
52
55
|
variant: PropTypes.oneOf(['pills', 'tabs', 'underline', 'underline-border']),
|
|
53
56
|
}
|