blob: da93bd60ecd9c55e1529f7bf5e7c35c4a803ce17 [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;
--bezier-editor-preview-timing-margin-start: 11px;
}
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 lightgrey;
}
.bezier-editor > .bezier-preview > div {
width: 20px;
height: 20px;
background-color: var(--selected-background-color);
border-radius: 50%;
}
.bezier-editor > .bezier-preview-timing {
position: absolute;
top: 34px;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid black;
}
body[dir=ltr] .bezier-editor > .bezier-preview-timing {
margin-left: var(--bezier-editor-preview-timing-margin-start);
}
body[dir=rtl] .bezier-editor > .bezier-preview-timing {
margin-right: var(--bezier-editor-preview-timing-margin-start);
}
.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:lightgrey;
stroke-width: 2;
stroke-linecap: round;
}
.bezier-editor > .bezier-container .bezier-curve {
fill: none;
stroke: black;
stroke-width: 2;
stroke-linecap: round;
}
.bezier-editor > .bezier-container .control-line {
fill: none;
stroke: hsl(210, 100%, 49%);
stroke-width: 2;
stroke-linecap: round;
}
.bezier-editor > .bezier-container .control-handle {
r: 5px;
fill: hsl(210, 100%, 49%);
}
.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 lightgrey;
}
.bezier-editor > .number-input-container > input {
width: 100%;
margin: 0 2px;
padding: 1px 0 1px;
text-align: right;
font-size: 12px;
background-color: white;
border: 1px solid hsl(0, 0%, 60%);
border-radius: 4px;
box-shadow: inset 0 0 1px 1px hsl(0, 0%, 89%);
outline: none;
--bezier-editor-number-input-padding-start: 1px;
}
body[dir=ltr] .bezier-editor > .number-input-container > input {
padding-left: var(--bezier-editor-number-input-padding-start);
}
body[dir=rtl] .bezier-editor > .number-input-container > input {
padding-right: var(--bezier-editor-number-input-padding-start);
}