zent
Version:
一套前端设计语言和基于React的实现
36 lines (30 loc) • 1.2 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports['default'] = createPlacement;
/**
* Create a new placement.
*
* @param {function} template (anchorBoundingBox, containerBoundingBox, contentDimension, options) => { name, getCSSStyle }
* @return {function}
*/
function createPlacement(template) {
return function (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 = template.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 _extends({}, placement, {
toString: function toString() {
return name;
}
});
};
}
module.exports = exports['default'];
;