export default {
	props: {
		value: {
			type: [String, Number],
			default: ''
		},
		modelValue: {
			type: [String, Number],
			default: ''
		},
		// 輸入框類型
		// number-數字輸入鍵盤，app-vue下可以輸入浮點數，app-nvue和小程序平臺下只能輸入整數
		// idcard-身份證輸入鍵盤，微信、支付寶、百度、QQ小程序
		// digit-帶小數點的數字鍵盤，App的nvue頁面、微信、支付寶、百度、頭條、QQ小程序
		// text-文本輸入鍵盤
		type: {
			type: String,
			default: 'text'
		},
		// 是否禁用輸入框
		disabled: {
			type: Boolean,
			default: false
		},
		// 禁用狀態時的背景色
		disabledColor: {
			type: String,
			default: '#f5f7fa'
		},
		// 是否顯示清除控件
		clearable: {
			type: Boolean,
			default: false
		},
		// 是否密碼類型
		password: {
			type: Boolean,
			default: false
		},
		// 最大輸入長度，設置為 -1 的時候不限制最大長度
		maxlength: {
			type: [String, Number],
			default: -1
		},
		// 	輸入框為空時的占位符
		placeholder: {
			type: String,
			default: null
		},
		// 指定placeholder的樣式類，註意頁面或組件的style中寫了scoped時，需要在類名前寫/deep/
		placeholderClass: {
			type: String,
			default: 'input-placeholder'
		},
		// 指定placeholder的樣式
		placeholderStyle: {
			type: [String, Object],
			default: 'color: #c0c4cc'
		},
		// 設置右下角按鈕的文字，有效值：send|search|next|go|done，兼容性詳見uni-app文檔
		// https://uniapp.dcloud.io/component/input
		// https://uniapp.dcloud.io/component/textarea
		confirmType: {
			type: String,
			default: 'done'
		},
		// 點擊鍵盤右下角按鈕時是否保持鍵盤不收起，H5無效
		confirmHold: {
			type: Boolean,
			default: false
		},
		// focus時，點擊頁面的時候不收起鍵盤，微信小程序有效
		holdKeyboard: {
			type: Boolean,
			default: false
		},
		// 自動獲取焦點
		// 在 H5 平臺能否聚焦以及軟鍵盤是否跟隨彈出，取決於當前瀏覽器本身的實現。nvue 頁面不支持，需使用組件的 focus()、blur() 方法控制焦點
		focus: {
			type: Boolean,
			default: false
		},
		// 鍵盤收起時，是否自動失去焦點，目前僅App3.0.0+有效
		autoBlur: {
			type: Boolean,
			default: false
		},
		// 指定focus時光標的位置
		cursor: {
			type: [String, Number],
			default: -1
		},
		// 輸入框聚焦時底部與鍵盤的距離
		cursorSpacing: {
			type: [String, Number],
			default: 30
		},
		// 光標起始位置，自動聚集時有效，需與selection-end搭配使用
		selectionStart: {
			type: [String, Number],
			default: -1
		},
		// 光標結束位置，自動聚集時有效，需與selection-start搭配使用
		selectionEnd: {
			type: [String, Number],
			default: -1
		},
		// 鍵盤彈起時，是否自動上推頁面
		adjustPosition: {
			type: Boolean,
			default: true
		},
		// 輸入框內容對齊方式，可選值為：left|center|right
		inputAlign: {
			type: String,
			default: 'left'
		},
		// 輸入框字體的大小
		fontSize: {
			type: [String, Number],
			default: '14px'
		},
		// 輸入框字體顏色
		color: {
			type: String,
			default: '#303133'
		},
		// 輸入框前置圖標
		prefixIcon: {
			type: String,
			default: ''
		},
		// 前置圖標樣式，對象或字符串
		prefixIconStyle: {
			type: [String, Object],
			default: ''
		},
		// 輸入框後置圖標
		suffixIcon: {
			type: String,
			default: ''
		},
		// 後置圖標樣式，對象或字符串
		suffixIconStyle: {
			type: [String, Object],
			default: ''
		},
		// 邊框類型，surround-四週邊框，bottom-底部邊框，none-無邊框
		border: {
			type: String,
			default: 'surround'
		},
		// 是否只讀，與disabled不同之處在於disabled會置灰組件，而readonly則不會
		readonly: {
			type: Boolean,
			default: false
		},
		// 輸入框形狀，circle-圓形，square-方形
		shape: {
			type: String,
			default: 'square'
		},
		// 用於處理或者過濾輸入框內容的方法
		formatter: {
			type: [Function, null],
			default: null
		},
		// 是否忽略組件內對文本合成系統事件的處理
		ignoreCompositionEvent: {
			type: Boolean,
			default: true
		},
		...uni.$uv?.props?.input
	}
}