{"version":3,"file":"useSliderInput.mjs","sources":["../../../../components/slider/hooks/useSliderInput.tsx"],"sourcesContent":["import { computed, Ref } from 'vue';\nimport { omit, isBoolean } from 'lodash-es';\nimport { TdSliderProps } from '../type';\nimport InputNumber, { InputNumberProps, ChangeContext } from '../../input-number';\n\ninterface useSliderInputProps {\n  inputNumberProps: boolean | TdSliderProps['inputNumberProps'];\n  max: number;\n  min: number;\n  step: number;\n  prefixName: string;\n  vertical: boolean;\n  disabled: boolean;\n}\n\n/**\n * 聚合管理inputNumber渲染逻辑\n */\nexport const useSliderInput = (config: Ref<useSliderInputProps>) => {\n  const name = config.value.prefixName;\n\n  /** 根据传入属性缓存计算inputNumber props */\n  const sliderInputState = computed(() => {\n    let initialState: InputNumberProps = {\n      format: undefined,\n      placeholder: '',\n      theme: 'column',\n      decimalPlaces: config.value.step.toString().split('.')[1]?.length || 0,\n    };\n    const inputProps = config.value;\n    if (!isBoolean(inputProps.inputNumberProps)) {\n      const inputTheme = inputProps.inputNumberProps?.theme;\n      initialState = { ...initialState, ...omit(inputProps.inputNumberProps, 'onChange') };\n      if (['column', 'row', 'normal'].includes(inputTheme)) {\n        initialState.theme = inputTheme;\n      }\n    }\n    return initialState;\n  });\n\n  const sliderNumberClass = computed(() => {\n    return [\n      `${name}__input`,\n      {\n        'is-vertical': config.value.vertical,\n      },\n    ];\n  });\n\n  const renderInputNumber = (val: number, changeFn: (val: number) => void) => {\n    // if exist min or max prop, onChange callback function will pass undefined value when decrease\n    const normalizeChangeFn = (num: number | undefined, context: ChangeContext) => {\n      if (num !== undefined && !isNaN(num)) {\n        changeFn(num);\n      }\n      (config.value?.inputNumberProps as InputNumberProps)?.onChange?.(num, context);\n    };\n    return (\n      <InputNumber\n        {...sliderInputState.value}\n        class={sliderNumberClass.value}\n        value={val}\n        step={config.value.step}\n        onChange={normalizeChangeFn}\n        disabled={config.value.disabled}\n        min={config.value.min}\n        max={config.value.max}\n      />\n    );\n  };\n\n  return renderInputNumber;\n};\n"],"names":["useSliderInput","config","name","value","prefixName","sliderInputState","computed","_config$value$step$to","initialState","format","placeholder","theme","decimalPlaces","step","toString","split","length","inputProps","isBoolean","inputNumberProps","_inputProps$inputNumb","inputTheme","_objectSpread","omit","includes","sliderNumberClass","concat","vertical","renderInputNumber","val","changeFn","normalizeChangeFn","num","context","_config$value","_config$value$onChang","isNaN","onChange","call","_createVNode","InputNumber","_mergeProps","disabled","min","max"],"mappings":"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"}