{"version":3,"file":"PickerTrigger.mjs","sources":["../../../../../../packages/vue-components/vc-picker/src/PickerTrigger.tsx"],"sourcesContent":["import type { CSSProperties } from 'vue';\nimport type { AlignType } from '../../vc-align/src/interface';\nimport { classNames } from '@antdv/utils';\nimport Trigger from '../../vc-trigger/src/Trigger';\nimport useMergeProps from './hooks/useMergeProps';\n\nconst BUILT_IN_PLACEMENTS = {\n  bottomLeft: {\n    points: ['tl', 'bl'],\n    offset: [0, 4],\n    overflow: {\n      adjustX: 1,\n      adjustY: 1,\n    },\n  },\n  bottomRight: {\n    points: ['tr', 'br'],\n    offset: [0, 4],\n    overflow: {\n      adjustX: 1,\n      adjustY: 1,\n    },\n  },\n  topLeft: {\n    points: ['bl', 'tl'],\n    offset: [0, -4],\n    overflow: {\n      adjustX: 0,\n      adjustY: 1,\n    },\n  },\n  topRight: {\n    points: ['br', 'tr'],\n    offset: [0, -4],\n    overflow: {\n      adjustX: 0,\n      adjustY: 1,\n    },\n  },\n};\n\ntype Placement = 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';\n\nexport interface PickerTriggerProps {\n  prefixCls: string;\n  visible: boolean;\n  popupStyle?: CSSProperties;\n  dropdownClassName?: string;\n  transitionName?: string;\n  getPopupContainer?: (node: HTMLElement) => HTMLElement;\n  dropdownAlign?: AlignType;\n  range?: boolean;\n  popupPlacement?: Placement;\n  direction?: 'ltr' | 'rtl';\n}\n\nfunction PickerTrigger(props: PickerTriggerProps, { slots }) {\n  const {\n    prefixCls,\n    popupStyle,\n    visible,\n    dropdownClassName,\n    dropdownAlign,\n    transitionName,\n    getPopupContainer,\n    range,\n    popupPlacement,\n    direction,\n  } = useMergeProps(props);\n  const dropdownPrefixCls = `${prefixCls}-dropdown`;\n\n  const getPopupPlacement = () => {\n    if (popupPlacement !== undefined)\n      return popupPlacement;\n\n    return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n  };\n\n  return (\n    <Trigger\n      showAction={[]}\n      hideAction={[]}\n      popupPlacement={getPopupPlacement()}\n      builtinPlacements={BUILT_IN_PLACEMENTS}\n      prefixCls={dropdownPrefixCls}\n      popupTransitionName={transitionName}\n      popupAlign={dropdownAlign}\n      popupVisible={visible}\n      popupClassName={classNames(dropdownClassName, {\n        [`${dropdownPrefixCls}-range`]: range,\n        [`${dropdownPrefixCls}-rtl`]: direction === 'rtl',\n      })}\n      popupStyle={popupStyle}\n      getPopupContainer={getPopupContainer}\n      v-slots={{\n        default: slots.default,\n        popup: slots.popupElement,\n      }}\n    >\n    </Trigger>\n  );\n}\n\nexport default PickerTrigger;\n"],"names":["BUILT_IN_PLACEMENTS","bottomLeft","points","offset","overflow","adjustX","adjustY","bottomRight","topLeft","topRight","PickerTrigger","props","slots","prefixCls","popupStyle","visible","dropdownClassName","dropdownAlign","transitionName","getPopupContainer","range","popupPlacement","direction","useMergeProps","dropdownPrefixCls","getPopupPlacement","undefined","_createVNode","Trigger","classNames","default","popup","popupElement"],"mappings":";;;;;;AAMA,MAAMA,mBAAsB,GAAA;AAAA,EAC1BC,UAAY,EAAA;AAAA,IACVC,MAAAA,EAAQ,CAAC,IAAA,EAAM,IAAI,CAAA;AAAA,IACnBC,MAAAA,EAAQ,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,IACbC,QAAU,EAAA;AAAA,MACRC,OAAS,EAAA,CAAA;AAAA,MACTC,OAAS,EAAA,CAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAC,WAAa,EAAA;AAAA,IACXL,MAAAA,EAAQ,CAAC,IAAA,EAAM,IAAI,CAAA;AAAA,IACnBC,MAAAA,EAAQ,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,IACbC,QAAU,EAAA;AAAA,MACRC,OAAS,EAAA,CAAA;AAAA,MACTC,OAAS,EAAA,CAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAE,OAAS,EAAA;AAAA,IACPN,MAAAA,EAAQ,CAAC,IAAA,EAAM,IAAI,CAAA;AAAA,IACnBC,MAAAA,EAAQ,CAAC,CAAA,EAAG,CAAE,CAAA,CAAA;AAAA,IACdC,QAAU,EAAA;AAAA,MACRC,OAAS,EAAA,CAAA;AAAA,MACTC,OAAS,EAAA,CAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAG,QAAU,EAAA;AAAA,IACRP,MAAAA,EAAQ,CAAC,IAAA,EAAM,IAAI,CAAA;AAAA,IACnBC,MAAAA,EAAQ,CAAC,CAAA,EAAG,CAAE,CAAA,CAAA;AAAA,IACdC,QAAU,EAAA;AAAA,MACRC,OAAS,EAAA,CAAA;AAAA,MACTC,OAAS,EAAA,CAAA;AAAA,KACX;AAAA,GACF;AACF,CAAA,CAAA;AAiBA,SAASI,cAAcC,KAA2B,EAAA;AAAA,EAAEC,KAAAA;AAAM,CAAG,EAAA;AAC3D,EAAM,MAAA;AAAA,IACJC,SAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,iBAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,iBAAAA;AAAAA,IACAC,KAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,SAAAA;AAAAA,GACF,GAAIC,cAAcZ,KAAK,CAAA,CAAA;AACvB,EAAMa,MAAAA,iBAAAA,GAAqB,GAAEX,SAAU,CAAA,SAAA,CAAA,CAAA;AAEvC,EAAA,MAAMY,oBAAoBA,MAAM;AAC9B,IAAA,IAAIJ,cAAmBK,KAAAA,KAAAA,CAAAA;AACrB,MAAOL,OAAAA,cAAAA,CAAAA;AAET,IAAOC,OAAAA,SAAAA,KAAc,QAAQ,aAAgB,GAAA,YAAA,CAAA;AAAA,GAC/C,CAAA;AAEA,EAAA,OAAAK,YAAAC,OAAA,EAAA;AAAA,IAAA,cAEgB,EAAE;AAAA,IAAA,cACF,EAAE;AAAA,IAAA,kBACEH,iBAAkB,EAAA;AAAA,IAAC,mBAChBzB,EAAAA,mBAAAA;AAAAA,IAAmB,WAC3BwB,EAAAA,iBAAAA;AAAAA,IAAiB,qBACPN,EAAAA,cAAAA;AAAAA,IAAc,YACvBD,EAAAA,aAAAA;AAAAA,IAAa,cACXF,EAAAA,OAAAA;AAAAA,IAAO,gBAAA,EACLc,WAAWb,iBAAmB,EAAA;AAAA,MAC5C,CAAE,CAAA,EAAEQ,iBAAkB,CAAA,MAAA,CAAO,GAAGJ,KAAAA;AAAAA,MAChC,CAAE,CAAA,EAAEI,iBAAkB,CAAA,IAAA,CAAK,GAAGF,SAAc,KAAA,KAAA;AAAA,KAC7C,CAAA;AAAA,IAAC,YACUR,EAAAA,UAAAA;AAAAA,IAAU,mBACHK,EAAAA,iBAAAA;AAAAA,GACV,EAAA;AAAA,IACPW,SAASlB,KAAMkB,CAAAA,OAAAA;AAAAA,IACfC,OAAOnB,KAAMoB,CAAAA,YAAAA;AAAAA,GACd,CAAA,CAAA;AAIP;;;;"}