|
|
|
@ -3,95 +3,103 @@ import _onInput from "../../utils/onInput"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const Input = ({ |
|
|
|
|
title, |
|
|
|
|
borderType, |
|
|
|
|
gapSize, |
|
|
|
|
id, |
|
|
|
|
type, |
|
|
|
|
direction, |
|
|
|
|
className, |
|
|
|
|
onChange, |
|
|
|
|
style, |
|
|
|
|
bg, |
|
|
|
|
value, |
|
|
|
|
max, |
|
|
|
|
onFocus |
|
|
|
|
title, |
|
|
|
|
borderType, |
|
|
|
|
gapSize, |
|
|
|
|
id, |
|
|
|
|
type, |
|
|
|
|
direction, |
|
|
|
|
className, |
|
|
|
|
onChange, |
|
|
|
|
style, |
|
|
|
|
bg, |
|
|
|
|
value, |
|
|
|
|
max, |
|
|
|
|
onFocus, |
|
|
|
|
defaultValue, |
|
|
|
|
}) => { |
|
|
|
|
useEffect(() => { |
|
|
|
|
|
|
|
|
|
if(value !== null && value !== '' && value !== undefined){ |
|
|
|
|
blurHandler2(id ? id : 0) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}, [value]) |
|
|
|
|
useEffect(() => { |
|
|
|
|
if (value !== null && value !== "" && value !== undefined) { |
|
|
|
|
blurHandler2(id ? id : 0); |
|
|
|
|
} |
|
|
|
|
}, [value]); |
|
|
|
|
|
|
|
|
|
const focusHandler = (id) => { |
|
|
|
|
let inputs = document.querySelectorAll(".Login-box-form-item"); |
|
|
|
|
let label = document.querySelectorAll(".Login-box-form-item-label"); |
|
|
|
|
let line = document.querySelectorAll(".Login-box-form-item-line"); |
|
|
|
|
|
|
|
|
|
inputs[id].style.borderColor = "#df1452"; |
|
|
|
|
inputs[id].style.backgroundColor = "#fff"; |
|
|
|
|
inputs[id].style.color = '#404040'; |
|
|
|
|
label[id].style.transform = `translate(-10px,-27px)`; |
|
|
|
|
label[id].style.color = "#df1452"; |
|
|
|
|
line[id].style.backgroundColor = "#fff"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
const focusHandler = (id) => { |
|
|
|
|
let inputs = document.querySelectorAll(".Login-box-form-item"); |
|
|
|
|
let label = document.querySelectorAll(".Login-box-form-item-label"); |
|
|
|
|
let line = document.querySelectorAll(".Login-box-form-item-line"); |
|
|
|
|
|
|
|
|
|
const blurHandler = (id) => { |
|
|
|
|
let inputsBox = document.querySelectorAll(".Login-box-form-item"); |
|
|
|
|
let inputs = document.querySelectorAll(".Login-box-form-item-input"); |
|
|
|
|
let label = document.querySelectorAll(".Login-box-form-item-label"); |
|
|
|
|
let line = document.querySelectorAll(".Login-box-form-item-line"); |
|
|
|
|
if (inputs[id]) { |
|
|
|
|
inputsBox[id].style.borderColor = "#EBEBEB"; |
|
|
|
|
label[id].style.transform = "translate(-10px,-27px)"; |
|
|
|
|
label[id].style.color = "#959595"; |
|
|
|
|
inputs[id].style.backgroundColor = "#fff"; |
|
|
|
|
line[id].style.backgroundColor = "#fff"; |
|
|
|
|
} |
|
|
|
|
inputs[id].style.borderColor = "#df1452"; |
|
|
|
|
inputs[id].style.backgroundColor = "#fff"; |
|
|
|
|
inputs[id].style.color = "#404040"; |
|
|
|
|
label[id].style.transform = `translate(-10px,-27px)`; |
|
|
|
|
label[id].style.color = "#df1452"; |
|
|
|
|
line[id].style.backgroundColor = "#fff"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
const blurHandler2 = (id) => { |
|
|
|
|
let inputsBox = document.querySelectorAll(".Login-box-form-item"); |
|
|
|
|
let inputs = document.querySelectorAll(".Login-box-form-item-input"); |
|
|
|
|
let label = document.querySelectorAll(".Login-box-form-item-label"); |
|
|
|
|
let line = document.querySelectorAll(".Login-box-form-item-line"); |
|
|
|
|
if (inputs[id]) { |
|
|
|
|
inputsBox[id].style.borderColor = "#404040"; |
|
|
|
|
label[id].style.transform = "translate(-10px,-27px)"; |
|
|
|
|
label[id].style.color = "#404040"; |
|
|
|
|
inputs[id].style.backgroundColor = "#fff"; |
|
|
|
|
line[id].style.backgroundColor = "#fff"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
return ( |
|
|
|
|
<div style={style} className={`${className} Login-box-form-item w-full h-12 ${borderType ? borderType : 'rounded-lg'} border border-color7 mt-6 relative flex items-center flex-row-reverse`}> |
|
|
|
|
<div className={`Login-box-form-item-line w-${gapSize ? gapSize : '20'} h-px absolute top-[-1px] right-7 `}></div> |
|
|
|
|
<div className="Login-box-form-item-label text-sm text-color19 bg-white absolute right-6 transition-all duration-300 pointer-events-none"> |
|
|
|
|
{title ? title : 'نام کاربری'} |
|
|
|
|
</div> |
|
|
|
|
<input |
|
|
|
|
type={type ? type : 'text'} |
|
|
|
|
|
|
|
|
|
name="Login-box-form-item-input-name" |
|
|
|
|
id={`Login-box-form-item-input-name${id}`} |
|
|
|
|
className={`Login-box-form-item-input w-full h-full px-4 outline-0 rounded-lg text-gray-700 `} |
|
|
|
|
style={{ direction: direction ? direction : "ltr", backgroundColor: bg }} |
|
|
|
|
onFocus={() => {if(onFocus){onFocus();} focusHandler(id ? id : 0)}} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onBlur={() => blurHandler(id ? id : 0)} |
|
|
|
|
onChange={onChange} |
|
|
|
|
value={value} |
|
|
|
|
maxLength={max} |
|
|
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
const blurHandler = (id) => { |
|
|
|
|
let inputsBox = document.querySelectorAll(".Login-box-form-item"); |
|
|
|
|
let inputs = document.querySelectorAll(".Login-box-form-item-input"); |
|
|
|
|
let label = document.querySelectorAll(".Login-box-form-item-label"); |
|
|
|
|
let line = document.querySelectorAll(".Login-box-form-item-line"); |
|
|
|
|
if (inputs[id]) { |
|
|
|
|
inputsBox[id].style.borderColor = "#EBEBEB"; |
|
|
|
|
label[id].style.transform = "translate(-10px,-27px)"; |
|
|
|
|
label[id].style.color = "#959595"; |
|
|
|
|
inputs[id].style.backgroundColor = "#fff"; |
|
|
|
|
line[id].style.backgroundColor = "#fff"; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
const blurHandler2 = (id) => { |
|
|
|
|
let inputsBox = document.querySelectorAll(".Login-box-form-item"); |
|
|
|
|
let inputs = document.querySelectorAll(".Login-box-form-item-input"); |
|
|
|
|
let label = document.querySelectorAll(".Login-box-form-item-label"); |
|
|
|
|
let line = document.querySelectorAll(".Login-box-form-item-line"); |
|
|
|
|
if (inputs[id]) { |
|
|
|
|
inputsBox[id].style.borderColor = "#404040"; |
|
|
|
|
label[id].style.transform = "translate(-10px,-27px)"; |
|
|
|
|
label[id].style.color = "#404040"; |
|
|
|
|
inputs[id].style.backgroundColor = "#fff"; |
|
|
|
|
line[id].style.backgroundColor = "#fff"; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
return ( |
|
|
|
|
<div |
|
|
|
|
style={style} |
|
|
|
|
className={`${className} Login-box-form-item w-full h-12 ${ |
|
|
|
|
borderType ? borderType : "rounded-lg" |
|
|
|
|
} border border-color7 mt-6 relative flex items-center flex-row-reverse`}
|
|
|
|
|
> |
|
|
|
|
<div |
|
|
|
|
className={`Login-box-form-item-line w-${ |
|
|
|
|
gapSize ? gapSize : "20" |
|
|
|
|
} h-px absolute top-[-1px] right-7 `}
|
|
|
|
|
></div> |
|
|
|
|
<div className="Login-box-form-item-label text-sm text-color19 bg-white absolute right-6 transition-all duration-300 pointer-events-none"> |
|
|
|
|
{title ? title : "نام کاربری"} |
|
|
|
|
</div> |
|
|
|
|
<input |
|
|
|
|
type={type ? type : "text"} |
|
|
|
|
name="Login-box-form-item-input-name" |
|
|
|
|
id={`Login-box-form-item-input-name${id}`} |
|
|
|
|
className={`Login-box-form-item-input w-full h-full px-4 outline-0 rounded-lg text-gray-700 `} |
|
|
|
|
style={{ |
|
|
|
|
pointerEvents : defaultValue ? "none" : 'auto',
|
|
|
|
|
direction: direction ? direction : "ltr", |
|
|
|
|
backgroundColor: bg, |
|
|
|
|
}} |
|
|
|
|
onFocus={() => { |
|
|
|
|
if (onFocus) { |
|
|
|
|
onFocus(); |
|
|
|
|
} |
|
|
|
|
focusHandler(id ? id : 0); |
|
|
|
|
}} |
|
|
|
|
onBlur={() => blurHandler(id ? id : 0)} |
|
|
|
|
onChange={onChange} |
|
|
|
|
value={value} |
|
|
|
|
maxLength={max} |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
); |
|
|
|
|
}; |
|
|
|
|
export default Input; |