antd
Version:
An enterprise-class UI design language and React-based implementation
105 lines (98 loc) • 2.9 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = getPlacements;
var _placements = require('rc-tooltip/lib/placements');
var autoAdjustOverflow = {
adjustX: 1,
adjustY: 1
};
var targetOffset = [0, 0];
function getPlacements() {
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
if (!config.arrowPointAtCenter) {
return _placements.placements;
}
var _config$arrowWidth = config.arrowWidth,
arrowWidth = _config$arrowWidth === undefined ? 5 : _config$arrowWidth,
_config$horizontalArr = config.horizontalArrowShift,
horizontalArrowShift = _config$horizontalArr === undefined ? 16 : _config$horizontalArr,
_config$verticalArrow = config.verticalArrowShift,
verticalArrowShift = _config$verticalArrow === undefined ? 12 : _config$verticalArrow;
return {
left: {
points: ['cr', 'cl'],
overflow: autoAdjustOverflow,
offset: [-4, 0],
targetOffset: targetOffset
},
right: {
points: ['cl', 'cr'],
overflow: autoAdjustOverflow,
offset: [4, 0],
targetOffset: targetOffset
},
top: {
points: ['bc', 'tc'],
overflow: autoAdjustOverflow,
offset: [0, -4],
targetOffset: targetOffset
},
bottom: {
points: ['tc', 'bc'],
overflow: autoAdjustOverflow,
offset: [0, 4],
targetOffset: targetOffset
},
topLeft: {
points: ['bl', 'tc'],
overflow: autoAdjustOverflow,
offset: [-(horizontalArrowShift + arrowWidth), -4],
targetOffset: targetOffset
},
leftTop: {
points: ['tr', 'cl'],
overflow: autoAdjustOverflow,
offset: [-4, -(verticalArrowShift + arrowWidth)],
targetOffset: targetOffset
},
topRight: {
points: ['br', 'tc'],
overflow: autoAdjustOverflow,
offset: [horizontalArrowShift + arrowWidth, -4],
targetOffset: targetOffset
},
rightTop: {
points: ['tl', 'cr'],
overflow: autoAdjustOverflow,
offset: [4, -(verticalArrowShift + arrowWidth)],
targetOffset: targetOffset
},
bottomRight: {
points: ['tr', 'bc'],
overflow: autoAdjustOverflow,
offset: [horizontalArrowShift + arrowWidth, 4],
targetOffset: targetOffset
},
rightBottom: {
points: ['bl', 'cr'],
overflow: autoAdjustOverflow,
offset: [4, verticalArrowShift + arrowWidth],
targetOffset: targetOffset
},
bottomLeft: {
points: ['tl', 'bc'],
overflow: autoAdjustOverflow,
offset: [-(horizontalArrowShift + arrowWidth), 4],
targetOffset: targetOffset
},
leftBottom: {
points: ['br', 'cl'],
overflow: autoAdjustOverflow,
offset: [-4, verticalArrowShift + arrowWidth],
targetOffset: targetOffset
}
};
}
module.exports = exports['default'];