import * as ts from 'typescript' ; import { getJsxAttributesFromJsxElement , getStringLiteral } from '../JsxAttribute' ; const typeString = 'type' ; const listString = 'list' ; Returns function getImplicitRoleForInput ( node ) { const attributes = getJsxAttributesFromJsxElement ( node ) ; const typeAttribute = attributes [ typeString ] ; if ( typeAttribute ) { const value = getStringLiteral ( typeAttribute ) || '' ; switch ( value . toUpperCase ( ) ) { case 'BUTTON' : case 'IMAGE' : case 'RESET' : case 'SUBMIT' : return 'button' ; case 'CHECKBOX' : return 'checkbox' ; case 'NUMBER' : return 'spinbutton' ; case 'PASSWORD' : return 'textbox' ; case 'RADIO' : return 'radio' ; case 'RANGE' : return 'slider' ; case 'SEARCH' : return attributes [ listString ] ? 'combobox' : 'searchbox' ; case 'EMAIL' : case 'TEL' : case 'URL' : case 'TEXT' : return attributes [ listString ] ? 'combobox' : 'textbox' ; case 'COLOR' : case 'DATE' : case 'DATETIME' : case 'FILE' : case 'HIDDEN' : case 'MONTH' : case 'TIME' : case 'WEEK' : return undefined ; default : return 'textbox' ; } } return 'textbox' ; } export { getImplicitRoleForInput as input } ;