// info section after '? xxx'
info(model) ::= <%
<if(model.hasMaskCharacter)>
  <if(model.maskedInput)>
    <model.maskedInput>
  <else>
    <if(model.defaultValue)>
      <("[Default "); format="style-value"><model.defaultValue; format="style-value"><("]"); format="style-value">
    <endif>
  <endif>
<else>
  <if(model.input)>
    <model.input>
  <else>
    <if(model.defaultValue)>
      <("[Default "); format="style-value"><model.defaultValue; format="style-value"><("]"); format="style-value">
    <endif>
  <endif>
<endif>
%>

// start '? xxx' shows both running and result
question_name(model) ::= <<
<({<figures.questionMark>}); format="style-list-value"> <model.name; format="style-title">
>>

// component result
result(model) ::= <<
<question_name(model)> <model.maskedResultValue; format="style-value">
>>

// component is running
running(model) ::= <<
<question_name(model)> <info(model)>
>>

// main
main(model) ::= <<
<if(model.resultValue)><result(model)><else><running(model)><endif>
>>
