zent
Version:
一套前端设计语言和基于React的实现
42 lines (33 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
exports['default'] = createPlacement;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
/**
* Create a new placement.
*
* @param {function} locate (anchorBoundingBox, containerBoundingBox, contentDimension, options) => { name, getCSSStyle }
* @return {function}
*/
function createPlacement(locate) {
var pos = function pos(prefix) {
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
var placement = locate.apply(undefined, args);
if (!placement || !placement.name || !placement.getCSSStyle) {
throw new Error('name and getCSSStyle is required for a placement');
}
var name = prefix + '-popover-' + placement.name;
return (0, _extends3['default'])({}, placement, {
toString: function toString() {
return name;
}
});
};
pos.locate = locate;
return pos;
}