/*
 * Copyright (C) 2017-2019 Dremio Corporation
 *
 * 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.
 */

:global {
  // DX-11429 TODO reafactor component to use css modules instead fo global classes

  .special-char {
    display: inline-block;
    color: var(--fill--warning--solid);
    border-radius: 0.25em;
    width: 1em; // can't have width:1em in ::before *and* change the font-size - so it's out here
    position: relative;
    vertical-align: middle;

    // keep fake `content` out of the text selection with `::before` and `content`
    @default-font-size: 1em;
    &::before {
      width: 100%;
      font-size: @default-font-size;
      //  vertical center trick
      top: 50%;
      transform: translateY(-50%);
      margin-top: -1px;
      text-align: center;
      position: absolute; // take out of flow so the real char overlaps
    }

    .special-char-inner {
      white-space: pre; // don't let the browser convert tabs to spaces for copy
      display: inline-block;
      height: 100%;
      width: 100%;
      font-size: 500em; // make it big so that the real char fill the whole box (looks good when selected)
      overflow: hidden; // helps with tab selection, and the now-big chars
    }

    // NOTE: other CSS written by JS
  }
}
