| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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. |
| */ |
| |
| import { createGlobalStyle } from "styled-components"; |
| |
| export const ScrollbarStyles = createGlobalStyle` |
| /* |
| * Container style |
| */ |
| .ps { |
| overflow: hidden !important; |
| overflow-anchor: none; |
| -ms-overflow-style: none; |
| touch-action: auto; |
| -ms-touch-action: auto; |
| } |
| /* |
| * Scrollbar rail styles |
| */ |
| .ps__rail-x { |
| display: none; |
| opacity: 0; |
| transition: background-color 0.2s linear, opacity 0.2s linear; |
| -webkit-transition: background-color 0.2s linear, opacity 0.2s linear; |
| height: 15px; |
| /* there must be 'bottom' or 'top' for ps__rail-x */ |
| bottom: 0px; |
| /* please don't change 'position' */ |
| position: absolute; |
| } |
| .ps__rail-y { |
| display: none; |
| opacity: 0; |
| transition: background-color 0.2s linear, opacity 0.2s linear; |
| -webkit-transition: background-color 0.2s linear, opacity 0.2s linear; |
| width: 15px; |
| /* there must be 'right' or 'left' for ps__rail-y */ |
| right: 0; |
| /* please don't change 'position' */ |
| position: absolute; |
| } |
| .ps--active-x > .ps__rail-x, |
| .ps--active-y > .ps__rail-y { |
| display: block; |
| background-color: transparent; |
| } |
| /* |
| * Scrollbar thumb styles |
| */ |
| .ps__thumb-x { |
| background-color: #aaa; |
| border-radius: 4px; |
| transition: background-color 0.2s linear, height 0.2s ease-in-out; |
| -webkit-transition: background-color 0.2s linear, |
| height 0.2s ease-in-out; |
| height: 6px; |
| /* there must be 'bottom' for ps__thumb-x */ |
| bottom: 2px; |
| /* please don't change 'position' */ |
| position: absolute; |
| } |
| .ps__thumb-y { |
| background-color: #aaa; |
| border-radius: 4px; |
| transition: background-color 0.2s linear, width 0.2s ease-in-out; |
| -webkit-transition: background-color 0.2s linear, width 0.2s ease-in-out; |
| width: 6px; |
| /* there must be 'right' for ps__thumb-y */ |
| right: 2px; |
| /* please don't change 'position' */ |
| position: absolute; |
| } |
| .ps__rail-x:hover > .ps__thumb-x, |
| .ps__rail-x:focus > .ps__thumb-x, |
| .ps__rail-x.ps--clicking .ps__thumb-x { |
| background-color: #999; |
| height: 11px; |
| } |
| .ps__rail-y:hover > .ps__thumb-y, |
| .ps__rail-y:focus > .ps__thumb-y, |
| .ps__rail-y.ps--clicking .ps__thumb-y { |
| background-color: #999; |
| width: 11px; |
| } |
| /* MS supports */ |
| @supports (-ms-overflow-style: none) { |
| .ps { |
| overflow: auto !important; |
| } |
| } |
| @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { |
| .ps { |
| overflow: auto !important; |
| } |
| } |
| .scrollbar-container { |
| position: relative; |
| height: 100%; |
| } |
| `; |