<% doinline = "inline" if inline else "" %> <% # TODO: # Is id inputtype_${id} vs textinput_${id} important? # Is class capa_inputtype vs textinput important? # should really just use one. %>
% if preprocessor is not None:
% endif % if state == 'unsubmitted':
% elif state == 'correct':
% elif state == 'incorrect':
% elif state == 'incomplete':
% endif % if hidden:
% endif

% if state == 'unsubmitted': unanswered % elif state == 'correct': correct % elif state == 'incorrect': incorrect % elif state == 'incomplete': incomplete % endif

% if do_math:
`{::}`
% endif % if state in ['unsubmitted', 'correct', 'incorrect', 'incomplete']:
% endif % if msg: ${msg|n} % endif