ndla-ui
Version:
UI component library for NDLA.
59 lines (53 loc) • 1.64 kB
JavaScript
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;