/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ /* Based on Lea Verou www.cubic-bezier.com See https://github.com/LeaVerou/cubic-bezier */ #container { display: flex; width: 410px; height: 370px; flex-direction: row-reverse; overflow: hidden; } .display-wrap { width: 50%; height: 100%; text-align: center; overflow: hidden; } /* Coordinate Plane */ .coordinate-plane { width: 150px; height: 370px; margin: 0 auto; position: relative; } .theme-dark .coordinate-plane:before, .theme-dark .coordinate-plane:after { border-color: #eee; } .control-point { position: absolute; z-index: 1; height: 10px; width: 10px; border: 0; background: #666; display: block; margin: -5px 0 0 -5px; outline: none; border-radius: 5px; padding: 0; cursor: pointer; } .display-wrap { background: repeating-linear-gradient(0deg, transparent, rgba(0, 0, 0, 0.05) 0, rgba(0, 0, 0, 0.05) 1px, transparent 1px, transparent 15px) no-repeat, repeating-linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.05) 0, rgba(0, 0, 0, 0.05) 1px, transparent 1px, transparent 15px) no-repeat; background-size: 100% 100%, 100% 100%; background-position: -2px 5px, -2px 5px; -moz-user-select: none; } .theme-dark .display-wrap { background: repeating-linear-gradient(0deg, transparent, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 15px) no-repeat, repeating-linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 15px) no-repeat; background-size: 100% 100%, 100% 100%; background-position: -2px 5px, -2px 5px; -moz-user-select: none; } canvas#curve { background: linear-gradient(-45deg, transparent 49.7%, rgba(0,0,0,.2) 49.7%, rgba(0,0,0,.2) 50.3%, transparent 50.3%) center no-repeat; background-size: 100% 100%; background-position: 0 0; } .theme-dark canvas#curve { background: linear-gradient(-45deg, transparent 49.7%, #eee 49.7%, #eee 50.3%, transparent 50.3%) center no-repeat; } /* Timing Function Preview Widget */ .timing-function-preview { position: absolute; bottom: 20px; right: 27px; width: 150px; } .timing-function-preview .scale { position: absolute; top: 6px; left: 0; z-index: 1; width: 150px; height: 1px; background: #ccc; } .timing-function-preview .dot { position: absolute; top: 0; left: -7px; z-index: 2; width: 10px; height: 10px; border-radius: 50%; border: 2px solid white; background: #4C9ED9; } .timing-function-preview .dot.animate { animation-duration: 2.5s; animation-fill-mode: forwards; animation-name: timing-function-preview; } @keyframes timing-function-preview { 0% { left: -7px; } 33% { left: 143px; } 50% { left: 143px; } 83% { left: -7px; } 100% { left: -7px; } } /* Preset Widget */ .preset-pane { width:50%; height: 100%; border-right: 1px solid var(--theme-splitter-color); } #preset-categories { display: flex; width: 94%; border: 1px solid var(--theme-splitter-color); border-radius: 2px; background-color: var(--theme-toolbar-background); margin-left: 4px; margin-top: 3px; } #preset-categories .category:last-child { border-right: none; } .category { flex: 1 1 auto; padding: 5px; width: 33.33%; text-align: center; text-transform: capitalize; border-right: 1px solid var(--theme-splitter-color); cursor: default; color: var(--theme-body-color); } .category:hover { background-color: var(--theme-tab-toolbar-background); } .active-category { background-color: var(--theme-selection-background); color: var(--theme-selection-color); } .active-category:hover { background-color: var(--theme-selection-background); } #preset-container { padding: 0px; width: 100%; height: 331px; overflow-y: scroll; } .preset-list { display: none; } .active-preset-list { display: flex; flex-wrap: wrap; justify-content: left; padding-left: 4px; padding-top: 3px; } .preset { cursor: pointer; width: 55px; margin: 5px 11px 0px 0px; text-transform: capitalize; text-align: center; } .preset canvas { display: block; border: 1px solid #ccc; border-radius: 3px; background-color: var(--theme-body-background); } .theme-dark .preset canvas { border-color: #444e58; } .preset p { text-align: center; font-size: 0.9em; line-height: 0px; margin: 2px 0px 0px 0p; color: var(--theme-body-color-alt); } .active-preset p, .active-preset:hover p { color: var(--theme-body-color); } .preset:hover canvas { border-color: var(--theme-selection-background); } .active-preset canvas, .active-preset:hover canvas, .theme-dark .active-preset canvas, .theme-dark .preset:hover canvas { background-color: var(--theme-selection-background-semitransparent); border-color: var(--theme-selection-background); }