diff --git a/package.json b/package.json index f17380580..55f78b485 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,9 @@ "sinon-chai": "=2.8.0", "sinon-stub-promise": "^4.0.0", "style-loader": "=0.16.1", - "stylelint": "=7.12.0", + "stylelint": "^8.0.0", + "stylelint-config-standard": "^17.0.0", + "stylelint-webpack-plugin": "^0.9.0", "url-loader": "=0.5.7", "webpack": "=2.2.1", "webpack-bundle-analyzer": "=2.4.0", diff --git a/src/assets/fonts/material-design-icons/style.css b/src/assets/fonts/material-design-icons/style.css index d7e7bcab0..07c29c235 100644 --- a/src/assets/fonts/material-design-icons/style.css +++ b/src/assets/fonts/material-design-icons/style.css @@ -1,22 +1,21 @@ - -/* http://google.github.io/material-design-icons */ - @font-face { font-family: 'Material Icons'; font-style: normal; font-weight: 400; - src: url('../../assets/fonts/material-design-icons/MaterialIcons-Regular.eot'); /* For IE6-8 */ - src: local('Material Icons'), - local('MaterialIcons-Regular'), - url('../../assets/fonts/material-design-icons/MaterialIcons-Regular.woff2') format('woff2'), - url('../../assets/fonts/material-design-icons/MaterialIcons-Regular.woff') format('woff'), - url('../../assets/fonts/material-design-icons/MaterialIcons-Regular.ttf') format('truetype'); + src: url('../../assets/fonts/material-design-icons/MaterialIcons-Regular.eot'); + src: + local('Material Icons'), + local('MaterialIcons-Regular'), + url('../../assets/fonts/material-design-icons/MaterialIcons-Regular.woff2') format('woff2'), + url('../../assets/fonts/material-design-icons/MaterialIcons-Regular.woff') format('woff'), + url('../../assets/fonts/material-design-icons/MaterialIcons-Regular.ttf') format('truetype'); } + :global .material-icons { font-family: 'Material Icons'; font-weight: normal; font-style: normal; - font-size: 24px; /* Preferred icon size */ + font-size: 24px; display: inline-block; width: 1em; height: 1em; @@ -26,15 +25,8 @@ word-wrap: normal; white-space: nowrap; direction: ltr; - - /* Support for all WebKit browsers. */ -webkit-font-smoothing: antialiased; - /* Support for Safari and Chrome. */ text-rendering: optimizeLegibility; - - /* Support for Firefox. */ -moz-osx-font-smoothing: grayscale; - - /* Support for IE. */ font-feature-settings: 'liga'; } diff --git a/src/assets/fonts/roboto-mono/style.css b/src/assets/fonts/roboto-mono/style.css index 3ed0f6b02..1f9aa38a1 100644 --- a/src/assets/fonts/roboto-mono/style.css +++ b/src/assets/fonts/roboto-mono/style.css @@ -1,42 +1,47 @@ - -/* https://google-webfonts-helper.herokuapp.com */ - /* roboto-mono-regular - latin */ @font-face { font-family: 'Roboto Mono'; font-style: normal; font-weight: 400; - src: url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.eot'); /* IE9 Compat Modes */ - src: local('Roboto Mono'), local('RobotoMono-Regular'), - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.woff') format('woff'), /* Modern Browsers */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.svg#RobotoMono') format('svg'); /* Legacy iOS */ + src: url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.eot'); + src: + local('Roboto Mono'), + local('RobotoMono-Regular'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.eot?#iefix') format('embedded-opentype'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.woff2') format('woff2'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.woff') format('woff'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.ttf') format('truetype'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-regular.svg#RobotoMono') format('svg'); } + /* roboto-mono-500 - latin */ @font-face { font-family: 'Roboto Mono'; font-style: normal; font-weight: 500; - src: url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.eot'); /* IE9 Compat Modes */ - src: local('Roboto Mono Medium'), local('RobotoMono-Medium'), - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.woff2') format('woff2'), /* Super Modern Browsers */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.woff') format('woff'), /* Modern Browsers */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.svg#RobotoMono') format('svg'); /* Legacy iOS */ + src: url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.eot'); + src: + local('Roboto Mono Medium'), + local('RobotoMono-Medium'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.eot?#iefix') format('embedded-opentype'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.woff2') format('woff2'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.woff') format('woff'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.ttf') format('truetype'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-500.svg#RobotoMono') format('svg'); } + /* roboto-mono-700 - latin */ @font-face { font-family: 'Roboto Mono'; font-style: normal; font-weight: 700; - src: url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.eot'); /* IE9 Compat Modes */ - src: local('Roboto Mono Bold'), local('RobotoMono-Bold'), - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.woff') format('woff'), /* Modern Browsers */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.svg#RobotoMono') format('svg'); /* Legacy iOS */ + src: url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.eot'); + src: + local('Roboto Mono Bold'), + local('RobotoMono-Bold'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.eot?#iefix') format('embedded-opentype'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.woff2') format('woff2'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.woff') format('woff'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.ttf') format('truetype'), + url('../../assets/fonts/roboto-mono/roboto-mono-v4-latin-700.svg#RobotoMono') format('svg'); } diff --git a/src/assets/fonts/roboto/style.css b/src/assets/fonts/roboto/style.css index f64079865..1677782bf 100644 --- a/src/assets/fonts/roboto/style.css +++ b/src/assets/fonts/roboto/style.css @@ -1,42 +1,46 @@ - -/* https://google-webfonts-helper.herokuapp.com */ - -/* roboto-regular - latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; - src: url('../../assets/fonts/roboto/roboto-v15-latin-regular.eot'); /* IE9 Compat Modes */ - src: local('Roboto'), local('Roboto-Regular'), - url('../../assets/fonts/roboto/roboto-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../../assets/fonts/roboto/roboto-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ - url('../../assets/fonts/roboto/roboto-v15-latin-regular.woff') format('woff'), /* Modern Browsers */ - url('../../assets/fonts/roboto/roboto-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../../assets/fonts/roboto/roboto-v15-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */ + src: url('../../assets/fonts/roboto/roboto-v15-latin-regular.eot'); + src: + local('Roboto'), + local('Roboto-Regular'), + url('../../assets/fonts/roboto/roboto-v15-latin-regular.eot?#iefix') format('embedded-opentype'), + url('../../assets/fonts/roboto/roboto-v15-latin-regular.woff2') format('woff2'), + url('../../assets/fonts/roboto/roboto-v15-latin-regular.woff') format('woff'), + url('../../assets/fonts/roboto/roboto-v15-latin-regular.ttf') format('truetype'), + url('../../assets/fonts/roboto/roboto-v15-latin-regular.svg#Roboto') format('svg'); } + /* roboto-500 - latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; - src: url('../../assets/fonts/roboto/roboto-v15-latin-500.eot'); /* IE9 Compat Modes */ - src: local('Roboto Medium'), local('Roboto-Medium'), - url('../../assets/fonts/roboto/roboto-v15-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../../assets/fonts/roboto/roboto-v15-latin-500.woff2') format('woff2'), /* Super Modern Browsers */ - url('../../assets/fonts/roboto/roboto-v15-latin-500.woff') format('woff'), /* Modern Browsers */ - url('../../assets/fonts/roboto/roboto-v15-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../../assets/fonts/roboto/roboto-v15-latin-500.svg#Roboto') format('svg'); /* Legacy iOS */ + src: url('../../assets/fonts/roboto/roboto-v15-latin-500.eot'); + src: + local('Roboto Medium'), + local('Roboto-Medium'), + url('../../assets/fonts/roboto/roboto-v15-latin-500.eot?#iefix') format('embedded-opentype'), + url('../../assets/fonts/roboto/roboto-v15-latin-500.woff2') format('woff2'), + url('../../assets/fonts/roboto/roboto-v15-latin-500.woff') format('woff'), + url('../../assets/fonts/roboto/roboto-v15-latin-500.ttf') format('truetype'), + url('../../assets/fonts/roboto/roboto-v15-latin-500.svg#Roboto') format('svg'); } + /* roboto-700 - latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; - src: url('../../assets/fonts/roboto/roboto-v15-latin-700.eot'); /* IE9 Compat Modes */ - src: local('Roboto Bold'), local('Roboto-Bold'), - url('../../assets/fonts/roboto/roboto-v15-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../../assets/fonts/roboto/roboto-v15-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ - url('../../assets/fonts/roboto/roboto-v15-latin-700.woff') format('woff'), /* Modern Browsers */ - url('../../assets/fonts/roboto/roboto-v15-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../../assets/fonts/roboto/roboto-v15-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */ + src: url('../../assets/fonts/roboto/roboto-v15-latin-700.eot'); + src: + local('Roboto Bold'), + local('Roboto-Bold'), + url('../../assets/fonts/roboto/roboto-v15-latin-700.eot?#iefix') format('embedded-opentype'), + url('../../assets/fonts/roboto/roboto-v15-latin-700.woff2') format('woff2'), + url('../../assets/fonts/roboto/roboto-v15-latin-700.woff') format('woff'), + url('../../assets/fonts/roboto/roboto-v15-latin-700.ttf') format('truetype'), + url('../../assets/fonts/roboto/roboto-v15-latin-700.svg#Roboto') format('svg'); } diff --git a/src/components/account/account.css b/src/components/account/account.css index 05b332415..3d696b4eb 100644 --- a/src/components/account/account.css +++ b/src/components/account/account.css @@ -1,77 +1,87 @@ -:root{ - --online: #73C8A9; - --offline: #F45D4C; +:root { + --online: #73cba9; + --offline: #f45d4c; } -.wrapper{ - margin: 8px -8px 16px; + +.wrapper { + margin: 8px -8px 16px; } -:global .online{ - color: var(--online); +:global .online { + color: var(--online); } -:global .offline{ - color: var(--offline); + +:global .offline { + color: var(--offline); } + .value-wrapper { - position: relative; + position: relative; + width: 100%; + height: 70px; + text-align: center; + background: #eee; + overflow: hidden; + + & :global .inner { + font-size: 100%; + color: #5f696e; + display: inline-block; width: 100%; - height: 70px; - text-align: center; - background: #eee; - overflow: hidden; - & :global .inner{ - font-size: 100%; - color: #5f696e; - display: inline-block; - width: 100%; - margin: 0; - box-sizing: border-box; - position: relative; - z-index: 1; - &.primary{ - font-weight: bold; - padding: 9px 9px; - } - &.secondary{ - font-size: 100%; - } - &.full{ - line-height: 51px; - height: 70px; - } - &.tooltip { - position: absolute; - z-index: 1; - width: 100%; - text-align: center; - left: 0; - top: 100%; - transition: all ease 200ms; - font-size: 85% !important; - z-index: 0; - } - &.hasTip:hover{ - color: #000; - - } - &.hasTip:hover + .tooltip { - top: 45px; - } + margin: 0; + box-sizing: border-box; + position: relative; + z-index: 1; + + &.primary { + font-weight: bold; + padding: 9px; } - & :global .status { - position: absolute; - top: 5px; - right: 5px; + + &.secondary { + font-size: 100%; } + + &.full { + line-height: 51px; + height: 70px; + } + + &.tooltip { + position: absolute; + width: 100%; + text-align: center; + left: 0; + top: 100%; + transition: all ease 200ms; + font-size: 85% !important; + z-index: 0; + } + + &.hasTip:hover { + color: #000; + } + + &.hasTip:hover + .tooltip { + top: 45px; + } + } + + & :global .status { + position: absolute; + top: 5px; + right: 5px; + } } + .title { - font-size: 20px; - font-weight: 500; - letter-spacing: 0; - margin-top: 0; - margin-top: 20px; - margin-bottom: 16px; - text-align: center; + font-size: 20px; + font-weight: 500; + letter-spacing: 0; + margin-top: 0; + margin-top: 20px; + margin-bottom: 16px; + text-align: center; } @media only screen and (min-width: 48em) { diff --git a/src/components/app/app.css b/src/components/app/app.css index 1bf108394..ba7d106a8 100644 --- a/src/components/app/app.css +++ b/src/components/app/app.css @@ -2,12 +2,13 @@ @import '../../assets/fonts/roboto-mono/style.css'; @import '../../assets/fonts/material-design-icons/style.css'; -body{ +body { margin: 0; padding: 0; width: 100%; background-color: #eee; } + .body-wrapper { flex: 1 1 80%; max-width: 100%; @@ -16,16 +17,20 @@ body{ margin: 0 auto; font-family: roboto; } -.hasMarginBottom{ + +.hasMarginBottom { margin-bottom: 20px; } -.text-center{ + +.text-center { text-align: center; } -:global .material-icons{ + +:global .material-icons { font-size: 24px !important; } -:global .box{ + +:global .box { width: 100%; display: flex; flex-direction: column; @@ -33,11 +38,13 @@ body{ background-color: #fff; padding: 16px; box-sizing: border-box; - &.noPaddingBox{ + + &.noPaddingBox { padding: 16px 0; } } -:global .hasPaddingRow{ + +:global .hasPaddingRow { padding: 0 16px; } diff --git a/src/components/dialog/dialog.css b/src/components/dialog/dialog.css index 3071745b7..24a78f789 100644 --- a/src/components/dialog/dialog.css +++ b/src/components/dialog/dialog.css @@ -1,8 +1,9 @@ .dialog { & .x-button { right: -20px; + & span { - color: rgba(255,255,255,0.87); + color: rgba(255, 255, 255, 0.87); } } @@ -15,11 +16,11 @@ & header { margin: -24px; margin-bottom: 24px; - border-radius: 2px 2px 0 0; - color: rgba(255,255,255,0.87); + border-radius: 2px 2px 0 0; + color: rgba(255, 255, 255, 0.87); & h1 { - color: rgba(255,255,255,0.87); + color: rgba(255, 255, 255, 0.87); font-weight: normal; } } @@ -27,13 +28,13 @@ & hr { border-bottom-width: 0; margin: 16px -24px; - border-color: rgba(0,0,0,0.12); + border-color: rgba(0, 0, 0, 0.12); } } @media screen and (min-width: 960px) { .fullscreen { - width: 75vw; + width: 75vw; /* stylelint-disable-line */ } } diff --git a/src/components/forging/circularProgressbar.css b/src/components/forging/circularProgressbar.css index 2a3958944..d1a8ad827 100644 --- a/src/components/forging/circularProgressbar.css +++ b/src/components/forging/circularProgressbar.css @@ -10,7 +10,7 @@ :global .CircularProgressbar .CircularProgressbar-path { stroke: rgb(2, 136, 209); - transition: stroke-dashoffset 0.5s ease 0s; + transition: stroke-dashoffset 500ms ease 0ms; } :global .CircularProgressbar .CircularProgressbar-trail { diff --git a/src/components/header/header.css b/src/components/header/header.css index ffadf838a..fb98562bf 100644 --- a/src/components/header/header.css +++ b/src/components/header/header.css @@ -1,26 +1,31 @@ -.wrapper{ - margin: 5px -8px 8px 0; - padding: 8px; +.wrapper { + margin: 5px -8px 8px 0; + padding: 8px; } + .logoWrapper { - width: 25%; + width: 25%; } -.logo{ - width: 100%; - min-width: 108px; - max-width: 200px; - padding: 8px; + +.logo { + width: 100%; + min-width: 108px; + max-width: 200px; + padding: 8px; } -.button, .iconButton{ - padding: 8px; - margin: 6px 8px; - height: auto; - float: right; + +.button, +.iconButton { + padding: 8px; + margin: 6px 8px; + height: auto; + float: right; } -.material-icons{ - font-size: 24px !important; + +.material-icons { + font-size: 24px !important; } .menu { - right: -8px !important; + right: -8px !important; } diff --git a/src/components/loadingBar/loadingBar.css b/src/components/loadingBar/loadingBar.css index 5c5f2fc67..3031e7c1a 100644 --- a/src/components/loadingBar/loadingBar.css +++ b/src/components/loadingBar/loadingBar.css @@ -2,7 +2,7 @@ position: fixed; top: -11px; right: 0; - width: 100vw; + width: 100vw; /* stylelint-disable-line */ z-index: 201; } diff --git a/src/components/login/login.css b/src/components/login/login.css index 24aef7f6e..7c815bcf8 100644 --- a/src/components/login/login.css +++ b/src/components/login/login.css @@ -3,18 +3,21 @@ margin-top: 8px; padding-bottom: 24px !important; } + .newAccount { margin-right: 8px; } -.network ul{ +.network ul { text-align: left; } + .error { display: inline-block; - text-align:left; + text-align: left; width: 100%; } + .field { margin-top: 10px; } diff --git a/src/components/passphrase/passphrase.css b/src/components/passphrase/passphrase.css index 4a709d46f..b8da596d6 100644 --- a/src/components/passphrase/passphrase.css +++ b/src/components/passphrase/passphrase.css @@ -1,28 +1,32 @@ .byte { - display: inline-block; - text-align: center; - font-size: 140%; - margin: 5px; - font-family: monospace; - transition: all ease 300ms; + display: inline-block; + text-align: center; + font-size: 140%; + margin: 5px; + font-family: monospace; + transition: all ease 300ms; } .missing { - padding: 0 5px 0; - font-weight: bold; - color: #0288d1; + padding: 0 5px; + font-weight: bold; + color: #0288d1; } + .stable { - transform: scale(1); - display: inline-block; - transition: all ease 300ms; + transform: scale(1); + display: inline-block; + transition: all ease 300ms; } + .bouncing { - transform: scale(1.2); + transform: scale(1.2); } + hr { - display: none; + display: none; } + .templateItem { - min-height: 130px; + min-height: 130px; } diff --git a/src/components/pricedButton/pricedButton.css b/src/components/pricedButton/pricedButton.css index 9a3dbffe7..4842ac7af 100644 --- a/src/components/pricedButton/pricedButton.css +++ b/src/components/pricedButton/pricedButton.css @@ -4,7 +4,7 @@ color: grey; text-align: right; margin: 0 16px; - transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 300ms cubic-bezier(0.55, 0, 0.55, 0.2); } .error { diff --git a/src/components/send/send.css b/src/components/send/send.css index 717ed59f3..4bf82e741 100644 --- a/src/components/send/send.css +++ b/src/components/send/send.css @@ -1,6 +1,7 @@ .send { position: relative; } + .sendAllMenu { position: absolute !important; right: 0; diff --git a/src/components/spinner/spinner.css b/src/components/spinner/spinner.css index faf644b3d..fcaf510f7 100644 --- a/src/components/spinner/spinner.css +++ b/src/components/spinner/spinner.css @@ -4,29 +4,35 @@ display: inline-block; } -.bounce1, .bounce2, .bounce3 { +.bounce1, +.bounce2, +.bounce3 { width: 8px; height: 8px; background-color: #aaa; - border-radius: 100%; display: inline-block; - animation: sk-bouncedelay 1.4s infinite ease-in-out both; + animation: sk-bouncedelay 1400ms infinite ease-in-out both; } .bounce1 { - animation-delay: -0.32s; + animation-delay: -320ms; } + .bounce2 { - animation-delay: -0.16s; + animation-delay: -160ms; } @keyframes sk-bouncedelay { - 0%, 80%, 100% { + 0%, + 80%, + 100% { -webkit-transform: scale(0.5); transform: scale(0.5); - } 40% { - -webkit-transform: scale(1.0); - transform: scale(1.0); } -} \ No newline at end of file + + 40% { + -webkit-transform: scale(1); + transform: scale(1); + } +} diff --git a/src/components/tabs/tabs.css b/src/components/tabs/tabs.css index 6ceb3a9f8..9046811b6 100644 --- a/src/components/tabs/tabs.css +++ b/src/components/tabs/tabs.css @@ -9,6 +9,7 @@ overflow: hidden; margin-left: -2px; } + .navigationContainer .navigation { padding-left: 0; box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.12); @@ -26,6 +27,6 @@ .label.active { background: white; - color: #0288D1; + color: #0288d1; margin-bottom: -1px; } diff --git a/src/components/toaster/toaster.css b/src/components/toaster/toaster.css index 9f9c4bc3b..5f502d01f 100644 --- a/src/components/toaster/toaster.css +++ b/src/components/toaster/toaster.css @@ -2,25 +2,25 @@ color: white; left: initial; } - +/* stylelint-disable */ @for $i from 0 to 10 { @keyframes move-$i { from { - bottom: -50px; + bottom: -50px; } to { - bottom: calc($(i) * 50px + 10px); + bottom: calc($(i) * 50px + 10px); } } - .index-$i { - animation: move-$i 0.5s ease-in; - bottom: calc($(i) * 50px + 10px); + .index-$i { + animation: move-$i 500ms ease-in; + bottom: calc($(i) * 50px + 10px); } } - +/* stylelint-enable */ .error { - background-color: #c62828; + background-color: #c62b28; } .success { diff --git a/src/components/transactions/transactions.css b/src/components/transactions/transactions.css index 581a3de36..8fd911b2c 100644 --- a/src/components/transactions/transactions.css +++ b/src/components/transactions/transactions.css @@ -1,39 +1,48 @@ -:root{ - --in: #73C8A9; - --out: #F45D4C; - --btn: rgb(2,136,209); +:root { + --in: #73c8a9; + --out: #f45d4c; + --btn: rgb(2, 136, 209); } -.grayButton, .inButton, .outButton, .smallButton { - background-color: #eee; - border-radius: 3px; - padding: 6px; - text-transform: uppercase; - color: #000; - display: block; +.grayButton, +.inButton, +.outButton, +.smallButton { + background-color: #eee; + border-radius: 3px; + padding: 6px; + text-transform: uppercase; + color: #000; + display: block; } -.smallButton{ - display: inline-block; + +.smallButton { + display: inline-block; } + .inButton { - background: color(var(--in) alpha(45%))!important; + background: color(var(--in) alpha(45%)) !important; } -.empty{ - color: #777; - text-align: right; + +.empty { + color: #777; + text-align: right; } + .outButton { - background: color(var(--out) alpha(45%))!important; + background: color(var(--out) alpha(45%)) !important; } + .in { - color: var(--in) !important; + color: var(--in) !important; } .out { - color: var(--out) !important; + color: var(--out) !important; } -.centerText{ - text-align: center; + +.centerText { + text-align: center; } @media screen and (max-width: 48em) { diff --git a/src/components/voteDialog/voteAutocomplete.css b/src/components/voteDialog/voteAutocomplete.css index 4466216c3..54dddf38a 100644 --- a/src/components/voteDialog/voteAutocomplete.css +++ b/src/components/voteDialog/voteAutocomplete.css @@ -1,21 +1,25 @@ -.hidden{ - display: none !important; +.hidden { + display: none !important; } -.searchContainer{ - position: relative; + +.searchContainer { + position: relative; } -.searchResult{ - position: absolute; - left: 0; - top: 52px; - width: 300px !important; - max-height: 200px; - overflow: auto !important; - z-index: 9; + +.searchResult { + position: absolute; + left: 0; + top: 52px; + width: 300px !important; + max-height: 200px; + overflow: auto !important; + z-index: 9; } -.selectedRow{ - background: #EEEEEE; + +.selectedRow { + background: #eee; } -.autoCompleteTile{ - margin-bottom: 5px; + +.autoCompleteTile { + margin-bottom: 5px; } diff --git a/src/components/voteDialog/voteDialog.css b/src/components/voteDialog/voteDialog.css index cca2a8b1c..2f3a4687d 100644 --- a/src/components/voteDialog/voteDialog.css +++ b/src/components/voteDialog/voteDialog.css @@ -1,5 +1,5 @@ .info { - border-top: 1px solid rgba(0,0,0,0.12); - border-bottom: 1px solid rgba(0,0,0,0.12); - margin: 10px -24px 20px; + border-top: 1px solid rgba(0, 0, 0, 0.12); + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + margin: 10px -24px 20px; } diff --git a/src/components/voting/disableMenu.css b/src/components/voting/disableMenu.css index 6886d43cc..a7c38c9b4 100644 --- a/src/components/voting/disableMenu.css +++ b/src/components/voting/disableMenu.css @@ -1,6 +1,6 @@ -.icon{ - color: rgba(0,0,0,0.38) !important; - cursor: default !important; - text-align: right; - width: auto; +.icon { + color: rgba(0, 0, 0, 0.38) !important; + cursor: default !important; + text-align: right; + width: auto; } diff --git a/src/components/voting/voting.css b/src/components/voting/voting.css index 8a579738c..e0483d5f9 100644 --- a/src/components/voting/voting.css +++ b/src/components/voting/voting.css @@ -1,74 +1,92 @@ -.table{ - & :global thead th:first-child{ - display: none !important; - } -} -.searchBox{ - position: relative; -} -.searchIcon{ - position: absolute; - top: 15px; - right: 10px; - color: rgba(0, 0, 0, .38); -} -.field{ - margin-bottom: 0 !important; -} -.row{ - &:hover{ - background: #fff; - } -} +.table { + & :global thead th:first-child { + display: none !important; + } +} + +.searchBox { + position: relative; +} + +.searchIcon { + position: absolute; + top: 15px; + right: 10px; + color: rgba(0, 0, 0, 0.38); +} + +.field { + margin-bottom: 0 !important; +} + +.row { + &:hover { + background: #fff; + } +} + .upVoteRow { - background-color: rgb(226, 238, 213) !important; + background-color: rgb(226, 238, 213) !important; } + .downVoteRow { - background-color: rgb(255, 228, 220) !important; + background-color: rgb(255, 228, 220) !important; } -.votedRow{ - background-color: #d6f0ff !important; + +.votedRow { + background-color: #d6f0ff !important; } + .pendingRow { - background-color: #eaeae9 !important; -} -.actionBar{ - margin-top: 9px; - display: inline-block; -} -.votesMenuButton{ - margin-right: 16px; - margin-top: 8px; - & :global span{ - vertical-align: top; - line-height: 24px; - margin-left: 6px; - } -} + background-color: #eaeae9 !important; +} + +.actionBar { + margin-top: 9px; + display: inline-block; +} + +.votesMenuButton { + margin-right: 16px; + margin-top: 8px; + + & :global span { + vertical-align: top; + line-height: 24px; + margin-left: 6px; + } +} + .voted { - color: #7cb342; + color: #7cb342; } + .unvoted { - color: #c62828; + color: #c62828; } + /* react toolbar overwroght */ -.input{ - margin-top: -10px; -} -.menuItem{ - flex-direction: row-reverse; - width: 241px; -} -.icon{ - text-align: right; - width: auto; -} -.menuInner{ - height: 306px; - overflow-y: auto; -} -.button{ - width: auto; - margin-top: 18px; - margin-right: 16px; +.input { + margin-top: -10px; +} + +.menuItem { + flex-direction: row-reverse; + width: 241px; +} + +.icon { + text-align: right; + width: auto; +} + +.menuInner { + height: 306px; + overflow-y: auto; +} + +.button { + width: auto; + margin-top: 18px; + margin-right: 16px; } diff --git a/webpack.config.js b/webpack.config.js index b6ef167c2..8686c3b48 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,8 +1,11 @@ +/* eslint-disable */ const path = require('path'); const webpack = require('webpack'); const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); const { NamedModulesPlugin } = require('webpack'); +const StyleLintPlugin = require('stylelint-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); +/* eslint-enable */ const reactToolboxVariables = { 'color-primary': '#0288D1', @@ -36,6 +39,19 @@ module.exports = (env) => { historyApiFallback: true, }, plugins: [ + new StyleLintPlugin({ + context: `${path.resolve(__dirname, 'src')}/`, + files: '**/*.css', + config: { + extends: 'stylelint-config-standard', + rules: { + 'selector-pseudo-class-no-unknown': null, + 'unit-whitelist': ['px', 'deg', '%', 'em', 'ms'], + 'length-zero-no-unit': null, + }, + ignoreFiles: './node_modules/**/*.css', + }, + }), new webpack.DefinePlugin({ PRODUCTION: env.prod, TEST: env.test, @@ -115,21 +131,19 @@ module.exports = (env) => { options: { sourceMap: !env.prod, sourceComments: !env.prod, - /* eslint-disable global-require */ plugins: [ + // eslint-disable-next-line import/no-extraneous-dependencies + require('postcss-partial-import')({ /* options */ }), require('postcss-cssnext')({ features: { customProperties: { variables: reactToolboxVariables, }, }, - plugins: [require('stylelint')({ /* your options */ })], }), - require('postcss-partial-import')({ /* options */ }), - require('postcss-reporter')({ clearMessages: true }), + // eslint-disable-next-line import/no-extraneous-dependencies require('postcss-for')({ /* options */ }), ], - /* eslint-enable */ }, }, ],