UNPKG

zent

Version:

一套前端设计语言和基于React的实现

77 lines (51 loc) 2.51 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.exposePopover = undefined; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _omit = require('lodash/omit'); var _omit2 = _interopRequireDefault(_omit); var _Popover = require('./Popover'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } /** * A high order component to expose imperative APIs for popover. * * Adds a popover prop to component. */ var exposePopover = exports.exposePopover = function exposePopover(propName) { return function (Base) { var _class, _temp; return _temp = _class = function (_ref) { (0, _inherits3['default'])(ExposePopover, _ref); function ExposePopover() { (0, _classCallCheck3['default'])(this, ExposePopover); return (0, _possibleConstructorReturn3['default'])(this, (ExposePopover.__proto__ || Object.getPrototypeOf(ExposePopover)).apply(this, arguments)); } (0, _createClass3['default'])(ExposePopover, [{ key: 'render', value: function render() { var _ref2 = this.context || {}, popover = _ref2._zentPopover; var context = (0, _defineProperty3['default'])({}, propName, (0, _omit2['default'])(popover, ['registerDescendant', 'unregisterDescendant'])); return _react2['default'].createElement(Base, (0, _extends3['default'])({}, this.props, context)); } }]); return ExposePopover; }(_react.PureComponent || _react.Component), _class.contextTypes = _Popover.PopoverContextType, _temp; }; }; exports['default'] = exposePopover('popover');