From a713a08550eb37331c0168acb97118ebf7038005 Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Sun, 22 Nov 2015 10:23:34 -0600 Subject: [PATCH 01/14] #740 remove color variations --- Gruntfile.js | 56 ++-- custom-color-palette.sh | 102 ------ .../css/material.css | 0 .../css/material.css.map | 0 dist-remove-me-post-050/css/ripples.css | 47 +++ dist-remove-me-post-050/css/ripples.css.map | 1 + dist-remove-me-post-050/css/roboto.css | 62 ++++ dist-remove-me-post-050/css/roboto.css.map | 1 + ...l.less => _bootstrap-material-design.less} | 2 +- less/_buttons.less | 23 +- less/_mixins-fullpalette.less | 137 -------- less/_mixins-shared.less | 31 -- less/_mixins.less | 172 ++++++---- less/_variables.less | 3 + ...al.less => bootstrap-material-design.less} | 2 +- less/material-fullpalette.less | 5 - less/ripples.less | 1 + less/roboto.less | 8 +- ...l.scss => _bootstrap-material-design.scss} | 2 +- sass/_buttons.scss | 23 +- sass/_colors-map.scss | 311 ++++++++++++++++++ sass/_mixins-fullpalette.scss | 307 ----------------- sass/_mixins-shared.scss | 292 ---------------- sass/_mixins-utilities.scss | 2 + sass/_mixins.scss | 298 +++++++++++++++-- sass/_variables.scss | 3 + ...al.scss => bootstrap-material-design.scss} | 2 +- sass/material-fullpalette.scss | 7 - sass/ripples.scss | 1 + sass/roboto.scss | 8 +- 30 files changed, 864 insertions(+), 1045 deletions(-) delete mode 100644 custom-color-palette.sh rename {dist => dist-remove-me-post-050}/css/material.css (100%) rename {dist => dist-remove-me-post-050}/css/material.css.map (100%) create mode 100644 dist-remove-me-post-050/css/ripples.css create mode 100644 dist-remove-me-post-050/css/ripples.css.map create mode 100644 dist-remove-me-post-050/css/roboto.css create mode 100644 dist-remove-me-post-050/css/roboto.css.map rename less/{_material.less => _bootstrap-material-design.less} (95%) delete mode 100755 less/_mixins-fullpalette.less delete mode 100755 less/_mixins-shared.less rename less/{material.less => bootstrap-material-design.less} (57%) delete mode 100644 less/material-fullpalette.less rename sass/{_material.scss => _bootstrap-material-design.scss} (95%) create mode 100644 sass/_colors-map.scss delete mode 100644 sass/_mixins-fullpalette.scss delete mode 100644 sass/_mixins-shared.scss rename sass/{material.scss => bootstrap-material-design.scss} (66%) delete mode 100644 sass/material-fullpalette.scss diff --git a/Gruntfile.js b/Gruntfile.js index cb50e92e..ab6de551 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -88,7 +88,7 @@ module.exports = function (grunt) { files: [{ expand: true, cwd: "less", - src: ["*.less", "!_mixins.less", "!_mixins-fullpalette.less", "!_mixins-shared.less", "!_import-bs*"], + src: ["*.less", "!_mixins.less", "!_import-bs*"], ext: ".scss", dest: "sass" }], @@ -218,7 +218,7 @@ module.exports = function (grunt) { expand: true, cwd: "sass", //src: ['material.scss', 'material-fullpalette.scss', 'ripples.scss', 'roboto.scss'], - src: ["material.scss", "material-fullpalette.scss", "roboto.scss", "ripples.scss"], + src: ["bootstrap-material-design.scss", "roboto.scss", "ripples.scss"], dest: "dist/sassc", // added to gitignore, only used for local testing ext: ".css" }] @@ -234,24 +234,11 @@ module.exports = function (grunt) { paths: ["less"], sourceMap: true, sourceMapRootpath: "/", - sourceMapFilename: "dist/css/material.css.map", - sourceMapURL: "material.css.map" + sourceMapFilename: "dist/css/bootstrap-material-design.css.map", + sourceMapURL: "bootstrap-material-design.css.map" }, files: { - "dist/css/material.css": "less/material.less", - } - }, - materialfullpalette: { - options: { - paths: ["less"], - sourceMap: true, - sourceMapRootpath: "/", - sourceMapFilename: "dist/css/material-fullpalette.css.map", - sourceMapURL: "material-fullpalette.css.map", - outputSourceFiles: true - }, - files: { - "dist/css/material-fullpalette.css": "less/material-fullpalette.less", + "dist/css/bootstrap-material-design.css": "less/bootstrap-material-design.less", } }, roboto: { @@ -303,12 +290,7 @@ module.exports = function (grunt) { }, material: { files: { - "dist/css/material.css": "dist/css/material.css" - } - }, - materialfullpalette: { - files: { - "dist/css/material-fullpalette.css": "dist/css/material-fullpalette.css" + "dist/css/bootstrap-material-design.css": "dist/css/bootstrap-material-design.css" } }, roboto: { @@ -337,8 +319,14 @@ module.exports = function (grunt) { csslintrc: 'less/.csslintrc' }, dist: [ - 'dist/css/material.css', - 'dist/css/material-fullpalette.css' + 'dist/css/bootstrap-material-design.css', + 'dist/css/ripples.css', + 'dist/css/roboto.css' + ], + distmin: [ + 'dist/css/bootstrap-material-design.min.css', + 'dist/css/ripples.min.css', + 'dist/css/roboto.min.css' ], examples: [ 'docs/examples/**/*.css' @@ -363,12 +351,8 @@ module.exports = function (grunt) { advanced: false }, material: { - src: "dist/css/material.css", - dest: "dist/css/material.min.css" - }, - materialfullpalette: { - src: "dist/css/material-fullpalette.css", - dest: "dist/css/material-fullpalette.min.css" + src: "dist/css/bootstrap-material-design.css", + dest: "dist/css/bootstrap-material-design.min.css" }, roboto: { src: "dist/css/roboto.css", @@ -624,7 +608,6 @@ module.exports = function (grunt) { grunt.registerTask('less-compile', [ "less:material", - "less:materialfullpalette", "less:roboto", "less:ripples" ]); @@ -633,14 +616,13 @@ module.exports = function (grunt) { "less-compile", "autoprefixer:material", - "autoprefixer:materialfullpalette", "autoprefixer:roboto", "autoprefixer:ripples", - + //"csslint:dist", "cssmin:material", - "cssmin:materialfullpalette", "cssmin:roboto", - "cssmin:ripples" + "cssmin:ripples", + //"csslint:distmin" ]); grunt.registerTask("dist-js", [ diff --git a/custom-color-palette.sh b/custom-color-palette.sh deleted file mode 100644 index 227c1330..00000000 --- a/custom-color-palette.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/bash -# This script automates color customization bootstrap material design -# This script use "lessc", install first: -# npm install -g less - -# author: @arturu -# author name: Pietro Arturo Panetta -# email: arturu@arturu.it -# license GLP3 - -# This program is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free Software -# Foundation, either version 3 of the License, or (at your option) any later -# version. - -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License along with -# this program. If not, see http://www.gnu.org/licenses/gpl-3.0.html. - -color=$1 -tempFile="custom-color-palette.less" -pathOut="dist/custom" - -# script settings -text_color_red="\e[0;31m" -text_color_green="\e[0;32m" -text_color_blue="\e[0;34m" -text_bold=`tput bold` -text_reset=`tput sgr0` -text_tag_error=$(echo -e ${text_color_red}${text_bold}[Error]${text_reset}) -text_tag_success=$(echo -e ${text_color_green}${text_bold}[Success]${text_reset}) -# end script settings - -# check param -if [[ $color == "" ]] - then - echo -e "$text_tag_error missing param. Use: - ./custom-color-palette.sh - ${text_color_green}./custom-color-palette.sd deep-purple${text_reset} - for color follow: http://www.google.com/design/spec/style/color.html#color-color-palette - Run the script in the root of material design packange" - exit -fi - -# check if they are in the root of material design packange -if [ ! -f 'bower.json' ] - then - echo -e "$text_tag_error Run the script in the root of material design packange. Exit." - exit -fi - -# read line packange name -linePackName=$(sed -n '2p' 'bower.json' | awk '{split($0,array,":")} END{print array[2]}' | sed -r 's/[", ]+//g') - -if [[ $linePackName != 'bootstrap-material-design' ]] - then - echo -e "$text_tag_error It is not the right package. Exit." - exit -fi - -# generate $tempFile -echo "@import \"less/material.less\"; - -// Override @primary color with one took from _colors.less -// http://www.google.com/design/spec/style/color.html#color-color-palette - -@primary: @$color; -" > $tempFile - -# check $tempFile -if [ ! -f $tempFile ] - then - echo -e "$text_tag_error $tempFile not writed. Exit." - exit -fi - -echo -e "$text_color_green Compiling material design... $text_reset" - -# check $pathOut -if [ ! -d $pathOut ] - then - mkdir $pathOut -fi - -# compiling -lessc -x $tempFile > $pathOut/$color.css - -# check file $color.css -if [ ! -f $pathOut/$color.css ] - then - echo -e "$text_tag_error ${text_color_blue}$pathOut/$color.css${text_reset} not writed" - exit -fi - -# remove temp file -yes | rm $tempFile - -#end message -echo -e "$text_tag_success Use ${text_color_blue}$pathOut/$color.css${text_reset} instead of dist/css/material.css" diff --git a/dist/css/material.css b/dist-remove-me-post-050/css/material.css similarity index 100% rename from dist/css/material.css rename to dist-remove-me-post-050/css/material.css diff --git a/dist/css/material.css.map b/dist-remove-me-post-050/css/material.css.map similarity index 100% rename from dist/css/material.css.map rename to dist-remove-me-post-050/css/material.css.map diff --git a/dist-remove-me-post-050/css/ripples.css b/dist-remove-me-post-050/css/ripples.css new file mode 100644 index 00000000..1e6f852f --- /dev/null +++ b/dist-remove-me-post-050/css/ripples.css @@ -0,0 +1,47 @@ +.withripple { + position: relative; +} +.ripple-wrapper { + position: absolute; + top: 0; + left: 0; + z-index: 1; + width: 100%; + height: 100%; + overflow: hidden; + border-radius: inherit; + pointer-events: none; +} +.ripple { + position: absolute; + width: 20px; + height: 20px; + margin-left: -10px; + margin-top: -10px; + border-radius: 100%; + background-color: #000; + background-color: rgba(0, 0, 0, 0.05); + -webkit-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); + -webkit-transform-origin: 50%; + -ms-transform-origin: 50%; + -o-transform-origin: 50%; + transform-origin: 50%; + opacity: 0; + pointer-events: none; +} +.ripple.ripple-on { + -webkit-transition: opacity 0.15s ease-in 0s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; + -o-transition: opacity 0.15s ease-in 0s, -o-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; + transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; + opacity: 0.1; +} +.ripple.ripple-out { + -webkit-transition: opacity 0.1s linear 0s !important; + -o-transition: opacity 0.1s linear 0s !important; + transition: opacity 0.1s linear 0s !important; + opacity: 0; +} +/*# sourceMappingURL=ripples.css.map */ \ No newline at end of file diff --git a/dist-remove-me-post-050/css/ripples.css.map b/dist-remove-me-post-050/css/ripples.css.map new file mode 100644 index 00000000..e313b3b8 --- /dev/null +++ b/dist-remove-me-post-050/css/ripples.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["/less/ripples.less","ripples.css"],"names":[],"mappings":"AAAA;EACI,mBAAA;CCCH;ADCD;EACI,mBAAA;EACA,OAAA;EACA,QAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,iBAAA;EACA,uBAAA;EACA,qBAAA;CCCH;ADCD;EACI,mBAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,kBAAA;EACA,oBAAA;EACA,uBAAA;EACA,sCAAA;EACA,4BAAA;MAAA,wBAAA;OAAA,uBAAA;UAAA,oBAAA;EACA,8BAAA;MAAA,0BAAA;OAAA,yBAAA;UAAA,sBAAA;EACA,WAAA;EACA,qBAAA;CCCH;ADCD;EACI,uGAAA;OAAA,6FAAA;UAAA,uFAAA;EACA,aAAA;CCCH;ADCD;EACI,sDAAA;OAAA,iDAAA;UAAA,8CAAA;EACA,WAAA;CCCH","file":"ripples.css","sourcesContent":[".withripple {\n position: relative;\n}\n.ripple-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n pointer-events: none;\n}\n.ripple {\n position: absolute;\n width: 20px;\n height: 20px;\n margin-left: -10px;\n margin-top: -10px;\n border-radius: 100%;\n background-color: #000; // fallback color\n background-color: rgba(0,0,0,0.05);\n transform: scale(1);\n transform-origin: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.ripple.ripple-on {\n transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;\n opacity: 0.1;\n}\n.ripple.ripple-out {\n transition: opacity 0.1s linear 0s !important;\n opacity: 0;\n}\n",".withripple {\n position: relative;\n}\n.ripple-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n pointer-events: none;\n}\n.ripple {\n position: absolute;\n width: 20px;\n height: 20px;\n margin-left: -10px;\n margin-top: -10px;\n border-radius: 100%;\n background-color: #000;\n background-color: rgba(0, 0, 0, 0.05);\n transform: scale(1);\n transform-origin: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.ripple.ripple-on {\n transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;\n opacity: 0.1;\n}\n.ripple.ripple-out {\n transition: opacity 0.1s linear 0s !important;\n opacity: 0;\n}\n/*# sourceMappingURL=ripples.css.map */"]} \ No newline at end of file diff --git a/dist-remove-me-post-050/css/roboto.css b/dist-remove-me-post-050/css/roboto.css new file mode 100644 index 00000000..2e4a968a --- /dev/null +++ b/dist-remove-me-post-050/css/roboto.css @@ -0,0 +1,62 @@ +/* + +To get this list of colors inject jQuery at http://www.google.com/design/spec/style/color.html#color-color-palette + +Then, run this script to get the list. + + +(function() { + var colors = {}, main = {}; + $(".color-group").each(function() { + var color = $(this).find(".name").text().trim().toLowerCase().replace(" ", "-"); + colors[color] = {}; + + $(this).find(".color").not(".main-color").each(function() { + var shade = $(this).find(".shade").text().trim(), + hex = $(this).find(".hex").text().trim(); + + colors[color][shade] = hex; + }); + main[color] = color + "-" + $(this).find(".main-color .shade").text().trim(); + + }); + var LESS = ""; + $.each(colors, function(name, shades) { + LESS += "\n\n"; + $.each(shades, function(shade, hex) { + LESS += "@" + name + "-" + shade + ": " + hex + ";\n"; + }); + if (main[name]) { + LESS += "@" + name + ": " + main[name] + ";\n"; + } + }); + console.log(LESS); +})(); + + +*/ +@font-face { + font-family: 'RobotoDraft'; + font-style: normal; + font-weight: 400; + src: local('RobotoDraft'), local('RobotoDraft-Regular'), local('Roboto-Regular'), url('../fonts/RobotoDraftRegular.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftRegular.woff') format('woff'); +} +@font-face { + font-family: 'RobotoDraft'; + font-style: normal; + font-weight: 500; + src: local('RobotoDraft Medium'), local('RobotoDraft-Medium'), local('Roboto-Medium'), url('../fonts/RobotoDraftMedium.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftMedium.woff') format('woff'); +} +@font-face { + font-family: 'RobotoDraft'; + font-style: normal; + font-weight: 700; + src: local('RobotoDraft Bold'), local('RobotoDraft-Bold'), local('Roboto-Bold'), url('../fonts/RobotoDraftBold.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftBold.woff') format('woff'); +} +@font-face { + font-family: 'RobotoDraft'; + font-style: italic; + font-weight: 400; + src: local('RobotoDraft Italic'), local('RobotoDraft-Italic'), local('Roboto-Italic'), url('../fonts/RobotoDraftItalic.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftItalic.woff') format('woff'); +} +/*# sourceMappingURL=roboto.css.map */ \ No newline at end of file diff --git a/dist-remove-me-post-050/css/roboto.css.map b/dist-remove-me-post-050/css/roboto.css.map new file mode 100644 index 00000000..cf70e2d8 --- /dev/null +++ b/dist-remove-me-post-050/css/roboto.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["roboto.css","/less/roboto.less"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCE;ACjCF;EACE,2BAAA;EACA,mBAAA;EACA,iBAAA;EAEA,0MAAA;CDkCD;AC3BD;EACE,2BAAA;EACA,mBAAA;EACA,iBAAA;EAEA,6MAAA;CD4BD;ACrBD;EACE,2BAAA;EACA,mBAAA;EACA,iBAAA;EAEA,mMAAA;CDsBD;ACfD;EACE,2BAAA;EACA,mBAAA;EACA,iBAAA;EAEA,6MAAA;CDgBD","file":"roboto.css","sourcesContent":["/*\n\nTo get this list of colors inject jQuery at http://www.google.com/design/spec/style/color.html#color-color-palette\n\nThen, run this script to get the list.\n\n\n(function() {\n var colors = {}, main = {};\n $(\".color-group\").each(function() {\n var color = $(this).find(\".name\").text().trim().toLowerCase().replace(\" \", \"-\");\n colors[color] = {};\n\n $(this).find(\".color\").not(\".main-color\").each(function() {\n var shade = $(this).find(\".shade\").text().trim(),\n hex = $(this).find(\".hex\").text().trim();\n\n colors[color][shade] = hex;\n });\n main[color] = color + \"-\" + $(this).find(\".main-color .shade\").text().trim();\n\n });\n var LESS = \"\";\n $.each(colors, function(name, shades) {\n LESS += \"\\n\\n\";\n $.each(shades, function(shade, hex) {\n LESS += \"@\" + name + \"-\" + shade + \": \" + hex + \";\\n\";\n });\n if (main[name]) {\n LESS += \"@\" + name + \": \" + main[name] + \";\\n\";\n }\n });\n console.log(LESS);\n})();\n\n\n*/\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 400;\n src: local('RobotoDraft'), local('RobotoDraft-Regular'), local('Roboto-Regular'), url('../fonts/RobotoDraftRegular.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftRegular.woff') format('woff');\n}\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 500;\n src: local('RobotoDraft Medium'), local('RobotoDraft-Medium'), local('Roboto-Medium'), url('../fonts/RobotoDraftMedium.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftMedium.woff') format('woff');\n}\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 700;\n src: local('RobotoDraft Bold'), local('RobotoDraft-Bold'), local('Roboto-Bold'), url('../fonts/RobotoDraftBold.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftBold.woff') format('woff');\n}\n@font-face {\n font-family: 'RobotoDraft';\n font-style: italic;\n font-weight: 400;\n src: local('RobotoDraft Italic'), local('RobotoDraft-Italic'), local('Roboto-Italic'), url('../fonts/RobotoDraftItalic.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftItalic.woff') format('woff');\n}\n/*# sourceMappingURL=roboto.css.map */","@import \"_colors.less\";\n@import \"_variables.less\";\n\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 400;\n //src: local('RobotoDraft'), local('RobotoDraft-Regular'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/robotodraft/v1/0xES5Sl_v6oyT7dAKuoni4gp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/0xES5Sl_v6oyT7dAKuoni7rIa-7acMAeDBVuclsi6Gc.woff) format('woff');\n src: local('RobotoDraft'),\n local('RobotoDraft-Regular'),\n local('Roboto-Regular'),\n url('@{mdb-font-path}/RobotoDraftRegular.woff2?#iefix') format('woff2'),\n url('@{mdb-font-path}/RobotoDraftRegular.woff') format('woff');\n}\n\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 500;\n //src: local('RobotoDraft Medium'), local('RobotoDraft-Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwXJuJo8UJJfpGKt7pXjBv4s.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwaTA90I55Xt7owhZwpPnMsc.woff) format('woff');\n src: local('RobotoDraft Medium'),\n local('RobotoDraft-Medium'),\n local('Roboto-Medium'),\n url('@{mdb-font-path}/RobotoDraftMedium.woff2?#iefix') format('woff2'),\n url('@{mdb-font-path}/RobotoDraftMedium.woff') format('woff');\n}\n\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 700;\n //src: local('RobotoDraft Bold'), local('RobotoDraft-Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-Vwf79_ZuUxCigM2DespTnFaw.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwRbnBKKEOwRKgsHDreGcocg.woff) format('woff');\n src: local('RobotoDraft Bold'),\n local('RobotoDraft-Bold'),\n local('Roboto-Bold'),\n url('@{mdb-font-path}/RobotoDraftBold.woff2?#iefix') format('woff2'),\n url('@{mdb-font-path}/RobotoDraftBold.woff') format('woff');\n}\n\n@font-face {\n font-family: 'RobotoDraft';\n font-style: italic;\n font-weight: 400;\n //src: local('RobotoDraft Italic'), local('RobotoDraft-Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/robotodraft/v1/er-TIW55l9KWsTS1x9bTfgeOulFbQKHxPa89BaxZzA0.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/er-TIW55l9KWsTS1x9bTfoo3ZslTYfJv0R05CazkwN8.woff) format('woff');\n src: local('RobotoDraft Italic'),\n local('RobotoDraft-Italic'),\n local('Roboto-Italic'),\n url('@{mdb-font-path}/RobotoDraftItalic.woff2?#iefix') format('woff2'),\n url('@{mdb-font-path}/RobotoDraftItalic.woff') format('woff');\n}\n"]} \ No newline at end of file diff --git a/less/_material.less b/less/_bootstrap-material-design.less similarity index 95% rename from less/_material.less rename to less/_bootstrap-material-design.less index 03d28036..bf54693a 100644 --- a/less/_material.less +++ b/less/_bootstrap-material-design.less @@ -20,7 +20,7 @@ body { body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 { - font-family: "RobotoDraft", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: @mdb-font-family; font-weight: 300; } diff --git a/less/_buttons.less b/less/_buttons.less index 7fe52892..8a9364d0 100644 --- a/less/_buttons.less +++ b/less/_buttons.less @@ -17,17 +17,26 @@ text-decoration: none; color: @darkbg-text; - &:hover:not(.btn-link):not(.btn-flat):not(.btn-fab) { - .shadow-z-1(); - } - &:active:not(.btn-link):not(.btn-flat):not(.btn-fab) { - .shadow-z-1-hover(); + &:not(.btn-link):not(.btn-flat) { + background-color: @btn-default; + color: @lightbg-text; + + &:not(.btn-fab) { + &:hover { + .shadow-z-1(); + } + &:active { + .shadow-z-1-hover(); + } + } } + transition: background-color 0.2s ease, box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); outline: none !important; - - .variations(~".btn-flat:not(.btn-link)", color, @lightbg-text); + .btn-flat:not(.btn-link){ + color: @lightbg-text; + } .background-variations(~":not(.btn-link):not(.btn-flat)", @btn-default); diff --git a/less/_mixins-fullpalette.less b/less/_mixins-fullpalette.less deleted file mode 100755 index e36c3155..00000000 --- a/less/_mixins-fullpalette.less +++ /dev/null @@ -1,137 +0,0 @@ -@import '_mixins-shared.less'; - -// -// To use this mixin you should pass a function as final parameter to define -// the style. In that definition you can use the following variables to define it. -// -// @mdb-color-name ---> "red", "green", "indigo" ... -// @mdb-color-full-name ---> "red", "green-50", "indigo-400" ... -// @mdb-color ---> #f44336, #e8f5e9, #5c6bc0 ... -// @mdb-text-color ---> rgba(255,255,255,0.84), rgba(0,0,0,0.84), rgba(255,255,255,0.84) ... -// - -.generic-variations(@extra, @default, @func) { - - @contrast-factor: 40%; - - // bootstrap styles - &@{extra}, &-default@{extra} { - @mdb-color-name: "default"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @default; - @mdb-text-color: @darkbg-text; - @func(); - } - &-black@{extra} { - @mdb-color-name: "black"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @black; - @mdb-text-color: @darkbg-text; - @func(); - } - &-white@{extra} { - @mdb-color-name: "white"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @white; - @mdb-text-color: @lightbg-text; - @func(); - } - &-inverse@{extra} { - @mdb-color-name: "inverse"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @inverse; - @mdb-text-color: contrast(@inverse, @lightbg-text, @darkbg-text, @contrast-factor); - @func(); - } - &-primary@{extra} { - @mdb-color-name: "primary"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @brand-primary; - @mdb-text-color: @darkbg-text; - @func(); - } - &-success@{extra} { - @mdb-color-name: "success"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @brand-success; - @mdb-text-color: @darkbg-text; - @func(); - } - &-info@{extra} { - @mdb-color-name: "info"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @brand-info; - @mdb-text-color: @darkbg-text; - @func(); - } - &-warning@{extra} { - @mdb-color-name: "warning"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @brand-warning; - @mdb-text-color: @darkbg-text; - @func(); - } - &-danger@{extra} { - @mdb-color-name: "danger"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @brand-danger; - @mdb-text-color: @darkbg-text; - @func(); - } - - // given a color build multiples dephs - .generic-variations-factory(@mdb-color-name) { - - // given a color and its deph build css - .generic-variations-factory-deep(@mdb-color-number) { - - &-material-@{mdb-color-name}@{mdb-color-number}@{extra} { - @mdb-color-full-name: "@{mdb-color-name}@{mdb-color-number}"; - @mdb-color: @@mdb-color-full-name; - @mdb-text-color: contrast(@mdb-color, @lightbg-text, @darkbg-text, @contrast-factor); - @func(); - } - - } - - .generic-variations-factory-deep(~""); - .generic-variations-factory-deep(~"-50"); - .generic-variations-factory-deep(~"-100"); - .generic-variations-factory-deep(~"-200"); - .generic-variations-factory-deep(~"-300"); - .generic-variations-factory-deep(~"-400"); - .generic-variations-factory-deep(~"-500"); - .generic-variations-factory-deep(~"-600"); - .generic-variations-factory-deep(~"-700"); - .generic-variations-factory-deep(~"-800"); - .generic-variations-factory-deep(~"-900"); - .generic-variations-factory-deep(~"-A100"); - .generic-variations-factory-deep(~"-A200"); - .generic-variations-factory-deep(~"-A400"); - .generic-variations-factory-deep(~"-A700"); - } - - .generic-variations-factory(~"red"); - .generic-variations-factory(~"pink"); - .generic-variations-factory(~"purple"); - .generic-variations-factory(~"deep-purple"); - .generic-variations-factory(~"indigo"); - .generic-variations-factory(~"blue"); - .generic-variations-factory(~"light-blue"); - .generic-variations-factory(~"cyan"); - .generic-variations-factory(~"teal"); - .generic-variations-factory(~"green"); - .generic-variations-factory(~"light-green"); - .generic-variations-factory(~"lime"); - .generic-variations-factory(~"yellow"); - .generic-variations-factory(~"amber"); - .generic-variations-factory(~"orange"); - .generic-variations-factory(~"deep-orange"); - .generic-variations-factory(~"brown"); - .generic-variations-factory(~"grey"); - .generic-variations-factory(~"blue-grey"); - -} - - -@all-variations: ~"-default, -primary, -info, -success, -warning, -danger"; diff --git a/less/_mixins-shared.less b/less/_mixins-shared.less deleted file mode 100755 index 5a9b1fd8..00000000 --- a/less/_mixins-shared.less +++ /dev/null @@ -1,31 +0,0 @@ -// 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}: @mdb-color; - }); -} - -.background-variations(@extra, @default) { - .generic-variations(@extra, @default, { - background-color: @mdb-color; - & when (@mdb-color = @btn-default) { - color: @lightbg-text; - } - & when not (@mdb-color = @btn-default) { - color: @mdb-text-color; - } - }); -} - -.text-variations(@extra, @default) { - .generic-variations(@extra, @default, { - color: @mdb-color; - }); -} diff --git a/less/_mixins.less b/less/_mixins.less index 32baff37..0fa0ad0b 100755 --- a/less/_mixins.less +++ b/less/_mixins.less @@ -1,4 +1,39 @@ -@import '_mixins-shared.less'; +// 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}: @mdb-color; + }); +} + + + +.background-variations(@extra, @default) { + .generic-variations(@extra, @default, { + background-color: @mdb-color; + & when (@mdb-color = @btn-default) { + color: @lightbg-text; + } + & when not (@mdb-color = @btn-default) { + color: @mdb-text-color; + } + }); +} + +.text-variations(@extra, @default) { + .generic-variations(@extra, @default, { + color: @mdb-color; + }); +} + + // // To use this mixin you should pass a function as final parameter to define @@ -16,109 +51,110 @@ @contrast-factor: 40%; // bootstrap styles - &@{extra}, &-default@{extra} { - @mdb-color-name: "default"; - @mdb-color-full-name: @mdb-color-name; + &@{extra}, + &-default@{extra} { + //@mdb-color-name: "default"; + //@mdb-color-full-name: @mdb-color-name; @mdb-color: @default; @mdb-text-color: @darkbg-text; @func(); } - &-black@{extra} { - @mdb-color-name: "black"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @black; - @mdb-text-color: @darkbg-text; - @func(); - } - &-white@{extra} { - @mdb-color-name: "white"; - @mdb-color-full-name: @mdb-color-name; - @mdb-color: @white; - @mdb-text-color: @lightbg-text; - @func(); - } + //&-black@{extra} { + // //@mdb-color-name: "black"; + // //@mdb-color-full-name: @mdb-color-name; + // @mdb-color: @black; + // @mdb-text-color: @darkbg-text; + // @func(); + //} + //&-white@{extra} { + // //@mdb-color-name: "white"; + // //@mdb-color-full-name: @mdb-color-name; + // @mdb-color: @white; + // @mdb-text-color: @lightbg-text; + // @func(); + //} &-inverse@{extra} { - @mdb-color-name: "inverse"; - @mdb-color-full-name: @mdb-color-name; + //@mdb-color-name: "inverse"; + //@mdb-color-full-name: @mdb-color-name; @mdb-color: @inverse; @mdb-text-color: contrast(@inverse, @lightbg-text, @darkbg-text, @contrast-factor); @func(); } &-primary@{extra} { - @mdb-color-name: "primary"; - @mdb-color-full-name: @mdb-color-name; + //@mdb-color-name: "primary"; + //@mdb-color-full-name: @mdb-color-name; @mdb-color: @brand-primary; @mdb-text-color: @darkbg-text; @func(); } &-success@{extra} { - @mdb-color-name: "success"; - @mdb-color-full-name: @mdb-color-name; + //@mdb-color-name: "success"; + //@mdb-color-full-name: @mdb-color-name; @mdb-color: @brand-success; @mdb-text-color: @darkbg-text; @func(); } &-info@{extra} { - @mdb-color-name: "info"; - @mdb-color-full-name: @mdb-color-name; + //@mdb-color-name: "info"; + //@mdb-color-full-name: @mdb-color-name; @mdb-color: @brand-info; @mdb-text-color: @darkbg-text; @func(); } &-warning@{extra} { - @mdb-color-name: "warning"; - @mdb-color-full-name: @mdb-color-name; + //@mdb-color-name: "warning"; + //@mdb-color-full-name: @mdb-color-name; @mdb-color: @brand-warning; @mdb-text-color: @darkbg-text; @func(); } &-danger@{extra} { - @mdb-color-name: "danger"; - @mdb-color-full-name: @mdb-color-name; + //@mdb-color-name: "danger"; + //@mdb-color-full-name: @mdb-color-name; @mdb-color: @brand-danger; @mdb-text-color: @darkbg-text; @func(); } - // given a color build multiples dephs - .generic-variations-factory(@mdb-color-name) { - - // given a color and its deph build css - .generic-variations-factory-deep(@mdb-color-number) { - - &-material-@{mdb-color-name}@{mdb-color-number}@{extra} { - @mdb-color-full-name: "@{mdb-color-name}@{mdb-color-number}"; - @mdb-color: @@mdb-color-full-name; - @mdb-text-color: contrast(@mdb-color, @lightbg-text, @darkbg-text, @contrast-factor); - @func(); - } - - } - - .generic-variations-factory-deep(~""); - } - - .generic-variations-factory(~"red"); - .generic-variations-factory(~"pink"); - .generic-variations-factory(~"purple"); - .generic-variations-factory(~"deep-purple"); - .generic-variations-factory(~"indigo"); - .generic-variations-factory(~"blue"); - .generic-variations-factory(~"light-blue"); - .generic-variations-factory(~"cyan"); - .generic-variations-factory(~"teal"); - .generic-variations-factory(~"green"); - .generic-variations-factory(~"light-green"); - .generic-variations-factory(~"lime"); - .generic-variations-factory(~"yellow"); - .generic-variations-factory(~"amber"); - .generic-variations-factory(~"orange"); - .generic-variations-factory(~"deep-orange"); - .generic-variations-factory(~"brown"); - .generic-variations-factory(~"grey"); - .generic-variations-factory(~"blue-grey"); + //// given a color build multiples dephs + //.generic-variations-factory(@mdb-color-name) { + // + // // given a color and its deph build css + // .generic-variations-factory-deep(@mdb-color-number) { + // + // &-material-@{mdb-color-name}@{mdb-color-number}@{extra} { + // @mdb-color-full-name: "@{mdb-color-name}@{mdb-color-number}"; + // @mdb-color: @@mdb-color-full-name; + // @mdb-text-color: contrast(@mdb-color, @lightbg-text, @darkbg-text, @contrast-factor); + // @func(); + // } + // + // } + // + // .generic-variations-factory-deep(~""); + //} + // + //.generic-variations-factory(~"red"); + //.generic-variations-factory(~"pink"); + //.generic-variations-factory(~"purple"); + //.generic-variations-factory(~"deep-purple"); + //.generic-variations-factory(~"indigo"); + //.generic-variations-factory(~"blue"); + //.generic-variations-factory(~"light-blue"); + //.generic-variations-factory(~"cyan"); + //.generic-variations-factory(~"teal"); + //.generic-variations-factory(~"green"); + //.generic-variations-factory(~"light-green"); + //.generic-variations-factory(~"lime"); + //.generic-variations-factory(~"yellow"); + //.generic-variations-factory(~"amber"); + //.generic-variations-factory(~"orange"); + //.generic-variations-factory(~"deep-orange"); + //.generic-variations-factory(~"brown"); + //.generic-variations-factory(~"grey"); + //.generic-variations-factory(~"blue-grey"); } -@all-variations: ~"-default, -primary, -info, -success, -warning, -danger"; +//@all-variations: ~"-default, -primary, -info, -success, -warning, -danger"; diff --git a/less/_variables.less b/less/_variables.less index 0eb73b17..46c829a8 100644 --- a/less/_variables.less +++ b/less/_variables.less @@ -3,6 +3,8 @@ // Material Global vars @zero: 0; +@mdb-font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + // material icons path @mdb-font-path: "../fonts"; @@ -33,6 +35,7 @@ //--- // FIXME: Similar but not quite the same as Bootstrap variables // FIXME: these need to either a) be converted to @mdb- or b) converted to bs variables +@contrast-factor: 40%; @btn-default: transparent; @btn-default-text: @lightbg-text; //--- diff --git a/less/material.less b/less/bootstrap-material-design.less similarity index 57% rename from less/material.less rename to less/bootstrap-material-design.less index f166d626..5370a5fc 100644 --- a/less/material.less +++ b/less/bootstrap-material-design.less @@ -2,4 +2,4 @@ @import "_mixins.less"; @import "_icons-material-design.less"; @import "_shadows.less"; // these are mixins only, and must be placed at the top before use (sass requiremnt) -@import '_material.less'; // include the material content given the mixins above (sass requirement for inclusion order of mixins) +@import '_bootstrap-material-design.less'; // include the material content given the mixins above (sass requirement for inclusion order of mixins) diff --git a/less/material-fullpalette.less b/less/material-fullpalette.less deleted file mode 100644 index 6f55437f..00000000 --- a/less/material-fullpalette.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "_variables.less"; -@import "_mixins-fullpalette.less"; -@import "_icons-material-design.less"; -@import "_shadows.less"; // these are mixins only, and must be placed at the top before use (sass requiremnt) -@import '_material.less'; // include the material content given the mixins above (sass requirement for inclusion order of mixins) diff --git a/less/ripples.less b/less/ripples.less index 874cdc57..8e3a6bbb 100644 --- a/less/ripples.less +++ b/less/ripples.less @@ -19,6 +19,7 @@ margin-left: -10px; margin-top: -10px; border-radius: 100%; + background-color: #000; // fallback color background-color: rgba(0,0,0,0.05); transform: scale(1); transform-origin: 50%; diff --git a/less/roboto.less b/less/roboto.less index 3fe57fb1..428b762c 100644 --- a/less/roboto.less +++ b/less/roboto.less @@ -9,7 +9,7 @@ src: local('RobotoDraft'), local('RobotoDraft-Regular'), local('Roboto-Regular'), - url('@{mdb-font-path}/RobotoDraftRegular.woff2') format('woff2'), + url('@{mdb-font-path}/RobotoDraftRegular.woff2?#iefix') format('woff2'), url('@{mdb-font-path}/RobotoDraftRegular.woff') format('woff'); } @@ -21,7 +21,7 @@ src: local('RobotoDraft Medium'), local('RobotoDraft-Medium'), local('Roboto-Medium'), - url('@{mdb-font-path}/RobotoDraftMedium.woff2') format('woff2'), + url('@{mdb-font-path}/RobotoDraftMedium.woff2?#iefix') format('woff2'), url('@{mdb-font-path}/RobotoDraftMedium.woff') format('woff'); } @@ -33,7 +33,7 @@ src: local('RobotoDraft Bold'), local('RobotoDraft-Bold'), local('Roboto-Bold'), - url('@{mdb-font-path}/RobotoDraftBold.woff2') format('woff2'), + url('@{mdb-font-path}/RobotoDraftBold.woff2?#iefix') format('woff2'), url('@{mdb-font-path}/RobotoDraftBold.woff') format('woff'); } @@ -45,6 +45,6 @@ src: local('RobotoDraft Italic'), local('RobotoDraft-Italic'), local('Roboto-Italic'), - url('@{mdb-font-path}/RobotoDraftItalic.woff2') format('woff2'), + url('@{mdb-font-path}/RobotoDraftItalic.woff2?#iefix') format('woff2'), url('@{mdb-font-path}/RobotoDraftItalic.woff') format('woff'); } diff --git a/sass/_material.scss b/sass/_bootstrap-material-design.scss similarity index 95% rename from sass/_material.scss rename to sass/_bootstrap-material-design.scss index 2f3a9e45..847e49d1 100644 --- a/sass/_material.scss +++ b/sass/_bootstrap-material-design.scss @@ -22,7 +22,7 @@ body { body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 { - font-family: "RobotoDraft", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: $mdb-font-family; font-weight: 300; } diff --git a/sass/_buttons.scss b/sass/_buttons.scss index 41de4517..2ab30565 100644 --- a/sass/_buttons.scss +++ b/sass/_buttons.scss @@ -19,17 +19,26 @@ text-decoration: none; color: $darkbg-text; - &:hover:not(.btn-link):not(.btn-flat):not(.btn-fab) { - @include shadow-z-1(); - } - &:active:not(.btn-link):not(.btn-flat):not(.btn-fab) { - @include shadow-z-1-hover(); + &:not(.btn-link):not(.btn-flat) { + background-color: $btn-default; + color: $lightbg-text; + + &:not(.btn-fab) { + &:hover { + @include shadow-z-1(); + } + &:active { + @include shadow-z-1-hover(); + } + } } + transition: background-color 0.2s ease, box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); outline: none !important; - - @include variations(unquote(".btn-flat:not(.btn-link)"), color, $lightbg-text); + .btn-flat:not(.btn-link){ + color: $lightbg-text; + } @include background-variations(unquote(":not(.btn-link):not(.btn-flat)"), $btn-default); diff --git a/sass/_colors-map.scss b/sass/_colors-map.scss new file mode 100644 index 00000000..747a8cb4 --- /dev/null +++ b/sass/_colors-map.scss @@ -0,0 +1,311 @@ +// these might be useful in a switch to sass...at some point. + +//$mdb-colors: ( +// "red": $red, +// "pink": $pink, +// "purple": $purple, +// "deep-purple": $deep-purple, +// "indigo": $indigo, +// "blue": $blue, +// "light-blue": $light-blue, +// "cyan": $cyan, +// "teal": $teal, +// "green": $green, +// "light-green": $light-green, +// "lime": $lime, +// "yellow": $yellow, +// "amber": $amber, +// "orange": $orange, +// "deep-orange": $deep-orange, +// "brown": $brown, +// "grey": $grey, +// "blue-grey": $blue-grey +//); +// +//$mdb-colors-map: ( +// "red-50": (name: "red", color: $red-50, number: "-50"), +// "red-100": (name: "red", color: $red-100, number: "-100"), +// "red-200": (name: "red", color: $red-200, number: "-200"), +// "red-300": (name: "red", color: $red-300, number: "-300"), +// "red-400": (name: "red", color: $red-400, number: "-400"), +// "red-500": (name: "red", color: $red-500, number: "-500"), +// "red-600": (name: "red", color: $red-600, number: "-600"), +// "red-700": (name: "red", color: $red-700, number: "-700"), +// "red-800": (name: "red", color: $red-800, number: "-800"), +// "red-900": (name: "red", color: $red-900, number: "-900"), +// "red-A100": (name: "red", color: $red-A100, number: "-A100"), +// "red-A200": (name: "red", color: $red-A200, number: "-A200"), +// "red-A400": (name: "red", color: $red-A400, number: "-A400"), +// "red-A700": (name: "red", color: $red-A700, number: "-A700"), +// "red": (name: "red", color: $red, number: ""), +// "pink-50": (name: "pink", color: $pink-50, number: "-50"), +// "pink-100": (name: "pink", color: $pink-100, number: "-100"), +// "pink-200": (name: "pink", color: $pink-200, number: "-200"), +// "pink-300": (name: "pink", color: $pink-300, number: "-300"), +// "pink-400": (name: "pink", color: $pink-400, number: "-400"), +// "pink-500": (name: "pink", color: $pink-500, number: "-500"), +// "pink-600": (name: "pink", color: $pink-600, number: "-600"), +// "pink-700": (name: "pink", color: $pink-700, number: "-700"), +// "pink-800": (name: "pink", color: $pink-800, number: "-800"), +// "pink-900": (name: "pink", color: $pink-900, number: "-900"), +// "pink-A100": (name: "pink", color: $pink-A100, number: "-A100"), +// "pink-A200": (name: "pink", color: $pink-A200, number: "-A200"), +// "pink-A400": (name: "pink", color: $pink-A400, number: "-A400"), +// "pink-A700": (name: "pink", color: $pink-A700, number: "-A700"), +// "pink": (name: "pink", color: $pink, number: ""), +// "purple-50": (name: "purple", color: $purple-50, number: "-50"), +// "purple-100": (name: "purple", color: $purple-100, number: "-100"), +// "purple-200": (name: "purple", color: $purple-200, number: "-200"), +// "purple-300": (name: "purple", color: $purple-300, number: "-300"), +// "purple-400": (name: "purple", color: $purple-400, number: "-400"), +// "purple-500": (name: "purple", color: $purple-500, number: "-500"), +// "purple-600": (name: "purple", color: $purple-600, number: "-600"), +// "purple-700": (name: "purple", color: $purple-700, number: "-700"), +// "purple-800": (name: "purple", color: $purple-800, number: "-800"), +// "purple-900": (name: "purple", color: $purple-900, number: "-900"), +// "purple-A100": (name: "purple", color: $purple-A100, number: "-A100"), +// "purple-A200": (name: "purple", color: $purple-A200, number: "-A200"), +// "purple-A400": (name: "purple", color: $purple-A400, number: "-A400"), +// "purple-A700": (name: "purple", color: $purple-A700, number: "-A700"), +// "purple": (name: "purple", color: $purple, number: ""), +// "deep-purple-50": (name: "deep-purple", color: $deep-purple-50, number: "-50"), +// "deep-purple-100": (name: "deep-purple", color: $deep-purple-100, number: "-100"), +// "deep-purple-200": (name: "deep-purple", color: $deep-purple-200, number: "-200"), +// "deep-purple-300": (name: "deep-purple", color: $deep-purple-300, number: "-300"), +// "deep-purple-400": (name: "deep-purple", color: $deep-purple-400, number: "-400"), +// "deep-purple-500": (name: "deep-purple", color: $deep-purple-500, number: "-500"), +// "deep-purple-600": (name: "deep-purple", color: $deep-purple-600, number: "-600"), +// "deep-purple-700": (name: "deep-purple", color: $deep-purple-700, number: "-700"), +// "deep-purple-800": (name: "deep-purple", color: $deep-purple-800, number: "-800"), +// "deep-purple-900": (name: "deep-purple", color: $deep-purple-900, number: "-900"), +// "deep-purple-A100": (name: "deep-purple", color: $deep-purple-A100, number: "-A100"), +// "deep-purple-A200": (name: "deep-purple", color: $deep-purple-A200, number: "-A200"), +// "deep-purple-A400": (name: "deep-purple", color: $deep-purple-A400, number: "-A400"), +// "deep-purple-A700": (name: "deep-purple", color: $deep-purple-A700, number: "-A700"), +// "deep-purple": (name: "deep-purple", color: $deep-purple, number: ""), +// "indigo-50": (name: "indigo", color: $indigo-50, number: "-50"), +// "indigo-100": (name: "indigo", color: $indigo-100, number: "-100"), +// "indigo-200": (name: "indigo", color: $indigo-200, number: "-200"), +// "indigo-300": (name: "indigo", color: $indigo-300, number: "-300"), +// "indigo-400": (name: "indigo", color: $indigo-400, number: "-400"), +// "indigo-500": (name: "indigo", color: $indigo-500, number: "-500"), +// "indigo-600": (name: "indigo", color: $indigo-600, number: "-600"), +// "indigo-700": (name: "indigo", color: $indigo-700, number: "-700"), +// "indigo-800": (name: "indigo", color: $indigo-800, number: "-800"), +// "indigo-900": (name: "indigo", color: $indigo-900, number: "-900"), +// "indigo-A100": (name: "indigo", color: $indigo-A100, number: "-A100"), +// "indigo-A200": (name: "indigo", color: $indigo-A200, number: "-A200"), +// "indigo-A400": (name: "indigo", color: $indigo-A400, number: "-A400"), +// "indigo-A700": (name: "indigo", color: $indigo-A700, number: "-A700"), +// "indigo": (name: "indigo", color: $indigo, number: ""), +// "blue-50": (name: "blue", color: $blue-50, number: "-50"), +// "blue-100": (name: "blue", color: $blue-100, number: "-100"), +// "blue-200": (name: "blue", color: $blue-200, number: "-200"), +// "blue-300": (name: "blue", color: $blue-300, number: "-300"), +// "blue-400": (name: "blue", color: $blue-400, number: "-400"), +// "blue-500": (name: "blue", color: $blue-500, number: "-500"), +// "blue-600": (name: "blue", color: $blue-600, number: "-600"), +// "blue-700": (name: "blue", color: $blue-700, number: "-700"), +// "blue-800": (name: "blue", color: $blue-800, number: "-800"), +// "blue-900": (name: "blue", color: $blue-900, number: "-900"), +// "blue-A100": (name: "blue", color: $blue-A100, number: "-A100"), +// "blue-A200": (name: "blue", color: $blue-A200, number: "-A200"), +// "blue-A400": (name: "blue", color: $blue-A400, number: "-A400"), +// "blue-A700": (name: "blue", color: $blue-A700, number: "-A700"), +// "blue": (name: "blue", color: $blue, number: ""), +// "light-blue-50": (name: "light-blue", color: $light-blue-50, number: "-50"), +// "light-blue-100": (name: "light-blue", color: $light-blue-100, number: "-100"), +// "light-blue-200": (name: "light-blue", color: $light-blue-200, number: "-200"), +// "light-blue-300": (name: "light-blue", color: $light-blue-300, number: "-300"), +// "light-blue-400": (name: "light-blue", color: $light-blue-400, number: "-400"), +// "light-blue-500": (name: "light-blue", color: $light-blue-500, number: "-500"), +// "light-blue-600": (name: "light-blue", color: $light-blue-600, number: "-600"), +// "light-blue-700": (name: "light-blue", color: $light-blue-700, number: "-700"), +// "light-blue-800": (name: "light-blue", color: $light-blue-800, number: "-800"), +// "light-blue-900": (name: "light-blue", color: $light-blue-900, number: "-900"), +// "light-blue-A100": (name: "light-blue", color: $light-blue-A100, number: "-A100"), +// "light-blue-A200": (name: "light-blue", color: $light-blue-A200, number: "-A200"), +// "light-blue-A400": (name: "light-blue", color: $light-blue-A400, number: "-A400"), +// "light-blue-A700": (name: "light-blue", color: $light-blue-A700, number: "-A700"), +// "light-blue": (name: "light-blue", color: $light-blue, number: ""), +// "cyan-50": (name: "cyan", color: $cyan-50, number: "-50"), +// "cyan-100": (name: "cyan", color: $cyan-100, number: "-100"), +// "cyan-200": (name: "cyan", color: $cyan-200, number: "-200"), +// "cyan-300": (name: "cyan", color: $cyan-300, number: "-300"), +// "cyan-400": (name: "cyan", color: $cyan-400, number: "-400"), +// "cyan-500": (name: "cyan", color: $cyan-500, number: "-500"), +// "cyan-600": (name: "cyan", color: $cyan-600, number: "-600"), +// "cyan-700": (name: "cyan", color: $cyan-700, number: "-700"), +// "cyan-800": (name: "cyan", color: $cyan-800, number: "-800"), +// "cyan-900": (name: "cyan", color: $cyan-900, number: "-900"), +// "cyan-A100": (name: "cyan", color: $cyan-A100, number: "-A100"), +// "cyan-A200": (name: "cyan", color: $cyan-A200, number: "-A200"), +// "cyan-A400": (name: "cyan", color: $cyan-A400, number: "-A400"), +// "cyan-A700": (name: "cyan", color: $cyan-A700, number: "-A700"), +// "cyan": (name: "cyan", color: $cyan, number: ""), +// "teal-50": (name: "teal", color: $teal-50, number: "-50"), +// "teal-100": (name: "teal", color: $teal-100, number: "-100"), +// "teal-200": (name: "teal", color: $teal-200, number: "-200"), +// "teal-300": (name: "teal", color: $teal-300, number: "-300"), +// "teal-400": (name: "teal", color: $teal-400, number: "-400"), +// "teal-500": (name: "teal", color: $teal-500, number: "-500"), +// "teal-600": (name: "teal", color: $teal-600, number: "-600"), +// "teal-700": (name: "teal", color: $teal-700, number: "-700"), +// "teal-800": (name: "teal", color: $teal-800, number: "-800"), +// "teal-900": (name: "teal", color: $teal-900, number: "-900"), +// "teal-A100": (name: "teal", color: $teal-A100, number: "-A100"), +// "teal-A200": (name: "teal", color: $teal-A200, number: "-A200"), +// "teal-A400": (name: "teal", color: $teal-A400, number: "-A400"), +// "teal-A700": (name: "teal", color: $teal-A700, number: "-A700"), +// "teal": (name: "teal", color: $teal, number: ""), +// "green-50": (name: "green", color: $green-50, number: "-50"), +// "green-100": (name: "green", color: $green-100, number: "-100"), +// "green-200": (name: "green", color: $green-200, number: "-200"), +// "green-300": (name: "green", color: $green-300, number: "-300"), +// "green-400": (name: "green", color: $green-400, number: "-400"), +// "green-500": (name: "green", color: $green-500, number: "-500"), +// "green-600": (name: "green", color: $green-600, number: "-600"), +// "green-700": (name: "green", color: $green-700, number: "-700"), +// "green-800": (name: "green", color: $green-800, number: "-800"), +// "green-900": (name: "green", color: $green-900, number: "-900"), +// "green-A100": (name: "green", color: $green-A100, number: "-A100"), +// "green-A200": (name: "green", color: $green-A200, number: "-A200"), +// "green-A400": (name: "green", color: $green-A400, number: "-A400"), +// "green-A700": (name: "green", color: $green-A700, number: "-A700"), +// "green": (name: "green", color: $green, number: ""), +// "light-green-50": (name: "light-green", color: $light-green-50, number: "-50"), +// "light-green-100": (name: "light-green", color: $light-green-100, number: "-100"), +// "light-green-200": (name: "light-green", color: $light-green-200, number: "-200"), +// "light-green-300": (name: "light-green", color: $light-green-300, number: "-300"), +// "light-green-400": (name: "light-green", color: $light-green-400, number: "-400"), +// "light-green-500": (name: "light-green", color: $light-green-500, number: "-500"), +// "light-green-600": (name: "light-green", color: $light-green-600, number: "-600"), +// "light-green-700": (name: "light-green", color: $light-green-700, number: "-700"), +// "light-green-800": (name: "light-green", color: $light-green-800, number: "-800"), +// "light-green-900": (name: "light-green", color: $light-green-900, number: "-900"), +// "light-green-A100": (name: "light-green", color: $light-green-A100, number: "-A100"), +// "light-green-A200": (name: "light-green", color: $light-green-A200, number: "-A200"), +// "light-green-A400": (name: "light-green", color: $light-green-A400, number: "-A400"), +// "light-green-A700": (name: "light-green", color: $light-green-A700, number: "-A700"), +// "light-green": (name: "light-green", color: $light-green, number: ""), +// "lime-50": (name: "lime", color: $lime-50, number: "-50"), +// "lime-100": (name: "lime", color: $lime-100, number: "-100"), +// "lime-200": (name: "lime", color: $lime-200, number: "-200"), +// "lime-300": (name: "lime", color: $lime-300, number: "-300"), +// "lime-400": (name: "lime", color: $lime-400, number: "-400"), +// "lime-500": (name: "lime", color: $lime-500, number: "-500"), +// "lime-600": (name: "lime", color: $lime-600, number: "-600"), +// "lime-700": (name: "lime", color: $lime-700, number: "-700"), +// "lime-800": (name: "lime", color: $lime-800, number: "-800"), +// "lime-900": (name: "lime", color: $lime-900, number: "-900"), +// "lime-A100": (name: "lime", color: $lime-A100, number: "-A100"), +// "lime-A200": (name: "lime", color: $lime-A200, number: "-A200"), +// "lime-A400": (name: "lime", color: $lime-A400, number: "-A400"), +// "lime-A700": (name: "lime", color: $lime-A700, number: "-A700"), +// "lime": (name: "lime", color: $lime, number: ""), +// "yellow-50": (name: "yellow", color: $yellow-50, number: "-50"), +// "yellow-100": (name: "yellow", color: $yellow-100, number: "-100"), +// "yellow-200": (name: "yellow", color: $yellow-200, number: "-200"), +// "yellow-300": (name: "yellow", color: $yellow-300, number: "-300"), +// "yellow-400": (name: "yellow", color: $yellow-400, number: "-400"), +// "yellow-500": (name: "yellow", color: $yellow-500, number: "-500"), +// "yellow-600": (name: "yellow", color: $yellow-600, number: "-600"), +// "yellow-700": (name: "yellow", color: $yellow-700, number: "-700"), +// "yellow-800": (name: "yellow", color: $yellow-800, number: "-800"), +// "yellow-900": (name: "yellow", color: $yellow-900, number: "-900"), +// "yellow-A100": (name: "yellow", color: $yellow-A100, number: "-A100"), +// "yellow-A200": (name: "yellow", color: $yellow-A200, number: "-A200"), +// "yellow-A400": (name: "yellow", color: $yellow-A400, number: "-A400"), +// "yellow-A700": (name: "yellow", color: $yellow-A700, number: "-A700"), +// "yellow": (name: "yellow", color: $yellow, number: ""), +// "amber-50": (name: "amber", color: $amber-50, number: "-50"), +// "amber-100": (name: "amber", color: $amber-100, number: "-100"), +// "amber-200": (name: "amber", color: $amber-200, number: "-200"), +// "amber-300": (name: "amber", color: $amber-300, number: "-300"), +// "amber-400": (name: "amber", color: $amber-400, number: "-400"), +// "amber-500": (name: "amber", color: $amber-500, number: "-500"), +// "amber-600": (name: "amber", color: $amber-600, number: "-600"), +// "amber-700": (name: "amber", color: $amber-700, number: "-700"), +// "amber-800": (name: "amber", color: $amber-800, number: "-800"), +// "amber-900": (name: "amber", color: $amber-900, number: "-900"), +// "amber-A100": (name: "amber", color: $amber-A100, number: "-A100"), +// "amber-A200": (name: "amber", color: $amber-A200, number: "-A200"), +// "amber-A400": (name: "amber", color: $amber-A400, number: "-A400"), +// "amber-A700": (name: "amber", color: $amber-A700, number: "-A700"), +// "amber": (name: "amber", color: $amber, number: ""), +// "orange-50": (name: "orange", color: $orange-50, number: "-50"), +// "orange-100": (name: "orange", color: $orange-100, number: "-100"), +// "orange-200": (name: "orange", color: $orange-200, number: "-200"), +// "orange-300": (name: "orange", color: $orange-300, number: "-300"), +// "orange-400": (name: "orange", color: $orange-400, number: "-400"), +// "orange-500": (name: "orange", color: $orange-500, number: "-500"), +// "orange-600": (name: "orange", color: $orange-600, number: "-600"), +// "orange-700": (name: "orange", color: $orange-700, number: "-700"), +// "orange-800": (name: "orange", color: $orange-800, number: "-800"), +// "orange-900": (name: "orange", color: $orange-900, number: "-900"), +// "orange-A100": (name: "orange", color: $orange-A100, number: "-A100"), +// "orange-A200": (name: "orange", color: $orange-A200, number: "-A200"), +// "orange-A400": (name: "orange", color: $orange-A400, number: "-A400"), +// "orange-A700": (name: "orange", color: $orange-A700, number: "-A700"), +// "orange": (name: "orange", color: $orange, number: ""), +// "deep-orange-50": (name: "deep-orange", color: $deep-orange-50, number: "-50"), +// "deep-orange-100": (name: "deep-orange", color: $deep-orange-100, number: "-100"), +// "deep-orange-200": (name: "deep-orange", color: $deep-orange-200, number: "-200"), +// "deep-orange-300": (name: "deep-orange", color: $deep-orange-300, number: "-300"), +// "deep-orange-400": (name: "deep-orange", color: $deep-orange-400, number: "-400"), +// "deep-orange-500": (name: "deep-orange", color: $deep-orange-500, number: "-500"), +// "deep-orange-600": (name: "deep-orange", color: $deep-orange-600, number: "-600"), +// "deep-orange-700": (name: "deep-orange", color: $deep-orange-700, number: "-700"), +// "deep-orange-800": (name: "deep-orange", color: $deep-orange-800, number: "-800"), +// "deep-orange-900": (name: "deep-orange", color: $deep-orange-900, number: "-900"), +// "deep-orange-A100": (name: "deep-orange", color: $deep-orange-A100, number: "-A100"), +// "deep-orange-A200": (name: "deep-orange", color: $deep-orange-A200, number: "-A200"), +// "deep-orange-A400": (name: "deep-orange", color: $deep-orange-A400, number: "-A400"), +// "deep-orange-A700": (name: "deep-orange", color: $deep-orange-A700, number: "-A700"), +// "deep-orange": (name: "deep-orange", color: $deep-orange, number: ""), +// "brown-50": (name: "brown", color: $brown-50, number: "-50"), +// "brown-100": (name: "brown", color: $brown-100, number: "-100"), +// "brown-200": (name: "brown", color: $brown-200, number: "-200"), +// "brown-300": (name: "brown", color: $brown-300, number: "-300"), +// "brown-400": (name: "brown", color: $brown-400, number: "-400"), +// "brown-500": (name: "brown", color: $brown-500, number: "-500"), +// "brown-600": (name: "brown", color: $brown-600, number: "-600"), +// "brown-700": (name: "brown", color: $brown-700, number: "-700"), +// "brown-800": (name: "brown", color: $brown-800, number: "-800"), +// "brown-900": (name: "brown", color: $brown-900, number: "-900"), +// "brown-A100": (name: "brown", color: $brown-A100, number: "-A100"), +// "brown-A200": (name: "brown", color: $brown-A200, number: "-A200"), +// "brown-A400": (name: "brown", color: $brown-A400, number: "-A400"), +// "brown-A700": (name: "brown", color: $brown-A700, number: "-A700"), +// "brown": (name: "brown", color: $brown, number: ""), +// "grey-50": (name: "grey", color: $grey-50, number: "-50"), +// "grey-100": (name: "grey", color: $grey-100, number: "-100"), +// "grey-200": (name: "grey", color: $grey-200, number: "-200"), +// "grey-300": (name: "grey", color: $grey-300, number: "-300"), +// "grey-400": (name: "grey", color: $grey-400, number: "-400"), +// "grey-500": (name: "grey", color: $grey-500, number: "-500"), +// "grey-600": (name: "grey", color: $grey-600, number: "-600"), +// "grey-700": (name: "grey", color: $grey-700, number: "-700"), +// "grey-800": (name: "grey", color: $grey-800, number: "-800"), +// "grey-900": (name: "grey", color: $grey-900, number: "-900"), +// "grey-A100": (name: "grey", color: $grey-A100, number: "-A100"), +// "grey-A200": (name: "grey", color: $grey-A200, number: "-A200"), +// "grey-A400": (name: "grey", color: $grey-A400, number: "-A400"), +// "grey-A700": (name: "grey", color: $grey-A700, number: "-A700"), +// "grey": (name: "grey", color: $grey, number: ""), +// "blue-grey-50": (name: "blue-grey", color: $blue-grey-50, number: "-50"), +// "blue-grey-100": (name: "blue-grey", color: $blue-grey-100, number: "-100"), +// "blue-grey-200": (name: "blue-grey", color: $blue-grey-200, number: "-200"), +// "blue-grey-300": (name: "blue-grey", color: $blue-grey-300, number: "-300"), +// "blue-grey-400": (name: "blue-grey", color: $blue-grey-400, number: "-400"), +// "blue-grey-500": (name: "blue-grey", color: $blue-grey-500, number: "-500"), +// "blue-grey-600": (name: "blue-grey", color: $blue-grey-600, number: "-600"), +// "blue-grey-700": (name: "blue-grey", color: $blue-grey-700, number: "-700"), +// "blue-grey-800": (name: "blue-grey", color: $blue-grey-800, number: "-800"), +// "blue-grey-900": (name: "blue-grey", color: $blue-grey-900, number: "-900"), +// "blue-grey-A100": (name: "blue-grey", color: $blue-grey-A100, number: "-A100"), +// "blue-grey-A200": (name: "blue-grey", color: $blue-grey-A200, number: "-A200"), +// "blue-grey-A400": (name: "blue-grey", color: $blue-grey-A400, number: "-A400"), +// "blue-grey-A700": (name: "blue-grey", color: $blue-grey-A700, number: "-A700"), +// "blue-grey": (name: "blue-grey", color: $blue-grey, number: "") +//); diff --git a/sass/_mixins-fullpalette.scss b/sass/_mixins-fullpalette.scss deleted file mode 100644 index f07547ba..00000000 --- a/sass/_mixins-fullpalette.scss +++ /dev/null @@ -1,307 +0,0 @@ -// This file is NOT automatically converted and must be manually merged -@import 'mixins-shared'; - -@mixin generic-variations-colors($args) { - - //@debug "multi-palette generic-variations-colors called with #{inspect($args)}"; - - $mdb-colors: ( - "red-50": (name: "red", color: $red-50, number: "-50"), - "red-100": (name: "red", color: $red-100, number: "-100"), - "red-200": (name: "red", color: $red-200, number: "-200"), - "red-300": (name: "red", color: $red-300, number: "-300"), - "red-400": (name: "red", color: $red-400, number: "-400"), - "red-500": (name: "red", color: $red-500, number: "-500"), - "red-600": (name: "red", color: $red-600, number: "-600"), - "red-700": (name: "red", color: $red-700, number: "-700"), - "red-800": (name: "red", color: $red-800, number: "-800"), - "red-900": (name: "red", color: $red-900, number: "-900"), - "red-A100": (name: "red", color: $red-A100, number: "-A100"), - "red-A200": (name: "red", color: $red-A200, number: "-A200"), - "red-A400": (name: "red", color: $red-A400, number: "-A400"), - "red-A700": (name: "red", color: $red-A700, number: "-A700"), - "red": (name: "red", color: $red, number: ""), - "pink-50": (name: "pink", color: $pink-50, number: "-50"), - "pink-100": (name: "pink", color: $pink-100, number: "-100"), - "pink-200": (name: "pink", color: $pink-200, number: "-200"), - "pink-300": (name: "pink", color: $pink-300, number: "-300"), - "pink-400": (name: "pink", color: $pink-400, number: "-400"), - "pink-500": (name: "pink", color: $pink-500, number: "-500"), - "pink-600": (name: "pink", color: $pink-600, number: "-600"), - "pink-700": (name: "pink", color: $pink-700, number: "-700"), - "pink-800": (name: "pink", color: $pink-800, number: "-800"), - "pink-900": (name: "pink", color: $pink-900, number: "-900"), - "pink-A100": (name: "pink", color: $pink-A100, number: "-A100"), - "pink-A200": (name: "pink", color: $pink-A200, number: "-A200"), - "pink-A400": (name: "pink", color: $pink-A400, number: "-A400"), - "pink-A700": (name: "pink", color: $pink-A700, number: "-A700"), - "pink": (name: "pink", color: $pink, number: ""), - "purple-50": (name: "purple", color: $purple-50, number: "-50"), - "purple-100": (name: "purple", color: $purple-100, number: "-100"), - "purple-200": (name: "purple", color: $purple-200, number: "-200"), - "purple-300": (name: "purple", color: $purple-300, number: "-300"), - "purple-400": (name: "purple", color: $purple-400, number: "-400"), - "purple-500": (name: "purple", color: $purple-500, number: "-500"), - "purple-600": (name: "purple", color: $purple-600, number: "-600"), - "purple-700": (name: "purple", color: $purple-700, number: "-700"), - "purple-800": (name: "purple", color: $purple-800, number: "-800"), - "purple-900": (name: "purple", color: $purple-900, number: "-900"), - "purple-A100": (name: "purple", color: $purple-A100, number: "-A100"), - "purple-A200": (name: "purple", color: $purple-A200, number: "-A200"), - "purple-A400": (name: "purple", color: $purple-A400, number: "-A400"), - "purple-A700": (name: "purple", color: $purple-A700, number: "-A700"), - "purple": (name: "purple", color: $purple, number: ""), - "deep-purple-50": (name: "deep-purple", color: $deep-purple-50, number: "-50"), - "deep-purple-100": (name: "deep-purple", color: $deep-purple-100, number: "-100"), - "deep-purple-200": (name: "deep-purple", color: $deep-purple-200, number: "-200"), - "deep-purple-300": (name: "deep-purple", color: $deep-purple-300, number: "-300"), - "deep-purple-400": (name: "deep-purple", color: $deep-purple-400, number: "-400"), - "deep-purple-500": (name: "deep-purple", color: $deep-purple-500, number: "-500"), - "deep-purple-600": (name: "deep-purple", color: $deep-purple-600, number: "-600"), - "deep-purple-700": (name: "deep-purple", color: $deep-purple-700, number: "-700"), - "deep-purple-800": (name: "deep-purple", color: $deep-purple-800, number: "-800"), - "deep-purple-900": (name: "deep-purple", color: $deep-purple-900, number: "-900"), - "deep-purple-A100": (name: "deep-purple", color: $deep-purple-A100, number: "-A100"), - "deep-purple-A200": (name: "deep-purple", color: $deep-purple-A200, number: "-A200"), - "deep-purple-A400": (name: "deep-purple", color: $deep-purple-A400, number: "-A400"), - "deep-purple-A700": (name: "deep-purple", color: $deep-purple-A700, number: "-A700"), - "deep-purple": (name: "deep-purple", color: $deep-purple, number: ""), - "indigo-50": (name: "indigo", color: $indigo-50, number: "-50"), - "indigo-100": (name: "indigo", color: $indigo-100, number: "-100"), - "indigo-200": (name: "indigo", color: $indigo-200, number: "-200"), - "indigo-300": (name: "indigo", color: $indigo-300, number: "-300"), - "indigo-400": (name: "indigo", color: $indigo-400, number: "-400"), - "indigo-500": (name: "indigo", color: $indigo-500, number: "-500"), - "indigo-600": (name: "indigo", color: $indigo-600, number: "-600"), - "indigo-700": (name: "indigo", color: $indigo-700, number: "-700"), - "indigo-800": (name: "indigo", color: $indigo-800, number: "-800"), - "indigo-900": (name: "indigo", color: $indigo-900, number: "-900"), - "indigo-A100": (name: "indigo", color: $indigo-A100, number: "-A100"), - "indigo-A200": (name: "indigo", color: $indigo-A200, number: "-A200"), - "indigo-A400": (name: "indigo", color: $indigo-A400, number: "-A400"), - "indigo-A700": (name: "indigo", color: $indigo-A700, number: "-A700"), - "indigo": (name: "indigo", color: $indigo, number: ""), - "blue-50": (name: "blue", color: $blue-50, number: "-50"), - "blue-100": (name: "blue", color: $blue-100, number: "-100"), - "blue-200": (name: "blue", color: $blue-200, number: "-200"), - "blue-300": (name: "blue", color: $blue-300, number: "-300"), - "blue-400": (name: "blue", color: $blue-400, number: "-400"), - "blue-500": (name: "blue", color: $blue-500, number: "-500"), - "blue-600": (name: "blue", color: $blue-600, number: "-600"), - "blue-700": (name: "blue", color: $blue-700, number: "-700"), - "blue-800": (name: "blue", color: $blue-800, number: "-800"), - "blue-900": (name: "blue", color: $blue-900, number: "-900"), - "blue-A100": (name: "blue", color: $blue-A100, number: "-A100"), - "blue-A200": (name: "blue", color: $blue-A200, number: "-A200"), - "blue-A400": (name: "blue", color: $blue-A400, number: "-A400"), - "blue-A700": (name: "blue", color: $blue-A700, number: "-A700"), - "blue": (name: "blue", color: $blue, number: ""), - "light-blue-50": (name: "light-blue", color: $light-blue-50, number: "-50"), - "light-blue-100": (name: "light-blue", color: $light-blue-100, number: "-100"), - "light-blue-200": (name: "light-blue", color: $light-blue-200, number: "-200"), - "light-blue-300": (name: "light-blue", color: $light-blue-300, number: "-300"), - "light-blue-400": (name: "light-blue", color: $light-blue-400, number: "-400"), - "light-blue-500": (name: "light-blue", color: $light-blue-500, number: "-500"), - "light-blue-600": (name: "light-blue", color: $light-blue-600, number: "-600"), - "light-blue-700": (name: "light-blue", color: $light-blue-700, number: "-700"), - "light-blue-800": (name: "light-blue", color: $light-blue-800, number: "-800"), - "light-blue-900": (name: "light-blue", color: $light-blue-900, number: "-900"), - "light-blue-A100": (name: "light-blue", color: $light-blue-A100, number: "-A100"), - "light-blue-A200": (name: "light-blue", color: $light-blue-A200, number: "-A200"), - "light-blue-A400": (name: "light-blue", color: $light-blue-A400, number: "-A400"), - "light-blue-A700": (name: "light-blue", color: $light-blue-A700, number: "-A700"), - "light-blue": (name: "light-blue", color: $light-blue, number: ""), - "cyan-50": (name: "cyan", color: $cyan-50, number: "-50"), - "cyan-100": (name: "cyan", color: $cyan-100, number: "-100"), - "cyan-200": (name: "cyan", color: $cyan-200, number: "-200"), - "cyan-300": (name: "cyan", color: $cyan-300, number: "-300"), - "cyan-400": (name: "cyan", color: $cyan-400, number: "-400"), - "cyan-500": (name: "cyan", color: $cyan-500, number: "-500"), - "cyan-600": (name: "cyan", color: $cyan-600, number: "-600"), - "cyan-700": (name: "cyan", color: $cyan-700, number: "-700"), - "cyan-800": (name: "cyan", color: $cyan-800, number: "-800"), - "cyan-900": (name: "cyan", color: $cyan-900, number: "-900"), - "cyan-A100": (name: "cyan", color: $cyan-A100, number: "-A100"), - "cyan-A200": (name: "cyan", color: $cyan-A200, number: "-A200"), - "cyan-A400": (name: "cyan", color: $cyan-A400, number: "-A400"), - "cyan-A700": (name: "cyan", color: $cyan-A700, number: "-A700"), - "cyan": (name: "cyan", color: $cyan, number: ""), - "teal-50": (name: "teal", color: $teal-50, number: "-50"), - "teal-100": (name: "teal", color: $teal-100, number: "-100"), - "teal-200": (name: "teal", color: $teal-200, number: "-200"), - "teal-300": (name: "teal", color: $teal-300, number: "-300"), - "teal-400": (name: "teal", color: $teal-400, number: "-400"), - "teal-500": (name: "teal", color: $teal-500, number: "-500"), - "teal-600": (name: "teal", color: $teal-600, number: "-600"), - "teal-700": (name: "teal", color: $teal-700, number: "-700"), - "teal-800": (name: "teal", color: $teal-800, number: "-800"), - "teal-900": (name: "teal", color: $teal-900, number: "-900"), - "teal-A100": (name: "teal", color: $teal-A100, number: "-A100"), - "teal-A200": (name: "teal", color: $teal-A200, number: "-A200"), - "teal-A400": (name: "teal", color: $teal-A400, number: "-A400"), - "teal-A700": (name: "teal", color: $teal-A700, number: "-A700"), - "teal": (name: "teal", color: $teal, number: ""), - "green-50": (name: "green", color: $green-50, number: "-50"), - "green-100": (name: "green", color: $green-100, number: "-100"), - "green-200": (name: "green", color: $green-200, number: "-200"), - "green-300": (name: "green", color: $green-300, number: "-300"), - "green-400": (name: "green", color: $green-400, number: "-400"), - "green-500": (name: "green", color: $green-500, number: "-500"), - "green-600": (name: "green", color: $green-600, number: "-600"), - "green-700": (name: "green", color: $green-700, number: "-700"), - "green-800": (name: "green", color: $green-800, number: "-800"), - "green-900": (name: "green", color: $green-900, number: "-900"), - "green-A100": (name: "green", color: $green-A100, number: "-A100"), - "green-A200": (name: "green", color: $green-A200, number: "-A200"), - "green-A400": (name: "green", color: $green-A400, number: "-A400"), - "green-A700": (name: "green", color: $green-A700, number: "-A700"), - "green": (name: "green", color: $green, number: ""), - "light-green-50": (name: "light-green", color: $light-green-50, number: "-50"), - "light-green-100": (name: "light-green", color: $light-green-100, number: "-100"), - "light-green-200": (name: "light-green", color: $light-green-200, number: "-200"), - "light-green-300": (name: "light-green", color: $light-green-300, number: "-300"), - "light-green-400": (name: "light-green", color: $light-green-400, number: "-400"), - "light-green-500": (name: "light-green", color: $light-green-500, number: "-500"), - "light-green-600": (name: "light-green", color: $light-green-600, number: "-600"), - "light-green-700": (name: "light-green", color: $light-green-700, number: "-700"), - "light-green-800": (name: "light-green", color: $light-green-800, number: "-800"), - "light-green-900": (name: "light-green", color: $light-green-900, number: "-900"), - "light-green-A100": (name: "light-green", color: $light-green-A100, number: "-A100"), - "light-green-A200": (name: "light-green", color: $light-green-A200, number: "-A200"), - "light-green-A400": (name: "light-green", color: $light-green-A400, number: "-A400"), - "light-green-A700": (name: "light-green", color: $light-green-A700, number: "-A700"), - "light-green": (name: "light-green", color: $light-green, number: ""), - "lime-50": (name: "lime", color: $lime-50, number: "-50"), - "lime-100": (name: "lime", color: $lime-100, number: "-100"), - "lime-200": (name: "lime", color: $lime-200, number: "-200"), - "lime-300": (name: "lime", color: $lime-300, number: "-300"), - "lime-400": (name: "lime", color: $lime-400, number: "-400"), - "lime-500": (name: "lime", color: $lime-500, number: "-500"), - "lime-600": (name: "lime", color: $lime-600, number: "-600"), - "lime-700": (name: "lime", color: $lime-700, number: "-700"), - "lime-800": (name: "lime", color: $lime-800, number: "-800"), - "lime-900": (name: "lime", color: $lime-900, number: "-900"), - "lime-A100": (name: "lime", color: $lime-A100, number: "-A100"), - "lime-A200": (name: "lime", color: $lime-A200, number: "-A200"), - "lime-A400": (name: "lime", color: $lime-A400, number: "-A400"), - "lime-A700": (name: "lime", color: $lime-A700, number: "-A700"), - "lime": (name: "lime", color: $lime, number: ""), - "yellow-50": (name: "yellow", color: $yellow-50, number: "-50"), - "yellow-100": (name: "yellow", color: $yellow-100, number: "-100"), - "yellow-200": (name: "yellow", color: $yellow-200, number: "-200"), - "yellow-300": (name: "yellow", color: $yellow-300, number: "-300"), - "yellow-400": (name: "yellow", color: $yellow-400, number: "-400"), - "yellow-500": (name: "yellow", color: $yellow-500, number: "-500"), - "yellow-600": (name: "yellow", color: $yellow-600, number: "-600"), - "yellow-700": (name: "yellow", color: $yellow-700, number: "-700"), - "yellow-800": (name: "yellow", color: $yellow-800, number: "-800"), - "yellow-900": (name: "yellow", color: $yellow-900, number: "-900"), - "yellow-A100": (name: "yellow", color: $yellow-A100, number: "-A100"), - "yellow-A200": (name: "yellow", color: $yellow-A200, number: "-A200"), - "yellow-A400": (name: "yellow", color: $yellow-A400, number: "-A400"), - "yellow-A700": (name: "yellow", color: $yellow-A700, number: "-A700"), - "yellow": (name: "yellow", color: $yellow, number: ""), - "amber-50": (name: "amber", color: $amber-50, number: "-50"), - "amber-100": (name: "amber", color: $amber-100, number: "-100"), - "amber-200": (name: "amber", color: $amber-200, number: "-200"), - "amber-300": (name: "amber", color: $amber-300, number: "-300"), - "amber-400": (name: "amber", color: $amber-400, number: "-400"), - "amber-500": (name: "amber", color: $amber-500, number: "-500"), - "amber-600": (name: "amber", color: $amber-600, number: "-600"), - "amber-700": (name: "amber", color: $amber-700, number: "-700"), - "amber-800": (name: "amber", color: $amber-800, number: "-800"), - "amber-900": (name: "amber", color: $amber-900, number: "-900"), - "amber-A100": (name: "amber", color: $amber-A100, number: "-A100"), - "amber-A200": (name: "amber", color: $amber-A200, number: "-A200"), - "amber-A400": (name: "amber", color: $amber-A400, number: "-A400"), - "amber-A700": (name: "amber", color: $amber-A700, number: "-A700"), - "amber": (name: "amber", color: $amber, number: ""), - "orange-50": (name: "orange", color: $orange-50, number: "-50"), - "orange-100": (name: "orange", color: $orange-100, number: "-100"), - "orange-200": (name: "orange", color: $orange-200, number: "-200"), - "orange-300": (name: "orange", color: $orange-300, number: "-300"), - "orange-400": (name: "orange", color: $orange-400, number: "-400"), - "orange-500": (name: "orange", color: $orange-500, number: "-500"), - "orange-600": (name: "orange", color: $orange-600, number: "-600"), - "orange-700": (name: "orange", color: $orange-700, number: "-700"), - "orange-800": (name: "orange", color: $orange-800, number: "-800"), - "orange-900": (name: "orange", color: $orange-900, number: "-900"), - "orange-A100": (name: "orange", color: $orange-A100, number: "-A100"), - "orange-A200": (name: "orange", color: $orange-A200, number: "-A200"), - "orange-A400": (name: "orange", color: $orange-A400, number: "-A400"), - "orange-A700": (name: "orange", color: $orange-A700, number: "-A700"), - "orange": (name: "orange", color: $orange, number: ""), - "deep-orange-50": (name: "deep-orange", color: $deep-orange-50, number: "-50"), - "deep-orange-100": (name: "deep-orange", color: $deep-orange-100, number: "-100"), - "deep-orange-200": (name: "deep-orange", color: $deep-orange-200, number: "-200"), - "deep-orange-300": (name: "deep-orange", color: $deep-orange-300, number: "-300"), - "deep-orange-400": (name: "deep-orange", color: $deep-orange-400, number: "-400"), - "deep-orange-500": (name: "deep-orange", color: $deep-orange-500, number: "-500"), - "deep-orange-600": (name: "deep-orange", color: $deep-orange-600, number: "-600"), - "deep-orange-700": (name: "deep-orange", color: $deep-orange-700, number: "-700"), - "deep-orange-800": (name: "deep-orange", color: $deep-orange-800, number: "-800"), - "deep-orange-900": (name: "deep-orange", color: $deep-orange-900, number: "-900"), - "deep-orange-A100": (name: "deep-orange", color: $deep-orange-A100, number: "-A100"), - "deep-orange-A200": (name: "deep-orange", color: $deep-orange-A200, number: "-A200"), - "deep-orange-A400": (name: "deep-orange", color: $deep-orange-A400, number: "-A400"), - "deep-orange-A700": (name: "deep-orange", color: $deep-orange-A700, number: "-A700"), - "deep-orange": (name: "deep-orange", color: $deep-orange, number: ""), - "brown-50": (name: "brown", color: $brown-50, number: "-50"), - "brown-100": (name: "brown", color: $brown-100, number: "-100"), - "brown-200": (name: "brown", color: $brown-200, number: "-200"), - "brown-300": (name: "brown", color: $brown-300, number: "-300"), - "brown-400": (name: "brown", color: $brown-400, number: "-400"), - "brown-500": (name: "brown", color: $brown-500, number: "-500"), - "brown-600": (name: "brown", color: $brown-600, number: "-600"), - "brown-700": (name: "brown", color: $brown-700, number: "-700"), - "brown-800": (name: "brown", color: $brown-800, number: "-800"), - "brown-900": (name: "brown", color: $brown-900, number: "-900"), - "brown-A100": (name: "brown", color: $brown-A100, number: "-A100"), - "brown-A200": (name: "brown", color: $brown-A200, number: "-A200"), - "brown-A400": (name: "brown", color: $brown-A400, number: "-A400"), - "brown-A700": (name: "brown", color: $brown-A700, number: "-A700"), - "brown": (name: "brown", color: $brown, number: ""), - "grey-50": (name: "grey", color: $grey-50, number: "-50"), - "grey-100": (name: "grey", color: $grey-100, number: "-100"), - "grey-200": (name: "grey", color: $grey-200, number: "-200"), - "grey-300": (name: "grey", color: $grey-300, number: "-300"), - "grey-400": (name: "grey", color: $grey-400, number: "-400"), - "grey-500": (name: "grey", color: $grey-500, number: "-500"), - "grey-600": (name: "grey", color: $grey-600, number: "-600"), - "grey-700": (name: "grey", color: $grey-700, number: "-700"), - "grey-800": (name: "grey", color: $grey-800, number: "-800"), - "grey-900": (name: "grey", color: $grey-900, number: "-900"), - "grey-A100": (name: "grey", color: $grey-A100, number: "-A100"), - "grey-A200": (name: "grey", color: $grey-A200, number: "-A200"), - "grey-A400": (name: "grey", color: $grey-A400, number: "-A400"), - "grey-A700": (name: "grey", color: $grey-A700, number: "-A700"), - "grey": (name: "grey", color: $grey, number: ""), - "blue-grey-50": (name: "blue-grey", color: $blue-grey-50, number: "-50"), - "blue-grey-100": (name: "blue-grey", color: $blue-grey-100, number: "-100"), - "blue-grey-200": (name: "blue-grey", color: $blue-grey-200, number: "-200"), - "blue-grey-300": (name: "blue-grey", color: $blue-grey-300, number: "-300"), - "blue-grey-400": (name: "blue-grey", color: $blue-grey-400, number: "-400"), - "blue-grey-500": (name: "blue-grey", color: $blue-grey-500, number: "-500"), - "blue-grey-600": (name: "blue-grey", color: $blue-grey-600, number: "-600"), - "blue-grey-700": (name: "blue-grey", color: $blue-grey-700, number: "-700"), - "blue-grey-800": (name: "blue-grey", color: $blue-grey-800, number: "-800"), - "blue-grey-900": (name: "blue-grey", color: $blue-grey-900, number: "-900"), - "blue-grey-A100": (name: "blue-grey", color: $blue-grey-A100, number: "-A100"), - "blue-grey-A200": (name: "blue-grey", color: $blue-grey-A200, number: "-A200"), - "blue-grey-A400": (name: "blue-grey", color: $blue-grey-A400, number: "-A400"), - "blue-grey-A700": (name: "blue-grey", color: $blue-grey-A700, number: "-A700"), - "blue-grey": (name: "blue-grey", color: $blue-grey, number: "") - ); - - @each $mdb-color-combination, $color-attributes in $mdb-colors { - // build a single depth color palette - $args-variation-color: map-merge($args, ( - material-color-name: map-get($color-attributes, name), - material-color: map-get($color-attributes, color), - material-color-number: map-get($color-attributes, number) - )); - - //@debug "generic-variations-color #{map-get($color-attributes, name)} #{map-get($color-attributes, color)} #{map-get($color-attributes, number)}"; - @include generic-variations-color($args-variation-color) - } -} diff --git a/sass/_mixins-shared.scss b/sass/_mixins-shared.scss deleted file mode 100644 index 26dc822f..00000000 --- a/sass/_mixins-shared.scss +++ /dev/null @@ -1,292 +0,0 @@ -// This file is NOT automatically converted and must be manually merged -@import "mixins-utilities"; - -// Placeholder text -@mixin material-placeholder() { - &::-moz-placeholder {@content; } // Firefox - &:-ms-input-placeholder {@content; } // Internet Explorer 10+ - &::-webkit-input-placeholder {@content; } // Safari and Chrome -} - - -// variations(unquote(""), background-color, #FFF); -@mixin variations($extra, $mdb-param-1, $default) { - @include generic-variations($extra, $default, "variations-content", $mdb-param-1); -} - -@mixin variations-content($args) { - //@debug "#{map-get($args, mixin-name)}{ #{map-get($args, material-param-1)}: #{map-get($args, material-color)}; }"; - //@debug "#{inspect($args)}"; - //@error "break here"; - #{map-get($args, material-param-1)}: map-get($args, material-color); -} - -@mixin background-variations($extra, $default) { - @include generic-variations($extra, $default, "background-variations-content", null); -} - -@mixin background-variations-content($args) { - background-color: map-get($args, material-color); - @if (map-get($args, material-color) == $btn-default) { - color: $lightbg-text; - } @else { - color: map-get($args, material-text-color); - } -} - -@mixin text-variations($extra, $default) { - @include generic-variations($extra, $default, "text-variations-content", null); -} - -@mixin text-variations-content($args) { - color: map-get($args, material-color); -} - -@mixin button-variations($extra, $default, $mdb-param-1) { - @include generic-variations($extra, $default, "button-variations-content", $mdb-param-1); -} - -@mixin button-variations-content($args) { - //@debug "#{inspect($args)}"; - $mdb-color: map-get($args, material-color); - $mdb-param-1: map-get($args, material-param-1); - background-color: contrast-color($mdb-color, - darken($mdb-color, $mdb-param-1), - lighten($mdb-color, $mdb-param-1)); -} - -@mixin bg-color-variations($extra, $default, $mdb-param-1) { - @include generic-variations($extra, $default, "bg-color-variations-content", $mdb-param-1); -} - -@mixin bg-color-variations-content($args) { - background-color: rgba(map-get($args, material-color), map-get($args, material-param-1)); -} - -// bg-box-shadow-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary -@mixin bg-box-shadow-variations($extra, $default) { - @include generic-variations($extra, $default, "bg-box-shadow-variations-content", null); -} - -@mixin bg-box-shadow-variations-content($args){ - $mdb-color: map-get($args, material-color); - box-shadow: 0 1px 3px 1px rgba(0,0,0,0.4), 0 0 0 15px rgba($mdb-color, (10/100)); -} - -// bg-img-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary -@mixin bg-img-variations($extra, $default) { - @include generic-variations($extra, $default, "bg-img-variations-content", null); -} - -@mixin bg-img-variations-content($args){ - $mdb-color: map-get($args, material-color); - //@debug "bg-img-variations-content called for #{map-get($args, extra)} #{map-get($args, default)} #{map-get($args, material-color-name)} #{map-get($args, material-color)}"; //#{inspect($args)}"; - background-image: linear-gradient($mdb-color, $mdb-color), linear-gradient($mdb-input-underline-color, $mdb-input-underline-color); -} - -// navbar-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary -@mixin navbar-variations($extra, $default) { - @include generic-variations($extra, $default, "navbar-variations-content", null); -} - -@mixin navbar-variations-content($args){ - $mdb-color: map-get($args, material-color); - $mdb-text-color: map-get($args, material-text-color); - - background-color: $mdb-color; - color: $mdb-text-color; - // deeply defined to override welljumbo class without !impotant need - .navbar-form .form-group input.form-control::placeholder, .navbar-form input.form-control::placeholder { - color: $mdb-text-color; - } - .dropdown-menu { - border-radius: $mdb-dropdown-radius; - li > a { - font-size: $mdb-dropdown-font-size; - padding: 13px 16px; - &:hover, - &:focus { - color: $mdb-color; - background-color: $grey-200; - } - } - .active > a { - &:hover, - &:focus { - color: $mdb-text-color; - } - background-color: $mdb-color; - color: $mdb-text-color; - } - } -} - -// alert-variations("", $brand-primary) -@mixin alert-variations($extra, $default) { - @include generic-variations($extra, $default, "alert-variations-content", null); -} - -@mixin alert-variations-content($args){ - $mdb-color: map-get($args, material-color); - $mdb-text-color: map-get($args, material-text-color); - - background-color: $mdb-color; - color: $mdb-text-color; - - a, .alert-link { - color: $mdb-text-color; - } -} - -// interpolation of mixin-name is not allowed evidently, so we statically include based on the mixin-name given -@mixin call-variations-content-mixin($args) { - $mixin-name: map-get($args, mixin-name); - @if $mixin-name == variations-content { - @include variations-content($args); - } @else if $mixin-name == background-variations-content { - @include background-variations-content($args); - } @else if $mixin-name == text-variations-content { - @include text-variations-content($args); - } @else if $mixin-name == button-variations-content { - @include button-variations-content($args); - } @else if $mixin-name == bg-color-variations-content { - @include bg-color-variations-content($args); - } @else if $mixin-name == bg-box-shadow-variations-content { - @include bg-box-shadow-variations-content($args); - } @else if $mixin-name == bg-img-variations-content { - @include bg-img-variations-content($args); - } @else if $mixin-name == navbar-variations-content { - @include navbar-variations-content($args); - }@else if $mixin-name == alert-variations-content { - @include alert-variations-content($args); - } @else { - @error "Unknown mixin: #{$mixin-name}" - } -} - -// -// To use this mixin you should pass a function as final parameter to define -// the style. In that definition you can use the following variables to define it. -// -// $mdb-color-name ---> "red", "green", "indigo" ... -// $mdb-color-full-name ---> "red", "green-50", "indigo-400" ... -// $mdb-color ---> #f44336, #e8f5e9, #5c6bc0 ... -// $mdb-text-color ---> rgba(255,255,255,0.84), rgba(0,0,0,0.84), rgba(255,255,255,0.84) ... -// - -@mixin generic-variations($extra, $default, $mixin-name, $mdb-param-1) { - - //setup map to pass parameters (instead of the incredibly long-error-prone list for each and every @include) - $args: ( - extra: $extra, - default: $default, - mixin-name: $mixin-name, - material-param-1: $mdb-param-1 - ); - - // bootstrap styles - &#{$extra}, &-default#{$extra} { - - $args-extra: map-merge($args, ( - material-color-name: "default", - material-color-full-name: "default", - material-color: $default, - material-text-color: $darkbg-text - )); - @include call-variations-content-mixin($args-extra); - } - &-black#{$extra} { - $args-black: map-merge($args, ( - material-color-name: "black", - material-color-full-name: "black", - material-color: $black, - material-text-color: $darkbg-text - )); - @include call-variations-content-mixin($args-black); - } - &-white#{$extra} { - $args-white: map-merge($args, ( - material-color-name: "white", - material-color-full-name: "white", - material-color: $white, - material-text-color: $lightbg-text - )); - @include call-variations-content-mixin($args-white); - } - &-inverse#{$extra} { - $args-inverse: map-merge($args, ( - material-color-name: "inverse", - material-color-full-name: "inverse", - material-color: $inverse, - material-text-color: contrast-color($inverse, $lightbg-text, $darkbg-text) - )); - @include call-variations-content-mixin($args-inverse); - } - &-primary#{$extra} { - $args-primary: map-merge($args, ( - material-color-name: "primary", - material-color-full-name: "primary", - material-color: $brand-primary, - material-text-color: $darkbg-text - )); - @include call-variations-content-mixin($args-primary); - } - &-success#{$extra} { - $args-success: map-merge($args, ( - material-color-name: "success", - material-color-full-name: "success", - material-color: $brand-success, - material-text-color: $darkbg-text - )); - @include call-variations-content-mixin($args-success); - } - &-info#{$extra} { - $args-info: map-merge($args, ( - material-color-name: "info", - material-color-full-name: "info", - material-color: $brand-info, - material-text-color: $darkbg-text - )); - @include call-variations-content-mixin($args-info); - } - &-warning#{$extra} { - $args-warning: map-merge($args, ( - material-color-name: "warning", - material-color-full-name: "warning", - material-color: $brand-warning, - material-text-color: $darkbg-text - )); - @include call-variations-content-mixin($args-warning); - } - &-danger#{$extra} { - $args-danger: map-merge($args, ( - material-color-name: "danger", - material-color-full-name: "danger", - material-color: $brand-danger, - material-text-color: $darkbg-text - )); - @include call-variations-content-mixin($args-danger); - } - - @include generic-variations-colors($args) -} - -@mixin generic-variations-color($args) { - $mdb-color-name: map-get($args, material-color-name); - $mdb-color-number: map-get($args, material-color-number); - $mdb-color-full-name: "#{$mdb-color-name}#{$mdb-color-number}"; - $mdb-color: map-get($args, material-color); // $mdb-color-full-name; - $mdb-text-color: contrast-color($mdb-color, $lightbg-text, $darkbg-text); - - &-material-#{$mdb-color-name}#{unquote($mdb-color-number)}#{map-get($args, extra)} { - $args-color: map-merge($args, ( - material-color-full-name: $mdb-color-full-name, - material-color: $mdb-color, - material-text-color: $mdb-text-color, - )); - - @include call-variations-content-mixin($args-color); - } -} - -$all-variations: unquote("-default, -primary, -info, -success, -warning, -danger"); diff --git a/sass/_mixins-utilities.scss b/sass/_mixins-utilities.scss index 233c34d7..6463812c 100644 --- a/sass/_mixins-utilities.scss +++ b/sass/_mixins-utilities.scss @@ -1,5 +1,7 @@ // This file is here to emulate the less #contrast function +// TODO: this may be useful for the inverse theme, but if not, remove (it is unused after the removal of fullpalette) + // contrast-color and brightness borrowed from compass // Copyright (c) 2009-2014 Christopher M. Eppstein // Complies with license: https://github.com/Compass/compass/blob/stable/LICENSE.markdown diff --git a/sass/_mixins.scss b/sass/_mixins.scss index 38ed0a6b..0567403d 100644 --- a/sass/_mixins.scss +++ b/sass/_mixins.scss @@ -1,41 +1,273 @@ // This file is NOT automatically converted and must be manually merged -@import 'mixins-shared'; +@import "mixins-utilities"; -@mixin generic-variations-colors($args) { +// Placeholder text +@mixin material-placeholder() { + &::-moz-placeholder {@content; } // Firefox + &:-ms-input-placeholder {@content; } // Internet Explorer 10+ + &::-webkit-input-placeholder {@content; } // Safari and Chrome +} - $mdb-colors: ( - "red": $red, - "pink": $pink, - "purple": $purple, - "deep-purple": $deep-purple, - "indigo": $indigo, - "blue": $blue, - "light-blue": $light-blue, - "cyan": $cyan, - "teal": $teal, - "green": $green, - "light-green": $light-green, - "lime": $lime, - "yellow": $yellow, - "amber": $amber, - "orange": $orange, - "deep-orange": $deep-orange, - "brown": $brown, - "grey": $grey, - "blue-grey": $blue-grey - ); - @each $mdb-color-name, $mdb-color in $mdb-colors { - // build a single depth color palette - $args-variation-color: map-merge($args, ( - material-color-name: $mdb-color-name, - material-color: $mdb-color, - material-color-number: "" - )); +// variations(unquote(""), background-color, #FFF); +@mixin variations($extra, $mdb-param-1, $default) { + @include generic-variations($extra, $default, "variations-content", $mdb-param-1); +} - @include generic-variations-color($args-variation-color) +@mixin variations-content($args) { + //@debug "#{map-get($args, mixin-name)}{ #{map-get($args, material-param-1)}: #{map-get($args, material-color)}; }"; + //@debug "#{inspect($args)}"; + //@error "break here"; + #{map-get($args, material-param-1)}: map-get($args, material-color); +} + +@mixin background-variations($extra, $default) { + @include generic-variations($extra, $default, "background-variations-content", null); +} + +@mixin background-variations-content($args) { + background-color: map-get($args, material-color); + @if (map-get($args, material-color) == $btn-default) { + color: $lightbg-text; + } @else { + color: map-get($args, material-text-color); } } -// http://hugogiraudel.com/2014/01/27/casting-types-in-sass/ -// https://github.com/HugoGiraudel/SassyJSON/blob/master/stylesheets/decode/helpers/color/_color.scss +@mixin text-variations($extra, $default) { + @include generic-variations($extra, $default, "text-variations-content", null); +} + +@mixin text-variations-content($args) { + color: map-get($args, material-color); +} + +@mixin button-variations($extra, $default, $mdb-param-1) { + @include generic-variations($extra, $default, "button-variations-content", $mdb-param-1); +} + +@mixin button-variations-content($args) { + //@debug "#{inspect($args)}"; + $mdb-color: map-get($args, material-color); + $mdb-param-1: map-get($args, material-param-1); + background-color: contrast-color($mdb-color, + darken($mdb-color, $mdb-param-1), + lighten($mdb-color, $mdb-param-1)); +} + +@mixin bg-color-variations($extra, $default, $mdb-param-1) { + @include generic-variations($extra, $default, "bg-color-variations-content", $mdb-param-1); +} + +@mixin bg-color-variations-content($args) { + background-color: rgba(map-get($args, material-color), map-get($args, material-param-1)); +} + +// bg-box-shadow-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary +@mixin bg-box-shadow-variations($extra, $default) { + @include generic-variations($extra, $default, "bg-box-shadow-variations-content", null); +} + +@mixin bg-box-shadow-variations-content($args){ + $mdb-color: map-get($args, material-color); + box-shadow: 0 1px 3px 1px rgba(0,0,0,0.4), 0 0 0 15px rgba($mdb-color, (10/100)); +} + +// bg-img-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary +@mixin bg-img-variations($extra, $default) { + @include generic-variations($extra, $default, "bg-img-variations-content", null); +} + +@mixin bg-img-variations-content($args){ + $mdb-color: map-get($args, material-color); + //@debug "bg-img-variations-content called for #{map-get($args, extra)} #{map-get($args, default)} #{map-get($args, material-color-name)} #{map-get($args, material-color)}"; //#{inspect($args)}"; + background-image: linear-gradient($mdb-color, $mdb-color), linear-gradient($mdb-input-underline-color, $mdb-input-underline-color); +} + +// navbar-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary +@mixin navbar-variations($extra, $default) { + @include generic-variations($extra, $default, "navbar-variations-content", null); +} + +@mixin navbar-variations-content($args){ + $mdb-color: map-get($args, material-color); + $mdb-text-color: map-get($args, material-text-color); + + background-color: $mdb-color; + color: $mdb-text-color; + // deeply defined to override welljumbo class without !impotant need + .navbar-form .form-group input.form-control::placeholder, .navbar-form input.form-control::placeholder { + color: $mdb-text-color; + } + .dropdown-menu { + border-radius: $mdb-dropdown-radius; + li > a { + font-size: $mdb-dropdown-font-size; + padding: 13px 16px; + &:hover, + &:focus { + color: $mdb-color; + background-color: $grey-200; + } + } + .active > a { + &:hover, + &:focus { + color: $mdb-text-color; + } + background-color: $mdb-color; + color: $mdb-text-color; + } + } +} + +// alert-variations("", $brand-primary) +@mixin alert-variations($extra, $default) { + @include generic-variations($extra, $default, "alert-variations-content", null); +} + +@mixin alert-variations-content($args){ + $mdb-color: map-get($args, material-color); + $mdb-text-color: map-get($args, material-text-color); + + background-color: $mdb-color; + color: $mdb-text-color; + + a, .alert-link { + color: $mdb-text-color; + } +} + +// interpolation of mixin-name is not allowed evidently, so we statically include based on the mixin-name given +@mixin call-variations-content-mixin($args) { + $mixin-name: map-get($args, mixin-name); + @if $mixin-name == variations-content { + @include variations-content($args); + } @else if $mixin-name == background-variations-content { + @include background-variations-content($args); + } @else if $mixin-name == text-variations-content { + @include text-variations-content($args); + } @else if $mixin-name == button-variations-content { + @include button-variations-content($args); + } @else if $mixin-name == bg-color-variations-content { + @include bg-color-variations-content($args); + } @else if $mixin-name == bg-box-shadow-variations-content { + @include bg-box-shadow-variations-content($args); + } @else if $mixin-name == bg-img-variations-content { + @include bg-img-variations-content($args); + } @else if $mixin-name == navbar-variations-content { + @include navbar-variations-content($args); + }@else if $mixin-name == alert-variations-content { + @include alert-variations-content($args); + } @else { + @error "Unknown mixin: #{$mixin-name}" + } +} + +// +// To use this mixin you should pass a function as final parameter to define +// the style. In that definition you can use the following variables to define it. +// +// $mdb-color-name ---> "red", "green", "indigo" ... +// $mdb-color-full-name ---> "red", "green-50", "indigo-400" ... +// $mdb-color ---> #f44336, #e8f5e9, #5c6bc0 ... +// $mdb-text-color ---> rgba(255,255,255,0.84), rgba(0,0,0,0.84), rgba(255,255,255,0.84) ... +// + +@mixin generic-variations($extra, $default, $mixin-name, $mdb-param-1) { + + //setup map to pass parameters (instead of the incredibly long-error-prone list for each and every @include) + $args: ( + //extra: $extra, + //default: $default, + mixin-name: $mixin-name, + material-param-1: $mdb-param-1 + ); + + // bootstrap styles + &#{$extra}, + &-default#{$extra} { + + $args-extra: map-merge($args, ( + //material-color-name: "default", + //material-color-full-name: "default", + material-color: $default, + material-text-color: $darkbg-text + )); + @include call-variations-content-mixin($args-extra); + } + //&-black#{$extra} { + // $args-black: map-merge($args, ( + // //material-color-name: "black", + // //material-color-full-name: "black", + // material-color: $black, + // material-text-color: $darkbg-text + // )); + // @include call-variations-content-mixin($args-black); + //} + //&-white#{$extra} { + // $args-white: map-merge($args, ( + // //material-color-name: "white", + // //material-color-full-name: "white", + // material-color: $white, + // material-text-color: $lightbg-text + // )); + // @include call-variations-content-mixin($args-white); + //} + &-inverse#{$extra} { + $args-inverse: map-merge($args, ( + //material-color-name: "inverse", + //material-color-full-name: "inverse", + material-color: $inverse, + material-text-color: contrast-color($inverse, $lightbg-text, $darkbg-text) + )); + @include call-variations-content-mixin($args-inverse); + } + &-primary#{$extra} { + $args-primary: map-merge($args, ( + //material-color-name: "primary", + //material-color-full-name: "primary", + material-color: $brand-primary, + material-text-color: $darkbg-text + )); + @include call-variations-content-mixin($args-primary); + } + &-success#{$extra} { + $args-success: map-merge($args, ( + //material-color-name: "success", + //material-color-full-name: "success", + material-color: $brand-success, + material-text-color: $darkbg-text + )); + @include call-variations-content-mixin($args-success); + } + &-info#{$extra} { + $args-info: map-merge($args, ( + //material-color-name: "info", + //material-color-full-name: "info", + material-color: $brand-info, + material-text-color: $darkbg-text + )); + @include call-variations-content-mixin($args-info); + } + &-warning#{$extra} { + $args-warning: map-merge($args, ( + //material-color-name: "warning", + //material-color-full-name: "warning", + material-color: $brand-warning, + material-text-color: $darkbg-text + )); + @include call-variations-content-mixin($args-warning); + } + &-danger#{$extra} { + $args-danger: map-merge($args, ( + //material-color-name: "danger", + //material-color-full-name: "danger", + material-color: $brand-danger, + material-text-color: $darkbg-text + )); + @include call-variations-content-mixin($args-danger); + } +} + +//$all-variations: unquote("-default, -primary, -info, -success, -warning, -danger"); diff --git a/sass/_variables.scss b/sass/_variables.scss index 00b5d315..6db18084 100644 --- a/sass/_variables.scss +++ b/sass/_variables.scss @@ -5,6 +5,8 @@ // Material Global vars $zero: 0 !default; +$mdb-font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif !default; + // material icons path $mdb-font-path: "../fonts" !default; @@ -35,6 +37,7 @@ $body-bg: #EEEEEE !default; //--- // FIXME: Similar but not quite the same as Bootstrap variables // FIXME: these need to either a) be converted to $mdb- or b) converted to bs variables +$contrast-factor: 40% !default; $btn-default: transparent !default; $btn-default-text: $lightbg-text !default; //--- diff --git a/sass/material.scss b/sass/bootstrap-material-design.scss similarity index 66% rename from sass/material.scss rename to sass/bootstrap-material-design.scss index c94cbfe5..20fd457a 100644 --- a/sass/material.scss +++ b/sass/bootstrap-material-design.scss @@ -4,4 +4,4 @@ @import '_mixins'; @import '_icons-material-design'; @import '_shadows'; // these are mixins only, and must be placed at the top before use (sass requiremnt) -@import '_material'; // include the material content given the mixins above (sass requirement for inclusion order of mixins) +@import '_bootstrap-material-design'; // include the material content given the mixins above (sass requirement for inclusion order of mixins) diff --git a/sass/material-fullpalette.scss b/sass/material-fullpalette.scss deleted file mode 100644 index 6e3a7ee9..00000000 --- a/sass/material-fullpalette.scss +++ /dev/null @@ -1,7 +0,0 @@ -// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. - -@import '_variables'; -@import '_mixins-fullpalette'; -@import '_icons-material-design'; -@import '_shadows'; // these are mixins only, and must be placed at the top before use (sass requiremnt) -@import '_material'; // include the material content given the mixins above (sass requirement for inclusion order of mixins) diff --git a/sass/ripples.scss b/sass/ripples.scss index 7ddd4cae..3534bae9 100644 --- a/sass/ripples.scss +++ b/sass/ripples.scss @@ -21,6 +21,7 @@ margin-left: -10px; margin-top: -10px; border-radius: 100%; + background-color: #000; // fallback color background-color: rgba(0,0,0,0.05); transform: scale(1); transform-origin: 50%; diff --git a/sass/roboto.scss b/sass/roboto.scss index cac3408c..2d6936e2 100644 --- a/sass/roboto.scss +++ b/sass/roboto.scss @@ -11,7 +11,7 @@ src: local('RobotoDraft'), local('RobotoDraft-Regular'), local('Roboto-Regular'), - url('#{$mdb-font-path}/RobotoDraftRegular.woff2') format('woff2'), + url('#{$mdb-font-path}/RobotoDraftRegular.woff2?#iefix') format('woff2'), url('#{$mdb-font-path}/RobotoDraftRegular.woff') format('woff'); } @@ -23,7 +23,7 @@ src: local('RobotoDraft Medium'), local('RobotoDraft-Medium'), local('Roboto-Medium'), - url('#{$mdb-font-path}/RobotoDraftMedium.woff2') format('woff2'), + url('#{$mdb-font-path}/RobotoDraftMedium.woff2?#iefix') format('woff2'), url('#{$mdb-font-path}/RobotoDraftMedium.woff') format('woff'); } @@ -35,7 +35,7 @@ src: local('RobotoDraft Bold'), local('RobotoDraft-Bold'), local('Roboto-Bold'), - url('#{$mdb-font-path}/RobotoDraftBold.woff2') format('woff2'), + url('#{$mdb-font-path}/RobotoDraftBold.woff2?#iefix') format('woff2'), url('#{$mdb-font-path}/RobotoDraftBold.woff') format('woff'); } @@ -47,6 +47,6 @@ src: local('RobotoDraft Italic'), local('RobotoDraft-Italic'), local('Roboto-Italic'), - url('#{$mdb-font-path}/RobotoDraftItalic.woff2') format('woff2'), + url('#{$mdb-font-path}/RobotoDraftItalic.woff2?#iefix') format('woff2'), url('#{$mdb-font-path}/RobotoDraftItalic.woff') format('woff'); } From 2efc220579f4fb46344bef11ee68b69b552fb485 Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Sun, 22 Nov 2015 10:30:12 -0600 Subject: [PATCH 02/14] removed changelog and updated github releases. From now on I will link releases to issues milestones for a full list. --- CHANGELOG.md | 45 --------------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 530e7710..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,45 +0,0 @@ -# Changelog - -## v 0.3.1-dev - -- Fixed #504 (input-lg and input-sm classes now work) - -## v 0.3.0 - -- Implemented full color palette from Material Design specifications (thanks @korgan00) -- Reformat of `ripples.js` (thanks @grvcoelho) -- Autofill option of `material.js` is now set to false by default -- Deprecated `material-wfont.css`, now to include web fonts you should include roboto.css -- Now `material.css` supports only the primary shades of the material color palette (lightweight! about 200KB) -- `material-fullpalette.css` supports every shade of the material color palette (huge size! ~ 2MB) -- Adjusted padding on dialog(modal) to be more inline with standards (thanks @GradyD) -- Added jQuery 1.9.1 and Bootstrap 3.0 as dependencies (thanks @GradyD) -- fixed #468 (thanks @MatrixZ) -- Added :hover, :focus, :active and .active states on buttons -- Added color variations on toggles -- Improved shadows to better fit Material Design specs -- Improved hover state of buttons -- Material Checkboxes now are a single inline element `.checkbox-material`, this helps when you need to vertical align them -- Fixed Material Design icons (thanks @jmillspaysbills and @GradyD) -- Fixed behavior of floating labels and inputs -- Fixed several bugs -- Updated Meteor packages - -## v 0.2.1 - -- Fixed well sizes -- Fixed $.ripple that needed two clicks to effectively "click" an element -- Added $.ripple support to browsers that don't support CSS transitions (eg. IE9) -- Arrive.js integration is now complete, it inits correctly every Material Design element dynamically added -- Arrive.js is now faster, it run directly on the new element instead of scan the entire document -- $.material.autofill() is now configurable, you can set $.material.options.autofill = false to disable it -- Every $.material.init() options is now configurable, you can disable them setting false in the $.material.options.\ - -## v 0.2.0 - -- The master branch is now the development branch, if you want to use a "stable" release use the releases provided by GitHub. -- New demo page -- Primary color is now a subtle teal to follow the Material Design specifications. -- Ripples.js is now completely rewritten with jQuery. -- Fixed thousands of bugs. - From a8cb44979da17351c9727507318dde787dc75f28 Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Sun, 22 Nov 2015 10:44:56 -0600 Subject: [PATCH 03/14] #740 address references to fullpalette in docs etc. Added TODOs where necessary --- README.md | 43 +- bootstrap-elements.html | 2 +- .../img/material-design-color-palette.jpg | Bin index.html | 384 +----------------- meteor/package-fullpalette.js | 2 +- 5 files changed, 16 insertions(+), 415 deletions(-) rename demo/imgs/palette.jpg => docs/assets/img/material-design-color-palette.jpg (100%) diff --git a/README.md b/README.md index 8d8a7c68..26abc12a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # bootstrap-material-design +WARNING: THESE DOCS RELATE TO 0.5.0, WHICH IS A SIGNIFICANT CHANGE FROM PREVIOUS VERSIONS. + [![build status](https://travis-ci.org/FezVrasta/bootstrap-material-design.svg?branch=master)](https://travis-ci.org/FezVrasta/bootstrap-material-design) [![gratipay](https://img.shields.io/gratipay/FezVrasta.svg)](https://gratipay.com/FezVrasta) [![Bower version](https://badge.fury.io/bo/bootstrap-material-design.svg)](https://github.com/FezVrasta/bootstrap-material-design) @@ -28,27 +30,10 @@ If you prefer, you can include this framework in your project using our official ## Getting started -Navigate to the `dist/` folder in this repository, and you will see the `test.html` file, which has the CSS include statements, in the `head` section and the JS includes just before `body` section closes. -You need to copy the `dist/` folder to the root of your project, ensuring that all the files in your project can access the files through the relative URL, supplied in the CSS and the JS includes. +TODO: link for font +TODO: link for icon font +TODO: link for bmd -### material-fullpalette.css or material.css? - -The only difference is that `material-fullpalette.css` has the full colors palette available (large file), the other one has just the primary colors (small file). - -### Use custom color as primary - -Is often asked how to change the primary color of this theme without edit the bower package directly. - -You can do it by creating a less file in your project: - -```css -@import "../bower_components/bootstrap-material-design/less/material.less"; - -// Override @primary color with one took from _colors.less -@primary: @deep-purple; -``` - -Then, compiling this file, the entire theme will be compiled using the color chosen by you. ## Support @@ -84,22 +69,20 @@ The upcoming 4.x version (no branch yet) will be developed using SASS. Material Design ([spec](http://www.google.com/design/spec/material-design/introduction.html)) for Bootstrap provides styles for bootstrap based markup to comply with Material Design concepts. -### Color Variations -There are 17 additional color variations (in addition to the classic 4 variations) for buttons, inputs, checkboxes, radios, alerts, navbars, tabs, labels, paginations, progress bars and more. -They can be used by adding the class suffix `-material-color` to the desired element and replacing `color` with the desired one. +### Customization -Example: +#### Colors -```html - -``` +There are 17 color variations (in addition to the classic 4 variations) described by the Material Design color palette: -These colors are taken from the Material Design color palette and are reported below: +![palette](docs/assets/img/material-design-color-palette.jpg) -![palette](demo/imgs/palette.jpg) +##### TODO: Describe variable override via less/sass +- describe variables, and the well defined material design colors in _colors.less + +##### TODO: Describe customization/compilation of static css -To take advantage of all the shades please use `material-fullpalette.css`, but please be aware of its huge size. ### Forms diff --git a/bootstrap-elements.html b/bootstrap-elements.html index 423cc195..749ca60a 100644 --- a/bootstrap-elements.html +++ b/bootstrap-elements.html @@ -8,7 +8,7 @@ Bootstrap Material - + diff --git a/demo/imgs/palette.jpg b/docs/assets/img/material-design-color-palette.jpg similarity index 100% rename from demo/imgs/palette.jpg rename to docs/assets/img/material-design-color-palette.jpg diff --git a/index.html b/index.html index 62574c16..6968086b 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@ - + @@ -870,388 +870,6 @@

Sliders are powered by noUiSlider

-
-

Material Color Samples

- -

This is the list of all the supported color variations. Each color can be applied to every element that supports variations.

- -
.btn-material-{{color}}
.navbar-material-{{color}}
.well-material-{{color}}
etc...
- -

- material.css includes only the primary color shades (red, pink, purple, deep-purple, etc...), if you want the entire palette please use - material-fullpalette.css

- -
- - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -
-
-

- -

- - - - - - - - - - -
- - - - -

-
-
-

- -

- - - - - - - - - - -
-
-

- -

- - - - - - - - - - -
-
-

- -

- - - - - - - - - - -
-

Button

diff --git a/meteor/package-fullpalette.js b/meteor/package-fullpalette.js index dd3d98ce..0cd65533 100644 --- a/meteor/package-fullpalette.js +++ b/meteor/package-fullpalette.js @@ -23,7 +23,7 @@ Package.onUse(function (api) { 'dist/fonts/Material-Design-Icons.svg', // SVG fallback for iOS < 5 - http://caniuse.com/#feat=svg-fonts, http://stackoverflow.com/a/11002874/126903 'dist/fonts/Material-Design-Icons.ttf', // Android Browers 4.1, 4.3 - http://caniuse.com/#feat=ttf 'dist/fonts/Material-Design-Icons.woff', // Supported by all modern browsers - 'dist/css/material-fullpalette.css', + 'dist/css/bootstrap-material-design.css', 'dist/css/ripples.css', 'dist/js/material.js', 'dist/js/ripples.js', From 677e33f4a21bfa1052b05ca6a29db566f74142d2 Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Mon, 23 Nov 2015 17:43:41 -0600 Subject: [PATCH 04/14] Big refactoring checkpoint (not working yet), much work on web fonts, buttons, and primarily removing superfluous color variations that were generated without need. Variations mixins now require a component to be passed to make sure are generating specific css, and these variation mixins can now be executed from within the context (instead of the outside looking in with a long selector name). --- Gruntfile.js | 30 +- LICENSE.md | 3 + README.md | 9 +- bootstrap-elements.html | 1059 +-- demo/imgs/download.png | Bin 2356 -> 0 bytes demo/imgs/gittip.png | Bin 18569 -> 0 bytes demo/imgs/issue.png | Bin 2443 -> 0 bytes dist-remove-me-post-050/css/material.css | 6 +- dist-remove-me-post-050/css/ripples.css | 4 +- dist-remove-me-post-050/css/ripples.css.map | 2 +- dist-remove-me-post-050/css/roboto.css.map | 1 - docs/_includes/header.html | 12 +- fonts/LICENSE.txt | 428 -- fonts/Material-Design-Icons.eot | Bin 102112 -> 0 bytes fonts/Material-Design-Icons.svg | 769 --- fonts/Material-Design-Icons.ttf | Bin 101892 -> 0 bytes fonts/Material-Design-Icons.woff | Bin 101968 -> 0 bytes fonts/RobotoDraftBold.woff | Bin 14608 -> 0 bytes fonts/RobotoDraftBold.woff2 | Bin 11584 -> 0 bytes fonts/RobotoDraftItalic.woff | Bin 16316 -> 0 bytes fonts/RobotoDraftItalic.woff2 | Bin 13268 -> 0 bytes fonts/RobotoDraftMedium.woff | Bin 14712 -> 0 bytes fonts/RobotoDraftMedium.woff2 | Bin 11828 -> 0 bytes fonts/RobotoDraftRegular.woff | Bin 14592 -> 0 bytes fonts/RobotoDraftRegular.woff2 | Bin 11708 -> 0 bytes index.html | 5 +- less/_alerts.less | 12 +- less/_bootstrap-material-design.less | 18 +- less/_buttons.less | 302 +- less/_checkboxes.less | 75 +- less/_colors.less | 7 +- less/_icons-material-design.less | 6500 +++++++++---------- less/_icons.less | 26 +- less/_import-bs-less.less | 4 +- less/_inputs.less | 17 +- less/_labels.less | 4 - less/_lists.less | 2 +- less/_mixins.less | 154 +- less/_navbar.less | 29 +- less/_panels.less | 6 +- less/_plugins.less | 5 + less/_progress.less | 2 +- less/_radios.less | 16 +- less/_shadows.less | 58 +- less/_togglebutton.less | 55 +- less/_variables.less | 58 +- less/_welljumbo.less | 40 +- less/{ => plugins}/_plugin-dropdownjs.less | 0 less/{ => plugins}/_plugin-nouislider.less | 8 +- less/{ => plugins}/_plugin-selectize.less | 0 less/{ => plugins}/_plugin-snackbarjs.less | 2 +- less/ripples.less | 2 +- less/roboto.less | 50 - sass/_buttons.scss | 2 +- sass/_colors.scss | 2 +- sass/_icons.scss | 3 + sass/_import-bs-sass.scss | 4 +- sass/_mixins.scss | 201 +- sass/ripples.scss | 2 +- sass/roboto.scss | 52 - scripts/ripples.js | 6 +- 61 files changed, 3930 insertions(+), 6122 deletions(-) delete mode 100644 demo/imgs/download.png delete mode 100644 demo/imgs/gittip.png delete mode 100644 demo/imgs/issue.png delete mode 100644 dist-remove-me-post-050/css/roboto.css.map delete mode 100644 fonts/LICENSE.txt delete mode 100755 fonts/Material-Design-Icons.eot delete mode 100755 fonts/Material-Design-Icons.svg delete mode 100755 fonts/Material-Design-Icons.ttf delete mode 100755 fonts/Material-Design-Icons.woff delete mode 100644 fonts/RobotoDraftBold.woff delete mode 100644 fonts/RobotoDraftBold.woff2 delete mode 100644 fonts/RobotoDraftItalic.woff delete mode 100644 fonts/RobotoDraftItalic.woff2 delete mode 100644 fonts/RobotoDraftMedium.woff delete mode 100644 fonts/RobotoDraftMedium.woff2 delete mode 100644 fonts/RobotoDraftRegular.woff delete mode 100644 fonts/RobotoDraftRegular.woff2 delete mode 100644 less/_labels.less create mode 100644 less/_plugins.less rename less/{ => plugins}/_plugin-dropdownjs.less (100%) rename less/{ => plugins}/_plugin-nouislider.less (85%) rename less/{ => plugins}/_plugin-selectize.less (100%) rename less/{ => plugins}/_plugin-snackbarjs.less (95%) delete mode 100644 less/roboto.less delete mode 100644 sass/roboto.scss diff --git a/Gruntfile.js b/Gruntfile.js index ab6de551..688288e5 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -217,8 +217,7 @@ module.exports = function (grunt) { files: [{ expand: true, cwd: "sass", - //src: ['material.scss', 'material-fullpalette.scss', 'ripples.scss', 'roboto.scss'], - src: ["bootstrap-material-design.scss", "roboto.scss", "ripples.scss"], + src: ["bootstrap-material-design.scss", "ripples.scss"], dest: "dist/sassc", // added to gitignore, only used for local testing ext: ".css" }] @@ -241,19 +240,6 @@ module.exports = function (grunt) { "dist/css/bootstrap-material-design.css": "less/bootstrap-material-design.less", } }, - roboto: { - options: { - paths: ["less"], - sourceMap: true, - sourceMapRootpath: "/", - sourceMapFilename: "dist/css/roboto.css.map", - sourceMapURL: "roboto.css.map", - outputSourceFiles: true - }, - files: { - "dist/css/roboto.css": "less/roboto.less", - } - }, ripples: { options: { paths: ["less"], @@ -293,11 +279,6 @@ module.exports = function (grunt) { "dist/css/bootstrap-material-design.css": "dist/css/bootstrap-material-design.css" } }, - roboto: { - files: { - "dist/css/roboto.css": "dist/css/roboto.css" - } - }, ripples: { files: { "dist/css/ripples.css": "dist/css/ripples.css" @@ -321,12 +302,10 @@ module.exports = function (grunt) { dist: [ 'dist/css/bootstrap-material-design.css', 'dist/css/ripples.css', - 'dist/css/roboto.css' ], distmin: [ 'dist/css/bootstrap-material-design.min.css', 'dist/css/ripples.min.css', - 'dist/css/roboto.min.css' ], examples: [ 'docs/examples/**/*.css' @@ -354,10 +333,6 @@ module.exports = function (grunt) { src: "dist/css/bootstrap-material-design.css", dest: "dist/css/bootstrap-material-design.min.css" }, - roboto: { - src: "dist/css/roboto.css", - dest: "dist/css/roboto.min.css" - }, ripples: { src: "dist/css/ripples.css", dest: "dist/css/ripples.min.css" @@ -608,7 +583,6 @@ module.exports = function (grunt) { grunt.registerTask('less-compile', [ "less:material", - "less:roboto", "less:ripples" ]); @@ -616,11 +590,9 @@ module.exports = function (grunt) { "less-compile", "autoprefixer:material", - "autoprefixer:roboto", "autoprefixer:ripples", //"csslint:dist", "cssmin:material", - "cssmin:roboto", "cssmin:ripples", //"csslint:distmin" ]); diff --git a/LICENSE.md b/LICENSE.md index 6cb0a77e..b96e2b7a 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -25,3 +25,6 @@ Acknowledgements: # Some original Bootstrap code and documentation http://getbootstrap.com Copyright (c) 2011-2015 Twitter, Inc + +# Some original MDL code http://www.getmdl.io/ +Copyright 2015 Google Inc. All Rights Reserved. diff --git a/README.md b/README.md index 26abc12a..26a34ec2 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,13 @@ If you prefer, you can include this framework in your project using our official ## Getting started +### Add fonts +To embed Roboto into your web page, copy the code as the first element in the of your HTML document. +``` + + +``` + TODO: link for font TODO: link for icon font TODO: link for bmd @@ -309,4 +316,4 @@ Currently, Material Design for Bootstrap supports Google Chrome (tested v37+), M ## License -[MIT License](LICENSE) +[MIT License](LICENSE.md) diff --git a/bootstrap-elements.html b/bootstrap-elements.html index 749ca60a..0862dd33 100644 --- a/bootstrap-elements.html +++ b/bootstrap-elements.html @@ -5,9 +5,14 @@ + Bootstrap Material + + + + + - @@ -266,15 +271,15 @@ at the Github page.

- gittip + file_download DOWNLOAD - gittip + favorite_border GITTIP - gittip + info_outline ISSUES
@@ -606,12 +611,14 @@

Floating action buttons

- - - - - - + grade + grade + + grade + grade + grade + grade + grade

@@ -780,1014 +787,22 @@ - -
- -

action

- -
mdi-action-3d-rotation
-
mdi-action-accessibility
-
mdi-action-account-balance
-
- mdi-action-account-balance-wallet
-
mdi-action-account-box
-
mdi-action-account-child
-
mdi-action-account-circle
-
mdi-action-add-shopping-cart -
-
mdi-action-alarm
-
mdi-action-alarm-add
-
mdi-action-alarm-off
-
mdi-action-alarm-on
-
mdi-action-android
-
mdi-action-announcement
-
mdi-action-aspect-ratio
-
mdi-action-assessment
-
mdi-action-assignment
-
mdi-action-assignment-ind
-
mdi-action-assignment-late
-
mdi-action-assignment-return -
-
- mdi-action-assignment-returned
-
- mdi-action-assignment-turned-in
-
mdi-action-autorenew
-
mdi-action-backup
-
mdi-action-book
-
mdi-action-bookmark
-
mdi-action-bookmark-outline -
-
mdi-action-bug-report
-
mdi-action-cached
-
mdi-action-class
-
mdi-action-credit-card
-
mdi-action-dashboard
-
mdi-action-delete
-
mdi-action-description
-
mdi-action-dns
-
mdi-action-done
-
mdi-action-done-all
-
mdi-action-event
-
mdi-action-exit-to-app
-
mdi-action-explore
-
mdi-action-extension
-
mdi-action-face-unlock
-
mdi-action-favorite
-
mdi-action-favorite-outline -
-
mdi-action-find-in-page
-
mdi-action-find-replace
-
mdi-action-flip-to-back
-
mdi-action-flip-to-front
-
mdi-action-get-app
-
mdi-action-grade
-
mdi-action-group-work
-
mdi-action-help
-
mdi-action-highlight-remove -
-
mdi-action-history
-
mdi-action-home
-
mdi-action-https
-
mdi-action-info
-
mdi-action-info-outline
-
mdi-action-input
-
mdi-action-invert-colors
-
mdi-action-label
-
mdi-action-label-outline
-
mdi-action-language
-
mdi-action-launch
-
mdi-action-list
-
mdi-action-lock
-
mdi-action-lock-open
-
mdi-action-lock-outline
-
mdi-action-loyalty
-
mdi-action-markunread-mailbox -
-
mdi-action-note-add
-
mdi-action-open-in-browser
-
mdi-action-open-in-new
-
mdi-action-open-with
-
mdi-action-pageview
-
mdi-action-payment
-
mdi-action-perm-camera-mic
-
mdi-action-perm-contact-cal -
-
mdi-action-perm-data-setting -
-
mdi-action-perm-device-info -
-
mdi-action-perm-identity
-
mdi-action-perm-media
-
mdi-action-perm-phone-msg
-
mdi-action-perm-scan-wifi
-
mdi-action-picture-in-picture -
-
mdi-action-polymer
-
mdi-action-print
-
mdi-action-query-builder
-
mdi-action-question-answer
-
mdi-action-receipt
-
mdi-action-redeem
-
mdi-action-report-problem
-
mdi-action-restore
-
mdi-action-room
-
mdi-action-schedule
-
mdi-action-search
-
mdi-action-settings
-
- mdi-action-settings-applications
-
- mdi-action-settings-backup-restore
-
mdi-action-settings-bluetooth -
-
mdi-action-settings-cell
-
mdi-action-settings-display -
-
mdi-action-settings-ethernet -
-
- mdi-action-settings-input-antenna
-
- mdi-action-settings-input-component
-
- mdi-action-settings-input-composite
-
- mdi-action-settings-input-hdmi
-
- mdi-action-settings-input-svideo
-
mdi-action-settings-overscan -
-
mdi-action-settings-phone
-
mdi-action-settings-power
-
mdi-action-settings-remote
-
mdi-action-settings-voice
-
mdi-action-shop
-
mdi-action-shop-two
-
mdi-action-shopping-basket
-
mdi-action-shopping-cart
-
mdi-action-speaker-notes
-
mdi-action-spellcheck
-
mdi-action-star-rate
-
mdi-action-stars
-
mdi-action-store
-
mdi-action-subject
-
mdi-action-swap-horiz
-
mdi-action-swap-vert
-
mdi-action-swap-vert-circle -
-
mdi-action-system-update-tv -
-
mdi-action-tab
-
mdi-action-tab-unselected
-
mdi-action-theaters
-
mdi-action-thumb-down
-
mdi-action-thumb-up
-
mdi-action-thumbs-up-down
-
mdi-action-toc
-
mdi-action-today
-
mdi-action-track-changes
-
mdi-action-translate
-
mdi-action-trending-down
-
mdi-action-trending-neutral -
-
mdi-action-trending-up
-
mdi-action-turned-in
-
mdi-action-turned-in-not
-
mdi-action-verified-user
-
mdi-action-view-agenda
-
mdi-action-view-array
-
mdi-action-view-carousel
-
mdi-action-view-column
-
mdi-action-view-day
-
mdi-action-view-headline
-
mdi-action-view-list
-
mdi-action-view-module
-
mdi-action-view-quilt
-
mdi-action-view-stream
-
mdi-action-view-week
-
mdi-action-visibility
-
mdi-action-visibility-off
-
mdi-action-wallet-giftcard
-
mdi-action-wallet-membership -
-
mdi-action-wallet-travel
-
mdi-action-work
- -

alert

- -
mdi-alert-error
-
mdi-alert-warning
- - -

av

- -
mdi-av-album
-
mdi-av-timer
-
mdi-av-closed-caption
-
mdi-av-equalizer
-
mdi-av-explicit
-
mdi-av-fast-forward
-
mdi-av-fast-rewind
-
mdi-av-games
-
mdi-av-hearing
-
mdi-av-high-quality
-
mdi-av-loop
-
mdi-av-mic
-
mdi-av-mic-none
-
mdi-av-mic-off
-
mdi-av-movie
-
mdi-av-my-library-add
-
mdi-av-my-library-books
-
mdi-av-my-library-music
-
mdi-av-new-releases
-
mdi-av-not-interested
-
mdi-av-pause
-
mdi-av-pause-circle-fill
-
mdi-av-pause-circle-outline -
-
mdi-av-play-arrow
-
mdi-av-play-circle-fill
-
mdi-av-play-circle-outline
-
mdi-av-play-shopping-bag
-
mdi-av-playlist-add
-
mdi-av-queue
-
mdi-av-queue-music
-
mdi-av-radio
-
mdi-av-recent-actors
-
mdi-av-repeat
-
mdi-av-repeat-one
-
mdi-av-replay
-
mdi-av-shuffle
-
mdi-av-skip-next
-
mdi-av-skip-previous
-
mdi-av-snooze
-
mdi-av-stop
-
mdi-av-subtitles
-
mdi-av-surround-sound
-
mdi-av-video-collection
-
mdi-av-videocam
-
mdi-av-videocam-off
-
mdi-av-volume-down
-
mdi-av-volume-mute
-
mdi-av-volume-off
-
mdi-av-volume-up
-
mdi-av-web
- - -

communication

- -
mdi-communication-business
-
mdi-communication-call
-
mdi-communication-call-end
-
mdi-communication-call-made -
-
mdi-communication-call-merge -
-
mdi-communication-call-missed -
-
- mdi-communication-call-received
-
mdi-communication-call-split -
-
mdi-communication-chat
-
mdi-communication-clear-all -
-
mdi-communication-comment
-
mdi-communication-contacts
-
mdi-communication-dialer-sip -
-
mdi-communication-dialpad
-
mdi-communication-dnd-on
-
mdi-communication-email
-
mdi-communication-forum
-
- mdi-communication-import-export
-
- mdi-communication-invert-colors-off
-
- mdi-communication-invert-colors-on
-
mdi-communication-live-help -
-
- mdi-communication-location-off
-
mdi-communication-location-on -
-
mdi-communication-message
-
mdi-communication-messenger -
-
mdi-communication-no-sim
-
mdi-communication-phone
-
- mdi-communication-portable-wifi-off
-
- mdi-communication-quick-contacts-dialer -
-
- mdi-communication-quick-contacts-mail
-
mdi-communication-ring-volume -
-
- mdi-communication-stay-current-landscape -
-
- mdi-communication-stay-current-portrait -
-
- mdi-communication-stay-primary-landscape -
-
- mdi-communication-stay-primary-portrait -
-
mdi-communication-swap-calls -
-
mdi-communication-textsms
-
mdi-communication-voicemail -
-
mdi-communication-vpn-key
- - -

content

- -
mdi-content-add
-
mdi-content-add-box
-
mdi-content-add-circle
-
- mdi-content-add-circle-outline
-
mdi-content-archive
-
mdi-content-backspace
-
mdi-content-block
-
mdi-content-clear
-
mdi-content-content-copy
-
mdi-content-content-cut
-
mdi-content-content-paste
-
mdi-content-create
-
mdi-content-drafts
-
mdi-content-filter-list
-
mdi-content-flag
-
mdi-content-forward
-
mdi-content-gesture
-
mdi-content-inbox
-
mdi-content-link
-
mdi-content-mail
-
mdi-content-markunread
-
mdi-content-redo
-
mdi-content-remove
-
mdi-content-remove-circle
-
- mdi-content-remove-circle-outline
-
mdi-content-reply
-
mdi-content-reply-all
-
mdi-content-report
-
mdi-content-save
-
mdi-content-select-all
-
mdi-content-send
-
mdi-content-sort
-
mdi-content-text-format
-
mdi-content-undo
- - -

device

- -
mdi-device-access-alarm
-
mdi-device-access-alarms
-
mdi-device-access-time
-
mdi-device-add-alarm
-
mdi-device-airplanemode-off -
-
mdi-device-airplanemode-on
-
mdi-device-battery-20
-
mdi-device-battery-30
-
mdi-device-battery-50
-
mdi-device-battery-60
-
mdi-device-battery-80
-
mdi-device-battery-90
-
mdi-device-battery-alert
-
- mdi-device-battery-charging-20
-
- mdi-device-battery-charging-30
-
- mdi-device-battery-charging-50
-
- mdi-device-battery-charging-60
-
- mdi-device-battery-charging-80
-
- mdi-device-battery-charging-90
-
- mdi-device-battery-charging-full
-
mdi-device-battery-full
-
mdi-device-battery-std
-
mdi-device-battery-unknown
-
mdi-device-bluetooth
-
- mdi-device-bluetooth-connected
-
mdi-device-bluetooth-disabled -
-
- mdi-device-bluetooth-searching
-
mdi-device-brightness-auto
-
mdi-device-brightness-high
-
mdi-device-brightness-low
-
mdi-device-brightness-medium -
-
mdi-device-data-usage
-
mdi-device-developer-mode
-
mdi-device-devices
-
mdi-device-dvr
-
mdi-device-gps-fixed
-
mdi-device-gps-not-fixed
-
mdi-device-gps-off
-
mdi-device-location-disabled -
-
mdi-device-location-searching -
-
mdi-device-multitrack-audio -
-
mdi-device-network-cell
-
mdi-device-network-wifi
-
mdi-device-nfc
-
mdi-device-now-wallpaper
-
mdi-device-now-widgets
-
- mdi-device-screen-lock-landscape
-
- mdi-device-screen-lock-portrait
-
- mdi-device-screen-lock-rotation
-
mdi-device-screen-rotation
-
mdi-device-sd-storage
-
- mdi-device-settings-system-daydream
-
- mdi-device-signal-cellular-0-bar
-
- mdi-device-signal-cellular-1-bar
-
- mdi-device-signal-cellular-2-bar
-
- mdi-device-signal-cellular-3-bar
-
- mdi-device-signal-cellular-4-bar
-
- mdi-device-signal-cellular-connected-no-internet-0-bar -
-
- mdi-device-signal-cellular-connected-no-internet-1-bar -
-
- mdi-device-signal-cellular-connected-no-internet-2-bar -
-
- mdi-device-signal-cellular-connected-no-internet-3-bar -
-
- mdi-device-signal-cellular-connected-no-internet-4-bar -
-
- mdi-device-signal-cellular-no-sim
-
- mdi-device-signal-cellular-null
-
- mdi-device-signal-cellular-off
-
mdi-device-signal-wifi-0-bar -
-
mdi-device-signal-wifi-1-bar -
-
mdi-device-signal-wifi-2-bar -
-
mdi-device-signal-wifi-3-bar -
-
mdi-device-signal-wifi-4-bar -
-
mdi-device-signal-wifi-off
-
mdi-device-storage
-
mdi-device-usb
-
mdi-device-wifi-lock
-
mdi-device-wifi-tethering
- -

editor

- -
mdi-editor-attach-file
-
mdi-editor-attach-money
-
mdi-editor-border-all
-
mdi-editor-border-bottom
-
mdi-editor-border-clear
-
mdi-editor-border-color
-
mdi-editor-border-horizontal -
-
mdi-editor-border-inner
-
mdi-editor-border-left
-
mdi-editor-border-outer
-
mdi-editor-border-right
-
mdi-editor-border-style
-
mdi-editor-border-top
-
mdi-editor-border-vertical
-
- mdi-editor-format-align-center
-
- mdi-editor-format-align-justify
-
mdi-editor-format-align-left -
-
mdi-editor-format-align-right -
-
mdi-editor-format-bold
-
mdi-editor-format-clear
-
mdi-editor-format-color-fill -
-
mdi-editor-format-color-reset -
-
mdi-editor-format-color-text -
-
- mdi-editor-format-indent-decrease
-
- mdi-editor-format-indent-increase
-
mdi-editor-format-italic
-
- mdi-editor-format-line-spacing
-
- mdi-editor-format-list-bulleted
-
- mdi-editor-format-list-numbered
-
mdi-editor-format-paint
-
mdi-editor-format-quote
-
mdi-editor-format-size
-
- mdi-editor-format-strikethrough
-
- mdi-editor-format-textdirection-l-to-r
-
- mdi-editor-format-textdirection-r-to-l
-
mdi-editor-format-underline -
-
mdi-editor-functions
-
mdi-editor-insert-chart
-
mdi-editor-insert-comment
-
mdi-editor-insert-drive-file -
-
mdi-editor-insert-emoticon
-
mdi-editor-insert-invitation -
-
mdi-editor-insert-link
-
mdi-editor-insert-photo
-
mdi-editor-merge-type
-
mdi-editor-mode-comment
-
mdi-editor-mode-edit
-
mdi-editor-publish
-
- mdi-editor-vertical-align-bottom
-
- mdi-editor-vertical-align-center
-
mdi-editor-vertical-align-top -
-
mdi-editor-wrap-text
- - -

file

- -
mdi-file-attachment
-
mdi-file-cloud
-
mdi-file-cloud-circle
-
mdi-file-cloud-done
-
mdi-file-cloud-download
-
mdi-file-cloud-off
-
mdi-file-cloud-queue
-
mdi-file-cloud-upload
-
mdi-file-file-download
-
mdi-file-file-upload
-
mdi-file-folder
-
mdi-file-folder-open
-
mdi-file-folder-shared
- - -

hardware

- -
mdi-hardware-cast
-
mdi-hardware-cast-connected -
-
mdi-hardware-computer
-
mdi-hardware-desktop-mac
-
mdi-hardware-desktop-windows -
-
mdi-hardware-dock
-
mdi-hardware-gamepad
-
mdi-hardware-headset
-
mdi-hardware-headset-mic
-
mdi-hardware-keyboard
-
mdi-hardware-keyboard-alt
-
- mdi-hardware-keyboard-arrow-down
-
- mdi-hardware-keyboard-arrow-left
-
- mdi-hardware-keyboard-arrow-right
-
- mdi-hardware-keyboard-arrow-up
-
- mdi-hardware-keyboard-backspace
-
- mdi-hardware-keyboard-capslock
-
mdi-hardware-keyboard-control -
-
mdi-hardware-keyboard-hide
-
mdi-hardware-keyboard-return -
-
mdi-hardware-keyboard-tab
-
mdi-hardware-keyboard-voice -
-
mdi-hardware-laptop
-
- mdi-hardware-laptop-chromebook
-
mdi-hardware-laptop-mac
-
mdi-hardware-laptop-windows -
-
mdi-hardware-memory
-
mdi-hardware-mouse
-
mdi-hardware-phone-android
-
mdi-hardware-phone-iphone
-
mdi-hardware-phonelink
-
mdi-hardware-phonelink-off
-
mdi-hardware-security
-
mdi-hardware-sim-card
-
mdi-hardware-smartphone
-
mdi-hardware-speaker
-
mdi-hardware-tablet
-
mdi-hardware-tablet-android -
-
mdi-hardware-tablet-mac
-
mdi-hardware-tv
-
mdi-hardware-watch
- - -

image

- -
mdi-image-add-to-photos
-
mdi-image-adjust
-
mdi-image-assistant-photo
-
mdi-image-audiotrack
-
mdi-image-blur-circular
-
mdi-image-blur-linear
-
mdi-image-blur-off
-
mdi-image-blur-on
-
mdi-image-brightness-1
-
mdi-image-brightness-2
-
mdi-image-brightness-3
-
mdi-image-brightness-4
-
mdi-image-brightness-5
-
mdi-image-brightness-6
-
mdi-image-brightness-7
-
mdi-image-brush
-
mdi-image-camera
-
mdi-image-camera-alt
-
mdi-image-camera-front
-
mdi-image-camera-rear
-
mdi-image-camera-roll
-
mdi-image-center-focus-strong -
-
mdi-image-center-focus-weak -
-
mdi-image-collections
-
mdi-image-color-lens
-
mdi-image-colorize
-
mdi-image-compare
-
mdi-image-control-point
-
- mdi-image-control-point-duplicate
-
mdi-image-crop-16-9
-
mdi-image-crop
-
mdi-image-crop-3-2
-
mdi-image-crop-5-4
-
mdi-image-crop-7-5
-
mdi-image-crop-din
-
mdi-image-crop-free
-
mdi-image-crop-landscape
-
mdi-image-crop-original
-
mdi-image-crop-portrait
-
mdi-image-crop-square
-
mdi-image-dehaze
-
mdi-image-details
-
mdi-image-edit
-
mdi-image-exposure
-
mdi-image-exposure-minus-1
-
mdi-image-exposure-minus-2
-
mdi-image-exposure-plus-1
-
mdi-image-exposure-plus-2
-
mdi-image-exposure-zero
-
mdi-image-filter-1
-
mdi-image-filter
-
mdi-image-filter-2
-
mdi-image-filter-3
-
mdi-image-filter-4
-
mdi-image-filter-5
-
mdi-image-filter-6
-
mdi-image-filter-7
-
mdi-image-filter-8
-
mdi-image-filter-9
-
mdi-image-filter-9-plus
-
mdi-image-filter-b-and-w
-
mdi-image-filter-center-focus -
-
mdi-image-filter-drama
-
mdi-image-filter-frames
-
mdi-image-filter-hdr
-
mdi-image-filter-none
-
mdi-image-filter-tilt-shift -
-
mdi-image-filter-vintage
-
mdi-image-flare
-
mdi-image-flash-auto
-
mdi-image-flash-off
-
mdi-image-flash-on
-
mdi-image-flip
-
mdi-image-gradient
-
mdi-image-grain
-
mdi-image-grid-off
-
mdi-image-grid-on
-
mdi-image-hdr-off
-
mdi-image-hdr-on
-
mdi-image-hdr-strong
-
mdi-image-hdr-weak
-
mdi-image-healing
-
mdi-image-image
-
mdi-image-image-aspect-ratio -
-
mdi-image-iso
-
mdi-image-landscape
-
mdi-image-leak-add
-
mdi-image-leak-remove
-
mdi-image-lens
-
mdi-image-looks
-
mdi-image-looks-3
-
mdi-image-looks-4
-
mdi-image-looks-5
-
mdi-image-looks-6
-
mdi-image-looks-one
-
mdi-image-looks-two
-
mdi-image-loupe
-
mdi-image-movie-creation
-
mdi-image-nature
-
mdi-image-nature-people
-
mdi-image-navigate-before
-
mdi-image-navigate-next
-
mdi-image-palette
-
mdi-image-panorama
-
mdi-image-panorama-fisheye
-
mdi-image-panorama-horizontal -
-
mdi-image-panorama-vertical -
-
mdi-image-panorama-wide-angle -
-
mdi-image-photo
-
mdi-image-photo-album
-
mdi-image-photo-camera
-
mdi-image-photo-library
-
mdi-image-portrait
-
mdi-image-remove-red-eye
-
mdi-image-rotate-left
-
mdi-image-rotate-right
-
mdi-image-slideshow
-
mdi-image-straighten
-
mdi-image-style
-
mdi-image-switch-camera
-
mdi-image-switch-video
-
mdi-image-tag-faces
-
mdi-image-texture
-
mdi-image-timelapse
-
mdi-image-timer-10
-
mdi-image-timer
-
mdi-image-timer-3
-
mdi-image-timer-auto
-
mdi-image-timer-off
-
mdi-image-tonality
-
mdi-image-transform
-
mdi-image-tune
-
mdi-image-wb-auto
-
mdi-image-wb-cloudy
-
mdi-image-wb-incandescent
-
mdi-image-wb-irradescent
-
mdi-image-wb-sunny
- - -

maps

- -
mdi-maps-beenhere
-
mdi-maps-directions
-
mdi-maps-directions-bike
-
mdi-maps-directions-bus
-
mdi-maps-directions-car
-
mdi-maps-directions-ferry
-
mdi-maps-directions-subway
-
mdi-maps-directions-train
-
mdi-maps-directions-transit -
-
mdi-maps-directions-walk
-
mdi-maps-flight
-
mdi-maps-hotel
-
mdi-maps-layers
-
mdi-maps-layers-clear
-
mdi-maps-local-airport
-
mdi-maps-local-atm
-
mdi-maps-local-attraction
-
mdi-maps-local-bar
-
mdi-maps-local-cafe
-
mdi-maps-local-car-wash
-
- mdi-maps-local-convenience-store
-
mdi-maps-local-drink
-
mdi-maps-local-florist
-
mdi-maps-local-gas-station
-
mdi-maps-local-grocery-store -
-
mdi-maps-local-hospital
-
mdi-maps-local-hotel
-
- mdi-maps-local-laundry-service
-
mdi-maps-local-library
-
mdi-maps-local-mall
-
mdi-maps-local-movies
-
mdi-maps-local-offer
-
mdi-maps-local-parking
-
mdi-maps-local-pharmacy
-
mdi-maps-local-phone
-
mdi-maps-local-pizza
-
mdi-maps-local-play
-
mdi-maps-local-post-office
-
mdi-maps-local-print-shop
-
mdi-maps-local-restaurant
-
mdi-maps-local-see
-
mdi-maps-local-shipping
-
mdi-maps-local-taxi
-
mdi-maps-location-history
-
mdi-maps-map
-
mdi-maps-my-location
-
mdi-maps-navigation
-
mdi-maps-pin-drop
-
mdi-maps-place
-
mdi-maps-rate-review
-
mdi-maps-restaurant-menu
-
mdi-maps-satellite
-
mdi-maps-store-mall-directory -
-
mdi-maps-terrain
-
mdi-maps-traffic
- - -

navigation

- -
mdi-navigation-apps
-
mdi-navigation-arrow-back
-
- mdi-navigation-arrow-drop-down
-
- mdi-navigation-arrow-drop-down-circle
-
mdi-navigation-arrow-drop-up -
-
mdi-navigation-arrow-forward -
-
mdi-navigation-cancel
-
mdi-navigation-check
-
mdi-navigation-chevron-left -
-
mdi-navigation-chevron-right -
-
mdi-navigation-close
-
mdi-navigation-expand-less
-
mdi-navigation-expand-more
-
mdi-navigation-fullscreen
-
- mdi-navigation-fullscreen-exit
-
mdi-navigation-menu
-
mdi-navigation-more-horiz
-
mdi-navigation-more-vert
-
mdi-navigation-refresh
-
mdi-navigation-unfold-less
-
mdi-navigation-unfold-more
- - -

notification

- -
mdi-notification-adb
-
- mdi-notification-bluetooth-audio
-
mdi-notification-disc-full
-
- mdi-notification-dnd-forwardslash
-
- mdi-notification-do-not-disturb
-
mdi-notification-drive-eta
-
- mdi-notification-event-available
-
mdi-notification-event-busy -
-
mdi-notification-event-note -
-
- mdi-notification-folder-special
-
mdi-notification-mms
-
mdi-notification-more
-
- mdi-notification-network-locked
-
- mdi-notification-phone-bluetooth-speaker -
-
- mdi-notification-phone-forwarded
-
- mdi-notification-phone-in-talk
-
mdi-notification-phone-locked -
-
mdi-notification-phone-missed -
-
mdi-notification-phone-paused -
-
- mdi-notification-play-download
-
mdi-notification-play-install -
-
mdi-notification-sd-card
-
- mdi-notification-sim-card-alert
-
mdi-notification-sms
-
mdi-notification-sms-failed -
-
mdi-notification-sync
-
- mdi-notification-sync-disabled
-
mdi-notification-sync-problem -
-
- mdi-notification-system-update
-
mdi-notification-tap-and-play -
-
- mdi-notification-time-to-leave
-
mdi-notification-vibration
-
mdi-notification-voice-chat -
-
mdi-notification-vpn-lock
- - -

social

- -
mdi-social-cake
-
mdi-social-domain
-
mdi-social-group
-
mdi-social-group-add
-
mdi-social-location-city
-
mdi-social-mood
-
mdi-social-notifications
-
mdi-social-notifications-none -
-
mdi-social-notifications-off -
-
mdi-social-notifications-on -
-
- mdi-social-notifications-paused
-
mdi-social-pages
-
mdi-social-party-mode
-
mdi-social-people
-
mdi-social-people-outline
-
mdi-social-person
-
mdi-social-person-add
-
mdi-social-person-outline
-
mdi-social-plus-one
-
mdi-social-poll
-
mdi-social-public
-
mdi-social-school
-
mdi-social-share
-
mdi-social-whatshot
- - -

toggle

- -
mdi-toggle-check-box
-
- mdi-toggle-check-box-outline-blank
-
mdi-toggle-radio-button-off -
-
mdi-toggle-radio-button-on
- -
@@ -2069,7 +1084,7 @@

The label is inside the input-group so that it is positioned properly as a placeholder.

@@ -2082,7 +1097,7 @@ @@ -2094,7 +1109,7 @@ @@ -2501,7 +1516,7 @@
- + folder
15m
@@ -2513,7 +1528,7 @@
- + folder
10m
@@ -2525,7 +1540,7 @@
- + folder
8m
@@ -2543,10 +1558,10 @@
- + folder
-
+
info

Tile with an icon

Donec id elit non mi porta gravida at eget metus.

@@ -2555,10 +1570,10 @@
- + folder
-
+
info

Tile with an icon

Maecenas sed diam eget risus varius blandit.

@@ -2567,10 +1582,10 @@
- + folder
-
+
info

Tile with an icon

Maecenas sed diam eget risus varius blandit.

diff --git a/demo/imgs/download.png b/demo/imgs/download.png deleted file mode 100644 index 029385812e482e64ca6f96607ef7f9ebd2b67516..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2356 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 diff --git a/demo/imgs/issue.png b/demo/imgs/issue.png deleted file mode 100644 index 1facf7e22232b21ebd86f1de414bf259fd61658e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2443 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 JPDHLkV1i~EfOh}@ diff --git a/dist-remove-me-post-050/css/material.css b/dist-remove-me-post-050/css/material.css index 7aaf5921..d2ce921c 100644 --- a/dist-remove-me-post-050/css/material.css +++ b/dist-remove-me-post-050/css/material.css @@ -3750,8 +3750,8 @@ body .jumbotron-material-blue-grey, } .btn.btn-fab, .input-group-btn .btn.btn-fab, -.btn.btn-fab .ripple-wrapper, -.input-group-btn .btn.btn-fab .ripple-wrapper { +.btn.btn-fab .ripple-container, +.input-group-btn .btn.btn-fab .ripple-container { border-radius: 100%; } .btn.btn-fab.btn-fab-mini, @@ -9075,4 +9075,4 @@ hr.on-light { pointer-events: none; color: #757575; } -/*# sourceMappingURL=material.css.map */ \ No newline at end of file +/*# sourceMappingURL=material.css.map */ diff --git a/dist-remove-me-post-050/css/ripples.css b/dist-remove-me-post-050/css/ripples.css index 1e6f852f..9fa99340 100644 --- a/dist-remove-me-post-050/css/ripples.css +++ b/dist-remove-me-post-050/css/ripples.css @@ -1,7 +1,7 @@ .withripple { position: relative; } -.ripple-wrapper { +.ripple-container { position: absolute; top: 0; left: 0; @@ -44,4 +44,4 @@ transition: opacity 0.1s linear 0s !important; opacity: 0; } -/*# sourceMappingURL=ripples.css.map */ \ No newline at end of file +/*# sourceMappingURL=ripples.css.map */ diff --git a/dist-remove-me-post-050/css/ripples.css.map b/dist-remove-me-post-050/css/ripples.css.map index e313b3b8..5ce32b32 100644 --- a/dist-remove-me-post-050/css/ripples.css.map +++ b/dist-remove-me-post-050/css/ripples.css.map @@ -1 +1 @@ -{"version":3,"sources":["/less/ripples.less","ripples.css"],"names":[],"mappings":"AAAA;EACI,mBAAA;CCCH;ADCD;EACI,mBAAA;EACA,OAAA;EACA,QAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,iBAAA;EACA,uBAAA;EACA,qBAAA;CCCH;ADCD;EACI,mBAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,kBAAA;EACA,oBAAA;EACA,uBAAA;EACA,sCAAA;EACA,4BAAA;MAAA,wBAAA;OAAA,uBAAA;UAAA,oBAAA;EACA,8BAAA;MAAA,0BAAA;OAAA,yBAAA;UAAA,sBAAA;EACA,WAAA;EACA,qBAAA;CCCH;ADCD;EACI,uGAAA;OAAA,6FAAA;UAAA,uFAAA;EACA,aAAA;CCCH;ADCD;EACI,sDAAA;OAAA,iDAAA;UAAA,8CAAA;EACA,WAAA;CCCH","file":"ripples.css","sourcesContent":[".withripple {\n position: relative;\n}\n.ripple-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n pointer-events: none;\n}\n.ripple {\n position: absolute;\n width: 20px;\n height: 20px;\n margin-left: -10px;\n margin-top: -10px;\n border-radius: 100%;\n background-color: #000; // fallback color\n background-color: rgba(0,0,0,0.05);\n transform: scale(1);\n transform-origin: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.ripple.ripple-on {\n transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;\n opacity: 0.1;\n}\n.ripple.ripple-out {\n transition: opacity 0.1s linear 0s !important;\n opacity: 0;\n}\n",".withripple {\n position: relative;\n}\n.ripple-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n pointer-events: none;\n}\n.ripple {\n position: absolute;\n width: 20px;\n height: 20px;\n margin-left: -10px;\n margin-top: -10px;\n border-radius: 100%;\n background-color: #000;\n background-color: rgba(0, 0, 0, 0.05);\n transform: scale(1);\n transform-origin: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.ripple.ripple-on {\n transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;\n opacity: 0.1;\n}\n.ripple.ripple-out {\n transition: opacity 0.1s linear 0s !important;\n opacity: 0;\n}\n/*# sourceMappingURL=ripples.css.map */"]} \ No newline at end of file +{"version":3,"sources":["/less/ripples.less","ripples.css"],"names":[],"mappings":"AAAA;EACI,mBAAA;CCCH;ADCD;EACI,mBAAA;EACA,OAAA;EACA,QAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,iBAAA;EACA,uBAAA;EACA,qBAAA;CCCH;ADCD;EACI,mBAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,kBAAA;EACA,oBAAA;EACA,uBAAA;EACA,sCAAA;EACA,4BAAA;MAAA,wBAAA;OAAA,uBAAA;UAAA,oBAAA;EACA,8BAAA;MAAA,0BAAA;OAAA,yBAAA;UAAA,sBAAA;EACA,WAAA;EACA,qBAAA;CCCH;ADCD;EACI,uGAAA;OAAA,6FAAA;UAAA,uFAAA;EACA,aAAA;CCCH;ADCD;EACI,sDAAA;OAAA,iDAAA;UAAA,8CAAA;EACA,WAAA;CCCH","file":"ripples.css","sourcesContent":[".withripple {\n position: relative;\n}\n.ripple-container {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n pointer-events: none;\n}\n.ripple {\n position: absolute;\n width: 20px;\n height: 20px;\n margin-left: -10px;\n margin-top: -10px;\n border-radius: 100%;\n background-color: #000; // fallback color\n background-color: rgba(0,0,0,0.05);\n transform: scale(1);\n transform-origin: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.ripple.ripple-on {\n transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;\n opacity: 0.1;\n}\n.ripple.ripple-out {\n transition: opacity 0.1s linear 0s !important;\n opacity: 0;\n}\n",".withripple {\n position: relative;\n}\n.ripple-container {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n pointer-events: none;\n}\n.ripple {\n position: absolute;\n width: 20px;\n height: 20px;\n margin-left: -10px;\n margin-top: -10px;\n border-radius: 100%;\n background-color: #000;\n background-color: rgba(0, 0, 0, 0.05);\n transform: scale(1);\n transform-origin: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.ripple.ripple-on {\n transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;\n opacity: 0.1;\n}\n.ripple.ripple-out {\n transition: opacity 0.1s linear 0s !important;\n opacity: 0;\n}\n/*# sourceMappingURL=ripples.css.map */"]} diff --git a/dist-remove-me-post-050/css/roboto.css.map b/dist-remove-me-post-050/css/roboto.css.map deleted file mode 100644 index cf70e2d8..00000000 --- a/dist-remove-me-post-050/css/roboto.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["roboto.css","/less/roboto.less"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCE;ACjCF;EACE,2BAAA;EACA,mBAAA;EACA,iBAAA;EAEA,0MAAA;CDkCD;AC3BD;EACE,2BAAA;EACA,mBAAA;EACA,iBAAA;EAEA,6MAAA;CD4BD;ACrBD;EACE,2BAAA;EACA,mBAAA;EACA,iBAAA;EAEA,mMAAA;CDsBD;ACfD;EACE,2BAAA;EACA,mBAAA;EACA,iBAAA;EAEA,6MAAA;CDgBD","file":"roboto.css","sourcesContent":["/*\n\nTo get this list of colors inject jQuery at http://www.google.com/design/spec/style/color.html#color-color-palette\n\nThen, run this script to get the list.\n\n\n(function() {\n var colors = {}, main = {};\n $(\".color-group\").each(function() {\n var color = $(this).find(\".name\").text().trim().toLowerCase().replace(\" \", \"-\");\n colors[color] = {};\n\n $(this).find(\".color\").not(\".main-color\").each(function() {\n var shade = $(this).find(\".shade\").text().trim(),\n hex = $(this).find(\".hex\").text().trim();\n\n colors[color][shade] = hex;\n });\n main[color] = color + \"-\" + $(this).find(\".main-color .shade\").text().trim();\n\n });\n var LESS = \"\";\n $.each(colors, function(name, shades) {\n LESS += \"\\n\\n\";\n $.each(shades, function(shade, hex) {\n LESS += \"@\" + name + \"-\" + shade + \": \" + hex + \";\\n\";\n });\n if (main[name]) {\n LESS += \"@\" + name + \": \" + main[name] + \";\\n\";\n }\n });\n console.log(LESS);\n})();\n\n\n*/\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 400;\n src: local('RobotoDraft'), local('RobotoDraft-Regular'), local('Roboto-Regular'), url('../fonts/RobotoDraftRegular.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftRegular.woff') format('woff');\n}\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 500;\n src: local('RobotoDraft Medium'), local('RobotoDraft-Medium'), local('Roboto-Medium'), url('../fonts/RobotoDraftMedium.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftMedium.woff') format('woff');\n}\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 700;\n src: local('RobotoDraft Bold'), local('RobotoDraft-Bold'), local('Roboto-Bold'), url('../fonts/RobotoDraftBold.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftBold.woff') format('woff');\n}\n@font-face {\n font-family: 'RobotoDraft';\n font-style: italic;\n font-weight: 400;\n src: local('RobotoDraft Italic'), local('RobotoDraft-Italic'), local('Roboto-Italic'), url('../fonts/RobotoDraftItalic.woff2?#iefix') format('woff2'), url('../fonts/RobotoDraftItalic.woff') format('woff');\n}\n/*# sourceMappingURL=roboto.css.map */","@import \"_colors.less\";\n@import \"_variables.less\";\n\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 400;\n //src: local('RobotoDraft'), local('RobotoDraft-Regular'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/robotodraft/v1/0xES5Sl_v6oyT7dAKuoni4gp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/0xES5Sl_v6oyT7dAKuoni7rIa-7acMAeDBVuclsi6Gc.woff) format('woff');\n src: local('RobotoDraft'),\n local('RobotoDraft-Regular'),\n local('Roboto-Regular'),\n url('@{mdb-font-path}/RobotoDraftRegular.woff2?#iefix') format('woff2'),\n url('@{mdb-font-path}/RobotoDraftRegular.woff') format('woff');\n}\n\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 500;\n //src: local('RobotoDraft Medium'), local('RobotoDraft-Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwXJuJo8UJJfpGKt7pXjBv4s.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwaTA90I55Xt7owhZwpPnMsc.woff) format('woff');\n src: local('RobotoDraft Medium'),\n local('RobotoDraft-Medium'),\n local('Roboto-Medium'),\n url('@{mdb-font-path}/RobotoDraftMedium.woff2?#iefix') format('woff2'),\n url('@{mdb-font-path}/RobotoDraftMedium.woff') format('woff');\n}\n\n@font-face {\n font-family: 'RobotoDraft';\n font-style: normal;\n font-weight: 700;\n //src: local('RobotoDraft Bold'), local('RobotoDraft-Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-Vwf79_ZuUxCigM2DespTnFaw.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwRbnBKKEOwRKgsHDreGcocg.woff) format('woff');\n src: local('RobotoDraft Bold'),\n local('RobotoDraft-Bold'),\n local('Roboto-Bold'),\n url('@{mdb-font-path}/RobotoDraftBold.woff2?#iefix') format('woff2'),\n url('@{mdb-font-path}/RobotoDraftBold.woff') format('woff');\n}\n\n@font-face {\n font-family: 'RobotoDraft';\n font-style: italic;\n font-weight: 400;\n //src: local('RobotoDraft Italic'), local('RobotoDraft-Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/robotodraft/v1/er-TIW55l9KWsTS1x9bTfgeOulFbQKHxPa89BaxZzA0.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/er-TIW55l9KWsTS1x9bTfoo3ZslTYfJv0R05CazkwN8.woff) format('woff');\n src: local('RobotoDraft Italic'),\n local('RobotoDraft-Italic'),\n local('Roboto-Italic'),\n url('@{mdb-font-path}/RobotoDraftItalic.woff2?#iefix') format('woff2'),\n url('@{mdb-font-path}/RobotoDraftItalic.woff') format('woff');\n}\n"]} \ No newline at end of file diff --git a/docs/_includes/header.html b/docs/_includes/header.html index 245c5de9..47fa1837 100644 --- a/docs/_includes/header.html +++ b/docs/_includes/header.html @@ -12,15 +12,19 @@ {% endif %} - - - + + + + + + + {% if site.github %} {% else %} - + {% endif %} diff --git a/fonts/LICENSE.txt b/fonts/LICENSE.txt deleted file mode 100644 index 3d3a106d..00000000 --- a/fonts/LICENSE.txt +++ /dev/null @@ -1,428 +0,0 @@ -https://github.com/google/material-design-icons/blob/master/LICENSE - - -Attribution-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-ShareAlike 4.0 International Public -License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-ShareAlike 4.0 International Public License ("Public -License"). To the extent this Public License may be interpreted as a -contract, You are granted the Licensed Rights in consideration of Your -acceptance of these terms and conditions, and the Licensor grants You -such rights in consideration of benefits the Licensor receives from -making the Licensed Material available under these terms and -conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - l. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - m. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - - including for purposes of Section 3(b); and - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public licenses. -Notwithstanding, Creative Commons may elect to apply one of its public -licenses to material it publishes and in those instances will be -considered the "Licensor." Except for the limited purpose of indicating -that material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the public -licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/fonts/Material-Design-Icons.eot b/fonts/Material-Design-Icons.eot deleted file mode 100755 index d9c296e41f2833d01e2979dfa4250af634020628..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102112 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 z 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 diff --git a/fonts/Material-Design-Icons.svg b/fonts/Material-Design-Icons.svg deleted file mode 100755 index def1e9b5..00000000 --- a/fonts/Material-Design-Icons.svg +++ /dev/null @@ -1,769 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/Material-Design-Icons.ttf b/fonts/Material-Design-Icons.ttf deleted file mode 100755 index e12f0cc41bf92441112521c82f3e04324c25ff60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101892 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%0D(rNV6Ak2o49x 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

K0H#x|m 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 diff --git a/fonts/Material-Design-Icons.woff b/fonts/Material-Design-Icons.woff deleted file mode 100755 index 201581f2582ff68f773afcd14426e45f5f328474..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101968 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ⅅ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 Poor}u91spu{%`yR8$uVC diff --git a/fonts/RobotoDraftBold.woff b/fonts/RobotoDraftBold.woff deleted file mode 100644 index 493e21f637459eda66c295898c5a652313d812a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14608 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 a`{KWxZVCwe(txLiSO5OukPu`J@c#h7X_4Ci diff --git a/fonts/RobotoDraftBold.woff2 b/fonts/RobotoDraftBold.woff2 deleted file mode 100644 index da131504ca6239512490410cec18a33f10372368..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11584 zcmV-GEx*!tPew8T0RR9104+cO4FCWD09O0}04(eP0RR9100000000000000000000 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 )#S!6H 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 SUn8C4RU77a$IbBx2LJ%o#+ai3 diff --git a/fonts/RobotoDraftMedium.woff b/fonts/RobotoDraftMedium.woff deleted file mode 100644 index bd83575bfc389e38316bf60976569c07b0f7f718..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14712 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 diff --git a/fonts/RobotoDraftRegular.woff b/fonts/RobotoDraftRegular.woff deleted file mode 100644 index ade8483a1c7d5fef9a37ee6c7438693b3b7e8600..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14592 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ඖZe0dgJ14a*j{5XbfM5YknmJ3)VY>dcc@ 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 EKWM?v*#H0l diff --git a/fonts/RobotoDraftRegular.woff2 b/fonts/RobotoDraftRegular.woff2 deleted file mode 100644 index 8d3f497638e8728d9e0bbf8409fd72b28559cea1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11708 zcmV;tEkn|GPew8T0RR9104=-#4gdfE09K>`04-(!0RR9100000000000000000000 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 S7aJ8FU+TbNgly;~OFk`_l#EXR diff --git a/index.html b/index.html index 6968086b..028475bd 100644 --- a/index.html +++ b/index.html @@ -9,11 +9,14 @@ + + + + - diff --git a/less/_alerts.less b/less/_alerts.less index 224e0903..dd7fa7a0 100755 --- a/less/_alerts.less +++ b/less/_alerts.less @@ -3,22 +3,22 @@ border-radius: 0; // SASS conversion note: please mirror any content change in _mixins-shared.scss alert-variations-content - .generic-variations(~"", @darkbg-text, { - background-color: @mdb-color; - color: @mdb-text-color; + .generic-variations(~".alert", ~"", @mdb-text-color-light, { + background-color: @variation-color; + color: @variation-color-text; a, .alert-link { - color: @mdb-text-color; + color: @variation-color-text; } }); &-info, &-danger, &-warning, &-success { - color: @darkbg-text; + color: @mdb-text-color-light; } &-default { a, .alert-link { - color: @lightbg-text; + color: @mdb-text-color-primary; } } } diff --git a/less/_bootstrap-material-design.less b/less/_bootstrap-material-design.less index bf54693a..fc54f42f 100644 --- a/less/_bootstrap-material-design.less +++ b/less/_bootstrap-material-design.less @@ -3,7 +3,7 @@ body { &.inverse { background: #333333; &, .form-control { - color: @darkbg-text; + color: @mdb-text-color-light; } .modal, .panel-default, @@ -20,8 +20,8 @@ body { body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 { - font-family: @mdb-font-family; - font-weight: 300; + //font-family: @font-family-sans-serif; + //font-weight: 300; } h5, h6{ @@ -30,6 +30,10 @@ h5, h6{ a, a:hover, a:focus { color: @brand-primary; + + & .material-icons { + vertical-align: middle; + } } // Well and Jumbotrons @@ -76,7 +80,6 @@ legend { color: @brand-primary; } } - .variations(~" li a:hover", color, @brand-primary); } // Alerts @@ -98,8 +101,6 @@ legend { @import "_dialogs.less"; -@import "_labels.less"; - @import "_panels.less"; @import "_dividers.less"; @@ -115,7 +116,4 @@ legend { // External plugins -@import "_plugin-snackbarjs.less"; -@import "_plugin-nouislider.less"; -@import "_plugin-selectize.less"; -@import "_plugin-dropdownjs.less"; +@import "_plugins.less"; diff --git a/less/_buttons.less b/less/_buttons.less index 8a9364d0..fb3d0930 100644 --- a/less/_buttons.less +++ b/less/_buttons.less @@ -1,79 +1,109 @@ -.btn-shadow() { - .shadow-z-1(); - transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); - &:active:not(.btn-link) { - .shadow-z-1-hover(); - } -} +//.btn-shadow() { +// .shadow-z-1(); +// transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); +// &:active:not(.btn-link) { +// .shadow-z-1-hover(); +// } +//} -.btn { - position: relative; - padding: 8px 30px; - border: 0; - margin: 10px 1px; - cursor: pointer; - border-radius: 2px; +.typo-button(@colorContrast: false) { + font-size: 14px; + font-weight: 500; text-transform: uppercase; - text-decoration: none; - color: @darkbg-text; + //line-height: 1; + letter-spacing: 0; - &:not(.btn-link):not(.btn-flat) { - background-color: @btn-default; - color: @lightbg-text; - - &:not(.btn-fab) { - &:hover { - .shadow-z-1(); - } - &:active { - .shadow-z-1-hover(); - } - } + & when (@colorContrast) { + opacity: 0.87; } - - transition: background-color 0.2s ease, box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); - outline: none !important; - - .btn-flat:not(.btn-link){ - color: @lightbg-text; - } - - .background-variations(~":not(.btn-link):not(.btn-flat)", @btn-default); - - // BTN hover effect - // SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content - .generic-variations(~":hover:not(.btn-link):not(.btn-flat)", @btn-default, { - background-color: contrast(@mdb-color, darken(@mdb-color, 4%), lighten(@mdb-color, 4%), @contrast-factor); - }); - // BTN active effect - // SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content - .generic-variations(~":active:not(.btn-link):not(.btn-flat)", @btn-default, { - background-color: contrast(@mdb-color, darken(@mdb-color, 6%), lighten(@mdb-color, 6%), @contrast-factor); - }); - // BTN .active effect - // SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content - .generic-variations(~".active:not(.btn-link):not(.btn-flat)", @btn-default, { - background-color: contrast(@mdb-color, darken(@mdb-color, 6%), lighten(@mdb-color, 6%), @contrast-factor); - }); - // BTN flat hover effect - // SASS conversion note: please mirror any content change in _mixins-shared.scss bg-color-variations-content - .generic-variations(~".btn-flat:hover:not(.btn-link)", @btn-default, { - background-color: fade(@mdb-color, 20%); - }); - } +// mdb default buttons are _not_ flat, but colored. .btn, .input-group-btn .btn { + + .background-variations(~".btn", ~"", @mdb-btn-background-color); + border: none; + border-radius: @mdl-btn-border-radus; + position: relative; + padding: 8px 30px; + margin: 10px 1px; + .typo-button(); + will-change: box-shadow, transform; + transition: box-shadow 0.2s @mdb-animation-curve-fast-out-linear-in, + background-color 0.2s @mdb-animation-curve-default, + color 0.2s @mdb-animation-curve-default; + outline: none; + cursor: pointer; + text-decoration: none; + + //--- + // btn-flat &.btn-flat { - background: none; + background: transparent; + .variations(~".btn", ~"", color, @mdb-text-color-primary); + box-shadow: none; - font-weight: 500; + + // hover + // FIXME: check suffix generation + .generic-variations(~".btn", ~"&:hover", @mdb-btn-background-color, { + background-color: fade(@variation-color, 20%); + }); + &:disabled { color: @text-disabled !important; } + } + + //&:not(.btn-link):not(.btn-flat) { + // background-color: @mdb-btn-background-color; + // color: @mdb-text-color-primary; + // + // &:not(.btn-fab) { + // &:hover { + // .shadow-z-1(); + // } + // &:active { + // .shadow-z-1-hover(); + // } + // } + //} + + //transition: background-color 0.2s ease, box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); + //outline: none !important; + + //.btn-flat:not(.btn-link){ + // color: @mdb-text-color-primary; + //} + + //.background-variations(~":not(.btn-link):not(.btn-flat)", @mdb-btn-background-color); + // + //// BTN hover effect + //// SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content + //.generic-variations(~":hover:not(.btn-link):not(.btn-flat)", @mdb-btn-background-color, { + // background-color: contrast(@variation-color, darken(@variation-color, 4%), lighten(@variation-color, 4%), @contrast-factor); + //}); + //// BTN active effect + //// SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content + //.generic-variations(~":active:not(.btn-link):not(.btn-flat)", @mdb-btn-background-color, { + // background-color: contrast(@variation-color, darken(@variation-color, 6%), lighten(@variation-color, 6%), @contrast-factor); + //}); + //// BTN .active effect + //// SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content + //.generic-variations(~".active:not(.btn-link):not(.btn-flat)", @mdb-btn-background-color, { + // background-color: contrast(@variation-color, darken(@variation-color, 6%), lighten(@variation-color, 6%), @contrast-factor); + //}); + //// BTN flat hover effect + //// SASS conversion note: please mirror any content change in _mixins-shared.scss bg-color-variations-content + //.generic-variations(~".btn-flat:hover:not(.btn-link)", @mdb-btn-background-color, { + // background-color: fade(@variation-color, 20%); + //}); + + + // Size variations &.btn-sm { padding: 5px 20px; @@ -83,78 +113,106 @@ font-size: 10px; } - &.btn-raised { - .btn-shadow(); - } + //&.btn-raised { + // .btn-shadow(); + //} &.btn-fab { - margin: 0; - padding: 15px; - font-size: 26px; - width: 56px; - height: 56px; - &, &:hover, &:active { - .variations(~"", background-color, transparent); - } - &, &:hover { - .shadow-z-1(); - } - &:active { - .shadow-z-1-hover(); - } - &, - .ripple-wrapper { - border-radius: 100%; + border-radius: 50%; + font-size: @mdb-btn-fab-font-size; + height: @mdb-btn-fab-size; + margin: auto; + min-width: @mdb-btn-fab-size; + width: @mdb-btn-fab-size; + padding: 0; + overflow: hidden; + box-shadow: 0 1px 1.5px 0 rgba(0,0,0,0.12), 0 1px 1px 0 rgba(0,0,0,0.24); + position: relative; + line-height: normal; + + //&, + //&:hover, + //&:active { + // //.variations(~"", background-color, transparent); + // //.variations(~".btn", ~"", background-color, @mdb-btn-primary-color); + //} + //&, + //&:hover { + // .shadow-z-1(); + //} + //&:active { + // .shadow-z-1-hover(); + //} + + .ripple-container { + border-radius: 50%; } + &.btn-fab-mini { width: 40px; height: 40px; padding: 13px 0; font-size: 15px; + + &.material-icons { + top: (@mdb-btn-icon-size-mini - @mdb-btn-fab-font-size) / 2; + left: (@mdb-btn-icon-size-mini - @mdb-btn-fab-font-size) / 2; + } } - i { - position: relative; - top: -5px; - margin: 0 auto; + + i.material-icons { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-(@mdb-btn-fab-font-size / 2), -(@mdb-btn-fab-font-size / 2)); + line-height: @mdb-btn-fab-font-size; + width: @mdb-btn-fab-font-size; } } + + // Align icons inside buttons with text + i.material-icons { + vertical-align: middle; + } } // This is needed to style buttons which has not a variation suffix (they must be stiled as btn-default) -.btn-link, .btn:not([class*="btn-"]), .btn-default { - color: @lightbg-text; - &:hover { - color: @lightbg-text; - } -} -.btn:not([class*="btn-"]), .btn-default, .btn-flat:not(.btn-link) { - &:hover, &.active { - background-color: rgba(255,255,255,0.5); - } -} -.open > .dropdown-toggle.btn { - .variations(~"", background-color, @btn-default); -} -.btn-group .btn+.btn, .btn-group .btn+.btn-group, .btn-group .btn-group+.btn, .btn-group .btn-group+.btn-group { - margin-left: 0; -} -.btn-group, .btn-group-vertical { - position: relative; - border-radius: 2px; - margin: 10px 1px; - - .btn-shadow(); - &.open .dropdown-toggle { - box-shadow: none; - } - &.btn-group-raised { - .btn-shadow(); - } - .btn, .btn:active, .btn-group { - box-shadow: none !important; - margin: 0; - } -} -.btn-group-flat { - box-shadow: none !important; -} +//.btn-link, +//.btn:not([class*="btn-"]), +//.btn-default { +// color: @mdb-text-color-primary; +// &:hover { +// color: @mdb-text-color-primary; +// } +//} +//.btn:not([class*="btn-"]), .btn-default, .btn-flat:not(.btn-link) { +// &:hover, &.active { +// background-color: rgba(255,255,255,0.5); +// } +//} +//.open > .dropdown-toggle.btn { +// .variations(~"", background-color, @mdb-btn-background-color); +//} +//.btn-group .btn+.btn, .btn-group .btn+.btn-group, .btn-group .btn-group+.btn, .btn-group .btn-group+.btn-group { +// margin-left: 0; +//} +//.btn-group, .btn-group-vertical { +// position: relative; +// border-radius: 2px; +// margin: 10px 1px; +// +// .btn-shadow(); +// &.open .dropdown-toggle { +// box-shadow: none; +// } +// &.btn-group-raised { +// .btn-shadow(); +// } +// .btn, .btn:active, .btn-group { +// box-shadow: none !important; +// margin: 0; +// } +//} +//.btn-group-flat { +// box-shadow: none !important; +//} diff --git a/less/_checkboxes.less b/less/_checkboxes.less index 308c3419..f0f41a96 100644 --- a/less/_checkboxes.less +++ b/less/_checkboxes.less @@ -72,33 +72,51 @@ } } - input[type=checkbox]:focus + .checkbox-material .check:after { - opacity: 0.2; - } - input[type=checkbox]:checked + .checkbox-material .check:before { - box-shadow: - 0 0 0 10px, - 10px -10px 0 10px, - 32px 0px 0 20px, - 0px 32px 0 20px, - -5px 5px 0 10px, - 20px -12px 0 11px; - animation: checkbox-on @mdb-checkbox-animation-check forwards; - } + input[type=checkbox] { - input[type=checkbox]:not(:checked) + .checkbox-material:before { - animation: rippleOff @mdb-checkbox-animation-ripple; - } - input[type=checkbox]:checked + .checkbox-material:before { - animation: rippleOn @mdb-checkbox-animation-ripple; - } + &:focus + .checkbox-material .check:after { + opacity: 0.2; + } - // Ripple effect on click - input[type=checkbox]:not(:checked) + .checkbox-material .check:after { - animation: rippleOff @mdb-checkbox-animation-ripple forwards; - } - input[type=checkbox]:checked + .checkbox-material .check:after { - animation: rippleOn @mdb-checkbox-animation-ripple forwards; + &:checked { + + // FIXME: once working - combine further to reduce code + & + .checkbox-material .check { + color: @mdb-checkbox-checked-color; + border-color: @mdb-checkbox-checked-color; + } + + & + .checkbox-material .check:before { + color: @mdb-checkbox-checked-color; + box-shadow: 0 0 0 10px, + 10px -10px 0 10px, + 32px 0px 0 20px, + 0px 32px 0 20px, + -5px 5px 0 10px, + 20px -12px 0 11px; + animation: checkbox-on @mdb-checkbox-animation-check forwards; + } + + & + .checkbox-material:before { + animation: rippleOn @mdb-checkbox-animation-ripple; + } + + & + .checkbox-material .check:after { + //background-color: @brand-success; // FIXME: seems like tho wrong color, test and make sure it can be removed + animation: rippleOn @mdb-checkbox-animation-ripple forwards; // Ripple effect on check + } + } + + &:not(:checked) { + & + .checkbox-material:before { + animation: rippleOff @mdb-checkbox-animation-ripple; + } + + & + .checkbox-material .check:after { + animation: rippleOff @mdb-checkbox-animation-ripple forwards; // Ripple effect on uncheck + + } + } } // Style for disabled inputs @@ -110,14 +128,9 @@ opacity: 0.5; } input[type=checkbox][disabled] + .checkbox-material .check:after { - background-color: @lightbg-text; + background-color: @mdb-text-color-primary; transform: rotate(-45deg); } - - .variations(~" input[type=checkbox]:checked + .checkbox-material .check:after", background-color, @brand-success); - .variations(~" input[type=checkbox]:checked + .checkbox-material .check:before", color, @mdb-checkbox-checked-color); - .variations(~" input[type=checkbox]:checked + .checkbox-material .check", color, @mdb-checkbox-checked-color); - .variations(~" input[type=checkbox]:checked + .checkbox-material .check", border-color, @mdb-checkbox-checked-color); } @keyframes checkbox-on { diff --git a/less/_colors.less b/less/_colors.less index f6c85e9f..e562cdf2 100644 --- a/less/_colors.less +++ b/less/_colors.less @@ -329,7 +329,7 @@ Then, run this script to get the list. @grey-200: #eeeeee; @grey-300: #e0e0e0; @grey-400: #bdbdbd; -@grey-500: #9e9e9e; +@grey-500: #9e9e9e; @rgb-grey-500: "158, 158, 158"; @grey-600: #757575; @grey-700: #616161; @grey-800: #424242; @@ -358,6 +358,5 @@ Then, run this script to get the list. @blue-grey: @blue-grey-500; -@black: #000000; -@white: #ffffff; -@inverse: @indigo; +@black: #000000; @rgb-black: "0,0,0"; +@white: #ffffff; @rgb-white: "255,255,255"; diff --git a/less/_icons-material-design.less b/less/_icons-material-design.less index d0ba4d26..7609565b 100644 --- a/less/_icons-material-design.less +++ b/less/_icons-material-design.less @@ -1,3250 +1,3250 @@ -@font-face { - font-family: 'Material-Design-Icons'; - src:url('@{mdb-font-path}/Material-Design-Icons.eot?3ocs8m'); - src:url('@{mdb-font-path}/Material-Design-Icons.eot?#iefix3ocs8m') format('embedded-opentype'), - url('@{mdb-font-path}/Material-Design-Icons.woff?3ocs8m') format('woff'), - url('@{mdb-font-path}/Material-Design-Icons.ttf?3ocs8m') format('truetype'), - url('@{mdb-font-path}/Material-Design-Icons.svg?3ocs8m#Material-Design-Icons') format('svg'); - font-weight: normal; - font-style: normal; -} - -[class^="mdi-"], [class*="mdi-"] { - speak: none; - display: inline-block; - font: normal normal normal 24px/1 'Material-Design-Icons'; - text-rendering: auto; - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - transform: translate(0, 0); - &:before { - display: inline-block; - speak: none; - text-decoration: inherit; - } - &.pull-left { - margin-right: .3em; - } - &.pull-right{ - margin-left: .3em; - } - &.mdi-lg:before, &.mdi-lg:after { - font-size: 1.33333333em; - line-height: 0.75em; - vertical-align: -15%; - } - &.mdi-2x:before, &.mdi-2x:after { - font-size: 2em; - } - &.mdi-3x:before, &.mdi-3x:after { - font-size: 3em; - } - &.mdi-4x:before, &.mdi-4x:after { - font-size: 4em; - } - &.mdi-5x:before, &.mdi-5x:after { - font-size: 5em; - } -} - -[class^="mdi-device-signal-cellular-"], -[class^="mdi-device-battery-"], -[class^="mdi-device-battery-charging-"], -[class^="mdi-device-signal-cellular-connected-no-internet-"], -[class^="mdi-device-signal-wifi-"], -[class^="mdi-device-signal-wifi-statusbar-not-connected"], -.mdi-device-network-wifi{ - &:after { - opacity: .3; - position: absolute; - left: 0; - top: 0; - z-index: 1; - display: inline-block; - speak: none; - text-decoration: inherit; - } -} - -[class^="mdi-device-signal-cellular-"]:after {content:"\e758";} -[class^="mdi-device-battery-"]:after {content:"\e735";} -[class^="mdi-device-battery-charging-"]:after {content:"\e733";} -[class^="mdi-device-signal-cellular-connected-no-internet-"]:after {content:"\e75d";} -[class^="mdi-device-signal-wifi-"]:after, .mdi-device-network-wifi:after {content:"\e765";} -[class^="mdi-device-signal-wifi-statusbasr-not-connected"]:after {content:"\e8f7";} - -.mdi-device-signal-cellular-off, .mdi-device-signal-cellular-null, .mdi-device-signal-cellular-no-sim, .mdi-device-signal-wifi-off, .mdi-device-signal-wifi-4-bar, .mdi-device-signal-cellular-4-bar, .mdi-device-battery-alert, .mdi-device-signal-cellular-connected-no-internet-4-bar, .mdi-device-battery-std, .mdi-device-battery-full .mdi-device-battery-unknown { - &:after { - content: ""; - } -} - -.mdi-fw { - width: 1.28571429em; - text-align: center; -} -.mdi-ul { - padding-left: 0; - margin-left: 2.14285714em; - list-style-type: none; -} -.mdi-ul > li { - position: relative; -} -.mdi-li { - position: absolute; - left: -2.14285714em; - width: 2.14285714em; - top: 0.14285714em; - text-align: center; -} -.mdi-li.mdi-lg { - left: -1.85714286em; -} -.mdi-border { - padding: .2em .25em .15em; - border: solid 0.08em #eeeeee; - border-radius: .1em; -} - -.mdi-spin { - -webkit-animation: mdi-spin 2s infinite linear; - animation: mdi-spin 2s infinite linear; - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - -o-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.mdi-pulse { - -webkit-animation: mdi-spin 1s steps(8) infinite; - animation: mdi-spin 1s steps(8) infinite ; - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - -o-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -@-webkit-keyframes mdi-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes mdi-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.mdi-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.mdi-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.mdi-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.mdi-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.mdi-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -:root .mdi-rotate-90, -:root .mdi-rotate-180, -:root .mdi-rotate-270, -:root .mdi-flip-horizontal, -:root .mdi-flip-vertical { - filter: none; -} -.mdi-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} -.mdi-stack-1x, -.mdi-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} -.mdi-stack-1x { - line-height: inherit; -} -.mdi-stack-2x { - font-size: 2em; -} -.mdi-inverse { - color: #ffffff; -} - - -/* Start Icons */ - -.mdi-action-3d-rotation:before { - content: "\e600"; -} - -.mdi-action-accessibility:before { - content: "\e601"; -} - -.mdi-action-account-balance-wallet:before { - content: "\e602"; -} - -.mdi-action-account-balance:before { - content: "\e603"; -} - -.mdi-action-account-box:before { - content: "\e604"; -} - -.mdi-action-account-child:before { - content: "\e605"; -} - -.mdi-action-account-circle:before { - content: "\e606"; -} - -.mdi-action-add-shopping-cart:before { - content: "\e607"; -} - -.mdi-action-alarm-add:before { - content: "\e608"; -} - -.mdi-action-alarm-off:before { - content: "\e609"; -} - -.mdi-action-alarm-on:before { - content: "\e60a"; -} - -.mdi-action-alarm:before { - content: "\e60b"; -} - -.mdi-action-android:before { - content: "\e60c"; -} - -.mdi-action-announcement:before { - content: "\e60d"; -} - -.mdi-action-aspect-ratio:before { - content: "\e60e"; -} - -.mdi-action-assessment:before { - content: "\e60f"; -} - -.mdi-action-assignment-ind:before { - content: "\e610"; -} - -.mdi-action-assignment-late:before { - content: "\e611"; -} - -.mdi-action-assignment-return:before { - content: "\e612"; -} - -.mdi-action-assignment-returned:before { - content: "\e613"; -} - -.mdi-action-assignment-turned-in:before { - content: "\e614"; -} - -.mdi-action-assignment:before { - content: "\e615"; -} - -.mdi-action-autorenew:before { - content: "\e616"; -} - -.mdi-action-backup:before { - content: "\e617"; -} - -.mdi-action-book:before { - content: "\e618"; -} - -.mdi-action-bookmark-outline:before { - content: "\e619"; -} - -.mdi-action-bookmark:before { - content: "\e61a"; -} - -.mdi-action-bug-report:before { - content: "\e61b"; -} - -.mdi-action-cached:before { - content: "\e61c"; -} - -.mdi-action-check-circle:before { - content: "\e61d"; -} - -.mdi-action-class:before { - content: "\e61e"; -} - -.mdi-action-credit-card:before { - content: "\e61f"; -} - -.mdi-action-dashboard:before { - content: "\e620"; -} - -.mdi-action-delete:before { - content: "\e621"; -} - -.mdi-action-description:before { - content: "\e622"; -} - -.mdi-action-dns:before { - content: "\e623"; -} - -.mdi-action-done-all:before { - content: "\e624"; -} - -.mdi-action-done:before { - content: "\e625"; -} - -.mdi-action-event:before { - content: "\e626"; -} - -.mdi-action-exit-to-app:before { - content: "\e627"; -} - -.mdi-action-explore:before { - content: "\e628"; -} - -.mdi-action-extension:before { - content: "\e629"; -} - -.mdi-action-face-unlock:before { - content: "\e62a"; -} - -.mdi-action-favorite-outline:before { - content: "\e62b"; -} - -.mdi-action-favorite:before { - content: "\e62c"; -} - -.mdi-action-find-in-page:before { - content: "\e62d"; -} - -.mdi-action-find-replace:before { - content: "\e62e"; -} - -.mdi-action-flip-to-back:before { - content: "\e62f"; -} - -.mdi-action-flip-to-front:before { - content: "\e630"; -} - -.mdi-action-get-app:before { - content: "\e631"; -} - -.mdi-action-grade:before { - content: "\e632"; -} - -.mdi-action-group-work:before { - content: "\e633"; -} - -.mdi-action-help:before { - content: "\e634"; -} - -.mdi-action-highlight-remove:before { - content: "\e635"; -} - -.mdi-action-history:before { - content: "\e636"; -} - -.mdi-action-home:before { - content: "\e637"; -} - -.mdi-action-https:before { - content: "\e638"; -} - -.mdi-action-info-outline:before { - content: "\e639"; -} - -.mdi-action-info:before { - content: "\e63a"; -} - -.mdi-action-input:before { - content: "\e63b"; -} - -.mdi-action-invert-colors:before { - content: "\e63c"; -} - -.mdi-action-label-outline:before { - content: "\e63d"; -} - -.mdi-action-label:before { - content: "\e63e"; -} - -.mdi-action-language:before { - content: "\e63f"; -} - -.mdi-action-launch:before { - content: "\e640"; -} - -.mdi-action-list:before { - content: "\e641"; -} - -.mdi-action-lock-open:before { - content: "\e642"; -} - -.mdi-action-lock-outline:before { - content: "\e643"; -} - -.mdi-action-lock:before { - content: "\e644"; -} - -.mdi-action-loyalty:before { - content: "\e645"; -} - -.mdi-action-markunread-mailbox:before { - content: "\e646"; -} - -.mdi-action-note-add:before { - content: "\e647"; -} - -.mdi-action-open-in-browser:before { - content: "\e648"; -} - -.mdi-action-open-in-new:before { - content: "\e649"; -} - -.mdi-action-open-with:before { - content: "\e64a"; -} - -.mdi-action-pageview:before { - content: "\e64b"; -} - -.mdi-action-payment:before { - content: "\e64c"; -} - -.mdi-action-perm-camera-mic:before { - content: "\e64d"; -} - -.mdi-action-perm-contact-cal:before { - content: "\e64e"; -} - -.mdi-action-perm-data-setting:before { - content: "\e64f"; -} - -.mdi-action-perm-device-info:before { - content: "\e650"; -} - -.mdi-action-perm-identity:before { - content: "\e651"; -} - -.mdi-action-perm-media:before { - content: "\e652"; -} - -.mdi-action-perm-phone-msg:before { - content: "\e653"; -} - -.mdi-action-perm-scan-wifi:before { - content: "\e654"; -} - -.mdi-action-picture-in-picture:before { - content: "\e655"; -} - -.mdi-action-polymer:before { - content: "\e656"; -} - -.mdi-action-print:before { - content: "\e657"; -} - -.mdi-action-query-builder:before { - content: "\e658"; -} - -.mdi-action-question-answer:before { - content: "\e659"; -} - -.mdi-action-receipt:before { - content: "\e65a"; -} - -.mdi-action-redeem:before { - content: "\e65b"; -} - -.mdi-action-reorder:before { - content: "\e65c"; -} - -.mdi-action-report-problem:before { - content: "\e65d"; -} - -.mdi-action-restore:before { - content: "\e65e"; -} - -.mdi-action-room:before { - content: "\e65f"; -} - -.mdi-action-schedule:before { - content: "\e660"; -} - -.mdi-action-search:before { - content: "\e661"; -} - -.mdi-action-settings-applications:before { - content: "\e662"; -} - -.mdi-action-settings-backup-restore:before { - content: "\e663"; -} - -.mdi-action-settings-bluetooth:before { - content: "\e664"; -} - -.mdi-action-settings-cell:before { - content: "\e665"; -} - -.mdi-action-settings-display:before { - content: "\e666"; -} - -.mdi-action-settings-ethernet:before { - content: "\e667"; -} - -.mdi-action-settings-input-antenna:before { - content: "\e668"; -} - -.mdi-action-settings-input-component:before { - content: "\e669"; -} - -.mdi-action-settings-input-composite:before { - content: "\e66a"; -} - -.mdi-action-settings-input-hdmi:before { - content: "\e66b"; -} - -.mdi-action-settings-input-svideo:before { - content: "\e66c"; -} - -.mdi-action-settings-overscan:before { - content: "\e66d"; -} - -.mdi-action-settings-phone:before { - content: "\e66e"; -} - -.mdi-action-settings-power:before { - content: "\e66f"; -} - -.mdi-action-settings-remote:before { - content: "\e670"; -} - -.mdi-action-settings-voice:before { - content: "\e671"; -} - -.mdi-action-settings:before { - content: "\e672"; -} - -.mdi-action-shop-two:before { - content: "\e673"; -} - -.mdi-action-shop:before { - content: "\e674"; -} - -.mdi-action-shopping-basket:before { - content: "\e675"; -} - -.mdi-action-shopping-cart:before { - content: "\e676"; -} - -.mdi-action-speaker-notes:before { - content: "\e677"; -} - -.mdi-action-spellcheck:before { - content: "\e678"; -} - -.mdi-action-star-rate:before { - content: "\e679"; -} - -.mdi-action-stars:before { - content: "\e67a"; -} - -.mdi-action-store:before { - content: "\e67b"; -} - -.mdi-action-subject:before { - content: "\e67c"; -} - -.mdi-action-supervisor-account:before { - content: "\e67d"; -} - -.mdi-action-swap-horiz:before { - content: "\e67e"; -} - -.mdi-action-swap-vert-circle:before { - content: "\e67f"; -} - -.mdi-action-swap-vert:before { - content: "\e680"; -} - -.mdi-action-system-update-tv:before { - content: "\e681"; -} - -.mdi-action-tab-unselected:before { - content: "\e682"; -} - -.mdi-action-tab:before { - content: "\e683"; -} - -.mdi-action-theaters:before { - content: "\e684"; -} - -.mdi-action-thumb-down:before { - content: "\e685"; -} - -.mdi-action-thumb-up:before { - content: "\e686"; -} - -.mdi-action-thumbs-up-down:before { - content: "\e687"; -} - -.mdi-action-toc:before { - content: "\e688"; -} - -.mdi-action-today:before { - content: "\e689"; -} - -.mdi-action-track-changes:before { - content: "\e68a"; -} - -.mdi-action-translate:before { - content: "\e68b"; -} - -.mdi-action-trending-down:before { - content: "\e68c"; -} - -.mdi-action-trending-neutral:before { - content: "\e68d"; -} - -.mdi-action-trending-up:before { - content: "\e68e"; -} - -.mdi-action-turned-in-not:before { - content: "\e68f"; -} - -.mdi-action-turned-in:before { - content: "\e690"; -} - -.mdi-action-verified-user:before { - content: "\e691"; -} - -.mdi-action-view-agenda:before { - content: "\e692"; -} - -.mdi-action-view-array:before { - content: "\e693"; -} - -.mdi-action-view-carousel:before { - content: "\e694"; -} - -.mdi-action-view-column:before { - content: "\e695"; -} - -.mdi-action-view-day:before { - content: "\e696"; -} - -.mdi-action-view-headline:before { - content: "\e697"; -} - -.mdi-action-view-list:before { - content: "\e698"; -} - -.mdi-action-view-module:before { - content: "\e699"; -} - -.mdi-action-view-quilt:before { - content: "\e69a"; -} - -.mdi-action-view-stream:before { - content: "\e69b"; -} - -.mdi-action-view-week:before { - content: "\e69c"; -} - -.mdi-action-visibility-off:before { - content: "\e69d"; -} - -.mdi-action-visibility:before { - content: "\e69e"; -} - -.mdi-action-wallet-giftcard:before { - content: "\e69f"; -} - -.mdi-action-wallet-membership:before { - content: "\e6a0"; -} - -.mdi-action-wallet-travel:before { - content: "\e6a1"; -} - -.mdi-action-work:before { - content: "\e6a2"; -} - -.mdi-alert-error:before { - content: "\e6a3"; -} - -.mdi-alert-warning:before { - content: "\e6a4"; -} - -.mdi-av-album:before { - content: "\e6a5"; -} - -.mdi-av-closed-caption:before { - content: "\e6a6"; -} - -.mdi-av-equalizer:before { - content: "\e6a7"; -} - -.mdi-av-explicit:before { - content: "\e6a8"; -} - -.mdi-av-fast-forward:before { - content: "\e6a9"; -} - -.mdi-av-fast-rewind:before { - content: "\e6aa"; -} - -.mdi-av-games:before { - content: "\e6ab"; -} - -.mdi-av-hearing:before { - content: "\e6ac"; -} - -.mdi-av-high-quality:before { - content: "\e6ad"; -} - -.mdi-av-loop:before { - content: "\e6ae"; -} - -.mdi-av-mic-none:before { - content: "\e6af"; -} - -.mdi-av-mic-off:before { - content: "\e6b0"; -} - -.mdi-av-mic:before { - content: "\e6b1"; -} - -.mdi-av-movie:before { - content: "\e6b2"; -} - -.mdi-av-my-library-add:before { - content: "\e6b3"; -} - -.mdi-av-my-library-books:before { - content: "\e6b4"; -} - -.mdi-av-my-library-music:before { - content: "\e6b5"; -} - -.mdi-av-new-releases:before { - content: "\e6b6"; -} - -.mdi-av-not-interested:before { - content: "\e6b7"; -} - -.mdi-av-pause-circle-fill:before { - content: "\e6b8"; -} - -.mdi-av-pause-circle-outline:before { - content: "\e6b9"; -} - -.mdi-av-pause:before { - content: "\e6ba"; -} - -.mdi-av-play-arrow:before { - content: "\e6bb"; -} - -.mdi-av-play-circle-fill:before { - content: "\e6bc"; -} - -.mdi-av-play-circle-outline:before { - content: "\e6bd"; -} - -.mdi-av-play-shopping-bag:before { - content: "\e6be"; -} - -.mdi-av-playlist-add:before { - content: "\e6bf"; -} - -.mdi-av-queue-music:before { - content: "\e6c0"; -} - -.mdi-av-queue:before { - content: "\e6c1"; -} - -.mdi-av-radio:before { - content: "\e6c2"; -} - -.mdi-av-recent-actors:before { - content: "\e6c3"; -} - -.mdi-av-repeat-one:before { - content: "\e6c4"; -} - -.mdi-av-repeat:before { - content: "\e6c5"; -} - -.mdi-av-replay:before { - content: "\e6c6"; -} - -.mdi-av-shuffle:before { - content: "\e6c7"; -} - -.mdi-av-skip-next:before { - content: "\e6c8"; -} - -.mdi-av-skip-previous:before { - content: "\e6c9"; -} - -.mdi-av-snooze:before { - content: "\e6ca"; -} - -.mdi-av-stop:before { - content: "\e6cb"; -} - -.mdi-av-subtitles:before { - content: "\e6cc"; -} - -.mdi-av-surround-sound:before { - content: "\e6cd"; -} - -.mdi-av-timer:before { - content: "\e6ce"; -} - -.mdi-av-video-collection:before { - content: "\e6cf"; -} - -.mdi-av-videocam-off:before { - content: "\e6d0"; -} - -.mdi-av-videocam:before { - content: "\e6d1"; -} - -.mdi-av-volume-down:before { - content: "\e6d2"; -} - -.mdi-av-volume-mute:before { - content: "\e6d3"; -} - -.mdi-av-volume-off:before { - content: "\e6d4"; -} - -.mdi-av-volume-up:before { - content: "\e6d5"; -} - -.mdi-av-web:before { - content: "\e6d6"; -} - -.mdi-communication-business:before { - content: "\e6d7"; -} - -.mdi-communication-call-end:before { - content: "\e6d8"; -} - -.mdi-communication-call-made:before { - content: "\e6d9"; -} - -.mdi-communication-call-merge:before { - content: "\e6da"; -} - -.mdi-communication-call-missed:before { - content: "\e6db"; -} - -.mdi-communication-call-received:before { - content: "\e6dc"; -} - -.mdi-communication-call-split:before { - content: "\e6dd"; -} - -.mdi-communication-call:before { - content: "\e6de"; -} - -.mdi-communication-chat:before { - content: "\e6df"; -} - -.mdi-communication-clear-all:before { - content: "\e6e0"; -} - -.mdi-communication-comment:before { - content: "\e6e1"; -} - -.mdi-communication-contacts:before { - content: "\e6e2"; -} - -.mdi-communication-dialer-sip:before { - content: "\e6e3"; -} - -.mdi-communication-dialpad:before { - content: "\e6e4"; -} - -.mdi-communication-dnd-on:before { - content: "\e6e5"; -} - -.mdi-communication-email:before { - content: "\e6e6"; -} - -.mdi-communication-forum:before { - content: "\e6e7"; -} - -.mdi-communication-import-export:before { - content: "\e6e8"; -} - -.mdi-communication-invert-colors-off:before { - content: "\e6e9"; -} - -.mdi-communication-invert-colors-on:before { - content: "\e6ea"; -} - -.mdi-communication-live-help:before { - content: "\e6eb"; -} - -.mdi-communication-location-off:before { - content: "\e6ec"; -} - -.mdi-communication-location-on:before { - content: "\e6ed"; -} - -.mdi-communication-message:before { - content: "\e6ee"; -} - -.mdi-communication-messenger:before { - content: "\e6ef"; -} - -.mdi-communication-no-sim:before { - content: "\e6f0"; -} - -.mdi-communication-phone:before { - content: "\e6f1"; -} - -.mdi-communication-portable-wifi-off:before { - content: "\e6f2"; -} - -.mdi-communication-quick-contacts-dialer:before { - content: "\e6f3"; -} - -.mdi-communication-quick-contacts-mail:before { - content: "\e6f4"; -} - -.mdi-communication-ring-volume:before { - content: "\e6f5"; -} - -.mdi-communication-stay-current-landscape:before { - content: "\e6f6"; -} - -.mdi-communication-stay-current-portrait:before { - content: "\e6f7"; -} - -.mdi-communication-stay-primary-landscape:before { - content: "\e6f8"; -} - -.mdi-communication-stay-primary-portrait:before { - content: "\e6f9"; -} - -.mdi-communication-swap-calls:before { - content: "\e6fa"; -} - -.mdi-communication-textsms:before { - content: "\e6fb"; -} - -.mdi-communication-voicemail:before { - content: "\e6fc"; -} - -.mdi-communication-vpn-key:before { - content: "\e6fd"; -} - -.mdi-content-add-box:before { - content: "\e6fe"; -} - -.mdi-content-add-circle-outline:before { - content: "\e6ff"; -} - -.mdi-content-add-circle:before { - content: "\e700"; -} - -.mdi-content-add:before { - content: "\e701"; -} - -.mdi-content-archive:before { - content: "\e702"; -} - -.mdi-content-backspace:before { - content: "\e703"; -} - -.mdi-content-block:before { - content: "\e704"; -} - -.mdi-content-clear:before { - content: "\e705"; -} - -.mdi-content-content-copy:before { - content: "\e706"; -} - -.mdi-content-content-cut:before { - content: "\e707"; -} - -.mdi-content-content-paste:before { - content: "\e708"; -} - -.mdi-content-create:before { - content: "\e709"; -} - -.mdi-content-drafts:before { - content: "\e70a"; -} - -.mdi-content-filter-list:before { - content: "\e70b"; -} - -.mdi-content-flag:before { - content: "\e70c"; -} - -.mdi-content-forward:before { - content: "\e70d"; -} - -.mdi-content-gesture:before { - content: "\e70e"; -} - -.mdi-content-inbox:before { - content: "\e70f"; -} - -.mdi-content-link:before { - content: "\e710"; -} - -.mdi-content-mail:before { - content: "\e711"; -} - -.mdi-content-markunread:before { - content: "\e712"; -} - -.mdi-content-redo:before { - content: "\e713"; -} - -.mdi-content-remove-circle-outline:before { - content: "\e714"; -} - -.mdi-content-remove-circle:before { - content: "\e715"; -} - -.mdi-content-remove:before { - content: "\e716"; -} - -.mdi-content-reply-all:before { - content: "\e717"; -} - -.mdi-content-reply:before { - content: "\e718"; -} - -.mdi-content-report:before { - content: "\e719"; -} - -.mdi-content-save:before { - content: "\e71a"; -} - -.mdi-content-select-all:before { - content: "\e71b"; -} - -.mdi-content-send:before { - content: "\e71c"; -} - -.mdi-content-sort:before { - content: "\e71d"; -} - -.mdi-content-text-format:before { - content: "\e71e"; -} - -.mdi-content-undo:before { - content: "\e71f"; -} - -.mdi-editor-attach-file:before { - content: "\e776"; -} - -.mdi-editor-attach-money:before { - content: "\e777"; -} - -.mdi-editor-border-all:before { - content: "\e778"; -} - -.mdi-editor-border-bottom:before { - content: "\e779"; -} - -.mdi-editor-border-clear:before { - content: "\e77a"; -} - -.mdi-editor-border-color:before { - content: "\e77b"; -} - -.mdi-editor-border-horizontal:before { - content: "\e77c"; -} - -.mdi-editor-border-inner:before { - content: "\e77d"; -} - -.mdi-editor-border-left:before { - content: "\e77e"; -} - -.mdi-editor-border-outer:before { - content: "\e77f"; -} - -.mdi-editor-border-right:before { - content: "\e780"; -} - -.mdi-editor-border-style:before { - content: "\e781"; -} - -.mdi-editor-border-top:before { - content: "\e782"; -} - -.mdi-editor-border-vertical:before { - content: "\e783"; -} - -.mdi-editor-format-align-center:before { - content: "\e784"; -} - -.mdi-editor-format-align-justify:before { - content: "\e785"; -} - -.mdi-editor-format-align-left:before { - content: "\e786"; -} - -.mdi-editor-format-align-right:before { - content: "\e787"; -} - -.mdi-editor-format-bold:before { - content: "\e788"; -} - -.mdi-editor-format-clear:before { - content: "\e789"; -} - -.mdi-editor-format-color-fill:before { - content: "\e78a"; -} - -.mdi-editor-format-color-reset:before { - content: "\e78b"; -} - -.mdi-editor-format-color-text:before { - content: "\e78c"; -} - -.mdi-editor-format-indent-decrease:before { - content: "\e78d"; -} - -.mdi-editor-format-indent-increase:before { - content: "\e78e"; -} - -.mdi-editor-format-italic:before { - content: "\e78f"; -} - -.mdi-editor-format-line-spacing:before { - content: "\e790"; -} - -.mdi-editor-format-list-bulleted:before { - content: "\e791"; -} - -.mdi-editor-format-list-numbered:before { - content: "\e792"; -} - -.mdi-editor-format-paint:before { - content: "\e793"; -} - -.mdi-editor-format-quote:before { - content: "\e794"; -} - -.mdi-editor-format-size:before { - content: "\e795"; -} - -.mdi-editor-format-strikethrough:before { - content: "\e796"; -} - -.mdi-editor-format-textdirection-l-to-r:before { - content: "\e797"; -} - -.mdi-editor-format-textdirection-r-to-l:before { - content: "\e798"; -} - -.mdi-editor-format-underline:before { - content: "\e799"; -} - -.mdi-editor-functions:before { - content: "\e79a"; -} - -.mdi-editor-insert-chart:before { - content: "\e79b"; -} - -.mdi-editor-insert-comment:before { - content: "\e79c"; -} - -.mdi-editor-insert-drive-file:before { - content: "\e79d"; -} - -.mdi-editor-insert-emoticon:before { - content: "\e79e"; -} - -.mdi-editor-insert-invitation:before { - content: "\e79f"; -} - -.mdi-editor-insert-link:before { - content: "\e7a0"; -} - -.mdi-editor-insert-photo:before { - content: "\e7a1"; -} - -.mdi-editor-merge-type:before { - content: "\e7a2"; -} - -.mdi-editor-mode-comment:before { - content: "\e7a3"; -} - -.mdi-editor-mode-edit:before { - content: "\e7a4"; -} - -.mdi-editor-publish:before { - content: "\e7a5"; -} - -.mdi-editor-vertical-align-bottom:before { - content: "\e7a6"; -} - -.mdi-editor-vertical-align-center:before { - content: "\e7a7"; -} - -.mdi-editor-vertical-align-top:before { - content: "\e7a8"; -} - -.mdi-editor-wrap-text:before { - content: "\e7a9"; -} - -.mdi-file-attachment:before { - content: "\e7aa"; -} - -.mdi-file-cloud-circle:before { - content: "\e7ab"; -} - -.mdi-file-cloud-done:before { - content: "\e7ac"; -} - -.mdi-file-cloud-download:before { - content: "\e7ad"; -} - -.mdi-file-cloud-off:before { - content: "\e7ae"; -} - -.mdi-file-cloud-queue:before { - content: "\e7af"; -} - -.mdi-file-cloud-upload:before { - content: "\e7b0"; -} - -.mdi-file-cloud:before { - content: "\e7b1"; -} - -.mdi-file-file-download:before { - content: "\e7b2"; -} - -.mdi-file-file-upload:before { - content: "\e7b3"; -} - -.mdi-file-folder-open:before { - content: "\e7b4"; -} - -.mdi-file-folder-shared:before { - content: "\e7b5"; -} - -.mdi-file-folder:before { - content: "\e7b6"; -} - -.mdi-device-access-alarm:before { - content: "\e720"; -} - -.mdi-device-access-alarms:before { - content: "\e721"; -} - -.mdi-device-access-time:before { - content: "\e722"; -} - -.mdi-device-add-alarm:before { - content: "\e723"; -} - -.mdi-device-airplanemode-off:before { - content: "\e724"; -} - -.mdi-device-airplanemode-on:before { - content: "\e725"; -} - -.mdi-device-battery-20:before { - content: "\e726"; -} - -.mdi-device-battery-30:before { - content: "\e727"; -} - -.mdi-device-battery-50:before { - content: "\e728"; -} - -.mdi-device-battery-60:before { - content: "\e729"; -} - -.mdi-device-battery-80:before { - content: "\e72a"; -} - -.mdi-device-battery-90:before { - content: "\e72b"; -} - -.mdi-device-battery-alert:before { - content: "\e72c"; -} - -.mdi-device-battery-charging-20:before { - content: "\e72d"; -} - -.mdi-device-battery-charging-30:before { - content: "\e72e"; -} - -.mdi-device-battery-charging-50:before { - content: "\e72f"; -} - -.mdi-device-battery-charging-60:before { - content: "\e730"; -} - -.mdi-device-battery-charging-80:before { - content: "\e731"; -} - -.mdi-device-battery-charging-90:before { - content: "\e732"; -} - -.mdi-device-battery-charging-full:before { - content: "\e733"; -} - -.mdi-device-battery-full:before { - content: "\e734"; -} - -.mdi-device-battery-std:before { - content: "\e735"; -} - -.mdi-device-battery-unknown:before { - content: "\e736"; -} - -.mdi-device-bluetooth-connected:before { - content: "\e737"; -} - -.mdi-device-bluetooth-disabled:before { - content: "\e738"; -} - -.mdi-device-bluetooth-searching:before { - content: "\e739"; -} - -.mdi-device-bluetooth:before { - content: "\e73a"; -} - -.mdi-device-brightness-auto:before { - content: "\e73b"; -} - -.mdi-device-brightness-high:before { - content: "\e73c"; -} - -.mdi-device-brightness-low:before { - content: "\e73d"; -} - -.mdi-device-brightness-medium:before { - content: "\e73e"; -} - -.mdi-device-data-usage:before { - content: "\e73f"; -} - -.mdi-device-developer-mode:before { - content: "\e740"; -} - -.mdi-device-devices:before { - content: "\e741"; -} - -.mdi-device-dvr:before { - content: "\e742"; -} - -.mdi-device-gps-fixed:before { - content: "\e743"; -} - -.mdi-device-gps-not-fixed:before { - content: "\e744"; -} - -.mdi-device-gps-off:before { - content: "\e745"; -} - -.mdi-device-location-disabled:before { - content: "\e746"; -} - -.mdi-device-location-searching:before { - content: "\e747"; -} - -.mdi-device-multitrack-audio:before { - content: "\e748"; -} - -.mdi-device-network-cell:before { - content: "\e749"; -} - -.mdi-device-network-wifi:before { - content: "\e74a"; -} - -.mdi-device-nfc:before { - content: "\e74b"; -} - -.mdi-device-now-wallpaper:before { - content: "\e74c"; -} - -.mdi-device-now-widgets:before { - content: "\e74d"; -} - -.mdi-device-screen-lock-landscape:before { - content: "\e74e"; -} - -.mdi-device-screen-lock-portrait:before { - content: "\e74f"; -} - -.mdi-device-screen-lock-rotation:before { - content: "\e750"; -} - -.mdi-device-screen-rotation:before { - content: "\e751"; -} - -.mdi-device-sd-storage:before { - content: "\e752"; -} - -.mdi-device-settings-system-daydream:before { - content: "\e753"; -} - -.mdi-device-signal-cellular-0-bar:before { - content: "\e754"; -} - -.mdi-device-signal-cellular-1-bar:before { - content: "\e755"; -} - -.mdi-device-signal-cellular-2-bar:before { - content: "\e756"; -} - -.mdi-device-signal-cellular-3-bar:before { - content: "\e757"; -} - -.mdi-device-signal-cellular-4-bar:before { - content: "\e758"; -} - -.mdi-signal-wifi-statusbar-connected-no-internet-after:before { - content: "\e8f6"; -} - -.mdi-device-signal-cellular-connected-no-internet-0-bar:before { - content: "\e759"; -} - -.mdi-device-signal-cellular-connected-no-internet-1-bar:before { - content: "\e75a"; -} - -.mdi-device-signal-cellular-connected-no-internet-2-bar:before { - content: "\e75b"; -} - -.mdi-device-signal-cellular-connected-no-internet-3-bar:before { - content: "\e75c"; -} - -.mdi-device-signal-cellular-connected-no-internet-4-bar:before { - content: "\e75d"; -} - -.mdi-device-signal-cellular-no-sim:before { - content: "\e75e"; -} - -.mdi-device-signal-cellular-null:before { - content: "\e75f"; -} - -.mdi-device-signal-cellular-off:before { - content: "\e760"; -} - -.mdi-device-signal-wifi-0-bar:before { - content: "\e761"; -} - -.mdi-device-signal-wifi-1-bar:before { - content: "\e762"; -} - -.mdi-device-signal-wifi-2-bar:before { - content: "\e763"; -} - -.mdi-device-signal-wifi-3-bar:before { - content: "\e764"; -} - -.mdi-device-signal-wifi-4-bar:before { - content: "\e765"; -} - -.mdi-device-signal-wifi-off:before { - content: "\e766"; -} - -.mdi-device-signal-wifi-statusbar-1-bar:before { - content: "\e767"; -} - -.mdi-device-signal-wifi-statusbar-2-bar:before { - content: "\e768"; -} - -.mdi-device-signal-wifi-statusbar-3-bar:before { - content: "\e769"; -} - -.mdi-device-signal-wifi-statusbar-4-bar:before { - content: "\e76a"; -} - -.mdi-device-signal-wifi-statusbar-connected-no-internet-:before { - content: "\e76b"; -} - -.mdi-device-signal-wifi-statusbar-connected-no-internet:before { - content: "\e76f"; -} - -.mdi-device-signal-wifi-statusbar-connected-no-internet-2:before { - content: "\e76c"; -} - -.mdi-device-signal-wifi-statusbar-connected-no-internet-3:before { - content: "\e76d"; -} - -.mdi-device-signal-wifi-statusbar-connected-no-internet-4:before { - content: "\e76e"; -} - -.mdi-signal-wifi-statusbar-not-connected-after:before { - content: "\e8f7"; -} - -.mdi-device-signal-wifi-statusbar-not-connected:before { - content: "\e770"; -} - -.mdi-device-signal-wifi-statusbar-null:before { - content: "\e771"; -} - -.mdi-device-storage:before { - content: "\e772"; -} - -.mdi-device-usb:before { - content: "\e773"; -} - -.mdi-device-wifi-lock:before { - content: "\e774"; -} - -.mdi-device-wifi-tethering:before { - content: "\e775"; -} - -.mdi-hardware-cast-connected:before { - content: "\e7b7"; -} - -.mdi-hardware-cast:before { - content: "\e7b8"; -} - -.mdi-hardware-computer:before { - content: "\e7b9"; -} - -.mdi-hardware-desktop-mac:before { - content: "\e7ba"; -} - -.mdi-hardware-desktop-windows:before { - content: "\e7bb"; -} - -.mdi-hardware-dock:before { - content: "\e7bc"; -} - -.mdi-hardware-gamepad:before { - content: "\e7bd"; -} - -.mdi-hardware-headset-mic:before { - content: "\e7be"; -} - -.mdi-hardware-headset:before { - content: "\e7bf"; -} - -.mdi-hardware-keyboard-alt:before { - content: "\e7c0"; -} - -.mdi-hardware-keyboard-arrow-down:before { - content: "\e7c1"; -} - -.mdi-hardware-keyboard-arrow-left:before { - content: "\e7c2"; -} - -.mdi-hardware-keyboard-arrow-right:before { - content: "\e7c3"; -} - -.mdi-hardware-keyboard-arrow-up:before { - content: "\e7c4"; -} - -.mdi-hardware-keyboard-backspace:before { - content: "\e7c5"; -} - -.mdi-hardware-keyboard-capslock:before { - content: "\e7c6"; -} - -.mdi-hardware-keyboard-control:before { - content: "\e7c7"; -} - -.mdi-hardware-keyboard-hide:before { - content: "\e7c8"; -} - -.mdi-hardware-keyboard-return:before { - content: "\e7c9"; -} - -.mdi-hardware-keyboard-tab:before { - content: "\e7ca"; -} - -.mdi-hardware-keyboard-voice:before { - content: "\e7cb"; -} - -.mdi-hardware-keyboard:before { - content: "\e7cc"; -} - -.mdi-hardware-laptop-chromebook:before { - content: "\e7cd"; -} - -.mdi-hardware-laptop-mac:before { - content: "\e7ce"; -} - -.mdi-hardware-laptop-windows:before { - content: "\e7cf"; -} - -.mdi-hardware-laptop:before { - content: "\e7d0"; -} - -.mdi-hardware-memory:before { - content: "\e7d1"; -} - -.mdi-hardware-mouse:before { - content: "\e7d2"; -} - -.mdi-hardware-phone-android:before { - content: "\e7d3"; -} - -.mdi-hardware-phone-iphone:before { - content: "\e7d4"; -} - -.mdi-hardware-phonelink-off:before { - content: "\e7d5"; -} - -.mdi-hardware-phonelink:before { - content: "\e7d6"; -} - -.mdi-hardware-security:before { - content: "\e7d7"; -} - -.mdi-hardware-sim-card:before { - content: "\e7d8"; -} - -.mdi-hardware-smartphone:before { - content: "\e7d9"; -} - -.mdi-hardware-speaker:before { - content: "\e7da"; -} - -.mdi-hardware-tablet-android:before { - content: "\e7db"; -} - -.mdi-hardware-tablet-mac:before { - content: "\e7dc"; -} - -.mdi-hardware-tablet:before { - content: "\e7dd"; -} - -.mdi-hardware-tv:before { - content: "\e7de"; -} - -.mdi-hardware-watch:before { - content: "\e7df"; -} - -.mdi-image-add-to-photos:before { - content: "\e7e0"; -} - -.mdi-image-adjust:before { - content: "\e7e1"; -} - -.mdi-image-assistant-photo:before { - content: "\e7e2"; -} - -.mdi-image-audiotrack:before { - content: "\e7e3"; -} - -.mdi-image-blur-circular:before { - content: "\e7e4"; -} - -.mdi-image-blur-linear:before { - content: "\e7e5"; -} - -.mdi-image-blur-off:before { - content: "\e7e6"; -} - -.mdi-image-blur-on:before { - content: "\e7e7"; -} - -.mdi-image-brightness-1:before { - content: "\e7e8"; -} - -.mdi-image-brightness-2:before { - content: "\e7e9"; -} - -.mdi-image-brightness-3:before { - content: "\e7ea"; -} - -.mdi-image-brightness-4:before { - content: "\e7eb"; -} - -.mdi-image-brightness-5:before { - content: "\e7ec"; -} - -.mdi-image-brightness-6:before { - content: "\e7ed"; -} - -.mdi-image-brightness-7:before { - content: "\e7ee"; -} - -.mdi-image-brush:before { - content: "\e7ef"; -} - -.mdi-image-camera-alt:before { - content: "\e7f0"; -} - -.mdi-image-camera-front:before { - content: "\e7f1"; -} - -.mdi-image-camera-rear:before { - content: "\e7f2"; -} - -.mdi-image-camera-roll:before { - content: "\e7f3"; -} - -.mdi-image-camera:before { - content: "\e7f4"; -} - -.mdi-image-center-focus-strong:before { - content: "\e7f5"; -} - -.mdi-image-center-focus-weak:before { - content: "\e7f6"; -} - -.mdi-image-collections:before { - content: "\e7f7"; -} - -.mdi-image-color-lens:before { - content: "\e7f8"; -} - -.mdi-image-colorize:before { - content: "\e7f9"; -} - -.mdi-image-compare:before { - content: "\e7fa"; -} - -.mdi-image-control-point-duplicate:before { - content: "\e7fb"; -} - -.mdi-image-control-point:before { - content: "\e7fc"; -} - -.mdi-image-crop-3-2:before { - content: "\e7fd"; -} - -.mdi-image-crop-5-4:before { - content: "\e7fe"; -} - -.mdi-image-crop-7-5:before { - content: "\e7ff"; -} - -.mdi-image-crop-16-9:before { - content: "\e800"; -} - -.mdi-image-crop-din:before { - content: "\e801"; -} - -.mdi-image-crop-free:before { - content: "\e802"; -} - -.mdi-image-crop-landscape:before { - content: "\e803"; -} - -.mdi-image-crop-original:before { - content: "\e804"; -} - -.mdi-image-crop-portrait:before { - content: "\e805"; -} - -.mdi-image-crop-square:before { - content: "\e806"; -} - -.mdi-image-crop:before { - content: "\e807"; -} - -.mdi-image-dehaze:before { - content: "\e808"; -} - -.mdi-image-details:before { - content: "\e809"; -} - -.mdi-image-edit:before { - content: "\e80a"; -} - -.mdi-image-exposure-minus-1:before { - content: "\e80b"; -} - -.mdi-image-exposure-minus-2:before { - content: "\e80c"; -} - -.mdi-image-exposure-plus-1:before { - content: "\e80d"; -} - -.mdi-image-exposure-plus-2:before { - content: "\e80e"; -} - -.mdi-image-exposure-zero:before { - content: "\e80f"; -} - -.mdi-image-exposure:before { - content: "\e810"; -} - -.mdi-image-filter-1:before { - content: "\e811"; -} - -.mdi-image-filter-2:before { - content: "\e812"; -} - -.mdi-image-filter-3:before { - content: "\e813"; -} - -.mdi-image-filter-4:before { - content: "\e814"; -} - -.mdi-image-filter-5:before { - content: "\e815"; -} - -.mdi-image-filter-6:before { - content: "\e816"; -} - -.mdi-image-filter-7:before { - content: "\e817"; -} - -.mdi-image-filter-8:before { - content: "\e818"; -} - -.mdi-image-filter-9-plus:before { - content: "\e819"; -} - -.mdi-image-filter-9:before { - content: "\e81a"; -} - -.mdi-image-filter-b-and-w:before { - content: "\e81b"; -} - -.mdi-image-filter-center-focus:before { - content: "\e81c"; -} - -.mdi-image-filter-drama:before { - content: "\e81d"; -} - -.mdi-image-filter-frames:before { - content: "\e81e"; -} - -.mdi-image-filter-hdr:before { - content: "\e81f"; -} - -.mdi-image-filter-none:before { - content: "\e820"; -} - -.mdi-image-filter-tilt-shift:before { - content: "\e821"; -} - -.mdi-image-filter-vintage:before { - content: "\e822"; -} - -.mdi-image-filter:before { - content: "\e823"; -} - -.mdi-image-flare:before { - content: "\e824"; -} - -.mdi-image-flash-auto:before { - content: "\e825"; -} - -.mdi-image-flash-off:before { - content: "\e826"; -} - -.mdi-image-flash-on:before { - content: "\e827"; -} - -.mdi-image-flip:before { - content: "\e828"; -} - -.mdi-image-gradient:before { - content: "\e829"; -} - -.mdi-image-grain:before { - content: "\e82a"; -} - -.mdi-image-grid-off:before { - content: "\e82b"; -} - -.mdi-image-grid-on:before { - content: "\e82c"; -} - -.mdi-image-hdr-off:before { - content: "\e82d"; -} - -.mdi-image-hdr-on:before { - content: "\e82e"; -} - -.mdi-image-hdr-strong:before { - content: "\e82f"; -} - -.mdi-image-hdr-weak:before { - content: "\e830"; -} - -.mdi-image-healing:before { - content: "\e831"; -} - -.mdi-image-image-aspect-ratio:before { - content: "\e832"; -} - -.mdi-image-image:before { - content: "\e833"; -} - -.mdi-image-iso:before { - content: "\e834"; -} - -.mdi-image-landscape:before { - content: "\e835"; -} - -.mdi-image-leak-add:before { - content: "\e836"; -} - -.mdi-image-leak-remove:before { - content: "\e837"; -} - -.mdi-image-lens:before { - content: "\e838"; -} - -.mdi-image-looks-3:before { - content: "\e839"; -} - -.mdi-image-looks-4:before { - content: "\e83a"; -} - -.mdi-image-looks-5:before { - content: "\e83b"; -} - -.mdi-image-looks-6:before { - content: "\e83c"; -} - -.mdi-image-looks-one:before { - content: "\e83d"; -} - -.mdi-image-looks-two:before { - content: "\e83e"; -} - -.mdi-image-looks:before { - content: "\e83f"; -} - -.mdi-image-loupe:before { - content: "\e840"; -} - -.mdi-image-movie-creation:before { - content: "\e841"; -} - -.mdi-image-nature-people:before { - content: "\e842"; -} - -.mdi-image-nature:before { - content: "\e843"; -} - -.mdi-image-navigate-before:before { - content: "\e844"; -} - -.mdi-image-navigate-next:before { - content: "\e845"; -} - -.mdi-image-palette:before { - content: "\e846"; -} - -.mdi-image-panorama-fisheye:before { - content: "\e847"; -} - -.mdi-image-panorama-horizontal:before { - content: "\e848"; -} - -.mdi-image-panorama-vertical:before { - content: "\e849"; -} - -.mdi-image-panorama-wide-angle:before { - content: "\e84a"; -} - -.mdi-image-panorama:before { - content: "\e84b"; -} - -.mdi-image-photo-album:before { - content: "\e84c"; -} - -.mdi-image-photo-camera:before { - content: "\e84d"; -} - -.mdi-image-photo-library:before { - content: "\e84e"; -} - -.mdi-image-photo:before { - content: "\e84f"; -} - -.mdi-image-portrait:before { - content: "\e850"; -} - -.mdi-image-remove-red-eye:before { - content: "\e851"; -} - -.mdi-image-rotate-left:before { - content: "\e852"; -} - -.mdi-image-rotate-right:before { - content: "\e853"; -} - -.mdi-image-slideshow:before { - content: "\e854"; -} - -.mdi-image-straighten:before { - content: "\e855"; -} - -.mdi-image-style:before { - content: "\e856"; -} - -.mdi-image-switch-camera:before { - content: "\e857"; -} - -.mdi-image-switch-video:before { - content: "\e858"; -} - -.mdi-image-tag-faces:before { - content: "\e859"; -} - -.mdi-image-texture:before { - content: "\e85a"; -} - -.mdi-image-timelapse:before { - content: "\e85b"; -} - -.mdi-image-timer-3:before { - content: "\e85c"; -} - -.mdi-image-timer-10:before { - content: "\e85d"; -} - -.mdi-image-timer-auto:before { - content: "\e85e"; -} - -.mdi-image-timer-off:before { - content: "\e85f"; -} - -.mdi-image-timer:before { - content: "\e860"; -} - -.mdi-image-tonality:before { - content: "\e861"; -} - -.mdi-image-transform:before { - content: "\e862"; -} - -.mdi-image-tune:before { - content: "\e863"; -} - -.mdi-image-wb-auto:before { - content: "\e864"; -} - -.mdi-image-wb-cloudy:before { - content: "\e865"; -} - -.mdi-image-wb-incandescent:before { - content: "\e866"; -} - -.mdi-image-wb-irradescent:before { - content: "\e867"; -} - -.mdi-image-wb-sunny:before { - content: "\e868"; -} - -.mdi-maps-beenhere:before { - content: "\e869"; -} - -.mdi-maps-directions-bike:before { - content: "\e86a"; -} - -.mdi-maps-directions-bus:before { - content: "\e86b"; -} - -.mdi-maps-directions-car:before { - content: "\e86c"; -} - -.mdi-maps-directions-ferry:before { - content: "\e86d"; -} - -.mdi-maps-directions-subway:before { - content: "\e86e"; -} - -.mdi-maps-directions-train:before { - content: "\e86f"; -} - -.mdi-maps-directions-transit:before { - content: "\e870"; -} - -.mdi-maps-directions-walk:before { - content: "\e871"; -} - -.mdi-maps-directions:before { - content: "\e872"; -} - -.mdi-maps-flight:before { - content: "\e873"; -} - -.mdi-maps-hotel:before { - content: "\e874"; -} - -.mdi-maps-layers-clear:before { - content: "\e875"; -} - -.mdi-maps-layers:before { - content: "\e876"; -} - -.mdi-maps-local-airport:before { - content: "\e877"; -} - -.mdi-maps-local-atm:before { - content: "\e878"; -} - -.mdi-maps-local-attraction:before { - content: "\e879"; -} - -.mdi-maps-local-bar:before { - content: "\e87a"; -} - -.mdi-maps-local-cafe:before { - content: "\e87b"; -} - -.mdi-maps-local-car-wash:before { - content: "\e87c"; -} - -.mdi-maps-local-convenience-store:before { - content: "\e87d"; -} - -.mdi-maps-local-drink:before { - content: "\e87e"; -} - -.mdi-maps-local-florist:before { - content: "\e87f"; -} - -.mdi-maps-local-gas-station:before { - content: "\e880"; -} - -.mdi-maps-local-grocery-store:before { - content: "\e881"; -} - -.mdi-maps-local-hospital:before { - content: "\e882"; -} - -.mdi-maps-local-hotel:before { - content: "\e883"; -} - -.mdi-maps-local-laundry-service:before { - content: "\e884"; -} - -.mdi-maps-local-library:before { - content: "\e885"; -} - -.mdi-maps-local-mall:before { - content: "\e886"; -} - -.mdi-maps-local-movies:before { - content: "\e887"; -} - -.mdi-maps-local-offer:before { - content: "\e888"; -} - -.mdi-maps-local-parking:before { - content: "\e889"; -} - -.mdi-maps-local-pharmacy:before { - content: "\e88a"; -} - -.mdi-maps-local-phone:before { - content: "\e88b"; -} - -.mdi-maps-local-pizza:before { - content: "\e88c"; -} - -.mdi-maps-local-play:before { - content: "\e88d"; -} - -.mdi-maps-local-post-office:before { - content: "\e88e"; -} - -.mdi-maps-local-print-shop:before { - content: "\e88f"; -} - -.mdi-maps-local-restaurant:before { - content: "\e890"; -} - -.mdi-maps-local-see:before { - content: "\e891"; -} - -.mdi-maps-local-shipping:before { - content: "\e892"; -} - -.mdi-maps-local-taxi:before { - content: "\e893"; -} - -.mdi-maps-location-history:before { - content: "\e894"; -} - -.mdi-maps-map:before { - content: "\e895"; -} - -.mdi-maps-my-location:before { - content: "\e896"; -} - -.mdi-maps-navigation:before { - content: "\e897"; -} - -.mdi-maps-pin-drop:before { - content: "\e898"; -} - -.mdi-maps-place:before { - content: "\e899"; -} - -.mdi-maps-rate-review:before { - content: "\e89a"; -} - -.mdi-maps-restaurant-menu:before { - content: "\e89b"; -} - -.mdi-maps-satellite:before { - content: "\e89c"; -} - -.mdi-maps-store-mall-directory:before { - content: "\e89d"; -} - -.mdi-maps-terrain:before { - content: "\e89e"; -} - -.mdi-maps-traffic:before { - content: "\e89f"; -} - -.mdi-navigation-apps:before { - content: "\e8a0"; -} - -.mdi-navigation-arrow-back:before { - content: "\e8a1"; -} - -.mdi-navigation-arrow-drop-down-circle:before { - content: "\e8a2"; -} - -.mdi-navigation-arrow-drop-down:before { - content: "\e8a3"; -} - -.mdi-navigation-arrow-drop-up:before { - content: "\e8a4"; -} - -.mdi-navigation-arrow-forward:before { - content: "\e8a5"; -} - -.mdi-navigation-cancel:before { - content: "\e8a6"; -} - -.mdi-navigation-check:before { - content: "\e8a7"; -} - -.mdi-navigation-chevron-left:before { - content: "\e8a8"; -} - -.mdi-navigation-chevron-right:before { - content: "\e8a9"; -} - -.mdi-navigation-close:before { - content: "\e8aa"; -} - -.mdi-navigation-expand-less:before { - content: "\e8ab"; -} - -.mdi-navigation-expand-more:before { - content: "\e8ac"; -} - -.mdi-navigation-fullscreen-exit:before { - content: "\e8ad"; -} - -.mdi-navigation-fullscreen:before { - content: "\e8ae"; -} - -.mdi-navigation-menu:before { - content: "\e8af"; -} - -.mdi-navigation-more-horiz:before { - content: "\e8b0"; -} - -.mdi-navigation-more-vert:before { - content: "\e8b1"; -} - -.mdi-navigation-refresh:before { - content: "\e8b2"; -} - -.mdi-navigation-unfold-less:before { - content: "\e8b3"; -} - -.mdi-navigation-unfold-more:before { - content: "\e8b4"; -} - -.mdi-notification-adb:before { - content: "\e8b5"; -} - -.mdi-notification-bluetooth-audio:before { - content: "\e8b6"; -} - -.mdi-notification-disc-full:before { - content: "\e8b7"; -} - -.mdi-notification-dnd-forwardslash:before { - content: "\e8b8"; -} - -.mdi-notification-do-not-disturb:before { - content: "\e8b9"; -} - -.mdi-notification-drive-eta:before { - content: "\e8ba"; -} - -.mdi-notification-event-available:before { - content: "\e8bb"; -} - -.mdi-notification-event-busy:before { - content: "\e8bc"; -} - -.mdi-notification-event-note:before { - content: "\e8bd"; -} - -.mdi-notification-folder-special:before { - content: "\e8be"; -} - -.mdi-notification-mms:before { - content: "\e8bf"; -} - -.mdi-notification-more:before { - content: "\e8c0"; -} - -.mdi-notification-network-locked:before { - content: "\e8c1"; -} - -.mdi-notification-phone-bluetooth-speaker:before { - content: "\e8c2"; -} - -.mdi-notification-phone-forwarded:before { - content: "\e8c3"; -} - -.mdi-notification-phone-in-talk:before { - content: "\e8c4"; -} - -.mdi-notification-phone-locked:before { - content: "\e8c5"; -} - -.mdi-notification-phone-missed:before { - content: "\e8c6"; -} - -.mdi-notification-phone-paused:before { - content: "\e8c7"; -} - -.mdi-notification-play-download:before { - content: "\e8c8"; -} - -.mdi-notification-play-install:before { - content: "\e8c9"; -} - -.mdi-notification-sd-card:before { - content: "\e8ca"; -} - -.mdi-notification-sim-card-alert:before { - content: "\e8cb"; -} - -.mdi-notification-sms-failed:before { - content: "\e8cc"; -} - -.mdi-notification-sms:before { - content: "\e8cd"; -} - -.mdi-notification-sync-disabled:before { - content: "\e8ce"; -} - -.mdi-notification-sync-problem:before { - content: "\e8cf"; -} - -.mdi-notification-sync:before { - content: "\e8d0"; -} - -.mdi-notification-system-update:before { - content: "\e8d1"; -} - -.mdi-notification-tap-and-play:before { - content: "\e8d2"; -} - -.mdi-notification-time-to-leave:before { - content: "\e8d3"; -} - -.mdi-notification-vibration:before { - content: "\e8d4"; -} - -.mdi-notification-voice-chat:before { - content: "\e8d5"; -} - -.mdi-notification-vpn-lock:before { - content: "\e8d6"; -} - -.mdi-social-cake:before { - content: "\e8d7"; -} - -.mdi-social-domain:before { - content: "\e8d8"; -} - -.mdi-social-group-add:before { - content: "\e8d9"; -} - -.mdi-social-group:before { - content: "\e8da"; -} - -.mdi-social-location-city:before { - content: "\e8db"; -} - -.mdi-social-mood:before { - content: "\e8dc"; -} - -.mdi-social-notifications-none:before { - content: "\e8dd"; -} - -.mdi-social-notifications-off:before { - content: "\e8de"; -} - -.mdi-social-notifications-on:before { - content: "\e8df"; -} - -.mdi-social-notifications-paused:before { - content: "\e8e0"; -} - -.mdi-social-notifications:before { - content: "\e8e1"; -} - -.mdi-social-pages:before { - content: "\e8e2"; -} - -.mdi-social-party-mode:before { - content: "\e8e3"; -} - -.mdi-social-people-outline:before { - content: "\e8e4"; -} - -.mdi-social-people:before { - content: "\e8e5"; -} - -.mdi-social-person-add:before { - content: "\e8e6"; -} - -.mdi-social-person-outline:before { - content: "\e8e7"; -} - -.mdi-social-person:before { - content: "\e8e8"; -} - -.mdi-social-plus-one:before { - content: "\e8e9"; -} - -.mdi-social-poll:before { - content: "\e8ea"; -} - -.mdi-social-public:before { - content: "\e8eb"; -} - -.mdi-social-school:before { - content: "\e8ec"; -} - -.mdi-social-share:before { - content: "\e8ed"; -} - -.mdi-social-whatshot:before { - content: "\e8ee"; -} - -.mdi-toggle-check-box-outline-blank:before { - content: "\e8ef"; -} - -.mdi-toggle-check-box:before { - content: "\e8f0"; -} - -.mdi-toggle-radio-button-off:before { - content: "\e8f1"; -} - -.mdi-toggle-radio-button-on:before { - content: "\e8f2"; -} - -.mdi-toggle-star-half:before { - content: "\e8f3"; -} - -.mdi-toggle-star-outline:before { - content: "\e8f4"; -} - -.mdi-toggle-star:before { - content: "\e8f5"; -} +//@font-face { +// font-family: 'Material-Design-Icons'; +// src:url('@{mdb-font-path}/Material-Design-Icons.eot?3ocs8m'); +// src:url('@{mdb-font-path}/Material-Design-Icons.eot?#iefix3ocs8m') format('embedded-opentype'), +// url('@{mdb-font-path}/Material-Design-Icons.woff?3ocs8m') format('woff'), +// url('@{mdb-font-path}/Material-Design-Icons.ttf?3ocs8m') format('truetype'), +// url('@{mdb-font-path}/Material-Design-Icons.svg?3ocs8m#Material-Design-Icons') format('svg'); +// font-weight: normal; +// font-style: normal; +//} +// +//[class^="mdi-"], [class*="mdi-"] { +// speak: none; +// display: inline-block; +// font: normal normal normal 24px/1 'Material-Design-Icons'; +// text-rendering: auto; +// /* Better Font Rendering =========== */ +// -webkit-font-smoothing: antialiased; +// -moz-osx-font-smoothing: grayscale; +// transform: translate(0, 0); +// &:before { +// display: inline-block; +// speak: none; +// text-decoration: inherit; +// } +// &.pull-left { +// margin-right: .3em; +// } +// &.pull-right{ +// margin-left: .3em; +// } +// &.mdi-lg:before, &.mdi-lg:after { +// font-size: 1.33333333em; +// line-height: 0.75em; +// vertical-align: -15%; +// } +// &.mdi-2x:before, &.mdi-2x:after { +// font-size: 2em; +// } +// &.mdi-3x:before, &.mdi-3x:after { +// font-size: 3em; +// } +// &.mdi-4x:before, &.mdi-4x:after { +// font-size: 4em; +// } +// &.mdi-5x:before, &.mdi-5x:after { +// font-size: 5em; +// } +//} +// +//[class^="mdi-device-signal-cellular-"], +//[class^="mdi-device-battery-"], +//[class^="mdi-device-battery-charging-"], +//[class^="mdi-device-signal-cellular-connected-no-internet-"], +//[class^="mdi-device-signal-wifi-"], +//[class^="mdi-device-signal-wifi-statusbar-not-connected"], +//.mdi-device-network-wifi{ +// &:after { +// opacity: .3; +// position: absolute; +// left: 0; +// top: 0; +// z-index: 1; +// display: inline-block; +// speak: none; +// text-decoration: inherit; +// } +//} +// +//[class^="mdi-device-signal-cellular-"]:after {content:"\e758";} +//[class^="mdi-device-battery-"]:after {content:"\e735";} +//[class^="mdi-device-battery-charging-"]:after {content:"\e733";} +//[class^="mdi-device-signal-cellular-connected-no-internet-"]:after {content:"\e75d";} +//[class^="mdi-device-signal-wifi-"]:after, .mdi-device-network-wifi:after {content:"\e765";} +//[class^="mdi-device-signal-wifi-statusbasr-not-connected"]:after {content:"\e8f7";} +// +//.mdi-device-signal-cellular-off, .mdi-device-signal-cellular-null, .mdi-device-signal-cellular-no-sim, .mdi-device-signal-wifi-off, .mdi-device-signal-wifi-4-bar, .mdi-device-signal-cellular-4-bar, .mdi-device-battery-alert, .mdi-device-signal-cellular-connected-no-internet-4-bar, .mdi-device-battery-std, .mdi-device-battery-full .mdi-device-battery-unknown { +// &:after { +// content: ""; +// } +//} +// +//.mdi-fw { +// width: 1.28571429em; +// text-align: center; +//} +//.mdi-ul { +// padding-left: 0; +// margin-left: 2.14285714em; +// list-style-type: none; +//} +//.mdi-ul > li { +// position: relative; +//} +//.mdi-li { +// position: absolute; +// left: -2.14285714em; +// width: 2.14285714em; +// top: 0.14285714em; +// text-align: center; +//} +//.mdi-li.mdi-lg { +// left: -1.85714286em; +//} +//.mdi-border { +// padding: .2em .25em .15em; +// border: solid 0.08em #eeeeee; +// border-radius: .1em; +//} +// +//.mdi-spin { +// -webkit-animation: mdi-spin 2s infinite linear; +// animation: mdi-spin 2s infinite linear; +// -webkit-transform-origin: 50% 50%; +// -moz-transform-origin: 50% 50%; +// -o-transform-origin: 50% 50%; +// transform-origin: 50% 50%; +//} +//.mdi-pulse { +// -webkit-animation: mdi-spin 1s steps(8) infinite; +// animation: mdi-spin 1s steps(8) infinite ; +// -webkit-transform-origin: 50% 50%; +// -moz-transform-origin: 50% 50%; +// -o-transform-origin: 50% 50%; +// transform-origin: 50% 50%; +//} +//@-webkit-keyframes mdi-spin { +// 0% { +// -webkit-transform: rotate(0deg); +// transform: rotate(0deg); +// } +// 100% { +// -webkit-transform: rotate(359deg); +// transform: rotate(359deg); +// } +//} +//@keyframes mdi-spin { +// 0% { +// -webkit-transform: rotate(0deg); +// transform: rotate(0deg); +// } +// 100% { +// -webkit-transform: rotate(359deg); +// transform: rotate(359deg); +// } +//} +//.mdi-rotate-90 { +// filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); +// -webkit-transform: rotate(90deg); +// -ms-transform: rotate(90deg); +// transform: rotate(90deg); +//} +//.mdi-rotate-180 { +// filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); +// -webkit-transform: rotate(180deg); +// -ms-transform: rotate(180deg); +// transform: rotate(180deg); +//} +//.mdi-rotate-270 { +// filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); +// -webkit-transform: rotate(270deg); +// -ms-transform: rotate(270deg); +// transform: rotate(270deg); +//} +//.mdi-flip-horizontal { +// filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); +// -webkit-transform: scale(-1, 1); +// -ms-transform: scale(-1, 1); +// transform: scale(-1, 1); +//} +//.mdi-flip-vertical { +// filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); +// -webkit-transform: scale(1, -1); +// -ms-transform: scale(1, -1); +// transform: scale(1, -1); +//} +//:root .mdi-rotate-90, +//:root .mdi-rotate-180, +//:root .mdi-rotate-270, +//:root .mdi-flip-horizontal, +//:root .mdi-flip-vertical { +// filter: none; +//} +//.mdi-stack { +// position: relative; +// display: inline-block; +// width: 2em; +// height: 2em; +// line-height: 2em; +// vertical-align: middle; +//} +//.mdi-stack-1x, +//.mdi-stack-2x { +// position: absolute; +// left: 0; +// width: 100%; +// text-align: center; +//} +//.mdi-stack-1x { +// line-height: inherit; +//} +//.mdi-stack-2x { +// font-size: 2em; +//} +//.mdi-inverse { +// color: #ffffff; +//} +// +// +///* Start Icons */ +// +//.mdi-action-3d-rotation:before { +// content: "\e600"; +//} +// +//.mdi-action-accessibility:before { +// content: "\e601"; +//} +// +//.mdi-action-account-balance-wallet:before { +// content: "\e602"; +//} +// +//.mdi-action-account-balance:before { +// content: "\e603"; +//} +// +//.mdi-action-account-box:before { +// content: "\e604"; +//} +// +//.mdi-action-account-child:before { +// content: "\e605"; +//} +// +//.mdi-action-account-circle:before { +// content: "\e606"; +//} +// +//.mdi-action-add-shopping-cart:before { +// content: "\e607"; +//} +// +//.mdi-action-alarm-add:before { +// content: "\e608"; +//} +// +//.mdi-action-alarm-off:before { +// content: "\e609"; +//} +// +//.mdi-action-alarm-on:before { +// content: "\e60a"; +//} +// +//.mdi-action-alarm:before { +// content: "\e60b"; +//} +// +//.mdi-action-android:before { +// content: "\e60c"; +//} +// +//.mdi-action-announcement:before { +// content: "\e60d"; +//} +// +//.mdi-action-aspect-ratio:before { +// content: "\e60e"; +//} +// +//.mdi-action-assessment:before { +// content: "\e60f"; +//} +// +//.mdi-action-assignment-ind:before { +// content: "\e610"; +//} +// +//.mdi-action-assignment-late:before { +// content: "\e611"; +//} +// +//.mdi-action-assignment-return:before { +// content: "\e612"; +//} +// +//.mdi-action-assignment-returned:before { +// content: "\e613"; +//} +// +//.mdi-action-assignment-turned-in:before { +// content: "\e614"; +//} +// +//.mdi-action-assignment:before { +// content: "\e615"; +//} +// +//.mdi-action-autorenew:before { +// content: "\e616"; +//} +// +//.mdi-action-backup:before { +// content: "\e617"; +//} +// +//.mdi-action-book:before { +// content: "\e618"; +//} +// +//.mdi-action-bookmark-outline:before { +// content: "\e619"; +//} +// +//.mdi-action-bookmark:before { +// content: "\e61a"; +//} +// +//.mdi-action-bug-report:before { +// content: "\e61b"; +//} +// +//.mdi-action-cached:before { +// content: "\e61c"; +//} +// +//.mdi-action-check-circle:before { +// content: "\e61d"; +//} +// +//.mdi-action-class:before { +// content: "\e61e"; +//} +// +//.mdi-action-credit-card:before { +// content: "\e61f"; +//} +// +//.mdi-action-dashboard:before { +// content: "\e620"; +//} +// +//.mdi-action-delete:before { +// content: "\e621"; +//} +// +//.mdi-action-description:before { +// content: "\e622"; +//} +// +//.mdi-action-dns:before { +// content: "\e623"; +//} +// +//.mdi-action-done-all:before { +// content: "\e624"; +//} +// +//.mdi-action-done:before { +// content: "\e625"; +//} +// +//.mdi-action-event:before { +// content: "\e626"; +//} +// +//.mdi-action-exit-to-app:before { +// content: "\e627"; +//} +// +//.mdi-action-explore:before { +// content: "\e628"; +//} +// +//.mdi-action-extension:before { +// content: "\e629"; +//} +// +//.mdi-action-face-unlock:before { +// content: "\e62a"; +//} +// +//.mdi-action-favorite-outline:before { +// content: "\e62b"; +//} +// +//.mdi-action-favorite:before { +// content: "\e62c"; +//} +// +//.mdi-action-find-in-page:before { +// content: "\e62d"; +//} +// +//.mdi-action-find-replace:before { +// content: "\e62e"; +//} +// +//.mdi-action-flip-to-back:before { +// content: "\e62f"; +//} +// +//.mdi-action-flip-to-front:before { +// content: "\e630"; +//} +// +//.mdi-action-get-app:before { +// content: "\e631"; +//} +// +//.mdi-action-grade:before { +// content: "\e632"; +//} +// +//.mdi-action-group-work:before { +// content: "\e633"; +//} +// +//.mdi-action-help:before { +// content: "\e634"; +//} +// +//.mdi-action-highlight-remove:before { +// content: "\e635"; +//} +// +//.mdi-action-history:before { +// content: "\e636"; +//} +// +//.mdi-action-home:before { +// content: "\e637"; +//} +// +//.mdi-action-https:before { +// content: "\e638"; +//} +// +//.mdi-action-info-outline:before { +// content: "\e639"; +//} +// +//.mdi-action-info:before { +// content: "\e63a"; +//} +// +//.mdi-action-input:before { +// content: "\e63b"; +//} +// +//.mdi-action-invert-colors:before { +// content: "\e63c"; +//} +// +//.mdi-action-label-outline:before { +// content: "\e63d"; +//} +// +//.mdi-action-label:before { +// content: "\e63e"; +//} +// +//.mdi-action-language:before { +// content: "\e63f"; +//} +// +//.mdi-action-launch:before { +// content: "\e640"; +//} +// +//.mdi-action-list:before { +// content: "\e641"; +//} +// +//.mdi-action-lock-open:before { +// content: "\e642"; +//} +// +//.mdi-action-lock-outline:before { +// content: "\e643"; +//} +// +//.mdi-action-lock:before { +// content: "\e644"; +//} +// +//.mdi-action-loyalty:before { +// content: "\e645"; +//} +// +//.mdi-action-markunread-mailbox:before { +// content: "\e646"; +//} +// +//.mdi-action-note-add:before { +// content: "\e647"; +//} +// +//.mdi-action-open-in-browser:before { +// content: "\e648"; +//} +// +//.mdi-action-open-in-new:before { +// content: "\e649"; +//} +// +//.mdi-action-open-with:before { +// content: "\e64a"; +//} +// +//.mdi-action-pageview:before { +// content: "\e64b"; +//} +// +//.mdi-action-payment:before { +// content: "\e64c"; +//} +// +//.mdi-action-perm-camera-mic:before { +// content: "\e64d"; +//} +// +//.mdi-action-perm-contact-cal:before { +// content: "\e64e"; +//} +// +//.mdi-action-perm-data-setting:before { +// content: "\e64f"; +//} +// +//.mdi-action-perm-device-info:before { +// content: "\e650"; +//} +// +//.mdi-action-perm-identity:before { +// content: "\e651"; +//} +// +//.mdi-action-perm-media:before { +// content: "\e652"; +//} +// +//.mdi-action-perm-phone-msg:before { +// content: "\e653"; +//} +// +//.mdi-action-perm-scan-wifi:before { +// content: "\e654"; +//} +// +//.mdi-action-picture-in-picture:before { +// content: "\e655"; +//} +// +//.mdi-action-polymer:before { +// content: "\e656"; +//} +// +//.mdi-action-print:before { +// content: "\e657"; +//} +// +//.mdi-action-query-builder:before { +// content: "\e658"; +//} +// +//.mdi-action-question-answer:before { +// content: "\e659"; +//} +// +//.mdi-action-receipt:before { +// content: "\e65a"; +//} +// +//.mdi-action-redeem:before { +// content: "\e65b"; +//} +// +//.mdi-action-reorder:before { +// content: "\e65c"; +//} +// +//.mdi-action-report-problem:before { +// content: "\e65d"; +//} +// +//.mdi-action-restore:before { +// content: "\e65e"; +//} +// +//.mdi-action-room:before { +// content: "\e65f"; +//} +// +//.mdi-action-schedule:before { +// content: "\e660"; +//} +// +//.mdi-action-search:before { +// content: "\e661"; +//} +// +//.mdi-action-settings-applications:before { +// content: "\e662"; +//} +// +//.mdi-action-settings-backup-restore:before { +// content: "\e663"; +//} +// +//.mdi-action-settings-bluetooth:before { +// content: "\e664"; +//} +// +//.mdi-action-settings-cell:before { +// content: "\e665"; +//} +// +//.mdi-action-settings-display:before { +// content: "\e666"; +//} +// +//.mdi-action-settings-ethernet:before { +// content: "\e667"; +//} +// +//.mdi-action-settings-input-antenna:before { +// content: "\e668"; +//} +// +//.mdi-action-settings-input-component:before { +// content: "\e669"; +//} +// +//.mdi-action-settings-input-composite:before { +// content: "\e66a"; +//} +// +//.mdi-action-settings-input-hdmi:before { +// content: "\e66b"; +//} +// +//.mdi-action-settings-input-svideo:before { +// content: "\e66c"; +//} +// +//.mdi-action-settings-overscan:before { +// content: "\e66d"; +//} +// +//.mdi-action-settings-phone:before { +// content: "\e66e"; +//} +// +//.mdi-action-settings-power:before { +// content: "\e66f"; +//} +// +//.mdi-action-settings-remote:before { +// content: "\e670"; +//} +// +//.mdi-action-settings-voice:before { +// content: "\e671"; +//} +// +//.mdi-action-settings:before { +// content: "\e672"; +//} +// +//.mdi-action-shop-two:before { +// content: "\e673"; +//} +// +//.mdi-action-shop:before { +// content: "\e674"; +//} +// +//.mdi-action-shopping-basket:before { +// content: "\e675"; +//} +// +//.mdi-action-shopping-cart:before { +// content: "\e676"; +//} +// +//.mdi-action-speaker-notes:before { +// content: "\e677"; +//} +// +//.mdi-action-spellcheck:before { +// content: "\e678"; +//} +// +//.mdi-action-star-rate:before { +// content: "\e679"; +//} +// +//.mdi-action-stars:before { +// content: "\e67a"; +//} +// +//.mdi-action-store:before { +// content: "\e67b"; +//} +// +//.mdi-action-subject:before { +// content: "\e67c"; +//} +// +//.mdi-action-supervisor-account:before { +// content: "\e67d"; +//} +// +//.mdi-action-swap-horiz:before { +// content: "\e67e"; +//} +// +//.mdi-action-swap-vert-circle:before { +// content: "\e67f"; +//} +// +//.mdi-action-swap-vert:before { +// content: "\e680"; +//} +// +//.mdi-action-system-update-tv:before { +// content: "\e681"; +//} +// +//.mdi-action-tab-unselected:before { +// content: "\e682"; +//} +// +//.mdi-action-tab:before { +// content: "\e683"; +//} +// +//.mdi-action-theaters:before { +// content: "\e684"; +//} +// +//.mdi-action-thumb-down:before { +// content: "\e685"; +//} +// +//.mdi-action-thumb-up:before { +// content: "\e686"; +//} +// +//.mdi-action-thumbs-up-down:before { +// content: "\e687"; +//} +// +//.mdi-action-toc:before { +// content: "\e688"; +//} +// +//.mdi-action-today:before { +// content: "\e689"; +//} +// +//.mdi-action-track-changes:before { +// content: "\e68a"; +//} +// +//.mdi-action-translate:before { +// content: "\e68b"; +//} +// +//.mdi-action-trending-down:before { +// content: "\e68c"; +//} +// +//.mdi-action-trending-neutral:before { +// content: "\e68d"; +//} +// +//.mdi-action-trending-up:before { +// content: "\e68e"; +//} +// +//.mdi-action-turned-in-not:before { +// content: "\e68f"; +//} +// +//.mdi-action-turned-in:before { +// content: "\e690"; +//} +// +//.mdi-action-verified-user:before { +// content: "\e691"; +//} +// +//.mdi-action-view-agenda:before { +// content: "\e692"; +//} +// +//.mdi-action-view-array:before { +// content: "\e693"; +//} +// +//.mdi-action-view-carousel:before { +// content: "\e694"; +//} +// +//.mdi-action-view-column:before { +// content: "\e695"; +//} +// +//.mdi-action-view-day:before { +// content: "\e696"; +//} +// +//.mdi-action-view-headline:before { +// content: "\e697"; +//} +// +//.mdi-action-view-list:before { +// content: "\e698"; +//} +// +//.mdi-action-view-module:before { +// content: "\e699"; +//} +// +//.mdi-action-view-quilt:before { +// content: "\e69a"; +//} +// +//.mdi-action-view-stream:before { +// content: "\e69b"; +//} +// +//.mdi-action-view-week:before { +// content: "\e69c"; +//} +// +//.mdi-action-visibility-off:before { +// content: "\e69d"; +//} +// +//.mdi-action-visibility:before { +// content: "\e69e"; +//} +// +//.mdi-action-wallet-giftcard:before { +// content: "\e69f"; +//} +// +//.mdi-action-wallet-membership:before { +// content: "\e6a0"; +//} +// +//.mdi-action-wallet-travel:before { +// content: "\e6a1"; +//} +// +//.mdi-action-work:before { +// content: "\e6a2"; +//} +// +//.mdi-alert-error:before { +// content: "\e6a3"; +//} +// +//.mdi-alert-warning:before { +// content: "\e6a4"; +//} +// +//.mdi-av-album:before { +// content: "\e6a5"; +//} +// +//.mdi-av-closed-caption:before { +// content: "\e6a6"; +//} +// +//.mdi-av-equalizer:before { +// content: "\e6a7"; +//} +// +//.mdi-av-explicit:before { +// content: "\e6a8"; +//} +// +//.mdi-av-fast-forward:before { +// content: "\e6a9"; +//} +// +//.mdi-av-fast-rewind:before { +// content: "\e6aa"; +//} +// +//.mdi-av-games:before { +// content: "\e6ab"; +//} +// +//.mdi-av-hearing:before { +// content: "\e6ac"; +//} +// +//.mdi-av-high-quality:before { +// content: "\e6ad"; +//} +// +//.mdi-av-loop:before { +// content: "\e6ae"; +//} +// +//.mdi-av-mic-none:before { +// content: "\e6af"; +//} +// +//.mdi-av-mic-off:before { +// content: "\e6b0"; +//} +// +//.mdi-av-mic:before { +// content: "\e6b1"; +//} +// +//.mdi-av-movie:before { +// content: "\e6b2"; +//} +// +//.mdi-av-my-library-add:before { +// content: "\e6b3"; +//} +// +//.mdi-av-my-library-books:before { +// content: "\e6b4"; +//} +// +//.mdi-av-my-library-music:before { +// content: "\e6b5"; +//} +// +//.mdi-av-new-releases:before { +// content: "\e6b6"; +//} +// +//.mdi-av-not-interested:before { +// content: "\e6b7"; +//} +// +//.mdi-av-pause-circle-fill:before { +// content: "\e6b8"; +//} +// +//.mdi-av-pause-circle-outline:before { +// content: "\e6b9"; +//} +// +//.mdi-av-pause:before { +// content: "\e6ba"; +//} +// +//.mdi-av-play-arrow:before { +// content: "\e6bb"; +//} +// +//.mdi-av-play-circle-fill:before { +// content: "\e6bc"; +//} +// +//.mdi-av-play-circle-outline:before { +// content: "\e6bd"; +//} +// +//.mdi-av-play-shopping-bag:before { +// content: "\e6be"; +//} +// +//.mdi-av-playlist-add:before { +// content: "\e6bf"; +//} +// +//.mdi-av-queue-music:before { +// content: "\e6c0"; +//} +// +//.mdi-av-queue:before { +// content: "\e6c1"; +//} +// +//.mdi-av-radio:before { +// content: "\e6c2"; +//} +// +//.mdi-av-recent-actors:before { +// content: "\e6c3"; +//} +// +//.mdi-av-repeat-one:before { +// content: "\e6c4"; +//} +// +//.mdi-av-repeat:before { +// content: "\e6c5"; +//} +// +//.mdi-av-replay:before { +// content: "\e6c6"; +//} +// +//.mdi-av-shuffle:before { +// content: "\e6c7"; +//} +// +//.mdi-av-skip-next:before { +// content: "\e6c8"; +//} +// +//.mdi-av-skip-previous:before { +// content: "\e6c9"; +//} +// +//.mdi-av-snooze:before { +// content: "\e6ca"; +//} +// +//.mdi-av-stop:before { +// content: "\e6cb"; +//} +// +//.mdi-av-subtitles:before { +// content: "\e6cc"; +//} +// +//.mdi-av-surround-sound:before { +// content: "\e6cd"; +//} +// +//.mdi-av-timer:before { +// content: "\e6ce"; +//} +// +//.mdi-av-video-collection:before { +// content: "\e6cf"; +//} +// +//.mdi-av-videocam-off:before { +// content: "\e6d0"; +//} +// +//.mdi-av-videocam:before { +// content: "\e6d1"; +//} +// +//.mdi-av-volume-down:before { +// content: "\e6d2"; +//} +// +//.mdi-av-volume-mute:before { +// content: "\e6d3"; +//} +// +//.mdi-av-volume-off:before { +// content: "\e6d4"; +//} +// +//.mdi-av-volume-up:before { +// content: "\e6d5"; +//} +// +//.mdi-av-web:before { +// content: "\e6d6"; +//} +// +//.mdi-communication-business:before { +// content: "\e6d7"; +//} +// +//.mdi-communication-call-end:before { +// content: "\e6d8"; +//} +// +//.mdi-communication-call-made:before { +// content: "\e6d9"; +//} +// +//.mdi-communication-call-merge:before { +// content: "\e6da"; +//} +// +//.mdi-communication-call-missed:before { +// content: "\e6db"; +//} +// +//.mdi-communication-call-received:before { +// content: "\e6dc"; +//} +// +//.mdi-communication-call-split:before { +// content: "\e6dd"; +//} +// +//.mdi-communication-call:before { +// content: "\e6de"; +//} +// +//.mdi-communication-chat:before { +// content: "\e6df"; +//} +// +//.mdi-communication-clear-all:before { +// content: "\e6e0"; +//} +// +//.mdi-communication-comment:before { +// content: "\e6e1"; +//} +// +//.mdi-communication-contacts:before { +// content: "\e6e2"; +//} +// +//.mdi-communication-dialer-sip:before { +// content: "\e6e3"; +//} +// +//.mdi-communication-dialpad:before { +// content: "\e6e4"; +//} +// +//.mdi-communication-dnd-on:before { +// content: "\e6e5"; +//} +// +//.mdi-communication-email:before { +// content: "\e6e6"; +//} +// +//.mdi-communication-forum:before { +// content: "\e6e7"; +//} +// +//.mdi-communication-import-export:before { +// content: "\e6e8"; +//} +// +//.mdi-communication-invert-colors-off:before { +// content: "\e6e9"; +//} +// +//.mdi-communication-invert-colors-on:before { +// content: "\e6ea"; +//} +// +//.mdi-communication-live-help:before { +// content: "\e6eb"; +//} +// +//.mdi-communication-location-off:before { +// content: "\e6ec"; +//} +// +//.mdi-communication-location-on:before { +// content: "\e6ed"; +//} +// +//.mdi-communication-message:before { +// content: "\e6ee"; +//} +// +//.mdi-communication-messenger:before { +// content: "\e6ef"; +//} +// +//.mdi-communication-no-sim:before { +// content: "\e6f0"; +//} +// +//.mdi-communication-phone:before { +// content: "\e6f1"; +//} +// +//.mdi-communication-portable-wifi-off:before { +// content: "\e6f2"; +//} +// +//.mdi-communication-quick-contacts-dialer:before { +// content: "\e6f3"; +//} +// +//.mdi-communication-quick-contacts-mail:before { +// content: "\e6f4"; +//} +// +//.mdi-communication-ring-volume:before { +// content: "\e6f5"; +//} +// +//.mdi-communication-stay-current-landscape:before { +// content: "\e6f6"; +//} +// +//.mdi-communication-stay-current-portrait:before { +// content: "\e6f7"; +//} +// +//.mdi-communication-stay-primary-landscape:before { +// content: "\e6f8"; +//} +// +//.mdi-communication-stay-primary-portrait:before { +// content: "\e6f9"; +//} +// +//.mdi-communication-swap-calls:before { +// content: "\e6fa"; +//} +// +//.mdi-communication-textsms:before { +// content: "\e6fb"; +//} +// +//.mdi-communication-voicemail:before { +// content: "\e6fc"; +//} +// +//.mdi-communication-vpn-key:before { +// content: "\e6fd"; +//} +// +//.mdi-content-add-box:before { +// content: "\e6fe"; +//} +// +//.mdi-content-add-circle-outline:before { +// content: "\e6ff"; +//} +// +//.mdi-content-add-circle:before { +// content: "\e700"; +//} +// +//.mdi-content-add:before { +// content: "\e701"; +//} +// +//.mdi-content-archive:before { +// content: "\e702"; +//} +// +//.mdi-content-backspace:before { +// content: "\e703"; +//} +// +//.mdi-content-block:before { +// content: "\e704"; +//} +// +//.mdi-content-clear:before { +// content: "\e705"; +//} +// +//.mdi-content-content-copy:before { +// content: "\e706"; +//} +// +//.mdi-content-content-cut:before { +// content: "\e707"; +//} +// +//.mdi-content-content-paste:before { +// content: "\e708"; +//} +// +//.mdi-content-create:before { +// content: "\e709"; +//} +// +//.mdi-content-drafts:before { +// content: "\e70a"; +//} +// +//.mdi-content-filter-list:before { +// content: "\e70b"; +//} +// +//.mdi-content-flag:before { +// content: "\e70c"; +//} +// +//.mdi-content-forward:before { +// content: "\e70d"; +//} +// +//.mdi-content-gesture:before { +// content: "\e70e"; +//} +// +//.mdi-content-inbox:before { +// content: "\e70f"; +//} +// +//.mdi-content-link:before { +// content: "\e710"; +//} +// +//.mdi-content-mail:before { +// content: "\e711"; +//} +// +//.mdi-content-markunread:before { +// content: "\e712"; +//} +// +//.mdi-content-redo:before { +// content: "\e713"; +//} +// +//.mdi-content-remove-circle-outline:before { +// content: "\e714"; +//} +// +//.mdi-content-remove-circle:before { +// content: "\e715"; +//} +// +//.mdi-content-remove:before { +// content: "\e716"; +//} +// +//.mdi-content-reply-all:before { +// content: "\e717"; +//} +// +//.mdi-content-reply:before { +// content: "\e718"; +//} +// +//.mdi-content-report:before { +// content: "\e719"; +//} +// +//.mdi-content-save:before { +// content: "\e71a"; +//} +// +//.mdi-content-select-all:before { +// content: "\e71b"; +//} +// +//.mdi-content-send:before { +// content: "\e71c"; +//} +// +//.mdi-content-sort:before { +// content: "\e71d"; +//} +// +//.mdi-content-text-format:before { +// content: "\e71e"; +//} +// +//.mdi-content-undo:before { +// content: "\e71f"; +//} +// +//.mdi-editor-attach-file:before { +// content: "\e776"; +//} +// +//.mdi-editor-attach-money:before { +// content: "\e777"; +//} +// +//.mdi-editor-border-all:before { +// content: "\e778"; +//} +// +//.mdi-editor-border-bottom:before { +// content: "\e779"; +//} +// +//.mdi-editor-border-clear:before { +// content: "\e77a"; +//} +// +//.mdi-editor-border-color:before { +// content: "\e77b"; +//} +// +//.mdi-editor-border-horizontal:before { +// content: "\e77c"; +//} +// +//.mdi-editor-border-inner:before { +// content: "\e77d"; +//} +// +//.mdi-editor-border-left:before { +// content: "\e77e"; +//} +// +//.mdi-editor-border-outer:before { +// content: "\e77f"; +//} +// +//.mdi-editor-border-right:before { +// content: "\e780"; +//} +// +//.mdi-editor-border-style:before { +// content: "\e781"; +//} +// +//.mdi-editor-border-top:before { +// content: "\e782"; +//} +// +//.mdi-editor-border-vertical:before { +// content: "\e783"; +//} +// +//.mdi-editor-format-align-center:before { +// content: "\e784"; +//} +// +//.mdi-editor-format-align-justify:before { +// content: "\e785"; +//} +// +//.mdi-editor-format-align-left:before { +// content: "\e786"; +//} +// +//.mdi-editor-format-align-right:before { +// content: "\e787"; +//} +// +//.mdi-editor-format-bold:before { +// content: "\e788"; +//} +// +//.mdi-editor-format-clear:before { +// content: "\e789"; +//} +// +//.mdi-editor-format-color-fill:before { +// content: "\e78a"; +//} +// +//.mdi-editor-format-color-reset:before { +// content: "\e78b"; +//} +// +//.mdi-editor-format-color-text:before { +// content: "\e78c"; +//} +// +//.mdi-editor-format-indent-decrease:before { +// content: "\e78d"; +//} +// +//.mdi-editor-format-indent-increase:before { +// content: "\e78e"; +//} +// +//.mdi-editor-format-italic:before { +// content: "\e78f"; +//} +// +//.mdi-editor-format-line-spacing:before { +// content: "\e790"; +//} +// +//.mdi-editor-format-list-bulleted:before { +// content: "\e791"; +//} +// +//.mdi-editor-format-list-numbered:before { +// content: "\e792"; +//} +// +//.mdi-editor-format-paint:before { +// content: "\e793"; +//} +// +//.mdi-editor-format-quote:before { +// content: "\e794"; +//} +// +//.mdi-editor-format-size:before { +// content: "\e795"; +//} +// +//.mdi-editor-format-strikethrough:before { +// content: "\e796"; +//} +// +//.mdi-editor-format-textdirection-l-to-r:before { +// content: "\e797"; +//} +// +//.mdi-editor-format-textdirection-r-to-l:before { +// content: "\e798"; +//} +// +//.mdi-editor-format-underline:before { +// content: "\e799"; +//} +// +//.mdi-editor-functions:before { +// content: "\e79a"; +//} +// +//.mdi-editor-insert-chart:before { +// content: "\e79b"; +//} +// +//.mdi-editor-insert-comment:before { +// content: "\e79c"; +//} +// +//.mdi-editor-insert-drive-file:before { +// content: "\e79d"; +//} +// +//.mdi-editor-insert-emoticon:before { +// content: "\e79e"; +//} +// +//.mdi-editor-insert-invitation:before { +// content: "\e79f"; +//} +// +//.mdi-editor-insert-link:before { +// content: "\e7a0"; +//} +// +//.mdi-editor-insert-photo:before { +// content: "\e7a1"; +//} +// +//.mdi-editor-merge-type:before { +// content: "\e7a2"; +//} +// +//.mdi-editor-mode-comment:before { +// content: "\e7a3"; +//} +// +//.mdi-editor-mode-edit:before { +// content: "\e7a4"; +//} +// +//.mdi-editor-publish:before { +// content: "\e7a5"; +//} +// +//.mdi-editor-vertical-align-bottom:before { +// content: "\e7a6"; +//} +// +//.mdi-editor-vertical-align-center:before { +// content: "\e7a7"; +//} +// +//.mdi-editor-vertical-align-top:before { +// content: "\e7a8"; +//} +// +//.mdi-editor-wrap-text:before { +// content: "\e7a9"; +//} +// +//.mdi-file-attachment:before { +// content: "\e7aa"; +//} +// +//.mdi-file-cloud-circle:before { +// content: "\e7ab"; +//} +// +//.mdi-file-cloud-done:before { +// content: "\e7ac"; +//} +// +//.mdi-file-cloud-download:before { +// content: "\e7ad"; +//} +// +//.mdi-file-cloud-off:before { +// content: "\e7ae"; +//} +// +//.mdi-file-cloud-queue:before { +// content: "\e7af"; +//} +// +//.mdi-file-cloud-upload:before { +// content: "\e7b0"; +//} +// +//.mdi-file-cloud:before { +// content: "\e7b1"; +//} +// +//.mdi-file-file-download:before { +// content: "\e7b2"; +//} +// +//.mdi-file-file-upload:before { +// content: "\e7b3"; +//} +// +//.mdi-file-folder-open:before { +// content: "\e7b4"; +//} +// +//.mdi-file-folder-shared:before { +// content: "\e7b5"; +//} +// +//.mdi-file-folder:before { +// content: "\e7b6"; +//} +// +//.mdi-device-access-alarm:before { +// content: "\e720"; +//} +// +//.mdi-device-access-alarms:before { +// content: "\e721"; +//} +// +//.mdi-device-access-time:before { +// content: "\e722"; +//} +// +//.mdi-device-add-alarm:before { +// content: "\e723"; +//} +// +//.mdi-device-airplanemode-off:before { +// content: "\e724"; +//} +// +//.mdi-device-airplanemode-on:before { +// content: "\e725"; +//} +// +//.mdi-device-battery-20:before { +// content: "\e726"; +//} +// +//.mdi-device-battery-30:before { +// content: "\e727"; +//} +// +//.mdi-device-battery-50:before { +// content: "\e728"; +//} +// +//.mdi-device-battery-60:before { +// content: "\e729"; +//} +// +//.mdi-device-battery-80:before { +// content: "\e72a"; +//} +// +//.mdi-device-battery-90:before { +// content: "\e72b"; +//} +// +//.mdi-device-battery-alert:before { +// content: "\e72c"; +//} +// +//.mdi-device-battery-charging-20:before { +// content: "\e72d"; +//} +// +//.mdi-device-battery-charging-30:before { +// content: "\e72e"; +//} +// +//.mdi-device-battery-charging-50:before { +// content: "\e72f"; +//} +// +//.mdi-device-battery-charging-60:before { +// content: "\e730"; +//} +// +//.mdi-device-battery-charging-80:before { +// content: "\e731"; +//} +// +//.mdi-device-battery-charging-90:before { +// content: "\e732"; +//} +// +//.mdi-device-battery-charging-full:before { +// content: "\e733"; +//} +// +//.mdi-device-battery-full:before { +// content: "\e734"; +//} +// +//.mdi-device-battery-std:before { +// content: "\e735"; +//} +// +//.mdi-device-battery-unknown:before { +// content: "\e736"; +//} +// +//.mdi-device-bluetooth-connected:before { +// content: "\e737"; +//} +// +//.mdi-device-bluetooth-disabled:before { +// content: "\e738"; +//} +// +//.mdi-device-bluetooth-searching:before { +// content: "\e739"; +//} +// +//.mdi-device-bluetooth:before { +// content: "\e73a"; +//} +// +//.mdi-device-brightness-auto:before { +// content: "\e73b"; +//} +// +//.mdi-device-brightness-high:before { +// content: "\e73c"; +//} +// +//.mdi-device-brightness-low:before { +// content: "\e73d"; +//} +// +//.mdi-device-brightness-medium:before { +// content: "\e73e"; +//} +// +//.mdi-device-data-usage:before { +// content: "\e73f"; +//} +// +//.mdi-device-developer-mode:before { +// content: "\e740"; +//} +// +//.mdi-device-devices:before { +// content: "\e741"; +//} +// +//.mdi-device-dvr:before { +// content: "\e742"; +//} +// +//.mdi-device-gps-fixed:before { +// content: "\e743"; +//} +// +//.mdi-device-gps-not-fixed:before { +// content: "\e744"; +//} +// +//.mdi-device-gps-off:before { +// content: "\e745"; +//} +// +//.mdi-device-location-disabled:before { +// content: "\e746"; +//} +// +//.mdi-device-location-searching:before { +// content: "\e747"; +//} +// +//.mdi-device-multitrack-audio:before { +// content: "\e748"; +//} +// +//.mdi-device-network-cell:before { +// content: "\e749"; +//} +// +//.mdi-device-network-wifi:before { +// content: "\e74a"; +//} +// +//.mdi-device-nfc:before { +// content: "\e74b"; +//} +// +//.mdi-device-now-wallpaper:before { +// content: "\e74c"; +//} +// +//.mdi-device-now-widgets:before { +// content: "\e74d"; +//} +// +//.mdi-device-screen-lock-landscape:before { +// content: "\e74e"; +//} +// +//.mdi-device-screen-lock-portrait:before { +// content: "\e74f"; +//} +// +//.mdi-device-screen-lock-rotation:before { +// content: "\e750"; +//} +// +//.mdi-device-screen-rotation:before { +// content: "\e751"; +//} +// +//.mdi-device-sd-storage:before { +// content: "\e752"; +//} +// +//.mdi-device-settings-system-daydream:before { +// content: "\e753"; +//} +// +//.mdi-device-signal-cellular-0-bar:before { +// content: "\e754"; +//} +// +//.mdi-device-signal-cellular-1-bar:before { +// content: "\e755"; +//} +// +//.mdi-device-signal-cellular-2-bar:before { +// content: "\e756"; +//} +// +//.mdi-device-signal-cellular-3-bar:before { +// content: "\e757"; +//} +// +//.mdi-device-signal-cellular-4-bar:before { +// content: "\e758"; +//} +// +//.mdi-signal-wifi-statusbar-connected-no-internet-after:before { +// content: "\e8f6"; +//} +// +//.mdi-device-signal-cellular-connected-no-internet-0-bar:before { +// content: "\e759"; +//} +// +//.mdi-device-signal-cellular-connected-no-internet-1-bar:before { +// content: "\e75a"; +//} +// +//.mdi-device-signal-cellular-connected-no-internet-2-bar:before { +// content: "\e75b"; +//} +// +//.mdi-device-signal-cellular-connected-no-internet-3-bar:before { +// content: "\e75c"; +//} +// +//.mdi-device-signal-cellular-connected-no-internet-4-bar:before { +// content: "\e75d"; +//} +// +//.mdi-device-signal-cellular-no-sim:before { +// content: "\e75e"; +//} +// +//.mdi-device-signal-cellular-null:before { +// content: "\e75f"; +//} +// +//.mdi-device-signal-cellular-off:before { +// content: "\e760"; +//} +// +//.mdi-device-signal-wifi-0-bar:before { +// content: "\e761"; +//} +// +//.mdi-device-signal-wifi-1-bar:before { +// content: "\e762"; +//} +// +//.mdi-device-signal-wifi-2-bar:before { +// content: "\e763"; +//} +// +//.mdi-device-signal-wifi-3-bar:before { +// content: "\e764"; +//} +// +//.mdi-device-signal-wifi-4-bar:before { +// content: "\e765"; +//} +// +//.mdi-device-signal-wifi-off:before { +// content: "\e766"; +//} +// +//.mdi-device-signal-wifi-statusbar-1-bar:before { +// content: "\e767"; +//} +// +//.mdi-device-signal-wifi-statusbar-2-bar:before { +// content: "\e768"; +//} +// +//.mdi-device-signal-wifi-statusbar-3-bar:before { +// content: "\e769"; +//} +// +//.mdi-device-signal-wifi-statusbar-4-bar:before { +// content: "\e76a"; +//} +// +//.mdi-device-signal-wifi-statusbar-connected-no-internet-:before { +// content: "\e76b"; +//} +// +//.mdi-device-signal-wifi-statusbar-connected-no-internet:before { +// content: "\e76f"; +//} +// +//.mdi-device-signal-wifi-statusbar-connected-no-internet-2:before { +// content: "\e76c"; +//} +// +//.mdi-device-signal-wifi-statusbar-connected-no-internet-3:before { +// content: "\e76d"; +//} +// +//.mdi-device-signal-wifi-statusbar-connected-no-internet-4:before { +// content: "\e76e"; +//} +// +//.mdi-signal-wifi-statusbar-not-connected-after:before { +// content: "\e8f7"; +//} +// +//.mdi-device-signal-wifi-statusbar-not-connected:before { +// content: "\e770"; +//} +// +//.mdi-device-signal-wifi-statusbar-null:before { +// content: "\e771"; +//} +// +//.mdi-device-storage:before { +// content: "\e772"; +//} +// +//.mdi-device-usb:before { +// content: "\e773"; +//} +// +//.mdi-device-wifi-lock:before { +// content: "\e774"; +//} +// +//.mdi-device-wifi-tethering:before { +// content: "\e775"; +//} +// +//.mdi-hardware-cast-connected:before { +// content: "\e7b7"; +//} +// +//.mdi-hardware-cast:before { +// content: "\e7b8"; +//} +// +//.mdi-hardware-computer:before { +// content: "\e7b9"; +//} +// +//.mdi-hardware-desktop-mac:before { +// content: "\e7ba"; +//} +// +//.mdi-hardware-desktop-windows:before { +// content: "\e7bb"; +//} +// +//.mdi-hardware-dock:before { +// content: "\e7bc"; +//} +// +//.mdi-hardware-gamepad:before { +// content: "\e7bd"; +//} +// +//.mdi-hardware-headset-mic:before { +// content: "\e7be"; +//} +// +//.mdi-hardware-headset:before { +// content: "\e7bf"; +//} +// +//.mdi-hardware-keyboard-alt:before { +// content: "\e7c0"; +//} +// +//.mdi-hardware-keyboard-arrow-down:before { +// content: "\e7c1"; +//} +// +//.mdi-hardware-keyboard-arrow-left:before { +// content: "\e7c2"; +//} +// +//.mdi-hardware-keyboard-arrow-right:before { +// content: "\e7c3"; +//} +// +//.mdi-hardware-keyboard-arrow-up:before { +// content: "\e7c4"; +//} +// +//.mdi-hardware-keyboard-backspace:before { +// content: "\e7c5"; +//} +// +//.mdi-hardware-keyboard-capslock:before { +// content: "\e7c6"; +//} +// +//.mdi-hardware-keyboard-control:before { +// content: "\e7c7"; +//} +// +//.mdi-hardware-keyboard-hide:before { +// content: "\e7c8"; +//} +// +//.mdi-hardware-keyboard-return:before { +// content: "\e7c9"; +//} +// +//.mdi-hardware-keyboard-tab:before { +// content: "\e7ca"; +//} +// +//.mdi-hardware-keyboard-voice:before { +// content: "\e7cb"; +//} +// +//.mdi-hardware-keyboard:before { +// content: "\e7cc"; +//} +// +//.mdi-hardware-laptop-chromebook:before { +// content: "\e7cd"; +//} +// +//.mdi-hardware-laptop-mac:before { +// content: "\e7ce"; +//} +// +//.mdi-hardware-laptop-windows:before { +// content: "\e7cf"; +//} +// +//.mdi-hardware-laptop:before { +// content: "\e7d0"; +//} +// +//.mdi-hardware-memory:before { +// content: "\e7d1"; +//} +// +//.mdi-hardware-mouse:before { +// content: "\e7d2"; +//} +// +//.mdi-hardware-phone-android:before { +// content: "\e7d3"; +//} +// +//.mdi-hardware-phone-iphone:before { +// content: "\e7d4"; +//} +// +//.mdi-hardware-phonelink-off:before { +// content: "\e7d5"; +//} +// +//.mdi-hardware-phonelink:before { +// content: "\e7d6"; +//} +// +//.mdi-hardware-security:before { +// content: "\e7d7"; +//} +// +//.mdi-hardware-sim-card:before { +// content: "\e7d8"; +//} +// +//.mdi-hardware-smartphone:before { +// content: "\e7d9"; +//} +// +//.mdi-hardware-speaker:before { +// content: "\e7da"; +//} +// +//.mdi-hardware-tablet-android:before { +// content: "\e7db"; +//} +// +//.mdi-hardware-tablet-mac:before { +// content: "\e7dc"; +//} +// +//.mdi-hardware-tablet:before { +// content: "\e7dd"; +//} +// +//.mdi-hardware-tv:before { +// content: "\e7de"; +//} +// +//.mdi-hardware-watch:before { +// content: "\e7df"; +//} +// +//.mdi-image-add-to-photos:before { +// content: "\e7e0"; +//} +// +//.mdi-image-adjust:before { +// content: "\e7e1"; +//} +// +//.mdi-image-assistant-photo:before { +// content: "\e7e2"; +//} +// +//.mdi-image-audiotrack:before { +// content: "\e7e3"; +//} +// +//.mdi-image-blur-circular:before { +// content: "\e7e4"; +//} +// +//.mdi-image-blur-linear:before { +// content: "\e7e5"; +//} +// +//.mdi-image-blur-off:before { +// content: "\e7e6"; +//} +// +//.mdi-image-blur-on:before { +// content: "\e7e7"; +//} +// +//.mdi-image-brightness-1:before { +// content: "\e7e8"; +//} +// +//.mdi-image-brightness-2:before { +// content: "\e7e9"; +//} +// +//.mdi-image-brightness-3:before { +// content: "\e7ea"; +//} +// +//.mdi-image-brightness-4:before { +// content: "\e7eb"; +//} +// +//.mdi-image-brightness-5:before { +// content: "\e7ec"; +//} +// +//.mdi-image-brightness-6:before { +// content: "\e7ed"; +//} +// +//.mdi-image-brightness-7:before { +// content: "\e7ee"; +//} +// +//.mdi-image-brush:before { +// content: "\e7ef"; +//} +// +//.mdi-image-camera-alt:before { +// content: "\e7f0"; +//} +// +//.mdi-image-camera-front:before { +// content: "\e7f1"; +//} +// +//.mdi-image-camera-rear:before { +// content: "\e7f2"; +//} +// +//.mdi-image-camera-roll:before { +// content: "\e7f3"; +//} +// +//.mdi-image-camera:before { +// content: "\e7f4"; +//} +// +//.mdi-image-center-focus-strong:before { +// content: "\e7f5"; +//} +// +//.mdi-image-center-focus-weak:before { +// content: "\e7f6"; +//} +// +//.mdi-image-collections:before { +// content: "\e7f7"; +//} +// +//.mdi-image-color-lens:before { +// content: "\e7f8"; +//} +// +//.mdi-image-colorize:before { +// content: "\e7f9"; +//} +// +//.mdi-image-compare:before { +// content: "\e7fa"; +//} +// +//.mdi-image-control-point-duplicate:before { +// content: "\e7fb"; +//} +// +//.mdi-image-control-point:before { +// content: "\e7fc"; +//} +// +//.mdi-image-crop-3-2:before { +// content: "\e7fd"; +//} +// +//.mdi-image-crop-5-4:before { +// content: "\e7fe"; +//} +// +//.mdi-image-crop-7-5:before { +// content: "\e7ff"; +//} +// +//.mdi-image-crop-16-9:before { +// content: "\e800"; +//} +// +//.mdi-image-crop-din:before { +// content: "\e801"; +//} +// +//.mdi-image-crop-free:before { +// content: "\e802"; +//} +// +//.mdi-image-crop-landscape:before { +// content: "\e803"; +//} +// +//.mdi-image-crop-original:before { +// content: "\e804"; +//} +// +//.mdi-image-crop-portrait:before { +// content: "\e805"; +//} +// +//.mdi-image-crop-square:before { +// content: "\e806"; +//} +// +//.mdi-image-crop:before { +// content: "\e807"; +//} +// +//.mdi-image-dehaze:before { +// content: "\e808"; +//} +// +//.mdi-image-details:before { +// content: "\e809"; +//} +// +//.mdi-image-edit:before { +// content: "\e80a"; +//} +// +//.mdi-image-exposure-minus-1:before { +// content: "\e80b"; +//} +// +//.mdi-image-exposure-minus-2:before { +// content: "\e80c"; +//} +// +//.mdi-image-exposure-plus-1:before { +// content: "\e80d"; +//} +// +//.mdi-image-exposure-plus-2:before { +// content: "\e80e"; +//} +// +//.mdi-image-exposure-zero:before { +// content: "\e80f"; +//} +// +//.mdi-image-exposure:before { +// content: "\e810"; +//} +// +//.mdi-image-filter-1:before { +// content: "\e811"; +//} +// +//.mdi-image-filter-2:before { +// content: "\e812"; +//} +// +//.mdi-image-filter-3:before { +// content: "\e813"; +//} +// +//.mdi-image-filter-4:before { +// content: "\e814"; +//} +// +//.mdi-image-filter-5:before { +// content: "\e815"; +//} +// +//.mdi-image-filter-6:before { +// content: "\e816"; +//} +// +//.mdi-image-filter-7:before { +// content: "\e817"; +//} +// +//.mdi-image-filter-8:before { +// content: "\e818"; +//} +// +//.mdi-image-filter-9-plus:before { +// content: "\e819"; +//} +// +//.mdi-image-filter-9:before { +// content: "\e81a"; +//} +// +//.mdi-image-filter-b-and-w:before { +// content: "\e81b"; +//} +// +//.mdi-image-filter-center-focus:before { +// content: "\e81c"; +//} +// +//.mdi-image-filter-drama:before { +// content: "\e81d"; +//} +// +//.mdi-image-filter-frames:before { +// content: "\e81e"; +//} +// +//.mdi-image-filter-hdr:before { +// content: "\e81f"; +//} +// +//.mdi-image-filter-none:before { +// content: "\e820"; +//} +// +//.mdi-image-filter-tilt-shift:before { +// content: "\e821"; +//} +// +//.mdi-image-filter-vintage:before { +// content: "\e822"; +//} +// +//.mdi-image-filter:before { +// content: "\e823"; +//} +// +//.mdi-image-flare:before { +// content: "\e824"; +//} +// +//.mdi-image-flash-auto:before { +// content: "\e825"; +//} +// +//.mdi-image-flash-off:before { +// content: "\e826"; +//} +// +//.mdi-image-flash-on:before { +// content: "\e827"; +//} +// +//.mdi-image-flip:before { +// content: "\e828"; +//} +// +//.mdi-image-gradient:before { +// content: "\e829"; +//} +// +//.mdi-image-grain:before { +// content: "\e82a"; +//} +// +//.mdi-image-grid-off:before { +// content: "\e82b"; +//} +// +//.mdi-image-grid-on:before { +// content: "\e82c"; +//} +// +//.mdi-image-hdr-off:before { +// content: "\e82d"; +//} +// +//.mdi-image-hdr-on:before { +// content: "\e82e"; +//} +// +//.mdi-image-hdr-strong:before { +// content: "\e82f"; +//} +// +//.mdi-image-hdr-weak:before { +// content: "\e830"; +//} +// +//.mdi-image-healing:before { +// content: "\e831"; +//} +// +//.mdi-image-image-aspect-ratio:before { +// content: "\e832"; +//} +// +//.mdi-image-image:before { +// content: "\e833"; +//} +// +//.mdi-image-iso:before { +// content: "\e834"; +//} +// +//.mdi-image-landscape:before { +// content: "\e835"; +//} +// +//.mdi-image-leak-add:before { +// content: "\e836"; +//} +// +//.mdi-image-leak-remove:before { +// content: "\e837"; +//} +// +//.mdi-image-lens:before { +// content: "\e838"; +//} +// +//.mdi-image-looks-3:before { +// content: "\e839"; +//} +// +//.mdi-image-looks-4:before { +// content: "\e83a"; +//} +// +//.mdi-image-looks-5:before { +// content: "\e83b"; +//} +// +//.mdi-image-looks-6:before { +// content: "\e83c"; +//} +// +//.mdi-image-looks-one:before { +// content: "\e83d"; +//} +// +//.mdi-image-looks-two:before { +// content: "\e83e"; +//} +// +//.mdi-image-looks:before { +// content: "\e83f"; +//} +// +//.mdi-image-loupe:before { +// content: "\e840"; +//} +// +//.mdi-image-movie-creation:before { +// content: "\e841"; +//} +// +//.mdi-image-nature-people:before { +// content: "\e842"; +//} +// +//.mdi-image-nature:before { +// content: "\e843"; +//} +// +//.mdi-image-navigate-before:before { +// content: "\e844"; +//} +// +//.mdi-image-navigate-next:before { +// content: "\e845"; +//} +// +//.mdi-image-palette:before { +// content: "\e846"; +//} +// +//.mdi-image-panorama-fisheye:before { +// content: "\e847"; +//} +// +//.mdi-image-panorama-horizontal:before { +// content: "\e848"; +//} +// +//.mdi-image-panorama-vertical:before { +// content: "\e849"; +//} +// +//.mdi-image-panorama-wide-angle:before { +// content: "\e84a"; +//} +// +//.mdi-image-panorama:before { +// content: "\e84b"; +//} +// +//.mdi-image-photo-album:before { +// content: "\e84c"; +//} +// +//.mdi-image-photo-camera:before { +// content: "\e84d"; +//} +// +//.mdi-image-photo-library:before { +// content: "\e84e"; +//} +// +//.mdi-image-photo:before { +// content: "\e84f"; +//} +// +//.mdi-image-portrait:before { +// content: "\e850"; +//} +// +//.mdi-image-remove-red-eye:before { +// content: "\e851"; +//} +// +//.mdi-image-rotate-left:before { +// content: "\e852"; +//} +// +//.mdi-image-rotate-right:before { +// content: "\e853"; +//} +// +//.mdi-image-slideshow:before { +// content: "\e854"; +//} +// +//.mdi-image-straighten:before { +// content: "\e855"; +//} +// +//.mdi-image-style:before { +// content: "\e856"; +//} +// +//.mdi-image-switch-camera:before { +// content: "\e857"; +//} +// +//.mdi-image-switch-video:before { +// content: "\e858"; +//} +// +//.mdi-image-tag-faces:before { +// content: "\e859"; +//} +// +//.mdi-image-texture:before { +// content: "\e85a"; +//} +// +//.mdi-image-timelapse:before { +// content: "\e85b"; +//} +// +//.mdi-image-timer-3:before { +// content: "\e85c"; +//} +// +//.mdi-image-timer-10:before { +// content: "\e85d"; +//} +// +//.mdi-image-timer-auto:before { +// content: "\e85e"; +//} +// +//.mdi-image-timer-off:before { +// content: "\e85f"; +//} +// +//.mdi-image-timer:before { +// content: "\e860"; +//} +// +//.mdi-image-tonality:before { +// content: "\e861"; +//} +// +//.mdi-image-transform:before { +// content: "\e862"; +//} +// +//.mdi-image-tune:before { +// content: "\e863"; +//} +// +//.mdi-image-wb-auto:before { +// content: "\e864"; +//} +// +//.mdi-image-wb-cloudy:before { +// content: "\e865"; +//} +// +//.mdi-image-wb-incandescent:before { +// content: "\e866"; +//} +// +//.mdi-image-wb-irradescent:before { +// content: "\e867"; +//} +// +//.mdi-image-wb-sunny:before { +// content: "\e868"; +//} +// +//.mdi-maps-beenhere:before { +// content: "\e869"; +//} +// +//.mdi-maps-directions-bike:before { +// content: "\e86a"; +//} +// +//.mdi-maps-directions-bus:before { +// content: "\e86b"; +//} +// +//.mdi-maps-directions-car:before { +// content: "\e86c"; +//} +// +//.mdi-maps-directions-ferry:before { +// content: "\e86d"; +//} +// +//.mdi-maps-directions-subway:before { +// content: "\e86e"; +//} +// +//.mdi-maps-directions-train:before { +// content: "\e86f"; +//} +// +//.mdi-maps-directions-transit:before { +// content: "\e870"; +//} +// +//.mdi-maps-directions-walk:before { +// content: "\e871"; +//} +// +//.mdi-maps-directions:before { +// content: "\e872"; +//} +// +//.mdi-maps-flight:before { +// content: "\e873"; +//} +// +//.mdi-maps-hotel:before { +// content: "\e874"; +//} +// +//.mdi-maps-layers-clear:before { +// content: "\e875"; +//} +// +//.mdi-maps-layers:before { +// content: "\e876"; +//} +// +//.mdi-maps-local-airport:before { +// content: "\e877"; +//} +// +//.mdi-maps-local-atm:before { +// content: "\e878"; +//} +// +//.mdi-maps-local-attraction:before { +// content: "\e879"; +//} +// +//.mdi-maps-local-bar:before { +// content: "\e87a"; +//} +// +//.mdi-maps-local-cafe:before { +// content: "\e87b"; +//} +// +//.mdi-maps-local-car-wash:before { +// content: "\e87c"; +//} +// +//.mdi-maps-local-convenience-store:before { +// content: "\e87d"; +//} +// +//.mdi-maps-local-drink:before { +// content: "\e87e"; +//} +// +//.mdi-maps-local-florist:before { +// content: "\e87f"; +//} +// +//.mdi-maps-local-gas-station:before { +// content: "\e880"; +//} +// +//.mdi-maps-local-grocery-store:before { +// content: "\e881"; +//} +// +//.mdi-maps-local-hospital:before { +// content: "\e882"; +//} +// +//.mdi-maps-local-hotel:before { +// content: "\e883"; +//} +// +//.mdi-maps-local-laundry-service:before { +// content: "\e884"; +//} +// +//.mdi-maps-local-library:before { +// content: "\e885"; +//} +// +//.mdi-maps-local-mall:before { +// content: "\e886"; +//} +// +//.mdi-maps-local-movies:before { +// content: "\e887"; +//} +// +//.mdi-maps-local-offer:before { +// content: "\e888"; +//} +// +//.mdi-maps-local-parking:before { +// content: "\e889"; +//} +// +//.mdi-maps-local-pharmacy:before { +// content: "\e88a"; +//} +// +//.mdi-maps-local-phone:before { +// content: "\e88b"; +//} +// +//.mdi-maps-local-pizza:before { +// content: "\e88c"; +//} +// +//.mdi-maps-local-play:before { +// content: "\e88d"; +//} +// +//.mdi-maps-local-post-office:before { +// content: "\e88e"; +//} +// +//.mdi-maps-local-print-shop:before { +// content: "\e88f"; +//} +// +//.mdi-maps-local-restaurant:before { +// content: "\e890"; +//} +// +//.mdi-maps-local-see:before { +// content: "\e891"; +//} +// +//.mdi-maps-local-shipping:before { +// content: "\e892"; +//} +// +//.mdi-maps-local-taxi:before { +// content: "\e893"; +//} +// +//.mdi-maps-location-history:before { +// content: "\e894"; +//} +// +//.mdi-maps-map:before { +// content: "\e895"; +//} +// +//.mdi-maps-my-location:before { +// content: "\e896"; +//} +// +//.mdi-maps-navigation:before { +// content: "\e897"; +//} +// +//.mdi-maps-pin-drop:before { +// content: "\e898"; +//} +// +//.mdi-maps-place:before { +// content: "\e899"; +//} +// +//.mdi-maps-rate-review:before { +// content: "\e89a"; +//} +// +//.mdi-maps-restaurant-menu:before { +// content: "\e89b"; +//} +// +//.mdi-maps-satellite:before { +// content: "\e89c"; +//} +// +//.mdi-maps-store-mall-directory:before { +// content: "\e89d"; +//} +// +//.mdi-maps-terrain:before { +// content: "\e89e"; +//} +// +//.mdi-maps-traffic:before { +// content: "\e89f"; +//} +// +//.mdi-navigation-apps:before { +// content: "\e8a0"; +//} +// +//.mdi-navigation-arrow-back:before { +// content: "\e8a1"; +//} +// +//.mdi-navigation-arrow-drop-down-circle:before { +// content: "\e8a2"; +//} +// +//.mdi-navigation-arrow-drop-down:before { +// content: "\e8a3"; +//} +// +//.mdi-navigation-arrow-drop-up:before { +// content: "\e8a4"; +//} +// +//.mdi-navigation-arrow-forward:before { +// content: "\e8a5"; +//} +// +//.mdi-navigation-cancel:before { +// content: "\e8a6"; +//} +// +//.mdi-navigation-check:before { +// content: "\e8a7"; +//} +// +//.mdi-navigation-chevron-left:before { +// content: "\e8a8"; +//} +// +//.mdi-navigation-chevron-right:before { +// content: "\e8a9"; +//} +// +//.mdi-navigation-close:before { +// content: "\e8aa"; +//} +// +//.mdi-navigation-expand-less:before { +// content: "\e8ab"; +//} +// +//.mdi-navigation-expand-more:before { +// content: "\e8ac"; +//} +// +//.mdi-navigation-fullscreen-exit:before { +// content: "\e8ad"; +//} +// +//.mdi-navigation-fullscreen:before { +// content: "\e8ae"; +//} +// +//.mdi-navigation-menu:before { +// content: "\e8af"; +//} +// +//.mdi-navigation-more-horiz:before { +// content: "\e8b0"; +//} +// +//.mdi-navigation-more-vert:before { +// content: "\e8b1"; +//} +// +//.mdi-navigation-refresh:before { +// content: "\e8b2"; +//} +// +//.mdi-navigation-unfold-less:before { +// content: "\e8b3"; +//} +// +//.mdi-navigation-unfold-more:before { +// content: "\e8b4"; +//} +// +//.mdi-notification-adb:before { +// content: "\e8b5"; +//} +// +//.mdi-notification-bluetooth-audio:before { +// content: "\e8b6"; +//} +// +//.mdi-notification-disc-full:before { +// content: "\e8b7"; +//} +// +//.mdi-notification-dnd-forwardslash:before { +// content: "\e8b8"; +//} +// +//.mdi-notification-do-not-disturb:before { +// content: "\e8b9"; +//} +// +//.mdi-notification-drive-eta:before { +// content: "\e8ba"; +//} +// +//.mdi-notification-event-available:before { +// content: "\e8bb"; +//} +// +//.mdi-notification-event-busy:before { +// content: "\e8bc"; +//} +// +//.mdi-notification-event-note:before { +// content: "\e8bd"; +//} +// +//.mdi-notification-folder-special:before { +// content: "\e8be"; +//} +// +//.mdi-notification-mms:before { +// content: "\e8bf"; +//} +// +//.mdi-notification-more:before { +// content: "\e8c0"; +//} +// +//.mdi-notification-network-locked:before { +// content: "\e8c1"; +//} +// +//.mdi-notification-phone-bluetooth-speaker:before { +// content: "\e8c2"; +//} +// +//.mdi-notification-phone-forwarded:before { +// content: "\e8c3"; +//} +// +//.mdi-notification-phone-in-talk:before { +// content: "\e8c4"; +//} +// +//.mdi-notification-phone-locked:before { +// content: "\e8c5"; +//} +// +//.mdi-notification-phone-missed:before { +// content: "\e8c6"; +//} +// +//.mdi-notification-phone-paused:before { +// content: "\e8c7"; +//} +// +//.mdi-notification-play-download:before { +// content: "\e8c8"; +//} +// +//.mdi-notification-play-install:before { +// content: "\e8c9"; +//} +// +//.mdi-notification-sd-card:before { +// content: "\e8ca"; +//} +// +//.mdi-notification-sim-card-alert:before { +// content: "\e8cb"; +//} +// +//.mdi-notification-sms-failed:before { +// content: "\e8cc"; +//} +// +//.mdi-notification-sms:before { +// content: "\e8cd"; +//} +// +//.mdi-notification-sync-disabled:before { +// content: "\e8ce"; +//} +// +//.mdi-notification-sync-problem:before { +// content: "\e8cf"; +//} +// +//.mdi-notification-sync:before { +// content: "\e8d0"; +//} +// +//.mdi-notification-system-update:before { +// content: "\e8d1"; +//} +// +//.mdi-notification-tap-and-play:before { +// content: "\e8d2"; +//} +// +//.mdi-notification-time-to-leave:before { +// content: "\e8d3"; +//} +// +//.mdi-notification-vibration:before { +// content: "\e8d4"; +//} +// +//.mdi-notification-voice-chat:before { +// content: "\e8d5"; +//} +// +//.mdi-notification-vpn-lock:before { +// content: "\e8d6"; +//} +// +//.mdi-social-cake:before { +// content: "\e8d7"; +//} +// +//.mdi-social-domain:before { +// content: "\e8d8"; +//} +// +//.mdi-social-group-add:before { +// content: "\e8d9"; +//} +// +//.mdi-social-group:before { +// content: "\e8da"; +//} +// +//.mdi-social-location-city:before { +// content: "\e8db"; +//} +// +//.mdi-social-mood:before { +// content: "\e8dc"; +//} +// +//.mdi-social-notifications-none:before { +// content: "\e8dd"; +//} +// +//.mdi-social-notifications-off:before { +// content: "\e8de"; +//} +// +//.mdi-social-notifications-on:before { +// content: "\e8df"; +//} +// +//.mdi-social-notifications-paused:before { +// content: "\e8e0"; +//} +// +//.mdi-social-notifications:before { +// content: "\e8e1"; +//} +// +//.mdi-social-pages:before { +// content: "\e8e2"; +//} +// +//.mdi-social-party-mode:before { +// content: "\e8e3"; +//} +// +//.mdi-social-people-outline:before { +// content: "\e8e4"; +//} +// +//.mdi-social-people:before { +// content: "\e8e5"; +//} +// +//.mdi-social-person-add:before { +// content: "\e8e6"; +//} +// +//.mdi-social-person-outline:before { +// content: "\e8e7"; +//} +// +//.mdi-social-person:before { +// content: "\e8e8"; +//} +// +//.mdi-social-plus-one:before { +// content: "\e8e9"; +//} +// +//.mdi-social-poll:before { +// content: "\e8ea"; +//} +// +//.mdi-social-public:before { +// content: "\e8eb"; +//} +// +//.mdi-social-school:before { +// content: "\e8ec"; +//} +// +//.mdi-social-share:before { +// content: "\e8ed"; +//} +// +//.mdi-social-whatshot:before { +// content: "\e8ee"; +//} +// +//.mdi-toggle-check-box-outline-blank:before { +// content: "\e8ef"; +//} +// +//.mdi-toggle-check-box:before { +// content: "\e8f0"; +//} +// +//.mdi-toggle-radio-button-off:before { +// content: "\e8f1"; +//} +// +//.mdi-toggle-radio-button-on:before { +// content: "\e8f2"; +//} +// +//.mdi-toggle-star-half:before { +// content: "\e8f3"; +//} +// +//.mdi-toggle-star-outline:before { +// content: "\e8f4"; +//} +// +//.mdi-toggle-star:before { +// content: "\e8f5"; +//} diff --git a/less/_icons.less b/less/_icons.less index 7a9cd02f..cbef2042 100644 --- a/less/_icons.less +++ b/less/_icons.less @@ -1,5 +1,21 @@ -.mdi, icon { - .variations(~"", color, @lightbg-text); - line-height: inherit; - vertical-align: bottom; -} +// http://google.github.io/material-design-icons/#setup-method-1-using-via-google-web-fonts + +// icons as ligatures http://google.github.io/material-design-icons/#using-the-icons-in-html +// face + + +// use something like this to generically style disabled and muted, etc based on color variables? +//.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); } +//.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); } +// +//.material-icons.md-light { color: rgba(255, 255, 255, 1); } +//.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); } + + + + +//.mdi, icon { +// .variations(~"", color, @mdb-text-color-primary); +// line-height: inherit; +// vertical-align: bottom; +//} diff --git a/less/_import-bs-less.less b/less/_import-bs-less.less index 19b26852..4e075e73 100644 --- a/less/_import-bs-less.less +++ b/less/_import-bs-less.less @@ -1,2 +1,2 @@ -@import "../bower_components/bootstrap/less/variables.less"; -//@import "../bower_components/bootstrap/less/mixins.less"; +@import "@{mdb-dependency-packages}/bootstrap/less/variables.less"; +//@import "@{mdb-dependency-packages}/bootstrap/less/mixins.less"; diff --git a/less/_inputs.less b/less/_inputs.less index f425a2e0..6e90dd4b 100644 --- a/less/_inputs.less +++ b/less/_inputs.less @@ -1,5 +1,11 @@ @import '_inputs-size.less'; +// label variations +.label { + border-radius: 1px; + .variations(~".label", ~"", background-color, @grey); +} + // must be broken out for reuse - webkit selector breaks firefox .label-static(@label-top, @static-font-size, @static-line-height) { label.control-label { @@ -184,6 +190,12 @@ } } + // hint to browser for optimization + // TODO: evaluate effectiveness - looking for community feedback + &.label-floating label.control-label { + will-change: left, top, contents; + } + // hide label-placeholders when the field is not empty &.label-placeholder:not(.is-empty){ label.control-label{ @@ -230,11 +242,6 @@ } } - // SASS conversion note: please mirror any content change in _mixins-shared.scss bg-img-variations-content - .generic-variations(~".is-focused .form-control", @brand-primary, { - background-image: linear-gradient(@mdb-color, @mdb-color), linear-gradient(@mdb-input-underline-color, @mdb-input-underline-color); - }); - .form-group-validation-state(has-warning, @brand-warning); .form-group-validation-state(has-error, @brand-danger); .form-group-validation-state(has-success, @brand-success); diff --git a/less/_labels.less b/less/_labels.less deleted file mode 100644 index cd7a9ec4..00000000 --- a/less/_labels.less +++ /dev/null @@ -1,4 +0,0 @@ -.label { - border-radius: 1px; - .variations(~"", background-color, @grey); -} diff --git a/less/_lists.less b/less/_lists.less index 2ee6896d..1eeabc8f 100644 --- a/less/_lists.less +++ b/less/_lists.less @@ -83,7 +83,7 @@ outline: 10px solid rgba(0,0,0,.15); } .list-group-item-heading, .list-group-item-text { - color: @lightbg-text; + color: @mdb-text-color-primary; } } diff --git a/less/_mixins.less b/less/_mixins.less index 0fa0ad0b..aedf7bb9 100755 --- a/less/_mixins.less +++ b/less/_mixins.less @@ -7,29 +7,29 @@ // usage: .variations(~" .check", color, transparent); -.variations(@extra, @property, @default) { - .generic-variations(@extra, @default, { - @{property}: @mdb-color; +.variations(@component, @selector-suffix, @property, @color-default) { + .generic-variations(@component, @selector-suffix, @color-default, { + @{property}: @variation-color; }); } -.background-variations(@extra, @default) { - .generic-variations(@extra, @default, { - background-color: @mdb-color; - & when (@mdb-color = @btn-default) { - color: @lightbg-text; +.background-variations(@component, @selector-suffix, @color-default) { + .generic-variations(@component, @selector-suffix, @color-default, { + background-color: @variation-color; + & when (@variation-color = @mdb-btn-background-color) { + color: @mdb-text-color-primary; } - & when not (@mdb-color = @btn-default) { - color: @mdb-text-color; + & when not (@variation-color = @mdb-btn-background-color) { + color: @variation-color-text; } }); } -.text-variations(@extra, @default) { - .generic-variations(@extra, @default, { - color: @mdb-color; +.text-variations(@component, @selector-suffix, @color-default) { + .generic-variations(@component, @selector-suffix, @color-default, { + color: @variation-color; }); } @@ -39,122 +39,48 @@ // To use this mixin you should pass a function as final parameter to define // the style. In that definition you can use the following variables to define it. // -// @mdb-color-name ---> "red", "green", "indigo" ... -// @mdb-color-full-name ---> "red", "green-50", "indigo-400" ... -// @mdb-color ---> #f44336, #e8f5e9, #5c6bc0 ... -// @mdb-text-color ---> rgba(255,255,255,0.84), rgba(0,0,0,0.84), rgba(255,255,255,0.84) ... +// @component: ~".btn" - one of the bs components that have -default, -danger, etc. +// @variation-color +// @variation-color-text // - - -.generic-variations(@extra, @default, @func) { - +.generic-variations(@component, @selector-suffix, @color-default, @func) { @contrast-factor: 40%; - // bootstrap styles - &@{extra}, - &-default@{extra} { - //@mdb-color-name: "default"; - //@mdb-color-full-name: @mdb-color-name; - @mdb-color: @default; - @mdb-text-color: @darkbg-text; + //&@{selector-suffix}, + &@{component}-default@{selector-suffix} { + @variation-color: @color-default; + @variation-color-text: @mdb-text-color-light; @func(); } - //&-black@{extra} { - // //@mdb-color-name: "black"; - // //@mdb-color-full-name: @mdb-color-name; - // @mdb-color: @black; - // @mdb-text-color: @darkbg-text; - // @func(); - //} - //&-white@{extra} { - // //@mdb-color-name: "white"; - // //@mdb-color-full-name: @mdb-color-name; - // @mdb-color: @white; - // @mdb-text-color: @lightbg-text; - // @func(); - //} - &-inverse@{extra} { - //@mdb-color-name: "inverse"; - //@mdb-color-full-name: @mdb-color-name; - @mdb-color: @inverse; - @mdb-text-color: contrast(@inverse, @lightbg-text, @darkbg-text, @contrast-factor); + &@{component}-inverse@{selector-suffix} { + @variation-color: @mdb-brand-inverse; + //@variation-color-text: contrast(@mdb-brand-inverse, @mdb-text-color-primary, @mdb-text-color-light, @contrast-factor); + @variation-color-text: contrast(@mdb-brand-inverse, @mdb-text-color-primary-hex, @mdb-text-color-light-hex, @contrast-factor); @func(); } - &-primary@{extra} { - //@mdb-color-name: "primary"; - //@mdb-color-full-name: @mdb-color-name; - @mdb-color: @brand-primary; - @mdb-text-color: @darkbg-text; + &@{component}-primary@{selector-suffix} { + @variation-color: @brand-primary; + @variation-color-text: @mdb-text-color-light; @func(); } - &-success@{extra} { - //@mdb-color-name: "success"; - //@mdb-color-full-name: @mdb-color-name; - @mdb-color: @brand-success; - @mdb-text-color: @darkbg-text; + &@{component}-success@{selector-suffix} { + @variation-color: @brand-success; + @variation-color-text: @mdb-text-color-light; @func(); } - &-info@{extra} { - //@mdb-color-name: "info"; - //@mdb-color-full-name: @mdb-color-name; - @mdb-color: @brand-info; - @mdb-text-color: @darkbg-text; + &@{component}-info@{selector-suffix} { + @variation-color: @brand-info; + @variation-color-text: @mdb-text-color-light; @func(); } - &-warning@{extra} { - //@mdb-color-name: "warning"; - //@mdb-color-full-name: @mdb-color-name; - @mdb-color: @brand-warning; - @mdb-text-color: @darkbg-text; + &@{component}-warning@{selector-suffix} { + @variation-color: @brand-warning; + @variation-color-text: @mdb-text-color-light; @func(); } - &-danger@{extra} { - //@mdb-color-name: "danger"; - //@mdb-color-full-name: @mdb-color-name; - @mdb-color: @brand-danger; - @mdb-text-color: @darkbg-text; + &@{component}-danger@{selector-suffix} { + @variation-color: @brand-danger; + @variation-color-text: @mdb-text-color-light; @func(); } - - //// given a color build multiples dephs - //.generic-variations-factory(@mdb-color-name) { - // - // // given a color and its deph build css - // .generic-variations-factory-deep(@mdb-color-number) { - // - // &-material-@{mdb-color-name}@{mdb-color-number}@{extra} { - // @mdb-color-full-name: "@{mdb-color-name}@{mdb-color-number}"; - // @mdb-color: @@mdb-color-full-name; - // @mdb-text-color: contrast(@mdb-color, @lightbg-text, @darkbg-text, @contrast-factor); - // @func(); - // } - // - // } - // - // .generic-variations-factory-deep(~""); - //} - // - //.generic-variations-factory(~"red"); - //.generic-variations-factory(~"pink"); - //.generic-variations-factory(~"purple"); - //.generic-variations-factory(~"deep-purple"); - //.generic-variations-factory(~"indigo"); - //.generic-variations-factory(~"blue"); - //.generic-variations-factory(~"light-blue"); - //.generic-variations-factory(~"cyan"); - //.generic-variations-factory(~"teal"); - //.generic-variations-factory(~"green"); - //.generic-variations-factory(~"light-green"); - //.generic-variations-factory(~"lime"); - //.generic-variations-factory(~"yellow"); - //.generic-variations-factory(~"amber"); - //.generic-variations-factory(~"orange"); - //.generic-variations-factory(~"deep-orange"); - //.generic-variations-factory(~"brown"); - //.generic-variations-factory(~"grey"); - //.generic-variations-factory(~"blue-grey"); - } - - -//@all-variations: ~"-default, -primary, -info, -success, -warning, -danger"; diff --git a/less/_navbar.less b/less/_navbar.less index 4420dfe1..764b46a7 100755 --- a/less/_navbar.less +++ b/less/_navbar.less @@ -1,7 +1,7 @@ .navbar { background-color: @brand-primary; - border: @zero; - border-radius: @zero; + border: 0; + border-radius: 0; .navbar-brand { position: relative; @@ -54,7 +54,7 @@ // Darken the responsive nav toggle .navbar-toggle { - border: @zero; + border: 0; &:hover, &:focus { background-color: transparent; @@ -96,7 +96,7 @@ // Dropdowns get custom display .open .dropdown-menu { > .dropdown-header { - border: @zero; + border: 0; color: inherit; } .divider { @@ -185,12 +185,15 @@ } // SASS conversion note: please mirror any content change in _mixins-shared.scss navbar-variations-content - .generic-variations(~".navbar", @brand-primary, { - background-color: @mdb-color; - color: @mdb-text-color; + .generic-variations(~".navbar", ~"", @brand-primary, { + background-color: @variation-color; + color: @variation-color-text; // deeply defined to override welljumbo class without !impotant need - .navbar-form .form-group input.form-control::placeholder, .navbar-form input.form-control::placeholder { - color: @mdb-text-color; + .navbar-form .form-group input.form-control, + .navbar-form input.form-control { + .material-placeholder({ + color: @variation-color-text; + }); } .dropdown-menu { border-radius: @mdb-dropdown-radius; @@ -199,17 +202,17 @@ padding: 13px 16px; &:hover, &:focus { - color: @mdb-color; + color: @variation-color; background-color: @grey-200; } } .active > a { &:hover, &:focus { - color: @mdb-text-color; + color: @variation-color-text; } - background-color: @mdb-color; - color: @mdb-text-color; + background-color: @variation-color; + color: @variation-color-text; } } }); diff --git a/less/_panels.less b/less/_panels.less index 92cc0cf0..79277a59 100644 --- a/less/_panels.less +++ b/less/_panels.less @@ -2,18 +2,18 @@ border-radius: 2px; border: 0; - .variations(~" > .panel-heading", background-color, @grey-200); + .variations(~".panel", ~" > .panel-heading", background-color, @grey-200); .shadow-z-1; } [class*="panel-"] > .panel-heading { - color: @darkbg-text; + color: @mdb-text-color-light; border: 0; } .panel-default, .panel:not([class*="panel-"]) { > .panel-heading { - color: @lightbg-text; + color: @mdb-text-color-primary; } } .panel-footer { diff --git a/less/_plugins.less b/less/_plugins.less new file mode 100644 index 00000000..65df8c56 --- /dev/null +++ b/less/_plugins.less @@ -0,0 +1,5 @@ +// External plugins +@import "plugins/_plugin-snackbarjs.less"; +@import "plugins/_plugin-nouislider.less"; +@import "plugins/_plugin-selectize.less"; +@import "plugins/_plugin-dropdownjs.less"; diff --git a/less/_progress.less b/less/_progress.less index 6e923615..b0439d56 100644 --- a/less/_progress.less +++ b/less/_progress.less @@ -5,6 +5,6 @@ background: #c8c8c8; .progress-bar { box-shadow: none; - .variations(~"", background-color, @brand-primary); + .variations(~".progress-bar", ~"", background-color, @brand-primary); } } diff --git a/less/_radios.less b/less/_radios.less index b51d7d6c..ca1c3d77 100644 --- a/less/_radios.less +++ b/less/_radios.less @@ -29,7 +29,7 @@ display: block; position: absolute; content: ""; - background-color: @lightbg-text; + background-color: @mdb-text-color-primary; left: -18px; top: -18px; height: 50px; @@ -48,8 +48,14 @@ } } - .variations(~" input[type=radio]:checked ~ .check", background-color, @mdb-radio-default); - .variations(~" input[type=radio]:checked ~ .circle", border-color, @mdb-radio-default); + & input[type=radio]:checked { + & ~ .check { + background-color: @mdb-radio-default; + } + & ~ .circle { + border-color: @mdb-radio-default; + } + } input[type=radio][disabled] ~ .check, input[type=radio][disabled] ~ .circle { @@ -66,10 +72,10 @@ transform: scale3d(0.55, 0.55, 1); } input[type=radio][disabled] ~ .circle { - border-color: @lightbg-text; + border-color: @mdb-text-color-primary; } input[type=radio][disabled] ~ .check { - background-color: @lightbg-text; + background-color: @mdb-text-color-primary; } } diff --git a/less/_shadows.less b/less/_shadows.less index 64788473..1a1ec1bf 100644 --- a/less/_shadows.less +++ b/less/_shadows.less @@ -1,35 +1,81 @@ -.shadow-z-1 { +.shadow-z-1() { box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 1px 6px 0 rgba(0, 0, 0, 0.12); } -.shadow-z-1-hover { +.shadow-z-1-hover() { box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); } -.shadow-z-2 { +.shadow-z-2() { box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); } -.shadow-z-3 { +.shadow-z-3() { box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19); } -.shadow-z-4 { +.shadow-z-4() { box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21); } -.shadow-z-5 { +.shadow-z-5() { box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22); } + + +/* Shadows */ + +// Focus shadow mixin. +.focus-shadow() { + box-shadow: 0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36); +} + +.shadow-2dp() { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, @mdb-shadow-key-penumbra-opacity), + 0 3px 1px -2px rgba(0, 0, 0, @mdb-shadow-key-umbra-opacity), + 0 1px 5px 0 rgba(0, 0, 0, @mdb-shadow-ambient-shadow-opacity); +} +.shadow-3dp() { + box-shadow: 0 3px 4px 0 rgba(0, 0, 0, @mdb-shadow-key-penumbra-opacity), + 0 3px 3px -2px rgba(0, 0, 0, @mdb-shadow-key-umbra-opacity), + 0 1px 8px 0 rgba(0, 0, 0, @mdb-shadow-ambient-shadow-opacity); +} +.shadow-4dp() { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, @mdb-shadow-key-penumbra-opacity), + 0 1px 10px 0 rgba(0, 0, 0, @mdb-shadow-ambient-shadow-opacity), + 0 2px 4px -1px rgba(0, 0, 0, @mdb-shadow-key-umbra-opacity); +} +.shadow-6dp() { + box-shadow: 0 6px 10px 0 rgba(0, 0, 0, @mdb-shadow-key-penumbra-opacity), + 0 1px 18px 0 rgba(0, 0, 0, @mdb-shadow-ambient-shadow-opacity), + 0 3px 5px -1px rgba(0, 0, 0, @mdb-shadow-key-umbra-opacity); +} +.shadow-8dp() { + box-shadow: 0 8px 10px 1px rgba(0, 0, 0, @mdb-shadow-key-penumbra-opacity), + 0 3px 14px 2px rgba(0, 0, 0, @mdb-shadow-ambient-shadow-opacity), + 0 5px 5px -3px rgba(0, 0, 0, @mdb-shadow-key-umbra-opacity); +} + +.shadow-16dp() { + box-shadow: 0 16px 24px 2px rgba(0, 0, 0, @mdb-shadow-key-penumbra-opacity), + 0 6px 30px 5px rgba(0, 0, 0, @mdb-shadow-ambient-shadow-opacity), + 0 8px 10px -5px rgba(0, 0, 0, @mdb-shadow-key-umbra-opacity); +} + +.shadow-24dp() { + box-shadow: 0 9px 46px 8px rgba(0, 0, 0, @mdb-shadow-key-penumbra-opacity), + 0 11px 15px -7px rgba(0, 0, 0, @mdb-shadow-ambient-shadow-opacity), + 0 24px 38px 3px rgba(0, 0, 0, @mdb-shadow-key-umbra-opacity); +} diff --git a/less/_togglebutton.less b/less/_togglebutton.less index 87c0c8d1..6e736895 100644 --- a/less/_togglebutton.less +++ b/less/_togglebutton.less @@ -40,31 +40,38 @@ top: -2px; transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease; } - // Handle disabled - input[type=checkbox][disabled] + .toggle:after, - input[type=checkbox][disabled]:checked + .toggle:after { - background-color: #BDBDBD; + input[type=checkbox] { + // Handle disabled + &[disabled] { + & + .toggle:after, + &:checked + .toggle:after { + background-color: #BDBDBD; + } + } + + & + .toggle:active:after, + &[disabled] + .toggle:active:after { + box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.1); + } + + // Ripple off and disabled + &:checked + .toggle:after { + left: 15px; + } } - // Ripple off and disabled - input[type=checkbox] + .toggle:active:after, - input[type=checkbox][disabled] + .toggle:active:after { - box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.1); - } - input[type=checkbox]:checked + .toggle:after { - left: 15px; + + & label input[type=checkbox]:checked { + & + .toggle { + background-color: fade(@brand-primary, 50%); // Switch bg on + } + + & + .toggle:after { + background-color: @brand-primary; // Handle on + } + + & + .toggle:active:after { + box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px fade(@brand-primary, 10%); // Ripple on + } } } - - // Switch bg on - // SASS conversion note: please mirror any content change in _mixins-shared.scss bg-color-variations-content - .generic-variations(~" label input[type=checkbox]:checked + .toggle", @brand-primary, { - background-color: fade(@mdb-color, 50%); - }); - // Handle on - // SASS conversion note: please mirror any content change in _mixins-shared.scss variations-content - .variations(~" label input[type=checkbox]:checked + .toggle:after", background-color, @brand-primary); - // Ripple on - .generic-variations(~" label input[type=checkbox]:checked + .toggle:active:after", @brand-primary, { - box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px fade(@mdb-color, 10%); - }); } diff --git a/less/_variables.less b/less/_variables.less index 46c829a8..e50b1c57 100644 --- a/less/_variables.less +++ b/less/_variables.less @@ -1,18 +1,17 @@ @import "_colors.less"; -// Material Global vars -@zero: 0; +// Paths +@mdb-dependency-packages: "../bower_components"; +// Typography elements @mdb-font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; - -// material icons path -@mdb-font-path: "../fonts"; - -// Typography elements for Material -@darkbg-text: rgba(255,255,255,0.84); -@lightbg-text: rgba(0,0,0,0.84); +@mdb-text-color-light: ~"rgba(@{rgb-white}, 0.84)"; +@mdb-text-color-light-hex: @white; // for contrast function in inverse +@mdb-text-color-primary: ~"rgba(@{rgb-black}, 0.87)"; +@mdb-text-color-primary-hex: @black; // for contrast function in inverse @icon-color: rgba(0,0,0,0.5); + // import bs variables for less, last declared wins. @import "_import-bs-less.less"; @@ -26,22 +25,35 @@ @brand-warning: @deep-orange; @brand-info: @light-blue; +// Typography +@font-family-sans-serif: 'Roboto', 'Helvetica', 'Arial', sans-serif; +@headings-font-weight: 300; + @body-bg: #EEEEEE; //--- // import bs variables for sass, first declared wins. @import "_import-bs-sass.less"; +// Bootstrap Material Design variables start with mdb- +@mdb-brand-inverse: @indigo; + + +/* ANIMATION */ +@mdb-animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1); +@mdb-animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1); +@mdb-animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1); +@mdb-animation-curve-default: @mdb-animation-curve-fast-out-slow-in; + + //--- // FIXME: Similar but not quite the same as Bootstrap variables // FIXME: these need to either a) be converted to @mdb- or b) converted to bs variables @contrast-factor: 40%; -@btn-default: transparent; -@btn-default-text: @lightbg-text; //--- -@mdb-radio-default: @lightbg-text; +@mdb-radio-default: @mdb-text-color-primary; @mdb-border-radius: 2px; // -------------------- @@ -98,7 +110,7 @@ // Card -@mdb-card-body-text: @lightbg-text; +@mdb-card-body-text: @mdb-text-color-primary; @mdb-card-body-background: #fff; @mdb-card-image-headline: #fff; @@ -127,3 +139,23 @@ // Radio: @mdb-radio-label-color: @mdb-checkbox-label-color; @mdb-radio-border-color: @mdb-checkbox-border-color; + +// Buttons: +@mdb-btn-background-color: transparent; +@mdb-btn-background-color-text: @mdb-text-color-primary; + + +@mdl-btn-border-radus: 2px; +@mdb-btn-primary-color: ~"rgba(@{rgb-grey-500}, 0.20)"; + +@mdb-btn-fab-size: 56px; +@mdb-btn-fab-size-mini: 40px; +@mdb-btn-fab-font-size: 24px; + +@mdb-btn-icon-size: 32px; +@mdb-btn-icon-size-mini: 24px; + +/* SHADOWS */ +@mdb-shadow-key-umbra-opacity: 0.2; +@mdb-shadow-key-penumbra-opacity: 0.14; +@mdb-shadow-ambient-shadow-opacity: 0.12; diff --git a/less/_welljumbo.less b/less/_welljumbo.less index 4d6604af..6cf81415 100644 --- a/less/_welljumbo.less +++ b/less/_welljumbo.less @@ -1,22 +1,26 @@ -body, .container, .container-fluid { +body { + .container, + .container-fluid { - .well.well-sm { - padding: 10px; - } - .well.well-lg { - padding: 26px; - } - .well, .jumbotron { - - background-color: #fff; - padding: 19px; - margin-bottom: 20px; - .shadow-z-2(); - border-radius: 2px; - border: 0; - p { - font-weight: 300; + .well.well-sm { + padding: 10px; + } + .well.well-lg { + padding: 26px; + } + .well, + .jumbotron { + + background-color: #fff; + padding: 19px; + margin-bottom: 20px; + .shadow-z-2(); + border-radius: 2px; + border: 0; + p { + font-weight: 300; + } + .variations(~"", ~"", background-color, @white); } - .variations(~"", background-color, #FFF); } } diff --git a/less/_plugin-dropdownjs.less b/less/plugins/_plugin-dropdownjs.less similarity index 100% rename from less/_plugin-dropdownjs.less rename to less/plugins/_plugin-dropdownjs.less diff --git a/less/_plugin-nouislider.less b/less/plugins/_plugin-nouislider.less similarity index 85% rename from less/_plugin-nouislider.less rename to less/plugins/_plugin-nouislider.less index 4c144dfd..0c1dccee 100644 --- a/less/_plugin-nouislider.less +++ b/less/plugins/_plugin-nouislider.less @@ -103,8 +103,8 @@ } .slider { - .variations(~".noUi-connect", background-color, @brand-primary); - .variations(~" .noUi-connect", background-color, @brand-primary); - .variations(~" .noUi-handle", background-color, @brand-primary); - .variations(~" .noUi-handle", border-color, @brand-primary); + .variations(~".slider", ~".noUi-connect", background-color, @brand-primary); + .variations(~".slider", ~" .noUi-connect", background-color, @brand-primary); + .variations(~".slider", ~" .noUi-handle", background-color, @brand-primary); + .variations(~".slider", ~" .noUi-handle", border-color, @brand-primary); } diff --git a/less/_plugin-selectize.less b/less/plugins/_plugin-selectize.less similarity index 100% rename from less/_plugin-selectize.less rename to less/plugins/_plugin-selectize.less diff --git a/less/_plugin-snackbarjs.less b/less/plugins/_plugin-snackbarjs.less similarity index 95% rename from less/_plugin-snackbarjs.less rename to less/plugins/_plugin-snackbarjs.less index 7c5e1892..320bb43d 100644 --- a/less/_plugin-snackbarjs.less +++ b/less/plugins/_plugin-snackbarjs.less @@ -4,7 +4,7 @@ .snackbar { // Style background-color: #323232; - color: @darkbg-text; + color: @mdb-text-color-light; font-size: 14px; border-radius: 2px; .shadow-z-1; diff --git a/less/ripples.less b/less/ripples.less index 8e3a6bbb..ffe753ec 100644 --- a/less/ripples.less +++ b/less/ripples.less @@ -1,7 +1,7 @@ .withripple { position: relative; } -.ripple-wrapper { +.ripple-container { position: absolute; top: 0; left: 0; diff --git a/less/roboto.less b/less/roboto.less deleted file mode 100644 index 428b762c..00000000 --- a/less/roboto.less +++ /dev/null @@ -1,50 +0,0 @@ -@import "_colors.less"; -@import "_variables.less"; - -@font-face { - font-family: 'RobotoDraft'; - font-style: normal; - font-weight: 400; - //src: local('RobotoDraft'), local('RobotoDraft-Regular'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/robotodraft/v1/0xES5Sl_v6oyT7dAKuoni4gp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/0xES5Sl_v6oyT7dAKuoni7rIa-7acMAeDBVuclsi6Gc.woff) format('woff'); - src: local('RobotoDraft'), - local('RobotoDraft-Regular'), - local('Roboto-Regular'), - url('@{mdb-font-path}/RobotoDraftRegular.woff2?#iefix') format('woff2'), - url('@{mdb-font-path}/RobotoDraftRegular.woff') format('woff'); -} - -@font-face { - font-family: 'RobotoDraft'; - font-style: normal; - font-weight: 500; - //src: local('RobotoDraft Medium'), local('RobotoDraft-Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwXJuJo8UJJfpGKt7pXjBv4s.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwaTA90I55Xt7owhZwpPnMsc.woff) format('woff'); - src: local('RobotoDraft Medium'), - local('RobotoDraft-Medium'), - local('Roboto-Medium'), - url('@{mdb-font-path}/RobotoDraftMedium.woff2?#iefix') format('woff2'), - url('@{mdb-font-path}/RobotoDraftMedium.woff') format('woff'); -} - -@font-face { - font-family: 'RobotoDraft'; - font-style: normal; - font-weight: 700; - //src: local('RobotoDraft Bold'), local('RobotoDraft-Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-Vwf79_ZuUxCigM2DespTnFaw.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwRbnBKKEOwRKgsHDreGcocg.woff) format('woff'); - src: local('RobotoDraft Bold'), - local('RobotoDraft-Bold'), - local('Roboto-Bold'), - url('@{mdb-font-path}/RobotoDraftBold.woff2?#iefix') format('woff2'), - url('@{mdb-font-path}/RobotoDraftBold.woff') format('woff'); -} - -@font-face { - font-family: 'RobotoDraft'; - font-style: italic; - font-weight: 400; - //src: local('RobotoDraft Italic'), local('RobotoDraft-Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/robotodraft/v1/er-TIW55l9KWsTS1x9bTfgeOulFbQKHxPa89BaxZzA0.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/er-TIW55l9KWsTS1x9bTfoo3ZslTYfJv0R05CazkwN8.woff) format('woff'); - src: local('RobotoDraft Italic'), - local('RobotoDraft-Italic'), - local('Roboto-Italic'), - url('@{mdb-font-path}/RobotoDraftItalic.woff2?#iefix') format('woff2'), - url('@{mdb-font-path}/RobotoDraftItalic.woff') format('woff'); -} diff --git a/sass/_buttons.scss b/sass/_buttons.scss index 2ab30565..714e437f 100644 --- a/sass/_buttons.scss +++ b/sass/_buttons.scss @@ -97,7 +97,7 @@ @include shadow-z-1-hover(); } &, - .ripple-wrapper { + .ripple-container { border-radius: 100%; } &.btn-fab-mini { diff --git a/sass/_colors.scss b/sass/_colors.scss index cc428312..1b1802e9 100644 --- a/sass/_colors.scss +++ b/sass/_colors.scss @@ -359,4 +359,4 @@ $blue-grey: $blue-grey-500 !default; $black: #000000 !default; $white: #ffffff !default; -$inverse: $indigo !default; +$mdb-brand-inverse: $indigo !default; diff --git a/sass/_icons.scss b/sass/_icons.scss index b9271efd..50a2da18 100644 --- a/sass/_icons.scss +++ b/sass/_icons.scss @@ -1,5 +1,8 @@ // This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. +// http://google.github.io/material-design-icons/#setup-method-1-using-via-google-web-fonts + + .mdi, icon { @include variations(unquote(""), color, $lightbg-text); line-height: inherit; diff --git a/sass/_import-bs-sass.scss b/sass/_import-bs-sass.scss index 4f6160d8..46d4cd6c 100644 --- a/sass/_import-bs-sass.scss +++ b/sass/_import-bs-sass.scss @@ -1,2 +1,2 @@ -@import "../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/variables"; -//@import "../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins"; +@import "#{$mdb-dependency-packages}/bootstrap-sass/assets/stylesheets/bootstrap/variables"; +//@import "#{$mdb-dependency-packages}/bootstrap-sass/assets/stylesheets/bootstrap/mixins"; diff --git a/sass/_mixins.scss b/sass/_mixins.scss index 0567403d..8a886823 100644 --- a/sass/_mixins.scss +++ b/sass/_mixins.scss @@ -10,8 +10,8 @@ // variations(unquote(""), background-color, #FFF); -@mixin variations($extra, $mdb-param-1, $default) { - @include generic-variations($extra, $default, "variations-content", $mdb-param-1); +@mixin variations($component, $selector-suffix, $mdb-param-1, $color-default) { + @include generic-variations($selector-suffix, $color-default, "variations-content", $mdb-param-1); } @mixin variations-content($args) { @@ -21,8 +21,8 @@ #{map-get($args, material-param-1)}: map-get($args, material-color); } -@mixin background-variations($extra, $default) { - @include generic-variations($extra, $default, "background-variations-content", null); +@mixin background-variations($component, $selector-suffix, $color-default) { + @include generic-variations($selector-suffix, $color-default, "background-variations-content", null); } @mixin background-variations-content($args) { @@ -34,70 +34,73 @@ } } -@mixin text-variations($extra, $default) { - @include generic-variations($extra, $default, "text-variations-content", null); -} - -@mixin text-variations-content($args) { - color: map-get($args, material-color); -} - -@mixin button-variations($extra, $default, $mdb-param-1) { - @include generic-variations($extra, $default, "button-variations-content", $mdb-param-1); -} - -@mixin button-variations-content($args) { - //@debug "#{inspect($args)}"; - $mdb-color: map-get($args, material-color); - $mdb-param-1: map-get($args, material-param-1); - background-color: contrast-color($mdb-color, - darken($mdb-color, $mdb-param-1), - lighten($mdb-color, $mdb-param-1)); -} - -@mixin bg-color-variations($extra, $default, $mdb-param-1) { - @include generic-variations($extra, $default, "bg-color-variations-content", $mdb-param-1); -} - -@mixin bg-color-variations-content($args) { - background-color: rgba(map-get($args, material-color), map-get($args, material-param-1)); -} - -// bg-box-shadow-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary -@mixin bg-box-shadow-variations($extra, $default) { - @include generic-variations($extra, $default, "bg-box-shadow-variations-content", null); -} - -@mixin bg-box-shadow-variations-content($args){ - $mdb-color: map-get($args, material-color); - box-shadow: 0 1px 3px 1px rgba(0,0,0,0.4), 0 0 0 15px rgba($mdb-color, (10/100)); -} - -// bg-img-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary -@mixin bg-img-variations($extra, $default) { - @include generic-variations($extra, $default, "bg-img-variations-content", null); -} - -@mixin bg-img-variations-content($args){ - $mdb-color: map-get($args, material-color); - //@debug "bg-img-variations-content called for #{map-get($args, extra)} #{map-get($args, default)} #{map-get($args, material-color-name)} #{map-get($args, material-color)}"; //#{inspect($args)}"; - background-image: linear-gradient($mdb-color, $mdb-color), linear-gradient($mdb-input-underline-color, $mdb-input-underline-color); -} +//@mixin text-variations($component, $selector-suffix, $color-default) { +// @include generic-variations($selector-suffix, $color-default, "text-variations-content", null); +//} +// +//@mixin text-variations-content($args) { +// color: map-get($args, material-color); +//} +// +//@mixin button-variations($component, $selector-suffix, $color-default, $mdb-param-1) { +// @include generic-variations($selector-suffix, $color-default, "button-variations-content", $mdb-param-1); +//} +// +//@mixin button-variations-content($args) { +// //@debug "#{inspect($args)}"; +// $variation-color: map-get($args, material-color); +// $mdb-param-1: map-get($args, material-param-1); +// background-color: contrast-color($variation-color, +// darken($variation-color, $mdb-param-1), +// lighten($variation-color, $mdb-param-1)); +//} +// +//@mixin bg-color-variations($component, $selector-suffix, $color-default, $mdb-param-1) { +// @include generic-variations($selector-suffix, $color-default, "bg-color-variations-content", $mdb-param-1); +//} +// +//@mixin bg-color-variations-content($args) { +// background-color: rgba(map-get($args, material-color), map-get($args, material-param-1)); +//} +// +//// bg-box-shadow-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary +//@mixin bg-box-shadow-variations($component, $selector-suffix, $color-default) { +// @include generic-variations($selector-suffix, $color-default, "bg-box-shadow-variations-content", null); +//} +// +//@mixin bg-box-shadow-variations-content($args){ +// $variation-color: map-get($args, material-color); +// box-shadow: 0 1px 3px 1px rgba(0,0,0,0.4), 0 0 0 15px rgba($variation-color, (10/100)); +//} +// +//// bg-img-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary +//@mixin bg-img-variations($component, $selector-suffix, $color-default) { +// @include generic-variations($selector-suffix, $color-default, "bg-img-variations-content", null); +//} +// +//@mixin bg-img-variations-content($args){ +// $variation-color: map-get($args, material-color); +// //@debug "bg-img-variations-content called for #{map-get($args, extra)} #{map-get($args, default)} #{map-get($args, material-color-name)} #{map-get($args, material-color)}"; //#{inspect($args)}"; +// background-image: linear-gradient($variation-color, $variation-color), linear-gradient($mdb-input-underline-color, $mdb-input-underline-color); +//} // navbar-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary -@mixin navbar-variations($extra, $default) { - @include generic-variations($extra, $default, "navbar-variations-content", null); +@mixin navbar-variations($component, $selector-suffix, $color-default) { + @include generic-variations($selector-suffix, $color-default, "navbar-variations-content", null); } @mixin navbar-variations-content($args){ - $mdb-color: map-get($args, material-color); - $mdb-text-color: map-get($args, material-text-color); + $variation-color: map-get($args, material-color); + $variation-color-text: map-get($args, material-text-color); - background-color: $mdb-color; - color: $mdb-text-color; + background-color: $variation-color; + color: $variation-color-text; // deeply defined to override welljumbo class without !impotant need - .navbar-form .form-group input.form-control::placeholder, .navbar-form input.form-control::placeholder { - color: $mdb-text-color; + .navbar-form .form-group input.form-control, + .navbar-form input.form-control { + @include material-placeholder { + color: $variation-color-text; + } } .dropdown-menu { border-radius: $mdb-dropdown-radius; @@ -106,35 +109,35 @@ padding: 13px 16px; &:hover, &:focus { - color: $mdb-color; + color: $variation-color; background-color: $grey-200; } } .active > a { &:hover, &:focus { - color: $mdb-text-color; + color: $variation-color-text; } - background-color: $mdb-color; - color: $mdb-text-color; + background-color: $variation-color; + color: $variation-color-text; } } } // alert-variations("", $brand-primary) -@mixin alert-variations($extra, $default) { - @include generic-variations($extra, $default, "alert-variations-content", null); +@mixin alert-variations($component, $selector-suffix, $color-default) { + @include generic-variations($component, $selector-suffix, $color-default, "alert-variations-content", null); } @mixin alert-variations-content($args){ - $mdb-color: map-get($args, material-color); - $mdb-text-color: map-get($args, material-text-color); + $variation-color: map-get($args, material-color); + $variation-color-text: map-get($args, material-text-color); - background-color: $mdb-color; - color: $mdb-text-color; + background-color: $variation-color; + color: $variation-color-text; a, .alert-link { - color: $mdb-text-color; + color: $variation-color-text; } } @@ -168,62 +171,44 @@ // To use this mixin you should pass a function as final parameter to define // the style. In that definition you can use the following variables to define it. // -// $mdb-color-name ---> "red", "green", "indigo" ... -// $mdb-color-full-name ---> "red", "green-50", "indigo-400" ... -// $mdb-color ---> #f44336, #e8f5e9, #5c6bc0 ... -// $mdb-text-color ---> rgba(255,255,255,0.84), rgba(0,0,0,0.84), rgba(255,255,255,0.84) ... +// $variation-color-name ---> "red", "green", "indigo" ... +// $variation-color-full-name ---> "red", "green-50", "indigo-400" ... +// $variation-color ---> #f44336, #e8f5e9, #5c6bc0 ... +// $variation-color-text ---> rgba(255,255,255,0.84), rgba(0,0,0,0.84), rgba(255,255,255,0.84) ... // -@mixin generic-variations($extra, $default, $mixin-name, $mdb-param-1) { +@mixin generic-variations($component, $selector-suffix, $color-default, $mixin-name, $mdb-param-1) { //setup map to pass parameters (instead of the incredibly long-error-prone list for each and every @include) $args: ( - //extra: $extra, - //default: $default, + //extra: $selector-suffix, + //default: $color-default, mixin-name: $mixin-name, material-param-1: $mdb-param-1 ); // bootstrap styles - &#{$extra}, - &-default#{$extra} { + //&#{$selector-suffix}, + &#{$component}-default#{$selector-suffix} { $args-extra: map-merge($args, ( //material-color-name: "default", //material-color-full-name: "default", - material-color: $default, + material-color: $color-default, material-text-color: $darkbg-text )); @include call-variations-content-mixin($args-extra); } - //&-black#{$extra} { - // $args-black: map-merge($args, ( - // //material-color-name: "black", - // //material-color-full-name: "black", - // material-color: $black, - // material-text-color: $darkbg-text - // )); - // @include call-variations-content-mixin($args-black); - //} - //&-white#{$extra} { - // $args-white: map-merge($args, ( - // //material-color-name: "white", - // //material-color-full-name: "white", - // material-color: $white, - // material-text-color: $lightbg-text - // )); - // @include call-variations-content-mixin($args-white); - //} - &-inverse#{$extra} { + &#{$component}-inverse#{$selector-suffix} { $args-inverse: map-merge($args, ( //material-color-name: "inverse", //material-color-full-name: "inverse", - material-color: $inverse, - material-text-color: contrast-color($inverse, $lightbg-text, $darkbg-text) + material-color: $mdb-brand-inverse, + material-text-color: contrast-color($mdb-brand-inverse, $lightbg-text, $darkbg-text) )); @include call-variations-content-mixin($args-inverse); } - &-primary#{$extra} { + &#{$component}-primary#{$selector-suffix} { $args-primary: map-merge($args, ( //material-color-name: "primary", //material-color-full-name: "primary", @@ -232,7 +217,7 @@ )); @include call-variations-content-mixin($args-primary); } - &-success#{$extra} { + &#{$component}-success#{$selector-suffix} { $args-success: map-merge($args, ( //material-color-name: "success", //material-color-full-name: "success", @@ -241,7 +226,7 @@ )); @include call-variations-content-mixin($args-success); } - &-info#{$extra} { + &#{$component}-info#{$selector-suffix} { $args-info: map-merge($args, ( //material-color-name: "info", //material-color-full-name: "info", @@ -250,7 +235,7 @@ )); @include call-variations-content-mixin($args-info); } - &-warning#{$extra} { + &#{$component}-warning#{$selector-suffix} { $args-warning: map-merge($args, ( //material-color-name: "warning", //material-color-full-name: "warning", @@ -259,7 +244,7 @@ )); @include call-variations-content-mixin($args-warning); } - &-danger#{$extra} { + &#{$component}-danger#{$selector-suffix} { $args-danger: map-merge($args, ( //material-color-name: "danger", //material-color-full-name: "danger", diff --git a/sass/ripples.scss b/sass/ripples.scss index 3534bae9..12f8a717 100644 --- a/sass/ripples.scss +++ b/sass/ripples.scss @@ -3,7 +3,7 @@ .withripple { position: relative; } -.ripple-wrapper { +.ripple-container { position: absolute; top: 0; left: 0; diff --git a/sass/roboto.scss b/sass/roboto.scss deleted file mode 100644 index 2d6936e2..00000000 --- a/sass/roboto.scss +++ /dev/null @@ -1,52 +0,0 @@ -// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. - -@import '_colors'; -@import '_variables'; - -@font-face { - font-family: 'RobotoDraft'; - font-style: normal; - font-weight: 400; - //src: local('RobotoDraft'), local('RobotoDraft-Regular'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/robotodraft/v1/0xES5Sl_v6oyT7dAKuoni4gp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/0xES5Sl_v6oyT7dAKuoni7rIa-7acMAeDBVuclsi6Gc.woff) format('woff'); - src: local('RobotoDraft'), - local('RobotoDraft-Regular'), - local('Roboto-Regular'), - url('#{$mdb-font-path}/RobotoDraftRegular.woff2?#iefix') format('woff2'), - url('#{$mdb-font-path}/RobotoDraftRegular.woff') format('woff'); -} - -@font-face { - font-family: 'RobotoDraft'; - font-style: normal; - font-weight: 500; - //src: local('RobotoDraft Medium'), local('RobotoDraft-Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwXJuJo8UJJfpGKt7pXjBv4s.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwaTA90I55Xt7owhZwpPnMsc.woff) format('woff'); - src: local('RobotoDraft Medium'), - local('RobotoDraft-Medium'), - local('Roboto-Medium'), - url('#{$mdb-font-path}/RobotoDraftMedium.woff2?#iefix') format('woff2'), - url('#{$mdb-font-path}/RobotoDraftMedium.woff') format('woff'); -} - -@font-face { - font-family: 'RobotoDraft'; - font-style: normal; - font-weight: 700; - //src: local('RobotoDraft Bold'), local('RobotoDraft-Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-Vwf79_ZuUxCigM2DespTnFaw.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/u0_CMoUf3y3-4Ss4ci-VwRbnBKKEOwRKgsHDreGcocg.woff) format('woff'); - src: local('RobotoDraft Bold'), - local('RobotoDraft-Bold'), - local('Roboto-Bold'), - url('#{$mdb-font-path}/RobotoDraftBold.woff2?#iefix') format('woff2'), - url('#{$mdb-font-path}/RobotoDraftBold.woff') format('woff'); -} - -@font-face { - font-family: 'RobotoDraft'; - font-style: italic; - font-weight: 400; - //src: local('RobotoDraft Italic'), local('RobotoDraft-Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/robotodraft/v1/er-TIW55l9KWsTS1x9bTfgeOulFbQKHxPa89BaxZzA0.woff2) format('woff2'), url(https://fonts.gstatic.com/s/robotodraft/v1/er-TIW55l9KWsTS1x9bTfoo3ZslTYfJv0R05CazkwN8.woff) format('woff'); - src: local('RobotoDraft Italic'), - local('RobotoDraft-Italic'), - local('Roboto-Italic'), - url('#{$mdb-font-path}/RobotoDraftItalic.woff2?#iefix') format('woff2'), - url('#{$mdb-font-path}/RobotoDraftItalic.woff') format('woff'); -} diff --git a/scripts/ripples.js b/scripts/ripples.js index 634dfdf3..82b67884 100644 --- a/scripts/ripples.js +++ b/scripts/ripples.js @@ -59,15 +59,15 @@ * Verify if the current element already has a ripple wrapper element and * creates if it doesn't */ - if(!($element.find(".ripple-wrapper").length)) { - $element.append("

"); + if(!($element.find(".ripple-container").length)) { + $element.append("
"); } /** * Find the ripple wrapper */ - var $wrapper = $element.children(".ripple-wrapper"); + var $wrapper = $element.children(".ripple-container"); /** From 6aabc5b60f2482e03d2ac8069984d4aa8e94f94e Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Tue, 24 Nov 2015 11:33:04 -0600 Subject: [PATCH 05/14] checkpoint - a bunch of work on buttons, focused on spec compliance --- README.md | 11 ++++ bootstrap-elements.html | 73 +++++++++++++----------- less/_buttons.less | 119 +++++++++++++++++++++++++--------------- less/_mixins.less | 2 +- less/_shadows.less | 2 +- less/_themes.less | 6 ++ sass/_mixins.scss | 2 +- 7 files changed, 135 insertions(+), 80 deletions(-) create mode 100644 less/_themes.less diff --git a/README.md b/README.md index 26a34ec2..81a86374 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,17 @@ styles for bootstrap based markup to comply with Material Design concepts. ### Customization +#### Themes + +NOTE: (In active) development +First, this is probably not what you think when a 'theme' is mentioned. + +The [material design specification mentions `light` vs. `dark` themes](https://www.google.com/design/spec/style/color.html#) +throughout. By default, the source is written assuming a light theme is being used, but as reviews/refactorings +occur, the `.theme-dark` marker class is being used to denote differences. +This could be used on the top level elements such as `body` or `.container`. Effort on +this is just beginning, but search the codebase for `.theme-dark` to see variations. Help/PR's welcome. + #### Colors There are 17 color variations (in addition to the classic 4 variations) described by the Material Design color palette: diff --git a/bootstrap-elements.html b/bootstrap-elements.html index 0862dd33..71ad05bb 100644 --- a/bootstrap-elements.html +++ b/bootstrap-elements.html @@ -474,9 +474,10 @@
-

Default buttons

- +

Flat buttons default - no class needed

+ btn only + .active Default Primary Success @@ -486,40 +487,50 @@ Link

-

Flat buttons

+

Raised buttons .btn-raised

- Default - Primary - Success - Info - Warning - Danger - Link + .active + Default + Primary + Success + Info + Warning + Danger + Link

-

Raised buttons

- -

- Default - Primary - Success - Info - Warning - Danger -

Disabled buttons

-

- Default - Primary - Success - Info - Warning - Danger - Link -

+
+ +

Flat buttons default - no class needed

+

+ btn only + .active + Default + Primary + Success + Info + Warning + Danger + Link +

+ + +

Raised buttons .btn-raised

+

+ .active + Default + Primary + Success + Info + Warning + Danger + Link +

+

Button groups

@@ -609,17 +620,13 @@

Floating action buttons

-

grade - grade - grade grade grade grade grade -

diff --git a/less/_buttons.less b/less/_buttons.less index fb3d0930..f63ac3b8 100644 --- a/less/_buttons.less +++ b/less/_buttons.less @@ -1,3 +1,5 @@ +// specification: https://www.google.com/design/spec/components/buttons.html + //.btn-shadow() { // .shadow-z-1(); // transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); @@ -18,11 +20,10 @@ } } -// mdb default buttons are _not_ flat, but colored. +// mdb default buttons are flat by default +// synchronized with mdl 11/23/15 .btn, .input-group-btn .btn { - - .background-variations(~".btn", ~"", @mdb-btn-background-color); border: none; border-radius: @mdl-btn-border-radus; position: relative; @@ -31,33 +32,69 @@ .typo-button(); will-change: box-shadow, transform; transition: box-shadow 0.2s @mdb-animation-curve-fast-out-linear-in, - background-color 0.2s @mdb-animation-curve-default, - color 0.2s @mdb-animation-curve-default; + background-color 0.2s @mdb-animation-curve-default, + color 0.2s @mdb-animation-curve-default; outline: none; cursor: pointer; text-decoration: none; - //--- - // btn-flat - &.btn-flat { - background: transparent; - .variations(~".btn", ~"", color, @mdb-text-color-primary); - - box-shadow: none; - - // hover - // FIXME: check suffix generation - .generic-variations(~".btn", ~"&:hover", @mdb-btn-background-color, { - background-color: fade(@variation-color, 20%); - }); - - &:disabled { - color: @text-disabled !important; - } - + &::-moz-focus-inner { + border: 0; } + //--- + // btn-flat + background: transparent; + &:not(.btn-raised) { + .variations(~".btn", ~"", color, @mdb-text-color-primary); + box-shadow: none; + + &:not(.btn-link) { + &:hover, + &:focus { + // spec: flat/light bg Hover: 20% #999999 + background-color: fade(#999999, 20%); + + .theme-dark & { + // spec: dark bg Hover: 15% #CCCCCC + background-color: fade(#CCCCCC, 15%); + } + } + } + } + + // **raised** only styles (we are raised buttons by default) + &.btn-raised { + .background-variations(~".btn", ~"", @mdb-btn-background-color); + + &:not(.btn-link) { + .shadow-2dp(); + &:hover { + + // Spec: + // - Raised Light/Light theme no hover. + // - Raised Dark/Dark theme Hover color: 600 + .theme-dark & { + //// SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content + //.generic-variations(~".btn", ~"", @mdb-btn-background-color, { + // // FIXME: SPEC - this should be the 600 color, how can we get that programmatically if at all? Or are we limited to the color palette only? + // background-color: contrast(@variation-color, darken(@variation-color, 4%), lighten(@variation-color, 4%), @contrast-factor); + //}); + } + } + + &.active, + &:active { + .shadow-4dp(); + } + + &:focus:not(:active) { + .focus-shadow(); + } + } + } + //&:not(.btn-link):not(.btn-flat) { // background-color: @mdb-btn-background-color; // color: @mdb-text-color-primary; @@ -79,31 +116,12 @@ // color: @mdb-text-color-primary; //} - //.background-variations(~":not(.btn-link):not(.btn-flat)", @mdb-btn-background-color); - // - //// BTN hover effect - //// SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content - //.generic-variations(~":hover:not(.btn-link):not(.btn-flat)", @mdb-btn-background-color, { - // background-color: contrast(@variation-color, darken(@variation-color, 4%), lighten(@variation-color, 4%), @contrast-factor); - //}); - //// BTN active effect - //// SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content - //.generic-variations(~":active:not(.btn-link):not(.btn-flat)", @mdb-btn-background-color, { - // background-color: contrast(@variation-color, darken(@variation-color, 6%), lighten(@variation-color, 6%), @contrast-factor); - //}); - //// BTN .active effect - //// SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content - //.generic-variations(~".active:not(.btn-link):not(.btn-flat)", @mdb-btn-background-color, { - // background-color: contrast(@variation-color, darken(@variation-color, 6%), lighten(@variation-color, 6%), @contrast-factor); - //}); //// BTN flat hover effect //// SASS conversion note: please mirror any content change in _mixins-shared.scss bg-color-variations-content //.generic-variations(~".btn-flat:hover:not(.btn-link)", @mdb-btn-background-color, { // background-color: fade(@variation-color, 20%); //}); - - // Size variations &.btn-sm { padding: 5px 20px; @@ -126,10 +144,10 @@ width: @mdb-btn-fab-size; padding: 0; overflow: hidden; - box-shadow: 0 1px 1.5px 0 rgba(0,0,0,0.12), 0 1px 1px 0 rgba(0,0,0,0.24); + box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24); position: relative; line-height: normal; - + //&, //&:hover, //&:active { @@ -174,6 +192,19 @@ i.material-icons { vertical-align: middle; } + + // Disabled text + // Spec: + // - light theme: Disabled text: 26% #000000 + // - dark theme: Disabled text: 30% #FFFFFF + fieldset[disabled] &, + &.disabled, + &:disabled { + color: fade(#000000, 26%); + .theme-dark & { + color: fade(#FFFFFF, 30%); + } + } } // This is needed to style buttons which has not a variation suffix (they must be stiled as btn-default) diff --git a/less/_mixins.less b/less/_mixins.less index aedf7bb9..c27bcd0e 100755 --- a/less/_mixins.less +++ b/less/_mixins.less @@ -46,7 +46,7 @@ .generic-variations(@component, @selector-suffix, @color-default, @func) { @contrast-factor: 40%; // bootstrap styles - //&@{selector-suffix}, + &@{selector-suffix}, &@{component}-default@{selector-suffix} { @variation-color: @color-default; @variation-color-text: @mdb-text-color-light; diff --git a/less/_shadows.less b/less/_shadows.less index 1a1ec1bf..6cf0edcb 100644 --- a/less/_shadows.less +++ b/less/_shadows.less @@ -35,7 +35,7 @@ } -/* Shadows */ +/* Shadows (from mdl http://www.getmdl.io/) */ // Focus shadow mixin. .focus-shadow() { diff --git a/less/_themes.less b/less/_themes.less new file mode 100644 index 00000000..fd2d41af --- /dev/null +++ b/less/_themes.less @@ -0,0 +1,6 @@ +// by default, assume light-theme, no need for a marker class. + +// this is mostly a marker class, add it to something like the body or container. Subordinates will look for this marker - see buttons +.theme-dark { + +} diff --git a/sass/_mixins.scss b/sass/_mixins.scss index 8a886823..b9c84cc9 100644 --- a/sass/_mixins.scss +++ b/sass/_mixins.scss @@ -188,7 +188,7 @@ ); // bootstrap styles - //&#{$selector-suffix}, + &#{$selector-suffix}, &#{$component}-default#{$selector-suffix} { $args-extra: map-merge($args, ( From 188b87cabc0fc3c1ac094c5be21e75d8f8ff571b Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Tue, 24 Nov 2015 14:13:29 -0600 Subject: [PATCH 06/14] #745 btn-group and variations reworked, only fab left to review --- bootstrap-elements.html | 118 ++++++++++++++++----------- less/_bootstrap-material-design.less | 2 + less/_buttons.less | 105 ++++++++---------------- less/_cards.less | 2 +- less/_checkboxes.less | 3 +- less/_dialogs.less | 2 +- less/_inputs.less | 2 +- less/_navbar.less | 2 +- less/_popups.less | 2 +- less/_variables.less | 11 +-- less/_welljumbo.less | 2 +- less/plugins/_plugin-nouislider.less | 2 +- less/plugins/_plugin-selectize.less | 2 +- less/plugins/_plugin-snackbarjs.less | 2 +- 14 files changed, 124 insertions(+), 133 deletions(-) diff --git a/bootstrap-elements.html b/bootstrap-elements.html index 71ad05bb..cffc7ba5 100644 --- a/bootstrap-elements.html +++ b/bootstrap-elements.html @@ -505,7 +505,7 @@
-

Flat buttons default - no class needed

+

flat - default - no class needed

btn only .active @@ -519,7 +519,7 @@

-

Raised buttons .btn-raised

+

.btn-raised

.active Default @@ -531,14 +531,51 @@ Link

+ +

Button sizes

+ +

+ Large button + Default button + Small button + Mini button +

+ +

Floating action buttons

+

+ grade + grade + grade + grade + grade + grade +

+ +
+
+

Group variations with .btn-raised

Button groups

-
+ + + + +
+ Default raised +
- Primary - + Primary raised +
- -

Button sizes

- + + + +

btn-lg.btn-block.btn-raised

- Large button - Default button - Small button - Mini button -

- -

Floating action buttons

-

- grade - grade - grade - grade - grade - grade -

- -
-
- -

- Block level button + Block level button

-
- Left - Middle - Right +

btn-group.btn-group-justified.btn-group-raised

+
+ Left + Middle + Right
+

btn-toolbar

- 1 - 2 - 3 - 4 + 1 + 2 + 3 + 4
- 5 - 6 - 7 + 5 + 6 + 7
- 8 + 8
- + Dropdown @@ -679,14 +699,16 @@
+

.btn-group-vertical

+
diff --git a/less/_bootstrap-material-design.less b/less/_bootstrap-material-design.less index fc54f42f..5be04228 100644 --- a/less/_bootstrap-material-design.less +++ b/less/_bootstrap-material-design.less @@ -115,5 +115,7 @@ legend { } +@import "_themes.less"; + // External plugins @import "_plugins.less"; diff --git a/less/_buttons.less b/less/_buttons.less index f63ac3b8..c4d75346 100644 --- a/less/_buttons.less +++ b/less/_buttons.less @@ -25,7 +25,7 @@ .btn, .input-group-btn .btn { border: none; - border-radius: @mdl-btn-border-radus; + border-radius: @border-radius-base; position: relative; padding: 8px 30px; margin: 10px 1px; @@ -42,7 +42,6 @@ border: 0; } - //--- // btn-flat background: transparent; @@ -95,33 +94,6 @@ } } - //&:not(.btn-link):not(.btn-flat) { - // background-color: @mdb-btn-background-color; - // color: @mdb-text-color-primary; - // - // &:not(.btn-fab) { - // &:hover { - // .shadow-z-1(); - // } - // &:active { - // .shadow-z-1-hover(); - // } - // } - //} - - //transition: background-color 0.2s ease, box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); - //outline: none !important; - - //.btn-flat:not(.btn-link){ - // color: @mdb-text-color-primary; - //} - - //// BTN flat hover effect - //// SASS conversion note: please mirror any content change in _mixins-shared.scss bg-color-variations-content - //.generic-variations(~".btn-flat:hover:not(.btn-link)", @mdb-btn-background-color, { - // background-color: fade(@variation-color, 20%); - //}); - // Size variations &.btn-sm { padding: 5px 20px; @@ -204,46 +176,41 @@ .theme-dark & { color: fade(#FFFFFF, 30%); } + + background: transparent; } } -// This is needed to style buttons which has not a variation suffix (they must be stiled as btn-default) -//.btn-link, -//.btn:not([class*="btn-"]), -//.btn-default { -// color: @mdb-text-color-primary; -// &:hover { -// color: @mdb-text-color-primary; -// } -//} -//.btn:not([class*="btn-"]), .btn-default, .btn-flat:not(.btn-link) { -// &:hover, &.active { -// background-color: rgba(255,255,255,0.5); -// } -//} -//.open > .dropdown-toggle.btn { -// .variations(~"", background-color, @mdb-btn-background-color); -//} -//.btn-group .btn+.btn, .btn-group .btn+.btn-group, .btn-group .btn-group+.btn, .btn-group .btn-group+.btn-group { -// margin-left: 0; -//} -//.btn-group, .btn-group-vertical { -// position: relative; -// border-radius: 2px; -// margin: 10px 1px; -// -// .btn-shadow(); -// &.open .dropdown-toggle { -// box-shadow: none; -// } -// &.btn-group-raised { -// .btn-shadow(); -// } -// .btn, .btn:active, .btn-group { -// box-shadow: none !important; -// margin: 0; -// } -//} -//.btn-group-flat { -// box-shadow: none !important; -//} +// btn-group variations +.btn-group, +.btn-group-vertical { + + position: relative; + //border-radius: 2px; + margin: 10px 1px; + + &.open { + .dropdown-toggle { + //box-shadow: none; + } + + & > .dropdown-toggle.btn { + .variations(~".btn", ~"", background-color, @mdb-btn-background-color); + } + } + + .dropdown-menu { + border-radius: 0 0 @border-radius-base @border-radius-base; + } + + &.btn-group-raised { + .shadow-2dp(); + } + + & .btn+.btn, + .btn, + .btn:active, + .btn-group { + margin: 0; + } +} diff --git a/less/_cards.less b/less/_cards.less index 52813af1..b4209000 100644 --- a/less/_cards.less +++ b/less/_cards.less @@ -19,7 +19,7 @@ /**************************************************************************/ - border-radius: 2px; + border-radius: @border-radius-base; color: @mdb-card-body-text; background: @mdb-card-body-background; diff --git a/less/_checkboxes.less b/less/_checkboxes.less index f0f41a96..17b1a970 100644 --- a/less/_checkboxes.less +++ b/less/_checkboxes.less @@ -46,8 +46,7 @@ display: inline-block; width: @mdb-checkbox-size; height: @mdb-checkbox-size; - border: 2px solid @mdb-checkbox-border-color; - border-radius: 2px; + border: @border-radius-base solid @mdb-checkbox-border-color; overflow: hidden; z-index: 1; } diff --git a/less/_dialogs.less b/less/_dialogs.less index 2d2071b5..30680e7b 100644 --- a/less/_dialogs.less +++ b/less/_dialogs.less @@ -4,7 +4,7 @@ // -------------------------------------------------- .modal-content { .shadow-z-5(); - border-radius: 2px; + border-radius: @border-radius-base; border: none; // Modal header // Top section of the modal w/ title and dismiss diff --git a/less/_inputs.less b/less/_inputs.less index 6e90dd4b..cbc08a25 100644 --- a/less/_inputs.less +++ b/less/_inputs.less @@ -2,7 +2,7 @@ // label variations .label { - border-radius: 1px; + border-radius: @border-radius-small; .variations(~".label", ~"", background-color, @grey); } diff --git a/less/_navbar.less b/less/_navbar.less index 764b46a7..e8efe92d 100755 --- a/less/_navbar.less +++ b/less/_navbar.less @@ -196,7 +196,7 @@ }); } .dropdown-menu { - border-radius: @mdb-dropdown-radius; + border-radius: @border-radius-base; li > a { font-size: @mdb-dropdown-font-size; padding: 13px 16px; diff --git a/less/_popups.less b/less/_popups.less index 0b7f71b9..3d0be734 100644 --- a/less/_popups.less +++ b/less/_popups.less @@ -3,7 +3,7 @@ line-height: 1em; background: @mdb-popover-background; border: none; - border-radius: @mdb-border-radius; + border-radius: @border-radius-base; .shadow-z-1(); } diff --git a/less/_variables.less b/less/_variables.less index e50b1c57..88a8fcc8 100644 --- a/less/_variables.less +++ b/less/_variables.less @@ -25,6 +25,9 @@ @brand-warning: @deep-orange; @brand-info: @light-blue; +@border-radius-base: 2px; +@border-radius-small: 1px; + // Typography @font-family-sans-serif: 'Roboto', 'Helvetica', 'Arial', sans-serif; @headings-font-weight: 300; @@ -54,7 +57,6 @@ @mdb-radio-default: @mdb-text-color-primary; -@mdb-border-radius: 2px; // -------------------- // inputs @@ -94,9 +96,9 @@ @mdb-input-padding-xs-vertical: 2px; // 1 @mdb-input-padding-xs-horizontal: 0px; // 5 -@mdb-input-border-radius-base: 4px; -@mdb-input-border-radius-large: 6px; -@mdb-input-border-radius-small: 3px; +@mdb-input-border-radius-base: 0; +@mdb-input-border-radius-large: 0; +@mdb-input-border-radius-small: 0; //** Default `.form-control` height @@ -130,7 +132,6 @@ @mdb-popover-color: #ececec; // Dropdown Menu -@mdb-dropdown-radius: 2px; @mdb-dropdown-font-size: 16px; // Toggle diff --git a/less/_welljumbo.less b/less/_welljumbo.less index 6cf81415..16bb9372 100644 --- a/less/_welljumbo.less +++ b/less/_welljumbo.less @@ -15,7 +15,7 @@ body { padding: 19px; margin-bottom: 20px; .shadow-z-2(); - border-radius: 2px; + border-radius: @border-radius-base; border: 0; p { font-weight: 300; diff --git a/less/plugins/_plugin-nouislider.less b/less/plugins/_plugin-nouislider.less index 0c1dccee..3dcce4c4 100644 --- a/less/plugins/_plugin-nouislider.less +++ b/less/plugins/_plugin-nouislider.less @@ -76,7 +76,7 @@ } } .noUi-target { - border-radius: 2px; + border-radius: @border-radius-base; } .noUi-horizontal { height: 2px; diff --git a/less/plugins/_plugin-selectize.less b/less/plugins/_plugin-selectize.less index a212dad9..91f6edf8 100644 --- a/less/plugins/_plugin-selectize.less +++ b/less/plugins/_plugin-selectize.less @@ -68,7 +68,7 @@ height: auto; background-color: #FFF; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); - border-radius: 2px; + border-radius: @border-radius-base; padding: 0; margin-top: 3px; .active { diff --git a/less/plugins/_plugin-snackbarjs.less b/less/plugins/_plugin-snackbarjs.less index 320bb43d..417284fa 100644 --- a/less/plugins/_plugin-snackbarjs.less +++ b/less/plugins/_plugin-snackbarjs.less @@ -6,7 +6,7 @@ background-color: #323232; color: @mdb-text-color-light; font-size: 14px; - border-radius: 2px; + border-radius: @border-radius-base; .shadow-z-1; // Animation From 76d49769ab9c61022674bf95be62bb338fd794ba Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Tue, 24 Nov 2015 14:27:01 -0600 Subject: [PATCH 07/14] #745 btn and btn-group size variations --- bootstrap-elements.html | 8 ++++---- less/_buttons.less | 30 +++++++++++++----------------- less/_variables.less | 6 ++++++ 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/bootstrap-elements.html b/bootstrap-elements.html index cffc7ba5..64e05ce4 100644 --- a/bootstrap-elements.html +++ b/bootstrap-elements.html @@ -535,10 +535,10 @@

Button sizes

- Large button - Default button - Small button - Mini button + Large button + Default button + Small button + xs button

Floating action buttons

diff --git a/less/_buttons.less b/less/_buttons.less index c4d75346..dd969664 100644 --- a/less/_buttons.less +++ b/less/_buttons.less @@ -1,15 +1,7 @@ // specification: https://www.google.com/design/spec/components/buttons.html -//.btn-shadow() { -// .shadow-z-1(); -// transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); -// &:active:not(.btn-link) { -// .shadow-z-1-hover(); -// } -//} - .typo-button(@colorContrast: false) { - font-size: 14px; + font-size: @mdb-btn-font-size-base; font-weight: 500; text-transform: uppercase; //line-height: 1; @@ -63,7 +55,8 @@ } } - // **raised** only styles (we are raised buttons by default) + //--- + // btn-raised &.btn-raised { .background-variations(~".btn", ~"", @mdb-btn-background-color); @@ -95,18 +88,21 @@ } // Size variations - &.btn-sm { + &.btn-lg, + .btn-group-lg & { + font-size: @mdb-btn-font-size-lg; + } + &.btn-sm, + .btn-group-sm & { padding: 5px 20px; + font-size: @mdb-btn-font-size-sm; } - &.btn-xs { + &.btn-xs, + .btn-group-xs & { padding: 4px 15px; - font-size: 10px; + font-size: @mdb-btn-font-size-xs; } - //&.btn-raised { - // .btn-shadow(); - //} - &.btn-fab { border-radius: 50%; font-size: @mdb-btn-fab-font-size; diff --git a/less/_variables.less b/less/_variables.less index 88a8fcc8..b7b107ae 100644 --- a/less/_variables.less +++ b/less/_variables.less @@ -142,6 +142,12 @@ @mdb-radio-border-color: @mdb-checkbox-border-color; // Buttons: +@mdb-btn-font-size-base: 14px; +@mdb-btn-font-size-lg: 16px; +@mdb-btn-font-size-sm: 12px; +@mdb-btn-font-size-xs: 10px; + + @mdb-btn-background-color: transparent; @mdb-btn-background-color-text: @mdb-text-color-primary; From bea724ce7006f686c978de82a68657a027825246 Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Tue, 24 Nov 2015 14:54:42 -0600 Subject: [PATCH 08/14] #745 disabled buttons and button groups --- bootstrap-elements.html | 18 ++++++++++++++---- less/_buttons.less | 31 ++++++++++++++++++++++++------- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/bootstrap-elements.html b/bootstrap-elements.html index 64e05ce4..32e15ddc 100644 --- a/bootstrap-elements.html +++ b/bootstrap-elements.html @@ -508,7 +508,6 @@

flat - default - no class needed

btn only - .active Default Primary Success @@ -521,7 +520,6 @@

.btn-raised

- .active Default Primary Success @@ -650,9 +648,12 @@

btn-lg.btn-block.btn-raised

-

+

@@ -662,6 +663,15 @@ Middle Right
+ +

disabled btn-group.btn-group-justified.btn-group-raised

+
+
+ Left + Middle + Right +
+
diff --git a/less/_buttons.less b/less/_buttons.less index dd969664..7cce9aea 100644 --- a/less/_buttons.less +++ b/less/_buttons.less @@ -62,6 +62,7 @@ &:not(.btn-link) { .shadow-2dp(); + &:hover { // Spec: @@ -160,20 +161,36 @@ i.material-icons { vertical-align: middle; } +} - // Disabled text - // Spec: - // - light theme: Disabled text: 26% #000000 - // - dark theme: Disabled text: 30% #FFFFFF - fieldset[disabled] &, +// Disabled buttons and button groups +.btn, +.input-group-btn .btn, +.btn-group { + // have to ratchet up the specificity to kill drop shadows on disabled raised buttons + fieldset[disabled][disabled] &, &.disabled, - &:disabled { + &:disabled, + &[disabled][disabled] { + // spec: light theme: Disabled text: 26% #000000 color: fade(#000000, 26%); .theme-dark & { + // spec: dark theme: Disabled text: 30% #FFFFFF color: fade(#FFFFFF, 30%); } background: transparent; + + // no box-shadow on disabled + &.btn-raised, + &.btn-group-raised { + &, + &.active, + &:active, + &:focus:not(:active) { + box-shadow: none; + } + } } } @@ -203,7 +220,7 @@ .shadow-2dp(); } - & .btn+.btn, + & .btn + .btn, .btn, .btn:active, .btn-group { From 3a5b3ded81a571359c3143069939656e65e0131d Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Tue, 24 Nov 2015 16:34:17 -0600 Subject: [PATCH 09/14] #745 reviewed fab buttons, updated sass conversion --- Gruntfile.js | 86 +- bootstrap-elements.html | 23 +- less/_buttons.less | 76 +- less/_import-bs-less.less | 4 +- less/_variables.less | 5 +- sass/_alerts.scss | 6 +- sass/_bootstrap-material-design.scss | 20 +- sass/_buttons.scss | 308 +- sass/_cards.scss | 2 +- sass/_checkboxes.scss | 78 +- sass/_colors.scss | 7 +- sass/_dialogs.scss | 2 +- sass/_icons-material-design.scss | 6500 ++++++++++---------- sass/_icons.scss | 23 +- sass/_import-bs-sass.scss | 4 +- sass/_inputs.scss | 15 +- sass/_lists.scss | 2 +- sass/_mixins.scss | 94 +- sass/_navbar.scss | 11 +- sass/_panels.scss | 6 +- sass/_plugins.scss | 7 + sass/_popups.scss | 2 +- sass/_progress.scss | 2 +- sass/_radios.scss | 16 +- sass/_shadows.scss | 58 +- sass/_themes.scss | 8 + sass/_togglebutton.scss | 51 +- sass/_variables.scss | 74 +- sass/_welljumbo.scss | 40 +- sass/{ => plugins}/_plugin-dropdownjs.scss | 0 sass/{ => plugins}/_plugin-nouislider.scss | 10 +- sass/{ => plugins}/_plugin-selectize.scss | 2 +- sass/{ => plugins}/_plugin-snackbarjs.scss | 4 +- 33 files changed, 3886 insertions(+), 3660 deletions(-) create mode 100644 sass/_plugins.scss create mode 100644 sass/_themes.scss rename sass/{ => plugins}/_plugin-dropdownjs.scss (100%) rename sass/{ => plugins}/_plugin-nouislider.scss (80%) rename sass/{ => plugins}/_plugin-selectize.scss (98%) rename sass/{ => plugins}/_plugin-snackbarjs.scss (91%) diff --git a/Gruntfile.js b/Gruntfile.js index 688288e5..aaf56e9a 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -88,7 +88,7 @@ module.exports = function (grunt) { files: [{ expand: true, cwd: "less", - src: ["*.less", "!_mixins.less", "!_import-bs*"], + src: ["**/*.less", "!_mixins.less", "!_import-bs*"], ext: ".scss", dest: "sass" }], @@ -116,6 +116,13 @@ module.exports = function (grunt) { order: 2 }, + // convert conditional when + { // https://regex101.com/r/dL1lI8/2 + pattern: /& when /gi, + replacement: "@if ", + order: 2 + }, + // convert all shadow mixins { // https://regex101.com/r/sJ2lH4/1 pattern: /.shadow-z-(\d+)((?:-hover)?) {/gi, @@ -144,58 +151,65 @@ module.exports = function (grunt) { }, // button variations mixin replacement(s) - { // Multi-line replacement - https://regex101.com/r/qD9qB8/2 - pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)contrast[\s\S]+?(?!\r|\n)(\d+)[\s\S]+?(?!\r|\n)}\);$\n/mg, - replacement: "@include button-variations(unquote($1), $2, $3%);\n", - order: 20 - }, + //{ // Multi-line replacement - https://regex101.com/r/qD9qB8/2 + // pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)contrast[\s\S]+?(?!\r|\n)(\d+)[\s\S]+?(?!\r|\n)}\);$\n/mg, + // replacement: "@include button-variations(unquote($1), $2, $3%);\n", + // order: 20 + //}, - // background-color generic-variations - { // Multi-line replacement - https://regex101.com/r/cW6pH8/2 - pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)background-color[\s\S]+?(?!\r|\n)(\(\d+\/\d+\))[\s\S]+?(?!\r|\n)}\);$\n/mg, - replacement: "@include bg-color-variations(unquote($1), $2, $3);\n", - order: 21 - }, + //// background-color generic-variations + //{ // Multi-line replacement - https://regex101.com/r/cW6pH8/2 + // pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)background-color[\s\S]+?(?!\r|\n)(\(\d+\/\d+\))[\s\S]+?(?!\r|\n)}\);$\n/mg, + // replacement: "@include bg-color-variations(unquote($1), $2, $3);\n", + // order: 21 + //}, - // bg-box-shadow generic-variations - { // Multi-line replacement - https://regex101.com/r/jW8kR1/1 - pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)box-shadow[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)}\);$\n/mg, - replacement: "@include bg-box-shadow-variations(unquote($1), $2);\n", - order: 22 - }, + //// bg-box-shadow generic-variations + //{ // Multi-line replacement - https://regex101.com/r/jW8kR1/1 + // pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)box-shadow[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)}\);$\n/mg, + // replacement: "@include bg-box-shadow-variations(unquote($1), $2);\n", + // order: 22 + //}, - // bg-img generic-variations - { // Multi-line replacement - https://regex101.com/r/aP2hH2/1 - pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)background-image[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)}\);$\n/mg, - replacement: "@include bg-img-variations(unquote($1), $2);\n", - order: 23 - }, + //// bg-img generic-variations + //{ // Multi-line replacement - https://regex101.com/r/aP2hH2/1 + // pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)background-image[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)}\);$\n/mg, + // replacement: "@include bg-img-variations(unquote($1), $2);\n", + // order: 23 + //}, - // navbar generic-variations - { // Multi-line replacement - https://regex101.com/r/lX1hH1/1 - pattern: /.generic-variations\(unquote\((".navbar")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)}\);$\n/mg, - replacement: "@include navbar-variations(unquote($1), $2);\n", - order: 24 - }, - - // material-placehorder + // material-placeholder { // 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 }, + // navbar generic-variations + { // Multi-line replacement - https://regex101.com/r/lX1hH1/4 + pattern: /.generic-variations\(unquote\((".navbar"), ~("([^"]+)?")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)}\);$/mg, + replacement: "@include navbar-variations(unquote($1), unquote($2), $4);\n", + order: 25 + }, + // fix calc references { // https://regex101.com/r/aZ8iI5/1 pattern: /calc\(unquote\("([^"]+)"\)\)/gi, replacement: "calc($1)", - order: 24 + order: 100 + }, + + // fix unquote("", ~"") + { // https://regex101.com/r/vX4nO9/6 + pattern: /\(unquote\(("([^"]+)?"), ~("([^"]+)?")\),/gi, + replacement: "(unquote($1), unquote($3),", + order: 101 }, // alert generic-variations (convert this one last - very broad search) - { // Multi-line replacement - https://regex101.com/r/jB1uL1/1 - pattern: /.generic-variations\(unquote\(("([^"]+)?")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+}\);$\n/mg, - replacement: "@include alert-variations(unquote($1), $3);\n", + { // Multi-line replacement - https://regex101.com/r/jB1uL1/2 + pattern: /.generic-variations\(unquote\(("([^"]+)?")\), unquote\(("([^"]+)?")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+}\);$\n/mg, + replacement: "@include alert-variations(unquote($1), unquote($3), $5);\n", order: 250 // very broad search, do this last }, diff --git a/bootstrap-elements.html b/bootstrap-elements.html index 32e15ddc..86bd7acc 100644 --- a/bootstrap-elements.html +++ b/bootstrap-elements.html @@ -539,14 +539,23 @@ xs button

-

Floating action buttons

+

Floating action buttons a.k.a fab

- grade - grade - grade - grade - grade - grade + grade + grade + grade + grade + grade + grade +

+

.btn-group-sm .btn-fab or .btn-fab-mini

+

+ grade + grade + grade + grade + grade + grade

diff --git a/less/_buttons.less b/less/_buttons.less index 7cce9aea..8fefe205 100644 --- a/less/_buttons.less +++ b/less/_buttons.less @@ -55,11 +55,17 @@ } } + //-- + // color variations + &.btn-raised, + &.btn-fab { + .background-variations(~".btn", ~"", @mdb-btn-background-color); + } + + //--- // btn-raised &.btn-raised { - .background-variations(~".btn", ~"", @mdb-btn-background-color); - &:not(.btn-link) { .shadow-2dp(); @@ -88,23 +94,8 @@ } } - // Size variations - &.btn-lg, - .btn-group-lg & { - font-size: @mdb-btn-font-size-lg; - } - &.btn-sm, - .btn-group-sm & { - padding: 5px 20px; - font-size: @mdb-btn-font-size-sm; - } - &.btn-xs, - .btn-group-xs & { - padding: 4px 15px; - font-size: @mdb-btn-font-size-xs; - } - &.btn-fab { + // see above for color variations border-radius: 50%; font-size: @mdb-btn-fab-font-size; height: @mdb-btn-fab-size; @@ -117,29 +108,15 @@ position: relative; line-height: normal; - //&, - //&:hover, - //&:active { - // //.variations(~"", background-color, transparent); - // //.variations(~".btn", ~"", background-color, @mdb-btn-primary-color); - //} - //&, - //&:hover { - // .shadow-z-1(); - //} - //&:active { - // .shadow-z-1-hover(); - //} - .ripple-container { border-radius: 50%; } - &.btn-fab-mini { - width: 40px; - height: 40px; - padding: 13px 0; - font-size: 15px; + &.btn-fab-mini, + .btn-group-sm & { + height: @mdb-btn-fab-size-mini; + min-width: @mdb-btn-fab-size-mini; + width: @mdb-btn-fab-size-mini; &.material-icons { top: (@mdb-btn-icon-size-mini - @mdb-btn-fab-font-size) / 2; @@ -161,12 +138,30 @@ i.material-icons { vertical-align: middle; } + + + // Size variations + &.btn-lg, + .btn-group-lg & { + font-size: @mdb-btn-font-size-lg; + } + &.btn-sm, + .btn-group-sm & { + padding: 5px 20px; + font-size: @mdb-btn-font-size-sm; + } + &.btn-xs, + .btn-group-xs & { + padding: 4px 15px; + font-size: @mdb-btn-font-size-xs; + } } // Disabled buttons and button groups .btn, .input-group-btn .btn, -.btn-group { +.btn-group, +.btn-group-vertical { // have to ratchet up the specificity to kill drop shadows on disabled raised buttons fieldset[disabled][disabled] &, &.disabled, @@ -179,9 +174,10 @@ color: fade(#FFFFFF, 30%); } + // flat buttons lose transparency background: transparent; - // no box-shadow on disabled + // no box-shadow on raised - need specificity &.btn-raised, &.btn-group-raised { &, @@ -202,6 +198,8 @@ //border-radius: 2px; margin: 10px 1px; + + // spec: https://www.google.com/design/spec/components/buttons.html#buttons-toggle-buttons &.open { .dropdown-toggle { //box-shadow: none; diff --git a/less/_import-bs-less.less b/less/_import-bs-less.less index 4e075e73..19b26852 100644 --- a/less/_import-bs-less.less +++ b/less/_import-bs-less.less @@ -1,2 +1,2 @@ -@import "@{mdb-dependency-packages}/bootstrap/less/variables.less"; -//@import "@{mdb-dependency-packages}/bootstrap/less/mixins.less"; +@import "../bower_components/bootstrap/less/variables.less"; +//@import "../bower_components/bootstrap/less/mixins.less"; diff --git a/less/_variables.less b/less/_variables.less index b7b107ae..e46b5bbd 100644 --- a/less/_variables.less +++ b/less/_variables.less @@ -1,8 +1,5 @@ @import "_colors.less"; -// Paths -@mdb-dependency-packages: "../bower_components"; - // Typography elements @mdb-font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; @mdb-text-color-light: ~"rgba(@{rgb-white}, 0.84)"; @@ -153,7 +150,7 @@ @mdl-btn-border-radus: 2px; -@mdb-btn-primary-color: ~"rgba(@{rgb-grey-500}, 0.20)"; +//@mdb-btn-primary-color: ~"rgba(@{rgb-grey-500}, 0.20)"; @mdb-btn-fab-size: 56px; @mdb-btn-fab-size-mini: 40px; diff --git a/sass/_alerts.scss b/sass/_alerts.scss index 8605bf23..efc77392 100644 --- a/sass/_alerts.scss +++ b/sass/_alerts.scss @@ -5,15 +5,15 @@ border-radius: 0; // SASS conversion note: please mirror any content change in _mixins-shared.scss alert-variations-content - @include alert-variations(unquote(""), $darkbg-text); + @include alert-variations(unquote(".alert"), unquote(""), $mdb-text-color-light); &-info, &-danger, &-warning, &-success { - color: $darkbg-text; + color: $mdb-text-color-light; } &-default { a, .alert-link { - color: $lightbg-text; + color: $mdb-text-color-primary; } } } diff --git a/sass/_bootstrap-material-design.scss b/sass/_bootstrap-material-design.scss index 847e49d1..756e5b10 100644 --- a/sass/_bootstrap-material-design.scss +++ b/sass/_bootstrap-material-design.scss @@ -5,7 +5,7 @@ body { &.inverse { background: #333333; &, .form-control { - color: $darkbg-text; + color: $mdb-text-color-light; } .modal, .panel-default, @@ -22,8 +22,8 @@ body { body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 { - font-family: $mdb-font-family; - font-weight: 300; + //font-family: $font-family-sans-serif; + //font-weight: 300; } h5, h6{ @@ -32,6 +32,10 @@ h5, h6{ a, a:hover, a:focus { color: $brand-primary; + + & .material-icons { + vertical-align: middle; + } } // Well and Jumbotrons @@ -78,7 +82,6 @@ legend { color: $brand-primary; } } - @include variations(unquote(" li a:hover"), color, $brand-primary); } // Alerts @@ -100,8 +103,6 @@ legend { @import '_dialogs'; -@import '_labels'; - @import '_panels'; @import '_dividers'; @@ -116,8 +117,7 @@ legend { } +@import '_themes'; + // External plugins -@import '_plugin-snackbarjs'; -@import '_plugin-nouislider'; -@import '_plugin-selectize'; -@import '_plugin-dropdownjs'; +@import '_plugins'; diff --git a/sass/_buttons.scss b/sass/_buttons.scss index 714e437f..840b871a 100644 --- a/sass/_buttons.scss +++ b/sass/_buttons.scss @@ -1,154 +1,226 @@ // This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. -@mixin btn-shadow(){ - @include shadow-z-1(); - transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); - &:active:not(.btn-link) { - @include shadow-z-1-hover(); - } -} +// specification: https://www.google.com/design/spec/components/buttons.html -.btn { - position: relative; - padding: 8px 30px; - border: 0; - margin: 10px 1px; - cursor: pointer; - border-radius: 2px; +@mixin typo-button($colorContrast: false){ + font-size: $mdb-btn-font-size-base; + font-weight: 500; text-transform: uppercase; - text-decoration: none; - color: $darkbg-text; + //line-height: 1; + letter-spacing: 0; - &:not(.btn-link):not(.btn-flat) { - background-color: $btn-default; - color: $lightbg-text; - - &:not(.btn-fab) { - &:hover { - @include shadow-z-1(); - } - &:active { - @include shadow-z-1-hover(); - } - } + @if ($colorContrast) { + opacity: 0.87; } - - transition: background-color 0.2s ease, box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); - outline: none !important; - - .btn-flat:not(.btn-link){ - color: $lightbg-text; - } - - @include background-variations(unquote(":not(.btn-link):not(.btn-flat)"), $btn-default); - - // BTN hover effect - // SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content - @include button-variations(unquote(":hover:not(.btn-link):not(.btn-flat)"), $btn-default, 4%); - // BTN active effect - // SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content - @include button-variations(unquote(":active:not(.btn-link):not(.btn-flat)"), $btn-default, 6%); - // BTN .active effect - // SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content - @include button-variations(unquote(".active:not(.btn-link):not(.btn-flat)"), $btn-default, 6%); - // BTN flat hover effect - // SASS conversion note: please mirror any content change in _mixins-shared.scss bg-color-variations-content - @include bg-color-variations(unquote(".btn-flat:hover:not(.btn-link)"), $btn-default, (20/100)); - } +// mdb default buttons are flat by default +// synchronized with mdl 11/23/15 .btn, .input-group-btn .btn { - &.btn-flat { - background: none; + border: none; + border-radius: $border-radius-base; + position: relative; + padding: 8px 30px; + margin: 10px 1px; + @include typo-button(); + will-change: box-shadow, transform; + transition: box-shadow 0.2s $mdb-animation-curve-fast-out-linear-in, + background-color 0.2s $mdb-animation-curve-default, + color 0.2s $mdb-animation-curve-default; + outline: none; + cursor: pointer; + text-decoration: none; + + &::-moz-focus-inner { + border: 0; + } + + //--- + // btn-flat + background: transparent; + &:not(.btn-raised) { + @include variations(unquote(".btn"), unquote(""), color, $mdb-text-color-primary); box-shadow: none; - font-weight: 500; - &:disabled { - color: $text-disabled !important; + + &:not(.btn-link) { + &:hover, + &:focus { + // spec: flat/light bg Hover: 20% #999999 + background-color: rgba(#999999, (20/100)); + + .theme-dark & { + // spec: dark bg Hover: 15% #CCCCCC + background-color: rgba(#CCCCCC, (15/100)); + } + } } } - // Size variations - &.btn-sm { - padding: 5px 20px; - } - &.btn-xs { - padding: 4px 15px; - font-size: 10px; + //-- + // color variations + &.btn-raised, + &.btn-fab { + @include background-variations(unquote(".btn"), unquote(""), $mdb-btn-background-color); } + + //--- + // btn-raised &.btn-raised { - @include btn-shadow(); + &:not(.btn-link) { + @include shadow-2dp(); + + &:hover { + + // Spec: + // - Raised Light/Light theme no hover. + // - Raised Dark/Dark theme Hover color: 600 + .theme-dark & { + //// SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content + //@include alert-variations(unquote(".btn"), unquote(""), $mdb-btn-background-color); + } + } + + &.active, + &:active { + @include shadow-4dp(); + } + + &:focus:not(:active) { + @include focus-shadow(); + } + } } &.btn-fab { - margin: 0; - padding: 15px; - font-size: 26px; - width: 56px; - height: 56px; - &, &:hover, &:active { - @include variations(unquote(""), background-color, transparent); - } - &, &:hover { - @include shadow-z-1(); - } - &:active { - @include shadow-z-1-hover(); - } - &, + // see above for color variations + border-radius: 50%; + font-size: $mdb-btn-fab-font-size; + height: $mdb-btn-fab-size; + margin: auto; + min-width: $mdb-btn-fab-size; + width: $mdb-btn-fab-size; + padding: 0; + overflow: hidden; + box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24); + position: relative; + line-height: normal; + .ripple-container { - border-radius: 100%; + border-radius: 50%; } - &.btn-fab-mini { - width: 40px; - height: 40px; - padding: 13px 0; - font-size: 15px; + + &.btn-fab-mini, + .btn-group-sm & { + height: $mdb-btn-fab-size-mini; + min-width: $mdb-btn-fab-size-mini; + width: $mdb-btn-fab-size-mini; + + &.material-icons { + top: ($mdb-btn-icon-size-mini - $mdb-btn-fab-font-size) / 2; + left: ($mdb-btn-icon-size-mini - $mdb-btn-fab-font-size) / 2; + } } - i { - position: relative; - top: -5px; - margin: 0 auto; + + i.material-icons { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-($mdb-btn-fab-font-size / 2), -($mdb-btn-fab-font-size / 2)); + line-height: $mdb-btn-fab-font-size; + width: $mdb-btn-fab-font-size; + } + } + + // Align icons inside buttons with text + i.material-icons { + vertical-align: middle; + } + + + // Size variations + &.btn-lg, + .btn-group-lg & { + font-size: $mdb-btn-font-size-lg; + } + &.btn-sm, + .btn-group-sm & { + padding: 5px 20px; + font-size: $mdb-btn-font-size-sm; + } + &.btn-xs, + .btn-group-xs & { + padding: 4px 15px; + font-size: $mdb-btn-font-size-xs; + } +} + +// Disabled buttons and button groups +.btn, +.input-group-btn .btn, +.btn-group, +.btn-group-vertical { + // have to ratchet up the specificity to kill drop shadows on disabled raised buttons + fieldset[disabled][disabled] &, + &.disabled, + &:disabled, + &[disabled][disabled] { + // spec: light theme: Disabled text: 26% #000000 + color: rgba(#000000, (26/100)); + .theme-dark & { + // spec: dark theme: Disabled text: 30% #FFFFFF + color: rgba(#FFFFFF, (30/100)); + } + + // flat buttons lose transparency + background: transparent; + + // no box-shadow on raised - need specificity + &.btn-raised, + &.btn-group-raised { + &, + &.active, + &:active, + &:focus:not(:active) { + box-shadow: none; + } } } } -// This is needed to style buttons which has not a variation suffix (they must be stiled as btn-default) -.btn-link, .btn:not([class*="btn-"]), .btn-default { - color: $lightbg-text; - &:hover { - color: $lightbg-text; - } -} -.btn:not([class*="btn-"]), .btn-default, .btn-flat:not(.btn-link) { - &:hover, &.active { - background-color: rgba(255,255,255,0.5); - } -} -.open > .dropdown-toggle.btn { - @include variations(unquote(""), background-color, $btn-default); -} -.btn-group .btn+.btn, .btn-group .btn+.btn-group, .btn-group .btn-group+.btn, .btn-group .btn-group+.btn-group { - margin-left: 0; -} -.btn-group, .btn-group-vertical { +// btn-group variations +.btn-group, +.btn-group-vertical { + position: relative; - border-radius: 2px; + //border-radius: 2px; margin: 10px 1px; - @include btn-shadow(); - &.open .dropdown-toggle { - box-shadow: none; + + // spec: https://www.google.com/design/spec/components/buttons.html#buttons-toggle-buttons + &.open { + .dropdown-toggle { + //box-shadow: none; + } + + & > .dropdown-toggle.btn { + @include variations(unquote(".btn"), unquote(""), background-color, $mdb-btn-background-color); + } } + + .dropdown-menu { + border-radius: 0 0 $border-radius-base $border-radius-base; + } + &.btn-group-raised { - @include btn-shadow(); + @include shadow-2dp(); } - .btn, .btn:active, .btn-group { - box-shadow: none !important; + + & .btn + .btn, + .btn, + .btn:active, + .btn-group { margin: 0; } } -.btn-group-flat { - box-shadow: none !important; -} diff --git a/sass/_cards.scss b/sass/_cards.scss index e5ee0e7e..48743182 100644 --- a/sass/_cards.scss +++ b/sass/_cards.scss @@ -21,7 +21,7 @@ /**************************************************************************/ - border-radius: 2px; + border-radius: $border-radius-base; color: $mdb-card-body-text; background: $mdb-card-body-background; diff --git a/sass/_checkboxes.scss b/sass/_checkboxes.scss index 09bdd861..bfa64671 100644 --- a/sass/_checkboxes.scss +++ b/sass/_checkboxes.scss @@ -48,8 +48,7 @@ display: inline-block; width: $mdb-checkbox-size; height: $mdb-checkbox-size; - border: 2px solid $mdb-checkbox-border-color; - border-radius: 2px; + border: $border-radius-base solid $mdb-checkbox-border-color; overflow: hidden; z-index: 1; } @@ -74,33 +73,51 @@ } } - input[type=checkbox]:focus + .checkbox-material .check:after { - opacity: 0.2; - } - input[type=checkbox]:checked + .checkbox-material .check:before { - box-shadow: - 0 0 0 10px, - 10px -10px 0 10px, - 32px 0px 0 20px, - 0px 32px 0 20px, - -5px 5px 0 10px, - 20px -12px 0 11px; - animation: checkbox-on $mdb-checkbox-animation-check forwards; - } + input[type=checkbox] { - input[type=checkbox]:not(:checked) + .checkbox-material:before { - animation: rippleOff $mdb-checkbox-animation-ripple; - } - input[type=checkbox]:checked + .checkbox-material:before { - animation: rippleOn $mdb-checkbox-animation-ripple; - } + &:focus + .checkbox-material .check:after { + opacity: 0.2; + } - // Ripple effect on click - input[type=checkbox]:not(:checked) + .checkbox-material .check:after { - animation: rippleOff $mdb-checkbox-animation-ripple forwards; - } - input[type=checkbox]:checked + .checkbox-material .check:after { - animation: rippleOn $mdb-checkbox-animation-ripple forwards; + &:checked { + + // FIXME: once working - combine further to reduce code + & + .checkbox-material .check { + color: $mdb-checkbox-checked-color; + border-color: $mdb-checkbox-checked-color; + } + + & + .checkbox-material .check:before { + color: $mdb-checkbox-checked-color; + box-shadow: 0 0 0 10px, + 10px -10px 0 10px, + 32px 0px 0 20px, + 0px 32px 0 20px, + -5px 5px 0 10px, + 20px -12px 0 11px; + animation: checkbox-on $mdb-checkbox-animation-check forwards; + } + + & + .checkbox-material:before { + animation: rippleOn $mdb-checkbox-animation-ripple; + } + + & + .checkbox-material .check:after { + //background-color: $brand-success; // FIXME: seems like tho wrong color, test and make sure it can be removed + animation: rippleOn $mdb-checkbox-animation-ripple forwards; // Ripple effect on check + } + } + + &:not(:checked) { + & + .checkbox-material:before { + animation: rippleOff $mdb-checkbox-animation-ripple; + } + + & + .checkbox-material .check:after { + animation: rippleOff $mdb-checkbox-animation-ripple forwards; // Ripple effect on uncheck + + } + } } // Style for disabled inputs @@ -112,14 +129,9 @@ opacity: 0.5; } input[type=checkbox][disabled] + .checkbox-material .check:after { - background-color: $lightbg-text; + background-color: $mdb-text-color-primary; transform: rotate(-45deg); } - - @include variations(unquote(" input[type=checkbox]:checked + .checkbox-material .check:after"), background-color, $brand-success); - @include variations(unquote(" input[type=checkbox]:checked + .checkbox-material .check:before"), color, $mdb-checkbox-checked-color); - @include variations(unquote(" input[type=checkbox]:checked + .checkbox-material .check"), color, $mdb-checkbox-checked-color); - @include variations(unquote(" input[type=checkbox]:checked + .checkbox-material .check"), border-color, $mdb-checkbox-checked-color); } @keyframes checkbox-on { diff --git a/sass/_colors.scss b/sass/_colors.scss index 1b1802e9..a4082f9e 100644 --- a/sass/_colors.scss +++ b/sass/_colors.scss @@ -328,7 +328,7 @@ $grey-100: #f5f5f5 !default; $grey-200: #eeeeee !default; $grey-300: #e0e0e0 !default; $grey-400: #bdbdbd !default; -$grey-500: #9e9e9e !default; +$grey-500: #9e9e9e; $rgb-grey-500: "158, 158, 158" !default; $grey-600: #757575 !default; $grey-700: #616161 !default; $grey-800: #424242 !default; @@ -357,6 +357,5 @@ $blue-grey-A700: #455a64 !default; $blue-grey: $blue-grey-500 !default; -$black: #000000 !default; -$white: #ffffff !default; -$mdb-brand-inverse: $indigo !default; +$black: #000000; $rgb-black: "0,0,0" !default; +$white: #ffffff; $rgb-white: "255,255,255" !default; diff --git a/sass/_dialogs.scss b/sass/_dialogs.scss index 09df78ad..8b1ec101 100644 --- a/sass/_dialogs.scss +++ b/sass/_dialogs.scss @@ -6,7 +6,7 @@ // -------------------------------------------------- .modal-content { @include shadow-z-5(); - border-radius: 2px; + border-radius: $border-radius-base; border: none; // Modal header // Top section of the modal w/ title and dismiss diff --git a/sass/_icons-material-design.scss b/sass/_icons-material-design.scss index d1672b76..8ee2487a 100644 --- a/sass/_icons-material-design.scss +++ b/sass/_icons-material-design.scss @@ -1,3252 +1,3252 @@ // This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. -@font-face { - font-family: 'Material-Design-Icons'; - src:url('#{$mdb-font-path}/Material-Design-Icons.eot?3ocs8m'); - src:url('#{$mdb-font-path}/Material-Design-Icons.eot?#iefix3ocs8m') format('embedded-opentype'), - url('#{$mdb-font-path}/Material-Design-Icons.woff?3ocs8m') format('woff'), - url('#{$mdb-font-path}/Material-Design-Icons.ttf?3ocs8m') format('truetype'), - url('#{$mdb-font-path}/Material-Design-Icons.svg?3ocs8m#Material-Design-Icons') format('svg'); - font-weight: normal; - font-style: normal; -} - -[class^="mdi-"], [class*="mdi-"] { - speak: none; - display: inline-block; - font: normal normal normal 24px/1 'Material-Design-Icons'; - text-rendering: auto; - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - transform: translate(0, 0); - &:before { - display: inline-block; - speak: none; - text-decoration: inherit; - } - &.pull-left { - margin-right: .3em; - } - &.pull-right{ - margin-left: .3em; - } - &.mdi-lg:before, &.mdi-lg:after { - font-size: 1.33333333em; - line-height: 0.75em; - vertical-align: -15%; - } - &.mdi-2x:before, &.mdi-2x:after { - font-size: 2em; - } - &.mdi-3x:before, &.mdi-3x:after { - font-size: 3em; - } - &.mdi-4x:before, &.mdi-4x:after { - font-size: 4em; - } - &.mdi-5x:before, &.mdi-5x:after { - font-size: 5em; - } -} - -[class^="mdi-device-signal-cellular-"], -[class^="mdi-device-battery-"], -[class^="mdi-device-battery-charging-"], -[class^="mdi-device-signal-cellular-connected-no-internet-"], -[class^="mdi-device-signal-wifi-"], -[class^="mdi-device-signal-wifi-statusbar-not-connected"], -.mdi-device-network-wifi{ - &:after { - opacity: .3; - position: absolute; - left: 0; - top: 0; - z-index: 1; - display: inline-block; - speak: none; - text-decoration: inherit; - } -} - -[class^="mdi-device-signal-cellular-"]:after {content:"\e758";} -[class^="mdi-device-battery-"]:after {content:"\e735";} -[class^="mdi-device-battery-charging-"]:after {content:"\e733";} -[class^="mdi-device-signal-cellular-connected-no-internet-"]:after {content:"\e75d";} -[class^="mdi-device-signal-wifi-"]:after, .mdi-device-network-wifi:after {content:"\e765";} -[class^="mdi-device-signal-wifi-statusbasr-not-connected"]:after {content:"\e8f7";} - -.mdi-device-signal-cellular-off, .mdi-device-signal-cellular-null, .mdi-device-signal-cellular-no-sim, .mdi-device-signal-wifi-off, .mdi-device-signal-wifi-4-bar, .mdi-device-signal-cellular-4-bar, .mdi-device-battery-alert, .mdi-device-signal-cellular-connected-no-internet-4-bar, .mdi-device-battery-std, .mdi-device-battery-full .mdi-device-battery-unknown { - &:after { - content: ""; - } -} - -.mdi-fw { - width: 1.28571429em; - text-align: center; -} -.mdi-ul { - padding-left: 0; - margin-left: 2.14285714em; - list-style-type: none; -} -.mdi-ul > li { - position: relative; -} -.mdi-li { - position: absolute; - left: -2.14285714em; - width: 2.14285714em; - top: 0.14285714em; - text-align: center; -} -.mdi-li.mdi-lg { - left: -1.85714286em; -} -.mdi-border { - padding: .2em .25em .15em; - border: solid 0.08em #eeeeee; - border-radius: .1em; -} - -.mdi-spin { - -webkit-animation: mdi-spin 2s infinite linear; - animation: mdi-spin 2s infinite linear; - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - -o-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -.mdi-pulse { - -webkit-animation: mdi-spin 1s steps(8) infinite; - animation: mdi-spin 1s steps(8) infinite ; - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - -o-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} -@-webkit-keyframes mdi-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes mdi-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.mdi-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.mdi-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.mdi-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.mdi-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.mdi-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -:root .mdi-rotate-90, -:root .mdi-rotate-180, -:root .mdi-rotate-270, -:root .mdi-flip-horizontal, -:root .mdi-flip-vertical { - filter: none; -} -.mdi-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} -.mdi-stack-1x, -.mdi-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} -.mdi-stack-1x { - line-height: inherit; -} -.mdi-stack-2x { - font-size: 2em; -} -.mdi-inverse { - color: #ffffff; -} - - -/* Start Icons */ - -.mdi-action-3d-rotation:before { - content: "\e600"; -} - -.mdi-action-accessibility:before { - content: "\e601"; -} - -.mdi-action-account-balance-wallet:before { - content: "\e602"; -} - -.mdi-action-account-balance:before { - content: "\e603"; -} - -.mdi-action-account-box:before { - content: "\e604"; -} - -.mdi-action-account-child:before { - content: "\e605"; -} - -.mdi-action-account-circle:before { - content: "\e606"; -} - -.mdi-action-add-shopping-cart:before { - content: "\e607"; -} - -.mdi-action-alarm-add:before { - content: "\e608"; -} - -.mdi-action-alarm-off:before { - content: "\e609"; -} - -.mdi-action-alarm-on:before { - content: "\e60a"; -} - -.mdi-action-alarm:before { - content: "\e60b"; -} - -.mdi-action-android:before { - content: "\e60c"; -} - -.mdi-action-announcement:before { - content: "\e60d"; -} - -.mdi-action-aspect-ratio:before { - content: "\e60e"; -} - -.mdi-action-assessment:before { - content: "\e60f"; -} - -.mdi-action-assignment-ind:before { - content: "\e610"; -} - -.mdi-action-assignment-late:before { - content: "\e611"; -} - -.mdi-action-assignment-return:before { - content: "\e612"; -} - -.mdi-action-assignment-returned:before { - content: "\e613"; -} - -.mdi-action-assignment-turned-in:before { - content: "\e614"; -} - -.mdi-action-assignment:before { - content: "\e615"; -} - -.mdi-action-autorenew:before { - content: "\e616"; -} - -.mdi-action-backup:before { - content: "\e617"; -} - -.mdi-action-book:before { - content: "\e618"; -} - -.mdi-action-bookmark-outline:before { - content: "\e619"; -} - -.mdi-action-bookmark:before { - content: "\e61a"; -} - -.mdi-action-bug-report:before { - content: "\e61b"; -} - -.mdi-action-cached:before { - content: "\e61c"; -} - -.mdi-action-check-circle:before { - content: "\e61d"; -} - -.mdi-action-class:before { - content: "\e61e"; -} - -.mdi-action-credit-card:before { - content: "\e61f"; -} - -.mdi-action-dashboard:before { - content: "\e620"; -} - -.mdi-action-delete:before { - content: "\e621"; -} - -.mdi-action-description:before { - content: "\e622"; -} - -.mdi-action-dns:before { - content: "\e623"; -} - -.mdi-action-done-all:before { - content: "\e624"; -} - -.mdi-action-done:before { - content: "\e625"; -} - -.mdi-action-event:before { - content: "\e626"; -} - -.mdi-action-exit-to-app:before { - content: "\e627"; -} - -.mdi-action-explore:before { - content: "\e628"; -} - -.mdi-action-extension:before { - content: "\e629"; -} - -.mdi-action-face-unlock:before { - content: "\e62a"; -} - -.mdi-action-favorite-outline:before { - content: "\e62b"; -} - -.mdi-action-favorite:before { - content: "\e62c"; -} - -.mdi-action-find-in-page:before { - content: "\e62d"; -} - -.mdi-action-find-replace:before { - content: "\e62e"; -} - -.mdi-action-flip-to-back:before { - content: "\e62f"; -} - -.mdi-action-flip-to-front:before { - content: "\e630"; -} - -.mdi-action-get-app:before { - content: "\e631"; -} - -.mdi-action-grade:before { - content: "\e632"; -} - -.mdi-action-group-work:before { - content: "\e633"; -} - -.mdi-action-help:before { - content: "\e634"; -} - -.mdi-action-highlight-remove:before { - content: "\e635"; -} - -.mdi-action-history:before { - content: "\e636"; -} - -.mdi-action-home:before { - content: "\e637"; -} - -.mdi-action-https:before { - content: "\e638"; -} - -.mdi-action-info-outline:before { - content: "\e639"; -} - -.mdi-action-info:before { - content: "\e63a"; -} - -.mdi-action-input:before { - content: "\e63b"; -} - -.mdi-action-invert-colors:before { - content: "\e63c"; -} - -.mdi-action-label-outline:before { - content: "\e63d"; -} - -.mdi-action-label:before { - content: "\e63e"; -} - -.mdi-action-language:before { - content: "\e63f"; -} - -.mdi-action-launch:before { - content: "\e640"; -} - -.mdi-action-list:before { - content: "\e641"; -} - -.mdi-action-lock-open:before { - content: "\e642"; -} - -.mdi-action-lock-outline:before { - content: "\e643"; -} - -.mdi-action-lock:before { - content: "\e644"; -} - -.mdi-action-loyalty:before { - content: "\e645"; -} - -.mdi-action-markunread-mailbox:before { - content: "\e646"; -} - -.mdi-action-note-add:before { - content: "\e647"; -} - -.mdi-action-open-in-browser:before { - content: "\e648"; -} - -.mdi-action-open-in-new:before { - content: "\e649"; -} - -.mdi-action-open-with:before { - content: "\e64a"; -} - -.mdi-action-pageview:before { - content: "\e64b"; -} - -.mdi-action-payment:before { - content: "\e64c"; -} - -.mdi-action-perm-camera-mic:before { - content: "\e64d"; -} - -.mdi-action-perm-contact-cal:before { - content: "\e64e"; -} - -.mdi-action-perm-data-setting:before { - content: "\e64f"; -} - -.mdi-action-perm-device-info:before { - content: "\e650"; -} - -.mdi-action-perm-identity:before { - content: "\e651"; -} - -.mdi-action-perm-media:before { - content: "\e652"; -} - -.mdi-action-perm-phone-msg:before { - content: "\e653"; -} - -.mdi-action-perm-scan-wifi:before { - content: "\e654"; -} - -.mdi-action-picture-in-picture:before { - content: "\e655"; -} - -.mdi-action-polymer:before { - content: "\e656"; -} - -.mdi-action-print:before { - content: "\e657"; -} - -.mdi-action-query-builder:before { - content: "\e658"; -} - -.mdi-action-question-answer:before { - content: "\e659"; -} - -.mdi-action-receipt:before { - content: "\e65a"; -} - -.mdi-action-redeem:before { - content: "\e65b"; -} - -.mdi-action-reorder:before { - content: "\e65c"; -} - -.mdi-action-report-problem:before { - content: "\e65d"; -} - -.mdi-action-restore:before { - content: "\e65e"; -} - -.mdi-action-room:before { - content: "\e65f"; -} - -.mdi-action-schedule:before { - content: "\e660"; -} - -.mdi-action-search:before { - content: "\e661"; -} - -.mdi-action-settings-applications:before { - content: "\e662"; -} - -.mdi-action-settings-backup-restore:before { - content: "\e663"; -} - -.mdi-action-settings-bluetooth:before { - content: "\e664"; -} - -.mdi-action-settings-cell:before { - content: "\e665"; -} - -.mdi-action-settings-display:before { - content: "\e666"; -} - -.mdi-action-settings-ethernet:before { - content: "\e667"; -} - -.mdi-action-settings-input-antenna:before { - content: "\e668"; -} - -.mdi-action-settings-input-component:before { - content: "\e669"; -} - -.mdi-action-settings-input-composite:before { - content: "\e66a"; -} - -.mdi-action-settings-input-hdmi:before { - content: "\e66b"; -} - -.mdi-action-settings-input-svideo:before { - content: "\e66c"; -} - -.mdi-action-settings-overscan:before { - content: "\e66d"; -} - -.mdi-action-settings-phone:before { - content: "\e66e"; -} - -.mdi-action-settings-power:before { - content: "\e66f"; -} - -.mdi-action-settings-remote:before { - content: "\e670"; -} - -.mdi-action-settings-voice:before { - content: "\e671"; -} - -.mdi-action-settings:before { - content: "\e672"; -} - -.mdi-action-shop-two:before { - content: "\e673"; -} - -.mdi-action-shop:before { - content: "\e674"; -} - -.mdi-action-shopping-basket:before { - content: "\e675"; -} - -.mdi-action-shopping-cart:before { - content: "\e676"; -} - -.mdi-action-speaker-notes:before { - content: "\e677"; -} - -.mdi-action-spellcheck:before { - content: "\e678"; -} - -.mdi-action-star-rate:before { - content: "\e679"; -} - -.mdi-action-stars:before { - content: "\e67a"; -} - -.mdi-action-store:before { - content: "\e67b"; -} - -.mdi-action-subject:before { - content: "\e67c"; -} - -.mdi-action-supervisor-account:before { - content: "\e67d"; -} - -.mdi-action-swap-horiz:before { - content: "\e67e"; -} - -.mdi-action-swap-vert-circle:before { - content: "\e67f"; -} - -.mdi-action-swap-vert:before { - content: "\e680"; -} - -.mdi-action-system-update-tv:before { - content: "\e681"; -} - -.mdi-action-tab-unselected:before { - content: "\e682"; -} - -.mdi-action-tab:before { - content: "\e683"; -} - -.mdi-action-theaters:before { - content: "\e684"; -} - -.mdi-action-thumb-down:before { - content: "\e685"; -} - -.mdi-action-thumb-up:before { - content: "\e686"; -} - -.mdi-action-thumbs-up-down:before { - content: "\e687"; -} - -.mdi-action-toc:before { - content: "\e688"; -} - -.mdi-action-today:before { - content: "\e689"; -} - -.mdi-action-track-changes:before { - content: "\e68a"; -} - -.mdi-action-translate:before { - content: "\e68b"; -} - -.mdi-action-trending-down:before { - content: "\e68c"; -} - -.mdi-action-trending-neutral:before { - content: "\e68d"; -} - -.mdi-action-trending-up:before { - content: "\e68e"; -} - -.mdi-action-turned-in-not:before { - content: "\e68f"; -} - -.mdi-action-turned-in:before { - content: "\e690"; -} - -.mdi-action-verified-user:before { - content: "\e691"; -} - -.mdi-action-view-agenda:before { - content: "\e692"; -} - -.mdi-action-view-array:before { - content: "\e693"; -} - -.mdi-action-view-carousel:before { - content: "\e694"; -} - -.mdi-action-view-column:before { - content: "\e695"; -} - -.mdi-action-view-day:before { - content: "\e696"; -} - -.mdi-action-view-headline:before { - content: "\e697"; -} - -.mdi-action-view-list:before { - content: "\e698"; -} - -.mdi-action-view-module:before { - content: "\e699"; -} - -.mdi-action-view-quilt:before { - content: "\e69a"; -} - -.mdi-action-view-stream:before { - content: "\e69b"; -} - -.mdi-action-view-week:before { - content: "\e69c"; -} - -.mdi-action-visibility-off:before { - content: "\e69d"; -} - -.mdi-action-visibility:before { - content: "\e69e"; -} - -.mdi-action-wallet-giftcard:before { - content: "\e69f"; -} - -.mdi-action-wallet-membership:before { - content: "\e6a0"; -} - -.mdi-action-wallet-travel:before { - content: "\e6a1"; -} - -.mdi-action-work:before { - content: "\e6a2"; -} - -.mdi-alert-error:before { - content: "\e6a3"; -} - -.mdi-alert-warning:before { - content: "\e6a4"; -} - -.mdi-av-album:before { - content: "\e6a5"; -} - -.mdi-av-closed-caption:before { - content: "\e6a6"; -} - -.mdi-av-equalizer:before { - content: "\e6a7"; -} - -.mdi-av-explicit:before { - content: "\e6a8"; -} - -.mdi-av-fast-forward:before { - content: "\e6a9"; -} - -.mdi-av-fast-rewind:before { - content: "\e6aa"; -} - -.mdi-av-games:before { - content: "\e6ab"; -} - -.mdi-av-hearing:before { - content: "\e6ac"; -} - -.mdi-av-high-quality:before { - content: "\e6ad"; -} - -.mdi-av-loop:before { - content: "\e6ae"; -} - -.mdi-av-mic-none:before { - content: "\e6af"; -} - -.mdi-av-mic-off:before { - content: "\e6b0"; -} - -.mdi-av-mic:before { - content: "\e6b1"; -} - -.mdi-av-movie:before { - content: "\e6b2"; -} - -.mdi-av-my-library-add:before { - content: "\e6b3"; -} - -.mdi-av-my-library-books:before { - content: "\e6b4"; -} - -.mdi-av-my-library-music:before { - content: "\e6b5"; -} - -.mdi-av-new-releases:before { - content: "\e6b6"; -} - -.mdi-av-not-interested:before { - content: "\e6b7"; -} - -.mdi-av-pause-circle-fill:before { - content: "\e6b8"; -} - -.mdi-av-pause-circle-outline:before { - content: "\e6b9"; -} - -.mdi-av-pause:before { - content: "\e6ba"; -} - -.mdi-av-play-arrow:before { - content: "\e6bb"; -} - -.mdi-av-play-circle-fill:before { - content: "\e6bc"; -} - -.mdi-av-play-circle-outline:before { - content: "\e6bd"; -} - -.mdi-av-play-shopping-bag:before { - content: "\e6be"; -} - -.mdi-av-playlist-add:before { - content: "\e6bf"; -} - -.mdi-av-queue-music:before { - content: "\e6c0"; -} - -.mdi-av-queue:before { - content: "\e6c1"; -} - -.mdi-av-radio:before { - content: "\e6c2"; -} - -.mdi-av-recent-actors:before { - content: "\e6c3"; -} - -.mdi-av-repeat-one:before { - content: "\e6c4"; -} - -.mdi-av-repeat:before { - content: "\e6c5"; -} - -.mdi-av-replay:before { - content: "\e6c6"; -} - -.mdi-av-shuffle:before { - content: "\e6c7"; -} - -.mdi-av-skip-next:before { - content: "\e6c8"; -} - -.mdi-av-skip-previous:before { - content: "\e6c9"; -} - -.mdi-av-snooze:before { - content: "\e6ca"; -} - -.mdi-av-stop:before { - content: "\e6cb"; -} - -.mdi-av-subtitles:before { - content: "\e6cc"; -} - -.mdi-av-surround-sound:before { - content: "\e6cd"; -} - -.mdi-av-timer:before { - content: "\e6ce"; -} - -.mdi-av-video-collection:before { - content: "\e6cf"; -} - -.mdi-av-videocam-off:before { - content: "\e6d0"; -} - -.mdi-av-videocam:before { - content: "\e6d1"; -} - -.mdi-av-volume-down:before { - content: "\e6d2"; -} - -.mdi-av-volume-mute:before { - content: "\e6d3"; -} - -.mdi-av-volume-off:before { - content: "\e6d4"; -} - -.mdi-av-volume-up:before { - content: "\e6d5"; -} - -.mdi-av-web:before { - content: "\e6d6"; -} - -.mdi-communication-business:before { - content: "\e6d7"; -} - -.mdi-communication-call-end:before { - content: "\e6d8"; -} - -.mdi-communication-call-made:before { - content: "\e6d9"; -} - -.mdi-communication-call-merge:before { - content: "\e6da"; -} - -.mdi-communication-call-missed:before { - content: "\e6db"; -} - -.mdi-communication-call-received:before { - content: "\e6dc"; -} - -.mdi-communication-call-split:before { - content: "\e6dd"; -} - -.mdi-communication-call:before { - content: "\e6de"; -} - -.mdi-communication-chat:before { - content: "\e6df"; -} - -.mdi-communication-clear-all:before { - content: "\e6e0"; -} - -.mdi-communication-comment:before { - content: "\e6e1"; -} - -.mdi-communication-contacts:before { - content: "\e6e2"; -} - -.mdi-communication-dialer-sip:before { - content: "\e6e3"; -} - -.mdi-communication-dialpad:before { - content: "\e6e4"; -} - -.mdi-communication-dnd-on:before { - content: "\e6e5"; -} - -.mdi-communication-email:before { - content: "\e6e6"; -} - -.mdi-communication-forum:before { - content: "\e6e7"; -} - -.mdi-communication-import-export:before { - content: "\e6e8"; -} - -.mdi-communication-invert-colors-off:before { - content: "\e6e9"; -} - -.mdi-communication-invert-colors-on:before { - content: "\e6ea"; -} - -.mdi-communication-live-help:before { - content: "\e6eb"; -} - -.mdi-communication-location-off:before { - content: "\e6ec"; -} - -.mdi-communication-location-on:before { - content: "\e6ed"; -} - -.mdi-communication-message:before { - content: "\e6ee"; -} - -.mdi-communication-messenger:before { - content: "\e6ef"; -} - -.mdi-communication-no-sim:before { - content: "\e6f0"; -} - -.mdi-communication-phone:before { - content: "\e6f1"; -} - -.mdi-communication-portable-wifi-off:before { - content: "\e6f2"; -} - -.mdi-communication-quick-contacts-dialer:before { - content: "\e6f3"; -} - -.mdi-communication-quick-contacts-mail:before { - content: "\e6f4"; -} - -.mdi-communication-ring-volume:before { - content: "\e6f5"; -} - -.mdi-communication-stay-current-landscape:before { - content: "\e6f6"; -} - -.mdi-communication-stay-current-portrait:before { - content: "\e6f7"; -} - -.mdi-communication-stay-primary-landscape:before { - content: "\e6f8"; -} - -.mdi-communication-stay-primary-portrait:before { - content: "\e6f9"; -} - -.mdi-communication-swap-calls:before { - content: "\e6fa"; -} - -.mdi-communication-textsms:before { - content: "\e6fb"; -} - -.mdi-communication-voicemail:before { - content: "\e6fc"; -} - -.mdi-communication-vpn-key:before { - content: "\e6fd"; -} - -.mdi-content-add-box:before { - content: "\e6fe"; -} - -.mdi-content-add-circle-outline:before { - content: "\e6ff"; -} - -.mdi-content-add-circle:before { - content: "\e700"; -} - -.mdi-content-add:before { - content: "\e701"; -} - -.mdi-content-archive:before { - content: "\e702"; -} - -.mdi-content-backspace:before { - content: "\e703"; -} - -.mdi-content-block:before { - content: "\e704"; -} - -.mdi-content-clear:before { - content: "\e705"; -} - -.mdi-content-content-copy:before { - content: "\e706"; -} - -.mdi-content-content-cut:before { - content: "\e707"; -} - -.mdi-content-content-paste:before { - content: "\e708"; -} - -.mdi-content-create:before { - content: "\e709"; -} - -.mdi-content-drafts:before { - content: "\e70a"; -} - -.mdi-content-filter-list:before { - content: "\e70b"; -} - -.mdi-content-flag:before { - content: "\e70c"; -} - -.mdi-content-forward:before { - content: "\e70d"; -} - -.mdi-content-gesture:before { - content: "\e70e"; -} - -.mdi-content-inbox:before { - content: "\e70f"; -} - -.mdi-content-link:before { - content: "\e710"; -} - -.mdi-content-mail:before { - content: "\e711"; -} - -.mdi-content-markunread:before { - content: "\e712"; -} - -.mdi-content-redo:before { - content: "\e713"; -} - -.mdi-content-remove-circle-outline:before { - content: "\e714"; -} - -.mdi-content-remove-circle:before { - content: "\e715"; -} - -.mdi-content-remove:before { - content: "\e716"; -} - -.mdi-content-reply-all:before { - content: "\e717"; -} - -.mdi-content-reply:before { - content: "\e718"; -} - -.mdi-content-report:before { - content: "\e719"; -} - -.mdi-content-save:before { - content: "\e71a"; -} - -.mdi-content-select-all:before { - content: "\e71b"; -} - -.mdi-content-send:before { - content: "\e71c"; -} - -.mdi-content-sort:before { - content: "\e71d"; -} - -.mdi-content-text-format:before { - content: "\e71e"; -} - -.mdi-content-undo:before { - content: "\e71f"; -} - -.mdi-editor-attach-file:before { - content: "\e776"; -} - -.mdi-editor-attach-money:before { - content: "\e777"; -} - -.mdi-editor-border-all:before { - content: "\e778"; -} - -.mdi-editor-border-bottom:before { - content: "\e779"; -} - -.mdi-editor-border-clear:before { - content: "\e77a"; -} - -.mdi-editor-border-color:before { - content: "\e77b"; -} - -.mdi-editor-border-horizontal:before { - content: "\e77c"; -} - -.mdi-editor-border-inner:before { - content: "\e77d"; -} - -.mdi-editor-border-left:before { - content: "\e77e"; -} - -.mdi-editor-border-outer:before { - content: "\e77f"; -} - -.mdi-editor-border-right:before { - content: "\e780"; -} - -.mdi-editor-border-style:before { - content: "\e781"; -} - -.mdi-editor-border-top:before { - content: "\e782"; -} - -.mdi-editor-border-vertical:before { - content: "\e783"; -} - -.mdi-editor-format-align-center:before { - content: "\e784"; -} - -.mdi-editor-format-align-justify:before { - content: "\e785"; -} - -.mdi-editor-format-align-left:before { - content: "\e786"; -} - -.mdi-editor-format-align-right:before { - content: "\e787"; -} - -.mdi-editor-format-bold:before { - content: "\e788"; -} - -.mdi-editor-format-clear:before { - content: "\e789"; -} - -.mdi-editor-format-color-fill:before { - content: "\e78a"; -} - -.mdi-editor-format-color-reset:before { - content: "\e78b"; -} - -.mdi-editor-format-color-text:before { - content: "\e78c"; -} - -.mdi-editor-format-indent-decrease:before { - content: "\e78d"; -} - -.mdi-editor-format-indent-increase:before { - content: "\e78e"; -} - -.mdi-editor-format-italic:before { - content: "\e78f"; -} - -.mdi-editor-format-line-spacing:before { - content: "\e790"; -} - -.mdi-editor-format-list-bulleted:before { - content: "\e791"; -} - -.mdi-editor-format-list-numbered:before { - content: "\e792"; -} - -.mdi-editor-format-paint:before { - content: "\e793"; -} - -.mdi-editor-format-quote:before { - content: "\e794"; -} - -.mdi-editor-format-size:before { - content: "\e795"; -} - -.mdi-editor-format-strikethrough:before { - content: "\e796"; -} - -.mdi-editor-format-textdirection-l-to-r:before { - content: "\e797"; -} - -.mdi-editor-format-textdirection-r-to-l:before { - content: "\e798"; -} - -.mdi-editor-format-underline:before { - content: "\e799"; -} - -.mdi-editor-functions:before { - content: "\e79a"; -} - -.mdi-editor-insert-chart:before { - content: "\e79b"; -} - -.mdi-editor-insert-comment:before { - content: "\e79c"; -} - -.mdi-editor-insert-drive-file:before { - content: "\e79d"; -} - -.mdi-editor-insert-emoticon:before { - content: "\e79e"; -} - -.mdi-editor-insert-invitation:before { - content: "\e79f"; -} - -.mdi-editor-insert-link:before { - content: "\e7a0"; -} - -.mdi-editor-insert-photo:before { - content: "\e7a1"; -} - -.mdi-editor-merge-type:before { - content: "\e7a2"; -} - -.mdi-editor-mode-comment:before { - content: "\e7a3"; -} - -.mdi-editor-mode-edit:before { - content: "\e7a4"; -} - -.mdi-editor-publish:before { - content: "\e7a5"; -} - -.mdi-editor-vertical-align-bottom:before { - content: "\e7a6"; -} - -.mdi-editor-vertical-align-center:before { - content: "\e7a7"; -} - -.mdi-editor-vertical-align-top:before { - content: "\e7a8"; -} - -.mdi-editor-wrap-text:before { - content: "\e7a9"; -} - -.mdi-file-attachment:before { - content: "\e7aa"; -} - -.mdi-file-cloud-circle:before { - content: "\e7ab"; -} - -.mdi-file-cloud-done:before { - content: "\e7ac"; -} - -.mdi-file-cloud-download:before { - content: "\e7ad"; -} - -.mdi-file-cloud-off:before { - content: "\e7ae"; -} - -.mdi-file-cloud-queue:before { - content: "\e7af"; -} - -.mdi-file-cloud-upload:before { - content: "\e7b0"; -} - -.mdi-file-cloud:before { - content: "\e7b1"; -} - -.mdi-file-file-download:before { - content: "\e7b2"; -} - -.mdi-file-file-upload:before { - content: "\e7b3"; -} - -.mdi-file-folder-open:before { - content: "\e7b4"; -} - -.mdi-file-folder-shared:before { - content: "\e7b5"; -} - -.mdi-file-folder:before { - content: "\e7b6"; -} - -.mdi-device-access-alarm:before { - content: "\e720"; -} - -.mdi-device-access-alarms:before { - content: "\e721"; -} - -.mdi-device-access-time:before { - content: "\e722"; -} - -.mdi-device-add-alarm:before { - content: "\e723"; -} - -.mdi-device-airplanemode-off:before { - content: "\e724"; -} - -.mdi-device-airplanemode-on:before { - content: "\e725"; -} - -.mdi-device-battery-20:before { - content: "\e726"; -} - -.mdi-device-battery-30:before { - content: "\e727"; -} - -.mdi-device-battery-50:before { - content: "\e728"; -} - -.mdi-device-battery-60:before { - content: "\e729"; -} - -.mdi-device-battery-80:before { - content: "\e72a"; -} - -.mdi-device-battery-90:before { - content: "\e72b"; -} - -.mdi-device-battery-alert:before { - content: "\e72c"; -} - -.mdi-device-battery-charging-20:before { - content: "\e72d"; -} - -.mdi-device-battery-charging-30:before { - content: "\e72e"; -} - -.mdi-device-battery-charging-50:before { - content: "\e72f"; -} - -.mdi-device-battery-charging-60:before { - content: "\e730"; -} - -.mdi-device-battery-charging-80:before { - content: "\e731"; -} - -.mdi-device-battery-charging-90:before { - content: "\e732"; -} - -.mdi-device-battery-charging-full:before { - content: "\e733"; -} - -.mdi-device-battery-full:before { - content: "\e734"; -} - -.mdi-device-battery-std:before { - content: "\e735"; -} - -.mdi-device-battery-unknown:before { - content: "\e736"; -} - -.mdi-device-bluetooth-connected:before { - content: "\e737"; -} - -.mdi-device-bluetooth-disabled:before { - content: "\e738"; -} - -.mdi-device-bluetooth-searching:before { - content: "\e739"; -} - -.mdi-device-bluetooth:before { - content: "\e73a"; -} - -.mdi-device-brightness-auto:before { - content: "\e73b"; -} - -.mdi-device-brightness-high:before { - content: "\e73c"; -} - -.mdi-device-brightness-low:before { - content: "\e73d"; -} - -.mdi-device-brightness-medium:before { - content: "\e73e"; -} - -.mdi-device-data-usage:before { - content: "\e73f"; -} - -.mdi-device-developer-mode:before { - content: "\e740"; -} - -.mdi-device-devices:before { - content: "\e741"; -} - -.mdi-device-dvr:before { - content: "\e742"; -} - -.mdi-device-gps-fixed:before { - content: "\e743"; -} - -.mdi-device-gps-not-fixed:before { - content: "\e744"; -} - -.mdi-device-gps-off:before { - content: "\e745"; -} - -.mdi-device-location-disabled:before { - content: "\e746"; -} - -.mdi-device-location-searching:before { - content: "\e747"; -} - -.mdi-device-multitrack-audio:before { - content: "\e748"; -} - -.mdi-device-network-cell:before { - content: "\e749"; -} - -.mdi-device-network-wifi:before { - content: "\e74a"; -} - -.mdi-device-nfc:before { - content: "\e74b"; -} - -.mdi-device-now-wallpaper:before { - content: "\e74c"; -} - -.mdi-device-now-widgets:before { - content: "\e74d"; -} - -.mdi-device-screen-lock-landscape:before { - content: "\e74e"; -} - -.mdi-device-screen-lock-portrait:before { - content: "\e74f"; -} - -.mdi-device-screen-lock-rotation:before { - content: "\e750"; -} - -.mdi-device-screen-rotation:before { - content: "\e751"; -} - -.mdi-device-sd-storage:before { - content: "\e752"; -} - -.mdi-device-settings-system-daydream:before { - content: "\e753"; -} - -.mdi-device-signal-cellular-0-bar:before { - content: "\e754"; -} - -.mdi-device-signal-cellular-1-bar:before { - content: "\e755"; -} - -.mdi-device-signal-cellular-2-bar:before { - content: "\e756"; -} - -.mdi-device-signal-cellular-3-bar:before { - content: "\e757"; -} - -.mdi-device-signal-cellular-4-bar:before { - content: "\e758"; -} - -.mdi-signal-wifi-statusbar-connected-no-internet-after:before { - content: "\e8f6"; -} - -.mdi-device-signal-cellular-connected-no-internet-0-bar:before { - content: "\e759"; -} - -.mdi-device-signal-cellular-connected-no-internet-1-bar:before { - content: "\e75a"; -} - -.mdi-device-signal-cellular-connected-no-internet-2-bar:before { - content: "\e75b"; -} - -.mdi-device-signal-cellular-connected-no-internet-3-bar:before { - content: "\e75c"; -} - -.mdi-device-signal-cellular-connected-no-internet-4-bar:before { - content: "\e75d"; -} - -.mdi-device-signal-cellular-no-sim:before { - content: "\e75e"; -} - -.mdi-device-signal-cellular-null:before { - content: "\e75f"; -} - -.mdi-device-signal-cellular-off:before { - content: "\e760"; -} - -.mdi-device-signal-wifi-0-bar:before { - content: "\e761"; -} - -.mdi-device-signal-wifi-1-bar:before { - content: "\e762"; -} - -.mdi-device-signal-wifi-2-bar:before { - content: "\e763"; -} - -.mdi-device-signal-wifi-3-bar:before { - content: "\e764"; -} - -.mdi-device-signal-wifi-4-bar:before { - content: "\e765"; -} - -.mdi-device-signal-wifi-off:before { - content: "\e766"; -} - -.mdi-device-signal-wifi-statusbar-1-bar:before { - content: "\e767"; -} - -.mdi-device-signal-wifi-statusbar-2-bar:before { - content: "\e768"; -} - -.mdi-device-signal-wifi-statusbar-3-bar:before { - content: "\e769"; -} - -.mdi-device-signal-wifi-statusbar-4-bar:before { - content: "\e76a"; -} - -.mdi-device-signal-wifi-statusbar-connected-no-internet-:before { - content: "\e76b"; -} - -.mdi-device-signal-wifi-statusbar-connected-no-internet:before { - content: "\e76f"; -} - -.mdi-device-signal-wifi-statusbar-connected-no-internet-2:before { - content: "\e76c"; -} - -.mdi-device-signal-wifi-statusbar-connected-no-internet-3:before { - content: "\e76d"; -} - -.mdi-device-signal-wifi-statusbar-connected-no-internet-4:before { - content: "\e76e"; -} - -.mdi-signal-wifi-statusbar-not-connected-after:before { - content: "\e8f7"; -} - -.mdi-device-signal-wifi-statusbar-not-connected:before { - content: "\e770"; -} - -.mdi-device-signal-wifi-statusbar-null:before { - content: "\e771"; -} - -.mdi-device-storage:before { - content: "\e772"; -} - -.mdi-device-usb:before { - content: "\e773"; -} - -.mdi-device-wifi-lock:before { - content: "\e774"; -} - -.mdi-device-wifi-tethering:before { - content: "\e775"; -} - -.mdi-hardware-cast-connected:before { - content: "\e7b7"; -} - -.mdi-hardware-cast:before { - content: "\e7b8"; -} - -.mdi-hardware-computer:before { - content: "\e7b9"; -} - -.mdi-hardware-desktop-mac:before { - content: "\e7ba"; -} - -.mdi-hardware-desktop-windows:before { - content: "\e7bb"; -} - -.mdi-hardware-dock:before { - content: "\e7bc"; -} - -.mdi-hardware-gamepad:before { - content: "\e7bd"; -} - -.mdi-hardware-headset-mic:before { - content: "\e7be"; -} - -.mdi-hardware-headset:before { - content: "\e7bf"; -} - -.mdi-hardware-keyboard-alt:before { - content: "\e7c0"; -} - -.mdi-hardware-keyboard-arrow-down:before { - content: "\e7c1"; -} - -.mdi-hardware-keyboard-arrow-left:before { - content: "\e7c2"; -} - -.mdi-hardware-keyboard-arrow-right:before { - content: "\e7c3"; -} - -.mdi-hardware-keyboard-arrow-up:before { - content: "\e7c4"; -} - -.mdi-hardware-keyboard-backspace:before { - content: "\e7c5"; -} - -.mdi-hardware-keyboard-capslock:before { - content: "\e7c6"; -} - -.mdi-hardware-keyboard-control:before { - content: "\e7c7"; -} - -.mdi-hardware-keyboard-hide:before { - content: "\e7c8"; -} - -.mdi-hardware-keyboard-return:before { - content: "\e7c9"; -} - -.mdi-hardware-keyboard-tab:before { - content: "\e7ca"; -} - -.mdi-hardware-keyboard-voice:before { - content: "\e7cb"; -} - -.mdi-hardware-keyboard:before { - content: "\e7cc"; -} - -.mdi-hardware-laptop-chromebook:before { - content: "\e7cd"; -} - -.mdi-hardware-laptop-mac:before { - content: "\e7ce"; -} - -.mdi-hardware-laptop-windows:before { - content: "\e7cf"; -} - -.mdi-hardware-laptop:before { - content: "\e7d0"; -} - -.mdi-hardware-memory:before { - content: "\e7d1"; -} - -.mdi-hardware-mouse:before { - content: "\e7d2"; -} - -.mdi-hardware-phone-android:before { - content: "\e7d3"; -} - -.mdi-hardware-phone-iphone:before { - content: "\e7d4"; -} - -.mdi-hardware-phonelink-off:before { - content: "\e7d5"; -} - -.mdi-hardware-phonelink:before { - content: "\e7d6"; -} - -.mdi-hardware-security:before { - content: "\e7d7"; -} - -.mdi-hardware-sim-card:before { - content: "\e7d8"; -} - -.mdi-hardware-smartphone:before { - content: "\e7d9"; -} - -.mdi-hardware-speaker:before { - content: "\e7da"; -} - -.mdi-hardware-tablet-android:before { - content: "\e7db"; -} - -.mdi-hardware-tablet-mac:before { - content: "\e7dc"; -} - -.mdi-hardware-tablet:before { - content: "\e7dd"; -} - -.mdi-hardware-tv:before { - content: "\e7de"; -} - -.mdi-hardware-watch:before { - content: "\e7df"; -} - -.mdi-image-add-to-photos:before { - content: "\e7e0"; -} - -.mdi-image-adjust:before { - content: "\e7e1"; -} - -.mdi-image-assistant-photo:before { - content: "\e7e2"; -} - -.mdi-image-audiotrack:before { - content: "\e7e3"; -} - -.mdi-image-blur-circular:before { - content: "\e7e4"; -} - -.mdi-image-blur-linear:before { - content: "\e7e5"; -} - -.mdi-image-blur-off:before { - content: "\e7e6"; -} - -.mdi-image-blur-on:before { - content: "\e7e7"; -} - -.mdi-image-brightness-1:before { - content: "\e7e8"; -} - -.mdi-image-brightness-2:before { - content: "\e7e9"; -} - -.mdi-image-brightness-3:before { - content: "\e7ea"; -} - -.mdi-image-brightness-4:before { - content: "\e7eb"; -} - -.mdi-image-brightness-5:before { - content: "\e7ec"; -} - -.mdi-image-brightness-6:before { - content: "\e7ed"; -} - -.mdi-image-brightness-7:before { - content: "\e7ee"; -} - -.mdi-image-brush:before { - content: "\e7ef"; -} - -.mdi-image-camera-alt:before { - content: "\e7f0"; -} - -.mdi-image-camera-front:before { - content: "\e7f1"; -} - -.mdi-image-camera-rear:before { - content: "\e7f2"; -} - -.mdi-image-camera-roll:before { - content: "\e7f3"; -} - -.mdi-image-camera:before { - content: "\e7f4"; -} - -.mdi-image-center-focus-strong:before { - content: "\e7f5"; -} - -.mdi-image-center-focus-weak:before { - content: "\e7f6"; -} - -.mdi-image-collections:before { - content: "\e7f7"; -} - -.mdi-image-color-lens:before { - content: "\e7f8"; -} - -.mdi-image-colorize:before { - content: "\e7f9"; -} - -.mdi-image-compare:before { - content: "\e7fa"; -} - -.mdi-image-control-point-duplicate:before { - content: "\e7fb"; -} - -.mdi-image-control-point:before { - content: "\e7fc"; -} - -.mdi-image-crop-3-2:before { - content: "\e7fd"; -} - -.mdi-image-crop-5-4:before { - content: "\e7fe"; -} - -.mdi-image-crop-7-5:before { - content: "\e7ff"; -} - -.mdi-image-crop-16-9:before { - content: "\e800"; -} - -.mdi-image-crop-din:before { - content: "\e801"; -} - -.mdi-image-crop-free:before { - content: "\e802"; -} - -.mdi-image-crop-landscape:before { - content: "\e803"; -} - -.mdi-image-crop-original:before { - content: "\e804"; -} - -.mdi-image-crop-portrait:before { - content: "\e805"; -} - -.mdi-image-crop-square:before { - content: "\e806"; -} - -.mdi-image-crop:before { - content: "\e807"; -} - -.mdi-image-dehaze:before { - content: "\e808"; -} - -.mdi-image-details:before { - content: "\e809"; -} - -.mdi-image-edit:before { - content: "\e80a"; -} - -.mdi-image-exposure-minus-1:before { - content: "\e80b"; -} - -.mdi-image-exposure-minus-2:before { - content: "\e80c"; -} - -.mdi-image-exposure-plus-1:before { - content: "\e80d"; -} - -.mdi-image-exposure-plus-2:before { - content: "\e80e"; -} - -.mdi-image-exposure-zero:before { - content: "\e80f"; -} - -.mdi-image-exposure:before { - content: "\e810"; -} - -.mdi-image-filter-1:before { - content: "\e811"; -} - -.mdi-image-filter-2:before { - content: "\e812"; -} - -.mdi-image-filter-3:before { - content: "\e813"; -} - -.mdi-image-filter-4:before { - content: "\e814"; -} - -.mdi-image-filter-5:before { - content: "\e815"; -} - -.mdi-image-filter-6:before { - content: "\e816"; -} - -.mdi-image-filter-7:before { - content: "\e817"; -} - -.mdi-image-filter-8:before { - content: "\e818"; -} - -.mdi-image-filter-9-plus:before { - content: "\e819"; -} - -.mdi-image-filter-9:before { - content: "\e81a"; -} - -.mdi-image-filter-b-and-w:before { - content: "\e81b"; -} - -.mdi-image-filter-center-focus:before { - content: "\e81c"; -} - -.mdi-image-filter-drama:before { - content: "\e81d"; -} - -.mdi-image-filter-frames:before { - content: "\e81e"; -} - -.mdi-image-filter-hdr:before { - content: "\e81f"; -} - -.mdi-image-filter-none:before { - content: "\e820"; -} - -.mdi-image-filter-tilt-shift:before { - content: "\e821"; -} - -.mdi-image-filter-vintage:before { - content: "\e822"; -} - -.mdi-image-filter:before { - content: "\e823"; -} - -.mdi-image-flare:before { - content: "\e824"; -} - -.mdi-image-flash-auto:before { - content: "\e825"; -} - -.mdi-image-flash-off:before { - content: "\e826"; -} - -.mdi-image-flash-on:before { - content: "\e827"; -} - -.mdi-image-flip:before { - content: "\e828"; -} - -.mdi-image-gradient:before { - content: "\e829"; -} - -.mdi-image-grain:before { - content: "\e82a"; -} - -.mdi-image-grid-off:before { - content: "\e82b"; -} - -.mdi-image-grid-on:before { - content: "\e82c"; -} - -.mdi-image-hdr-off:before { - content: "\e82d"; -} - -.mdi-image-hdr-on:before { - content: "\e82e"; -} - -.mdi-image-hdr-strong:before { - content: "\e82f"; -} - -.mdi-image-hdr-weak:before { - content: "\e830"; -} - -.mdi-image-healing:before { - content: "\e831"; -} - -.mdi-image-image-aspect-ratio:before { - content: "\e832"; -} - -.mdi-image-image:before { - content: "\e833"; -} - -.mdi-image-iso:before { - content: "\e834"; -} - -.mdi-image-landscape:before { - content: "\e835"; -} - -.mdi-image-leak-add:before { - content: "\e836"; -} - -.mdi-image-leak-remove:before { - content: "\e837"; -} - -.mdi-image-lens:before { - content: "\e838"; -} - -.mdi-image-looks-3:before { - content: "\e839"; -} - -.mdi-image-looks-4:before { - content: "\e83a"; -} - -.mdi-image-looks-5:before { - content: "\e83b"; -} - -.mdi-image-looks-6:before { - content: "\e83c"; -} - -.mdi-image-looks-one:before { - content: "\e83d"; -} - -.mdi-image-looks-two:before { - content: "\e83e"; -} - -.mdi-image-looks:before { - content: "\e83f"; -} - -.mdi-image-loupe:before { - content: "\e840"; -} - -.mdi-image-movie-creation:before { - content: "\e841"; -} - -.mdi-image-nature-people:before { - content: "\e842"; -} - -.mdi-image-nature:before { - content: "\e843"; -} - -.mdi-image-navigate-before:before { - content: "\e844"; -} - -.mdi-image-navigate-next:before { - content: "\e845"; -} - -.mdi-image-palette:before { - content: "\e846"; -} - -.mdi-image-panorama-fisheye:before { - content: "\e847"; -} - -.mdi-image-panorama-horizontal:before { - content: "\e848"; -} - -.mdi-image-panorama-vertical:before { - content: "\e849"; -} - -.mdi-image-panorama-wide-angle:before { - content: "\e84a"; -} - -.mdi-image-panorama:before { - content: "\e84b"; -} - -.mdi-image-photo-album:before { - content: "\e84c"; -} - -.mdi-image-photo-camera:before { - content: "\e84d"; -} - -.mdi-image-photo-library:before { - content: "\e84e"; -} - -.mdi-image-photo:before { - content: "\e84f"; -} - -.mdi-image-portrait:before { - content: "\e850"; -} - -.mdi-image-remove-red-eye:before { - content: "\e851"; -} - -.mdi-image-rotate-left:before { - content: "\e852"; -} - -.mdi-image-rotate-right:before { - content: "\e853"; -} - -.mdi-image-slideshow:before { - content: "\e854"; -} - -.mdi-image-straighten:before { - content: "\e855"; -} - -.mdi-image-style:before { - content: "\e856"; -} - -.mdi-image-switch-camera:before { - content: "\e857"; -} - -.mdi-image-switch-video:before { - content: "\e858"; -} - -.mdi-image-tag-faces:before { - content: "\e859"; -} - -.mdi-image-texture:before { - content: "\e85a"; -} - -.mdi-image-timelapse:before { - content: "\e85b"; -} - -.mdi-image-timer-3:before { - content: "\e85c"; -} - -.mdi-image-timer-10:before { - content: "\e85d"; -} - -.mdi-image-timer-auto:before { - content: "\e85e"; -} - -.mdi-image-timer-off:before { - content: "\e85f"; -} - -.mdi-image-timer:before { - content: "\e860"; -} - -.mdi-image-tonality:before { - content: "\e861"; -} - -.mdi-image-transform:before { - content: "\e862"; -} - -.mdi-image-tune:before { - content: "\e863"; -} - -.mdi-image-wb-auto:before { - content: "\e864"; -} - -.mdi-image-wb-cloudy:before { - content: "\e865"; -} - -.mdi-image-wb-incandescent:before { - content: "\e866"; -} - -.mdi-image-wb-irradescent:before { - content: "\e867"; -} - -.mdi-image-wb-sunny:before { - content: "\e868"; -} - -.mdi-maps-beenhere:before { - content: "\e869"; -} - -.mdi-maps-directions-bike:before { - content: "\e86a"; -} - -.mdi-maps-directions-bus:before { - content: "\e86b"; -} - -.mdi-maps-directions-car:before { - content: "\e86c"; -} - -.mdi-maps-directions-ferry:before { - content: "\e86d"; -} - -.mdi-maps-directions-subway:before { - content: "\e86e"; -} - -.mdi-maps-directions-train:before { - content: "\e86f"; -} - -.mdi-maps-directions-transit:before { - content: "\e870"; -} - -.mdi-maps-directions-walk:before { - content: "\e871"; -} - -.mdi-maps-directions:before { - content: "\e872"; -} - -.mdi-maps-flight:before { - content: "\e873"; -} - -.mdi-maps-hotel:before { - content: "\e874"; -} - -.mdi-maps-layers-clear:before { - content: "\e875"; -} - -.mdi-maps-layers:before { - content: "\e876"; -} - -.mdi-maps-local-airport:before { - content: "\e877"; -} - -.mdi-maps-local-atm:before { - content: "\e878"; -} - -.mdi-maps-local-attraction:before { - content: "\e879"; -} - -.mdi-maps-local-bar:before { - content: "\e87a"; -} - -.mdi-maps-local-cafe:before { - content: "\e87b"; -} - -.mdi-maps-local-car-wash:before { - content: "\e87c"; -} - -.mdi-maps-local-convenience-store:before { - content: "\e87d"; -} - -.mdi-maps-local-drink:before { - content: "\e87e"; -} - -.mdi-maps-local-florist:before { - content: "\e87f"; -} - -.mdi-maps-local-gas-station:before { - content: "\e880"; -} - -.mdi-maps-local-grocery-store:before { - content: "\e881"; -} - -.mdi-maps-local-hospital:before { - content: "\e882"; -} - -.mdi-maps-local-hotel:before { - content: "\e883"; -} - -.mdi-maps-local-laundry-service:before { - content: "\e884"; -} - -.mdi-maps-local-library:before { - content: "\e885"; -} - -.mdi-maps-local-mall:before { - content: "\e886"; -} - -.mdi-maps-local-movies:before { - content: "\e887"; -} - -.mdi-maps-local-offer:before { - content: "\e888"; -} - -.mdi-maps-local-parking:before { - content: "\e889"; -} - -.mdi-maps-local-pharmacy:before { - content: "\e88a"; -} - -.mdi-maps-local-phone:before { - content: "\e88b"; -} - -.mdi-maps-local-pizza:before { - content: "\e88c"; -} - -.mdi-maps-local-play:before { - content: "\e88d"; -} - -.mdi-maps-local-post-office:before { - content: "\e88e"; -} - -.mdi-maps-local-print-shop:before { - content: "\e88f"; -} - -.mdi-maps-local-restaurant:before { - content: "\e890"; -} - -.mdi-maps-local-see:before { - content: "\e891"; -} - -.mdi-maps-local-shipping:before { - content: "\e892"; -} - -.mdi-maps-local-taxi:before { - content: "\e893"; -} - -.mdi-maps-location-history:before { - content: "\e894"; -} - -.mdi-maps-map:before { - content: "\e895"; -} - -.mdi-maps-my-location:before { - content: "\e896"; -} - -.mdi-maps-navigation:before { - content: "\e897"; -} - -.mdi-maps-pin-drop:before { - content: "\e898"; -} - -.mdi-maps-place:before { - content: "\e899"; -} - -.mdi-maps-rate-review:before { - content: "\e89a"; -} - -.mdi-maps-restaurant-menu:before { - content: "\e89b"; -} - -.mdi-maps-satellite:before { - content: "\e89c"; -} - -.mdi-maps-store-mall-directory:before { - content: "\e89d"; -} - -.mdi-maps-terrain:before { - content: "\e89e"; -} - -.mdi-maps-traffic:before { - content: "\e89f"; -} - -.mdi-navigation-apps:before { - content: "\e8a0"; -} - -.mdi-navigation-arrow-back:before { - content: "\e8a1"; -} - -.mdi-navigation-arrow-drop-down-circle:before { - content: "\e8a2"; -} - -.mdi-navigation-arrow-drop-down:before { - content: "\e8a3"; -} - -.mdi-navigation-arrow-drop-up:before { - content: "\e8a4"; -} - -.mdi-navigation-arrow-forward:before { - content: "\e8a5"; -} - -.mdi-navigation-cancel:before { - content: "\e8a6"; -} - -.mdi-navigation-check:before { - content: "\e8a7"; -} - -.mdi-navigation-chevron-left:before { - content: "\e8a8"; -} - -.mdi-navigation-chevron-right:before { - content: "\e8a9"; -} - -.mdi-navigation-close:before { - content: "\e8aa"; -} - -.mdi-navigation-expand-less:before { - content: "\e8ab"; -} - -.mdi-navigation-expand-more:before { - content: "\e8ac"; -} - -.mdi-navigation-fullscreen-exit:before { - content: "\e8ad"; -} - -.mdi-navigation-fullscreen:before { - content: "\e8ae"; -} - -.mdi-navigation-menu:before { - content: "\e8af"; -} - -.mdi-navigation-more-horiz:before { - content: "\e8b0"; -} - -.mdi-navigation-more-vert:before { - content: "\e8b1"; -} - -.mdi-navigation-refresh:before { - content: "\e8b2"; -} - -.mdi-navigation-unfold-less:before { - content: "\e8b3"; -} - -.mdi-navigation-unfold-more:before { - content: "\e8b4"; -} - -.mdi-notification-adb:before { - content: "\e8b5"; -} - -.mdi-notification-bluetooth-audio:before { - content: "\e8b6"; -} - -.mdi-notification-disc-full:before { - content: "\e8b7"; -} - -.mdi-notification-dnd-forwardslash:before { - content: "\e8b8"; -} - -.mdi-notification-do-not-disturb:before { - content: "\e8b9"; -} - -.mdi-notification-drive-eta:before { - content: "\e8ba"; -} - -.mdi-notification-event-available:before { - content: "\e8bb"; -} - -.mdi-notification-event-busy:before { - content: "\e8bc"; -} - -.mdi-notification-event-note:before { - content: "\e8bd"; -} - -.mdi-notification-folder-special:before { - content: "\e8be"; -} - -.mdi-notification-mms:before { - content: "\e8bf"; -} - -.mdi-notification-more:before { - content: "\e8c0"; -} - -.mdi-notification-network-locked:before { - content: "\e8c1"; -} - -.mdi-notification-phone-bluetooth-speaker:before { - content: "\e8c2"; -} - -.mdi-notification-phone-forwarded:before { - content: "\e8c3"; -} - -.mdi-notification-phone-in-talk:before { - content: "\e8c4"; -} - -.mdi-notification-phone-locked:before { - content: "\e8c5"; -} - -.mdi-notification-phone-missed:before { - content: "\e8c6"; -} - -.mdi-notification-phone-paused:before { - content: "\e8c7"; -} - -.mdi-notification-play-download:before { - content: "\e8c8"; -} - -.mdi-notification-play-install:before { - content: "\e8c9"; -} - -.mdi-notification-sd-card:before { - content: "\e8ca"; -} - -.mdi-notification-sim-card-alert:before { - content: "\e8cb"; -} - -.mdi-notification-sms-failed:before { - content: "\e8cc"; -} - -.mdi-notification-sms:before { - content: "\e8cd"; -} - -.mdi-notification-sync-disabled:before { - content: "\e8ce"; -} - -.mdi-notification-sync-problem:before { - content: "\e8cf"; -} - -.mdi-notification-sync:before { - content: "\e8d0"; -} - -.mdi-notification-system-update:before { - content: "\e8d1"; -} - -.mdi-notification-tap-and-play:before { - content: "\e8d2"; -} - -.mdi-notification-time-to-leave:before { - content: "\e8d3"; -} - -.mdi-notification-vibration:before { - content: "\e8d4"; -} - -.mdi-notification-voice-chat:before { - content: "\e8d5"; -} - -.mdi-notification-vpn-lock:before { - content: "\e8d6"; -} - -.mdi-social-cake:before { - content: "\e8d7"; -} - -.mdi-social-domain:before { - content: "\e8d8"; -} - -.mdi-social-group-add:before { - content: "\e8d9"; -} - -.mdi-social-group:before { - content: "\e8da"; -} - -.mdi-social-location-city:before { - content: "\e8db"; -} - -.mdi-social-mood:before { - content: "\e8dc"; -} - -.mdi-social-notifications-none:before { - content: "\e8dd"; -} - -.mdi-social-notifications-off:before { - content: "\e8de"; -} - -.mdi-social-notifications-on:before { - content: "\e8df"; -} - -.mdi-social-notifications-paused:before { - content: "\e8e0"; -} - -.mdi-social-notifications:before { - content: "\e8e1"; -} - -.mdi-social-pages:before { - content: "\e8e2"; -} - -.mdi-social-party-mode:before { - content: "\e8e3"; -} - -.mdi-social-people-outline:before { - content: "\e8e4"; -} - -.mdi-social-people:before { - content: "\e8e5"; -} - -.mdi-social-person-add:before { - content: "\e8e6"; -} - -.mdi-social-person-outline:before { - content: "\e8e7"; -} - -.mdi-social-person:before { - content: "\e8e8"; -} - -.mdi-social-plus-one:before { - content: "\e8e9"; -} - -.mdi-social-poll:before { - content: "\e8ea"; -} - -.mdi-social-public:before { - content: "\e8eb"; -} - -.mdi-social-school:before { - content: "\e8ec"; -} - -.mdi-social-share:before { - content: "\e8ed"; -} - -.mdi-social-whatshot:before { - content: "\e8ee"; -} - -.mdi-toggle-check-box-outline-blank:before { - content: "\e8ef"; -} - -.mdi-toggle-check-box:before { - content: "\e8f0"; -} - -.mdi-toggle-radio-button-off:before { - content: "\e8f1"; -} - -.mdi-toggle-radio-button-on:before { - content: "\e8f2"; -} - -.mdi-toggle-star-half:before { - content: "\e8f3"; -} - -.mdi-toggle-star-outline:before { - content: "\e8f4"; -} - -.mdi-toggle-star:before { - content: "\e8f5"; -} +//@font-face { +// font-family: 'Material-Design-Icons'; +// src:url('#{$mdb-font-path}/Material-Design-Icons.eot?3ocs8m'); +// src:url('#{$mdb-font-path}/Material-Design-Icons.eot?#iefix3ocs8m') format('embedded-opentype'), +// url('#{$mdb-font-path}/Material-Design-Icons.woff?3ocs8m') format('woff'), +// url('#{$mdb-font-path}/Material-Design-Icons.ttf?3ocs8m') format('truetype'), +// url('#{$mdb-font-path}/Material-Design-Icons.svg?3ocs8m#Material-Design-Icons') format('svg'); +// font-weight: normal; +// font-style: normal; +//} +// +//[class^="mdi-"], [class*="mdi-"] { +// speak: none; +// display: inline-block; +// font: normal normal normal 24px/1 'Material-Design-Icons'; +// text-rendering: auto; +// /* Better Font Rendering =========== */ +// -webkit-font-smoothing: antialiased; +// -moz-osx-font-smoothing: grayscale; +// transform: translate(0, 0); +// &:before { +// display: inline-block; +// speak: none; +// text-decoration: inherit; +// } +// &.pull-left { +// margin-right: .3em; +// } +// &.pull-right{ +// margin-left: .3em; +// } +// &.mdi-lg:before, &.mdi-lg:after { +// font-size: 1.33333333em; +// line-height: 0.75em; +// vertical-align: -15%; +// } +// &.mdi-2x:before, &.mdi-2x:after { +// font-size: 2em; +// } +// &.mdi-3x:before, &.mdi-3x:after { +// font-size: 3em; +// } +// &.mdi-4x:before, &.mdi-4x:after { +// font-size: 4em; +// } +// &.mdi-5x:before, &.mdi-5x:after { +// font-size: 5em; +// } +//} +// +//[class^="mdi-device-signal-cellular-"], +//[class^="mdi-device-battery-"], +//[class^="mdi-device-battery-charging-"], +//[class^="mdi-device-signal-cellular-connected-no-internet-"], +//[class^="mdi-device-signal-wifi-"], +//[class^="mdi-device-signal-wifi-statusbar-not-connected"], +//.mdi-device-network-wifi{ +// &:after { +// opacity: .3; +// position: absolute; +// left: 0; +// top: 0; +// z-index: 1; +// display: inline-block; +// speak: none; +// text-decoration: inherit; +// } +//} +// +//[class^="mdi-device-signal-cellular-"]:after {content:"\e758";} +//[class^="mdi-device-battery-"]:after {content:"\e735";} +//[class^="mdi-device-battery-charging-"]:after {content:"\e733";} +//[class^="mdi-device-signal-cellular-connected-no-internet-"]:after {content:"\e75d";} +//[class^="mdi-device-signal-wifi-"]:after, .mdi-device-network-wifi:after {content:"\e765";} +//[class^="mdi-device-signal-wifi-statusbasr-not-connected"]:after {content:"\e8f7";} +// +//.mdi-device-signal-cellular-off, .mdi-device-signal-cellular-null, .mdi-device-signal-cellular-no-sim, .mdi-device-signal-wifi-off, .mdi-device-signal-wifi-4-bar, .mdi-device-signal-cellular-4-bar, .mdi-device-battery-alert, .mdi-device-signal-cellular-connected-no-internet-4-bar, .mdi-device-battery-std, .mdi-device-battery-full .mdi-device-battery-unknown { +// &:after { +// content: ""; +// } +//} +// +//.mdi-fw { +// width: 1.28571429em; +// text-align: center; +//} +//.mdi-ul { +// padding-left: 0; +// margin-left: 2.14285714em; +// list-style-type: none; +//} +//.mdi-ul > li { +// position: relative; +//} +//.mdi-li { +// position: absolute; +// left: -2.14285714em; +// width: 2.14285714em; +// top: 0.14285714em; +// text-align: center; +//} +//.mdi-li.mdi-lg { +// left: -1.85714286em; +//} +//.mdi-border { +// padding: .2em .25em .15em; +// border: solid 0.08em #eeeeee; +// border-radius: .1em; +//} +// +//.mdi-spin { +// -webkit-animation: mdi-spin 2s infinite linear; +// animation: mdi-spin 2s infinite linear; +// -webkit-transform-origin: 50% 50%; +// -moz-transform-origin: 50% 50%; +// -o-transform-origin: 50% 50%; +// transform-origin: 50% 50%; +//} +//.mdi-pulse { +// -webkit-animation: mdi-spin 1s steps(8) infinite; +// animation: mdi-spin 1s steps(8) infinite ; +// -webkit-transform-origin: 50% 50%; +// -moz-transform-origin: 50% 50%; +// -o-transform-origin: 50% 50%; +// transform-origin: 50% 50%; +//} +//@-webkit-keyframes mdi-spin { +// 0% { +// -webkit-transform: rotate(0deg); +// transform: rotate(0deg); +// } +// 100% { +// -webkit-transform: rotate(359deg); +// transform: rotate(359deg); +// } +//} +//@keyframes mdi-spin { +// 0% { +// -webkit-transform: rotate(0deg); +// transform: rotate(0deg); +// } +// 100% { +// -webkit-transform: rotate(359deg); +// transform: rotate(359deg); +// } +//} +//.mdi-rotate-90 { +// filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); +// -webkit-transform: rotate(90deg); +// -ms-transform: rotate(90deg); +// transform: rotate(90deg); +//} +//.mdi-rotate-180 { +// filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); +// -webkit-transform: rotate(180deg); +// -ms-transform: rotate(180deg); +// transform: rotate(180deg); +//} +//.mdi-rotate-270 { +// filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); +// -webkit-transform: rotate(270deg); +// -ms-transform: rotate(270deg); +// transform: rotate(270deg); +//} +//.mdi-flip-horizontal { +// filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); +// -webkit-transform: scale(-1, 1); +// -ms-transform: scale(-1, 1); +// transform: scale(-1, 1); +//} +//.mdi-flip-vertical { +// filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); +// -webkit-transform: scale(1, -1); +// -ms-transform: scale(1, -1); +// transform: scale(1, -1); +//} +//:root .mdi-rotate-90, +//:root .mdi-rotate-180, +//:root .mdi-rotate-270, +//:root .mdi-flip-horizontal, +//:root .mdi-flip-vertical { +// filter: none; +//} +//.mdi-stack { +// position: relative; +// display: inline-block; +// width: 2em; +// height: 2em; +// line-height: 2em; +// vertical-align: middle; +//} +//.mdi-stack-1x, +//.mdi-stack-2x { +// position: absolute; +// left: 0; +// width: 100%; +// text-align: center; +//} +//.mdi-stack-1x { +// line-height: inherit; +//} +//.mdi-stack-2x { +// font-size: 2em; +//} +//.mdi-inverse { +// color: #ffffff; +//} +// +// +///* Start Icons */ +// +//.mdi-action-3d-rotation:before { +// content: "\e600"; +//} +// +//.mdi-action-accessibility:before { +// content: "\e601"; +//} +// +//.mdi-action-account-balance-wallet:before { +// content: "\e602"; +//} +// +//.mdi-action-account-balance:before { +// content: "\e603"; +//} +// +//.mdi-action-account-box:before { +// content: "\e604"; +//} +// +//.mdi-action-account-child:before { +// content: "\e605"; +//} +// +//.mdi-action-account-circle:before { +// content: "\e606"; +//} +// +//.mdi-action-add-shopping-cart:before { +// content: "\e607"; +//} +// +//.mdi-action-alarm-add:before { +// content: "\e608"; +//} +// +//.mdi-action-alarm-off:before { +// content: "\e609"; +//} +// +//.mdi-action-alarm-on:before { +// content: "\e60a"; +//} +// +//.mdi-action-alarm:before { +// content: "\e60b"; +//} +// +//.mdi-action-android:before { +// content: "\e60c"; +//} +// +//.mdi-action-announcement:before { +// content: "\e60d"; +//} +// +//.mdi-action-aspect-ratio:before { +// content: "\e60e"; +//} +// +//.mdi-action-assessment:before { +// content: "\e60f"; +//} +// +//.mdi-action-assignment-ind:before { +// content: "\e610"; +//} +// +//.mdi-action-assignment-late:before { +// content: "\e611"; +//} +// +//.mdi-action-assignment-return:before { +// content: "\e612"; +//} +// +//.mdi-action-assignment-returned:before { +// content: "\e613"; +//} +// +//.mdi-action-assignment-turned-in:before { +// content: "\e614"; +//} +// +//.mdi-action-assignment:before { +// content: "\e615"; +//} +// +//.mdi-action-autorenew:before { +// content: "\e616"; +//} +// +//.mdi-action-backup:before { +// content: "\e617"; +//} +// +//.mdi-action-book:before { +// content: "\e618"; +//} +// +//.mdi-action-bookmark-outline:before { +// content: "\e619"; +//} +// +//.mdi-action-bookmark:before { +// content: "\e61a"; +//} +// +//.mdi-action-bug-report:before { +// content: "\e61b"; +//} +// +//.mdi-action-cached:before { +// content: "\e61c"; +//} +// +//.mdi-action-check-circle:before { +// content: "\e61d"; +//} +// +//.mdi-action-class:before { +// content: "\e61e"; +//} +// +//.mdi-action-credit-card:before { +// content: "\e61f"; +//} +// +//.mdi-action-dashboard:before { +// content: "\e620"; +//} +// +//.mdi-action-delete:before { +// content: "\e621"; +//} +// +//.mdi-action-description:before { +// content: "\e622"; +//} +// +//.mdi-action-dns:before { +// content: "\e623"; +//} +// +//.mdi-action-done-all:before { +// content: "\e624"; +//} +// +//.mdi-action-done:before { +// content: "\e625"; +//} +// +//.mdi-action-event:before { +// content: "\e626"; +//} +// +//.mdi-action-exit-to-app:before { +// content: "\e627"; +//} +// +//.mdi-action-explore:before { +// content: "\e628"; +//} +// +//.mdi-action-extension:before { +// content: "\e629"; +//} +// +//.mdi-action-face-unlock:before { +// content: "\e62a"; +//} +// +//.mdi-action-favorite-outline:before { +// content: "\e62b"; +//} +// +//.mdi-action-favorite:before { +// content: "\e62c"; +//} +// +//.mdi-action-find-in-page:before { +// content: "\e62d"; +//} +// +//.mdi-action-find-replace:before { +// content: "\e62e"; +//} +// +//.mdi-action-flip-to-back:before { +// content: "\e62f"; +//} +// +//.mdi-action-flip-to-front:before { +// content: "\e630"; +//} +// +//.mdi-action-get-app:before { +// content: "\e631"; +//} +// +//.mdi-action-grade:before { +// content: "\e632"; +//} +// +//.mdi-action-group-work:before { +// content: "\e633"; +//} +// +//.mdi-action-help:before { +// content: "\e634"; +//} +// +//.mdi-action-highlight-remove:before { +// content: "\e635"; +//} +// +//.mdi-action-history:before { +// content: "\e636"; +//} +// +//.mdi-action-home:before { +// content: "\e637"; +//} +// +//.mdi-action-https:before { +// content: "\e638"; +//} +// +//.mdi-action-info-outline:before { +// content: "\e639"; +//} +// +//.mdi-action-info:before { +// content: "\e63a"; +//} +// +//.mdi-action-input:before { +// content: "\e63b"; +//} +// +//.mdi-action-invert-colors:before { +// content: "\e63c"; +//} +// +//.mdi-action-label-outline:before { +// content: "\e63d"; +//} +// +//.mdi-action-label:before { +// content: "\e63e"; +//} +// +//.mdi-action-language:before { +// content: "\e63f"; +//} +// +//.mdi-action-launch:before { +// content: "\e640"; +//} +// +//.mdi-action-list:before { +// content: "\e641"; +//} +// +//.mdi-action-lock-open:before { +// content: "\e642"; +//} +// +//.mdi-action-lock-outline:before { +// content: "\e643"; +//} +// +//.mdi-action-lock:before { +// content: "\e644"; +//} +// +//.mdi-action-loyalty:before { +// content: "\e645"; +//} +// +//.mdi-action-markunread-mailbox:before { +// content: "\e646"; +//} +// +//.mdi-action-note-add:before { +// content: "\e647"; +//} +// +//.mdi-action-open-in-browser:before { +// content: "\e648"; +//} +// +//.mdi-action-open-in-new:before { +// content: "\e649"; +//} +// +//.mdi-action-open-with:before { +// content: "\e64a"; +//} +// +//.mdi-action-pageview:before { +// content: "\e64b"; +//} +// +//.mdi-action-payment:before { +// content: "\e64c"; +//} +// +//.mdi-action-perm-camera-mic:before { +// content: "\e64d"; +//} +// +//.mdi-action-perm-contact-cal:before { +// content: "\e64e"; +//} +// +//.mdi-action-perm-data-setting:before { +// content: "\e64f"; +//} +// +//.mdi-action-perm-device-info:before { +// content: "\e650"; +//} +// +//.mdi-action-perm-identity:before { +// content: "\e651"; +//} +// +//.mdi-action-perm-media:before { +// content: "\e652"; +//} +// +//.mdi-action-perm-phone-msg:before { +// content: "\e653"; +//} +// +//.mdi-action-perm-scan-wifi:before { +// content: "\e654"; +//} +// +//.mdi-action-picture-in-picture:before { +// content: "\e655"; +//} +// +//.mdi-action-polymer:before { +// content: "\e656"; +//} +// +//.mdi-action-print:before { +// content: "\e657"; +//} +// +//.mdi-action-query-builder:before { +// content: "\e658"; +//} +// +//.mdi-action-question-answer:before { +// content: "\e659"; +//} +// +//.mdi-action-receipt:before { +// content: "\e65a"; +//} +// +//.mdi-action-redeem:before { +// content: "\e65b"; +//} +// +//.mdi-action-reorder:before { +// content: "\e65c"; +//} +// +//.mdi-action-report-problem:before { +// content: "\e65d"; +//} +// +//.mdi-action-restore:before { +// content: "\e65e"; +//} +// +//.mdi-action-room:before { +// content: "\e65f"; +//} +// +//.mdi-action-schedule:before { +// content: "\e660"; +//} +// +//.mdi-action-search:before { +// content: "\e661"; +//} +// +//.mdi-action-settings-applications:before { +// content: "\e662"; +//} +// +//.mdi-action-settings-backup-restore:before { +// content: "\e663"; +//} +// +//.mdi-action-settings-bluetooth:before { +// content: "\e664"; +//} +// +//.mdi-action-settings-cell:before { +// content: "\e665"; +//} +// +//.mdi-action-settings-display:before { +// content: "\e666"; +//} +// +//.mdi-action-settings-ethernet:before { +// content: "\e667"; +//} +// +//.mdi-action-settings-input-antenna:before { +// content: "\e668"; +//} +// +//.mdi-action-settings-input-component:before { +// content: "\e669"; +//} +// +//.mdi-action-settings-input-composite:before { +// content: "\e66a"; +//} +// +//.mdi-action-settings-input-hdmi:before { +// content: "\e66b"; +//} +// +//.mdi-action-settings-input-svideo:before { +// content: "\e66c"; +//} +// +//.mdi-action-settings-overscan:before { +// content: "\e66d"; +//} +// +//.mdi-action-settings-phone:before { +// content: "\e66e"; +//} +// +//.mdi-action-settings-power:before { +// content: "\e66f"; +//} +// +//.mdi-action-settings-remote:before { +// content: "\e670"; +//} +// +//.mdi-action-settings-voice:before { +// content: "\e671"; +//} +// +//.mdi-action-settings:before { +// content: "\e672"; +//} +// +//.mdi-action-shop-two:before { +// content: "\e673"; +//} +// +//.mdi-action-shop:before { +// content: "\e674"; +//} +// +//.mdi-action-shopping-basket:before { +// content: "\e675"; +//} +// +//.mdi-action-shopping-cart:before { +// content: "\e676"; +//} +// +//.mdi-action-speaker-notes:before { +// content: "\e677"; +//} +// +//.mdi-action-spellcheck:before { +// content: "\e678"; +//} +// +//.mdi-action-star-rate:before { +// content: "\e679"; +//} +// +//.mdi-action-stars:before { +// content: "\e67a"; +//} +// +//.mdi-action-store:before { +// content: "\e67b"; +//} +// +//.mdi-action-subject:before { +// content: "\e67c"; +//} +// +//.mdi-action-supervisor-account:before { +// content: "\e67d"; +//} +// +//.mdi-action-swap-horiz:before { +// content: "\e67e"; +//} +// +//.mdi-action-swap-vert-circle:before { +// content: "\e67f"; +//} +// +//.mdi-action-swap-vert:before { +// content: "\e680"; +//} +// +//.mdi-action-system-update-tv:before { +// content: "\e681"; +//} +// +//.mdi-action-tab-unselected:before { +// content: "\e682"; +//} +// +//.mdi-action-tab:before { +// content: "\e683"; +//} +// +//.mdi-action-theaters:before { +// content: "\e684"; +//} +// +//.mdi-action-thumb-down:before { +// content: "\e685"; +//} +// +//.mdi-action-thumb-up:before { +// content: "\e686"; +//} +// +//.mdi-action-thumbs-up-down:before { +// content: "\e687"; +//} +// +//.mdi-action-toc:before { +// content: "\e688"; +//} +// +//.mdi-action-today:before { +// content: "\e689"; +//} +// +//.mdi-action-track-changes:before { +// content: "\e68a"; +//} +// +//.mdi-action-translate:before { +// content: "\e68b"; +//} +// +//.mdi-action-trending-down:before { +// content: "\e68c"; +//} +// +//.mdi-action-trending-neutral:before { +// content: "\e68d"; +//} +// +//.mdi-action-trending-up:before { +// content: "\e68e"; +//} +// +//.mdi-action-turned-in-not:before { +// content: "\e68f"; +//} +// +//.mdi-action-turned-in:before { +// content: "\e690"; +//} +// +//.mdi-action-verified-user:before { +// content: "\e691"; +//} +// +//.mdi-action-view-agenda:before { +// content: "\e692"; +//} +// +//.mdi-action-view-array:before { +// content: "\e693"; +//} +// +//.mdi-action-view-carousel:before { +// content: "\e694"; +//} +// +//.mdi-action-view-column:before { +// content: "\e695"; +//} +// +//.mdi-action-view-day:before { +// content: "\e696"; +//} +// +//.mdi-action-view-headline:before { +// content: "\e697"; +//} +// +//.mdi-action-view-list:before { +// content: "\e698"; +//} +// +//.mdi-action-view-module:before { +// content: "\e699"; +//} +// +//.mdi-action-view-quilt:before { +// content: "\e69a"; +//} +// +//.mdi-action-view-stream:before { +// content: "\e69b"; +//} +// +//.mdi-action-view-week:before { +// content: "\e69c"; +//} +// +//.mdi-action-visibility-off:before { +// content: "\e69d"; +//} +// +//.mdi-action-visibility:before { +// content: "\e69e"; +//} +// +//.mdi-action-wallet-giftcard:before { +// content: "\e69f"; +//} +// +//.mdi-action-wallet-membership:before { +// content: "\e6a0"; +//} +// +//.mdi-action-wallet-travel:before { +// content: "\e6a1"; +//} +// +//.mdi-action-work:before { +// content: "\e6a2"; +//} +// +//.mdi-alert-error:before { +// content: "\e6a3"; +//} +// +//.mdi-alert-warning:before { +// content: "\e6a4"; +//} +// +//.mdi-av-album:before { +// content: "\e6a5"; +//} +// +//.mdi-av-closed-caption:before { +// content: "\e6a6"; +//} +// +//.mdi-av-equalizer:before { +// content: "\e6a7"; +//} +// +//.mdi-av-explicit:before { +// content: "\e6a8"; +//} +// +//.mdi-av-fast-forward:before { +// content: "\e6a9"; +//} +// +//.mdi-av-fast-rewind:before { +// content: "\e6aa"; +//} +// +//.mdi-av-games:before { +// content: "\e6ab"; +//} +// +//.mdi-av-hearing:before { +// content: "\e6ac"; +//} +// +//.mdi-av-high-quality:before { +// content: "\e6ad"; +//} +// +//.mdi-av-loop:before { +// content: "\e6ae"; +//} +// +//.mdi-av-mic-none:before { +// content: "\e6af"; +//} +// +//.mdi-av-mic-off:before { +// content: "\e6b0"; +//} +// +//.mdi-av-mic:before { +// content: "\e6b1"; +//} +// +//.mdi-av-movie:before { +// content: "\e6b2"; +//} +// +//.mdi-av-my-library-add:before { +// content: "\e6b3"; +//} +// +//.mdi-av-my-library-books:before { +// content: "\e6b4"; +//} +// +//.mdi-av-my-library-music:before { +// content: "\e6b5"; +//} +// +//.mdi-av-new-releases:before { +// content: "\e6b6"; +//} +// +//.mdi-av-not-interested:before { +// content: "\e6b7"; +//} +// +//.mdi-av-pause-circle-fill:before { +// content: "\e6b8"; +//} +// +//.mdi-av-pause-circle-outline:before { +// content: "\e6b9"; +//} +// +//.mdi-av-pause:before { +// content: "\e6ba"; +//} +// +//.mdi-av-play-arrow:before { +// content: "\e6bb"; +//} +// +//.mdi-av-play-circle-fill:before { +// content: "\e6bc"; +//} +// +//.mdi-av-play-circle-outline:before { +// content: "\e6bd"; +//} +// +//.mdi-av-play-shopping-bag:before { +// content: "\e6be"; +//} +// +//.mdi-av-playlist-add:before { +// content: "\e6bf"; +//} +// +//.mdi-av-queue-music:before { +// content: "\e6c0"; +//} +// +//.mdi-av-queue:before { +// content: "\e6c1"; +//} +// +//.mdi-av-radio:before { +// content: "\e6c2"; +//} +// +//.mdi-av-recent-actors:before { +// content: "\e6c3"; +//} +// +//.mdi-av-repeat-one:before { +// content: "\e6c4"; +//} +// +//.mdi-av-repeat:before { +// content: "\e6c5"; +//} +// +//.mdi-av-replay:before { +// content: "\e6c6"; +//} +// +//.mdi-av-shuffle:before { +// content: "\e6c7"; +//} +// +//.mdi-av-skip-next:before { +// content: "\e6c8"; +//} +// +//.mdi-av-skip-previous:before { +// content: "\e6c9"; +//} +// +//.mdi-av-snooze:before { +// content: "\e6ca"; +//} +// +//.mdi-av-stop:before { +// content: "\e6cb"; +//} +// +//.mdi-av-subtitles:before { +// content: "\e6cc"; +//} +// +//.mdi-av-surround-sound:before { +// content: "\e6cd"; +//} +// +//.mdi-av-timer:before { +// content: "\e6ce"; +//} +// +//.mdi-av-video-collection:before { +// content: "\e6cf"; +//} +// +//.mdi-av-videocam-off:before { +// content: "\e6d0"; +//} +// +//.mdi-av-videocam:before { +// content: "\e6d1"; +//} +// +//.mdi-av-volume-down:before { +// content: "\e6d2"; +//} +// +//.mdi-av-volume-mute:before { +// content: "\e6d3"; +//} +// +//.mdi-av-volume-off:before { +// content: "\e6d4"; +//} +// +//.mdi-av-volume-up:before { +// content: "\e6d5"; +//} +// +//.mdi-av-web:before { +// content: "\e6d6"; +//} +// +//.mdi-communication-business:before { +// content: "\e6d7"; +//} +// +//.mdi-communication-call-end:before { +// content: "\e6d8"; +//} +// +//.mdi-communication-call-made:before { +// content: "\e6d9"; +//} +// +//.mdi-communication-call-merge:before { +// content: "\e6da"; +//} +// +//.mdi-communication-call-missed:before { +// content: "\e6db"; +//} +// +//.mdi-communication-call-received:before { +// content: "\e6dc"; +//} +// +//.mdi-communication-call-split:before { +// content: "\e6dd"; +//} +// +//.mdi-communication-call:before { +// content: "\e6de"; +//} +// +//.mdi-communication-chat:before { +// content: "\e6df"; +//} +// +//.mdi-communication-clear-all:before { +// content: "\e6e0"; +//} +// +//.mdi-communication-comment:before { +// content: "\e6e1"; +//} +// +//.mdi-communication-contacts:before { +// content: "\e6e2"; +//} +// +//.mdi-communication-dialer-sip:before { +// content: "\e6e3"; +//} +// +//.mdi-communication-dialpad:before { +// content: "\e6e4"; +//} +// +//.mdi-communication-dnd-on:before { +// content: "\e6e5"; +//} +// +//.mdi-communication-email:before { +// content: "\e6e6"; +//} +// +//.mdi-communication-forum:before { +// content: "\e6e7"; +//} +// +//.mdi-communication-import-export:before { +// content: "\e6e8"; +//} +// +//.mdi-communication-invert-colors-off:before { +// content: "\e6e9"; +//} +// +//.mdi-communication-invert-colors-on:before { +// content: "\e6ea"; +//} +// +//.mdi-communication-live-help:before { +// content: "\e6eb"; +//} +// +//.mdi-communication-location-off:before { +// content: "\e6ec"; +//} +// +//.mdi-communication-location-on:before { +// content: "\e6ed"; +//} +// +//.mdi-communication-message:before { +// content: "\e6ee"; +//} +// +//.mdi-communication-messenger:before { +// content: "\e6ef"; +//} +// +//.mdi-communication-no-sim:before { +// content: "\e6f0"; +//} +// +//.mdi-communication-phone:before { +// content: "\e6f1"; +//} +// +//.mdi-communication-portable-wifi-off:before { +// content: "\e6f2"; +//} +// +//.mdi-communication-quick-contacts-dialer:before { +// content: "\e6f3"; +//} +// +//.mdi-communication-quick-contacts-mail:before { +// content: "\e6f4"; +//} +// +//.mdi-communication-ring-volume:before { +// content: "\e6f5"; +//} +// +//.mdi-communication-stay-current-landscape:before { +// content: "\e6f6"; +//} +// +//.mdi-communication-stay-current-portrait:before { +// content: "\e6f7"; +//} +// +//.mdi-communication-stay-primary-landscape:before { +// content: "\e6f8"; +//} +// +//.mdi-communication-stay-primary-portrait:before { +// content: "\e6f9"; +//} +// +//.mdi-communication-swap-calls:before { +// content: "\e6fa"; +//} +// +//.mdi-communication-textsms:before { +// content: "\e6fb"; +//} +// +//.mdi-communication-voicemail:before { +// content: "\e6fc"; +//} +// +//.mdi-communication-vpn-key:before { +// content: "\e6fd"; +//} +// +//.mdi-content-add-box:before { +// content: "\e6fe"; +//} +// +//.mdi-content-add-circle-outline:before { +// content: "\e6ff"; +//} +// +//.mdi-content-add-circle:before { +// content: "\e700"; +//} +// +//.mdi-content-add:before { +// content: "\e701"; +//} +// +//.mdi-content-archive:before { +// content: "\e702"; +//} +// +//.mdi-content-backspace:before { +// content: "\e703"; +//} +// +//.mdi-content-block:before { +// content: "\e704"; +//} +// +//.mdi-content-clear:before { +// content: "\e705"; +//} +// +//.mdi-content-content-copy:before { +// content: "\e706"; +//} +// +//.mdi-content-content-cut:before { +// content: "\e707"; +//} +// +//.mdi-content-content-paste:before { +// content: "\e708"; +//} +// +//.mdi-content-create:before { +// content: "\e709"; +//} +// +//.mdi-content-drafts:before { +// content: "\e70a"; +//} +// +//.mdi-content-filter-list:before { +// content: "\e70b"; +//} +// +//.mdi-content-flag:before { +// content: "\e70c"; +//} +// +//.mdi-content-forward:before { +// content: "\e70d"; +//} +// +//.mdi-content-gesture:before { +// content: "\e70e"; +//} +// +//.mdi-content-inbox:before { +// content: "\e70f"; +//} +// +//.mdi-content-link:before { +// content: "\e710"; +//} +// +//.mdi-content-mail:before { +// content: "\e711"; +//} +// +//.mdi-content-markunread:before { +// content: "\e712"; +//} +// +//.mdi-content-redo:before { +// content: "\e713"; +//} +// +//.mdi-content-remove-circle-outline:before { +// content: "\e714"; +//} +// +//.mdi-content-remove-circle:before { +// content: "\e715"; +//} +// +//.mdi-content-remove:before { +// content: "\e716"; +//} +// +//.mdi-content-reply-all:before { +// content: "\e717"; +//} +// +//.mdi-content-reply:before { +// content: "\e718"; +//} +// +//.mdi-content-report:before { +// content: "\e719"; +//} +// +//.mdi-content-save:before { +// content: "\e71a"; +//} +// +//.mdi-content-select-all:before { +// content: "\e71b"; +//} +// +//.mdi-content-send:before { +// content: "\e71c"; +//} +// +//.mdi-content-sort:before { +// content: "\e71d"; +//} +// +//.mdi-content-text-format:before { +// content: "\e71e"; +//} +// +//.mdi-content-undo:before { +// content: "\e71f"; +//} +// +//.mdi-editor-attach-file:before { +// content: "\e776"; +//} +// +//.mdi-editor-attach-money:before { +// content: "\e777"; +//} +// +//.mdi-editor-border-all:before { +// content: "\e778"; +//} +// +//.mdi-editor-border-bottom:before { +// content: "\e779"; +//} +// +//.mdi-editor-border-clear:before { +// content: "\e77a"; +//} +// +//.mdi-editor-border-color:before { +// content: "\e77b"; +//} +// +//.mdi-editor-border-horizontal:before { +// content: "\e77c"; +//} +// +//.mdi-editor-border-inner:before { +// content: "\e77d"; +//} +// +//.mdi-editor-border-left:before { +// content: "\e77e"; +//} +// +//.mdi-editor-border-outer:before { +// content: "\e77f"; +//} +// +//.mdi-editor-border-right:before { +// content: "\e780"; +//} +// +//.mdi-editor-border-style:before { +// content: "\e781"; +//} +// +//.mdi-editor-border-top:before { +// content: "\e782"; +//} +// +//.mdi-editor-border-vertical:before { +// content: "\e783"; +//} +// +//.mdi-editor-format-align-center:before { +// content: "\e784"; +//} +// +//.mdi-editor-format-align-justify:before { +// content: "\e785"; +//} +// +//.mdi-editor-format-align-left:before { +// content: "\e786"; +//} +// +//.mdi-editor-format-align-right:before { +// content: "\e787"; +//} +// +//.mdi-editor-format-bold:before { +// content: "\e788"; +//} +// +//.mdi-editor-format-clear:before { +// content: "\e789"; +//} +// +//.mdi-editor-format-color-fill:before { +// content: "\e78a"; +//} +// +//.mdi-editor-format-color-reset:before { +// content: "\e78b"; +//} +// +//.mdi-editor-format-color-text:before { +// content: "\e78c"; +//} +// +//.mdi-editor-format-indent-decrease:before { +// content: "\e78d"; +//} +// +//.mdi-editor-format-indent-increase:before { +// content: "\e78e"; +//} +// +//.mdi-editor-format-italic:before { +// content: "\e78f"; +//} +// +//.mdi-editor-format-line-spacing:before { +// content: "\e790"; +//} +// +//.mdi-editor-format-list-bulleted:before { +// content: "\e791"; +//} +// +//.mdi-editor-format-list-numbered:before { +// content: "\e792"; +//} +// +//.mdi-editor-format-paint:before { +// content: "\e793"; +//} +// +//.mdi-editor-format-quote:before { +// content: "\e794"; +//} +// +//.mdi-editor-format-size:before { +// content: "\e795"; +//} +// +//.mdi-editor-format-strikethrough:before { +// content: "\e796"; +//} +// +//.mdi-editor-format-textdirection-l-to-r:before { +// content: "\e797"; +//} +// +//.mdi-editor-format-textdirection-r-to-l:before { +// content: "\e798"; +//} +// +//.mdi-editor-format-underline:before { +// content: "\e799"; +//} +// +//.mdi-editor-functions:before { +// content: "\e79a"; +//} +// +//.mdi-editor-insert-chart:before { +// content: "\e79b"; +//} +// +//.mdi-editor-insert-comment:before { +// content: "\e79c"; +//} +// +//.mdi-editor-insert-drive-file:before { +// content: "\e79d"; +//} +// +//.mdi-editor-insert-emoticon:before { +// content: "\e79e"; +//} +// +//.mdi-editor-insert-invitation:before { +// content: "\e79f"; +//} +// +//.mdi-editor-insert-link:before { +// content: "\e7a0"; +//} +// +//.mdi-editor-insert-photo:before { +// content: "\e7a1"; +//} +// +//.mdi-editor-merge-type:before { +// content: "\e7a2"; +//} +// +//.mdi-editor-mode-comment:before { +// content: "\e7a3"; +//} +// +//.mdi-editor-mode-edit:before { +// content: "\e7a4"; +//} +// +//.mdi-editor-publish:before { +// content: "\e7a5"; +//} +// +//.mdi-editor-vertical-align-bottom:before { +// content: "\e7a6"; +//} +// +//.mdi-editor-vertical-align-center:before { +// content: "\e7a7"; +//} +// +//.mdi-editor-vertical-align-top:before { +// content: "\e7a8"; +//} +// +//.mdi-editor-wrap-text:before { +// content: "\e7a9"; +//} +// +//.mdi-file-attachment:before { +// content: "\e7aa"; +//} +// +//.mdi-file-cloud-circle:before { +// content: "\e7ab"; +//} +// +//.mdi-file-cloud-done:before { +// content: "\e7ac"; +//} +// +//.mdi-file-cloud-download:before { +// content: "\e7ad"; +//} +// +//.mdi-file-cloud-off:before { +// content: "\e7ae"; +//} +// +//.mdi-file-cloud-queue:before { +// content: "\e7af"; +//} +// +//.mdi-file-cloud-upload:before { +// content: "\e7b0"; +//} +// +//.mdi-file-cloud:before { +// content: "\e7b1"; +//} +// +//.mdi-file-file-download:before { +// content: "\e7b2"; +//} +// +//.mdi-file-file-upload:before { +// content: "\e7b3"; +//} +// +//.mdi-file-folder-open:before { +// content: "\e7b4"; +//} +// +//.mdi-file-folder-shared:before { +// content: "\e7b5"; +//} +// +//.mdi-file-folder:before { +// content: "\e7b6"; +//} +// +//.mdi-device-access-alarm:before { +// content: "\e720"; +//} +// +//.mdi-device-access-alarms:before { +// content: "\e721"; +//} +// +//.mdi-device-access-time:before { +// content: "\e722"; +//} +// +//.mdi-device-add-alarm:before { +// content: "\e723"; +//} +// +//.mdi-device-airplanemode-off:before { +// content: "\e724"; +//} +// +//.mdi-device-airplanemode-on:before { +// content: "\e725"; +//} +// +//.mdi-device-battery-20:before { +// content: "\e726"; +//} +// +//.mdi-device-battery-30:before { +// content: "\e727"; +//} +// +//.mdi-device-battery-50:before { +// content: "\e728"; +//} +// +//.mdi-device-battery-60:before { +// content: "\e729"; +//} +// +//.mdi-device-battery-80:before { +// content: "\e72a"; +//} +// +//.mdi-device-battery-90:before { +// content: "\e72b"; +//} +// +//.mdi-device-battery-alert:before { +// content: "\e72c"; +//} +// +//.mdi-device-battery-charging-20:before { +// content: "\e72d"; +//} +// +//.mdi-device-battery-charging-30:before { +// content: "\e72e"; +//} +// +//.mdi-device-battery-charging-50:before { +// content: "\e72f"; +//} +// +//.mdi-device-battery-charging-60:before { +// content: "\e730"; +//} +// +//.mdi-device-battery-charging-80:before { +// content: "\e731"; +//} +// +//.mdi-device-battery-charging-90:before { +// content: "\e732"; +//} +// +//.mdi-device-battery-charging-full:before { +// content: "\e733"; +//} +// +//.mdi-device-battery-full:before { +// content: "\e734"; +//} +// +//.mdi-device-battery-std:before { +// content: "\e735"; +//} +// +//.mdi-device-battery-unknown:before { +// content: "\e736"; +//} +// +//.mdi-device-bluetooth-connected:before { +// content: "\e737"; +//} +// +//.mdi-device-bluetooth-disabled:before { +// content: "\e738"; +//} +// +//.mdi-device-bluetooth-searching:before { +// content: "\e739"; +//} +// +//.mdi-device-bluetooth:before { +// content: "\e73a"; +//} +// +//.mdi-device-brightness-auto:before { +// content: "\e73b"; +//} +// +//.mdi-device-brightness-high:before { +// content: "\e73c"; +//} +// +//.mdi-device-brightness-low:before { +// content: "\e73d"; +//} +// +//.mdi-device-brightness-medium:before { +// content: "\e73e"; +//} +// +//.mdi-device-data-usage:before { +// content: "\e73f"; +//} +// +//.mdi-device-developer-mode:before { +// content: "\e740"; +//} +// +//.mdi-device-devices:before { +// content: "\e741"; +//} +// +//.mdi-device-dvr:before { +// content: "\e742"; +//} +// +//.mdi-device-gps-fixed:before { +// content: "\e743"; +//} +// +//.mdi-device-gps-not-fixed:before { +// content: "\e744"; +//} +// +//.mdi-device-gps-off:before { +// content: "\e745"; +//} +// +//.mdi-device-location-disabled:before { +// content: "\e746"; +//} +// +//.mdi-device-location-searching:before { +// content: "\e747"; +//} +// +//.mdi-device-multitrack-audio:before { +// content: "\e748"; +//} +// +//.mdi-device-network-cell:before { +// content: "\e749"; +//} +// +//.mdi-device-network-wifi:before { +// content: "\e74a"; +//} +// +//.mdi-device-nfc:before { +// content: "\e74b"; +//} +// +//.mdi-device-now-wallpaper:before { +// content: "\e74c"; +//} +// +//.mdi-device-now-widgets:before { +// content: "\e74d"; +//} +// +//.mdi-device-screen-lock-landscape:before { +// content: "\e74e"; +//} +// +//.mdi-device-screen-lock-portrait:before { +// content: "\e74f"; +//} +// +//.mdi-device-screen-lock-rotation:before { +// content: "\e750"; +//} +// +//.mdi-device-screen-rotation:before { +// content: "\e751"; +//} +// +//.mdi-device-sd-storage:before { +// content: "\e752"; +//} +// +//.mdi-device-settings-system-daydream:before { +// content: "\e753"; +//} +// +//.mdi-device-signal-cellular-0-bar:before { +// content: "\e754"; +//} +// +//.mdi-device-signal-cellular-1-bar:before { +// content: "\e755"; +//} +// +//.mdi-device-signal-cellular-2-bar:before { +// content: "\e756"; +//} +// +//.mdi-device-signal-cellular-3-bar:before { +// content: "\e757"; +//} +// +//.mdi-device-signal-cellular-4-bar:before { +// content: "\e758"; +//} +// +//.mdi-signal-wifi-statusbar-connected-no-internet-after:before { +// content: "\e8f6"; +//} +// +//.mdi-device-signal-cellular-connected-no-internet-0-bar:before { +// content: "\e759"; +//} +// +//.mdi-device-signal-cellular-connected-no-internet-1-bar:before { +// content: "\e75a"; +//} +// +//.mdi-device-signal-cellular-connected-no-internet-2-bar:before { +// content: "\e75b"; +//} +// +//.mdi-device-signal-cellular-connected-no-internet-3-bar:before { +// content: "\e75c"; +//} +// +//.mdi-device-signal-cellular-connected-no-internet-4-bar:before { +// content: "\e75d"; +//} +// +//.mdi-device-signal-cellular-no-sim:before { +// content: "\e75e"; +//} +// +//.mdi-device-signal-cellular-null:before { +// content: "\e75f"; +//} +// +//.mdi-device-signal-cellular-off:before { +// content: "\e760"; +//} +// +//.mdi-device-signal-wifi-0-bar:before { +// content: "\e761"; +//} +// +//.mdi-device-signal-wifi-1-bar:before { +// content: "\e762"; +//} +// +//.mdi-device-signal-wifi-2-bar:before { +// content: "\e763"; +//} +// +//.mdi-device-signal-wifi-3-bar:before { +// content: "\e764"; +//} +// +//.mdi-device-signal-wifi-4-bar:before { +// content: "\e765"; +//} +// +//.mdi-device-signal-wifi-off:before { +// content: "\e766"; +//} +// +//.mdi-device-signal-wifi-statusbar-1-bar:before { +// content: "\e767"; +//} +// +//.mdi-device-signal-wifi-statusbar-2-bar:before { +// content: "\e768"; +//} +// +//.mdi-device-signal-wifi-statusbar-3-bar:before { +// content: "\e769"; +//} +// +//.mdi-device-signal-wifi-statusbar-4-bar:before { +// content: "\e76a"; +//} +// +//.mdi-device-signal-wifi-statusbar-connected-no-internet-:before { +// content: "\e76b"; +//} +// +//.mdi-device-signal-wifi-statusbar-connected-no-internet:before { +// content: "\e76f"; +//} +// +//.mdi-device-signal-wifi-statusbar-connected-no-internet-2:before { +// content: "\e76c"; +//} +// +//.mdi-device-signal-wifi-statusbar-connected-no-internet-3:before { +// content: "\e76d"; +//} +// +//.mdi-device-signal-wifi-statusbar-connected-no-internet-4:before { +// content: "\e76e"; +//} +// +//.mdi-signal-wifi-statusbar-not-connected-after:before { +// content: "\e8f7"; +//} +// +//.mdi-device-signal-wifi-statusbar-not-connected:before { +// content: "\e770"; +//} +// +//.mdi-device-signal-wifi-statusbar-null:before { +// content: "\e771"; +//} +// +//.mdi-device-storage:before { +// content: "\e772"; +//} +// +//.mdi-device-usb:before { +// content: "\e773"; +//} +// +//.mdi-device-wifi-lock:before { +// content: "\e774"; +//} +// +//.mdi-device-wifi-tethering:before { +// content: "\e775"; +//} +// +//.mdi-hardware-cast-connected:before { +// content: "\e7b7"; +//} +// +//.mdi-hardware-cast:before { +// content: "\e7b8"; +//} +// +//.mdi-hardware-computer:before { +// content: "\e7b9"; +//} +// +//.mdi-hardware-desktop-mac:before { +// content: "\e7ba"; +//} +// +//.mdi-hardware-desktop-windows:before { +// content: "\e7bb"; +//} +// +//.mdi-hardware-dock:before { +// content: "\e7bc"; +//} +// +//.mdi-hardware-gamepad:before { +// content: "\e7bd"; +//} +// +//.mdi-hardware-headset-mic:before { +// content: "\e7be"; +//} +// +//.mdi-hardware-headset:before { +// content: "\e7bf"; +//} +// +//.mdi-hardware-keyboard-alt:before { +// content: "\e7c0"; +//} +// +//.mdi-hardware-keyboard-arrow-down:before { +// content: "\e7c1"; +//} +// +//.mdi-hardware-keyboard-arrow-left:before { +// content: "\e7c2"; +//} +// +//.mdi-hardware-keyboard-arrow-right:before { +// content: "\e7c3"; +//} +// +//.mdi-hardware-keyboard-arrow-up:before { +// content: "\e7c4"; +//} +// +//.mdi-hardware-keyboard-backspace:before { +// content: "\e7c5"; +//} +// +//.mdi-hardware-keyboard-capslock:before { +// content: "\e7c6"; +//} +// +//.mdi-hardware-keyboard-control:before { +// content: "\e7c7"; +//} +// +//.mdi-hardware-keyboard-hide:before { +// content: "\e7c8"; +//} +// +//.mdi-hardware-keyboard-return:before { +// content: "\e7c9"; +//} +// +//.mdi-hardware-keyboard-tab:before { +// content: "\e7ca"; +//} +// +//.mdi-hardware-keyboard-voice:before { +// content: "\e7cb"; +//} +// +//.mdi-hardware-keyboard:before { +// content: "\e7cc"; +//} +// +//.mdi-hardware-laptop-chromebook:before { +// content: "\e7cd"; +//} +// +//.mdi-hardware-laptop-mac:before { +// content: "\e7ce"; +//} +// +//.mdi-hardware-laptop-windows:before { +// content: "\e7cf"; +//} +// +//.mdi-hardware-laptop:before { +// content: "\e7d0"; +//} +// +//.mdi-hardware-memory:before { +// content: "\e7d1"; +//} +// +//.mdi-hardware-mouse:before { +// content: "\e7d2"; +//} +// +//.mdi-hardware-phone-android:before { +// content: "\e7d3"; +//} +// +//.mdi-hardware-phone-iphone:before { +// content: "\e7d4"; +//} +// +//.mdi-hardware-phonelink-off:before { +// content: "\e7d5"; +//} +// +//.mdi-hardware-phonelink:before { +// content: "\e7d6"; +//} +// +//.mdi-hardware-security:before { +// content: "\e7d7"; +//} +// +//.mdi-hardware-sim-card:before { +// content: "\e7d8"; +//} +// +//.mdi-hardware-smartphone:before { +// content: "\e7d9"; +//} +// +//.mdi-hardware-speaker:before { +// content: "\e7da"; +//} +// +//.mdi-hardware-tablet-android:before { +// content: "\e7db"; +//} +// +//.mdi-hardware-tablet-mac:before { +// content: "\e7dc"; +//} +// +//.mdi-hardware-tablet:before { +// content: "\e7dd"; +//} +// +//.mdi-hardware-tv:before { +// content: "\e7de"; +//} +// +//.mdi-hardware-watch:before { +// content: "\e7df"; +//} +// +//.mdi-image-add-to-photos:before { +// content: "\e7e0"; +//} +// +//.mdi-image-adjust:before { +// content: "\e7e1"; +//} +// +//.mdi-image-assistant-photo:before { +// content: "\e7e2"; +//} +// +//.mdi-image-audiotrack:before { +// content: "\e7e3"; +//} +// +//.mdi-image-blur-circular:before { +// content: "\e7e4"; +//} +// +//.mdi-image-blur-linear:before { +// content: "\e7e5"; +//} +// +//.mdi-image-blur-off:before { +// content: "\e7e6"; +//} +// +//.mdi-image-blur-on:before { +// content: "\e7e7"; +//} +// +//.mdi-image-brightness-1:before { +// content: "\e7e8"; +//} +// +//.mdi-image-brightness-2:before { +// content: "\e7e9"; +//} +// +//.mdi-image-brightness-3:before { +// content: "\e7ea"; +//} +// +//.mdi-image-brightness-4:before { +// content: "\e7eb"; +//} +// +//.mdi-image-brightness-5:before { +// content: "\e7ec"; +//} +// +//.mdi-image-brightness-6:before { +// content: "\e7ed"; +//} +// +//.mdi-image-brightness-7:before { +// content: "\e7ee"; +//} +// +//.mdi-image-brush:before { +// content: "\e7ef"; +//} +// +//.mdi-image-camera-alt:before { +// content: "\e7f0"; +//} +// +//.mdi-image-camera-front:before { +// content: "\e7f1"; +//} +// +//.mdi-image-camera-rear:before { +// content: "\e7f2"; +//} +// +//.mdi-image-camera-roll:before { +// content: "\e7f3"; +//} +// +//.mdi-image-camera:before { +// content: "\e7f4"; +//} +// +//.mdi-image-center-focus-strong:before { +// content: "\e7f5"; +//} +// +//.mdi-image-center-focus-weak:before { +// content: "\e7f6"; +//} +// +//.mdi-image-collections:before { +// content: "\e7f7"; +//} +// +//.mdi-image-color-lens:before { +// content: "\e7f8"; +//} +// +//.mdi-image-colorize:before { +// content: "\e7f9"; +//} +// +//.mdi-image-compare:before { +// content: "\e7fa"; +//} +// +//.mdi-image-control-point-duplicate:before { +// content: "\e7fb"; +//} +// +//.mdi-image-control-point:before { +// content: "\e7fc"; +//} +// +//.mdi-image-crop-3-2:before { +// content: "\e7fd"; +//} +// +//.mdi-image-crop-5-4:before { +// content: "\e7fe"; +//} +// +//.mdi-image-crop-7-5:before { +// content: "\e7ff"; +//} +// +//.mdi-image-crop-16-9:before { +// content: "\e800"; +//} +// +//.mdi-image-crop-din:before { +// content: "\e801"; +//} +// +//.mdi-image-crop-free:before { +// content: "\e802"; +//} +// +//.mdi-image-crop-landscape:before { +// content: "\e803"; +//} +// +//.mdi-image-crop-original:before { +// content: "\e804"; +//} +// +//.mdi-image-crop-portrait:before { +// content: "\e805"; +//} +// +//.mdi-image-crop-square:before { +// content: "\e806"; +//} +// +//.mdi-image-crop:before { +// content: "\e807"; +//} +// +//.mdi-image-dehaze:before { +// content: "\e808"; +//} +// +//.mdi-image-details:before { +// content: "\e809"; +//} +// +//.mdi-image-edit:before { +// content: "\e80a"; +//} +// +//.mdi-image-exposure-minus-1:before { +// content: "\e80b"; +//} +// +//.mdi-image-exposure-minus-2:before { +// content: "\e80c"; +//} +// +//.mdi-image-exposure-plus-1:before { +// content: "\e80d"; +//} +// +//.mdi-image-exposure-plus-2:before { +// content: "\e80e"; +//} +// +//.mdi-image-exposure-zero:before { +// content: "\e80f"; +//} +// +//.mdi-image-exposure:before { +// content: "\e810"; +//} +// +//.mdi-image-filter-1:before { +// content: "\e811"; +//} +// +//.mdi-image-filter-2:before { +// content: "\e812"; +//} +// +//.mdi-image-filter-3:before { +// content: "\e813"; +//} +// +//.mdi-image-filter-4:before { +// content: "\e814"; +//} +// +//.mdi-image-filter-5:before { +// content: "\e815"; +//} +// +//.mdi-image-filter-6:before { +// content: "\e816"; +//} +// +//.mdi-image-filter-7:before { +// content: "\e817"; +//} +// +//.mdi-image-filter-8:before { +// content: "\e818"; +//} +// +//.mdi-image-filter-9-plus:before { +// content: "\e819"; +//} +// +//.mdi-image-filter-9:before { +// content: "\e81a"; +//} +// +//.mdi-image-filter-b-and-w:before { +// content: "\e81b"; +//} +// +//.mdi-image-filter-center-focus:before { +// content: "\e81c"; +//} +// +//.mdi-image-filter-drama:before { +// content: "\e81d"; +//} +// +//.mdi-image-filter-frames:before { +// content: "\e81e"; +//} +// +//.mdi-image-filter-hdr:before { +// content: "\e81f"; +//} +// +//.mdi-image-filter-none:before { +// content: "\e820"; +//} +// +//.mdi-image-filter-tilt-shift:before { +// content: "\e821"; +//} +// +//.mdi-image-filter-vintage:before { +// content: "\e822"; +//} +// +//.mdi-image-filter:before { +// content: "\e823"; +//} +// +//.mdi-image-flare:before { +// content: "\e824"; +//} +// +//.mdi-image-flash-auto:before { +// content: "\e825"; +//} +// +//.mdi-image-flash-off:before { +// content: "\e826"; +//} +// +//.mdi-image-flash-on:before { +// content: "\e827"; +//} +// +//.mdi-image-flip:before { +// content: "\e828"; +//} +// +//.mdi-image-gradient:before { +// content: "\e829"; +//} +// +//.mdi-image-grain:before { +// content: "\e82a"; +//} +// +//.mdi-image-grid-off:before { +// content: "\e82b"; +//} +// +//.mdi-image-grid-on:before { +// content: "\e82c"; +//} +// +//.mdi-image-hdr-off:before { +// content: "\e82d"; +//} +// +//.mdi-image-hdr-on:before { +// content: "\e82e"; +//} +// +//.mdi-image-hdr-strong:before { +// content: "\e82f"; +//} +// +//.mdi-image-hdr-weak:before { +// content: "\e830"; +//} +// +//.mdi-image-healing:before { +// content: "\e831"; +//} +// +//.mdi-image-image-aspect-ratio:before { +// content: "\e832"; +//} +// +//.mdi-image-image:before { +// content: "\e833"; +//} +// +//.mdi-image-iso:before { +// content: "\e834"; +//} +// +//.mdi-image-landscape:before { +// content: "\e835"; +//} +// +//.mdi-image-leak-add:before { +// content: "\e836"; +//} +// +//.mdi-image-leak-remove:before { +// content: "\e837"; +//} +// +//.mdi-image-lens:before { +// content: "\e838"; +//} +// +//.mdi-image-looks-3:before { +// content: "\e839"; +//} +// +//.mdi-image-looks-4:before { +// content: "\e83a"; +//} +// +//.mdi-image-looks-5:before { +// content: "\e83b"; +//} +// +//.mdi-image-looks-6:before { +// content: "\e83c"; +//} +// +//.mdi-image-looks-one:before { +// content: "\e83d"; +//} +// +//.mdi-image-looks-two:before { +// content: "\e83e"; +//} +// +//.mdi-image-looks:before { +// content: "\e83f"; +//} +// +//.mdi-image-loupe:before { +// content: "\e840"; +//} +// +//.mdi-image-movie-creation:before { +// content: "\e841"; +//} +// +//.mdi-image-nature-people:before { +// content: "\e842"; +//} +// +//.mdi-image-nature:before { +// content: "\e843"; +//} +// +//.mdi-image-navigate-before:before { +// content: "\e844"; +//} +// +//.mdi-image-navigate-next:before { +// content: "\e845"; +//} +// +//.mdi-image-palette:before { +// content: "\e846"; +//} +// +//.mdi-image-panorama-fisheye:before { +// content: "\e847"; +//} +// +//.mdi-image-panorama-horizontal:before { +// content: "\e848"; +//} +// +//.mdi-image-panorama-vertical:before { +// content: "\e849"; +//} +// +//.mdi-image-panorama-wide-angle:before { +// content: "\e84a"; +//} +// +//.mdi-image-panorama:before { +// content: "\e84b"; +//} +// +//.mdi-image-photo-album:before { +// content: "\e84c"; +//} +// +//.mdi-image-photo-camera:before { +// content: "\e84d"; +//} +// +//.mdi-image-photo-library:before { +// content: "\e84e"; +//} +// +//.mdi-image-photo:before { +// content: "\e84f"; +//} +// +//.mdi-image-portrait:before { +// content: "\e850"; +//} +// +//.mdi-image-remove-red-eye:before { +// content: "\e851"; +//} +// +//.mdi-image-rotate-left:before { +// content: "\e852"; +//} +// +//.mdi-image-rotate-right:before { +// content: "\e853"; +//} +// +//.mdi-image-slideshow:before { +// content: "\e854"; +//} +// +//.mdi-image-straighten:before { +// content: "\e855"; +//} +// +//.mdi-image-style:before { +// content: "\e856"; +//} +// +//.mdi-image-switch-camera:before { +// content: "\e857"; +//} +// +//.mdi-image-switch-video:before { +// content: "\e858"; +//} +// +//.mdi-image-tag-faces:before { +// content: "\e859"; +//} +// +//.mdi-image-texture:before { +// content: "\e85a"; +//} +// +//.mdi-image-timelapse:before { +// content: "\e85b"; +//} +// +//.mdi-image-timer-3:before { +// content: "\e85c"; +//} +// +//.mdi-image-timer-10:before { +// content: "\e85d"; +//} +// +//.mdi-image-timer-auto:before { +// content: "\e85e"; +//} +// +//.mdi-image-timer-off:before { +// content: "\e85f"; +//} +// +//.mdi-image-timer:before { +// content: "\e860"; +//} +// +//.mdi-image-tonality:before { +// content: "\e861"; +//} +// +//.mdi-image-transform:before { +// content: "\e862"; +//} +// +//.mdi-image-tune:before { +// content: "\e863"; +//} +// +//.mdi-image-wb-auto:before { +// content: "\e864"; +//} +// +//.mdi-image-wb-cloudy:before { +// content: "\e865"; +//} +// +//.mdi-image-wb-incandescent:before { +// content: "\e866"; +//} +// +//.mdi-image-wb-irradescent:before { +// content: "\e867"; +//} +// +//.mdi-image-wb-sunny:before { +// content: "\e868"; +//} +// +//.mdi-maps-beenhere:before { +// content: "\e869"; +//} +// +//.mdi-maps-directions-bike:before { +// content: "\e86a"; +//} +// +//.mdi-maps-directions-bus:before { +// content: "\e86b"; +//} +// +//.mdi-maps-directions-car:before { +// content: "\e86c"; +//} +// +//.mdi-maps-directions-ferry:before { +// content: "\e86d"; +//} +// +//.mdi-maps-directions-subway:before { +// content: "\e86e"; +//} +// +//.mdi-maps-directions-train:before { +// content: "\e86f"; +//} +// +//.mdi-maps-directions-transit:before { +// content: "\e870"; +//} +// +//.mdi-maps-directions-walk:before { +// content: "\e871"; +//} +// +//.mdi-maps-directions:before { +// content: "\e872"; +//} +// +//.mdi-maps-flight:before { +// content: "\e873"; +//} +// +//.mdi-maps-hotel:before { +// content: "\e874"; +//} +// +//.mdi-maps-layers-clear:before { +// content: "\e875"; +//} +// +//.mdi-maps-layers:before { +// content: "\e876"; +//} +// +//.mdi-maps-local-airport:before { +// content: "\e877"; +//} +// +//.mdi-maps-local-atm:before { +// content: "\e878"; +//} +// +//.mdi-maps-local-attraction:before { +// content: "\e879"; +//} +// +//.mdi-maps-local-bar:before { +// content: "\e87a"; +//} +// +//.mdi-maps-local-cafe:before { +// content: "\e87b"; +//} +// +//.mdi-maps-local-car-wash:before { +// content: "\e87c"; +//} +// +//.mdi-maps-local-convenience-store:before { +// content: "\e87d"; +//} +// +//.mdi-maps-local-drink:before { +// content: "\e87e"; +//} +// +//.mdi-maps-local-florist:before { +// content: "\e87f"; +//} +// +//.mdi-maps-local-gas-station:before { +// content: "\e880"; +//} +// +//.mdi-maps-local-grocery-store:before { +// content: "\e881"; +//} +// +//.mdi-maps-local-hospital:before { +// content: "\e882"; +//} +// +//.mdi-maps-local-hotel:before { +// content: "\e883"; +//} +// +//.mdi-maps-local-laundry-service:before { +// content: "\e884"; +//} +// +//.mdi-maps-local-library:before { +// content: "\e885"; +//} +// +//.mdi-maps-local-mall:before { +// content: "\e886"; +//} +// +//.mdi-maps-local-movies:before { +// content: "\e887"; +//} +// +//.mdi-maps-local-offer:before { +// content: "\e888"; +//} +// +//.mdi-maps-local-parking:before { +// content: "\e889"; +//} +// +//.mdi-maps-local-pharmacy:before { +// content: "\e88a"; +//} +// +//.mdi-maps-local-phone:before { +// content: "\e88b"; +//} +// +//.mdi-maps-local-pizza:before { +// content: "\e88c"; +//} +// +//.mdi-maps-local-play:before { +// content: "\e88d"; +//} +// +//.mdi-maps-local-post-office:before { +// content: "\e88e"; +//} +// +//.mdi-maps-local-print-shop:before { +// content: "\e88f"; +//} +// +//.mdi-maps-local-restaurant:before { +// content: "\e890"; +//} +// +//.mdi-maps-local-see:before { +// content: "\e891"; +//} +// +//.mdi-maps-local-shipping:before { +// content: "\e892"; +//} +// +//.mdi-maps-local-taxi:before { +// content: "\e893"; +//} +// +//.mdi-maps-location-history:before { +// content: "\e894"; +//} +// +//.mdi-maps-map:before { +// content: "\e895"; +//} +// +//.mdi-maps-my-location:before { +// content: "\e896"; +//} +// +//.mdi-maps-navigation:before { +// content: "\e897"; +//} +// +//.mdi-maps-pin-drop:before { +// content: "\e898"; +//} +// +//.mdi-maps-place:before { +// content: "\e899"; +//} +// +//.mdi-maps-rate-review:before { +// content: "\e89a"; +//} +// +//.mdi-maps-restaurant-menu:before { +// content: "\e89b"; +//} +// +//.mdi-maps-satellite:before { +// content: "\e89c"; +//} +// +//.mdi-maps-store-mall-directory:before { +// content: "\e89d"; +//} +// +//.mdi-maps-terrain:before { +// content: "\e89e"; +//} +// +//.mdi-maps-traffic:before { +// content: "\e89f"; +//} +// +//.mdi-navigation-apps:before { +// content: "\e8a0"; +//} +// +//.mdi-navigation-arrow-back:before { +// content: "\e8a1"; +//} +// +//.mdi-navigation-arrow-drop-down-circle:before { +// content: "\e8a2"; +//} +// +//.mdi-navigation-arrow-drop-down:before { +// content: "\e8a3"; +//} +// +//.mdi-navigation-arrow-drop-up:before { +// content: "\e8a4"; +//} +// +//.mdi-navigation-arrow-forward:before { +// content: "\e8a5"; +//} +// +//.mdi-navigation-cancel:before { +// content: "\e8a6"; +//} +// +//.mdi-navigation-check:before { +// content: "\e8a7"; +//} +// +//.mdi-navigation-chevron-left:before { +// content: "\e8a8"; +//} +// +//.mdi-navigation-chevron-right:before { +// content: "\e8a9"; +//} +// +//.mdi-navigation-close:before { +// content: "\e8aa"; +//} +// +//.mdi-navigation-expand-less:before { +// content: "\e8ab"; +//} +// +//.mdi-navigation-expand-more:before { +// content: "\e8ac"; +//} +// +//.mdi-navigation-fullscreen-exit:before { +// content: "\e8ad"; +//} +// +//.mdi-navigation-fullscreen:before { +// content: "\e8ae"; +//} +// +//.mdi-navigation-menu:before { +// content: "\e8af"; +//} +// +//.mdi-navigation-more-horiz:before { +// content: "\e8b0"; +//} +// +//.mdi-navigation-more-vert:before { +// content: "\e8b1"; +//} +// +//.mdi-navigation-refresh:before { +// content: "\e8b2"; +//} +// +//.mdi-navigation-unfold-less:before { +// content: "\e8b3"; +//} +// +//.mdi-navigation-unfold-more:before { +// content: "\e8b4"; +//} +// +//.mdi-notification-adb:before { +// content: "\e8b5"; +//} +// +//.mdi-notification-bluetooth-audio:before { +// content: "\e8b6"; +//} +// +//.mdi-notification-disc-full:before { +// content: "\e8b7"; +//} +// +//.mdi-notification-dnd-forwardslash:before { +// content: "\e8b8"; +//} +// +//.mdi-notification-do-not-disturb:before { +// content: "\e8b9"; +//} +// +//.mdi-notification-drive-eta:before { +// content: "\e8ba"; +//} +// +//.mdi-notification-event-available:before { +// content: "\e8bb"; +//} +// +//.mdi-notification-event-busy:before { +// content: "\e8bc"; +//} +// +//.mdi-notification-event-note:before { +// content: "\e8bd"; +//} +// +//.mdi-notification-folder-special:before { +// content: "\e8be"; +//} +// +//.mdi-notification-mms:before { +// content: "\e8bf"; +//} +// +//.mdi-notification-more:before { +// content: "\e8c0"; +//} +// +//.mdi-notification-network-locked:before { +// content: "\e8c1"; +//} +// +//.mdi-notification-phone-bluetooth-speaker:before { +// content: "\e8c2"; +//} +// +//.mdi-notification-phone-forwarded:before { +// content: "\e8c3"; +//} +// +//.mdi-notification-phone-in-talk:before { +// content: "\e8c4"; +//} +// +//.mdi-notification-phone-locked:before { +// content: "\e8c5"; +//} +// +//.mdi-notification-phone-missed:before { +// content: "\e8c6"; +//} +// +//.mdi-notification-phone-paused:before { +// content: "\e8c7"; +//} +// +//.mdi-notification-play-download:before { +// content: "\e8c8"; +//} +// +//.mdi-notification-play-install:before { +// content: "\e8c9"; +//} +// +//.mdi-notification-sd-card:before { +// content: "\e8ca"; +//} +// +//.mdi-notification-sim-card-alert:before { +// content: "\e8cb"; +//} +// +//.mdi-notification-sms-failed:before { +// content: "\e8cc"; +//} +// +//.mdi-notification-sms:before { +// content: "\e8cd"; +//} +// +//.mdi-notification-sync-disabled:before { +// content: "\e8ce"; +//} +// +//.mdi-notification-sync-problem:before { +// content: "\e8cf"; +//} +// +//.mdi-notification-sync:before { +// content: "\e8d0"; +//} +// +//.mdi-notification-system-update:before { +// content: "\e8d1"; +//} +// +//.mdi-notification-tap-and-play:before { +// content: "\e8d2"; +//} +// +//.mdi-notification-time-to-leave:before { +// content: "\e8d3"; +//} +// +//.mdi-notification-vibration:before { +// content: "\e8d4"; +//} +// +//.mdi-notification-voice-chat:before { +// content: "\e8d5"; +//} +// +//.mdi-notification-vpn-lock:before { +// content: "\e8d6"; +//} +// +//.mdi-social-cake:before { +// content: "\e8d7"; +//} +// +//.mdi-social-domain:before { +// content: "\e8d8"; +//} +// +//.mdi-social-group-add:before { +// content: "\e8d9"; +//} +// +//.mdi-social-group:before { +// content: "\e8da"; +//} +// +//.mdi-social-location-city:before { +// content: "\e8db"; +//} +// +//.mdi-social-mood:before { +// content: "\e8dc"; +//} +// +//.mdi-social-notifications-none:before { +// content: "\e8dd"; +//} +// +//.mdi-social-notifications-off:before { +// content: "\e8de"; +//} +// +//.mdi-social-notifications-on:before { +// content: "\e8df"; +//} +// +//.mdi-social-notifications-paused:before { +// content: "\e8e0"; +//} +// +//.mdi-social-notifications:before { +// content: "\e8e1"; +//} +// +//.mdi-social-pages:before { +// content: "\e8e2"; +//} +// +//.mdi-social-party-mode:before { +// content: "\e8e3"; +//} +// +//.mdi-social-people-outline:before { +// content: "\e8e4"; +//} +// +//.mdi-social-people:before { +// content: "\e8e5"; +//} +// +//.mdi-social-person-add:before { +// content: "\e8e6"; +//} +// +//.mdi-social-person-outline:before { +// content: "\e8e7"; +//} +// +//.mdi-social-person:before { +// content: "\e8e8"; +//} +// +//.mdi-social-plus-one:before { +// content: "\e8e9"; +//} +// +//.mdi-social-poll:before { +// content: "\e8ea"; +//} +// +//.mdi-social-public:before { +// content: "\e8eb"; +//} +// +//.mdi-social-school:before { +// content: "\e8ec"; +//} +// +//.mdi-social-share:before { +// content: "\e8ed"; +//} +// +//.mdi-social-whatshot:before { +// content: "\e8ee"; +//} +// +//.mdi-toggle-check-box-outline-blank:before { +// content: "\e8ef"; +//} +// +//.mdi-toggle-check-box:before { +// content: "\e8f0"; +//} +// +//.mdi-toggle-radio-button-off:before { +// content: "\e8f1"; +//} +// +//.mdi-toggle-radio-button-on:before { +// content: "\e8f2"; +//} +// +//.mdi-toggle-star-half:before { +// content: "\e8f3"; +//} +// +//.mdi-toggle-star-outline:before { +// content: "\e8f4"; +//} +// +//.mdi-toggle-star:before { +// content: "\e8f5"; +//} diff --git a/sass/_icons.scss b/sass/_icons.scss index 50a2da18..8fcb10aa 100644 --- a/sass/_icons.scss +++ b/sass/_icons.scss @@ -2,9 +2,22 @@ // http://google.github.io/material-design-icons/#setup-method-1-using-via-google-web-fonts +// icons as ligatures http://google.github.io/material-design-icons/#using-the-icons-in-html +// face -.mdi, icon { - @include variations(unquote(""), color, $lightbg-text); - line-height: inherit; - vertical-align: bottom; -} + +// use something like this to generically style disabled and muted, etc based on color variables? +//.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); } +//.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); } +// +//.material-icons.md-light { color: rgba(255, 255, 255, 1); } +//.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); } + + + + +//.mdi, icon { +// @include variations(unquote(""), color, $mdb-text-color-primary); +// line-height: inherit; +// vertical-align: bottom; +//} diff --git a/sass/_import-bs-sass.scss b/sass/_import-bs-sass.scss index 46d4cd6c..4f6160d8 100644 --- a/sass/_import-bs-sass.scss +++ b/sass/_import-bs-sass.scss @@ -1,2 +1,2 @@ -@import "#{$mdb-dependency-packages}/bootstrap-sass/assets/stylesheets/bootstrap/variables"; -//@import "#{$mdb-dependency-packages}/bootstrap-sass/assets/stylesheets/bootstrap/mixins"; +@import "../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/variables"; +//@import "../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins"; diff --git a/sass/_inputs.scss b/sass/_inputs.scss index ae1a66cd..c3db7db7 100644 --- a/sass/_inputs.scss +++ b/sass/_inputs.scss @@ -2,6 +2,12 @@ @import '_inputs-size'; +// label variations +.label { + border-radius: $border-radius-small; + @include variations(unquote(".label"), unquote(""), background-color, $grey); +} + // must be broken out for reuse - webkit selector breaks firefox @mixin label-static($label-top, $static-font-size, $static-line-height){ label.control-label { @@ -188,6 +194,12 @@ } } + // hint to browser for optimization + // TODO: evaluate effectiveness - looking for community feedback + &.label-floating label.control-label { + will-change: left, top, contents; + } + // hide label-placeholders when the field is not empty &.label-placeholder:not(.is-empty){ label.control-label{ @@ -234,9 +246,6 @@ } } - // SASS conversion note: please mirror any content change in _mixins-shared.scss bg-img-variations-content - @include bg-img-variations(unquote(".is-focused .form-control"), $brand-primary); - @include form-group-validation-state(has-warning, $brand-warning); @include form-group-validation-state(has-error, $brand-danger); @include form-group-validation-state(has-success, $brand-success); diff --git a/sass/_lists.scss b/sass/_lists.scss index 8136c8c9..a8fc5bb4 100644 --- a/sass/_lists.scss +++ b/sass/_lists.scss @@ -85,7 +85,7 @@ outline: 10px solid rgba(0,0,0,.15); } .list-group-item-heading, .list-group-item-text { - color: $lightbg-text; + color: $mdb-text-color-primary; } } diff --git a/sass/_mixins.scss b/sass/_mixins.scss index b9c84cc9..6ae91f35 100644 --- a/sass/_mixins.scss +++ b/sass/_mixins.scss @@ -11,44 +11,44 @@ // variations(unquote(""), background-color, #FFF); @mixin variations($component, $selector-suffix, $mdb-param-1, $color-default) { - @include generic-variations($selector-suffix, $color-default, "variations-content", $mdb-param-1); + @include generic-variations($component, $selector-suffix, $color-default, "variations-content", $mdb-param-1); } @mixin variations-content($args) { - //@debug "#{map-get($args, mixin-name)}{ #{map-get($args, material-param-1)}: #{map-get($args, material-color)}; }"; + //@debug "#{map-get($args, mixin-name)}{ #{map-get($args, material-param-1)}: #{map-get($args, variation-color)}; }"; //@debug "#{inspect($args)}"; //@error "break here"; - #{map-get($args, material-param-1)}: map-get($args, material-color); + #{map-get($args, material-param-1)}: map-get($args, variation-color); } @mixin background-variations($component, $selector-suffix, $color-default) { - @include generic-variations($selector-suffix, $color-default, "background-variations-content", null); + @include generic-variations($component, $selector-suffix, $color-default, "background-variations-content", null); } @mixin background-variations-content($args) { - background-color: map-get($args, material-color); - @if (map-get($args, material-color) == $btn-default) { - color: $lightbg-text; + background-color: map-get($args, variation-color); + @if (map-get($args, variation-color) == $mdb-btn-background-color) { + color: $mdb-text-color-primary; } @else { - color: map-get($args, material-text-color); + color: map-get($args, variation-color-text); } } //@mixin text-variations($component, $selector-suffix, $color-default) { -// @include generic-variations($selector-suffix, $color-default, "text-variations-content", null); +// @include generic-variations($component, $selector-suffix, $color-default, "text-variations-content", null); //} // //@mixin text-variations-content($args) { -// color: map-get($args, material-color); +// color: map-get($args, variation-color); //} // //@mixin button-variations($component, $selector-suffix, $color-default, $mdb-param-1) { -// @include generic-variations($selector-suffix, $color-default, "button-variations-content", $mdb-param-1); +// @include generic-variations($component, $selector-suffix, $color-default, "button-variations-content", $mdb-param-1); //} // //@mixin button-variations-content($args) { // //@debug "#{inspect($args)}"; -// $variation-color: map-get($args, material-color); +// $variation-color: map-get($args, variation-color); // $mdb-param-1: map-get($args, material-param-1); // background-color: contrast-color($variation-color, // darken($variation-color, $mdb-param-1), @@ -56,42 +56,42 @@ //} // //@mixin bg-color-variations($component, $selector-suffix, $color-default, $mdb-param-1) { -// @include generic-variations($selector-suffix, $color-default, "bg-color-variations-content", $mdb-param-1); +// @include generic-variations($component, $selector-suffix, $color-default, "bg-color-variations-content", $mdb-param-1); //} // //@mixin bg-color-variations-content($args) { -// background-color: rgba(map-get($args, material-color), map-get($args, material-param-1)); +// background-color: rgba(map-get($args, variation-color), map-get($args, material-param-1)); //} // //// bg-box-shadow-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary //@mixin bg-box-shadow-variations($component, $selector-suffix, $color-default) { -// @include generic-variations($selector-suffix, $color-default, "bg-box-shadow-variations-content", null); +// @include generic-variations($component, $selector-suffix, $color-default, "bg-box-shadow-variations-content", null); //} // //@mixin bg-box-shadow-variations-content($args){ -// $variation-color: map-get($args, material-color); +// $variation-color: map-get($args, variation-color); // box-shadow: 0 1px 3px 1px rgba(0,0,0,0.4), 0 0 0 15px rgba($variation-color, (10/100)); //} // //// bg-img-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary //@mixin bg-img-variations($component, $selector-suffix, $color-default) { -// @include generic-variations($selector-suffix, $color-default, "bg-img-variations-content", null); +// @include generic-variations($component, $selector-suffix, $color-default, "bg-img-variations-content", null); //} // //@mixin bg-img-variations-content($args){ -// $variation-color: map-get($args, material-color); -// //@debug "bg-img-variations-content called for #{map-get($args, extra)} #{map-get($args, default)} #{map-get($args, material-color-name)} #{map-get($args, material-color)}"; //#{inspect($args)}"; +// $variation-color: map-get($args, variation-color); +// //@debug "bg-img-variations-content called for #{map-get($args, extra)} #{map-get($args, default)} #{map-get($args, variation-color-name)} #{map-get($args, variation-color)}"; //#{inspect($args)}"; // background-image: linear-gradient($variation-color, $variation-color), linear-gradient($mdb-input-underline-color, $mdb-input-underline-color); //} // navbar-variations(" label input[type=checkbox]:checked + .toggle:active:after", $brand-primary @mixin navbar-variations($component, $selector-suffix, $color-default) { - @include generic-variations($selector-suffix, $color-default, "navbar-variations-content", null); + @include generic-variations($component, $selector-suffix, $color-default, "navbar-variations-content", null); } @mixin navbar-variations-content($args){ - $variation-color: map-get($args, material-color); - $variation-color-text: map-get($args, material-text-color); + $variation-color: map-get($args, variation-color); + $variation-color-text: map-get($args, variation-color-text); background-color: $variation-color; color: $variation-color-text; @@ -103,7 +103,7 @@ } } .dropdown-menu { - border-radius: $mdb-dropdown-radius; + border-radius: $border-radius-base; li > a { font-size: $mdb-dropdown-font-size; padding: 13px 16px; @@ -130,8 +130,8 @@ } @mixin alert-variations-content($args){ - $variation-color: map-get($args, material-color); - $variation-color-text: map-get($args, material-text-color); + $variation-color: map-get($args, variation-color); + $variation-color-text: map-get($args, variation-color-text); background-color: $variation-color; color: $variation-color-text; @@ -192,67 +192,51 @@ &#{$component}-default#{$selector-suffix} { $args-extra: map-merge($args, ( - //material-color-name: "default", - //material-color-full-name: "default", - material-color: $color-default, - material-text-color: $darkbg-text + variation-color: $color-default, + variation-color-text: $mdb-text-color-light )); @include call-variations-content-mixin($args-extra); } &#{$component}-inverse#{$selector-suffix} { $args-inverse: map-merge($args, ( - //material-color-name: "inverse", - //material-color-full-name: "inverse", - material-color: $mdb-brand-inverse, - material-text-color: contrast-color($mdb-brand-inverse, $lightbg-text, $darkbg-text) + variation-color: $mdb-brand-inverse, + variation-color-text: contrast-color($mdb-brand-inverse, $mdb-text-color-primary-hex, $mdb-text-color-light-hex) )); @include call-variations-content-mixin($args-inverse); } &#{$component}-primary#{$selector-suffix} { $args-primary: map-merge($args, ( - //material-color-name: "primary", - //material-color-full-name: "primary", - material-color: $brand-primary, - material-text-color: $darkbg-text + variation-color: $brand-primary, + variation-color-text: $mdb-text-color-light )); @include call-variations-content-mixin($args-primary); } &#{$component}-success#{$selector-suffix} { $args-success: map-merge($args, ( - //material-color-name: "success", - //material-color-full-name: "success", - material-color: $brand-success, - material-text-color: $darkbg-text + variation-color: $brand-success, + variation-color-text: $mdb-text-color-light )); @include call-variations-content-mixin($args-success); } &#{$component}-info#{$selector-suffix} { $args-info: map-merge($args, ( - //material-color-name: "info", - //material-color-full-name: "info", - material-color: $brand-info, - material-text-color: $darkbg-text + variation-color: $brand-info, + variation-color-text: $mdb-text-color-light )); @include call-variations-content-mixin($args-info); } &#{$component}-warning#{$selector-suffix} { $args-warning: map-merge($args, ( - //material-color-name: "warning", - //material-color-full-name: "warning", - material-color: $brand-warning, - material-text-color: $darkbg-text + variation-color: $brand-warning, + variation-color-text: $mdb-text-color-light )); @include call-variations-content-mixin($args-warning); } &#{$component}-danger#{$selector-suffix} { $args-danger: map-merge($args, ( - //material-color-name: "danger", - //material-color-full-name: "danger", - material-color: $brand-danger, - material-text-color: $darkbg-text + variation-color: $brand-danger, + variation-color-text: $mdb-text-color-light )); @include call-variations-content-mixin($args-danger); } } - -//$all-variations: unquote("-default, -primary, -info, -success, -warning, -danger"); diff --git a/sass/_navbar.scss b/sass/_navbar.scss index 07f3a1a7..d88c3f36 100644 --- a/sass/_navbar.scss +++ b/sass/_navbar.scss @@ -2,8 +2,8 @@ .navbar { background-color: $brand-primary; - border: $zero; - border-radius: $zero; + border: 0; + border-radius: 0; .navbar-brand { position: relative; @@ -56,7 +56,7 @@ // Darken the responsive nav toggle .navbar-toggle { - border: $zero; + border: 0; &:hover, &:focus { background-color: transparent; @@ -98,7 +98,7 @@ // Dropdowns get custom display .open .dropdown-menu { > .dropdown-header { - border: $zero; + border: 0; color: inherit; } .divider { @@ -187,7 +187,8 @@ } // SASS conversion note: please mirror any content change in _mixins-shared.scss navbar-variations-content - @include navbar-variations(unquote(".navbar"), $brand-primary); + @include navbar-variations(unquote(".navbar"), unquote(""), $brand-primary); + &-inverse { background-color: $indigo; diff --git a/sass/_panels.scss b/sass/_panels.scss index d8d6781c..d918110a 100644 --- a/sass/_panels.scss +++ b/sass/_panels.scss @@ -4,18 +4,18 @@ border-radius: 2px; border: 0; - @include variations(unquote(" > .panel-heading"), background-color, $grey-200); + @include variations(unquote(".panel"), unquote(" > .panel-heading"), background-color, $grey-200); @include shadow-z-1; } [class*="panel-"] > .panel-heading { - color: $darkbg-text; + color: $mdb-text-color-light; border: 0; } .panel-default, .panel:not([class*="panel-"]) { > .panel-heading { - color: $lightbg-text; + color: $mdb-text-color-primary; } } .panel-footer { diff --git a/sass/_plugins.scss b/sass/_plugins.scss new file mode 100644 index 00000000..7eb29660 --- /dev/null +++ b/sass/_plugins.scss @@ -0,0 +1,7 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +// External plugins +@import 'plugins/_plugin-snackbarjs'; +@import 'plugins/_plugin-nouislider'; +@import 'plugins/_plugin-selectize'; +@import 'plugins/_plugin-dropdownjs'; diff --git a/sass/_popups.scss b/sass/_popups.scss index 5d160b74..325c9bfc 100644 --- a/sass/_popups.scss +++ b/sass/_popups.scss @@ -5,7 +5,7 @@ line-height: 1em; background: $mdb-popover-background; border: none; - border-radius: $mdb-border-radius; + border-radius: $border-radius-base; @include shadow-z-1(); } diff --git a/sass/_progress.scss b/sass/_progress.scss index 61a348dc..fe1a9d97 100644 --- a/sass/_progress.scss +++ b/sass/_progress.scss @@ -7,6 +7,6 @@ background: #c8c8c8; .progress-bar { box-shadow: none; - @include variations(unquote(""), background-color, $brand-primary); + @include variations(unquote(".progress-bar"), unquote(""), background-color, $brand-primary); } } diff --git a/sass/_radios.scss b/sass/_radios.scss index 7b2fab62..a8ad6233 100644 --- a/sass/_radios.scss +++ b/sass/_radios.scss @@ -31,7 +31,7 @@ display: block; position: absolute; content: ""; - background-color: $lightbg-text; + background-color: $mdb-text-color-primary; left: -18px; top: -18px; height: 50px; @@ -50,8 +50,14 @@ } } - @include variations(unquote(" input[type=radio]:checked ~ .check"), background-color, $mdb-radio-default); - @include variations(unquote(" input[type=radio]:checked ~ .circle"), border-color, $mdb-radio-default); + & input[type=radio]:checked { + & ~ .check { + background-color: $mdb-radio-default; + } + & ~ .circle { + border-color: $mdb-radio-default; + } + } input[type=radio][disabled] ~ .check, input[type=radio][disabled] ~ .circle { @@ -68,10 +74,10 @@ transform: scale3d(0.55, 0.55, 1); } input[type=radio][disabled] ~ .circle { - border-color: $lightbg-text; + border-color: $mdb-text-color-primary; } input[type=radio][disabled] ~ .check { - background-color: $lightbg-text; + background-color: $mdb-text-color-primary; } } diff --git a/sass/_shadows.scss b/sass/_shadows.scss index f4ed4840..37781762 100644 --- a/sass/_shadows.scss +++ b/sass/_shadows.scss @@ -1,37 +1,83 @@ // This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. -@mixin shadow-z-1 { +@mixin shadow-z-1(){ box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 1px 6px 0 rgba(0, 0, 0, 0.12); } -@mixin shadow-z-1-hover { +@mixin shadow-z-1-hover(){ box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); } -@mixin shadow-z-2 { +@mixin shadow-z-2(){ box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); } -@mixin shadow-z-3 { +@mixin shadow-z-3(){ box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19); } -@mixin shadow-z-4 { +@mixin shadow-z-4(){ box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21); } -@mixin shadow-z-5 { +@mixin shadow-z-5(){ box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22); } + + +/* Shadows (from mdl http://www.getmdl.io/) */ + +// Focus shadow mixin. +@mixin focus-shadow(){ + box-shadow: 0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36); +} + +@mixin shadow-2dp(){ + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity), + 0 3px 1px -2px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity), + 0 1px 5px 0 rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity); +} +@mixin shadow-3dp(){ + box-shadow: 0 3px 4px 0 rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity), + 0 3px 3px -2px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity), + 0 1px 8px 0 rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity); +} +@mixin shadow-4dp(){ + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity), + 0 1px 10px 0 rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity), + 0 2px 4px -1px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity); +} +@mixin shadow-6dp(){ + box-shadow: 0 6px 10px 0 rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity), + 0 1px 18px 0 rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity), + 0 3px 5px -1px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity); +} +@mixin shadow-8dp(){ + box-shadow: 0 8px 10px 1px rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity), + 0 3px 14px 2px rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity), + 0 5px 5px -3px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity); +} + +@mixin shadow-16dp(){ + box-shadow: 0 16px 24px 2px rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity), + 0 6px 30px 5px rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity), + 0 8px 10px -5px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity); +} + +@mixin shadow-24dp(){ + box-shadow: 0 9px 46px 8px rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity), + 0 11px 15px -7px rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity), + 0 24px 38px 3px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity); +} diff --git a/sass/_themes.scss b/sass/_themes.scss new file mode 100644 index 00000000..57ebe0fa --- /dev/null +++ b/sass/_themes.scss @@ -0,0 +1,8 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +// by default, assume light-theme, no need for a marker class. + +// this is mostly a marker class, add it to something like the body or container. Subordinates will look for this marker - see buttons +.theme-dark { + +} diff --git a/sass/_togglebutton.scss b/sass/_togglebutton.scss index 8eb9cad2..9d5372b5 100644 --- a/sass/_togglebutton.scss +++ b/sass/_togglebutton.scss @@ -42,27 +42,38 @@ top: -2px; transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease; } - // Handle disabled - input[type=checkbox][disabled] + .toggle:after, - input[type=checkbox][disabled]:checked + .toggle:after { - background-color: #BDBDBD; + input[type=checkbox] { + // Handle disabled + &[disabled] { + & + .toggle:after, + &:checked + .toggle:after { + background-color: #BDBDBD; + } + } + + & + .toggle:active:after, + &[disabled] + .toggle:active:after { + box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.1); + } + + // Ripple off and disabled + &:checked + .toggle:after { + left: 15px; + } } - // Ripple off and disabled - input[type=checkbox] + .toggle:active:after, - input[type=checkbox][disabled] + .toggle:active:after { - box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.1); - } - input[type=checkbox]:checked + .toggle:after { - left: 15px; + + & label input[type=checkbox]:checked { + & + .toggle { + background-color: rgba($brand-primary, (50/100)); // Switch bg on + } + + & + .toggle:after { + background-color: $brand-primary; // Handle on + } + + & + .toggle:active:after { + box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba($brand-primary, (10/100)); // Ripple on + } } } - - // Switch bg on - // SASS conversion note: please mirror any content change in _mixins-shared.scss bg-color-variations-content - @include bg-color-variations(unquote(" label input[type=checkbox]:checked + .toggle"), $brand-primary, (50/100)); - // Handle on - // SASS conversion note: please mirror any content change in _mixins-shared.scss variations-content - @include variations(unquote(" label input[type=checkbox]:checked + .toggle:after"), background-color, $brand-primary); - // Ripple on - @include bg-box-shadow-variations(unquote(" label input[type=checkbox]:checked + .toggle:active:after"), $brand-primary); } diff --git a/sass/_variables.scss b/sass/_variables.scss index 6db18084..19c58821 100644 --- a/sass/_variables.scss +++ b/sass/_variables.scss @@ -2,19 +2,15 @@ @import '_colors'; -// Material Global vars -$zero: 0 !default; - +// Typography elements $mdb-font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif !default; - -// material icons path -$mdb-font-path: "../fonts" !default; - -// Typography elements for Material -$darkbg-text: rgba(255,255,255,0.84) !default; -$lightbg-text: rgba(0,0,0,0.84) !default; +$mdb-text-color-light: unquote("rgba(#{$rgb-white}, 0.84)") !default; +$mdb-text-color-light-hex: $white !default; // for contrast function in inverse +$mdb-text-color-primary: unquote("rgba(#{$rgb-black}, 0.87)") !default; +$mdb-text-color-primary-hex: $black !default; // for contrast function in inverse $icon-color: rgba(0,0,0,0.5) !default; + // import bs variables for less, last declared wins. @import '_import-bs-less'; @@ -28,23 +24,38 @@ $brand-danger: $red !default; $brand-warning: $deep-orange !default; $brand-info: $light-blue !default; +$border-radius-base: 2px !default; +$border-radius-small: 1px !default; + +// Typography +$font-family-sans-serif: 'Roboto', 'Helvetica', 'Arial', sans-serif !default; +$headings-font-weight: 300 !default; + $body-bg: #EEEEEE !default; //--- // import bs variables for sass, first declared wins. @import '_import-bs-sass'; +// Bootstrap Material Design variables start with mdb- +$mdb-brand-inverse: $indigo !default; + + +/* ANIMATION */ +$mdb-animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1) !default; +$mdb-animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1) !default; +$mdb-animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1) !default; +$mdb-animation-curve-default: $mdb-animation-curve-fast-out-slow-in !default; + + //--- // FIXME: Similar but not quite the same as Bootstrap variables // FIXME: these need to either a) be converted to $mdb- or b) converted to bs variables $contrast-factor: 40% !default; -$btn-default: transparent !default; -$btn-default-text: $lightbg-text !default; //--- -$mdb-radio-default: $lightbg-text !default; -$mdb-border-radius: 2px !default; +$mdb-radio-default: $mdb-text-color-primary !default; // -------------------- // inputs @@ -84,9 +95,9 @@ $mdb-label-top-margin-small: 12px !default; $mdb-input-padding-xs-vertical: 2px !default; // 1 $mdb-input-padding-xs-horizontal: 0px !default; // 5 -$mdb-input-border-radius-base: 4px !default; -$mdb-input-border-radius-large: 6px !default; -$mdb-input-border-radius-small: 3px !default; +$mdb-input-border-radius-base: 0 !default; +$mdb-input-border-radius-large: 0 !default; +$mdb-input-border-radius-small: 0 !default; //** Default `.form-control` height @@ -100,7 +111,7 @@ $mdb-input-height-small: (floor($mdb-input-font-size-small * $mdb-in // Card -$mdb-card-body-text: $lightbg-text !default; +$mdb-card-body-text: $mdb-text-color-primary !default; $mdb-card-body-background: #fff !default; $mdb-card-image-headline: #fff !default; @@ -120,7 +131,6 @@ $mdb-popover-background: rgba(101, 101, 101, 0.9) !default; $mdb-popover-color: #ececec !default; // Dropdown Menu -$mdb-dropdown-radius: 2px !default; $mdb-dropdown-font-size: 16px !default; // Toggle @@ -129,3 +139,29 @@ $mdb-toggle-label-color: $mdb-checkbox-label-color !default; // Radio: $mdb-radio-label-color: $mdb-checkbox-label-color !default; $mdb-radio-border-color: $mdb-checkbox-border-color !default; + +// Buttons: +$mdb-btn-font-size-base: 14px !default; +$mdb-btn-font-size-lg: 16px !default; +$mdb-btn-font-size-sm: 12px !default; +$mdb-btn-font-size-xs: 10px !default; + + +$mdb-btn-background-color: transparent !default; +$mdb-btn-background-color-text: $mdb-text-color-primary !default; + + +$mdl-btn-border-radus: 2px !default; +//$mdb-btn-primary-color: unquote("rgba(#{$rgb-grey-500}, 0.20)") !default; + +$mdb-btn-fab-size: 56px !default; +$mdb-btn-fab-size-mini: 40px !default; +$mdb-btn-fab-font-size: 24px !default; + +$mdb-btn-icon-size: 32px !default; +$mdb-btn-icon-size-mini: 24px !default; + +/* SHADOWS */ +$mdb-shadow-key-umbra-opacity: 0.2 !default; +$mdb-shadow-key-penumbra-opacity: 0.14 !default; +$mdb-shadow-ambient-shadow-opacity: 0.12 !default; diff --git a/sass/_welljumbo.scss b/sass/_welljumbo.scss index 7e49cec8..a28ff06b 100644 --- a/sass/_welljumbo.scss +++ b/sass/_welljumbo.scss @@ -1,24 +1,28 @@ // This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. -body, .container, .container-fluid { +body { + .container, + .container-fluid { - .well.well-sm { - padding: 10px; - } - .well.well-lg { - padding: 26px; - } - .well, .jumbotron { - - background-color: #fff; - padding: 19px; - margin-bottom: 20px; - @include shadow-z-2(); - border-radius: 2px; - border: 0; - p { - font-weight: 300; + .well.well-sm { + padding: 10px; + } + .well.well-lg { + padding: 26px; + } + .well, + .jumbotron { + + background-color: #fff; + padding: 19px; + margin-bottom: 20px; + @include shadow-z-2(); + border-radius: $border-radius-base; + border: 0; + p { + font-weight: 300; + } + @include variations(unquote(""), unquote(""), background-color, $white); } - @include variations(unquote(""), background-color, #FFF); } } diff --git a/sass/_plugin-dropdownjs.scss b/sass/plugins/_plugin-dropdownjs.scss similarity index 100% rename from sass/_plugin-dropdownjs.scss rename to sass/plugins/_plugin-dropdownjs.scss diff --git a/sass/_plugin-nouislider.scss b/sass/plugins/_plugin-nouislider.scss similarity index 80% rename from sass/_plugin-nouislider.scss rename to sass/plugins/_plugin-nouislider.scss index 36858278..636eba7e 100644 --- a/sass/_plugin-nouislider.scss +++ b/sass/plugins/_plugin-nouislider.scss @@ -78,7 +78,7 @@ } } .noUi-target { - border-radius: 2px; + border-radius: $border-radius-base; } .noUi-horizontal { height: 2px; @@ -105,8 +105,8 @@ } .slider { - @include variations(unquote(".noUi-connect"), background-color, $brand-primary); - @include variations(unquote(" .noUi-connect"), background-color, $brand-primary); - @include variations(unquote(" .noUi-handle"), background-color, $brand-primary); - @include variations(unquote(" .noUi-handle"), border-color, $brand-primary); + @include variations(unquote(".slider"), unquote(".noUi-connect"), background-color, $brand-primary); + @include variations(unquote(".slider"), unquote(" .noUi-connect"), background-color, $brand-primary); + @include variations(unquote(".slider"), unquote(" .noUi-handle"), background-color, $brand-primary); + @include variations(unquote(".slider"), unquote(" .noUi-handle"), border-color, $brand-primary); } diff --git a/sass/_plugin-selectize.scss b/sass/plugins/_plugin-selectize.scss similarity index 98% rename from sass/_plugin-selectize.scss rename to sass/plugins/_plugin-selectize.scss index ed9bf7cb..07eae404 100644 --- a/sass/_plugin-selectize.scss +++ b/sass/plugins/_plugin-selectize.scss @@ -70,7 +70,7 @@ height: auto; background-color: #FFF; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); - border-radius: 2px; + border-radius: $border-radius-base; padding: 0; margin-top: 3px; .active { diff --git a/sass/_plugin-snackbarjs.scss b/sass/plugins/_plugin-snackbarjs.scss similarity index 91% rename from sass/_plugin-snackbarjs.scss rename to sass/plugins/_plugin-snackbarjs.scss index 377b5384..ba458e63 100644 --- a/sass/_plugin-snackbarjs.scss +++ b/sass/plugins/_plugin-snackbarjs.scss @@ -6,9 +6,9 @@ .snackbar { // Style background-color: #323232; - color: $darkbg-text; + color: $mdb-text-color-light; font-size: 14px; - border-radius: 2px; + border-radius: $border-radius-base; @include shadow-z-1; // Animation From de25798e1764aeb9c3b0fab8de7cb303159c657b Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Tue, 24 Nov 2015 16:49:15 -0600 Subject: [PATCH 10/14] readme and includes updates --- README.md | 19 +++++++++++-------- bootstrap-elements.html | 7 ++++++- index.html | 8 ++++---- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 81a86374..ba11efb9 100644 --- a/README.md +++ b/README.md @@ -30,17 +30,20 @@ If you prefer, you can include this framework in your project using our official ## Getting started -### Add fonts +Add the necessary links to your ` of your HTML document. -``` - - -``` +```html + + + -TODO: link for font -TODO: link for icon font -TODO: link for bmd + + + + + +``` ## Support diff --git a/bootstrap-elements.html b/bootstrap-elements.html index 86bd7acc..be6dee7b 100644 --- a/bootstrap-elements.html +++ b/bootstrap-elements.html @@ -8,13 +8,18 @@ Bootstrap Material - + + + + + +