{"version":3,"file":"TransBtn.cjs","sources":["../../../../../../packages/vue-components/vc-select/src/TransBtn.tsx"],"sourcesContent":["import type { MouseEventHandler, VueNode } from '@antdv/types';\nimport type { RenderNode } from './BaseSelect';\nimport { PropTypes } from '@antdv/utils';\nimport { cloneVNode, type FunctionalComponent, isVNode, type PropType } from 'vue';\n\nexport interface TransBtnProps {\n  class: string;\n  customizeIcon: RenderNode;\n  customizeIconProps?: any;\n  onMousedown?: (payload: MouseEvent) => void;\n  onClick?: (payload: MouseEvent) => void;\n}\n\nexport interface TransBtnType extends FunctionalComponent<TransBtnProps> {\n  displayName: string;\n}\n\nconst TransBtn: TransBtnType = (props, { slots }) => {\n  const { class: className, customizeIcon, customizeIconProps, onMousedown, onClick } = props;\n  let icon: VueNode;\n\n  if (typeof customizeIcon === 'function')\n    icon = customizeIcon(customizeIconProps);\n  else\n    icon = isVNode(customizeIcon) ? cloneVNode(customizeIcon as any) : customizeIcon;\n\n  return (\n    <span\n      class={className}\n      onMousedown={(event) => {\n        event.preventDefault();\n        if (onMousedown)\n          onMousedown(event);\n      }}\n      style={{\n        userSelect: 'none',\n        WebkitUserSelect: 'none',\n      }}\n      unselectable=\"on\"\n      onClick={onClick}\n      aria-hidden\n    >\n      {icon !== undefined\n        ? (\n            icon\n          )\n        : (\n            <span class={className.split(/\\s+/).map((cls: any) => `${cls}-icon`)}>\n              {slots.default?.()}\n            </span>\n          )}\n    </span>\n  );\n};\n\nTransBtn.inheritAttrs = false;\nTransBtn.displayName = 'TransBtn';\nTransBtn.props = {\n  class: String,\n  customizeIcon: PropTypes.any,\n  customizeIconProps: PropTypes.any,\n  onMousedown: Function as PropType<MouseEventHandler>,\n  onClick: Function as PropType<MouseEventHandler>,\n};\n\nexport default TransBtn;\n"],"names":["TransBtn","props","slots","class","className","customizeIcon","customizeIconProps","onMousedown","onClick","icon","isVNode","cloneVNode","_createVNode","event","preventDefault","userSelect","WebkitUserSelect","undefined","split","map","cls","default","inheritAttrs","displayName","String","PropTypes","any","Function"],"mappings":";;;;;;;;AAiBMA,MAAAA,QAAAA,GAAyBA,CAACC,KAAO,EAAA;AAAA,EAAEC,KAAAA;AAAM,CAAM,KAAA;;AACnD,EAAM,MAAA;AAAA,IAAEC,KAAOC,EAAAA,SAAAA;AAAAA,IAAWC,aAAAA;AAAAA,IAAeC,kBAAAA;AAAAA,IAAoBC,WAAAA;AAAAA,IAAaC,OAAAA;AAAAA,GAAYP,GAAAA,KAAAA,CAAAA;AACtF,EAAIQ,IAAAA,IAAAA,CAAAA;AAEJ,EAAA,IAAI,OAAOJ,aAAkB,KAAA,UAAA;AAC3BI,IAAAA,IAAAA,GAAOJ,cAAcC,kBAAkB,CAAA,CAAA;AAAA;AAEvCG,IAAAA,IAAAA,GAAOC,WAAQL,CAAAA,aAAa,CAAIM,GAAAA,cAAAA,CAAWN,aAAoB,CAAIA,GAAAA,aAAAA,CAAAA;AAErE,EAAA,OAAAO,gBAAA,MAAA,EAAA;AAAA,IAAA,OAEWR,EAAAA,SAAAA;AAAAA,IAAS,eACFS,CAAU,KAAA,KAAA;AACtBA,MAAAA,KAAAA,CAAMC,cAAe,EAAA,CAAA;AACrB,MAAIP,IAAAA,WAAAA;AACFA,QAAAA,WAAAA,CAAYM,KAAK,CAAA,CAAA;AAAA,KACrB;AAAA,IAAC,OACM,EAAA;AAAA,MACLE,UAAY,EAAA,MAAA;AAAA,MACZC,gBAAkB,EAAA,MAAA;AAAA,KACpB;AAAA,IAAC,cAAA,EAAA,IAAA;AAAA,IAAA,SAEQR,EAAAA,OAAAA;AAAAA,IAAO,aAAA,EAAA,IAAA;AAAA,KAAA,CAGfC,IAAAA,KAASQ,KAEJR,CAAAA,GAAAA,IAAAA,GAAIG,gBAAA,MAAA,EAAA;AAAA,IAAA,OAAA,EAGSR,UAAUc,KAAM,CAAA,KAAK,EAAEC,GAAKC,CAAAA,CAAAA,GAAAA,KAAc,CAAEA,EAAAA,GAAI,CAAM,KAAA,CAAA,CAAA;AAAA,KAAC,CACjElB,CAAAA,EAAAA,GAAAA,KAAAA,CAAMmB,YAANnB,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAErB,CAAA,CAAA,CAAA,CAAA;AAGX,EAAA;AAEAF,QAAAA,CAASsB,YAAe,GAAA,KAAA,CAAA;AACxBtB,QAAAA,CAASuB,WAAc,GAAA,UAAA,CAAA;AACvBvB,QAAAA,CAASC,KAAQ,GAAA;AAAA,EACfE,KAAOqB,EAAAA,MAAAA;AAAAA,EACPnB,eAAeoB,gBAAUC,CAAAA,GAAAA;AAAAA,EACzBpB,oBAAoBmB,gBAAUC,CAAAA,GAAAA;AAAAA,EAC9BnB,WAAaoB,EAAAA,QAAAA;AAAAA,EACbnB,OAASmB,EAAAA,QAAAA;AACX,CAAA;;;;"}