<!--
@license
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/keyboard-shortcut-behavior.html">
<link rel="import" href="../../../styles/shared-styles.html">
<link rel="import" href="../../shared/gr-tooltip/gr-tooltip.html">

<dom-module id="gr-selection-action-box">
  <template>
    <style include="shared-styles">
      :host {
        cursor: pointer;
        font-family: var(--font-family);
        position: absolute;
        white-space: nowrap;
      }
      #tooltip {
        --tooltip-background-color: rgba(22, 22, 22, .9);
      }
    </style>
    <gr-tooltip
        id="tooltip"
        text="Press c to comment"
        position-below="[[positionBelow]]"></gr-tooltip>
  </template>
  <script src="gr-selection-action-box.js"></script>
</dom-module>
