{"version":3,"file":"InputNumber.mjs","sources":["../../../../../../packages/components/input-number/src/InputNumber.tsx"],"sourcesContent":["import type { CustomSlotsType } from '@antdv/types';\nimport type { HTMLAttributes } from 'vue';\nimport type { InputNumberProps } from './props';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons-vue';\nimport {\n  classNames,\n  cloneElement,\n  getMergedStatus,\n  getStatusClassNames,\n  isValidValue,\n  omit,\n} from '@antdv/utils';\nimport { computed, defineComponent, shallowRef, watch } from 'vue';\nimport { useInjectDisabled } from '../../config-provider';\n\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport { FormItemInputContext, NoFormStatus, useInjectFormItemContext } from '../../form/src/FormItemContext';\n\n// CSSINJS\nimport { NoCompactStyle, useCompactItemContext } from '../../space';\nimport useStyle from '../style';\nimport VcInputNumber from './InputElement';\nimport { inputNumberProps } from './props';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'AInputNumber',\n  inheritAttrs: false,\n  props: inputNumberProps(),\n  // emits: ['focus', 'blur', 'change', 'input', 'update:value'],\n  slots: Object as CustomSlotsType<{\n    addonBefore?: any\n    addonAfter?: any\n    prefix?: any\n    default?: any\n    upIcon?: any\n    downIcon?: any\n  }>,\n\n  setup(props, { emit, expose, attrs, slots }) {\n    const formItemContext = useInjectFormItemContext();\n    const formItemInputContext = FormItemInputContext.useInject();\n    const mergedStatus = computed(() => getMergedStatus(formItemInputContext.status, props.status));\n    const { prefixCls, size, direction, disabled } = useConfigInject('input-number', props);\n    const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction);\n    const disabledContext = useInjectDisabled();\n    const mergedDisabled = computed(() => disabled.value ?? disabledContext.value);\n    // Style\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n\n    const mergedSize = computed(() => compactSize.value || size.value);\n    const mergedValue = shallowRef(props.value ?? props.defaultValue);\n    const focused = shallowRef(false);\n    watch(\n      () => props.value,\n      () => {\n        mergedValue.value = props.value;\n      },\n    );\n    const inputNumberRef = shallowRef(null);\n    const focus = () => {\n      inputNumberRef.value?.focus();\n    };\n    const blur = () => {\n      inputNumberRef.value?.blur();\n    };\n    expose({\n      focus,\n      blur,\n    });\n    const handleChange = (val: number) => {\n      if (props.value === undefined)\n        mergedValue.value = val;\n\n      emit('update:value', val);\n      emit('change', val);\n      formItemContext.onFieldChange();\n    };\n    const handleBlur = (e: FocusEvent) => {\n      focused.value = false;\n      emit('blur', e);\n      formItemContext.onFieldBlur();\n    };\n    const handleFocus = (e: FocusEvent) => {\n      focused.value = true;\n      emit('focus', e);\n    };\n    return () => {\n      const { hasFeedback, isFormItemInput, feedbackIcon } = formItemInputContext;\n      const id = props.id ?? formItemContext.id.value;\n      const {\n        class: className,\n        bordered,\n        readonly,\n        style,\n        addonBefore = slots.addonBefore?.(),\n        addonAfter = slots.addonAfter?.(),\n        prefix = slots.prefix?.(),\n        valueModifiers = {},\n        ...others\n      } = { ...attrs, ...props, id, disabled: mergedDisabled.value } as InputNumberProps &\n      HTMLAttributes;\n\n      const preCls = prefixCls.value;\n\n      const inputNumberClass = classNames(\n        {\n          [`${preCls}-lg`]: mergedSize.value === 'large',\n          [`${preCls}-sm`]: mergedSize.value === 'small',\n          [`${preCls}-rtl`]: direction.value === 'rtl',\n          [`${preCls}-readonly`]: readonly,\n          [`${preCls}-borderless`]: !bordered,\n          [`${preCls}-in-form-item`]: isFormItemInput,\n        },\n        getStatusClassNames(preCls, mergedStatus.value),\n        className,\n        compactItemClassnames.value,\n        hashId.value,\n      );\n\n      let element = (\n        <VcInputNumber\n          {...omit(others, ['size', 'defaultValue'])}\n          ref={inputNumberRef}\n          lazy={!!valueModifiers.lazy}\n          value={mergedValue.value}\n          class={inputNumberClass}\n          prefixCls={preCls}\n          readonly={readonly}\n          onChange={handleChange}\n          onBlur={handleBlur}\n          onFocus={handleFocus}\n          v-slots={{\n            upHandler: slots.upIcon\n              ? () => <span class={`${preCls}-handler-up-inner`}>{slots.upIcon()}</span>\n              : () => <UpOutlined class={`${preCls}-handler-up-inner`} />,\n            downHandler: slots.downIcon\n              ? () => <span class={`${preCls}-handler-down-inner`}>{slots.downIcon()}</span>\n              : () => <DownOutlined class={`${preCls}-handler-down-inner`} />,\n          }}\n        />\n      );\n      const hasAddon = isValidValue(addonBefore) || isValidValue(addonAfter);\n      const hasPrefix = isValidValue(prefix);\n      if (hasPrefix || hasFeedback) {\n        const affixWrapperCls = classNames(\n          `${preCls}-affix-wrapper`,\n          getStatusClassNames(`${preCls}-affix-wrapper`, mergedStatus.value, hasFeedback),\n          {\n            [`${preCls}-affix-wrapper-focused`]: focused.value,\n            [`${preCls}-affix-wrapper-disabled`]: mergedDisabled.value,\n            [`${preCls}-affix-wrapper-sm`]: mergedSize.value === 'small',\n            [`${preCls}-affix-wrapper-lg`]: mergedSize.value === 'large',\n            [`${preCls}-affix-wrapper-rtl`]: direction.value === 'rtl',\n            [`${preCls}-affix-wrapper-readonly`]: readonly,\n            [`${preCls}-affix-wrapper-borderless`]: !bordered,\n            // className will go to addon wrapper\n            [`${className}`]: !hasAddon && className,\n          },\n          hashId.value,\n        );\n        element = (\n          <div class={affixWrapperCls} style={style} onClick={focus}>\n            {hasPrefix && <span class={`${preCls}-prefix`}>{prefix}</span>}\n            {element}\n            {hasFeedback && <span class={`${preCls}-suffix`}>{feedbackIcon}</span>}\n          </div>\n        );\n      }\n\n      if (hasAddon) {\n        const wrapperClassName = `${preCls}-group`;\n        const addonClassName = `${wrapperClassName}-addon`;\n        const addonBeforeNode = addonBefore\n          ? (\n              <div class={addonClassName}>{addonBefore}</div>\n            )\n          : null;\n        const addonAfterNode = addonAfter ? <div class={addonClassName}>{addonAfter}</div> : null;\n\n        const mergedWrapperClassName = classNames(\n          `${preCls}-wrapper`,\n          wrapperClassName,\n          {\n            [`${wrapperClassName}-rtl`]: direction.value === 'rtl',\n          },\n          hashId.value,\n        );\n\n        const mergedGroupClassName = classNames(\n          `${preCls}-group-wrapper`,\n          {\n            [`${preCls}-group-wrapper-sm`]: mergedSize.value === 'small',\n            [`${preCls}-group-wrapper-lg`]: mergedSize.value === 'large',\n            [`${preCls}-group-wrapper-rtl`]: direction.value === 'rtl',\n          },\n          getStatusClassNames(`${prefixCls}-group-wrapper`, mergedStatus.value, hasFeedback),\n          className,\n          hashId.value,\n        );\n        element = (\n          <div class={mergedGroupClassName} style={style}>\n            <div class={mergedWrapperClassName}>\n              {addonBeforeNode && (\n                <NoCompactStyle>\n                  <NoFormStatus>{addonBeforeNode}</NoFormStatus>\n                </NoCompactStyle>\n              )}\n              {element}\n              {addonAfterNode && (\n                <NoCompactStyle>\n                  <NoFormStatus>{addonAfterNode}</NoFormStatus>\n                </NoCompactStyle>\n              )}\n            </div>\n          </div>\n        );\n      }\n      return wrapSSR(cloneElement(element, { style }));\n    };\n  },\n});\n"],"names":["compatConfig","MODE","name","inheritAttrs","props","inputNumberProps","slots","Object","setup","emit","expose","attrs","formItemContext","useInjectFormItemContext","formItemInputContext","FormItemInputContext","useInject","mergedStatus","computed","getMergedStatus","status","prefixCls","size","direction","disabled","useConfigInject","compactSize","compactItemClassnames","useCompactItemContext","disabledContext","useInjectDisabled","mergedDisabled","value","wrapSSR","hashId","useStyle","mergedSize","mergedValue","shallowRef","defaultValue","focused","watch","inputNumberRef","focus","blur","handleChange","val","undefined","onFieldChange","handleBlur","e","onFieldBlur","handleFocus","hasFeedback","isFormItemInput","feedbackIcon","id","class","className","bordered","readonly","style","addonBefore","addonAfter","prefix","valueModifiers","others","preCls","inputNumberClass","classNames","getStatusClassNames","element","_createVNode","VcInputNumber","omit","lazy","upHandler","upIcon","UpOutlined","downHandler","downIcon","DownOutlined","hasAddon","isValidValue","hasPrefix","affixWrapperCls","wrapperClassName","addonClassName","addonBeforeNode","addonAfterNode","mergedWrapperClassName","mergedGroupClassName","NoCompactStyle","default","NoFormStatus","cloneElement"],"mappings":"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"}