import React, { useState } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import { Button, Icon } from '@ohif/ui'; const baseStyle = { maxWidth: '320px', }; const dynamicStyle = { open: { left: {}, right: {}, }, closed: { left: {}, right: {}, }, }; const sideClasses = { left: 'border-r-4', right: 'border-l-4', }; const baseClassName = 'transition-all duration-300 ease-in-out h-100 bg-primary-light border-black'; const SidePanel = ({ side, className, children, defaultIsOpen, componentName, iconName, }) => { const [isOpen, setIsOpen] = useState(defaultIsOpen); const openStatus = isOpen ? 'open' : 'closed'; const style = Object.assign({}, dynamicStyle[openStatus][side]); return (
{isOpen ? (
{componentName}
{children}
) : ( )}
); }; SidePanel.defaultProps = { defaultIsOpen: false, }; SidePanel.propTypes = { side: PropTypes.oneOf(['left', 'right']).isRequired, className: PropTypes.string, children: PropTypes.node, isOpen: PropTypes.bool, }; export default SidePanel;