render(indent) {
    const div = new html.Div();
    
    div.addClass('form-group');
    
    if ( this.horizontal() )
      div.addClass('row');
    
    if ( !this.horizontal() && this.cols() > 0 )
      div.addClass(`col-${this.cols()}`);
    
    if ( this.label().length > 0 ) {
      const label = new html.Label();
      
      if ( this.controlSize().length > 0 )
        label.addClass(`col-form-label-${this.controlSize()}`);
      
      if ( this.horizontal() && this.labelCols() > 0 )
        label.addClass(`col-${this.labelCols()}`);
      
      if ( this.id().length > 0 )
        label.for(this.id());
      
      label.text(this.label());
      
      div.append(label);
    }
    
    const select = new html.Select();
    
    select.attributes(this.attributes());
    select.classes(this.classes());
    select.content(this.content());
    select.id(this.id());
    select.style(this.style());
    select.title(this.title());
    select.autofocus(this.autofocus());
    select.disabled(this.disabled());
    select.form(this.form());
    select.multiple(this.multiple());
    select.name(this.name());
    select.required(this.required());
    select.size(this.size());
    
    if ( this.controlSize().length > 0 )
      select.addClass(`form-control-${this.controlSize()}`);
    else
      select.addClass(`form-control`);
    
    if ( this.horizontal() && this.inputCols() > 0 )
      div.append(new html.Div().addClass(`col-${this.inputCols()}`).append(select));
    else
      div.append(select);

    return div.render(indent);
  }
/**
   * Render the component.
   * @signature render(number) Render this component with (number) spaces of indentation
   * @return The rendered HTML
   */
Render the component.
@signature render(number) Render this component with (number) spaces of indentation
@return The rendered HTML
Render the component . @signature render ( number ) Render this component with ( number ) spaces of indentation @return The rendered HTML
render(indent) {
    const div = new html.Div();
    div.addClass('form-group');
    if ( this.horizontal() )
      div.addClass('row');
    if ( !this.horizontal() && this.cols() > 0 )
      div.addClass(`col-${this.cols()}`);
    if ( this.label().length > 0 ) {
      const label = new html.Label();
      if ( this.controlSize().length > 0 )
        label.addClass(`col-form-label-${this.controlSize()}`);
      if ( this.horizontal() && this.labelCols() > 0 )
        label.addClass(`col-${this.labelCols()}`);
      if ( this.id().length > 0 )
        label.for(this.id());
      label.text(this.label());
      div.append(label);
    }
    const select = new html.Select();
    select.attributes(this.attributes());
    select.classes(this.classes());
    select.content(this.content());
    select.id(this.id());
    select.style(this.style());
    select.title(this.title());
    select.autofocus(this.autofocus());
    select.disabled(this.disabled());
    select.form(this.form());
    select.multiple(this.multiple());
    select.name(this.name());
    select.required(this.required());
    select.size(this.size());
    if ( this.controlSize().length > 0 )
      select.addClass(`form-control-${this.controlSize()}`);
    else
      select.addClass(`form-control`);
    if ( this.horizontal() && this.inputCols() > 0 )
      div.append(new html.Div().addClass(`col-${this.inputCols()}`).append(select));
    else
      div.append(select);
    return div.render(indent);
  }
render ( indent ) { const div = new html . Div ( ) ; div . addClass ( 'form-group' ) ; if ( this . horizontal ( ) ) div . addClass ( 'row' ) ; if ( ! this . horizontal ( ) && this . cols ( ) > 0 ) div . addClass ( ` ${ this . cols ( ) } ` ) ; if ( this . label ( ) . length > 0 ) { const label = new html . Label ( ) ; if ( this . controlSize ( ) . length > 0 ) label . addClass ( ` ${ this . controlSize ( ) } ` ) ; if ( this . horizontal ( ) && this . labelCols ( ) > 0 ) label . addClass ( ` ${ this . labelCols ( ) } ` ) ; if ( this . id ( ) . length > 0 ) label . for ( this . id ( ) ) ; label . text ( this . label ( ) ) ; div . append ( label ) ; } const select = new html . Select ( ) ; select . attributes ( this . attributes ( ) ) ; select . classes ( this . classes ( ) ) ; select . content ( this . content ( ) ) ; select . id ( this . id ( ) ) ; select . style ( this . style ( ) ) ; select . title ( this . title ( ) ) ; select . autofocus ( this . autofocus ( ) ) ; select . disabled ( this . disabled ( ) ) ; select . form ( this . form ( ) ) ; select . multiple ( this . multiple ( ) ) ; select . name ( this . name ( ) ) ; select . required ( this . required ( ) ) ; select . size ( this . size ( ) ) ; if ( this . controlSize ( ) . length > 0 ) select . addClass ( ` ${ this . controlSize ( ) } ` ) ; else select . addClass ( ` ` ) ; if ( this . horizontal ( ) && this . inputCols ( ) > 0 ) div . append ( new html . Div ( ) . addClass ( ` ${ this . inputCols ( ) } ` ) . append ( select ) ) ; else div . append ( select ) ; return div . render ( indent ) ; }
Render the component.
Render the component .