Compare commits
245 Commits
v3.0.0-alp
...
v2.4.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7cfbe94b7e | ||
|
|
187dcfae4d | ||
|
|
f4ee8fba68 | ||
|
|
fbbc450c41 | ||
|
|
4b0d73bab9 | ||
|
|
41d3db21ed | ||
|
|
6f77ce584e | ||
|
|
87209a984a | ||
|
|
406cda26d9 | ||
|
|
c6b45cdfa0 | ||
|
|
a60df9f050 | ||
|
|
4169db0857 | ||
|
|
342a0ac17f | ||
|
|
ec245fd46e | ||
|
|
ccb00ccdad | ||
|
|
7089f63213 | ||
|
|
bf174bfcb0 | ||
|
|
1f797fd5f7 | ||
|
|
b12cc7d9e4 | ||
|
|
26a56938ce | ||
|
|
4c25d55149 | ||
|
|
eb782d743b | ||
|
|
b7da81b3d3 | ||
|
|
6f754362f5 | ||
|
|
d1dd9b8013 | ||
|
|
936302b847 | ||
|
|
a0475e08ae | ||
|
|
235481d1d6 | ||
|
|
37c8bbb019 | ||
|
|
890ccbdb09 | ||
|
|
30324f4f33 | ||
|
|
324bca9f14 | ||
|
|
2c372a2ce2 | ||
|
|
b04a99466d | ||
|
|
201d482066 | ||
|
|
b5f4bba4e6 | ||
|
|
a1f6bb07d3 | ||
|
|
024e3faa9d | ||
|
|
436513ac24 | ||
|
|
d2d63c857a | ||
|
|
57c62f4222 | ||
|
|
af4ece9a80 | ||
|
|
3f5abdbfca | ||
|
|
383d685a5f | ||
|
|
075fe294ed | ||
|
|
9f870d0fad | ||
|
|
3c672fe9aa | ||
|
|
a7d49bd656 | ||
|
|
f02c61eb0e | ||
|
|
469e9cd136 | ||
|
|
84ca9cdc24 | ||
|
|
01b4740d93 | ||
|
|
17c9366f4b | ||
|
|
7cecd1922d | ||
|
|
d10ba04ec9 | ||
|
|
51142e7fc9 | ||
|
|
28c75ef8a0 | ||
|
|
cdc2e7e3d0 | ||
|
|
b5e67488e7 | ||
|
|
178adf5dc0 | ||
|
|
6683ab7303 | ||
|
|
7aa9f44d66 | ||
|
|
bfbccf9bf7 | ||
|
|
61cd9ca7b0 | ||
|
|
aa945e6e6f | ||
|
|
d73be88861 | ||
|
|
f46e5198b7 | ||
|
|
be0a0b17b0 | ||
|
|
074d1ca039 | ||
|
|
fcc14dcff7 | ||
|
|
bd3799eb7c | ||
|
|
082ffa3d41 | ||
|
|
09c91313a0 | ||
|
|
1273f93e67 | ||
|
|
74c27f7f11 | ||
|
|
501448ad6f | ||
|
|
cdcf40edc0 | ||
|
|
8747e8be04 | ||
|
|
2be703222a | ||
|
|
95d377eabc | ||
|
|
194f92be3a | ||
|
|
0c4ca8c4db | ||
|
|
2f3d9ca953 | ||
|
|
02efe00fc9 | ||
|
|
4758ab5216 | ||
|
|
b621ed77f2 | ||
|
|
76e1d899d5 | ||
|
|
b016468ab2 | ||
|
|
a527b7fe99 | ||
|
|
8410b2fdc1 | ||
|
|
e73de15f31 | ||
|
|
96174a1ada | ||
|
|
1817e83917 | ||
|
|
fff97052cc | ||
|
|
7ec1e072d9 | ||
|
|
3d4acd72d9 | ||
|
|
bb61097fea | ||
|
|
5ecdce9813 | ||
|
|
508e4f0815 | ||
|
|
70b95bbf6f | ||
|
|
dc83709196 | ||
|
|
09651c1d0c | ||
|
|
eec8a98901 | ||
|
|
e736df9f64 | ||
|
|
12ea7168fb | ||
|
|
90e62c2af0 | ||
|
|
e499f26f76 | ||
|
|
53b904d946 | ||
|
|
7ec587b75b | ||
|
|
0159d06b24 | ||
|
|
51bf7c4a80 | ||
|
|
6e2f5b0708 | ||
|
|
8a7b80c64c | ||
|
|
ced14b133d | ||
|
|
1fe157ae77 | ||
|
|
3cbb6273e0 | ||
|
|
7e011ed4b5 | ||
|
|
e3d93f7e1d | ||
|
|
797b65b3ca | ||
|
|
5b14053e35 | ||
|
|
4de79841b4 | ||
|
|
8d21b84474 | ||
|
|
7561213185 | ||
|
|
1a89a2feab | ||
|
|
060f79063e | ||
|
|
159887612e | ||
|
|
e207c9c0c8 | ||
|
|
be18803032 | ||
|
|
821a3bc063 | ||
|
|
79bd17075e | ||
|
|
30f9916802 | ||
|
|
5170c4f8ea | ||
|
|
09a8974ab7 | ||
|
|
e989db685e | ||
|
|
87cba5d352 | ||
|
|
8f0a652055 | ||
|
|
be11566d95 | ||
|
|
d4877677ab | ||
|
|
98400d1498 | ||
|
|
1bffa9fd44 | ||
|
|
7d78453e8a | ||
|
|
0e601c1463 | ||
|
|
b8ea25e8eb | ||
|
|
16bb613abe | ||
|
|
0ab2eb7f38 | ||
|
|
665514209b | ||
|
|
13f3036479 | ||
|
|
2de98d7b70 | ||
|
|
140c350c5c | ||
|
|
68e473db43 | ||
|
|
64a91f7b56 | ||
|
|
8e278e1145 | ||
|
|
bca8e8ec66 | ||
|
|
db51bd8b98 | ||
|
|
1a29b58111 | ||
|
|
35dacb3f97 | ||
|
|
688631379b | ||
|
|
05f0528552 | ||
|
|
20cd83d204 | ||
|
|
9d6c25d7b2 | ||
|
|
6ed3a7bfc4 | ||
|
|
476653811a | ||
|
|
84ad18c3e8 | ||
|
|
59c8ea100a | ||
|
|
493bdb6580 | ||
|
|
abe80a0e92 | ||
|
|
0dc992837e | ||
|
|
ec2e31079b | ||
|
|
d003040ddc | ||
|
|
b07ef01535 | ||
|
|
b4f1c53713 | ||
|
|
bcd808d203 | ||
|
|
9b80592460 | ||
|
|
8438a30eaa | ||
|
|
da310983fd | ||
|
|
04e4fcb934 | ||
|
|
1c243550e4 | ||
|
|
b71926e6ac | ||
|
|
f9a3f8b5ff | ||
|
|
0c4ebb13c2 | ||
|
|
198e91c64a | ||
|
|
9b77655eb3 | ||
|
|
c9dcc7c1dd | ||
|
|
e5e0c53b0c | ||
|
|
6eab94926c | ||
|
|
a0addfa177 | ||
|
|
cb6ac64ac4 | ||
|
|
e61eb404d2 | ||
|
|
ea7823b72c | ||
|
|
88b4e3d8b6 | ||
|
|
446b1cec52 | ||
|
|
d73cf99666 | ||
|
|
139b4604c5 | ||
|
|
af4360260c | ||
|
|
0050e298a2 | ||
|
|
d051696b4b | ||
|
|
a49aaf581b | ||
|
|
8db9797950 | ||
|
|
497ca6d7e6 | ||
|
|
034c31e089 | ||
|
|
bdec7573df | ||
|
|
f3b2f0d46c | ||
|
|
c2bc22698c | ||
|
|
bd61a3b66b | ||
|
|
fe147c9b21 | ||
|
|
faa724a692 | ||
|
|
dbfd0322c0 | ||
|
|
720c036708 | ||
|
|
2f64568f4c | ||
|
|
18b882dd3f | ||
|
|
4fbef59be1 | ||
|
|
9c28589ad6 | ||
|
|
bd36febbc0 | ||
|
|
2b73a99716 | ||
|
|
be82cd2d05 | ||
|
|
bc696b82cc | ||
|
|
fe3382b879 | ||
|
|
525f1e62fe | ||
|
|
10e1f7fc2d | ||
|
|
f284016fa8 | ||
|
|
93e99de603 | ||
|
|
6a45ff52d0 | ||
|
|
45b64a9739 | ||
|
|
74428d3ec4 | ||
|
|
e6318e7386 | ||
|
|
41d18400ba | ||
|
|
fceb5eebe6 | ||
|
|
f741eec73c | ||
|
|
b1e8da631e | ||
|
|
732d6bbd59 | ||
|
|
5482534db4 | ||
|
|
65904edd76 | ||
|
|
93f2ad2fef | ||
|
|
e92b9acd19 | ||
|
|
03ff6f5d9f | ||
|
|
d30707611d | ||
|
|
d7189ad95c | ||
|
|
34ce040105 | ||
|
|
c174dc7b63 | ||
|
|
2681b8bd2e | ||
|
|
dce8dd7070 | ||
|
|
12bf734658 | ||
|
|
ff6ce09d39 | ||
|
|
9c15693784 | ||
|
|
20eba516a4 |
14
.babelrc
14
.babelrc
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"presets": [
|
||||
[
|
||||
"env",
|
||||
{
|
||||
"loose": true,
|
||||
"modules": false
|
||||
}
|
||||
]
|
||||
],
|
||||
"plugins": [
|
||||
"external-helpers"
|
||||
]
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
**/*.min.js
|
||||
**/plugins/*
|
||||
**/dist/*
|
||||
**/build/npm
|
||||
ad.js
|
||||
300
.eslintrc
300
.eslintrc
@@ -1,300 +0,0 @@
|
||||
{
|
||||
"root": true,
|
||||
"parser": "babel-eslint",
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es6": true,
|
||||
"amd": true
|
||||
},
|
||||
"extends": "eslint:recommended",
|
||||
"plugins": [
|
||||
"compat"
|
||||
],
|
||||
"globals": {
|
||||
"jQuery": true
|
||||
},
|
||||
"rules": {
|
||||
// Possible Errors
|
||||
"no-await-in-loop": "error",
|
||||
"no-extra-parens": "error",
|
||||
"no-prototype-builtins": "error",
|
||||
"no-template-curly-in-string": "error",
|
||||
"compat/compat": "error",
|
||||
"valid-jsdoc": "error",
|
||||
// Best Practices
|
||||
"accessor-pairs": "error",
|
||||
"array-callback-return": "error",
|
||||
"block-scoped-var": "error",
|
||||
"class-methods-use-this": "off",
|
||||
"complexity": "error",
|
||||
"consistent-return": "error",
|
||||
"curly": "error",
|
||||
"default-case": "error",
|
||||
"dot-location": [
|
||||
"error",
|
||||
"property"
|
||||
],
|
||||
"dot-notation": "error",
|
||||
"eqeqeq": "error",
|
||||
"guard-for-in": "error",
|
||||
"no-alert": "error",
|
||||
"no-caller": "error",
|
||||
"no-div-regex": "error",
|
||||
"no-else-return": "error",
|
||||
"no-empty-function": "error",
|
||||
"no-eq-null": "error",
|
||||
"no-eval": "error",
|
||||
"no-extend-native": "error",
|
||||
"no-extra-bind": "error",
|
||||
"no-extra-label": "error",
|
||||
"no-floating-decimal": "error",
|
||||
"no-implicit-coercion": "error",
|
||||
"no-implicit-globals": "error",
|
||||
"no-implied-eval": "error",
|
||||
"no-invalid-this": "off",
|
||||
"no-iterator": "error",
|
||||
"no-labels": "error",
|
||||
"no-lone-blocks": "error",
|
||||
"no-loop-func": "error",
|
||||
"no-magic-numbers": [
|
||||
"error",
|
||||
{
|
||||
"ignore": [
|
||||
-1,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"ignoreArrayIndexes": true
|
||||
}
|
||||
],
|
||||
"no-multi-spaces": [
|
||||
"error",
|
||||
{
|
||||
"ignoreEOLComments": true,
|
||||
"exceptions": {
|
||||
"AssignmentExpression": true,
|
||||
"ArrowFunctionExpression": true,
|
||||
"CallExpression": true,
|
||||
"VariableDeclarator": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"no-multi-str": "error",
|
||||
"no-new": "error",
|
||||
"no-new-func": "error",
|
||||
"no-new-wrappers": "error",
|
||||
"no-octal-escape": "error",
|
||||
"no-param-reassign": "off",
|
||||
"no-proto": "error",
|
||||
"no-restricted-properties": "error",
|
||||
"no-return-assign": "error",
|
||||
"no-return-await": "error",
|
||||
"no-script-url": "error",
|
||||
"no-self-compare": "error",
|
||||
"no-sequences": "error",
|
||||
"no-throw-literal": "error",
|
||||
"no-unmodified-loop-condition": "error",
|
||||
"no-unused-expressions": "error",
|
||||
"no-useless-call": "error",
|
||||
"no-useless-concat": "error",
|
||||
"no-useless-return": "error",
|
||||
"no-void": "error",
|
||||
"no-warning-comments": "off",
|
||||
"no-with": "error",
|
||||
"prefer-promise-reject-errors": "error",
|
||||
"radix": "error",
|
||||
"require-await": "error",
|
||||
"vars-on-top": "error",
|
||||
"wrap-iife": "error",
|
||||
"yoda": "error",
|
||||
// Strict Mode
|
||||
"strict": "error",
|
||||
// Variables
|
||||
"init-declarations": "off",
|
||||
"no-catch-shadow": "error",
|
||||
"no-label-var": "error",
|
||||
"no-restricted-globals": "error",
|
||||
"no-shadow": "off",
|
||||
"no-shadow-restricted-names": "error",
|
||||
"no-undef-init": "error",
|
||||
"no-undefined": "error",
|
||||
"no-use-before-define": "off",
|
||||
// Node.js and CommonJS
|
||||
"callback-return": "off",
|
||||
"global-require": "error",
|
||||
"handle-callback-err": "error",
|
||||
"no-mixed-requires": "error",
|
||||
"no-new-require": "error",
|
||||
"no-path-concat": "error",
|
||||
"no-process-env": "error",
|
||||
"no-process-exit": "error",
|
||||
"no-restricted-modules": "error",
|
||||
"no-sync": "error",
|
||||
// Stylistic Issues
|
||||
"array-bracket-spacing": "error",
|
||||
"block-spacing": "error",
|
||||
"brace-style": "error",
|
||||
"camelcase": "error",
|
||||
"capitalized-comments": "off",
|
||||
"comma-dangle": "error",
|
||||
"comma-spacing": "error",
|
||||
"comma-style": "error",
|
||||
"computed-property-spacing": "error",
|
||||
"consistent-this": "error",
|
||||
"eol-last": "error",
|
||||
"func-call-spacing": "error",
|
||||
"func-name-matching": "error",
|
||||
"func-names": "off",
|
||||
"func-style": [
|
||||
"error",
|
||||
"declaration"
|
||||
],
|
||||
"id-blacklist": "error",
|
||||
"id-length": "off",
|
||||
"id-match": "error",
|
||||
"indent": [
|
||||
"error",
|
||||
2,
|
||||
{
|
||||
"SwitchCase": 1
|
||||
}
|
||||
],
|
||||
"jsx-quotes": "error",
|
||||
"key-spacing": "off",
|
||||
"keyword-spacing": "error",
|
||||
"linebreak-style": [
|
||||
"error",
|
||||
"unix"
|
||||
],
|
||||
"line-comment-position": "off",
|
||||
"lines-around-comment": "off",
|
||||
"lines-around-directive": "error",
|
||||
"max-depth": [
|
||||
"error",
|
||||
10
|
||||
],
|
||||
"max-len": "off",
|
||||
"max-lines": "off",
|
||||
"max-nested-callbacks": "error",
|
||||
"max-params": "off",
|
||||
"max-statements": "off",
|
||||
"max-statements-per-line": "error",
|
||||
"multiline-ternary": "off",
|
||||
"new-cap": [
|
||||
"error",
|
||||
{
|
||||
"capIsNewExceptionPattern": "$.*"
|
||||
}
|
||||
],
|
||||
"newline-after-var": "off",
|
||||
"newline-per-chained-call": [
|
||||
"error",
|
||||
{
|
||||
"ignoreChainWithDepth": 5
|
||||
}
|
||||
],
|
||||
"new-parens": "error",
|
||||
"no-array-constructor": "error",
|
||||
"no-bitwise": "error",
|
||||
"no-continue": "off",
|
||||
"no-inline-comments": "off",
|
||||
"no-lonely-if": "error",
|
||||
"no-mixed-operators": "off",
|
||||
"no-multi-assign": "error",
|
||||
"no-multiple-empty-lines": "error",
|
||||
"nonblock-statement-body-position": "error",
|
||||
"no-negated-condition": "off",
|
||||
"no-nested-ternary": "error",
|
||||
"no-new-object": "error",
|
||||
"no-plusplus": "off",
|
||||
"no-restricted-syntax": "error",
|
||||
"no-tabs": "error",
|
||||
"no-ternary": "off",
|
||||
"no-trailing-spaces": "error",
|
||||
"no-underscore-dangle": "off",
|
||||
"no-unneeded-ternary": "error",
|
||||
"no-whitespace-before-property": "error",
|
||||
"object-curly-newline": [
|
||||
"error",
|
||||
{
|
||||
"minProperties": 1
|
||||
}
|
||||
],
|
||||
"object-curly-spacing": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"object-property-newline": "error",
|
||||
"one-var": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"one-var-declaration-per-line": "error",
|
||||
"operator-assignment": "error",
|
||||
"operator-linebreak": "error",
|
||||
"padded-blocks": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"padding-line-between-statements": "off",
|
||||
"quote-props": [
|
||||
"error",
|
||||
"as-needed"
|
||||
],
|
||||
"quotes": [
|
||||
"error",
|
||||
"single"
|
||||
],
|
||||
"require-jsdoc": "off",
|
||||
"semi": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"semi-spacing": "error",
|
||||
"sort-keys": "off",
|
||||
"sort-vars": "error",
|
||||
"space-before-blocks": "error",
|
||||
"space-before-function-paren": [
|
||||
"error",
|
||||
{
|
||||
"anonymous": "always",
|
||||
"named": "never"
|
||||
}
|
||||
],
|
||||
"space-in-parens": "error",
|
||||
"space-infix-ops": "error",
|
||||
"space-unary-ops": "error",
|
||||
"spaced-comment": "error",
|
||||
"template-tag-spacing": "error",
|
||||
"unicode-bom": "error",
|
||||
"wrap-regex": "off",
|
||||
// ECMAScript 6
|
||||
"arrow-body-style": [
|
||||
"error",
|
||||
"as-needed"
|
||||
],
|
||||
"arrow-parens": "error",
|
||||
"arrow-spacing": "error",
|
||||
"generator-star-spacing": "error",
|
||||
"no-confusing-arrow": "error",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-restricted-imports": "error",
|
||||
"no-useless-computed-key": "error",
|
||||
"no-useless-constructor": "error",
|
||||
"no-useless-rename": "error",
|
||||
"no-var": "error",
|
||||
"object-shorthand": "error",
|
||||
"prefer-arrow-callback": "error",
|
||||
"prefer-const": "error",
|
||||
"prefer-destructuring": "off",
|
||||
"prefer-numeric-literals": "error",
|
||||
"prefer-rest-params": "error",
|
||||
"prefer-spread": "error",
|
||||
"prefer-template": "error",
|
||||
"rest-spread-spacing": "error",
|
||||
"sort-imports": "error",
|
||||
"symbol-description": "error",
|
||||
"template-curly-spacing": "error",
|
||||
"yield-star-spacing": "error"
|
||||
}
|
||||
}
|
||||
10
.gitignore
vendored
10
.gitignore
vendored
@@ -2,11 +2,11 @@
|
||||
*.log
|
||||
*.zip
|
||||
.idea
|
||||
nbproject
|
||||
nbproject/private
|
||||
node_modules
|
||||
.sass-cache
|
||||
bower_components
|
||||
.sass-cache/
|
||||
/nbproject/
|
||||
/nbproject/private/
|
||||
/node_modules/
|
||||
/bower_components/
|
||||
ad.js
|
||||
TODO
|
||||
test.html
|
||||
|
||||
3
.npmignore
Normal file
3
.npmignore
Normal file
@@ -0,0 +1,3 @@
|
||||
bower_components/
|
||||
documentation/
|
||||
composer.json
|
||||
281
Gruntfile.js
Normal file
281
Gruntfile.js
Normal file
@@ -0,0 +1,281 @@
|
||||
// AdminLTE Gruntfile
|
||||
module.exports = function (grunt) { // jshint ignore:line
|
||||
|
||||
'use strict'
|
||||
|
||||
grunt.initConfig({
|
||||
pkg : grunt.file.readJSON('package.json'),
|
||||
watch : {
|
||||
less : {
|
||||
// Compiles less files upon saving
|
||||
files: ['build/less/*.less'],
|
||||
tasks: ['less:development', 'less:production']
|
||||
},
|
||||
js : {
|
||||
// Compile js files upon saving
|
||||
files: ['build/js/*.js', 'dist/js/app.js'],
|
||||
tasks: ['js']
|
||||
},
|
||||
skins: {
|
||||
// Compile any skin less files upon saving
|
||||
files: ['build/less/skins/*.less'],
|
||||
tasks: ['less:skins', 'less:minifiedSkins']
|
||||
}
|
||||
},
|
||||
notify: {
|
||||
less : {
|
||||
title : 'LESS Compiler',
|
||||
message: 'LESS finished running'
|
||||
},
|
||||
uglify: {
|
||||
options: {
|
||||
title : 'JS Compiler',
|
||||
message: 'JS bundler finished running'
|
||||
}
|
||||
}
|
||||
},
|
||||
// 'less'-task configuration
|
||||
// This task will compile all less files upon saving to create both AdminLTE.css and AdminLTE.min.css
|
||||
less : {
|
||||
// Development not compressed
|
||||
development : {
|
||||
files: {
|
||||
// compilation.css : source.less
|
||||
'dist/css/AdminLTE.css' : 'build/less/AdminLTE.less',
|
||||
// AdminLTE without plugins
|
||||
'dist/css/alt/AdminLTE-without-plugins.css' : 'build/less/AdminLTE-without-plugins.less',
|
||||
// Separate plugins
|
||||
'dist/css/alt/AdminLTE-select2.css' : 'build/less/select2.less',
|
||||
'dist/css/alt/AdminLTE-fullcalendar.css' : 'build/less/fullcalendar.less',
|
||||
'dist/css/alt/AdminLTE-bootstrap-social.css': 'build/less/bootstrap-social.less'
|
||||
}
|
||||
},
|
||||
// Production compressed version
|
||||
production : {
|
||||
options: {
|
||||
compress: true
|
||||
},
|
||||
files : {
|
||||
// compilation.css : source.less
|
||||
'dist/css/AdminLTE.min.css' : 'build/less/AdminLTE.less',
|
||||
// AdminLTE without plugins
|
||||
'dist/css/alt/AdminLTE-without-plugins.min.css' : 'build/less/AdminLTE-without-plugins.less',
|
||||
// Separate plugins
|
||||
'dist/css/alt/AdminLTE-select2.min.css' : 'build/less/select2.less',
|
||||
'dist/css/alt/AdminLTE-fullcalendar.min.css' : 'build/less/fullcalendar.less',
|
||||
'dist/css/alt/AdminLTE-bootstrap-social.min.css': 'build/less/bootstrap-social.less'
|
||||
}
|
||||
},
|
||||
// Non minified skin files
|
||||
skins : {
|
||||
files: {
|
||||
'dist/css/skins/skin-blue.css' : 'build/less/skins/skin-blue.less',
|
||||
'dist/css/skins/skin-black.css' : 'build/less/skins/skin-black.less',
|
||||
'dist/css/skins/skin-yellow.css' : 'build/less/skins/skin-yellow.less',
|
||||
'dist/css/skins/skin-green.css' : 'build/less/skins/skin-green.less',
|
||||
'dist/css/skins/skin-red.css' : 'build/less/skins/skin-red.less',
|
||||
'dist/css/skins/skin-purple.css' : 'build/less/skins/skin-purple.less',
|
||||
'dist/css/skins/skin-blue-light.css' : 'build/less/skins/skin-blue-light.less',
|
||||
'dist/css/skins/skin-black-light.css' : 'build/less/skins/skin-black-light.less',
|
||||
'dist/css/skins/skin-yellow-light.css': 'build/less/skins/skin-yellow-light.less',
|
||||
'dist/css/skins/skin-green-light.css' : 'build/less/skins/skin-green-light.less',
|
||||
'dist/css/skins/skin-red-light.css' : 'build/less/skins/skin-red-light.less',
|
||||
'dist/css/skins/skin-purple-light.css': 'build/less/skins/skin-purple-light.less',
|
||||
'dist/css/skins/_all-skins.css' : 'build/less/skins/_all-skins.less'
|
||||
}
|
||||
},
|
||||
// Skins minified
|
||||
minifiedSkins: {
|
||||
options: {
|
||||
compress: true
|
||||
},
|
||||
files : {
|
||||
'dist/css/skins/skin-blue.min.css' : 'build/less/skins/skin-blue.less',
|
||||
'dist/css/skins/skin-black.min.css' : 'build/less/skins/skin-black.less',
|
||||
'dist/css/skins/skin-yellow.min.css' : 'build/less/skins/skin-yellow.less',
|
||||
'dist/css/skins/skin-green.min.css' : 'build/less/skins/skin-green.less',
|
||||
'dist/css/skins/skin-red.min.css' : 'build/less/skins/skin-red.less',
|
||||
'dist/css/skins/skin-purple.min.css' : 'build/less/skins/skin-purple.less',
|
||||
'dist/css/skins/skin-blue-light.min.css' : 'build/less/skins/skin-blue-light.less',
|
||||
'dist/css/skins/skin-black-light.min.css' : 'build/less/skins/skin-black-light.less',
|
||||
'dist/css/skins/skin-yellow-light.min.css': 'build/less/skins/skin-yellow-light.less',
|
||||
'dist/css/skins/skin-green-light.min.css' : 'build/less/skins/skin-green-light.less',
|
||||
'dist/css/skins/skin-red-light.min.css' : 'build/less/skins/skin-red-light.less',
|
||||
'dist/css/skins/skin-purple-light.min.css': 'build/less/skins/skin-purple-light.less',
|
||||
'dist/css/skins/_all-skins.min.css' : 'build/less/skins/_all-skins.less'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Uglify task info. Compress the js files.
|
||||
uglify: {
|
||||
options : {
|
||||
mangle : true,
|
||||
preserveComments: 'some'
|
||||
},
|
||||
production: {
|
||||
files: {
|
||||
'dist/js/app.min.js' : ['dist/js/app.js'],
|
||||
'dist/js/adminlte.min.js': ['dist/js/adminlte.js']
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Concatenate JS Files
|
||||
concat: {
|
||||
options: {
|
||||
separator: '\n\n',
|
||||
banner : '/*! AdminLTE app.js\n'
|
||||
+ '* ================\n'
|
||||
+ '* Main JS application file for AdminLTE v2. This file\n'
|
||||
+ '* should be included in all pages. It controls some layout\n'
|
||||
+ '* options and implements exclusive AdminLTE plugins.\n'
|
||||
+ '*\n'
|
||||
+ '* @Author Almsaeed Studio\n'
|
||||
+ '* @Support <https://www.almsaeedstudio.com>\n'
|
||||
+ '* @Email <abdullah@almsaeedstudio.com>\n'
|
||||
+ '* @version <%= pkg.version %>\n'
|
||||
+ '* @repository <%= pkg.repository.url %>\n'
|
||||
+ '* @license MIT <http://opensource.org/licenses/MIT>\n'
|
||||
+ '*/\n\n'
|
||||
+ '// Make sure jQuery has been loaded\n'
|
||||
+ 'if (typeof jQuery === \'undefined\') {\n'
|
||||
+ 'throw new Error(\'AdminLTE requires jQuery\')\n'
|
||||
+ '}\n\n'
|
||||
},
|
||||
dist : {
|
||||
src : [
|
||||
'build/js/Layout.js',
|
||||
'build/js/PushMenu.js',
|
||||
'build/js/Tree.js',
|
||||
'build/js/ControlSidebar.js',
|
||||
'build/js/BoxWidget.js',
|
||||
'build/js/TodoList.js',
|
||||
'build/js/DirectChat.js'
|
||||
],
|
||||
dest: 'dist/js/adminlte.js'
|
||||
}
|
||||
},
|
||||
|
||||
// Build the documentation files
|
||||
includes: {
|
||||
build: {
|
||||
src : ['*.html'], // Source files
|
||||
dest : 'documentation/', // Destination directory
|
||||
flatten: true,
|
||||
cwd : 'documentation/build',
|
||||
options: {
|
||||
silent : true,
|
||||
includePath: 'documentation/build/include'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Optimize images
|
||||
image: {
|
||||
dynamic: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd : 'build/img/',
|
||||
src : ['**/*.{png,jpg,gif,svg,jpeg}'],
|
||||
dest : 'dist/img/'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
// Validate JS code
|
||||
jshint: {
|
||||
options: {
|
||||
jshintrc: 'build/js/.jshintrc'
|
||||
},
|
||||
grunt : {
|
||||
options: {
|
||||
jshintrc: 'build/grunt/.jshintrc'
|
||||
},
|
||||
src : 'Gruntfile.js'
|
||||
},
|
||||
core : {
|
||||
src: 'build/js/*.js'
|
||||
},
|
||||
demo : {
|
||||
src: 'dist/js/demo.js'
|
||||
},
|
||||
pages : {
|
||||
src: 'dist/js/pages/*.js'
|
||||
}
|
||||
},
|
||||
|
||||
jscs: {
|
||||
options: {
|
||||
config: 'build/js/.jscsrc'
|
||||
},
|
||||
core : {
|
||||
src: '<%= jshint.core.src %>'
|
||||
},
|
||||
pages : {
|
||||
src: '<%= jshint.pages.src %>'
|
||||
}
|
||||
},
|
||||
|
||||
// Validate CSS files
|
||||
csslint: {
|
||||
options: {
|
||||
csslintrc: 'build/less/.csslintrc'
|
||||
},
|
||||
dist : [
|
||||
'dist/css/AdminLTE.css'
|
||||
]
|
||||
},
|
||||
|
||||
// Validate Bootstrap HTML
|
||||
bootlint: {
|
||||
options: {
|
||||
relaxerror: ['W005']
|
||||
},
|
||||
files : ['pages/**/*.html', '*.html']
|
||||
},
|
||||
|
||||
// Delete images in build directory
|
||||
// After compressing the images in the build/img dir, there is no need
|
||||
// for them
|
||||
clean: {
|
||||
build: ['build/img/*']
|
||||
}
|
||||
})
|
||||
|
||||
// Load all grunt tasks
|
||||
|
||||
// LESS Compiler
|
||||
grunt.loadNpmTasks('grunt-contrib-less')
|
||||
// Watch File Changes
|
||||
grunt.loadNpmTasks('grunt-contrib-watch')
|
||||
// Compress JS Files
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify')
|
||||
// Include Files Within HTML
|
||||
grunt.loadNpmTasks('grunt-includes')
|
||||
// Optimize images
|
||||
grunt.loadNpmTasks('grunt-image')
|
||||
// Validate JS code
|
||||
grunt.loadNpmTasks('grunt-contrib-jshint')
|
||||
grunt.loadNpmTasks('grunt-jscs')
|
||||
// Delete not needed files
|
||||
grunt.loadNpmTasks('grunt-contrib-clean')
|
||||
// Lint CSS
|
||||
grunt.loadNpmTasks('grunt-contrib-csslint')
|
||||
// Lint Bootstrap
|
||||
grunt.loadNpmTasks('grunt-bootlint')
|
||||
// Concatenate JS files
|
||||
grunt.loadNpmTasks('grunt-contrib-concat')
|
||||
// Notify
|
||||
grunt.loadNpmTasks('grunt-notify')
|
||||
|
||||
// Linting task
|
||||
grunt.registerTask('lint', ['jshint', 'csslint', 'bootlint'])
|
||||
// JS task
|
||||
grunt.registerTask('js', ['concat', 'uglify'])
|
||||
|
||||
// The default task (running 'grunt' in console) is 'watch'
|
||||
grunt.registerTask('default', ['watch'])
|
||||
}
|
||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014-2018 almasaeed2010
|
||||
Copyright (c) 2014-2017 Abdullah Almsaeed
|
||||
|
||||
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
|
||||
|
||||
98
README.md
98
README.md
@@ -1,95 +1,57 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
**AdminLTE** is a fully responsive administration template. Based on **[Bootstrap 4](https://getbootstrap.com)** framework.
|
||||
Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops.
|
||||

|
||||
[](https://www.npmjs.com/package/admin-lte)
|
||||
[](https://packagist.org/packages/almasaeed2010/adminlte)
|
||||
[](https://cdnjs.com/libraries/admin-lte)
|
||||
|
||||
**Download & Preview on [AdminLTE.io](https://adminlte.io)**
|
||||
**AdminLTE** -- is a fully responsive admin template. Based on **[Bootstrap 3](https://github.com/twbs/bootstrap)** framework. Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops. Check out the live preview now and see for yourself.
|
||||
|
||||
Looking for Premium Templates?
|
||||
------------------------------
|
||||
AdminLTE.io just opened a new premium templates page. Hand picked to insure the best quality and the most affordable
|
||||
prices. Visit https://adminlte.io/premium for more information.
|
||||
**Download & Preview on [AdminLTE.IO](https://adminlte.io)**
|
||||
|
||||

|
||||
### Looking for Premium Templates?
|
||||
**AdminLTE.IO just opened a new premium templates website. Hand picked to ensure the best quality and the most affordable prices. Visit https://themequarry.com for more information.**
|
||||
|
||||
**AdminLTE** has been carefully coded with clear comments in all of its JS, SCSS and HTML files.
|
||||
SCSS has been used to increase code customizability.
|
||||
## Documentation & Installation Guide
|
||||
Visit the [online documentation](https://adminlte.io/docs) for the most
|
||||
updated guide.
|
||||
|
||||
Installation
|
||||
------------
|
||||
There are multiple ways to install AdminLTE.
|
||||

|
||||
|
||||
#### Download:
|
||||
|
||||
Download from Github or [visit AdminLTE.io](https://adminlte.io) and download the latest release.
|
||||
|
||||
#### Using The Command Line:
|
||||
|
||||
**NPM**
|
||||
```bash
|
||||
npm install admin-lte
|
||||
```
|
||||
|
||||
**Github**
|
||||
|
||||
- Clone to your machine
|
||||
```
|
||||
git clone https://github.com/almasaeed2010/AdminLTE.git
|
||||
```
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
Visit the [online documentation](https://adminlte.io/themes/AdminLTE/documentation/index.html) for the most
|
||||
updated guide. Information will be added on a weekly basis.
|
||||
|
||||
Browser Support
|
||||
---------------
|
||||
- IE 10+
|
||||
- Firefox (latest)
|
||||
- Chrome (latest)
|
||||
- Safari (latest)
|
||||
- Opera (latest)
|
||||
|
||||
Contribution
|
||||
------------
|
||||
### Contribution
|
||||
Contribution are always **welcome and recommended**! Here is how:
|
||||
|
||||
- Fork the repository ([here is the guide](https://help.github.com/articles/fork-a-repo/)).
|
||||
- Clone to your machine ```git clone https://github.com/YOUR_USERNAME/AdminLTE.git```
|
||||
- Create a new branch
|
||||
- Make your changes
|
||||
- Create a pull request
|
||||
|
||||
#### Contribution Requirements:
|
||||
|
||||
- When you contribute, you agree to give a non-exclusive license to AdminLTE.io to use that contribution in any context as we (AdminLTE.io) see appropriate.
|
||||
- When you contribute, you agree to give a non-exclusive license to AdminLTE.IO to use that contribution in any context as we (AdminLTE.IO) see appropriate.
|
||||
- If you use content provided by another party, it must be appropriately licensed using an [open source](http://opensource.org/licenses) license.
|
||||
- Contributions are only accepted through Github pull requests.
|
||||
- Finally, contributed code must work in all supported browsers (see above for browser support).
|
||||
|
||||
License
|
||||
-------
|
||||
AdminLTE is an open source project by [AdminLTE.io](https://adminlte.io) that is licensed under [MIT](http://opensource.org/licenses/MIT). AdminLTE.io
|
||||
reserves the right to change the license of future releases.
|
||||
### License
|
||||
AdminLTE is an open source project by [AdminLTE.IO](https://adminlte.io) that is licensed under [MIT](http://opensource.org/licenses/MIT). AdminLTE.IO
|
||||
reserves the right to change the license of future releases. Wondering what you can or can't do? View the [license guide](https://adminlte.io/docs/license).
|
||||
|
||||
Legacy Releases
|
||||
---------------
|
||||
- [AdminLTE 2](https://github.com/almasaeed2010/AdminLTE/releases/tag/v2.4.3)
|
||||
- [AdminLTE 1](https://github.com/almasaeed2010/AdminLTE/releases/tag/1.3.1)
|
||||
### Legacy Releases
|
||||
AdminLTE 1.x can be easily upgraded to 2.x using [this guide](https://adminlte.io/themes/AdminLTE/documentation/index.html#upgrade), but if you intend to keep using AdminLTE 1.x, you can download the latest release from the [releases](https://github.com/almasaeed2010/AdminLTE/releases) section above.
|
||||
|
||||
Change log
|
||||
----------
|
||||
Visit the [releases](https://github.com/almasaeed2010/AdminLTE/releases) page to view the changelog
|
||||
### Change log
|
||||
**For the most recent change log, visit the [releases page](https://github.com/almasaeed2010/AdminLTE/releases) or the [changelog file](https://github.com/almasaeed2010/AdminLTE/blob/master/changelog.md).** We will add a detailed release notes to each new release.
|
||||
|
||||
Image Credits
|
||||
-------------
|
||||
[Pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd)
|
||||
### Image Credits
|
||||
- [Pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd)
|
||||
- [Graphicsfuel](http://www.graphicsfuel.com/2013/02/13-high-resolution-blur-backgrounds/)
|
||||
- [Pickaface](http://pickaface.net/)
|
||||
- [Unsplash](https://unsplash.com/)
|
||||
- [Uifaces](http://uifaces.com/)
|
||||
|
||||
[Graphicsfuel](http://www.graphicsfuel.com/2013/02/13-high-resolution-blur-backgrounds/)
|
||||
### Donations
|
||||
Donations are **greatly appreciated!**
|
||||
|
||||
[Pickaface](http://pickaface.net/)
|
||||
|
||||
[Unsplash](https://unsplash.com/)
|
||||
|
||||
[Uifaces](http://uifaces.com/)
|
||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=629XCUSXBHCBC "Donate")
|
||||
|
||||
61
bower.json
Normal file
61
bower.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"name": "admin-lte",
|
||||
"homepage": "https://adminlte.io",
|
||||
"authors": [
|
||||
"Abdullah Almsaeed <abdullah@almsaeedstudio.com>"
|
||||
],
|
||||
"description": "Admin dashboard and control panel template",
|
||||
"main": [
|
||||
"index2.html",
|
||||
"dist/css/AdminLTE.css",
|
||||
"dist/js/app.js",
|
||||
"build/less/AdminLTE.less"
|
||||
],
|
||||
"keywords": [
|
||||
"css",
|
||||
"js",
|
||||
"html",
|
||||
"template",
|
||||
"admin",
|
||||
"bootstrap",
|
||||
"theme",
|
||||
"backend",
|
||||
"responsive"
|
||||
],
|
||||
"license": "MIT",
|
||||
"ignore": [
|
||||
"/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"composer.json",
|
||||
"documentation"
|
||||
],
|
||||
"dependencies": {
|
||||
"bootstrap-slider": "*",
|
||||
"chart.js": "^1.0.*",
|
||||
"ckeditor": "^4.7.0",
|
||||
"bootstrap-colorpicker": "^2.5.1",
|
||||
"bootstrap": "^3.3.7",
|
||||
"jquery": "^3.2.1",
|
||||
"datatables.net": "^1.10.15",
|
||||
"datatables.net-bs": "^2.1.1",
|
||||
"bootstrap-datepicker": "^1.7.0",
|
||||
"bootstrap-daterangepicker": "^2.1.25",
|
||||
"moment": "^2.18.1",
|
||||
"fastclick": "^1.0.6",
|
||||
"Flot": "flot#^0.8.3",
|
||||
"fullcalendar": "^3.4.0",
|
||||
"inputmask": "jquery.inputmask#^3.3.7",
|
||||
"ion.rangeSlider": "ionrangeslider#^2.2.0",
|
||||
"jvectormap": "^2.0.4",
|
||||
"jquery-knob": "^1.2.13",
|
||||
"morris.js": "^0.5.1",
|
||||
"PACE": "pace#^1.0.2",
|
||||
"select2": "^4.0.3",
|
||||
"jquery-slimscroll": "slimscroll#^1.3.8",
|
||||
"bootstrap-timepicker": "^0.5.2",
|
||||
"jquery-sparkline": "^2.1.3",
|
||||
"font-awesome": "^4.7.0",
|
||||
"Ionicons": "ionicons#^2.0.1"
|
||||
}
|
||||
}
|
||||
7
build/grunt/.jshintrc
Normal file
7
build/grunt/.jshintrc
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"extends" : "../js/.jshintrc",
|
||||
"asi" : false,
|
||||
"browser" : false,
|
||||
"es3" : false,
|
||||
"node" : true
|
||||
}
|
||||
@@ -1,12 +1,9 @@
|
||||
{
|
||||
"esnext": true,
|
||||
"verbose": true,
|
||||
"disallowEmptyBlocks": true,
|
||||
"disallowKeywords": ["with"],
|
||||
"disallowMixedSpacesAndTabs": true,
|
||||
"disallowMultipleLineStrings": true,
|
||||
"disallowMultipleVarDecl": true,
|
||||
"disallowQuotedKeysInObjects": "allButReserved",
|
||||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
||||
"disallowSpaceBeforeBinaryOperators": [","],
|
||||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
||||
@@ -29,7 +26,7 @@
|
||||
"requireSpaceAfterLineComment": true,
|
||||
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
|
||||
"requireSpaceBetweenArguments": true,
|
||||
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningCurlyBrace": true, "beforeOpeningRoundBrace": true, "allExcept": ["shorthand"] },
|
||||
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningCurlyBrace": true, "beforeOpeningRoundBrace": true },
|
||||
"requireSpacesInConditionalExpression": true,
|
||||
"requireSpacesInForStatement": true,
|
||||
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
|
||||
@@ -40,5 +37,6 @@
|
||||
"validateIndentation": 2,
|
||||
"validateLineBreaks": "LF",
|
||||
"validateNewlineAfterArrayElements": true,
|
||||
"validateQuoteMarks": "'"
|
||||
}
|
||||
"validateQuoteMarks": "'",
|
||||
"maxErrors": "3000"
|
||||
}
|
||||
17
build/js/.jshintrc
Normal file
17
build/js/.jshintrc
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"asi" : true,
|
||||
"browser" : true,
|
||||
"eqeqeq" : false,
|
||||
"eqnull" : true,
|
||||
"es3" : true,
|
||||
"expr" : true,
|
||||
"jquery" : true,
|
||||
"latedef" : true,
|
||||
"laxbreak" : true,
|
||||
"nonbsp" : true,
|
||||
"strict" : true,
|
||||
"undef" : true,
|
||||
"unused" : true,
|
||||
// External variabls and plugins
|
||||
"predef": [ "AdminLTEOptions", "FastClick", "moment", "Morris", "Chart" ]
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
import ControlSidebar from './ControlSidebar'
|
||||
import Layout from './Layout'
|
||||
import PushMenu from './PushMenu'
|
||||
import Treeview from './Treeview'
|
||||
import Widget from './Widget'
|
||||
|
||||
export {
|
||||
ControlSidebar,
|
||||
Layout,
|
||||
PushMenu,
|
||||
Treeview,
|
||||
Widget
|
||||
}
|
||||
119
build/js/BoxRefresh.js
Normal file
119
build/js/BoxRefresh.js
Normal file
@@ -0,0 +1,119 @@
|
||||
/* BoxRefresh()
|
||||
* =========
|
||||
* Adds AJAX content control to a box.
|
||||
*
|
||||
* @Usage: $('#my-box').boxRefresh(options)
|
||||
* or add [data-widget="box-refresh"] to the box element
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.boxrefresh'
|
||||
|
||||
var Default = {
|
||||
source : '',
|
||||
params : {},
|
||||
trigger : '.refresh-btn',
|
||||
content : '.box-body',
|
||||
loadInContent : true,
|
||||
responseType : '',
|
||||
overlayTemplate: '<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>',
|
||||
onLoadStart : function () {
|
||||
},
|
||||
onLoadDone : function (response) {
|
||||
return response
|
||||
}
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
data: '[data-widget="box-refresh"]'
|
||||
}
|
||||
|
||||
// BoxRefresh Class Definition
|
||||
// =========================
|
||||
var BoxRefresh = function (element, options) {
|
||||
this.element = element
|
||||
this.options = options
|
||||
this.$overlay = $(options.overlay)
|
||||
|
||||
if (options.source === '') {
|
||||
throw new Error('Source url was not defined. Please specify a url in your BoxRefresh source option.')
|
||||
}
|
||||
|
||||
this._setUpListeners()
|
||||
this.load()
|
||||
}
|
||||
|
||||
BoxRefresh.prototype.load = function () {
|
||||
this._addOverlay()
|
||||
this.options.onLoadStart.call($(this))
|
||||
|
||||
$.get(this.options.source, this.options.params, function (response) {
|
||||
if (this.options.loadInContent) {
|
||||
$(this.options.content).html(response)
|
||||
}
|
||||
this.options.onLoadDone.call($(this), response)
|
||||
this._removeOverlay()
|
||||
}.bind(this), this.options.responseType !== '' && this.options.responseType)
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
BoxRefresh.prototype._setUpListeners = function () {
|
||||
$(this.element).on('click', Selector.trigger, function (event) {
|
||||
if (event) event.preventDefault()
|
||||
this.load()
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
BoxRefresh.prototype._addOverlay = function () {
|
||||
$(this.element).append(this.$overlay)
|
||||
}
|
||||
|
||||
BoxRefresh.prototype._removeOverlay = function () {
|
||||
$(this.element).remove(this.$overlay)
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, (data = new BoxRefresh($this, options)))
|
||||
}
|
||||
|
||||
if (typeof data == 'string') {
|
||||
if (typeof data[option] == 'undefined') {
|
||||
throw new Error('No method named ' + option)
|
||||
}
|
||||
data[option]()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.boxRefresh
|
||||
|
||||
$.fn.boxRefresh = Plugin
|
||||
$.fn.boxRefresh.Constructor = BoxRefresh
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.boxRefresh.noConflict = function () {
|
||||
$.fn.boxRefresh = old
|
||||
return this
|
||||
}
|
||||
|
||||
// BoxRefresh Data API
|
||||
// =================
|
||||
$(window).on('load', function () {
|
||||
$(Selector.data).each(function () {
|
||||
Plugin.call($(this))
|
||||
})
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
161
build/js/BoxWidget.js
Normal file
161
build/js/BoxWidget.js
Normal file
@@ -0,0 +1,161 @@
|
||||
/* BoxWidget()
|
||||
* ======
|
||||
* Adds box widget functions to boxes.
|
||||
*
|
||||
* @Usage: $('.my-box').boxWidget(options)
|
||||
* or add [data-widget="box-widget"] to the ul element
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.boxwidget'
|
||||
|
||||
var Default = {
|
||||
animationSpeed : 500,
|
||||
collapseTrigger: '[data-widget="collapse"]',
|
||||
removeTrigger : '[data-widget="remove"]',
|
||||
collapseIcon : 'fa-minus',
|
||||
expandIcon : 'fa-plus',
|
||||
removeIcon : 'fa-times'
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
data : '.box',
|
||||
collapsed: '.collapsed-box',
|
||||
body : '.box-body',
|
||||
footer : '.box-footer',
|
||||
tools : '.box-tools'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
collapsed: 'collapsed-box'
|
||||
}
|
||||
|
||||
var Event = {
|
||||
collapsed: 'collapsed.boxwidget',
|
||||
expanded : 'expanded.boxwidget',
|
||||
removed : 'removed.boxwidget'
|
||||
}
|
||||
|
||||
// BoxWidget Class Definition
|
||||
// =====================
|
||||
var BoxWidget = function (element, options) {
|
||||
this.element = element
|
||||
this.options = options
|
||||
|
||||
this._setUpListeners()
|
||||
}
|
||||
|
||||
BoxWidget.prototype.toggle = function () {
|
||||
var isOpen = !$(this.element).is(Selector.collapsed)
|
||||
|
||||
if (isOpen) {
|
||||
this.collapse()
|
||||
} else {
|
||||
this.expand()
|
||||
}
|
||||
}
|
||||
|
||||
BoxWidget.prototype.expand = function () {
|
||||
var expandedEvent = $.Event(Event.expanded)
|
||||
var collapseIcon = this.options.collapseIcon
|
||||
var expandIcon = this.options.expandIcon
|
||||
|
||||
$(this.element).removeClass(ClassName.collapsed)
|
||||
|
||||
$(Selector.tools)
|
||||
.find('.' + expandIcon)
|
||||
.removeClass(expandIcon)
|
||||
.addClass(collapseIcon)
|
||||
|
||||
$(this.element).find(Selector.body + ', ' + Selector.footer)
|
||||
.slideDown(this.options.animationSpeed, function () {
|
||||
$(this.element).trigger(expandedEvent)
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
BoxWidget.prototype.collapse = function () {
|
||||
var collapsedEvent = $.Event(Event.collapsed)
|
||||
var collapseIcon = this.options.collapseIcon
|
||||
var expandIcon = this.options.expandIcon
|
||||
|
||||
$(Selector.tools)
|
||||
.find('.' + collapseIcon)
|
||||
.removeClass(collapseIcon)
|
||||
.addClass(expandIcon)
|
||||
|
||||
$(this.element).find(Selector.body + ', ' + Selector.footer)
|
||||
.slideUp(this.options.animationSpeed, function () {
|
||||
$(this.element).addClass(ClassName.collapsed)
|
||||
$(this.element).trigger(collapsedEvent)
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
BoxWidget.prototype.remove = function () {
|
||||
var removedEvent = $.Event(Event.removed)
|
||||
|
||||
$(this.element).slideUp(this.options.animationSpeed, function () {
|
||||
$(this.element).trigger(removedEvent)
|
||||
$(this.element).remove()
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
BoxWidget.prototype._setUpListeners = function () {
|
||||
var that = this
|
||||
|
||||
$(this.element).on('click', this.options.collapseTrigger, function (event) {
|
||||
if (event) event.preventDefault()
|
||||
that.toggle($(this))
|
||||
})
|
||||
|
||||
$(this.element).on('click', this.options.removeTrigger, function (event) {
|
||||
if (event) event.preventDefault()
|
||||
that.remove($(this))
|
||||
})
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, (data = new BoxWidget($this, options)))
|
||||
}
|
||||
|
||||
if (typeof option == 'string') {
|
||||
if (typeof data[option] == 'undefined') {
|
||||
throw new Error('No method named ' + option)
|
||||
}
|
||||
data[option]()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.boxWidget
|
||||
|
||||
$.fn.boxWidget = Plugin
|
||||
$.fn.boxWidget.Constructor = BoxWidget
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.boxWidget.noConflict = function () {
|
||||
$.fn.boxWidget = old
|
||||
return this
|
||||
}
|
||||
|
||||
// BoxWidget Data API
|
||||
// ==================
|
||||
$(window).on('load', function () {
|
||||
$(Selector.data).each(function () {
|
||||
Plugin.call($(this))
|
||||
})
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
@@ -1,142 +1,138 @@
|
||||
/**
|
||||
* --------------------------------------------
|
||||
* AdminLTE ControlSidebar.js
|
||||
* License MIT
|
||||
* --------------------------------------------
|
||||
/* ControlSidebar()
|
||||
* ===============
|
||||
* Toggles the state of the control sidebar
|
||||
*
|
||||
* @Usage: $('#control-sidebar-trigger').controlSidebar(options)
|
||||
* or add [data-toggle="control-sidebar"] to the trigger
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
const ControlSidebar = (($) => {
|
||||
/**
|
||||
* Constants
|
||||
* ====================================================
|
||||
*/
|
||||
var DataKey = 'lte.controlsidebar'
|
||||
|
||||
const NAME = 'ControlSidebar'
|
||||
const DATA_KEY = 'lte.control.sidebar'
|
||||
const EVENT_KEY = `.${DATA_KEY}`
|
||||
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
||||
const DATA_API_KEY = '.data-api'
|
||||
|
||||
const Event = {
|
||||
CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`
|
||||
}
|
||||
|
||||
const Selector = {
|
||||
CONTROL_SIDEBAR: '.control-sidebar',
|
||||
DATA_TOGGLE : '[data-widget="control-sidebar"]',
|
||||
MAIN_HEADER : '.main-header'
|
||||
}
|
||||
|
||||
const ClassName = {
|
||||
CONTROL_SIDEBAR_OPEN : 'control-sidebar-open',
|
||||
CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open'
|
||||
}
|
||||
|
||||
const Default = {
|
||||
var Default = {
|
||||
slide: true
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Definition
|
||||
* ====================================================
|
||||
*/
|
||||
var Selector = {
|
||||
sidebar: '.control-sidebar',
|
||||
data : '[data-toggle="control-sidebar"]',
|
||||
open : '.control-sidebar-open',
|
||||
bg : '.control-sidebar-bg',
|
||||
wrapper: '.wrapper',
|
||||
content: '.content-wrapper',
|
||||
boxed : '.layout-boxed'
|
||||
}
|
||||
|
||||
class ControlSidebar {
|
||||
constructor(element, config) {
|
||||
this._element = element
|
||||
this._config = this._getConfig(config)
|
||||
var ClassName = {
|
||||
open : 'control-sidebar-open',
|
||||
fixed: 'fixed'
|
||||
}
|
||||
|
||||
var Event = {
|
||||
collapsed: 'collapsed.controlsidebar',
|
||||
expanded : 'expanded.controlsidebar'
|
||||
}
|
||||
|
||||
// ControlSidebar Class Definition
|
||||
// ===============================
|
||||
var ControlSidebar = function (element, options) {
|
||||
this.element = element
|
||||
this.options = options
|
||||
this.hasBindedResize = false
|
||||
|
||||
this.init()
|
||||
}
|
||||
|
||||
ControlSidebar.prototype.init = function () {
|
||||
// Add click listener if the element hasn't been
|
||||
// initialized using the data API
|
||||
if (!$(this.element).is(Selector.data)) {
|
||||
$(this).on('click', this.toggle)
|
||||
}
|
||||
|
||||
// Public
|
||||
this.fix()
|
||||
$(window).resize(function () {
|
||||
this.fix()
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
show() {
|
||||
// Show the control sidebar
|
||||
if (this._config.slide) {
|
||||
$('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE)
|
||||
} else {
|
||||
$('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN)
|
||||
}
|
||||
}
|
||||
ControlSidebar.prototype.toggle = function (event) {
|
||||
if (event) event.preventDefault()
|
||||
|
||||
collapse() {
|
||||
// Collapse the control sidebar
|
||||
if (this._config.slide) {
|
||||
$('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE)
|
||||
} else {
|
||||
$('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN)
|
||||
}
|
||||
}
|
||||
this.fix()
|
||||
|
||||
toggle() {
|
||||
this._setMargin()
|
||||
|
||||
const shouldOpen = $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body')
|
||||
.hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)
|
||||
if (shouldOpen) {
|
||||
// Open the control sidebar
|
||||
this.show()
|
||||
} else {
|
||||
// Close the control sidebar
|
||||
this.collapse()
|
||||
}
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
_getConfig(config) {
|
||||
return $.extend({}, Default, config)
|
||||
}
|
||||
|
||||
_setMargin() {
|
||||
$(Selector.CONTROL_SIDEBAR).css({
|
||||
top: $(Selector.MAIN_HEADER).outerHeight()
|
||||
})
|
||||
}
|
||||
|
||||
// Static
|
||||
|
||||
static _jQueryInterface(operation) {
|
||||
return this.each(function () {
|
||||
let data = $(this).data(DATA_KEY)
|
||||
|
||||
if (!data) {
|
||||
data = new ControlSidebar(this, $(this).data())
|
||||
$(this).data(DATA_KEY, data)
|
||||
}
|
||||
|
||||
if (data[operation] === 'undefined') {
|
||||
throw new Error(`${operation} is not a function`)
|
||||
}
|
||||
|
||||
data[operation]()
|
||||
})
|
||||
if (!$(Selector.sidebar).is(Selector.open) && !$('body').is(Selector.open)) {
|
||||
this.expand()
|
||||
} else {
|
||||
this.collapse()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Data Api implementation
|
||||
* ====================================================
|
||||
*/
|
||||
$(document).on('click', Selector.DATA_TOGGLE, function (event) {
|
||||
event.preventDefault()
|
||||
ControlSidebar.prototype.expand = function () {
|
||||
if (!this.options.slide) {
|
||||
$('body').addClass(ClassName.open)
|
||||
} else {
|
||||
$(Selector.sidebar).addClass(ClassName.open)
|
||||
}
|
||||
|
||||
ControlSidebar._jQueryInterface.call($(this), 'toggle')
|
||||
$(this.element).trigger($.Event(Event.expanded))
|
||||
}
|
||||
|
||||
ControlSidebar.prototype.collapse = function () {
|
||||
$('body, ' + Selector.sidebar).removeClass(ClassName.open)
|
||||
$(this.element).trigger($.Event(Event.collapsed))
|
||||
}
|
||||
|
||||
ControlSidebar.prototype.fix = function () {
|
||||
if ($('body').is(Selector.boxed)) {
|
||||
this._fixForBoxed($(Selector.bg))
|
||||
}
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
ControlSidebar.prototype._fixForBoxed = function (bg) {
|
||||
bg.css({
|
||||
position: 'absolute',
|
||||
height : $(Selector.wrapper).height()
|
||||
})
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, (data = new ControlSidebar($this, options)))
|
||||
}
|
||||
|
||||
if (typeof option == 'string') data.toggle()
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.controlSidebar
|
||||
|
||||
$.fn.controlSidebar = Plugin
|
||||
$.fn.controlSidebar.Constructor = ControlSidebar
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.controlSidebar.noConflict = function () {
|
||||
$.fn.controlSidebar = old
|
||||
return this
|
||||
}
|
||||
|
||||
// ControlSidebar Data API
|
||||
// =======================
|
||||
$(document).on('click', Selector.data, function (event) {
|
||||
if (event) event.preventDefault()
|
||||
Plugin.call($(this), 'toggle')
|
||||
})
|
||||
|
||||
/**
|
||||
* jQuery API
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
$.fn[NAME] = ControlSidebar._jQueryInterface
|
||||
$.fn[NAME].Constructor = ControlSidebar
|
||||
$.fn[NAME].noConflict = function () {
|
||||
$.fn[NAME] = JQUERY_NO_CONFLICT
|
||||
return ControlSidebar._jQueryInterface
|
||||
}
|
||||
|
||||
return ControlSidebar
|
||||
})(jQuery)
|
||||
|
||||
export default ControlSidebar
|
||||
}(jQuery)
|
||||
|
||||
66
build/js/DirectChat.js
Normal file
66
build/js/DirectChat.js
Normal file
@@ -0,0 +1,66 @@
|
||||
/* DirectChat()
|
||||
* ===============
|
||||
* Toggles the state of the control sidebar
|
||||
*
|
||||
* @Usage: $('#my-chat-box').directChat()
|
||||
* or add [data-widget="direct-chat"] to the trigger
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.directchat'
|
||||
|
||||
var Selector = {
|
||||
data: '[data-widget="chat-pane-toggle"]',
|
||||
box : '.direct-chat'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
open: 'direct-chat-contacts-open'
|
||||
}
|
||||
|
||||
// DirectChat Class Definition
|
||||
// ===========================
|
||||
var DirectChat = function (element) {
|
||||
this.element = element
|
||||
}
|
||||
|
||||
DirectChat.prototype.toggle = function ($trigger) {
|
||||
$trigger.parents(Selector.box).first().toggleClass(ClassName.open)
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
$this.data(DataKey, (data = new DirectChat($this)))
|
||||
}
|
||||
|
||||
if (typeof option == 'string') data.toggle($this)
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.directChat
|
||||
|
||||
$.fn.directChat = Plugin
|
||||
$.fn.directChat.Constructor = DirectChat
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.directChat.noConflict = function () {
|
||||
$.fn.directChat = old
|
||||
return this
|
||||
}
|
||||
|
||||
// DirectChat Data API
|
||||
// ===================
|
||||
$(document).on('click', Selector.data, function (event) {
|
||||
if (event) event.preventDefault()
|
||||
Plugin.call($(this), 'toggle')
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
@@ -1,142 +1,179 @@
|
||||
/**
|
||||
* --------------------------------------------
|
||||
* AdminLTE Layout.js
|
||||
* License MIT
|
||||
* --------------------------------------------
|
||||
/* Layout()
|
||||
* ========
|
||||
* Implements AdminLTE layout.
|
||||
* Fixes the layout height in case min-height fails.
|
||||
*
|
||||
* @usage activated automatically upon window load.
|
||||
* Configure any options by passing data-option="value"
|
||||
* to the body tag.
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
const Layout = (($) => {
|
||||
/**
|
||||
* Constants
|
||||
* ====================================================
|
||||
*/
|
||||
var DataKey = 'lte.layout'
|
||||
|
||||
const NAME = 'Layout'
|
||||
const DATA_KEY = 'lte.layout'
|
||||
const EVENT_KEY = `.${DATA_KEY}`
|
||||
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
||||
|
||||
const Event = {
|
||||
SIDEBAR: 'sidebar'
|
||||
var Default = {
|
||||
slimscroll : true,
|
||||
resetHeight: true
|
||||
}
|
||||
|
||||
const Selector = {
|
||||
SIDEBAR : '.main-sidebar',
|
||||
HEADER : '.main-header',
|
||||
CONTENT : '.content-wrapper',
|
||||
CONTENT_HEADER : '.content-header',
|
||||
WRAPPER : '.wrapper',
|
||||
CONTROL_SIDEBAR: '.control-sidebar',
|
||||
LAYOUT_FIXED : '.layout-fixed',
|
||||
FOOTER : '.main-footer'
|
||||
var Selector = {
|
||||
wrapper : '.wrapper',
|
||||
contentWrapper: '.content-wrapper',
|
||||
layoutBoxed : '.layout-boxed',
|
||||
mainFooter : '.main-footer',
|
||||
mainHeader : '.main-header',
|
||||
sidebar : '.sidebar',
|
||||
controlSidebar: '.control-sidebar',
|
||||
fixed : '.fixed',
|
||||
sidebarMenu : '.sidebar-menu',
|
||||
logo : '.main-header .logo'
|
||||
}
|
||||
|
||||
const ClassName = {
|
||||
HOLD : 'hold-transition',
|
||||
SIDEBAR : 'main-sidebar',
|
||||
LAYOUT_FIXED: 'layout-fixed'
|
||||
var ClassName = {
|
||||
fixed : 'fixed',
|
||||
holdTransition: 'hold-transition'
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Definition
|
||||
* ====================================================
|
||||
*/
|
||||
var Layout = function (options) {
|
||||
this.options = options
|
||||
this.bindedResize = false
|
||||
this.activate()
|
||||
}
|
||||
|
||||
class Layout {
|
||||
constructor(element) {
|
||||
this._element = element
|
||||
Layout.prototype.activate = function () {
|
||||
this.fix()
|
||||
this.fixSidebar()
|
||||
|
||||
this._init()
|
||||
$('body').removeClass(ClassName.holdTransition)
|
||||
|
||||
if (this.options.resetHeight) {
|
||||
$('body, html, ' + Selector.wrapper).css({
|
||||
'height' : 'auto',
|
||||
'min-height': '100%'
|
||||
})
|
||||
}
|
||||
|
||||
// Public
|
||||
if (!this.bindedResize) {
|
||||
$(window).resize(function () {
|
||||
this.fix()
|
||||
this.fixSidebar()
|
||||
|
||||
fixLayoutHeight() {
|
||||
const heights = {
|
||||
window : $(window).height(),
|
||||
header : $(Selector.HEADER).outerHeight(),
|
||||
footer : $(Selector.FOOTER).outerHeight(),
|
||||
sidebar: $(Selector.SIDEBAR).height()
|
||||
$(Selector.logo + ', ' + Selector.sidebar).one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function () {
|
||||
this.fix()
|
||||
this.fixSidebar()
|
||||
}.bind(this))
|
||||
}.bind(this))
|
||||
|
||||
this.bindedResize = true
|
||||
}
|
||||
|
||||
$(Selector.sidebarMenu).on('expanded.tree', function () {
|
||||
this.fix()
|
||||
this.fixSidebar()
|
||||
}.bind(this))
|
||||
|
||||
$(Selector.sidebarMenu).on('collapsed.tree', function () {
|
||||
this.fix()
|
||||
this.fixSidebar()
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
Layout.prototype.fix = function () {
|
||||
// Remove overflow from .wrapper if layout-boxed exists
|
||||
$(Selector.layoutBoxed + ' > ' + Selector.wrapper).css('overflow', 'hidden')
|
||||
|
||||
// Get window height and the wrapper height
|
||||
var footerHeight = $(Selector.mainFooter).outerHeight() || 0
|
||||
var neg = $(Selector.mainHeader).outerHeight() + footerHeight
|
||||
var windowHeight = $(window).height()
|
||||
var sidebarHeight = $(Selector.sidebar).height() || 0
|
||||
|
||||
// Set the min-height of the content and sidebar based on
|
||||
// the height of the document.
|
||||
if ($('body').hasClass(ClassName.fixed)) {
|
||||
$(Selector.contentWrapper).css('min-height', windowHeight - footerHeight)
|
||||
} else {
|
||||
var postSetHeight
|
||||
|
||||
if (windowHeight >= sidebarHeight) {
|
||||
$(Selector.contentWrapper).css('min-height', windowHeight - neg)
|
||||
postSetHeight = windowHeight - neg
|
||||
} else {
|
||||
$(Selector.contentWrapper).css('min-height', sidebarHeight)
|
||||
postSetHeight = sidebarHeight
|
||||
}
|
||||
const max = this._max(heights)
|
||||
|
||||
$(Selector.CONTENT).css('min-height', max - (heights.header))
|
||||
$(Selector.SIDEBAR).css('min-height', max - heights.header)
|
||||
// Fix for the control sidebar height
|
||||
var $controlSidebar = $(Selector.controlSidebar)
|
||||
if (typeof $controlSidebar !== 'undefined') {
|
||||
if ($controlSidebar.height() > postSetHeight)
|
||||
$(Selector.contentWrapper).css('min-height', $controlSidebar.height())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Layout.prototype.fixSidebar = function () {
|
||||
// Make sure the body tag has the .fixed class
|
||||
if (!$('body').hasClass(ClassName.fixed)) {
|
||||
if (typeof $.fn.slimScroll !== 'undefined') {
|
||||
$(Selector.sidebar).slimScroll({ destroy: true }).height('auto')
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Private
|
||||
// Enable slimscroll for fixed layout
|
||||
if (this.options.slimscroll) {
|
||||
if (typeof $.fn.slimScroll !== 'undefined') {
|
||||
// Destroy if it exists
|
||||
$(Selector.sidebar).slimScroll({ destroy: true }).height('auto')
|
||||
|
||||
_init() {
|
||||
// Enable transitions
|
||||
$('body').removeClass(ClassName.HOLD)
|
||||
|
||||
// Activate layout height watcher
|
||||
this.fixLayoutHeight()
|
||||
$(Selector.SIDEBAR)
|
||||
.on('collapsed.lte.treeview expanded.lte.treeview collapsed.lte.pushmenu expanded.lte.pushmenu', () => {
|
||||
this.fixLayoutHeight()
|
||||
// Add slimscroll
|
||||
$(Selector.sidebar).slimScroll({
|
||||
height: ($(window).height() - $(Selector.mainHeader).height()) + 'px',
|
||||
color : 'rgba(0,0,0,0.2)',
|
||||
size : '3px'
|
||||
})
|
||||
|
||||
$(window).resize(() => {
|
||||
this.fixLayoutHeight()
|
||||
})
|
||||
|
||||
$('body, html').css('height', 'auto')
|
||||
}
|
||||
|
||||
_max(numbers) {
|
||||
// Calculate the maximum number in a list
|
||||
let max = 0
|
||||
|
||||
Object.keys(numbers).forEach((key) => {
|
||||
if (numbers[key] > max) {
|
||||
max = numbers[key]
|
||||
}
|
||||
})
|
||||
|
||||
return max
|
||||
}
|
||||
|
||||
// Static
|
||||
|
||||
static _jQueryInterface(operation) {
|
||||
return this.each(function () {
|
||||
let data = $(this)
|
||||
.data(DATA_KEY)
|
||||
|
||||
if (!data) {
|
||||
data = new Layout(this)
|
||||
$(this).data(DATA_KEY, data)
|
||||
}
|
||||
|
||||
if (operation) {
|
||||
data[operation]()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Data API
|
||||
* ====================================================
|
||||
*/
|
||||
$(window).on('load', () => {
|
||||
Layout._jQueryInterface.call($('body'))
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option === 'object' && option)
|
||||
$this.data(DataKey, (data = new Layout(options)))
|
||||
}
|
||||
|
||||
if (typeof option === 'string') {
|
||||
if (typeof data[option] === 'undefined') {
|
||||
throw new Error('No method named ' + option)
|
||||
}
|
||||
data[option]()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.layout
|
||||
|
||||
$.fn.layout = Plugin
|
||||
$.fn.layout.Constuctor = Layout
|
||||
|
||||
// No conflict mode
|
||||
// ================
|
||||
$.fn.layout.noConflict = function () {
|
||||
$.fn.layout = old
|
||||
return this
|
||||
}
|
||||
|
||||
// Layout DATA-API
|
||||
// ===============
|
||||
$(window).on('load', function () {
|
||||
Plugin.call($('body'))
|
||||
})
|
||||
|
||||
/**
|
||||
* jQuery API
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
$.fn[NAME] = Layout._jQueryInterface
|
||||
$.fn[NAME].Constructor = Layout
|
||||
$.fn[NAME].noConflict = function () {
|
||||
$.fn[NAME] = JQUERY_NO_CONFLICT
|
||||
return Layout._jQueryInterface
|
||||
}
|
||||
|
||||
return Layout
|
||||
})(jQuery)
|
||||
|
||||
export default Layout
|
||||
}(jQuery)
|
||||
|
||||
@@ -1,153 +1,176 @@
|
||||
/**
|
||||
* --------------------------------------------
|
||||
* AdminLTE PushMenu.js
|
||||
* License MIT
|
||||
* --------------------------------------------
|
||||
/* PushMenu()
|
||||
* ==========
|
||||
* Adds the push menu functionality to the sidebar.
|
||||
*
|
||||
* @usage: $('.btn').pushMenu(options)
|
||||
* or add [data-toggle="push-menu"] to any toggle button
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
const PushMenu = (($) => {
|
||||
/**
|
||||
* Constants
|
||||
* ====================================================
|
||||
*/
|
||||
var DataKey = 'lte.pushmenu'
|
||||
|
||||
const NAME = 'PushMenu'
|
||||
const DATA_KEY = 'lte.pushmenu'
|
||||
const EVENT_KEY = `.${DATA_KEY}`
|
||||
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
||||
|
||||
const Event = {
|
||||
COLLAPSED: `collapsed${EVENT_KEY}`,
|
||||
SHOWN : `shown${EVENT_KEY}`
|
||||
var Default = {
|
||||
collapseScreenSize : 767,
|
||||
expandOnHover : false,
|
||||
expandTransitionDelay: 200
|
||||
}
|
||||
|
||||
const Default = {
|
||||
screenCollapseSize: 768
|
||||
var Selector = {
|
||||
collapsed : '.sidebar-collapse',
|
||||
open : '.sidebar-open',
|
||||
mainSidebar : '.main-sidebar',
|
||||
contentWrapper: '.content-wrapper',
|
||||
searchInput : '.sidebar-form .form-control',
|
||||
button : '[data-toggle="push-menu"]',
|
||||
mini : '.sidebar-mini',
|
||||
expanded : '.sidebar-expanded-on-hover',
|
||||
layoutFixed : '.fixed'
|
||||
}
|
||||
|
||||
const Selector = {
|
||||
TOGGLE_BUTTON : '[data-widget="pushmenu"]',
|
||||
SIDEBAR_MINI : '.sidebar-mini',
|
||||
SIDEBAR_COLLAPSED: '.sidebar-collapse',
|
||||
BODY : 'body',
|
||||
OVERLAY : '#sidebar-overlay',
|
||||
WRAPPER : '.wrapper'
|
||||
var ClassName = {
|
||||
collapsed : 'sidebar-collapse',
|
||||
open : 'sidebar-open',
|
||||
mini : 'sidebar-mini',
|
||||
expanded : 'sidebar-expanded-on-hover',
|
||||
expandFeature: 'sidebar-mini-expand-feature',
|
||||
layoutFixed : 'fixed'
|
||||
}
|
||||
|
||||
const ClassName = {
|
||||
SIDEBAR_OPEN: 'sidebar-open',
|
||||
COLLAPSED : 'sidebar-collapse',
|
||||
OPEN : 'sidebar-open',
|
||||
SIDEBAR_MINI: 'sidebar-mini'
|
||||
var Event = {
|
||||
expanded : 'expanded.pushMenu',
|
||||
collapsed: 'collapsed.pushMenu'
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Definition
|
||||
* ====================================================
|
||||
*/
|
||||
// PushMenu Class Definition
|
||||
// =========================
|
||||
var PushMenu = function (options) {
|
||||
this.options = options
|
||||
this.init()
|
||||
}
|
||||
|
||||
class PushMenu {
|
||||
constructor(element, options) {
|
||||
this._element = element
|
||||
this._options = $.extend({}, Default, options)
|
||||
PushMenu.prototype.init = function () {
|
||||
if (this.options.expandOnHover
|
||||
|| ($('body').is(Selector.mini + Selector.layoutFixed))) {
|
||||
this.expandOnHover()
|
||||
$('body').addClass(ClassName.expandFeature)
|
||||
}
|
||||
|
||||
if (!$(Selector.OVERLAY).length) {
|
||||
this._addOverlay()
|
||||
$(Selector.contentWrapper).click(function () {
|
||||
// Enable hide menu when clicking on the content-wrapper on small screens
|
||||
if ($(window).width() <= this.options.collapseScreenSize && $('body').hasClass(ClassName.open)) {
|
||||
this.close()
|
||||
}
|
||||
}.bind(this))
|
||||
|
||||
// __Fix for android devices
|
||||
$(Selector.searchInput).click(function (e) {
|
||||
e.stopPropagation()
|
||||
})
|
||||
}
|
||||
|
||||
PushMenu.prototype.toggle = function () {
|
||||
var windowWidth = $(window).width()
|
||||
var isOpen = !$('body').hasClass(ClassName.collapsed)
|
||||
|
||||
if (windowWidth <= this.options.collapseScreenSize) {
|
||||
isOpen = $('body').hasClass(ClassName.open)
|
||||
}
|
||||
|
||||
// Public
|
||||
|
||||
show() {
|
||||
$(Selector.BODY).addClass(ClassName.OPEN).removeClass(ClassName.COLLAPSED)
|
||||
|
||||
const shownEvent = $.Event(Event.SHOWN)
|
||||
$(this._element).trigger(shownEvent)
|
||||
if (!isOpen) {
|
||||
this.open()
|
||||
} else {
|
||||
this.close()
|
||||
}
|
||||
}
|
||||
|
||||
collapse() {
|
||||
$(Selector.BODY).removeClass(ClassName.OPEN).addClass(ClassName.COLLAPSED)
|
||||
PushMenu.prototype.open = function () {
|
||||
var windowWidth = $(window).width()
|
||||
|
||||
const collapsedEvent = $.Event(Event.COLLAPSED)
|
||||
$(this._element).trigger(collapsedEvent)
|
||||
if (windowWidth > this.options.collapseScreenSize) {
|
||||
$('body').removeClass(ClassName.collapsed)
|
||||
.trigger($.Event(Event.expanded))
|
||||
}
|
||||
else {
|
||||
$('body').addClass(ClassName.open)
|
||||
.trigger($.Event(Event.expanded))
|
||||
}
|
||||
}
|
||||
|
||||
toggle() {
|
||||
let isShown
|
||||
if ($(window).width() >= this._options.screenCollapseSize) {
|
||||
isShown = !$(Selector.BODY).hasClass(ClassName.COLLAPSED)
|
||||
} else {
|
||||
isShown = $(Selector.BODY).hasClass(ClassName.OPEN)
|
||||
PushMenu.prototype.close = function () {
|
||||
var windowWidth = $(window).width()
|
||||
if (windowWidth > this.options.collapseScreenSize) {
|
||||
$('body').addClass(ClassName.collapsed)
|
||||
.trigger($.Event(Event.collapsed))
|
||||
} else {
|
||||
$('body').removeClass(ClassName.open + ' ' + ClassName.collapsed)
|
||||
.trigger($.Event(Event.collapsed))
|
||||
}
|
||||
}
|
||||
|
||||
PushMenu.prototype.expandOnHover = function () {
|
||||
$(Selector.mainSidebar).hover(function () {
|
||||
if ($('body').is(Selector.mini + Selector.collapsed)
|
||||
&& $(window).width() > this.options.collapseScreenSize) {
|
||||
this.expand()
|
||||
}
|
||||
|
||||
if (isShown) {
|
||||
}.bind(this), function () {
|
||||
if ($('body').is(Selector.expanded)) {
|
||||
this.collapse()
|
||||
} else {
|
||||
this.show()
|
||||
}
|
||||
}
|
||||
|
||||
// Private
|
||||
_addOverlay() {
|
||||
const overlay = $('<div />', {
|
||||
id: 'sidebar-overlay'
|
||||
})
|
||||
|
||||
overlay.on('click', () => {
|
||||
this.collapse()
|
||||
})
|
||||
|
||||
$(Selector.WRAPPER).append(overlay)
|
||||
}
|
||||
|
||||
// Static
|
||||
|
||||
static _jQueryInterface(operation) {
|
||||
return this.each(function () {
|
||||
let data = $(this).data(DATA_KEY)
|
||||
|
||||
if (!data) {
|
||||
data = new PushMenu(this)
|
||||
$(this).data(DATA_KEY, data)
|
||||
}
|
||||
|
||||
if (operation) {
|
||||
data[operation]()
|
||||
}
|
||||
})
|
||||
}
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
/**
|
||||
* Data API
|
||||
* ====================================================
|
||||
*/
|
||||
PushMenu.prototype.expand = function () {
|
||||
setTimeout(function () {
|
||||
$('body').removeClass(ClassName.collapsed)
|
||||
.addClass(ClassName.expanded)
|
||||
}, this.options.expandTransitionDelay)
|
||||
}
|
||||
|
||||
$(document).on('click', Selector.TOGGLE_BUTTON, (event) => {
|
||||
event.preventDefault()
|
||||
PushMenu.prototype.collapse = function () {
|
||||
setTimeout(function () {
|
||||
$('body').removeClass(ClassName.expanded)
|
||||
.addClass(ClassName.collapsed)
|
||||
}, this.options.expandTransitionDelay)
|
||||
}
|
||||
|
||||
let button = event.currentTarget
|
||||
// PushMenu Plugin Definition
|
||||
// ==========================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if ($(button).data('widget') !== 'pushmenu') {
|
||||
button = $(button).closest(Selector.TOGGLE_BUTTON)
|
||||
}
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, (data = new PushMenu(options)))
|
||||
}
|
||||
|
||||
PushMenu._jQueryInterface.call($(button), 'toggle')
|
||||
if (option == 'toggle') data.toggle()
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.pushMenu
|
||||
|
||||
$.fn.pushMenu = Plugin
|
||||
$.fn.pushMenu.Constructor = PushMenu
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.pushMenu.noConflict = function () {
|
||||
$.fn.pushMenu = old
|
||||
return this
|
||||
}
|
||||
|
||||
// Data API
|
||||
// ========
|
||||
$(document).on('click', Selector.button, function (e) {
|
||||
e.preventDefault()
|
||||
Plugin.call($(this), 'toggle')
|
||||
})
|
||||
|
||||
/**
|
||||
* jQuery API
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
$.fn[NAME] = PushMenu._jQueryInterface
|
||||
$.fn[NAME].Constructor = PushMenu
|
||||
$.fn[NAME].noConflict = function () {
|
||||
$.fn[NAME] = JQUERY_NO_CONFLICT
|
||||
return PushMenu._jQueryInterface
|
||||
}
|
||||
|
||||
return PushMenu
|
||||
})(jQuery)
|
||||
|
||||
export default PushMenu
|
||||
$(window).on('load', function () {
|
||||
Plugin.call($(Selector.button))
|
||||
})
|
||||
}(jQuery)
|
||||
|
||||
@@ -1,127 +0,0 @@
|
||||
/**
|
||||
* --------------------------------------------
|
||||
* AdminLTE SiteSearch.js
|
||||
* License MIT
|
||||
* --------------------------------------------
|
||||
*/
|
||||
|
||||
const SiteSearch = (($) => {
|
||||
/**
|
||||
* Constants
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
const NAME = 'SiteSearch'
|
||||
const DATA_KEY = 'lte.site-search'
|
||||
const EVENT_KEY = `.${DATA_KEY}`
|
||||
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
||||
|
||||
const Event = {}
|
||||
|
||||
const Selector = {
|
||||
TOGGLE_BUTTON : '[data-widget="site-search"]',
|
||||
SEARCH_BLOCK : '.site-search-block',
|
||||
SEARCH_BACKDROP: '.site-search-backdrop',
|
||||
SEARCH_INPUT : '.site-search-block .form-control'
|
||||
}
|
||||
|
||||
const ClassName = {
|
||||
OPEN: 'site-search-open'
|
||||
}
|
||||
|
||||
const Default = {
|
||||
transitionSpeed: 300
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Definition
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
class SiteSearch {
|
||||
|
||||
constructor(_element, _options) {
|
||||
this.element = _element
|
||||
this.options = $.extend({}, Default, _options)
|
||||
}
|
||||
|
||||
// Public
|
||||
|
||||
open() {
|
||||
$(Selector.SEARCH_BLOCK).slideDown(this.options.transitionSpeed)
|
||||
$(Selector.SEARCH_BACKDROP).show(0)
|
||||
$(Selector.SEARCH_INPUT).focus()
|
||||
$(Selector.SEARCH_BLOCK).addClass(ClassName.OPEN)
|
||||
}
|
||||
|
||||
close() {
|
||||
$(Selector.SEARCH_BLOCK).slideUp(this.options.transitionSpeed)
|
||||
$(Selector.SEARCH_BACKDROP).hide(0)
|
||||
$(Selector.SEARCH_BLOCK).removeClass(ClassName.OPEN)
|
||||
}
|
||||
|
||||
toggle() {
|
||||
if ($(Selector.SEARCH_BLOCK).hasClass(ClassName.OPEN)) {
|
||||
this.close()
|
||||
} else {
|
||||
this.open()
|
||||
}
|
||||
}
|
||||
|
||||
// Static
|
||||
|
||||
static _jQueryInterface(options) {
|
||||
return this.each(function () {
|
||||
let data = $(this).data(DATA_KEY)
|
||||
|
||||
if (!data) {
|
||||
data = new SiteSearch(this, options)
|
||||
$(this).data(DATA_KEY, data)
|
||||
}
|
||||
|
||||
if (!/toggle|close/.test(options)) {
|
||||
throw Error(`Undefined method ${options}`)
|
||||
}
|
||||
|
||||
data[options]()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Data API
|
||||
* ====================================================
|
||||
*/
|
||||
$(document).on('click', Selector.TOGGLE_BUTTON, (event) => {
|
||||
event.preventDefault()
|
||||
|
||||
let button = $(event.currentTarget)
|
||||
|
||||
if (button.data('widget') !== 'site-search') {
|
||||
button = button.closest(Selector.TOGGLE_BUTTON)
|
||||
}
|
||||
|
||||
SiteSearch._jQueryInterface.call(button, 'toggle')
|
||||
})
|
||||
|
||||
$(document).on('click', Selector.SEARCH_BACKDROP, (event) => {
|
||||
const backdrop = $(event.currentTarget)
|
||||
SiteSearch._jQueryInterface.call(backdrop, 'close')
|
||||
})
|
||||
|
||||
/**
|
||||
* jQuery API
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
$.fn[NAME] = SiteSearch._jQueryInterface
|
||||
$.fn[NAME].Constructor = SiteSearch
|
||||
$.fn[NAME].noConflict = function () {
|
||||
$.fn[NAME] = JQUERY_NO_CONFLICT
|
||||
return SiteSearch._jQueryInterface
|
||||
}
|
||||
|
||||
return SiteSearch
|
||||
})(jQuery)
|
||||
|
||||
export default SiteSearch
|
||||
107
build/js/TodoList.js
Normal file
107
build/js/TodoList.js
Normal file
@@ -0,0 +1,107 @@
|
||||
/* TodoList()
|
||||
* =========
|
||||
* Converts a list into a todoList.
|
||||
*
|
||||
* @Usage: $('.my-list').todoList(options)
|
||||
* or add [data-widget="todo-list"] to the ul element
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.todolist'
|
||||
|
||||
var Default = {
|
||||
iCheck : false,
|
||||
onCheck : function () {
|
||||
},
|
||||
onUnCheck: function () {
|
||||
}
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
data: '[data-widget="todo-list"]'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
done: 'done'
|
||||
}
|
||||
|
||||
// TodoList Class Definition
|
||||
// =========================
|
||||
var TodoList = function (element, options) {
|
||||
this.element = element
|
||||
this.options = options
|
||||
|
||||
this._setUpListeners()
|
||||
}
|
||||
|
||||
TodoList.prototype.toggle = function (item) {
|
||||
item.parents(Selector.li).first().toggleClass(ClassName.done)
|
||||
if (!item.prop('checked')) {
|
||||
this.unCheck(item)
|
||||
return
|
||||
}
|
||||
|
||||
this.check(item)
|
||||
}
|
||||
|
||||
TodoList.prototype.check = function (item) {
|
||||
this.options.onCheck.call(item)
|
||||
}
|
||||
|
||||
TodoList.prototype.unCheck = function (item) {
|
||||
this.options.onUnCheck.call(item)
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
TodoList.prototype._setUpListeners = function () {
|
||||
var that = this
|
||||
$(this.element).on('change ifChanged', 'input:checkbox', function () {
|
||||
that.toggle($(this))
|
||||
})
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, (data = new TodoList($this, options)))
|
||||
}
|
||||
|
||||
if (typeof data == 'string') {
|
||||
if (typeof data[option] == 'undefined') {
|
||||
throw new Error('No method named ' + option)
|
||||
}
|
||||
data[option]()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.todoList
|
||||
|
||||
$.fn.todoList = Plugin
|
||||
$.fn.todoList.Constructor = TodoList
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.todoList.noConflict = function () {
|
||||
$.fn.todoList = old
|
||||
return this
|
||||
}
|
||||
|
||||
// TodoList Data API
|
||||
// =================
|
||||
$(window).on('load', function () {
|
||||
$(Selector.data).each(function () {
|
||||
Plugin.call($(this))
|
||||
})
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
145
build/js/Tree.js
Normal file
145
build/js/Tree.js
Normal file
@@ -0,0 +1,145 @@
|
||||
/* Tree()
|
||||
* ======
|
||||
* Converts a nested list into a multilevel
|
||||
* tree view menu.
|
||||
*
|
||||
* @Usage: $('.my-menu').tree(options)
|
||||
* or add [data-widget="tree"] to the ul element
|
||||
* Pass any option as data-option="value"
|
||||
*/
|
||||
+function ($) {
|
||||
'use strict'
|
||||
|
||||
var DataKey = 'lte.tree'
|
||||
|
||||
var Default = {
|
||||
animationSpeed: 500,
|
||||
accordion : true,
|
||||
followLink : false,
|
||||
trigger : '.treeview a'
|
||||
}
|
||||
|
||||
var Selector = {
|
||||
tree : '.tree',
|
||||
treeview : '.treeview',
|
||||
treeviewMenu: '.treeview-menu',
|
||||
open : '.menu-open, .active',
|
||||
li : 'li',
|
||||
data : '[data-widget="tree"]',
|
||||
active : '.active'
|
||||
}
|
||||
|
||||
var ClassName = {
|
||||
open: 'menu-open',
|
||||
tree: 'tree'
|
||||
}
|
||||
|
||||
var Event = {
|
||||
collapsed: 'collapsed.tree',
|
||||
expanded : 'expanded.tree'
|
||||
}
|
||||
|
||||
// Tree Class Definition
|
||||
// =====================
|
||||
var Tree = function (element, options) {
|
||||
this.element = element
|
||||
this.options = options
|
||||
|
||||
$(this.element).addClass(ClassName.tree)
|
||||
|
||||
$(Selector.treeview + Selector.active, this.element).addClass(ClassName.open)
|
||||
|
||||
this._setUpListeners()
|
||||
}
|
||||
|
||||
Tree.prototype.toggle = function (link, event) {
|
||||
var treeviewMenu = link.next(Selector.treeviewMenu)
|
||||
var parentLi = link.parent()
|
||||
var isOpen = parentLi.hasClass(ClassName.open)
|
||||
|
||||
if (!parentLi.is(Selector.treeview)) {
|
||||
return
|
||||
}
|
||||
|
||||
if (!this.options.followLink || link.attr('href') == '#') {
|
||||
event.preventDefault()
|
||||
}
|
||||
|
||||
if (isOpen) {
|
||||
this.collapse(treeviewMenu, parentLi)
|
||||
} else {
|
||||
this.expand(treeviewMenu, parentLi)
|
||||
}
|
||||
}
|
||||
|
||||
Tree.prototype.expand = function (tree, parent) {
|
||||
var expandedEvent = $.Event(Event.expanded)
|
||||
|
||||
if (this.options.accordion) {
|
||||
var openMenuLi = parent.siblings(Selector.open)
|
||||
var openTree = openMenuLi.children(Selector.treeviewMenu)
|
||||
this.collapse(openTree, openMenuLi)
|
||||
}
|
||||
|
||||
parent.addClass(ClassName.open)
|
||||
tree.slideDown(this.options.animationSpeed, function () {
|
||||
$(this.element).trigger(expandedEvent)
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
Tree.prototype.collapse = function (tree, parentLi) {
|
||||
var collapsedEvent = $.Event(Event.collapsed)
|
||||
|
||||
tree.find(Selector.open).removeClass(ClassName.open)
|
||||
parentLi.removeClass(ClassName.open)
|
||||
tree.slideUp(this.options.animationSpeed, function () {
|
||||
tree.find(Selector.open + ' > ' + Selector.treeview).slideUp()
|
||||
$(this.element).trigger(collapsedEvent)
|
||||
}.bind(this))
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
Tree.prototype._setUpListeners = function () {
|
||||
var that = this
|
||||
|
||||
$(this.element).on('click', this.options.trigger, function (event) {
|
||||
that.toggle($(this), event)
|
||||
})
|
||||
}
|
||||
|
||||
// Plugin Definition
|
||||
// =================
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data(DataKey)
|
||||
|
||||
if (!data) {
|
||||
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
|
||||
$this.data(DataKey, new Tree($this, options))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.tree
|
||||
|
||||
$.fn.tree = Plugin
|
||||
$.fn.tree.Constructor = Tree
|
||||
|
||||
// No Conflict Mode
|
||||
// ================
|
||||
$.fn.tree.noConflict = function () {
|
||||
$.fn.tree = old
|
||||
return this
|
||||
}
|
||||
|
||||
// Tree Data API
|
||||
// =============
|
||||
$(window).on('load', function () {
|
||||
$(Selector.data).each(function () {
|
||||
Plugin.call($(this))
|
||||
})
|
||||
})
|
||||
|
||||
}(jQuery)
|
||||
@@ -1,162 +0,0 @@
|
||||
/**
|
||||
* --------------------------------------------
|
||||
* AdminLTE Treeview.js
|
||||
* License MIT
|
||||
* --------------------------------------------
|
||||
*/
|
||||
|
||||
const Treeview = (($) => {
|
||||
/**
|
||||
* Constants
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
const NAME = 'Treeview'
|
||||
const DATA_KEY = 'lte.treeview'
|
||||
const EVENT_KEY = `.${DATA_KEY}`
|
||||
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
||||
|
||||
const Event = {
|
||||
SELECTED : `selected${EVENT_KEY}`,
|
||||
EXPANDED : `expanded${EVENT_KEY}`,
|
||||
COLLAPSED : `collapsed${EVENT_KEY}`,
|
||||
LOAD_DATA_API: `load${EVENT_KEY}`
|
||||
}
|
||||
|
||||
const Selector = {
|
||||
LI : '.nav-item',
|
||||
LINK : '.nav-link',
|
||||
TREEVIEW_MENU: '.nav-treeview',
|
||||
OPEN : '.menu-open',
|
||||
DATA_WIDGET : '[data-widget="treeview"]'
|
||||
}
|
||||
|
||||
const ClassName = {
|
||||
LI : 'nav-item',
|
||||
LINK : 'nav-link',
|
||||
TREEVIEW_MENU: 'nav-treeview',
|
||||
OPEN : 'menu-open'
|
||||
}
|
||||
|
||||
const Default = {
|
||||
trigger : `${Selector.DATA_WIDGET} ${Selector.LINK}`,
|
||||
animationSpeed: 300,
|
||||
accordion : true
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Definition
|
||||
* ====================================================
|
||||
*/
|
||||
class Treeview {
|
||||
constructor(element, config) {
|
||||
this._config = config
|
||||
this._element = element
|
||||
}
|
||||
|
||||
// Public
|
||||
|
||||
init() {
|
||||
this._setupListeners()
|
||||
}
|
||||
|
||||
expand(treeviewMenu, parentLi) {
|
||||
const expandedEvent = $.Event(Event.EXPANDED)
|
||||
|
||||
if (this._config.accordion) {
|
||||
const openMenuLi = parentLi.siblings(Selector.OPEN).first()
|
||||
const openTreeview = openMenuLi.find(Selector.TREEVIEW_MENU).first()
|
||||
this.collapse(openTreeview, openMenuLi)
|
||||
}
|
||||
|
||||
treeviewMenu.slideDown(this._config.animationSpeed, () => {
|
||||
parentLi.addClass(ClassName.OPEN)
|
||||
$(this._element).trigger(expandedEvent)
|
||||
})
|
||||
}
|
||||
|
||||
collapse(treeviewMenu, parentLi) {
|
||||
const collapsedEvent = $.Event(Event.COLLAPSED)
|
||||
|
||||
treeviewMenu.slideUp(this._config.animationSpeed, () => {
|
||||
parentLi.removeClass(ClassName.OPEN)
|
||||
$(this._element).trigger(collapsedEvent)
|
||||
treeviewMenu.find(`${Selector.OPEN} > ${Selector.TREEVIEW_MENU}`).slideUp()
|
||||
treeviewMenu.find(Selector.OPEN).removeClass(ClassName.OPEN)
|
||||
})
|
||||
}
|
||||
|
||||
toggle(event) {
|
||||
const $relativeTarget = $(event.currentTarget)
|
||||
const treeviewMenu = $relativeTarget.next()
|
||||
|
||||
if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) {
|
||||
return
|
||||
}
|
||||
|
||||
event.preventDefault()
|
||||
|
||||
const parentLi = $relativeTarget.parents(Selector.LI).first()
|
||||
const isOpen = parentLi.hasClass(ClassName.OPEN)
|
||||
|
||||
if (isOpen) {
|
||||
this.collapse($(treeviewMenu), parentLi)
|
||||
} else {
|
||||
this.expand($(treeviewMenu), parentLi)
|
||||
}
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
_setupListeners() {
|
||||
$(document).on('click', this._config.trigger, (event) => {
|
||||
this.toggle(event)
|
||||
})
|
||||
}
|
||||
|
||||
// Static
|
||||
|
||||
static _jQueryInterface(config) {
|
||||
return this.each(function () {
|
||||
let data = $(this).data(DATA_KEY)
|
||||
const _config = $.extend({}, Default, $(this).data())
|
||||
|
||||
if (!data) {
|
||||
data = new Treeview($(this), _config)
|
||||
$(this).data(DATA_KEY, data)
|
||||
}
|
||||
|
||||
if (config === 'init') {
|
||||
data[config]()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Data API
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
$(window).on(Event.LOAD_DATA_API, () => {
|
||||
$(Selector.DATA_WIDGET).each(function () {
|
||||
Treeview._jQueryInterface.call($(this), 'init')
|
||||
})
|
||||
})
|
||||
|
||||
/**
|
||||
* jQuery API
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
$.fn[NAME] = Treeview._jQueryInterface
|
||||
$.fn[NAME].Constructor = Treeview
|
||||
$.fn[NAME].noConflict = function () {
|
||||
$.fn[NAME] = JQUERY_NO_CONFLICT
|
||||
return Treeview._jQueryInterface
|
||||
}
|
||||
|
||||
return Treeview
|
||||
})(jQuery)
|
||||
|
||||
export default Treeview
|
||||
@@ -1,161 +0,0 @@
|
||||
/**
|
||||
* --------------------------------------------
|
||||
* AdminLTE Widget.js
|
||||
* License MIT
|
||||
* --------------------------------------------
|
||||
*/
|
||||
|
||||
const Widget = (($) => {
|
||||
/**
|
||||
* Constants
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
const NAME = 'Widget'
|
||||
const DATA_KEY = 'lte.widget'
|
||||
const EVENT_KEY = `.${DATA_KEY}`
|
||||
const JQUERY_NO_CONFLICT = $.fn[NAME]
|
||||
|
||||
const Event = {
|
||||
EXPANDED : `expanded${EVENT_KEY}`,
|
||||
COLLAPSED: `collapsed${EVENT_KEY}`,
|
||||
REMOVED : `removed${EVENT_KEY}`
|
||||
}
|
||||
|
||||
const Selector = {
|
||||
DATA_REMOVE : '[data-widget="remove"]',
|
||||
DATA_COLLAPSE: '[data-widget="collapse"]',
|
||||
CARD : '.card',
|
||||
CARD_HEADER : '.card-header',
|
||||
CARD_BODY : '.card-body',
|
||||
CARD_FOOTER : '.card-footer',
|
||||
COLLAPSED : '.collapsed-card'
|
||||
}
|
||||
|
||||
const ClassName = {
|
||||
COLLAPSED: 'collapsed-card'
|
||||
}
|
||||
|
||||
const Default = {
|
||||
animationSpeed : 'normal',
|
||||
collapseTrigger: Selector.DATA_COLLAPSE,
|
||||
removeTrigger : Selector.DATA_REMOVE
|
||||
}
|
||||
|
||||
class Widget {
|
||||
constructor(element, settings) {
|
||||
this._element = element
|
||||
this._parent = element.parents(Selector.CARD).first()
|
||||
this._settings = $.extend({}, Default, settings)
|
||||
}
|
||||
|
||||
collapse() {
|
||||
this._parent.children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)
|
||||
.slideUp(this._settings.animationSpeed, () => {
|
||||
this._parent.addClass(ClassName.COLLAPSED)
|
||||
})
|
||||
|
||||
const collapsed = $.Event(Event.COLLAPSED)
|
||||
|
||||
this._element.trigger(collapsed, this._parent)
|
||||
}
|
||||
|
||||
expand() {
|
||||
this._parent.children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)
|
||||
.slideDown(this._settings.animationSpeed, () => {
|
||||
this._parent.removeClass(ClassName.COLLAPSED)
|
||||
})
|
||||
|
||||
const expanded = $.Event(Event.EXPANDED)
|
||||
|
||||
this._element.trigger(expanded, this._parent)
|
||||
}
|
||||
|
||||
remove() {
|
||||
this._parent.slideUp()
|
||||
|
||||
const removed = $.Event(Event.REMOVED)
|
||||
|
||||
this._element.trigger(removed, this._parent)
|
||||
}
|
||||
|
||||
toggle() {
|
||||
if (this._parent.hasClass(ClassName.COLLAPSED)) {
|
||||
this.expand()
|
||||
return
|
||||
}
|
||||
|
||||
this.collapse()
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
_init(card) {
|
||||
this._parent = card
|
||||
|
||||
$(this).find(this._settings.collapseTrigger).click(() => {
|
||||
this.toggle()
|
||||
})
|
||||
|
||||
$(this).find(this._settings.removeTrigger).click(() => {
|
||||
this.remove()
|
||||
})
|
||||
}
|
||||
|
||||
// Static
|
||||
|
||||
static _jQueryInterface(config) {
|
||||
return this.each(function () {
|
||||
let data = $(this).data(DATA_KEY)
|
||||
|
||||
if (!data) {
|
||||
data = new Widget($(this), data)
|
||||
$(this).data(DATA_KEY, typeof config === 'string' ? data : config)
|
||||
}
|
||||
|
||||
if (typeof config === 'string' && config.match(/remove|toggle/)) {
|
||||
data[config]()
|
||||
} else if (typeof config === 'object') {
|
||||
data._init($(this))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Data API
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
$(document).on('click', Selector.DATA_COLLAPSE, function (event) {
|
||||
if (event) {
|
||||
event.preventDefault()
|
||||
}
|
||||
|
||||
Widget._jQueryInterface.call($(this), 'toggle')
|
||||
})
|
||||
|
||||
$(document).on('click', Selector.DATA_REMOVE, function (event) {
|
||||
if (event) {
|
||||
event.preventDefault()
|
||||
}
|
||||
|
||||
Widget._jQueryInterface.call($(this), 'remove')
|
||||
})
|
||||
|
||||
/**
|
||||
* jQuery API
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
$.fn[NAME] = Widget._jQueryInterface
|
||||
$.fn[NAME].Constructor = Widget
|
||||
$.fn[NAME].noConflict = function () {
|
||||
$.fn[NAME] = JQUERY_NO_CONFLICT
|
||||
return Widget._jQueryInterface
|
||||
}
|
||||
|
||||
return Widget
|
||||
})(jQuery)
|
||||
|
||||
export default Widget
|
||||
@@ -20,4 +20,4 @@
|
||||
"fallback-colors": false,
|
||||
"vendor-prefix": false,
|
||||
"import": false
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
.error-page {
|
||||
width: 600px;
|
||||
margin: 20px auto 0 auto;
|
||||
@include media-breakpoint-down(sm) {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
width: 100%;
|
||||
}
|
||||
//For the error number e.g: 404
|
||||
@@ -13,7 +13,7 @@
|
||||
float: left;
|
||||
font-size: 100px;
|
||||
font-weight: 300;
|
||||
@include media-breakpoint-down(sm) {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
float: none;
|
||||
text-align: center;
|
||||
}
|
||||
@@ -21,13 +21,13 @@
|
||||
//For the message
|
||||
> .error-content {
|
||||
margin-left: 190px;
|
||||
@include media-breakpoint-down(sm) {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
margin-left: 0;
|
||||
}
|
||||
> h3 {
|
||||
font-weight: 300;
|
||||
font-size: 25px;
|
||||
@include media-breakpoint-down(sm) {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
55
build/less/AdminLTE-without-plugins.less
Normal file
55
build/less/AdminLTE-without-plugins.less
Normal file
@@ -0,0 +1,55 @@
|
||||
/*!
|
||||
* AdminLTE v2.4.0 Without Third-Party Plugins
|
||||
* Author: Almsaeed Studio
|
||||
* Website: Almsaeed Studio <https://adminlte.io>
|
||||
* License: Open source - MIT
|
||||
* Please visit http://opensource.org/licenses/MIT for more information
|
||||
!*/
|
||||
//Bootstrap Variables & Mixins
|
||||
//The core bootstrap code have not been modified. These files
|
||||
//are included only for reference.
|
||||
@import (reference) "../../bower_components/bootstrap/less/mixins";
|
||||
@import (reference) "../../bower_components/bootstrap/less/variables";
|
||||
//MISC
|
||||
//----
|
||||
@import "core";
|
||||
@import "variables";
|
||||
@import "mixins";
|
||||
//COMPONENTS
|
||||
//-----------
|
||||
@import "header";
|
||||
@import "sidebar";
|
||||
@import "sidebar-mini";
|
||||
@import "control-sidebar";
|
||||
@import "dropdown";
|
||||
@import "forms";
|
||||
@import "progress-bars";
|
||||
@import "small-box";
|
||||
@import "boxes";
|
||||
@import "info-box";
|
||||
@import "timeline";
|
||||
@import "buttons";
|
||||
@import "callout";
|
||||
@import "alerts";
|
||||
@import "navs";
|
||||
@import "products";
|
||||
@import "table";
|
||||
@import "labels";
|
||||
@import "direct-chat";
|
||||
@import "users-list";
|
||||
@import "carousel";
|
||||
@import "modal";
|
||||
@import "social-widgets";
|
||||
@import "treeview";
|
||||
//PAGES
|
||||
//------
|
||||
@import "mailbox";
|
||||
@import "lockscreen";
|
||||
@import "login_and_register";
|
||||
@import "404_500_errors";
|
||||
@import "invoice";
|
||||
@import "profile";
|
||||
//Miscellaneous
|
||||
//-------------
|
||||
@import "miscellaneous";
|
||||
@import "print";
|
||||
62
build/less/AdminLTE.less
Normal file
62
build/less/AdminLTE.less
Normal file
@@ -0,0 +1,62 @@
|
||||
/*!
|
||||
* AdminLTE v2.4.0
|
||||
* Author: Almsaeed Studio
|
||||
* Website: Almsaeed Studio <https://adminlte.io>
|
||||
* License: Open source - MIT
|
||||
* Please visit http://opensource.org/licenses/MIT for more information
|
||||
*/
|
||||
// Bootstrap
|
||||
//--------------------------------------------------------
|
||||
@import (reference) "../../bower_components/bootstrap/less/mixins";
|
||||
@import (reference) "../../bower_components/bootstrap/less/variables";
|
||||
|
||||
// MISC
|
||||
//--------------------------------------------------------
|
||||
@import "core";
|
||||
@import "variables";
|
||||
@import "mixins";
|
||||
|
||||
// COMPONENTS
|
||||
//--------------------------------------------------------
|
||||
@import "header";
|
||||
@import "sidebar";
|
||||
@import "sidebar-mini";
|
||||
@import "control-sidebar";
|
||||
@import "dropdown";
|
||||
@import "forms";
|
||||
@import "progress-bars";
|
||||
@import "small-box";
|
||||
@import "boxes";
|
||||
@import "info-box";
|
||||
@import "timeline";
|
||||
@import "buttons";
|
||||
@import "callout";
|
||||
@import "alerts";
|
||||
@import "navs";
|
||||
@import "products";
|
||||
@import "table";
|
||||
@import "labels";
|
||||
@import "direct-chat";
|
||||
@import "users-list";
|
||||
@import "carousel";
|
||||
@import "modal";
|
||||
@import "social-widgets";
|
||||
@import "treeview";
|
||||
|
||||
// PAGES
|
||||
//--------------------------------------------------------
|
||||
@import "mailbox";
|
||||
@import "lockscreen";
|
||||
@import "login_and_register";
|
||||
@import "404_500_errors";
|
||||
@import "invoice";
|
||||
@import "profile";
|
||||
|
||||
// Plugins
|
||||
//--------------------------------------------------------
|
||||
@import "plugins";
|
||||
|
||||
// Miscellaneous
|
||||
//--------------------------------------------------------
|
||||
@import "miscellaneous";
|
||||
@import "print";
|
||||
47
build/less/alerts.less
Normal file
47
build/less/alerts.less
Normal file
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Component: alert
|
||||
* ----------------
|
||||
*/
|
||||
|
||||
.alert {
|
||||
.border-radius(3px);
|
||||
h4 {
|
||||
font-weight: 600;
|
||||
}
|
||||
.icon {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.close {
|
||||
color: #000;
|
||||
.opacity(.2);
|
||||
&:hover {
|
||||
.opacity(.5);
|
||||
}
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
//Alert Variants
|
||||
.alert-success {
|
||||
&:extend(.bg-green);
|
||||
border-color: darken(@green, 5%);
|
||||
}
|
||||
|
||||
.alert-danger,
|
||||
.alert-error {
|
||||
&:extend(.bg-red);
|
||||
border-color: darken(@red, 5%);
|
||||
}
|
||||
|
||||
.alert-warning {
|
||||
&:extend(.bg-yellow);
|
||||
border-color: darken(@yellow, 5%);
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
&:extend(.bg-aqua);
|
||||
border-color: darken(@aqua, 5%);
|
||||
}
|
||||
178
build/less/bootstrap-social.less
vendored
Normal file
178
build/less/bootstrap-social.less
vendored
Normal file
@@ -0,0 +1,178 @@
|
||||
/*
|
||||
* Social Buttons for Bootstrap
|
||||
*
|
||||
* Copyright 2013-2015 Panayiotis Lipiridis
|
||||
* Licensed under the MIT License
|
||||
*
|
||||
* https://github.com/lipis/bootstrap-social
|
||||
*/
|
||||
|
||||
// Import variables and mixins as a reference for separate plugins version
|
||||
@import (reference) "../../bower_components/bootstrap/less/mixins";
|
||||
@import (reference) "../../bower_components/bootstrap/less/variables";
|
||||
@import (reference) "variables";
|
||||
@import (reference) "mixins";
|
||||
|
||||
@bs-height-base: (@line-height-computed + @padding-base-vertical * 2);
|
||||
@bs-height-lg: (floor(@font-size-large * @line-height-base) + @padding-large-vertical * 2);
|
||||
@bs-height-sm: (floor(@font-size-small * 1.5) + @padding-small-vertical * 2);
|
||||
@bs-height-xs: (floor(@font-size-small * 1.2) + @padding-small-vertical + 1);
|
||||
|
||||
.btn-social {
|
||||
position: relative;
|
||||
padding-left: (@bs-height-base + @padding-base-horizontal);
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
> :first-child {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: @bs-height-base;
|
||||
line-height: (@bs-height-base + 2);
|
||||
font-size: 1.6em;
|
||||
text-align: center;
|
||||
border-right: 1px solid rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
&.btn-lg {
|
||||
padding-left: (@bs-height-lg + @padding-large-horizontal);
|
||||
> :first-child {
|
||||
line-height: @bs-height-lg;
|
||||
width: @bs-height-lg;
|
||||
font-size: 1.8em;
|
||||
}
|
||||
}
|
||||
&.btn-sm {
|
||||
padding-left: (@bs-height-sm + @padding-small-horizontal);
|
||||
> :first-child {
|
||||
line-height: @bs-height-sm;
|
||||
width: @bs-height-sm;
|
||||
font-size: 1.4em;
|
||||
}
|
||||
}
|
||||
&.btn-xs {
|
||||
padding-left: (@bs-height-xs + @padding-small-horizontal);
|
||||
> :first-child {
|
||||
line-height: @bs-height-xs;
|
||||
width: @bs-height-xs;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn-social-icon {
|
||||
.btn-social;
|
||||
height: (@bs-height-base + 2);
|
||||
width: (@bs-height-base + 2);
|
||||
padding: 0;
|
||||
> :first-child {
|
||||
border: none;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
&.btn-lg {
|
||||
height: @bs-height-lg;
|
||||
width: @bs-height-lg;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
&.btn-sm {
|
||||
height: (@bs-height-sm + 2);
|
||||
width: (@bs-height-sm + 2);
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
&.btn-xs {
|
||||
height: (@bs-height-xs + 2);
|
||||
width: (@bs-height-xs + 2);
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-social(@color-bg, @color: #fff) {
|
||||
background-color: @color-bg;
|
||||
.button-variant(@color, @color-bg, rgba(0, 0, 0, .2));
|
||||
}
|
||||
|
||||
.btn-adn {
|
||||
.btn-social(#d87a68);
|
||||
}
|
||||
|
||||
.btn-bitbucket {
|
||||
.btn-social(#205081);
|
||||
}
|
||||
|
||||
.btn-dropbox {
|
||||
.btn-social(#1087dd);
|
||||
}
|
||||
|
||||
.btn-facebook {
|
||||
.btn-social(#3b5998);
|
||||
}
|
||||
|
||||
.btn-flickr {
|
||||
.btn-social(#ff0084);
|
||||
}
|
||||
|
||||
.btn-foursquare {
|
||||
.btn-social(#f94877);
|
||||
}
|
||||
|
||||
.btn-github {
|
||||
.btn-social(#444444);
|
||||
}
|
||||
|
||||
.btn-google {
|
||||
.btn-social(#dd4b39);
|
||||
}
|
||||
|
||||
.btn-instagram {
|
||||
.btn-social(#3f729b);
|
||||
}
|
||||
|
||||
.btn-linkedin {
|
||||
.btn-social(#007bb6);
|
||||
}
|
||||
|
||||
.btn-microsoft {
|
||||
.btn-social(#2672ec);
|
||||
}
|
||||
|
||||
.btn-openid {
|
||||
.btn-social(#f7931e);
|
||||
}
|
||||
|
||||
.btn-pinterest {
|
||||
.btn-social(#cb2027);
|
||||
}
|
||||
|
||||
.btn-reddit {
|
||||
.btn-social(#eff7ff, #000);
|
||||
}
|
||||
|
||||
.btn-soundcloud {
|
||||
.btn-social(#ff5500);
|
||||
}
|
||||
|
||||
.btn-tumblr {
|
||||
.btn-social(#2c4762);
|
||||
}
|
||||
|
||||
.btn-twitter {
|
||||
.btn-social(#55acee);
|
||||
}
|
||||
|
||||
.btn-vimeo {
|
||||
.btn-social(#1ab7ea);
|
||||
}
|
||||
|
||||
.btn-vk {
|
||||
.btn-social(#587ea3);
|
||||
}
|
||||
|
||||
.btn-yahoo {
|
||||
.btn-social(#720e9e);
|
||||
}
|
||||
489
build/less/boxes.less
Normal file
489
build/less/boxes.less
Normal file
@@ -0,0 +1,489 @@
|
||||
/*
|
||||
* Component: Box
|
||||
* --------------
|
||||
*/
|
||||
.box {
|
||||
position: relative;
|
||||
.border-radius(@box-border-radius);
|
||||
background: #ffffff;
|
||||
border-top: 3px solid @box-default-border-top-color;
|
||||
margin-bottom: 20px;
|
||||
width: 100%;
|
||||
box-shadow: @box-boxshadow;
|
||||
|
||||
// Box color variations
|
||||
&.box-primary {
|
||||
border-top-color: @light-blue;
|
||||
}
|
||||
&.box-info {
|
||||
border-top-color: @aqua;
|
||||
}
|
||||
&.box-danger {
|
||||
border-top-color: @red;
|
||||
}
|
||||
&.box-warning {
|
||||
border-top-color: @yellow;
|
||||
}
|
||||
&.box-success {
|
||||
border-top-color: @green;
|
||||
}
|
||||
&.box-default {
|
||||
border-top-color: @gray-lte;
|
||||
}
|
||||
|
||||
// collapsed mode
|
||||
&.collapsed-box {
|
||||
.box-body,
|
||||
.box-footer {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-stacked {
|
||||
> li {
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
margin: 0;
|
||||
&:last-of-type {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// fixed height to 300px
|
||||
&.height-control {
|
||||
.box-body {
|
||||
max-height: 300px;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.border-right {
|
||||
border-right: 1px solid @box-border-color;
|
||||
}
|
||||
.border-left {
|
||||
border-left: 1px solid @box-border-color;
|
||||
}
|
||||
|
||||
//SOLID BOX
|
||||
//---------
|
||||
//use this class to get a colored header and borders
|
||||
|
||||
&.box-solid {
|
||||
border-top: 0;
|
||||
> .box-header {
|
||||
.btn.btn-default {
|
||||
background: transparent;
|
||||
}
|
||||
.btn,
|
||||
a {
|
||||
&:hover {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Box color variations
|
||||
&.box-default {
|
||||
.box-solid-variant(@gray-lte, #444);
|
||||
}
|
||||
&.box-primary {
|
||||
.box-solid-variant(@light-blue);
|
||||
}
|
||||
&.box-info {
|
||||
.box-solid-variant(@aqua);
|
||||
}
|
||||
&.box-danger {
|
||||
.box-solid-variant(@red);
|
||||
}
|
||||
&.box-warning {
|
||||
.box-solid-variant(@yellow);
|
||||
}
|
||||
&.box-success {
|
||||
.box-solid-variant(@green);
|
||||
}
|
||||
|
||||
> .box-header > .box-tools .btn {
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
// Fix font color for tiles
|
||||
&[class*='bg'] {
|
||||
> .box-header {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//BOX GROUP
|
||||
.box-group {
|
||||
> .box {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
// jQuery Knob in a box
|
||||
.knob-label {
|
||||
text-align: center;
|
||||
color: #333;
|
||||
font-weight: 100;
|
||||
font-size: 12px;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
}
|
||||
|
||||
.box,
|
||||
.overlay-wrapper {
|
||||
// Box overlay for LOADING STATE effect
|
||||
> .overlay,
|
||||
> .loading-img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
z-index: 50;
|
||||
background: rgba(255, 255, 255, 0.7);
|
||||
.border-radius(@box-border-radius);
|
||||
> .fa {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-left: -15px;
|
||||
margin-top: -15px;
|
||||
color: #000;
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.overlay.dark {
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
}
|
||||
|
||||
//Add clearfix to header, body and footer
|
||||
.box-header,
|
||||
.box-body,
|
||||
.box-footer {
|
||||
.clearfix();
|
||||
}
|
||||
|
||||
//Box header
|
||||
.box-header {
|
||||
color: #444;
|
||||
display: block;
|
||||
padding: @box-padding;
|
||||
position: relative;
|
||||
|
||||
//Add bottom border
|
||||
&.with-border {
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
.collapsed-box & {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
|
||||
//Icons and box title
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion,
|
||||
.box-title {
|
||||
display: inline-block;
|
||||
font-size: 18px;
|
||||
margin: 0;
|
||||
line-height: 1;
|
||||
}
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
margin-right: 5px;
|
||||
}
|
||||
> .box-tools {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 5px;
|
||||
[data-toggle="tooltip"] {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&.pull-right {
|
||||
.dropdown-menu {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-menu > li > a {
|
||||
color: #444!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Box Tools Buttons
|
||||
.btn-box-tool {
|
||||
padding: 5px;
|
||||
font-size: 12px;
|
||||
background: transparent;
|
||||
color: darken(@box-default-border-top-color, 20%);
|
||||
.open &,
|
||||
&:hover {
|
||||
color: darken(@box-default-border-top-color, 40%);
|
||||
}
|
||||
&.btn:active {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
//Box Body
|
||||
.box-body {
|
||||
.border-radius(0; 0; @box-border-radius; @box-border-radius);
|
||||
padding: @box-padding;
|
||||
.no-header & {
|
||||
.border-top-radius(@box-border-radius);
|
||||
}
|
||||
// Tables within the box body
|
||||
> .table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
// Calendar within the box body
|
||||
.fc {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.full-width-chart {
|
||||
margin: -19px;
|
||||
}
|
||||
&.no-padding .full-width-chart {
|
||||
margin: -9px;
|
||||
}
|
||||
|
||||
.box-pane {
|
||||
.border-radius(0; 0; @box-border-radius; 0);
|
||||
}
|
||||
.box-pane-right {
|
||||
.border-radius(0; 0; 0; @box-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
//Box footer
|
||||
.box-footer {
|
||||
.border-radius(0; 0; @box-border-radius; @box-border-radius);
|
||||
border-top: 1px solid @box-border-color;
|
||||
padding: @box-padding;
|
||||
background-color: @box-footer-bg;
|
||||
}
|
||||
|
||||
.chart-legend {
|
||||
&:extend(.list-unstyled);
|
||||
margin: 10px 0;
|
||||
> li {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Comment Box
|
||||
.box-comments {
|
||||
background: #f7f7f7;
|
||||
.box-comment {
|
||||
.clearfix();
|
||||
padding: 8px 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
&:last-of-type {
|
||||
border-bottom: 0;
|
||||
}
|
||||
&:first-of-type {
|
||||
padding-top: 0;
|
||||
}
|
||||
img {
|
||||
&:extend(.img-sm);
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
.comment-text {
|
||||
margin-left: 40px;
|
||||
color: #555;
|
||||
}
|
||||
.username {
|
||||
color: #444;
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
}
|
||||
.text-muted {
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
//Widgets
|
||||
//-----------
|
||||
|
||||
/* Widget: TODO LIST */
|
||||
|
||||
.todo-list {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
overflow: auto;
|
||||
// Todo list element
|
||||
> li {
|
||||
.border-radius(2px);
|
||||
padding: 10px;
|
||||
background: #f4f4f4;
|
||||
margin-bottom: 2px;
|
||||
border-left: 2px solid #e6e7e8;
|
||||
color: #444;
|
||||
&:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
> input[type='checkbox'] {
|
||||
margin: 0 10px 0 5px;
|
||||
}
|
||||
|
||||
.text {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
// Time labels
|
||||
.label {
|
||||
margin-left: 10px;
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
// Tools and options box
|
||||
.tools {
|
||||
display: none;
|
||||
float: right;
|
||||
color: @red;
|
||||
// icons
|
||||
> .fa, > .glyphicon, > .ion {
|
||||
margin-right: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
}
|
||||
&:hover .tools {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
&.done {
|
||||
color: #999;
|
||||
.text {
|
||||
text-decoration: line-through;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.label {
|
||||
background: @gray-lte !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Color varaity
|
||||
.danger {
|
||||
border-left-color: @red;
|
||||
}
|
||||
.warning {
|
||||
border-left-color: @yellow;
|
||||
}
|
||||
.info {
|
||||
border-left-color: @aqua;
|
||||
}
|
||||
.success {
|
||||
border-left-color: @green;
|
||||
}
|
||||
.primary {
|
||||
border-left-color: @light-blue;
|
||||
}
|
||||
|
||||
.handle {
|
||||
display: inline-block;
|
||||
cursor: move;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// END TODO WIDGET
|
||||
|
||||
/* Chat widget (DEPRECATED - this will be removed in the next major release. Use Direct Chat instead)*/
|
||||
.chat {
|
||||
padding: 5px 20px 5px 10px;
|
||||
|
||||
.item {
|
||||
.clearfix();
|
||||
margin-bottom: 10px;
|
||||
// The image
|
||||
> img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border: 2px solid transparent;
|
||||
.border-radius(50%);
|
||||
}
|
||||
|
||||
> .online {
|
||||
border: 2px solid @green;
|
||||
}
|
||||
> .offline {
|
||||
border: 2px solid @red;
|
||||
}
|
||||
|
||||
// The message body
|
||||
> .message {
|
||||
margin-left: 55px;
|
||||
margin-top: -40px;
|
||||
> .name {
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
// The attachment
|
||||
> .attachment {
|
||||
.border-radius(@attachment-border-radius);
|
||||
background: #f4f4f4;
|
||||
margin-left: 65px;
|
||||
margin-right: 15px;
|
||||
padding: 10px;
|
||||
> h4 {
|
||||
margin: 0 0 5px 0;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
}
|
||||
> p, > .filename {
|
||||
font-weight: 600;
|
||||
font-size: 13px;
|
||||
font-style: italic;
|
||||
margin: 0;
|
||||
|
||||
}
|
||||
.clearfix();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//END CHAT WIDGET
|
||||
|
||||
//Input in box
|
||||
.box-input {
|
||||
max-width: 200px;
|
||||
}
|
||||
|
||||
//A fix for panels body text color when placed within
|
||||
// a modal
|
||||
.modal {
|
||||
.panel-body {
|
||||
color: #444;
|
||||
}
|
||||
}
|
||||
168
build/less/buttons.less
Normal file
168
build/less/buttons.less
Normal file
@@ -0,0 +1,168 @@
|
||||
/*
|
||||
* Component: Button
|
||||
* -----------------
|
||||
*/
|
||||
|
||||
.btn {
|
||||
.border-radius(@btn-border-radius);
|
||||
.box-shadow(@btn-boxshadow);
|
||||
border: 1px solid transparent;
|
||||
|
||||
&.uppercase {
|
||||
text-transform: uppercase
|
||||
}
|
||||
|
||||
// Flat buttons
|
||||
&.btn-flat {
|
||||
.border-radius(0);
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
// Active state
|
||||
&:active {
|
||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
-moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
// input file btn
|
||||
&.btn-file {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
> input[type='file'] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
min-width: 100%;
|
||||
min-height: 100%;
|
||||
font-size: 100px;
|
||||
text-align: right;
|
||||
.opacity(0);
|
||||
outline: none;
|
||||
background: white;
|
||||
cursor: inherit;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Button color variations
|
||||
.btn-default {
|
||||
background-color: #f4f4f4;
|
||||
color: #444;
|
||||
border-color: #ddd;
|
||||
&:hover,
|
||||
&:active,
|
||||
&.hover {
|
||||
background-color: darken(#f4f4f4, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: @light-blue;
|
||||
border-color: darken(@light-blue, 5%);
|
||||
&:hover, &:active, &.hover {
|
||||
background-color: darken(@light-blue, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
background-color: @green;
|
||||
border-color: darken(@green, 5%);
|
||||
&:hover, &:active, &.hover {
|
||||
background-color: darken(@green, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-info {
|
||||
background-color: @aqua;
|
||||
border-color: darken(@aqua, 5%);
|
||||
&:hover, &:active, &.hover {
|
||||
background-color: darken(@aqua, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-danger {
|
||||
background-color: @red;
|
||||
border-color: darken(@red, 5%);
|
||||
&:hover, &:active, &.hover {
|
||||
background-color: darken(@red, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-warning {
|
||||
background-color: @yellow;
|
||||
border-color: darken(@yellow, 5%);
|
||||
&:hover, &:active, &.hover {
|
||||
background-color: darken(@yellow, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-outline {
|
||||
border: 1px solid #fff;
|
||||
background: transparent;
|
||||
color: #fff;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
color: rgba(255, 255, 255, .7);
|
||||
border-color: rgba(255, 255, 255, .7);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
.box-shadow(none);
|
||||
}
|
||||
|
||||
//General .btn with bg class
|
||||
.btn[class*='bg-']:hover {
|
||||
.box-shadow(inset 0 0 100px rgba(0, 0, 0, 0.2));
|
||||
}
|
||||
|
||||
// Application buttons
|
||||
.btn-app {
|
||||
.border-radius(3px);
|
||||
position: relative;
|
||||
padding: 15px 5px;
|
||||
margin: 0 0 10px 10px;
|
||||
min-width: 80px;
|
||||
height: 60px;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
border: 1px solid #ddd;
|
||||
background-color: #f4f4f4;
|
||||
font-size: 12px;
|
||||
//Icons within the btn
|
||||
> .fa, > .glyphicon, > .ion {
|
||||
font-size: 20px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: #f4f4f4;
|
||||
color: #444;
|
||||
border-color: #aaa;
|
||||
}
|
||||
|
||||
&:active, &:focus {
|
||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
-moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
}
|
||||
|
||||
//The badge
|
||||
> .badge {
|
||||
position: absolute;
|
||||
top: -3px;
|
||||
right: -10px;
|
||||
font-size: 10px;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
48
build/less/callout.less
Normal file
48
build/less/callout.less
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Component: Callout
|
||||
* ------------------
|
||||
*/
|
||||
|
||||
// Base styles (regardless of theme)
|
||||
.callout {
|
||||
.border-radius(3px);
|
||||
margin: 0 0 20px 0;
|
||||
padding: 15px 30px 15px 15px;
|
||||
border-left: 5px solid #eee;
|
||||
a {
|
||||
color: #fff;
|
||||
text-decoration: underline;
|
||||
&:hover {
|
||||
color: #eee;
|
||||
}
|
||||
}
|
||||
h4 {
|
||||
margin-top: 0;
|
||||
font-weight: 600;
|
||||
}
|
||||
p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
code,
|
||||
.highlight {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
// Themes for different contexts
|
||||
&.callout-danger {
|
||||
&:extend(.bg-red);
|
||||
border-color: darken(@red, 10%);
|
||||
}
|
||||
&.callout-warning {
|
||||
&:extend(.bg-yellow);
|
||||
border-color: darken(@yellow, 10%);
|
||||
}
|
||||
&.callout-info {
|
||||
&:extend(.bg-aqua);
|
||||
border-color: darken(@aqua, 10%);
|
||||
}
|
||||
&.callout-success {
|
||||
&:extend(.bg-green);
|
||||
border-color: darken(@green, 10%);
|
||||
}
|
||||
}
|
||||
299
build/less/control-sidebar.less
Normal file
299
build/less/control-sidebar.less
Normal file
@@ -0,0 +1,299 @@
|
||||
/*
|
||||
* Component: Control sidebar. By default, this is the right sidebar.
|
||||
*/
|
||||
// The sidebar's background control class
|
||||
// This is a hack to make the background visible while scrolling
|
||||
.control-sidebar-bg {
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
// Transitions
|
||||
.control-sidebar-bg,
|
||||
.control-sidebar {
|
||||
top: 0;
|
||||
right: -@control-sidebar-width;
|
||||
width: @control-sidebar-width;
|
||||
.transition(right @transition-speed ease-in-out);
|
||||
}
|
||||
|
||||
// The sidebar
|
||||
.control-sidebar {
|
||||
position: absolute;
|
||||
padding-top: @navbar-height;
|
||||
z-index: 1010;
|
||||
// Fix position after header collapse
|
||||
@media (max-width: @screen-sm) {
|
||||
padding-top: @navbar-height + 50;
|
||||
}
|
||||
// Tab panes
|
||||
> .tab-content {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
// Open state with slide over content effect
|
||||
&.control-sidebar-open {
|
||||
&,
|
||||
+ .control-sidebar-bg {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Open without slide over content
|
||||
.control-sidebar-open {
|
||||
.control-sidebar-bg,
|
||||
.control-sidebar {
|
||||
right: 0;
|
||||
}
|
||||
@media (min-width: @screen-sm) {
|
||||
.content-wrapper,
|
||||
.right-side,
|
||||
.main-footer {
|
||||
margin-right: @control-sidebar-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Fixed Layout
|
||||
.fixed {
|
||||
.control-sidebar {
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
// Control sidebar tabs
|
||||
.nav-tabs.control-sidebar-tabs {
|
||||
> li {
|
||||
&:first-of-type > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
border-left-width: 0;
|
||||
}
|
||||
}
|
||||
> a {
|
||||
.border-radius(0);
|
||||
|
||||
// Hover and active states
|
||||
&,
|
||||
&:hover {
|
||||
border-top: none;
|
||||
border-right: none;
|
||||
border-left: 1px solid transparent;
|
||||
border-bottom: 1px solid transparent;
|
||||
}
|
||||
.icon {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
// Active state
|
||||
&.active {
|
||||
> a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
border-top: none;
|
||||
border-right: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Remove responsiveness on small screens
|
||||
@media (max-width: @screen-sm) {
|
||||
display: table;
|
||||
> li {
|
||||
display: table-cell;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Headings in the sidebar content
|
||||
.control-sidebar-heading {
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
padding: 10px 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
// Subheadings
|
||||
.control-sidebar-subheading {
|
||||
display: block;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
// Control Sidebar Menu
|
||||
.control-sidebar-menu {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0 -15px;
|
||||
> li > a {
|
||||
.clearfix();
|
||||
display: block;
|
||||
padding: 10px 15px;
|
||||
> .control-sidebar-subheading {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
.menu-icon {
|
||||
float: left;
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
line-height: 35px;
|
||||
}
|
||||
.menu-info {
|
||||
margin-left: 45px;
|
||||
margin-top: 3px;
|
||||
> .control-sidebar-subheading {
|
||||
margin: 0;
|
||||
}
|
||||
> p {
|
||||
margin: 0;
|
||||
font-size: 11px;
|
||||
}
|
||||
}
|
||||
.progress {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Dark skin
|
||||
.control-sidebar-dark {
|
||||
color: @sidebar-dark-color;
|
||||
// Background
|
||||
&,
|
||||
+ .control-sidebar-bg {
|
||||
background: @sidebar-dark-bg;
|
||||
}
|
||||
// Sidebar tabs
|
||||
.nav-tabs.control-sidebar-tabs {
|
||||
border-bottom: darken(@sidebar-dark-bg, 3%);
|
||||
> li {
|
||||
> a {
|
||||
background: darken(@sidebar-dark-bg, 5%);
|
||||
color: @sidebar-dark-color;
|
||||
// Hover and active states
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
border-left-color: darken(@sidebar-dark-bg, 7%);
|
||||
border-bottom-color: darken(@sidebar-dark-bg, 7%);
|
||||
}
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background: darken(@sidebar-dark-bg, 3%);
|
||||
}
|
||||
&:hover {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
// Active state
|
||||
&.active {
|
||||
> a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background: @sidebar-dark-bg;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Heading & subheading
|
||||
.control-sidebar-heading,
|
||||
.control-sidebar-subheading {
|
||||
color: #fff;
|
||||
}
|
||||
// Sidebar list
|
||||
.control-sidebar-menu {
|
||||
> li {
|
||||
> a {
|
||||
&:hover {
|
||||
background: @sidebar-dark-hover-bg;
|
||||
}
|
||||
.menu-info {
|
||||
> p {
|
||||
color: @sidebar-dark-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Light skin
|
||||
.control-sidebar-light {
|
||||
color: lighten(@sidebar-light-color, 10%);
|
||||
// Background
|
||||
&,
|
||||
+ .control-sidebar-bg {
|
||||
background: @sidebar-light-bg;
|
||||
border-left: 1px solid @gray-lte;
|
||||
}
|
||||
// Sidebar tabs
|
||||
.nav-tabs.control-sidebar-tabs {
|
||||
border-bottom: @gray-lte;
|
||||
> li {
|
||||
> a {
|
||||
background: darken(@sidebar-light-bg, 5%);
|
||||
color: @sidebar-light-color;
|
||||
// Hover and active states
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
border-left-color: @gray-lte;
|
||||
border-bottom-color: @gray-lte;
|
||||
}
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background: darken(@sidebar-light-bg, 3%);
|
||||
}
|
||||
}
|
||||
// Active state
|
||||
&.active {
|
||||
> a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background: @sidebar-light-bg;
|
||||
color: #111;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Heading & subheading
|
||||
.control-sidebar-heading,
|
||||
.control-sidebar-subheading {
|
||||
color: #111;
|
||||
}
|
||||
// Sidebar list
|
||||
.control-sidebar-menu {
|
||||
margin-left: -14px;
|
||||
> li {
|
||||
> a {
|
||||
&:hover {
|
||||
background: @sidebar-light-hover-bg;
|
||||
}
|
||||
.menu-info {
|
||||
> p {
|
||||
color: lighten(@sidebar-light-color, 10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
174
build/less/core.less
Normal file
174
build/less/core.less
Normal file
@@ -0,0 +1,174 @@
|
||||
/*
|
||||
* Core: General Layout Style
|
||||
* -------------------------
|
||||
*/
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
.layout-boxed & {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
font-weight: 400;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
/* Layout */
|
||||
.wrapper {
|
||||
.clearfix();
|
||||
height: 100%;
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
.layout-boxed & {
|
||||
max-width: 1250px;
|
||||
margin: 0 auto;
|
||||
min-height: 100%;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
.layout-boxed {
|
||||
background: url('@{boxed-layout-bg-image-path}') repeat fixed;
|
||||
}
|
||||
|
||||
/*
|
||||
* Content Wrapper - contains the main content
|
||||
*/
|
||||
.content-wrapper,
|
||||
.main-footer {
|
||||
// Using disposable variable to join statements with a comma
|
||||
@transition-rule: @transition-speed @transition-fn,
|
||||
margin @transition-speed @transition-fn;
|
||||
.transition-transform(@transition-rule);
|
||||
margin-left: @sidebar-width;
|
||||
z-index: 820;
|
||||
// Top nav layout
|
||||
.layout-top-nav & {
|
||||
margin-left: 0;
|
||||
}
|
||||
@media (max-width: @screen-xs-max) {
|
||||
margin-left: 0;
|
||||
}
|
||||
// When opening the sidebar on large screens
|
||||
.sidebar-collapse & {
|
||||
@media (min-width: @screen-sm) {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
// When opening the sidebar on small screens
|
||||
.sidebar-open & {
|
||||
@media (max-width: @screen-xs-max) {
|
||||
.translate(@sidebar-width, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-wrapper {
|
||||
min-height: 100%;
|
||||
background-color: @body-bg;
|
||||
z-index: 800;
|
||||
}
|
||||
|
||||
.main-footer {
|
||||
background: #fff;
|
||||
padding: 15px;
|
||||
color: #444;
|
||||
border-top: 1px solid @gray-lte;
|
||||
}
|
||||
|
||||
/* Fixed layout */
|
||||
.fixed {
|
||||
.main-header,
|
||||
.main-sidebar,
|
||||
.left-side {
|
||||
position: fixed;
|
||||
}
|
||||
.main-header {
|
||||
top: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
}
|
||||
.content-wrapper,
|
||||
.right-side {
|
||||
padding-top: 50px;
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
padding-top: 100px;
|
||||
}
|
||||
}
|
||||
&.layout-boxed {
|
||||
.wrapper {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
.wrapper {
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.hold-transition {
|
||||
.content-wrapper,
|
||||
.right-side,
|
||||
.main-footer,
|
||||
.main-sidebar,
|
||||
.left-side,
|
||||
.main-header .navbar,
|
||||
.main-header .logo,
|
||||
.menu-open .fa-angle-left {
|
||||
/* Fix for IE */
|
||||
.transition(none);
|
||||
}
|
||||
}
|
||||
|
||||
/* Content */
|
||||
.content {
|
||||
min-height: 250px;
|
||||
padding: 15px;
|
||||
.container-fixed(@grid-gutter-width);
|
||||
}
|
||||
|
||||
/* H1 - H6 font */
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
.h1,
|
||||
.h2,
|
||||
.h3,
|
||||
.h4,
|
||||
.h5,
|
||||
.h6 {
|
||||
font-family: 'Source Sans Pro', sans-serif;
|
||||
}
|
||||
|
||||
/* General Links */
|
||||
a {
|
||||
color: @link-color;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:active,
|
||||
a:focus {
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
color: @link-hover-color;
|
||||
}
|
||||
|
||||
/* Page Header */
|
||||
.page-header {
|
||||
margin: 10px 0 20px 0;
|
||||
font-size: 22px;
|
||||
|
||||
> small {
|
||||
color: #666;
|
||||
display: block;
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
22
build/less/datepicker.less
Normal file
22
build/less/datepicker.less
Normal file
@@ -0,0 +1,22 @@
|
||||
.box {
|
||||
.datepicker-inline {
|
||||
&,
|
||||
.datepicker-days {
|
||||
&,
|
||||
> table {
|
||||
width: 100%;
|
||||
td {
|
||||
&:hover {
|
||||
background-color: rgba(255, 255, 255, .3);
|
||||
}
|
||||
&.day {
|
||||
&.old,
|
||||
&.new {
|
||||
color: #777;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,20 +3,21 @@
|
||||
* ----------------------
|
||||
*/
|
||||
.direct-chat {
|
||||
.card-body {
|
||||
.box-body {
|
||||
.border-bottom-radius(0);
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
padding: 0;
|
||||
}
|
||||
&.chat-pane-open {
|
||||
.direct-chat-contacts {
|
||||
@include translate(0, 0);
|
||||
.translate(0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.direct-chat-messages {
|
||||
@include translate(0, 0);
|
||||
.translate(0, 0);
|
||||
padding: 10px;
|
||||
height: 250px;
|
||||
overflow: auto;
|
||||
@@ -28,26 +29,23 @@
|
||||
}
|
||||
|
||||
.direct-chat-msg {
|
||||
@include clearfix();
|
||||
.clearfix();
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.direct-chat-messages,
|
||||
.direct-chat-contacts {
|
||||
transition: transform .5s ease-in-out;
|
||||
.transition-transform(.5s ease-in-out);
|
||||
}
|
||||
|
||||
.direct-chat-text {
|
||||
@if $enable-rounded {
|
||||
@include border-radius($border-radius-lg);
|
||||
}
|
||||
|
||||
.border-radius(5px);
|
||||
position: relative;
|
||||
padding: 5px 10px;
|
||||
background: $direct-chat-default-msg-bg;
|
||||
border: 1px solid $direct-chat-default-msg-border-color;
|
||||
background: @direct-chat-default-msg-bg;
|
||||
border: 1px solid @direct-chat-default-msg-border-color;
|
||||
margin: 5px 0 0 50px;
|
||||
color: $direct-chat-default-font-color;
|
||||
color: @direct-chat-default-font-color;
|
||||
|
||||
//Create the arrow
|
||||
&:after,
|
||||
@@ -56,7 +54,7 @@
|
||||
right: 100%;
|
||||
top: 15px;
|
||||
border: solid transparent;
|
||||
border-right-color: $direct-chat-default-msg-border-color;
|
||||
border-right-color: @direct-chat-default-msg-border-color;
|
||||
content: ' ';
|
||||
height: 0;
|
||||
width: 0;
|
||||
@@ -79,13 +77,13 @@
|
||||
right: auto;
|
||||
left: 100%;
|
||||
border-right-color: transparent;
|
||||
border-left-color: $direct-chat-default-msg-border-color;
|
||||
border-left-color: @direct-chat-default-msg-border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.direct-chat-img {
|
||||
@include border-radius(50%);
|
||||
.border-radius(50%);
|
||||
float: left;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
@@ -97,7 +95,7 @@
|
||||
.direct-chat-info {
|
||||
display: block;
|
||||
margin-bottom: 2px;
|
||||
font-size: $font-size-sm;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.direct-chat-name {
|
||||
@@ -111,27 +109,27 @@
|
||||
//Direct chat contacts pane
|
||||
.direct-chat-contacts-open {
|
||||
.direct-chat-contacts {
|
||||
@include translate(0, 0);
|
||||
.translate(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.direct-chat-contacts {
|
||||
@include translate(101%, 0);
|
||||
.translate(101%, 0);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
height: 250px;
|
||||
width: 100%;
|
||||
background: #222d32;
|
||||
color: $white;
|
||||
color: #fff;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
//Contacts list -- for displaying contacts in direct chat contacts pane
|
||||
.contacts-list {
|
||||
@extend .list-unstyled;
|
||||
&:extend(.list-unstyled);
|
||||
> li {
|
||||
@include clearfix();
|
||||
.clearfix();
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
@@ -142,14 +140,14 @@
|
||||
}
|
||||
|
||||
.contacts-list-img {
|
||||
@include border-radius(50%);
|
||||
.border-radius(50%);
|
||||
width: 40px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.contacts-list-info {
|
||||
margin-left: 45px;
|
||||
color: $white;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.contacts-list-name,
|
||||
@@ -162,7 +160,7 @@
|
||||
}
|
||||
|
||||
.contacts-list-status {
|
||||
font-size: $font-size-sm;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.contacts-list-date {
|
||||
@@ -176,21 +174,21 @@
|
||||
|
||||
//Direct Chat Variants
|
||||
.direct-chat-danger {
|
||||
@include direct-chat-variant(theme-color("danger"));
|
||||
.direct-chat-variant(@red);
|
||||
}
|
||||
|
||||
.direct-chat-primary {
|
||||
@include direct-chat-variant(theme-color("primary"));
|
||||
.direct-chat-variant(@light-blue);
|
||||
}
|
||||
|
||||
.direct-chat-warning {
|
||||
@include direct-chat-variant(theme-color("warning"));
|
||||
.direct-chat-variant(@yellow);
|
||||
}
|
||||
|
||||
.direct-chat-info {
|
||||
@include direct-chat-variant(theme-color("info"));
|
||||
.direct-chat-variant(@aqua);
|
||||
}
|
||||
|
||||
.direct-chat-success {
|
||||
@include direct-chat-variant(theme-color("success"));
|
||||
.direct-chat-variant(@green);
|
||||
}
|
||||
350
build/less/dropdown.less
Normal file
350
build/less/dropdown.less
Normal file
@@ -0,0 +1,350 @@
|
||||
/*
|
||||
* Component: Dropdown menus
|
||||
* -------------------------
|
||||
*/
|
||||
|
||||
/*Dropdowns in general*/
|
||||
.dropdown-menu {
|
||||
box-shadow: none;
|
||||
border-color: #eee;
|
||||
> li > a {
|
||||
color: #777;
|
||||
}
|
||||
> li > a > .glyphicon,
|
||||
> li > a > .fa,
|
||||
> li > a > .ion {
|
||||
margin-right: 10px;
|
||||
}
|
||||
> li > a:hover {
|
||||
background-color: lighten(@gray-lte, 5%);
|
||||
color: #333;
|
||||
}
|
||||
> .divider {
|
||||
background-color: #eee;
|
||||
}
|
||||
}
|
||||
|
||||
//Navbar custom dropdown menu
|
||||
.navbar-nav > .notifications-menu,
|
||||
.navbar-nav > .messages-menu,
|
||||
.navbar-nav > .tasks-menu {
|
||||
//fix width and padding
|
||||
> .dropdown-menu {
|
||||
> li {
|
||||
position: relative;
|
||||
}
|
||||
width: 280px;
|
||||
//Remove padding and margins
|
||||
padding: 0 0 0 0;
|
||||
margin: 0;
|
||||
top: 100%;
|
||||
}
|
||||
//Define header class
|
||||
> .dropdown-menu > li.header {
|
||||
.border-radius(4px; 4px; 0; 0);
|
||||
background-color: #ffffff;
|
||||
padding: 7px 10px;
|
||||
border-bottom: 1px solid #f4f4f4;
|
||||
color: #444444;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
//Define footer class
|
||||
> .dropdown-menu > li.footer > a {
|
||||
.border-radius(0; 0; 4px; 4px);
|
||||
font-size: 12px;
|
||||
background-color: #fff;
|
||||
padding: 7px 10px;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
color: #444 !important;
|
||||
@media (max-width: @screen-sm-max) {
|
||||
background: #fff !important;
|
||||
color: #444 !important;
|
||||
}
|
||||
text-align: center;
|
||||
//Hover state
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
//Clear inner menu padding and margins
|
||||
> .dropdown-menu > li .menu {
|
||||
max-height: 200px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
overflow-x: hidden;
|
||||
> li > a {
|
||||
display: block;
|
||||
white-space: nowrap; /* Prevent text from breaking */
|
||||
border-bottom: 1px solid #f4f4f4;
|
||||
// Hove state
|
||||
&:hover {
|
||||
background: #f4f4f4;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Notifications menu
|
||||
.navbar-nav > .notifications-menu {
|
||||
> .dropdown-menu > li .menu {
|
||||
// Links inside the menu
|
||||
> li > a {
|
||||
color: #444444;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 10px;
|
||||
// Icons inside the menu
|
||||
> .glyphicon,
|
||||
> .fa,
|
||||
> .ion {
|
||||
width: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//Messages menu
|
||||
.navbar-nav > .messages-menu {
|
||||
//Inner menu
|
||||
> .dropdown-menu > li .menu {
|
||||
// Messages menu item
|
||||
> li > a {
|
||||
margin: 0;
|
||||
//line-height: 20px;
|
||||
padding: 10px 10px;
|
||||
// User image
|
||||
> div > img {
|
||||
margin: auto 10px auto auto;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
// Message heading
|
||||
> h4 {
|
||||
padding: 0;
|
||||
margin: 0 0 0 45px;
|
||||
color: #444444;
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
// Small for message time display
|
||||
> small {
|
||||
color: #999999;
|
||||
font-size: 10px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
> p {
|
||||
margin: 0 0 0 45px;
|
||||
font-size: 12px;
|
||||
color: #888888;
|
||||
}
|
||||
|
||||
.clearfix();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//Tasks menu
|
||||
.navbar-nav > .tasks-menu {
|
||||
> .dropdown-menu > li .menu {
|
||||
> li > a {
|
||||
padding: 10px;
|
||||
|
||||
> h3 {
|
||||
font-size: 14px;
|
||||
padding: 0;
|
||||
margin: 0 0 10px 0;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
> .progress {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//User menu
|
||||
.navbar-nav > .user-menu {
|
||||
> .dropdown-menu {
|
||||
.border-top-radius(0);
|
||||
padding: 1px 0 0 0;
|
||||
border-top-width: 0;
|
||||
width: 280px;
|
||||
|
||||
&,
|
||||
> .user-body {
|
||||
.border-bottom-radius(4px);
|
||||
}
|
||||
// Header menu
|
||||
> li.user-header {
|
||||
height: 175px;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
// User image
|
||||
> img {
|
||||
z-index: 5;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
border: 3px solid;
|
||||
border-color: transparent;
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
> p {
|
||||
z-index: 5;
|
||||
color: #fff;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
font-size: 17px;
|
||||
//text-shadow: 2px 2px 3px #333333;
|
||||
margin-top: 10px;
|
||||
> small {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Menu Body
|
||||
> .user-body {
|
||||
padding: 15px;
|
||||
border-bottom: 1px solid #f4f4f4;
|
||||
border-top: 1px solid #dddddd;
|
||||
.clearfix();
|
||||
a {
|
||||
color: #444 !important;
|
||||
@media (max-width: @screen-sm-max) {
|
||||
background: #fff !important;
|
||||
color: #444 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Menu Footer
|
||||
> .user-footer {
|
||||
background-color: #f9f9f9;
|
||||
padding: 10px;
|
||||
.clearfix();
|
||||
.btn-default {
|
||||
color: #666666;
|
||||
&:hover {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.user-image {
|
||||
float: left;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
margin-top: -2px;
|
||||
@media (max-width: @screen-xs-max) {
|
||||
float: none;
|
||||
margin-right: 0;
|
||||
margin-top: -8px;
|
||||
line-height: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Add fade animation to dropdown menus by appending
|
||||
the class .animated-dropdown-menu to the .dropdown-menu ul (or ol)*/
|
||||
.open:not(.dropup) > .animated-dropdown-menu {
|
||||
backface-visibility: visible !important;
|
||||
.animation(flipInX .7s both);
|
||||
|
||||
}
|
||||
|
||||
@keyframes flipInX {
|
||||
0% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
||||
transition-timing-function: ease-in;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
40% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
||||
transition-timing-function: ease-in;
|
||||
}
|
||||
|
||||
60% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: perspective(400px);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes flipInX {
|
||||
0% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
||||
-webkit-transition-timing-function: ease-in;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
40% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
||||
-webkit-transition-timing-function: ease-in;
|
||||
}
|
||||
|
||||
60% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
80% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-webkit-transform: perspective(400px);
|
||||
}
|
||||
}
|
||||
|
||||
/* Fix dropdown menu in navbars */
|
||||
.navbar-custom-menu > .navbar-nav {
|
||||
> li {
|
||||
position: relative;
|
||||
> .dropdown-menu {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-sm-max) {
|
||||
.navbar-custom-menu > .navbar-nav {
|
||||
float: right;
|
||||
> li {
|
||||
position: static;
|
||||
> .dropdown-menu {
|
||||
position: absolute;
|
||||
right: 5%;
|
||||
left: auto;
|
||||
border: 1px solid #ddd;
|
||||
background: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
108
build/less/forms.less
Normal file
108
build/less/forms.less
Normal file
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
* Component: Form
|
||||
* ---------------
|
||||
*/
|
||||
.form-control {
|
||||
.border-radius(@input-radius);
|
||||
box-shadow: none;
|
||||
border-color: @gray-lte;
|
||||
&:focus {
|
||||
border-color: @light-blue;
|
||||
box-shadow: none;
|
||||
}
|
||||
&::-moz-placeholder,
|
||||
&:-ms-input-placeholder,
|
||||
&::-webkit-input-placeholder {
|
||||
color: #bbb;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&:not(select) {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
}
|
||||
}
|
||||
|
||||
.form-group {
|
||||
&.has-success {
|
||||
label {
|
||||
color: @green;
|
||||
}
|
||||
.form-control,
|
||||
.input-group-addon {
|
||||
border-color: @green;
|
||||
box-shadow: none;
|
||||
}
|
||||
.help-block {
|
||||
color: @green;
|
||||
}
|
||||
}
|
||||
|
||||
&.has-warning {
|
||||
label {
|
||||
color: @yellow;
|
||||
}
|
||||
.form-control,
|
||||
.input-group-addon {
|
||||
border-color: @yellow;
|
||||
box-shadow: none;
|
||||
}
|
||||
.help-block {
|
||||
color: @yellow;
|
||||
}
|
||||
}
|
||||
|
||||
&.has-error {
|
||||
label {
|
||||
color: @red;
|
||||
}
|
||||
.form-control,
|
||||
.input-group-addon {
|
||||
border-color: @red;
|
||||
box-shadow: none;
|
||||
}
|
||||
.help-block {
|
||||
color: @red;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Input group */
|
||||
.input-group {
|
||||
.input-group-addon {
|
||||
.border-radius(@input-radius);
|
||||
border-color: @gray-lte;
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
/* button groups */
|
||||
.btn-group-vertical {
|
||||
.btn {
|
||||
&.btn-flat:first-of-type, &.btn-flat:last-of-type {
|
||||
.border-radius(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.icheck > label {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
/* support Font Awesome icons in form-control */
|
||||
.form-control-feedback.fa {
|
||||
line-height: @input-height-base;
|
||||
}
|
||||
|
||||
.input-lg + .form-control-feedback.fa,
|
||||
.input-group-lg + .form-control-feedback.fa,
|
||||
.form-group-lg .form-control + .form-control-feedback.fa {
|
||||
line-height: @input-height-large;
|
||||
}
|
||||
|
||||
.input-sm + .form-control-feedback.fa,
|
||||
.input-group-sm + .form-control-feedback.fa,
|
||||
.form-group-sm .form-control + .form-control-feedback.fa {
|
||||
line-height: @input-height-small;
|
||||
}
|
||||
@@ -2,7 +2,13 @@
|
||||
* Plugin: Full Calendar
|
||||
* ---------------------
|
||||
*/
|
||||
//Fullcalendar buttons
|
||||
// Import variables and mixins as a reference for separate plugins version
|
||||
@import (reference) "../../bower_components/bootstrap/less/mixins";
|
||||
@import (reference) "../../bower_components/bootstrap/less/variables";
|
||||
@import (reference) "variables";
|
||||
@import (reference) "mixins";
|
||||
|
||||
// Fullcalendar buttons
|
||||
.fc-button {
|
||||
background: #f4f4f4;
|
||||
background-image: none;
|
||||
@@ -54,7 +60,7 @@
|
||||
}
|
||||
|
||||
.fc-toolbar {
|
||||
padding: 1rem;
|
||||
padding: @box-padding;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@@ -74,28 +80,27 @@
|
||||
margin-right: 5px;
|
||||
line-height: 30px;
|
||||
.fa {
|
||||
transition: transform linear .3s;
|
||||
.transition-transform(linear .3s);
|
||||
&:hover {
|
||||
@include rotate(30deg);
|
||||
.rotate(30deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#add-new-event {
|
||||
transition: all linear .3s;
|
||||
.transition(all linear .3s);
|
||||
}
|
||||
|
||||
.external-event {
|
||||
@include box-shadow($card-shadow);
|
||||
|
||||
padding: 5px 10px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 4px;
|
||||
border-radius: $border-radius;
|
||||
box-shadow: @box-boxshadow;
|
||||
text-shadow: @box-boxshadow;
|
||||
border-radius: @box-border-radius;
|
||||
cursor: move;
|
||||
|
||||
&:hover {
|
||||
@include box-shadow(inset 0 0 90px rgba(0, 0, 0, 0.2));
|
||||
box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
}
|
||||
248
build/less/header.less
Normal file
248
build/less/header.less
Normal file
@@ -0,0 +1,248 @@
|
||||
/*
|
||||
* Component: Main Header
|
||||
* ----------------------
|
||||
*/
|
||||
|
||||
.main-header {
|
||||
position: relative;
|
||||
max-height: 100px;
|
||||
z-index: 1030;
|
||||
//Navbar
|
||||
.navbar {
|
||||
.transition(margin-left @transition-speed @transition-fn);
|
||||
margin-bottom: 0;
|
||||
margin-left: @sidebar-width;
|
||||
border: none;
|
||||
min-height: @navbar-height;
|
||||
border-radius: 0;
|
||||
.layout-top-nav & {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
//Navbar search text input
|
||||
#navbar-search-input.form-control {
|
||||
background: rgba(255, 255, 255, .2);
|
||||
border-color: transparent;
|
||||
&:focus,
|
||||
&:active {
|
||||
border-color: rgba(0, 0, 0, .1);
|
||||
background: rgba(255, 255, 255, .9);
|
||||
}
|
||||
&::-moz-placeholder {
|
||||
color: #ccc;
|
||||
opacity: 1;
|
||||
}
|
||||
&:-ms-input-placeholder {
|
||||
color: #ccc;
|
||||
}
|
||||
&::-webkit-input-placeholder {
|
||||
color: #ccc;
|
||||
}
|
||||
}
|
||||
//Navbar Right Menu
|
||||
.navbar-custom-menu,
|
||||
.navbar-right {
|
||||
float: right;
|
||||
@media (max-width: @screen-sm-max) {
|
||||
a {
|
||||
color: inherit;
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
.navbar-right {
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
float: none;
|
||||
.navbar-collapse & {
|
||||
margin: 7.5px -15px;
|
||||
}
|
||||
|
||||
> li {
|
||||
color: inherit;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
//Navbar toggle button
|
||||
.sidebar-toggle {
|
||||
float: left;
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
padding: @navbar-padding-vertical @navbar-padding-horizontal;
|
||||
//Add the fontawesome bars icon
|
||||
font-family: fontAwesome;
|
||||
&:before {
|
||||
content: "\f0c9";
|
||||
}
|
||||
&:hover {
|
||||
color: #fff;
|
||||
}
|
||||
&:focus,
|
||||
&:active {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
.sidebar-toggle .icon-bar {
|
||||
display: none;
|
||||
}
|
||||
//Navbar User Menu
|
||||
.navbar .nav > li.user > a {
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
//Labels in navbar
|
||||
.navbar .nav > li > a > .label {
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
right: 7px;
|
||||
text-align: center;
|
||||
font-size: 9px;
|
||||
padding: 2px 3px;
|
||||
line-height: .9;
|
||||
}
|
||||
|
||||
//Logo bar
|
||||
.logo {
|
||||
.transition(width @transition-speed @transition-fn);
|
||||
display: block;
|
||||
float: left;
|
||||
height: @navbar-height;
|
||||
font-size: 20px;
|
||||
line-height: 50px;
|
||||
text-align: center;
|
||||
width: @sidebar-width;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
padding: 0 15px;
|
||||
font-weight: 300;
|
||||
overflow: hidden;
|
||||
//Add support to sidebar mini by allowing the user to create
|
||||
//2 logo designs. mini and lg
|
||||
.logo-lg {
|
||||
//should be visibile when sidebar isn't collapsed
|
||||
display: block;
|
||||
}
|
||||
.logo-mini {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
//Navbar Brand. Alternative logo with layout-top-nav
|
||||
.navbar-brand {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
// Content Header
|
||||
.content-header {
|
||||
position: relative;
|
||||
padding: 15px 15px 0 15px;
|
||||
// Header Text
|
||||
> h1 {
|
||||
margin: 0;
|
||||
font-size: 24px;
|
||||
> small {
|
||||
font-size: 15px;
|
||||
display: inline-block;
|
||||
padding-left: 4px;
|
||||
font-weight: 300;
|
||||
}
|
||||
}
|
||||
|
||||
> .breadcrumb {
|
||||
float: right;
|
||||
background: transparent;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
font-size: 12px;
|
||||
padding: 7px 5px;
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
right: 10px;
|
||||
.border-radius(2px);
|
||||
> li > a {
|
||||
color: #444;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
> .fa, > .glyphicon, > .ion {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
> li + li:before {
|
||||
content: '>\00a0';
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-sm-max) {
|
||||
> .breadcrumb {
|
||||
position: relative;
|
||||
margin-top: 5px;
|
||||
top: 0;
|
||||
right: 0;
|
||||
float: none;
|
||||
background: @gray-lte;
|
||||
padding-left: 10px;
|
||||
li:before {
|
||||
color: darken(@gray-lte, 20%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-toggle {
|
||||
color: #fff;
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: @navbar-padding-vertical @navbar-padding-horizontal;
|
||||
}
|
||||
|
||||
//Control navbar scaffolding on x-small screens
|
||||
@media (max-width: @screen-sm-max) {
|
||||
.navbar-custom-menu .navbar-nav > li {
|
||||
float: left;
|
||||
}
|
||||
|
||||
//Dont't let links get full width
|
||||
.navbar-custom-menu .navbar-nav {
|
||||
margin: 0;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.navbar-custom-menu .navbar-nav > li > a {
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
// Collapse header
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.main-header {
|
||||
position: relative;
|
||||
.logo,
|
||||
.navbar {
|
||||
width: 100%;
|
||||
float: none;
|
||||
}
|
||||
.navbar {
|
||||
margin: 0;
|
||||
}
|
||||
.navbar-custom-menu {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-collapse.pull-left {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
float: none !important;
|
||||
+ .navbar-custom-menu {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
75
build/less/info-box.less
Normal file
75
build/less/info-box.less
Normal file
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Component: Info Box
|
||||
* -------------------
|
||||
*/
|
||||
.info-box {
|
||||
display: block;
|
||||
min-height: 90px;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
box-shadow: @box-boxshadow;
|
||||
.border-radius(2px);
|
||||
margin-bottom: 15px;
|
||||
small {
|
||||
font-size: 14px;
|
||||
}
|
||||
.progress {
|
||||
background: rgba(0, 0, 0, .2);
|
||||
margin: 5px -10px 5px -10px;
|
||||
height: 2px;
|
||||
&,
|
||||
& .progress-bar {
|
||||
.border-radius(0);
|
||||
}
|
||||
.progress-bar {
|
||||
background: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.info-box-icon {
|
||||
.border-radius(2px; 0; 2px; 0);
|
||||
display: block;
|
||||
float: left;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
text-align: center;
|
||||
font-size: 45px;
|
||||
line-height: 90px;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
> img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.info-box-content {
|
||||
padding: 5px 10px;
|
||||
margin-left: 90px;
|
||||
}
|
||||
|
||||
.info-box-number {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.progress-description,
|
||||
.info-box-text {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.info-box-text {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.info-box-more {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.progress-description {
|
||||
margin: 0;
|
||||
}
|
||||
@@ -5,8 +5,10 @@
|
||||
|
||||
.invoice {
|
||||
position: relative;
|
||||
background: $white;
|
||||
border: 1px solid $card-border-color;
|
||||
background: #fff;
|
||||
border: 1px solid #f4f4f4;
|
||||
padding: 20px;
|
||||
margin: 10px 25px;
|
||||
}
|
||||
|
||||
.invoice-title {
|
||||
@@ -3,26 +3,26 @@
|
||||
* ----------------
|
||||
*/
|
||||
.label-default {
|
||||
background-color: $gray-500;
|
||||
background-color: @gray-lte;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.label-danger {
|
||||
@extend .bg-danger;
|
||||
&:extend(.bg-red);
|
||||
}
|
||||
|
||||
.label-info {
|
||||
@extend .bg-info;
|
||||
&:extend(.bg-aqua);
|
||||
}
|
||||
|
||||
.label-warning {
|
||||
@extend .bg-warning;
|
||||
&:extend(.bg-yellow);
|
||||
}
|
||||
|
||||
.label-primary {
|
||||
@extend .bg-primary;
|
||||
&:extend(.bg-light-blue);
|
||||
}
|
||||
|
||||
.label-success {
|
||||
@extend .bg-success;
|
||||
&:extend(.bg-green);
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
/* ADD THIS CLASS TO THE <BODY> TAG */
|
||||
.lockscreen {
|
||||
background: $gray-200;
|
||||
background: @gray-lte;
|
||||
}
|
||||
|
||||
.lockscreen-logo {
|
||||
@@ -31,9 +31,9 @@
|
||||
|
||||
/* Will contain the image and the sign in form */
|
||||
.lockscreen-item {
|
||||
@include border-radius(4px);
|
||||
.border-radius(4px);
|
||||
padding: 0;
|
||||
background: $white;
|
||||
background: #fff;
|
||||
position: relative;
|
||||
margin: 10px auto 30px auto;
|
||||
width: 290px;
|
||||
@@ -41,15 +41,15 @@
|
||||
|
||||
/* User image */
|
||||
.lockscreen-image {
|
||||
@include border-radius(50%);
|
||||
.border-radius(50%);
|
||||
position: absolute;
|
||||
left: -10px;
|
||||
top: -25px;
|
||||
background: $white;
|
||||
background: #fff;
|
||||
padding: 5px;
|
||||
z-index: 10;
|
||||
> img {
|
||||
@include border-radius(50%);
|
||||
.border-radius(50%);
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
}
|
||||
@@ -62,7 +62,7 @@
|
||||
border: 0;
|
||||
}
|
||||
.btn {
|
||||
background-color: $white;
|
||||
background-color: #fff;
|
||||
border: 0;
|
||||
padding: 0 10px;
|
||||
}
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
.login-page,
|
||||
.register-page {
|
||||
background: $gray-200;
|
||||
background: @gray-lte;
|
||||
}
|
||||
|
||||
.login-box,
|
||||
.register-box {
|
||||
width: 360px;
|
||||
margin: 7% auto;
|
||||
@media (max-width: map-get($grid-breakpoints, sm)) {
|
||||
@media (max-width: @screen-sm) {
|
||||
width: 90%;
|
||||
margin-top: 20px;
|
||||
}
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
.login-box-body,
|
||||
.register-box-body {
|
||||
background: $white;
|
||||
background: #fff;
|
||||
padding: 20px;
|
||||
border-top: 0;
|
||||
color: #666;
|
||||
@@ -11,12 +11,12 @@
|
||||
.mailbox-controls {
|
||||
padding: 5px;
|
||||
&.with-border {
|
||||
border-bottom: 1px solid $card-border-color;
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.mailbox-read-info {
|
||||
border-bottom: 1px solid $card-border-color;
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
padding: 10px;
|
||||
h3 {
|
||||
font-size: 20px;
|
||||
@@ -38,7 +38,7 @@
|
||||
}
|
||||
|
||||
.mailbox-attachments {
|
||||
@extend .list-unstyled;
|
||||
&:extend(.list-unstyled);
|
||||
li {
|
||||
float: left;
|
||||
width: 200px;
|
||||
@@ -84,5 +84,5 @@
|
||||
}
|
||||
|
||||
.mailbox-attachment-close {
|
||||
@extend .close;
|
||||
&:extend(.close);
|
||||
}
|
||||
606
build/less/miscellaneous.less
Normal file
606
build/less/miscellaneous.less
Normal file
@@ -0,0 +1,606 @@
|
||||
/*
|
||||
* General: Miscellaneous
|
||||
* ----------------------
|
||||
*/
|
||||
// 10px padding and margins
|
||||
.pad {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.margin {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.margin-bottom {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.margin-bottom-none {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.margin-r-5 {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
// Display inline
|
||||
.inline {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
// Description Blocks
|
||||
.description-block {
|
||||
display: block;
|
||||
margin: 10px 0;
|
||||
text-align: center;
|
||||
&.margin-bottom {
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
> .description-header {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
}
|
||||
> .description-text {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
// Background colors
|
||||
.bg-red,
|
||||
.bg-yellow,
|
||||
.bg-aqua,
|
||||
.bg-blue,
|
||||
.bg-light-blue,
|
||||
.bg-green,
|
||||
.bg-navy,
|
||||
.bg-teal,
|
||||
.bg-olive,
|
||||
.bg-lime,
|
||||
.bg-orange,
|
||||
.bg-fuchsia,
|
||||
.bg-purple,
|
||||
.bg-maroon,
|
||||
.bg-black,
|
||||
.bg-red-active,
|
||||
.bg-yellow-active,
|
||||
.bg-aqua-active,
|
||||
.bg-blue-active,
|
||||
.bg-light-blue-active,
|
||||
.bg-green-active,
|
||||
.bg-navy-active,
|
||||
.bg-teal-active,
|
||||
.bg-olive-active,
|
||||
.bg-lime-active,
|
||||
.bg-orange-active,
|
||||
.bg-fuchsia-active,
|
||||
.bg-purple-active,
|
||||
.bg-maroon-active,
|
||||
.bg-black-active {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.bg-gray {
|
||||
color: #000;
|
||||
background-color: @gray-lte !important;
|
||||
}
|
||||
|
||||
.bg-gray-light {
|
||||
background-color: #f7f7f7;
|
||||
}
|
||||
|
||||
.bg-black {
|
||||
background-color: @black !important;
|
||||
}
|
||||
|
||||
.bg-red {
|
||||
background-color: @red !important;
|
||||
}
|
||||
|
||||
.bg-yellow {
|
||||
background-color: @yellow !important;
|
||||
}
|
||||
|
||||
.bg-aqua {
|
||||
background-color: @aqua !important;
|
||||
}
|
||||
|
||||
.bg-blue {
|
||||
background-color: @blue !important;
|
||||
}
|
||||
|
||||
.bg-light-blue {
|
||||
background-color: @light-blue !important;
|
||||
}
|
||||
|
||||
.bg-green {
|
||||
background-color: @green !important;
|
||||
}
|
||||
|
||||
.bg-navy {
|
||||
background-color: @navy !important;
|
||||
}
|
||||
|
||||
.bg-teal {
|
||||
background-color: @teal !important;
|
||||
}
|
||||
|
||||
.bg-olive {
|
||||
background-color: @olive !important;
|
||||
}
|
||||
|
||||
.bg-lime {
|
||||
background-color: @lime !important;
|
||||
}
|
||||
|
||||
.bg-orange {
|
||||
background-color: @orange !important;
|
||||
}
|
||||
|
||||
.bg-fuchsia {
|
||||
background-color: @fuchsia !important;
|
||||
}
|
||||
|
||||
.bg-purple {
|
||||
background-color: @purple !important;
|
||||
}
|
||||
|
||||
.bg-maroon {
|
||||
background-color: @maroon !important;
|
||||
}
|
||||
|
||||
//Set of Active Background Colors
|
||||
.bg-gray-active {
|
||||
color: #000;
|
||||
background-color: darken(@gray-lte, 10%) !important;
|
||||
}
|
||||
|
||||
.bg-black-active {
|
||||
background-color: darken(@black, 10%) !important;
|
||||
}
|
||||
|
||||
.bg-red-active {
|
||||
background-color: darken(@red , 6%) !important;
|
||||
}
|
||||
|
||||
.bg-yellow-active {
|
||||
background-color: darken(@yellow , 6%) !important;
|
||||
}
|
||||
|
||||
.bg-aqua-active {
|
||||
background-color: darken(@aqua , 6%) !important;
|
||||
}
|
||||
|
||||
.bg-blue-active {
|
||||
background-color: darken(@blue , 10%) !important;
|
||||
}
|
||||
|
||||
.bg-light-blue-active {
|
||||
background-color: darken(@light-blue , 6%) !important;
|
||||
}
|
||||
|
||||
.bg-green-active {
|
||||
background-color: darken(@green , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-navy-active {
|
||||
background-color: darken(@navy , 2%) !important;
|
||||
}
|
||||
|
||||
.bg-teal-active {
|
||||
background-color: darken(@teal , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-olive-active {
|
||||
background-color: darken(@olive , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-lime-active {
|
||||
background-color: darken(@lime , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-orange-active {
|
||||
background-color: darken(@orange , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-fuchsia-active {
|
||||
background-color: darken(@fuchsia , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-purple-active {
|
||||
background-color: darken(@purple , 5%) !important;
|
||||
}
|
||||
|
||||
.bg-maroon-active {
|
||||
background-color: darken(@maroon , 3%) !important;
|
||||
}
|
||||
|
||||
//Disabled!
|
||||
[class^="bg-"].disabled {
|
||||
.opacity(.65);
|
||||
}
|
||||
|
||||
// Text colors
|
||||
.text-red {
|
||||
color: @red !important;
|
||||
}
|
||||
|
||||
.text-yellow {
|
||||
color: @yellow !important;
|
||||
}
|
||||
|
||||
.text-aqua {
|
||||
color: @aqua !important;
|
||||
}
|
||||
|
||||
.text-blue {
|
||||
color: @blue !important;
|
||||
}
|
||||
|
||||
.text-black {
|
||||
color: @black !important;
|
||||
}
|
||||
|
||||
.text-light-blue {
|
||||
color: @light-blue !important;
|
||||
}
|
||||
|
||||
.text-green {
|
||||
color: @green !important;
|
||||
}
|
||||
|
||||
.text-gray {
|
||||
color: @gray-lte !important;
|
||||
}
|
||||
|
||||
.text-navy {
|
||||
color: @navy !important;
|
||||
}
|
||||
|
||||
.text-teal {
|
||||
color: @teal !important;
|
||||
}
|
||||
|
||||
.text-olive {
|
||||
color: @olive !important;
|
||||
}
|
||||
|
||||
.text-lime {
|
||||
color: @lime !important;
|
||||
}
|
||||
|
||||
.text-orange {
|
||||
color: @orange !important;
|
||||
}
|
||||
|
||||
.text-fuchsia {
|
||||
color: @fuchsia !important;
|
||||
}
|
||||
|
||||
.text-purple {
|
||||
color: @purple !important;
|
||||
}
|
||||
|
||||
.text-maroon {
|
||||
color: @maroon !important;
|
||||
}
|
||||
|
||||
.link-muted {
|
||||
color: darken(@gray-lte, 30%);
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: darken(@gray-lte, 40%);
|
||||
}
|
||||
}
|
||||
|
||||
.link-black {
|
||||
color: #666;
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
|
||||
// Hide elements by display none only
|
||||
.hide {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
// Remove borders
|
||||
.no-border {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
// Remove padding
|
||||
.no-padding {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
// Remove margins
|
||||
.no-margin {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
// Remove box shadow
|
||||
.no-shadow {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
// Unstyled List
|
||||
.list-unstyled {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.list-group-unbordered {
|
||||
> .list-group-item {
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
border-radius: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Remove border radius
|
||||
.flat {
|
||||
.border-radius(0) !important;
|
||||
}
|
||||
|
||||
.text-bold {
|
||||
&, &.table td, &.table th {
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
|
||||
.text-sm {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
// _fix for sparkline tooltip
|
||||
.jqstooltip {
|
||||
padding: 5px !important;
|
||||
width: auto !important;
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
// Gradient Background colors
|
||||
.bg-teal-gradient {
|
||||
.gradient(@teal; @teal; lighten(@teal, 16%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-light-blue-gradient {
|
||||
.gradient(@light-blue; @light-blue; lighten(@light-blue, 12%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-blue-gradient {
|
||||
.gradient(@blue; @blue; lighten(@blue, 7%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-aqua-gradient {
|
||||
.gradient(@aqua; @aqua; lighten(@aqua, 7%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-yellow-gradient {
|
||||
.gradient(@yellow; @yellow; lighten(@yellow, 16%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-purple-gradient {
|
||||
.gradient(@purple; @purple; lighten(@purple, 16%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-green-gradient {
|
||||
.gradient(@green; @green; lighten(@green, 7%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-red-gradient {
|
||||
.gradient(@red; @red; lighten(@red, 10%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-black-gradient {
|
||||
.gradient(@black; @black; lighten(@black, 10%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.bg-maroon-gradient {
|
||||
.gradient(@maroon; @maroon; lighten(@maroon, 10%)) !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
//Description Block Extension
|
||||
.description-block {
|
||||
.description-icon {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
//Remove top padding
|
||||
.no-pad-top {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
//Make position static
|
||||
.position-static {
|
||||
position: static !important;
|
||||
}
|
||||
|
||||
//List utility classes
|
||||
.list-header {
|
||||
font-size: 15px;
|
||||
padding: 10px 4px;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.list-seperator {
|
||||
height: 1px;
|
||||
background: @box-border-color;
|
||||
margin: 15px 0 9px 0;
|
||||
}
|
||||
|
||||
.list-link {
|
||||
> a {
|
||||
padding: 4px;
|
||||
color: #777;
|
||||
&:hover {
|
||||
color: #222;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Light font weight
|
||||
.font-light {
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
//User block
|
||||
.user-block {
|
||||
.clearfix();
|
||||
img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
float: left;
|
||||
}
|
||||
.username,
|
||||
.description,
|
||||
.comment {
|
||||
display: block;
|
||||
margin-left: 50px;
|
||||
}
|
||||
.username {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.description {
|
||||
color: #999;
|
||||
font-size: 13px;
|
||||
}
|
||||
&.user-block-sm {
|
||||
img {
|
||||
&:extend(.img-sm);
|
||||
}
|
||||
.username,
|
||||
.description,
|
||||
.comment {
|
||||
margin-left: 40px;
|
||||
}
|
||||
.username {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Image sizes
|
||||
.img-sm,
|
||||
.img-md,
|
||||
.img-lg {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.img-sm {
|
||||
width: 30px !important;
|
||||
height: 30px !important;
|
||||
+ .img-push {
|
||||
margin-left: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.img-md {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
+ .img-push {
|
||||
margin-left: 70px;
|
||||
}
|
||||
}
|
||||
|
||||
.img-lg {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
+ .img-push {
|
||||
margin-left: 110px;
|
||||
}
|
||||
}
|
||||
|
||||
// Image bordered
|
||||
.img-bordered {
|
||||
border: 3px solid @gray-lte;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.img-bordered-sm {
|
||||
border: 2px solid @gray-lte;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
//General attachemnt block
|
||||
.attachment-block {
|
||||
border: 1px solid @box-border-color;
|
||||
padding: 5px;
|
||||
margin-bottom: 10px;
|
||||
background: #f7f7f7;
|
||||
|
||||
.attachment-img {
|
||||
max-width: 100px;
|
||||
max-height: 100px;
|
||||
height: auto;
|
||||
float: left;
|
||||
}
|
||||
.attachment-pushed {
|
||||
margin-left: 110px;
|
||||
}
|
||||
.attachment-heading {
|
||||
margin: 0;
|
||||
}
|
||||
.attachment-text {
|
||||
color: #555;
|
||||
}
|
||||
}
|
||||
|
||||
.connectedSortable {
|
||||
min-height: 100px;
|
||||
}
|
||||
|
||||
.ui-helper-hidden-accessible {
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
.sort-highlight {
|
||||
background: #f4f4f4;
|
||||
border: 1px dashed #ddd;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.full-opacity-hover {
|
||||
.opacity(.65);
|
||||
&:hover {
|
||||
.opacity(1);
|
||||
}
|
||||
}
|
||||
|
||||
// Charts
|
||||
.chart {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
svg,
|
||||
canvas {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
312
build/less/mixins.less
Normal file
312
build/less/mixins.less
Normal file
@@ -0,0 +1,312 @@
|
||||
//AdminLTE mixins
|
||||
//===============
|
||||
|
||||
//Changes the color and the hovering properties of the navbar
|
||||
.navbar-variant(@color; @font-color: rgba(255, 255, 255, 0.8); @hover-color: #f6f6f6; @hover-bg: rgba(0, 0, 0, 0.1)) {
|
||||
background-color: @color;
|
||||
//Navbar links
|
||||
.nav > li > a {
|
||||
color: @font-color;
|
||||
}
|
||||
|
||||
.nav > li > a:hover,
|
||||
.nav > li > a:active,
|
||||
.nav > li > a:focus,
|
||||
.nav .open > a,
|
||||
.nav .open > a:hover,
|
||||
.nav .open > a:focus,
|
||||
.nav > .active > a {
|
||||
background: @hover-bg;
|
||||
color: @hover-color;
|
||||
}
|
||||
|
||||
//Add color to the sidebar toggle button
|
||||
.sidebar-toggle {
|
||||
color: @font-color;
|
||||
&:hover {
|
||||
color: @hover-color;
|
||||
background: @hover-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Logo color variation
|
||||
.logo-variant(@bg-color; @color: #fff; @border-bottom-color: transparent; @border-bottom-width: 0) {
|
||||
background-color: @bg-color;
|
||||
color: @color;
|
||||
border-bottom: @border-bottom-width solid @border-bottom-color;
|
||||
|
||||
&:hover {
|
||||
background-color: darken(@bg-color, 1%);
|
||||
}
|
||||
}
|
||||
|
||||
//Box solid color variantion creator
|
||||
.box-solid-variant(@color; @text-color: #fff) {
|
||||
border: 1px solid @color;
|
||||
> .box-header {
|
||||
color: @text-color;
|
||||
background: @color;
|
||||
background-color: @color;
|
||||
a,
|
||||
.btn {
|
||||
color: @text-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Direct Chat Variant
|
||||
.direct-chat-variant(@bg-color; @color: #fff) {
|
||||
.right > .direct-chat-text {
|
||||
background: @bg-color;
|
||||
border-color: @bg-color;
|
||||
color: @color;
|
||||
&:after,
|
||||
&:before {
|
||||
border-left-color: @bg-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//border radius creator
|
||||
.border-radius(@radius) {
|
||||
border-radius: @radius;
|
||||
}
|
||||
|
||||
//Different radius each side
|
||||
.border-radius(@top-left, @top-right, @bottom-left, @bottom-right)
|
||||
{
|
||||
border-top-left-radius: @top-left;
|
||||
border-top-right-radius: @top-right;
|
||||
border-bottom-right-radius: @bottom-right;
|
||||
border-bottom-left-radius: @bottom-left;
|
||||
}
|
||||
|
||||
//Gradient background
|
||||
.gradient(@color: #F5F5F5, @start: #EEE, @stop: #FFF) {
|
||||
background: @color;
|
||||
background: -webkit-gradient(linear,
|
||||
left bottom,
|
||||
left top,
|
||||
color-stop(0, @start),
|
||||
color-stop(1, @stop));
|
||||
background: -ms-linear-gradient(bottom,
|
||||
@start,
|
||||
@stop);
|
||||
background: -moz-linear-gradient(center bottom,
|
||||
@start 0%,
|
||||
@stop 100%);
|
||||
background: -o-linear-gradient(@stop,
|
||||
@start);
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@stop,@start));
|
||||
}
|
||||
|
||||
//Added 2.1.0
|
||||
//Skins Mixins
|
||||
|
||||
//Dark Sidebar Mixin
|
||||
.skin-dark-sidebar(@link-hover-border-color) {
|
||||
// Sidebar background color (Both .wrapper and .left-side are responsible for sidebar bg color)
|
||||
.wrapper,
|
||||
.main-sidebar,
|
||||
.left-side {
|
||||
background-color: @sidebar-dark-bg;
|
||||
}
|
||||
//User Panel (resides in the sidebar)
|
||||
.user-panel {
|
||||
> .info, > .info > a {
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
//Sidebar Menu. First level links
|
||||
.sidebar-menu > li {
|
||||
//Section Headning
|
||||
&.header {
|
||||
color: lighten(@sidebar-dark-bg, 20%);
|
||||
background: darken(@sidebar-dark-bg, 4%);
|
||||
}
|
||||
//links
|
||||
> a {
|
||||
border-left: 3px solid transparent;
|
||||
}
|
||||
//Hover and active states
|
||||
&:hover > a,
|
||||
&.active > a,
|
||||
&.menu-open > a {
|
||||
color: @sidebar-dark-hover-color;
|
||||
background: @sidebar-dark-hover-bg;
|
||||
}
|
||||
&.active > a {
|
||||
border-left-color: @link-hover-border-color;
|
||||
}
|
||||
//First Level Submenu
|
||||
> .treeview-menu {
|
||||
margin: 0 1px;
|
||||
background: @sidebar-dark-submenu-bg;
|
||||
}
|
||||
}
|
||||
//All links within the sidebar menu
|
||||
.sidebar a {
|
||||
color: @sidebar-dark-color;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
//All submenus
|
||||
.sidebar-menu .treeview-menu {
|
||||
> li {
|
||||
> a {
|
||||
color: @sidebar-dark-submenu-color;
|
||||
}
|
||||
&.active > a, > a:hover {
|
||||
color: @sidebar-dark-submenu-hover-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
//The sidebar search form
|
||||
.sidebar-form {
|
||||
.border-radius(3px);
|
||||
border: 1px solid lighten(@sidebar-dark-bg, 10%);
|
||||
margin: 10px 10px;
|
||||
input[type="text"], .btn {
|
||||
box-shadow: none;
|
||||
background-color: lighten(@sidebar-dark-bg, 10%);
|
||||
border: 1px solid transparent;
|
||||
height: 35px;
|
||||
//.transition(all @transition-speed @transition-fn);
|
||||
}
|
||||
input[type="text"] {
|
||||
color: #666;
|
||||
.border-radius(2px, 0, 2px, 0);
|
||||
&:focus,
|
||||
&:focus + .input-group-btn .btn {
|
||||
background-color: #fff;
|
||||
color: #666;
|
||||
}
|
||||
&:focus + .input-group-btn .btn {
|
||||
border-left-color: #fff;
|
||||
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
color: #999;
|
||||
.border-radius(0, 2px, 0, 2px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Light Sidebar Mixin
|
||||
.skin-light-sidebar(@icon-active-color) {
|
||||
// Sidebar background color (Both .wrapper and .left-side are responsible for sidebar bg color)
|
||||
.wrapper,
|
||||
.main-sidebar,
|
||||
.left-side {
|
||||
background-color: @sidebar-light-bg;
|
||||
}
|
||||
.content-wrapper,
|
||||
.main-footer {
|
||||
//border-left: 1px solid @gray-lte;
|
||||
}
|
||||
.main-sidebar {
|
||||
border-right: 1px solid @gray-lte;
|
||||
}
|
||||
//User Panel (resides in the sidebar)
|
||||
.user-panel {
|
||||
> .info, > .info > a {
|
||||
color: @sidebar-light-color;
|
||||
}
|
||||
}
|
||||
//Sidebar Menu. First level links
|
||||
.sidebar-menu > li {
|
||||
.transition(border-left-color .3s ease);
|
||||
//border-left: 3px solid transparent;
|
||||
//Section Headning
|
||||
&.header {
|
||||
color: lighten(@sidebar-light-color, 25%);
|
||||
background: @sidebar-light-bg;
|
||||
}
|
||||
//links
|
||||
> a {
|
||||
border-left: 3px solid transparent;
|
||||
font-weight: 600;
|
||||
}
|
||||
//Hover and active states
|
||||
&:hover > a,
|
||||
&.active > a {
|
||||
color: @sidebar-light-hover-color;
|
||||
background: @sidebar-light-hover-bg;
|
||||
}
|
||||
&:hover > a {
|
||||
|
||||
}
|
||||
&.active {
|
||||
border-left-color: @icon-active-color;
|
||||
> a {
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
//First Level Submenu
|
||||
> .treeview-menu {
|
||||
background: @sidebar-light-submenu-bg;
|
||||
}
|
||||
}
|
||||
//All links within the sidebar menu
|
||||
.sidebar a {
|
||||
color: @sidebar-light-color;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
//All submenus
|
||||
.sidebar-menu .treeview-menu {
|
||||
> li {
|
||||
> a {
|
||||
color: @sidebar-light-submenu-color;
|
||||
}
|
||||
&.active > a,
|
||||
> a:hover {
|
||||
color: @sidebar-light-submenu-hover-color;
|
||||
}
|
||||
&.active > a {
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
//The sidebar search form
|
||||
.sidebar-form {
|
||||
.border-radius(3px);
|
||||
border: 1px solid @gray-lte; //darken(@sidebar-light-bg, 5%);
|
||||
margin: 10px 10px;
|
||||
input[type="text"],
|
||||
.btn {
|
||||
box-shadow: none;
|
||||
background-color: #fff; //darken(@sidebar-light-bg, 3%);
|
||||
border: 1px solid transparent;
|
||||
height: 35px;
|
||||
//.transition(all @transition-speed @transition-fn);
|
||||
}
|
||||
input[type="text"] {
|
||||
color: #666;
|
||||
.border-radius(2px, 0, 2px, 0);
|
||||
&:focus,
|
||||
&:focus + .input-group-btn .btn {
|
||||
background-color: #fff;
|
||||
color: #666;
|
||||
}
|
||||
&:focus + .input-group-btn .btn {
|
||||
border-left-color: #fff;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
color: #999;
|
||||
.border-radius(0, 2px, 0, 2px);
|
||||
}
|
||||
}
|
||||
@media (min-width: @screen-sm-min) {
|
||||
&.sidebar-mini.sidebar-collapse {
|
||||
.sidebar-menu > li > .treeview-menu {
|
||||
border-left: 1px solid @gray-lte;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
80
build/less/modal.less
Normal file
80
build/less/modal.less
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Component: modal
|
||||
* ----------------
|
||||
*/
|
||||
.modal {
|
||||
background: rgba(0, 0, 0, .3);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
.border-radius(0);
|
||||
.box-shadow(0 2px 3px rgba(0, 0, 0, .125));
|
||||
border: 0;
|
||||
@media (min-width: @screen-sm-min) {
|
||||
.box-shadow(0 2px 3px rgba(0, 0, 0, .125));
|
||||
}
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
border-bottom-color: @box-border-color;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
border-top-color: @box-border-color;
|
||||
}
|
||||
|
||||
//Modal variants
|
||||
.modal-primary {
|
||||
.modal-body {
|
||||
&:extend(.bg-light-blue);
|
||||
}
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
&:extend(.bg-light-blue-active);
|
||||
border-color: darken(@light-blue, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.modal-warning {
|
||||
.modal-body {
|
||||
&:extend(.bg-yellow);
|
||||
}
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
&:extend(.bg-yellow-active);
|
||||
border-color: darken(@yellow, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.modal-info {
|
||||
.modal-body {
|
||||
&:extend(.bg-aqua);
|
||||
}
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
&:extend(.bg-aqua-active);
|
||||
border-color: darken(@aqua, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.modal-success {
|
||||
.modal-body {
|
||||
&:extend(.bg-green);
|
||||
}
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
&:extend(.bg-green-active);
|
||||
border-color: darken(@green, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
.modal-danger {
|
||||
.modal-body {
|
||||
&:extend(.bg-red);
|
||||
}
|
||||
.modal-header,
|
||||
.modal-footer {
|
||||
&:extend(.bg-red-active);
|
||||
border-color: darken(@red, 10%);
|
||||
}
|
||||
}
|
||||
232
build/less/navs.less
Normal file
232
build/less/navs.less
Normal file
@@ -0,0 +1,232 @@
|
||||
/*
|
||||
* Component: Nav
|
||||
* --------------
|
||||
*/
|
||||
|
||||
.nav {
|
||||
> li > a:hover,
|
||||
> li > a:active,
|
||||
> li > a:focus {
|
||||
color: #444;
|
||||
background: #f7f7f7;
|
||||
}
|
||||
}
|
||||
|
||||
/* NAV PILLS */
|
||||
.nav-pills {
|
||||
> li > a {
|
||||
.border-radius(0);
|
||||
border-top: 3px solid transparent;
|
||||
color: #444;
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
> li.active > a,
|
||||
> li.active > a:hover,
|
||||
> li.active > a:focus {
|
||||
border-top-color: @light-blue;
|
||||
}
|
||||
> li.active > a {
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
/* NAV STACKED */
|
||||
.nav-stacked {
|
||||
> li > a {
|
||||
.border-radius(0);
|
||||
border-top: 0;
|
||||
border-left: 3px solid transparent;
|
||||
color: #444;
|
||||
}
|
||||
> li.active > a,
|
||||
> li.active > a:hover {
|
||||
background: transparent;
|
||||
color: #444;
|
||||
border-top: 0;
|
||||
border-left-color: @light-blue;
|
||||
}
|
||||
|
||||
> li.header {
|
||||
border-bottom: 1px solid #ddd;
|
||||
color: #777;
|
||||
margin-bottom: 10px;
|
||||
padding: 5px 10px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
/* NAV TABS */
|
||||
.nav-tabs-custom {
|
||||
margin-bottom: 20px;
|
||||
background: #fff;
|
||||
box-shadow: @box-boxshadow;
|
||||
border-radius: @box-border-radius;
|
||||
> .nav-tabs {
|
||||
margin: 0;
|
||||
border-bottom-color: #f4f4f4;
|
||||
|
||||
.border-top-radius(@box-border-radius);
|
||||
> li {
|
||||
border-top: 3px solid transparent;
|
||||
margin-bottom: -2px;
|
||||
|
||||
&.disabled > a {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
> a {
|
||||
color: #444;
|
||||
.border-radius(0);
|
||||
&.text-muted {
|
||||
color: #999;
|
||||
}
|
||||
&,
|
||||
&:hover {
|
||||
background: transparent;
|
||||
margin: 0;
|
||||
}
|
||||
&:hover {
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
&:not(.active) {
|
||||
> a:hover,
|
||||
> a:focus,
|
||||
> a:active {
|
||||
border-color: transparent;
|
||||
}
|
||||
}
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
> li.active {
|
||||
border-top-color: @light-blue;
|
||||
& > a,
|
||||
&:hover > a {
|
||||
background-color: #fff;
|
||||
color: #444;
|
||||
}
|
||||
> a {
|
||||
border-top-color: transparent;
|
||||
border-left-color: #f4f4f4;
|
||||
border-right-color: #f4f4f4;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
> li:first-of-type {
|
||||
margin-left: 0;
|
||||
&.active {
|
||||
> a {
|
||||
border-left-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Pulled to the right
|
||||
&.pull-right {
|
||||
float: none !important;
|
||||
> li {
|
||||
float: right;
|
||||
}
|
||||
> li:first-of-type {
|
||||
margin-right: 0;
|
||||
> a {
|
||||
border-left-width: 1px;
|
||||
}
|
||||
&.active {
|
||||
> a {
|
||||
border-left-color: #f4f4f4;
|
||||
border-right-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> li.header {
|
||||
line-height: 35px;
|
||||
padding: 0 10px;
|
||||
font-size: 20px;
|
||||
color: #444;
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .tab-content {
|
||||
background: #fff;
|
||||
padding: 10px;
|
||||
.border-bottom-radius(@box-border-radius);
|
||||
}
|
||||
|
||||
.dropdown.open > a {
|
||||
&:active,
|
||||
&:focus {
|
||||
background: transparent;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
// Tab color variations
|
||||
&.tab-primary {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @light-blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.tab-info {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @aqua;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.tab-danger {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @red;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.tab-warning {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @yellow;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.tab-success {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @green;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.tab-default {
|
||||
> .nav-tabs {
|
||||
> li.active {
|
||||
border-top-color: @gray-lte;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* PAGINATION */
|
||||
.pagination {
|
||||
> li > a {
|
||||
background: #fafafa;
|
||||
color: #666;
|
||||
}
|
||||
&.pagination-flat {
|
||||
> li > a {
|
||||
.border-radius(0) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
5
build/less/plugins.less
Normal file
5
build/less/plugins.less
Normal file
@@ -0,0 +1,5 @@
|
||||
// Customized third-party plugins
|
||||
@import "bootstrap-social.less";
|
||||
@import "fullcalendar.less";
|
||||
@import "select2.less";
|
||||
@import "datepicker";
|
||||
@@ -10,20 +10,23 @@
|
||||
|
||||
//Elements that we want to hide when printing
|
||||
.main-sidebar,
|
||||
.left-side,
|
||||
.main-header,
|
||||
.content-header {
|
||||
@extend .no-print;
|
||||
&:extend(.no-print);
|
||||
}
|
||||
|
||||
//This is the only element that should appear, so let's remove the margins
|
||||
.content-wrapper,
|
||||
.right-side,
|
||||
.main-footer {
|
||||
margin-left: 0 !important;
|
||||
min-height: 0 !important;
|
||||
@include translate(0, 0);
|
||||
.translate(0, 0) !important;
|
||||
}
|
||||
|
||||
.layout-fixed .content-wrapper {
|
||||
.fixed .content-wrapper,
|
||||
.fixed .right-side {
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
|
||||
@@ -7,12 +7,11 @@
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
> .item {
|
||||
@if $enable-rounded {
|
||||
@include border-radius($border-radius);
|
||||
}
|
||||
@include clearfix();
|
||||
.border-radius(@box-border-radius);
|
||||
.box-shadow(@box-boxshadow);
|
||||
.clearfix();
|
||||
padding: 10px 0;
|
||||
background: $white;
|
||||
background: #fff;
|
||||
}
|
||||
.product-img {
|
||||
float: left;
|
||||
@@ -29,16 +28,17 @@
|
||||
}
|
||||
.product-description {
|
||||
display: block;
|
||||
color: $gray-600;
|
||||
color: #999;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
.product-list-in-card > .item {
|
||||
@include border-radius(0);
|
||||
border-bottom: 1px solid $card-border-color;
|
||||
.product-list-in-box > .item {
|
||||
.box-shadow(none);
|
||||
.border-radius(0);
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
&:last-of-type {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
margin: 0 auto;
|
||||
width: 100px;
|
||||
padding: 3px;
|
||||
border: 3px solid $gray-500;
|
||||
border: 3px solid @gray-lte;
|
||||
}
|
||||
|
||||
.profile-username {
|
||||
@@ -16,7 +16,7 @@
|
||||
}
|
||||
|
||||
.post {
|
||||
border-bottom: 1px solid $gray-500;
|
||||
border-bottom: 1px solid @gray-lte;
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 15px;
|
||||
color: #666;
|
||||
111
build/less/progress-bars.less
Normal file
111
build/less/progress-bars.less
Normal file
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Component: Progress Bar
|
||||
* -----------------------
|
||||
*/
|
||||
|
||||
//General CSS
|
||||
.progress,
|
||||
.progress > .progress-bar {
|
||||
.box-shadow(none);
|
||||
&, .progress-bar {
|
||||
.border-radius(@progress-bar-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
/* size variation */
|
||||
.progress.sm,
|
||||
.progress-sm {
|
||||
height: 10px;
|
||||
&, .progress-bar {
|
||||
.border-radius(@progress-bar-sm-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
.progress.xs,
|
||||
.progress-xs {
|
||||
height: 7px;
|
||||
&, .progress-bar {
|
||||
.border-radius(@progress-bar-xs-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
.progress.xxs,
|
||||
.progress-xxs {
|
||||
height: 3px;
|
||||
&, .progress-bar {
|
||||
.border-radius(@progress-bar-xs-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
/* Vertical bars */
|
||||
.progress.vertical {
|
||||
position: relative;
|
||||
width: 30px;
|
||||
height: 200px;
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
> .progress-bar {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
//Sizes
|
||||
&.sm,
|
||||
&.progress-sm {
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
&.xs,
|
||||
&.progress-xs {
|
||||
width: 10px;
|
||||
}
|
||||
&.xxs,
|
||||
&.progress-xxs {
|
||||
width: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
//Progress Groups
|
||||
.progress-group {
|
||||
.progress-text {
|
||||
font-weight: 600;
|
||||
}
|
||||
.progress-number {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
/* Remove margins from progress bars when put in a table */
|
||||
.table {
|
||||
tr > td .progress {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Variations
|
||||
// -------------------------
|
||||
.progress-bar-light-blue,
|
||||
.progress-bar-primary {
|
||||
.progress-bar-variant(@light-blue);
|
||||
}
|
||||
|
||||
.progress-bar-green,
|
||||
.progress-bar-success {
|
||||
.progress-bar-variant(@green);
|
||||
}
|
||||
|
||||
.progress-bar-aqua,
|
||||
.progress-bar-info {
|
||||
.progress-bar-variant(@aqua);
|
||||
}
|
||||
|
||||
.progress-bar-yellow,
|
||||
.progress-bar-warning {
|
||||
.progress-bar-variant(@yellow);
|
||||
}
|
||||
|
||||
.progress-bar-red,
|
||||
.progress-bar-danger {
|
||||
.progress-bar-variant(@red);
|
||||
}
|
||||
@@ -2,6 +2,11 @@
|
||||
* Plugin: Select2
|
||||
* ---------------
|
||||
*/
|
||||
// Import variables and mixins as a reference for separate plugins version
|
||||
@import (reference) "../../bower_components/bootstrap/less/mixins";
|
||||
@import (reference) "../../bower_components/bootstrap/less/variables";
|
||||
@import (reference) "variables";
|
||||
@import (reference) "mixins";
|
||||
|
||||
//Signle select
|
||||
.select2-container--default,
|
||||
@@ -12,24 +17,24 @@
|
||||
outline: none;
|
||||
}
|
||||
.select2-selection--single {
|
||||
border: 1px solid $gray-x-light;
|
||||
//border-radius: $input-radius;
|
||||
border: 1px solid @gray-lte;
|
||||
border-radius: @input-radius;
|
||||
padding: 6px 12px;
|
||||
height: 34px;
|
||||
}
|
||||
}
|
||||
|
||||
.select2-container--default.select2-container--open {
|
||||
border-color: theme-color("primary");
|
||||
border-color: @light-blue;
|
||||
}
|
||||
|
||||
.select2-dropdown {
|
||||
border: 1px solid $gray-x-light;
|
||||
//border-radius: $input-radius;
|
||||
border: 1px solid @gray-lte;
|
||||
border-radius: @input-radius;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: theme-color("primary");
|
||||
background-color: @light-blue;
|
||||
color: white;
|
||||
}
|
||||
|
||||
@@ -63,14 +68,19 @@
|
||||
.select2-dropdown,
|
||||
.select2-search--inline {
|
||||
.select2-search__field {
|
||||
border: 1px solid $gray-x-light;
|
||||
border: 1px solid @gray-lte;
|
||||
&:focus {
|
||||
outline: none;
|
||||
border: 1px solid theme-color("primary");
|
||||
//border: 1px solid @light-blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.select2-container--default.select2-container--focus .select2-selection--multiple,
|
||||
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||
border-color: @light-blue !important;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-results__option[aria-disabled=true] {
|
||||
color: #999;
|
||||
}
|
||||
@@ -86,29 +96,29 @@
|
||||
//Multiple select
|
||||
.select2-container--default {
|
||||
.select2-selection--multiple {
|
||||
border: 1px solid $gray-x-light;
|
||||
//border-radius: $input-radius;
|
||||
border: 1px solid @gray-lte;
|
||||
border-radius: @input-radius;
|
||||
&:focus {
|
||||
border-color: theme-color("primary");
|
||||
border-color: @light-blue;
|
||||
}
|
||||
}
|
||||
&.select2-container--focus .select2-selection--multiple {
|
||||
border-color: $gray-x-light;
|
||||
border-color: @gray-lte;
|
||||
}
|
||||
}
|
||||
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: theme-color("primary");
|
||||
border-color: darken(theme-color("primary"), 5%);
|
||||
background-color: @light-blue;
|
||||
border-color: darken(@light-blue, 5%);
|
||||
padding: 1px 10px;
|
||||
color: $white;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
||||
margin-right: 5px;
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
color: rgba(255, 255, 255, .7);
|
||||
&:hover {
|
||||
color: $white;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
165
build/less/sidebar-mini.less
Normal file
165
build/less/sidebar-mini.less
Normal file
@@ -0,0 +1,165 @@
|
||||
/*
|
||||
* Component: Sidebar Mini
|
||||
*/
|
||||
|
||||
//Add sidebar-mini class to the body tag to activate this feature
|
||||
.sidebar-mini {
|
||||
//Sidebar mini should work only on devices larger than @screen-sm
|
||||
@media (min-width: @screen-sm) {
|
||||
//When the sidebar is collapsed...
|
||||
&.sidebar-collapse {
|
||||
|
||||
//Apply the new margining to the main content and footer
|
||||
.content-wrapper,
|
||||
.right-side,
|
||||
.main-footer {
|
||||
margin-left: 50px !important;
|
||||
z-index: 840;
|
||||
}
|
||||
|
||||
//Modify the sidebar to shrink instead of disappearing
|
||||
.main-sidebar {
|
||||
//Don't go away! Just shrink
|
||||
.translate(0, 0);
|
||||
width: 50px !important;
|
||||
z-index: 850;
|
||||
}
|
||||
|
||||
.sidebar-menu {
|
||||
> li {
|
||||
position: relative;
|
||||
> a {
|
||||
margin-right: 0;
|
||||
}
|
||||
> a > span {
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
|
||||
&:not(.treeview) {
|
||||
> a > span {
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
> .treeview-menu {
|
||||
// Add some padding to the treeview menu
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Make the sidebar links, menus, labels, badges
|
||||
//and angle icons disappear
|
||||
.main-sidebar .user-panel > .info,
|
||||
.sidebar-form,
|
||||
.sidebar-menu > li > a > span,
|
||||
.sidebar-menu > li > .treeview-menu,
|
||||
.sidebar-menu > li > a > .pull-right,
|
||||
.sidebar-menu li.header {
|
||||
display: none !important;
|
||||
-webkit-transform: translateZ(0);
|
||||
}
|
||||
|
||||
.main-header {
|
||||
//Let's make the logo also shrink and the mini logo to appear
|
||||
.logo {
|
||||
width: 50px;
|
||||
> .logo-mini {
|
||||
display: block;
|
||||
margin-left: -15px;
|
||||
margin-right: -15px;
|
||||
font-size: 18px;
|
||||
}
|
||||
> .logo-lg {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
//Since the logo got smaller, we need to fix the navbar's position
|
||||
.navbar {
|
||||
margin-left: 50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Show menu items on hover
|
||||
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse {
|
||||
.sidebar-menu > li:hover {
|
||||
> a {
|
||||
//overflow: visible;
|
||||
}
|
||||
> a > span:not(.pull-right), //:not(.pull-right-container),
|
||||
> .treeview-menu {
|
||||
display: block !important;
|
||||
position: absolute;
|
||||
width: @sidebar-width - 50;
|
||||
left: 50px;
|
||||
}
|
||||
|
||||
//position the header & treeview menus
|
||||
> a > span {
|
||||
top: 0;
|
||||
margin-left: -3px;
|
||||
padding: 12px 5px 12px 20px;
|
||||
background-color: inherit;
|
||||
}
|
||||
> a > .pull-right-container {
|
||||
//display: block!important;
|
||||
position: relative !important;
|
||||
float: right;
|
||||
width: auto !important;
|
||||
left: 200px - 20px !important;
|
||||
top: -22px !important;
|
||||
z-index: 900;
|
||||
> .label:not(:first-of-type) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
> .treeview-menu {
|
||||
top: 44px;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-expanded-on-hover {
|
||||
.main-footer,
|
||||
.content-wrapper {
|
||||
margin-left: 50px;
|
||||
}
|
||||
.main-sidebar {
|
||||
box-shadow: @sidebar-expanded-shadow;
|
||||
}
|
||||
}
|
||||
|
||||
//A fix for text overflow while transitioning from sidebar mini to full sidebar
|
||||
.sidebar-menu,
|
||||
.main-sidebar .user-panel,
|
||||
.sidebar-menu > li.header {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.sidebar-menu:hover {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.sidebar-form,
|
||||
.sidebar-menu > li.header {
|
||||
overflow: hidden;
|
||||
text-overflow: clip;
|
||||
}
|
||||
|
||||
.sidebar-menu li > a {
|
||||
position: relative;
|
||||
> .pull-right-container {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 50%;
|
||||
margin-top: -7px;
|
||||
}
|
||||
}
|
||||
141
build/less/sidebar.less
Normal file
141
build/less/sidebar.less
Normal file
@@ -0,0 +1,141 @@
|
||||
/*
|
||||
* Component: Sidebar
|
||||
* ------------------
|
||||
*/
|
||||
// Main Sidebar
|
||||
.main-sidebar {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding-top: 50px;
|
||||
min-height: 100%;
|
||||
width: @sidebar-width;
|
||||
z-index: 810;
|
||||
|
||||
// Using disposable variable to join statements with a comma
|
||||
@transition-rule: @transition-speed @transition-fn, width @transition-speed @transition-fn;
|
||||
.transition-transform(@transition-rule);
|
||||
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
padding-top: 100px;
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
.translate(-@sidebar-width, 0);
|
||||
}
|
||||
|
||||
.sidebar-collapse & {
|
||||
@media (min-width: @screen-sm) {
|
||||
.translate(-@sidebar-width, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-open & {
|
||||
@media (max-width: @screen-xs-max) {
|
||||
.translate(0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
// Remove border from form
|
||||
.sidebar-form {
|
||||
input:focus {
|
||||
border-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
// Sidebar user panel
|
||||
.user-panel {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
overflow: hidden;
|
||||
.clearfix();
|
||||
> .image > img {
|
||||
width: 100%;
|
||||
max-width: 45px;
|
||||
height: auto;
|
||||
}
|
||||
> .info {
|
||||
padding: 5px 5px 5px 15px;
|
||||
line-height: 1;
|
||||
position: absolute;
|
||||
left: 55px;
|
||||
> p {
|
||||
font-weight: 600;
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
> a {
|
||||
text-decoration: none;
|
||||
padding-right: 5px;
|
||||
margin-top: 3px;
|
||||
font-size: 11px;
|
||||
> .fa,
|
||||
> .ion,
|
||||
> .glyphicon {
|
||||
margin-right: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sidebar menu
|
||||
.sidebar-menu {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
//First Level
|
||||
> li {
|
||||
position: relative;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
> a {
|
||||
padding: 12px 5px 12px 15px;
|
||||
display: block;
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
width: 20px;
|
||||
}
|
||||
}
|
||||
.label,
|
||||
.badge {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.badge {
|
||||
margin-top: 3px;
|
||||
}
|
||||
}
|
||||
li.header {
|
||||
padding: 10px 25px 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
li > a > .fa-angle-left,
|
||||
li > a > .pull-right-container > .fa-angle-left {
|
||||
width: auto;
|
||||
height: auto;
|
||||
padding: 0;
|
||||
margin-right: 10px;
|
||||
.transition(transform .5s ease);
|
||||
}
|
||||
li > a > .fa-angle-left {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 10px;
|
||||
margin-top: -8px;
|
||||
}
|
||||
|
||||
.menu-open {
|
||||
> a > .fa-angle-left,
|
||||
> a > .pull-right-container > .fa-angle-left {
|
||||
.rotate(-90deg);
|
||||
}
|
||||
}
|
||||
.active > .treeview-menu {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
13
build/less/skins/_all-skins.less
Normal file
13
build/less/skins/_all-skins.less
Normal file
@@ -0,0 +1,13 @@
|
||||
//All skins in one file
|
||||
@import "skin-blue.less";
|
||||
@import "skin-blue-light.less";
|
||||
@import "skin-black.less";
|
||||
@import "skin-black-light.less";
|
||||
@import "skin-green.less";
|
||||
@import "skin-green-light.less";
|
||||
@import "skin-red.less";
|
||||
@import "skin-red-light.less";
|
||||
@import "skin-yellow.less";
|
||||
@import "skin-yellow-light.less";
|
||||
@import "skin-purple.less";
|
||||
@import "skin-purple-light.less";
|
||||
65
build/less/skins/skin-black-light.less
Normal file
65
build/less/skins/skin-black-light.less
Normal file
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Skin: Black
|
||||
* -----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
/* skin-black navbar */
|
||||
.skin-black-light {
|
||||
//Navbar & Logo
|
||||
.main-header {
|
||||
//.box-shadow(0px 1px 1px rgba(0, 0, 0, 0.05));
|
||||
border-bottom: 1px solid @gray-lte;
|
||||
.navbar-toggle {
|
||||
color: #333;
|
||||
}
|
||||
.navbar-brand {
|
||||
color: #333;
|
||||
border-right: 1px solid @gray-lte;
|
||||
}
|
||||
.navbar {
|
||||
.navbar-variant(#fff; #333; #999; #fff);
|
||||
> .sidebar-toggle {
|
||||
color: #333;
|
||||
border-right: 1px solid @gray-lte;
|
||||
}
|
||||
.navbar-nav {
|
||||
> li > a {
|
||||
border-right: 1px solid @gray-lte;
|
||||
}
|
||||
}
|
||||
.navbar-custom-menu .navbar-nav,
|
||||
.navbar-right {
|
||||
> li {
|
||||
> a {
|
||||
border-left: 1px solid @gray-lte;
|
||||
border-right-width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
> .logo {
|
||||
.logo-variant(#fff; #333);
|
||||
border-right: 1px solid @gray-lte;
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.logo-variant(#222; #fff);
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: #222;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(#fff);
|
||||
}
|
||||
74
build/less/skins/skin-black.less
Normal file
74
build/less/skins/skin-black.less
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* Skin: Black
|
||||
* -----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
/* skin-black navbar */
|
||||
.skin-black {
|
||||
//Navbar & Logo
|
||||
.main-header {
|
||||
.box-shadow(0px 1px 1px rgba(0, 0, 0, 0.05));
|
||||
.navbar-toggle {
|
||||
color: #333;
|
||||
}
|
||||
.navbar-brand {
|
||||
color: #333;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.navbar {
|
||||
.navbar-variant(#fff; #333; #999; #fff);
|
||||
> .sidebar-toggle {
|
||||
color: #333;
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
.navbar-nav {
|
||||
> li > a {
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
}
|
||||
.navbar-custom-menu .navbar-nav,
|
||||
.navbar-right {
|
||||
> li {
|
||||
> a {
|
||||
border-left: 1px solid #eee;
|
||||
border-right-width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
> .logo {
|
||||
.logo-variant(#fff; #333);
|
||||
border-right: 1px solid #eee;
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.logo-variant(#222; #fff);
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: #222;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(#fff);
|
||||
|
||||
.pace {
|
||||
.pace-progress {
|
||||
background: #222;
|
||||
}
|
||||
.pace-activity {
|
||||
border-top-color: #222;
|
||||
border-left-color: #222;
|
||||
}
|
||||
}
|
||||
}
|
||||
61
build/less/skins/skin-blue-light.less
Normal file
61
build/less/skins/skin-blue-light.less
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Skin: Blue
|
||||
* ----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-blue-light {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@light-blue; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@light-blue, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@light-blue, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(@light-blue);
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @light-blue;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(@light-blue);
|
||||
.main-footer {
|
||||
border-top-color: @gray-lte;
|
||||
}
|
||||
}
|
||||
|
||||
.skin-blue.layout-top-nav .main-header > .logo {
|
||||
.logo-variant(@light-blue);
|
||||
}
|
||||
58
build/less/skins/skin-blue.less
Normal file
58
build/less/skins/skin-blue.less
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Skin: Blue
|
||||
* ----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-blue {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@light-blue; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@light-blue, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@light-blue, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(darken(@light-blue, 5%));
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @light-blue;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@light-blue);
|
||||
}
|
||||
|
||||
.skin-blue.layout-top-nav .main-header > .logo {
|
||||
.logo-variant(@light-blue);
|
||||
}
|
||||
55
build/less/skins/skin-green-light.less
Normal file
55
build/less/skins/skin-green-light.less
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Skin: Green
|
||||
* -----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-green-light {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@green; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@green, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@green, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(@green);
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @green;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(@green);
|
||||
|
||||
}
|
||||
55
build/less/skins/skin-green.less
Normal file
55
build/less/skins/skin-green.less
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Skin: Green
|
||||
* -----------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-green {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@green; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@green, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@green, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(darken(@green, 5%));
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @green;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@green);
|
||||
|
||||
}
|
||||
54
build/less/skins/skin-purple-light.less
Normal file
54
build/less/skins/skin-purple-light.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Purple
|
||||
* ------------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-purple-light {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@purple; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@purple, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@purple, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(@purple);
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @purple;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(@purple);
|
||||
}
|
||||
54
build/less/skins/skin-purple.less
Normal file
54
build/less/skins/skin-purple.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Purple
|
||||
* ------------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-purple {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@purple; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@purple, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@purple, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(darken(@purple, 5%));
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @purple;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@purple);
|
||||
}
|
||||
54
build/less/skins/skin-red-light.less
Normal file
54
build/less/skins/skin-red-light.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Red
|
||||
* ---------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-red-light {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@red; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@red, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@red, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(@red);
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @red;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(@red);
|
||||
}
|
||||
54
build/less/skins/skin-red.less
Normal file
54
build/less/skins/skin-red.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Red
|
||||
* ---------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-red {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@red; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@red, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@red, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(darken(@red, 5%));
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @red;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@red);
|
||||
}
|
||||
54
build/less/skins/skin-yellow-light.less
Normal file
54
build/less/skins/skin-yellow-light.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Yellow
|
||||
* ------------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-yellow-light {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@yellow; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@yellow, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@yellow, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(@yellow);
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @yellow;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-light-sidebar(@yellow);
|
||||
}
|
||||
54
build/less/skins/skin-yellow.less
Normal file
54
build/less/skins/skin-yellow.less
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Skin: Yellow
|
||||
* ------------
|
||||
*/
|
||||
@import "../../../bower_components/bootstrap/less/mixins.less";
|
||||
@import "../../../bower_components/bootstrap/less/variables.less";
|
||||
@import "../variables.less";
|
||||
@import "../mixins.less";
|
||||
|
||||
.skin-yellow {
|
||||
//Navbar
|
||||
.main-header {
|
||||
.navbar {
|
||||
.navbar-variant(@yellow; #fff);
|
||||
.sidebar-toggle {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background-color: darken(@yellow, 5%);
|
||||
}
|
||||
}
|
||||
@media (max-width: @screen-header-collapse) {
|
||||
.dropdown-menu {
|
||||
li {
|
||||
&.divider {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
a {
|
||||
color: #fff;
|
||||
&:hover {
|
||||
background: darken(@yellow, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Logo
|
||||
.logo {
|
||||
.logo-variant(darken(@yellow, 5%));
|
||||
}
|
||||
|
||||
li.user-header {
|
||||
background-color: @yellow;
|
||||
}
|
||||
}
|
||||
|
||||
//Content Header
|
||||
.content-header {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
//Create the sidebar skin
|
||||
.skin-dark-sidebar(@yellow);
|
||||
}
|
||||
@@ -4,14 +4,11 @@
|
||||
*/
|
||||
|
||||
.small-box {
|
||||
@include border-radius($border-radius);
|
||||
@include box-shadow($card-shadow);
|
||||
@extend .mb-3;
|
||||
|
||||
.border-radius(2px);
|
||||
position: relative;
|
||||
display: block;
|
||||
margin-bottom: 20px;
|
||||
|
||||
box-shadow: @box-boxshadow;
|
||||
// content wrapper
|
||||
> .inner {
|
||||
padding: 10px;
|
||||
@@ -21,14 +18,14 @@
|
||||
position: relative;
|
||||
text-align: center;
|
||||
padding: 3px 0;
|
||||
color: $white;
|
||||
color: #fff;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
display: block;
|
||||
z-index: 10;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
text-decoration: none;
|
||||
&:hover {
|
||||
color: $white;
|
||||
color: #fff;
|
||||
background: rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
}
|
||||
@@ -58,7 +55,7 @@
|
||||
|
||||
// the icon
|
||||
.icon {
|
||||
transition: all $transition-speed linear;
|
||||
.transition(all @transition-speed linear);
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
@@ -70,6 +67,7 @@
|
||||
// Small box hover state
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
color: #f9f9f9;
|
||||
// Animate icons on small box hover
|
||||
.icon {
|
||||
font-size: 95px;
|
||||
@@ -77,7 +75,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(sm) {
|
||||
@media (max-width: @screen-xs-max) {
|
||||
// No need for icons on very small devices
|
||||
.small-box {
|
||||
text-align: center;
|
||||
@@ -3,7 +3,7 @@
|
||||
* -------------------------
|
||||
*/
|
||||
//General widget style
|
||||
.card-widget {
|
||||
.box-widget {
|
||||
border: none;
|
||||
position: relative;
|
||||
}
|
||||
@@ -12,11 +12,9 @@
|
||||
.widget-user {
|
||||
//User name container
|
||||
.widget-user-header {
|
||||
padding: 1rem;
|
||||
padding: 20px;
|
||||
height: 120px;
|
||||
@if $enable-rounded {
|
||||
@include border-top-radius($border-radius);
|
||||
}
|
||||
.border-top-radius(@box-border-radius);
|
||||
}
|
||||
//User name
|
||||
.widget-user-username {
|
||||
@@ -39,12 +37,11 @@
|
||||
> img {
|
||||
width: 90px;
|
||||
height: auto;
|
||||
border: 3px solid $white;
|
||||
border: 3px solid #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
padding-top: 40px;
|
||||
.box-footer {
|
||||
padding-top: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,8 +49,8 @@
|
||||
.widget-user-2 {
|
||||
//User name container
|
||||
.widget-user-header {
|
||||
padding: 1rem;
|
||||
@include border-top-radius($border-radius);
|
||||
padding: 20px;
|
||||
.border-top-radius(@box-border-radius);
|
||||
}
|
||||
//User name
|
||||
.widget-user-username {
|
||||
71
build/less/table.less
Normal file
71
build/less/table.less
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* Component: Table
|
||||
* ----------------
|
||||
*/
|
||||
|
||||
.table {
|
||||
//Cells
|
||||
> thead,
|
||||
> tbody,
|
||||
> tfoot {
|
||||
> tr {
|
||||
> th,
|
||||
> td {
|
||||
border-top: 1px solid @box-border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
//thead cells
|
||||
> thead > tr > th {
|
||||
border-bottom: 2px solid @box-border-color;
|
||||
}
|
||||
//progress bars in tables
|
||||
tr td .progress {
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
//Bordered Table
|
||||
.table-bordered {
|
||||
border: 1px solid @box-border-color;
|
||||
> thead,
|
||||
> tbody,
|
||||
> tfoot {
|
||||
> tr {
|
||||
> th,
|
||||
> td {
|
||||
border: 1px solid @box-border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
> thead > tr {
|
||||
> th,
|
||||
> td {
|
||||
border-bottom-width: 2px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table.no-border {
|
||||
&,
|
||||
td,
|
||||
th {
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* .text-center in tables */
|
||||
table.text-center {
|
||||
&, td, th {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.table.align {
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
td {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
@@ -19,21 +19,21 @@
|
||||
background: #ddd;
|
||||
left: 31px;
|
||||
margin: 0;
|
||||
@include border-radius($border-radius);
|
||||
.border-radius(2px);
|
||||
}
|
||||
|
||||
> li {
|
||||
position: relative;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 15px;
|
||||
@include clearfix();
|
||||
.clearfix();
|
||||
|
||||
// The content
|
||||
> .timeline-item {
|
||||
@include box-shadow($card-shadow);
|
||||
@include border-radius($border-radius);
|
||||
.box-shadow(@box-boxshadow);
|
||||
.border-radius(@box-border-radius);
|
||||
margin-top: 0;
|
||||
background: $white;
|
||||
background: #fff;
|
||||
color: #444;
|
||||
margin-left: 60px;
|
||||
margin-right: 15px;
|
||||
@@ -50,7 +50,7 @@
|
||||
> .timeline-header {
|
||||
margin: 0;
|
||||
color: #555;
|
||||
border-bottom: 1px solid $card-border-color;
|
||||
border-bottom: 1px solid @box-border-color;
|
||||
padding: 10px;
|
||||
font-size: 16px;
|
||||
line-height: 1.1;
|
||||
@@ -74,7 +74,8 @@
|
||||
font-size: 15px;
|
||||
line-height: 30px;
|
||||
position: absolute;
|
||||
background: $gray-500;
|
||||
color: #666;
|
||||
background: @gray-lte;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
left: 18px;
|
||||
@@ -88,9 +89,9 @@
|
||||
font-weight: 600;
|
||||
padding: 5px;
|
||||
display: inline-block;
|
||||
background-color: $white;
|
||||
background-color: #fff;
|
||||
|
||||
@include border-radius(4px);
|
||||
.border-radius(4px);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -98,9 +99,9 @@
|
||||
.timeline-inverse {
|
||||
> li {
|
||||
> .timeline-item {
|
||||
background: $gray-100;
|
||||
background: #f0f0f0;
|
||||
border: 1px solid #ddd;
|
||||
@include box-shadow(none);
|
||||
.box-shadow(none);
|
||||
> .timeline-header {
|
||||
border-bottom-color: #ddd;
|
||||
}
|
||||
30
build/less/treeview.less
Normal file
30
build/less/treeview.less
Normal file
@@ -0,0 +1,30 @@
|
||||
// Tree view menu
|
||||
.treeview-menu {
|
||||
display: none;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
padding-left: 5px;
|
||||
.treeview-menu {
|
||||
padding-left: 20px;
|
||||
}
|
||||
> li {
|
||||
margin: 0;
|
||||
> a {
|
||||
padding: 5px 5px 5px 15px;
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
width: 20px;
|
||||
}
|
||||
> .pull-right-container > .fa-angle-left,
|
||||
> .pull-right-container > .fa-angle-down,
|
||||
> .fa-angle-left,
|
||||
> .fa-angle-down {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,14 +3,14 @@
|
||||
* ---------------------
|
||||
*/
|
||||
.users-list {
|
||||
@extend .list-unstyled;
|
||||
&:extend(.list-unstyled);
|
||||
> li {
|
||||
width: 25%;
|
||||
float: left;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
img {
|
||||
@include border-radius(50%);
|
||||
.border-radius(50%);
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
@@ -29,7 +29,7 @@
|
||||
}
|
||||
|
||||
.users-list-name {
|
||||
font-size: $font-size-sm;
|
||||
font-weight: 600;
|
||||
color: #444;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
125
build/less/variables.less
Normal file
125
build/less/variables.less
Normal file
@@ -0,0 +1,125 @@
|
||||
// AdminLTE 2 Variables.less
|
||||
// =========================
|
||||
|
||||
// PATHS
|
||||
// --------------------------------------------------------
|
||||
|
||||
@boxed-layout-bg-image-path: "../img/boxed-bg.jpg";
|
||||
|
||||
// COLORS
|
||||
// --------------------------------------------------------
|
||||
// Primary
|
||||
@light-blue: #3c8dbc;
|
||||
// Danger
|
||||
@red: #dd4b39;
|
||||
// Success
|
||||
@green: #00a65a;
|
||||
// Info
|
||||
@aqua: #00c0ef;
|
||||
// Warning
|
||||
@yellow: #f39c12;
|
||||
@blue: #0073b7;
|
||||
@navy: #001F3F;
|
||||
@teal: #39CCCC;
|
||||
@olive: #3D9970;
|
||||
@lime: #01FF70;
|
||||
@orange: #FF851B;
|
||||
@fuchsia: #F012BE;
|
||||
@purple: #605ca8;
|
||||
@maroon: #D81B60;
|
||||
@black: #111;
|
||||
@gray-lte: #d2d6de;
|
||||
|
||||
// LAYOUT
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Side bar and logo width
|
||||
@sidebar-width: 230px;
|
||||
// Boxed layout maximum width
|
||||
@boxed-layout-max-width: 1024px;
|
||||
// When the logo should go to the top of the screen
|
||||
@screen-header-collapse: @screen-xs-max;
|
||||
|
||||
// Link colors (Aka: <a> tags)
|
||||
@link-color: @light-blue;
|
||||
@link-hover-color: lighten(@link-color, 15%);
|
||||
|
||||
// Body background (Affects main content background only)
|
||||
@body-bg: #ecf0f5;
|
||||
|
||||
// SIDEBAR SKINS
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Dark sidebar
|
||||
@sidebar-dark-bg: #222d32;
|
||||
@sidebar-dark-hover-bg: darken(@sidebar-dark-bg, 2%);
|
||||
@sidebar-dark-color: lighten(@sidebar-dark-bg, 60%);
|
||||
@sidebar-dark-hover-color: #fff;
|
||||
@sidebar-dark-submenu-bg: lighten(@sidebar-dark-bg, 5%);
|
||||
@sidebar-dark-submenu-color: lighten(@sidebar-dark-submenu-bg, 40%);
|
||||
@sidebar-dark-submenu-hover-color: #fff;
|
||||
|
||||
// Light sidebar
|
||||
@sidebar-light-bg: #f9fafc;
|
||||
@sidebar-light-hover-bg: lighten(#f0f0f1, 1.5%);
|
||||
@sidebar-light-color: #444;
|
||||
@sidebar-light-hover-color: #000;
|
||||
@sidebar-light-submenu-bg: @sidebar-light-hover-bg;
|
||||
@sidebar-light-submenu-color: #777;
|
||||
@sidebar-light-submenu-hover-color: #000;
|
||||
|
||||
// sidebar-expanded-on-hover
|
||||
@sidebar-expanded-shadow: 3px 0 8px rgba(0,0,0,.125);
|
||||
|
||||
// CONTROL SIDEBAR
|
||||
// --------------------------------------------------------
|
||||
@control-sidebar-width: @sidebar-width;
|
||||
|
||||
// BOXES
|
||||
// --------------------------------------------------------
|
||||
@box-border-color: #f4f4f4;
|
||||
@box-border-radius: 3px;
|
||||
@box-footer-bg: #fff;
|
||||
@box-boxshadow: 0 1px 1px rgba(0, 0, 0, .1);
|
||||
@box-padding: 10px;
|
||||
|
||||
// Box variants
|
||||
@box-default-border-top-color: #d2d6de;
|
||||
|
||||
// BUTTONS
|
||||
// --------------------------------------------------------
|
||||
@btn-boxshadow: none;
|
||||
|
||||
// PROGRESS BARS
|
||||
// --------------------------------------------------------
|
||||
@progress-bar-border-radius: 1px;
|
||||
@progress-bar-sm-border-radius: 1px;
|
||||
@progress-bar-xs-border-radius: 1px;
|
||||
|
||||
// FORMS
|
||||
// --------------------------------------------------------
|
||||
@input-radius: 0;
|
||||
|
||||
// BUTTONS
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Border radius for non flat buttons
|
||||
@btn-border-radius: 3px;
|
||||
|
||||
// DIRECT CHAT
|
||||
// --------------------------------------------------------
|
||||
@direct-chat-height: 250px;
|
||||
@direct-chat-default-msg-bg: @gray-lte;
|
||||
@direct-chat-default-font-color: #444;
|
||||
@direct-chat-default-msg-border-color: @gray-lte;
|
||||
|
||||
// CHAT WIDGET
|
||||
// --------------------------------------------------------
|
||||
@attachment-border-radius: 3px;
|
||||
|
||||
// TRANSITIONS SETTINGS
|
||||
// --------------------------------------------------------
|
||||
|
||||
// Transition global options
|
||||
@transition-speed: .3s;
|
||||
@transition-fn: ease-in-out;
|
||||
@@ -1,38 +0,0 @@
|
||||
const Plugins = [
|
||||
// jQuery
|
||||
{
|
||||
from: 'node_modules/jquery/dist',
|
||||
to : 'plugins/jquery'
|
||||
},
|
||||
// Popper
|
||||
{
|
||||
from: 'node_modules/popper.js/dist',
|
||||
to : 'plugins/popper'
|
||||
},
|
||||
// Bootstrap
|
||||
{
|
||||
from: 'node_modules/bootstrap/dist',
|
||||
to : 'plugins/bootstrap'
|
||||
},
|
||||
// Font Awesome
|
||||
{
|
||||
from: 'node_modules/font-awesome/css',
|
||||
to : 'plugins/font-awesome/css'
|
||||
},
|
||||
{
|
||||
from: 'node_modules/font-awesome/fonts',
|
||||
to : 'plugins/font-awesome/fonts'
|
||||
},
|
||||
// Chart.js 2
|
||||
{
|
||||
from: 'node_modules/chart.js/dist/',
|
||||
to : 'plugins/chart.js'
|
||||
},
|
||||
// CKEditor
|
||||
{
|
||||
from: 'node_modules/@ckeditor/ckeditor5-build-classic/build',
|
||||
to : 'plugins/ckeditor'
|
||||
}
|
||||
]
|
||||
|
||||
module.exports = Plugins
|
||||
@@ -1,44 +0,0 @@
|
||||
const Plugins = require('./Plugins')
|
||||
const copydir = require('copy-dir')
|
||||
|
||||
class Publish {
|
||||
constructor() {
|
||||
this.options = {
|
||||
verbose: false
|
||||
}
|
||||
|
||||
this.getArguments()
|
||||
}
|
||||
|
||||
getArguments() {
|
||||
if (process.argv.length > 2) {
|
||||
let arg = process.argv[2]
|
||||
switch (arg) {
|
||||
case '-v':
|
||||
case '--verbose':
|
||||
this.options.verbose = true
|
||||
break
|
||||
default:
|
||||
throw new Error(`Unknown option ${arg}`)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
run() {
|
||||
// Publish files
|
||||
Plugins.forEach((module) => {
|
||||
copydir(module.from, module.to, (stat, filepath, filename) => {
|
||||
if (this.options.verbose) {
|
||||
console.log(`Copied ${filename} from ${module.from} to ${module.to}`)
|
||||
}
|
||||
return true
|
||||
}, error => {
|
||||
if (error) {
|
||||
console.error(`Error: ${error}`)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
(new Publish()).run()
|
||||
@@ -1,66 +0,0 @@
|
||||
/*!
|
||||
* AdminLTE v3.0.0-alpha
|
||||
* Author: Abdullah Almsaeed
|
||||
* Website: AdminLTE.io <http://adminlte.io>
|
||||
* License: Open source - MIT <http://opensource.org/licenses/MIT>
|
||||
*/
|
||||
//
|
||||
// ------------------------------------------------------------------
|
||||
// This file is to be included in your custom SCSS. Before importing
|
||||
// this file, you should include your custom AdminLTE and Bootstrap
|
||||
// variables followed by bootstrap.scss and then this file. It's
|
||||
// ok to import this file without custom variables too!
|
||||
// NOTE: be sure to keep the license notice in the generated css.
|
||||
// ------------------------------------------------------------------
|
||||
//
|
||||
// VARIABLES AND MIXINS
|
||||
// ---------------------------------------------------
|
||||
@import "bootstrap-variables";
|
||||
@import "variables";
|
||||
@import "mixins";
|
||||
// Core
|
||||
// ---------------------------------------------------
|
||||
@import "layout";
|
||||
// COMPONENTS
|
||||
// ---------------------------------------------------
|
||||
@import "main-header";
|
||||
@import "brand";
|
||||
@import "main-sidebar";
|
||||
@import "sidebar-mini";
|
||||
@import "control-sidebar";
|
||||
@import "dropdown";
|
||||
@import "forms";
|
||||
@import "progress-bars";
|
||||
@import "small-box";
|
||||
@import "cards";
|
||||
@import "info-box";
|
||||
@import "timeline";
|
||||
@import "buttons";
|
||||
@import "callout";
|
||||
@import "alerts";
|
||||
@import "navs";
|
||||
@import "products";
|
||||
@import "table";
|
||||
@import "labels";
|
||||
@import "direct-chat";
|
||||
@import "users-list";
|
||||
@import "carousel";
|
||||
@import "social-widgets";
|
||||
// PAGES
|
||||
// ---------------------------------------------------
|
||||
@import "mailbox";
|
||||
@import "lockscreen";
|
||||
@import "login_and_register";
|
||||
@import "404_500_errors";
|
||||
@import "invoice";
|
||||
@import "profile";
|
||||
// Plugins
|
||||
// ---------------------------------------------------
|
||||
@import "fullcalendar";
|
||||
@import "select2";
|
||||
// Miscellaneous
|
||||
// ---------------------------------------------------
|
||||
@import "miscellaneous";
|
||||
@import "print";
|
||||
@import "text";
|
||||
@import "elevation";
|
||||
@@ -1,61 +0,0 @@
|
||||
/*!
|
||||
* AdminLTE v3.0.0-alpha
|
||||
* Author: Abdullah Almsaeed
|
||||
* Website: AdminLTE.io <http://adminlte.io>
|
||||
* License: Open source - MIT <http://opensource.org/licenses/MIT>
|
||||
*/
|
||||
// Bootstrap
|
||||
// ---------------------------------------------------
|
||||
@import "../../node_modules/bootstrap/scss/functions";
|
||||
@import "bootstrap-variables";
|
||||
@import "../../node_modules/bootstrap/scss/bootstrap";
|
||||
// VARIABLES AND MIXINS
|
||||
// ---------------------------------------------------
|
||||
@import "variables";
|
||||
@import "mixins";
|
||||
// Core
|
||||
// ---------------------------------------------------
|
||||
@import "layout";
|
||||
// COMPONENTS
|
||||
// ---------------------------------------------------
|
||||
@import "main-header";
|
||||
@import "brand";
|
||||
@import "main-sidebar";
|
||||
@import "sidebar-mini";
|
||||
@import "control-sidebar";
|
||||
@import "dropdown";
|
||||
@import "forms";
|
||||
@import "progress-bars";
|
||||
@import "small-box";
|
||||
@import "cards";
|
||||
@import "info-box";
|
||||
@import "timeline";
|
||||
@import "buttons";
|
||||
@import "callout";
|
||||
@import "alerts";
|
||||
@import "navs";
|
||||
@import "products";
|
||||
@import "table";
|
||||
@import "labels";
|
||||
@import "direct-chat";
|
||||
@import "users-list";
|
||||
@import "carousel";
|
||||
@import "social-widgets";
|
||||
// PAGES
|
||||
// ---------------------------------------------------
|
||||
@import "mailbox";
|
||||
@import "lockscreen";
|
||||
@import "login_and_register";
|
||||
@import "404_500_errors";
|
||||
@import "invoice";
|
||||
@import "profile";
|
||||
// Plugins
|
||||
// ---------------------------------------------------
|
||||
@import "fullcalendar";
|
||||
@import "select2";
|
||||
// Miscellaneous
|
||||
// ---------------------------------------------------
|
||||
@import "miscellaneous";
|
||||
@import "print";
|
||||
@import "text";
|
||||
@import "elevation";
|
||||
@@ -1,45 +0,0 @@
|
||||
/*
|
||||
* Component: alert
|
||||
* ----------------
|
||||
*/
|
||||
|
||||
.alert {
|
||||
.icon {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.close {
|
||||
color: #000;
|
||||
opacity: .2;
|
||||
&:hover {
|
||||
opacity: .5;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: $white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
//Alert Variants
|
||||
.alert-success {
|
||||
@extend .bg-success;
|
||||
border-color: darken(theme-color("success"), 5%);
|
||||
}
|
||||
|
||||
.alert-danger,
|
||||
.alert-error {
|
||||
@extend .bg-danger;
|
||||
border-color: darken(theme-color("danger"), 5%);
|
||||
}
|
||||
|
||||
.alert-warning {
|
||||
@extend .bg-warning;
|
||||
border-color: darken(theme-color("warning"), 5%);
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
@extend .bg-info;
|
||||
border-color: darken(theme-color("info"), 5%);
|
||||
}
|
||||
@@ -1,894 +0,0 @@
|
||||
// Variables
|
||||
//
|
||||
// Variables should follow the `$component-state-property-size` formula for
|
||||
// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.
|
||||
|
||||
|
||||
//
|
||||
// Color system
|
||||
//
|
||||
|
||||
// stylelint-disable
|
||||
$white: #ffffff !default;
|
||||
$gray-100: #f8f9fa !default;
|
||||
$gray-200: #e9ecef !default;
|
||||
$gray-300: #dee2e6 !default;
|
||||
$gray-400: #ced4da !default;
|
||||
$gray-500: #adb5bd !default;
|
||||
$gray-600: #6c757d !default;
|
||||
$gray-700: #495057 !default;
|
||||
$gray-800: #343a40 !default;
|
||||
$gray-900: #212529 !default;
|
||||
$black: #000 !default;
|
||||
|
||||
$grays: () !default;
|
||||
$grays: map-merge((
|
||||
"100": $gray-100,
|
||||
"200": $gray-200,
|
||||
"300": $gray-300,
|
||||
"400": $gray-400,
|
||||
"500": $gray-500,
|
||||
"600": $gray-600,
|
||||
"700": $gray-700,
|
||||
"800": $gray-800,
|
||||
"900": $gray-900
|
||||
), $grays);
|
||||
|
||||
$blue: #007bff !default;
|
||||
$indigo: #6610f2 !default;
|
||||
$purple: #6f42c1 !default;
|
||||
$pink: #e83e8c !default;
|
||||
$red: #dc3545 !default;
|
||||
$orange: #fd7e14 !default;
|
||||
$yellow: #ffc107 !default;
|
||||
$green: #28a745 !default;
|
||||
$teal: #20c997 !default;
|
||||
$cyan: #17a2b8 !default;
|
||||
|
||||
$colors: () !default;
|
||||
$colors: map-merge((
|
||||
"blue": $blue,
|
||||
"indigo": $indigo,
|
||||
"purple": $purple,
|
||||
"pink": $pink,
|
||||
"red": $red,
|
||||
"orange": $orange,
|
||||
"yellow": $yellow,
|
||||
"green": $green,
|
||||
"teal": $teal,
|
||||
"cyan": $cyan,
|
||||
"white": $white,
|
||||
"gray": $gray-600,
|
||||
"gray-dark": $gray-800
|
||||
), $colors);
|
||||
|
||||
$primary: $blue !default;
|
||||
$secondary: $gray-600 !default;
|
||||
$success: $green !default;
|
||||
$info: $cyan !default;
|
||||
$warning: $yellow !default;
|
||||
$danger: $red !default;
|
||||
$light: $gray-100 !default;
|
||||
$dark: $gray-800 !default;
|
||||
|
||||
$theme-colors: () !default;
|
||||
$theme-colors: map-merge((
|
||||
"primary": $primary,
|
||||
"secondary": $secondary,
|
||||
"success": $success,
|
||||
"info": $info,
|
||||
"warning": $warning,
|
||||
"danger": $danger,
|
||||
"light": $light,
|
||||
"dark": $dark
|
||||
), $theme-colors);
|
||||
// stylelint-enable
|
||||
|
||||
// Set a specific jump point for requesting color jumps
|
||||
$theme-color-interval: 8% !default;
|
||||
|
||||
// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255.
|
||||
$yiq-contrasted-threshold: 150 !default;
|
||||
|
||||
// Customize the light and dark text colors for use in our YIQ color contrast function.
|
||||
$yiq-text-dark: #1F2D3D !default;
|
||||
$yiq-text-light: $white !default;
|
||||
|
||||
// Options
|
||||
//
|
||||
// Quickly modify global styling by enabling or disabling optional features.
|
||||
|
||||
$enable-caret: true !default;
|
||||
$enable-rounded: true !default;
|
||||
$enable-shadows: true !default;
|
||||
$enable-gradients: false !default;
|
||||
$enable-transitions: true !default;
|
||||
$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
|
||||
$enable-grid-classes: true !default;
|
||||
$enable-print-styles: true !default;
|
||||
|
||||
|
||||
// Spacing
|
||||
//
|
||||
// Control the default styling of most Bootstrap elements by modifying these
|
||||
// variables. Mostly focused on spacing.
|
||||
// You can add more entries to the $spacers map, should you need more variation.
|
||||
|
||||
// stylelint-disable
|
||||
$spacer: 1rem !default;
|
||||
$spacers: () !default;
|
||||
$spacers: map-merge((
|
||||
0: 0,
|
||||
1: ($spacer * .25),
|
||||
2: ($spacer * .5),
|
||||
3: $spacer,
|
||||
4: ($spacer * 1.5),
|
||||
5: ($spacer * 3)
|
||||
), $spacers);
|
||||
|
||||
// This variable affects the `.h-*` and `.w-*` classes.
|
||||
$sizes: () !default;
|
||||
$sizes: map-merge((
|
||||
25: 25%,
|
||||
50: 50%,
|
||||
75: 75%,
|
||||
100: 100%
|
||||
), $sizes);
|
||||
// stylelint-enable
|
||||
|
||||
// Body
|
||||
//
|
||||
// Settings for the `<body>` element.
|
||||
|
||||
$body-bg: $white !default;
|
||||
$body-color: $gray-900 !default;
|
||||
|
||||
// Links
|
||||
//
|
||||
// Style anchor elements.
|
||||
|
||||
$link-color: theme-color("primary") !default;
|
||||
$link-decoration: none !default;
|
||||
$link-hover-color: darken($link-color, 15%) !default;
|
||||
$link-hover-decoration: none !default;
|
||||
|
||||
// Paragraphs
|
||||
//
|
||||
// Style p element.
|
||||
|
||||
$paragraph-margin-bottom: 1rem !default;
|
||||
|
||||
|
||||
// Grid breakpoints
|
||||
//
|
||||
// Define the minimum dimensions at which your layout will change,
|
||||
// adapting to different screen sizes, for use in media queries.
|
||||
|
||||
$grid-breakpoints: (
|
||||
xs: 0,
|
||||
sm: 576px,
|
||||
md: 768px,
|
||||
lg: 992px,
|
||||
xl: 1200px
|
||||
) !default;
|
||||
|
||||
@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
|
||||
@include _assert-starts-at-zero($grid-breakpoints);
|
||||
|
||||
|
||||
// Grid containers
|
||||
//
|
||||
// Define the maximum width of `.container` for different screen sizes.
|
||||
|
||||
$container-max-widths: (
|
||||
sm: 540px,
|
||||
md: 720px,
|
||||
lg: 960px,
|
||||
xl: 1140px
|
||||
) !default;
|
||||
|
||||
@include _assert-ascending($container-max-widths, "$container-max-widths");
|
||||
|
||||
|
||||
// Grid columns
|
||||
//
|
||||
// Set the number of columns and specify the width of the gutters.
|
||||
|
||||
$grid-columns: 12 !default;
|
||||
$grid-gutter-width: 15px !default;
|
||||
|
||||
// Components
|
||||
//
|
||||
// Define common padding and border radius sizes and more.
|
||||
|
||||
$line-height-lg: 1.5 !default;
|
||||
$line-height-sm: 1.5 !default;
|
||||
|
||||
$border-width: 1px !default;
|
||||
$border-color: $gray-300 !default;
|
||||
|
||||
$border-radius: .25rem !default;
|
||||
$border-radius-lg: .3rem !default;
|
||||
$border-radius-sm: .2rem !default;
|
||||
|
||||
$component-active-color: $white !default;
|
||||
$component-active-bg: theme-color("primary") !default;
|
||||
|
||||
$caret-width: .3em !default;
|
||||
|
||||
$transition-base: all .2s ease-in-out !default;
|
||||
$transition-fade: opacity .15s linear !default;
|
||||
$transition-collapse: height .35s ease !default;
|
||||
|
||||
|
||||
// Fonts
|
||||
//
|
||||
// Font, line-height, and color for body text, headings, and more.
|
||||
|
||||
// stylelint-disable value-keyword-case
|
||||
$font-family-sans-serif: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
|
||||
$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
|
||||
$font-family-base: $font-family-sans-serif !default;
|
||||
// stylelint-enable value-keyword-case
|
||||
|
||||
$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
|
||||
$font-size-lg: ($font-size-base * 1.25) !default;
|
||||
$font-size-sm: ($font-size-base * .875) !default;
|
||||
|
||||
$font-weight-light: 300 !default;
|
||||
$font-weight-normal: 400 !default;
|
||||
$font-weight-bold: 700 !default;
|
||||
|
||||
$font-weight-base: $font-weight-normal !default;
|
||||
$line-height-base: 1.5 !default;
|
||||
|
||||
$h1-font-size: $font-size-base * 2.5 !default;
|
||||
$h2-font-size: $font-size-base * 2 !default;
|
||||
$h3-font-size: $font-size-base * 1.75 !default;
|
||||
$h4-font-size: $font-size-base * 1.5 !default;
|
||||
$h5-font-size: $font-size-base * 1.25 !default;
|
||||
$h6-font-size: $font-size-base !default;
|
||||
|
||||
$headings-margin-bottom: ($spacer / 2) !default;
|
||||
$headings-font-family: inherit !default;
|
||||
$headings-font-weight: 500 !default;
|
||||
$headings-line-height: 1.2 !default;
|
||||
$headings-color: inherit !default;
|
||||
|
||||
$display1-size: 6rem !default;
|
||||
$display2-size: 5.5rem !default;
|
||||
$display3-size: 4.5rem !default;
|
||||
$display4-size: 3.5rem !default;
|
||||
|
||||
$display1-weight: 300 !default;
|
||||
$display2-weight: 300 !default;
|
||||
$display3-weight: 300 !default;
|
||||
$display4-weight: 300 !default;
|
||||
$display-line-height: $headings-line-height !default;
|
||||
|
||||
$lead-font-size: ($font-size-base * 1.25) !default;
|
||||
$lead-font-weight: 300 !default;
|
||||
|
||||
$small-font-size: 80% !default;
|
||||
|
||||
$text-muted: $gray-600 !default;
|
||||
|
||||
$blockquote-small-color: $gray-600 !default;
|
||||
$blockquote-font-size: ($font-size-base * 1.25) !default;
|
||||
|
||||
$hr-border-color: rgba($black, .1) !default;
|
||||
$hr-border-width: $border-width !default;
|
||||
|
||||
$mark-padding: .2em !default;
|
||||
|
||||
$dt-font-weight: $font-weight-bold !default;
|
||||
|
||||
$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;
|
||||
$nested-kbd-font-weight: $font-weight-bold !default;
|
||||
|
||||
$list-inline-padding: .5rem !default;
|
||||
|
||||
$mark-bg: #fcf8e3 !default;
|
||||
|
||||
$hr-margin-y: $spacer !default;
|
||||
|
||||
|
||||
// Tables
|
||||
//
|
||||
// Customizes the `.table` component with basic values, each used across all table variations.
|
||||
|
||||
$table-cell-padding: .75rem !default;
|
||||
$table-cell-padding-sm: .3rem !default;
|
||||
|
||||
$table-bg: transparent !default;
|
||||
$table-accent-bg: rgba($black, .05) !default;
|
||||
$table-hover-bg: rgba($black, .075) !default;
|
||||
$table-active-bg: $table-hover-bg !default;
|
||||
|
||||
$table-border-width: $border-width !default;
|
||||
$table-border-color: $gray-300 !default;
|
||||
|
||||
$table-head-bg: $gray-200 !default;
|
||||
$table-head-color: $gray-700 !default;
|
||||
|
||||
$table-dark-bg: $gray-900 !default;
|
||||
$table-dark-accent-bg: rgba($white, .05) !default;
|
||||
$table-dark-hover-bg: rgba($white, .075) !default;
|
||||
$table-dark-border-color: lighten($gray-900, 7.5%) !default;
|
||||
$table-dark-color: $body-bg !default;
|
||||
|
||||
|
||||
// Buttons + Forms
|
||||
//
|
||||
// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.
|
||||
|
||||
$input-btn-padding-y: .375rem !default;
|
||||
$input-btn-padding-x: .75rem !default;
|
||||
$input-btn-line-height: $line-height-base !default;
|
||||
|
||||
$input-btn-focus-width: .2rem !default;
|
||||
$input-btn-focus-color: rgba($component-active-bg, .25) !default;
|
||||
$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;
|
||||
|
||||
$input-btn-padding-y-sm: .25rem !default;
|
||||
$input-btn-padding-x-sm: .5rem !default;
|
||||
$input-btn-line-height-sm: $line-height-sm !default;
|
||||
|
||||
$input-btn-padding-y-lg: .5rem !default;
|
||||
$input-btn-padding-x-lg: 1rem !default;
|
||||
$input-btn-line-height-lg: $line-height-lg !default;
|
||||
|
||||
$input-btn-border-width: $border-width !default;
|
||||
|
||||
|
||||
// Buttons
|
||||
//
|
||||
// For each of Bootstrap's buttons, define text, background, and border color.
|
||||
|
||||
$btn-padding-y: $input-btn-padding-y !default;
|
||||
$btn-padding-x: $input-btn-padding-x !default;
|
||||
$btn-line-height: $input-btn-line-height !default;
|
||||
|
||||
$btn-padding-y-sm: $input-btn-padding-y-sm !default;
|
||||
$btn-padding-x-sm: $input-btn-padding-x-sm !default;
|
||||
$btn-line-height-sm: $input-btn-line-height-sm !default;
|
||||
|
||||
$btn-padding-y-lg: $input-btn-padding-y-lg !default;
|
||||
$btn-padding-x-lg: $input-btn-padding-x-lg !default;
|
||||
$btn-line-height-lg: $input-btn-line-height-lg !default;
|
||||
|
||||
$btn-border-width: $input-btn-border-width !default;
|
||||
|
||||
$btn-font-weight: $font-weight-normal !default;
|
||||
$btn-box-shadow: 0 1px 1px rgba($black, .075) !default;
|
||||
$btn-focus-width: $input-btn-focus-width !default;
|
||||
$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||
$btn-disabled-opacity: .65 !default;
|
||||
$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;
|
||||
|
||||
$btn-link-disabled-color: $gray-600 !default;
|
||||
|
||||
$btn-block-spacing-y: .5rem !default;
|
||||
|
||||
// Allows for customizing button radius independently from global border radius
|
||||
$btn-border-radius: $border-radius !default;
|
||||
$btn-border-radius-lg: $border-radius-lg !default;
|
||||
$btn-border-radius-sm: $border-radius-sm !default;
|
||||
|
||||
$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
|
||||
|
||||
|
||||
// Forms
|
||||
|
||||
$input-padding-y: $input-btn-padding-y !default;
|
||||
$input-padding-x: $input-btn-padding-x !default;
|
||||
$input-line-height: $input-btn-line-height !default;
|
||||
|
||||
$input-padding-y-sm: $input-btn-padding-y-sm !default;
|
||||
$input-padding-x-sm: $input-btn-padding-x-sm !default;
|
||||
$input-line-height-sm: $input-btn-line-height-sm !default;
|
||||
|
||||
$input-padding-y-lg: $input-btn-padding-y-lg !default;
|
||||
$input-padding-x-lg: $input-btn-padding-x-lg !default;
|
||||
$input-line-height-lg: $input-btn-line-height-lg !default;
|
||||
|
||||
$input-bg: $white !default;
|
||||
$input-disabled-bg: $gray-200 !default;
|
||||
|
||||
$input-color: $gray-700 !default;
|
||||
$input-border-color: $gray-400 !default;
|
||||
$input-border-width: $input-btn-border-width !default;
|
||||
$input-box-shadow: inset 0 0 0 rgba($black, 0) !default;
|
||||
|
||||
$input-border-radius: $border-radius !default;
|
||||
$input-border-radius-lg: $border-radius-lg !default;
|
||||
$input-border-radius-sm: $border-radius-sm !default;
|
||||
|
||||
$input-focus-bg: $input-bg !default;
|
||||
$input-focus-border-color: lighten($component-active-bg, 25%) !default;
|
||||
$input-focus-color: $input-color !default;
|
||||
$input-focus-width: $input-btn-focus-width !default;
|
||||
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||
|
||||
$input-placeholder-color: $gray-600 !default;
|
||||
|
||||
$input-height-border: $input-border-width * 2 !default;
|
||||
|
||||
$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;
|
||||
$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;
|
||||
|
||||
$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;
|
||||
$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;
|
||||
|
||||
$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;
|
||||
$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;
|
||||
|
||||
$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
|
||||
|
||||
$form-text-margin-top: .25rem !default;
|
||||
|
||||
$form-check-input-gutter: 1.25rem !default;
|
||||
$form-check-input-margin-y: .3rem !default;
|
||||
$form-check-input-margin-x: .25rem !default;
|
||||
|
||||
$form-check-inline-margin-x: .75rem !default;
|
||||
$form-check-inline-input-margin-x: .3125rem !default;
|
||||
|
||||
$form-group-margin-bottom: 1rem !default;
|
||||
|
||||
$input-group-addon-color: $input-color !default;
|
||||
$input-group-addon-bg: $gray-200 !default;
|
||||
$input-group-addon-border-color: $input-border-color !default;
|
||||
|
||||
$custom-control-gutter: 1.5rem !default;
|
||||
$custom-control-spacer-x: 1rem !default;
|
||||
|
||||
$custom-control-indicator-size: 1rem !default;
|
||||
$custom-control-indicator-bg: $gray-300 !default;
|
||||
$custom-control-indicator-bg-size: 50% 50% !default;
|
||||
$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
|
||||
|
||||
$custom-control-indicator-disabled-bg: $gray-200 !default;
|
||||
$custom-control-label-disabled-color: $gray-600 !default;
|
||||
|
||||
$custom-control-indicator-checked-color: $component-active-color !default;
|
||||
$custom-control-indicator-checked-bg: $component-active-bg !default;
|
||||
$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
|
||||
$custom-control-indicator-checked-box-shadow: none !default;
|
||||
|
||||
$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;
|
||||
|
||||
$custom-control-indicator-active-color: $component-active-color !default;
|
||||
$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
|
||||
$custom-control-indicator-active-box-shadow: none !default;
|
||||
|
||||
$custom-checkbox-indicator-border-radius: $border-radius !default;
|
||||
$custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
|
||||
$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
|
||||
$custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$custom-checkbox-indicator-indeterminate-box-shadow: none !default;
|
||||
|
||||
$custom-radio-indicator-border-radius: 50% !default;
|
||||
$custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$custom-select-padding-y: .375rem !default;
|
||||
$custom-select-padding-x: .75rem !default;
|
||||
$custom-select-height: $input-height !default;
|
||||
$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
|
||||
$custom-select-line-height: $input-btn-line-height !default;
|
||||
$custom-select-color: $input-color !default;
|
||||
$custom-select-disabled-color: $gray-600 !default;
|
||||
$custom-select-bg: $white !default;
|
||||
$custom-select-disabled-bg: $gray-200 !default;
|
||||
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
||||
$custom-select-indicator-color: $gray-800 !default;
|
||||
$custom-select-indicator: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$custom-select-border-width: $input-btn-border-width !default;
|
||||
$custom-select-border-color: $input-border-color !default;
|
||||
$custom-select-border-radius: $border-radius !default;
|
||||
|
||||
$custom-select-focus-border-color: $input-focus-border-color !default;
|
||||
$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
|
||||
|
||||
$custom-select-font-size-sm: 75% !default;
|
||||
$custom-select-height-sm: $input-height-sm !default;
|
||||
|
||||
$custom-select-font-size-lg: 125% !default;
|
||||
$custom-select-height-lg: $input-height-lg !default;
|
||||
|
||||
$custom-file-height: $input-height !default;
|
||||
$custom-file-focus-border-color: $input-focus-border-color !default;
|
||||
$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||
|
||||
$custom-file-padding-y: $input-btn-padding-y !default;
|
||||
$custom-file-padding-x: $input-btn-padding-x !default;
|
||||
$custom-file-line-height: $input-btn-line-height !default;
|
||||
$custom-file-color: $input-color !default;
|
||||
$custom-file-bg: $input-bg !default;
|
||||
$custom-file-border-width: $input-btn-border-width !default;
|
||||
$custom-file-border-color: $input-border-color !default;
|
||||
$custom-file-border-radius: $input-border-radius !default;
|
||||
$custom-file-box-shadow: $input-box-shadow !default;
|
||||
$custom-file-button-color: $custom-file-color !default;
|
||||
$custom-file-button-bg: $input-group-addon-bg !default;
|
||||
$custom-file-text: (
|
||||
en: "Browse"
|
||||
) !default;
|
||||
|
||||
|
||||
// Form validation
|
||||
$form-feedback-margin-top: $form-text-margin-top !default;
|
||||
$form-feedback-font-size: $small-font-size !default;
|
||||
$form-feedback-valid-color: theme-color("success") !default;
|
||||
$form-feedback-invalid-color: theme-color("danger") !default;
|
||||
|
||||
|
||||
// Dropdowns
|
||||
//
|
||||
// Dropdown menu container and contents.
|
||||
|
||||
$dropdown-min-width: 10rem !default;
|
||||
$dropdown-padding-y: .5rem !default;
|
||||
$dropdown-spacer: .125rem !default;
|
||||
$dropdown-bg: $white !default;
|
||||
$dropdown-border-color: rgba($black, .15) !default;
|
||||
$dropdown-border-radius: $border-radius !default;
|
||||
$dropdown-border-width: $border-width !default;
|
||||
$dropdown-divider-bg: $gray-200 !default;
|
||||
$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
|
||||
|
||||
$dropdown-link-color: $gray-900 !default;
|
||||
$dropdown-link-hover-color: darken($gray-900, 5%) !default;
|
||||
$dropdown-link-hover-bg: $gray-100 !default;
|
||||
|
||||
$dropdown-link-active-color: $component-active-color !default;
|
||||
$dropdown-link-active-bg: $component-active-bg !default;
|
||||
|
||||
$dropdown-link-disabled-color: $gray-600 !default;
|
||||
|
||||
$dropdown-item-padding-y: .25rem !default;
|
||||
$dropdown-item-padding-x: 1rem !default;
|
||||
|
||||
$dropdown-header-color: $gray-600 !default;
|
||||
|
||||
|
||||
// Z-index master list
|
||||
//
|
||||
// Warning: Avoid customizing these values. They're used for a bird's eye view
|
||||
// of components dependent on the z-axis and are designed to all work together.
|
||||
|
||||
$zindex-dropdown: 1000 !default;
|
||||
$zindex-sticky: 1020 !default;
|
||||
$zindex-fixed: 1030 !default;
|
||||
$zindex-modal-backdrop: 1040 !default;
|
||||
$zindex-modal: 1050 !default;
|
||||
$zindex-popover: 1060 !default;
|
||||
$zindex-tooltip: 1070 !default;
|
||||
|
||||
// Navs
|
||||
|
||||
$nav-link-padding-y: .5rem !default;
|
||||
$nav-link-padding-x: 1rem !default;
|
||||
$nav-link-disabled-color: $gray-600 !default;
|
||||
|
||||
$nav-tabs-border-color: $gray-300 !default;
|
||||
$nav-tabs-border-width: $border-width !default;
|
||||
$nav-tabs-border-radius: $border-radius !default;
|
||||
$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;
|
||||
$nav-tabs-link-active-color: $gray-700 !default;
|
||||
$nav-tabs-link-active-bg: $body-bg !default;
|
||||
$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;
|
||||
|
||||
$nav-pills-border-radius: $border-radius !default;
|
||||
$nav-pills-link-active-color: $component-active-color !default;
|
||||
$nav-pills-link-active-bg: $component-active-bg !default;
|
||||
|
||||
// Navbar
|
||||
|
||||
$navbar-padding-y: ($spacer / 2) !default;
|
||||
$navbar-padding-x: ($spacer / 2) !default;
|
||||
|
||||
$navbar-nav-link-padding-x: 1rem !default;
|
||||
|
||||
$navbar-brand-font-size: $font-size-lg !default;
|
||||
// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
|
||||
$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;
|
||||
$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;
|
||||
$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;
|
||||
|
||||
$navbar-toggler-padding-y: .25rem !default;
|
||||
$navbar-toggler-padding-x: .75rem !default;
|
||||
$navbar-toggler-font-size: $font-size-lg !default;
|
||||
$navbar-toggler-border-radius: $btn-border-radius !default;
|
||||
|
||||
$navbar-dark-color: rgba($white, .75) !default;
|
||||
$navbar-dark-hover-color: rgba($white, 1) !default;
|
||||
$navbar-dark-active-color: $white !default;
|
||||
$navbar-dark-disabled-color: rgba($white, .25) !default;
|
||||
$navbar-dark-toggler-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$navbar-dark-toggler-border-color: rgba($white, .1) !default;
|
||||
|
||||
$navbar-light-color: rgba($black, .5) !default;
|
||||
$navbar-light-hover-color: rgba($black, .7) !default;
|
||||
$navbar-light-active-color: rgba($black, .9) !default;
|
||||
$navbar-light-disabled-color: rgba($black, .3) !default;
|
||||
$navbar-light-toggler-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$navbar-light-toggler-border-color: rgba($black, .1) !default;
|
||||
|
||||
// Pagination
|
||||
|
||||
$pagination-padding-y: .5rem !default;
|
||||
$pagination-padding-x: .75rem !default;
|
||||
$pagination-padding-y-sm: .25rem !default;
|
||||
$pagination-padding-x-sm: .5rem !default;
|
||||
$pagination-padding-y-lg: .75rem !default;
|
||||
$pagination-padding-x-lg: 1.5rem !default;
|
||||
$pagination-line-height: 1.25 !default;
|
||||
|
||||
$pagination-color: $link-color !default;
|
||||
$pagination-bg: $white !default;
|
||||
$pagination-border-width: $border-width !default;
|
||||
$pagination-border-color: $gray-300 !default;
|
||||
|
||||
$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||
|
||||
$pagination-hover-color: $link-hover-color !default;
|
||||
$pagination-hover-bg: $gray-200 !default;
|
||||
$pagination-hover-border-color: $gray-300 !default;
|
||||
|
||||
$pagination-active-color: $component-active-color !default;
|
||||
$pagination-active-bg: $component-active-bg !default;
|
||||
$pagination-active-border-color: $pagination-active-bg !default;
|
||||
|
||||
$pagination-disabled-color: $gray-600 !default;
|
||||
$pagination-disabled-bg: $white !default;
|
||||
$pagination-disabled-border-color: $gray-300 !default;
|
||||
|
||||
|
||||
// Jumbotron
|
||||
|
||||
$jumbotron-padding: 2rem !default;
|
||||
$jumbotron-bg: $gray-200 !default;
|
||||
|
||||
|
||||
// Cards
|
||||
|
||||
$card-spacer-y: .75rem !default;
|
||||
$card-spacer-x: 1.25rem !default;
|
||||
$card-border-width: 0 !default; //$border-width !default;
|
||||
$card-border-radius: $border-radius !default;
|
||||
$card-border-color: rgba($black, .125) !default;
|
||||
$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;
|
||||
$card-cap-bg: rgba($black, .03) !default;
|
||||
$card-bg: $white !default;
|
||||
|
||||
$card-img-overlay-padding: 1.25rem !default;
|
||||
|
||||
$card-group-margin: ($grid-gutter-width / 2) !default;
|
||||
$card-deck-margin: $card-group-margin !default;
|
||||
|
||||
$card-columns-count: 3 !default;
|
||||
$card-columns-gap: 1.25rem !default;
|
||||
$card-columns-margin: $card-spacer-y !default;
|
||||
|
||||
|
||||
// Tooltips
|
||||
|
||||
$tooltip-font-size: $font-size-sm !default;
|
||||
$tooltip-max-width: 200px !default;
|
||||
$tooltip-color: $white !default;
|
||||
$tooltip-bg: $black !default;
|
||||
$tooltip-border-radius: $border-radius !default;
|
||||
$tooltip-opacity: .9 !default;
|
||||
$tooltip-padding-y: .25rem !default;
|
||||
$tooltip-padding-x: .5rem !default;
|
||||
$tooltip-margin: 0 !default;
|
||||
|
||||
$tooltip-arrow-width: .8rem !default;
|
||||
$tooltip-arrow-height: .4rem !default;
|
||||
$tooltip-arrow-color: $tooltip-bg !default;
|
||||
|
||||
|
||||
// Popovers
|
||||
|
||||
$popover-font-size: $font-size-sm !default;
|
||||
$popover-bg: $white !default;
|
||||
$popover-max-width: 276px !default;
|
||||
$popover-border-width: $border-width !default;
|
||||
$popover-border-color: rgba($black, .2) !default;
|
||||
$popover-border-radius: $border-radius-lg !default;
|
||||
$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;
|
||||
|
||||
$popover-header-bg: darken($popover-bg, 3%) !default;
|
||||
$popover-header-color: $headings-color !default;
|
||||
$popover-header-padding-y: .5rem !default;
|
||||
$popover-header-padding-x: .75rem !default;
|
||||
|
||||
$popover-body-color: $body-color !default;
|
||||
$popover-body-padding-y: $popover-header-padding-y !default;
|
||||
$popover-body-padding-x: $popover-header-padding-x !default;
|
||||
|
||||
$popover-arrow-width: 1rem !default;
|
||||
$popover-arrow-height: .5rem !default;
|
||||
$popover-arrow-color: $popover-bg !default;
|
||||
|
||||
$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
|
||||
|
||||
|
||||
// Badges
|
||||
|
||||
$badge-font-size: 75% !default;
|
||||
$badge-font-weight: $font-weight-bold !default;
|
||||
$badge-padding-y: .25em !default;
|
||||
$badge-padding-x: .4em !default;
|
||||
$badge-border-radius: $border-radius !default;
|
||||
|
||||
$badge-pill-padding-x: .6em !default;
|
||||
// Use a higher than normal value to ensure completely rounded edges when
|
||||
// customizing padding or font-size on labels.
|
||||
$badge-pill-border-radius: 10rem !default;
|
||||
|
||||
|
||||
// Modals
|
||||
|
||||
// Padding applied to the modal body
|
||||
$modal-inner-padding: 1rem !default;
|
||||
|
||||
$modal-dialog-margin: .5rem !default;
|
||||
$modal-dialog-margin-y-sm-up: 1.75rem !default;
|
||||
|
||||
$modal-title-line-height: $line-height-base !default;
|
||||
|
||||
$modal-content-bg: $white !default;
|
||||
$modal-content-border-color: rgba($black, .2) !default;
|
||||
$modal-content-border-width: $border-width !default;
|
||||
$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
|
||||
$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
|
||||
|
||||
$modal-backdrop-bg: $black !default;
|
||||
$modal-backdrop-opacity: .5 !default;
|
||||
$modal-header-border-color: $gray-200 !default;
|
||||
$modal-footer-border-color: $modal-header-border-color !default;
|
||||
$modal-header-border-width: $modal-content-border-width !default;
|
||||
$modal-footer-border-width: $modal-header-border-width !default;
|
||||
$modal-header-padding: 1rem !default;
|
||||
|
||||
$modal-lg: 800px !default;
|
||||
$modal-md: 500px !default;
|
||||
$modal-sm: 300px !default;
|
||||
|
||||
$modal-transition: transform .3s ease-out !default;
|
||||
|
||||
|
||||
// Alerts
|
||||
//
|
||||
// Define alert colors, border radius, and padding.
|
||||
|
||||
$alert-padding-y: .75rem !default;
|
||||
$alert-padding-x: 1.25rem !default;
|
||||
$alert-margin-bottom: 1rem !default;
|
||||
$alert-border-radius: $border-radius !default;
|
||||
$alert-link-font-weight: $font-weight-bold !default;
|
||||
$alert-border-width: $border-width !default;
|
||||
|
||||
$alert-bg-level: -10 !default;
|
||||
$alert-border-level: -9 !default;
|
||||
$alert-color-level: 6 !default;
|
||||
|
||||
|
||||
// Progress bars
|
||||
|
||||
$progress-height: 1rem !default;
|
||||
$progress-font-size: ($font-size-base * .75) !default;
|
||||
$progress-bg: $gray-200 !default;
|
||||
$progress-border-radius: $border-radius !default;
|
||||
$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;
|
||||
$progress-bar-color: $white !default;
|
||||
$progress-bar-bg: theme-color("primary") !default;
|
||||
$progress-bar-animation-timing: 1s linear infinite !default;
|
||||
$progress-bar-transition: width .6s ease !default;
|
||||
|
||||
// List group
|
||||
|
||||
$list-group-bg: $white !default;
|
||||
$list-group-border-color: rgba($black, .125) !default;
|
||||
$list-group-border-width: $border-width !default;
|
||||
$list-group-border-radius: $border-radius !default;
|
||||
|
||||
$list-group-item-padding-y: .75rem !default;
|
||||
$list-group-item-padding-x: 1.25rem !default;
|
||||
|
||||
$list-group-hover-bg: $gray-100 !default;
|
||||
$list-group-active-color: $component-active-color !default;
|
||||
$list-group-active-bg: $component-active-bg !default;
|
||||
$list-group-active-border-color: $list-group-active-bg !default;
|
||||
|
||||
$list-group-disabled-color: $gray-600 !default;
|
||||
$list-group-disabled-bg: $list-group-bg !default;
|
||||
|
||||
$list-group-action-color: $gray-700 !default;
|
||||
$list-group-action-hover-color: $list-group-action-color !default;
|
||||
|
||||
$list-group-action-active-color: $body-color !default;
|
||||
$list-group-action-active-bg: $gray-200 !default;
|
||||
|
||||
|
||||
// Image thumbnails
|
||||
|
||||
$thumbnail-padding: .25rem !default;
|
||||
$thumbnail-bg: $body-bg !default;
|
||||
$thumbnail-border-width: $border-width !default;
|
||||
$thumbnail-border-color: $gray-300 !default;
|
||||
$thumbnail-border-radius: $border-radius !default;
|
||||
$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;
|
||||
|
||||
|
||||
// Figures
|
||||
|
||||
$figure-caption-font-size: 90% !default;
|
||||
$figure-caption-color: $gray-600 !default;
|
||||
|
||||
|
||||
// Breadcrumbs
|
||||
|
||||
$breadcrumb-padding-y: .75rem !default;
|
||||
$breadcrumb-padding-x: 1rem !default;
|
||||
$breadcrumb-item-padding: .5rem !default;
|
||||
|
||||
$breadcrumb-margin-bottom: 1rem !default;
|
||||
|
||||
$breadcrumb-bg: $gray-200 !default;
|
||||
$breadcrumb-divider-color: $gray-600 !default;
|
||||
$breadcrumb-active-color: $gray-600 !default;
|
||||
$breadcrumb-divider: "/" !default;
|
||||
|
||||
|
||||
// Carousel
|
||||
|
||||
$carousel-control-color: $white !default;
|
||||
$carousel-control-width: 15% !default;
|
||||
$carousel-control-opacity: .5 !default;
|
||||
|
||||
$carousel-indicator-width: 30px !default;
|
||||
$carousel-indicator-height: 3px !default;
|
||||
$carousel-indicator-spacer: 3px !default;
|
||||
$carousel-indicator-active-bg: $white !default;
|
||||
|
||||
$carousel-caption-width: 70% !default;
|
||||
$carousel-caption-color: $white !default;
|
||||
|
||||
$carousel-control-icon-width: 20px !default;
|
||||
|
||||
$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$carousel-transition: transform .6s ease !default;
|
||||
|
||||
|
||||
// Close
|
||||
|
||||
$close-font-size: $font-size-base * 1.5 !default;
|
||||
$close-font-weight: $font-weight-bold !default;
|
||||
$close-color: $black !default;
|
||||
$close-text-shadow: 0 1px 0 $white !default;
|
||||
|
||||
// Code
|
||||
|
||||
$code-font-size: 87.5% !default;
|
||||
$code-color: $pink !default;
|
||||
|
||||
$kbd-padding-y: .2rem !default;
|
||||
$kbd-padding-x: .4rem !default;
|
||||
$kbd-font-size: $code-font-size !default;
|
||||
$kbd-color: $white !default;
|
||||
$kbd-bg: $gray-900 !default;
|
||||
|
||||
$pre-color: $gray-900 !default;
|
||||
$pre-scrollable-max-height: 340px !default;
|
||||
|
||||
|
||||
// Printing
|
||||
$print-page-size: a3 !default;
|
||||
$print-body-min-width: map-get($grid-breakpoints, "lg") !default;
|
||||
961
build/scss/_bootstrap_variables.scss
Normal file
961
build/scss/_bootstrap_variables.scss
Normal file
@@ -0,0 +1,961 @@
|
||||
// Variables
|
||||
//
|
||||
// Copy settings from this file into the provided `_custom.scss` to override
|
||||
// the Bootstrap defaults without modifying key, versioned files.
|
||||
|
||||
|
||||
// Table of Contents
|
||||
//
|
||||
// Colors
|
||||
// Options
|
||||
// Spacing
|
||||
// Body
|
||||
// Links
|
||||
// Grid breakpoints
|
||||
// Grid containers
|
||||
// Grid columns
|
||||
// Fonts
|
||||
// Components
|
||||
// Tables
|
||||
// Buttons
|
||||
// Forms
|
||||
// Dropdowns
|
||||
// Z-index master list
|
||||
// Navbar
|
||||
// Navs
|
||||
// Pagination
|
||||
// Jumbotron
|
||||
// Form states and alerts
|
||||
// Cards
|
||||
// Tooltips
|
||||
// Popovers
|
||||
// Badges
|
||||
// Modals
|
||||
// Alerts
|
||||
// Progress bars
|
||||
// List group
|
||||
// Image thumbnails
|
||||
// Figures
|
||||
// Breadcrumbs
|
||||
// Carousel
|
||||
// Close
|
||||
// Code
|
||||
|
||||
@mixin _assert-ascending($map, $map-name) {
|
||||
$prev-key: null;
|
||||
$prev-num: null;
|
||||
@each $key, $num in $map {
|
||||
@if $prev-num == null {
|
||||
// Do nothing
|
||||
} @else if not comparable($prev-num, $num) {
|
||||
@warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
||||
} @else if $prev-num >= $num {
|
||||
@warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
||||
}
|
||||
$prev-key: $key;
|
||||
$prev-num: $num;
|
||||
}
|
||||
}
|
||||
|
||||
// Replace `$search` with `$replace` in `$string`
|
||||
// @author Hugo Giraudel
|
||||
// @param {String} $string - Initial string
|
||||
// @param {String} $search - Substring to replace
|
||||
// @param {String} $replace ('') - New value
|
||||
// @return {String} - Updated string
|
||||
@function str-replace($string, $search, $replace: "") {
|
||||
$index: str-index($string, $search);
|
||||
|
||||
@if $index {
|
||||
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
||||
}
|
||||
|
||||
@return $string;
|
||||
}
|
||||
|
||||
@mixin _assert-starts-at-zero($map) {
|
||||
$values: map-values($map);
|
||||
$first-value: nth($values, 1);
|
||||
@if $first-value != 0 {
|
||||
@warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// General variable structure
|
||||
//
|
||||
// Variable format should follow the `$component-modifier-state-property` order.
|
||||
|
||||
|
||||
// Colors
|
||||
//
|
||||
// Grayscale and brand colors for use across Bootstrap.
|
||||
|
||||
// Start with assigning color names to specific hex values.
|
||||
$white: #fff !default;
|
||||
$black: #000 !default;
|
||||
$red: #d9534f !default;
|
||||
$orange: #f0ad4e !default;
|
||||
$yellow: #ffd500 !default;
|
||||
$green: #5cb85c !default;
|
||||
$blue: #0275d8 !default;
|
||||
$teal: #5bc0de !default;
|
||||
$pink: #ff5b77 !default;
|
||||
$purple: #613d7c !default;
|
||||
|
||||
// Create grayscale
|
||||
$gray-dark: #292b2c !default;
|
||||
$gray: #464a4c !default;
|
||||
$gray-light: #636c72 !default;
|
||||
$gray-lighter: #eceeef !default;
|
||||
$gray-lightest: #f7f7f9 !default;
|
||||
|
||||
// Reassign color vars to semantic color scheme
|
||||
$brand-primary: $blue !default;
|
||||
$brand-success: $green !default;
|
||||
$brand-info: $teal !default;
|
||||
$brand-warning: $orange !default;
|
||||
$brand-danger: $red !default;
|
||||
$brand-inverse: $gray-dark !default;
|
||||
|
||||
|
||||
// Options
|
||||
//
|
||||
// Quickly modify global styling by enabling or disabling optional features.
|
||||
|
||||
$enable-rounded: true !default;
|
||||
$enable-shadows: false !default;
|
||||
$enable-gradients: false !default;
|
||||
$enable-transitions: true !default;
|
||||
$enable-hover-media-query: false !default;
|
||||
$enable-grid-classes: true !default;
|
||||
$enable-print-styles: true !default;
|
||||
|
||||
|
||||
// Spacing
|
||||
//
|
||||
// Control the default styling of most Bootstrap elements by modifying these
|
||||
// variables. Mostly focused on spacing.
|
||||
// You can add more entries to the $spacers map, should you need more variation.
|
||||
|
||||
$spacer: 1rem !default;
|
||||
$spacer-x: $spacer !default;
|
||||
$spacer-y: $spacer !default;
|
||||
$spacers: (
|
||||
0: (
|
||||
x: 0,
|
||||
y: 0
|
||||
),
|
||||
1: (
|
||||
x: ($spacer-x * .25),
|
||||
y: ($spacer-y * .25)
|
||||
),
|
||||
2: (
|
||||
x: ($spacer-x * .5),
|
||||
y: ($spacer-y * .5)
|
||||
),
|
||||
3: (
|
||||
x: $spacer-x,
|
||||
y: $spacer-y
|
||||
),
|
||||
4: (
|
||||
x: ($spacer-x * 1.5),
|
||||
y: ($spacer-y * 1.5)
|
||||
),
|
||||
5: (
|
||||
x: ($spacer-x * 3),
|
||||
y: ($spacer-y * 3)
|
||||
)
|
||||
) !default;
|
||||
$border-width: 1px !default;
|
||||
|
||||
// This variable affects the `.h-*` and `.w-*` classes.
|
||||
$sizes: (
|
||||
25: 25%,
|
||||
50: 50%,
|
||||
75: 75%,
|
||||
100: 100%
|
||||
) !default;
|
||||
|
||||
// Body
|
||||
//
|
||||
// Settings for the `<body>` element.
|
||||
|
||||
$body-bg: $white !default;
|
||||
$body-color: $gray-dark !default;
|
||||
$inverse-bg: $gray-dark !default;
|
||||
$inverse-color: $gray-lighter !default;
|
||||
|
||||
|
||||
// Links
|
||||
//
|
||||
// Style anchor elements.
|
||||
|
||||
$link-color: $brand-primary !default;
|
||||
$link-decoration: none !default;
|
||||
$link-hover-color: darken($link-color, 15%) !default;
|
||||
$link-hover-decoration: underline !default;
|
||||
|
||||
|
||||
// Grid breakpoints
|
||||
//
|
||||
// Define the minimum dimensions at which your layout will change,
|
||||
// adapting to different screen sizes, for use in media queries.
|
||||
|
||||
$grid-breakpoints: (
|
||||
xs: 0,
|
||||
sm: 576px,
|
||||
md: 768px,
|
||||
lg: 992px,
|
||||
xl: 1200px
|
||||
) !default;
|
||||
@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
|
||||
@include _assert-starts-at-zero($grid-breakpoints);
|
||||
|
||||
|
||||
// Grid containers
|
||||
//
|
||||
// Define the maximum width of `.container` for different screen sizes.
|
||||
|
||||
$container-max-widths: (
|
||||
sm: 540px,
|
||||
md: 720px,
|
||||
lg: 960px,
|
||||
xl: 1140px
|
||||
) !default;
|
||||
@include _assert-ascending($container-max-widths, "$container-max-widths");
|
||||
|
||||
|
||||
// Grid columns
|
||||
//
|
||||
// Set the number of columns and specify the width of the gutters.
|
||||
|
||||
$grid-columns: 12 !default;
|
||||
$grid-gutter-width-base: 30px !default;
|
||||
$grid-gutter-widths: (
|
||||
xs: $grid-gutter-width-base,
|
||||
sm: $grid-gutter-width-base,
|
||||
md: $grid-gutter-width-base,
|
||||
lg: $grid-gutter-width-base,
|
||||
xl: $grid-gutter-width-base
|
||||
) !default;
|
||||
|
||||
// Fonts
|
||||
//
|
||||
// Font, line-height, and color for body text, headings, and more.
|
||||
|
||||
$font-family-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
|
||||
$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
|
||||
$font-family-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
|
||||
$font-family-base: $font-family-sans-serif !default;
|
||||
|
||||
$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
|
||||
$font-size-lg: 1.25rem !default;
|
||||
$font-size-sm: .875rem !default;
|
||||
$font-size-xs: .75rem !default;
|
||||
|
||||
$font-weight-normal: normal !default;
|
||||
$font-weight-bold: bold !default;
|
||||
|
||||
$font-weight-base: $font-weight-normal !default;
|
||||
$line-height-base: 1.5 !default;
|
||||
|
||||
$font-size-h1: 2.5rem !default;
|
||||
$font-size-h2: 2rem !default;
|
||||
$font-size-h3: 1.75rem !default;
|
||||
$font-size-h4: 1.5rem !default;
|
||||
$font-size-h5: 1.25rem !default;
|
||||
$font-size-h6: 1rem !default;
|
||||
|
||||
$headings-margin-bottom: ($spacer / 2) !default;
|
||||
$headings-font-family: inherit !default;
|
||||
$headings-font-weight: 500 !default;
|
||||
$headings-line-height: 1.1 !default;
|
||||
$headings-color: inherit !default;
|
||||
|
||||
$display1-size: 6rem !default;
|
||||
$display2-size: 5.5rem !default;
|
||||
$display3-size: 4.5rem !default;
|
||||
$display4-size: 3.5rem !default;
|
||||
|
||||
$display1-weight: 300 !default;
|
||||
$display2-weight: 300 !default;
|
||||
$display3-weight: 300 !default;
|
||||
$display4-weight: 300 !default;
|
||||
$display-line-height: $headings-line-height !default;
|
||||
|
||||
$lead-font-size: 1.25rem !default;
|
||||
$lead-font-weight: 300 !default;
|
||||
|
||||
$small-font-size: 80% !default;
|
||||
|
||||
$text-muted: $gray-light !default;
|
||||
|
||||
$abbr-border-color: $gray-light !default;
|
||||
|
||||
$blockquote-small-color: $gray-light !default;
|
||||
$blockquote-font-size: ($font-size-base * 1.25) !default;
|
||||
$blockquote-border-color: $gray-lighter !default;
|
||||
$blockquote-border-width: .25rem !default;
|
||||
|
||||
$hr-border-color: rgba($black,.1) !default;
|
||||
$hr-border-width: $border-width !default;
|
||||
|
||||
$mark-padding: .2em !default;
|
||||
|
||||
$dt-font-weight: $font-weight-bold !default;
|
||||
|
||||
$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;
|
||||
$nested-kbd-font-weight: $font-weight-bold !default;
|
||||
|
||||
$list-inline-padding: 5px !default;
|
||||
|
||||
|
||||
// Components
|
||||
//
|
||||
// Define common padding and border radius sizes and more.
|
||||
|
||||
$line-height-lg: (4 / 3) !default;
|
||||
$line-height-sm: 1.5 !default;
|
||||
|
||||
$border-radius: .25rem !default;
|
||||
$border-radius-lg: .3rem !default;
|
||||
$border-radius-sm: .2rem !default;
|
||||
|
||||
$component-active-color: $white !default;
|
||||
$component-active-bg: $brand-primary !default;
|
||||
|
||||
$caret-width: .3em !default;
|
||||
|
||||
$transition-base: all .2s ease-in-out !default;
|
||||
$transition-fade: opacity .15s linear !default;
|
||||
$transition-collapse: height .35s ease !default;
|
||||
|
||||
|
||||
// Tables
|
||||
//
|
||||
// Customizes the `.table` component with basic values, each used across all table variations.
|
||||
|
||||
$table-cell-padding: .75rem !default;
|
||||
$table-sm-cell-padding: .3rem !default;
|
||||
|
||||
$table-bg: transparent !default;
|
||||
|
||||
$table-inverse-bg: $gray-dark !default;
|
||||
$table-inverse-color: $body-bg !default;
|
||||
|
||||
$table-bg-accent: rgba($black,.05) !default;
|
||||
$table-bg-hover: rgba($black,.075) !default;
|
||||
$table-bg-active: $table-bg-hover !default;
|
||||
|
||||
$table-head-bg: $gray-lighter !default;
|
||||
$table-head-color: $gray !default;
|
||||
|
||||
$table-border-width: $border-width !default;
|
||||
$table-border-color: $gray-lighter !default;
|
||||
|
||||
|
||||
// Buttons
|
||||
//
|
||||
// For each of Bootstrap's buttons, define text, background and border color.
|
||||
|
||||
$btn-padding-x: 1rem !default;
|
||||
$btn-padding-y: .5rem !default;
|
||||
$btn-line-height: 1.25 !default;
|
||||
$btn-font-weight: $font-weight-normal !default;
|
||||
$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;
|
||||
$btn-focus-box-shadow: 0 0 0 2px rgba($brand-primary, .25) !default;
|
||||
$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;
|
||||
|
||||
$btn-primary-color: $white !default;
|
||||
$btn-primary-bg: $brand-primary !default;
|
||||
$btn-primary-border: $btn-primary-bg !default;
|
||||
|
||||
$btn-secondary-color: $gray-dark !default;
|
||||
$btn-secondary-bg: $white !default;
|
||||
$btn-secondary-border: #ccc !default;
|
||||
|
||||
$btn-info-color: $white !default;
|
||||
$btn-info-bg: $brand-info !default;
|
||||
$btn-info-border: $btn-info-bg !default;
|
||||
|
||||
$btn-success-color: $white !default;
|
||||
$btn-success-bg: $brand-success !default;
|
||||
$btn-success-border: $btn-success-bg !default;
|
||||
|
||||
$btn-warning-color: $white !default;
|
||||
$btn-warning-bg: $brand-warning !default;
|
||||
$btn-warning-border: $btn-warning-bg !default;
|
||||
|
||||
$btn-danger-color: $white !default;
|
||||
$btn-danger-bg: $brand-danger !default;
|
||||
$btn-danger-border: $btn-danger-bg !default;
|
||||
|
||||
$btn-link-disabled-color: $gray-light !default;
|
||||
|
||||
$btn-padding-x-sm: .5rem !default;
|
||||
$btn-padding-y-sm: .25rem !default;
|
||||
|
||||
$btn-padding-x-lg: 1.5rem !default;
|
||||
$btn-padding-y-lg: .75rem !default;
|
||||
|
||||
$btn-block-spacing-y: .5rem !default;
|
||||
$btn-toolbar-margin: .5rem !default;
|
||||
|
||||
// Allows for customizing button radius independently from global border radius
|
||||
$btn-border-radius: $border-radius !default;
|
||||
$btn-border-radius-lg: $border-radius-lg !default;
|
||||
$btn-border-radius-sm: $border-radius-sm !default;
|
||||
|
||||
$btn-transition: all .2s ease-in-out !default;
|
||||
|
||||
|
||||
// Forms
|
||||
|
||||
$input-padding-x: .75rem !default;
|
||||
$input-padding-y: .5rem !default;
|
||||
$input-line-height: 1.25 !default;
|
||||
|
||||
$input-bg: $white !default;
|
||||
$input-bg-disabled: $gray-lighter !default;
|
||||
|
||||
$input-color: $gray !default;
|
||||
$input-border-color: rgba($black,.15) !default;
|
||||
$input-btn-border-width: $border-width !default; // For form controls and buttons
|
||||
$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;
|
||||
|
||||
$input-border-radius: $border-radius !default;
|
||||
$input-border-radius-lg: $border-radius-lg !default;
|
||||
$input-border-radius-sm: $border-radius-sm !default;
|
||||
|
||||
$input-bg-focus: $input-bg !default;
|
||||
$input-border-focus: lighten($brand-primary, 25%) !default;
|
||||
$input-box-shadow-focus: $input-box-shadow, rgba($input-border-focus, .6) !default;
|
||||
$input-color-focus: $input-color !default;
|
||||
|
||||
$input-color-placeholder: $gray-light !default;
|
||||
|
||||
$input-padding-x-sm: .5rem !default;
|
||||
$input-padding-y-sm: .25rem !default;
|
||||
|
||||
$input-padding-x-lg: 1.5rem !default;
|
||||
$input-padding-y-lg: .75rem !default;
|
||||
|
||||
$input-height: (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;
|
||||
$input-height-lg: (($font-size-lg * $line-height-lg) + ($input-padding-y-lg * 2)) !default;
|
||||
$input-height-sm: (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)) !default;
|
||||
|
||||
$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;
|
||||
|
||||
$form-text-margin-top: .25rem !default;
|
||||
$form-feedback-margin-top: $form-text-margin-top !default;
|
||||
|
||||
$form-check-margin-bottom: .5rem !default;
|
||||
$form-check-input-gutter: 1.25rem !default;
|
||||
$form-check-input-margin-y: .25rem !default;
|
||||
$form-check-input-margin-x: .25rem !default;
|
||||
|
||||
$form-check-inline-margin-x: .75rem !default;
|
||||
|
||||
$form-group-margin-bottom: $spacer-y !default;
|
||||
|
||||
$input-group-addon-bg: $gray-lighter !default;
|
||||
$input-group-addon-border-color: $input-border-color !default;
|
||||
|
||||
$cursor-disabled: not-allowed !default;
|
||||
|
||||
$custom-control-gutter: 1.5rem !default;
|
||||
$custom-control-spacer-x: 1rem !default;
|
||||
$custom-control-spacer-y: .25rem !default;
|
||||
|
||||
$custom-control-indicator-size: 1rem !default;
|
||||
$custom-control-indicator-margin-y: (($line-height-base * 1rem) - $custom-control-indicator-size) / -2 !default;
|
||||
$custom-control-indicator-bg: #ddd !default;
|
||||
$custom-control-indicator-bg-size: 50% 50% !default;
|
||||
$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;
|
||||
|
||||
$custom-control-disabled-cursor: $cursor-disabled !default;
|
||||
$custom-control-disabled-indicator-bg: $gray-lighter !default;
|
||||
$custom-control-disabled-description-color: $gray-light !default;
|
||||
|
||||
$custom-control-checked-indicator-color: $white !default;
|
||||
$custom-control-checked-indicator-bg: $brand-primary !default;
|
||||
$custom-control-checked-indicator-box-shadow: none !default;
|
||||
|
||||
$custom-control-focus-indicator-box-shadow: 0 0 0 1px $body-bg, 0 0 0 3px $brand-primary !default;
|
||||
|
||||
$custom-control-active-indicator-color: $white !default;
|
||||
$custom-control-active-indicator-bg: lighten($brand-primary, 35%) !default;
|
||||
$custom-control-active-indicator-box-shadow: none !default;
|
||||
|
||||
$custom-checkbox-radius: $border-radius !default;
|
||||
$custom-checkbox-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-checked-indicator-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$custom-checkbox-indeterminate-bg: $brand-primary !default;
|
||||
$custom-checkbox-indeterminate-indicator-color: $custom-control-checked-indicator-color !default;
|
||||
$custom-checkbox-indeterminate-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indeterminate-indicator-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$custom-checkbox-indeterminate-box-shadow: none !default;
|
||||
|
||||
$custom-radio-radius: 50% !default;
|
||||
$custom-radio-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-checked-indicator-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$custom-select-padding-x: .75rem !default;
|
||||
$custom-select-padding-y: .375rem !default;
|
||||
$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
|
||||
$custom-select-line-height: $input-line-height !default;
|
||||
$custom-select-color: $input-color !default;
|
||||
$custom-select-disabled-color: $gray-light !default;
|
||||
$custom-select-bg: $white !default;
|
||||
$custom-select-disabled-bg: $gray-lighter !default;
|
||||
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
||||
$custom-select-indicator-color: #333 !default;
|
||||
$custom-select-indicator: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$custom-select-border-width: $input-btn-border-width !default;
|
||||
$custom-select-border-color: $input-border-color !default;
|
||||
$custom-select-border-radius: $border-radius !default;
|
||||
|
||||
$custom-select-focus-border-color: lighten($brand-primary, 25%) !default;
|
||||
$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
|
||||
|
||||
$custom-select-sm-padding-y: .2rem !default;
|
||||
$custom-select-sm-font-size: 75% !default;
|
||||
|
||||
$custom-file-height: 2.5rem !default;
|
||||
$custom-file-width: 14rem !default;
|
||||
$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem $brand-primary !default;
|
||||
|
||||
$custom-file-padding-x: .5rem !default;
|
||||
$custom-file-padding-y: 1rem !default;
|
||||
$custom-file-line-height: 1.5 !default;
|
||||
$custom-file-color: $gray !default;
|
||||
$custom-file-bg: $white !default;
|
||||
$custom-file-border-width: $border-width !default;
|
||||
$custom-file-border-color: $input-border-color !default;
|
||||
$custom-file-border-radius: $border-radius !default;
|
||||
$custom-file-box-shadow: inset 0 .2rem .4rem rgba($black,.05) !default;
|
||||
$custom-file-button-color: $custom-file-color !default;
|
||||
$custom-file-button-bg: $gray-lighter !default;
|
||||
$custom-file-text: (
|
||||
placeholder: (
|
||||
en: "Choose file..."
|
||||
),
|
||||
button-label: (
|
||||
en: "Browse"
|
||||
)
|
||||
) !default;
|
||||
|
||||
|
||||
// Form validation icons
|
||||
$form-icon-success-color: $brand-success !default;
|
||||
$form-icon-success: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-success-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$form-icon-warning-color: $brand-warning !default;
|
||||
$form-icon-warning: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-warning-color}' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$form-icon-danger-color: $brand-danger !default;
|
||||
$form-icon-danger: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-icon-danger-color}' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
|
||||
// Dropdowns
|
||||
//
|
||||
// Dropdown menu container and contents.
|
||||
|
||||
$dropdown-min-width: 10rem !default;
|
||||
$dropdown-padding-y: .5rem !default;
|
||||
$dropdown-margin-top: .125rem !default;
|
||||
$dropdown-bg: $white !default;
|
||||
$dropdown-border-color: rgba($black,.15) !default;
|
||||
$dropdown-border-width: $border-width !default;
|
||||
$dropdown-divider-bg: $gray-lighter !default;
|
||||
$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;
|
||||
|
||||
$dropdown-link-color: $gray-dark !default;
|
||||
$dropdown-link-hover-color: darken($gray-dark, 5%) !default;
|
||||
$dropdown-link-hover-bg: $gray-lightest !default;
|
||||
|
||||
$dropdown-link-active-color: $component-active-color !default;
|
||||
$dropdown-link-active-bg: $component-active-bg !default;
|
||||
|
||||
$dropdown-link-disabled-color: $gray-light !default;
|
||||
|
||||
$dropdown-item-padding-x: 1.5rem !default;
|
||||
|
||||
$dropdown-header-color: $gray-light !default;
|
||||
|
||||
|
||||
// Z-index master list
|
||||
//
|
||||
// Warning: Avoid customizing these values. They're used for a bird's eye view
|
||||
// of components dependent on the z-axis and are designed to all work together.
|
||||
|
||||
$zindex-dropdown-backdrop: 990 !default;
|
||||
$zindex-navbar: 1000 !default;
|
||||
$zindex-dropdown: 1000 !default;
|
||||
$zindex-fixed: 1030 !default;
|
||||
$zindex-sticky: 1030 !default;
|
||||
$zindex-modal-backdrop: 1040 !default;
|
||||
$zindex-modal: 1050 !default;
|
||||
$zindex-popover: 1060 !default;
|
||||
$zindex-tooltip: 1070 !default;
|
||||
|
||||
|
||||
// Navbar
|
||||
|
||||
$navbar-border-radius: $border-radius !default;
|
||||
$navbar-padding-x: $spacer !default;
|
||||
$navbar-padding-y: ($spacer / 2) !default;
|
||||
|
||||
$navbar-brand-padding-y: .25rem !default;
|
||||
|
||||
$navbar-toggler-padding-x: .75rem !default;
|
||||
$navbar-toggler-padding-y: .25rem !default;
|
||||
$navbar-toggler-font-size: $font-size-lg !default;
|
||||
$navbar-toggler-border-radius: $btn-border-radius !default;
|
||||
|
||||
$navbar-inverse-color: rgba($white,.5) !default;
|
||||
$navbar-inverse-hover-color: rgba($white,.75) !default;
|
||||
$navbar-inverse-active-color: rgba($white,1) !default;
|
||||
$navbar-inverse-disabled-color: rgba($white,.25) !default;
|
||||
$navbar-inverse-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-inverse-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$navbar-inverse-toggler-border: rgba($white,.1) !default;
|
||||
|
||||
$navbar-light-color: rgba($black,.5) !default;
|
||||
$navbar-light-hover-color: rgba($black,.7) !default;
|
||||
$navbar-light-active-color: rgba($black,.9) !default;
|
||||
$navbar-light-disabled-color: rgba($black,.3) !default;
|
||||
$navbar-light-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$navbar-light-toggler-border: rgba($black,.1) !default;
|
||||
|
||||
// Navs
|
||||
|
||||
$nav-item-margin: .2rem !default;
|
||||
$nav-item-inline-spacer: 1rem !default;
|
||||
$nav-link-padding: .5em 1em !default;
|
||||
$nav-link-hover-bg: $gray-lighter !default;
|
||||
$nav-disabled-link-color: $gray-light !default;
|
||||
|
||||
$nav-tabs-border-color: #ddd !default;
|
||||
$nav-tabs-border-width: $border-width !default;
|
||||
$nav-tabs-border-radius: $border-radius !default;
|
||||
$nav-tabs-link-hover-border-color: $gray-lighter !default;
|
||||
$nav-tabs-active-link-hover-color: $gray !default;
|
||||
$nav-tabs-active-link-hover-bg: $body-bg !default;
|
||||
$nav-tabs-active-link-hover-border-color: #ddd !default;
|
||||
$nav-tabs-justified-link-border-color: #ddd !default;
|
||||
$nav-tabs-justified-active-link-border-color: $body-bg !default;
|
||||
|
||||
$nav-pills-border-radius: $border-radius !default;
|
||||
$nav-pills-active-link-color: $component-active-color !default;
|
||||
$nav-pills-active-link-bg: $component-active-bg !default;
|
||||
|
||||
|
||||
// Pagination
|
||||
|
||||
$pagination-padding-x: .75rem !default;
|
||||
$pagination-padding-y: .5rem !default;
|
||||
$pagination-padding-x-sm: .5rem !default;
|
||||
$pagination-padding-y-sm: .25rem !default;
|
||||
$pagination-padding-x-lg: 1.5rem !default;
|
||||
$pagination-padding-y-lg: .75rem !default;
|
||||
$pagination-line-height: 1.25 !default;
|
||||
|
||||
$pagination-color: $link-color !default;
|
||||
$pagination-bg: $white !default;
|
||||
$pagination-border-width: $border-width !default;
|
||||
$pagination-border-color: #ddd !default;
|
||||
|
||||
$pagination-hover-color: $link-hover-color !default;
|
||||
$pagination-hover-bg: $gray-lighter !default;
|
||||
$pagination-hover-border: #ddd !default;
|
||||
|
||||
$pagination-active-color: $white !default;
|
||||
$pagination-active-bg: $brand-primary !default;
|
||||
$pagination-active-border: $brand-primary !default;
|
||||
|
||||
$pagination-disabled-color: $gray-light !default;
|
||||
$pagination-disabled-bg: $white !default;
|
||||
$pagination-disabled-border: #ddd !default;
|
||||
|
||||
|
||||
// Jumbotron
|
||||
|
||||
$jumbotron-padding: 2rem !default;
|
||||
$jumbotron-bg: $gray-lighter !default;
|
||||
|
||||
|
||||
// Form states and alerts
|
||||
//
|
||||
// Define colors for form feedback states and, by default, alerts.
|
||||
|
||||
$state-success-text: #3c763d !default;
|
||||
$state-success-bg: #dff0d8 !default;
|
||||
$state-success-border: darken($state-success-bg, 5%) !default;
|
||||
|
||||
$state-info-text: #31708f !default;
|
||||
$state-info-bg: #d9edf7 !default;
|
||||
$state-info-border: darken($state-info-bg, 7%) !default;
|
||||
|
||||
$state-warning-text: #8a6d3b !default;
|
||||
$state-warning-bg: #fcf8e3 !default;
|
||||
$mark-bg: $state-warning-bg !default;
|
||||
$state-warning-border: darken($state-warning-bg, 5%) !default;
|
||||
|
||||
$state-danger-text: #a94442 !default;
|
||||
$state-danger-bg: #f2dede !default;
|
||||
$state-danger-border: darken($state-danger-bg, 5%) !default;
|
||||
|
||||
|
||||
// Cards
|
||||
|
||||
$card-spacer-x: 1.25rem !default;
|
||||
$card-spacer-y: .75rem !default;
|
||||
$card-border-width: 1px !default;
|
||||
$card-border-radius: $border-radius !default;
|
||||
$card-border-color: rgba($black,.125) !default;
|
||||
$card-border-radius-inner: calc(#{$card-border-radius} - #{$card-border-width}) !default;
|
||||
$card-cap-bg: $gray-lightest !default;
|
||||
$card-bg: $white !default;
|
||||
|
||||
$card-link-hover-color: $white !default;
|
||||
|
||||
$card-img-overlay-padding: 1.25rem !default;
|
||||
|
||||
$card-deck-margin: ($grid-gutter-width-base / 2) !default;
|
||||
|
||||
$card-columns-count: 3 !default;
|
||||
$card-columns-gap: 1.25rem !default;
|
||||
$card-columns-margin: $card-spacer-y !default;
|
||||
|
||||
|
||||
// Tooltips
|
||||
|
||||
$tooltip-max-width: 200px !default;
|
||||
$tooltip-color: $white !default;
|
||||
$tooltip-bg: $black !default;
|
||||
$tooltip-opacity: .9 !default;
|
||||
$tooltip-padding-y: 3px !default;
|
||||
$tooltip-padding-x: 8px !default;
|
||||
$tooltip-margin: 3px !default;
|
||||
|
||||
$tooltip-arrow-width: 5px !default;
|
||||
$tooltip-arrow-color: $tooltip-bg !default;
|
||||
|
||||
|
||||
// Popovers
|
||||
|
||||
$popover-inner-padding: 1px !default;
|
||||
$popover-bg: $white !default;
|
||||
$popover-max-width: 276px !default;
|
||||
$popover-border-width: $border-width !default;
|
||||
$popover-border-color: rgba($black,.2) !default;
|
||||
$popover-box-shadow: 0 5px 10px rgba($black,.2) !default;
|
||||
|
||||
$popover-title-bg: darken($popover-bg, 3%) !default;
|
||||
$popover-title-padding-x: 14px !default;
|
||||
$popover-title-padding-y: 8px !default;
|
||||
|
||||
$popover-content-padding-x: 14px !default;
|
||||
$popover-content-padding-y: 9px !default;
|
||||
|
||||
$popover-arrow-width: 10px !default;
|
||||
$popover-arrow-color: $popover-bg !default;
|
||||
|
||||
$popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;
|
||||
$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
|
||||
|
||||
|
||||
// Badges
|
||||
|
||||
$badge-default-bg: $gray-light !default;
|
||||
$badge-primary-bg: $brand-primary !default;
|
||||
$badge-success-bg: $brand-success !default;
|
||||
$badge-info-bg: $brand-info !default;
|
||||
$badge-warning-bg: $brand-warning !default;
|
||||
$badge-danger-bg: $brand-danger !default;
|
||||
|
||||
$badge-color: $white !default;
|
||||
$badge-link-hover-color: $white !default;
|
||||
$badge-font-size: 75% !default;
|
||||
$badge-font-weight: $font-weight-bold !default;
|
||||
$badge-padding-x: .4em !default;
|
||||
$badge-padding-y: .25em !default;
|
||||
|
||||
$badge-pill-padding-x: .6em !default;
|
||||
// Use a higher than normal value to ensure completely rounded edges when
|
||||
// customizing padding or font-size on labels.
|
||||
$badge-pill-border-radius: 10rem !default;
|
||||
|
||||
|
||||
// Modals
|
||||
|
||||
// Padding applied to the modal body
|
||||
$modal-inner-padding: 15px !default;
|
||||
|
||||
$modal-dialog-margin: 10px !default;
|
||||
$modal-dialog-sm-up-margin-y: 30px !default;
|
||||
|
||||
$modal-title-line-height: $line-height-base !default;
|
||||
|
||||
$modal-content-bg: $white !default;
|
||||
$modal-content-border-color: rgba($black,.2) !default;
|
||||
$modal-content-border-width: $border-width !default;
|
||||
$modal-content-xs-box-shadow: 0 3px 9px rgba($black,.5) !default;
|
||||
$modal-content-sm-up-box-shadow: 0 5px 15px rgba($black,.5) !default;
|
||||
|
||||
$modal-backdrop-bg: $black !default;
|
||||
$modal-backdrop-opacity: .5 !default;
|
||||
$modal-header-border-color: $gray-lighter !default;
|
||||
$modal-footer-border-color: $modal-header-border-color !default;
|
||||
$modal-header-border-width: $modal-content-border-width !default;
|
||||
$modal-footer-border-width: $modal-header-border-width !default;
|
||||
$modal-header-padding: 15px !default;
|
||||
|
||||
$modal-lg: 800px !default;
|
||||
$modal-md: 500px !default;
|
||||
$modal-sm: 300px !default;
|
||||
|
||||
$modal-transition: transform .3s ease-out !default;
|
||||
|
||||
|
||||
// Alerts
|
||||
//
|
||||
// Define alert colors, border radius, and padding.
|
||||
|
||||
$alert-padding-x: 1.25rem !default;
|
||||
$alert-padding-y: .75rem !default;
|
||||
$alert-margin-bottom: $spacer-y !default;
|
||||
$alert-border-radius: $border-radius !default;
|
||||
$alert-link-font-weight: $font-weight-bold !default;
|
||||
$alert-border-width: $border-width !default;
|
||||
|
||||
$alert-success-bg: $state-success-bg !default;
|
||||
$alert-success-text: $state-success-text !default;
|
||||
$alert-success-border: $state-success-border !default;
|
||||
|
||||
$alert-info-bg: $state-info-bg !default;
|
||||
$alert-info-text: $state-info-text !default;
|
||||
$alert-info-border: $state-info-border !default;
|
||||
|
||||
$alert-warning-bg: $state-warning-bg !default;
|
||||
$alert-warning-text: $state-warning-text !default;
|
||||
$alert-warning-border: $state-warning-border !default;
|
||||
|
||||
$alert-danger-bg: $state-danger-bg !default;
|
||||
$alert-danger-text: $state-danger-text !default;
|
||||
$alert-danger-border: $state-danger-border !default;
|
||||
|
||||
|
||||
// Progress bars
|
||||
|
||||
$progress-height: 1rem !default;
|
||||
$progress-font-size: .75rem !default;
|
||||
$progress-bg: $gray-lighter !default;
|
||||
$progress-border-radius: $border-radius !default;
|
||||
$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;
|
||||
$progress-bar-color: $white !default;
|
||||
$progress-bar-bg: $brand-primary !default;
|
||||
$progress-bar-animation-timing: 1s linear infinite !default;
|
||||
|
||||
// List group
|
||||
|
||||
$list-group-color: $body-color !default;
|
||||
$list-group-bg: $white !default;
|
||||
$list-group-border-color: rgba($black,.125) !default;
|
||||
$list-group-border-width: $border-width !default;
|
||||
$list-group-border-radius: $border-radius !default;
|
||||
|
||||
$list-group-item-padding-x: 1.25rem !default;
|
||||
$list-group-item-padding-y: .75rem !default;
|
||||
|
||||
$list-group-hover-bg: $gray-lightest !default;
|
||||
$list-group-active-color: $component-active-color !default;
|
||||
$list-group-active-bg: $component-active-bg !default;
|
||||
$list-group-active-border: $list-group-active-bg !default;
|
||||
$list-group-active-text-color: lighten($list-group-active-bg, 50%) !default;
|
||||
|
||||
$list-group-disabled-color: $gray-light !default;
|
||||
$list-group-disabled-bg: $list-group-bg !default;
|
||||
$list-group-disabled-text-color: $list-group-disabled-color !default;
|
||||
|
||||
$list-group-link-color: $gray !default;
|
||||
$list-group-link-heading-color: $gray-dark !default;
|
||||
$list-group-link-hover-color: $list-group-link-color !default;
|
||||
|
||||
$list-group-link-active-color: $list-group-color !default;
|
||||
$list-group-link-active-bg: $gray-lighter !default;
|
||||
|
||||
|
||||
// Image thumbnails
|
||||
|
||||
$thumbnail-padding: .25rem !default;
|
||||
$thumbnail-bg: $body-bg !default;
|
||||
$thumbnail-border-width: $border-width !default;
|
||||
$thumbnail-border-color: #ddd !default;
|
||||
$thumbnail-border-radius: $border-radius !default;
|
||||
$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;
|
||||
$thumbnail-transition: all .2s ease-in-out !default;
|
||||
|
||||
|
||||
// Figures
|
||||
|
||||
$figure-caption-font-size: 90% !default;
|
||||
$figure-caption-color: $gray-light !default;
|
||||
|
||||
|
||||
// Breadcrumbs
|
||||
|
||||
$breadcrumb-padding-y: .75rem !default;
|
||||
$breadcrumb-padding-x: 1rem !default;
|
||||
$breadcrumb-item-padding: .5rem !default;
|
||||
|
||||
$breadcrumb-bg: $gray-lighter !default;
|
||||
$breadcrumb-divider-color: $gray-light !default;
|
||||
$breadcrumb-active-color: $gray-light !default;
|
||||
$breadcrumb-divider: "/" !default;
|
||||
|
||||
|
||||
// Carousel
|
||||
|
||||
$carousel-control-color: $white !default;
|
||||
$carousel-control-width: 15% !default;
|
||||
$carousel-control-opacity: .5 !default;
|
||||
|
||||
$carousel-indicator-width: 30px !default;
|
||||
$carousel-indicator-height: 3px !default;
|
||||
$carousel-indicator-spacer: 3px !default;
|
||||
$carousel-indicator-active-bg: $white !default;
|
||||
|
||||
$carousel-caption-width: 70% !default;
|
||||
$carousel-caption-color: $white !default;
|
||||
|
||||
$carousel-control-icon-width: 20px !default;
|
||||
|
||||
$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$carousel-transition: transform .6s ease-in-out !default;
|
||||
|
||||
|
||||
// Close
|
||||
|
||||
$close-font-size: $font-size-base * 1.5 !default;
|
||||
$close-font-weight: $font-weight-bold !default;
|
||||
$close-color: $black !default;
|
||||
$close-text-shadow: 0 1px 0 $white !default;
|
||||
|
||||
|
||||
// Code
|
||||
|
||||
$code-font-size: 90% !default;
|
||||
$code-padding-x: .4rem !default;
|
||||
$code-padding-y: .2rem !default;
|
||||
$code-color: #bd4147 !default;
|
||||
$code-bg: $gray-lightest !default;
|
||||
|
||||
$kbd-color: $white !default;
|
||||
$kbd-bg: $gray-dark !default;
|
||||
|
||||
$pre-bg: $gray-lightest !default;
|
||||
$pre-color: $gray-dark !default;
|
||||
$pre-border-color: #ccc !default;
|
||||
$pre-scrollable-max-height: 340px !default;
|
||||
843
build/scss/_bootstrap_variables_old2.scss
Normal file
843
build/scss/_bootstrap_variables_old2.scss
Normal file
@@ -0,0 +1,843 @@
|
||||
// Variables
|
||||
//
|
||||
// Copy settings from this file into the provided `_custom.scss` to override
|
||||
// the Bootstrap defaults without modifying key, versioned files.
|
||||
|
||||
|
||||
// Table of Contents
|
||||
//
|
||||
// Colors
|
||||
// Options
|
||||
// Spacing
|
||||
// Body
|
||||
// Links
|
||||
// Grid breakpoints
|
||||
// Grid containers
|
||||
// Grid columns
|
||||
// Fonts
|
||||
// Components
|
||||
|
||||
@mixin _assert-ascending($map, $map-name) {
|
||||
$prev-key: null;
|
||||
$prev-num: null;
|
||||
@each $key, $num in $map {
|
||||
@if $prev-num == null {
|
||||
// Do nothing
|
||||
} @else if not comparable($prev-num, $num) {
|
||||
@warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
||||
} @else if $prev-num >= $num {
|
||||
@warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
|
||||
}
|
||||
$prev-key: $key;
|
||||
$prev-num: $num;
|
||||
}
|
||||
}
|
||||
|
||||
// General variable structure
|
||||
//
|
||||
// Variable format should follow the `$component-modifier-state-property` order.
|
||||
|
||||
|
||||
// Colors
|
||||
//
|
||||
// Grayscale and brand colors for use across Bootstrap.
|
||||
|
||||
$gray-dark: #373a3c !default;
|
||||
$gray: #55595c !default;
|
||||
$gray-light: #818a91 !default;
|
||||
$gray-lighter: #eceeef !default;
|
||||
$gray-lightest: #f7f7f9 !default;
|
||||
|
||||
$brand-primary: #3c8dbc !default;
|
||||
$brand-success: #00a65a !default;
|
||||
$brand-info: #00c0ef !default;
|
||||
$brand-warning: #f39c12 !default;
|
||||
$brand-danger: #dd4b39 !default;
|
||||
$brand-inverse: $gray-dark !default;
|
||||
|
||||
|
||||
// Options
|
||||
//
|
||||
// Quickly modify global styling by enabling or disabling optional features.
|
||||
|
||||
$enable-flex: false !default;
|
||||
$enable-rounded: true !default;
|
||||
$enable-shadows: true !default;
|
||||
$enable-gradients: false !default;
|
||||
$enable-transitions: true !default;
|
||||
$enable-hover-media-query: false !default;
|
||||
$enable-grid-classes: true !default;
|
||||
$enable-print-styles: true !default;
|
||||
|
||||
|
||||
// Spacing
|
||||
//
|
||||
// Control the default styling of most Bootstrap elements by modifying these
|
||||
// variables. Mostly focused on spacing.
|
||||
// You can add more entries to the $spacers map, should you need more variation.
|
||||
|
||||
$spacer: 1rem !default;
|
||||
$spacer-x: $spacer !default;
|
||||
$spacer-y: $spacer !default;
|
||||
$spacers: (
|
||||
0: (
|
||||
x: 0,
|
||||
y: 0
|
||||
),
|
||||
1: (
|
||||
x: $spacer-x,
|
||||
y: $spacer-y
|
||||
),
|
||||
2: (
|
||||
x: ($spacer-x * 1.5),
|
||||
y: ($spacer-y * 1.5)
|
||||
),
|
||||
3: (
|
||||
x: ($spacer-x * 3),
|
||||
y: ($spacer-y * 3)
|
||||
)
|
||||
) !default;
|
||||
$border-width: 1px !default;
|
||||
|
||||
|
||||
// Body
|
||||
//
|
||||
// Settings for the `<body>` element.
|
||||
|
||||
$body-bg: #fff !default;
|
||||
$body-color: $gray !default;
|
||||
|
||||
|
||||
// Links
|
||||
//
|
||||
// Style anchor elements.
|
||||
|
||||
$link-color: $brand-primary !default;
|
||||
$link-decoration: none !default;
|
||||
$link-hover-color: darken($link-color, 15%) !default;
|
||||
$link-hover-decoration: underline !default;
|
||||
|
||||
|
||||
// Grid breakpoints
|
||||
//
|
||||
// Define the minimum dimensions at which your layout will change,
|
||||
// adapting to different screen sizes, for use in media queries.
|
||||
|
||||
$grid-breakpoints: (
|
||||
xs: 0,
|
||||
sm: 576px,
|
||||
md: 768px,
|
||||
lg: 992px,
|
||||
xl: 1200px
|
||||
) !default;
|
||||
@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
|
||||
|
||||
|
||||
// Grid containers
|
||||
//
|
||||
// Define the maximum width of `.container` for different screen sizes.
|
||||
|
||||
$container-max-widths: (
|
||||
sm: 540px,
|
||||
md: 720px,
|
||||
lg: 960px,
|
||||
xl: 1140px
|
||||
) !default;
|
||||
@include _assert-ascending($container-max-widths, "$container-max-widths");
|
||||
|
||||
|
||||
// Grid columns
|
||||
//
|
||||
// Set the number of columns and specify the width of the gutters.
|
||||
|
||||
$grid-columns: 12 !default;
|
||||
$grid-gutter-width-base: 30px !default;
|
||||
$grid-gutter-widths: (
|
||||
xs: $grid-gutter-width-base,
|
||||
sm: $grid-gutter-width-base,
|
||||
md: $grid-gutter-width-base,
|
||||
lg: $grid-gutter-width-base,
|
||||
xl: $grid-gutter-width-base
|
||||
) !default;
|
||||
|
||||
// Typography
|
||||
//
|
||||
// Font, line-height, and color for body text, headings, and more.
|
||||
|
||||
$font-family-sans-serif: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
|
||||
$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
|
||||
$font-family-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
|
||||
$font-family-base: $font-family-sans-serif !default;
|
||||
|
||||
// Pixel value used to responsively scale all typography. Applied to the `<html>` element.
|
||||
$font-size-root: 16px !default;
|
||||
|
||||
$font-size-base: 1rem !default;
|
||||
$font-size-lg: 1.25rem !default;
|
||||
$font-size-sm: .875rem !default;
|
||||
$font-size-xs: .75rem !default;
|
||||
|
||||
$line-height-base: 1.5 !default;
|
||||
|
||||
$font-size-h1: 2.5rem !default;
|
||||
$font-size-h2: 2rem !default;
|
||||
$font-size-h3: 1.75rem !default;
|
||||
$font-size-h4: 1.5rem !default;
|
||||
$font-size-h5: 1.25rem !default;
|
||||
$font-size-h6: 1rem !default;
|
||||
|
||||
$display1-size: 6rem !default;
|
||||
$display2-size: 5.5rem !default;
|
||||
$display3-size: 4.5rem !default;
|
||||
$display4-size: 3.5rem !default;
|
||||
|
||||
$display1-weight: 300 !default;
|
||||
$display2-weight: 300 !default;
|
||||
$display3-weight: 300 !default;
|
||||
$display4-weight: 300 !default;
|
||||
|
||||
$headings-margin-bottom: ($spacer / 2) !default;
|
||||
$headings-font-family: inherit !default;
|
||||
$headings-font-weight: 500 !default;
|
||||
$headings-line-height: 1.1 !default;
|
||||
$headings-color: inherit !default;
|
||||
|
||||
$lead-font-size: 1.25rem !default;
|
||||
$lead-font-weight: 300 !default;
|
||||
|
||||
$text-muted: $gray-light !default;
|
||||
|
||||
$abbr-border-color: $gray-light !default;
|
||||
|
||||
$blockquote-small-color: $gray-light !default;
|
||||
$blockquote-font-size: ($font-size-base * 1.25) !default;
|
||||
$blockquote-border-color: $gray-lighter !default;
|
||||
$blockquote-border-width: .25rem !default;
|
||||
|
||||
$hr-border-color: rgba(0,0,0,.1) !default;
|
||||
$hr-border-width: $border-width !default;
|
||||
|
||||
$mark-padding: .2em !default;
|
||||
|
||||
$dt-font-weight: bold !default;
|
||||
|
||||
$kbd-box-shadow: inset 0 -.1rem 0 rgba(0,0,0,.25) !default;
|
||||
$nested-kbd-font-weight: bold !default;
|
||||
|
||||
$list-inline-padding: 5px !default;
|
||||
|
||||
|
||||
// Components
|
||||
//
|
||||
// Define common padding and border radius sizes and more.
|
||||
|
||||
$line-height-lg: (4 / 3) !default;
|
||||
$line-height-sm: 1.5 !default;
|
||||
|
||||
$border-radius: .25rem !default;
|
||||
$border-radius-lg: .3rem !default;
|
||||
$border-radius-sm: .2rem !default;
|
||||
|
||||
$component-active-color: #fff !default;
|
||||
$component-active-bg: $brand-primary !default;
|
||||
|
||||
$caret-width: .3em !default;
|
||||
$caret-width-lg: $caret-width !default;
|
||||
|
||||
|
||||
// Tables
|
||||
//
|
||||
// Customizes the `.table` component with basic values, each used across all table variations.
|
||||
|
||||
$table-cell-padding: .75rem !default;
|
||||
$table-sm-cell-padding: .3rem !default;
|
||||
|
||||
$table-bg: transparent !default;
|
||||
$table-bg-accent: rgba(0,0,0,.05) !default;
|
||||
$table-bg-hover: rgba(0,0,0,.075) !default;
|
||||
$table-bg-active: $table-bg-hover !default;
|
||||
|
||||
$table-border-width: $border-width !default;
|
||||
$table-border-color: $gray-lighter !default;
|
||||
|
||||
|
||||
// Buttons
|
||||
//
|
||||
// For each of Bootstrap's buttons, define text, background and border color.
|
||||
|
||||
$btn-padding-x: 1rem !default;
|
||||
$btn-padding-y: .5rem !default;
|
||||
$btn-line-height: 1.25 !default;
|
||||
$btn-font-weight: normal !default;
|
||||
$btn-box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075) !default;
|
||||
$btn-active-box-shadow: inset 0 3px 5px rgba(0,0,0,.125) !default;
|
||||
|
||||
$btn-primary-color: #fff !default;
|
||||
$btn-primary-bg: $brand-primary !default;
|
||||
$btn-primary-border: $btn-primary-bg !default;
|
||||
|
||||
$btn-secondary-color: $gray-dark !default;
|
||||
$btn-secondary-bg: #fff !default;
|
||||
$btn-secondary-border: #ccc !default;
|
||||
|
||||
$btn-info-color: #fff !default;
|
||||
$btn-info-bg: $brand-info !default;
|
||||
$btn-info-border: $btn-info-bg !default;
|
||||
|
||||
$btn-success-color: #fff !default;
|
||||
$btn-success-bg: $brand-success !default;
|
||||
$btn-success-border: $btn-success-bg !default;
|
||||
|
||||
$btn-warning-color: #fff !default;
|
||||
$btn-warning-bg: $brand-warning !default;
|
||||
$btn-warning-border: $btn-warning-bg !default;
|
||||
|
||||
$btn-danger-color: #fff !default;
|
||||
$btn-danger-bg: $brand-danger !default;
|
||||
$btn-danger-border: $btn-danger-bg !default;
|
||||
|
||||
$btn-link-disabled-color: $gray-light !default;
|
||||
|
||||
$btn-padding-x-sm: .5rem !default;
|
||||
$btn-padding-y-sm: .25rem !default;
|
||||
|
||||
$btn-padding-x-lg: 1.5rem !default;
|
||||
$btn-padding-y-lg: .75rem !default;
|
||||
|
||||
$btn-block-spacing-y: .5rem !default;
|
||||
$btn-toolbar-margin: .5rem !default;
|
||||
|
||||
// Allows for customizing button radius independently from global border radius
|
||||
$btn-border-radius: $border-radius !default;
|
||||
$btn-border-radius-lg: $border-radius-lg !default;
|
||||
$btn-border-radius-sm: $border-radius-sm !default;
|
||||
|
||||
|
||||
// Forms
|
||||
|
||||
$input-padding-x: .75rem !default;
|
||||
$input-padding-y: .5rem !default;
|
||||
$input-line-height: 1.25 !default;
|
||||
|
||||
$input-bg: #fff !default;
|
||||
$input-bg-disabled: $gray-lighter !default;
|
||||
|
||||
$input-color: $gray !default;
|
||||
$input-border-color: rgba(0,0,0,.15) !default;
|
||||
$input-btn-border-width: $border-width !default; // For form controls and buttons
|
||||
$input-box-shadow: inset 0 1px 1px rgba(0,0,0,.075) !default;
|
||||
|
||||
$input-border-radius: $border-radius !default;
|
||||
$input-border-radius-lg: $border-radius-lg !default;
|
||||
$input-border-radius-sm: $border-radius-sm !default;
|
||||
|
||||
$input-bg-focus: $input-bg !default;
|
||||
$input-border-focus: #66afe9 !default;
|
||||
$input-box-shadow-focus: $input-box-shadow, 0 0 8px rgba(102,175,233,.6) !default;
|
||||
$input-color-focus: $input-color !default;
|
||||
|
||||
$input-color-placeholder: #999 !default;
|
||||
|
||||
$input-padding-x-sm: .5rem !default;
|
||||
$input-padding-y-sm: .25rem !default;
|
||||
|
||||
$input-padding-x-lg: 1.5rem !default;
|
||||
$input-padding-y-lg: .75rem !default;
|
||||
|
||||
$input-height: (($font-size-base * $line-height-base) + ($input-padding-y * 2)) !default;
|
||||
$input-height-lg: (($font-size-lg * $line-height-lg) + ($input-padding-y-lg * 2)) !default;
|
||||
$input-height-sm: (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)) !default;
|
||||
|
||||
$form-group-margin-bottom: $spacer-y !default;
|
||||
|
||||
$input-group-addon-bg: $gray-lighter !default;
|
||||
$input-group-addon-border-color: $input-border-color !default;
|
||||
|
||||
$cursor-disabled: not-allowed !default;
|
||||
|
||||
$custom-control-gutter: 1.5rem !default;
|
||||
$custom-control-spacer-x: 1rem !default;
|
||||
$custom-control-spacer-y: .25rem !default;
|
||||
|
||||
$custom-control-indicator-size: 1rem !default;
|
||||
$custom-control-indicator-bg: #ddd !default;
|
||||
$custom-control-indicator-bg-size: 50% 50% !default;
|
||||
$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba(0,0,0,.1) !default;
|
||||
|
||||
$custom-control-disabled-cursor: $cursor-disabled !default;
|
||||
$custom-control-disabled-indicator-bg: #eee !default;
|
||||
$custom-control-disabled-description-color: #767676 !default;
|
||||
|
||||
$custom-control-checked-indicator-color: #fff !default;
|
||||
$custom-control-checked-indicator-bg: #0074d9 !default;
|
||||
$custom-control-checked-indicator-box-shadow: none !default;
|
||||
|
||||
$custom-control-focus-indicator-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9 !default;
|
||||
|
||||
$custom-control-active-indicator-color: #fff !default;
|
||||
$custom-control-active-indicator-bg: #84c6ff !default;
|
||||
$custom-control-active-indicator-box-shadow: none !default;
|
||||
|
||||
$custom-checkbox-radius: $border-radius !default;
|
||||
$custom-checkbox-checked-icon: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-checked-indicator-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E") !default;
|
||||
|
||||
$custom-checkbox-indeterminate-bg: #0074d9 !default;
|
||||
$custom-checkbox-indeterminate-indicator-color: $custom-control-checked-indicator-color !default;
|
||||
$custom-checkbox-indeterminate-icon: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indeterminate-indicator-color}' d='M0 2h4'/%3E%3C/svg%3E") !default;
|
||||
$custom-checkbox-indeterminate-box-shadow: none !default;
|
||||
|
||||
$custom-radio-radius: 50% !default;
|
||||
$custom-radio-checked-icon: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-checked-indicator-color}'/%3E%3C/svg%3E") !default;
|
||||
|
||||
$custom-select-padding-x: .75rem !default;
|
||||
$custom-select-padding-y: .375rem !default;
|
||||
$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
|
||||
$custom-select-color: $input-color !default;
|
||||
$custom-select-disabled-color: $gray-light !default;
|
||||
$custom-select-bg: #fff !default;
|
||||
$custom-select-disabled-bg: $gray-lighter !default;
|
||||
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
||||
$custom-select-indicator-color: #333 !default;
|
||||
$custom-select-indicator: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") !default;
|
||||
$custom-select-border-width: $input-btn-border-width !default;
|
||||
$custom-select-border-color: $input-border-color !default;
|
||||
$custom-select-border-radius: $border-radius !default;
|
||||
|
||||
$custom-select-focus-border-color: #51a7e8 !default;
|
||||
$custom-select-focus-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), 0 0 5px rgba(81, 167, 232, .5) !default;
|
||||
|
||||
$custom-select-sm-padding-y: .2rem !default;
|
||||
$custom-select-sm-font-size: 75% !default;
|
||||
|
||||
$custom-file-height: 2.5rem !default;
|
||||
$custom-file-width: 14rem !default;
|
||||
$custom-file-focus-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9 !default;
|
||||
|
||||
$custom-file-padding-x: .5rem !default;
|
||||
$custom-file-padding-y: 1rem !default;
|
||||
$custom-file-line-height: 1.5 !default;
|
||||
$custom-file-color: #555 !default;
|
||||
$custom-file-bg: #fff !default;
|
||||
$custom-file-border-width: $border-width !default;
|
||||
$custom-file-border-color: #ddd !default;
|
||||
$custom-file-border-radius: $border-radius !default;
|
||||
$custom-file-box-shadow: inset 0 .2rem .4rem rgba(0,0,0,.05) !default;
|
||||
$custom-file-button-color: $custom-file-color !default;
|
||||
$custom-file-button-bg: #eee !default;
|
||||
$custom-file-text: (
|
||||
placeholder: (
|
||||
en: "Choose file..."
|
||||
),
|
||||
button-label: (
|
||||
en: "Browse"
|
||||
)
|
||||
) !default;
|
||||
|
||||
|
||||
// Form validation icons
|
||||
$form-icon-success-color: $brand-success !default;
|
||||
$form-icon-success: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-success-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") !default;
|
||||
|
||||
$form-icon-warning-color: $brand-warning !default;
|
||||
$form-icon-warning: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-warning-color}' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E") !default;
|
||||
|
||||
$form-icon-danger-color: $brand-danger !default;
|
||||
$form-icon-danger: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-icon-danger-color}' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E") !default;
|
||||
|
||||
|
||||
// Dropdowns
|
||||
//
|
||||
// Dropdown menu container and contents.
|
||||
|
||||
$dropdown-min-width: 10rem !default;
|
||||
$dropdown-padding-y: .5rem !default;
|
||||
$dropdown-margin-top: .125rem !default;
|
||||
$dropdown-bg: #fff !default;
|
||||
$dropdown-border-color: rgba(0,0,0,.15) !default;
|
||||
$dropdown-border-width: $border-width !default;
|
||||
$dropdown-divider-bg: #e5e5e5 !default;
|
||||
$dropdown-box-shadow: 0 .5rem 1rem rgba(0,0,0,.175) !default;
|
||||
|
||||
$dropdown-link-color: $gray-dark !default;
|
||||
$dropdown-link-hover-color: darken($gray-dark, 5%) !default;
|
||||
$dropdown-link-hover-bg: #f5f5f5 !default;
|
||||
|
||||
$dropdown-link-active-color: $component-active-color !default;
|
||||
$dropdown-link-active-bg: $component-active-bg !default;
|
||||
|
||||
$dropdown-link-disabled-color: $gray-light !default;
|
||||
|
||||
$dropdown-item-padding-x: 1rem !default;
|
||||
|
||||
$dropdown-header-color: $gray-light !default;
|
||||
|
||||
|
||||
// Z-index master list
|
||||
//
|
||||
// Warning: Avoid customizing these values. They're used for a bird's eye view
|
||||
// of components dependent on the z-axis and are designed to all work together.
|
||||
|
||||
$zindex-dropdown-backdrop: 990 !default;
|
||||
$zindex-navbar: 1000 !default;
|
||||
$zindex-dropdown: 1000 !default;
|
||||
$zindex-popover: 1060 !default;
|
||||
$zindex-tooltip: 1070 !default;
|
||||
$zindex-navbar-fixed: 1030 !default;
|
||||
$zindex-navbar-sticky: 1030 !default;
|
||||
$zindex-modal-bg: 1040 !default;
|
||||
$zindex-modal: 1050 !default;
|
||||
|
||||
|
||||
// Navbar
|
||||
|
||||
$navbar-border-radius: $border-radius !default;
|
||||
$navbar-padding-x: $spacer !default;
|
||||
$navbar-padding-y: ($spacer / 2) !default;
|
||||
$navbar-brand-padding-y: .25rem !default;
|
||||
|
||||
$navbar-dark-color: rgba(255,255,255,1) !default;
|
||||
$navbar-dark-hover-color: rgba(255,255,255,1) !default;
|
||||
$navbar-dark-active-color: rgba(255,255,255,1) !default;
|
||||
$navbar-dark-disabled-color: rgba(255,255,255,.25) !default;
|
||||
$navbar-dark-toggler-bg: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !default;
|
||||
|
||||
$navbar-light-color: rgba(0,0,0,.3) !default;
|
||||
$navbar-light-hover-color: rgba(0,0,0,.6) !default;
|
||||
$navbar-light-active-color: rgba(0,0,0,.8) !default;
|
||||
$navbar-light-disabled-color: rgba(0,0,0,.15) !default;
|
||||
$navbar-light-toggler-bg: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !default;
|
||||
|
||||
|
||||
// Navs
|
||||
|
||||
$nav-item-margin: .2rem !default;
|
||||
$nav-item-inline-spacer: 1rem !default;
|
||||
$nav-link-padding: .5em 1em !default;
|
||||
$nav-link-hover-bg: $gray-lighter !default;
|
||||
$nav-disabled-link-color: $gray-light !default;
|
||||
$nav-disabled-link-hover-color: $gray-light !default;
|
||||
$nav-disabled-link-hover-bg: transparent !default;
|
||||
|
||||
$nav-tabs-border-color: #ddd !default;
|
||||
$nav-tabs-border-width: $border-width !default;
|
||||
$nav-tabs-border-radius: $border-radius !default;
|
||||
$nav-tabs-link-hover-border-color: $gray-lighter !default;
|
||||
$nav-tabs-active-link-hover-color: $gray !default;
|
||||
$nav-tabs-active-link-hover-bg: transparent !default;
|
||||
$nav-tabs-active-link-hover-border-color: #ddd !default;
|
||||
$nav-tabs-justified-link-border-color: #ddd !default;
|
||||
$nav-tabs-justified-active-link-border-color: $body-bg !default;
|
||||
|
||||
$nav-pills-border-radius: $border-radius !default;
|
||||
$nav-pills-active-link-color: $component-active-color !default;
|
||||
$nav-pills-active-link-bg: $component-active-bg !default;
|
||||
|
||||
|
||||
// Pagination
|
||||
|
||||
$pagination-padding-x: .75rem !default;
|
||||
$pagination-padding-y: .5rem !default;
|
||||
$pagination-padding-x-sm: .75rem !default;
|
||||
$pagination-padding-y-sm: .275rem !default;
|
||||
$pagination-padding-x-lg: 1.5rem !default;
|
||||
$pagination-padding-y-lg: .75rem !default;
|
||||
|
||||
|
||||
$pagination-color: $link-color !default;
|
||||
$pagination-bg: #fff !default;
|
||||
$pagination-border-width: $border-width !default;
|
||||
$pagination-border-color: #ddd !default;
|
||||
|
||||
$pagination-hover-color: $link-hover-color !default;
|
||||
$pagination-hover-bg: $gray-lighter !default;
|
||||
$pagination-hover-border: #ddd !default;
|
||||
|
||||
$pagination-active-color: #fff !default;
|
||||
$pagination-active-bg: $brand-primary !default;
|
||||
$pagination-active-border: $brand-primary !default;
|
||||
|
||||
$pagination-disabled-color: $gray-light !default;
|
||||
$pagination-disabled-bg: #fff !default;
|
||||
$pagination-disabled-border: #ddd !default;
|
||||
|
||||
|
||||
// Jumbotron
|
||||
|
||||
$jumbotron-padding: 2rem !default;
|
||||
$jumbotron-bg: $gray-lighter !default;
|
||||
|
||||
|
||||
// Form states and alerts
|
||||
//
|
||||
// Define colors for form feedback states and, by default, alerts.
|
||||
|
||||
$state-success-text: #3c763d !default;
|
||||
$state-success-bg: #dff0d8 !default;
|
||||
$state-success-border: darken($state-success-bg, 5%) !default;
|
||||
|
||||
$state-info-text: #31708f !default;
|
||||
$state-info-bg: #d9edf7 !default;
|
||||
$state-info-border: darken($state-info-bg, 7%) !default;
|
||||
|
||||
$state-warning-text: #8a6d3b !default;
|
||||
$state-warning-bg: #fcf8e3 !default;
|
||||
$mark-bg: $state-warning-bg !default;
|
||||
$state-warning-border: darken($state-warning-bg, 5%) !default;
|
||||
|
||||
$state-danger-text: #a94442 !default;
|
||||
$state-danger-bg: #f2dede !default;
|
||||
$state-danger-border: darken($state-danger-bg, 5%) !default;
|
||||
|
||||
|
||||
// Cards
|
||||
$card-spacer-x: 1.25rem !default;
|
||||
$card-spacer-y: .75rem !default;
|
||||
$card-border-width: 1px !default;
|
||||
$card-border-radius: $border-radius !default;
|
||||
$card-border-color: rgba(0,0,0,.125) !default;
|
||||
$card-border-radius-inner: calc(#{$card-border-radius} - #{$card-border-width}) !default;
|
||||
$card-cap-bg: #f5f5f5 !default;
|
||||
$card-bg: #fff !default;
|
||||
|
||||
$card-link-hover-color: #fff !default;
|
||||
|
||||
$card-img-overlay-padding: 1.25rem !default;
|
||||
|
||||
$card-deck-margin: .625rem !default;
|
||||
|
||||
$card-columns-sm-up-column-gap: 1.25rem !default;
|
||||
|
||||
|
||||
// Tooltips
|
||||
|
||||
$tooltip-max-width: 200px !default;
|
||||
$tooltip-color: #fff !default;
|
||||
$tooltip-bg: #000 !default;
|
||||
$tooltip-opacity: .9 !default;
|
||||
$tooltip-padding-y: 3px !default;
|
||||
$tooltip-padding-x: 8px !default;
|
||||
$tooltip-margin: 3px !default;
|
||||
|
||||
$tooltip-arrow-width: 5px !default;
|
||||
$tooltip-arrow-color: $tooltip-bg !default;
|
||||
|
||||
|
||||
// Popovers
|
||||
|
||||
$popover-inner-padding: 1px !default;
|
||||
$popover-bg: #fff !default;
|
||||
$popover-max-width: 276px !default;
|
||||
$popover-border-width: $border-width !default;
|
||||
$popover-border-color: rgba(0,0,0,.2) !default;
|
||||
$popover-box-shadow: 0 5px 10px rgba(0,0,0,.2) !default;
|
||||
|
||||
$popover-title-bg: darken($popover-bg, 3%) !default;
|
||||
$popover-title-padding-x: 14px !default;
|
||||
$popover-title-padding-y: 8px !default;
|
||||
|
||||
$popover-content-padding-x: 14px !default;
|
||||
$popover-content-padding-y: 9px !default;
|
||||
|
||||
$popover-arrow-width: 10px !default;
|
||||
$popover-arrow-color: $popover-bg !default;
|
||||
|
||||
$popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;
|
||||
$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
|
||||
|
||||
|
||||
// Tags
|
||||
|
||||
$tag-default-bg: $gray-light !default;
|
||||
$tag-primary-bg: $brand-primary !default;
|
||||
$tag-success-bg: $brand-success !default;
|
||||
$tag-info-bg: $brand-info !default;
|
||||
$tag-warning-bg: $brand-warning !default;
|
||||
$tag-danger-bg: $brand-danger !default;
|
||||
|
||||
$tag-color: #fff !default;
|
||||
$tag-link-hover-color: #fff !default;
|
||||
$tag-font-size: 75% !default;
|
||||
$tag-font-weight: bold !default;
|
||||
$tag-padding-x: .4em !default;
|
||||
$tag-padding-y: .25em !default;
|
||||
|
||||
$tag-pill-padding-x: .6em !default;
|
||||
// Use a higher than normal value to ensure completely rounded edges when
|
||||
// customizing padding or font-size on labels.
|
||||
$tag-pill-border-radius: 10rem !default;
|
||||
|
||||
// Modals
|
||||
|
||||
// Padding applied to the modal body
|
||||
$modal-inner-padding: 15px !default;
|
||||
|
||||
$modal-dialog-margin: 10px !default;
|
||||
$modal-dialog-sm-up-margin-y: 30px !default;
|
||||
|
||||
$modal-title-padding: 15px !default;
|
||||
$modal-title-line-height: $line-height-base !default;
|
||||
|
||||
$modal-content-bg: #fff !default;
|
||||
$modal-content-border-color: rgba(0,0,0,.2) !default;
|
||||
$modal-content-border-width: $border-width !default;
|
||||
$modal-content-xs-box-shadow: 0 3px 9px rgba(0,0,0,.5) !default;
|
||||
$modal-content-sm-up-box-shadow: 0 5px 15px rgba(0,0,0,.5) !default;
|
||||
|
||||
$modal-backdrop-bg: #000 !default;
|
||||
$modal-backdrop-opacity: .5 !default;
|
||||
$modal-header-border-color: #e5e5e5 !default;
|
||||
$modal-footer-border-color: $modal-header-border-color !default;
|
||||
$modal-header-border-width: $modal-content-border-width !default;
|
||||
$modal-footer-border-width: $modal-header-border-width !default;
|
||||
|
||||
$modal-lg: 900px !default;
|
||||
$modal-md: 600px !default;
|
||||
$modal-sm: 300px !default;
|
||||
|
||||
|
||||
// Alerts
|
||||
//
|
||||
// Define alert colors, border radius, and padding.
|
||||
|
||||
$alert-padding: 1rem !default;
|
||||
$alert-border-radius: $border-radius !default;
|
||||
$alert-link-font-weight: bold !default;
|
||||
$alert-border-width: $border-width !default;
|
||||
|
||||
$alert-success-bg: $state-success-bg !default;
|
||||
$alert-success-text: $state-success-text !default;
|
||||
$alert-success-border: $state-success-border !default;
|
||||
|
||||
$alert-info-bg: $state-info-bg !default;
|
||||
$alert-info-text: $state-info-text !default;
|
||||
$alert-info-border: $state-info-border !default;
|
||||
|
||||
$alert-warning-bg: $state-warning-bg !default;
|
||||
$alert-warning-text: $state-warning-text !default;
|
||||
$alert-warning-border: $state-warning-border !default;
|
||||
|
||||
$alert-danger-bg: $state-danger-bg !default;
|
||||
$alert-danger-text: $state-danger-text !default;
|
||||
$alert-danger-border: $state-danger-border !default;
|
||||
|
||||
|
||||
// Progress bars
|
||||
|
||||
$progress-bg: #eee !default;
|
||||
$progress-bar-color: #0074d9 !default;
|
||||
$progress-border-radius: $border-radius !default;
|
||||
$progress-box-shadow: none !default;
|
||||
|
||||
$progress-bar-bg: $brand-primary !default;
|
||||
$progress-bar-success-bg: $brand-success !default;
|
||||
$progress-bar-warning-bg: $brand-warning !default;
|
||||
$progress-bar-danger-bg: $brand-danger !default;
|
||||
$progress-bar-info-bg: $brand-info !default;
|
||||
|
||||
|
||||
// List group
|
||||
|
||||
$list-group-bg: #fff !default;
|
||||
$list-group-border-color: #ddd !default;
|
||||
$list-group-border-width: $border-width !default;
|
||||
$list-group-border-radius: $border-radius !default;
|
||||
|
||||
$list-group-hover-bg: #f5f5f5 !default;
|
||||
$list-group-active-color: $component-active-color !default;
|
||||
$list-group-active-bg: $component-active-bg !default;
|
||||
$list-group-active-border: $list-group-active-bg !default;
|
||||
$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;
|
||||
|
||||
$list-group-disabled-color: $gray-light !default;
|
||||
$list-group-disabled-bg: $gray-lighter !default;
|
||||
$list-group-disabled-text-color: $list-group-disabled-color !default;
|
||||
|
||||
$list-group-link-color: #555 !default;
|
||||
$list-group-link-hover-color: $list-group-link-color !default;
|
||||
$list-group-link-heading-color: #333 !default;
|
||||
|
||||
$list-group-item-padding-x: 1.25rem !default;
|
||||
$list-group-item-padding-y: .75rem !default;
|
||||
$list-group-item-heading-margin-bottom: 5px !default;
|
||||
|
||||
|
||||
// Image thumbnails
|
||||
|
||||
$thumbnail-padding: .25rem !default;
|
||||
$thumbnail-bg: $body-bg !default;
|
||||
$thumbnail-border-width: $border-width !default;
|
||||
$thumbnail-border-color: #ddd !default;
|
||||
$thumbnail-border-radius: $border-radius !default;
|
||||
$thumbnail-box-shadow: 0 1px 2px rgba(0,0,0,.075) !default;
|
||||
|
||||
|
||||
// Figures
|
||||
|
||||
$figure-caption-font-size: 90% !default;
|
||||
|
||||
|
||||
// Breadcrumbs
|
||||
|
||||
$breadcrumb-padding-y: .75rem !default;
|
||||
$breadcrumb-padding-x: 1rem !default;
|
||||
$breadcrumb-item-padding: .5rem !default;
|
||||
|
||||
$breadcrumb-bg: $gray-lighter !default;
|
||||
$breadcrumb-divider-color: $gray-light !default;
|
||||
$breadcrumb-active-color: $gray-light !default;
|
||||
$breadcrumb-divider: "/" !default;
|
||||
|
||||
|
||||
// Media objects
|
||||
|
||||
$media-margin-top: 15px !default;
|
||||
$media-heading-margin-bottom: 5px !default;
|
||||
$media-alignment-padding-x: 10px !default;
|
||||
|
||||
|
||||
// Carousel
|
||||
|
||||
$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
|
||||
|
||||
$carousel-control-color: #fff !default;
|
||||
$carousel-control-width: 15% !default;
|
||||
$carousel-control-sm-up-size: 30px !default;
|
||||
$carousel-control-opacity: .5 !default;
|
||||
$carousel-control-font-size: 20px !default;
|
||||
|
||||
$carousel-indicators-width: 60% !default;
|
||||
|
||||
$carousel-indicator-size: 10px !default;
|
||||
$carousel-indicator-active-size: 12px !default;
|
||||
$carousel-indicator-active-bg: #fff !default;
|
||||
$carousel-indicator-border-color: #fff !default;
|
||||
|
||||
$carousel-caption-width: 70% !default;
|
||||
$carousel-caption-sm-up-width: 60% !default;
|
||||
$carousel-caption-color: #fff !default;
|
||||
|
||||
$carousel-icon-width: 20px !default;
|
||||
|
||||
|
||||
// Close
|
||||
|
||||
$close-font-weight: bold !default;
|
||||
$close-color: #000 !default;
|
||||
$close-text-shadow: 0 1px 0 #fff !default;
|
||||
|
||||
|
||||
// Code
|
||||
|
||||
$code-font-size: 90% !default;
|
||||
$code-padding-x: .4rem !default;
|
||||
$code-padding-y: .2rem !default;
|
||||
$code-color: #bd4147 !default;
|
||||
$code-bg: #f7f7f9 !default;
|
||||
|
||||
$kbd-color: #fff !default;
|
||||
$kbd-bg: #333 !default;
|
||||
|
||||
$pre-bg: #f7f7f9 !default;
|
||||
$pre-color: $gray-dark !default;
|
||||
$pre-border-color: #ccc !default;
|
||||
$pre-scrollable-max-height: 340px !default;
|
||||
@@ -1,33 +0,0 @@
|
||||
.brand-link {
|
||||
$brand-link-padding-y: $navbar-brand-padding-y + $navbar-padding-y;
|
||||
padding: $brand-link-padding-y $sidebar-padding-x;
|
||||
font-size: $navbar-brand-font-size;
|
||||
display: block;
|
||||
line-height: $line-height-lg;
|
||||
white-space: nowrap;
|
||||
|
||||
&:hover {
|
||||
color: $white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
[class*="sidebar-dark"] & {
|
||||
color: rgba(255,255,255,.8);
|
||||
border-bottom: 1px solid lighten($dark, 10%);
|
||||
}
|
||||
|
||||
[class*="sidebar-light"] & {
|
||||
color: rgba(0,0,0,.8);
|
||||
border-bottom: 1px solid $gray-300;
|
||||
}
|
||||
}
|
||||
|
||||
.brand-image {
|
||||
float:left;
|
||||
line-height: .8;
|
||||
max-height: 34px;
|
||||
width: auto;
|
||||
margin-left: .8rem;
|
||||
margin-right: .5rem;
|
||||
margin-top: -3px;
|
||||
}
|
||||
@@ -1,87 +0,0 @@
|
||||
/*
|
||||
* Component: Button
|
||||
* -----------------
|
||||
*/
|
||||
|
||||
.btn {
|
||||
// Flat buttons
|
||||
&.btn-flat {
|
||||
@include border-radius(0);
|
||||
box-shadow: none;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
// input file btn
|
||||
&.btn-file {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
> input[type='file'] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
min-width: 100%;
|
||||
min-height: 100%;
|
||||
font-size: 100px;
|
||||
text-align: right;
|
||||
opacity: 0;
|
||||
outline: none;
|
||||
background: white;
|
||||
cursor: inherit;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Button color variations
|
||||
.btn-default {
|
||||
background-color: #f4f4f4;
|
||||
color: #444;
|
||||
border-color: #ddd;
|
||||
&:hover,
|
||||
&:active,
|
||||
&.hover {
|
||||
background-color: darken(#f4f4f4, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
// Application buttons
|
||||
.btn-app {
|
||||
@include border-radius(3px);
|
||||
position: relative;
|
||||
padding: 15px 5px;
|
||||
margin: 0 0 10px 10px;
|
||||
min-width: 80px;
|
||||
height: 60px;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
border: 1px solid #ddd;
|
||||
background-color: #f4f4f4;
|
||||
font-size: 12px;
|
||||
// Icons within the btn
|
||||
> .fa,
|
||||
> .glyphicon,
|
||||
> .ion {
|
||||
font-size: 20px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: #f4f4f4;
|
||||
color: #444;
|
||||
border-color: #aaa;
|
||||
}
|
||||
|
||||
&:active,
|
||||
&:focus {
|
||||
@include box-shadow(inset 0 3px 5px rgba(0, 0, 0, 0.125));
|
||||
}
|
||||
|
||||
// The badge
|
||||
> .badge {
|
||||
position: absolute;
|
||||
top: -3px;
|
||||
right: -10px;
|
||||
font-size: 10px;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
/*
|
||||
* Component: Callout
|
||||
* ------------------
|
||||
*/
|
||||
|
||||
// Base styles (regardless of theme)
|
||||
.callout {
|
||||
@if $enable-rounded {
|
||||
@include border-radius($border-radius);
|
||||
}
|
||||
|
||||
@if $enable-shadows {
|
||||
@extend .elevation-1;
|
||||
} @else {
|
||||
border: 1px solid $gray-300;
|
||||
}
|
||||
|
||||
@extend .mb-3;
|
||||
background-color: $white;
|
||||
padding: .5rem 1rem .5rem .5rem;
|
||||
border-left: 5px solid #eee;
|
||||
|
||||
a {
|
||||
color: $white;
|
||||
text-decoration: underline;
|
||||
&:hover {
|
||||
color: #eee;
|
||||
}
|
||||
}
|
||||
|
||||
p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
// Themes for different contexts
|
||||
&.callout-danger {
|
||||
border-left-color: darken(theme-color("danger"), 10%);
|
||||
}
|
||||
&.callout-warning {
|
||||
border-left-color: darken(theme-color("warning"), 10%);
|
||||
}
|
||||
&.callout-info {
|
||||
border-left-color: darken(theme-color("info"), 10%);
|
||||
}
|
||||
&.callout-success {
|
||||
border-left-color: darken(theme-color("success"), 10%);
|
||||
}
|
||||
}
|
||||
@@ -1,338 +0,0 @@
|
||||
/*
|
||||
* Component: Box
|
||||
* --------------
|
||||
*/
|
||||
|
||||
.card {
|
||||
@extend .mb-3;
|
||||
@include box-shadow($card-shadow);
|
||||
|
||||
&.bg-dark {
|
||||
&,
|
||||
.card-body {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
|
||||
// collapsed mode
|
||||
&.collapsed-card {
|
||||
.card-body,
|
||||
.card-footer {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.nav.flex-column {
|
||||
> li {
|
||||
border-bottom: 1px solid $card-border-color;
|
||||
margin: 0;
|
||||
&:last-of-type {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// fixed height to 300px
|
||||
&.height-control {
|
||||
.card-body {
|
||||
max-height: 300px;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.border-right {
|
||||
border-right: 1px solid $card-border-color;
|
||||
}
|
||||
|
||||
.border-left {
|
||||
border-left: 1px solid $card-border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.card,
|
||||
.overlay-wrapper {
|
||||
// Box overlay for LOADING STATE effect
|
||||
> .overlay,
|
||||
> .loading-img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
z-index: 50;
|
||||
background: rgba(255, 255, 255, 0.7);
|
||||
@include border-radius($border-radius);
|
||||
> .fa {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-left: -15px;
|
||||
margin-top: -15px;
|
||||
color: #000;
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.overlay.dark {
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
}
|
||||
|
||||
// Add clearfix to header, body and footer
|
||||
.card-header,
|
||||
.card-body,
|
||||
.card-footer {
|
||||
@include clearfix();
|
||||
}
|
||||
|
||||
// Box header
|
||||
.card-header {
|
||||
position: relative;
|
||||
background-color: transparent;
|
||||
border-bottom: 1px solid $card-border-color;
|
||||
|
||||
@if $enable-rounded {
|
||||
@include border-top-radius($border-radius);
|
||||
}
|
||||
|
||||
.collapsed-card & {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
> .card-tools {
|
||||
position: absolute;
|
||||
right: 1rem;
|
||||
top: .5rem;
|
||||
|
||||
[data-toggle="tooltip"] {
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-title {
|
||||
font-size: $card-title-font-size;
|
||||
font-weight: $card-title-font-weight;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
// Box Tools Buttons
|
||||
.btn-tool {
|
||||
padding: .25rem .5rem;
|
||||
font-size: $font-size-sm;
|
||||
background: transparent;
|
||||
color: $gray-500;
|
||||
|
||||
.btn-group.show &,
|
||||
&:hover {
|
||||
color: $gray-700;
|
||||
}
|
||||
|
||||
.show &,
|
||||
&:focus {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Box Body
|
||||
.card-body {
|
||||
// @include border-radius-sides(0, 0, $border-radius, $border-radius);
|
||||
.no-header & {
|
||||
// @include border-top-radius($border-radius);
|
||||
}
|
||||
// Tables within the box body
|
||||
> .table {
|
||||
margin-bottom: 0;
|
||||
> thead > tr > th,
|
||||
> thead > tr > td {
|
||||
border-top-width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Calendar within the box body
|
||||
.fc {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.full-width-chart {
|
||||
margin: -19px;
|
||||
}
|
||||
|
||||
&.p-0 .full-width-chart {
|
||||
margin: -9px;
|
||||
}
|
||||
}
|
||||
|
||||
.chart-legend {
|
||||
@extend .list-unstyled;
|
||||
margin: 10px 0;
|
||||
> li {
|
||||
@media (max-width: map-get($grid-breakpoints, sm)) {
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Comment Box
|
||||
.card-comments {
|
||||
background: #f7f7f7;
|
||||
.card-comment {
|
||||
@include clearfix();
|
||||
padding: 8px 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
&:last-of-type {
|
||||
border-bottom: 0;
|
||||
}
|
||||
&:first-of-type {
|
||||
padding-top: 0;
|
||||
}
|
||||
img {
|
||||
@extend .img-sm;
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
.comment-text {
|
||||
margin-left: 40px;
|
||||
color: #555;
|
||||
}
|
||||
.username {
|
||||
color: #444;
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
}
|
||||
.text-muted {
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
// Widgets
|
||||
//-----------
|
||||
|
||||
// Widget: TODO LIST
|
||||
.todo-list {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
overflow: auto;
|
||||
// Todo list element
|
||||
> li {
|
||||
@include border-radius(2px);
|
||||
padding: 10px;
|
||||
background: #f4f4f4;
|
||||
margin-bottom: 2px;
|
||||
border-left: 2px solid #e6e7e8;
|
||||
color: #444;
|
||||
&:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
> input[type='checkbox'] {
|
||||
margin: 0 10px 0 5px;
|
||||
}
|
||||
|
||||
.text {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
// Time labels
|
||||
.label {
|
||||
margin-left: 10px;
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
// Tools and options box
|
||||
.tools {
|
||||
display: none;
|
||||
float: right;
|
||||
color: theme-color("danger");
|
||||
// icons
|
||||
> .fa, > .glyphicon, > .ion {
|
||||
margin-right: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
}
|
||||
&:hover .tools {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
&.done {
|
||||
color: #999;
|
||||
.text {
|
||||
text-decoration: line-through;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.label {
|
||||
background: $gray-500 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Color varaity
|
||||
.danger {
|
||||
border-left-color: theme-color("danger");
|
||||
}
|
||||
.warning {
|
||||
border-left-color: theme-color("warning");
|
||||
}
|
||||
.info {
|
||||
border-left-color: theme-color("info");
|
||||
}
|
||||
.success {
|
||||
border-left-color: theme-color("success");
|
||||
}
|
||||
.primary {
|
||||
border-left-color: theme-color("primary");
|
||||
}
|
||||
|
||||
.handle {
|
||||
display: inline-block;
|
||||
cursor: move;
|
||||
margin: 0 5px;
|
||||
}
|
||||
}
|
||||
|
||||
// END TODO WIDGET
|
||||
|
||||
// Input in box
|
||||
.card-input {
|
||||
max-width: 200px;
|
||||
}
|
||||
|
||||
@each $name, $color in $theme-colors {
|
||||
.card-#{$name} {
|
||||
&:not(.card-outline) {
|
||||
.card-header {
|
||||
background-color: $color;
|
||||
border-bottom: 0;
|
||||
&,
|
||||
a {
|
||||
color: color-yiq($color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.card-outline {
|
||||
border-top: 3px solid $color;
|
||||
}
|
||||
}
|
||||
|
||||
.bg-#{$name},
|
||||
.bg-#{$name}-gradient,
|
||||
.card-#{$name}:not(.card-outline) {
|
||||
.btn-tool {
|
||||
color: rgba(color-yiq($color), 0.8);
|
||||
&:hover {
|
||||
color: color-yiq($color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,147 +0,0 @@
|
||||
/*
|
||||
* Component: Control sidebar. By default, this is the right sidebar.
|
||||
*/
|
||||
|
||||
.control-sidebar {
|
||||
position: absolute;
|
||||
top: $main-header-height;
|
||||
z-index: 830;
|
||||
|
||||
&,
|
||||
&:before {
|
||||
width: $control-sidebar-width;
|
||||
right: -$control-sidebar-width;
|
||||
bottom: 0;
|
||||
@include transition(right $transition-speed $transition-fn);
|
||||
}
|
||||
|
||||
&:before {
|
||||
top: 0;
|
||||
display: block;
|
||||
position: fixed;
|
||||
content: " ";
|
||||
z-index: -1;
|
||||
}
|
||||
}
|
||||
|
||||
// Control sidebar open state
|
||||
.control-sidebar-open {
|
||||
@include media-breakpoint-up(md) {
|
||||
.control-sidebar {
|
||||
&,
|
||||
&:before {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.content-wrapper,
|
||||
.main-footer {
|
||||
margin-right: $control-sidebar-width;
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
.control-sidebar {
|
||||
&,
|
||||
&:before {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Control sidebar slide over content state
|
||||
.control-sidebar-slide-open {
|
||||
.control-sidebar {
|
||||
&,
|
||||
&:before {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dark skin
|
||||
.control-sidebar-dark {
|
||||
&,
|
||||
a,
|
||||
.nav-link {
|
||||
color: $sidebar-dark-color;
|
||||
}
|
||||
|
||||
// Background
|
||||
&,
|
||||
&:before {
|
||||
background: $sidebar-dark-bg;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: $sidebar-dark-hover-color;
|
||||
}
|
||||
|
||||
// Headers and labels
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
label {
|
||||
color: $sidebar-dark-hover-color;
|
||||
}
|
||||
|
||||
// Tabs
|
||||
.nav-tabs {
|
||||
border-bottom: 0;
|
||||
background-color: $sidebar-dark-hover-bg;
|
||||
margin-bottom: 5px;
|
||||
|
||||
.nav-item {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
position: relative;
|
||||
border-radius: 0;
|
||||
text-align: center;
|
||||
padding: 10px 20px;
|
||||
|
||||
&,
|
||||
&:hover,
|
||||
&:active,
|
||||
&:focus,
|
||||
&.active {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:active,
|
||||
&:focus,
|
||||
&.active {
|
||||
border-left-color: transparent;
|
||||
border-bottom-color: transparent;
|
||||
border-top-color: transparent;
|
||||
color: $sidebar-dark-hover-color;
|
||||
}
|
||||
|
||||
&.active {
|
||||
background-color: $sidebar-dark-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab-pane {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
}
|
||||
|
||||
// Light skin
|
||||
.control-sidebar-light {
|
||||
color: lighten($sidebar-light-color, 10%);
|
||||
|
||||
// Background
|
||||
&,
|
||||
&:before {
|
||||
background: $sidebar-light-bg;
|
||||
border-left: 1px solid $gray-500;
|
||||
}
|
||||
}
|
||||
@@ -1,132 +0,0 @@
|
||||
/*
|
||||
* Component: Dropdown menus
|
||||
* -------------------------
|
||||
*/
|
||||
|
||||
// General Dropdown Rules
|
||||
//.dropdown-item {
|
||||
// &:first-of-type {
|
||||
// @include border-top-radius($border-radius);
|
||||
// }
|
||||
// &:last-of-type {
|
||||
// @include border-bottom-radius($border-radius);
|
||||
// }
|
||||
//}
|
||||
|
||||
.dropdown-item-title {
|
||||
font-size: $font-size-base;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
// Dropdown Sizes
|
||||
.dropdown-menu-lg {
|
||||
min-width: 280px;
|
||||
max-width: 300px;
|
||||
padding: 0;
|
||||
.dropdown-divider {
|
||||
margin: 0;
|
||||
}
|
||||
.dropdown-item {
|
||||
padding: $dropdown-padding-y $dropdown-item-padding-x;
|
||||
}
|
||||
p {
|
||||
white-space: normal;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Dropdown header and footer
|
||||
.dropdown-footer,
|
||||
.dropdown-header {
|
||||
text-align: center;
|
||||
display: block;
|
||||
padding: .5rem $dropdown-item-padding-x;
|
||||
font-size: $font-size-sm;
|
||||
}
|
||||
|
||||
/* Add fade animation to dropdown menus by appending
|
||||
the class .animated-dropdown-menu to the .dropdown-menu ul (or ol)*/
|
||||
.open:not(.dropup) > .animated-dropdown-menu {
|
||||
backface-visibility: visible !important;
|
||||
@include animation(flipInX .7s both);
|
||||
}
|
||||
|
||||
@keyframes flipInX {
|
||||
0% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
||||
transition-timing-function: ease-in;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
40% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
||||
transition-timing-function: ease-in;
|
||||
}
|
||||
|
||||
60% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: perspective(400px);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes flipInX {
|
||||
0% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
|
||||
-webkit-transition-timing-function: ease-in;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
40% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
|
||||
-webkit-transition-timing-function: ease-in;
|
||||
}
|
||||
|
||||
60% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
80% {
|
||||
-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-webkit-transform: perspective(400px);
|
||||
}
|
||||
}
|
||||
|
||||
/* Fix dropdown menu in navbars */
|
||||
.navbar-custom-menu > .navbar-nav {
|
||||
> li {
|
||||
position: relative;
|
||||
> .dropdown-menu {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(sm) {
|
||||
.navbar-custom-menu > .navbar-nav {
|
||||
float: right;
|
||||
> li {
|
||||
position: static;
|
||||
> .dropdown-menu {
|
||||
position: absolute;
|
||||
right: 5%;
|
||||
left: auto;
|
||||
border: 1px solid #ddd;
|
||||
background: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
.elevation-0 {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.elevation-1 {
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
.elevation-2 {
|
||||
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
|
||||
}
|
||||
|
||||
.elevation-3 {
|
||||
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
|
||||
}
|
||||
|
||||
.elevation-4 {
|
||||
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
|
||||
}
|
||||
|
||||
.elevation-5 {
|
||||
box-shadow: 0 19px 38px rgba(0, 0, 0, 0.30), 0 15px 12px rgba(0, 0, 0, 0.22);
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
/*
|
||||
* Component: Form
|
||||
* ---------------
|
||||
*/
|
||||
.form-group {
|
||||
&.has-icon {
|
||||
position: relative;
|
||||
.form-control {
|
||||
padding-right: 35px;
|
||||
}
|
||||
.form-icon {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
right: 3px;
|
||||
top: 0;
|
||||
padding: $input-btn-padding-y $input-btn-padding-x;
|
||||
// margin-top: -3px;
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* button groups */
|
||||
.btn-group-vertical {
|
||||
.btn {
|
||||
&.btn-flat:first-of-type, &.btn-flat:last-of-type {
|
||||
@include border-radius(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Support Font Awesome icons in form-control */
|
||||
.form-control-feedback.fa {
|
||||
line-height: $input-height;
|
||||
}
|
||||
|
||||
.input-lg + .form-control-feedback.fa,
|
||||
.input-group-lg + .form-control-feedback.fa,
|
||||
.form-group-lg .form-control + .form-control-feedback.fa {
|
||||
line-height: $input-height-lg;
|
||||
}
|
||||
|
||||
.input-sm + .form-control-feedback.fa,
|
||||
.input-group-sm + .form-control-feedback.fa,
|
||||
.form-group-sm .form-control + .form-control-feedback.fa {
|
||||
line-height: $input-height-sm;
|
||||
}
|
||||
|
||||
label:not(.form-check-label, .custom-file-label) {
|
||||
font-weight: $font-weight-bold;
|
||||
}
|
||||
95
build/scss/_header.scss
Normal file
95
build/scss/_header.scss
Normal file
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* Component: Main Header
|
||||
* ----------------------
|
||||
*/
|
||||
|
||||
.main-header {
|
||||
padding: 0 16px 0 0;
|
||||
.navbar-brand {
|
||||
font-weight: 200;
|
||||
width: $sidebar-width;
|
||||
padding: $main-header-brand-padding-y $main-header-brand-padding-x;
|
||||
background: darken($brand-primary, 5%);
|
||||
transition: width $transition-speed $transition-fn;
|
||||
overflow: hidden;
|
||||
margin-right: 0;
|
||||
|
||||
> .logo-mini {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
.sidebar-mini.sidebar-collapse & {
|
||||
width: $sidebar-mini-width;
|
||||
> .logo {
|
||||
display: none;
|
||||
}
|
||||
> .logo-mini {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
width: $sidebar-mini-width;
|
||||
> .logo {
|
||||
display: none;
|
||||
}
|
||||
> .logo-mini {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*.navbar-nav .nav-item {
|
||||
margin: 0;
|
||||
}*/
|
||||
|
||||
&.navbar-toggleable .navbar-nav .nav-link {
|
||||
padding: $main-header-link-padding-y $main-header-link-padding-x;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/*.open > .nav-link,
|
||||
.nav-link:hover {
|
||||
background: rgba(0, 0, 0, .1);
|
||||
}*/
|
||||
|
||||
.has-img {
|
||||
padding-top: $main-header-link-padding-y - 2;
|
||||
padding-bottom: $main-header-link-padding-y - 2;
|
||||
}
|
||||
|
||||
.navbar-nav[class*="-right"] {
|
||||
.dropdown-menu {
|
||||
margin-top: -3px;
|
||||
right: 0;
|
||||
left: auto;
|
||||
@media (max-width: breakpoint-max(xs)) {
|
||||
left: 0;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Add shadow to the navbar if wanted
|
||||
.navbar-shadow {
|
||||
@include box-shadow(0 3px 3px rgba(0, 0, 0, 0.1));
|
||||
}
|
||||
|
||||
// Add this class to images within a nav-link
|
||||
.navbar-img {
|
||||
height: $main-header-height / 2;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
// Navbar tags (used as badges in nav-link)
|
||||
.navbar-tag {
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
right: 5px;
|
||||
font-size: $font-size-xs - .1;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
@@ -1,79 +0,0 @@
|
||||
/*
|
||||
* Component: Info Box
|
||||
* -------------------
|
||||
*/
|
||||
.info-box {
|
||||
@extend .d-flex;
|
||||
@extend .mb-3;
|
||||
@include box-shadow($card-shadow);
|
||||
@include border-radius($border-radius);
|
||||
|
||||
padding: .5rem;
|
||||
min-height: 80px;
|
||||
background: $white;
|
||||
|
||||
.progress {
|
||||
background-color: rgba(0, 0, 0, 0.125);
|
||||
margin: 5px 0;
|
||||
height: 2px;
|
||||
.progress-bar {
|
||||
background-color: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.info-box-icon {
|
||||
@extend .d-flex;
|
||||
@extend .align-items-center;
|
||||
@extend .justify-content-center;
|
||||
|
||||
@if $enable-rounded {
|
||||
border-radius: $border-radius;
|
||||
}
|
||||
|
||||
display: block;
|
||||
width: 70px;
|
||||
text-align: center;
|
||||
font-size: 30px;
|
||||
|
||||
> img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.info-box-content {
|
||||
padding: 5px 10px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.info-box-number {
|
||||
display: block;
|
||||
font-weight: $font-weight-bold;
|
||||
}
|
||||
|
||||
.progress-description,
|
||||
.info-box-text {
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
@each $name, $color in $theme-colors {
|
||||
.info-box.bg-#{$name},
|
||||
.info-box.bg-#{$name}-gradient {
|
||||
color: color-yiq($color);
|
||||
|
||||
.progress-bar {
|
||||
background-color: color-yiq($color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.info-box-more {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.progress-description {
|
||||
margin: 0;
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
/*
|
||||
* Core: General Layout Style
|
||||
* -------------------------
|
||||
*/
|
||||
html,
|
||||
body,
|
||||
.wrapper {
|
||||
min-height: 100%;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
position: relative;
|
||||
|
||||
.layout-boxed & {
|
||||
@include box-shadow(0 0 10px rgba(0, 0, 0, .3));
|
||||
|
||||
&,
|
||||
&:before {
|
||||
margin: 0 auto;
|
||||
max-width: $boxed-layout-max-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-wrapper,
|
||||
.main-footer,
|
||||
.main-header {
|
||||
@include media-breakpoint-up(md) {
|
||||
@include transition(margin-left $transition-speed $transition-fn);
|
||||
|
||||
margin-left: $sidebar-width;
|
||||
z-index: 3000;
|
||||
|
||||
.sidebar-collapse & {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
&,
|
||||
&:before {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-wrapper {
|
||||
background: $main-bg;
|
||||
|
||||
> .content {
|
||||
padding: $content-padding-y $content-padding-x;
|
||||
}
|
||||
}
|
||||
|
||||
.main-sidebar {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
|
||||
&,
|
||||
&:before {
|
||||
$local-sidebar-transition: margin-left $transition-speed $transition-fn, width $transition-speed $transition-fn;
|
||||
@include transition($local-sidebar-transition);
|
||||
width: $sidebar-width;
|
||||
}
|
||||
|
||||
.sidebar-collapse & {
|
||||
&,
|
||||
&:before {
|
||||
margin-left: -$sidebar-width;
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
&,
|
||||
&:before {
|
||||
box-shadow: none!important;
|
||||
margin-left: -$sidebar-width;
|
||||
}
|
||||
|
||||
.sidebar-open & {
|
||||
&,
|
||||
&:before {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main-footer {
|
||||
padding: $main-footer-padding;
|
||||
color: #555;
|
||||
border-top: $main-footer-border-top;
|
||||
background: $main-footer-bg;
|
||||
}
|
||||
|
||||
.content-header {
|
||||
padding: 15px $content-padding-x;
|
||||
|
||||
h1 {
|
||||
font-size: 1.8rem;
|
||||
margin: 0;
|
||||
}
|
||||
.breadcrumb {
|
||||
margin-bottom: 0;
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
line-height: 1.8rem;
|
||||
}
|
||||
}
|
||||
|
||||
.hold-transition {
|
||||
.content-wrapper,
|
||||
.main-header,
|
||||
.main-footer {
|
||||
transition: none!important;
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
/*
|
||||
* Component: Main Header
|
||||
* ----------------------
|
||||
*/
|
||||
.main-header {
|
||||
z-index: $zindex-main-header;
|
||||
|
||||
.navbar-nav .nav-item {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
position: relative;
|
||||
height: $nav-link-height;
|
||||
}
|
||||
|
||||
.navbar-nav[class*="-right"] {
|
||||
.dropdown-menu {
|
||||
margin-top: -3px;
|
||||
right: 0;
|
||||
left: auto;
|
||||
@media (max-width: breakpoint-max(xs)) {
|
||||
left: 0;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Add this class to images within a nav-link
|
||||
.navbar-img {
|
||||
height: $main-header-height / 2;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
// Navbar badge
|
||||
.navbar-badge {
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
right: 5px;
|
||||
font-size: .6rem;
|
||||
font-weight: 300;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
|
||||
.btn-navbar {
|
||||
border-left-width: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.form-control-navbar {
|
||||
border-right-width: 0;
|
||||
& + .input-group-append {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.form-control-navbar,
|
||||
.btn-navbar {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.navbar-dark {
|
||||
.form-control-navbar,
|
||||
.btn-navbar {
|
||||
background-color: $main-header-dark-form-control-bg;
|
||||
border: $main-header-dark-form-control-border;
|
||||
}
|
||||
|
||||
.form-control-navbar {
|
||||
&::placeholder,
|
||||
+ .input-group-append > .btn-navbar {
|
||||
color: $main-header-dark-placeholder-color;
|
||||
}
|
||||
|
||||
// Support FF and IE
|
||||
:-moz-placeholder {
|
||||
color: $main-header-dark-placeholder-color;
|
||||
}
|
||||
|
||||
::-moz-placeholder {
|
||||
color: $main-header-dark-placeholder-color;
|
||||
}
|
||||
|
||||
:-ms-input-placeholder {
|
||||
color: $main-header-dark-placeholder-color;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
&,
|
||||
& + .input-group-append .btn-navbar {
|
||||
border: $main-header-dark-form-control-focused-border !important;
|
||||
background-color: $main-header-dark-form-control-focused-bg;
|
||||
color: $main-header-dark-form-control-focused-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-light {
|
||||
.form-control-navbar,
|
||||
.btn-navbar {
|
||||
background-color: $main-header-light-form-control-bg;
|
||||
border: $main-header-light-form-control-border;
|
||||
}
|
||||
|
||||
.form-control-navbar {
|
||||
&::placeholder,
|
||||
+ .input-group-append > .btn-navbar {
|
||||
color: $main-header-light-placeholder-color;
|
||||
}
|
||||
|
||||
// Support FF and IE
|
||||
:-moz-placeholder {
|
||||
color: $main-header-light-placeholder-color;
|
||||
}
|
||||
|
||||
::-moz-placeholder {
|
||||
color: $main-header-light-placeholder-color;
|
||||
}
|
||||
|
||||
:-ms-input-placeholder {
|
||||
color: $main-header-light-placeholder-color;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
&,
|
||||
& + .input-group-append .btn-navbar {
|
||||
border: $main-header-light-form-control-focused-border !important;
|
||||
background-color: $main-header-light-form-control-focused-bg;
|
||||
color: $main-header-light-form-control-focused-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user