36 lines
770 B
JavaScript
36 lines
770 B
JavaScript
import {isOnlyNumbersAndLetters} from 'smart-utils/src'
|
|
|
|
|
|
|
|
export default function nameText(ui) {
|
|
const onChange = function (input, setError) {
|
|
if (isOnlyNumbersAndLetters(input)) {
|
|
ui.setValue({name: input.toLowerCase()})
|
|
setError(false)
|
|
} else {
|
|
ui.setValue({name: ''})
|
|
setError(true)
|
|
}
|
|
return input
|
|
}
|
|
|
|
return {
|
|
type: 'text',
|
|
params: {
|
|
id: 'nameText',
|
|
label: 'Name',
|
|
helperText: 'Give me your name',
|
|
placeholder: 'Your name...',
|
|
value: ui.getValue().name,
|
|
type: 'text',
|
|
margin: 'normal',
|
|
variant: 'standard',
|
|
error: false,
|
|
required: false,
|
|
disabled: false,
|
|
shrink: true,
|
|
fullWidth: false,
|
|
onChangeListener: onChange,
|
|
},
|
|
}
|
|
}
|