PickerTrigger.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _vue = require("vue");
  8. var _vcTrigger = _interopRequireDefault(require("../vc-trigger"));
  9. var _classNames = _interopRequireDefault(require("../_util/classNames"));
  10. var _useMergeProps = _interopRequireDefault(require("./hooks/useMergeProps"));
  11. const BUILT_IN_PLACEMENTS = {
  12. bottomLeft: {
  13. points: ['tl', 'bl'],
  14. offset: [0, 4],
  15. overflow: {
  16. adjustX: 1,
  17. adjustY: 1
  18. }
  19. },
  20. bottomRight: {
  21. points: ['tr', 'br'],
  22. offset: [0, 4],
  23. overflow: {
  24. adjustX: 1,
  25. adjustY: 1
  26. }
  27. },
  28. topLeft: {
  29. points: ['bl', 'tl'],
  30. offset: [0, -4],
  31. overflow: {
  32. adjustX: 0,
  33. adjustY: 1
  34. }
  35. },
  36. topRight: {
  37. points: ['br', 'tr'],
  38. offset: [0, -4],
  39. overflow: {
  40. adjustX: 0,
  41. adjustY: 1
  42. }
  43. }
  44. };
  45. function PickerTrigger(props, _ref) {
  46. let {
  47. slots
  48. } = _ref;
  49. const {
  50. prefixCls,
  51. popupStyle,
  52. visible,
  53. dropdownClassName,
  54. dropdownAlign,
  55. transitionName,
  56. getPopupContainer,
  57. range,
  58. popupPlacement,
  59. direction
  60. } = (0, _useMergeProps.default)(props);
  61. const dropdownPrefixCls = `${prefixCls}-dropdown`;
  62. const getPopupPlacement = () => {
  63. if (popupPlacement !== undefined) {
  64. return popupPlacement;
  65. }
  66. return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';
  67. };
  68. return (0, _vue.createVNode)(_vcTrigger.default, {
  69. "showAction": [],
  70. "hideAction": [],
  71. "popupPlacement": getPopupPlacement(),
  72. "builtinPlacements": BUILT_IN_PLACEMENTS,
  73. "prefixCls": dropdownPrefixCls,
  74. "popupTransitionName": transitionName,
  75. "popupAlign": dropdownAlign,
  76. "popupVisible": visible,
  77. "popupClassName": (0, _classNames.default)(dropdownClassName, {
  78. [`${dropdownPrefixCls}-range`]: range,
  79. [`${dropdownPrefixCls}-rtl`]: direction === 'rtl'
  80. }),
  81. "popupStyle": popupStyle,
  82. "getPopupContainer": getPopupContainer
  83. }, {
  84. default: slots.default,
  85. popup: slots.popupElement
  86. });
  87. }
  88. var _default = exports.default = PickerTrigger;