design-react-kit
Version:
Componenti React per Bootstrap 5
32 lines • 1.88 kB
JavaScript
import classNames from 'classnames';
import React from 'react';
import { Collapse as CollapseBase } from 'reactstrap';
import { Icon } from '../Icon/Icon';
export const Collapse = ({ header = false, className, navbar, megamenu, children, isOpen = false, onOverlayClick, cssModule, testId, closeSrText = 'Nascondi la navigazione', ...attributes }) => {
const newCssModule = {
'navbar-collapse': 'navbar-collapsable',
...cssModule
};
if (megamenu || navbar) {
const classes = classNames(className, 'navbar-collapse', {
expanded: isOpen
});
const style = { display: isOpen ? 'block' : 'none' };
const overlayClasses = classNames('overlay', {
fade: isOpen,
show: isOpen
});
return (React.createElement(CollapseBase, { className: classes, cssModule: newCssModule, navbar: navbar, style: style, "data-testid": testId, ...attributes },
React.createElement("div", { className: overlayClasses, style: style, onClick: onOverlayClick }),
React.createElement("div", { className: 'close-div' },
React.createElement("button", { className: 'btn close-menu', type: 'button', onClick: onOverlayClick },
React.createElement("span", { className: 'visually-hidden' }, closeSrText),
React.createElement(Icon, { color: 'white', icon: 'it-close-big' }))),
megamenu ? React.createElement("div", { className: 'menu-wrapper ' }, children) : React.createElement(React.Fragment, null, children)));
}
const classes = classNames(className, {
'link-list-wrapper': header
});
return (React.createElement(CollapseBase, { className: classes, cssModule: newCssModule, ...attributes, navbar: navbar, isOpen: isOpen, "data-testid": testId }, children));
};
//# sourceMappingURL=Collapse.js.map