UNPKG

tdesign-vue-next

Version:
1 lines 6.55 kB
{"version":3,"file":"input-number.mjs","sources":["../../../components/input-number/input-number.tsx"],"sourcesContent":["import { defineComponent, SetupContext } from 'vue';\nimport {\n AddIcon as TdAddIcon,\n RemoveIcon as TdRemoveIcon,\n ChevronDownIcon as TdChevronDownIcon,\n ChevronUpIcon as TdChevronUpIcon,\n} from 'tdesign-icons-vue-next';\nimport TButton from '../button';\nimport TInput from '../input';\nimport props from './props';\nimport { useEventForward, useGlobalIcon } from '@tdesign/shared-hooks';\nimport { TdInputNumberProps } from './type';\nimport useInputNumber from './hooks/useInputNumber';\n\nexport default defineComponent({\n name: 'TInputNumber',\n props,\n // 保持纯净(逻辑和节点渲染分开)\n setup(props: TdInputNumberProps, context: SetupContext) {\n const { AddIcon, RemoveIcon, ChevronDownIcon, ChevronUpIcon } = useGlobalIcon({\n AddIcon: TdAddIcon,\n RemoveIcon: TdRemoveIcon,\n ChevronDownIcon: TdChevronDownIcon,\n ChevronUpIcon: TdChevronUpIcon,\n });\n const p = useInputNumber(props);\n const { inputRef } = p;\n context.expose({ ...p });\n\n const inputEvents = useEventForward(props.inputProps, {\n onChange: p.onInnerInputChange,\n ...p.listeners,\n });\n\n return () => {\n const reduceIcon =\n props.theme === 'column' ? <ChevronDownIcon size={props.size} /> : <RemoveIcon size={props.size} />;\n const addIcon = props.theme === 'column' ? <ChevronUpIcon size={props.size} /> : <AddIcon size={props.size} />;\n const status = p.isError.value ? 'error' : props.status;\n\n return (\n <div class={p.wrapClasses.value}>\n {props.theme !== 'normal' && (\n <TButton\n class={p.reduceClasses.value}\n disabled={p.tDisabled.value}\n onClick={p.handleReduce}\n variant=\"outline\"\n shape=\"square\"\n icon={() => reduceIcon}\n />\n )}\n <TInput\n ref={inputRef}\n disabled={p.tDisabled.value}\n readonly={p.isReadonly.value}\n autocomplete=\"off\"\n placeholder={props.placeholder}\n // @ts-expect-error\n unselectable={p.isReadonly.value ? 'on' : 'off'}\n autoWidth={props.autoWidth}\n align={props.align || (props.theme === 'row' ? 'center' : undefined)}\n status={status}\n label={props.label}\n suffix={props.suffix}\n tips={props.tips}\n v-slots={context.slots}\n value={p.userInput.value}\n {...inputEvents.value}\n />\n {props.theme !== 'normal' && (\n <TButton\n class={p.addClasses.value}\n disabled={p.tDisabled.value}\n onClick={p.handleAdd}\n variant=\"outline\"\n shape=\"square\"\n icon={() => addIcon}\n />\n )}\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","setup","context","_useGlobalIcon","useGlobalIcon","AddIcon","TdAddIcon","RemoveIcon","TdRemoveIcon","ChevronDownIcon","TdChevronDownIcon","ChevronUpIcon","TdChevronUpIcon","p","useInputNumber","inputRef","expose","_objectSpread","inputEvents","useEventForward","inputProps","onChange","onInnerInputChange","listeners","reduceIcon","theme","_createVNode","size","addIcon","status","isError","value","wrapClasses","TButton","reduceClasses","tDisabled","handleReduce","icon","TInput","_mergeProps","isReadonly","placeholder","autoWidth","align","label","suffix","tips","userInput","slots","addClasses","handleAdd"],"mappings":"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"}