{"version":3,"file":"useSingle.mjs","sources":["../../../../components/select-input/hooks/useSingle.tsx"],"sourcesContent":["import { SetupContext, ref, computed, toRefs, Ref } from 'vue';\nimport { isObject } from 'lodash-es';\nimport { pick } from 'lodash-es';\nimport Input, { StrInputProps } from '../../input';\nimport Loading from '../../loading';\nimport { useTNodeJSX } from '../../hooks/tnode';\nimport { usePrefixClass } from '../../hooks/useConfig';\nimport useDefaultValue from '../../hooks/useDefaultValue';\nimport { useDisabled } from '../../hooks/useDisabled';\nimport { useReadonly } from '../../hooks/useReadonly';\nimport { PopupInstanceFunctions } from '../../popup';\nimport { TdSelectInputProps } from '../type';\nimport { SelectInputCommonProperties } from '../types';\n\n// single 和 multiple 共有特性\nconst COMMON_PROPERTIES = [\n  'status',\n  'clearable',\n  'disabled',\n  'label',\n  'placeholder',\n  'readonly',\n  'prefixIcon',\n  'suffix',\n  'suffixIcon',\n  'onPaste',\n  'onMouseenter',\n  'onMouseleave',\n  'size',\n  'autofocus',\n];\n\nconst DEFAULT_KEYS = {\n  label: 'label',\n  value: 'value',\n  children: 'children',\n};\n\nexport interface SelectInputValueDisplayOptions {\n  useInputDisplay: boolean;\n  usePlaceholder: boolean;\n}\n\nfunction getInputValue(value: TdSelectInputProps['value'], keys: TdSelectInputProps['keys']) {\n  const iKeys = { ...DEFAULT_KEYS, ...keys };\n  // TODO: replace isObject as isPlainObject\n  return isObject(value) ? (value as Record<string, any>)[iKeys.label] : value;\n}\n\nexport function useSingle(\n  props: TdSelectInputProps & { valueDisplayOptions: SelectInputValueDisplayOptions },\n  context: SetupContext,\n  popupRef: Ref<PopupInstanceFunctions>,\n) {\n  const { value, keys, inputValue: propsInputValue } = toRefs(props);\n  const classPrefix = usePrefixClass();\n  const isSingleFocus = ref(props.autofocus);\n  const inputRef = ref();\n  const [inputValue, setInputValue] = useDefaultValue(\n    propsInputValue,\n    props.defaultInputValue ?? '',\n    props.onInputChange,\n    'inputValue',\n  );\n  const renderTNode = useTNodeJSX();\n  const disable = useDisabled();\n  const isReadonly = useReadonly();\n\n  const commonInputProps = computed<SelectInputCommonProperties>(() => ({\n    ...pick(props, COMMON_PROPERTIES),\n    disabled: disable.value,\n    readonly: isReadonly.value,\n  }));\n\n  const onInnerClear = (context: { e: MouseEvent }) => {\n    context?.e?.stopPropagation();\n    props.onClear?.(context);\n    setInputValue('', { trigger: 'clear' });\n  };\n\n  const onInnerInputChange: StrInputProps['onChange'] = (value, context) => {\n    if (props.allowInput) {\n      setInputValue(value, { ...context, trigger: context.trigger || 'input' });\n    }\n  };\n\n  const renderSelectSingle = (popupVisible: boolean) => {\n    const singleValueDisplay = renderTNode('valueDisplay');\n    const displayedValue = popupVisible && props.allowInput ? inputValue.value : getInputValue(value.value, keys.value);\n    const prefixContent = renderPrefixContent(singleValueDisplay, popupVisible);\n    const inputProps = {\n      ...commonInputProps.value,\n      value: renderInputDisplay(singleValueDisplay, displayedValue, popupVisible),\n      label: prefixContent.length ? () => prefixContent : undefined,\n      autoWidth: props.autoWidth,\n      readonly: !props.allowInput || isReadonly.value,\n      placeholder: renderPlaceholder(singleValueDisplay),\n      suffixIcon: !disable.value && props.loading ? () => <Loading loading size=\"small\" /> : props.suffixIcon,\n      showClearIconOnEmpty: Boolean(\n        props.clearable && (inputValue.value || displayedValue) && !disable.value && !isReadonly.value,\n      ),\n      ...props.inputProps,\n    };\n\n    // eslint-disable-next-line\n    const { tips, ...slots } = context.slots;\n\n    const inputClassProps = popupVisible\n      ? [`${classPrefix.value}-input--focused`, `${classPrefix.value}-is-focused`, inputProps?.inputClass]\n      : inputProps?.inputClass;\n\n    const onEnter: StrInputProps['onEnter'] = (val, context) => {\n      props.onEnter?.(value.value, { ...context, inputValue: val });\n    };\n\n    const onFocus: StrInputProps['onFocus'] = (val, context) => {\n      const overlayState = popupRef.value?.getOverlayState();\n      if (isSingleFocus.value || overlayState?.hover) return;\n      isSingleFocus.value = true;\n      props.onFocus?.(value.value, { ...context, inputValue: val });\n    };\n\n    const onBlur: StrInputProps['onBlur'] = (val, context) => {\n      const overlayState = popupRef.value?.getOverlayState();\n      isSingleFocus.value = false;\n      if (overlayState?.hover) return;\n      props.onBlur?.(value.value, { ...context, inputValue: val });\n    };\n\n    return (\n      <Input\n        ref={inputRef}\n        style={context.attrs?.style}\n        v-slots={slots}\n        {...{\n          onChange: onInnerInputChange,\n          onClear: onInnerClear,\n          onEnter,\n          onFocus,\n          onBlur,\n          ...inputProps,\n        }}\n        inputClass={inputClassProps}\n      />\n    );\n  };\n\n  const renderPrefixContent = (singleValueDisplay: any, popupVisible: boolean) => {\n    // 需要隐藏valueDisplay的两个情况\n    // 1 用户传入usePlaceholder希望使用自带占位符实现，则应在未选择值时隐藏valueDisplay，只展示占位符\n    // 2 用户传入useInputDisplay希望使用自带输入回显实现，激活选择器浮层时只展示input值（待讨论是否修改为激活后真的输入字符再隐藏valueDisplay，此处实现效果与不使用valueDisplay只使用filterable时不同）\n    const label = renderTNode('label');\n\n    if (!label && !singleValueDisplay) {\n      return [];\n    }\n\n    if (singleValueDisplay) {\n      if (\n        (props.valueDisplayOptions?.usePlaceholder && !value.value) ||\n        (props.valueDisplayOptions?.useInputDisplay && popupVisible)\n      ) {\n        return [label];\n      }\n    }\n    return [label, singleValueDisplay];\n  };\n\n  const renderInputDisplay = (singleValueDisplay: any, displayedValue: any, popupVisible: boolean) => {\n    // 使用valueDisplay插槽时，如用户传入useInputDisplay使用自带输入回显实现，未传则认为用户自行实现。\n    if (singleValueDisplay)\n      if (\n        !props.valueDisplayOptions?.useInputDisplay ||\n        (props.valueDisplayOptions?.useInputDisplay && !popupVisible)\n      ) {\n        return undefined;\n      }\n    return displayedValue;\n  };\n\n  const renderPlaceholder = (singleValueDisplay: any) => {\n    // 使用valueDisplay插槽时，如用户传入usePlaceholder使用自带占位符实现，未传则认为用户自行实现。\n    // 如果当前存在value（对应直接使用组件和select组件调用时），不显示占位符。\n    if (singleValueDisplay) {\n      if (!props.valueDisplayOptions?.usePlaceholder || (props.valueDisplayOptions?.usePlaceholder && value.value)) {\n        return '';\n      }\n    }\n    return props.placeholder;\n  };\n\n  return {\n    inputRef,\n    isSingleFocus,\n    commonInputProps,\n    singleInputValue: inputValue,\n    onInnerClear,\n    renderSelectSingle,\n  };\n}\n"],"names":["COMMON_PROPERTIES","DEFAULT_KEYS","label","value","children","getInputValue","keys","iKeys","_objectSpread","isObject","useSingle","props","context","popupRef","_props$defaultInputVa","_toRefs","toRefs","propsInputValue","inputValue","classPrefix","usePrefixClass","isSingleFocus","ref","autofocus","inputRef","_useDefaultValue","useDefaultValue","defaultInputValue","onInputChange","_useDefaultValue2","_slicedToArray","setInputValue","renderTNode","useTNodeJSX","disable","useDisabled","isReadonly","useReadonly","commonInputProps","computed","pick","disabled","readonly","onInnerClear","_context2$e","_props$onClear","e","stopPropagation","onClear","call","trigger","onInnerInputChange","allowInput","renderSelectSingle","popupVisible","_context$attrs","singleValueDisplay","displayedValue","prefixContent","renderPrefixContent","inputProps","renderInputDisplay","length","autoWidth","placeholder","renderPlaceholder","suffixIcon","loading","_createVNode","Loading","showClearIconOnEmpty","Boolean","clearable","_context$slots","slots","tips","_objectWithoutProperties","_excluded","inputClassProps","concat","inputClass","onEnter","val","_props$onEnter","onFocus","_popupRef$value","_props$onFocus","overlayState","getOverlayState","hover","onBlur","_popupRef$value2","_props$onBlur","Input","_mergeProps","attrs","style","onChange","_props$valueDisplayOp","_props$valueDisplayOp2","valueDisplayOptions","usePlaceholder","useInputDisplay","_props$valueDisplayOp3","_props$valueDisplayOp4","_props$valueDisplayOp5","_props$valueDisplayOp6","singleInputValue"],"mappings":"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"}