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

<dom-module id="gr-editor">
  <template>
    <style>
      #wrapper {
        height: 100%;
        z-index: 0;
      }
      .CodeMirror {
        font-family: 'Roboto Mono', Menlo, 'Lucida Console', Monaco, monospace;
        height: auto;
        /* CodeMirror has a default z-index of 4. Set to 0 to avoid collisions with fixed header. */
        z-index: 0;
      }
      .CodeMirror-linenumbers {
        background-color: #fafafa;
      }
      .CodeMirror-linenumber {
        color: #757575;
      }
      .CodeMirror-ruler {
        border-left: 1px solid #ddd;
      }
      .cm-tab:before {
        color: #757575;
        content: "\2192";
        position: absolute;
      }
      .cm-trailingspace {
        background-color: #ef9a9a;
        border: 1px solid #f44336;
        border-radius: 3px;
      }
    </style>
    <div id="wrapper"></div>
  </template>
  <script src="gr-editor.js"></script>
</dom-module>
