<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2014 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: rgba(0, 0, 0, 0.15);
      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;
    }

    .hashtagTextBox {
      margin-bottom: 2px;
    }

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

    .cancel {
      float: right;
    }
  </ui:style>
  <g:HTMLPanel>
    <div>
      <span ui:field='hashtagsText'/>
      <g:Button ui:field='openForm'
         title='Add hashtags to this change'
         styleName='{res.style.button}'
         addStyleNames='{style.openAdd}'
         visible='false'>
       <ui:attribute name='title'/>
       <div><ui:msg>Add #...</ui:msg></div>
      </g:Button>
    </div>
    <div ui:field='form' style='display: none' aria-hidden='true'>
      <c:NpTextBox ui:field='hashtagTextBox' styleName='{style.hashtagTextBox}'/>
      <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='cancel'
            styleName='{res.style.button}'
            addStyleNames='{style.cancel}'>
          <div>Cancel</div>
        </g:Button>
      </div>
    </div>
   </g:HTMLPanel>
  </ui:UiBinder>