tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 5.37 kB
Source Map (JSON)
{"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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"}