mirror of
https://github.com/mdbootstrap/mdb-ui-kit.git
synced 2024-11-30 05:24:09 +03:00
normalized placeholders with labels, moved placeholder content generation to mixin, updated sass conversion
This commit is contained in:
parent
21b49987d8
commit
9bbd049fea
|
@ -35,7 +35,7 @@ module.exports = function (grunt) {
|
||||||
files: [{
|
files: [{
|
||||||
expand: true,
|
expand: true,
|
||||||
cwd: "less",
|
cwd: "less",
|
||||||
src: ["*.less", "!_mixins.less", "!_mixins-fullpalette.less"],
|
src: ["*.less", "!_mixins.less", "!_mixins-fullpalette.less", "!_mixins-shared.less"],
|
||||||
ext: ".scss",
|
ext: ".scss",
|
||||||
dest: "sass"
|
dest: "sass"
|
||||||
}],
|
}],
|
||||||
|
@ -104,6 +104,12 @@ module.exports = function (grunt) {
|
||||||
order: 24
|
order: 24
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// material-placehorder
|
||||||
|
{ // Multi-line replacement - https://regex101.com/r/eS2vQ3/2
|
||||||
|
pattern: /.material-placeholder\({$\n([\s\S]+?)}\);$\n/mg,
|
||||||
|
replacement: "@include material-placeholder {\n$1\n}\n",
|
||||||
|
order: 24
|
||||||
|
},
|
||||||
|
|
||||||
// fix calc references
|
// fix calc references
|
||||||
{ // https://regex101.com/r/aZ8iI5/1
|
{ // https://regex101.com/r/aZ8iI5/1
|
||||||
|
|
642
dist/css/material-fullpalette.css
vendored
642
dist/css/material-fullpalette.css
vendored
File diff suppressed because it is too large
Load Diff
2
dist/css/material-fullpalette.css.map
vendored
2
dist/css/material-fullpalette.css.map
vendored
File diff suppressed because one or more lines are too long
2
dist/css/material-fullpalette.min.css
vendored
2
dist/css/material-fullpalette.min.css
vendored
File diff suppressed because one or more lines are too long
2
dist/css/material-fullpalette.min.css.map
vendored
2
dist/css/material-fullpalette.min.css.map
vendored
File diff suppressed because one or more lines are too long
110
dist/css/material.css
vendored
110
dist/css/material.css
vendored
|
@ -2571,7 +2571,7 @@ Then, run this script to get the list.
|
||||||
box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22);
|
box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22);
|
||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
background-color: #eeeeee;
|
background-color: #EEEEEE;
|
||||||
}
|
}
|
||||||
body.inverse {
|
body.inverse {
|
||||||
background: #333333;
|
background: #333333;
|
||||||
|
@ -2655,7 +2655,7 @@ body .well-default,
|
||||||
body .jumbotron-default,
|
body .jumbotron-default,
|
||||||
.container .jumbotron-default,
|
.container .jumbotron-default,
|
||||||
.container-fluid .jumbotron-default {
|
.container-fluid .jumbotron-default {
|
||||||
background-color: #ffffff;
|
background-color: #FFF;
|
||||||
}
|
}
|
||||||
body .well-black,
|
body .well-black,
|
||||||
.container .well-black,
|
.container .well-black,
|
||||||
|
@ -4921,19 +4921,19 @@ output {
|
||||||
padding-bottom: 9px;
|
padding-bottom: 9px;
|
||||||
min-height: 38px;
|
min-height: 38px;
|
||||||
}
|
}
|
||||||
.input-sm {
|
.input-sm '.input-sm' {
|
||||||
height: 26px;
|
height: 26px;
|
||||||
padding: 4px 0px;
|
padding: 4px 0px;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
select.input-sm {
|
.input-sm select'.input-sm' {
|
||||||
height: 26px;
|
height: 26px;
|
||||||
line-height: 26px;
|
line-height: 26px;
|
||||||
}
|
}
|
||||||
textarea.input-sm,
|
.input-sm textarea'.input-sm',
|
||||||
select[multiple].input-sm {
|
.input-sm select[multiple]'.input-sm' {
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
.form-group-sm .form-control {
|
.form-group-sm .form-control {
|
||||||
|
@ -4957,19 +4957,19 @@ select[multiple].input-sm {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
}
|
}
|
||||||
.input-lg {
|
.input-lg '.input-lg' {
|
||||||
height: 42px;
|
height: 42px;
|
||||||
padding: 8px 0px;
|
padding: 8px 0px;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
line-height: 1.3333333;
|
line-height: 1.3333333;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
}
|
}
|
||||||
select.input-lg {
|
.input-lg select'.input-lg' {
|
||||||
height: 42px;
|
height: 42px;
|
||||||
line-height: 42px;
|
line-height: 42px;
|
||||||
}
|
}
|
||||||
textarea.input-lg,
|
.input-lg textarea'.input-lg',
|
||||||
select[multiple].input-lg {
|
.input-lg select[multiple]'.input-lg' {
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
.form-group-lg .form-control {
|
.form-group-lg .form-control {
|
||||||
|
@ -5022,7 +5022,7 @@ select[multiple].input-lg {
|
||||||
}
|
}
|
||||||
.form-control {
|
.form-control {
|
||||||
border: 0;
|
border: 0;
|
||||||
background-image: linear-gradient(#009688, #009688), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#009688, #009688), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
background-size: 0 2px, 100% 1px;
|
background-size: 0 2px, 100% 1px;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center bottom, center calc(100% - 1px);
|
background-position: center bottom, center calc(100% - 1px);
|
||||||
|
@ -5031,7 +5031,7 @@ select[multiple].input-lg {
|
||||||
}
|
}
|
||||||
.form-group.is-focused .form-control {
|
.form-group.is-focused .form-control {
|
||||||
outline: none;
|
outline: none;
|
||||||
background-image: linear-gradient(#009688, #009688), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#009688, #009688), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
background-size: 100% 2px, 100% 1px;
|
background-size: 100% 2px, 100% 1px;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
transition-duration: 0.3s;
|
transition-duration: 0.3s;
|
||||||
|
@ -5039,6 +5039,21 @@ select[multiple].input-lg {
|
||||||
.form-group.is-focused .form-control .material-input:after {
|
.form-group.is-focused .form-control .material-input:after {
|
||||||
background-color: #009688;
|
background-color: #009688;
|
||||||
}
|
}
|
||||||
|
.form-control::-moz-placeholder {
|
||||||
|
color: #BDBDBD;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.form-control:-ms-input-placeholder {
|
||||||
|
color: #BDBDBD;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.form-control::-webkit-input-placeholder {
|
||||||
|
color: #BDBDBD;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
fieldset[disabled] .form-control:textarea,
|
fieldset[disabled] .form-control:textarea,
|
||||||
.form-control:textarea {
|
.form-control:textarea {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
|
@ -5068,13 +5083,14 @@ fieldset[disabled] .form-control {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.form-group label.control-label {
|
.form-group label.control-label {
|
||||||
|
color: #BDBDBD;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
margin: 16px 0 0 0;
|
margin: 16px 0 0 0;
|
||||||
}
|
}
|
||||||
.form-group label.control-label,
|
.form-group label.control-label,
|
||||||
.form-group-default label.control-label {
|
.form-group-default label.control-label {
|
||||||
color: #bdbdbd;
|
color: #BDBDBD;
|
||||||
}
|
}
|
||||||
.form-group-black label.control-label {
|
.form-group-black label.control-label {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
|
@ -5259,94 +5275,94 @@ fieldset[disabled] .form-control {
|
||||||
}
|
}
|
||||||
.form-group.is-focused .form-control,
|
.form-group.is-focused .form-control,
|
||||||
.form-group-default.is-focused .form-control {
|
.form-group-default.is-focused .form-control {
|
||||||
background-image: linear-gradient(#009688, #009688), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#009688, #009688), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-black.is-focused .form-control {
|
.form-group-black.is-focused .form-control {
|
||||||
background-image: linear-gradient(#000000, #000000), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#000000, #000000), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-white.is-focused .form-control {
|
.form-group-white.is-focused .form-control {
|
||||||
background-image: linear-gradient(#ffffff, #ffffff), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#ffffff, #ffffff), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-inverse.is-focused .form-control {
|
.form-group-inverse.is-focused .form-control {
|
||||||
background-image: linear-gradient(#3f51b5, #3f51b5), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#3f51b5, #3f51b5), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-primary.is-focused .form-control {
|
.form-group-primary.is-focused .form-control {
|
||||||
background-image: linear-gradient(#009688, #009688), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#009688, #009688), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-success.is-focused .form-control {
|
.form-group-success.is-focused .form-control {
|
||||||
background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-info.is-focused .form-control {
|
.form-group-info.is-focused .form-control {
|
||||||
background-image: linear-gradient(#03a9f4, #03a9f4), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#03a9f4, #03a9f4), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-warning.is-focused .form-control {
|
.form-group-warning.is-focused .form-control {
|
||||||
background-image: linear-gradient(#ff5722, #ff5722), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#ff5722, #ff5722), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-danger.is-focused .form-control {
|
.form-group-danger.is-focused .form-control {
|
||||||
background-image: linear-gradient(#f44336, #f44336), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#f44336, #f44336), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-red.is-focused .form-control {
|
.form-group-material-red.is-focused .form-control {
|
||||||
background-image: linear-gradient(#f44336, #f44336), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#f44336, #f44336), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-pink.is-focused .form-control {
|
.form-group-material-pink.is-focused .form-control {
|
||||||
background-image: linear-gradient(#e91e63, #e91e63), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#e91e63, #e91e63), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-purple.is-focused .form-control {
|
.form-group-material-purple.is-focused .form-control {
|
||||||
background-image: linear-gradient(#9c27b0, #9c27b0), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#9c27b0, #9c27b0), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-deep-purple.is-focused .form-control {
|
.form-group-material-deep-purple.is-focused .form-control {
|
||||||
background-image: linear-gradient(#673ab7, #673ab7), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#673ab7, #673ab7), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-indigo.is-focused .form-control {
|
.form-group-material-indigo.is-focused .form-control {
|
||||||
background-image: linear-gradient(#3f51b5, #3f51b5), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#3f51b5, #3f51b5), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-blue.is-focused .form-control {
|
.form-group-material-blue.is-focused .form-control {
|
||||||
background-image: linear-gradient(#2196f3, #2196f3), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#2196f3, #2196f3), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-light-blue.is-focused .form-control {
|
.form-group-material-light-blue.is-focused .form-control {
|
||||||
background-image: linear-gradient(#03a9f4, #03a9f4), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#03a9f4, #03a9f4), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-cyan.is-focused .form-control {
|
.form-group-material-cyan.is-focused .form-control {
|
||||||
background-image: linear-gradient(#00bcd4, #00bcd4), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#00bcd4, #00bcd4), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-teal.is-focused .form-control {
|
.form-group-material-teal.is-focused .form-control {
|
||||||
background-image: linear-gradient(#009688, #009688), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#009688, #009688), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-green.is-focused .form-control {
|
.form-group-material-green.is-focused .form-control {
|
||||||
background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-light-green.is-focused .form-control {
|
.form-group-material-light-green.is-focused .form-control {
|
||||||
background-image: linear-gradient(#8bc34a, #8bc34a), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#8bc34a, #8bc34a), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-lime.is-focused .form-control {
|
.form-group-material-lime.is-focused .form-control {
|
||||||
background-image: linear-gradient(#cddc39, #cddc39), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#cddc39, #cddc39), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-yellow.is-focused .form-control {
|
.form-group-material-yellow.is-focused .form-control {
|
||||||
background-image: linear-gradient(#ffeb3b, #ffeb3b), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#ffeb3b, #ffeb3b), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-amber.is-focused .form-control {
|
.form-group-material-amber.is-focused .form-control {
|
||||||
background-image: linear-gradient(#ffc107, #ffc107), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#ffc107, #ffc107), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-orange.is-focused .form-control {
|
.form-group-material-orange.is-focused .form-control {
|
||||||
background-image: linear-gradient(#ff9800, #ff9800), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#ff9800, #ff9800), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-deep-orange.is-focused .form-control {
|
.form-group-material-deep-orange.is-focused .form-control {
|
||||||
background-image: linear-gradient(#ff5722, #ff5722), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#ff5722, #ff5722), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-brown.is-focused .form-control {
|
.form-group-material-brown.is-focused .form-control {
|
||||||
background-image: linear-gradient(#795548, #795548), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#795548, #795548), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-grey.is-focused .form-control {
|
.form-group-material-grey.is-focused .form-control {
|
||||||
background-image: linear-gradient(#9e9e9e, #9e9e9e), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#9e9e9e, #9e9e9e), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group-material-blue-grey.is-focused .form-control {
|
.form-group-material-blue-grey.is-focused .form-control {
|
||||||
background-image: linear-gradient(#607d8b, #607d8b), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#607d8b, #607d8b), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group.has-warning .form-control {
|
.form-group.has-warning .form-control {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
.form-group.has-warning.is-focused .form-control {
|
.form-group.has-warning.is-focused .form-control {
|
||||||
background-image: linear-gradient(#ff5722, #ff5722), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#ff5722, #ff5722), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group.has-warning label.control-label,
|
.form-group.has-warning label.control-label,
|
||||||
.form-group.has-warning .help-block {
|
.form-group.has-warning .help-block {
|
||||||
|
@ -5356,7 +5372,7 @@ fieldset[disabled] .form-control {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
.form-group.has-error.is-focused .form-control {
|
.form-group.has-error.is-focused .form-control {
|
||||||
background-image: linear-gradient(#f44336, #f44336), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#f44336, #f44336), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group.has-error label.control-label,
|
.form-group.has-error label.control-label,
|
||||||
.form-group.has-error .help-block {
|
.form-group.has-error .help-block {
|
||||||
|
@ -5366,7 +5382,7 @@ fieldset[disabled] .form-control {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
.form-group.has-success.is-focused .form-control {
|
.form-group.has-success.is-focused .form-control {
|
||||||
background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group.has-success label.control-label,
|
.form-group.has-success label.control-label,
|
||||||
.form-group.has-success .help-block {
|
.form-group.has-success .help-block {
|
||||||
|
@ -5376,7 +5392,7 @@ fieldset[disabled] .form-control {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
.form-group.has-info.is-focused .form-control {
|
.form-group.has-info.is-focused .form-control {
|
||||||
background-image: linear-gradient(#03a9f4, #03a9f4), linear-gradient(#d2d2d2, #d2d2d2);
|
background-image: linear-gradient(#03a9f4, #03a9f4), linear-gradient(#D2D2D2, #D2D2D2);
|
||||||
}
|
}
|
||||||
.form-group.has-info label.control-label,
|
.form-group.has-info label.control-label,
|
||||||
.form-group.has-info .help-block {
|
.form-group.has-info .help-block {
|
||||||
|
@ -7500,7 +7516,7 @@ icon-material-blue-grey {
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
color: rgba(0, 0, 0, 0.84);
|
color: rgba(0, 0, 0, 0.84);
|
||||||
background: #ffffff;
|
background: #fff;
|
||||||
box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
||||||
}
|
}
|
||||||
.card .card-height-indicator {
|
.card .card-height-indicator {
|
||||||
|
@ -7529,7 +7545,7 @@ icon-material-blue-grey {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 16px;
|
bottom: 16px;
|
||||||
left: 18px;
|
left: 18px;
|
||||||
color: #ffffff;
|
color: #fff;
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
}
|
}
|
||||||
.card .card-body {
|
.card .card-body {
|
||||||
|
|
2
dist/css/material.css.map
vendored
2
dist/css/material.css.map
vendored
File diff suppressed because one or more lines are too long
2
dist/css/material.min.css
vendored
2
dist/css/material.min.css
vendored
File diff suppressed because one or more lines are too long
2
dist/css/material.min.css.map
vendored
2
dist/css/material.min.css.map
vendored
File diff suppressed because one or more lines are too long
|
@ -81,20 +81,25 @@ output {
|
||||||
// Relative text size, padding, and border-radii changes for form controls. For
|
// Relative text size, padding, and border-radii changes for form controls. For
|
||||||
// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
|
// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
|
||||||
// element gets special love because it's special, and that's a fact!
|
// element gets special love because it's special, and that's a fact!
|
||||||
.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
|
|
||||||
|
// mixin pulled from bootstrap and altered for less/sass compatibility
|
||||||
|
.input-size(@parent, @input-height, @padding-vertical, @padding-horizontal, @font-size, @line-height, @border-radius) {
|
||||||
|
|
||||||
|
@{parent} {
|
||||||
height: @input-height;
|
height: @input-height;
|
||||||
padding: @padding-vertical @padding-horizontal;
|
padding: @padding-vertical @padding-horizontal;
|
||||||
font-size: @font-size;
|
font-size: @font-size;
|
||||||
line-height: @line-height;
|
line-height: @line-height;
|
||||||
border-radius: @border-radius;
|
border-radius: @border-radius;
|
||||||
|
}
|
||||||
|
|
||||||
select& {
|
select@{parent} {
|
||||||
height: @input-height;
|
height: @input-height;
|
||||||
line-height: @input-height;
|
line-height: @input-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea&,
|
textarea@{parent},
|
||||||
select[multiple]& {
|
select[multiple]@{parent} {
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -109,7 +114,7 @@ output {
|
||||||
// The `.form-group-* form-control` variations are sadly duplicated to avoid the
|
// The `.form-group-* form-control` variations are sadly duplicated to avoid the
|
||||||
// issue documented in https://github.com/twbs/bootstrap/issues/15074.
|
// issue documented in https://github.com/twbs/bootstrap/issues/15074.
|
||||||
.input-sm {
|
.input-sm {
|
||||||
.input-size(@md-input-height-small; @md-input-padding-small-vertical; @md-input-padding-small-horizontal; @md-input-font-size-small; @md-input-line-height-small; @md-input-border-radius-small);
|
.input-size('.input-sm', @md-input-height-small, @md-input-padding-small-vertical, @md-input-padding-small-horizontal, @md-input-font-size-small, @md-input-line-height-small, @md-input-border-radius-small);
|
||||||
}
|
}
|
||||||
.form-group-sm {
|
.form-group-sm {
|
||||||
.form-control {
|
.form-control {
|
||||||
|
@ -136,7 +141,7 @@ output {
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-lg {
|
.input-lg {
|
||||||
.input-size(@md-input-height-large; @md-input-padding-large-vertical; @md-input-padding-large-horizontal; @md-input-font-size-large; @md-input-line-height-large; @md-input-border-radius-large);
|
.input-size('.input-lg', @md-input-height-large, @md-input-padding-large-vertical, @md-input-padding-large-horizontal, @md-input-font-size-large, @md-input-line-height-large, @md-input-border-radius-large);
|
||||||
}
|
}
|
||||||
.form-group-lg {
|
.form-group-lg {
|
||||||
.form-control {
|
.form-control {
|
||||||
|
|
|
@ -38,10 +38,27 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.material-placeholder() {
|
.material-placeholder({
|
||||||
color: @input-placeholder-color;
|
color: @input-placeholder-color;
|
||||||
font-size: @md-input-font-size-base;
|
font-size: @md-input-font-size-base;
|
||||||
}
|
font-weight: normal;
|
||||||
|
});
|
||||||
|
|
||||||
|
//&::-moz-placeholder {
|
||||||
|
// color: @input-placeholder-color;
|
||||||
|
// font-size: @md-input-font-size-base;
|
||||||
|
// font-weight: normal;
|
||||||
|
//}
|
||||||
|
//&:-ms-input-placeholder {
|
||||||
|
// color: @input-placeholder-color;
|
||||||
|
// font-size: @md-input-font-size-base;
|
||||||
|
// font-weight: normal;
|
||||||
|
//}
|
||||||
|
//&::-webkit-input-placeholder {
|
||||||
|
// color: @input-placeholder-color;
|
||||||
|
// font-size: @md-input-font-size-base;
|
||||||
|
// font-weight: normal;
|
||||||
|
//}
|
||||||
|
|
||||||
fieldset[disabled] &,
|
fieldset[disabled] &,
|
||||||
& {
|
& {
|
||||||
|
@ -75,17 +92,21 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
// Labels
|
// Labels
|
||||||
label.control-label {
|
label.control-label { // static label
|
||||||
font-size: @md-input-label-font-size-base; // 12px same as focused size of floating
|
|
||||||
|
// same label properties as form-group placeholder. could be shared with a ruleset but makes sass conversion painful
|
||||||
|
color: @input-placeholder-color;
|
||||||
|
font-size: @floating-label-size-ratio * @md-input-font-size-base; // same as focused size of floating
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
|
|
||||||
margin: 16px 0 0 0; // std and lg
|
margin: 16px 0 0 0; // std and lg
|
||||||
}
|
}
|
||||||
.variations(~" label.control-label", color, @input-placeholder-color);
|
.variations(~" label.control-label", color, @input-placeholder-color); // default label color variations
|
||||||
.variations(~".is-focused label.control-label", color, @input-default);
|
.variations(~".is-focused label.control-label", color, @input-default); // focused label color variations
|
||||||
|
|
||||||
// sm
|
// sm
|
||||||
&.form-group-sm {
|
&.form-group-sm {
|
||||||
label.control-label {
|
label.control-label { // static label
|
||||||
font-size: @floating-label-size-ratio * @md-input-font-size-small; // same as focused size of floating
|
font-size: @floating-label-size-ratio * @md-input-font-size-small; // same as focused size of floating
|
||||||
margin: 12px 0 0 0; // sm only
|
margin: 12px 0 0 0; // sm only
|
||||||
}
|
}
|
||||||
|
@ -93,7 +114,7 @@
|
||||||
|
|
||||||
// lg
|
// lg
|
||||||
&.form-group-lg {
|
&.form-group-lg {
|
||||||
label.control-label {
|
label.control-label { // static label
|
||||||
font-size: @floating-label-size-ratio * @md-input-font-size-large; // same as focused size of floating
|
font-size: @floating-label-size-ratio * @md-input-font-size-large; // same as focused size of floating
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -116,7 +137,6 @@
|
||||||
background-image: linear-gradient(@material-color, @material-color), linear-gradient(@input-underline-color, @input-underline-color);
|
background-image: linear-gradient(@material-color, @material-color), linear-gradient(@input-underline-color, @input-underline-color);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
.form-group-validation-state(has-warning, @input-warning);
|
.form-group-validation-state(has-warning, @input-warning);
|
||||||
.form-group-validation-state(has-error, @input-danger);
|
.form-group-validation-state(has-error, @input-danger);
|
||||||
.form-group-validation-state(has-success, @input-success);
|
.form-group-validation-state(has-success, @input-success);
|
||||||
|
@ -219,7 +239,6 @@ label.control-label.floating-label {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Input files (kinda hack)
|
// Input files (kinda hack)
|
||||||
.form-group input[type=file] {
|
.form-group input[type=file] {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
|
@ -237,11 +256,9 @@ label.control-label.floating-label {
|
||||||
fieldset[disabled] .form-control:disabled,
|
fieldset[disabled] .form-control:disabled,
|
||||||
.form-group .form-control:disabled,
|
.form-group .form-control:disabled,
|
||||||
.form-control:disabled,
|
.form-control:disabled,
|
||||||
|
|
||||||
fieldset[disabled] .form-control:focus:disabled,
|
fieldset[disabled] .form-control:focus:disabled,
|
||||||
.form-group .form-control:focus:disabled,
|
.form-group .form-control:focus:disabled,
|
||||||
.form-control:focus:disabled,
|
.form-control:focus:disabled,
|
||||||
|
|
||||||
.form-group.is-focused fieldset[disabled] .form-control:disabled,
|
.form-group.is-focused fieldset[disabled] .form-control:disabled,
|
||||||
.form-group.is-focused .form-group .form-control:disabled,
|
.form-group.is-focused .form-group .form-control:disabled,
|
||||||
.form-group.is-focused .form-control:disabled {
|
.form-group.is-focused .form-control:disabled {
|
||||||
|
|
|
@ -1,27 +1,4 @@
|
||||||
// usage: .variations(~" .check", color, transparent);
|
@import '_mixins-shared.less';
|
||||||
.variations(@extra, @property, @default) {
|
|
||||||
.generic-variations(@extra, @default, {
|
|
||||||
@{property}: @material-color;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
.background-variations(@extra, @default) {
|
|
||||||
.generic-variations(@extra, @default, {
|
|
||||||
background-color: @material-color;
|
|
||||||
& when (@material-color = @btn-default) {
|
|
||||||
color: @lightbg-text;
|
|
||||||
}
|
|
||||||
& when not (@material-color = @btn-default) {
|
|
||||||
color: @material-text-color;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-variations(@extra, @default) {
|
|
||||||
.generic-variations(@extra, @default, {
|
|
||||||
color: @material-color;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// To use this mixin you should pass a function as final parameter to define
|
// To use this mixin you should pass a function as final parameter to define
|
||||||
|
|
31
less/_mixins-shared.less
Executable file
31
less/_mixins-shared.less
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
// Placeholder text
|
||||||
|
.material-placeholder(@rules) {
|
||||||
|
&::-moz-placeholder { @rules(); } // Firefox
|
||||||
|
&:-ms-input-placeholder { @rules(); } // Internet Explorer 10+
|
||||||
|
&::-webkit-input-placeholder { @rules(); } // Safari and Chrome
|
||||||
|
}
|
||||||
|
|
||||||
|
// usage: .variations(~" .check", color, transparent);
|
||||||
|
.variations(@extra, @property, @default) {
|
||||||
|
.generic-variations(@extra, @default, {
|
||||||
|
@{property}: @material-color;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
.background-variations(@extra, @default) {
|
||||||
|
.generic-variations(@extra, @default, {
|
||||||
|
background-color: @material-color;
|
||||||
|
& when (@material-color = @btn-default) {
|
||||||
|
color: @lightbg-text;
|
||||||
|
}
|
||||||
|
& when not (@material-color = @btn-default) {
|
||||||
|
color: @material-text-color;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-variations(@extra, @default) {
|
||||||
|
.generic-variations(@extra, @default, {
|
||||||
|
color: @material-color;
|
||||||
|
});
|
||||||
|
}
|
|
@ -1,34 +1,4 @@
|
||||||
// Placeholder text
|
@import '_mixins-shared.less';
|
||||||
.material-placeholder(@func) {
|
|
||||||
&::-moz-placeholder { @func(); } // Firefox
|
|
||||||
&:-ms-input-placeholder { @func(); } // Internet Explorer 10+
|
|
||||||
&::-webkit-input-placeholder { @func(); } // Safari and Chrome
|
|
||||||
}
|
|
||||||
|
|
||||||
// usage: .variations(~" .check", color, transparent);
|
|
||||||
.variations(@extra, @property, @default) {
|
|
||||||
.generic-variations(@extra, @default, {
|
|
||||||
@{property}: @material-color;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
.background-variations(@extra, @default) {
|
|
||||||
.generic-variations(@extra, @default, {
|
|
||||||
background-color: @material-color;
|
|
||||||
& when (@material-color = @btn-default) {
|
|
||||||
color: @lightbg-text;
|
|
||||||
}
|
|
||||||
& when not (@material-color = @btn-default) {
|
|
||||||
color: @material-text-color;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-variations(@extra, @default) {
|
|
||||||
.generic-variations(@extra, @default, {
|
|
||||||
color: @material-color;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// To use this mixin you should pass a function as final parameter to define
|
// To use this mixin you should pass a function as final parameter to define
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
"grunt-contrib-copy": "^0.6.0",
|
"grunt-contrib-copy": "^0.6.0",
|
||||||
"grunt-contrib-jasmine": "^0.8.0",
|
"grunt-contrib-jasmine": "^0.8.0",
|
||||||
"grunt-contrib-jshint": "^0.10.0",
|
"grunt-contrib-jshint": "^0.10.0",
|
||||||
"grunt-contrib-less": "^0.11.4",
|
"grunt-contrib-less": "^1.1.0",
|
||||||
"grunt-contrib-sass": "^0.8.1",
|
"grunt-contrib-sass": "^0.8.1",
|
||||||
"grunt-contrib-uglify": "^0.6.0",
|
"grunt-contrib-uglify": "^0.6.0",
|
||||||
"grunt-contrib-watch": "^0.6.1",
|
"grunt-contrib-watch": "^0.6.1",
|
||||||
|
|
218
sass/_inputs-size.scss
Normal file
218
sass/_inputs-size.scss
Normal file
|
@ -0,0 +1,218 @@
|
||||||
|
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||||
|
|
||||||
|
//
|
||||||
|
// Forms - sizing - material - mirrors bootstrap/forms.less with custom sizing
|
||||||
|
//
|
||||||
|
// NOTE: this is intentionally kept structurally _identical_ to the bootstrap/forms.less file to make it easier
|
||||||
|
// to identify differences in sizing approaches to form inputs.
|
||||||
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
legend {
|
||||||
|
margin-bottom: $md-input-line-height-computed;
|
||||||
|
font-size: ($md-input-font-size-base * 1.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adjust output element
|
||||||
|
output {
|
||||||
|
padding-top: ($md-input-padding-base-vertical + 1);
|
||||||
|
font-size: $md-input-font-size-base;
|
||||||
|
line-height: $md-input-line-height-base;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-control {
|
||||||
|
height: $md-input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
|
||||||
|
padding: $md-input-padding-base-vertical $md-input-padding-base-horizontal;
|
||||||
|
font-size: $md-input-font-size-base;
|
||||||
|
line-height: $md-input-line-height-base;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Special styles for iOS temporal inputs
|
||||||
|
//
|
||||||
|
// In Mobile Safari, setting `display: block` on temporal inputs causes the
|
||||||
|
// text within the input to become vertically misaligned. As a workaround, we
|
||||||
|
// set a pixel line-height that matches the given height of the input, but only
|
||||||
|
// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
|
||||||
|
//
|
||||||
|
// Note that as of 8.3, iOS doesn't support `datetime` or `week`.
|
||||||
|
|
||||||
|
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
||||||
|
input[type="date"],
|
||||||
|
input[type="time"],
|
||||||
|
input[type="datetime-local"],
|
||||||
|
input[type="month"] {
|
||||||
|
&.form-control {
|
||||||
|
line-height: $md-input-height-base;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.input-sm,
|
||||||
|
.input-group-sm & {
|
||||||
|
line-height: $md-input-height-small;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.input-lg,
|
||||||
|
.input-group-lg & {
|
||||||
|
line-height: $md-input-height-large;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.radio,
|
||||||
|
.checkbox {
|
||||||
|
|
||||||
|
label {
|
||||||
|
min-height: $md-input-line-height-computed; // Ensure the input doesn't jump when there is no text
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Static form control text
|
||||||
|
//
|
||||||
|
// Apply class to a `p` element to make any string of text align with labels in
|
||||||
|
// a horizontal form layout.
|
||||||
|
|
||||||
|
.form-control-static {
|
||||||
|
// Size it appropriately next to real form controls
|
||||||
|
padding-top: ($md-input-padding-base-vertical + 1);
|
||||||
|
padding-bottom: ($md-input-padding-base-vertical + 1);
|
||||||
|
min-height: ($md-input-line-height-computed + $md-input-font-size-base);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Form control sizing
|
||||||
|
//
|
||||||
|
// Relative text size, padding, and border-radii changes for form controls. For
|
||||||
|
// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
|
||||||
|
// element gets special love because it's special, and that's a fact!
|
||||||
|
@mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius){
|
||||||
|
|
||||||
|
#{$parent} {
|
||||||
|
height: $input-height;
|
||||||
|
padding: $padding-vertical $padding-horizontal;
|
||||||
|
font-size: $font-size;
|
||||||
|
line-height: $line-height;
|
||||||
|
border-radius: $border-radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
select#{$parent} {
|
||||||
|
height: $input-height;
|
||||||
|
line-height: $input-height;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea#{$parent},
|
||||||
|
select[multiple]#{$parent} {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Form control sizing
|
||||||
|
//
|
||||||
|
// Build on `.form-control` with modifier classes to decrease or increase the
|
||||||
|
// height and font-size of form controls.
|
||||||
|
//
|
||||||
|
// The `.form-group-* form-control` variations are sadly duplicated to avoid the
|
||||||
|
// issue documented in https://github.com/twbs/bootstrap/issues/15074.
|
||||||
|
.input-sm {
|
||||||
|
@include input-size('.input-sm', $md-input-height-small, $md-input-padding-small-vertical, $md-input-padding-small-horizontal, $md-input-font-size-small, $md-input-line-height-small, $md-input-border-radius-small);
|
||||||
|
}
|
||||||
|
.form-group-sm {
|
||||||
|
.form-control {
|
||||||
|
height: $md-input-height-small;
|
||||||
|
padding: $md-input-padding-small-vertical $md-input-padding-small-horizontal;
|
||||||
|
font-size: $md-input-font-size-small;
|
||||||
|
line-height: $md-input-line-height-small;
|
||||||
|
}
|
||||||
|
select.form-control {
|
||||||
|
height: $md-input-height-small;
|
||||||
|
line-height: $md-input-height-small;
|
||||||
|
}
|
||||||
|
textarea.form-control,
|
||||||
|
select[multiple].form-control {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
.form-control-static {
|
||||||
|
height: $md-input-height-small;
|
||||||
|
min-height: ($md-input-line-height-computed + $md-input-font-size-small);
|
||||||
|
padding: ($md-input-padding-small-vertical + 1) $md-input-padding-small-horizontal;
|
||||||
|
font-size: $md-input-font-size-small;
|
||||||
|
line-height: $md-input-line-height-small;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-lg {
|
||||||
|
@include input-size('.input-lg', $md-input-height-large, $md-input-padding-large-vertical, $md-input-padding-large-horizontal, $md-input-font-size-large, $md-input-line-height-large, $md-input-border-radius-large);
|
||||||
|
}
|
||||||
|
.form-group-lg {
|
||||||
|
.form-control {
|
||||||
|
height: $md-input-height-large;
|
||||||
|
padding: $md-input-padding-large-vertical $md-input-padding-large-horizontal;
|
||||||
|
font-size: $md-input-font-size-large;
|
||||||
|
line-height: $md-input-line-height-large;
|
||||||
|
}
|
||||||
|
select.form-control {
|
||||||
|
height: $md-input-height-large;
|
||||||
|
line-height: $md-input-height-large;
|
||||||
|
}
|
||||||
|
textarea.form-control,
|
||||||
|
select[multiple].form-control {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
.form-control-static {
|
||||||
|
height: $md-input-height-large;
|
||||||
|
min-height: ($md-input-line-height-computed + $md-input-font-size-large);
|
||||||
|
padding: ($md-input-padding-large-vertical + 1) $md-input-padding-large-horizontal;
|
||||||
|
font-size: $md-input-font-size-large;
|
||||||
|
line-height: $md-input-line-height-large;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.form-horizontal {
|
||||||
|
|
||||||
|
// Consistent vertical alignment of radios and checkboxes
|
||||||
|
//
|
||||||
|
// Labels also get some reset styles, but that is scoped to a media query below.
|
||||||
|
.radio,
|
||||||
|
.checkbox,
|
||||||
|
.radio-inline,
|
||||||
|
.checkbox-inline {
|
||||||
|
padding-top: ($md-input-padding-base-vertical + 1); // Default padding plus a border
|
||||||
|
}
|
||||||
|
// Account for padding we're adding to ensure the alignment and of help text
|
||||||
|
// and other content below items
|
||||||
|
.radio,
|
||||||
|
.checkbox {
|
||||||
|
min-height: ($md-input-line-height-computed + ($md-input-padding-base-vertical + 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset spacing and right align labels, but scope to media queries so that
|
||||||
|
// labels on narrow viewports stack the same as a default form example.
|
||||||
|
@media (min-width: $screen-sm-min) {
|
||||||
|
.control-label {
|
||||||
|
padding-top: ($md-input-padding-base-vertical + 1); // Default padding plus a border
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Form group sizes
|
||||||
|
//
|
||||||
|
// Quick utility class for applying `.input-lg` and `.input-sm` styles to the
|
||||||
|
// inputs and labels within a `.form-group`.
|
||||||
|
.form-group-lg {
|
||||||
|
@media (min-width: $screen-sm-min) {
|
||||||
|
.control-label {
|
||||||
|
padding-top: (($md-input-padding-large-vertical * $md-input-line-height-large) + 1);
|
||||||
|
font-size: $md-input-font-size-large;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.form-group-sm {
|
||||||
|
@media (min-width: $screen-sm-min) {
|
||||||
|
.control-label {
|
||||||
|
padding-top: ($md-input-padding-small-vertical + 1);
|
||||||
|
font-size: $md-input-font-size-small;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,7 @@
|
||||||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||||
|
|
||||||
|
@import '_inputs-size';
|
||||||
|
|
||||||
// usage: @include form-group-validation-state($input-danger);
|
// usage: @include form-group-validation-state($input-danger);
|
||||||
@mixin form-group-validation-state($name, $color){
|
@mixin form-group-validation-state($name, $color){
|
||||||
|
|
||||||
|
@ -7,11 +9,8 @@
|
||||||
.form-control {
|
.form-control {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
.material-input:focus,
|
&.is-focused .form-control {
|
||||||
.form-control:focus,
|
|
||||||
&.focus .form-control {
|
|
||||||
background-image: linear-gradient($color, $color), linear-gradient($input-underline-color, $input-underline-color);
|
background-image: linear-gradient($color, $color), linear-gradient($input-underline-color, $input-underline-color);
|
||||||
box-shadow: none;
|
|
||||||
}
|
}
|
||||||
label.control-label,
|
label.control-label,
|
||||||
.help-block {
|
.help-block {
|
||||||
|
@ -26,26 +25,53 @@
|
||||||
background-size: 0 2px, 100% 1px;
|
background-size: 0 2px, 100% 1px;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center bottom, center calc(100% - 1px);
|
background-position: center bottom, center calc(100% - 1px);
|
||||||
background-color: transparent;
|
|
||||||
background-color: rgba(0, 0, 0, 0);
|
background-color: rgba(0, 0, 0, 0);
|
||||||
transition: background 0s ease-out;
|
transition: background 0s ease-out;
|
||||||
&::-webkit-input-placeholder {
|
|
||||||
color: $input-placeholder-color;
|
.form-group.is-focused & {
|
||||||
|
outline: none;
|
||||||
|
background-image: linear-gradient($primary, $primary), linear-gradient($input-underline-color, $input-underline-color);
|
||||||
|
background-size: 100% 2px, 100% 1px;
|
||||||
|
box-shadow: none;
|
||||||
|
transition-duration: 0.3s;
|
||||||
|
|
||||||
|
.material-input:after {
|
||||||
|
background-color: $input-default;
|
||||||
}
|
}
|
||||||
&::-moz-placeholder {
|
|
||||||
color: $input-placeholder-color;
|
|
||||||
}
|
|
||||||
&:-ms-input-placeholder {
|
|
||||||
color: $input-placeholder-color;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fieldset[disabled] &, & {
|
@include material-placeholder {
|
||||||
|
color: $input-placeholder-color;
|
||||||
|
font-size: $md-input-font-size-base;
|
||||||
|
font-weight: normal;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//&::-moz-placeholder {
|
||||||
|
// color: $input-placeholder-color;
|
||||||
|
// font-size: $md-input-font-size-base;
|
||||||
|
// font-weight: normal;
|
||||||
|
//}
|
||||||
|
//&:-ms-input-placeholder {
|
||||||
|
// color: $input-placeholder-color;
|
||||||
|
// font-size: $md-input-font-size-base;
|
||||||
|
// font-weight: normal;
|
||||||
|
//}
|
||||||
|
//&::-webkit-input-placeholder {
|
||||||
|
// color: $input-placeholder-color;
|
||||||
|
// font-size: $md-input-font-size-base;
|
||||||
|
// font-weight: normal;
|
||||||
|
//}
|
||||||
|
|
||||||
|
fieldset[disabled] &,
|
||||||
|
& {
|
||||||
&:textarea {
|
&:textarea {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&, &:focus, &.focus {
|
&,
|
||||||
padding: 0;
|
.form-group.is-focused & {
|
||||||
|
//padding: 0;
|
||||||
float: none;
|
float: none;
|
||||||
border: 0;
|
border: 0;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
|
@ -60,37 +86,40 @@
|
||||||
&[disabled],
|
&[disabled],
|
||||||
&[readonly],
|
&[readonly],
|
||||||
fieldset[disabled] & {
|
fieldset[disabled] & {
|
||||||
background-color: transparent;
|
//background-color: transparent;
|
||||||
background-color: rgba(0, 0, 0, 0);
|
background-color: rgba(0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:focus,
|
|
||||||
&.focus {
|
|
||||||
outline: none;
|
|
||||||
background-image: linear-gradient($primary, $primary), linear-gradient($input-underline-color, $input-underline-color);
|
|
||||||
background-size: 100% 2px, 100% 1px;
|
|
||||||
box-shadow: none;
|
|
||||||
transition-duration: 0.3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:focus ~ .material-input:after,
|
|
||||||
&.focus ~ .material-input:after {
|
|
||||||
background-color: $input-default;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:invalid {
|
|
||||||
background-image: linear-gradient($input-danger, $input-danger), linear-gradient($input-underline-color, $input-underline-color);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-group {
|
.form-group {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
label {
|
// Labels
|
||||||
//color: $input-placeholder-color;
|
label.control-label { // static label
|
||||||
font-size: $floating-label-size-ratio * $font-size-base; // same as focused size of floating
|
|
||||||
|
// same label properties as form-group placeholder. could be shared with a ruleset but makes sass conversion painful
|
||||||
|
color: $input-placeholder-color;
|
||||||
|
font-size: $md-input-font-size-base;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
padding-left: 0px;
|
|
||||||
|
margin: 16px 0 0 0; // std and lg
|
||||||
|
}
|
||||||
|
//.variations(unquote(" label.control-label"), color, $input-placeholder-color); // FIXME: not sure if necessary
|
||||||
|
//.variations(unquote(".is-focused label.control-label"), color, $input-default);
|
||||||
|
|
||||||
|
// sm
|
||||||
|
&.form-group-sm {
|
||||||
|
label.control-label { // static label
|
||||||
|
font-size: $floating-label-size-ratio * $md-input-font-size-small; // same as focused size of floating FIXME shouldn't this be full size?
|
||||||
|
margin: 12px 0 0 0; // sm only
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// lg
|
||||||
|
&.form-group-lg {
|
||||||
|
label.control-label { // static label
|
||||||
|
font-size: $floating-label-size-ratio * $md-input-font-size-large; // same as focused size of floating FIXME shouldn't this be full size?
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hints
|
// Hints
|
||||||
|
@ -100,40 +129,20 @@
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.focus {
|
&.is-focused {
|
||||||
.hint {
|
.hint {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@include variations(unquote(" label.control-label"), color, $lightbg-text);
|
// SASS conversion note: please mirror any content change in _mixins-shared.scss bg-img-variations-content
|
||||||
@include variations(unquote(".focus label.control-label"), color, $input-default);
|
@include bg-img-variations(unquote(".is-focused .form-control"), $primary);
|
||||||
|
|
||||||
@include form-group-validation-state(has-warning, $input-warning);
|
@include form-group-validation-state(has-warning, $input-warning);
|
||||||
@include form-group-validation-state(has-error, $input-danger);
|
@include form-group-validation-state(has-error, $input-danger);
|
||||||
@include form-group-validation-state(has-success, $input-success);
|
@include form-group-validation-state(has-success, $input-success);
|
||||||
@include form-group-validation-state(has-info, $input-info);
|
@include form-group-validation-state(has-info, $input-info);
|
||||||
|
|
||||||
// sm
|
|
||||||
&.form-group-sm {
|
|
||||||
label {
|
|
||||||
font-size: $floating-label-size-ratio * $font-size-small; // same as focused size of floating
|
|
||||||
}
|
|
||||||
.form-control {
|
|
||||||
padding-left: 0px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// lg
|
|
||||||
&.form-group-lg {
|
|
||||||
label {
|
|
||||||
font-size: $floating-label-size-ratio * $font-size-large; // same as focused size of floating
|
|
||||||
}
|
|
||||||
.form-control {
|
|
||||||
padding-left: 0px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
textarea {
|
textarea {
|
||||||
resize: none;
|
resize: none;
|
||||||
}
|
}
|
||||||
|
@ -149,48 +158,68 @@
|
||||||
select {
|
select {
|
||||||
appearance: none;
|
appearance: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
// SASS conversion note: please mirror any content change in _mixins-shared.scss bg-img-variations-content
|
|
||||||
@include bg-img-variations(unquote(" .form-control:focus"), $primary);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@mixin input-floating-label-size($name, $size){
|
select.form-control {
|
||||||
|
|
||||||
|
border: 0;
|
||||||
|
box-shadow: none;
|
||||||
|
border-radius: 0;
|
||||||
|
|
||||||
|
.form-group.is-focused & {
|
||||||
|
box-shadow: none;
|
||||||
|
border-color: #757575;
|
||||||
|
}
|
||||||
|
|
||||||
|
&[multiple] {
|
||||||
|
&,
|
||||||
|
.form-group.is-focused & {
|
||||||
|
height: 85px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reference http://www.google.com/design/spec/components/text-fields.html
|
||||||
|
// MDL implementation: http://www.getmdl.io/components/index.html#textfields-section
|
||||||
|
|
||||||
|
// this is for input-sm and input-lg directly on input. Recommended way is form-group-sm and form-group-lg instead.
|
||||||
|
@mixin input-size-floating-label($name, $size){
|
||||||
.form-control.#{$name} ~ & {
|
.form-control.#{$name} ~ & {
|
||||||
font-size: $size;
|
font-size: $size;
|
||||||
top: 7px;
|
top: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-control.#{$name}:focus ~ &,
|
.form-group.is-focused .form-control.#{$name} ~ .form-group.is-focused &,
|
||||||
.form-control.#{$name}:not(.empty) ~ & {
|
.form-group.is-empty .form-control.#{$name} ~ .form-group.is-empty & {
|
||||||
top: $floating-label-size-ratio * -$size;
|
top: $floating-label-size-ratio * -$size;
|
||||||
font-size: $floating-label-size-ratio * $size;
|
font-size: $floating-label-size-ratio * $size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do not nest .floating-label inside .form-group - it messes with ~
|
// Do not nest label.floating-label inside .form-group - it messes with ~ selector
|
||||||
label.floating-label {
|
label.control-label.floating-label {
|
||||||
font-size: $font-size-base; // Input sizes
|
font-size: $md-input-font-size-base; // Input sizes
|
||||||
position: absolute;
|
position: absolute;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
top: 5px;
|
top: -1 * $md-input-padding-base-vertical; // place the floating label to look like a placeholder with input padding
|
||||||
transition: 0.3s ease all;
|
transition: 0.3s ease all;
|
||||||
|
|
||||||
|
.form-group.is-focused & {
|
||||||
|
label.control-label {
|
||||||
|
font-size: $md-input-label-font-size-base; // 12px
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// sizing
|
// sizing
|
||||||
.form-control:focus ~ &,
|
.form-group.is-focused &,
|
||||||
.form-control:not(.empty) ~ & {
|
.form-group:not(.is-empty) & {
|
||||||
top: $floating-label-size-ratio * -$font-size-base;
|
top: -1 * ($md-input-label-font-size-base + $md-input-padding-base-vertical); // FIXME this needs to be calculated and moved up to .is-focused !!!
|
||||||
font-size: $floating-label-size-ratio * $font-size-base;
|
font-size: $md-input-label-font-size-base;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include input-floating-label-size(input-sm, $font-size-small);
|
@include input-size-floating-label(input-sm, $md-input-font-size-small);
|
||||||
@include input-floating-label-size(input-lg, $font-size-large);
|
@include input-size-floating-label(input-lg, $md-input-font-size-large);
|
||||||
|
|
||||||
|
|
||||||
.form-control:not(.empty):invalid ~ &, // FIXME: where does the invalid class come from? it isnt' bs3.
|
|
||||||
.form-control.focus:invalid ~ & {
|
|
||||||
color: $input-danger;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-group {
|
.input-group {
|
||||||
|
@ -211,22 +240,6 @@ label.floating-label {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
select[multiple].form-control {
|
|
||||||
&, &:focus, &.focus {
|
|
||||||
height: 85px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
select.form-control {
|
|
||||||
border: 0;
|
|
||||||
box-shadow: none;
|
|
||||||
border-radius: 0;
|
|
||||||
&:focus, &.focus {
|
|
||||||
box-shadow: none;
|
|
||||||
border-color: #757575;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Input files (kinda hack)
|
// Input files (kinda hack)
|
||||||
.form-group input[type=file] {
|
.form-group input[type=file] {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
|
@ -247,8 +260,8 @@ fieldset[disabled] .form-control:disabled,
|
||||||
fieldset[disabled] .form-control:focus:disabled,
|
fieldset[disabled] .form-control:focus:disabled,
|
||||||
.form-group .form-control:focus:disabled,
|
.form-group .form-control:focus:disabled,
|
||||||
.form-control:focus:disabled,
|
.form-control:focus:disabled,
|
||||||
fieldset[disabled] .form-control.focus:disabled,
|
.form-group.is-focused fieldset[disabled] .form-control:disabled,
|
||||||
.form-group .form-control.focus:disabled,
|
.form-group.is-focused .form-group .form-control:disabled,
|
||||||
.form-control.focus:disabled {
|
.form-group.is-focused .form-control:disabled {
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,10 +76,68 @@ $font-size-base: 14px !default;
|
||||||
$font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px
|
$font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px
|
||||||
$font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px
|
$font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px
|
||||||
|
|
||||||
|
$screen-sm: 768px !default;
|
||||||
|
$screen-sm-min: $screen-sm !default;
|
||||||
|
|
||||||
|
|
||||||
// Global Material variables
|
// Global Material variables
|
||||||
$material-border-radius: 2px !default;
|
$material-border-radius: 2px !default;
|
||||||
|
|
||||||
|
// --------------------
|
||||||
|
// inputs
|
||||||
|
$input-placeholder-color: #BDBDBD !default;
|
||||||
|
$floating-label-size-ratio: 75 / 100 !default;
|
||||||
$input-underline-color: #D2D2D2 !default;
|
$input-underline-color: #D2D2D2 !default;
|
||||||
|
|
||||||
|
$md-input-font-size-base: 16px !default;
|
||||||
|
$md-input-font-size-large: ceil(($font-size-base * 1.25)) !default; // ~20px
|
||||||
|
$md-input-font-size-small: ceil(($font-size-base * 0.75)) !default; // ~12px
|
||||||
|
|
||||||
|
// size when static or floating with focus i.e. 16px
|
||||||
|
$md-input-label-font-size-base: $floating-label-size-ratio * $md-input-font-size-base !default;
|
||||||
|
|
||||||
|
//** Unit-less `line-height` for use in components like buttons.
|
||||||
|
$md-input-line-height-base: 1.428571429 !default; // 20/14
|
||||||
|
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
|
||||||
|
$md-input-line-height-computed: floor(($md-input-font-size-base * $md-input-line-height-base)) !default; // ~20px
|
||||||
|
|
||||||
|
//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
|
||||||
|
$md-input-padding-base-vertical: 8px !default; // was 6.
|
||||||
|
$md-input-padding-base-horizontal: 0px !default; // was 12.
|
||||||
|
|
||||||
|
$md-input-padding-large-vertical: 8px !default; // 10
|
||||||
|
$md-input-padding-large-horizontal: 0px !default; // 16
|
||||||
|
|
||||||
|
$md-input-padding-small-vertical: 4px !default; // 5
|
||||||
|
$md-input-padding-small-horizontal: 0px !default; // 10
|
||||||
|
|
||||||
|
$md-input-padding-xs-vertical: 2px !default; // 1
|
||||||
|
$md-input-padding-xs-horizontal: 0px !default; // 5
|
||||||
|
|
||||||
|
$md-input-line-height-large: 1.3333333 !default; // extra decimals for Win 8.1 Chrome
|
||||||
|
$md-input-line-height-small: 1.5 !default;
|
||||||
|
|
||||||
|
$md-input-border-radius-base: 4px !default;
|
||||||
|
$md-input-border-radius-large: 6px !default;
|
||||||
|
$md-input-border-radius-small: 3px !default;
|
||||||
|
|
||||||
|
|
||||||
|
//** Default `.form-control` height
|
||||||
|
$md-input-height-base: ($md-input-line-height-computed + ($md-input-padding-base-vertical * 2) + 2) !default;
|
||||||
|
//** Large `.form-control` height
|
||||||
|
$md-input-height-large: (ceil($md-input-font-size-large * $md-input-line-height-large) + ($md-input-padding-large-vertical * 2) + 2) !default;
|
||||||
|
//** Small `.form-control` height
|
||||||
|
$md-input-height-small: (floor($md-input-font-size-small * $md-input-line-height-small) + ($md-input-padding-small-vertical * 2) + 2) !default;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Card
|
// Card
|
||||||
$card-body-text: $lightbg-text !default;
|
$card-body-text: $lightbg-text !default;
|
||||||
$card-body-background: #fff !default;
|
$card-body-background: #fff !default;
|
||||||
|
@ -97,10 +155,6 @@ $checkbox-animation-check: 0.3s !default;
|
||||||
$popover-background: rgba(101, 101, 101, 0.9) !default;
|
$popover-background: rgba(101, 101, 101, 0.9) !default;
|
||||||
$popover-color: #ececec !default;
|
$popover-color: #ececec !default;
|
||||||
|
|
||||||
// Inputs
|
|
||||||
$input-placeholder-color: #BDBDBD !default;
|
|
||||||
$floating-label-size-ratio: 70 / 100 !default;
|
|
||||||
|
|
||||||
// Dropdown Menu
|
// Dropdown Menu
|
||||||
$dropdown-radius: 2px !default;
|
$dropdown-radius: 2px !default;
|
||||||
$dropdown-font-size: 16px !default;
|
$dropdown-font-size: 16px !default;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user