mirror of
https://github.com/mdbootstrap/mdb-ui-kit.git
synced 2025-07-21 21:49:59 +03:00
fix some style
This commit is contained in:
parent
85d8f025c4
commit
76b82f3a80
56
public/assets/vendor/bootstrap-material-design/.bower.json
vendored
Normal file
56
public/assets/vendor/bootstrap-material-design/.bower.json
vendored
Normal file
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"name": "bootstrap-material-design",
|
||||
"homepage": "http://fezvrasta.github.io/bootstrap-material-design",
|
||||
"authors": [
|
||||
"Federico Zivolo <info@mywebexpression.com>"
|
||||
],
|
||||
"description": "Material Design theme for Bootstrap 3",
|
||||
"main": [
|
||||
"dist/css/bootstrap-material-design.css",
|
||||
"dist/js/material.js",
|
||||
"dist/css/ripples.css",
|
||||
"dist/js/ripples.js"
|
||||
],
|
||||
"ignore": [
|
||||
"test",
|
||||
"screenshots",
|
||||
"demo",
|
||||
".editorconfig",
|
||||
".gitignore",
|
||||
".jshintrc",
|
||||
".travis.yml",
|
||||
"CONTRIBUTING.md",
|
||||
"Gruntfile.json",
|
||||
"index.html",
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"test",
|
||||
"tests"
|
||||
],
|
||||
"keywords": [
|
||||
"material",
|
||||
"design",
|
||||
"bootstrap",
|
||||
"theme",
|
||||
"google",
|
||||
"android"
|
||||
],
|
||||
"license": "https://github.com/FezVrasta/bootstrap-material-design/blob/master/LICENSE.md",
|
||||
"dependencies": {
|
||||
"jquery": "^2.2",
|
||||
"bootstrap": "~3.3.6",
|
||||
"bootstrap-sass": "~3.3.6"
|
||||
},
|
||||
"version": "0.5.10",
|
||||
"_release": "0.5.10",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v0.5.10",
|
||||
"commit": "85d8f025c4386bd5368b448b7f1437b4436ebf07"
|
||||
},
|
||||
"_source": "https://github.com/mhmardani/bootstrap-material-design.git",
|
||||
"_target": "v0.5.10",
|
||||
"_originalSource": "https://github.com/mhmardani/bootstrap-material-design.git",
|
||||
"_direct": true
|
||||
}
|
6
public/assets/vendor/bootstrap-material-design/Gemfile
vendored
Normal file
6
public/assets/vendor/bootstrap-material-design/Gemfile
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
gem 'sass'
|
||||
# gem 'jekyll'
|
||||
# gem 'jekyll-less'
|
||||
gem 'therubyracer'
|
572
public/assets/vendor/bootstrap-material-design/Gruntfile.js
vendored
Normal file
572
public/assets/vendor/bootstrap-material-design/Gruntfile.js
vendored
Normal file
|
@ -0,0 +1,572 @@
|
|||
module.exports = function (grunt) {
|
||||
"use strict";
|
||||
|
||||
require("load-grunt-tasks")(grunt);
|
||||
var configBridge = grunt.file.readJSON('./grunt/configBridge.json', {encoding: 'utf8'});
|
||||
|
||||
grunt.initConfig({
|
||||
|
||||
pkg: grunt.file.readJSON('package.json'),
|
||||
jqueryCheck: configBridge.config.jqueryCheck.join('\n'),
|
||||
jqueryVersionCheck: configBridge.config.jqueryVersionCheck.join('\n'),
|
||||
|
||||
|
||||
// Task configuration.
|
||||
clean: {
|
||||
dist: 'dist'
|
||||
},
|
||||
|
||||
htmlmin: {
|
||||
dist: {
|
||||
options: {
|
||||
collapseWhitespace: true,
|
||||
conservativeCollapse: true,
|
||||
minifyCSS: true,
|
||||
minifyJS: true,
|
||||
removeAttributeQuotes: true,
|
||||
removeComments: true
|
||||
},
|
||||
expand: true,
|
||||
cwd: '_gh_pages',
|
||||
dest: '_gh_pages',
|
||||
src: [
|
||||
'**/*.html',
|
||||
'!examples/**/*.html'
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
htmllint: {
|
||||
//options: {
|
||||
// stoponerror: false,
|
||||
// relaxerror: []
|
||||
//},
|
||||
//files: ['index.html', 'bootstrap-elements.html']
|
||||
all: {
|
||||
options: {
|
||||
ignore: '“&” did not start a character reference. (“&” probably should have been escaped as “&”.)'
|
||||
},
|
||||
src: ["*.html"]
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
// Make sure we are structurally correct for bootstrap
|
||||
bootlint: {
|
||||
options: {
|
||||
stoponerror: false,
|
||||
relaxerror: []
|
||||
},
|
||||
files: ['index.html', 'bootstrap-elements.html']
|
||||
},
|
||||
|
||||
// Convert from less to sass
|
||||
lessToSass: {
|
||||
convert: {
|
||||
files: [{
|
||||
expand: true,
|
||||
cwd: "less",
|
||||
src: ["**/*.less", "!_mixins.less", "!_import-bs*"],
|
||||
ext: ".scss",
|
||||
dest: "sass"
|
||||
}],
|
||||
options: {
|
||||
replacements: [
|
||||
|
||||
// convert bootstrap imports
|
||||
{ // https://regex101.com/r/bM6cP0/2
|
||||
pattern: /bower_components\/(bootstrap\/less\/)/gi,
|
||||
replacement: "bower_components\/bootstrap-sass\/assets\/stylesheets\/bootstrap\/",
|
||||
order: 2
|
||||
},
|
||||
|
||||
// convert conditional when not
|
||||
{ // https://regex101.com/r/cX6uF4/1
|
||||
pattern: /& when not \(isstring\(\$parent\)\)/gi,
|
||||
replacement: "@if not $parent",
|
||||
order: 2
|
||||
},
|
||||
|
||||
// convert conditional when
|
||||
{ // https://regex101.com/r/gH0jP0/2
|
||||
pattern: /& when \(isstring\(\$parent\)\)/gi,
|
||||
replacement: "@else",
|
||||
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,
|
||||
replacement: "@mixin shadow-z-$1$2 {",
|
||||
order: 2
|
||||
},
|
||||
// bad conversions of .shadow-z-*
|
||||
{ // https://regex101.com/r/pV0yB0/3
|
||||
pattern: /\.shadow-z-(\d+)((?:-hover)?)(?:\(\))?;/gi,
|
||||
replacement: "@include shadow-z-$1$2;",
|
||||
order: 2
|
||||
},
|
||||
|
||||
// bad conversions to @include instead of @extend
|
||||
{
|
||||
pattern: /@include (foo1|foo2)\(\);/gi,
|
||||
replacement: "@extend .$1;",
|
||||
order: 2
|
||||
},
|
||||
|
||||
// hack - (no conditional replacements)
|
||||
{ // https://regex101.com/r/pV0yB0/2
|
||||
pattern: /@extend @extend/gi,
|
||||
replacement: "@extend",
|
||||
order: 10
|
||||
},
|
||||
|
||||
// button variations mixin replacement(s)
|
||||
{ // https://regex101.com/r/qD9qB8/4
|
||||
pattern: /.generic-variations\(unquote\(".btn", ~("([^"]+)?")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+}\);$\n/mg,
|
||||
replacement: "@include button-variations(unquote(\".btn\"), $1, $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
|
||||
//},
|
||||
|
||||
//// 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
|
||||
//},
|
||||
|
||||
// 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: 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/3
|
||||
pattern: /.generic-variations\(unquote\(".alert"\), unquote\(("([^"]+)?")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+}\);$\n/mg,
|
||||
replacement: "@include alert-variations(unquote(\".alert\"), unquote($1), $3);\n",
|
||||
order: 250 // very broad search, do this last
|
||||
},
|
||||
|
||||
// auto generated notice
|
||||
{ // Multi-line replacement - https://regex101.com/r/aR2kT5/1
|
||||
pattern: /([\s\S]+)/mg,
|
||||
replacement: "\/\/ This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.\n\n$1",
|
||||
order: 1000 // very broad search, do this last
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Test compile sass
|
||||
sass: {
|
||||
compile: {
|
||||
options:{
|
||||
loadPath: "bower_components/bootstrap-sass/assets/stylesheets",
|
||||
},
|
||||
files: [{
|
||||
expand: true,
|
||||
cwd: "sass",
|
||||
src: ["bootstrap-material-design.scss", "ripples.scss"],
|
||||
dest: "dist/sassc", // added to gitignore, only used for local testing
|
||||
ext: ".css"
|
||||
}]
|
||||
}
|
||||
},
|
||||
|
||||
// Compile less to .css
|
||||
// Compile less to .min.css
|
||||
// Create source maps of both
|
||||
less: {
|
||||
material: {
|
||||
options: {
|
||||
paths: ["less"],
|
||||
sourceMap: true,
|
||||
sourceMapRootpath: "/",
|
||||
sourceMapFilename: "dist/css/bootstrap-material-design.css.map",
|
||||
sourceMapURL: "bootstrap-material-design.css.map"
|
||||
},
|
||||
files: {
|
||||
"dist/css/bootstrap-material-design.css": "less/bootstrap-material-design.less",
|
||||
}
|
||||
},
|
||||
ripples: {
|
||||
options: {
|
||||
paths: ["less"],
|
||||
sourceMap: true,
|
||||
sourceMapRootpath: "/",
|
||||
sourceMapFilename: "dist/css/ripples.css.map",
|
||||
sourceMapURL: "ripples.css.map",
|
||||
outputSourceFiles: true
|
||||
},
|
||||
files: {
|
||||
"dist/css/ripples.css": "less/ripples.less",
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Autoprefix .css and edit its source map
|
||||
// Autoprefix .min.css an edit its source map
|
||||
autoprefixer: {
|
||||
options: {
|
||||
map: true,
|
||||
browsers: configBridge.config.autoprefixerBrowsers
|
||||
},
|
||||
material: {
|
||||
files: {
|
||||
"dist/css/bootstrap-material-design.css": "dist/css/bootstrap-material-design.css"
|
||||
}
|
||||
},
|
||||
ripples: {
|
||||
files: {
|
||||
"dist/css/ripples.css": "dist/css/ripples.css"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
csslint: {
|
||||
options: {
|
||||
csslintrc: 'less/.csslintrc'
|
||||
},
|
||||
dist: [
|
||||
'dist/css/bootstrap-material-design.css',
|
||||
'dist/css/ripples.css',
|
||||
],
|
||||
distmin: [
|
||||
'dist/css/bootstrap-material-design.min.css',
|
||||
'dist/css/ripples.min.css',
|
||||
]
|
||||
},
|
||||
|
||||
// Minify CSS and adapt maps
|
||||
cssmin: {
|
||||
options: {
|
||||
// TODO: disable `zeroUnits` optimization once clean-css 3.2 is released
|
||||
// and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly
|
||||
compatibility: 'ie8',
|
||||
keepSpecialComments: '*',
|
||||
sourceMap: true,
|
||||
advanced: false
|
||||
},
|
||||
material: {
|
||||
src: "dist/css/bootstrap-material-design.css",
|
||||
dest: "dist/css/bootstrap-material-design.min.css"
|
||||
},
|
||||
ripples: {
|
||||
src: "dist/css/ripples.css",
|
||||
dest: "dist/css/ripples.min.css"
|
||||
}
|
||||
},
|
||||
|
||||
// Copy .js to dist/js/ folder
|
||||
copy: {
|
||||
material: {
|
||||
src: "scripts/material.js",
|
||||
dest: "dist/js/material.js"
|
||||
},
|
||||
ripples: {
|
||||
src: "scripts/ripples.js",
|
||||
dest: "dist/js/ripples.js"
|
||||
},
|
||||
fonts: {
|
||||
expand: true,
|
||||
cwd: "fonts/",
|
||||
src: "**",
|
||||
dest: "dist/fonts/",
|
||||
flatten: true,
|
||||
filter: "isFile"
|
||||
}
|
||||
},
|
||||
|
||||
// Compile .js to .min.js
|
||||
uglify: {
|
||||
options: {
|
||||
sourceMap: true
|
||||
},
|
||||
material: {
|
||||
files: {
|
||||
"dist/js/material.min.js": "dist/js/material.js"
|
||||
}
|
||||
},
|
||||
ripples: {
|
||||
files: {
|
||||
"dist/js/ripples.min.js": "dist/js/ripples.js"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
connect: {
|
||||
options: {
|
||||
port: 8040,
|
||||
hostname: "localhost",
|
||||
livereload: 35729
|
||||
|
||||
},
|
||||
livereload: {
|
||||
options: {
|
||||
open: true,
|
||||
base: "."
|
||||
}
|
||||
},
|
||||
test: {
|
||||
options: {
|
||||
port: 8041,
|
||||
open: "http://localhost:8041/_SpecRunner.html",
|
||||
base: "."
|
||||
}
|
||||
}
|
||||
},
|
||||
jasmine: {
|
||||
scripts: "scripts/**/*.js",
|
||||
options: {
|
||||
build: true,
|
||||
specs: "test/*Spec.js",
|
||||
helpers: "test/*Helper.js",
|
||||
vendor: [
|
||||
"https://code.jquery.com/jquery-1.10.2.min.js",
|
||||
"https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"
|
||||
]
|
||||
}
|
||||
},
|
||||
jshint: {
|
||||
options: {
|
||||
jshintrc: "scripts/.jshintrc",
|
||||
reporter: require("jshint-stylish")
|
||||
},
|
||||
grunt: {
|
||||
options: {
|
||||
jshintrc: 'grunt/.jshintrc'
|
||||
},
|
||||
src: ['Gruntfile.js', 'package.js']
|
||||
},
|
||||
core: {
|
||||
src: ["scripts/**/*.js"]
|
||||
},
|
||||
test: {
|
||||
src: ["test/**/*.js"]
|
||||
}
|
||||
},
|
||||
|
||||
jscs: {
|
||||
options: {
|
||||
config: 'scripts/.jscsrc'
|
||||
},
|
||||
grunt: {
|
||||
src: '<%= jshint.grunt.src %>'
|
||||
},
|
||||
core: {
|
||||
src: '<%= jshint.core.src %>'
|
||||
},
|
||||
test: {
|
||||
src: '<%= jshint.test.src %>'
|
||||
},
|
||||
assets: {
|
||||
options: {
|
||||
requireCamelCaseOrUpperCaseIdentifiers: null
|
||||
},
|
||||
src: '<%= jshint.assets.src %>'
|
||||
}
|
||||
},
|
||||
|
||||
watch: {
|
||||
html: {
|
||||
files: ["index.html", "bootstrap-elements.html", "testcase.html"],
|
||||
tasks: ["htmllint", "bootlint"]
|
||||
},
|
||||
src: {
|
||||
files: '<%= jshint.core.src %>',
|
||||
tasks: ['jshint:core', 'dist-js'] // add tests when working again
|
||||
},
|
||||
test: {
|
||||
files: ["test/**/*.js"],
|
||||
tasks: ["jshint:test", "jasmine"]
|
||||
},
|
||||
less: {
|
||||
files: ["less/**/*.less"],
|
||||
tasks: ["dist-less"]
|
||||
},
|
||||
livereload: {
|
||||
options: {
|
||||
livereload: "<%= connect.options.livereload %>"
|
||||
},
|
||||
files: [
|
||||
"index.html",
|
||||
"bootstrap-elements.html",
|
||||
"dist/js/**/*.js",
|
||||
"dist/css/**/*.css",
|
||||
"demo/**/*.{png,jpg,jpeg,gif,webp,svg}"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
compress: {
|
||||
main: {
|
||||
options: {
|
||||
archive: 'bootstrap-material-design-<%= pkg.version %>-dist.zip',
|
||||
mode: 'zip',
|
||||
level: 9,
|
||||
pretty: true
|
||||
},
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd: 'dist/',
|
||||
src: ['**'],
|
||||
dest: 'bootstrap-material-design-<%= pkg.version %>-dist'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
exec: {
|
||||
"meteor-init": {
|
||||
command: [
|
||||
// Make sure Meteor is installed, per https://meteor.com/install.
|
||||
// The curl'ed script is safe; takes 2 minutes to read source & check.
|
||||
"type meteor >/dev/null 2>&1 || { curl https://install.meteor.com/ | sh; }",
|
||||
// Meteor expects package.js to be in the root directory of
|
||||
// the checkout, so copy it there temporarily
|
||||
"cp meteor/package.js ."
|
||||
].join(";")
|
||||
},
|
||||
"meteor-cleanup": {
|
||||
// remove build files and package.js
|
||||
command: "rm -rf .build.* versions.json package.js"
|
||||
},
|
||||
"meteor-test": {
|
||||
command: "node_modules/.bin/spacejam --mongo-url mongodb:// test-packages ./"
|
||||
},
|
||||
"meteor-publish": {
|
||||
command: [
|
||||
"ALL_EXIT_CODE=0; for PACKAGE_FILE in meteor/package*.js",
|
||||
"do cp $PACKAGE_FILE ./package.js && meteor publish $@",
|
||||
"ALL_EXIT_CODE=$(echo $ALL_EXIT_CODE + $? | bc); done",
|
||||
"exit $ALL_EXIT_CODE"
|
||||
].join(";")
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
require('load-grunt-tasks')(grunt, {scope: 'devDependencies'});
|
||||
//require('time-grunt')(grunt);
|
||||
|
||||
grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
|
||||
grunt.registerTask("test", [
|
||||
"dist",
|
||||
"jasmine:scripts:build",
|
||||
"connect:test:keepalive"
|
||||
]);
|
||||
|
||||
// Docs HTML validation task
|
||||
grunt.registerTask('validate-html', ['htmllint']);
|
||||
|
||||
grunt.loadNpmTasks("grunt-less-to-sass");
|
||||
|
||||
// CSS distribution tasks
|
||||
grunt.registerTask("dist-sass", [
|
||||
"lessToSass:convert",
|
||||
"sass:compile"
|
||||
]);
|
||||
|
||||
grunt.registerTask('less-compile', [
|
||||
"less:material",
|
||||
"less:ripples"
|
||||
]);
|
||||
|
||||
grunt.registerTask("dist-less", [
|
||||
"less-compile",
|
||||
|
||||
"autoprefixer:material",
|
||||
"autoprefixer:ripples",
|
||||
"csslint:dist",
|
||||
"cssmin:material",
|
||||
"cssmin:ripples",
|
||||
"csslint:distmin"
|
||||
]);
|
||||
|
||||
grunt.registerTask("dist-js", [
|
||||
"jshint",
|
||||
"copy:material",
|
||||
"uglify:material",
|
||||
"copy:ripples",
|
||||
"uglify:ripples"
|
||||
]);
|
||||
|
||||
grunt.registerTask("dist-fonts", [
|
||||
"copy:fonts"
|
||||
]);
|
||||
|
||||
// Full distribution
|
||||
grunt.registerTask("dist", [
|
||||
"clean:dist",
|
||||
|
||||
"htmllint",
|
||||
"bootlint",
|
||||
|
||||
"dist-less",
|
||||
"dist-sass",
|
||||
"dist-js",
|
||||
"dist-fonts",
|
||||
"dist-sass"
|
||||
]);
|
||||
|
||||
// Default task.
|
||||
grunt.registerTask('default', ['dist']); // test as well when it works?
|
||||
|
||||
|
||||
grunt.registerTask("serve", [
|
||||
"htmllint",
|
||||
"bootlint",
|
||||
"dist-less",
|
||||
"dist-js",
|
||||
"dist-fonts",
|
||||
"connect:livereload",
|
||||
"watch"
|
||||
]);
|
||||
};
|
17
public/assets/vendor/bootstrap-material-design/ISSUE_TEMPLATE.md
vendored
Normal file
17
public/assets/vendor/bootstrap-material-design/ISSUE_TEMPLATE.md
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
**All** bug reports must contain a test case using one of **our** Codepen templates; Bug reports without one will be summarily closed:
|
||||
- `v3` Codepen template - http://codepen.io/rosskevin/pen/VvRgrN
|
||||
- `v4` Codepen template - http://codepen.io/rosskevin/pen/eJMMVB
|
||||
|
||||
----
|
||||
|
||||
#### Test Case
|
||||
(Codepen URL here)
|
||||
|
||||
#### Summary
|
||||
A summary of the issue and the browser/OS environment in which it occurs. If suitable, include the steps required to reproduce the bug.
|
||||
|
||||
#### Expected result
|
||||
Description of expectation, mockup, etc.
|
||||
|
||||
#### Additional Information
|
||||
Any other information you want to share that is relevant to the issue being reported. This might include the lines of code that you have identified as causing the bug, and potential solutions (and your opinions on their merits).
|
30
public/assets/vendor/bootstrap-material-design/LICENSE.md
vendored
Normal file
30
public/assets/vendor/bootstrap-material-design/LICENSE.md
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2016, Federico Zivolo and contributors - https://github.com/FezVrasta/bootstrap-material-design
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
## 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.`
|
353
public/assets/vendor/bootstrap-material-design/README.md
vendored
Normal file
353
public/assets/vendor/bootstrap-material-design/README.md
vendored
Normal file
|
@ -0,0 +1,353 @@
|
|||
[](#)
|
||||
|
||||
[](https://travis-ci.org/FezVrasta/bootstrap-material-design)
|
||||
[](https://gratipay.com/FezVrasta)
|
||||
[](https://github.com/FezVrasta/bootstrap-material-design)
|
||||
|
||||
|
||||
|
||||
## About
|
||||
Material Design for Bootstrap is a Bootstrap V3 compatible theme; it is an easy way to use the new [Material Design guidelines by Google](http://www.google.com/design/spec/material-design/introduction.html) in your Bootstrap 3 based application.
|
||||
Just include the theme, after the Bootstrap CSS and include the JavaScript at the end of your document (just before the `</body>` tag), and everything will be converted to Material Design (Paper) style.
|
||||
|
||||
**NOTE**: This V3 compatible theme is still in development, it could be used on production websites but I can't guarantee compatibility with previous versions.
|
||||
|
||||
Check out [the demo at this link](http://fezvrasta.github.io/bootstrap-material-design/).
|
||||
|
||||
## V4 Development
|
||||
The next major Bootstrap V4 compatible release of bootstrap-material-design is [in development](https://github.com/FezVrasta/bootstrap-material-design/tree/v4-dev). Check out the [documentation](http://rosskevin.github.io/bootstrap-material-design/migration/) (temporary site url) for migration, getting started, development, and examples. It has some requested implementations and more to come over V3. There are a lot of great changes in V4, but be warned, both Bootstrap V4 and our own implementation is changing daily. If you want to get involved, please do so by submitting pull requests. Before undertaking any major PR effort, please check the [milestone](https://github.com/FezVrasta/bootstrap-material-design/milestones/V4) for an existing issue. If there isn't one, please file a new issue and `cc: @rosskevin` so we can discuss and assign the work so effort is not duplicated. Thank you!
|
||||
|
||||
Please prefix any issue or pull request title with `V4`.
|
||||
|
||||
Major differences:
|
||||
- Customized bootstrap build with variables instead of being an addon theme
|
||||
- ES6 Javascript classes
|
||||
- SCSS
|
||||
- New scalable documentation framework that mirrors Bootstrap's own
|
||||
- Documentation includes Bootstrap reference pages to display default rendering
|
||||
- New build/documentation process (also mimics Bootstrap's project setup)
|
||||
|
||||
## How to install
|
||||
|
||||
You may install this theme using NPM or Bower:
|
||||
|
||||
- NPM : `npm install bootstrap-material-design`
|
||||
- Bower : `bower install bootstrap-material-design`
|
||||
|
||||
If you prefer, you can include this framework in your project using our official CDN:
|
||||
|
||||
- [Bootstrap Material Design on CDNJS.com](https://cdnjs.com/libraries/bootstrap-material-design)
|
||||
- [Bootstrap Material Design on JSDelivr.com](http://www.jsdelivr.com/#!bootstrap.material-design)
|
||||
|
||||
|
||||
## Getting started
|
||||
|
||||
Add the necessary links to your `<head>` element for fonts and stylsheets:
|
||||
```html
|
||||
<!-- Material Design fonts -->
|
||||
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700">
|
||||
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/icon?family=Material+Icons">
|
||||
|
||||
<!-- Bootstrap -->
|
||||
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
|
||||
|
||||
<!-- Bootstrap Material Design -->
|
||||
<link rel="stylesheet" type="text/css" href="dist/css/bootstrap-material-design.css">
|
||||
<link rel="stylesheet" type="text/css" href="dist/css/ripples.min.css">
|
||||
```
|
||||
|
||||
### Bower
|
||||
|
||||
Many use bower including compiling source for this project. Here are a couple of things to know:
|
||||
|
||||
1. When using SASS, `@import` directives cannot be interpolated. Given the variety of configurations, the typical `bower_components` directory is occasionally in a different location. Given the options, a `loadPath` was [added to the SASS compiler](https://github.com/FezVrasta/bootstrap-material-design/pull/762/files)
|
||||
so that bootstrap files could be loaded without specifying the path to the `bower_components` directory. You may similarly need to add a load path to your compiler. It is still debatable if this is for the greater good, but seems like the only
|
||||
way to accommodate multiple configurations.
|
||||
2. This project will install both `bootstrap` and `bootstrap-sass` in `bower_components`. Each is used for the LESS and SASS version compilation respectively. If you are only using one, feel free to [ignore the other bower dependency](http://stackoverflow.com/a/27791606/2363935).
|
||||
|
||||
## Support and Contributions
|
||||
|
||||
All issues filed should be reduced to a [CodePen](http://codepen.io/rosskevin/pen/VvRgrN) test case where possible. Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file.
|
||||
|
||||
If you like this project you may support it by donating via Gittip, starring this repository or reporting issues.
|
||||
|
||||
[](https://www.gratipay.com/FezVrasta/)
|
||||
[](https://github.com/FezVrasta/bootstrap-material-design/issues)
|
||||
|
||||
|
||||
## Development
|
||||
|
||||
We are using Grunt to automate the workflow and build process. Ensure you have nodejs installed and grunt-cli installed globally.
|
||||
After cloning the repo, run `npm install && bower install` to ensure you have all dev dependencies.
|
||||
|
||||
### Grunt
|
||||
|
||||
- `grunt build` - run the tests and compile the less/sass. See [Gruntfile.js](Gruntfile.js) for details on targets.
|
||||
- `grunt test` - browser-based Jasmine unit tests.
|
||||
- `grunt serve` - build and fire up an http server with live-reload and a watch for development purposes.
|
||||
|
||||
### LESS & SASS
|
||||
|
||||
The bootstrap 3.x compatible version (master) is developed using LESS, with an automated conversion to SASS.
|
||||
|
||||
The upcoming 4.x compatible version is being actively developed using SASS on the `v4-dev` branch.
|
||||
|
||||
|
||||
## Documentation
|
||||
|
||||
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.
|
||||
|
||||
|
||||
### Customization
|
||||
|
||||
#### Colors
|
||||
|
||||
There are 17 color variations (in addition to the classic 4 variations) described by the Material Design color palette:
|
||||
|
||||

|
||||
|
||||
##### Compile your customized distributable
|
||||
|
||||
If you are using the static css files, you may want to use your own color variation. To do so:
|
||||
|
||||
1. `npm install && bower install` (alternatively you may download the source, but using npm and bower is recommended)
|
||||
2. Edit the `less/_variables.less` file and alter the color variables. You are most likely interested in altering `@brand-primary`. For a list of material design color palette variables, refer to `less/_colors.less`
|
||||
|
||||
```less
|
||||
@brand-primary: @teal;
|
||||
@brand-success: @green;
|
||||
@brand-danger: @red;
|
||||
@brand-warning: @deep-orange;
|
||||
@brand-info: @light-blue;
|
||||
```
|
||||
3. Compile and test your distributable css by running `grunt serve`, this will launch your browser to the test site. Peruse and verify your color choices
|
||||
4. From your application, you may now reference the compiled css files in `dist/css`
|
||||
|
||||
##### Customize via less variables
|
||||
|
||||
If you are referencing source from your own application's less file, you may simply customize the colors by redefining the color variables _after_ including bootstrap-material-design. See above for a description of variables.
|
||||
|
||||
### Forms
|
||||
|
||||
All inputs should be surrounded by a standard `.form-group`, and as such `material.js` will enforce this. The `.form-group` is
|
||||
used to signal different input styles and variations. See the examples for variations.
|
||||
|
||||
#### Sizing
|
||||
|
||||
In general, it is preferred that sizing be altered with either `.form-group-sm` or `.form-group-lg`. Due to the interconnected
|
||||
nature of inputs, labels, margins and padding, `material.js` will convert any use of `.input-sm` or `.input-lg` to
|
||||
`.form-group-sm` or `.form-group-lg` in order to reduce the necessary markup/variations and get a standard sizing with
|
||||
fewer side effects.
|
||||
|
||||
#### Buttons
|
||||
|
||||
Buttons are flat by default, without shadows. Add `.btn-raised` to a button to add a permanent shadow to it. See the [button examples](http://fezvrasta.github.io/bootstrap-material-design/bootstrap-elements.html#buttons)
|
||||
|
||||
#### Inputs
|
||||
|
||||
##### Labels
|
||||
|
||||
The following classes should be placed on the `.form-group` to indicate the label style:
|
||||
|
||||
- `.label-floating` - renders label as a placeholder, that animates above the field upon focus
|
||||
- `.label-static` - renders label above the field. `input placeholder` attribute can also be used in conjunction
|
||||
- `.label-placeholder` - renders a label as a placeholder only
|
||||
- no label, but use of `input placeholder` attribute - same rendering as `.label-placeholder`
|
||||
|
||||
##### Hints
|
||||
|
||||
Upon focus, a hint can be displayed. Use any `p | span` with `.help-block`.
|
||||
|
||||
|
||||
##### Examples
|
||||
|
||||
```html
|
||||
<div class="form-group label-static">
|
||||
<label for="i2" class="control-label">label-static</label>
|
||||
<input type="email" class="form-control" id="i2" placeholder="placeholder attribute">
|
||||
<p class="help-block">This is a hint as a <code>p.help-block.hint</code></p>
|
||||
</div>
|
||||
|
||||
<div class="form-group label-floating">
|
||||
<label for="i5" class="control-label">label-floating</label>
|
||||
<input type="email" class="form-control" id="i5">
|
||||
<span class="help-block">This is a hint as a <code>span.help-block.hint</code></span>
|
||||
</div>
|
||||
|
||||
<div class="form-group label-placeholder">
|
||||
<label for="i5p" class="control-label">label-placeholder</label>
|
||||
<input type="email" class="form-control" id="i5p">
|
||||
<span class="help-block">This is a hint as a <code>span.help-block.hint</code></span>
|
||||
</div>
|
||||
```
|
||||
|
||||
|
||||
#### Radio, Checkbox, Toggle
|
||||
|
||||
Be sure to inspect the source of the demos to find proper markup examples. Remember to use the proper HTML markup.
|
||||
|
||||
Radio example:
|
||||
|
||||
```html
|
||||
<div class="form-group">
|
||||
<label class="col-lg-2 control-label">Radios</label>
|
||||
|
||||
<div class="col-lg-10">
|
||||
<div class="radio radio-primary">
|
||||
<label>
|
||||
<input type="radio" name="optionsRadios" checked="">
|
||||
Option one
|
||||
</label>
|
||||
</div>
|
||||
<div class="radio radio-primary">
|
||||
<label>
|
||||
<input type="radio" name="optionsRadios">
|
||||
Option two
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Icons
|
||||
|
||||
Bootstrap Material Design supports the full range of original Material Design icons!
|
||||
[See the full set of material design icons at the material icons library.](https://www.google.com/design/icons/)
|
||||
|
||||
It’s easy to incorporate icons into your web page. [Here’s an example](http://fezvrasta.github.io/bootstrap-material-design/bootstrap-elements.html#icon):
|
||||
```
|
||||
<i class="material-icons">face</i> face
|
||||
```
|
||||
|
||||
Please be sure that the fonts are properly setup, see [Getting Started](#getting-started).
|
||||
|
||||
### Cards
|
||||
|
||||
A card will expand to fill all of the available width (e.g. column's width). Card's height will be automatically resized to match width.
|
||||
|
||||
Here is an example on how to use it:
|
||||
|
||||
```html
|
||||
<div class="card">
|
||||
|
||||
<div class="card-height-indicator"></div>
|
||||
|
||||
<div class="card-content">
|
||||
|
||||
<div class="card-image">
|
||||
<img src="./image.jpg" alt="Loading image...">
|
||||
<h3 class="card-image-headline">Lorem Ipsum Dolor</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>
|
||||
</div>
|
||||
|
||||
<footer class="card-footer">
|
||||
<button class="btn btn-flat">Share</button>
|
||||
<button class="btn btn-flat btn-warning">Learn More</button>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
```
|
||||
|
||||
Cards will adapt to column's width. The card below will have width equal to col-lg-6:
|
||||
|
||||
```html
|
||||
<div class="row">
|
||||
<div class="col-lg-3"></div>
|
||||
|
||||
<div class="col-lg-6">
|
||||
<div class="card">
|
||||
...
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3"></div>
|
||||
</div>
|
||||
```
|
||||
|
||||
## material.js
|
||||
|
||||
`material.js` is a jQuery plugin that adds some magic to your markup and allows Material Design for Bootstrap to style some elements like inputs, checkboxes, radios etc.
|
||||
|
||||
### Functions
|
||||
|
||||
* `$.material.init()` - shortcut to run all the following commands:
|
||||
* `$.material.ripples()` will apply ripples.js to the default elements.
|
||||
* `$.material.input()` will enable the MD style to the text inputs, and other kind of inputs (number, email, file etc).
|
||||
* `$.material.checkbox():` will enable the MD style to the checkboxes (remember to follow the markup guidelines explained in the [Inputs section](#inputs).
|
||||
* `$.material.radio():` will enable the MD style to the checkboxes (remember to follow the markup guidelines explained in the Inputs section.
|
||||
|
||||
### Apply only to specific elements
|
||||
|
||||
Every function expects an optional value that will be used as a selector for the function; for example,
|
||||
`$.material.ripples("#selector, #foobar")` will apply Ripples.js only to `#selector` and `#foobar`.
|
||||
The functions that allows an optional selector are `$.material.ripples`, `$.material.input`, `$.material.checkbox` and `$.material.radio`.
|
||||
|
||||
You can even override the default values using the `$.material.options` function. The default values are:
|
||||
|
||||
```javascript
|
||||
$.material.options = {
|
||||
"withRipples": ".btn:not(.btn-link), .card-image, .navbar a:not(.withoutripple), .nav-tabs a:not(.withoutripple), .withripple",
|
||||
"inputElements": "input.form-control, textarea.form-control, select.form-control",
|
||||
"checkboxElements": ".checkbox > label > input[type=checkbox]",
|
||||
"radioElements": ".radio > label > input[type=radio]"
|
||||
}
|
||||
```
|
||||
|
||||
### Arrive.js support
|
||||
|
||||
If you need to dynamically add elements to your DOM then you may need to include `Arrive.js` before `Material.js`. This will automatically apply `material.js` to every new element added via JavaScript.
|
||||
|
||||
## Plugins
|
||||
|
||||
Material Design for Bootstrap comes with styling support for various external scripts:
|
||||
|
||||
### SnackbarJS
|
||||
|
||||
Create snackbars and toasts with the [SnackbarJS plugin](https://github.com/FezVrasta/snackbarjs). The default toast style is the squared one (snackbar style). If you like to use the rounded style (toast style), please add the `toast` class to the `style` option of SnackbarJS.
|
||||
|
||||
### RipplesJS
|
||||
|
||||
This is part of the Material Design for Bootstrap project and is a plain JavaScript script which creates the ripple effect when clicking on the specified elements.
|
||||
At the moment RipplesJS does not have its own repository but it will probably have one in the future.
|
||||
|
||||
You may want to set a custom color to the ripples of a specific element, to do so write:
|
||||
|
||||
```html
|
||||
<button class="btn btn-default" data-ripple-color="#F0F0F0">Custom ripple</button>
|
||||
```
|
||||
|
||||
### noUiSlider
|
||||
|
||||
Make cross-browser sliders and get them styled with Material Design thanks to the support provided by this theme.
|
||||
Read more about [noUiSlider here](http://refreshless.com/nouislider/).
|
||||
|
||||
### Dropdown.js
|
||||
|
||||
Finally a dropdown plugin that transforms select inputs in nice dropdowns and does not drive you crazy.
|
||||
Read more about [Dropdown.js here](https://github.com/FezVrasta/dropdown.js).
|
||||
|
||||
### Selectize.js
|
||||
|
||||
Transform select and multi-select inputs into advanced text inputs. Material Design for BS provides a full replacement of the plugin's CSS, so don't include it.
|
||||
Read more about [selectize.js](http://brianreavis.github.io/selectize.js/).
|
||||
|
||||
### Bootstrap Material Datepicker
|
||||
|
||||
A Material Design datepicker created to be used with Material Design for Bootstrap.
|
||||
Read more about [Bootstrap Material Datepicker](https://github.com/T00rk/bootstrap-material-datepicker)
|
||||
|
||||
## Compatibility
|
||||
|
||||
Currently, Material Design for Bootstrap supports Google Chrome (tested v37+), Mozilla Firefox (tested 30+), and Internet Explorer (tested 11+). Mobile browsers are not currently tested but they may work.
|
||||
|
||||
|
||||
## License
|
||||
[MIT License](LICENSE.md)
|
50
public/assets/vendor/bootstrap-material-design/_config.yml
vendored
Normal file
50
public/assets/vendor/bootstrap-material-design/_config.yml
vendored
Normal file
|
@ -0,0 +1,50 @@
|
|||
baseurl: "/bootstrap-material-design"
|
||||
#url: "http://fezvrasta.github.io"
|
||||
url: "http://rosskevin.github.io"
|
||||
|
||||
include:
|
||||
- .nojekyll
|
||||
|
||||
gems: ['jekyll-less']
|
||||
|
||||
sass:
|
||||
sass_dir: sass
|
||||
|
||||
# Dependencies
|
||||
markdown: kramdown
|
||||
highlighter: rouge
|
||||
|
||||
# Permalinks
|
||||
permalink: pretty
|
||||
|
||||
# Server
|
||||
source: docs
|
||||
destination: _gh_pages
|
||||
host: 0.0.0.0
|
||||
port: 9001
|
||||
url: http://fezvrasta.github.io/bootstrap-material-design
|
||||
encoding: UTF-8
|
||||
|
||||
# Custom vars
|
||||
current_version: 0.4.1
|
||||
repo: https://github.com/fezvrasta/bootstrap-material-design
|
||||
#sass_repo: https://github.com/fezvrasta/bootstrap-material-design-sass
|
||||
|
||||
download:
|
||||
source: https://github.com/fezvrasta/bootstrap-material-design/archive/v0.4.1.zip
|
||||
dist: https://github.com/fezvrasta/bootstrap-material-design/releases/download/v0.4.1/bootstrap-0.4.1-dist.zip
|
||||
# sass: https://github.com/fezvrasta/bootstrap-material-design-sass/archive/v0.4.1.tar.gz
|
||||
|
||||
#blog: http://blog.getbootstrap.com
|
||||
#expo: http://expo.getbootstrap.com
|
||||
#
|
||||
#cdn:
|
||||
# # See https://www.srihash.org for info on how to generate the hashes
|
||||
# css: https://maxcdn.bootstrapcdn.com/bootstrap/0.4.1/css/bootstrap.min.css
|
||||
# css_hash: "sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ=="
|
||||
# css_theme: https://maxcdn.bootstrapcdn.com/bootstrap/0.4.1/css/bootstrap-theme.min.css
|
||||
# css_theme_hash: "sha384-aUGj/X2zp5rLCbBxumKTCw2Z50WgIr1vs/PFN4praOTvYXWlVyh2UtNUU0KAUhAX"
|
||||
# js: https://maxcdn.bootstrapcdn.com/bootstrap/0.4.1/js/bootstrap.min.js
|
||||
# js_hash: "sha512-K1qjQ+NcF2TYO/eI3M6v8EiNYZfA95pQumfvcVrTHtwQVDG+aHRqLi/ETn2uB+1JqwYqVG3LIvdm9lj6imS/pQ=="
|
||||
|
||||
|
1981
public/assets/vendor/bootstrap-material-design/bootstrap-elements.html
vendored
Normal file
1981
public/assets/vendor/bootstrap-material-design/bootstrap-elements.html
vendored
Normal file
File diff suppressed because it is too large
Load Diff
45
public/assets/vendor/bootstrap-material-design/bower.json
vendored
Normal file
45
public/assets/vendor/bootstrap-material-design/bower.json
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
"name": "bootstrap-material-design",
|
||||
"homepage": "http://fezvrasta.github.io/bootstrap-material-design",
|
||||
"authors": [
|
||||
"Federico Zivolo <info@mywebexpression.com>"
|
||||
],
|
||||
"description": "Material Design theme for Bootstrap 3",
|
||||
"main": [
|
||||
"dist/css/bootstrap-material-design.css",
|
||||
"dist/js/material.js",
|
||||
"dist/css/ripples.css",
|
||||
"dist/js/ripples.js"
|
||||
],
|
||||
"ignore": [
|
||||
"test",
|
||||
"screenshots",
|
||||
"demo",
|
||||
".editorconfig",
|
||||
".gitignore",
|
||||
".jshintrc",
|
||||
".travis.yml",
|
||||
"CONTRIBUTING.md",
|
||||
"Gruntfile.json",
|
||||
"index.html",
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"test",
|
||||
"tests"
|
||||
],
|
||||
"keywords": [
|
||||
"material",
|
||||
"design",
|
||||
"bootstrap",
|
||||
"theme",
|
||||
"google",
|
||||
"android"
|
||||
],
|
||||
"license": "https://github.com/FezVrasta/bootstrap-material-design/blob/master/LICENSE.md",
|
||||
"dependencies": {
|
||||
"jquery": "^2.2",
|
||||
"bootstrap": "~3.3.6",
|
||||
"bootstrap-sass": "~3.3.6"
|
||||
}
|
||||
}
|
3426
public/assets/vendor/bootstrap-material-design/dist/css/bootstrap-material-design.css
vendored
Normal file
3426
public/assets/vendor/bootstrap-material-design/dist/css/bootstrap-material-design.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
public/assets/vendor/bootstrap-material-design/dist/css/bootstrap-material-design.css.map
vendored
Normal file
1
public/assets/vendor/bootstrap-material-design/dist/css/bootstrap-material-design.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
public/assets/vendor/bootstrap-material-design/dist/css/bootstrap-material-design.min.css
vendored
Normal file
2
public/assets/vendor/bootstrap-material-design/dist/css/bootstrap-material-design.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
47
public/assets/vendor/bootstrap-material-design/dist/css/ripples.css
vendored
Normal file
47
public/assets/vendor/bootstrap-material-design/dist/css/ripples.css
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
.withripple {
|
||||
position: relative;
|
||||
}
|
||||
.ripple-container {
|
||||
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 */
|
1
public/assets/vendor/bootstrap-material-design/dist/css/ripples.css.map
vendored
Normal file
1
public/assets/vendor/bootstrap-material-design/dist/css/ripples.css.map
vendored
Normal file
|
@ -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-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 */"]}
|
2
public/assets/vendor/bootstrap-material-design/dist/css/ripples.min.css
vendored
Normal file
2
public/assets/vendor/bootstrap-material-design/dist/css/ripples.min.css
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
.withripple{position:relative}.ripple-container{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,.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 .15s ease-in 0s,-webkit-transform .5s cubic-bezier(.4,0,.2,1) .1s;-o-transition:opacity .15s ease-in 0s,-o-transform .5s cubic-bezier(.4,0,.2,1) .1s;transition:opacity .15s ease-in 0s,transform .5s cubic-bezier(.4,0,.2,1) .1s;opacity:.1}.ripple.ripple-out{-webkit-transition:opacity .1s linear 0s!important;-o-transition:opacity .1s linear 0s!important;transition:opacity .1s linear 0s!important;opacity:0}
|
||||
/*# sourceMappingURL=ripples.min.css.map */
|
1
public/assets/vendor/bootstrap-material-design/dist/css/ripples.min.css.map
vendored
Normal file
1
public/assets/vendor/bootstrap-material-design/dist/css/ripples.min.css.map
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["less/ripples.less"],"names":[],"mappings":"AAAA,YACI,SAAA,SAEJ,kBACI,SAAA,SACA,IAAA,EACA,KAAA,EACA,QAAA,EACA,MAAA,KACA,OAAA,KACA,SAAA,OACA,cAAA,QACA,eAAA,KAEJ,QACI,SAAA,SACA,MAAA,KACA,OAAA,KACA,YAAA,MACA,WAAA,MACA,cAAA,KACA,iBAAA,KACA,iBAAA,gBACA,kBAAA,SAAA,cAAA,SAAA,aAAA,SAAA,UAAA,SACA,yBAAA,IAAA,qBAAA,IAAA,oBAAA,IAAA,iBAAA,IACA,QAAA,EACA,eAAA,KAEJ,kBACI,mBAAA,QAAA,KAAA,QAAA,GAAA,kBAAA,IAAA,wBAAA,IAAA,cAAA,QAAA,KAAA,QAAA,GAAA,aAAA,IAAA,wBAAA,IAAA,WAAA,QAAA,KAAA,QAAA,GAAA,UAAA,IAAA,wBAAA,IACA,QAAA,GAEJ,mBACI,mBAAA,QAAA,IAAA,OAAA,aAAA,cAAA,QAAA,IAAA,OAAA,aAAA,WAAA,QAAA,IAAA,OAAA,aACA,QAAA"}
|
352
public/assets/vendor/bootstrap-material-design/dist/js/material.js
vendored
Normal file
352
public/assets/vendor/bootstrap-material-design/dist/js/material.js
vendored
Normal file
|
@ -0,0 +1,352 @@
|
|||
/* globals jQuery */
|
||||
|
||||
(function ($) {
|
||||
// Selector to select only not already processed elements
|
||||
$.expr[":"].notmdproc = function (obj) {
|
||||
if ($(obj).data("mdproc")) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
function _isChar(evt) {
|
||||
if (typeof evt.which == "undefined") {
|
||||
return true;
|
||||
} else if (typeof evt.which == "number" && evt.which > 0) {
|
||||
return (
|
||||
!evt.ctrlKey
|
||||
&& !evt.metaKey
|
||||
&& !evt.altKey
|
||||
&& evt.which != 8 // backspace
|
||||
&& evt.which != 9 // tab
|
||||
&& evt.which != 13 // enter
|
||||
&& evt.which != 16 // shift
|
||||
&& evt.which != 17 // ctrl
|
||||
&& evt.which != 20 // caps lock
|
||||
&& evt.which != 27 // escape
|
||||
);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function _addFormGroupFocus(element) {
|
||||
var $element = $(element);
|
||||
if (!$element.prop('disabled')) { // this is showing as undefined on chrome but works fine on firefox??
|
||||
$element.closest(".form-group").addClass("is-focused");
|
||||
}
|
||||
}
|
||||
|
||||
function _toggleDisabledState($element, state) {
|
||||
var $target;
|
||||
if ($element.hasClass('checkbox-inline') || $element.hasClass('radio-inline')) {
|
||||
$target = $element;
|
||||
} else {
|
||||
$target = $element.closest('.checkbox').length ? $element.closest('.checkbox') : $element.closest('.radio');
|
||||
}
|
||||
return $target.toggleClass('disabled', state);
|
||||
}
|
||||
|
||||
function _toggleTypeFocus($input) {
|
||||
var disabledToggleType = false;
|
||||
if ($input.is($.material.options.checkboxElements) || $input.is($.material.options.radioElements)) {
|
||||
disabledToggleType = true;
|
||||
}
|
||||
$input.closest('label').hover(function () {
|
||||
var $i = $(this).find('input');
|
||||
var isDisabled = $i.prop('disabled'); // hack because the _addFormGroupFocus() wasn't identifying the property on chrome
|
||||
if (disabledToggleType) {
|
||||
_toggleDisabledState($(this), isDisabled);
|
||||
}
|
||||
if (!isDisabled) {
|
||||
_addFormGroupFocus($i); // need to find the input so we can check disablement
|
||||
}
|
||||
},
|
||||
function () {
|
||||
_removeFormGroupFocus($(this).find('input'));
|
||||
});
|
||||
}
|
||||
|
||||
function _removeFormGroupFocus(element) {
|
||||
$(element).closest(".form-group").removeClass("is-focused"); // remove class from form-group
|
||||
}
|
||||
|
||||
$.material = {
|
||||
"options": {
|
||||
// These options set what will be started by $.material.init()
|
||||
"validate": true,
|
||||
"input": true,
|
||||
"ripples": true,
|
||||
"checkbox": true,
|
||||
"togglebutton": true,
|
||||
"radio": true,
|
||||
"arrive": true,
|
||||
"autofill": false,
|
||||
|
||||
"withRipples": [
|
||||
".btn:not(.btn-link)",
|
||||
".card-image",
|
||||
".navbar a:not(.withoutripple)",
|
||||
".dropdown-menu a",
|
||||
".nav-tabs a:not(.withoutripple)",
|
||||
".withripple",
|
||||
".pagination li:not(.active):not(.disabled) a:not(.withoutripple)"
|
||||
].join(","),
|
||||
"inputElements": "input.form-control, textarea.form-control, select.form-control",
|
||||
"checkboxElements": ".checkbox > label > input[type=checkbox], label.checkbox-inline > input[type=checkbox]",
|
||||
"togglebuttonElements": ".togglebutton > label > input[type=checkbox]",
|
||||
"radioElements": ".radio > label > input[type=radio], label.radio-inline > input[type=radio]"
|
||||
},
|
||||
"checkbox": function (selector) {
|
||||
// Add fake-checkbox to material checkboxes
|
||||
var $input = $((selector) ? selector : this.options.checkboxElements)
|
||||
.filter(":notmdproc")
|
||||
.data("mdproc", true)
|
||||
.after("<span class='checkbox-material'><span class='check'></span></span>");
|
||||
|
||||
_toggleTypeFocus($input);
|
||||
},
|
||||
"togglebutton": function (selector) {
|
||||
// Add fake-checkbox to material checkboxes
|
||||
var $input = $((selector) ? selector : this.options.togglebuttonElements)
|
||||
.filter(":notmdproc")
|
||||
.data("mdproc", true)
|
||||
.after("<span class='toggle'></span>");
|
||||
|
||||
_toggleTypeFocus($input);
|
||||
},
|
||||
"radio": function (selector) {
|
||||
// Add fake-radio to material radios
|
||||
var $input = $((selector) ? selector : this.options.radioElements)
|
||||
.filter(":notmdproc")
|
||||
.data("mdproc", true)
|
||||
.after("<span class='circle'></span><span class='check'></span>");
|
||||
|
||||
_toggleTypeFocus($input);
|
||||
},
|
||||
"input": function (selector) {
|
||||
$((selector) ? selector : this.options.inputElements)
|
||||
.filter(":notmdproc")
|
||||
.data("mdproc", true)
|
||||
.each(function () {
|
||||
var $input = $(this);
|
||||
|
||||
// Requires form-group standard markup (will add it if necessary)
|
||||
var $formGroup = $input.closest(".form-group"); // note that form-group may be grandparent in the case of an input-group
|
||||
if ($formGroup.length === 0 && $input.attr('type') !== "hidden" && !$input.attr('hidden')) {
|
||||
$input.wrap("<div class='form-group'></div>");
|
||||
$formGroup = $input.closest(".form-group"); // find node after attached (otherwise additional attachments don't work)
|
||||
}
|
||||
|
||||
// Legacy - Add hint label if using the old shorthand data-hint attribute on the input
|
||||
if ($input.attr("data-hint")) {
|
||||
$input.after("<p class='help-block'>" + $input.attr("data-hint") + "</p>");
|
||||
$input.removeAttr("data-hint");
|
||||
}
|
||||
|
||||
// Legacy - Change input-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)
|
||||
var legacySizes = {
|
||||
"input-lg": "form-group-lg",
|
||||
"input-sm": "form-group-sm"
|
||||
};
|
||||
$.each(legacySizes, function (legacySize, standardSize) {
|
||||
if ($input.hasClass(legacySize)) {
|
||||
$input.removeClass(legacySize);
|
||||
$formGroup.addClass(standardSize);
|
||||
}
|
||||
});
|
||||
|
||||
// Legacy - Add label-floating if using old shorthand <input class="floating-label" placeholder="foo">
|
||||
if ($input.hasClass("floating-label")) {
|
||||
var placeholder = $input.attr("placeholder");
|
||||
$input.attr("placeholder", null).removeClass("floating-label");
|
||||
var id = $input.attr("id");
|
||||
var forAttribute = "";
|
||||
if (id) {
|
||||
forAttribute = "for='" + id + "'";
|
||||
}
|
||||
$formGroup.addClass("label-floating");
|
||||
$input.after("<label " + forAttribute + "class='control-label'>" + placeholder + "</label>");
|
||||
}
|
||||
|
||||
// Set as empty if is empty (damn I must improve this...)
|
||||
if ($input.val() === null || $input.val() == "undefined" || $input.val() === "") {
|
||||
$formGroup.addClass("is-empty");
|
||||
}
|
||||
|
||||
// Support for file input
|
||||
if ($formGroup.find("input[type=file]").length > 0) {
|
||||
$formGroup.addClass("is-fileinput");
|
||||
}
|
||||
});
|
||||
},
|
||||
"attachInputEventHandlers": function () {
|
||||
var validate = this.options.validate;
|
||||
|
||||
$(document)
|
||||
.on("keydown paste", ".form-control", function (e) {
|
||||
if (_isChar(e)) {
|
||||
$(this).closest(".form-group").removeClass("is-empty");
|
||||
}
|
||||
})
|
||||
.on("keyup change", ".form-control", function () {
|
||||
var $input = $(this);
|
||||
var $formGroup = $input.closest(".form-group");
|
||||
var isValid = (typeof $input[0].checkValidity === "undefined" || $input[0].checkValidity());
|
||||
|
||||
if ($input.val() === "") {
|
||||
$formGroup.addClass("is-empty");
|
||||
}
|
||||
else {
|
||||
$formGroup.removeClass("is-empty");
|
||||
}
|
||||
|
||||
// Validation events do not bubble, so they must be attached directly to the input: http://jsfiddle.net/PEpRM/1/
|
||||
// Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter
|
||||
// the form-group on change.
|
||||
//
|
||||
// NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.
|
||||
// BUT, I've left it here for backwards compatibility.
|
||||
if (validate) {
|
||||
if (isValid) {
|
||||
$formGroup.removeClass("has-error");
|
||||
}
|
||||
else {
|
||||
$formGroup.addClass("has-error");
|
||||
}
|
||||
}
|
||||
})
|
||||
.on("focus", ".form-control, .form-group.is-fileinput", function () {
|
||||
_addFormGroupFocus(this);
|
||||
})
|
||||
.on("blur", ".form-control, .form-group.is-fileinput", function () {
|
||||
_removeFormGroupFocus(this);
|
||||
})
|
||||
// make sure empty is added back when there is a programmatic value change.
|
||||
// NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')
|
||||
.on("change", ".form-group input", function () {
|
||||
var $input = $(this);
|
||||
if ($input.attr("type") == "file") {
|
||||
return;
|
||||
}
|
||||
|
||||
var $formGroup = $input.closest(".form-group");
|
||||
var value = $input.val();
|
||||
if (value) {
|
||||
$formGroup.removeClass("is-empty");
|
||||
} else {
|
||||
$formGroup.addClass("is-empty");
|
||||
}
|
||||
})
|
||||
// set the fileinput readonly field with the name of the file
|
||||
.on("change", ".form-group.is-fileinput input[type='file']", function () {
|
||||
var $input = $(this);
|
||||
var $formGroup = $input.closest(".form-group");
|
||||
var value = "";
|
||||
$.each(this.files, function (i, file) {
|
||||
value += file.name + ", ";
|
||||
});
|
||||
value = value.substring(0, value.length - 2);
|
||||
if (value) {
|
||||
$formGroup.removeClass("is-empty");
|
||||
} else {
|
||||
$formGroup.addClass("is-empty");
|
||||
}
|
||||
$formGroup.find("input.form-control[readonly]").val(value);
|
||||
});
|
||||
},
|
||||
"ripples": function (selector) {
|
||||
$((selector) ? selector : this.options.withRipples).ripples();
|
||||
},
|
||||
"autofill": function () {
|
||||
// This part of code will detect autofill when the page is loading (username and password inputs for example)
|
||||
var loading = setInterval(function () {
|
||||
$("input[type!=checkbox]").each(function () {
|
||||
var $this = $(this);
|
||||
if ($this.val() && $this.val() !== $this.attr("value")) {
|
||||
$this.trigger("change");
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
|
||||
// After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them
|
||||
setTimeout(function () {
|
||||
clearInterval(loading);
|
||||
}, 10000);
|
||||
},
|
||||
"attachAutofillEventHandlers": function () {
|
||||
// Listen on inputs of the focused form (because user can select from the autofill dropdown only when the input has focus)
|
||||
var focused;
|
||||
$(document)
|
||||
.on("focus", "input", function () {
|
||||
var $inputs = $(this).parents("form").find("input").not("[type=file]");
|
||||
focused = setInterval(function () {
|
||||
$inputs.each(function () {
|
||||
var $this = $(this);
|
||||
if ($this.val() !== $this.attr("value")) {
|
||||
$this.trigger("change");
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
})
|
||||
.on("blur", ".form-group input", function () {
|
||||
clearInterval(focused);
|
||||
});
|
||||
},
|
||||
"init": function (options) {
|
||||
this.options = $.extend({}, this.options, options);
|
||||
var $document = $(document);
|
||||
|
||||
if ($.fn.ripples && this.options.ripples) {
|
||||
this.ripples();
|
||||
}
|
||||
if (this.options.input) {
|
||||
this.input();
|
||||
this.attachInputEventHandlers();
|
||||
}
|
||||
if (this.options.checkbox) {
|
||||
this.checkbox();
|
||||
}
|
||||
if (this.options.togglebutton) {
|
||||
this.togglebutton();
|
||||
}
|
||||
if (this.options.radio) {
|
||||
this.radio();
|
||||
}
|
||||
if (this.options.autofill) {
|
||||
this.autofill();
|
||||
this.attachAutofillEventHandlers();
|
||||
}
|
||||
|
||||
if (document.arrive && this.options.arrive) {
|
||||
if ($.fn.ripples && this.options.ripples) {
|
||||
$document.arrive(this.options.withRipples, function () {
|
||||
$.material.ripples($(this));
|
||||
});
|
||||
}
|
||||
if (this.options.input) {
|
||||
$document.arrive(this.options.inputElements, function () {
|
||||
$.material.input($(this));
|
||||
});
|
||||
}
|
||||
if (this.options.checkbox) {
|
||||
$document.arrive(this.options.checkboxElements, function () {
|
||||
$.material.checkbox($(this));
|
||||
});
|
||||
}
|
||||
if (this.options.radio) {
|
||||
$document.arrive(this.options.radioElements, function () {
|
||||
$.material.radio($(this));
|
||||
});
|
||||
}
|
||||
if (this.options.togglebutton) {
|
||||
$document.arrive(this.options.togglebuttonElements, function () {
|
||||
$.material.togglebutton($(this));
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
})(jQuery);
|
2
public/assets/vendor/bootstrap-material-design/dist/js/material.min.js
vendored
Normal file
2
public/assets/vendor/bootstrap-material-design/dist/js/material.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/assets/vendor/bootstrap-material-design/dist/js/material.min.js.map
vendored
Normal file
1
public/assets/vendor/bootstrap-material-design/dist/js/material.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
324
public/assets/vendor/bootstrap-material-design/dist/js/ripples.js
vendored
Normal file
324
public/assets/vendor/bootstrap-material-design/dist/js/ripples.js
vendored
Normal file
|
@ -0,0 +1,324 @@
|
|||
/* Copyright 2014+, Federico Zivolo, LICENSE at https://github.com/FezVrasta/bootstrap-material-design/blob/master/LICENSE.md */
|
||||
/* globals jQuery, navigator */
|
||||
|
||||
(function($, window, document, undefined) {
|
||||
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Define the name of the plugin
|
||||
*/
|
||||
var ripples = "ripples";
|
||||
|
||||
|
||||
/**
|
||||
* Get an instance of the plugin
|
||||
*/
|
||||
var self = null;
|
||||
|
||||
|
||||
/**
|
||||
* Define the defaults of the plugin
|
||||
*/
|
||||
var defaults = {};
|
||||
|
||||
|
||||
/**
|
||||
* Create the main plugin function
|
||||
*/
|
||||
function Ripples(element, options) {
|
||||
self = this;
|
||||
|
||||
this.element = $(element);
|
||||
|
||||
this.options = $.extend({}, defaults, options);
|
||||
|
||||
this._defaults = defaults;
|
||||
this._name = ripples;
|
||||
|
||||
this.init();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initialize the plugin
|
||||
*/
|
||||
Ripples.prototype.init = function() {
|
||||
var $element = this.element;
|
||||
|
||||
$element.on("mousedown touchstart", function(event) {
|
||||
/**
|
||||
* Verify if the user is just touching on a device and return if so
|
||||
*/
|
||||
if(self.isTouch() && event.type === "mousedown") {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Verify if the current element already has a ripple wrapper element and
|
||||
* creates if it doesn't
|
||||
*/
|
||||
if(!($element.find(".ripple-container").length)) {
|
||||
$element.append("<div class=\"ripple-container\"></div>");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Find the ripple wrapper
|
||||
*/
|
||||
var $wrapper = $element.children(".ripple-container");
|
||||
|
||||
|
||||
/**
|
||||
* Get relY and relX positions
|
||||
*/
|
||||
var relY = self.getRelY($wrapper, event);
|
||||
var relX = self.getRelX($wrapper, event);
|
||||
|
||||
|
||||
/**
|
||||
* If relY and/or relX are false, return the event
|
||||
*/
|
||||
if(!relY && !relX) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the ripple color
|
||||
*/
|
||||
var rippleColor = self.getRipplesColor($element);
|
||||
|
||||
|
||||
/**
|
||||
* Create the ripple element
|
||||
*/
|
||||
var $ripple = $("<div></div>");
|
||||
|
||||
$ripple
|
||||
.addClass("ripple")
|
||||
.css({
|
||||
"left": relX,
|
||||
"top": relY,
|
||||
"background-color": rippleColor
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Append the ripple to the wrapper
|
||||
*/
|
||||
$wrapper.append($ripple);
|
||||
|
||||
|
||||
/**
|
||||
* Make sure the ripple has the styles applied (ugly hack but it works)
|
||||
*/
|
||||
(function() { return window.getComputedStyle($ripple[0]).opacity; })();
|
||||
|
||||
|
||||
/**
|
||||
* Turn on the ripple animation
|
||||
*/
|
||||
self.rippleOn($element, $ripple);
|
||||
|
||||
|
||||
/**
|
||||
* Call the rippleEnd function when the transition "on" ends
|
||||
*/
|
||||
setTimeout(function() {
|
||||
self.rippleEnd($ripple);
|
||||
}, 500);
|
||||
|
||||
|
||||
/**
|
||||
* Detect when the user leaves the element
|
||||
*/
|
||||
$element.on("mouseup mouseleave touchend", function() {
|
||||
$ripple.data("mousedown", "off");
|
||||
|
||||
if($ripple.data("animating") === "off") {
|
||||
self.rippleOut($ripple);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Get the new size based on the element height/width and the ripple width
|
||||
*/
|
||||
Ripples.prototype.getNewSize = function($element, $ripple) {
|
||||
|
||||
return (Math.max($element.outerWidth(), $element.outerHeight()) / $ripple.outerWidth()) * 2.5;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Get the relX
|
||||
*/
|
||||
Ripples.prototype.getRelX = function($wrapper, event) {
|
||||
var wrapperOffset = $wrapper.offset();
|
||||
|
||||
if(!self.isTouch()) {
|
||||
/**
|
||||
* Get the mouse position relative to the ripple wrapper
|
||||
*/
|
||||
return event.pageX - wrapperOffset.left;
|
||||
} else {
|
||||
/**
|
||||
* Make sure the user is using only one finger and then get the touch
|
||||
* position relative to the ripple wrapper
|
||||
*/
|
||||
event = event.originalEvent;
|
||||
|
||||
if(event.touches.length === 1) {
|
||||
return event.touches[0].pageX - wrapperOffset.left;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Get the relY
|
||||
*/
|
||||
Ripples.prototype.getRelY = function($wrapper, event) {
|
||||
var wrapperOffset = $wrapper.offset();
|
||||
|
||||
if(!self.isTouch()) {
|
||||
/**
|
||||
* Get the mouse position relative to the ripple wrapper
|
||||
*/
|
||||
return event.pageY - wrapperOffset.top;
|
||||
} else {
|
||||
/**
|
||||
* Make sure the user is using only one finger and then get the touch
|
||||
* position relative to the ripple wrapper
|
||||
*/
|
||||
event = event.originalEvent;
|
||||
|
||||
if(event.touches.length === 1) {
|
||||
return event.touches[0].pageY - wrapperOffset.top;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Get the ripple color
|
||||
*/
|
||||
Ripples.prototype.getRipplesColor = function($element) {
|
||||
|
||||
var color = $element.data("ripple-color") ? $element.data("ripple-color") : window.getComputedStyle($element[0]).color;
|
||||
|
||||
return color;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Verify if the client browser has transistion support
|
||||
*/
|
||||
Ripples.prototype.hasTransitionSupport = function() {
|
||||
var thisBody = document.body || document.documentElement;
|
||||
var thisStyle = thisBody.style;
|
||||
|
||||
var support = (
|
||||
thisStyle.transition !== undefined ||
|
||||
thisStyle.WebkitTransition !== undefined ||
|
||||
thisStyle.MozTransition !== undefined ||
|
||||
thisStyle.MsTransition !== undefined ||
|
||||
thisStyle.OTransition !== undefined
|
||||
);
|
||||
|
||||
return support;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Verify if the client is using a mobile device
|
||||
*/
|
||||
Ripples.prototype.isTouch = function() {
|
||||
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* End the animation of the ripple
|
||||
*/
|
||||
Ripples.prototype.rippleEnd = function($ripple) {
|
||||
$ripple.data("animating", "off");
|
||||
|
||||
if($ripple.data("mousedown") === "off") {
|
||||
self.rippleOut($ripple);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Turn off the ripple effect
|
||||
*/
|
||||
Ripples.prototype.rippleOut = function($ripple) {
|
||||
$ripple.off();
|
||||
|
||||
if(self.hasTransitionSupport()) {
|
||||
$ripple.addClass("ripple-out");
|
||||
} else {
|
||||
$ripple.animate({"opacity": 0}, 100, function() {
|
||||
$ripple.trigger("transitionend");
|
||||
});
|
||||
}
|
||||
|
||||
$ripple.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function() {
|
||||
$ripple.remove();
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Turn on the ripple effect
|
||||
*/
|
||||
Ripples.prototype.rippleOn = function($element, $ripple) {
|
||||
var size = self.getNewSize($element, $ripple);
|
||||
|
||||
if(self.hasTransitionSupport()) {
|
||||
$ripple
|
||||
.css({
|
||||
"-ms-transform": "scale(" + size + ")",
|
||||
"-moz-transform": "scale(" + size + ")",
|
||||
"-webkit-transform": "scale(" + size + ")",
|
||||
"transform": "scale(" + size + ")"
|
||||
})
|
||||
.addClass("ripple-on")
|
||||
.data("animating", "on")
|
||||
.data("mousedown", "on");
|
||||
} else {
|
||||
$ripple.animate({
|
||||
"width": Math.max($element.outerWidth(), $element.outerHeight()) * 2,
|
||||
"height": Math.max($element.outerWidth(), $element.outerHeight()) * 2,
|
||||
"margin-left": Math.max($element.outerWidth(), $element.outerHeight()) * (-1),
|
||||
"margin-top": Math.max($element.outerWidth(), $element.outerHeight()) * (-1),
|
||||
"opacity": 0.2
|
||||
}, 500, function() {
|
||||
$ripple.trigger("transitionend");
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Create the jquery plugin function
|
||||
*/
|
||||
$.fn.ripples = function(options) {
|
||||
return this.each(function() {
|
||||
if(!$.data(this, "plugin_" + ripples)) {
|
||||
$.data(this, "plugin_" + ripples, new Ripples(this, options));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
})(jQuery, window, document);
|
2
public/assets/vendor/bootstrap-material-design/dist/js/ripples.min.js
vendored
Normal file
2
public/assets/vendor/bootstrap-material-design/dist/js/ripples.min.js
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
!function(a,b,c,d){"use strict";function e(b,c){g=this,this.element=a(b),this.options=a.extend({},h,c),this._defaults=h,this._name=f,this.init()}var f="ripples",g=null,h={};e.prototype.init=function(){var c=this.element;c.on("mousedown touchstart",function(d){if(!g.isTouch()||"mousedown"!==d.type){c.find(".ripple-container").length||c.append('<div class="ripple-container"></div>');var e=c.children(".ripple-container"),f=g.getRelY(e,d),h=g.getRelX(e,d);if(f||h){var i=g.getRipplesColor(c),j=a("<div></div>");j.addClass("ripple").css({left:h,top:f,"background-color":i}),e.append(j),function(){return b.getComputedStyle(j[0]).opacity}(),g.rippleOn(c,j),setTimeout(function(){g.rippleEnd(j)},500),c.on("mouseup mouseleave touchend",function(){j.data("mousedown","off"),"off"===j.data("animating")&&g.rippleOut(j)})}}})},e.prototype.getNewSize=function(a,b){return Math.max(a.outerWidth(),a.outerHeight())/b.outerWidth()*2.5},e.prototype.getRelX=function(a,b){var c=a.offset();return g.isTouch()?(b=b.originalEvent,1===b.touches.length?b.touches[0].pageX-c.left:!1):b.pageX-c.left},e.prototype.getRelY=function(a,b){var c=a.offset();return g.isTouch()?(b=b.originalEvent,1===b.touches.length?b.touches[0].pageY-c.top:!1):b.pageY-c.top},e.prototype.getRipplesColor=function(a){var c=a.data("ripple-color")?a.data("ripple-color"):b.getComputedStyle(a[0]).color;return c},e.prototype.hasTransitionSupport=function(){var a=c.body||c.documentElement,b=a.style,e=b.transition!==d||b.WebkitTransition!==d||b.MozTransition!==d||b.MsTransition!==d||b.OTransition!==d;return e},e.prototype.isTouch=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},e.prototype.rippleEnd=function(a){a.data("animating","off"),"off"===a.data("mousedown")&&g.rippleOut(a)},e.prototype.rippleOut=function(a){a.off(),g.hasTransitionSupport()?a.addClass("ripple-out"):a.animate({opacity:0},100,function(){a.trigger("transitionend")}),a.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){a.remove()})},e.prototype.rippleOn=function(a,b){var c=g.getNewSize(a,b);g.hasTransitionSupport()?b.css({"-ms-transform":"scale("+c+")","-moz-transform":"scale("+c+")","-webkit-transform":"scale("+c+")",transform:"scale("+c+")"}).addClass("ripple-on").data("animating","on").data("mousedown","on"):b.animate({width:2*Math.max(a.outerWidth(),a.outerHeight()),height:2*Math.max(a.outerWidth(),a.outerHeight()),"margin-left":-1*Math.max(a.outerWidth(),a.outerHeight()),"margin-top":-1*Math.max(a.outerWidth(),a.outerHeight()),opacity:.2},500,function(){b.trigger("transitionend")})},a.fn.ripples=function(b){return this.each(function(){a.data(this,"plugin_"+f)||a.data(this,"plugin_"+f,new e(this,b))})}}(jQuery,window,document);
|
||||
//# sourceMappingURL=ripples.min.js.map
|
1
public/assets/vendor/bootstrap-material-design/dist/js/ripples.min.js.map
vendored
Normal file
1
public/assets/vendor/bootstrap-material-design/dist/js/ripples.min.js.map
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["ripples.js"],"names":["$","window","document","undefined","Ripples","element","options","self","this","extend","defaults","_defaults","_name","ripples","init","prototype","$element","on","event","isTouch","type","find","append","$wrapper","children","relY","getRelY","relX","getRelX","rippleColor","getRipplesColor","$ripple","addClass","css","left","top","background-color","getComputedStyle","opacity","rippleOn","setTimeout","rippleEnd","data","rippleOut","getNewSize","Math","max","outerWidth","outerHeight","wrapperOffset","offset","originalEvent","touches","length","pageX","pageY","color","hasTransitionSupport","thisBody","body","documentElement","thisStyle","style","support","transition","WebkitTransition","MozTransition","MsTransition","OTransition","test","navigator","userAgent","off","animate","trigger","remove","size","-ms-transform","-moz-transform","-webkit-transform","transform","width","height","margin-left","margin-top","fn","each","jQuery"],"mappings":"CAGA,SAAUA,EAAGC,EAAQC,EAAUC,GAE7B,YAuBA,SAASC,GAAQC,EAASC,GACxBC,EAAOC,KAEPA,KAAKH,QAAUL,EAAEK,GAEjBG,KAAKF,QAAUN,EAAES,UAAWC,EAAUJ,GAEtCE,KAAKG,UAAYD,EACjBF,KAAKI,MAAQC,EAEbL,KAAKM,OA5BP,GAAID,GAAU,UAMVN,EAAO,KAMPG,IAuBJN,GAAQW,UAAUD,KAAO,WACvB,GAAIE,GAAYR,KAAKH,OAErBW,GAASC,GAAG,uBAAwB,SAASC,GAI3C,IAAGX,EAAKY,WAA4B,cAAfD,EAAME,KAA3B,CASKJ,EAASK,KAAK,qBAA2B,QAC5CL,EAASM,OAAO,uCAOlB,IAAIC,GAAWP,EAASQ,SAAS,qBAM7BC,EAAOlB,EAAKmB,QAAQH,EAAUL,GAC9BS,EAAOpB,EAAKqB,QAAQL,EAAUL,EAMlC,IAAIO,GAASE,EAAb,CAQA,GAAIE,GAActB,EAAKuB,gBAAgBd,GAMnCe,EAAU/B,EAAE,cAEhB+B,GACCC,SAAS,UACTC,KACCC,KAAQP,EACRQ,IAAOV,EACPW,mBAAoBP,IAOtBN,EAASD,OAAOS,GAMhB,WAAc,MAAO9B,GAAOoC,iBAAiBN,EAAQ,IAAIO,WAMzD/B,EAAKgC,SAASvB,EAAUe,GAMxBS,WAAW,WACTjC,EAAKkC,UAAUV,IACd,KAMHf,EAASC,GAAG,8BAA+B,WACzCc,EAAQW,KAAK,YAAa,OAEO,QAA9BX,EAAQW,KAAK,cACdnC,EAAKoC,UAAUZ,UAWvB3B,EAAQW,UAAU6B,WAAa,SAAS5B,EAAUe,GAEhD,MAAQc,MAAKC,IAAI9B,EAAS+B,aAAc/B,EAASgC,eAAiBjB,EAAQgB,aAAgB,KAO5F3C,EAAQW,UAAUa,QAAU,SAASL,EAAWL,GAC9C,GAAI+B,GAAgB1B,EAAS2B,QAE7B,OAAI3C,GAAKY,WAUPD,EAAQA,EAAMiC,cAEc,IAAzBjC,EAAMkC,QAAQC,OACRnC,EAAMkC,QAAQ,GAAGE,MAAQL,EAAcf,MAGzC,GAZAhB,EAAMoC,MAAQL,EAAcf,MAoBvC9B,EAAQW,UAAUW,QAAU,SAASH,EAAUL,GAC7C,GAAI+B,GAAgB1B,EAAS2B,QAE7B,OAAI3C,GAAKY,WAUPD,EAAQA,EAAMiC,cAEc,IAAzBjC,EAAMkC,QAAQC,OACRnC,EAAMkC,QAAQ,GAAGG,MAAQN,EAAcd,KAGzC,GAZAjB,EAAMqC,MAAQN,EAAcd,KAoBvC/B,EAAQW,UAAUe,gBAAkB,SAASd,GAE3C,GAAIwC,GAAQxC,EAAS0B,KAAK,gBAAkB1B,EAAS0B,KAAK,gBAAkBzC,EAAOoC,iBAAiBrB,EAAS,IAAIwC,KAEjH,OAAOA,IAOTpD,EAAQW,UAAU0C,qBAAuB,WACvC,GAAIC,GAAYxD,EAASyD,MAAQzD,EAAS0D,gBACtCC,EAAYH,EAASI,MAErBC,EACFF,EAAUG,aAAe7D,GACzB0D,EAAUI,mBAAqB9D,GAC/B0D,EAAUK,gBAAkB/D,GAC5B0D,EAAUM,eAAiBhE,GAC3B0D,EAAUO,cAAgBjE,CAG5B,OAAO4D,IAOT3D,EAAQW,UAAUI,QAAU,WAC1B,MAAO,iEAAiEkD,KAAKC,UAAUC,YAOzFnE,EAAQW,UAAU0B,UAAY,SAASV,GACrCA,EAAQW,KAAK,YAAa,OAEO,QAA9BX,EAAQW,KAAK,cACdnC,EAAKoC,UAAUZ,IAQnB3B,EAAQW,UAAU4B,UAAY,SAASZ,GACrCA,EAAQyC,MAELjE,EAAKkD,uBACN1B,EAAQC,SAAS,cAEjBD,EAAQ0C,SAASnC,QAAW,GAAI,IAAK,WACnCP,EAAQ2C,QAAQ,mBAIpB3C,EAAQd,GAAG,mEAAoE,WAC7Ec,EAAQ4C,YAQZvE,EAAQW,UAAUwB,SAAW,SAASvB,EAAUe,GAC9C,GAAI6C,GAAOrE,EAAKqC,WAAW5B,EAAUe,EAElCxB,GAAKkD,uBACN1B,EACCE,KACC4C,gBAAiB,SAAWD,EAAO,IACnCE,iBAAkB,SAAWF,EAAO,IACpCG,oBAAqB,SAAWH,EAAO,IACvCI,UAAa,SAAWJ,EAAO,MAEhC5C,SAAS,aACTU,KAAK,YAAa,MAClBA,KAAK,YAAa,MAEnBX,EAAQ0C,SACNQ,MAAmE,EAA1DpC,KAAKC,IAAI9B,EAAS+B,aAAc/B,EAASgC,eAClDkC,OAAoE,EAA1DrC,KAAKC,IAAI9B,EAAS+B,aAAc/B,EAASgC,eACnDmC,cAAyE,GAA1DtC,KAAKC,IAAI9B,EAAS+B,aAAc/B,EAASgC,eACxDoC,aAAwE,GAA1DvC,KAAKC,IAAI9B,EAAS+B,aAAc/B,EAASgC,eACvDV,QAAW,IACV,IAAK,WACNP,EAAQ2C,QAAQ,oBAStB1E,EAAEqF,GAAGxE,QAAU,SAASP,GACtB,MAAOE,MAAK8E,KAAK,WACXtF,EAAE0C,KAAKlC,KAAM,UAAYK,IAC3Bb,EAAE0C,KAAKlC,KAAM,UAAYK,EAAS,GAAIT,GAAQI,KAAMF,QAKzDiF,OAAQtF,OAAQC","file":"ripples.min.js"}
|
28
public/assets/vendor/bootstrap-material-design/grunt/configBridge.json
vendored
Normal file
28
public/assets/vendor/bootstrap-material-design/grunt/configBridge.json
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"config": {
|
||||
"autoprefixerBrowsers": [
|
||||
"Android 2.3",
|
||||
"Android >= 4",
|
||||
"Chrome >= 20",
|
||||
"Firefox >= 24",
|
||||
"Explorer >= 8",
|
||||
"iOS >= 6",
|
||||
"Opera >= 12",
|
||||
"Safari >= 6"
|
||||
],
|
||||
"jqueryCheck": [
|
||||
"if (typeof jQuery === 'undefined') {",
|
||||
" throw new Error('Bootstrap Material Design\\'s JavaScript requires jQuery')",
|
||||
"}\n"
|
||||
],
|
||||
"jqueryVersionCheck": [
|
||||
"+function ($) {",
|
||||
" 'use strict';",
|
||||
" var version = $.fn.jquery.split(' ')[0].split('.')",
|
||||
" if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 2)) {",
|
||||
" throw new Error('Bootstrap Material Design\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3')",
|
||||
" }",
|
||||
"}(jQuery);\n\n"
|
||||
]
|
||||
}
|
||||
}
|
360
public/assets/vendor/bootstrap-material-design/index.css
vendored
Normal file
360
public/assets/vendor/bootstrap-material-design/index.css
vendored
Normal file
|
@ -0,0 +1,360 @@
|
|||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header-panel {
|
||||
background-color: #009587;
|
||||
height: 144px;
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.header-panel div {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.header-panel h1 {
|
||||
color: #FFF;
|
||||
/*font-size: 20px;*/
|
||||
/*font-weight: 400;*/
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
padding-left: 35px;
|
||||
}
|
||||
|
||||
.menu {
|
||||
overflow: auto;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.menu, .menu * {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.menu ul {
|
||||
padding: 0;
|
||||
margin: 7px 0;
|
||||
}
|
||||
|
||||
.menu ul li {
|
||||
list-style: none;
|
||||
padding: 20px 0 20px 50px;
|
||||
font-size: 15px;
|
||||
font-weight: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.menu ul li.active {
|
||||
background-color: #dedede;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.menu ul li a {
|
||||
color: rgb(51, 51, 51);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.pages {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
z-index: 4;
|
||||
padding: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.pages > div {
|
||||
padding: 0 5px;
|
||||
padding-top: 64px;
|
||||
}
|
||||
|
||||
.pages .header {
|
||||
color: rgb(82, 101, 162);
|
||||
/*font-size: 24px;*/
|
||||
/*font-weight: normal;*/
|
||||
/*margin-top: 5px;*/
|
||||
/*margin-bottom: 60px;*/
|
||||
/*letter-spacing: 1.20000004768372px;*/
|
||||
}
|
||||
|
||||
.page {
|
||||
transform: translateY(1080px);
|
||||
transition: transform 0 linear;
|
||||
display: none;
|
||||
opacity: 0;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.page.active {
|
||||
transform: translateY(0px);
|
||||
transition: all 0.3s ease-out;
|
||||
display: block;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.opensource {
|
||||
color: rgba(0, 0, 0, 0.62);
|
||||
position: fixed;
|
||||
margin-top: 50px;
|
||||
margin-left: 50px;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
#source-modal h4 {
|
||||
color: black;
|
||||
}
|
||||
|
||||
#paypal .btn {
|
||||
padding: 5px 30px 6px 30px;
|
||||
}
|
||||
|
||||
#paypal input {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.cbwrapper div {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.cbwrapper div:nth-child(2) {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#carbonads, #fakecb {
|
||||
border: 1px solid #d5d5d5;
|
||||
font-size: 11px;
|
||||
line-height: 15px;
|
||||
overflow: hidden;
|
||||
width: 340px;
|
||||
padding: 20px;
|
||||
margin: auto;
|
||||
height: 142px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
#carbonads .carbon-img {
|
||||
float: left;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#carbonads .carbon-text, #carbonads .carbon-poweredby {
|
||||
float: left;
|
||||
width: 150px;
|
||||
padding: 0 10px 10px 10px;
|
||||
}
|
||||
|
||||
#carbonads .carbon-text:hover, #carbonads .carbon-poweredby:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#carbonads .carbon-poweredby {
|
||||
color: #9D9D9D;
|
||||
}
|
||||
|
||||
/*#checkbox .sample1 label {*/
|
||||
/*font-weight: bold;*/
|
||||
/*}*/
|
||||
|
||||
/*#checkbox .hint {*/
|
||||
/*padding-left: 45px;*/
|
||||
/*padding-top: 20px;*/
|
||||
/*font-weight: 400;*/
|
||||
/*}*/
|
||||
|
||||
/*#checkbox .sample1 {*/
|
||||
/*padding-bottom: 20px;*/
|
||||
/*}*/
|
||||
|
||||
/*#checkbox h2 {*/
|
||||
/*font-size: 18.7199993133545px;*/
|
||||
/*font-weight: bold;*/
|
||||
/*margin-bottom: 30px;*/
|
||||
/*}*/
|
||||
|
||||
/*#checkbox .sample2 {*/
|
||||
/*width: 300px;*/
|
||||
/*clear: both;*/
|
||||
/*font-weight: 400;*/
|
||||
/*}*/
|
||||
|
||||
/*#checkbox .sample2 {*/
|
||||
/*padding: 10px 0;*/
|
||||
/*}*/
|
||||
|
||||
/*#checkbox .sample2 .text {*/
|
||||
/*display: inline-block;*/
|
||||
/*}*/
|
||||
|
||||
/*#checkbox .sample2 .checkbox {*/
|
||||
/*float: right;*/
|
||||
/*margin: 0;*/
|
||||
/*}*/
|
||||
|
||||
/*#progress-bar h2 {*/
|
||||
/*font-size: 18.7199993133545px;*/
|
||||
/*font-weight: bold;*/
|
||||
/*margin-bottom: 30px;*/
|
||||
/*}*/
|
||||
|
||||
/*#dialog h2 {*/
|
||||
/*padding: 14px;*/
|
||||
/*margin: 0;*/
|
||||
/*font-size: 16px;*/
|
||||
/*font-weight: 400;*/
|
||||
/*}*/
|
||||
|
||||
/*#shadow h2 {*/
|
||||
/*padding: 14px;*/
|
||||
/*margin: 0;*/
|
||||
/*font-size: 16px;*/
|
||||
/*font-weight: 400;*/
|
||||
/*}*/
|
||||
|
||||
#shadow .sample {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin: 16px;
|
||||
padding: 16px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#shadow-sample2 {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin: 16px;
|
||||
padding: 16px;
|
||||
cursor: pointer;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
}
|
||||
|
||||
#shadow-sample3 {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin: 16px;
|
||||
padding: 16px;
|
||||
border-radius: 100px;
|
||||
cursor: pointer;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/*#radio-button h2 {*/
|
||||
/*font-size: 18.7199993133545px;*/
|
||||
/*font-weight: bold;*/
|
||||
/*margin-bottom: 30px;*/
|
||||
/*margin-top: 50px;*/
|
||||
/*}*/
|
||||
|
||||
/*#radio-button .radio {*/
|
||||
/*margin: 20px 10px;*/
|
||||
/*}*/
|
||||
|
||||
/*#input h2 {*/
|
||||
/*padding: 14px;*/
|
||||
/*font-size: 16px;*/
|
||||
/*font-weight: 400;*/
|
||||
/*}*/
|
||||
|
||||
#input .inputs {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
/*#input .form-group {*/
|
||||
/*margin: 30px 0;*/
|
||||
/*}*/
|
||||
|
||||
/*#slider .sample1, #slider .sample2 {*/
|
||||
/*padding: 20px 0;*/
|
||||
/*background-color: #f0f0f0;*/
|
||||
/*margin-bottom: 20px;*/
|
||||
/*}*/
|
||||
|
||||
#slider .sample2 {
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
/*#slider .sample2 .slider {*/
|
||||
/*margin: 0 40px;*/
|
||||
/*}*/
|
||||
|
||||
/*#slider h2 {*/
|
||||
/*padding: 14px;*/
|
||||
/*margin: 0;*/
|
||||
/*font-size: 16px;*/
|
||||
/*font-weight: 400;*/
|
||||
/*}*/
|
||||
|
||||
/*#slider .slider {*/
|
||||
/*margin: 15px;*/
|
||||
/*}*/
|
||||
|
||||
/*#button h2 {*/
|
||||
/*padding: 14px;*/
|
||||
/*margin: 0;*/
|
||||
/*font-size: 16px;*/
|
||||
/*font-weight: 400;*/
|
||||
/*}*/
|
||||
|
||||
/*#floating-action-button .btn {*/
|
||||
/*margin: 20px;*/
|
||||
/*}*/
|
||||
|
||||
/*#floating-action-button h2 {*/
|
||||
/*padding: 14px;*/
|
||||
/*margin: 0;*/
|
||||
/*font-size: 16px;*/
|
||||
/*font-weight: 400;*/
|
||||
/*}*/
|
||||
|
||||
/*#dropdown h2 {*/
|
||||
/*padding: 14px;*/
|
||||
/*margin: 0;*/
|
||||
/*font-size: 16px;*/
|
||||
/*font-weight: 400;*/
|
||||
/*}*/
|
||||
|
||||
/*#dropdown .dropdown {*/
|
||||
/*font-size: 30px;*/
|
||||
/*padding: 20px;*/
|
||||
/*}*/
|
||||
|
||||
/*#dropdown-menu h2 {*/
|
||||
/*padding: 14px;*/
|
||||
/*margin: 0;*/
|
||||
/*font-size: 16px;*/
|
||||
/*font-weight: 400;*/
|
||||
/*}*/
|
||||
|
||||
/*#dropdown-menu .sample {*/
|
||||
/*width: 200px;*/
|
||||
/*}*/
|
||||
|
||||
/*#dropdown-menu .form-group {*/
|
||||
/*margin: 30px 0;*/
|
||||
/*}*/
|
||||
|
||||
/*#toggle-button h2 {*/
|
||||
/*font-size: 18.7199993133545px;*/
|
||||
/*font-weight: bold;*/
|
||||
/*margin-bottom: 30px;*/
|
||||
/*margin-top: 50px;*/
|
||||
/*}*/
|
||||
|
||||
/*#toggle-button .togglebutton label {*/
|
||||
/*margin: 20px 10px;*/
|
||||
/*width: 200px;*/
|
||||
/*}*/
|
||||
|
||||
/*#toggle-button .togglebutton .toggle {*/
|
||||
/*float: right;*/
|
||||
/*}*/
|
24
public/assets/vendor/bootstrap-material-design/less/_alerts.less
vendored
Executable file
24
public/assets/vendor/bootstrap-material-design/less/_alerts.less
vendored
Executable file
|
@ -0,0 +1,24 @@
|
|||
.alert {
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
|
||||
// SASS conversion note: please mirror any content change in _mixins-shared.scss alert-variations-content
|
||||
.generic-variations(~".alert", ~"", @mdb-text-color-light, {
|
||||
background-color: @variation-color;
|
||||
color: @variation-color-text;
|
||||
|
||||
a, .alert-link {
|
||||
color: @variation-color-text;
|
||||
}
|
||||
});
|
||||
|
||||
&-info, &-danger, &-warning, &-success {
|
||||
color: @mdb-text-color-light;
|
||||
}
|
||||
|
||||
&-default {
|
||||
a, .alert-link {
|
||||
color: @mdb-text-color-primary;
|
||||
}
|
||||
}
|
||||
}
|
246
public/assets/vendor/bootstrap-material-design/less/_buttons.less
vendored
Normal file
246
public/assets/vendor/bootstrap-material-design/less/_buttons.less
vendored
Normal file
|
@ -0,0 +1,246 @@
|
|||
// specification: https://www.google.com/design/spec/components/buttons.html
|
||||
|
||||
.typo-button(@colorContrast: false) {
|
||||
font-size: @mdb-btn-font-size-base;
|
||||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
//line-height: 1;
|
||||
letter-spacing: 0;
|
||||
|
||||
& when (@colorContrast) {
|
||||
opacity: 0.87;
|
||||
}
|
||||
}
|
||||
|
||||
// mdb default buttons are flat by default
|
||||
// synchronized with mdl 11/23/15
|
||||
.btn,
|
||||
.input-group-btn .btn {
|
||||
border: none;
|
||||
border-radius: @border-radius-base;
|
||||
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: 0;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
|
||||
&::-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%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--
|
||||
// color variations
|
||||
&.btn-raised,
|
||||
&.btn-fab,
|
||||
.btn-group-raised & {
|
||||
.background-variations(~".btn", ~"", @mdb-btn-background-color);
|
||||
}
|
||||
|
||||
//---
|
||||
// btn-raised
|
||||
&.btn-raised,
|
||||
.btn-group-raised & {
|
||||
&:not(.btn-link) {
|
||||
.shadow-2dp();
|
||||
|
||||
// colors on hover, focus, active
|
||||
&:hover,
|
||||
&:focus,
|
||||
&.active,
|
||||
&:active {
|
||||
|
||||
outline: 0;
|
||||
|
||||
// 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?
|
||||
// SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content
|
||||
.generic-variations(~".btn", ~"", @mdb-btn-background-color, {
|
||||
background-color: contrast(@variation-color, darken(@variation-color, 4%), lighten(@variation-color, 4%), @contrast-factor);
|
||||
});
|
||||
|
||||
// Spec:
|
||||
// - Raised Light/Light theme no hover.
|
||||
// - Raised Dark/Dark theme Hover color: 600
|
||||
.theme-dark & {
|
||||
}
|
||||
}
|
||||
|
||||
// shadow on active
|
||||
&.active,
|
||||
&:active {
|
||||
&,
|
||||
&:hover {
|
||||
.shadow-4dp();
|
||||
}
|
||||
}
|
||||
|
||||
// shadow on focus
|
||||
// Focus should take precedence over active, so specificity is needed
|
||||
&:focus {
|
||||
&,
|
||||
&.active,
|
||||
&:active {
|
||||
&,
|
||||
&:hover {
|
||||
.focus-shadow();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.btn-fab {
|
||||
// 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: 50%;
|
||||
}
|
||||
|
||||
&.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.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: fade(#000000, 26%);
|
||||
.theme-dark & {
|
||||
// spec: dark theme: Disabled text: 30% #FFFFFF
|
||||
color: fade(#FFFFFF, 30%);
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// btn-group variations
|
||||
.btn-group,
|
||||
.btn-group-vertical {
|
||||
|
||||
position: relative;
|
||||
//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;
|
||||
}
|
||||
|
||||
& > .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;
|
||||
}
|
||||
}
|
66
public/assets/vendor/bootstrap-material-design/less/_cards.less
vendored
Normal file
66
public/assets/vendor/bootstrap-material-design/less/_cards.less
vendored
Normal file
|
@ -0,0 +1,66 @@
|
|||
.card {
|
||||
|
||||
/***** Make height equal to width (http://stackoverflow.com/a/6615994) ****/
|
||||
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
.card-height-indicator {
|
||||
margin-top: 100%;
|
||||
}
|
||||
.card-content {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
|
||||
border-radius: @border-radius-base;
|
||||
color: @mdb-card-body-text;
|
||||
background: @mdb-card-body-background;
|
||||
|
||||
.shadow-z-2();
|
||||
|
||||
.card-image {
|
||||
height: 60%;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 2px;
|
||||
pointer-events: none;
|
||||
}
|
||||
.card-image-headline {
|
||||
position: absolute;
|
||||
bottom: 16px;
|
||||
left: 18px;
|
||||
color: @mdb-card-image-headline;
|
||||
font-size: 2em;
|
||||
}
|
||||
}
|
||||
|
||||
.card-body {
|
||||
height: 30%;
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
height: 10%;
|
||||
padding: 18px;
|
||||
button, a {
|
||||
margin: 0 !important;
|
||||
position: relative;
|
||||
bottom: 25px;
|
||||
width: auto;
|
||||
&:first-child {
|
||||
left: -15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
270
public/assets/vendor/bootstrap-material-design/less/_checkboxes.less
vendored
Normal file
270
public/assets/vendor/bootstrap-material-design/less/_checkboxes.less
vendored
Normal file
|
@ -0,0 +1,270 @@
|
|||
// http://www.google.com/design/spec/components/selection-controls.html#selection-controls-checkbox
|
||||
|
||||
.checkbox label,
|
||||
label.checkbox-inline {
|
||||
cursor: pointer;
|
||||
padding-left: 0; // Reset for Bootstrap rule
|
||||
color: @mdb-checkbox-label-color;
|
||||
.mdb-label-color-toggle-focus();
|
||||
}
|
||||
|
||||
.checkbox,
|
||||
label.checkbox-inline {
|
||||
// Hide native checkbox
|
||||
input[type=checkbox] {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
margin: 0;
|
||||
z-index: -1;
|
||||
width: 0;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
left: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.checkbox-material {
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
top: 3px;
|
||||
&:before { // FIXME: document why this is necessary (doesn't seem to be on chrome)
|
||||
display: block;
|
||||
position: absolute;
|
||||
top:-5px;
|
||||
left: 0;
|
||||
content: "";
|
||||
background-color: rgba(0, 0, 0, .84);
|
||||
height: @mdb-checkbox-size;
|
||||
width: @mdb-checkbox-size;
|
||||
border-radius: 100%;
|
||||
z-index: 1;
|
||||
opacity: 0;
|
||||
margin: 0;
|
||||
transform: scale3d(2.3, 2.3, 1);
|
||||
}
|
||||
|
||||
.check {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: @mdb-checkbox-size;
|
||||
height: @mdb-checkbox-size;
|
||||
border: @mdb-checkbox-border-size solid @mdb-checkbox-border-color;
|
||||
border-radius: @border-radius-base;
|
||||
overflow: hidden;
|
||||
z-index: 1;
|
||||
}
|
||||
.check:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
transform: rotate(45deg);
|
||||
display: block;
|
||||
margin-top: -4px;
|
||||
margin-left: 6px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
box-shadow:
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0 inset;
|
||||
}
|
||||
}
|
||||
|
||||
input[type=checkbox] {
|
||||
|
||||
&:focus + .checkbox-material .check:after {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
&:focus{
|
||||
|
||||
&:checked{
|
||||
& + .checkbox-material:before {
|
||||
animation: rippleOn 500ms;
|
||||
}
|
||||
& + .checkbox-material .check:before {
|
||||
animation: checkbox-on @mdb-checkbox-animation-check forwards;
|
||||
}
|
||||
& + .checkbox-material .check:after {
|
||||
animation: rippleOn @mdb-checkbox-animation-ripple forwards; // Ripple effect on check
|
||||
}
|
||||
}
|
||||
|
||||
&:not(:checked) {
|
||||
& + .checkbox-material:before {
|
||||
animation: rippleOff 500ms;
|
||||
}
|
||||
& + .checkbox-material .check:before {
|
||||
animation: checkbox-off @mdb-checkbox-animation-check forwards;
|
||||
}
|
||||
& + .checkbox-material .check:after {
|
||||
animation: rippleOff @mdb-checkbox-animation-ripple forwards; // Ripple effect on uncheck
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
&: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 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
20px -12px 0 11px;
|
||||
}
|
||||
|
||||
& + .checkbox-material .check:after {
|
||||
//background-color: @brand-success; // FIXME: seems like tho wrong color, test and make sure it can be removed
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Style for disabled inputs
|
||||
fieldset[disabled] &,
|
||||
fieldset[disabled] & input[type=checkbox],
|
||||
input[type=checkbox][disabled]:not(:checked) ~ .checkbox-material .check:before,
|
||||
input[type=checkbox][disabled]:not(:checked) ~ .checkbox-material .check,
|
||||
input[type=checkbox][disabled] + .circle {
|
||||
opacity: 0.5;
|
||||
}
|
||||
input[type=checkbox][disabled] + .checkbox-material .check:after {
|
||||
background-color: @mdb-text-color-primary;
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes checkbox-on {
|
||||
0% {
|
||||
box-shadow:
|
||||
0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
15px 2px 0 11px;
|
||||
}
|
||||
50% {
|
||||
box-shadow:
|
||||
0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
20px 2px 0 11px;
|
||||
}
|
||||
100% {
|
||||
box-shadow:
|
||||
0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
20px -12px 0 11px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes checkbox-off {
|
||||
0% {
|
||||
box-shadow:
|
||||
0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
20px -12px 0 11px,
|
||||
0 0 0 0 inset;
|
||||
}
|
||||
25% {
|
||||
box-shadow:
|
||||
0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
20px -12px 0 11px,
|
||||
0 0 0 0 inset;
|
||||
}
|
||||
50% {
|
||||
transform: rotate(45deg);
|
||||
margin-top: -4px;
|
||||
margin-left: 6px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
box-shadow:
|
||||
0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
15px 2px 0 11px,
|
||||
0 0 0 0 inset;
|
||||
}
|
||||
51% {
|
||||
transform: rotate(0deg);
|
||||
margin-top: -2px;
|
||||
margin-left: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
box-shadow:
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0px 0 0 10px inset;
|
||||
}
|
||||
100% {
|
||||
transform: rotate(0deg);
|
||||
margin-top: -2px;
|
||||
margin-left: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
box-shadow:
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0px 0 0 0 inset;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rippleOn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rippleOff {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
362
public/assets/vendor/bootstrap-material-design/less/_colors.less
vendored
Normal file
362
public/assets/vendor/bootstrap-material-design/less/_colors.less
vendored
Normal file
|
@ -0,0 +1,362 @@
|
|||
/*
|
||||
|
||||
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);
|
||||
})();
|
||||
|
||||
|
||||
*/
|
||||
@red-50: #ffebee;
|
||||
@red-100: #ffcdd2;
|
||||
@red-200: #ef9a9a;
|
||||
@red-300: #e57373;
|
||||
@red-400: #ef5350;
|
||||
@red-500: #f44336;
|
||||
@red-600: #e53935;
|
||||
@red-700: #d32f2f;
|
||||
@red-800: #c62828;
|
||||
@red-900: #b71c1c;
|
||||
@red-A100: #ff8a80;
|
||||
@red-A200: #ff5252;
|
||||
@red-A400: #ff1744;
|
||||
@red-A700: #d50000;
|
||||
@red: @red-500;
|
||||
|
||||
|
||||
@pink-50: #fce4ec;
|
||||
@pink-100: #f8bbd0;
|
||||
@pink-200: #f48fb1;
|
||||
@pink-300: #f06292;
|
||||
@pink-400: #ec407a;
|
||||
@pink-500: #e91e63;
|
||||
@pink-600: #d81b60;
|
||||
@pink-700: #c2185b;
|
||||
@pink-800: #ad1457;
|
||||
@pink-900: #880e4f;
|
||||
@pink-A100: #ff80ab;
|
||||
@pink-A200: #ff4081;
|
||||
@pink-A400: #f50057;
|
||||
@pink-A700: #c51162;
|
||||
@pink: @pink-500;
|
||||
|
||||
|
||||
@purple-50: #f3e5f5;
|
||||
@purple-100: #e1bee7;
|
||||
@purple-200: #ce93d8;
|
||||
@purple-300: #ba68c8;
|
||||
@purple-400: #ab47bc;
|
||||
@purple-500: #9c27b0;
|
||||
@purple-600: #8e24aa;
|
||||
@purple-700: #7b1fa2;
|
||||
@purple-800: #6a1b9a;
|
||||
@purple-900: #4a148c;
|
||||
@purple-A100: #ea80fc;
|
||||
@purple-A200: #e040fb;
|
||||
@purple-A400: #d500f9;
|
||||
@purple-A700: #aa00ff;
|
||||
@purple: @purple-500;
|
||||
|
||||
|
||||
@deep-purple-50: #ede7f6;
|
||||
@deep-purple-100: #d1c4e9;
|
||||
@deep-purple-200: #b39ddb;
|
||||
@deep-purple-300: #9575cd;
|
||||
@deep-purple-400: #7e57c2;
|
||||
@deep-purple-500: #673ab7;
|
||||
@deep-purple-600: #5e35b1;
|
||||
@deep-purple-700: #512da8;
|
||||
@deep-purple-800: #4527a0;
|
||||
@deep-purple-900: #311b92;
|
||||
@deep-purple-A100: #b388ff;
|
||||
@deep-purple-A200: #7c4dff;
|
||||
@deep-purple-A400: #651fff;
|
||||
@deep-purple-A700: #6200ea;
|
||||
@deep-purple: @deep-purple-500;
|
||||
|
||||
|
||||
@indigo-50: #e8eaf6;
|
||||
@indigo-100: #c5cae9;
|
||||
@indigo-200: #9fa8da;
|
||||
@indigo-300: #7986cb;
|
||||
@indigo-400: #5c6bc0;
|
||||
@indigo-500: #3f51b5;
|
||||
@indigo-600: #3949ab;
|
||||
@indigo-700: #303f9f;
|
||||
@indigo-800: #283593;
|
||||
@indigo-900: #1a237e;
|
||||
@indigo-A100: #8c9eff;
|
||||
@indigo-A200: #536dfe;
|
||||
@indigo-A400: #3d5afe;
|
||||
@indigo-A700: #304ffe;
|
||||
@indigo: @indigo-500;
|
||||
|
||||
|
||||
@blue-50: #e3f2fd;
|
||||
@blue-100: #bbdefb;
|
||||
@blue-200: #90caf9;
|
||||
@blue-300: #64b5f6;
|
||||
@blue-400: #42a5f5;
|
||||
@blue-500: #2196f3;
|
||||
@blue-600: #1e88e5;
|
||||
@blue-700: #1976d2;
|
||||
@blue-800: #1565c0;
|
||||
@blue-900: #0d47a1;
|
||||
@blue-A100: #82b1ff;
|
||||
@blue-A200: #448aff;
|
||||
@blue-A400: #2979ff;
|
||||
@blue-A700: #2962ff;
|
||||
@blue: @blue-500;
|
||||
|
||||
|
||||
@light-blue-50: #e1f5fe;
|
||||
@light-blue-100: #b3e5fc;
|
||||
@light-blue-200: #81d4fa;
|
||||
@light-blue-300: #4fc3f7;
|
||||
@light-blue-400: #29b6f6;
|
||||
@light-blue-500: #03a9f4;
|
||||
@light-blue-600: #039be5;
|
||||
@light-blue-700: #0288d1;
|
||||
@light-blue-800: #0277bd;
|
||||
@light-blue-900: #01579b;
|
||||
@light-blue-A100: #80d8ff;
|
||||
@light-blue-A200: #40c4ff;
|
||||
@light-blue-A400: #00b0ff;
|
||||
@light-blue-A700: #0091ea;
|
||||
@light-blue: @light-blue-500;
|
||||
|
||||
|
||||
@cyan-50: #e0f7fa;
|
||||
@cyan-100: #b2ebf2;
|
||||
@cyan-200: #80deea;
|
||||
@cyan-300: #4dd0e1;
|
||||
@cyan-400: #26c6da;
|
||||
@cyan-500: #00bcd4;
|
||||
@cyan-600: #00acc1;
|
||||
@cyan-700: #0097a7;
|
||||
@cyan-800: #00838f;
|
||||
@cyan-900: #006064;
|
||||
@cyan-A100: #84ffff;
|
||||
@cyan-A200: #18ffff;
|
||||
@cyan-A400: #00e5ff;
|
||||
@cyan-A700: #00b8d4;
|
||||
@cyan: @cyan-500;
|
||||
|
||||
|
||||
@teal-50: #e0f2f1;
|
||||
@teal-100: #b2dfdb;
|
||||
@teal-200: #80cbc4;
|
||||
@teal-300: #4db6ac;
|
||||
@teal-400: #26a69a;
|
||||
@teal-500: #009688;
|
||||
@teal-600: #00897b;
|
||||
@teal-700: #00796b;
|
||||
@teal-800: #00695c;
|
||||
@teal-900: #004d40;
|
||||
@teal-A100: #a7ffeb;
|
||||
@teal-A200: #64ffda;
|
||||
@teal-A400: #1de9b6;
|
||||
@teal-A700: #00bfa5;
|
||||
@teal: @teal-500;
|
||||
|
||||
|
||||
@green-50: #e8f5e9;
|
||||
@green-100: #c8e6c9;
|
||||
@green-200: #a5d6a7;
|
||||
@green-300: #81c784;
|
||||
@green-400: #66bb6a;
|
||||
@green-500: #4caf50;
|
||||
@green-600: #43a047;
|
||||
@green-700: #388e3c;
|
||||
@green-800: #2e7d32;
|
||||
@green-900: #1b5e20;
|
||||
@green-A100: #b9f6ca;
|
||||
@green-A200: #69f0ae;
|
||||
@green-A400: #00e676;
|
||||
@green-A700: #00c853;
|
||||
@green: @green-500;
|
||||
|
||||
|
||||
@light-green-50: #f1f8e9;
|
||||
@light-green-100: #dcedc8;
|
||||
@light-green-200: #c5e1a5;
|
||||
@light-green-300: #aed581;
|
||||
@light-green-400: #9ccc65;
|
||||
@light-green-500: #8bc34a;
|
||||
@light-green-600: #7cb342;
|
||||
@light-green-700: #689f38;
|
||||
@light-green-800: #558b2f;
|
||||
@light-green-900: #33691e;
|
||||
@light-green-A100: #ccff90;
|
||||
@light-green-A200: #b2ff59;
|
||||
@light-green-A400: #76ff03;
|
||||
@light-green-A700: #64dd17;
|
||||
@light-green: @light-green-500;
|
||||
|
||||
|
||||
@lime-50: #f9fbe7;
|
||||
@lime-100: #f0f4c3;
|
||||
@lime-200: #e6ee9c;
|
||||
@lime-300: #dce775;
|
||||
@lime-400: #d4e157;
|
||||
@lime-500: #cddc39;
|
||||
@lime-600: #c0ca33;
|
||||
@lime-700: #afb42b;
|
||||
@lime-800: #9e9d24;
|
||||
@lime-900: #827717;
|
||||
@lime-A100: #f4ff81;
|
||||
@lime-A200: #eeff41;
|
||||
@lime-A400: #c6ff00;
|
||||
@lime-A700: #aeea00;
|
||||
@lime: @lime-500;
|
||||
|
||||
|
||||
@yellow-50: #fffde7;
|
||||
@yellow-100: #fff9c4;
|
||||
@yellow-200: #fff59d;
|
||||
@yellow-300: #fff176;
|
||||
@yellow-400: #ffee58;
|
||||
@yellow-500: #ffeb3b;
|
||||
@yellow-600: #fdd835;
|
||||
@yellow-700: #fbc02d;
|
||||
@yellow-800: #f9a825;
|
||||
@yellow-900: #f57f17;
|
||||
@yellow-A100: #ffff8d;
|
||||
@yellow-A200: #ffff00;
|
||||
@yellow-A400: #ffea00;
|
||||
@yellow-A700: #ffd600;
|
||||
@yellow: @yellow-500;
|
||||
|
||||
|
||||
@amber-50: #fff8e1;
|
||||
@amber-100: #ffecb3;
|
||||
@amber-200: #ffe082;
|
||||
@amber-300: #ffd54f;
|
||||
@amber-400: #ffca28;
|
||||
@amber-500: #ffc107;
|
||||
@amber-600: #ffb300;
|
||||
@amber-700: #ffa000;
|
||||
@amber-800: #ff8f00;
|
||||
@amber-900: #ff6f00;
|
||||
@amber-A100: #ffe57f;
|
||||
@amber-A200: #ffd740;
|
||||
@amber-A400: #ffc400;
|
||||
@amber-A700: #ffab00;
|
||||
@amber: @amber-500;
|
||||
|
||||
|
||||
@orange-50: #fff3e0;
|
||||
@orange-100: #ffe0b2;
|
||||
@orange-200: #ffcc80;
|
||||
@orange-300: #ffb74d;
|
||||
@orange-400: #ffa726;
|
||||
@orange-500: #ff9800;
|
||||
@orange-600: #fb8c00;
|
||||
@orange-700: #f57c00;
|
||||
@orange-800: #ef6c00;
|
||||
@orange-900: #e65100;
|
||||
@orange-A100: #ffd180;
|
||||
@orange-A200: #ffab40;
|
||||
@orange-A400: #ff9100;
|
||||
@orange-A700: #ff6d00;
|
||||
@orange: @orange-500;
|
||||
|
||||
|
||||
@deep-orange-50: #fbe9e7;
|
||||
@deep-orange-100: #ffccbc;
|
||||
@deep-orange-200: #ffab91;
|
||||
@deep-orange-300: #ff8a65;
|
||||
@deep-orange-400: #ff7043;
|
||||
@deep-orange-500: #ff5722;
|
||||
@deep-orange-600: #f4511e;
|
||||
@deep-orange-700: #e64a19;
|
||||
@deep-orange-800: #d84315;
|
||||
@deep-orange-900: #bf360c;
|
||||
@deep-orange-A100: #ff9e80;
|
||||
@deep-orange-A200: #ff6e40;
|
||||
@deep-orange-A400: #ff3d00;
|
||||
@deep-orange-A700: #dd2c00;
|
||||
@deep-orange: @deep-orange-500;
|
||||
|
||||
|
||||
@brown-50: #efebe9;
|
||||
@brown-100: #d7ccc8;
|
||||
@brown-200: #bcaaa4;
|
||||
@brown-300: #a1887f;
|
||||
@brown-400: #8d6e63;
|
||||
@brown-500: #795548;
|
||||
@brown-600: #6d4c41;
|
||||
@brown-700: #5d4037;
|
||||
@brown-800: #4e342e;
|
||||
@brown-900: #3e2723;
|
||||
@brown-A100: #d7ccc8;
|
||||
@brown-A200: #bcaaa4;
|
||||
@brown-A400: #8d6e63;
|
||||
@brown-A700: #5d4037;
|
||||
@brown: @brown-500;
|
||||
|
||||
|
||||
@grey-50: #fafafa;
|
||||
@grey-100: #f5f5f5;
|
||||
@grey-200: #eeeeee;
|
||||
@grey-300: #e0e0e0;
|
||||
@grey-400: #bdbdbd;
|
||||
@grey-500: #9e9e9e; @rgb-grey-500: "158, 158, 158";
|
||||
@grey-600: #757575;
|
||||
@grey-700: #616161;
|
||||
@grey-800: #424242;
|
||||
@grey-900: #212121;
|
||||
@grey-A100: #f5f5f5;
|
||||
@grey-A200: #eeeeee;
|
||||
@grey-A400: #bdbdbd;
|
||||
@grey-A700: #616161;
|
||||
@grey: @grey-500;
|
||||
|
||||
|
||||
@blue-grey-50: #eceff1;
|
||||
@blue-grey-100: #cfd8dc;
|
||||
@blue-grey-200: #b0bec5;
|
||||
@blue-grey-300: #90a4ae;
|
||||
@blue-grey-400: #78909c;
|
||||
@blue-grey-500: #607d8b;
|
||||
@blue-grey-600: #546e7a;
|
||||
@blue-grey-700: #455a64;
|
||||
@blue-grey-800: #37474f;
|
||||
@blue-grey-900: #263238;
|
||||
@blue-grey-A100: #cfd8dc;
|
||||
@blue-grey-A200: #b0bec5;
|
||||
@blue-grey-A400: #78909c;
|
||||
@blue-grey-A700: #455a64;
|
||||
@blue-grey: @blue-grey-500;
|
||||
|
||||
|
||||
@black: #000000; @rgb-black: "0,0,0";
|
||||
@white: #ffffff; @rgb-white: "255,255,255";
|
93
public/assets/vendor/bootstrap-material-design/less/_core.less
vendored
Normal file
93
public/assets/vendor/bootstrap-material-design/less/_core.less
vendored
Normal file
|
@ -0,0 +1,93 @@
|
|||
body {
|
||||
background-color: @body-bg;
|
||||
&.inverse {
|
||||
background: #333333;
|
||||
&, .form-control {
|
||||
color: @mdb-text-color-light;
|
||||
}
|
||||
.modal,
|
||||
.panel-default,
|
||||
.card {
|
||||
&,
|
||||
.form-control {
|
||||
background-color: initial;
|
||||
color: initial;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
|
||||
font-family: @font-family-sans-serif;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
h5, h6{
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
a, a:hover, a:focus {
|
||||
color: @link-color;
|
||||
|
||||
& .material-icons {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
@import "_form.less";
|
||||
@import "_welljumbo.less";
|
||||
@import "_buttons.less";
|
||||
@import "_checkboxes.less";
|
||||
@import "_togglebutton.less";
|
||||
@import "_radios.less";
|
||||
@import "_inputs.less";
|
||||
|
||||
legend {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
@import "_lists.less";
|
||||
@import "_navbar.less";
|
||||
|
||||
.dropdown-menu {
|
||||
border: 0;
|
||||
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
|
||||
.divider {
|
||||
background-color: rgba(0, 0, 0, .12);
|
||||
}
|
||||
li {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
a:hover {
|
||||
background-color: transparent;
|
||||
color: @brand-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@import "_alerts.less";
|
||||
@import "_progress.less";
|
||||
@import "_typography.less";
|
||||
@import "_tabs.less";
|
||||
@import "_popups.less";
|
||||
@import "_cards.less";
|
||||
@import "_dialogs.less";
|
||||
@import "_panels.less";
|
||||
@import "_dividers.less";
|
||||
|
||||
// Prevent highlight on mobile
|
||||
* {
|
||||
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
&:focus {
|
||||
outline: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@import "_themes.less";
|
||||
|
||||
// External plugins
|
||||
@import "_plugins.less";
|
52
public/assets/vendor/bootstrap-material-design/less/_dialogs.less
vendored
Normal file
52
public/assets/vendor/bootstrap-material-design/less/_dialogs.less
vendored
Normal file
|
@ -0,0 +1,52 @@
|
|||
//
|
||||
// Modals
|
||||
// Material Design element Dialogs
|
||||
// --------------------------------------------------
|
||||
.modal-content {
|
||||
.shadow-z-5();
|
||||
border-radius: @border-radius-base;
|
||||
border: none;
|
||||
// Modal header
|
||||
// Top section of the modal w/ title and dismiss
|
||||
.modal-header {
|
||||
border-bottom: none;
|
||||
padding-top: 24px;
|
||||
padding-right: 24px;
|
||||
padding-bottom: 0;
|
||||
padding-left: 24px;
|
||||
}
|
||||
// Modal body
|
||||
// Where all modal content resides (sibling of .modal-header and .modal-footer)
|
||||
.modal-body {
|
||||
padding-top: 24px;
|
||||
padding-right: 24px;
|
||||
padding-bottom: 16px;
|
||||
padding-left: 24px;
|
||||
}
|
||||
// Footer (for actions)
|
||||
.modal-footer {
|
||||
border-top: none;
|
||||
padding: 7px;
|
||||
button {
|
||||
margin: 0;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
width: auto;
|
||||
&.pull-left {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
position: relative;
|
||||
left: -5px;
|
||||
}
|
||||
}
|
||||
button+button {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
}
|
||||
.modal-body + .modal-footer {
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
.modal-backdrop {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
71
public/assets/vendor/bootstrap-material-design/less/_dividers.less
vendored
Normal file
71
public/assets/vendor/bootstrap-material-design/less/_dividers.less
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
hr {
|
||||
&.on-dark {
|
||||
color: lighten(@black, 10%);
|
||||
}
|
||||
|
||||
&.on-light {
|
||||
color: lighten(@white, 10%);
|
||||
}
|
||||
|
||||
@media (-webkit-min-device-pixel-ratio: 0.75),
|
||||
(min--moz-device-pixel-ratio: 0.75),
|
||||
(-o-device-pixel-ratio: 3/4),
|
||||
(min-device-pixel-ratio: 0.75),
|
||||
(min-resolution: 0.75dppx),
|
||||
(min-resolution: 120dpi) {
|
||||
height:0.75px;
|
||||
}
|
||||
|
||||
@media (-webkit-min-device-pixel-ratio: 1),
|
||||
(min--moz-device-pixel-ratio: 1),
|
||||
(-o-device-pixel-ratio: 1),
|
||||
(min-device-pixel-ratio: 1),
|
||||
(min-resolution: 1dppx),
|
||||
(min-resolution: 160dpi) {
|
||||
height:1px;
|
||||
}
|
||||
@media (-webkit-min-device-pixel-ratio: 1.33),
|
||||
(min--moz-device-pixel-ratio: 1.33),
|
||||
(-o-device-pixel-ratio: 133/100),
|
||||
(min-device-pixel-ratio: 1.33),
|
||||
(min-resolution: 1.33dppx),
|
||||
(min-resolution: 213dpi) {
|
||||
height:1.333px;
|
||||
}
|
||||
@media (-webkit-min-device-pixel-ratio: 1.5),
|
||||
(min--moz-device-pixel-ratio: 1.5),
|
||||
(-o-device-pixel-ratio: 3/2),
|
||||
(min-device-pixel-ratio: 1.5),
|
||||
(min-resolution: 1.5dppx),
|
||||
(min-resolution: 240dpi) {
|
||||
height:1.5px;
|
||||
}
|
||||
|
||||
@media (-webkit-min-device-pixel-ratio: 2),
|
||||
(min--moz-device-pixel-ratio: 2),
|
||||
(-o-device-pixel-ratio: 2/1),
|
||||
(min-device-pixel-ratio: 2),
|
||||
(min-resolution: 2dppx),
|
||||
(min-resolution: 380dpi) {
|
||||
height:2px;
|
||||
}
|
||||
|
||||
@media (-webkit-min-device-pixel-ratio: 3),
|
||||
(min--moz-device-pixel-ratio: 3),
|
||||
(-o-device-pixel-ratio: 3/1),
|
||||
(min-device-pixel-ratio: 3),
|
||||
(min-resolution: 3dppx),
|
||||
(min-resolution: 480dpi) {
|
||||
height:3px;
|
||||
}
|
||||
|
||||
@media (-webkit-min-device-pixel-ratio: 4),
|
||||
(min--moz-device-pixel-ratio: 4),
|
||||
(-o-device-pixel-ratio: 4/1),
|
||||
(min-device-pixel-ratio: 3),
|
||||
(min-resolution: 4dppx),
|
||||
(min-resolution: 640dpi) {
|
||||
height:4px;
|
||||
}
|
||||
|
||||
}
|
40
public/assets/vendor/bootstrap-material-design/less/_form.less
vendored
Normal file
40
public/assets/vendor/bootstrap-material-design/less/_form.less
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
.mdb-label-color-toggle-focus() {
|
||||
// override bootstrap focus and keep all the standard color (could be multiple radios in the form group)
|
||||
.form-group.is-focused & {
|
||||
color: @mdb-label-color;
|
||||
|
||||
// on focus just darken the specific labels, do not turn them to the brand-primary
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: @mdb-label-color-toggle-focus;
|
||||
}
|
||||
|
||||
// correct the above focus color for disabled items
|
||||
fieldset[disabled] & {
|
||||
color: @mdb-label-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.form-horizontal {
|
||||
|
||||
// Consistent vertical alignment of radios and checkboxes
|
||||
.radio,
|
||||
.checkbox,
|
||||
.radio-inline,
|
||||
.checkbox-inline {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.radio {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
label {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
label.control-label {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
2
public/assets/vendor/bootstrap-material-design/less/_import-bs-less.less
vendored
Normal file
2
public/assets/vendor/bootstrap-material-design/less/_import-bs-less.less
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
@import (optional) "../../bootstrap/less/variables.less";
|
||||
@import (optional) "../bower_components/bootstrap/less/variables.less";
|
4
public/assets/vendor/bootstrap-material-design/less/_import-bs-sass.less
vendored
Normal file
4
public/assets/vendor/bootstrap-material-design/less/_import-bs-sass.less
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
// hack due to differences between sass and less variable loading
|
||||
// Less lazy loads, Sass doesn't. http://lesscss.org/features/#variables-feature-lazy-loading
|
||||
|
||||
// do nothing here for less.
|
221
public/assets/vendor/bootstrap-material-design/less/_inputs-size.less
vendored
Normal file
221
public/assets/vendor/bootstrap-material-design/less/_inputs-size.less
vendored
Normal file
|
@ -0,0 +1,221 @@
|
|||
//
|
||||
// Forms - sizing - material - mirrors bootstrap/forms.less with custom sizing
|
||||
//
|
||||
// LEAVE THIS IDENTICAL TO THE BOOTSTRAP FILE - DO NOT CUSTOMIZE HERE.
|
||||
//
|
||||
// NOTE: this is intentionally kept structurally _identical_ to the bootstrap/forms.less file to make it easier
|
||||
// to identify differences in sizing approaches to form inputs.
|
||||
// --------------------------------------------------
|
||||
|
||||
legend {
|
||||
margin-bottom: @mdb-input-line-height-computed;
|
||||
font-size: (@mdb-input-font-size-base * 1.5);
|
||||
}
|
||||
|
||||
// Adjust output element
|
||||
output {
|
||||
padding-top: (@mdb-input-padding-base-vertical + 1);
|
||||
font-size: @mdb-input-font-size-base;
|
||||
line-height: @mdb-input-line-height-base;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
height: @mdb-input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
|
||||
padding: @mdb-input-padding-base-vertical @mdb-input-padding-base-horizontal;
|
||||
font-size: @mdb-input-font-size-base;
|
||||
line-height: @mdb-input-line-height-base;
|
||||
}
|
||||
|
||||
// Special styles for iOS temporal inputs
|
||||
//
|
||||
// In Mobile Safari, setting `display: block` on temporal inputs causes the
|
||||
// text within the input to become vertically misaligned. As a workaround, we
|
||||
// set a pixel line-height that matches the given height of the input, but only
|
||||
// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
|
||||
//
|
||||
// Note that as of 8.3, iOS doesn't support `datetime` or `week`.
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
||||
input[type="date"],
|
||||
input[type="time"],
|
||||
input[type="datetime-local"],
|
||||
input[type="month"] {
|
||||
&.form-control {
|
||||
line-height: @mdb-input-height-base;
|
||||
}
|
||||
|
||||
&.input-sm,
|
||||
.input-group-sm & {
|
||||
line-height: @mdb-input-height-small;
|
||||
}
|
||||
|
||||
&.input-lg,
|
||||
.input-group-lg & {
|
||||
line-height: @mdb-input-height-large;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.radio,
|
||||
.checkbox {
|
||||
|
||||
label {
|
||||
min-height: @mdb-input-line-height-computed; // Ensure the input doesn't jump when there is no text
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Static form control text
|
||||
//
|
||||
// Apply class to a `p` element to make any string of text align with labels in
|
||||
// a horizontal form layout.
|
||||
|
||||
.form-control-static {
|
||||
// Size it appropriately next to real form controls
|
||||
padding-top: (@mdb-input-padding-base-vertical + 1);
|
||||
padding-bottom: (@mdb-input-padding-base-vertical + 1);
|
||||
min-height: (@mdb-input-line-height-computed + @mdb-input-font-size-base);
|
||||
}
|
||||
|
||||
|
||||
// Form control sizing
|
||||
//
|
||||
// Relative text size, padding, and border-radii changes for form controls. For
|
||||
// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
|
||||
// element gets special love because it's special, and that's a fact!
|
||||
|
||||
// mixin pulled from bootstrap and altered for less/sass compatibility with sass parent hack.
|
||||
// bootstrap-sass has this one, but we would have to then convert it back to less. chicken meet egg.
|
||||
.input-size(@parent, @mdb-input-height, @padding-vertical, @padding-horizontal, @font-size, @line-height, @border-radius) {
|
||||
|
||||
@{parent} {
|
||||
height: @mdb-input-height;
|
||||
padding: @padding-vertical @padding-horizontal;
|
||||
font-size: @font-size;
|
||||
line-height: @line-height;
|
||||
border-radius: @border-radius;
|
||||
}
|
||||
|
||||
select@{parent} {
|
||||
height: @mdb-input-height;
|
||||
line-height: @mdb-input-height;
|
||||
}
|
||||
|
||||
textarea@{parent},
|
||||
select[multiple]@{parent} {
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Form control sizing
|
||||
//
|
||||
// Build on `.form-control` with modifier classes to decrease or increase the
|
||||
// height and font-size of form controls.
|
||||
//
|
||||
// The `.form-group-* form-control` variations are sadly duplicated to avoid the
|
||||
// issue documented in https://github.com/twbs/bootstrap/issues/15074.
|
||||
.input-sm {
|
||||
.input-size(~".input-sm", @mdb-input-height-small, @mdb-input-padding-small-vertical, @mdb-input-padding-small-horizontal, @mdb-input-font-size-small, @mdb-input-line-height-small, @mdb-input-border-radius-small);
|
||||
}
|
||||
.form-group-sm {
|
||||
.form-control {
|
||||
height: @mdb-input-height-small;
|
||||
padding: @mdb-input-padding-small-vertical @mdb-input-padding-small-horizontal;
|
||||
font-size: @mdb-input-font-size-small;
|
||||
line-height: @mdb-input-line-height-small;
|
||||
}
|
||||
select.form-control {
|
||||
height: @mdb-input-height-small;
|
||||
line-height: @mdb-input-height-small;
|
||||
}
|
||||
textarea.form-control,
|
||||
select[multiple].form-control {
|
||||
height: auto;
|
||||
}
|
||||
.form-control-static {
|
||||
height: @mdb-input-height-small;
|
||||
min-height: (@mdb-input-line-height-computed + @mdb-input-font-size-small);
|
||||
padding: (@mdb-input-padding-small-vertical + 1) @mdb-input-padding-small-horizontal;
|
||||
font-size: @mdb-input-font-size-small;
|
||||
line-height: @mdb-input-line-height-small;
|
||||
}
|
||||
}
|
||||
|
||||
.input-lg {
|
||||
.input-size(~".input-lg", @mdb-input-height-large, @mdb-input-padding-large-vertical, @mdb-input-padding-large-horizontal, @mdb-input-font-size-large, @mdb-input-line-height-large, @mdb-input-border-radius-large);
|
||||
}
|
||||
.form-group-lg {
|
||||
.form-control {
|
||||
height: @mdb-input-height-large;
|
||||
padding: @mdb-input-padding-large-vertical @mdb-input-padding-large-horizontal;
|
||||
font-size: @mdb-input-font-size-large;
|
||||
line-height: @mdb-input-line-height-large;
|
||||
}
|
||||
select.form-control {
|
||||
height: @mdb-input-height-large;
|
||||
line-height: @mdb-input-height-large;
|
||||
}
|
||||
textarea.form-control,
|
||||
select[multiple].form-control {
|
||||
height: auto;
|
||||
}
|
||||
.form-control-static {
|
||||
height: @mdb-input-height-large;
|
||||
min-height: (@mdb-input-line-height-computed + @mdb-input-font-size-large);
|
||||
padding: (@mdb-input-padding-large-vertical + 1) @mdb-input-padding-large-horizontal;
|
||||
font-size: @mdb-input-font-size-large;
|
||||
line-height: @mdb-input-line-height-large;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.form-horizontal {
|
||||
|
||||
// Consistent vertical alignment of radios and checkboxes
|
||||
//
|
||||
// Labels also get some reset styles, but that is scoped to a media query below.
|
||||
.radio,
|
||||
.checkbox,
|
||||
.radio-inline,
|
||||
.checkbox-inline {
|
||||
padding-top: (@mdb-input-padding-base-vertical + 1); // Default padding plus a border
|
||||
}
|
||||
// Account for padding we're adding to ensure the alignment and of help text
|
||||
// and other content below items
|
||||
.radio,
|
||||
.checkbox {
|
||||
min-height: (@mdb-input-line-height-computed + (@mdb-input-padding-base-vertical + 1));
|
||||
}
|
||||
|
||||
// Reset spacing and right align labels, but scope to media queries so that
|
||||
// labels on narrow viewports stack the same as a default form example.
|
||||
@media (min-width: @screen-sm-min) {
|
||||
.control-label {
|
||||
padding-top: (@mdb-input-padding-base-vertical + 1); // Default padding plus a border
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Form group sizes
|
||||
//
|
||||
// Quick utility class for applying `.input-lg` and `.input-sm` styles to the
|
||||
// inputs and labels within a `.form-group`.
|
||||
.form-group-lg {
|
||||
@media (min-width: @screen-sm-min) {
|
||||
.control-label {
|
||||
padding-top: ((@mdb-input-padding-large-vertical * @mdb-input-line-height-large) + 1);
|
||||
font-size: @mdb-input-font-size-large;
|
||||
}
|
||||
}
|
||||
}
|
||||
.form-group-sm {
|
||||
@media (min-width: @screen-sm-min) {
|
||||
.control-label {
|
||||
padding-top: (@mdb-input-padding-small-vertical + 1);
|
||||
font-size: @mdb-input-font-size-small;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
350
public/assets/vendor/bootstrap-material-design/less/_inputs.less
vendored
Normal file
350
public/assets/vendor/bootstrap-material-design/less/_inputs.less
vendored
Normal file
|
@ -0,0 +1,350 @@
|
|||
@import '_inputs-size.less';
|
||||
|
||||
// label variations
|
||||
.label {
|
||||
border-radius: @border-radius-small;
|
||||
.variations(~".label", ~"", background-color, @grey);
|
||||
padding: .3em .6em; // Make top & bottom .label padding the same: https://github.com/twbs/bootstrap/pull/19631
|
||||
}
|
||||
|
||||
// must be broken out for reuse - webkit selector breaks firefox
|
||||
.label-static(@label-top, @static-font-size, @static-line-height) {
|
||||
label.control-label {
|
||||
top: @label-top;
|
||||
left: 0;
|
||||
// must repeat because the selector above is more specific than the general label sizing
|
||||
font-size: @static-font-size;
|
||||
line-height: @static-line-height;
|
||||
}
|
||||
}
|
||||
|
||||
.label-size-variant(@placeholder-font-size, @vertical-padding, @line-height, @static-font-size, @static-line-height, @help-block-font-size){
|
||||
.form-control {
|
||||
.material-placeholder({
|
||||
font-size: @placeholder-font-size;
|
||||
line-height: @line-height;
|
||||
color: @mdb-input-placeholder-color;
|
||||
font-weight: 400;
|
||||
});
|
||||
// margin-bottom must be specified to give help-block vertical space.
|
||||
// @see also form-group padding-bottom (and size variants) re: collapsible margins. These work together.
|
||||
margin-bottom: @vertical-padding;
|
||||
}
|
||||
|
||||
// generic labels used anywhere in the form (not control-label)
|
||||
.checkbox label,
|
||||
.radio label,
|
||||
label {
|
||||
font-size: @placeholder-font-size;
|
||||
line-height: @line-height;
|
||||
color: @mdb-input-placeholder-color;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
// smaller focused or static size
|
||||
label.control-label {
|
||||
font-size: @static-font-size;
|
||||
line-height: @static-line-height;
|
||||
font-weight: 400;
|
||||
margin: 16px 0 0 0; // std and lg
|
||||
}
|
||||
|
||||
.help-block {
|
||||
margin-top: 0; // allow the input margin to set-off the top of the help-block
|
||||
font-size: @help-block-font-size;
|
||||
}
|
||||
}
|
||||
|
||||
.form-group-validation-state(@name, @color) {
|
||||
|
||||
&.@{name} { // e.g. has-error
|
||||
.form-control {
|
||||
box-shadow: none;
|
||||
}
|
||||
&.is-focused .form-control {
|
||||
background-image: linear-gradient(@color, @color), linear-gradient(@mdb-input-underline-color, @mdb-input-underline-color);
|
||||
}
|
||||
label.control-label,
|
||||
.help-block {
|
||||
color: @color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.form-group-size-variant(@parent, @placeholder-font-size, @label-top-margin, @vertical-padding, @line-height, @label-as-placeholder-shim) {
|
||||
@static-font-size: ceil((@mdb-label-static-size-ratio * @placeholder-font-size));
|
||||
@static-line-height: (@mdb-label-static-size-ratio * @line-height);
|
||||
|
||||
@label-as-placeholder-top: -1 * (@vertical-padding + @label-as-placeholder-shim);
|
||||
@label-top: @label-as-placeholder-top - (@placeholder-font-size + @vertical-padding);
|
||||
|
||||
@help-block-font-size: ceil((@mdb-help-block-size-ratio * @placeholder-font-size));
|
||||
@help-block-line-height: (@mdb-help-block-size-ratio * @line-height);
|
||||
|
||||
// this is outside a form-group
|
||||
& when not (isstring(@parent)) {
|
||||
.label-size-variant(@placeholder-font-size, @vertical-padding, @line-height, @static-font-size, @static-line-height, @help-block-font-size);
|
||||
}
|
||||
|
||||
// this is inside a form-group, may be .form-group.form-group-sm or .form-group.form-group-lg
|
||||
& when (isstring(@parent)) {
|
||||
@{parent} {
|
||||
.label-size-variant(@placeholder-font-size, @vertical-padding, @line-height, @static-font-size, @static-line-height, @help-block-font-size);
|
||||
|
||||
// form-group padding-bottom
|
||||
// upon collapsing margins, the largest margin is honored which collapses the form-control margin-bottom,
|
||||
// so the form-control margin-bottom must also be expressed as form-group padding
|
||||
padding-bottom: @vertical-padding;
|
||||
|
||||
// form-group margin-top must be large enough for the label and the label's top padding since label is absolutely positioned
|
||||
margin: (@label-top-margin + @static-font-size) 0 0 0;
|
||||
|
||||
// larger labels as placeholders
|
||||
&.label-floating,
|
||||
&.label-placeholder {
|
||||
label.control-label {
|
||||
top: @label-as-placeholder-top; // place the floating label to look like a placeholder with input padding
|
||||
font-size: @placeholder-font-size;
|
||||
line-height: @line-height;
|
||||
}
|
||||
}
|
||||
|
||||
// static, focused, or autofill floating labels
|
||||
&.label-static,
|
||||
&.label-floating.is-focused,
|
||||
&.label-floating:not(.is-empty) {
|
||||
.label-static(@label-top, @static-font-size, @static-line-height);
|
||||
}
|
||||
// #559 Fix for webkit/chrome autofill - rule must be separate because it breaks firefox otherwise #731
|
||||
&.label-floating input.form-control:-webkit-autofill ~ label.control-label {
|
||||
.label-static(@label-top, @static-font-size, @static-line-height);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -----
|
||||
// Inputs
|
||||
//
|
||||
// Reference http://www.google.com/design/spec/components/text-fields.html
|
||||
// MDL implementation: http://www.getmdl.io/components/index.html#textfields-section
|
||||
.form-control,
|
||||
.form-group .form-control {
|
||||
border: 0;
|
||||
background-image: linear-gradient(@brand-primary, @brand-primary), linear-gradient(@mdb-input-underline-color, @mdb-input-underline-color);
|
||||
background-size: 0 2px, 100% 1px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center bottom, center calc(~"100% - 1px");
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
transition: background 0s ease-out;
|
||||
float: none;
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
|
||||
// Placeholders and and labels-as-placeholders should look the same
|
||||
.material-placeholder({
|
||||
color: @mdb-input-placeholder-color;
|
||||
font-weight: 400;
|
||||
});
|
||||
|
||||
|
||||
//&:textarea { // appears to be an invalid selector
|
||||
// height: 40px;
|
||||
//}
|
||||
|
||||
&[readonly],
|
||||
&[disabled],
|
||||
fieldset[disabled] & {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
&[disabled],
|
||||
fieldset[disabled] & {
|
||||
background-image: none;
|
||||
border-bottom: 1px dotted @mdb-input-underline-color;
|
||||
}
|
||||
}
|
||||
|
||||
// -----
|
||||
// Labels with form-group signalled state
|
||||
//
|
||||
// Reference http://www.google.com/design/spec/components/text-fields.html
|
||||
// MDL implementation: http://www.getmdl.io/components/index.html#textfields-section
|
||||
//.variations(~" label.control-label", color, @mdb-input-placeholder-color); // default label color variations
|
||||
|
||||
.form-group {
|
||||
position: relative;
|
||||
|
||||
// -----
|
||||
// Labels with form-group signalled state
|
||||
//
|
||||
// Reference http://www.google.com/design/spec/components/text-fields.html
|
||||
// MDL implementation: http://www.getmdl.io/components/index.html#textfields-section
|
||||
&.label-static,
|
||||
&.label-placeholder,
|
||||
&.label-floating {
|
||||
label.control-label {
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
transition: 0.3s ease all;
|
||||
}
|
||||
}
|
||||
|
||||
// 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{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Help blocks - position: absolute approach - uses no vertical space, text wrapping - not so good.
|
||||
.help-block {
|
||||
position: absolute; // do not use position: absolute because width/wrapping isn't automatic and overflows occur
|
||||
display: none;
|
||||
}
|
||||
|
||||
// form-group is-focused display
|
||||
&.is-focused {
|
||||
.form-control {
|
||||
outline: none;
|
||||
background-image: linear-gradient(@brand-primary, @brand-primary), linear-gradient(@mdb-input-underline-color, @mdb-input-underline-color);
|
||||
background-size: 100% 2px, 100% 1px;
|
||||
box-shadow: none;
|
||||
transition-duration: 0.3s;
|
||||
|
||||
.material-input:after {
|
||||
background-color: @brand-primary;
|
||||
}
|
||||
}
|
||||
|
||||
//.variations(~".is-focused label.control-label", color, @brand-primary); // focused label color variations
|
||||
label,
|
||||
label.control-label {
|
||||
color: @brand-primary;
|
||||
}
|
||||
|
||||
//.variations(~".is-focused.label-placeholder label.control-label", color, @mdb-input-placeholder-color); // default label color variations
|
||||
&.label-placeholder {
|
||||
label,
|
||||
label.control-label {
|
||||
color: @mdb-input-placeholder-color;
|
||||
}
|
||||
}
|
||||
|
||||
.help-block {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.form-group-validation-state(has-warning, @brand-warning);
|
||||
.form-group-validation-state(has-error, @brand-danger);
|
||||
.form-group-validation-state(has-success, @brand-success);
|
||||
.form-group-validation-state(has-info, @brand-info);
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
& ~ .form-control-highlight {
|
||||
margin-top: -11px;
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
appearance: none; // Fix for OS X
|
||||
|
||||
& ~ .material-input:after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// default floating size/location without a form-group (will skip form-group styles, and just render default sizing variation)
|
||||
.form-group-size-variant(null, @mdb-input-font-size-base, @mdb-label-top-margin-base, @mdb-input-padding-base-vertical, @mdb-input-line-height-base, @mdb-label-as-placeholder-shim-base);
|
||||
|
||||
// default floating size/location with a form-group (need margin etc from a default form-group)
|
||||
.form-group-size-variant(~".form-group", @mdb-input-font-size-base, @mdb-label-top-margin-base, @mdb-input-padding-base-vertical, @mdb-input-line-height-base, @mdb-label-as-placeholder-shim-base);
|
||||
|
||||
// sm floating size/location
|
||||
.form-group-size-variant(~".form-group.form-group-sm", @mdb-input-font-size-small, @mdb-label-top-margin-small, @mdb-input-padding-small-vertical, @mdb-input-line-height-small, @mdb-label-as-placeholder-shim-small);
|
||||
|
||||
// lg floating size/location
|
||||
.form-group-size-variant(~".form-group.form-group-lg", @mdb-input-font-size-large, @mdb-label-top-margin-large, @mdb-input-padding-large-vertical, @mdb-input-line-height-large, @mdb-label-as-placeholder-shim-large);
|
||||
|
||||
|
||||
select.form-control {
|
||||
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
|
||||
.form-group.is-focused & {
|
||||
box-shadow: none;
|
||||
border-color: @mdb-input-underline-color;
|
||||
}
|
||||
|
||||
&[multiple] {
|
||||
&,
|
||||
.form-group.is-focused & {
|
||||
height: 85px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.input-group-button-variation(@vertical-padding) {
|
||||
.input-group-btn {
|
||||
.btn {
|
||||
margin: 0 0 @vertical-padding 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------
|
||||
// input group/addon related styles
|
||||
|
||||
// default margin - no form-group required
|
||||
.input-group-button-variation(@mdb-input-padding-base-vertical);
|
||||
|
||||
.form-group {
|
||||
//.form-control {
|
||||
// float: none;
|
||||
//}
|
||||
|
||||
// sm margin
|
||||
&.form-group-sm {
|
||||
.input-group-button-variation(@mdb-input-padding-small-vertical);
|
||||
}
|
||||
|
||||
// lg margin
|
||||
&.form-group-lg {
|
||||
.input-group-button-variation(@mdb-input-padding-large-vertical);
|
||||
}
|
||||
}
|
||||
|
||||
.input-group { // may be in or outside of form-group
|
||||
.input-group-btn {
|
||||
padding: 0 12px; // match addon spacing
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
// Input files - hide actual input - requires specific markup in the sample.
|
||||
.form-group input[type=file] {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 100;
|
||||
}
|
102
public/assets/vendor/bootstrap-material-design/less/_lists.less
vendored
Normal file
102
public/assets/vendor/bootstrap-material-design/less/_lists.less
vendored
Normal file
|
@ -0,0 +1,102 @@
|
|||
.list-group {
|
||||
border-radius: 0;
|
||||
.list-group-item {
|
||||
background-color: transparent;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
padding: 0 16px;
|
||||
&.baseline {
|
||||
border-bottom: 1px solid #cecece;
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
.row-picture, .row-action-primary {
|
||||
//float: left; WARNING: float can't be used with display: inline-block. Certain properties shouldn't be used with certain display property values. (display-property-grouping) Browsers: All
|
||||
display: inline-block;
|
||||
padding-right: 16px;
|
||||
img, i, label {
|
||||
display: block;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
}
|
||||
img {
|
||||
background: rgba(0,0,0,0.1);
|
||||
padding: 1px;
|
||||
&.circle {
|
||||
border-radius: 100%;
|
||||
}
|
||||
}
|
||||
i {
|
||||
background: rgba(0,0,0,0.25);
|
||||
border-radius: 100%;
|
||||
text-align: center;
|
||||
line-height: 56px;
|
||||
font-size: 20px;
|
||||
color: white;
|
||||
}
|
||||
label {
|
||||
margin-left: 7px;
|
||||
margin-right: -7px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: -5px;
|
||||
.checkbox-material {
|
||||
left: -10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.row-content {
|
||||
display: inline-block;
|
||||
width: ~"calc(100% - 92px)";
|
||||
min-height: 66px;
|
||||
.action-secondary {
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
top: 16px;
|
||||
i {
|
||||
font-size: 20px;
|
||||
color: rgba(0,0,0,0.25);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.action-secondary ~ * {
|
||||
max-width: ~"calc(100% - 30px)";
|
||||
}
|
||||
.least-content {
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
top: 0;
|
||||
color: rgba(0,0,0,0.54);
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.list-group-item-heading {
|
||||
color: rgba(0, 0, 0, 0.77);
|
||||
font-size: 20px;
|
||||
line-height: 29px;
|
||||
}
|
||||
}
|
||||
.list-group-item.active {
|
||||
&:hover, &:focus {
|
||||
background: rgba(0,0,0,.15);
|
||||
outline: 10px solid rgba(0,0,0,.15);
|
||||
}
|
||||
.list-group-item-heading, .list-group-item-text {
|
||||
color: @mdb-text-color-primary;
|
||||
}
|
||||
|
||||
}
|
||||
.list-group-separator {
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
&:before {
|
||||
content: "";
|
||||
width: ~"calc(100% - 90px)";
|
||||
border-bottom: 1px solid rgba(0,0,0,0.1);
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
}
|
86
public/assets/vendor/bootstrap-material-design/less/_mixins.less
vendored
Executable file
86
public/assets/vendor/bootstrap-material-design/less/_mixins.less
vendored
Executable file
|
@ -0,0 +1,86 @@
|
|||
// 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(@component, @selector-suffix, @property, @color-default) {
|
||||
.generic-variations(@component, @selector-suffix, @color-default, {
|
||||
@{property}: @variation-color;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
.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 (@variation-color = @mdb-btn-background-color) {
|
||||
color: @variation-color-text;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
.text-variations(@component, @selector-suffix, @color-default) {
|
||||
.generic-variations(@component, @selector-suffix, @color-default, {
|
||||
color: @variation-color;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
// @component: ~".btn" - one of the bs components that have -default, -danger, etc.
|
||||
// @variation-color
|
||||
// @variation-color-text
|
||||
//
|
||||
.generic-variations(@component, @selector-suffix, @color-default, @func) {
|
||||
@contrast-factor: 40%;
|
||||
// bootstrap styles
|
||||
&@{selector-suffix},
|
||||
&@{component}-default@{selector-suffix} {
|
||||
@variation-color: @color-default;
|
||||
@variation-color-text: @mdb-text-color-light;
|
||||
@func();
|
||||
}
|
||||
&@{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();
|
||||
}
|
||||
&@{component}-primary@{selector-suffix} {
|
||||
@variation-color: @brand-primary;
|
||||
@variation-color-text: @mdb-text-color-light;
|
||||
@func();
|
||||
}
|
||||
&@{component}-success@{selector-suffix} {
|
||||
@variation-color: @brand-success;
|
||||
@variation-color-text: @mdb-text-color-light;
|
||||
@func();
|
||||
}
|
||||
&@{component}-info@{selector-suffix} {
|
||||
@variation-color: @brand-info;
|
||||
@variation-color-text: @mdb-text-color-light;
|
||||
@func();
|
||||
}
|
||||
&@{component}-warning@{selector-suffix} {
|
||||
@variation-color: @brand-warning;
|
||||
@variation-color-text: @mdb-text-color-light;
|
||||
@func();
|
||||
}
|
||||
&@{component}-danger@{selector-suffix} {
|
||||
@variation-color: @brand-danger;
|
||||
@variation-color-text: @mdb-text-color-light;
|
||||
@func();
|
||||
}
|
||||
}
|
239
public/assets/vendor/bootstrap-material-design/less/_navbar.less
vendored
Executable file
239
public/assets/vendor/bootstrap-material-design/less/_navbar.less
vendored
Executable file
|
@ -0,0 +1,239 @@
|
|||
.navbar {
|
||||
background-color: @brand-primary;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
|
||||
.navbar-brand {
|
||||
position: relative;
|
||||
height: 60px;
|
||||
line-height: 30px;
|
||||
color: inherit;
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-text {
|
||||
color: inherit;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
> li > a {
|
||||
color: inherit;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
> .active > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
}
|
||||
> .disabled > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
opacity: 0.9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Darken the responsive nav toggle
|
||||
.navbar-toggle {
|
||||
border: 0;
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: transparent;
|
||||
}
|
||||
.icon-bar {
|
||||
background-color: inherit;
|
||||
border: 1px solid;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-default .navbar-toggle,
|
||||
.navbar-inverse .navbar-toggle {
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.navbar-collapse,
|
||||
.navbar-form {
|
||||
border-color: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
// Dropdowns
|
||||
.navbar-nav {
|
||||
> .open > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: transparent;
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @grid-float-breakpoint-max) {
|
||||
.navbar-text {
|
||||
color: inherit;
|
||||
margin-top: 15px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
// Dropdowns get custom display
|
||||
.open .dropdown-menu {
|
||||
> .dropdown-header {
|
||||
border: 0;
|
||||
color: inherit;
|
||||
}
|
||||
.divider {
|
||||
border-bottom: 1px solid;
|
||||
opacity: 0.08;
|
||||
}
|
||||
> li > a {
|
||||
color: inherit;
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
> .active > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
> .disabled > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-link {
|
||||
color: inherit;
|
||||
&:hover {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
color: inherit;
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
}
|
||||
&[disabled],
|
||||
fieldset[disabled] & {
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-form {
|
||||
margin-top: 16px;
|
||||
.form-group {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
.material-input:before,
|
||||
&.is-focused .material-input:after {
|
||||
background-color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.form-group .form-control,
|
||||
.form-control {
|
||||
border-color: inherit;
|
||||
color: inherit;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
// re-normalize inputs in a navbar the size of standard bootstrap since our normal inputs are larger by spec than bootstrap
|
||||
//---
|
||||
//height: @mdb-input-height-base;
|
||||
@bs-line-height-base: 1.428571429;
|
||||
@bs-line-height-computed: floor((@font-size-base * @bs-line-height-base)); // ~20px
|
||||
height: (@bs-line-height-computed + 8px);
|
||||
font-size: @font-size-base;
|
||||
line-height: @bs-line-height-base;
|
||||
//---
|
||||
}
|
||||
}
|
||||
|
||||
// SASS conversion note: please mirror any content change in _mixins-shared.scss navbar-variations-content
|
||||
.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,
|
||||
.navbar-form input.form-control {
|
||||
.material-placeholder({
|
||||
color: @variation-color-text;
|
||||
});
|
||||
}
|
||||
.dropdown-menu {
|
||||
border-radius: @border-radius-base;
|
||||
li > a {
|
||||
font-size: @mdb-dropdown-font-size;
|
||||
padding: 13px 16px;
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: @variation-color;
|
||||
background-color: @grey-200;
|
||||
}
|
||||
}
|
||||
.active > a {
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: @variation-color-text;
|
||||
}
|
||||
background-color: @variation-color;
|
||||
color: @variation-color-text;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
&-inverse {
|
||||
background-color: @indigo;
|
||||
}
|
||||
|
||||
@media (max-width: @screen-md-max) {
|
||||
|
||||
.navbar-brand {
|
||||
height: 50px;
|
||||
padding: 10px 15px;
|
||||
}
|
||||
.navbar-form {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.navbar-nav > li > a {
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
}
|
||||
}
|
21
public/assets/vendor/bootstrap-material-design/less/_panels.less
vendored
Normal file
21
public/assets/vendor/bootstrap-material-design/less/_panels.less
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
.panel {
|
||||
border-radius: 2px;
|
||||
border: 0;
|
||||
|
||||
.variations(~".panel", ~" > .panel-heading", background-color, @grey-200);
|
||||
.shadow-z-1;
|
||||
}
|
||||
|
||||
|
||||
[class*="panel-"] > .panel-heading {
|
||||
color: @mdb-text-color-light;
|
||||
border: 0;
|
||||
}
|
||||
.panel-default, .panel:not([class*="panel-"]) {
|
||||
> .panel-heading {
|
||||
color: @mdb-text-color-primary;
|
||||
}
|
||||
}
|
||||
.panel-footer {
|
||||
background-color: @grey-200;
|
||||
}
|
5
public/assets/vendor/bootstrap-material-design/less/_plugins.less
vendored
Normal file
5
public/assets/vendor/bootstrap-material-design/less/_plugins.less
vendored
Normal file
|
@ -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";
|
18
public/assets/vendor/bootstrap-material-design/less/_popups.less
vendored
Normal file
18
public/assets/vendor/bootstrap-material-design/less/_popups.less
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
.popover, .tooltip-inner {
|
||||
color: @mdb-popover-color;
|
||||
line-height: 1em;
|
||||
background: @mdb-popover-background;
|
||||
border: none;
|
||||
border-radius: @border-radius-base;
|
||||
.shadow-z-1();
|
||||
}
|
||||
|
||||
.tooltip, .tooltip.in {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.popover, .tooltip {
|
||||
.arrow, .tooltip-arrow {
|
||||
display: none;
|
||||
}
|
||||
}
|
10
public/assets/vendor/bootstrap-material-design/less/_progress.less
vendored
Normal file
10
public/assets/vendor/bootstrap-material-design/less/_progress.less
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
.progress {
|
||||
height: 4px;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
background: #c8c8c8;
|
||||
.progress-bar {
|
||||
box-shadow: none;
|
||||
.variations(~".progress-bar", ~"", background-color, @brand-primary);
|
||||
}
|
||||
}
|
115
public/assets/vendor/bootstrap-material-design/less/_radios.less
vendored
Normal file
115
public/assets/vendor/bootstrap-material-design/less/_radios.less
vendored
Normal file
|
@ -0,0 +1,115 @@
|
|||
.radio-color(@color, @opacity){
|
||||
& ~ .check,
|
||||
& ~ .circle {
|
||||
opacity: @opacity;
|
||||
}
|
||||
|
||||
& ~ .check {
|
||||
background-color: @color;
|
||||
}
|
||||
|
||||
& ~ .circle {
|
||||
border-color: @color;
|
||||
}
|
||||
}
|
||||
|
||||
.radio label, label.radio-inline {
|
||||
cursor: pointer;
|
||||
padding-left: 45px;
|
||||
position: relative;
|
||||
color: @mdb-radio-label-color;
|
||||
.mdb-label-color-toggle-focus();
|
||||
}
|
||||
|
||||
.radio, label.radio-inline {
|
||||
span {
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
top: 2px;
|
||||
transition-duration: 0.2s;
|
||||
}
|
||||
.circle {
|
||||
border: 2px solid @mdb-radio-color-off;
|
||||
height: 15px;
|
||||
width: 15px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
.check {
|
||||
height: 15px;
|
||||
width: 15px;
|
||||
border-radius: 100%;
|
||||
background-color: @mdb-radio-color-on;
|
||||
transform: scale3d(0, 0, 0);
|
||||
}
|
||||
.check:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
content: "";
|
||||
background-color: @mdb-text-color-primary;
|
||||
left: -18px;
|
||||
top: -18px;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
border-radius: 100%;
|
||||
z-index: 1;
|
||||
opacity: 0;
|
||||
margin: 0;
|
||||
transform: scale3d(1.5, 1.5, 1);
|
||||
}
|
||||
|
||||
input[type=radio]:focus:not(:checked) ~ .check:after {
|
||||
animation: rippleOff 500ms;
|
||||
}
|
||||
input[type=radio]:focus:checked ~ .check:after {
|
||||
animation: rippleOn 500ms;
|
||||
}
|
||||
|
||||
input[type=radio] {
|
||||
opacity: 0;
|
||||
height: 0;
|
||||
width: 0;
|
||||
overflow: hidden;
|
||||
|
||||
&:checked {
|
||||
.radio-color(@mdb-radio-color-on, 1);
|
||||
}
|
||||
&:checked ~ .check {
|
||||
transform: scale3d(0.55, 0.55, 1);
|
||||
}
|
||||
}
|
||||
|
||||
input[type=radio][disabled] {
|
||||
|
||||
// light theme spec: Disabled: #000000, Opacity 26%
|
||||
.radio-color(@black, 0.26);
|
||||
|
||||
// dark theme spec: Disabled: #FFFFFF, Opacity 30%
|
||||
.theme-dark & {
|
||||
.radio-color(@white, 0.30);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rippleOn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@keyframes rippleOff {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
82
public/assets/vendor/bootstrap-material-design/less/_shadows.less
vendored
Normal file
82
public/assets/vendor/bootstrap-material-design/less/_shadows.less
vendored
Normal file
|
@ -0,0 +1,82 @@
|
|||
.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() {
|
||||
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() {
|
||||
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() {
|
||||
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() {
|
||||
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() {
|
||||
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.
|
||||
.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);
|
||||
}
|
24
public/assets/vendor/bootstrap-material-design/less/_tabs.less
vendored
Normal file
24
public/assets/vendor/bootstrap-material-design/less/_tabs.less
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
.nav-tabs {
|
||||
background: @brand-primary;
|
||||
> li {
|
||||
> a {
|
||||
color: #FFFFFF;
|
||||
border: 0;
|
||||
margin: 0;
|
||||
&:hover {
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
& > a, & > a:hover, & > a:focus {
|
||||
background-color: transparent !important;
|
||||
border: 0 !important;
|
||||
color: #FFFFFF !important;
|
||||
font-weight: 500;
|
||||
}
|
||||
&.disabled > a, &.disabled > a:hover {
|
||||
color: rgba(255,255,255,0.5);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
6
public/assets/vendor/bootstrap-material-design/less/_themes.less
vendored
Normal file
6
public/assets/vendor/bootstrap-material-design/less/_themes.less
vendored
Normal file
|
@ -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 {
|
||||
|
||||
}
|
83
public/assets/vendor/bootstrap-material-design/less/_togglebutton.less
vendored
Normal file
83
public/assets/vendor/bootstrap-material-design/less/_togglebutton.less
vendored
Normal file
|
@ -0,0 +1,83 @@
|
|||
.togglebutton {
|
||||
vertical-align: middle;
|
||||
&, label, input, .toggle {
|
||||
user-select: none;
|
||||
}
|
||||
label {
|
||||
cursor: pointer;
|
||||
color: @mdb-toggle-label-color;
|
||||
.mdb-label-color-toggle-focus();
|
||||
|
||||
// Hide original checkbox
|
||||
input[type=checkbox] {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.toggle {
|
||||
text-align: left; // Issue #737 horizontal form
|
||||
}
|
||||
// Switch bg off and disabled
|
||||
.toggle,
|
||||
input[type=checkbox][disabled] + .toggle {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
width: 30px;
|
||||
height: 15px;
|
||||
background-color: rgba(80, 80, 80, 0.7);
|
||||
border-radius: 15px;
|
||||
margin-right: 15px;
|
||||
transition: background 0.3s ease;
|
||||
vertical-align: middle;
|
||||
}
|
||||
// Handle off
|
||||
.toggle:after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: #F1F1F1;
|
||||
border-radius: 20px;
|
||||
position: relative;
|
||||
box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);
|
||||
left: -5px;
|
||||
top: -2px;
|
||||
transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// set bg when checked
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
15
public/assets/vendor/bootstrap-material-design/less/_typography.less
vendored
Normal file
15
public/assets/vendor/bootstrap-material-design/less/_typography.less
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
.text-warning {
|
||||
color: @brand-warning;
|
||||
}
|
||||
.text-primary {
|
||||
color: @brand-primary;
|
||||
}
|
||||
.text-danger {
|
||||
color: @brand-danger;
|
||||
}
|
||||
.text-success {
|
||||
color: @brand-success;
|
||||
}
|
||||
.text-info {
|
||||
color: @brand-info;
|
||||
}
|
172
public/assets/vendor/bootstrap-material-design/less/_variables.less
vendored
Normal file
172
public/assets/vendor/bootstrap-material-design/less/_variables.less
vendored
Normal file
|
@ -0,0 +1,172 @@
|
|||
@import "_colors.less";
|
||||
|
||||
// Typography elements
|
||||
@mdb-font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;
|
||||
@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);
|
||||
|
||||
|
||||
@mdb-label-color: ~"rgba(@{rgb-black}, 0.26)";
|
||||
@mdb-label-color-toggle-focus: ~"rgba(@{rgb-black}, .54)";
|
||||
|
||||
|
||||
// import bs variables for less, last declared wins.
|
||||
@import "_import-bs-less.less";
|
||||
|
||||
//---
|
||||
// Converted bs variables
|
||||
|
||||
// Bootstrap brand color customization
|
||||
@brand-primary: @teal;
|
||||
@brand-success: @green;
|
||||
@brand-danger: @red;
|
||||
@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;
|
||||
|
||||
@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%;
|
||||
//---
|
||||
|
||||
|
||||
|
||||
|
||||
// --------------------
|
||||
// inputs
|
||||
@mdb-input-placeholder-color: #BDBDBD;
|
||||
@mdb-input-underline-color: #D2D2D2;
|
||||
@mdb-label-static-size-ratio: 75 / 100;
|
||||
@mdb-help-block-size-ratio: 75 / 100;
|
||||
|
||||
@mdb-input-font-size-base: 16px;
|
||||
@mdb-input-font-size-large: ceil((@font-size-base * 1.25)); // ~20px
|
||||
@mdb-input-font-size-small: ceil((@font-size-base * 0.75)); // ~12px
|
||||
|
||||
// FIXME: with #733 customization of bootstrap, consider how these could be based on the original bs customized variables
|
||||
//** Unit-less `line-height` for use in components like buttons.
|
||||
@mdb-input-line-height-base: @line-height-base; //1.428571429; // 20/14
|
||||
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
|
||||
@mdb-input-line-height-computed: floor((@mdb-input-font-size-base * @mdb-input-line-height-base)); // ~20px
|
||||
@mdb-input-line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome
|
||||
@mdb-input-line-height-small: 1.5;
|
||||
|
||||
//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
|
||||
@mdb-input-padding-base-vertical: 8px - 1px; // was 6.
|
||||
@mdb-input-padding-base-horizontal: 0; // was 12.
|
||||
@mdb-label-as-placeholder-shim-base: 0; // manual adjustment of label top when positioned as placeholder
|
||||
@mdb-label-top-margin-base: 16px;
|
||||
|
||||
@mdb-input-padding-large-vertical: 10px - 1px; // 10
|
||||
@mdb-input-padding-large-horizontal: 0; // 16
|
||||
@mdb-label-as-placeholder-shim-large: -4px; // manual adjustment of label top when positioned as placeholder
|
||||
@mdb-label-top-margin-large: 16px;
|
||||
|
||||
@mdb-input-padding-small-vertical: 4px - 1px; // 5
|
||||
@mdb-input-padding-small-horizontal: 0; // 10
|
||||
@mdb-label-as-placeholder-shim-small: 8px; // manual adjustment of label top when positioned as placeholder
|
||||
@mdb-label-top-margin-small: 12px;
|
||||
|
||||
@mdb-input-padding-xs-vertical: 2px; // 1
|
||||
@mdb-input-padding-xs-horizontal: 0; // 5
|
||||
|
||||
@mdb-input-border-radius-base: 0;
|
||||
@mdb-input-border-radius-large: 0;
|
||||
@mdb-input-border-radius-small: 0;
|
||||
|
||||
|
||||
//** Default `.form-control` height
|
||||
@mdb-input-height-base: (@mdb-input-line-height-computed + (@mdb-input-padding-base-vertical * 2) + 2);
|
||||
//** Large `.form-control` height
|
||||
@mdb-input-height-large: (ceil(@mdb-input-font-size-large * @mdb-input-line-height-large) + (@mdb-input-padding-large-vertical * 2) + 2);
|
||||
//** Small `.form-control` height
|
||||
@mdb-input-height-small: (floor(@mdb-input-font-size-small * @mdb-input-line-height-small) + (@mdb-input-padding-small-vertical * 2) + 2);
|
||||
|
||||
|
||||
|
||||
|
||||
// Card
|
||||
@mdb-card-body-text: @mdb-text-color-primary;
|
||||
@mdb-card-body-background: #fff;
|
||||
@mdb-card-image-headline: #fff;
|
||||
|
||||
@text-disabled: #a8a8a8;
|
||||
@background-disabled: #eaeaea;
|
||||
|
||||
// Checkboxes
|
||||
@mdb-checkbox-size: 20px;
|
||||
@mdb-checkbox-animation-ripple: 500ms;
|
||||
@mdb-checkbox-animation-check: 0.3s;
|
||||
@mdb-checkbox-checked-color: @brand-primary;
|
||||
|
||||
@mdb-checkbox-border-size: 2px;
|
||||
@mdb-checkbox-label-color: @mdb-label-color;
|
||||
@mdb-checkbox-border-color: @mdb-label-color-toggle-focus;
|
||||
|
||||
// Popovers and Popups
|
||||
@mdb-popover-background: rgba(101, 101, 101, 0.9);
|
||||
@mdb-popover-color: #ececec;
|
||||
|
||||
// Dropdown Menu
|
||||
@mdb-dropdown-font-size: 16px;
|
||||
|
||||
// Toggle
|
||||
@mdb-toggle-label-color: @mdb-label-color;
|
||||
|
||||
// Radio:
|
||||
@mdb-radio-label-color: @mdb-label-color;
|
||||
@mdb-radio-color-off: @mdb-label-color-toggle-focus;
|
||||
@mdb-radio-color-on: @brand-primary;
|
||||
|
||||
// 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: @body-bg; //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;
|
26
public/assets/vendor/bootstrap-material-design/less/_welljumbo.less
vendored
Normal file
26
public/assets/vendor/bootstrap-material-design/less/_welljumbo.less
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
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: @border-radius-base;
|
||||
border: 0;
|
||||
p {
|
||||
font-weight: 300;
|
||||
}
|
||||
.variations(~"", ~"", background-color, @white);
|
||||
}
|
||||
}
|
||||
}
|
4
public/assets/vendor/bootstrap-material-design/less/bootstrap-material-design.less
vendored
Normal file
4
public/assets/vendor/bootstrap-material-design/less/bootstrap-material-design.less
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
@import "_variables.less";
|
||||
@import "_mixins.less";
|
||||
@import "_shadows.less";
|
||||
@import '_core.less';
|
15
public/assets/vendor/bootstrap-material-design/less/plugins/_plugin-dropdownjs.less
vendored
Normal file
15
public/assets/vendor/bootstrap-material-design/less/plugins/_plugin-dropdownjs.less
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
.dropdownjs::after {
|
||||
right: 5px;
|
||||
top: 3px;
|
||||
font-size: 25px;
|
||||
position: absolute;
|
||||
|
||||
// bring in the material icon font and icon by code
|
||||
font-family: 'Material Icons';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
content: "\e5c5"; // found here: https://github.com/google/material-design-icons/search?utf8=%E2%9C%93&q=arrow_drop_down
|
||||
|
||||
pointer-events: none;
|
||||
color: #757575;
|
||||
}
|
110
public/assets/vendor/bootstrap-material-design/less/plugins/_plugin-nouislider.less
vendored
Normal file
110
public/assets/vendor/bootstrap-material-design/less/plugins/_plugin-nouislider.less
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
.noUi-target,
|
||||
.noUi-target * {
|
||||
-webkit-touch-callout: none;
|
||||
-ms-touch-action: none;
|
||||
user-select: none;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.noUi-base {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
.noUi-origin {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.noUi-handle {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.noUi-stacking .noUi-handle {
|
||||
z-index: 10;
|
||||
}
|
||||
//.noUi-stacking + .noUi-origin {
|
||||
// *z-index: -1;
|
||||
//} WARNING: Property with star prefix found. Checks for the star property hack (targets IE6/7) (star-property-hack) Browsers: All
|
||||
.noUi-state-tap .noUi-origin {
|
||||
transition: left 0.3s, top 0.3s;
|
||||
}
|
||||
.noUi-state-drag * {
|
||||
cursor: inherit !important;
|
||||
}
|
||||
.noUi-horizontal {
|
||||
height: 10px;
|
||||
}
|
||||
.noUi-handle {
|
||||
box-sizing: border-box;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
left: -10px;
|
||||
top: -5px;
|
||||
cursor: ew-resize;
|
||||
border-radius: 100%;
|
||||
transition: all 0.2s ease-out;
|
||||
border: 1px solid;
|
||||
}
|
||||
.noUi-vertical .noUi-handle {
|
||||
margin-left: 5px;
|
||||
cursor: ns-resize;
|
||||
}
|
||||
.noUi-horizontal.noUi-extended {
|
||||
padding: 0 15px;
|
||||
}
|
||||
.noUi-horizontal.noUi-extended .noUi-origin {
|
||||
right: -15px;
|
||||
}
|
||||
.noUi-background {
|
||||
height: 2px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
.noUi-origin {
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
height: 2px;
|
||||
background: #c8c8c8;
|
||||
&[style^="left: 0"] .noUi-handle {
|
||||
background-color: #fff;
|
||||
border: 2px solid #c8c8c8;
|
||||
&.noUi-active {
|
||||
border-width: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.noUi-target {
|
||||
border-radius: @border-radius-base;
|
||||
}
|
||||
.noUi-horizontal {
|
||||
height: 2px;
|
||||
margin: 15px 0;
|
||||
}
|
||||
.noUi-vertical {
|
||||
height: 100%;
|
||||
width: 2px;
|
||||
margin: 0 15px;
|
||||
display: inline-block;
|
||||
}
|
||||
.noUi-handle.noUi-active {
|
||||
transform: scale3d(2.5, 2.5, 1);
|
||||
}
|
||||
[disabled].noUi-slider{
|
||||
opacity: 0.5;
|
||||
}
|
||||
[disabled] .noUi-handle {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.slider {
|
||||
background: #c8c8c8;
|
||||
}
|
||||
|
||||
.slider {
|
||||
.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);
|
||||
}
|
91
public/assets/vendor/bootstrap-material-design/less/plugins/_plugin-selectize.less
vendored
Normal file
91
public/assets/vendor/bootstrap-material-design/less/plugins/_plugin-selectize.less
vendored
Normal file
|
@ -0,0 +1,91 @@
|
|||
// Support for Selectize plugin
|
||||
// http://brianreavis.github.io/selectize.js/
|
||||
|
||||
.selectize-control.single, .selectize-control.multi {
|
||||
padding: 0;
|
||||
.selectize-input, .selectize-input.input-active {
|
||||
|
||||
cursor: text;
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
font-size: 14px;
|
||||
line-height: 30px;
|
||||
.has-items {
|
||||
padding: 0;
|
||||
}
|
||||
&:after {
|
||||
right: 5px;
|
||||
position: absolute;
|
||||
font-size: 25px;
|
||||
content: "\e5c5";
|
||||
font-family: 'Material Icons';
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
input {
|
||||
font-size: 14px;
|
||||
outline: 0;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
}
|
||||
&.label-floating-fix input {
|
||||
opacity: 0;
|
||||
}
|
||||
> div, > .item {
|
||||
display: inline-block;
|
||||
margin: 0 8px 3px 0;
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
&:after {
|
||||
content: ",";
|
||||
}
|
||||
&:last-of-type:after {
|
||||
content: "";
|
||||
}
|
||||
&.active {
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.selectize-dropdown {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
border: 0;
|
||||
width: 100% !important;
|
||||
left: 0 !important;
|
||||
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: @border-radius-base;
|
||||
padding: 0;
|
||||
margin-top: 3px;
|
||||
.active {
|
||||
background-color: inherit;
|
||||
}
|
||||
.highlight {
|
||||
background-color: #d5d8ff;
|
||||
}
|
||||
.selected, .selected.active {
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
[data-selectable], .optgroup-header {
|
||||
padding: 10px 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.dropdown-active ~ .selectize-dropdown {
|
||||
display: block;
|
||||
}
|
||||
}
|
32
public/assets/vendor/bootstrap-material-design/less/plugins/_plugin-snackbarjs.less
vendored
Normal file
32
public/assets/vendor/bootstrap-material-design/less/plugins/_plugin-snackbarjs.less
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
// Support for SnackbarJS plugin
|
||||
// https://github.com/FezVrasta/snackbarjs
|
||||
|
||||
.snackbar {
|
||||
// Style
|
||||
background-color: #323232;
|
||||
color: @mdb-text-color-light;
|
||||
font-size: 14px;
|
||||
border-radius: @border-radius-base;
|
||||
.shadow-z-1;
|
||||
|
||||
// Animation
|
||||
height: 0;
|
||||
transition: transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0s linear 0.2s, padding 0s linear 0.2s, height 0s linear 0.2s;
|
||||
transform: translateY(200%);
|
||||
}
|
||||
|
||||
.snackbar.snackbar-opened {
|
||||
// Style
|
||||
padding: 14px 15px;
|
||||
margin-bottom: 20px;
|
||||
|
||||
// Animation
|
||||
height: auto;
|
||||
transition: transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0s linear 0.2s, height 0s linear 0.2s;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
// Variations
|
||||
.snackbar.toast {
|
||||
border-radius: 200px;
|
||||
}
|
36
public/assets/vendor/bootstrap-material-design/less/ripples.less
vendored
Normal file
36
public/assets/vendor/bootstrap-material-design/less/ripples.less
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
.withripple {
|
||||
position: relative;
|
||||
}
|
||||
.ripple-container {
|
||||
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; // fallback color
|
||||
background-color: rgba(0,0,0,0.05);
|
||||
transform: scale(1);
|
||||
transform-origin: 50%;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
.ripple.ripple-on {
|
||||
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 {
|
||||
transition: opacity 0.1s linear 0s !important;
|
||||
opacity: 0;
|
||||
}
|
BIN
public/assets/vendor/bootstrap-material-design/material-design-color-palette.jpg
vendored
Normal file
BIN
public/assets/vendor/bootstrap-material-design/material-design-color-palette.jpg
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
73
public/assets/vendor/bootstrap-material-design/package.json
vendored
Normal file
73
public/assets/vendor/bootstrap-material-design/package.json
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
{
|
||||
"name": "bootstrap-material-design",
|
||||
"version": "0.5.10",
|
||||
"description": "Material Design for Bootstrap 3",
|
||||
"main": "scripts/index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/FezVrasta/bootstrap-material-design.git"
|
||||
},
|
||||
"author": "Federico Zivolo",
|
||||
"bugs": {
|
||||
"url": "https://github.com/FezVrasta/bootstrap-material-design/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"material",
|
||||
"design",
|
||||
"bootstrap",
|
||||
"theme",
|
||||
"google",
|
||||
"android",
|
||||
"browser",
|
||||
"framework"
|
||||
],
|
||||
"homepage": "https://github.com/FezVrasta/bootstrap-material-design",
|
||||
"dependencies": {
|
||||
"bootstrap": ">=3.0",
|
||||
"jquery": ">=1.9.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "^0.4.5",
|
||||
"grunt-autoprefixer": "~3.0.3",
|
||||
"grunt-contrib-clean": "~0.6.0",
|
||||
"grunt-contrib-compress": "~0.14.0",
|
||||
"grunt-contrib-concat": "~0.5.1",
|
||||
"grunt-contrib-connect": "~0.11.2",
|
||||
"grunt-contrib-copy": "~0.8.0",
|
||||
"grunt-contrib-csslint": "~0.5.0",
|
||||
"grunt-contrib-cssmin": "~0.14.0",
|
||||
"grunt-contrib-jshint": "~0.11.2",
|
||||
"grunt-contrib-htmlmin": "~0.6.0",
|
||||
"grunt-contrib-less": "~1.1.0",
|
||||
"grunt-contrib-uglify": "~0.9.2",
|
||||
"grunt-contrib-watch": "~0.6.1",
|
||||
"grunt-exec": "~0.4.6",
|
||||
"grunt-html": "~5.0.1",
|
||||
"grunt-jekyll": "~0.4.2",
|
||||
"grunt-jscs": "~2.3.0",
|
||||
"grunt-bootlint": "latest",
|
||||
"grunt-contrib-jasmine": "^0.8.0",
|
||||
"grunt-dependency-installer": "^0.2.0",
|
||||
"grunt-less-to-sass": "latest",
|
||||
"grunt-newer": "^0.7.0",
|
||||
"grunt-contrib-sass": "^0.8.1",
|
||||
"jshint-stylish": "^1.0.0",
|
||||
"load-grunt-tasks": "~3.3.0",
|
||||
"spacejam": "^1.1.1"
|
||||
},
|
||||
"_bootstraps_dependencies_we_dont_use_yet": {
|
||||
"grunt-contrib-jade": "~0.15.0",
|
||||
"grunt-csscomb": "~3.1.0",
|
||||
"grunt-saucelabs": "~8.6.1",
|
||||
"grunt-sed": "twbs/grunt-sed#v0.2.0",
|
||||
"markdown-it": "^5.0.0",
|
||||
"npm-shrinkwrap": "^200.4.0",
|
||||
"time-grunt": "^1.2.1"
|
||||
}
|
||||
}
|
||||
|
||||
|
19
public/assets/vendor/bootstrap-material-design/sass/_alerts.scss
vendored
Normal file
19
public/assets/vendor/bootstrap-material-design/sass/_alerts.scss
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.alert {
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
|
||||
// SASS conversion note: please mirror any content change in _mixins-shared.scss alert-variations-content
|
||||
@include alert-variations(unquote(".alert"), unquote(""), $mdb-text-color-light);
|
||||
|
||||
&-info, &-danger, &-warning, &-success {
|
||||
color: $mdb-text-color-light;
|
||||
}
|
||||
|
||||
&-default {
|
||||
a, .alert-link {
|
||||
color: $mdb-text-color-primary;
|
||||
}
|
||||
}
|
||||
}
|
248
public/assets/vendor/bootstrap-material-design/sass/_buttons.scss
vendored
Normal file
248
public/assets/vendor/bootstrap-material-design/sass/_buttons.scss
vendored
Normal file
|
@ -0,0 +1,248 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
// specification: https://www.google.com/design/spec/components/buttons.html
|
||||
|
||||
@mixin typo-button($colorContrast: false) {
|
||||
font-size: $mdb-btn-font-size-base;
|
||||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
//line-height: 1;
|
||||
letter-spacing: 0;
|
||||
|
||||
@if ($colorContrast) {
|
||||
opacity: 0.87;
|
||||
}
|
||||
}
|
||||
|
||||
// mdb default buttons are flat by default
|
||||
// synchronized with mdl 11/23/15
|
||||
.btn,
|
||||
.input-group-btn .btn {
|
||||
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: 0;
|
||||
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;
|
||||
|
||||
&: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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--
|
||||
// color variations
|
||||
&.btn-raised,
|
||||
&.btn-fab,
|
||||
.btn-group-raised & {
|
||||
@include background-variations(unquote(".btn"), unquote(""), $mdb-btn-background-color);
|
||||
}
|
||||
|
||||
//---
|
||||
// btn-raised
|
||||
&.btn-raised,
|
||||
.btn-group-raised & {
|
||||
&:not(.btn-link) {
|
||||
@include shadow-2dp();
|
||||
|
||||
// colors on hover, focus, active
|
||||
&:hover,
|
||||
&:focus,
|
||||
&.active,
|
||||
&:active {
|
||||
|
||||
outline: 0;
|
||||
|
||||
// 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?
|
||||
// SASS conversion note: please mirror any content change in _mixins-shared.scss button-variations-content
|
||||
@include button-variations(unquote(".btn"), "", $mdb-btn-background-color);
|
||||
|
||||
// Spec:
|
||||
// - Raised Light/Light theme no hover.
|
||||
// - Raised Dark/Dark theme Hover color: 600
|
||||
.theme-dark & {
|
||||
}
|
||||
}
|
||||
|
||||
// shadow on active
|
||||
&.active,
|
||||
&:active {
|
||||
&,
|
||||
&:hover {
|
||||
@include shadow-4dp();
|
||||
}
|
||||
}
|
||||
|
||||
// shadow on focus
|
||||
// Focus should take precedence over active, so specificity is needed
|
||||
&:focus {
|
||||
&,
|
||||
&.active,
|
||||
&:active {
|
||||
&,
|
||||
&:hover {
|
||||
@include focus-shadow();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.btn-fab {
|
||||
// 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: 50%;
|
||||
}
|
||||
|
||||
&.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;
|
||||
@include left(($mdb-btn-icon-size-mini - $mdb-btn-fab-font-size) / 2);
|
||||
}
|
||||
}
|
||||
|
||||
i.material-icons {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
//left: 50%;
|
||||
@include 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// btn-group variations
|
||||
.btn-group,
|
||||
.btn-group-vertical {
|
||||
|
||||
position: relative;
|
||||
//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;
|
||||
}
|
||||
|
||||
& > .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 shadow-2dp();
|
||||
}
|
||||
|
||||
& .btn + .btn,
|
||||
.btn,
|
||||
.btn:active,
|
||||
.btn-group {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
70
public/assets/vendor/bootstrap-material-design/sass/_cards.scss
vendored
Normal file
70
public/assets/vendor/bootstrap-material-design/sass/_cards.scss
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.card {
|
||||
|
||||
/***** Make height equal to width (http://stackoverflow.com/a/6615994) ****/
|
||||
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
.card-height-indicator {
|
||||
margin-top: 100%;
|
||||
}
|
||||
.card-content {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
|
||||
border-radius: $border-radius-base;
|
||||
color: $mdb-card-body-text;
|
||||
background: $mdb-card-body-background;
|
||||
|
||||
@include shadow-z-2();
|
||||
|
||||
.card-image {
|
||||
height: 60%;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 2px;
|
||||
pointer-events: none;
|
||||
}
|
||||
.card-image-headline {
|
||||
position: absolute;
|
||||
bottom: 16px;
|
||||
//left: 18px;
|
||||
@include left(18px);
|
||||
color: $mdb-card-image-headline;
|
||||
font-size: 2em;
|
||||
}
|
||||
}
|
||||
|
||||
.card-body {
|
||||
height: 30%;
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
height: 10%;
|
||||
padding: 18px;
|
||||
button, a {
|
||||
margin: 0 !important;
|
||||
position: relative;
|
||||
bottom: 25px;
|
||||
width: auto;
|
||||
&:first-child {
|
||||
//left: -15px;
|
||||
@include left(-15px);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
276
public/assets/vendor/bootstrap-material-design/sass/_checkboxes.scss
vendored
Normal file
276
public/assets/vendor/bootstrap-material-design/sass/_checkboxes.scss
vendored
Normal file
|
@ -0,0 +1,276 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
// http://www.google.com/design/spec/components/selection-controls.html#selection-controls-checkbox
|
||||
|
||||
.checkbox label,
|
||||
label.checkbox-inline {
|
||||
cursor: pointer;
|
||||
//padding-left: 0; // Reset for Bootstrap rule
|
||||
@include padding-left(6px);
|
||||
color: $mdb-checkbox-label-color;
|
||||
@include mdb-label-color-toggle-focus();
|
||||
}
|
||||
.checkbox label {
|
||||
@include padding-left(45px);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.checkbox,
|
||||
label.checkbox-inline {
|
||||
// Hide native checkbox
|
||||
input[type=checkbox] {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
margin: 0;
|
||||
z-index: -1;
|
||||
width: 0;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
//left: 0;
|
||||
@include left(0);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.checkbox-material {
|
||||
vertical-align: middle;
|
||||
top: 3px;
|
||||
position: absolute;
|
||||
//right: 0;
|
||||
@include left(0);
|
||||
&:before { // FIXME: document why this is necessary (doesn't seem to be on chrome)
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
//left: 0;
|
||||
@include left(0);
|
||||
content: "";
|
||||
background-color: rgba(0, 0, 0, .84);
|
||||
height: $mdb-checkbox-size;
|
||||
width: $mdb-checkbox-size;
|
||||
border-radius: 100%;
|
||||
z-index: 1;
|
||||
opacity: 0;
|
||||
margin: 0;
|
||||
transform: scale3d(2.3, 2.3, 1);
|
||||
}
|
||||
|
||||
.check {
|
||||
direction: ltr;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: $mdb-checkbox-size;
|
||||
height: $mdb-checkbox-size;
|
||||
border: $mdb-checkbox-border-size solid $mdb-checkbox-border-color;
|
||||
border-radius: $border-radius-base;
|
||||
overflow: hidden;
|
||||
z-index: 1;
|
||||
}
|
||||
.check:before {
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
content: "";
|
||||
transform: rotate(45deg);
|
||||
display: block;
|
||||
margin-top: -4px;
|
||||
margin-left: 6px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
box-shadow: 0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0 inset;
|
||||
}
|
||||
}
|
||||
|
||||
input[type=checkbox] {
|
||||
|
||||
&:focus + .checkbox-material .check:after {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
|
||||
&:checked {
|
||||
& + .checkbox-material:before {
|
||||
animation: rippleOn 500ms;
|
||||
}
|
||||
& + .checkbox-material .check:before {
|
||||
animation: checkbox-on $mdb-checkbox-animation-check forwards;
|
||||
}
|
||||
& + .checkbox-material .check:after {
|
||||
animation: rippleOn $mdb-checkbox-animation-ripple forwards; // Ripple effect on check
|
||||
}
|
||||
}
|
||||
|
||||
&:not(:checked) {
|
||||
& + .checkbox-material:before {
|
||||
animation: rippleOff 500ms;
|
||||
}
|
||||
& + .checkbox-material .check:before {
|
||||
animation: checkbox-off $mdb-checkbox-animation-check forwards;
|
||||
}
|
||||
& + .checkbox-material .check:after {
|
||||
animation: rippleOff $mdb-checkbox-animation-ripple forwards; // Ripple effect on uncheck
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&: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 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
20px -12px 0 11px;
|
||||
}
|
||||
|
||||
& + .checkbox-material .check:after {
|
||||
//background-color: $brand-success; // FIXME: seems like tho wrong color, test and make sure it can be removed
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Style for disabled inputs
|
||||
fieldset[disabled] &,
|
||||
fieldset[disabled] & input[type=checkbox],
|
||||
input[type=checkbox][disabled]:not(:checked) ~ .checkbox-material .check:before,
|
||||
input[type=checkbox][disabled]:not(:checked) ~ .checkbox-material .check,
|
||||
input[type=checkbox][disabled] + .circle {
|
||||
opacity: 0.5;
|
||||
}
|
||||
input[type=checkbox][disabled] + .checkbox-material .check:after {
|
||||
background-color: $mdb-text-color-primary;
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes checkbox-on {
|
||||
0% {
|
||||
box-shadow: 0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
15px 2px 0 11px;
|
||||
}
|
||||
50% {
|
||||
box-shadow: 0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
20px 2px 0 11px;
|
||||
}
|
||||
100% {
|
||||
box-shadow: 0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
20px -12px 0 11px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes checkbox-off {
|
||||
0% {
|
||||
box-shadow: 0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
20px -12px 0 11px,
|
||||
0 0 0 0 inset;
|
||||
}
|
||||
25% {
|
||||
box-shadow: 0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
20px -12px 0 11px,
|
||||
0 0 0 0 inset;
|
||||
}
|
||||
50% {
|
||||
transform: rotate(45deg);
|
||||
margin-top: -4px;
|
||||
//margin-left: 6px;
|
||||
@include margin-left(6px);
|
||||
width: 0;
|
||||
height: 0;
|
||||
box-shadow: 0 0 0 10px,
|
||||
10px -10px 0 10px,
|
||||
32px 0 0 20px,
|
||||
0px 32px 0 20px,
|
||||
-5px 5px 0 10px,
|
||||
15px 2px 0 11px,
|
||||
0 0 0 0 inset;
|
||||
}
|
||||
51% {
|
||||
transform: rotate(0deg);
|
||||
margin-top: -2px;
|
||||
//margin-left: -2px;
|
||||
@include margin-left(-2px);
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
box-shadow: 0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0px 0 0 10px inset;
|
||||
}
|
||||
100% {
|
||||
transform: rotate(0deg);
|
||||
margin-top: -2px;
|
||||
//margin-left: -2px;
|
||||
@include margin-left(-2px);
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
box-shadow: 0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0 0 0 0,
|
||||
0px 0 0 0 inset;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rippleOn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rippleOff {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
311
public/assets/vendor/bootstrap-material-design/sass/_colors-map.scss
vendored
Normal file
311
public/assets/vendor/bootstrap-material-design/sass/_colors-map.scss
vendored
Normal file
|
@ -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: "")
|
||||
//);
|
361
public/assets/vendor/bootstrap-material-design/sass/_colors.scss
vendored
Normal file
361
public/assets/vendor/bootstrap-material-design/sass/_colors.scss
vendored
Normal file
|
@ -0,0 +1,361 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
/*
|
||||
|
||||
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@mixin (function(){
|
||||
var colors = {}, main = {};
|
||||
$(".color-group")@mixin each(function(){
|
||||
var color = $(this).find(".name").text().trim().toLowerCase().replace(" ", "-");
|
||||
colors[color] = {};
|
||||
|
||||
$(this)@mixin 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 = "";
|
||||
$@mixin each(colors, function(name, shades){
|
||||
LESS += "\n\n";
|
||||
$@mixin each(shades, function(shade, hex){
|
||||
LESS += "$" + name + "-" + shade + ": " + hex + ";\n" !default;
|
||||
});
|
||||
if (main[name]) {
|
||||
LESS += "$" + name + ": " + main[name] + ";\n" !default;
|
||||
}
|
||||
});
|
||||
console.log(LESS);
|
||||
})();
|
||||
|
||||
|
||||
*/
|
||||
$red-50: #ffebee !default;
|
||||
$red-100: #ffcdd2 !default;
|
||||
$red-200: #ef9a9a !default;
|
||||
$red-300: #e57373 !default;
|
||||
$red-400: #ef5350 !default;
|
||||
$red-500: #f44336 !default;
|
||||
$red-600: #e53935 !default;
|
||||
$red-700: #d32f2f !default;
|
||||
$red-800: #c62828 !default;
|
||||
$red-900: #b71c1c !default;
|
||||
$red-A100: #ff8a80 !default;
|
||||
$red-A200: #ff5252 !default;
|
||||
$red-A400: #ff1744 !default;
|
||||
$red-A700: #d50000 !default;
|
||||
$red: $red-500 !default;
|
||||
|
||||
|
||||
$pink-50: #fce4ec !default;
|
||||
$pink-100: #f8bbd0 !default;
|
||||
$pink-200: #f48fb1 !default;
|
||||
$pink-300: #f06292 !default;
|
||||
$pink-400: #ec407a !default;
|
||||
$pink-500: #e91e63 !default;
|
||||
$pink-600: #d81b60 !default;
|
||||
$pink-700: #c2185b !default;
|
||||
$pink-800: #ad1457 !default;
|
||||
$pink-900: #880e4f !default;
|
||||
$pink-A100: #ff80ab !default;
|
||||
$pink-A200: #ff4081 !default;
|
||||
$pink-A400: #f50057 !default;
|
||||
$pink-A700: #c51162 !default;
|
||||
$pink: $pink-500 !default;
|
||||
|
||||
|
||||
$purple-50: #f3e5f5 !default;
|
||||
$purple-100: #e1bee7 !default;
|
||||
$purple-200: #ce93d8 !default;
|
||||
$purple-300: #ba68c8 !default;
|
||||
$purple-400: #ab47bc !default;
|
||||
$purple-500: #9c27b0 !default;
|
||||
$purple-600: #8e24aa !default;
|
||||
$purple-700: #7b1fa2 !default;
|
||||
$purple-800: #6a1b9a !default;
|
||||
$purple-900: #4a148c !default;
|
||||
$purple-A100: #ea80fc !default;
|
||||
$purple-A200: #e040fb !default;
|
||||
$purple-A400: #d500f9 !default;
|
||||
$purple-A700: #aa00ff !default;
|
||||
$purple: $purple-500 !default;
|
||||
|
||||
|
||||
$deep-purple-50: #ede7f6 !default;
|
||||
$deep-purple-100: #d1c4e9 !default;
|
||||
$deep-purple-200: #b39ddb !default;
|
||||
$deep-purple-300: #9575cd !default;
|
||||
$deep-purple-400: #7e57c2 !default;
|
||||
$deep-purple-500: #673ab7 !default;
|
||||
$deep-purple-600: #5e35b1 !default;
|
||||
$deep-purple-700: #512da8 !default;
|
||||
$deep-purple-800: #4527a0 !default;
|
||||
$deep-purple-900: #311b92 !default;
|
||||
$deep-purple-A100: #b388ff !default;
|
||||
$deep-purple-A200: #7c4dff !default;
|
||||
$deep-purple-A400: #651fff !default;
|
||||
$deep-purple-A700: #6200ea !default;
|
||||
$deep-purple: $deep-purple-500 !default;
|
||||
|
||||
|
||||
$indigo-50: #e8eaf6 !default;
|
||||
$indigo-100: #c5cae9 !default;
|
||||
$indigo-200: #9fa8da !default;
|
||||
$indigo-300: #7986cb !default;
|
||||
$indigo-400: #5c6bc0 !default;
|
||||
$indigo-500: #3f51b5 !default;
|
||||
$indigo-600: #3949ab !default;
|
||||
$indigo-700: #303f9f !default;
|
||||
$indigo-800: #283593 !default;
|
||||
$indigo-900: #1a237e !default;
|
||||
$indigo-A100: #8c9eff !default;
|
||||
$indigo-A200: #536dfe !default;
|
||||
$indigo-A400: #3d5afe !default;
|
||||
$indigo-A700: #304ffe !default;
|
||||
$indigo: $indigo-500 !default;
|
||||
|
||||
|
||||
$blue-50: #e3f2fd !default;
|
||||
$blue-100: #bbdefb !default;
|
||||
$blue-200: #90caf9 !default;
|
||||
$blue-300: #64b5f6 !default;
|
||||
$blue-400: #42a5f5 !default;
|
||||
$blue-500: #2196f3 !default;
|
||||
$blue-600: #1e88e5 !default;
|
||||
$blue-700: #1976d2 !default;
|
||||
$blue-800: #1565c0 !default;
|
||||
$blue-900: #0d47a1 !default;
|
||||
$blue-A100: #82b1ff !default;
|
||||
$blue-A200: #448aff !default;
|
||||
$blue-A400: #2979ff !default;
|
||||
$blue-A700: #2962ff !default;
|
||||
$blue: $blue-500 !default;
|
||||
|
||||
|
||||
$light-blue-50: #e1f5fe !default;
|
||||
$light-blue-100: #b3e5fc !default;
|
||||
$light-blue-200: #81d4fa !default;
|
||||
$light-blue-300: #4fc3f7 !default;
|
||||
$light-blue-400: #29b6f6 !default;
|
||||
$light-blue-500: #03a9f4 !default;
|
||||
$light-blue-600: #039be5 !default;
|
||||
$light-blue-700: #0288d1 !default;
|
||||
$light-blue-800: #0277bd !default;
|
||||
$light-blue-900: #01579b !default;
|
||||
$light-blue-A100: #80d8ff !default;
|
||||
$light-blue-A200: #40c4ff !default;
|
||||
$light-blue-A400: #00b0ff !default;
|
||||
$light-blue-A700: #0091ea !default;
|
||||
$light-blue: $light-blue-500 !default;
|
||||
|
||||
|
||||
$cyan-50: #e0f7fa !default;
|
||||
$cyan-100: #b2ebf2 !default;
|
||||
$cyan-200: #80deea !default;
|
||||
$cyan-300: #4dd0e1 !default;
|
||||
$cyan-400: #26c6da !default;
|
||||
$cyan-500: #00bcd4 !default;
|
||||
$cyan-600: #00acc1 !default;
|
||||
$cyan-700: #0097a7 !default;
|
||||
$cyan-800: #00838f !default;
|
||||
$cyan-900: #006064 !default;
|
||||
$cyan-A100: #84ffff !default;
|
||||
$cyan-A200: #18ffff !default;
|
||||
$cyan-A400: #00e5ff !default;
|
||||
$cyan-A700: #00b8d4 !default;
|
||||
$cyan: $cyan-500 !default;
|
||||
|
||||
|
||||
$teal-50: #e0f2f1 !default;
|
||||
$teal-100: #b2dfdb !default;
|
||||
$teal-200: #80cbc4 !default;
|
||||
$teal-300: #4db6ac !default;
|
||||
$teal-400: #26a69a !default;
|
||||
$teal-500: #009688 !default;
|
||||
$teal-600: #00897b !default;
|
||||
$teal-700: #00796b !default;
|
||||
$teal-800: #00695c !default;
|
||||
$teal-900: #004d40 !default;
|
||||
$teal-A100: #a7ffeb !default;
|
||||
$teal-A200: #64ffda !default;
|
||||
$teal-A400: #1de9b6 !default;
|
||||
$teal-A700: #00bfa5 !default;
|
||||
$teal: $teal-500 !default;
|
||||
|
||||
|
||||
$green-50: #e8f5e9 !default;
|
||||
$green-100: #c8e6c9 !default;
|
||||
$green-200: #a5d6a7 !default;
|
||||
$green-300: #81c784 !default;
|
||||
$green-400: #66bb6a !default;
|
||||
$green-500: #4caf50 !default;
|
||||
$green-600: #43a047 !default;
|
||||
$green-700: #388e3c !default;
|
||||
$green-800: #2e7d32 !default;
|
||||
$green-900: #1b5e20 !default;
|
||||
$green-A100: #b9f6ca !default;
|
||||
$green-A200: #69f0ae !default;
|
||||
$green-A400: #00e676 !default;
|
||||
$green-A700: #00c853 !default;
|
||||
$green: $green-500 !default;
|
||||
|
||||
|
||||
$light-green-50: #f1f8e9 !default;
|
||||
$light-green-100: #dcedc8 !default;
|
||||
$light-green-200: #c5e1a5 !default;
|
||||
$light-green-300: #aed581 !default;
|
||||
$light-green-400: #9ccc65 !default;
|
||||
$light-green-500: #8bc34a !default;
|
||||
$light-green-600: #7cb342 !default;
|
||||
$light-green-700: #689f38 !default;
|
||||
$light-green-800: #558b2f !default;
|
||||
$light-green-900: #33691e !default;
|
||||
$light-green-A100: #ccff90 !default;
|
||||
$light-green-A200: #b2ff59 !default;
|
||||
$light-green-A400: #76ff03 !default;
|
||||
$light-green-A700: #64dd17 !default;
|
||||
$light-green: $light-green-500 !default;
|
||||
|
||||
|
||||
$lime-50: #f9fbe7 !default;
|
||||
$lime-100: #f0f4c3 !default;
|
||||
$lime-200: #e6ee9c !default;
|
||||
$lime-300: #dce775 !default;
|
||||
$lime-400: #d4e157 !default;
|
||||
$lime-500: #cddc39 !default;
|
||||
$lime-600: #c0ca33 !default;
|
||||
$lime-700: #afb42b !default;
|
||||
$lime-800: #9e9d24 !default;
|
||||
$lime-900: #827717 !default;
|
||||
$lime-A100: #f4ff81 !default;
|
||||
$lime-A200: #eeff41 !default;
|
||||
$lime-A400: #c6ff00 !default;
|
||||
$lime-A700: #aeea00 !default;
|
||||
$lime: $lime-500 !default;
|
||||
|
||||
|
||||
$yellow-50: #fffde7 !default;
|
||||
$yellow-100: #fff9c4 !default;
|
||||
$yellow-200: #fff59d !default;
|
||||
$yellow-300: #fff176 !default;
|
||||
$yellow-400: #ffee58 !default;
|
||||
$yellow-500: #ffeb3b !default;
|
||||
$yellow-600: #fdd835 !default;
|
||||
$yellow-700: #fbc02d !default;
|
||||
$yellow-800: #f9a825 !default;
|
||||
$yellow-900: #f57f17 !default;
|
||||
$yellow-A100: #ffff8d !default;
|
||||
$yellow-A200: #ffff00 !default;
|
||||
$yellow-A400: #ffea00 !default;
|
||||
$yellow-A700: #ffd600 !default;
|
||||
$yellow: $yellow-500 !default;
|
||||
|
||||
|
||||
$amber-50: #fff8e1 !default;
|
||||
$amber-100: #ffecb3 !default;
|
||||
$amber-200: #ffe082 !default;
|
||||
$amber-300: #ffd54f !default;
|
||||
$amber-400: #ffca28 !default;
|
||||
$amber-500: #ffc107 !default;
|
||||
$amber-600: #ffb300 !default;
|
||||
$amber-700: #ffa000 !default;
|
||||
$amber-800: #ff8f00 !default;
|
||||
$amber-900: #ff6f00 !default;
|
||||
$amber-A100: #ffe57f !default;
|
||||
$amber-A200: #ffd740 !default;
|
||||
$amber-A400: #ffc400 !default;
|
||||
$amber-A700: #ffab00 !default;
|
||||
$amber: $amber-500 !default;
|
||||
|
||||
|
||||
$orange-50: #fff3e0 !default;
|
||||
$orange-100: #ffe0b2 !default;
|
||||
$orange-200: #ffcc80 !default;
|
||||
$orange-300: #ffb74d !default;
|
||||
$orange-400: #ffa726 !default;
|
||||
$orange-500: #ff9800 !default;
|
||||
$orange-600: #fb8c00 !default;
|
||||
$orange-700: #f57c00 !default;
|
||||
$orange-800: #ef6c00 !default;
|
||||
$orange-900: #e65100 !default;
|
||||
$orange-A100: #ffd180 !default;
|
||||
$orange-A200: #ffab40 !default;
|
||||
$orange-A400: #ff9100 !default;
|
||||
$orange-A700: #ff6d00 !default;
|
||||
$orange: $orange-500 !default;
|
||||
|
||||
|
||||
$deep-orange-50: #fbe9e7 !default;
|
||||
$deep-orange-100: #ffccbc !default;
|
||||
$deep-orange-200: #ffab91 !default;
|
||||
$deep-orange-300: #ff8a65 !default;
|
||||
$deep-orange-400: #ff7043 !default;
|
||||
$deep-orange-500: #ff5722 !default;
|
||||
$deep-orange-600: #f4511e !default;
|
||||
$deep-orange-700: #e64a19 !default;
|
||||
$deep-orange-800: #d84315 !default;
|
||||
$deep-orange-900: #bf360c !default;
|
||||
$deep-orange-A100: #ff9e80 !default;
|
||||
$deep-orange-A200: #ff6e40 !default;
|
||||
$deep-orange-A400: #ff3d00 !default;
|
||||
$deep-orange-A700: #dd2c00 !default;
|
||||
$deep-orange: $deep-orange-500 !default;
|
||||
|
||||
|
||||
$brown-50: #efebe9 !default;
|
||||
$brown-100: #d7ccc8 !default;
|
||||
$brown-200: #bcaaa4 !default;
|
||||
$brown-300: #a1887f !default;
|
||||
$brown-400: #8d6e63 !default;
|
||||
$brown-500: #795548 !default;
|
||||
$brown-600: #6d4c41 !default;
|
||||
$brown-700: #5d4037 !default;
|
||||
$brown-800: #4e342e !default;
|
||||
$brown-900: #3e2723 !default;
|
||||
$brown-A100: #d7ccc8 !default;
|
||||
$brown-A200: #bcaaa4 !default;
|
||||
$brown-A400: #8d6e63 !default;
|
||||
$brown-A700: #5d4037 !default;
|
||||
$brown: $brown-500 !default;
|
||||
|
||||
|
||||
$grey-50: #fafafa !default;
|
||||
$grey-100: #f5f5f5 !default;
|
||||
$grey-200: #eeeeee !default;
|
||||
$grey-300: #e0e0e0 !default;
|
||||
$grey-400: #bdbdbd !default;
|
||||
$grey-500: #9e9e9e; $rgb-grey-500: "158, 158, 158" !default;
|
||||
$grey-600: #757575 !default;
|
||||
$grey-700: #616161 !default;
|
||||
$grey-800: #424242 !default;
|
||||
$grey-900: #212121 !default;
|
||||
$grey-A100: #f5f5f5 !default;
|
||||
$grey-A200: #eeeeee !default;
|
||||
$grey-A400: #bdbdbd !default;
|
||||
$grey-A700: #616161 !default;
|
||||
$grey: $grey-500 !default;
|
||||
|
||||
|
||||
$blue-grey-50: #eceff1 !default;
|
||||
$blue-grey-100: #cfd8dc !default;
|
||||
$blue-grey-200: #b0bec5 !default;
|
||||
$blue-grey-300: #90a4ae !default;
|
||||
$blue-grey-400: #78909c !default;
|
||||
$blue-grey-500: #607d8b !default;
|
||||
$blue-grey-600: #546e7a !default;
|
||||
$blue-grey-700: #455a64 !default;
|
||||
$blue-grey-800: #37474f !default;
|
||||
$blue-grey-900: #263238 !default;
|
||||
$blue-grey-A100: #cfd8dc !default;
|
||||
$blue-grey-A200: #b0bec5 !default;
|
||||
$blue-grey-A400: #78909c !default;
|
||||
$blue-grey-A700: #455a64 !default;
|
||||
$blue-grey: $blue-grey-500 !default;
|
||||
|
||||
|
||||
$black: #000000; $rgb-black: "0,0,0" !default;
|
||||
$white: #ffffff; $rgb-white: "255,255,255" !default;
|
95
public/assets/vendor/bootstrap-material-design/sass/_core.scss
vendored
Normal file
95
public/assets/vendor/bootstrap-material-design/sass/_core.scss
vendored
Normal file
|
@ -0,0 +1,95 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
body {
|
||||
background-color: $body-bg;
|
||||
&.inverse {
|
||||
background: #333333;
|
||||
&, .form-control {
|
||||
color: $mdb-text-color-light;
|
||||
}
|
||||
.modal,
|
||||
.panel-default,
|
||||
.card {
|
||||
&,
|
||||
.form-control {
|
||||
background-color: initial;
|
||||
color: initial;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
|
||||
font-family: $font-family-sans-serif;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
h5, h6{
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
a, a:hover, a:focus {
|
||||
color: $link-color;
|
||||
|
||||
& .material-icons {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
@import '_form';
|
||||
@import '_welljumbo';
|
||||
@import '_buttons';
|
||||
@import '_checkboxes';
|
||||
@import '_togglebutton';
|
||||
@import '_radios';
|
||||
@import '_inputs';
|
||||
|
||||
legend {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
@import '_lists';
|
||||
@import '_navbar';
|
||||
|
||||
.dropdown-menu {
|
||||
border: 0;
|
||||
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
|
||||
.divider {
|
||||
background-color: rgba(0, 0, 0, .12);
|
||||
}
|
||||
li {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
a:hover {
|
||||
background-color: transparent;
|
||||
color: $brand-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@import '_alerts';
|
||||
@import '_progress';
|
||||
@import '_typography';
|
||||
@import '_tabs';
|
||||
@import '_popups';
|
||||
@import '_cards';
|
||||
@import '_dialogs';
|
||||
@import '_panels';
|
||||
@import '_dividers';
|
||||
|
||||
// Prevent highlight on mobile
|
||||
* {
|
||||
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
&:focus {
|
||||
outline: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@import '_themes';
|
||||
|
||||
// External plugins
|
||||
@import '_plugins';
|
55
public/assets/vendor/bootstrap-material-design/sass/_dialogs.scss
vendored
Normal file
55
public/assets/vendor/bootstrap-material-design/sass/_dialogs.scss
vendored
Normal file
|
@ -0,0 +1,55 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
//
|
||||
// Modals
|
||||
// Material Design element Dialogs
|
||||
// --------------------------------------------------
|
||||
.modal-content {
|
||||
@include shadow-z-5();
|
||||
border-radius: $border-radius-base;
|
||||
border: none;
|
||||
// Modal header
|
||||
// Top section of the modal w/ title and dismiss
|
||||
.modal-header {
|
||||
border-bottom: none;
|
||||
padding-top: 24px;
|
||||
padding-right: 24px;
|
||||
padding-bottom: 0;
|
||||
padding-left: 24px;
|
||||
}
|
||||
// Modal body
|
||||
// Where all modal content resides (sibling of .modal-header and .modal-footer)
|
||||
.modal-body {
|
||||
padding-top: 24px;
|
||||
padding-right: 24px;
|
||||
padding-bottom: 16px;
|
||||
padding-left: 24px;
|
||||
}
|
||||
// Footer (for actions)
|
||||
.modal-footer {
|
||||
border-top: none;
|
||||
padding: 7px;
|
||||
button {
|
||||
margin: 0;
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
width: auto;
|
||||
&.pull-left {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
position: relative;
|
||||
//left: -5px;
|
||||
@include left(-5px);
|
||||
}
|
||||
}
|
||||
button+button {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
}
|
||||
.modal-body + .modal-footer {
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
.modal-backdrop {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
73
public/assets/vendor/bootstrap-material-design/sass/_dividers.scss
vendored
Normal file
73
public/assets/vendor/bootstrap-material-design/sass/_dividers.scss
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
hr {
|
||||
&.on-dark {
|
||||
color: lighten($black, 10%);
|
||||
}
|
||||
|
||||
&.on-light {
|
||||
color: lighten($white, 10%);
|
||||
}
|
||||
|
||||
@media (-webkit-min-device-pixel-ratio: 0.75),
|
||||
(min--moz-device-pixel-ratio: 0.75),
|
||||
(-o-device-pixel-ratio: 3/4),
|
||||
(min-device-pixel-ratio: 0.75),
|
||||
(min-resolution: 0.75dppx),
|
||||
(min-resolution: 120dpi) {
|
||||
height:0.75px;
|
||||
}
|
||||
|
||||
@media (-webkit-min-device-pixel-ratio: 1),
|
||||
(min--moz-device-pixel-ratio: 1),
|
||||
(-o-device-pixel-ratio: 1),
|
||||
(min-device-pixel-ratio: 1),
|
||||
(min-resolution: 1dppx),
|
||||
(min-resolution: 160dpi) {
|
||||
height:1px;
|
||||
}
|
||||
@media (-webkit-min-device-pixel-ratio: 1.33),
|
||||
(min--moz-device-pixel-ratio: 1.33),
|
||||
(-o-device-pixel-ratio: 133/100),
|
||||
(min-device-pixel-ratio: 1.33),
|
||||
(min-resolution: 1.33dppx),
|
||||
(min-resolution: 213dpi) {
|
||||
height:1.333px;
|
||||
}
|
||||
@media (-webkit-min-device-pixel-ratio: 1.5),
|
||||
(min--moz-device-pixel-ratio: 1.5),
|
||||
(-o-device-pixel-ratio: 3/2),
|
||||
(min-device-pixel-ratio: 1.5),
|
||||
(min-resolution: 1.5dppx),
|
||||
(min-resolution: 240dpi) {
|
||||
height:1.5px;
|
||||
}
|
||||
|
||||
@media (-webkit-min-device-pixel-ratio: 2),
|
||||
(min--moz-device-pixel-ratio: 2),
|
||||
(-o-device-pixel-ratio: 2/1),
|
||||
(min-device-pixel-ratio: 2),
|
||||
(min-resolution: 2dppx),
|
||||
(min-resolution: 380dpi) {
|
||||
height:2px;
|
||||
}
|
||||
|
||||
@media (-webkit-min-device-pixel-ratio: 3),
|
||||
(min--moz-device-pixel-ratio: 3),
|
||||
(-o-device-pixel-ratio: 3/1),
|
||||
(min-device-pixel-ratio: 3),
|
||||
(min-resolution: 3dppx),
|
||||
(min-resolution: 480dpi) {
|
||||
height:3px;
|
||||
}
|
||||
|
||||
@media (-webkit-min-device-pixel-ratio: 4),
|
||||
(min--moz-device-pixel-ratio: 4),
|
||||
(-o-device-pixel-ratio: 4/1),
|
||||
(min-device-pixel-ratio: 3),
|
||||
(min-resolution: 4dppx),
|
||||
(min-resolution: 640dpi) {
|
||||
height:4px;
|
||||
}
|
||||
|
||||
}
|
43
public/assets/vendor/bootstrap-material-design/sass/_form.scss
vendored
Normal file
43
public/assets/vendor/bootstrap-material-design/sass/_form.scss
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
@mixin mdb-label-color-toggle-focus(){
|
||||
// override bootstrap focus and keep all the standard color (could be multiple radios in the form group)
|
||||
.form-group.is-focused & {
|
||||
color: $mdb-label-color;
|
||||
|
||||
// on focus just darken the specific labels, do not turn them to the brand-primary
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $mdb-label-color-toggle-focus;
|
||||
}
|
||||
|
||||
// correct the above focus color for disabled items
|
||||
fieldset[disabled] & {
|
||||
color: $mdb-label-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.form-horizontal {
|
||||
|
||||
// Consistent vertical alignment of radios and checkboxes
|
||||
.radio,
|
||||
.checkbox,
|
||||
.radio-inline,
|
||||
.checkbox-inline {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.radio {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
label {
|
||||
//text-align: right;
|
||||
@include text-align(right);
|
||||
}
|
||||
|
||||
label.control-label {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
4
public/assets/vendor/bootstrap-material-design/sass/_import-bs-less.scss
vendored
Normal file
4
public/assets/vendor/bootstrap-material-design/sass/_import-bs-less.scss
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
// hack due to differences between sass and less variable loading
|
||||
// Less lazy loads, Sass doesn't. http://lesscss.org/features/#variables-feature-lazy-loading
|
||||
|
||||
// do nothing here for sass.
|
1
public/assets/vendor/bootstrap-material-design/sass/_import-bs-sass.scss
vendored
Normal file
1
public/assets/vendor/bootstrap-material-design/sass/_import-bs-sass.scss
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
@import "bootstrap/variables";
|
223
public/assets/vendor/bootstrap-material-design/sass/_inputs-size.scss
vendored
Normal file
223
public/assets/vendor/bootstrap-material-design/sass/_inputs-size.scss
vendored
Normal file
|
@ -0,0 +1,223 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
//
|
||||
// Forms - sizing - material - mirrors bootstrap/forms.less with custom sizing
|
||||
//
|
||||
// LEAVE THIS IDENTICAL TO THE BOOTSTRAP FILE - DO NOT CUSTOMIZE HERE.
|
||||
//
|
||||
// NOTE: this is intentionally kept structurally _identical_ to the bootstrap/forms.less file to make it easier
|
||||
// to identify differences in sizing approaches to form inputs.
|
||||
// --------------------------------------------------
|
||||
|
||||
legend {
|
||||
margin-bottom: $mdb-input-line-height-computed;
|
||||
font-size: ($mdb-input-font-size-base * 1.5);
|
||||
}
|
||||
|
||||
// Adjust output element
|
||||
output {
|
||||
padding-top: ($mdb-input-padding-base-vertical + 1);
|
||||
font-size: $mdb-input-font-size-base;
|
||||
line-height: $mdb-input-line-height-base;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
height: $mdb-input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
|
||||
padding: $mdb-input-padding-base-vertical $mdb-input-padding-base-horizontal;
|
||||
font-size: $mdb-input-font-size-base;
|
||||
line-height: $mdb-input-line-height-base;
|
||||
}
|
||||
|
||||
// Special styles for iOS temporal inputs
|
||||
//
|
||||
// In Mobile Safari, setting `display: block` on temporal inputs causes the
|
||||
// text within the input to become vertically misaligned. As a workaround, we
|
||||
// set a pixel line-height that matches the given height of the input, but only
|
||||
// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
|
||||
//
|
||||
// Note that as of 8.3, iOS doesn't support `datetime` or `week`.
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
||||
input[type="date"],
|
||||
input[type="time"],
|
||||
input[type="datetime-local"],
|
||||
input[type="month"] {
|
||||
&.form-control {
|
||||
line-height: $mdb-input-height-base;
|
||||
}
|
||||
|
||||
&.input-sm,
|
||||
.input-group-sm & {
|
||||
line-height: $mdb-input-height-small;
|
||||
}
|
||||
|
||||
&.input-lg,
|
||||
.input-group-lg & {
|
||||
line-height: $mdb-input-height-large;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.radio,
|
||||
.checkbox {
|
||||
|
||||
label {
|
||||
min-height: $mdb-input-line-height-computed; // Ensure the input doesn't jump when there is no text
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Static form control text
|
||||
//
|
||||
// Apply class to a `p` element to make any string of text align with labels in
|
||||
// a horizontal form layout.
|
||||
|
||||
.form-control-static {
|
||||
// Size it appropriately next to real form controls
|
||||
padding-top: ($mdb-input-padding-base-vertical + 1);
|
||||
padding-bottom: ($mdb-input-padding-base-vertical + 1);
|
||||
min-height: ($mdb-input-line-height-computed + $mdb-input-font-size-base);
|
||||
}
|
||||
|
||||
|
||||
// Form control sizing
|
||||
//
|
||||
// Relative text size, padding, and border-radii changes for form controls. For
|
||||
// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
|
||||
// element gets special love because it's special, and that's a fact!
|
||||
|
||||
// mixin pulled from bootstrap and altered for less/sass compatibility with sass parent hack.
|
||||
// bootstrap-sass has this one, but we would have to then convert it back to less. chicken meet egg.
|
||||
@mixin input-size($parent, $mdb-input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius){
|
||||
|
||||
#{$parent} {
|
||||
height: $mdb-input-height;
|
||||
padding: $padding-vertical $padding-horizontal;
|
||||
font-size: $font-size;
|
||||
line-height: $line-height;
|
||||
border-radius: $border-radius;
|
||||
}
|
||||
|
||||
select#{$parent} {
|
||||
height: $mdb-input-height;
|
||||
line-height: $mdb-input-height;
|
||||
}
|
||||
|
||||
textarea#{$parent},
|
||||
select[multiple]#{$parent} {
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Form control sizing
|
||||
//
|
||||
// Build on `.form-control` with modifier classes to decrease or increase the
|
||||
// height and font-size of form controls.
|
||||
//
|
||||
// The `.form-group-* form-control` variations are sadly duplicated to avoid the
|
||||
// issue documented in https://github.com/twbs/bootstrap/issues/15074.
|
||||
.input-sm {
|
||||
@include input-size(unquote(".input-sm"), $mdb-input-height-small, $mdb-input-padding-small-vertical, $mdb-input-padding-small-horizontal, $mdb-input-font-size-small, $mdb-input-line-height-small, $mdb-input-border-radius-small);
|
||||
}
|
||||
.form-group-sm {
|
||||
.form-control {
|
||||
height: $mdb-input-height-small;
|
||||
padding: $mdb-input-padding-small-vertical $mdb-input-padding-small-horizontal;
|
||||
font-size: $mdb-input-font-size-small;
|
||||
line-height: $mdb-input-line-height-small;
|
||||
}
|
||||
select.form-control {
|
||||
height: $mdb-input-height-small;
|
||||
line-height: $mdb-input-height-small;
|
||||
}
|
||||
textarea.form-control,
|
||||
select[multiple].form-control {
|
||||
height: auto;
|
||||
}
|
||||
.form-control-static {
|
||||
height: $mdb-input-height-small;
|
||||
min-height: ($mdb-input-line-height-computed + $mdb-input-font-size-small);
|
||||
padding: ($mdb-input-padding-small-vertical + 1) $mdb-input-padding-small-horizontal;
|
||||
font-size: $mdb-input-font-size-small;
|
||||
line-height: $mdb-input-line-height-small;
|
||||
}
|
||||
}
|
||||
|
||||
.input-lg {
|
||||
@include input-size(unquote(".input-lg"), $mdb-input-height-large, $mdb-input-padding-large-vertical, $mdb-input-padding-large-horizontal, $mdb-input-font-size-large, $mdb-input-line-height-large, $mdb-input-border-radius-large);
|
||||
}
|
||||
.form-group-lg {
|
||||
.form-control {
|
||||
height: $mdb-input-height-large;
|
||||
padding: $mdb-input-padding-large-vertical $mdb-input-padding-large-horizontal;
|
||||
font-size: $mdb-input-font-size-large;
|
||||
line-height: $mdb-input-line-height-large;
|
||||
}
|
||||
select.form-control {
|
||||
height: $mdb-input-height-large;
|
||||
line-height: $mdb-input-height-large;
|
||||
}
|
||||
textarea.form-control,
|
||||
select[multiple].form-control {
|
||||
height: auto;
|
||||
}
|
||||
.form-control-static {
|
||||
height: $mdb-input-height-large;
|
||||
min-height: ($mdb-input-line-height-computed + $mdb-input-font-size-large);
|
||||
padding: ($mdb-input-padding-large-vertical + 1) $mdb-input-padding-large-horizontal;
|
||||
font-size: $mdb-input-font-size-large;
|
||||
line-height: $mdb-input-line-height-large;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.form-horizontal {
|
||||
|
||||
// Consistent vertical alignment of radios and checkboxes
|
||||
//
|
||||
// Labels also get some reset styles, but that is scoped to a media query below.
|
||||
.radio,
|
||||
.checkbox,
|
||||
.radio-inline,
|
||||
.checkbox-inline {
|
||||
padding-top: ($mdb-input-padding-base-vertical + 1); // Default padding plus a border
|
||||
}
|
||||
// Account for padding we're adding to ensure the alignment and of help text
|
||||
// and other content below items
|
||||
.radio,
|
||||
.checkbox {
|
||||
min-height: ($mdb-input-line-height-computed + ($mdb-input-padding-base-vertical + 1));
|
||||
}
|
||||
|
||||
// Reset spacing and right align labels, but scope to media queries so that
|
||||
// labels on narrow viewports stack the same as a default form example.
|
||||
@media (min-width: $screen-sm-min) {
|
||||
.control-label {
|
||||
padding-top: ($mdb-input-padding-base-vertical + 1); // Default padding plus a border
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Form group sizes
|
||||
//
|
||||
// Quick utility class for applying `.input-lg` and `.input-sm` styles to the
|
||||
// inputs and labels within a `.form-group`.
|
||||
.form-group-lg {
|
||||
@media (min-width: $screen-sm-min) {
|
||||
.control-label {
|
||||
padding-top: (($mdb-input-padding-large-vertical * $mdb-input-line-height-large) + 1);
|
||||
font-size: $mdb-input-font-size-large;
|
||||
}
|
||||
}
|
||||
}
|
||||
.form-group-sm {
|
||||
@media (min-width: $screen-sm-min) {
|
||||
.control-label {
|
||||
padding-top: ($mdb-input-padding-small-vertical + 1);
|
||||
font-size: $mdb-input-font-size-small;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
355
public/assets/vendor/bootstrap-material-design/sass/_inputs.scss
vendored
Normal file
355
public/assets/vendor/bootstrap-material-design/sass/_inputs.scss
vendored
Normal file
|
@ -0,0 +1,355 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
@import '_inputs-size';
|
||||
|
||||
// label variations
|
||||
.label {
|
||||
border-radius: $border-radius-small;
|
||||
@include variations(unquote(".label"), unquote(""), background-color, $grey);
|
||||
padding: .3em .6em; // Make top & bottom .label padding the same: https://github.com/twbs/bootstrap/pull/19631
|
||||
}
|
||||
|
||||
// must be broken out for reuse - webkit selector breaks firefox
|
||||
@mixin label-static($label-top, $static-font-size, $static-line-height){
|
||||
label.control-label {
|
||||
top: $label-top;
|
||||
//left: 0;
|
||||
@include left(0);
|
||||
// must repeat because the selector above is more specific than the general label sizing
|
||||
font-size: $static-font-size;
|
||||
line-height: $static-line-height;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin label-size-variant($placeholder-font-size, $vertical-padding, $line-height, $static-font-size, $static-line-height, $help-block-font-size){
|
||||
.form-control {
|
||||
@include material-placeholder {
|
||||
font-size: $placeholder-font-size;
|
||||
line-height: $line-height;
|
||||
color: $mdb-input-placeholder-color;
|
||||
font-weight: 400;
|
||||
|
||||
}
|
||||
// margin-bottom must be specified to give help-block vertical space.
|
||||
// $see also form-group padding-bottom (and size variants) re: collapsible margins. These work together.
|
||||
margin-bottom: $vertical-padding;
|
||||
}
|
||||
|
||||
// generic labels used anywhere in the form (not control-label)
|
||||
.checkbox label,
|
||||
.radio label,
|
||||
label {
|
||||
font-size: $placeholder-font-size;
|
||||
line-height: $line-height;
|
||||
color: $mdb-input-placeholder-color;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
// smaller focused or static size
|
||||
label.control-label {
|
||||
font-size: $static-font-size;
|
||||
line-height: $static-line-height;
|
||||
font-weight: 400;
|
||||
margin: 16px 0 0 0; // std and lg
|
||||
}
|
||||
|
||||
.help-block {
|
||||
margin-top: 0; // allow the input margin to set-off the top of the help-block
|
||||
font-size: $help-block-font-size;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin form-group-validation-state($name, $color){
|
||||
|
||||
&.#{$name} { // e.g. has-error
|
||||
.form-control {
|
||||
box-shadow: none;
|
||||
}
|
||||
&.is-focused .form-control {
|
||||
background-image: linear-gradient($color, $color), linear-gradient($mdb-input-underline-color, $mdb-input-underline-color);
|
||||
}
|
||||
label.control-label,
|
||||
.help-block {
|
||||
color: $color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin form-group-size-variant($parent, $placeholder-font-size, $label-top-margin, $vertical-padding, $line-height, $label-as-placeholder-shim){
|
||||
$static-font-size: ceil(($mdb-label-static-size-ratio * $placeholder-font-size)) !default;
|
||||
$static-line-height: ($mdb-label-static-size-ratio * $line-height) !default;
|
||||
|
||||
$label-as-placeholder-top: -1 * ($vertical-padding + $label-as-placeholder-shim) !default;
|
||||
$label-top: $label-as-placeholder-top - ($placeholder-font-size + $vertical-padding) !default;
|
||||
|
||||
$help-block-font-size: ceil(($mdb-help-block-size-ratio * $placeholder-font-size)) !default;
|
||||
$help-block-line-height: ($mdb-help-block-size-ratio * $line-height) !default;
|
||||
|
||||
// this is outside a form-group
|
||||
@if not $parent {
|
||||
@include label-size-variant($placeholder-font-size, $vertical-padding, $line-height, $static-font-size, $static-line-height, $help-block-font-size);
|
||||
}
|
||||
|
||||
// this is inside a form-group, may be .form-group.form-group-sm or .form-group.form-group-lg
|
||||
@else {
|
||||
#{$parent} {
|
||||
@include label-size-variant($placeholder-font-size, $vertical-padding, $line-height, $static-font-size, $static-line-height, $help-block-font-size);
|
||||
|
||||
// form-group padding-bottom
|
||||
// upon collapsing margins, the largest margin is honored which collapses the form-control margin-bottom,
|
||||
// so the form-control margin-bottom must also be expressed as form-group padding
|
||||
padding-bottom: $vertical-padding;
|
||||
|
||||
// form-group margin-top must be large enough for the label and the label's top padding since label is absolutely positioned
|
||||
margin: ($label-top-margin + $static-font-size) 0 0 0;
|
||||
|
||||
// larger labels as placeholders
|
||||
&.label-floating,
|
||||
&.label-placeholder {
|
||||
label.control-label {
|
||||
top: $label-as-placeholder-top; // place the floating label to look like a placeholder with input padding
|
||||
font-size: $placeholder-font-size;
|
||||
line-height: $line-height;
|
||||
}
|
||||
}
|
||||
|
||||
// static, focused, or autofill floating labels
|
||||
&.label-static,
|
||||
&.label-floating.is-focused,
|
||||
&.label-floating:not(.is-empty) {
|
||||
@include label-static($label-top, $static-font-size, $static-line-height);
|
||||
}
|
||||
// #559 Fix for webkit/chrome autofill - rule must be separate because it breaks firefox otherwise #731
|
||||
&.label-floating input.form-control:-webkit-autofill ~ label.control-label {
|
||||
@include label-static($label-top, $static-font-size, $static-line-height);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -----
|
||||
// Inputs
|
||||
//
|
||||
// Reference http://www.google.com/design/spec/components/text-fields.html
|
||||
// MDL implementation: http://www.getmdl.io/components/index.html#textfields-section
|
||||
.form-control,
|
||||
.form-group .form-control {
|
||||
border: 0;
|
||||
background-image: linear-gradient($brand-primary, $brand-primary), linear-gradient($mdb-input-underline-color, $mdb-input-underline-color);
|
||||
background-size: 0 2px, 100% 1px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center bottom, center calc(100% - 1px);
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
transition: background 0s ease-out;
|
||||
float: none;
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
|
||||
// Placeholders and and labels-as-placeholders should look the same
|
||||
@include material-placeholder {
|
||||
color: $mdb-input-placeholder-color;
|
||||
font-weight: 400;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//&:textarea { // appears to be an invalid selector
|
||||
// height: 40px;
|
||||
//}
|
||||
|
||||
&[readonly],
|
||||
&[disabled],
|
||||
fieldset[disabled] & {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
&[disabled],
|
||||
fieldset[disabled] & {
|
||||
background-image: none;
|
||||
border-bottom: 1px dotted $mdb-input-underline-color;
|
||||
}
|
||||
}
|
||||
|
||||
// -----
|
||||
// Labels with form-group signalled state
|
||||
//
|
||||
// Reference http://www.google.com/design/spec/components/text-fields.html
|
||||
// MDL implementation: http://www.getmdl.io/components/index.html#textfields-section
|
||||
//.variations(unquote(" label.control-label"), color, $mdb-input-placeholder-color); // default label color variations
|
||||
|
||||
.form-group {
|
||||
position: relative;
|
||||
|
||||
// -----
|
||||
// Labels with form-group signalled state
|
||||
//
|
||||
// Reference http://www.google.com/design/spec/components/text-fields.html
|
||||
// MDL implementation: http://www.getmdl.io/components/index.html#textfields-section
|
||||
&.label-static,
|
||||
&.label-placeholder,
|
||||
&.label-floating {
|
||||
label.control-label {
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
transition: 0.3s ease all;
|
||||
}
|
||||
}
|
||||
|
||||
// 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{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Help blocks - position: absolute approach - uses no vertical space, text wrapping - not so good.
|
||||
.help-block {
|
||||
position: absolute; // do not use position: absolute because width/wrapping isn't automatic and overflows occur
|
||||
display: none;
|
||||
}
|
||||
|
||||
// form-group is-focused display
|
||||
&.is-focused {
|
||||
.form-control {
|
||||
outline: none;
|
||||
background-image: linear-gradient($brand-primary, $brand-primary), linear-gradient($mdb-input-underline-color, $mdb-input-underline-color);
|
||||
background-size: 100% 2px, 100% 1px;
|
||||
box-shadow: none;
|
||||
transition-duration: 0.3s;
|
||||
|
||||
.material-input:after {
|
||||
background-color: $brand-primary;
|
||||
}
|
||||
}
|
||||
|
||||
//.variations(unquote(".is-focused label.control-label"), color, $brand-primary); // focused label color variations
|
||||
label,
|
||||
label.control-label {
|
||||
color: $brand-primary;
|
||||
}
|
||||
|
||||
//.variations(unquote(".is-focused.label-placeholder label.control-label"), color, $mdb-input-placeholder-color); // default label color variations
|
||||
&.label-placeholder {
|
||||
label,
|
||||
label.control-label {
|
||||
color: $mdb-input-placeholder-color;
|
||||
}
|
||||
}
|
||||
|
||||
.help-block {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
@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);
|
||||
@include form-group-validation-state(has-info, $brand-info);
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
& ~ .form-control-highlight {
|
||||
margin-top: -11px;
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
appearance: none; // Fix for OS X
|
||||
|
||||
& ~ .material-input:after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// default floating size/location without a form-group (will skip form-group styles, and just render default sizing variation)
|
||||
@include form-group-size-variant(null, $mdb-input-font-size-base, $mdb-label-top-margin-base, $mdb-input-padding-base-vertical, $mdb-input-line-height-base, $mdb-label-as-placeholder-shim-base);
|
||||
|
||||
// default floating size/location with a form-group (need margin etc from a default form-group)
|
||||
@include form-group-size-variant(unquote(".form-group"), $mdb-input-font-size-base, $mdb-label-top-margin-base, $mdb-input-padding-base-vertical, $mdb-input-line-height-base, $mdb-label-as-placeholder-shim-base);
|
||||
|
||||
// sm floating size/location
|
||||
@include form-group-size-variant(unquote(".form-group.form-group-sm"), $mdb-input-font-size-small, $mdb-label-top-margin-small, $mdb-input-padding-small-vertical, $mdb-input-line-height-small, $mdb-label-as-placeholder-shim-small);
|
||||
|
||||
// lg floating size/location
|
||||
@include form-group-size-variant(unquote(".form-group.form-group-lg"), $mdb-input-font-size-large, $mdb-label-top-margin-large, $mdb-input-padding-large-vertical, $mdb-input-line-height-large, $mdb-label-as-placeholder-shim-large);
|
||||
|
||||
|
||||
select.form-control {
|
||||
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
|
||||
.form-group.is-focused & {
|
||||
box-shadow: none;
|
||||
border-color: $mdb-input-underline-color;
|
||||
}
|
||||
|
||||
&[multiple] {
|
||||
&,
|
||||
.form-group.is-focused & {
|
||||
height: 85px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin input-group-button-variation($vertical-padding){
|
||||
.input-group-btn {
|
||||
.btn {
|
||||
margin: 0 0 $vertical-padding 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------
|
||||
// input group/addon related styles
|
||||
|
||||
// default margin - no form-group required
|
||||
@include input-group-button-variation($mdb-input-padding-base-vertical);
|
||||
|
||||
.form-group {
|
||||
//.form-control {
|
||||
// float: none;
|
||||
//}
|
||||
|
||||
// sm margin
|
||||
&.form-group-sm {
|
||||
@include input-group-button-variation($mdb-input-padding-small-vertical);
|
||||
}
|
||||
|
||||
// lg margin
|
||||
&.form-group-lg {
|
||||
@include input-group-button-variation($mdb-input-padding-large-vertical);
|
||||
}
|
||||
}
|
||||
|
||||
.input-group { // may be in or outside of form-group
|
||||
.input-group-btn {
|
||||
padding: 0 12px; // match addon spacing
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
// Input files - hide actual input - requires specific markup in the sample.
|
||||
.form-group input[type=file] {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 100;
|
||||
}
|
6
public/assets/vendor/bootstrap-material-design/sass/_labels.scss
vendored
Normal file
6
public/assets/vendor/bootstrap-material-design/sass/_labels.scss
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.label {
|
||||
border-radius: 1px;
|
||||
@include variations(unquote(""), background-color, $grey);
|
||||
}
|
111
public/assets/vendor/bootstrap-material-design/sass/_lists.scss
vendored
Normal file
111
public/assets/vendor/bootstrap-material-design/sass/_lists.scss
vendored
Normal file
|
@ -0,0 +1,111 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.list-group {
|
||||
border-radius: 0;
|
||||
.list-group-item {
|
||||
background-color: transparent;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
padding: 0 16px;
|
||||
&.baseline {
|
||||
border-bottom: 1px solid #cecece;
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
.row-picture, .row-action-primary {
|
||||
//float: left; WARNING: float can't be used with display: inline-block. Certain properties shouldn't be used with certain display property values. (display-property-grouping) Browsers: All
|
||||
display: inline-block;
|
||||
//padding-right: 16px;
|
||||
@include padding-right(16px);
|
||||
img, i, label {
|
||||
display: block;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
}
|
||||
img {
|
||||
background: rgba(0,0,0,0.1);
|
||||
padding: 1px;
|
||||
&.circle {
|
||||
border-radius: 100%;
|
||||
}
|
||||
}
|
||||
i {
|
||||
background: rgba(0,0,0,0.25);
|
||||
border-radius: 100%;
|
||||
text-align: center;
|
||||
line-height: 56px;
|
||||
font-size: 20px;
|
||||
color: white;
|
||||
}
|
||||
label {
|
||||
//margin-left: 7px;
|
||||
@include margin-left(7px);
|
||||
//margin-right: -7px;
|
||||
@include margin-right(-7px);
|
||||
margin-top: 5px;
|
||||
margin-bottom: -5px;
|
||||
.checkbox-material {
|
||||
//left: -10px;
|
||||
@include left(-10px);
|
||||
}
|
||||
}
|
||||
}
|
||||
.row-content {
|
||||
display: inline-block;
|
||||
width: unquote("calc(100% - 92px)");
|
||||
min-height: 66px;
|
||||
.action-secondary {
|
||||
position: absolute;
|
||||
//right: 16px;
|
||||
@include right(16px);
|
||||
top: 16px;
|
||||
i {
|
||||
font-size: 20px;
|
||||
color: rgba(0,0,0,0.25);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.action-secondary ~ * {
|
||||
max-width: unquote("calc(100% - 30px)");
|
||||
}
|
||||
.least-content {
|
||||
position: absolute;
|
||||
//right: 16px;
|
||||
@include right(16px);
|
||||
top: 0;
|
||||
color: rgba(0,0,0,0.54);
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.list-group-item-heading {
|
||||
color: rgba(0, 0, 0, 0.77);
|
||||
font-size: 20px;
|
||||
line-height: 29px;
|
||||
}
|
||||
}
|
||||
.list-group-item.active {
|
||||
&:hover, &:focus {
|
||||
background: rgba(0,0,0,.15);
|
||||
outline: 10px solid rgba(0,0,0,.15);
|
||||
}
|
||||
.list-group-item-heading, .list-group-item-text {
|
||||
color: $mdb-text-color-primary;
|
||||
}
|
||||
|
||||
}
|
||||
.list-group-separator {
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
&:before {
|
||||
content: "";
|
||||
width: unquote("calc(100% - 90px)");
|
||||
border-bottom: 1px solid rgba(0,0,0,0.1);
|
||||
//float: right;
|
||||
@include float(right);
|
||||
}
|
||||
}
|
||||
}
|
31
public/assets/vendor/bootstrap-material-design/sass/_mixins-utilities.scss
vendored
Normal file
31
public/assets/vendor/bootstrap-material-design/sass/_mixins-utilities.scss
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
// 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
|
||||
@function contrast-color($color, $dark: $contrasted-dark-default, $light: $contrasted-light-default, $threshold: null) {
|
||||
@if $threshold {
|
||||
// Deprecated in Compass 0.13
|
||||
@warn "The $threshold argment to contrast-color is no longer needed and will be removed in the next release.";
|
||||
}
|
||||
@if $color == null {
|
||||
@return null;
|
||||
}
|
||||
@else {
|
||||
$color-brightness: brightness($color);
|
||||
$dark-text-brightness: brightness($dark);
|
||||
$light-text-brightness: brightness($light);
|
||||
@return if(abs($color-brightness - $light-text-brightness) > abs($color-brightness - $dark-text-brightness), $light, $dark);
|
||||
}
|
||||
}
|
||||
|
||||
@function brightness($color) {
|
||||
@if type-of($color) == color {
|
||||
@return (red($color) * 0.299 + green($color) * 0.587 + blue($color) * 0.114) / 255 * 100%;
|
||||
}
|
||||
@else {
|
||||
@return unquote("brightness(#{$color})");
|
||||
}
|
||||
}
|
242
public/assets/vendor/bootstrap-material-design/sass/_mixins.scss
vendored
Normal file
242
public/assets/vendor/bootstrap-material-design/sass/_mixins.scss
vendored
Normal file
|
@ -0,0 +1,242 @@
|
|||
// 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($component, $selector-suffix, $mdb-param-1, $color-default) {
|
||||
@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, variation-color)}; }";
|
||||
//@debug "#{inspect($args)}";
|
||||
//@error "break here";
|
||||
#{map-get($args, material-param-1)}: map-get($args, variation-color);
|
||||
}
|
||||
|
||||
@mixin background-variations($component, $selector-suffix, $color-default) {
|
||||
@include generic-variations($component, $selector-suffix, $color-default, "background-variations-content", null);
|
||||
}
|
||||
|
||||
@mixin background-variations-content($args) {
|
||||
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, variation-color-text);
|
||||
}
|
||||
}
|
||||
|
||||
//@mixin text-variations($component, $selector-suffix, $color-default) {
|
||||
// @include generic-variations($component, $selector-suffix, $color-default, "text-variations-content", null);
|
||||
//}
|
||||
//
|
||||
//@mixin text-variations-content($args) {
|
||||
// color: map-get($args, variation-color);
|
||||
//}
|
||||
|
||||
@mixin button-variations($component, $selector-suffix, $color-default) {
|
||||
@include generic-variations($component, $selector-suffix, $color-default, "button-variations-content", 4%);
|
||||
}
|
||||
|
||||
@mixin button-variations-content($args) {
|
||||
//@debug "#{inspect($args)}";
|
||||
$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),
|
||||
lighten($variation-color, $mdb-param-1));
|
||||
}
|
||||
|
||||
//@mixin bg-color-variations($component, $selector-suffix, $color-default, $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, 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($component, $selector-suffix, $color-default, "bg-box-shadow-variations-content", null);
|
||||
//}
|
||||
//
|
||||
//@mixin bg-box-shadow-variations-content($args){
|
||||
// $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($component, $selector-suffix, $color-default, "bg-img-variations-content", null);
|
||||
//}
|
||||
//
|
||||
//@mixin bg-img-variations-content($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($component, $selector-suffix, $color-default, "navbar-variations-content", null);
|
||||
}
|
||||
|
||||
@mixin navbar-variations-content($args){
|
||||
$variation-color: map-get($args, variation-color);
|
||||
$variation-color-text: map-get($args, variation-color-text);
|
||||
|
||||
background-color: $variation-color;
|
||||
color: $variation-color-text;
|
||||
// deeply defined to override welljumbo class without !impotant need
|
||||
.navbar-form .form-group input.form-control,
|
||||
.navbar-form input.form-control {
|
||||
@include material-placeholder {
|
||||
color: $variation-color-text;
|
||||
}
|
||||
}
|
||||
.dropdown-menu {
|
||||
border-radius: $border-radius-base;
|
||||
li > a {
|
||||
font-size: $mdb-dropdown-font-size;
|
||||
padding: 13px 16px;
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $variation-color;
|
||||
background-color: $grey-200;
|
||||
}
|
||||
}
|
||||
.active > a {
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $variation-color-text;
|
||||
}
|
||||
background-color: $variation-color;
|
||||
color: $variation-color-text;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// alert-variations("", $brand-primary)
|
||||
@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){
|
||||
$variation-color: map-get($args, variation-color);
|
||||
$variation-color-text: map-get($args, variation-color-text);
|
||||
|
||||
background-color: $variation-color;
|
||||
color: $variation-color-text;
|
||||
|
||||
a, .alert-link {
|
||||
color: $variation-color-text;
|
||||
}
|
||||
}
|
||||
|
||||
// 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.
|
||||
//
|
||||
// $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($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: $selector-suffix,
|
||||
//default: $color-default,
|
||||
mixin-name: $mixin-name,
|
||||
material-param-1: $mdb-param-1
|
||||
);
|
||||
|
||||
// bootstrap styles
|
||||
&#{$selector-suffix},
|
||||
&#{$component}-default#{$selector-suffix} {
|
||||
|
||||
$args-extra: map-merge($args, (
|
||||
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, (
|
||||
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, (
|
||||
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, (
|
||||
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, (
|
||||
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, (
|
||||
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, (
|
||||
variation-color: $brand-danger,
|
||||
variation-color-text: $mdb-text-color-light
|
||||
));
|
||||
@include call-variations-content-mixin($args-danger);
|
||||
}
|
||||
}
|
212
public/assets/vendor/bootstrap-material-design/sass/_navbar.scss
vendored
Normal file
212
public/assets/vendor/bootstrap-material-design/sass/_navbar.scss
vendored
Normal file
|
@ -0,0 +1,212 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.navbar {
|
||||
background-color: $brand-primary;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
|
||||
.navbar-brand {
|
||||
position: relative;
|
||||
height: 60px;
|
||||
line-height: 30px;
|
||||
color: inherit;
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-text {
|
||||
color: inherit;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
> li > a {
|
||||
color: inherit;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
> .active > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
}
|
||||
> .disabled > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
opacity: 0.9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Darken the responsive nav toggle
|
||||
.navbar-toggle {
|
||||
border: 0;
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: transparent;
|
||||
}
|
||||
.icon-bar {
|
||||
background-color: inherit;
|
||||
border: 1px solid;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-default .navbar-toggle,
|
||||
.navbar-inverse .navbar-toggle {
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.navbar-collapse,
|
||||
.navbar-form {
|
||||
border-color: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
// Dropdowns
|
||||
.navbar-nav {
|
||||
> .open > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: transparent;
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: $grid-float-breakpoint-max) {
|
||||
.navbar-text {
|
||||
color: inherit;
|
||||
margin-top: 15px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
// Dropdowns get custom display
|
||||
.open .dropdown-menu {
|
||||
> .dropdown-header {
|
||||
border: 0;
|
||||
color: inherit;
|
||||
}
|
||||
.divider {
|
||||
border-bottom: 1px solid;
|
||||
opacity: 0.08;
|
||||
}
|
||||
> li > a {
|
||||
color: inherit;
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
> .active > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
> .disabled > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-link {
|
||||
color: inherit;
|
||||
&:hover {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
color: inherit;
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
}
|
||||
&[disabled],
|
||||
fieldset[disabled] & {
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-form {
|
||||
margin-top: 16px;
|
||||
.form-group {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
.material-input:before,
|
||||
&.is-focused .material-input:after {
|
||||
background-color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.form-group .form-control,
|
||||
.form-control {
|
||||
border-color: inherit;
|
||||
color: inherit;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
// re-normalize inputs in a navbar the size of standard bootstrap since our normal inputs are larger by spec than bootstrap
|
||||
//---
|
||||
//height: $mdb-input-height-base;
|
||||
$bs-line-height-base: 1.428571429 !default;
|
||||
$bs-line-height-computed: floor(($font-size-base * $bs-line-height-base)) !default; // ~20px
|
||||
height: ($bs-line-height-computed + 8px);
|
||||
font-size: $font-size-base;
|
||||
line-height: $bs-line-height-base;
|
||||
//---
|
||||
}
|
||||
}
|
||||
|
||||
// SASS conversion note: please mirror any content change in _mixins-shared.scss navbar-variations-content
|
||||
@include navbar-variations(unquote(".navbar"), unquote(""), $brand-primary);
|
||||
|
||||
|
||||
&-inverse {
|
||||
background-color: $indigo;
|
||||
}
|
||||
|
||||
@media (max-width: $screen-md-max) {
|
||||
|
||||
.navbar-brand {
|
||||
height: 50px;
|
||||
padding: 10px 15px;
|
||||
}
|
||||
.navbar-form {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.navbar-nav > li > a {
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
}
|
||||
}
|
23
public/assets/vendor/bootstrap-material-design/sass/_panels.scss
vendored
Normal file
23
public/assets/vendor/bootstrap-material-design/sass/_panels.scss
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.panel {
|
||||
border-radius: 2px;
|
||||
border: 0;
|
||||
|
||||
@include variations(unquote(".panel"), unquote(" > .panel-heading"), background-color, $grey-200);
|
||||
@include shadow-z-1;
|
||||
}
|
||||
|
||||
|
||||
[class*="panel-"] > .panel-heading {
|
||||
color: $mdb-text-color-light;
|
||||
border: 0;
|
||||
}
|
||||
.panel-default, .panel:not([class*="panel-"]) {
|
||||
> .panel-heading {
|
||||
color: $mdb-text-color-primary;
|
||||
}
|
||||
}
|
||||
.panel-footer {
|
||||
background-color: $grey-200;
|
||||
}
|
7
public/assets/vendor/bootstrap-material-design/sass/_plugins.scss
vendored
Normal file
7
public/assets/vendor/bootstrap-material-design/sass/_plugins.scss
vendored
Normal file
|
@ -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';
|
20
public/assets/vendor/bootstrap-material-design/sass/_popups.scss
vendored
Normal file
20
public/assets/vendor/bootstrap-material-design/sass/_popups.scss
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.popover, .tooltip-inner {
|
||||
color: $mdb-popover-color;
|
||||
line-height: 1em;
|
||||
background: $mdb-popover-background;
|
||||
border: none;
|
||||
border-radius: $border-radius-base;
|
||||
@include shadow-z-1();
|
||||
}
|
||||
|
||||
.tooltip, .tooltip.in {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.popover, .tooltip {
|
||||
.arrow, .tooltip-arrow {
|
||||
display: none;
|
||||
}
|
||||
}
|
12
public/assets/vendor/bootstrap-material-design/sass/_progress.scss
vendored
Normal file
12
public/assets/vendor/bootstrap-material-design/sass/_progress.scss
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.progress {
|
||||
height: 4px;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
background: #c8c8c8;
|
||||
.progress-bar {
|
||||
box-shadow: none;
|
||||
@include variations(unquote(".progress-bar"), unquote(""), background-color, $brand-primary);
|
||||
}
|
||||
}
|
119
public/assets/vendor/bootstrap-material-design/sass/_radios.scss
vendored
Normal file
119
public/assets/vendor/bootstrap-material-design/sass/_radios.scss
vendored
Normal file
|
@ -0,0 +1,119 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
@mixin radio-color($color, $opacity){
|
||||
& ~ .check,
|
||||
& ~ .circle {
|
||||
opacity: $opacity;
|
||||
}
|
||||
|
||||
& ~ .check {
|
||||
background-color: $color;
|
||||
}
|
||||
|
||||
& ~ .circle {
|
||||
border-color: $color;
|
||||
}
|
||||
}
|
||||
|
||||
.radio label, label.radio-inline {
|
||||
cursor: pointer;
|
||||
//padding-left: 45px;
|
||||
@include padding-left(45px);
|
||||
position: relative;
|
||||
color: $mdb-radio-label-color;
|
||||
@include mdb-label-color-toggle-focus();
|
||||
}
|
||||
|
||||
.radio, label.radio-inline {
|
||||
span {
|
||||
display: block;
|
||||
position: absolute;
|
||||
@include left(10px);
|
||||
top: 2px;
|
||||
transition-duration: 0.2s;
|
||||
}
|
||||
.circle {
|
||||
border: 2px solid $mdb-radio-color-off;
|
||||
height: 15px;
|
||||
width: 15px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
.check {
|
||||
height: 15px;
|
||||
width: 15px;
|
||||
border-radius: 100%;
|
||||
background-color: $mdb-radio-color-on;
|
||||
transform: scale3d(0, 0, 0);
|
||||
}
|
||||
.check:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
content: "";
|
||||
background-color: $mdb-text-color-primary;
|
||||
//left: -18px;
|
||||
@include left(-18px);
|
||||
top: -18px;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
border-radius: 100%;
|
||||
z-index: 1;
|
||||
opacity: 0;
|
||||
margin: 0;
|
||||
transform: scale3d(1.5, 1.5, 1);
|
||||
}
|
||||
|
||||
input[type=radio]:focus:not(:checked) ~ .check:after {
|
||||
animation: rippleOff 500ms;
|
||||
}
|
||||
input[type=radio]:focus:checked ~ .check:after {
|
||||
animation: rippleOn 500ms;
|
||||
}
|
||||
|
||||
input[type=radio] {
|
||||
opacity: 0;
|
||||
height: 0;
|
||||
width: 0;
|
||||
overflow: hidden;
|
||||
|
||||
&:checked {
|
||||
@include radio-color($mdb-radio-color-on, 1);
|
||||
}
|
||||
&:checked ~ .check {
|
||||
transform: scale3d(0.55, 0.55, 1);
|
||||
}
|
||||
}
|
||||
|
||||
input[type=radio][disabled] {
|
||||
|
||||
// light theme spec: Disabled: #000000, Opacity 26%
|
||||
@include radio-color($black, 0.26);
|
||||
|
||||
// dark theme spec: Disabled: #FFFFFF, Opacity 30%
|
||||
.theme-dark & {
|
||||
@include radio-color($white, 0.30);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rippleOn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@keyframes rippleOff {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.2;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
84
public/assets/vendor/bootstrap-material-design/sass/_shadows.scss
vendored
Normal file
84
public/assets/vendor/bootstrap-material-design/sass/_shadows.scss
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
@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(){
|
||||
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(){
|
||||
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(){
|
||||
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(){
|
||||
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(){
|
||||
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);
|
||||
}
|
26
public/assets/vendor/bootstrap-material-design/sass/_tabs.scss
vendored
Normal file
26
public/assets/vendor/bootstrap-material-design/sass/_tabs.scss
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.nav-tabs {
|
||||
background: $brand-primary;
|
||||
> li {
|
||||
> a {
|
||||
color: #FFFFFF;
|
||||
border: 0;
|
||||
margin: 0;
|
||||
&:hover {
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
& > a, & > a:hover, & > a:focus {
|
||||
background-color: transparent !important;
|
||||
border: 0 !important;
|
||||
color: #FFFFFF !important;
|
||||
font-weight: 500;
|
||||
}
|
||||
&.disabled > a, &.disabled > a:hover {
|
||||
color: rgba(255,255,255,0.5);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
8
public/assets/vendor/bootstrap-material-design/sass/_themes.scss
vendored
Normal file
8
public/assets/vendor/bootstrap-material-design/sass/_themes.scss
vendored
Normal file
|
@ -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 {
|
||||
|
||||
}
|
88
public/assets/vendor/bootstrap-material-design/sass/_togglebutton.scss
vendored
Normal file
88
public/assets/vendor/bootstrap-material-design/sass/_togglebutton.scss
vendored
Normal file
|
@ -0,0 +1,88 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.togglebutton {
|
||||
vertical-align: middle;
|
||||
&, label, input, .toggle {
|
||||
user-select: none;
|
||||
}
|
||||
label {
|
||||
cursor: pointer;
|
||||
color: $mdb-toggle-label-color;
|
||||
@include mdb-label-color-toggle-focus();
|
||||
|
||||
// Hide original checkbox
|
||||
input[type=checkbox] {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.toggle {
|
||||
text-align: left; // Issue #737 horizontal form
|
||||
}
|
||||
// Switch bg off and disabled
|
||||
.toggle,
|
||||
input[type=checkbox][disabled] + .toggle {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
width: 30px;
|
||||
height: 15px;
|
||||
background-color: rgba(80, 80, 80, 0.7);
|
||||
border-radius: 15px;
|
||||
//margin-right: 15px;
|
||||
@include margin-right(15px);
|
||||
transition: background 0.3s ease;
|
||||
vertical-align: middle;
|
||||
}
|
||||
// Handle off
|
||||
.toggle:after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: #F1F1F1;
|
||||
border-radius: 20px;
|
||||
position: relative;
|
||||
box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);
|
||||
//left: -5px;
|
||||
@include left(-5px);
|
||||
top: -2px;
|
||||
transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease;
|
||||
}
|
||||
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;
|
||||
@include left(15px);
|
||||
}
|
||||
}
|
||||
|
||||
// set bg when checked
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
17
public/assets/vendor/bootstrap-material-design/sass/_typography.scss
vendored
Normal file
17
public/assets/vendor/bootstrap-material-design/sass/_typography.scss
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.text-warning {
|
||||
color: $brand-warning;
|
||||
}
|
||||
.text-primary {
|
||||
color: $brand-primary;
|
||||
}
|
||||
.text-danger {
|
||||
color: $brand-danger;
|
||||
}
|
||||
.text-success {
|
||||
color: $brand-success;
|
||||
}
|
||||
.text-info {
|
||||
color: $brand-info;
|
||||
}
|
174
public/assets/vendor/bootstrap-material-design/sass/_variables.scss
vendored
Normal file
174
public/assets/vendor/bootstrap-material-design/sass/_variables.scss
vendored
Normal file
|
@ -0,0 +1,174 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
@import '_colors';
|
||||
|
||||
// Typography elements
|
||||
$mdb-font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif !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;
|
||||
|
||||
|
||||
$mdb-label-color: unquote("rgba(#{$rgb-black}, 0.26)") !default;
|
||||
$mdb-label-color-toggle-focus: unquote("rgba(#{$rgb-black}, .54)") !default;
|
||||
|
||||
|
||||
// import bs variables for less, last declared wins.
|
||||
@import '_import-bs-less';
|
||||
|
||||
//---
|
||||
// Converted bs variables
|
||||
|
||||
// Bootstrap brand color customization
|
||||
$brand-primary: $teal !default;
|
||||
$brand-success: $green !default;
|
||||
$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;
|
||||
//---
|
||||
|
||||
|
||||
|
||||
|
||||
// --------------------
|
||||
// inputs
|
||||
$mdb-input-placeholder-color: #BDBDBD !default;
|
||||
$mdb-input-underline-color: #D2D2D2 !default;
|
||||
$mdb-label-static-size-ratio: 75 / 100 !default;
|
||||
$mdb-help-block-size-ratio: 75 / 100 !default;
|
||||
|
||||
$mdb-input-font-size-base: 16px !default;
|
||||
$mdb-input-font-size-large: ceil(($font-size-base * 1.25)) !default; // ~20px
|
||||
$mdb-input-font-size-small: ceil(($font-size-base * 0.75)) !default; // ~12px
|
||||
|
||||
// FIXME: with #733 customization of bootstrap, consider how these could be based on the original bs customized variables
|
||||
//** Unit-less `line-height` for use in components like buttons.
|
||||
$mdb-input-line-height-base: $line-height-base; //1.428571429 !default; // 20/14
|
||||
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
|
||||
$mdb-input-line-height-computed: floor(($mdb-input-font-size-base * $mdb-input-line-height-base)) !default; // ~20px
|
||||
$mdb-input-line-height-large: 1.3333333 !default; // extra decimals for Win 8.1 Chrome
|
||||
$mdb-input-line-height-small: 1.5 !default;
|
||||
|
||||
//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
|
||||
$mdb-input-padding-base-vertical: 8px - 1px !default; // was 6.
|
||||
$mdb-input-padding-base-horizontal: 0 !default; // was 12.
|
||||
$mdb-label-as-placeholder-shim-base: 0 !default; // manual adjustment of label top when positioned as placeholder
|
||||
$mdb-label-top-margin-base: 16px !default;
|
||||
|
||||
$mdb-input-padding-large-vertical: 10px - 1px !default; // 10
|
||||
$mdb-input-padding-large-horizontal: 0 !default; // 16
|
||||
$mdb-label-as-placeholder-shim-large: -4px !default; // manual adjustment of label top when positioned as placeholder
|
||||
$mdb-label-top-margin-large: 16px !default;
|
||||
|
||||
$mdb-input-padding-small-vertical: 4px - 1px !default; // 5
|
||||
$mdb-input-padding-small-horizontal: 0 !default; // 10
|
||||
$mdb-label-as-placeholder-shim-small: 8px !default; // manual adjustment of label top when positioned as placeholder
|
||||
$mdb-label-top-margin-small: 12px !default;
|
||||
|
||||
$mdb-input-padding-xs-vertical: 2px !default; // 1
|
||||
$mdb-input-padding-xs-horizontal: 0 !default; // 5
|
||||
|
||||
$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
|
||||
$mdb-input-height-base: ($mdb-input-line-height-computed + ($mdb-input-padding-base-vertical * 2) + 2) !default;
|
||||
//** Large `.form-control` height
|
||||
$mdb-input-height-large: (ceil($mdb-input-font-size-large * $mdb-input-line-height-large) + ($mdb-input-padding-large-vertical * 2) + 2) !default;
|
||||
//** Small `.form-control` height
|
||||
$mdb-input-height-small: (floor($mdb-input-font-size-small * $mdb-input-line-height-small) + ($mdb-input-padding-small-vertical * 2) + 2) !default;
|
||||
|
||||
|
||||
|
||||
|
||||
// Card
|
||||
$mdb-card-body-text: $mdb-text-color-primary !default;
|
||||
$mdb-card-body-background: #fff !default;
|
||||
$mdb-card-image-headline: #fff !default;
|
||||
|
||||
$text-disabled: #a8a8a8 !default;
|
||||
$background-disabled: #eaeaea !default;
|
||||
|
||||
// Checkboxes
|
||||
$mdb-checkbox-size: 20px !default;
|
||||
$mdb-checkbox-animation-ripple: 500ms !default;
|
||||
$mdb-checkbox-animation-check: 0.3s !default;
|
||||
$mdb-checkbox-checked-color: $brand-primary !default;
|
||||
|
||||
$mdb-checkbox-border-size: 2px !default;
|
||||
$mdb-checkbox-label-color: $mdb-label-color !default;
|
||||
$mdb-checkbox-border-color: $mdb-label-color-toggle-focus !default;
|
||||
|
||||
// Popovers and Popups
|
||||
$mdb-popover-background: rgba(101, 101, 101, 0.9) !default;
|
||||
$mdb-popover-color: #ececec !default;
|
||||
|
||||
// Dropdown Menu
|
||||
$mdb-dropdown-font-size: 16px !default;
|
||||
|
||||
// Toggle
|
||||
$mdb-toggle-label-color: $mdb-label-color !default;
|
||||
|
||||
// Radio:
|
||||
$mdb-radio-label-color: $mdb-label-color !default;
|
||||
$mdb-radio-color-off: $mdb-label-color-toggle-focus !default;
|
||||
$mdb-radio-color-on: $brand-primary !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: $body-bg; //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;
|
28
public/assets/vendor/bootstrap-material-design/sass/_welljumbo.scss
vendored
Normal file
28
public/assets/vendor/bootstrap-material-design/sass/_welljumbo.scss
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
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: $border-radius-base;
|
||||
border: 0;
|
||||
p {
|
||||
font-weight: 300;
|
||||
}
|
||||
@include variations(unquote(""), unquote(""), background-color, $white);
|
||||
}
|
||||
}
|
||||
}
|
6
public/assets/vendor/bootstrap-material-design/sass/bootstrap-material-design.scss
vendored
Normal file
6
public/assets/vendor/bootstrap-material-design/sass/bootstrap-material-design.scss
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
@import '_variables';
|
||||
@import '_mixins';
|
||||
@import '_shadows';
|
||||
@import '_core';
|
18
public/assets/vendor/bootstrap-material-design/sass/plugins/_plugin-dropdownjs.scss
vendored
Normal file
18
public/assets/vendor/bootstrap-material-design/sass/plugins/_plugin-dropdownjs.scss
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.dropdownjs::after {
|
||||
//right: 5px;
|
||||
@include right(5px);
|
||||
top: 3px;
|
||||
font-size: 25px;
|
||||
position: absolute;
|
||||
|
||||
// bring in the material icon font and icon by code
|
||||
font-family: 'Material Icons';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
content: "\e5c5"; // found here: https://github.com/google/material-design-icons/search?utf8=%E2%9C%93&q=arrow_drop_down
|
||||
|
||||
pointer-events: none;
|
||||
color: #757575;
|
||||
}
|
115
public/assets/vendor/bootstrap-material-design/sass/plugins/_plugin-nouislider.scss
vendored
Normal file
115
public/assets/vendor/bootstrap-material-design/sass/plugins/_plugin-nouislider.scss
vendored
Normal file
|
@ -0,0 +1,115 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.noUi-target,
|
||||
.noUi-target * {
|
||||
-webkit-touch-callout: none;
|
||||
-ms-touch-action: none;
|
||||
user-select: none;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.noUi-base {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
.noUi-origin {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.noUi-handle {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.noUi-stacking .noUi-handle {
|
||||
z-index: 10;
|
||||
}
|
||||
//.noUi-stacking + .noUi-origin {
|
||||
// *z-index: -1;
|
||||
//} WARNING: Property with star prefix found. Checks for the star property hack (targets IE6/7) (star-property-hack) Browsers: All
|
||||
.noUi-state-tap .noUi-origin {
|
||||
transition: left 0.3s, top 0.3s;
|
||||
}
|
||||
.noUi-state-drag * {
|
||||
cursor: inherit !important;
|
||||
}
|
||||
.noUi-horizontal {
|
||||
height: 10px;
|
||||
}
|
||||
.noUi-handle {
|
||||
box-sizing: border-box;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
//left: -10px;
|
||||
@include left(-10px);
|
||||
top: -5px;
|
||||
cursor: ew-resize;
|
||||
border-radius: 100%;
|
||||
transition: all 0.2s ease-out;
|
||||
border: 1px solid;
|
||||
}
|
||||
.noUi-vertical .noUi-handle {
|
||||
//margin-left: 5px;
|
||||
@include margin-left(5px);
|
||||
cursor: ns-resize;
|
||||
}
|
||||
.noUi-horizontal.noUi-extended {
|
||||
padding: 0 15px;
|
||||
}
|
||||
.noUi-horizontal.noUi-extended .noUi-origin {
|
||||
//right: -15px;
|
||||
@include right(-15px);
|
||||
}
|
||||
.noUi-background {
|
||||
height: 2px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
.noUi-origin {
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
height: 2px;
|
||||
background: #c8c8c8;
|
||||
&[style^="left: 0"] .noUi-handle {
|
||||
background-color: #fff;
|
||||
border: 2px solid #c8c8c8;
|
||||
&.noUi-active {
|
||||
border-width: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.noUi-target {
|
||||
border-radius: $border-radius-base;
|
||||
}
|
||||
.noUi-horizontal {
|
||||
height: 2px;
|
||||
margin: 15px 0;
|
||||
}
|
||||
.noUi-vertical {
|
||||
height: 100%;
|
||||
width: 2px;
|
||||
margin: 0 15px;
|
||||
display: inline-block;
|
||||
}
|
||||
.noUi-handle.noUi-active {
|
||||
transform: scale3d(2.5, 2.5, 1);
|
||||
}
|
||||
[disabled].noUi-slider{
|
||||
opacity: 0.5;
|
||||
}
|
||||
[disabled] .noUi-handle {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.slider {
|
||||
background: #c8c8c8;
|
||||
}
|
||||
|
||||
.slider {
|
||||
@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);
|
||||
}
|
95
public/assets/vendor/bootstrap-material-design/sass/plugins/_plugin-selectize.scss
vendored
Normal file
95
public/assets/vendor/bootstrap-material-design/sass/plugins/_plugin-selectize.scss
vendored
Normal file
|
@ -0,0 +1,95 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
// Support for Selectize plugin
|
||||
// http://brianreavis.github.io/selectize.js/
|
||||
|
||||
.selectize-control.single, .selectize-control.multi {
|
||||
padding: 0;
|
||||
.selectize-input, .selectize-input.input-active {
|
||||
|
||||
cursor: text;
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
font-size: 14px;
|
||||
line-height: 30px;
|
||||
.has-items {
|
||||
padding: 0;
|
||||
}
|
||||
&:after {
|
||||
//right: 5px;
|
||||
@include right(5px);
|
||||
position: absolute;
|
||||
font-size: 25px;
|
||||
content: "\e5c5";
|
||||
font-family: 'Material Icons';
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
input {
|
||||
font-size: 14px;
|
||||
outline: 0;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
}
|
||||
&.label-floating-fix input {
|
||||
opacity: 0;
|
||||
}
|
||||
> div, > .item {
|
||||
display: inline-block;
|
||||
//margin: 0 8px 3px 0;
|
||||
@include margin(0,8px,3px,0);
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
&:after {
|
||||
content: ",";
|
||||
}
|
||||
&:last-of-type:after {
|
||||
content: "";
|
||||
}
|
||||
&.active {
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.selectize-dropdown {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
border: 0;
|
||||
width: 100% !important;
|
||||
left: 0 !important;
|
||||
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: $border-radius-base;
|
||||
padding: 0;
|
||||
margin-top: 3px;
|
||||
.active {
|
||||
background-color: inherit;
|
||||
}
|
||||
.highlight {
|
||||
background-color: #d5d8ff;
|
||||
}
|
||||
.selected, .selected.active {
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
[data-selectable], .optgroup-header {
|
||||
padding: 10px 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.dropdown-active ~ .selectize-dropdown {
|
||||
display: block;
|
||||
}
|
||||
}
|
34
public/assets/vendor/bootstrap-material-design/sass/plugins/_plugin-snackbarjs.scss
vendored
Normal file
34
public/assets/vendor/bootstrap-material-design/sass/plugins/_plugin-snackbarjs.scss
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
// Support for SnackbarJS plugin
|
||||
// https://github.com/FezVrasta/snackbarjs
|
||||
|
||||
.snackbar {
|
||||
// Style
|
||||
background-color: #323232;
|
||||
color: $mdb-text-color-light;
|
||||
font-size: 14px;
|
||||
border-radius: $border-radius-base;
|
||||
@include shadow-z-1;
|
||||
|
||||
// Animation
|
||||
height: 0;
|
||||
transition: transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0s linear 0.2s, padding 0s linear 0.2s, height 0s linear 0.2s;
|
||||
transform: translateY(200%);
|
||||
}
|
||||
|
||||
.snackbar.snackbar-opened {
|
||||
// Style
|
||||
padding: 14px 15px;
|
||||
margin-bottom: 20px;
|
||||
|
||||
// Animation
|
||||
height: auto;
|
||||
transition: transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0s linear 0.2s, height 0s linear 0.2s;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
// Variations
|
||||
.snackbar.toast {
|
||||
border-radius: 200px;
|
||||
}
|
40
public/assets/vendor/bootstrap-material-design/sass/ripples.scss
vendored
Normal file
40
public/assets/vendor/bootstrap-material-design/sass/ripples.scss
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
|
||||
|
||||
.withripple {
|
||||
position: relative;
|
||||
}
|
||||
.ripple-container {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
//left: 0;
|
||||
@include 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;
|
||||
@include 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%;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
.ripple.ripple-on {
|
||||
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 {
|
||||
transition: opacity 0.1s linear 0s !important;
|
||||
opacity: 0;
|
||||
}
|
2
public/assets/vendor/bootstrap-material-design/scripts/index.js
vendored
Normal file
2
public/assets/vendor/bootstrap-material-design/scripts/index.js
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
require("./material.js");
|
||||
require("./ripples.js");
|
352
public/assets/vendor/bootstrap-material-design/scripts/material.js
vendored
Normal file
352
public/assets/vendor/bootstrap-material-design/scripts/material.js
vendored
Normal file
|
@ -0,0 +1,352 @@
|
|||
/* globals jQuery */
|
||||
|
||||
(function ($) {
|
||||
// Selector to select only not already processed elements
|
||||
$.expr[":"].notmdproc = function (obj) {
|
||||
if ($(obj).data("mdproc")) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
function _isChar(evt) {
|
||||
if (typeof evt.which == "undefined") {
|
||||
return true;
|
||||
} else if (typeof evt.which == "number" && evt.which > 0) {
|
||||
return (
|
||||
!evt.ctrlKey
|
||||
&& !evt.metaKey
|
||||
&& !evt.altKey
|
||||
&& evt.which != 8 // backspace
|
||||
&& evt.which != 9 // tab
|
||||
&& evt.which != 13 // enter
|
||||
&& evt.which != 16 // shift
|
||||
&& evt.which != 17 // ctrl
|
||||
&& evt.which != 20 // caps lock
|
||||
&& evt.which != 27 // escape
|
||||
);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function _addFormGroupFocus(element) {
|
||||
var $element = $(element);
|
||||
if (!$element.prop('disabled')) { // this is showing as undefined on chrome but works fine on firefox??
|
||||
$element.closest(".form-group").addClass("is-focused");
|
||||
}
|
||||
}
|
||||
|
||||
function _toggleDisabledState($element, state) {
|
||||
var $target;
|
||||
if ($element.hasClass('checkbox-inline') || $element.hasClass('radio-inline')) {
|
||||
$target = $element;
|
||||
} else {
|
||||
$target = $element.closest('.checkbox').length ? $element.closest('.checkbox') : $element.closest('.radio');
|
||||
}
|
||||
return $target.toggleClass('disabled', state);
|
||||
}
|
||||
|
||||
function _toggleTypeFocus($input) {
|
||||
var disabledToggleType = false;
|
||||
if ($input.is($.material.options.checkboxElements) || $input.is($.material.options.radioElements)) {
|
||||
disabledToggleType = true;
|
||||
}
|
||||
$input.closest('label').hover(function () {
|
||||
var $i = $(this).find('input');
|
||||
var isDisabled = $i.prop('disabled'); // hack because the _addFormGroupFocus() wasn't identifying the property on chrome
|
||||
if (disabledToggleType) {
|
||||
_toggleDisabledState($(this), isDisabled);
|
||||
}
|
||||
if (!isDisabled) {
|
||||
_addFormGroupFocus($i); // need to find the input so we can check disablement
|
||||
}
|
||||
},
|
||||
function () {
|
||||
_removeFormGroupFocus($(this).find('input'));
|
||||
});
|
||||
}
|
||||
|
||||
function _removeFormGroupFocus(element) {
|
||||
$(element).closest(".form-group").removeClass("is-focused"); // remove class from form-group
|
||||
}
|
||||
|
||||
$.material = {
|
||||
"options": {
|
||||
// These options set what will be started by $.material.init()
|
||||
"validate": true,
|
||||
"input": true,
|
||||
"ripples": true,
|
||||
"checkbox": true,
|
||||
"togglebutton": true,
|
||||
"radio": true,
|
||||
"arrive": true,
|
||||
"autofill": false,
|
||||
|
||||
"withRipples": [
|
||||
".btn:not(.btn-link)",
|
||||
".card-image",
|
||||
".navbar a:not(.withoutripple)",
|
||||
".dropdown-menu a",
|
||||
".nav-tabs a:not(.withoutripple)",
|
||||
".withripple",
|
||||
".pagination li:not(.active):not(.disabled) a:not(.withoutripple)"
|
||||
].join(","),
|
||||
"inputElements": "input.form-control, textarea.form-control, select.form-control",
|
||||
"checkboxElements": ".checkbox > label > input[type=checkbox], label.checkbox-inline > input[type=checkbox]",
|
||||
"togglebuttonElements": ".togglebutton > label > input[type=checkbox]",
|
||||
"radioElements": ".radio > label > input[type=radio], label.radio-inline > input[type=radio]"
|
||||
},
|
||||
"checkbox": function (selector) {
|
||||
// Add fake-checkbox to material checkboxes
|
||||
var $input = $((selector) ? selector : this.options.checkboxElements)
|
||||
.filter(":notmdproc")
|
||||
.data("mdproc", true)
|
||||
.after("<span class='checkbox-material'><span class='check'></span></span>");
|
||||
|
||||
_toggleTypeFocus($input);
|
||||
},
|
||||
"togglebutton": function (selector) {
|
||||
// Add fake-checkbox to material checkboxes
|
||||
var $input = $((selector) ? selector : this.options.togglebuttonElements)
|
||||
.filter(":notmdproc")
|
||||
.data("mdproc", true)
|
||||
.after("<span class='toggle'></span>");
|
||||
|
||||
_toggleTypeFocus($input);
|
||||
},
|
||||
"radio": function (selector) {
|
||||
// Add fake-radio to material radios
|
||||
var $input = $((selector) ? selector : this.options.radioElements)
|
||||
.filter(":notmdproc")
|
||||
.data("mdproc", true)
|
||||
.after("<span class='circle'></span><span class='check'></span>");
|
||||
|
||||
_toggleTypeFocus($input);
|
||||
},
|
||||
"input": function (selector) {
|
||||
$((selector) ? selector : this.options.inputElements)
|
||||
.filter(":notmdproc")
|
||||
.data("mdproc", true)
|
||||
.each(function () {
|
||||
var $input = $(this);
|
||||
|
||||
// Requires form-group standard markup (will add it if necessary)
|
||||
var $formGroup = $input.closest(".form-group"); // note that form-group may be grandparent in the case of an input-group
|
||||
if ($formGroup.length === 0 && $input.attr('type') !== "hidden" && !$input.attr('hidden')) {
|
||||
$input.wrap("<div class='form-group'></div>");
|
||||
$formGroup = $input.closest(".form-group"); // find node after attached (otherwise additional attachments don't work)
|
||||
}
|
||||
|
||||
// Legacy - Add hint label if using the old shorthand data-hint attribute on the input
|
||||
if ($input.attr("data-hint")) {
|
||||
$input.after("<p class='help-block'>" + $input.attr("data-hint") + "</p>");
|
||||
$input.removeAttr("data-hint");
|
||||
}
|
||||
|
||||
// Legacy - Change input-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)
|
||||
var legacySizes = {
|
||||
"input-lg": "form-group-lg",
|
||||
"input-sm": "form-group-sm"
|
||||
};
|
||||
$.each(legacySizes, function (legacySize, standardSize) {
|
||||
if ($input.hasClass(legacySize)) {
|
||||
$input.removeClass(legacySize);
|
||||
$formGroup.addClass(standardSize);
|
||||
}
|
||||
});
|
||||
|
||||
// Legacy - Add label-floating if using old shorthand <input class="floating-label" placeholder="foo">
|
||||
if ($input.hasClass("floating-label")) {
|
||||
var placeholder = $input.attr("placeholder");
|
||||
$input.attr("placeholder", null).removeClass("floating-label");
|
||||
var id = $input.attr("id");
|
||||
var forAttribute = "";
|
||||
if (id) {
|
||||
forAttribute = "for='" + id + "'";
|
||||
}
|
||||
$formGroup.addClass("label-floating");
|
||||
$input.after("<label " + forAttribute + "class='control-label'>" + placeholder + "</label>");
|
||||
}
|
||||
|
||||
// Set as empty if is empty (damn I must improve this...)
|
||||
if ($input.val() === null || $input.val() == "undefined" || $input.val() === "") {
|
||||
$formGroup.addClass("is-empty");
|
||||
}
|
||||
|
||||
// Support for file input
|
||||
if ($formGroup.find("input[type=file]").length > 0) {
|
||||
$formGroup.addClass("is-fileinput");
|
||||
}
|
||||
});
|
||||
},
|
||||
"attachInputEventHandlers": function () {
|
||||
var validate = this.options.validate;
|
||||
|
||||
$(document)
|
||||
.on("keydown paste", ".form-control", function (e) {
|
||||
if (_isChar(e)) {
|
||||
$(this).closest(".form-group").removeClass("is-empty");
|
||||
}
|
||||
})
|
||||
.on("keyup change", ".form-control", function () {
|
||||
var $input = $(this);
|
||||
var $formGroup = $input.closest(".form-group");
|
||||
var isValid = (typeof $input[0].checkValidity === "undefined" || $input[0].checkValidity());
|
||||
|
||||
if ($input.val() === "") {
|
||||
$formGroup.addClass("is-empty");
|
||||
}
|
||||
else {
|
||||
$formGroup.removeClass("is-empty");
|
||||
}
|
||||
|
||||
// Validation events do not bubble, so they must be attached directly to the input: http://jsfiddle.net/PEpRM/1/
|
||||
// Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter
|
||||
// the form-group on change.
|
||||
//
|
||||
// NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.
|
||||
// BUT, I've left it here for backwards compatibility.
|
||||
if (validate) {
|
||||
if (isValid) {
|
||||
$formGroup.removeClass("has-error");
|
||||
}
|
||||
else {
|
||||
$formGroup.addClass("has-error");
|
||||
}
|
||||
}
|
||||
})
|
||||
.on("focus", ".form-control, .form-group.is-fileinput", function () {
|
||||
_addFormGroupFocus(this);
|
||||
})
|
||||
.on("blur", ".form-control, .form-group.is-fileinput", function () {
|
||||
_removeFormGroupFocus(this);
|
||||
})
|
||||
// make sure empty is added back when there is a programmatic value change.
|
||||
// NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')
|
||||
.on("change", ".form-group input", function () {
|
||||
var $input = $(this);
|
||||
if ($input.attr("type") == "file") {
|
||||
return;
|
||||
}
|
||||
|
||||
var $formGroup = $input.closest(".form-group");
|
||||
var value = $input.val();
|
||||
if (value) {
|
||||
$formGroup.removeClass("is-empty");
|
||||
} else {
|
||||
$formGroup.addClass("is-empty");
|
||||
}
|
||||
})
|
||||
// set the fileinput readonly field with the name of the file
|
||||
.on("change", ".form-group.is-fileinput input[type='file']", function () {
|
||||
var $input = $(this);
|
||||
var $formGroup = $input.closest(".form-group");
|
||||
var value = "";
|
||||
$.each(this.files, function (i, file) {
|
||||
value += file.name + ", ";
|
||||
});
|
||||
value = value.substring(0, value.length - 2);
|
||||
if (value) {
|
||||
$formGroup.removeClass("is-empty");
|
||||
} else {
|
||||
$formGroup.addClass("is-empty");
|
||||
}
|
||||
$formGroup.find("input.form-control[readonly]").val(value);
|
||||
});
|
||||
},
|
||||
"ripples": function (selector) {
|
||||
$((selector) ? selector : this.options.withRipples).ripples();
|
||||
},
|
||||
"autofill": function () {
|
||||
// This part of code will detect autofill when the page is loading (username and password inputs for example)
|
||||
var loading = setInterval(function () {
|
||||
$("input[type!=checkbox]").each(function () {
|
||||
var $this = $(this);
|
||||
if ($this.val() && $this.val() !== $this.attr("value")) {
|
||||
$this.trigger("change");
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
|
||||
// After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them
|
||||
setTimeout(function () {
|
||||
clearInterval(loading);
|
||||
}, 10000);
|
||||
},
|
||||
"attachAutofillEventHandlers": function () {
|
||||
// Listen on inputs of the focused form (because user can select from the autofill dropdown only when the input has focus)
|
||||
var focused;
|
||||
$(document)
|
||||
.on("focus", "input", function () {
|
||||
var $inputs = $(this).parents("form").find("input").not("[type=file]");
|
||||
focused = setInterval(function () {
|
||||
$inputs.each(function () {
|
||||
var $this = $(this);
|
||||
if ($this.val() !== $this.attr("value")) {
|
||||
$this.trigger("change");
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
})
|
||||
.on("blur", ".form-group input", function () {
|
||||
clearInterval(focused);
|
||||
});
|
||||
},
|
||||
"init": function (options) {
|
||||
this.options = $.extend({}, this.options, options);
|
||||
var $document = $(document);
|
||||
|
||||
if ($.fn.ripples && this.options.ripples) {
|
||||
this.ripples();
|
||||
}
|
||||
if (this.options.input) {
|
||||
this.input();
|
||||
this.attachInputEventHandlers();
|
||||
}
|
||||
if (this.options.checkbox) {
|
||||
this.checkbox();
|
||||
}
|
||||
if (this.options.togglebutton) {
|
||||
this.togglebutton();
|
||||
}
|
||||
if (this.options.radio) {
|
||||
this.radio();
|
||||
}
|
||||
if (this.options.autofill) {
|
||||
this.autofill();
|
||||
this.attachAutofillEventHandlers();
|
||||
}
|
||||
|
||||
if (document.arrive && this.options.arrive) {
|
||||
if ($.fn.ripples && this.options.ripples) {
|
||||
$document.arrive(this.options.withRipples, function () {
|
||||
$.material.ripples($(this));
|
||||
});
|
||||
}
|
||||
if (this.options.input) {
|
||||
$document.arrive(this.options.inputElements, function () {
|
||||
$.material.input($(this));
|
||||
});
|
||||
}
|
||||
if (this.options.checkbox) {
|
||||
$document.arrive(this.options.checkboxElements, function () {
|
||||
$.material.checkbox($(this));
|
||||
});
|
||||
}
|
||||
if (this.options.radio) {
|
||||
$document.arrive(this.options.radioElements, function () {
|
||||
$.material.radio($(this));
|
||||
});
|
||||
}
|
||||
if (this.options.togglebutton) {
|
||||
$document.arrive(this.options.togglebuttonElements, function () {
|
||||
$.material.togglebutton($(this));
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
})(jQuery);
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user