{"version":3,"file":"Input.cjs","sources":["../../../../../../../packages/vue-components/vc-select/src/Selector/Input.tsx"],"sourcesContent":["import type {\n  ChangeEventHandler,\n  ClipboardEventHandler,\n  CompositionEventHandler,\n  FocusEventHandler,\n  KeyboardEventHandler,\n  MouseEventHandler,\n} from '@antdv/types';\nimport type { ExtractPropTypes, PropType, VNode } from 'vue';\nimport { classNames, cloneElement, PropTypes } from '@antdv/utils';\nimport BaseInputCore from '@antdv/vue-components/vc-input/src/BaseInputCore';\nimport { defineComponent, inject } from 'vue';\n\nexport const inputProps = {\n  inputRef: PropTypes.any,\n  prefixCls: String,\n  id: String,\n  inputElement: PropTypes.VueNode,\n  disabled: { type: Boolean, default: undefined },\n  autofocus: { type: Boolean, default: undefined },\n  autocomplete: String,\n  editable: { type: Boolean, default: undefined },\n  activeDescendantId: String,\n  value: String,\n  open: { type: Boolean, default: undefined },\n  tabindex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n  /** Pass accessibility props to input */\n  attrs: PropTypes.object,\n  onKeydown: { type: Function as PropType<KeyboardEventHandler> },\n  onMousedown: { type: Function as PropType<MouseEventHandler> },\n  onChange: { type: Function as PropType<ChangeEventHandler> },\n  onPaste: { type: Function as PropType<ClipboardEventHandler> },\n  onCompositionstart: { type: Function as PropType<CompositionEventHandler> },\n  onCompositionend: { type: Function as PropType<CompositionEventHandler> },\n  onFocus: { type: Function as PropType<FocusEventHandler> },\n  onBlur: { type: Function as PropType<FocusEventHandler> },\n};\n\nexport type InputProps = Partial<ExtractPropTypes<typeof inputProps>>;\n\nconst Input = defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'SelectInput',\n  inheritAttrs: false,\n  props: inputProps,\n  setup(props) {\n    let blurTimeout = null;\n    const VCSelectContainerEvent = inject('VCSelectContainerEvent') as any;\n\n    return () => {\n      const {\n        prefixCls,\n        id,\n        inputElement,\n        disabled,\n        tabindex,\n        autofocus,\n        autocomplete,\n        editable,\n        activeDescendantId,\n        value,\n        onKeydown,\n        onMousedown,\n        onChange,\n        onPaste,\n        onCompositionstart,\n        onCompositionend,\n        onFocus,\n        onBlur,\n        open,\n        inputRef,\n        attrs,\n      } = props;\n\n      let inputNode: any = inputElement || <BaseInputCore></BaseInputCore>;\n\n      const getInputProps = inputNode.props || {};\n      const {\n        onKeydown: onOriginKeyDown,\n        onInput: onOriginInput,\n        onFocus: onOriginFocus,\n        onBlur: onOriginBlur,\n        onMousedown: onOriginMouseDown,\n        onCompositionstart: onOriginCompositionStart,\n        onCompositionend: onOriginCompositionEnd,\n        style,\n      } = getInputProps;\n      inputNode = cloneElement(\n        inputNode,\n        Object.assign(\n          {\n            'type': 'search',\n            ...getInputProps,\n            id,\n            'ref': inputRef,\n            disabled,\n            tabindex,\n            'lazy': false,\n            'autocomplete': autocomplete || 'off',\n            autofocus,\n            'class': classNames(`${prefixCls}-selection-search-input`, inputNode?.props?.class),\n\n            'role': 'combobox',\n            'aria-expanded': open,\n            'aria-haspopup': 'listbox',\n            'aria-owns': `${id}_list`,\n            'aria-autocomplete': 'list',\n            'aria-controls': `${id}_list`,\n            'aria-activedescendant': activeDescendantId,\n            ...attrs,\n            'value': editable ? value : '',\n            'readonly': !editable,\n            'unselectable': !editable ? 'on' : null,\n            'style': { ...style, opacity: editable ? null : 0 },\n            'onKeydown': (event: KeyboardEvent) => {\n              onKeydown(event);\n              if (onOriginKeyDown)\n                onOriginKeyDown(event);\n            },\n            'onMousedown': (event: MouseEvent) => {\n              onMousedown(event);\n              if (onOriginMouseDown)\n                onOriginMouseDown(event);\n            },\n            'onInput': (event: Event) => {\n              onChange(event);\n              if (onOriginInput)\n                onOriginInput(event);\n            },\n            onCompositionstart(event: CompositionEvent) {\n              onCompositionstart(event);\n              if (onOriginCompositionStart)\n                onOriginCompositionStart(event);\n            },\n            onCompositionend(event: CompositionEvent) {\n              onCompositionend(event);\n              if (onOriginCompositionEnd)\n                onOriginCompositionEnd(event);\n            },\n            onPaste,\n            'onFocus': (...args: any[]) => {\n              clearTimeout(blurTimeout);\n              onOriginFocus && onOriginFocus(args[0]);\n              onFocus && onFocus(args[0]);\n              VCSelectContainerEvent?.focus(args[0]);\n            },\n            'onBlur': (...args: any[]) => {\n              blurTimeout = setTimeout(() => {\n                onOriginBlur && onOriginBlur(args[0]);\n                onBlur && onBlur(args[0]);\n                VCSelectContainerEvent?.blur(args[0]);\n              }, 100);\n            },\n          },\n          inputNode.type === 'textarea' ? {} : { type: 'search' },\n        ),\n        true,\n        true,\n      ) as VNode;\n      return inputNode;\n    };\n  },\n});\n\nexport default Input;\n"],"names":["inputProps","inputRef","PropTypes","any","prefixCls","String","id","inputElement","VueNode","disabled","type","Boolean","default","undefined","autofocus","autocomplete","editable","activeDescendantId","value","open","tabindex","oneOfType","number","string","attrs","object","onKeydown","Function","onMousedown","onChange","onPaste","onCompositionstart","onCompositionend","onFocus","onBlur","Input","defineComponent","compatConfig","MODE","name","inheritAttrs","props","setup","blurTimeout","VCSelectContainerEvent","inject","inputNode","_createVNode","BaseInputCore","getInputProps","onOriginKeyDown","onInput","onOriginInput","onOriginFocus","onOriginBlur","onOriginMouseDown","onOriginCompositionStart","onOriginCompositionEnd","style","cloneElement","Object","assign","classNames","class","opacity","event","args","clearTimeout","focus","setTimeout","blur"],"mappings":"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"}