diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..22877ab --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +js/animation.js +js/jquery.mobile-events.min.js +js/jquery.ripple.js +js/misc.js +js/prism.js diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..6598077 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,41 @@ +{ + "extends": "eslint-config-airbnb", + "root": true, + "env": { + "browser": true, + "es6": true, + "node": true + }, + "globals": { + "Drupal": true, + "drupalSettings": true, + "drupalTranslations": true, + "domready": true, + "jQuery": true, + "_": true, + "matchMedia": true, + "Backbone": true, + "Modernizr": true, + "CKEDITOR": true + }, + "rules": { + "consistent-return": [0], + "no-underscore-dangle": [0], + "max-nested-callbacks": [1, 3], + "import/no-mutable-exports": [1], + "no-plusplus": [1, { + "allowForLoopAfterthoughts": true + }], + "no-param-reassign": [0], + "no-prototype-builtins": [0], + "valid-jsdoc": [1, { + "prefer": { + "returns": "return", + "property": "prop" + }, + "requireReturn": false + }], + "brace-style": ["error", "stroustrup"], + "no-unused-vars": [1] + } +} diff --git a/.sass-lint.yml b/.sass-lint.yml new file mode 100644 index 0000000..1202fe8 --- /dev/null +++ b/.sass-lint.yml @@ -0,0 +1,93 @@ +options: + formatter: stylish +rules: + # Extends + extends-before-mixins: 1 + extends-before-declarations: 1 + placeholder-in-extend: 1 + + # Mixins + mixins-before-declarations: 1 + + # Line Spacing + one-declaration-per-line: 1 + empty-line-between-blocks: 1 + single-line-per-selector: 1 + + # Disallows + no-attribute-selectors: 0 + no-color-hex: 0 + no-color-keywords: 1 + no-color-literals: 1 + no-combinators: 0 + no-css-comments: 0 + no-debug: 1 + no-disallowed-properties: 0 + no-duplicate-properties: 0 + no-empty-rulesets: 1 + no-extends: 0 + no-ids: 0 + no-important: 1 + no-invalid-hex: 1 + no-mergeable-selectors: 1 + no-misspelled-properties: 1 + no-qualifying-elements: 1 + no-trailing-whitespace: 1 + no-trailing-zero: 1 + no-transition-all: 1 + no-universal-selectors: 0 + no-url-domains: 1 + no-url-protocols: 1 + no-vendor-prefixes: 0 + no-warn: 1 + property-units: 0 + + # Nesting + declarations-before-nesting: 1 + force-attribute-nesting: 1 + force-element-nesting: 1 + force-pseudo-nesting: 1 + + # Name Formats + class-name-format: 1 + function-name-format: 1 + id-name-format: 0 + mixin-name-format: 1 + placeholder-name-format: 1 + variable-name-format: 1 + + # Style Guide + attribute-quotes: 1 + bem-depth: 0 + border-zero: 1 + brace-style: 1 + clean-import-paths: 1 + empty-args: 1 + hex-length: 1 + hex-notation: 1 + indentation: 1 + leading-zero: 0 + max-line-length: 0 + max-file-line-count: 0 + nesting-depth: 1 + property-sort-order: 1 + pseudo-element: 0 + quotes: 1 + shorthand-values: 1 + url-quotes: 1 + variable-for-property: 1 + zero-unit: 1 + + # Inner Spacing + space-after-comma: 0 + space-before-colon: 1 + space-after-colon: 1 + space-before-brace: 1 + space-before-bang: 1 + space-after-bang: 1 + space-between-parens: 1 + space-around-operator: 1 + + # Final Items + trailing-semicolon: 1 + final-newline: 1 diff --git a/css/code-highlight.css b/css/code-highlight.css index 3e7eacd..a5f3489 100755 --- a/css/code-highlight.css +++ b/css/code-highlight.css @@ -1,6 +1,6 @@ /* break points */ /* mixins and functions */ -@import url(https://fonts.googleapis.com/css?family=Roboto+Mono:400,700&subset=latin,cyrillic-ext); +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono:400,700&subset=latin,cyrillic-ext"); /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+apacheconf+c+bash+cpp+csharp+ruby+css-extras+git+java+json+markdown+nginx+php+php-extras+sass+scss+twig+yaml&plugins=line-numbers */ /** * prism.js default theme for JavaScript, CSS and HTML diff --git a/css/color-themes.css b/css/color-themes.css index b58a799..21d11cf 100755 --- a/css/color-themes.css +++ b/css/color-themes.css @@ -54,6 +54,8 @@ color: rgba(255, 255, 255, 0.3); } .primary-red .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-red #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-red .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .primary-red .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-red #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-red .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .primary-red .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-red #header .block-search form .form-item input[type="text"]::placeholder, .primary-red .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(255, 255, 255, 0.3); } @@ -173,6 +175,8 @@ color: rgba(255, 255, 255, 0.3); } .primary-pink .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-pink #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-pink .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .primary-pink .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-pink #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-pink .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .primary-pink .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-pink #header .block-search form .form-item input[type="text"]::placeholder, .primary-pink .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(255, 255, 255, 0.3); } @@ -292,6 +296,8 @@ color: rgba(255, 255, 255, 0.3); } .primary-purple .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-purple #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-purple .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .primary-purple .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-purple #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-purple .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .primary-purple .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-purple #header .block-search form .form-item input[type="text"]::placeholder, .primary-purple .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(255, 255, 255, 0.3); } @@ -411,6 +417,8 @@ color: rgba(255, 255, 255, 0.3); } .primary-deep-purple .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-deep-purple #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-deep-purple .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .primary-deep-purple .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-deep-purple #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-deep-purple .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .primary-deep-purple .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-deep-purple #header .block-search form .form-item input[type="text"]::placeholder, .primary-deep-purple .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(255, 255, 255, 0.3); } @@ -530,6 +538,8 @@ color: rgba(255, 255, 255, 0.3); } .primary-indigo .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-indigo #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-indigo .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .primary-indigo .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-indigo #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-indigo .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .primary-indigo .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-indigo #header .block-search form .form-item input[type="text"]::placeholder, .primary-indigo .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(255, 255, 255, 0.3); } @@ -649,6 +659,8 @@ color: rgba(0, 0, 0, 0.26); } .primary-blue .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-blue #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-blue .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .primary-blue .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-blue #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-blue .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .primary-blue .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-blue #header .block-search form .form-item input[type="text"]::placeholder, .primary-blue .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } @@ -768,6 +780,8 @@ color: rgba(0, 0, 0, 0.26); } .primary-light-blue .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-light-blue #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-light-blue .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .primary-light-blue .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-light-blue #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-light-blue .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .primary-light-blue .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-light-blue #header .block-search form .form-item input[type="text"]::placeholder, .primary-light-blue .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } @@ -887,6 +901,8 @@ color: rgba(0, 0, 0, 0.26); } .primary-cyan .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-cyan #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-cyan .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .primary-cyan .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-cyan #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-cyan .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .primary-cyan .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-cyan #header .block-search form .form-item input[type="text"]::placeholder, .primary-cyan .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } @@ -1006,6 +1022,8 @@ color: rgba(255, 255, 255, 0.3); } .primary-teal .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-teal #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-teal .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .primary-teal .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-teal #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-teal .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .primary-teal .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-teal #header .block-search form .form-item input[type="text"]::placeholder, .primary-teal .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(255, 255, 255, 0.3); } @@ -1125,6 +1143,8 @@ color: rgba(255, 255, 255, 0.3); } .primary-green .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-green #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-green .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .primary-green .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-green #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-green .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .primary-green .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-green #header .block-search form .form-item input[type="text"]::placeholder, .primary-green .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(255, 255, 255, 0.3); } @@ -1244,6 +1264,8 @@ color: rgba(0, 0, 0, 0.26); } .primary-light-green .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-light-green #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-light-green .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .primary-light-green .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-light-green #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-light-green .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .primary-light-green .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-light-green #header .block-search form .form-item input[type="text"]::placeholder, .primary-light-green .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } @@ -1363,6 +1385,8 @@ color: rgba(0, 0, 0, 0.26); } .primary-lime .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-lime #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-lime .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .primary-lime .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-lime #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-lime .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .primary-lime .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-lime #header .block-search form .form-item input[type="text"]::placeholder, .primary-lime .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } @@ -1482,6 +1506,8 @@ color: rgba(0, 0, 0, 0.26); } .primary-yellow .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-yellow #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-yellow .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .primary-yellow .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-yellow #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-yellow .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .primary-yellow .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-yellow #header .block-search form .form-item input[type="text"]::placeholder, .primary-yellow .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } @@ -1601,6 +1627,8 @@ color: rgba(0, 0, 0, 0.26); } .primary-amber .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-amber #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-amber .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .primary-amber .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-amber #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-amber .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .primary-amber .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-amber #header .block-search form .form-item input[type="text"]::placeholder, .primary-amber .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } @@ -1720,6 +1748,8 @@ color: rgba(0, 0, 0, 0.26); } .primary-orange .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-orange #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-orange .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .primary-orange .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-orange #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-orange .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .primary-orange .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-orange #header .block-search form .form-item input[type="text"]::placeholder, .primary-orange .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } @@ -1839,6 +1869,8 @@ color: rgba(255, 255, 255, 0.3); } .primary-deep-orange .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-deep-orange #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-deep-orange .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .primary-deep-orange .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-deep-orange #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-deep-orange .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .primary-deep-orange .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-deep-orange #header .block-search form .form-item input[type="text"]::placeholder, .primary-deep-orange .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(255, 255, 255, 0.3); } @@ -1958,6 +1990,8 @@ color: rgba(255, 255, 255, 0.3); } .primary-brown .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-brown #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-brown .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .primary-brown .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-brown #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-brown .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .primary-brown .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-brown #header .block-search form .form-item input[type="text"]::placeholder, .primary-brown .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(255, 255, 255, 0.3); } @@ -2077,6 +2111,8 @@ color: rgba(0, 0, 0, 0.26); } .primary-grey .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-grey #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-grey .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .primary-grey .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-grey #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-grey .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .primary-grey .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-grey #header .block-search form .form-item input[type="text"]::placeholder, .primary-grey .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } @@ -2196,6 +2232,8 @@ color: rgba(255, 255, 255, 0.3); } .primary-blue-grey .navbar-item.block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-blue-grey #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .primary-blue-grey .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .primary-blue-grey .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-blue-grey #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, .primary-blue-grey .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .primary-blue-grey .navbar-item.block-search form .form-item input[type="text"]::placeholder, .primary-blue-grey #header .block-search form .form-item input[type="text"]::placeholder, .primary-blue-grey .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { color: rgba(255, 255, 255, 0.3); } @@ -2313,7 +2351,7 @@ .accent-red .form-item .focused label { color: #ff5252; } -.accent-red .form-item input[type="text"]:focus, .accent-red .form-item input[type="text"].error:focus, .accent-red .form-item input[type="email"]:focus, .accent-red .form-item input[type="email"].error:focus, .accent-red .form-item input[type="password"]:focus, .accent-red .form-item input[type="password"].error:focus, .accent-red .form-item textarea:focus, .accent-red .form-item textarea.error:focus, .accent-red .form-item select:focus, .accent-red .form-item select.error:focus { +.accent-red .form-item input[type="text"]:focus, .accent-red .form-item input[type="text"].error:focus, .accent-red .form-item input[type="email"]:focus, .accent-red .form-item input[type="email"].error:focus, .accent-red .form-item input[type="password"]:focus, .accent-red .form-item input[type="password"].error:focus, .accent-red .form-item input[type="search"]:focus, .accent-red .form-item input[type="search"].error:focus, .accent-red .form-item input[type="tel"]:focus, .accent-red .form-item input[type="tel"].error:focus, .accent-red .form-item textarea:focus, .accent-red .form-item textarea.error:focus, .accent-red .form-item select:focus, .accent-red .form-item select.error:focus { border-color: #ff5252; } .accent-red .form-item input[type="checkbox"]:checked:before, .accent-red .form-item input[type="radio"]:checked:before { @@ -2405,7 +2443,7 @@ .accent-pink .form-item .focused label { color: #ff4081; } -.accent-pink .form-item input[type="text"]:focus, .accent-pink .form-item input[type="text"].error:focus, .accent-pink .form-item input[type="email"]:focus, .accent-pink .form-item input[type="email"].error:focus, .accent-pink .form-item input[type="password"]:focus, .accent-pink .form-item input[type="password"].error:focus, .accent-pink .form-item textarea:focus, .accent-pink .form-item textarea.error:focus, .accent-pink .form-item select:focus, .accent-pink .form-item select.error:focus { +.accent-pink .form-item input[type="text"]:focus, .accent-pink .form-item input[type="text"].error:focus, .accent-pink .form-item input[type="email"]:focus, .accent-pink .form-item input[type="email"].error:focus, .accent-pink .form-item input[type="password"]:focus, .accent-pink .form-item input[type="password"].error:focus, .accent-pink .form-item input[type="search"]:focus, .accent-pink .form-item input[type="search"].error:focus, .accent-pink .form-item input[type="tel"]:focus, .accent-pink .form-item input[type="tel"].error:focus, .accent-pink .form-item textarea:focus, .accent-pink .form-item textarea.error:focus, .accent-pink .form-item select:focus, .accent-pink .form-item select.error:focus { border-color: #ff4081; } .accent-pink .form-item input[type="checkbox"]:checked:before, .accent-pink .form-item input[type="radio"]:checked:before { @@ -2497,7 +2535,7 @@ .accent-purple .form-item .focused label { color: #e040fb; } -.accent-purple .form-item input[type="text"]:focus, .accent-purple .form-item input[type="text"].error:focus, .accent-purple .form-item input[type="email"]:focus, .accent-purple .form-item input[type="email"].error:focus, .accent-purple .form-item input[type="password"]:focus, .accent-purple .form-item input[type="password"].error:focus, .accent-purple .form-item textarea:focus, .accent-purple .form-item textarea.error:focus, .accent-purple .form-item select:focus, .accent-purple .form-item select.error:focus { +.accent-purple .form-item input[type="text"]:focus, .accent-purple .form-item input[type="text"].error:focus, .accent-purple .form-item input[type="email"]:focus, .accent-purple .form-item input[type="email"].error:focus, .accent-purple .form-item input[type="password"]:focus, .accent-purple .form-item input[type="password"].error:focus, .accent-purple .form-item input[type="search"]:focus, .accent-purple .form-item input[type="search"].error:focus, .accent-purple .form-item input[type="tel"]:focus, .accent-purple .form-item input[type="tel"].error:focus, .accent-purple .form-item textarea:focus, .accent-purple .form-item textarea.error:focus, .accent-purple .form-item select:focus, .accent-purple .form-item select.error:focus { border-color: #e040fb; } .accent-purple .form-item input[type="checkbox"]:checked:before, .accent-purple .form-item input[type="radio"]:checked:before { @@ -2589,7 +2627,7 @@ .accent-deep-purple .form-item .focused label { color: #7c4dff; } -.accent-deep-purple .form-item input[type="text"]:focus, .accent-deep-purple .form-item input[type="text"].error:focus, .accent-deep-purple .form-item input[type="email"]:focus, .accent-deep-purple .form-item input[type="email"].error:focus, .accent-deep-purple .form-item input[type="password"]:focus, .accent-deep-purple .form-item input[type="password"].error:focus, .accent-deep-purple .form-item textarea:focus, .accent-deep-purple .form-item textarea.error:focus, .accent-deep-purple .form-item select:focus, .accent-deep-purple .form-item select.error:focus { +.accent-deep-purple .form-item input[type="text"]:focus, .accent-deep-purple .form-item input[type="text"].error:focus, .accent-deep-purple .form-item input[type="email"]:focus, .accent-deep-purple .form-item input[type="email"].error:focus, .accent-deep-purple .form-item input[type="password"]:focus, .accent-deep-purple .form-item input[type="password"].error:focus, .accent-deep-purple .form-item input[type="search"]:focus, .accent-deep-purple .form-item input[type="search"].error:focus, .accent-deep-purple .form-item input[type="tel"]:focus, .accent-deep-purple .form-item input[type="tel"].error:focus, .accent-deep-purple .form-item textarea:focus, .accent-deep-purple .form-item textarea.error:focus, .accent-deep-purple .form-item select:focus, .accent-deep-purple .form-item select.error:focus { border-color: #7c4dff; } .accent-deep-purple .form-item input[type="checkbox"]:checked:before, .accent-deep-purple .form-item input[type="radio"]:checked:before { @@ -2681,7 +2719,7 @@ .accent-indigo .form-item .focused label { color: #536dfe; } -.accent-indigo .form-item input[type="text"]:focus, .accent-indigo .form-item input[type="text"].error:focus, .accent-indigo .form-item input[type="email"]:focus, .accent-indigo .form-item input[type="email"].error:focus, .accent-indigo .form-item input[type="password"]:focus, .accent-indigo .form-item input[type="password"].error:focus, .accent-indigo .form-item textarea:focus, .accent-indigo .form-item textarea.error:focus, .accent-indigo .form-item select:focus, .accent-indigo .form-item select.error:focus { +.accent-indigo .form-item input[type="text"]:focus, .accent-indigo .form-item input[type="text"].error:focus, .accent-indigo .form-item input[type="email"]:focus, .accent-indigo .form-item input[type="email"].error:focus, .accent-indigo .form-item input[type="password"]:focus, .accent-indigo .form-item input[type="password"].error:focus, .accent-indigo .form-item input[type="search"]:focus, .accent-indigo .form-item input[type="search"].error:focus, .accent-indigo .form-item input[type="tel"]:focus, .accent-indigo .form-item input[type="tel"].error:focus, .accent-indigo .form-item textarea:focus, .accent-indigo .form-item textarea.error:focus, .accent-indigo .form-item select:focus, .accent-indigo .form-item select.error:focus { border-color: #536dfe; } .accent-indigo .form-item input[type="checkbox"]:checked:before, .accent-indigo .form-item input[type="radio"]:checked:before { @@ -2773,7 +2811,7 @@ .accent-blue .form-item .focused label { color: #448aff; } -.accent-blue .form-item input[type="text"]:focus, .accent-blue .form-item input[type="text"].error:focus, .accent-blue .form-item input[type="email"]:focus, .accent-blue .form-item input[type="email"].error:focus, .accent-blue .form-item input[type="password"]:focus, .accent-blue .form-item input[type="password"].error:focus, .accent-blue .form-item textarea:focus, .accent-blue .form-item textarea.error:focus, .accent-blue .form-item select:focus, .accent-blue .form-item select.error:focus { +.accent-blue .form-item input[type="text"]:focus, .accent-blue .form-item input[type="text"].error:focus, .accent-blue .form-item input[type="email"]:focus, .accent-blue .form-item input[type="email"].error:focus, .accent-blue .form-item input[type="password"]:focus, .accent-blue .form-item input[type="password"].error:focus, .accent-blue .form-item input[type="search"]:focus, .accent-blue .form-item input[type="search"].error:focus, .accent-blue .form-item input[type="tel"]:focus, .accent-blue .form-item input[type="tel"].error:focus, .accent-blue .form-item textarea:focus, .accent-blue .form-item textarea.error:focus, .accent-blue .form-item select:focus, .accent-blue .form-item select.error:focus { border-color: #448aff; } .accent-blue .form-item input[type="checkbox"]:checked:before, .accent-blue .form-item input[type="radio"]:checked:before { @@ -2865,7 +2903,7 @@ .accent-light-blue .form-item .focused label { color: #40c4ff; } -.accent-light-blue .form-item input[type="text"]:focus, .accent-light-blue .form-item input[type="text"].error:focus, .accent-light-blue .form-item input[type="email"]:focus, .accent-light-blue .form-item input[type="email"].error:focus, .accent-light-blue .form-item input[type="password"]:focus, .accent-light-blue .form-item input[type="password"].error:focus, .accent-light-blue .form-item textarea:focus, .accent-light-blue .form-item textarea.error:focus, .accent-light-blue .form-item select:focus, .accent-light-blue .form-item select.error:focus { +.accent-light-blue .form-item input[type="text"]:focus, .accent-light-blue .form-item input[type="text"].error:focus, .accent-light-blue .form-item input[type="email"]:focus, .accent-light-blue .form-item input[type="email"].error:focus, .accent-light-blue .form-item input[type="password"]:focus, .accent-light-blue .form-item input[type="password"].error:focus, .accent-light-blue .form-item input[type="search"]:focus, .accent-light-blue .form-item input[type="search"].error:focus, .accent-light-blue .form-item input[type="tel"]:focus, .accent-light-blue .form-item input[type="tel"].error:focus, .accent-light-blue .form-item textarea:focus, .accent-light-blue .form-item textarea.error:focus, .accent-light-blue .form-item select:focus, .accent-light-blue .form-item select.error:focus { border-color: #40c4ff; } .accent-light-blue .form-item input[type="checkbox"]:checked:before, .accent-light-blue .form-item input[type="radio"]:checked:before { @@ -2957,7 +2995,7 @@ .accent-cyan .form-item .focused label { color: #18ffff; } -.accent-cyan .form-item input[type="text"]:focus, .accent-cyan .form-item input[type="text"].error:focus, .accent-cyan .form-item input[type="email"]:focus, .accent-cyan .form-item input[type="email"].error:focus, .accent-cyan .form-item input[type="password"]:focus, .accent-cyan .form-item input[type="password"].error:focus, .accent-cyan .form-item textarea:focus, .accent-cyan .form-item textarea.error:focus, .accent-cyan .form-item select:focus, .accent-cyan .form-item select.error:focus { +.accent-cyan .form-item input[type="text"]:focus, .accent-cyan .form-item input[type="text"].error:focus, .accent-cyan .form-item input[type="email"]:focus, .accent-cyan .form-item input[type="email"].error:focus, .accent-cyan .form-item input[type="password"]:focus, .accent-cyan .form-item input[type="password"].error:focus, .accent-cyan .form-item input[type="search"]:focus, .accent-cyan .form-item input[type="search"].error:focus, .accent-cyan .form-item input[type="tel"]:focus, .accent-cyan .form-item input[type="tel"].error:focus, .accent-cyan .form-item textarea:focus, .accent-cyan .form-item textarea.error:focus, .accent-cyan .form-item select:focus, .accent-cyan .form-item select.error:focus { border-color: #18ffff; } .accent-cyan .form-item input[type="checkbox"]:checked:before, .accent-cyan .form-item input[type="radio"]:checked:before { @@ -3049,7 +3087,7 @@ .accent-teal .form-item .focused label { color: #64ffda; } -.accent-teal .form-item input[type="text"]:focus, .accent-teal .form-item input[type="text"].error:focus, .accent-teal .form-item input[type="email"]:focus, .accent-teal .form-item input[type="email"].error:focus, .accent-teal .form-item input[type="password"]:focus, .accent-teal .form-item input[type="password"].error:focus, .accent-teal .form-item textarea:focus, .accent-teal .form-item textarea.error:focus, .accent-teal .form-item select:focus, .accent-teal .form-item select.error:focus { +.accent-teal .form-item input[type="text"]:focus, .accent-teal .form-item input[type="text"].error:focus, .accent-teal .form-item input[type="email"]:focus, .accent-teal .form-item input[type="email"].error:focus, .accent-teal .form-item input[type="password"]:focus, .accent-teal .form-item input[type="password"].error:focus, .accent-teal .form-item input[type="search"]:focus, .accent-teal .form-item input[type="search"].error:focus, .accent-teal .form-item input[type="tel"]:focus, .accent-teal .form-item input[type="tel"].error:focus, .accent-teal .form-item textarea:focus, .accent-teal .form-item textarea.error:focus, .accent-teal .form-item select:focus, .accent-teal .form-item select.error:focus { border-color: #64ffda; } .accent-teal .form-item input[type="checkbox"]:checked:before, .accent-teal .form-item input[type="radio"]:checked:before { @@ -3141,7 +3179,7 @@ .accent-green .form-item .focused label { color: #69f0ae; } -.accent-green .form-item input[type="text"]:focus, .accent-green .form-item input[type="text"].error:focus, .accent-green .form-item input[type="email"]:focus, .accent-green .form-item input[type="email"].error:focus, .accent-green .form-item input[type="password"]:focus, .accent-green .form-item input[type="password"].error:focus, .accent-green .form-item textarea:focus, .accent-green .form-item textarea.error:focus, .accent-green .form-item select:focus, .accent-green .form-item select.error:focus { +.accent-green .form-item input[type="text"]:focus, .accent-green .form-item input[type="text"].error:focus, .accent-green .form-item input[type="email"]:focus, .accent-green .form-item input[type="email"].error:focus, .accent-green .form-item input[type="password"]:focus, .accent-green .form-item input[type="password"].error:focus, .accent-green .form-item input[type="search"]:focus, .accent-green .form-item input[type="search"].error:focus, .accent-green .form-item input[type="tel"]:focus, .accent-green .form-item input[type="tel"].error:focus, .accent-green .form-item textarea:focus, .accent-green .form-item textarea.error:focus, .accent-green .form-item select:focus, .accent-green .form-item select.error:focus { border-color: #69f0ae; } .accent-green .form-item input[type="checkbox"]:checked:before, .accent-green .form-item input[type="radio"]:checked:before { @@ -3233,7 +3271,7 @@ .accent-light-green .form-item .focused label { color: #b2ff59; } -.accent-light-green .form-item input[type="text"]:focus, .accent-light-green .form-item input[type="text"].error:focus, .accent-light-green .form-item input[type="email"]:focus, .accent-light-green .form-item input[type="email"].error:focus, .accent-light-green .form-item input[type="password"]:focus, .accent-light-green .form-item input[type="password"].error:focus, .accent-light-green .form-item textarea:focus, .accent-light-green .form-item textarea.error:focus, .accent-light-green .form-item select:focus, .accent-light-green .form-item select.error:focus { +.accent-light-green .form-item input[type="text"]:focus, .accent-light-green .form-item input[type="text"].error:focus, .accent-light-green .form-item input[type="email"]:focus, .accent-light-green .form-item input[type="email"].error:focus, .accent-light-green .form-item input[type="password"]:focus, .accent-light-green .form-item input[type="password"].error:focus, .accent-light-green .form-item input[type="search"]:focus, .accent-light-green .form-item input[type="search"].error:focus, .accent-light-green .form-item input[type="tel"]:focus, .accent-light-green .form-item input[type="tel"].error:focus, .accent-light-green .form-item textarea:focus, .accent-light-green .form-item textarea.error:focus, .accent-light-green .form-item select:focus, .accent-light-green .form-item select.error:focus { border-color: #b2ff59; } .accent-light-green .form-item input[type="checkbox"]:checked:before, .accent-light-green .form-item input[type="radio"]:checked:before { @@ -3325,7 +3363,7 @@ .accent-lime .form-item .focused label { color: #eeff41; } -.accent-lime .form-item input[type="text"]:focus, .accent-lime .form-item input[type="text"].error:focus, .accent-lime .form-item input[type="email"]:focus, .accent-lime .form-item input[type="email"].error:focus, .accent-lime .form-item input[type="password"]:focus, .accent-lime .form-item input[type="password"].error:focus, .accent-lime .form-item textarea:focus, .accent-lime .form-item textarea.error:focus, .accent-lime .form-item select:focus, .accent-lime .form-item select.error:focus { +.accent-lime .form-item input[type="text"]:focus, .accent-lime .form-item input[type="text"].error:focus, .accent-lime .form-item input[type="email"]:focus, .accent-lime .form-item input[type="email"].error:focus, .accent-lime .form-item input[type="password"]:focus, .accent-lime .form-item input[type="password"].error:focus, .accent-lime .form-item input[type="search"]:focus, .accent-lime .form-item input[type="search"].error:focus, .accent-lime .form-item input[type="tel"]:focus, .accent-lime .form-item input[type="tel"].error:focus, .accent-lime .form-item textarea:focus, .accent-lime .form-item textarea.error:focus, .accent-lime .form-item select:focus, .accent-lime .form-item select.error:focus { border-color: #eeff41; } .accent-lime .form-item input[type="checkbox"]:checked:before, .accent-lime .form-item input[type="radio"]:checked:before { @@ -3417,7 +3455,7 @@ .accent-yellow .form-item .focused label { color: #ffff00; } -.accent-yellow .form-item input[type="text"]:focus, .accent-yellow .form-item input[type="text"].error:focus, .accent-yellow .form-item input[type="email"]:focus, .accent-yellow .form-item input[type="email"].error:focus, .accent-yellow .form-item input[type="password"]:focus, .accent-yellow .form-item input[type="password"].error:focus, .accent-yellow .form-item textarea:focus, .accent-yellow .form-item textarea.error:focus, .accent-yellow .form-item select:focus, .accent-yellow .form-item select.error:focus { +.accent-yellow .form-item input[type="text"]:focus, .accent-yellow .form-item input[type="text"].error:focus, .accent-yellow .form-item input[type="email"]:focus, .accent-yellow .form-item input[type="email"].error:focus, .accent-yellow .form-item input[type="password"]:focus, .accent-yellow .form-item input[type="password"].error:focus, .accent-yellow .form-item input[type="search"]:focus, .accent-yellow .form-item input[type="search"].error:focus, .accent-yellow .form-item input[type="tel"]:focus, .accent-yellow .form-item input[type="tel"].error:focus, .accent-yellow .form-item textarea:focus, .accent-yellow .form-item textarea.error:focus, .accent-yellow .form-item select:focus, .accent-yellow .form-item select.error:focus { border-color: #ffff00; } .accent-yellow .form-item input[type="checkbox"]:checked:before, .accent-yellow .form-item input[type="radio"]:checked:before { @@ -3509,7 +3547,7 @@ .accent-amber .form-item .focused label { color: #ffd740; } -.accent-amber .form-item input[type="text"]:focus, .accent-amber .form-item input[type="text"].error:focus, .accent-amber .form-item input[type="email"]:focus, .accent-amber .form-item input[type="email"].error:focus, .accent-amber .form-item input[type="password"]:focus, .accent-amber .form-item input[type="password"].error:focus, .accent-amber .form-item textarea:focus, .accent-amber .form-item textarea.error:focus, .accent-amber .form-item select:focus, .accent-amber .form-item select.error:focus { +.accent-amber .form-item input[type="text"]:focus, .accent-amber .form-item input[type="text"].error:focus, .accent-amber .form-item input[type="email"]:focus, .accent-amber .form-item input[type="email"].error:focus, .accent-amber .form-item input[type="password"]:focus, .accent-amber .form-item input[type="password"].error:focus, .accent-amber .form-item input[type="search"]:focus, .accent-amber .form-item input[type="search"].error:focus, .accent-amber .form-item input[type="tel"]:focus, .accent-amber .form-item input[type="tel"].error:focus, .accent-amber .form-item textarea:focus, .accent-amber .form-item textarea.error:focus, .accent-amber .form-item select:focus, .accent-amber .form-item select.error:focus { border-color: #ffd740; } .accent-amber .form-item input[type="checkbox"]:checked:before, .accent-amber .form-item input[type="radio"]:checked:before { @@ -3601,7 +3639,7 @@ .accent-orange .form-item .focused label { color: #ffab40; } -.accent-orange .form-item input[type="text"]:focus, .accent-orange .form-item input[type="text"].error:focus, .accent-orange .form-item input[type="email"]:focus, .accent-orange .form-item input[type="email"].error:focus, .accent-orange .form-item input[type="password"]:focus, .accent-orange .form-item input[type="password"].error:focus, .accent-orange .form-item textarea:focus, .accent-orange .form-item textarea.error:focus, .accent-orange .form-item select:focus, .accent-orange .form-item select.error:focus { +.accent-orange .form-item input[type="text"]:focus, .accent-orange .form-item input[type="text"].error:focus, .accent-orange .form-item input[type="email"]:focus, .accent-orange .form-item input[type="email"].error:focus, .accent-orange .form-item input[type="password"]:focus, .accent-orange .form-item input[type="password"].error:focus, .accent-orange .form-item input[type="search"]:focus, .accent-orange .form-item input[type="search"].error:focus, .accent-orange .form-item input[type="tel"]:focus, .accent-orange .form-item input[type="tel"].error:focus, .accent-orange .form-item textarea:focus, .accent-orange .form-item textarea.error:focus, .accent-orange .form-item select:focus, .accent-orange .form-item select.error:focus { border-color: #ffab40; } .accent-orange .form-item input[type="checkbox"]:checked:before, .accent-orange .form-item input[type="radio"]:checked:before { @@ -3693,7 +3731,7 @@ .accent-deep-orange .form-item .focused label { color: #ff6e40; } -.accent-deep-orange .form-item input[type="text"]:focus, .accent-deep-orange .form-item input[type="text"].error:focus, .accent-deep-orange .form-item input[type="email"]:focus, .accent-deep-orange .form-item input[type="email"].error:focus, .accent-deep-orange .form-item input[type="password"]:focus, .accent-deep-orange .form-item input[type="password"].error:focus, .accent-deep-orange .form-item textarea:focus, .accent-deep-orange .form-item textarea.error:focus, .accent-deep-orange .form-item select:focus, .accent-deep-orange .form-item select.error:focus { +.accent-deep-orange .form-item input[type="text"]:focus, .accent-deep-orange .form-item input[type="text"].error:focus, .accent-deep-orange .form-item input[type="email"]:focus, .accent-deep-orange .form-item input[type="email"].error:focus, .accent-deep-orange .form-item input[type="password"]:focus, .accent-deep-orange .form-item input[type="password"].error:focus, .accent-deep-orange .form-item input[type="search"]:focus, .accent-deep-orange .form-item input[type="search"].error:focus, .accent-deep-orange .form-item input[type="tel"]:focus, .accent-deep-orange .form-item input[type="tel"].error:focus, .accent-deep-orange .form-item textarea:focus, .accent-deep-orange .form-item textarea.error:focus, .accent-deep-orange .form-item select:focus, .accent-deep-orange .form-item select.error:focus { border-color: #ff6e40; } .accent-deep-orange .form-item input[type="checkbox"]:checked:before, .accent-deep-orange .form-item input[type="radio"]:checked:before { diff --git a/css/styles.css b/css/styles.css index 89e6b9d..c313785 100755 --- a/css/styles.css +++ b/css/styles.css @@ -1,6 +1,6 @@ @charset "UTF-8"; -@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700&subset=latin,cyrillic); -@import url(https://fonts.googleapis.com/icon?family=Material+Icons); +@import url("https://fonts.googleapis.com/css?family=Roboto:400,500,700&subset=latin,cyrillic"); +@import url("https://fonts.googleapis.com/icon?family=Material+Icons"); html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, @@ -1471,23 +1471,25 @@ tr.selected:hover { color: rgba(0, 0, 0, 0.87); font-family: "Roboto", sans-serif; font-size: 16px; } - .form-item input[type="text"], .form-item input[type="email"], .form-item input[type="password"], .form-item textarea, .form-item select { + .form-item input[type="text"], .form-item input[type="email"], .form-item input[type="password"], .form-item input[type="search"], .form-item input[type="tel"], .form-item textarea, .form-item select { display: block; width: 100%; max-width: 460px; border-bottom: 1px solid rgba(0, 0, 0, 0.12); padding: 8px 0; } - .form-item input[type="text"]:focus, .form-item input[type="text"].error:focus, .form-item input[type="email"]:focus, .form-item input[type="email"].error:focus, .form-item input[type="password"]:focus, .form-item input[type="password"].error:focus, .form-item textarea:focus, .form-item textarea.error:focus, .form-item select:focus, .form-item select.error:focus { + .form-item input[type="text"]:focus, .form-item input[type="text"].error:focus, .form-item input[type="email"]:focus, .form-item input[type="email"].error:focus, .form-item input[type="password"]:focus, .form-item input[type="password"].error:focus, .form-item input[type="search"]:focus, .form-item input[type="search"].error:focus, .form-item input[type="tel"]:focus, .form-item input[type="tel"].error:focus, .form-item textarea:focus, .form-item textarea.error:focus, .form-item select:focus, .form-item select.error:focus { border-bottom: 2px solid #00b0ff; padding-bottom: 7px; } - .form-item input[type="text"].error, .form-item input[type="email"].error, .form-item input[type="password"].error, .form-item textarea.error, .form-item select.error { + .form-item input[type="text"].error, .form-item input[type="email"].error, .form-item input[type="password"].error, .form-item input[type="search"].error, .form-item input[type="tel"].error, .form-item textarea.error, .form-item select.error { border-bottom: 2px solid #f44336; padding: 8px 0 7px; } - .form-item input[type="text"]::-webkit-input-placeholder, .form-item input[type="email"]::-webkit-input-placeholder, .form-item input[type="password"]::-webkit-input-placeholder, .form-item textarea::-webkit-input-placeholder, .form-item select::-webkit-input-placeholder { + .form-item input[type="text"]::-webkit-input-placeholder, .form-item input[type="email"]::-webkit-input-placeholder, .form-item input[type="password"]::-webkit-input-placeholder, .form-item input[type="search"]::-webkit-input-placeholder, .form-item input[type="tel"]::-webkit-input-placeholder, .form-item textarea::-webkit-input-placeholder, .form-item select::-webkit-input-placeholder { color: rgba(0, 0, 0, 0.26); } - .form-item input[type="text"]:-ms-input-placeholder, .form-item input[type="email"]:-ms-input-placeholder, .form-item input[type="password"]:-ms-input-placeholder, .form-item textarea:-ms-input-placeholder, .form-item select:-ms-input-placeholder { + .form-item input[type="text"]:-ms-input-placeholder, .form-item input[type="email"]:-ms-input-placeholder, .form-item input[type="password"]:-ms-input-placeholder, .form-item input[type="search"]:-ms-input-placeholder, .form-item input[type="tel"]:-ms-input-placeholder, .form-item textarea:-ms-input-placeholder, .form-item select:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } - .form-item input[type="text"]::placeholder, .form-item input[type="email"]::placeholder, .form-item input[type="password"]::placeholder, .form-item textarea::placeholder, .form-item select::placeholder { + .form-item input[type="text"]::-ms-input-placeholder, .form-item input[type="email"]::-ms-input-placeholder, .form-item input[type="password"]::-ms-input-placeholder, .form-item input[type="search"]::-ms-input-placeholder, .form-item input[type="tel"]::-ms-input-placeholder, .form-item textarea::-ms-input-placeholder, .form-item select::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } + .form-item input[type="text"]::placeholder, .form-item input[type="email"]::placeholder, .form-item input[type="password"]::placeholder, .form-item input[type="search"]::placeholder, .form-item input[type="tel"]::placeholder, .form-item textarea::placeholder, .form-item select::placeholder { color: rgba(0, 0, 0, 0.26); } .form-item input[type="radio"], .form-item input[type="checkbox"] { display: inline-block; @@ -1759,7 +1761,7 @@ tr.selected:hover { margin: 160px auto 160px; } .header-bg-image #header { - background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, transparent 64px), #607d8b url(../img/header-bg.jpg) top center; + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 64px), #607d8b url(../img/header-bg.jpg) top center; background-size: auto, cover; } .header-bg-image #bg-video { @@ -1776,7 +1778,7 @@ tr.selected:hover { .header-bg-image.navbar-fixed #header-bg { display: block; - background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, transparent 64px), url(../img/header-bg.jpg) top center; + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 64px), url(../img/header-bg.jpg) top center; background-size: auto, cover; opacity: 1; top: 0; @@ -1787,7 +1789,7 @@ tr.selected:hover { z-index: -1; } .header-bg-object #navbar { - background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, transparent 64px); } + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 64px); } .header-bg-object #header { background: #607d8b; } @@ -1845,7 +1847,7 @@ tr.selected:hover { right: 0; z-index: 1; height: 64px; - background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, transparent 64px); } + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 64px); } .main-shift-up #header { padding-bottom: 128px; } @@ -1956,6 +1958,10 @@ tr.selected:hover { #header .block-search form .form-item input[type="text"]:-ms-input-placeholder, .card-bg-primary .block-search form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } + .navbar-item.block-search form .form-item input[type="text"]::-ms-input-placeholder, + #header .block-search form .form-item input[type="text"]::-ms-input-placeholder, + .card-bg-primary .block-search form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } .navbar-item.block-search form .form-item input[type="text"]::placeholder, #header .block-search form .form-item input[type="text"]::placeholder, .card-bg-primary .block-search form .form-item input[type="text"]::placeholder { @@ -2002,6 +2008,10 @@ tr.selected:hover { #header .block-search.search-persistent form .form-item.focused input[type="text"]:-ms-input-placeholder, .card-bg-primary .block-search.search-persistent form .form-item.focused input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .navbar-item.block-search.search-persistent form .form-item.focused input[type="text"]::-ms-input-placeholder, + #header .block-search.search-persistent form .form-item.focused input[type="text"]::-ms-input-placeholder, + .card-bg-primary .block-search.search-persistent form .form-item.focused input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .navbar-item.block-search.search-persistent form .form-item.focused input[type="text"]::placeholder, #header .block-search.search-persistent form .form-item.focused input[type="text"]::placeholder, .card-bg-primary .block-search.search-persistent form .form-item.focused input[type="text"]::placeholder { @@ -2019,6 +2029,8 @@ tr.selected:hover { color: rgba(0, 0, 0, 0.26); } .navbar-light:not(.theme-dark) .navbar-item.block-search.search-persistent form .form-item input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .navbar-light:not(.theme-dark) .navbar-item.block-search.search-persistent form .form-item input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .navbar-light:not(.theme-dark) .navbar-item.block-search.search-persistent form .form-item input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } .navbar-light:not(.theme-dark) .navbar-item.block-search.search-persistent form .form-item.icon-left:before { diff --git a/css/theme-dark.css b/css/theme-dark.css index 6e587d7..a1dcbec 100755 --- a/css/theme-dark.css +++ b/css/theme-dark.css @@ -137,15 +137,17 @@ color: #FFF; } .theme-dark .form-item select option { color: rgba(0, 0, 0, 0.87); } - .theme-dark .form-item input[type="text"], .theme-dark .form-item input[type="email"], .theme-dark .form-item input[type="password"], .theme-dark .form-item textarea, .theme-dark .form-item select { + .theme-dark .form-item input[type="text"], .theme-dark .form-item input[type="email"], .theme-dark .form-item input[type="password"], .theme-dark .form-item input[type="search"], .theme-dark .form-item input[type="tel"], .theme-dark .form-item textarea, .theme-dark .form-item select { border-bottom-color: rgba(255, 255, 255, 0.12); } - .theme-dark .form-item input[type="text"]:focus, .theme-dark .form-item input[type="text"].error:focus, .theme-dark .form-item input[type="email"]:focus, .theme-dark .form-item input[type="email"].error:focus, .theme-dark .form-item input[type="password"]:focus, .theme-dark .form-item input[type="password"].error:focus, .theme-dark .form-item textarea:focus, .theme-dark .form-item textarea.error:focus, .theme-dark .form-item select:focus, .theme-dark .form-item select.error:focus { + .theme-dark .form-item input[type="text"]:focus, .theme-dark .form-item input[type="text"].error:focus, .theme-dark .form-item input[type="email"]:focus, .theme-dark .form-item input[type="email"].error:focus, .theme-dark .form-item input[type="password"]:focus, .theme-dark .form-item input[type="password"].error:focus, .theme-dark .form-item input[type="search"]:focus, .theme-dark .form-item input[type="search"].error:focus, .theme-dark .form-item input[type="tel"]:focus, .theme-dark .form-item input[type="tel"].error:focus, .theme-dark .form-item textarea:focus, .theme-dark .form-item textarea.error:focus, .theme-dark .form-item select:focus, .theme-dark .form-item select.error:focus { border-bottom-color: #40c4ff; } - .theme-dark .form-item input[type="text"]::-webkit-input-placeholder, .theme-dark .form-item input[type="email"]::-webkit-input-placeholder, .theme-dark .form-item input[type="password"]::-webkit-input-placeholder, .theme-dark .form-item textarea::-webkit-input-placeholder, .theme-dark .form-item select::-webkit-input-placeholder { + .theme-dark .form-item input[type="text"]::-webkit-input-placeholder, .theme-dark .form-item input[type="email"]::-webkit-input-placeholder, .theme-dark .form-item input[type="password"]::-webkit-input-placeholder, .theme-dark .form-item input[type="search"]::-webkit-input-placeholder, .theme-dark .form-item input[type="tel"]::-webkit-input-placeholder, .theme-dark .form-item textarea::-webkit-input-placeholder, .theme-dark .form-item select::-webkit-input-placeholder { color: rgba(255, 255, 255, 0.3); } - .theme-dark .form-item input[type="text"]:-ms-input-placeholder, .theme-dark .form-item input[type="email"]:-ms-input-placeholder, .theme-dark .form-item input[type="password"]:-ms-input-placeholder, .theme-dark .form-item textarea:-ms-input-placeholder, .theme-dark .form-item select:-ms-input-placeholder { + .theme-dark .form-item input[type="text"]:-ms-input-placeholder, .theme-dark .form-item input[type="email"]:-ms-input-placeholder, .theme-dark .form-item input[type="password"]:-ms-input-placeholder, .theme-dark .form-item input[type="search"]:-ms-input-placeholder, .theme-dark .form-item input[type="tel"]:-ms-input-placeholder, .theme-dark .form-item textarea:-ms-input-placeholder, .theme-dark .form-item select:-ms-input-placeholder { color: rgba(255, 255, 255, 0.3); } - .theme-dark .form-item input[type="text"]::placeholder, .theme-dark .form-item input[type="email"]::placeholder, .theme-dark .form-item input[type="password"]::placeholder, .theme-dark .form-item textarea::placeholder, .theme-dark .form-item select::placeholder { + .theme-dark .form-item input[type="text"]::-ms-input-placeholder, .theme-dark .form-item input[type="email"]::-ms-input-placeholder, .theme-dark .form-item input[type="password"]::-ms-input-placeholder, .theme-dark .form-item input[type="search"]::-ms-input-placeholder, .theme-dark .form-item input[type="tel"]::-ms-input-placeholder, .theme-dark .form-item textarea::-ms-input-placeholder, .theme-dark .form-item select::-ms-input-placeholder { + color: rgba(255, 255, 255, 0.3); } + .theme-dark .form-item input[type="text"]::placeholder, .theme-dark .form-item input[type="email"]::placeholder, .theme-dark .form-item input[type="password"]::placeholder, .theme-dark .form-item input[type="search"]::placeholder, .theme-dark .form-item input[type="tel"]::placeholder, .theme-dark .form-item textarea::placeholder, .theme-dark .form-item select::placeholder { color: rgba(255, 255, 255, 0.3); } .theme-dark .form-item input[type="radio"], .theme-dark .form-item input[type="checkbox"] { color: rgba(255, 255, 255, 0.7); } @@ -192,6 +194,8 @@ color: rgba(0, 0, 0, 0.26); } .theme-dark .block-search.search-persistent form .form-item.focused input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, 0.26); } + .theme-dark .block-search.search-persistent form .form-item.focused input[type="text"]::-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); } .theme-dark .block-search.search-persistent form .form-item.focused input[type="text"]::placeholder { color: rgba(0, 0, 0, 0.26); } .theme-dark .tabs ul li a, .theme-dark ul.tabs li a { diff --git a/gulpfile.js b/gulpfile.js index 9b073a9..0bcd193 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,5 +1,7 @@ var gulp = require('gulp'); var sass = require('gulp-sass'); +var sasslint = require('gulp-sass-lint'); +var eslint = require('gulp-eslint'); var changed = require('gulp-changed'); var autoprefixer = require('gulp-autoprefixer'); var imagemin = require('gulp-imagemin'); @@ -7,6 +9,21 @@ var imagemin = require('gulp-imagemin'); var SASS = 'sass'; var CSS = 'css'; var IMG = 'img'; +var JS = 'js'; + +gulp.task('sass-lint', function () { + return gulp.src(SASS + '/**/*.scss') + .pipe(sasslint()) + .pipe(sasslint.format()) + .pipe(sasslint.failOnError()); +}); + +gulp.task('js-lint', function () { + return gulp.src(JS + '/**/*.js') + .pipe(eslint()) + .pipe(eslint.format()) + .pipe(eslint.failAfterError()); +}); gulp.task('sass', function () { return gulp.src(SASS + '/**/*.scss') @@ -37,4 +54,13 @@ gulp.task('watch', function() { gulp.watch(SASS + '/**/*.scss', ['sass', 'autoprefixer', 'imagemin']); }); +gulp.task('build-lint', ['sass-lint', 'sass', 'autoprefixer', 'imagemin', 'js-lint']); + +gulp.task('watch-lint', function() { + gulp.watch(SASS + '/**/*.scss', ['sass-lint', 'sass', 'autoprefixer', 'imagemin']); + gulp.watch(JS + '/**/*.js', ['js-lint']); +}); + gulp.task('default', ['build', 'watch']); + +//gulp.task('default', ['build-lint', 'watch-lint']); diff --git a/js/animation.js b/js/animation.js index 6e5a059..8420004 100755 --- a/js/animation.js +++ b/js/animation.js @@ -1,5 +1,5 @@ (function (window, $) { - $(function() { + $(function () { }); -})(window, jQuery); +}(window, jQuery)); diff --git a/js/misc.js b/js/misc.js index fd21c65..ebbc9d7 100755 --- a/js/misc.js +++ b/js/misc.js @@ -1,11 +1,11 @@ (function ($) { - $(document).ready(function() { + $(document).ready(function () { //form-item focused - $('.form-item > *').focus(function() { + $('.form-item > *').focus(function () { $(this).parent().addClass('focused'); }); - $('.form-item > *').blur(function() { + $('.form-item > *').blur(function () { $(this).parent().removeClass('focused'); }); @@ -17,7 +17,7 @@ var navbar = $('.navbar-fixed #navbar'); var headerBgHeight = headerHeight - 192; - $(document).scroll(function(e) { + $(document).scroll(function (e) { var scrollPercent = (headerBgHeight - window.scrollY) / headerBgHeight; if (scrollPercent >= 0) { headerBg.css('opacity', scrollPercent); @@ -37,13 +37,13 @@ }); // drawer - $('#navbar-menu-toggle').click(function(e) { + $('#navbar-menu-toggle').click(function (e) { $('body').addClass('drawer-open'); e.stopPropagation(); e.preventDefault(); }); - $('#drawer-overlay').click(function(e) { + $('#drawer-overlay').click(function (e) { $('body').removeClass('drawer-open'); }); @@ -54,11 +54,11 @@ }); // jquery touch events https://github.com/benmajor/jQuery-Touch-Events - $('#drawer').swipeleft(function() { + $('#drawer').swipeleft(function () { $('body').removeClass('drawer-open'); }); - $('#drawer-overlay').swipeleft(function() { + $('#drawer-overlay').swipeleft(function () { $('body').removeClass('drawer-open'); }); @@ -96,7 +96,7 @@ }); var pathname = window.location.pathname; - $('a[href^="' + pathname + '#"]').on('click', function(e) { + $('a[href^="' + pathname + '#"]').on('click', function (e) { e.preventDefault(); var target = this.hash; var $target = $(target); @@ -113,21 +113,21 @@ }); // collapsible panels - $('.collapsible-toggle').click(function() { + $('.collapsible-toggle').click(function () { var target = '#'.concat($(this).attr('data-target')); $(target).slideToggle('fast'); $(this).toggleClass('expanded'); }); // tootips - $('.tooltip').hover(function() { + $('.tooltip').hover(function () { $(this).addClass('tooltip-expanded'); - }, function() { + }, function () { $(this).removeClass('tooltip-expanded'); }); // dropdown menus - $('.menu-dropdown-toggle').click(function(e) { + $('.menu-dropdown-toggle').click(function (e) { $(this).removeClass('tooltip-expanded'); $(this).find('.tooltip').removeClass('tooltip-expanded'); var target = '#'.concat($(this).attr('data-target')); @@ -137,10 +137,10 @@ e.preventDefault(); }); - $(document).click(function(){ + $(document).click(function () { $('.menu-dropdown').slideUp('fast'); }); }); -})(jQuery); +}(jQuery)); diff --git a/package.json b/package.json old mode 100755 new mode 100644 index 7dffae4..be3b552 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "Material base", - "version": "1.3", + "name": "material_base", + "version": "1.4.0", "description": "Drupal theme.", "main": "index.js", "scripts": { @@ -8,16 +8,22 @@ }, "repository": { "type": "git", - "url" : "https://github.com/i-amdroid/material_base.git" + "url": "git+https://github.com/i-amdroid/material_base.git" }, "author": "iamdroid", "license": "ISC", - "dependencies": { + "devDependencies": { "breakpoint-sass": "^2.7.1", - "gulp": "^3.9.0", - "gulp-autoprefixer": "^3.1.0", - "gulp-changed": "^1.3.0", - "gulp-imagemin": "^3.1.1", - "gulp-sass": "^4.0.1" + "eslint-config-airbnb": "^16.1.0", + "eslint-plugin-import": "^2.11.0", + "eslint-plugin-jsx-a11y": "^6.0.3", + "eslint-plugin-react": "^7.7.0", + "gulp": "^3.9.1", + "gulp-autoprefixer": "^5.0.0", + "gulp-changed": "^3.2.0", + "gulp-eslint": "^4.0.2", + "gulp-imagemin": "^4.1.0", + "gulp-sass": "^4.0.1", + "gulp-sass-lint": "^1.3.4" } } diff --git a/sass/_modules.scss b/sass/_modules.scss index 017a08e..ba4512c 100755 --- a/sass/_modules.scss +++ b/sass/_modules.scss @@ -1,8 +1,8 @@ @charset "UTF-8"; /* fonts */ -@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700&subset=latin,cyrillic); -@import url(https://fonts.googleapis.com/icon?family=Material+Icons); +@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700&subset=latin,cyrillic'); +@import url('https://fonts.googleapis.com/icon?family=Material+Icons'); /* helpful classes */ .clearfix { @@ -468,7 +468,7 @@ tr.selected:hover { background: $color-bg-hover; } input, textarea, select { border: 0; margin: 0; background: none; outline: 0; appearance: none; border-radius: 0; color: $color-text; font-family: $font-family; font-size: 16px; } - input[type="text"], input[type="email"], input[type="password"], textarea, select { display: block; width: 100%; max-width: 460px; border-bottom: 1px solid $color-divider; padding: 8px 0; + input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], textarea, select { display: block; width: 100%; max-width: 460px; border-bottom: 1px solid $color-divider; padding: 8px 0; &:focus, &.error:focus { border-bottom: 2px solid $color-accent; padding-bottom: 7px; } &.error { border-bottom: 2px solid color($red); padding: 8px 0 7px; } &::placeholder { color: $color-text-disabled; } diff --git a/sass/code-highlight.scss b/sass/code-highlight.scss index 77e5259..70d8faa 100755 --- a/sass/code-highlight.scss +++ b/sass/code-highlight.scss @@ -4,7 +4,7 @@ @import "variables"; @import "breakpoint"; -@import url(https://fonts.googleapis.com/css?family=Roboto+Mono:400,700&subset=latin,cyrillic-ext); +@import url('https://fonts.googleapis.com/css?family=Roboto+Mono:400,700&subset=latin,cyrillic-ext'); /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+apacheconf+c+bash+cpp+csharp+ruby+css-extras+git+java+json+markdown+nginx+php+php-extras+sass+scss+twig+yaml&plugins=line-numbers */ /** diff --git a/sass/color-themes.scss b/sass/color-themes.scss index 8d970b5..26a5b27 100755 --- a/sass/color-themes.scss +++ b/sass/color-themes.scss @@ -138,7 +138,7 @@ $accent-colors: ( } .form-item { & .focused label { color: color($color-value, a200); } - input[type="text"], input[type="email"], input[type="password"], textarea, select { + input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], textarea, select { &:focus, &.error:focus { border-color: color($color-value, a200); } } input[type="checkbox"]:checked:before, input[type="radio"]:checked:before { color: color($color-value, a200); } diff --git a/sass/theme-dark.scss b/sass/theme-dark.scss index 0e033b9..d7b0bbf 100755 --- a/sass/theme-dark.scss +++ b/sass/theme-dark.scss @@ -92,7 +92,7 @@ &.focused label { color: $color-accent-light } input, textarea, select { color: $color-text-light; } select option { color: $color-text; } - input[type="text"], input[type="email"], input[type="password"], textarea, select { border-bottom-color: $color-light-divider; + input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], textarea, select { border-bottom-color: $color-light-divider; &:focus, &.error:focus { border-bottom-color: $color-accent-light } &::placeholder { color: $color-text-light-disabled; } } diff --git a/starterkits/material_cascade/.eslintrc.json b/starterkits/material_cascade/.eslintrc.json new file mode 100644 index 0000000..6598077 --- /dev/null +++ b/starterkits/material_cascade/.eslintrc.json @@ -0,0 +1,41 @@ +{ + "extends": "eslint-config-airbnb", + "root": true, + "env": { + "browser": true, + "es6": true, + "node": true + }, + "globals": { + "Drupal": true, + "drupalSettings": true, + "drupalTranslations": true, + "domready": true, + "jQuery": true, + "_": true, + "matchMedia": true, + "Backbone": true, + "Modernizr": true, + "CKEDITOR": true + }, + "rules": { + "consistent-return": [0], + "no-underscore-dangle": [0], + "max-nested-callbacks": [1, 3], + "import/no-mutable-exports": [1], + "no-plusplus": [1, { + "allowForLoopAfterthoughts": true + }], + "no-param-reassign": [0], + "no-prototype-builtins": [0], + "valid-jsdoc": [1, { + "prefer": { + "returns": "return", + "property": "prop" + }, + "requireReturn": false + }], + "brace-style": ["error", "stroustrup"], + "no-unused-vars": [1] + } +} diff --git a/starterkits/material_cascade/.sass-lint.yml b/starterkits/material_cascade/.sass-lint.yml new file mode 100644 index 0000000..1202fe8 --- /dev/null +++ b/starterkits/material_cascade/.sass-lint.yml @@ -0,0 +1,93 @@ +options: + formatter: stylish +rules: + # Extends + extends-before-mixins: 1 + extends-before-declarations: 1 + placeholder-in-extend: 1 + + # Mixins + mixins-before-declarations: 1 + + # Line Spacing + one-declaration-per-line: 1 + empty-line-between-blocks: 1 + single-line-per-selector: 1 + + # Disallows + no-attribute-selectors: 0 + no-color-hex: 0 + no-color-keywords: 1 + no-color-literals: 1 + no-combinators: 0 + no-css-comments: 0 + no-debug: 1 + no-disallowed-properties: 0 + no-duplicate-properties: 0 + no-empty-rulesets: 1 + no-extends: 0 + no-ids: 0 + no-important: 1 + no-invalid-hex: 1 + no-mergeable-selectors: 1 + no-misspelled-properties: 1 + no-qualifying-elements: 1 + no-trailing-whitespace: 1 + no-trailing-zero: 1 + no-transition-all: 1 + no-universal-selectors: 0 + no-url-domains: 1 + no-url-protocols: 1 + no-vendor-prefixes: 0 + no-warn: 1 + property-units: 0 + + # Nesting + declarations-before-nesting: 1 + force-attribute-nesting: 1 + force-element-nesting: 1 + force-pseudo-nesting: 1 + + # Name Formats + class-name-format: 1 + function-name-format: 1 + id-name-format: 0 + mixin-name-format: 1 + placeholder-name-format: 1 + variable-name-format: 1 + + # Style Guide + attribute-quotes: 1 + bem-depth: 0 + border-zero: 1 + brace-style: 1 + clean-import-paths: 1 + empty-args: 1 + hex-length: 1 + hex-notation: 1 + indentation: 1 + leading-zero: 0 + max-line-length: 0 + max-file-line-count: 0 + nesting-depth: 1 + property-sort-order: 1 + pseudo-element: 0 + quotes: 1 + shorthand-values: 1 + url-quotes: 1 + variable-for-property: 1 + zero-unit: 1 + + # Inner Spacing + space-after-comma: 0 + space-before-colon: 1 + space-after-colon: 1 + space-before-brace: 1 + space-before-bang: 1 + space-after-bang: 1 + space-between-parens: 1 + space-around-operator: 1 + + # Final Items + trailing-semicolon: 1 + final-newline: 1 diff --git a/starterkits/material_cascade/gulpfile.js b/starterkits/material_cascade/gulpfile.js index 9b073a9..0bcd193 100755 --- a/starterkits/material_cascade/gulpfile.js +++ b/starterkits/material_cascade/gulpfile.js @@ -1,5 +1,7 @@ var gulp = require('gulp'); var sass = require('gulp-sass'); +var sasslint = require('gulp-sass-lint'); +var eslint = require('gulp-eslint'); var changed = require('gulp-changed'); var autoprefixer = require('gulp-autoprefixer'); var imagemin = require('gulp-imagemin'); @@ -7,6 +9,21 @@ var imagemin = require('gulp-imagemin'); var SASS = 'sass'; var CSS = 'css'; var IMG = 'img'; +var JS = 'js'; + +gulp.task('sass-lint', function () { + return gulp.src(SASS + '/**/*.scss') + .pipe(sasslint()) + .pipe(sasslint.format()) + .pipe(sasslint.failOnError()); +}); + +gulp.task('js-lint', function () { + return gulp.src(JS + '/**/*.js') + .pipe(eslint()) + .pipe(eslint.format()) + .pipe(eslint.failAfterError()); +}); gulp.task('sass', function () { return gulp.src(SASS + '/**/*.scss') @@ -37,4 +54,13 @@ gulp.task('watch', function() { gulp.watch(SASS + '/**/*.scss', ['sass', 'autoprefixer', 'imagemin']); }); +gulp.task('build-lint', ['sass-lint', 'sass', 'autoprefixer', 'imagemin', 'js-lint']); + +gulp.task('watch-lint', function() { + gulp.watch(SASS + '/**/*.scss', ['sass-lint', 'sass', 'autoprefixer', 'imagemin']); + gulp.watch(JS + '/**/*.js', ['js-lint']); +}); + gulp.task('default', ['build', 'watch']); + +//gulp.task('default', ['build-lint', 'watch-lint']); diff --git a/starterkits/material_cascade/js/custom.js b/starterkits/material_cascade/js/custom.js index 80b27ef..6f23880 100755 --- a/starterkits/material_cascade/js/custom.js +++ b/starterkits/material_cascade/js/custom.js @@ -1,7 +1,7 @@ (function ($) { - $(document).ready(function() { + $(document).ready(function () { // put your code here }); -})(jQuery); \ No newline at end of file +}(jQuery)); diff --git a/starterkits/material_cascade/package.json b/starterkits/material_cascade/package.json old mode 100755 new mode 100644 index e46fe6d..f5f8bb6 --- a/starterkits/material_cascade/package.json +++ b/starterkits/material_cascade/package.json @@ -8,12 +8,18 @@ }, "author": "iamdroid", "license": "ISC", - "dependencies": { + "devDependencies": { "breakpoint-sass": "^2.7.1", - "gulp": "^3.9.0", - "gulp-autoprefixer": "^3.1.0", - "gulp-changed": "^1.3.0", - "gulp-imagemin": "^3.1.1", - "gulp-sass": "^4.0.1" + "eslint-config-airbnb": "^16.1.0", + "eslint-plugin-import": "^2.11.0", + "eslint-plugin-jsx-a11y": "^6.0.3", + "eslint-plugin-react": "^7.7.0", + "gulp": "^3.9.1", + "gulp-autoprefixer": "^5.0.0", + "gulp-changed": "^3.2.0", + "gulp-eslint": "^4.0.2", + "gulp-imagemin": "^4.1.0", + "gulp-sass": "^4.0.1", + "gulp-sass-lint": "^1.3.4" } } diff --git a/starterkits/material_compile/.eslintrc.json b/starterkits/material_compile/.eslintrc.json new file mode 100644 index 0000000..6598077 --- /dev/null +++ b/starterkits/material_compile/.eslintrc.json @@ -0,0 +1,41 @@ +{ + "extends": "eslint-config-airbnb", + "root": true, + "env": { + "browser": true, + "es6": true, + "node": true + }, + "globals": { + "Drupal": true, + "drupalSettings": true, + "drupalTranslations": true, + "domready": true, + "jQuery": true, + "_": true, + "matchMedia": true, + "Backbone": true, + "Modernizr": true, + "CKEDITOR": true + }, + "rules": { + "consistent-return": [0], + "no-underscore-dangle": [0], + "max-nested-callbacks": [1, 3], + "import/no-mutable-exports": [1], + "no-plusplus": [1, { + "allowForLoopAfterthoughts": true + }], + "no-param-reassign": [0], + "no-prototype-builtins": [0], + "valid-jsdoc": [1, { + "prefer": { + "returns": "return", + "property": "prop" + }, + "requireReturn": false + }], + "brace-style": ["error", "stroustrup"], + "no-unused-vars": [1] + } +} diff --git a/starterkits/material_compile/.sass-lint.yml b/starterkits/material_compile/.sass-lint.yml new file mode 100644 index 0000000..1202fe8 --- /dev/null +++ b/starterkits/material_compile/.sass-lint.yml @@ -0,0 +1,93 @@ +options: + formatter: stylish +rules: + # Extends + extends-before-mixins: 1 + extends-before-declarations: 1 + placeholder-in-extend: 1 + + # Mixins + mixins-before-declarations: 1 + + # Line Spacing + one-declaration-per-line: 1 + empty-line-between-blocks: 1 + single-line-per-selector: 1 + + # Disallows + no-attribute-selectors: 0 + no-color-hex: 0 + no-color-keywords: 1 + no-color-literals: 1 + no-combinators: 0 + no-css-comments: 0 + no-debug: 1 + no-disallowed-properties: 0 + no-duplicate-properties: 0 + no-empty-rulesets: 1 + no-extends: 0 + no-ids: 0 + no-important: 1 + no-invalid-hex: 1 + no-mergeable-selectors: 1 + no-misspelled-properties: 1 + no-qualifying-elements: 1 + no-trailing-whitespace: 1 + no-trailing-zero: 1 + no-transition-all: 1 + no-universal-selectors: 0 + no-url-domains: 1 + no-url-protocols: 1 + no-vendor-prefixes: 0 + no-warn: 1 + property-units: 0 + + # Nesting + declarations-before-nesting: 1 + force-attribute-nesting: 1 + force-element-nesting: 1 + force-pseudo-nesting: 1 + + # Name Formats + class-name-format: 1 + function-name-format: 1 + id-name-format: 0 + mixin-name-format: 1 + placeholder-name-format: 1 + variable-name-format: 1 + + # Style Guide + attribute-quotes: 1 + bem-depth: 0 + border-zero: 1 + brace-style: 1 + clean-import-paths: 1 + empty-args: 1 + hex-length: 1 + hex-notation: 1 + indentation: 1 + leading-zero: 0 + max-line-length: 0 + max-file-line-count: 0 + nesting-depth: 1 + property-sort-order: 1 + pseudo-element: 0 + quotes: 1 + shorthand-values: 1 + url-quotes: 1 + variable-for-property: 1 + zero-unit: 1 + + # Inner Spacing + space-after-comma: 0 + space-before-colon: 1 + space-after-colon: 1 + space-before-brace: 1 + space-before-bang: 1 + space-after-bang: 1 + space-between-parens: 1 + space-around-operator: 1 + + # Final Items + trailing-semicolon: 1 + final-newline: 1 diff --git a/starterkits/material_compile/gulpfile.js b/starterkits/material_compile/gulpfile.js index 9b073a9..0bcd193 100755 --- a/starterkits/material_compile/gulpfile.js +++ b/starterkits/material_compile/gulpfile.js @@ -1,5 +1,7 @@ var gulp = require('gulp'); var sass = require('gulp-sass'); +var sasslint = require('gulp-sass-lint'); +var eslint = require('gulp-eslint'); var changed = require('gulp-changed'); var autoprefixer = require('gulp-autoprefixer'); var imagemin = require('gulp-imagemin'); @@ -7,6 +9,21 @@ var imagemin = require('gulp-imagemin'); var SASS = 'sass'; var CSS = 'css'; var IMG = 'img'; +var JS = 'js'; + +gulp.task('sass-lint', function () { + return gulp.src(SASS + '/**/*.scss') + .pipe(sasslint()) + .pipe(sasslint.format()) + .pipe(sasslint.failOnError()); +}); + +gulp.task('js-lint', function () { + return gulp.src(JS + '/**/*.js') + .pipe(eslint()) + .pipe(eslint.format()) + .pipe(eslint.failAfterError()); +}); gulp.task('sass', function () { return gulp.src(SASS + '/**/*.scss') @@ -37,4 +54,13 @@ gulp.task('watch', function() { gulp.watch(SASS + '/**/*.scss', ['sass', 'autoprefixer', 'imagemin']); }); +gulp.task('build-lint', ['sass-lint', 'sass', 'autoprefixer', 'imagemin', 'js-lint']); + +gulp.task('watch-lint', function() { + gulp.watch(SASS + '/**/*.scss', ['sass-lint', 'sass', 'autoprefixer', 'imagemin']); + gulp.watch(JS + '/**/*.js', ['js-lint']); +}); + gulp.task('default', ['build', 'watch']); + +//gulp.task('default', ['build-lint', 'watch-lint']); diff --git a/starterkits/material_compile/js/custom.js b/starterkits/material_compile/js/custom.js index 80b27ef..6f23880 100755 --- a/starterkits/material_compile/js/custom.js +++ b/starterkits/material_compile/js/custom.js @@ -1,7 +1,7 @@ (function ($) { - $(document).ready(function() { + $(document).ready(function () { // put your code here }); -})(jQuery); \ No newline at end of file +}(jQuery)); diff --git a/starterkits/material_compile/package.json b/starterkits/material_compile/package.json old mode 100755 new mode 100644 index e46fe6d..f5f8bb6 --- a/starterkits/material_compile/package.json +++ b/starterkits/material_compile/package.json @@ -8,12 +8,18 @@ }, "author": "iamdroid", "license": "ISC", - "dependencies": { + "devDependencies": { "breakpoint-sass": "^2.7.1", - "gulp": "^3.9.0", - "gulp-autoprefixer": "^3.1.0", - "gulp-changed": "^1.3.0", - "gulp-imagemin": "^3.1.1", - "gulp-sass": "^4.0.1" + "eslint-config-airbnb": "^16.1.0", + "eslint-plugin-import": "^2.11.0", + "eslint-plugin-jsx-a11y": "^6.0.3", + "eslint-plugin-react": "^7.7.0", + "gulp": "^3.9.1", + "gulp-autoprefixer": "^5.0.0", + "gulp-changed": "^3.2.0", + "gulp-eslint": "^4.0.2", + "gulp-imagemin": "^4.1.0", + "gulp-sass": "^4.0.1", + "gulp-sass-lint": "^1.3.4" } }