/* 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 */ .cubic-bezier-container { display: flex; width: 510px; height: 370px; flex-direction: row-reverse; overflow: hidden; padding: 5px; box-sizing: border-box; } .display-wrap { width: 50%; height: 100%; text-align: center; overflow: hidden; } /* Coordinate Plane */ .coordinate-plane { width: 150px; height: 370px; margin: 0 auto; position: relative; } .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, var(--bezier-grid-color) 0, var(--bezier-grid-color) 1px, transparent 1px, transparent 15px) no-repeat, repeating-linear-gradient(90deg, transparent, var(--bezier-grid-color) 0, var(--bezier-grid-color) 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%, var(--bezier-diagonal-color) 49.7%, var(--bezier-diagonal-color) 50.3%, transparent 50.3%) center no-repeat; background-size: 100% 100%; background-position: 0 0; } /* Timing Function Preview Widget */ .timing-function-preview { position: absolute; bottom: 20px; right: 45px; 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; } /* Preset Widget */ .preset-pane { width: 50%; height: 100%; border-right: 1px solid var(--theme-splitter-color); padding-right: 4px; /* Visual balance for the panel-arrowcontent border on the left */ } #preset-categories { display: flex; width: 95%; border: 1px solid var(--theme-splitter-color); border-radius: 2px; background-color: var(--theme-toolbar-background); margin: 3px auto 0 auto; } #preset-categories .category:last-child { border-right: none; } .category { padding: 5px 0px; width: 33.33%; text-align: center; text-transform: capitalize; border-right: 1px solid var(--theme-splitter-color); cursor: default; color: var(--theme-body-color); text-overflow: ellipsis; overflow: hidden; } .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: auto; } .preset-list { display: none; padding-top: 6px; } .active-preset-list { display: flex; flex-wrap: wrap; justify-content: flex-start; } .preset { cursor: pointer; width: 33.33%; margin: 5px 0px; text-align: center; } .preset canvas { display: block; border: 1px solid var(--theme-splitter-color); border-radius: 3px; background-color: var(--theme-body-background); margin: 0 auto; } .preset p { font-size: 80%; margin: 2px auto 0px auto; color: var(--theme-body-color-alt); text-transform: capitalize; text-overflow: ellipsis; overflow: hidden; } .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 { background-color: var(--theme-selection-background-semitransparent); border-color: var(--theme-selection-background); }