mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-03-01 05:06:24 +00:00
149 lines
3.1 KiB
SCSS
149 lines
3.1 KiB
SCSS
$tff-font-size: 0.75em !default;
|
|
$tff-line-height:26px !default;
|
|
$tff-transition: all 0.15s $swift-ease-in-out-timing-function !default;
|
|
// - `label` element (aka hint)
|
|
$tff-hint-offset-large : 22px !default;
|
|
$tff-hint-offset-small : 4px !default;
|
|
$ttf-hint-offset-scale : 0.75 !default;
|
|
// - `line` element
|
|
$tff-line-focused-width: 2px !default;
|
|
$tff-line-disabled-width: 0px !default;
|
|
$tff-line-dot-width: 1px !default;
|
|
$tff-line-dot-size: 3px !default;
|
|
$tff-line-dashed: #cfcfcf !default;
|
|
|
|
$tff-margin: 10px 0 (10px - $tff-line-focused-width) 0 !default;
|
|
|
|
// ******************************
|
|
// Mixins: Text Fields
|
|
// ******************************
|
|
|
|
@mixin text-field($transition:false, $borderWidth:1px ) {
|
|
input, textarea {
|
|
border-bottom-width: $borderWidth;
|
|
|
|
@if( $transition != false ) {
|
|
transition: $transition;
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin text-hint($size:large, $transition:false ) {
|
|
label {
|
|
@if $size == "small" {
|
|
transform: translate3d(0, $tff-hint-offset-small, 0) scale($ttf-hint-offset-scale);
|
|
} @else {
|
|
transform: translate3d(0, $tff-hint-offset-large, 0);
|
|
transform-origin: left center;
|
|
transition: $tff-transition;
|
|
}
|
|
|
|
@if( $transition != false ) {
|
|
transition: $transition;
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin text-dashed-line( $dotGap, $dotSize) {
|
|
background-size: $dotSize $dotGap;
|
|
background-position: 0 bottom;
|
|
background-size: (1px + 1px) $dotGap;
|
|
background-repeat: repeat-x;
|
|
}
|
|
|
|
md-input-group,
|
|
.md-input-group {
|
|
|
|
label {
|
|
display: block;
|
|
font-size: $tff-font-size;
|
|
}
|
|
|
|
textarea,
|
|
input[type="text"],
|
|
input[type="password"],
|
|
input[type="datetime"],
|
|
input[type="datetime-local"],
|
|
input[type="date"],
|
|
input[type="month"],
|
|
input[type="time"],
|
|
input[type="week"],
|
|
input[type="number"],
|
|
input[type="email"],
|
|
input[type="url"],
|
|
input[type="search"],
|
|
input[type="tel"],
|
|
input[type="color"] {
|
|
display: block;
|
|
border-width: 0 0 1px 0;
|
|
padding-top: 2px;
|
|
line-height: $tff-line-height;
|
|
padding-bottom: 1px;
|
|
|
|
&:focus {
|
|
outline: 0;
|
|
}
|
|
}
|
|
|
|
input, textarea {
|
|
background: none;
|
|
}
|
|
}
|
|
|
|
// Light-Theme
|
|
md-input-group,
|
|
.md-input-group {
|
|
padding-bottom: $tff-line-focused-width;
|
|
margin: $tff-margin;
|
|
|
|
position: relative;
|
|
display: block;
|
|
|
|
label {
|
|
font-size: 1em;
|
|
z-index: 1;
|
|
pointer-events: none;
|
|
-webkit-font-smoothing: antialiased;
|
|
|
|
&:hover {
|
|
cursor: text;
|
|
}
|
|
}
|
|
|
|
@include text-hint( large, $tff-transition );
|
|
@include text-field( $tff-transition );
|
|
|
|
|
|
&.md-input-focused {
|
|
@include text-hint( small );
|
|
@include text-field( false, $tff-line-focused-width );
|
|
input {
|
|
padding-bottom: 0px;
|
|
}
|
|
}
|
|
|
|
&.md-input-has-value {
|
|
@include text-hint( small );
|
|
|
|
&:not(.md-input-focused) {
|
|
@include text-hint( small );
|
|
}
|
|
}
|
|
|
|
&[disabled] {
|
|
|
|
@include text-field( false, $tff-line-disabled-width );
|
|
input, textarea {
|
|
@include text-dashed-line( $tff-line-dot-width, $tff-line-dot-size);
|
|
pointer-events: none;
|
|
}
|
|
|
|
@include text-hint( small );
|
|
|
|
*:not(.md-input-has-value) {
|
|
@include text-hint( large );
|
|
}
|
|
|
|
}
|
|
}
|