UNPKG

ndla-ui

Version:

UI component library for NDLA.

59 lines (53 loc) 1.64 kB
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import BEMHelper from 'react-bem-helper'; import { Cross } from 'ndla-icons/action'; import { CSSTransition } from 'react-transition-group'; import Fade from '../Animation/Fade'; var classes = BEMHelper({ prefix: 'c-', name: 'search-overlay' }); var SearchOverlay = function SearchOverlay(_ref) { var close = _ref.close, isOpen = _ref.isOpen, children = _ref.children; return React.createElement( Fragment, null, React.createElement( Fade, { 'in': isOpen }, React.createElement('div', { className: 'o-backdrop' }) ), React.createElement( CSSTransition, { timeout: 300, classNames: classes().className, unmountOnExit: true, 'in': isOpen }, React.createElement( 'div', classes(), React.createElement( 'div', classes('container o-wrapper'), children, React.createElement( 'button', _extends({}, classes('close-button'), { type: 'button', onClick: close }), React.createElement(Cross, null) ) ) ) ) ); }; SearchOverlay.propTypes = { isOpen: PropTypes.bool.isRequired, close: PropTypes.func, children: PropTypes.node.isRequired }; export default SearchOverlay;