<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2013 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<ui:UiBinder
    xmlns:ui='urn:ui:com.google.gwt.uibinder'
    xmlns:c='urn:import:com.google.gwtexpui.globalkey.client'
    xmlns:g='urn:import:com.google.gwt.user.client.ui'>
  <ui:with field='res' type='com.google.gerrit.client.change.Resources'/>
  <ui:style>
    button.openAdd {
      margin: 3px 3px 0 0;
      float: right;
      color: #444;
      background-color: #f5f5f5;
      background-image: -webkit-linear-gradient(top, #f5f5f5, #f1f1f1);
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      border-radius: 2px;
      -webkit-box-sizing: content-box;
      -moz-box-sizing: content-box;
      box-sizing: content-box;
    }
    button.openAdd div {
      width: auto;
      color: #444;
    }

    .suggestBox {
      margin-bottom: 2px;
    }

    .error {
      color: #D33D3D;
      font-weight: bold;
    }

    .cancel {
      float: right;
    }
  </ui:style>
  <g:HTMLPanel>
    <div>
      <span ui:field='reviewersText'/>
      <g:Button ui:field='openForm'
         title='Add reviewers to this change'
         styleName='{res.style.button}'
         addStyleNames='{style.openAdd}'
         visible='false'>
       <ui:attribute name='title'/>
       <div><ui:msg>Add&#8230;</ui:msg></div>
      </g:Button>
    </div>
    <div ui:field='form' style='display: none' aria-hidden='true'>
      <g:SuggestBox ui:field='suggestBox' styleName='{style.suggestBox}'/>
      <div ui:field='error'
           class='{style.error}'
           style='display: none' aria-hidden='true'/>
      <div>
        <g:Button ui:field='add' styleName='{res.style.button}'>
          <div>Add</div>
        </g:Button>
        <g:Button ui:field='addMe'
            styleName='{res.style.button}' visible='false'>
          <div>Add Me</div>
        </g:Button>
        <g:Button ui:field='cancel'
            styleName='{res.style.button}'
            addStyleNames='{style.cancel}'>
          <div>Cancel</div>
        </g:Button>
      </div>
    </div>
   </g:HTMLPanel>
  </ui:UiBinder>
