@wix/design-system
Version:
@wix/design-system
36 lines • 1.39 kB
JavaScript
import React, { PureComponent } from 'react';
import { PopoverCore } from './PopoverCore/PopoverCore';
import requestAnimationFramePolyfill from '../utils/request-animation-frame';
import deprecationLog from '../utils/deprecationLog';
/**
* This has been added in order to fix jsdom not having requestAnimation frame
* installed. Jest by default has this polyfilled, but mocha fails on it.
*/
if (process.env.NODE_ENV === 'test') {
requestAnimationFramePolyfill.install();
}
const ANIMATION_ENTER = 150;
const ANIMATION_EXIT = 100;
class Popover extends PureComponent {
render() {
const { animate, theme, skin, ...rest } = this.props;
const timeout = animate
? { enter: ANIMATION_ENTER, exit: ANIMATION_EXIT }
: undefined;
if (theme) {
deprecationLog('<Popover/> - theme prop is deprecated and will be removed in next major version, please use skin instead');
}
return React.createElement(PopoverCore, { timeout: timeout, ...rest, skin: skin || theme });
}
}
Popover.displayName = 'Popover';
Popover.Element = PopoverCore.Element;
Popover.Content = PopoverCore.Content;
Popover.defaultProps = {
appendTo: 'parent',
theme: 'light', // TODO: add default skin value once theme is removed
animate: false,
interactive: true,
};
export default Popover;
//# sourceMappingURL=Popover.js.map