| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- import { createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue";
- import Trigger from '../vc-trigger';
- import classNames from '../_util/classNames';
- import useMergeProps from './hooks/useMergeProps';
- const BUILT_IN_PLACEMENTS = {
- bottomLeft: {
- points: ['tl', 'bl'],
- offset: [0, 4],
- overflow: {
- adjustX: 1,
- adjustY: 1
- }
- },
- bottomRight: {
- points: ['tr', 'br'],
- offset: [0, 4],
- overflow: {
- adjustX: 1,
- adjustY: 1
- }
- },
- topLeft: {
- points: ['bl', 'tl'],
- offset: [0, -4],
- overflow: {
- adjustX: 0,
- adjustY: 1
- }
- },
- topRight: {
- points: ['br', 'tr'],
- offset: [0, -4],
- overflow: {
- adjustX: 0,
- adjustY: 1
- }
- }
- };
- function PickerTrigger(props, _ref) {
- let {
- slots
- } = _ref;
- const {
- prefixCls,
- popupStyle,
- visible,
- dropdownClassName,
- dropdownAlign,
- transitionName,
- getPopupContainer,
- range,
- popupPlacement,
- direction
- } = useMergeProps(props);
- const dropdownPrefixCls = `${prefixCls}-dropdown`;
- const getPopupPlacement = () => {
- if (popupPlacement !== undefined) {
- return popupPlacement;
- }
- return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';
- };
- return _createVNode(Trigger, {
- "showAction": [],
- "hideAction": [],
- "popupPlacement": getPopupPlacement(),
- "builtinPlacements": BUILT_IN_PLACEMENTS,
- "prefixCls": dropdownPrefixCls,
- "popupTransitionName": transitionName,
- "popupAlign": dropdownAlign,
- "popupVisible": visible,
- "popupClassName": classNames(dropdownClassName, {
- [`${dropdownPrefixCls}-range`]: range,
- [`${dropdownPrefixCls}-rtl`]: direction === 'rtl'
- }),
- "popupStyle": popupStyle,
- "getPopupContainer": getPopupContainer
- }, {
- default: slots.default,
- popup: slots.popupElement
- });
- }
- export default PickerTrigger;
|