placements.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.getPlacements = getPlacements;
  7. exports.placements = void 0;
  8. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  9. const targetOffset = [0, 0];
  10. const basePlacements = {
  11. left: {
  12. points: ['cr', 'cl'],
  13. offset: [-8, 0]
  14. },
  15. right: {
  16. points: ['cl', 'cr'],
  17. offset: [8, 0]
  18. },
  19. top: {
  20. points: ['bc', 'tc'],
  21. offset: [0, -8]
  22. },
  23. bottom: {
  24. points: ['tc', 'bc'],
  25. offset: [0, 8]
  26. },
  27. topLeft: {
  28. points: ['bl', 'tl'],
  29. offset: [0, -8]
  30. },
  31. leftTop: {
  32. points: ['tr', 'tl'],
  33. offset: [-8, 0]
  34. },
  35. topRight: {
  36. points: ['br', 'tr'],
  37. offset: [0, -8]
  38. },
  39. rightTop: {
  40. points: ['tl', 'tr'],
  41. offset: [8, 0]
  42. },
  43. bottomRight: {
  44. points: ['tr', 'br'],
  45. offset: [0, 8]
  46. },
  47. rightBottom: {
  48. points: ['bl', 'br'],
  49. offset: [8, 0]
  50. },
  51. bottomLeft: {
  52. points: ['tl', 'bl'],
  53. offset: [0, 8]
  54. },
  55. leftBottom: {
  56. points: ['br', 'bl'],
  57. offset: [-8, 0]
  58. }
  59. };
  60. function getPlacements() {
  61. let arrowPointAtCenter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  62. const placements = {};
  63. Object.keys(basePlacements).forEach(key => {
  64. placements[key] = (0, _extends2.default)((0, _extends2.default)({}, basePlacements[key]), {
  65. autoArrow: arrowPointAtCenter,
  66. targetOffset
  67. });
  68. });
  69. return placements;
  70. }
  71. const placements = exports.placements = getPlacements();