blob: f29b768bc1a2211d189480eefaff045f77c66c22 [file] [log] [blame]
/*
* Copyright (C) 2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
.bezier-editor {
width: 200px;
height: 258px;
--bezier-editor-preview-translateX: 170px;
}
body[dir=ltr] .bezier-editor {
--bezier-editor-preview-translateX-animate: var(--bezier-editor-preview-translateX);
}
body[dir=rtl] .bezier-editor {
--bezier-editor-preview-translateX-animate: calc(-1 * var(--bezier-editor-preview-translateX));
}
.bezier-editor > .bezier-preview {
width: calc(100% - 10px);
height: 25px;
margin: 5px 5px 0;
border-bottom: 1px solid var(--border-color);
}
.bezier-editor > .bezier-preview > div {
width: 20px;
height: 20px;
background-color: var(--glyph-color-active);
border-radius: 50%;
}
.bezier-editor > .bezier-preview-timing {
position: absolute;
top: 34px;
-webkit-margin-start: 11px;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid var(--text-color);
}
.bezier-editor > .bezier-preview.animate > div,
.bezier-editor > .bezier-preview-timing.animate {
animation: bezierPreview 2.5s linear 250ms infinite;
}
@keyframes bezierPreview {
from { transform: translateX(0); }
10% { transform: translateX(0); }
90% { transform: translateX(var(--bezier-editor-preview-translateX-animate)); }
to { transform: translateX(var(--bezier-editor-preview-translateX-animate)); }
}
.bezier-editor > .bezier-container {
margin: 0 8px;
}
body[dir=rtl] .bezier-editor > .bezier-container {
transform: scaleX(-1);
}
.bezier-editor > .bezier-container .linear-curve {
fill: none;
stroke: var(--text-color-quaternary);
stroke-width: 2;
stroke-linecap: round;
}
.bezier-editor > .bezier-container .bezier-curve {
fill: none;
stroke: var(--text-color);
stroke-width: 2;
stroke-linecap: round;
}
.bezier-editor > .bezier-container .control-line {
fill: none;
stroke: var(--glyph-color-active);
stroke-width: 2;
stroke-linecap: round;
}
.bezier-editor > .bezier-container .control-handle {
r: 5px;
fill: var(--glyph-color-active);
}
.bezier-editor > .bezier-container .control-handle.selected {
r: 7px;
}
.bezier-editor > .number-input-container {
display: flex;
width: calc(100% - 10px);
margin: 0 5px;
padding-top: 7px;
border-top: 1px solid var(--border-color);
}
.bezier-editor > .number-input-container > input {
width: 100%;
margin: 0 2px;
padding: 1px 0 1px;
text-align: end;
}