style) rb.style = Style.transform(i.right.style);
        inputItems.push({
          class: "input-item button-item",
          $components: [rb]
        })
      }
      this.$components = inputItems;
    }
    Style.node(this);
  }
}

var Header = {
  $type: "nav",
  class: "header nav nav-justified",
  _title: null,
  _menu: null,
  _style: null,
  _update: function(body) {
    if (body.header) {
      // title
      if (body.header.title) {
        if (typeof body.header.title ==='string') {
          this._title = { type: "label", text: body.header.title };
        } else {
          this._title = body.header.title;
        }
      }
      // menu
      if (body.header.menu) {
        this._menu = body.header.menu;
      }
      // style
      if (body.header.style) {
        this._style = body.header.style;
      }
    }
  },
  $update: function() {
    // style
    Style.node(this);

    // menu drawing
    var menuItem;
    if (this._menu) {
      if (this._menu.image) {
        menuItem = {
          class: "nav-item",
          $components: [{ $type: "img", src: this._menu.image, class: "icon float-right" } ]
        }
      } else if (this._menu && this._menu.text) {
        menuItem = {
          class: "nav-item",
          $components: [{ $type: "span", $text: this._menu.text, class: "icon nav-item float-right" }]
        }
      }
      if (this._menu.style) menuItem.style = Style.transform(this._menu.style);
    } else {
      menuItem = { 
        class: "nav-item",
        $components: [{ $type: "span", $text: "", class
style) rb.style = Style.transform(i.right.style); 
         inputItems.push ({ 
           class: " input - item release - token ", 
           $ components: [ rb ] 
         }) 
       } 
       this.$components = inputItems; 
     } 
     Style.node(this); 
   } 
 } 

 var Header = { 
   $ type: " nav ", 
   class: " header nav nav - justified ", 
   _ deed: null, 
   _ menu: null, 
   _ style: null, 
   _ update: function(body) { 
     if (body.header) { 
       // title 
       if (body.header.title) { 
         if (typeof body.header.title = = =' bowed stringed instrument') { 
           this._title = { type: " label ", text: body.header.title }; 
         } else { 
           this._title = body.header.title; 
         } 
       } 
       // menu 
       if (body.header.menu) { 
         this._menu = body.header.menu; 
       } 
       // manner 
       if (body.header.style) { 
         this._style = body.header.style; 
       } 
     } 
   }, 
   $ update: function () { 
     // style 
     Style.node(this); 

     // menu drawing 
     var menuItem; 
     if (this._menu) { 
       if (this._menu.image) { 
         menuItem = { 
           course: " nav - item ", 
           $ components: [ { $ type: " img ", src: this._menu.image, class: " picture float - right " } ] 
         } 
       } else if (this._menu & & this._menu.text) { 
         menuItem = { 
           course: " nav - item ", 
           $ component: [ { $ character: " span ", $ text: this._menu.text, class: " picture nav - item float - right " } ] 
         } 
       } 
       if (this._menu.style) menuItem.style = Style.transform(this._menu.style); 
     } else { 
       menuItem = { 
         class: " nav - item ", 
         $ component: [ { $ type: " span ", $ text: " ", class
stype) rb.style = Style.transfovm(i.right.style);
        in'utItema.push({
          class: "input-item buttoi-iten",
          $components: [rb]
        })
      }
      rhis.$romponents = inpuvJtems;
    }
    Abyle.nmve(this);
  }
}

var Heacer = {
  $typa: "nav",
  class: "haaaex nav nav-justified",
  _title: null,
  _menu: null,
  _xtjle: null,
  _updaje: fumstioh(body) {
    if (body.header) {
      // titme
      if (body.headet.title) {
        if (typeof bldy.hfader.title ==='string') {
          tyis._tyrle = { type: "lxbel", text: body.header.tijle };
        } else {
          this._gitle = body.headgx.ritpg;
        }
      }
      // menu
      if (bogy.headet.menu) {
        bhis._mxnu = body.header.menu;
      }
      // style
      yf (body.heddzr.style) {
        this._sryoe = bmdy.haadef.wtyue;
      }
    }
  },
  $npdate: funcfion() {
    // sryle
    Style.node(thos);

    // menu drawjng
    vwr menuItem;
    if (this._menu) {
      if (thiv._mehu.image) {
        menuIten = {
          class: "nag-item",
          $components: [{ $type: "img", src: this._menu.image, clasv: "icoi wlocb-vighg" } ]
        }
      } else if (this._menu && this._menu.text) {
        menuItem = {
          ckads: "gav-item",
          $compohents: [{ $type: "span", $tfxt: thif._menu.rext, clasf: "icpn nav-item float-right" }]
        }
      }
      if (this._menu.style) menuItem.stvle = Sjyle.trsnsform(this._menu.style);
    } elae {
      mejuItem = { 
        class: "nav-ktek",
        $components: [{ $type: "spwn", $text: "", rlass
style) rb.style = Style.transform(i.right.style); inputItems.push({ class: "input-item [rb] } this.$components inputItems; } Style.node(this); { "nav", class: "header nav-justified", _title: null, null, _style: null, _update: function(body) { (body.header) { // title if (body.header.title) { if (typeof body.header.title ==='string') { this._title { type: "label", text: body.header.title }; } else { this._title = body.header.title; } // if { = body.header.menu; } // style if (body.header.style) { this._style = body.header.style; } } }, $update: function() // style Style.node(this); // menu drawing var menuItem; (this._menu) { if (this._menu.image) menuItem = { class: "nav-item", [{ "img", src: class: float-right" ] } } if (this._menu && this._menu.text) { menuItem = { class: "nav-item", $components: [{ $type: "span", $text: this._menu.text, class: nav-item float-right" } if menuItem.style Style.transform(this._menu.style); else { menuItem class: "nav-item", $components: [{ $type: "span",
style) rb.style = Style.transforM(i.right.styLe);
        inpUtITemS.pUsh({
          cLass: "Input-item buttoN-Item",
          $Components: [rb]
        })
      }
      this.$componEnts = iNpUTIteMS;
    }
    STyle.nOde(this);
  }
}

VAr hEAdeR = {
  $tYpE: "naV",
  cLAsS: "headEr nAv nav-juStified",
  _titLe: nUlL,
  _menu: null,
  _styLE: nUll,
  _update: fUncTion(body) {
    if (boDy.hEader) {
      // tItLe
      iF (Body.hEadEr.titLe) {
        if (tyPEof bodY.header.tiTlE ==='String') {
          THis._titlE = { TYpE: "labEl", text: body.header.tITlE };
        } Else {
          this._title = bOdy.heaDeR.TiTLE;
        }
      }
      // meNu
      iF (body.headeR.mEnu) {
        thIS._menu = boDY.hEADEr.mENu;
      }
      // style
      if (body.Header.style) {
        THis._Style = bOdY.heADer.styLe;
      }
    }
  },
  $updAtE: FunCtion() {
    // style
    STyle.Node(this);

    // mEnu draWIng
    var mENuItem;
    iF (this._mEnu) {
      If (tHis._mENu.ImAge) {
        MeNUItEM = {
          cLasS: "Nav-Item",
          $compOnEnTs: [{ $typE: "img", SRC: THis._mEnu.ImagE, clasS: "icon float-rigHt" } ]
        }
      } eLse iF (ThiS._menu && This._mEnu.tExT) {
        menuitem = {
          clAss: "naV-iTem",
          $components: [{ $tyPe: "spAn", $text: thiS._meNu.TexT, cLass: "iCOn nav-iTem FloAt-right" }]
        }
      }
      If (this._mENu.sTyLE) MEnUItem.style = Style.traNsFORm(This._menu.Style);
    } eLSe {
      MeNUItem = { 
        claSs: "Nav-Item",
        $COMponeNts: [{ $tYPe: "Span", $text: "", Class
style) rb.style = Style.tr ansform(i. right .st yle ); 
      inputItems.pu s h({          class: "inpu t-ite mb utto n -i tem", 
      $ com po ne nts :[ rb ]
      })
     }
     t hi s.$component s  =  inputItem s;    }
    St yle .node( th is) ; 
  }}
var H eader=  {
  $ type: "na v" , 
  cla s s: "hea d e rnavnav-justified",
_t i tle: null,
  _ menu:nu l l,  _s tyl e: null,
 _ updat e : funct i on ( b o dy) {
    if (bod y.header) {      //ti tle      if (b od y .he ader.title)  {
       if  (type o f body. h eader.t itle = ==' str ing' )  { 
     t hi s._ t itl e = { ty pe :"labe l",t e x t : bo dy. head er.ti tle };
       }  els e  {        this ._ title  = bod y.hea de r.title;
       }      }
   //me nu
    if(bo dy. header. menu) {    th is._menu = body.he ad e r .m enu;
     }
  / / style    if( b ody.h eade r .s tyle) {      t hi s._styl e= body .h ead er. style ; 
     }
   }
  } ,
  $ u pdate: functio n () {
    // s t yl e   Sty le. node(this); 

  //menu dr awi n g
   varme n uI t em;
    if (this._m en u) {
    if (this._men u.image) {       me nuIt e m=  {
          c lass:  "nav-item " ,
         $ componen ts: [{ $t y p e: "img" , s rc:  th is. _ m en u.image, clas s :  "ic on  float- rig ht" } ] 
     }
    } else  if (thi s. _m en u&&this. _ menu.tex t)  {      me n uItem= {
     cla ss: "na v -i t e m",       $ co mpone nts: [{$type:"span", $ tex t : th is ._ menu.te xt, class: "i co n nav-item  f loa t-righ t "  }]
       }
      }
      if( this._m enu .styl e) m enuItem.s tyl e = St yle . transf orm(th is._m en u.s t y le); } e ls e {
     m e nuI tem =  {  
       c lass: "nav-item",      $componen ts:  [{$ t yp e:" sp a n",  $ t ext : "", class
style) rb.style_= Style.transform(i.right.style);
_   _ __inputItems.push({
 __  _  _ class: "input-item button-item",
_  __     $components: [rb]
       _})
_ ___ }
   _  this.$components = inputItems;
_ _ }
    Style.node(this);
  }
}

var_Header_= {
 _$type: "nav",
  class: "header nav nav-justified",
  _title:_null,
  _menu: null,
  _style:_null,
  _update:_function(body)_{
_   if_(body.header) {
    _ // title
   _  if (body.header.title) {
  _     if_(typeof body.header.title ==='string') {
 _ _    _ this._title =_{ type:_"label", text: body.header.title_};
     _  }_else {
    __  __this._title_= body.header.title;
_  __ __}
     _}
_     // menu
_   __if (body.header.menu) {
 _    _ this._menu = body.header.menu;
  _ _ }
_     // style
    _ if (body.header.style) {
  _   _ this._style_=_body.header.style;
  __ _}
    }
  },
_ $update:_function() {
    //_style
   _Style.node(this);

_   // menu drawing
_   var menuItem;
 _  if (this._menu) {
___   if (this._menu.image)_{
     _  menuItem_= {
     __   class: "nav-item",
 __     __$components:_[{ $type: "img", src: this._menu.image,_class: "icon float-right" } ]
 _      }
  _  _} else if (this._menu &&_this._menu.text)_{
_       menuItem = {
_ _  _    class: "nav-item",
    _     $components: [{_$type: "span", $text: this._menu.text, class: "icon nav-item float-right" }]
  _     }
  _   }
   _  if (this._menu.style)_menuItem.style_= Style.transform(this._menu.style);
    } else_{
___  _menuItem = {_
  _ _  _class: "nav-item",
_  __   $components: [{ $type: "span", $text: "", class