@ntragas/pouncejstest
Version:
A collection of UI components from Panther labs
72 lines (62 loc) • 2.17 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireDefault(require("react"));
var _reactSpring = require("react-spring");
var _Box = _interopRequireDefault(require("../../Box"));
var AnimatedBox = (0, _reactSpring.animated)(_Box.default);
var Menu = /*#__PURE__*/_react.default.forwardRef(function Menu(_ref, ref) {
var children = _ref.children,
isOpen = _ref.isOpen,
maxHeight = _ref.maxHeight,
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["children", "isOpen", "maxHeight"]);
var transitions = (0, _reactSpring.useTransition)(isOpen, null, {
from: {
transform: 'scale(0.9,0.9)',
opacity: 0
},
enter: {
transform: 'scale(1, 1)',
opacity: 1
},
leave: {
transform: 'scale(0.9, 0.9)',
opacity: 0
},
config: {
duration: 150
}
});
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, transitions.map(function (_ref2) {
var item = _ref2.item,
key = _ref2.key,
styles = _ref2.props;
return item ? /*#__PURE__*/_react.default.createElement(AnimatedBox, (0, _extends2.default)({
ref: ref,
key: key,
style: styles,
mt: "-3px",
border: "1px solid",
borderLeftColor: "blue-400",
borderRightColor: "blue-400",
borderBottomColor: "blue-400",
borderTopColor: "navyblue-400",
borderBottomLeftRadius: "medium",
borderBottomRightRadius: "medium",
backgroundColor: "navyblue-300",
zIndex: 10,
position: "absolute",
width: 1,
maxHeight: maxHeight,
overflow: "auto"
}, rest), children) : /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({
key: key,
ref: ref
}, rest));
}));
});
var _default = Menu;
exports.default = _default;