@coreui/react 4.7.0 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/accordion/index.d.ts +1 -2
- package/dist/components/dropdown/CDropdown.d.ts +7 -0
- package/dist/index.es.js +46 -51
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +45 -51
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/accordion/index.ts +0 -2
- package/src/components/dropdown/CDropdown.tsx +38 -30
- package/src/components/dropdown/CDropdownMenu.tsx +45 -41
- package/src/components/offcanvas/COffcanvas.tsx +3 -5
- package/dist/components/Types.d.ts +0 -12
- package/src/components/accordion/CAccordionCollapse.tsx +0 -20
- package/src/components/accordion/__tests__/CAccordionCollapse.spec.tsx +0 -10
- /package/dist/{Types.d.ts → types.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
|
|
47
47
|
Several quick start options are available:
|
|
48
48
|
|
|
49
|
-
- [Download the latest release](https://github.com/coreui/coreui-react/archive/v4.
|
|
49
|
+
- [Download the latest release](https://github.com/coreui/coreui-react/archive/v4.8.0.zip)
|
|
50
50
|
- Clone the repo: `git clone https://github.com/coreui/coreui-react.git`
|
|
51
51
|
- Install with [npm](https://www.npmjs.com/): `npm install @coreui/react`
|
|
52
52
|
- Install with [yarn](https://yarnpkg.com/): `yarn add @coreui/react`
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { CAccordion } from './CAccordion';
|
|
2
2
|
import { CAccordionBody } from './CAccordionBody';
|
|
3
3
|
import { CAccordionButton } from './CAccordionButton';
|
|
4
|
-
import { CAccordionCollapse } from './CAccordionCollapse';
|
|
5
4
|
import { CAccordionHeader } from './CAccordionHeader';
|
|
6
5
|
import { CAccordionItem } from './CAccordionItem';
|
|
7
|
-
export { CAccordion, CAccordionBody, CAccordionButton,
|
|
6
|
+
export { CAccordion, CAccordionBody, CAccordionButton, CAccordionHeader, CAccordionItem, };
|
|
@@ -64,6 +64,12 @@ export interface CDropdownProps extends HTMLAttributes<HTMLDivElement | HTMLLIEl
|
|
|
64
64
|
* If you want to disable dynamic positioning set this property to `true`.
|
|
65
65
|
*/
|
|
66
66
|
popper?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Generates dropdown menu using createPortal.
|
|
69
|
+
*
|
|
70
|
+
* @since 4.8.0
|
|
71
|
+
*/
|
|
72
|
+
portal?: boolean;
|
|
67
73
|
/**
|
|
68
74
|
* Set the dropdown variant to an btn-group, dropdown, input-group, and nav-item.
|
|
69
75
|
*/
|
|
@@ -76,6 +82,7 @@ export interface CDropdownProps extends HTMLAttributes<HTMLDivElement | HTMLLIEl
|
|
|
76
82
|
interface ContextProps extends CDropdownProps {
|
|
77
83
|
dropdownToggleRef: RefObject<any> | undefined;
|
|
78
84
|
setVisible: React.Dispatch<React.SetStateAction<boolean | undefined>>;
|
|
85
|
+
portal: boolean;
|
|
79
86
|
}
|
|
80
87
|
export declare const CDropdownContext: React.Context<ContextProps>;
|
|
81
88
|
export declare const CDropdown: React.ForwardRefExoticComponent<CDropdownProps & React.RefAttributes<HTMLDivElement | HTMLLIElement>>;
|
package/dist/index.es.js
CHANGED
|
@@ -2605,15 +2605,6 @@ CAccordionButton.propTypes = {
|
|
|
2605
2605
|
};
|
|
2606
2606
|
CAccordionButton.displayName = 'CAccordionButton';
|
|
2607
2607
|
|
|
2608
|
-
var CAccordionCollapse = forwardRef(function (_a, ref) {
|
|
2609
|
-
var children = _a.children, props = __rest(_a, ["children"]);
|
|
2610
|
-
return (React__default.createElement(CCollapse, __assign({ className: "accordion-collapse" }, props, { ref: ref }), children));
|
|
2611
|
-
});
|
|
2612
|
-
CAccordionCollapse.propTypes = {
|
|
2613
|
-
children: propTypesExports.node,
|
|
2614
|
-
};
|
|
2615
|
-
CAccordionCollapse.displayName = 'CAccordionCollapse';
|
|
2616
|
-
|
|
2617
2608
|
var CAccordionHeader = forwardRef(function (_a, ref) {
|
|
2618
2609
|
var children = _a.children, className = _a.className, rest = __rest(_a, ["children", "className"]);
|
|
2619
2610
|
return (React__default.createElement("div", __assign({ className: classNames('accordion-header', className) }, rest, { ref: ref }),
|
|
@@ -5727,13 +5718,18 @@ function Reference(_ref) {
|
|
|
5727
5718
|
});
|
|
5728
5719
|
}
|
|
5729
5720
|
|
|
5721
|
+
var PopperManagerWrapper = function (_a) {
|
|
5722
|
+
var children = _a.children, popper = _a.popper;
|
|
5723
|
+
return popper ? React__default.createElement(Manager, null, children) : React__default.createElement(React__default.Fragment, null, children);
|
|
5724
|
+
};
|
|
5730
5725
|
var CDropdownContext = createContext({});
|
|
5731
5726
|
var CDropdown = forwardRef(function (_a, ref) {
|
|
5732
|
-
var
|
|
5727
|
+
var _b;
|
|
5728
|
+
var children = _a.children, alignment = _a.alignment, _c = _a.autoClose, autoClose = _c === void 0 ? true : _c, className = _a.className, dark = _a.dark, direction = _a.direction, onHide = _a.onHide, onShow = _a.onShow, _d = _a.placement, placement = _d === void 0 ? 'bottom-start' : _d, _e = _a.popper, popper = _e === void 0 ? true : _e, _f = _a.portal, portal = _f === void 0 ? false : _f, _g = _a.variant, variant = _g === void 0 ? 'btn-group' : _g, _h = _a.component, component = _h === void 0 ? 'div' : _h, _j = _a.visible, visible = _j === void 0 ? false : _j, rest = __rest(_a, ["children", "alignment", "autoClose", "className", "dark", "direction", "onHide", "onShow", "placement", "popper", "portal", "variant", "component", "visible"]);
|
|
5733
5729
|
var dropdownRef = useRef(null);
|
|
5734
5730
|
var dropdownToggleRef = useRef(null);
|
|
5735
5731
|
var forkedRef = useForkedRef(ref, dropdownRef);
|
|
5736
|
-
var
|
|
5732
|
+
var _k = useState(visible), _visible = _k[0], setVisible = _k[1];
|
|
5737
5733
|
var Component = variant === 'nav-item' ? 'li' : component;
|
|
5738
5734
|
// Disable popper if responsive aligment is set.
|
|
5739
5735
|
if (typeof alignment === 'object') {
|
|
@@ -5747,6 +5743,7 @@ var CDropdown = forwardRef(function (_a, ref) {
|
|
|
5747
5743
|
dropdownToggleRef: dropdownToggleRef,
|
|
5748
5744
|
placement: placement,
|
|
5749
5745
|
popper: popper,
|
|
5746
|
+
portal: portal,
|
|
5750
5747
|
variant: variant,
|
|
5751
5748
|
visible: _visible,
|
|
5752
5749
|
setVisible: setVisible,
|
|
@@ -5758,16 +5755,14 @@ var CDropdown = forwardRef(function (_a, ref) {
|
|
|
5758
5755
|
_visible && onShow && onShow();
|
|
5759
5756
|
!_visible && onHide && onHide();
|
|
5760
5757
|
}, [_visible]);
|
|
5761
|
-
|
|
5762
|
-
|
|
5763
|
-
|
|
5764
|
-
|
|
5765
|
-
|
|
5766
|
-
|
|
5767
|
-
|
|
5768
|
-
|
|
5769
|
-
return (React__default.createElement(CDropdownContext.Provider, { value: contextValues }, popper ? (React__default.createElement(Manager, null,
|
|
5770
|
-
React__default.createElement(DropdownContent, null))) : (React__default.createElement(DropdownContent, null))));
|
|
5758
|
+
return (React__default.createElement(CDropdownContext.Provider, { value: contextValues },
|
|
5759
|
+
React__default.createElement(PopperManagerWrapper, { popper: popper }, variant === 'input-group' ? (React__default.createElement(React__default.Fragment, null, children)) : (React__default.createElement(Component, __assign({ className: classNames(variant === 'nav-item' ? 'nav-item dropdown' : variant, (_b = {
|
|
5760
|
+
'dropdown-center': direction === 'center',
|
|
5761
|
+
'dropup dropup-center': direction === 'dropup-center'
|
|
5762
|
+
},
|
|
5763
|
+
_b["".concat(direction)] = direction && direction !== 'center' && direction !== 'dropup-center',
|
|
5764
|
+
_b.show = _visible,
|
|
5765
|
+
_b), className) }, rest, { ref: forkedRef }), children)))));
|
|
5771
5766
|
});
|
|
5772
5767
|
var alignmentDirection = propTypesExports.oneOf(['start', 'end']);
|
|
5773
5768
|
CDropdown.propTypes = {
|
|
@@ -5794,6 +5789,7 @@ CDropdown.propTypes = {
|
|
|
5794
5789
|
onShow: propTypesExports.func,
|
|
5795
5790
|
placement: placementPropType,
|
|
5796
5791
|
popper: propTypesExports.bool,
|
|
5792
|
+
portal: propTypesExports.bool,
|
|
5797
5793
|
variant: propTypesExports.oneOf(['btn-group', 'dropdown', 'input-group', 'nav-item']),
|
|
5798
5794
|
visible: propTypesExports.bool,
|
|
5799
5795
|
};
|
|
@@ -5841,9 +5837,21 @@ CDropdownItemPlain.propTypes = {
|
|
|
5841
5837
|
};
|
|
5842
5838
|
CDropdownItemPlain.displayName = 'CDropdownItemPlain';
|
|
5843
5839
|
|
|
5840
|
+
var alignmentClassNames = function (alignment) {
|
|
5841
|
+
var classNames = [];
|
|
5842
|
+
if (typeof alignment === 'object') {
|
|
5843
|
+
Object.keys(alignment).map(function (key) {
|
|
5844
|
+
classNames.push("dropdown-menu".concat(key === 'xs' ? '' : "-".concat(key), "-").concat(alignment[key]));
|
|
5845
|
+
});
|
|
5846
|
+
}
|
|
5847
|
+
if (typeof alignment === 'string') {
|
|
5848
|
+
classNames.push("dropdown-menu-".concat(alignment));
|
|
5849
|
+
}
|
|
5850
|
+
return classNames;
|
|
5851
|
+
};
|
|
5844
5852
|
var CDropdownMenu = function (_a) {
|
|
5845
5853
|
var children = _a.children, className = _a.className, _b = _a.component, Component = _b === void 0 ? 'ul' : _b, rest = __rest(_a, ["children", "className", "component"]);
|
|
5846
|
-
var _c = useContext(CDropdownContext), alignment = _c.alignment, autoClose = _c.autoClose, dark = _c.dark, direction = _c.direction, dropdownToggleRef = _c.dropdownToggleRef, placement = _c.placement, popper = _c.popper, visible = _c.visible, setVisible = _c.setVisible;
|
|
5854
|
+
var _c = useContext(CDropdownContext), alignment = _c.alignment, autoClose = _c.autoClose, dark = _c.dark, direction = _c.direction, dropdownToggleRef = _c.dropdownToggleRef, placement = _c.placement, popper = _c.popper, portal = _c.portal, visible = _c.visible, setVisible = _c.setVisible;
|
|
5847
5855
|
var dropdownMenuRef = useRef(null);
|
|
5848
5856
|
useEffect(function () {
|
|
5849
5857
|
visible && window.addEventListener('mouseup', handleMouseUp);
|
|
@@ -5892,29 +5900,18 @@ var CDropdownMenu = function (_a) {
|
|
|
5892
5900
|
if (alignment === 'end') {
|
|
5893
5901
|
_placement = 'bottom-end';
|
|
5894
5902
|
}
|
|
5895
|
-
var
|
|
5896
|
-
|
|
5897
|
-
|
|
5898
|
-
|
|
5899
|
-
|
|
5900
|
-
|
|
5901
|
-
|
|
5902
|
-
|
|
5903
|
-
|
|
5904
|
-
|
|
5905
|
-
|
|
5906
|
-
|
|
5907
|
-
var dropdownMenuComponent = function (style, ref) { return (React__default.createElement(Component, __assign({ className: classNames('dropdown-menu', {
|
|
5908
|
-
'dropdown-menu-dark': dark,
|
|
5909
|
-
show: visible,
|
|
5910
|
-
}, alignment && alignmentClassNames(alignment), className), ref: ref, style: style, role: "menu", "aria-hidden": !visible }, (!popper && { 'data-coreui-popper': 'static' }), rest), Component === 'ul'
|
|
5911
|
-
? React__default.Children.map(children, function (child, index) {
|
|
5912
|
-
if (React__default.isValidElement(child)) {
|
|
5913
|
-
return React__default.createElement("li", { key: index }, React__default.cloneElement(child));
|
|
5914
|
-
}
|
|
5915
|
-
return;
|
|
5916
|
-
})
|
|
5917
|
-
: children)); };
|
|
5903
|
+
var dropdownMenuComponent = function (style, ref) { return (React__default.createElement(CConditionalPortal, { portal: portal !== null && portal !== void 0 ? portal : false },
|
|
5904
|
+
React__default.createElement(Component, __assign({ className: classNames('dropdown-menu', {
|
|
5905
|
+
'dropdown-menu-dark': dark,
|
|
5906
|
+
show: visible,
|
|
5907
|
+
}, alignment && alignmentClassNames(alignment), className), ref: ref, style: style, role: "menu", "aria-hidden": !visible }, (!popper && { 'data-coreui-popper': 'static' }), rest), Component === 'ul'
|
|
5908
|
+
? React__default.Children.map(children, function (child, index) {
|
|
5909
|
+
if (React__default.isValidElement(child)) {
|
|
5910
|
+
return React__default.createElement("li", { key: index }, React__default.cloneElement(child));
|
|
5911
|
+
}
|
|
5912
|
+
return;
|
|
5913
|
+
})
|
|
5914
|
+
: children))); };
|
|
5918
5915
|
return popper && visible ? (React__default.createElement(Popper, { innerRef: dropdownMenuRef, placement: _placement }, function (_a) {
|
|
5919
5916
|
var ref = _a.ref, style = _a.style;
|
|
5920
5917
|
return dropdownMenuComponent(style, ref);
|
|
@@ -6969,11 +6966,9 @@ var COffcanvas = forwardRef(function (_a, ref) {
|
|
|
6969
6966
|
setVisible(visible);
|
|
6970
6967
|
}, [visible]);
|
|
6971
6968
|
useEffect(function () {
|
|
6972
|
-
if (_visible) {
|
|
6973
|
-
|
|
6974
|
-
|
|
6975
|
-
document.body.style.paddingRight = '0px';
|
|
6976
|
-
}
|
|
6969
|
+
if (_visible && !scroll) {
|
|
6970
|
+
document.body.style.overflow = 'hidden';
|
|
6971
|
+
document.body.style.paddingRight = '0px';
|
|
6977
6972
|
return;
|
|
6978
6973
|
}
|
|
6979
6974
|
if (!scroll) {
|
|
@@ -7917,5 +7912,5 @@ CWidgetStatsF.propTypes = {
|
|
|
7917
7912
|
};
|
|
7918
7913
|
CWidgetStatsF.displayName = 'CWidgetStatsF';
|
|
7919
7914
|
|
|
7920
|
-
export { CAccordion, CAccordionBody, CAccordionButton,
|
|
7915
|
+
export { CAccordion, CAccordionBody, CAccordionButton, CAccordionHeader, CAccordionItem, CAlert, CAlertHeading, CAlertLink, CAvatar, CBackdrop, CBadge, CBreadcrumb, CBreadcrumbItem, CButton, CButtonGroup, CButtonToolbar, CCallout, CCard, CCardBody, CCardFooter, CCardGroup, CCardHeader, CCardImage, CCardImageOverlay, CCardLink, CCardSubtitle, CCardText, CCardTitle, CCarousel, CCarouselCaption, CCarouselItem, CCloseButton, CCol, CCollapse, CConditionalPortal, CContainer, CDropdown, CDropdownDivider, CDropdownHeader, CDropdownItem, CDropdownItemPlain, CDropdownMenu, CDropdownToggle, CFooter, CForm, CFormCheck, CFormControlValidation, CFormControlWrapper, CFormFeedback, CFormFloating, CFormInput, CFormLabel, CFormRange, CFormSelect, CFormSwitch, CFormText, CFormTextarea, CHeader, CHeaderBrand, CHeaderDivider, CHeaderNav, CHeaderText, CHeaderToggler, CImage, CInputGroup, CInputGroupText, CLink, CListGroup, CListGroupItem, CModal, CModalBody, CModalContent, CModalDialog, CModalFooter, CModalHeader, CModalTitle, CNav, CNavGroup, CNavGroupItems, CNavItem, CNavLink, CNavTitle, CNavbar, CNavbarBrand, CNavbarNav, CNavbarText, CNavbarToggler, COffcanvas, COffcanvasBody, COffcanvasHeader, COffcanvasTitle, CPagination, CPaginationItem, CPlaceholder, CPopover, CProgress, CProgressBar, CRow, CSidebar, CSidebarBrand, CSidebarFooter, CSidebarHeader, CSidebarNav, CSidebarToggler, CSpinner, CTabContent, CTabPane, CTable, CTableBody, CTableCaption, CTableDataCell, CTableFoot, CTableHead, CTableHeaderCell, CTableRow, CToast, CToastBody, CToastClose, CToastHeader, CToaster, CTooltip, CWidgetStatsA, CWidgetStatsB, CWidgetStatsC, CWidgetStatsD, CWidgetStatsE, CWidgetStatsF };
|
|
7921
7916
|
//# sourceMappingURL=index.es.js.map
|