@akirautio/componentlibrary
Version:
More detailed description coming up
73 lines (60 loc) • 2.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _framerMotion = require("framer-motion");
var _reactPopper = require("react-popper");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var Pop = function Pop(_ref) {
var children = _ref.children,
popContent = _ref.popContent,
name = _ref.name,
_ref$placement = _ref.placement,
placement = _ref$placement === void 0 ? 'bottom' : _ref$placement;
var _React$useState = _react["default"].useState(false),
_React$useState2 = _slicedToArray(_React$useState, 2),
state = _React$useState2[0],
setState = _React$useState2[1];
return _react["default"].createElement(_reactPopper.Manager, null, _react["default"].createElement(_reactPopper.Reference, null, function (_ref2) {
var ref = _ref2.ref;
return children({
ref: ref,
show: state,
onToggle: function onToggle() {
return setState(!state);
}
});
}), _react["default"].createElement(_reactPopper.Popper, {
placement: placement
}, function (_ref3) {
var ref = _ref3.ref,
style = _ref3.style,
placement = _ref3.placement,
arrowProps = _ref3.arrowProps;
return _react["default"].createElement(_framerMotion.AnimatePresence, null, state && _react["default"].createElement(_framerMotion.motion.div, {
key: name,
ref: ref,
style: style,
"data-placement": placement,
initial: {
opacity: 0
},
animate: {
opacity: 1
},
exit: {
opacity: 0
}
}, popContent({
arrowProps: arrowProps
})));
}));
};
var _default = Pop;
exports["default"] = _default;