UNPKG

design-react-kit

Version:

Componenti React per Bootstrap 5

32 lines 1.88 kB
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