<!--
Copyright (C) 2016 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.
-->

<link rel="import" href="../../../bower_components/polymer/polymer.html">
<link rel="import" href="../../../behaviors/keyboard-shortcut-behavior.html">

<dom-module id="gr-selection-action-box">
  <template>
    <style>
      :host {
        --gr-arrow-size: .6em;

        background-color: #fff;
        border: 1px solid #000;
        border-radius: .5em;
        cursor: pointer;
        padding: .3em;
        position: absolute;
      }
      .arrow {
        background: #fff;
        border: var(--gr-arrow-size) solid #000;
        border-width: 0 1px 1px 0;
        height: var(--gr-arrow-size);
        left: calc(50% - 1em);
        position: absolute;
        transform: rotate(45deg);
        width: var(--gr-arrow-size);
      }
    </style>
    Press <strong>C</strong> to comment.
    <div class="arrow"></div>
  </template>
  <script src="gr-selection-action-box.js"></script>
</dom-module>
