From 8f864b207e2a016906ff2404814624eaadc2a985 Mon Sep 17 00:00:00 2001 From: koester Date: Mon, 18 Dec 2017 23:23:30 +0100 Subject: [PATCH 01/20] scss gulp tasks and less2scss converion --- gulpfile.js | 26 +- package-lock.json | 742 ++++++++++++++++++++++++- package.json | 1 + src/_alerts.scss | 22 + src/_colors.scss | 42 ++ src/alerts.less | 21 - src/{article.less => article.scss} | 6 +- src/{badges.less => badges.scss} | 15 +- src/{borders.less => borders.scss} | 19 +- src/{boxreset.less => boxreset.scss} | 0 src/{buttons.less => buttons.scss} | 37 +- src/{cards.less => cards.scss} | 8 +- src/{code.less => code.scss} | 14 +- src/colors.less | 41 -- src/{container.less => container.scss} | 23 +- src/{flexbox.less => flexbox.scss} | 48 +- src/{fonts.less => fonts.scss} | 18 +- src/{forms.less => forms.scss} | 20 +- src/{images.less => images.scss} | 0 src/{lists.less => lists.scss} | 13 +- src/{modals.less => modals.scss} | 40 +- src/{popovers.less => popovers.scss} | 4 +- src/{reset.less => reset.scss} | 0 src/shadows.less | 39 -- src/shadows.scss | 39 ++ src/styles.less | 22 - src/styles.scss | 28 + src/{tables.less => tables.scss} | 6 +- src/{tabs.less => tabs.scss} | 17 +- src/{utilities.less => utilities.scss} | 66 +-- 30 files changed, 1067 insertions(+), 310 deletions(-) create mode 100644 src/_alerts.scss create mode 100644 src/_colors.scss delete mode 100644 src/alerts.less rename src/{article.less => article.scss} (79%) rename src/{badges.less => badges.scss} (53%) rename src/{borders.less => borders.scss} (82%) rename src/{boxreset.less => boxreset.scss} (100%) rename src/{buttons.less => buttons.scss} (61%) rename src/{cards.less => cards.scss} (83%) rename src/{code.less => code.scss} (69%) delete mode 100644 src/colors.less rename src/{container.less => container.scss} (66%) rename src/{flexbox.less => flexbox.scss} (71%) rename src/{fonts.less => fonts.scss} (65%) rename src/{forms.less => forms.scss} (89%) rename src/{images.less => images.scss} (100%) rename src/{lists.less => lists.scss} (78%) rename src/{modals.less => modals.scss} (61%) rename src/{popovers.less => popovers.scss} (97%) rename src/{reset.less => reset.scss} (100%) delete mode 100644 src/shadows.less create mode 100644 src/shadows.scss delete mode 100644 src/styles.less create mode 100644 src/styles.scss rename src/{tables.less => tables.scss} (83%) rename src/{tabs.less => tabs.scss} (60%) rename src/{utilities.less => utilities.scss} (56%) diff --git a/gulpfile.js b/gulpfile.js index abaaa44..23b7f0c 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,8 +1,8 @@ const gulp = require('gulp'), - connect = require('gulp-connect'), - less = require('gulp-less'), - cleanCSS = require('gulp-clean-css'), - rename = require('gulp-rename'); + connect = require('gulp-connect'), + sass = require('gulp-sass'), + cleanCSS = require('gulp-clean-css'), + rename = require('gulp-rename'); gulp.task('webserver', function() { connect.server({ @@ -10,17 +10,17 @@ gulp.task('webserver', function() { }); }); -gulp.task('less', function() { - gulp.src('src/styles.less') - .pipe(less()) +gulp.task('sass', function() { + gulp.src('src/styles.scss') + .pipe(sass.sync().on('error', sass.logError)) .pipe(cleanCSS({format: 'beautify'})) .pipe(rename('paper.css')) .pipe(gulp.dest('dist')) .pipe(connect.reload()); }); -gulp.task('watch', function() { - gulp.watch('src/*.less', ['less']); +gulp.task('watch', function () { + gulp.watch('src/*.scss', ['sass']); }); gulp.task('minify-css', () => { @@ -31,11 +31,11 @@ gulp.task('minify-css', () => { }); gulp.task('components', () => { - gulp.src('src/*.less') - .pipe(less()) + gulp.src('src/*.scss') + .pipe(sass.sync().on('error', sass.logError)) .pipe(cleanCSS({format: 'beautify'})) .pipe(gulp.dest('dist/components')); }); -gulp.task('default', ['less', 'webserver', 'watch']); -gulp.task('build', ['components', 'less', 'minify-css']); +gulp.task('default', ['sass', 'webserver', 'watch']); +gulp.task('build', ['components', 'sass', 'minify-css']); diff --git a/package-lock.json b/package-lock.json index 97ed924..d88fc41 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "papercss", - "version": "1.3.0", + "version": "1.3.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -119,8 +119,7 @@ "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "optional": true + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" }, "ansi-html": { "version": "0.0.7", @@ -239,11 +238,59 @@ } } }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, "archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" }, + "are-we-there-yet": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "dev": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.3" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -409,6 +456,12 @@ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", "dev": true }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -527,6 +580,15 @@ "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", "dev": true }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", @@ -1446,6 +1508,12 @@ "date-now": "0.1.4" } }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -1550,6 +1618,28 @@ "sha.js": "2.4.9" } }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "which": "1.3.0" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + } + } + }, "cryptiles": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", @@ -1722,6 +1812,12 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, "depd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz", @@ -2937,12 +3033,56 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + } + } + }, "gaze": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", @@ -2951,6 +3091,21 @@ "globule": "0.1.0" } }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", @@ -3343,6 +3498,19 @@ "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=" }, + "gulp-sass": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-3.1.0.tgz", + "integrity": "sha1-U9xLaKH13f5EJKtMJHZVJpqLdLc=", + "dev": true, + "requires": { + "gulp-util": "3.0.8", + "lodash.clonedeep": "4.5.0", + "node-sass": "4.7.2", + "through2": "2.0.3", + "vinyl-sourcemaps-apply": "0.2.1" + } + }, "gulp-util": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", @@ -3577,6 +3745,12 @@ "sparkles": "1.0.0" } }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -3943,6 +4117,12 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", @@ -4211,6 +4391,18 @@ "is-extglob": "2.1.1" } }, + "is-my-json-valid": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz", + "integrity": "sha512-Q2khNw+oBlWuaYvEEHtKSw/pCxD2L5Rc1C+UQme9X6JdRDh7m5D7HkozA0qa3DUkQ6VzCnEm8mVIQPyIRkI5sQ==", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, "is-npm": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", @@ -4287,6 +4479,12 @@ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, "is-redirect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", @@ -4403,6 +4601,12 @@ } } }, + "js-base64": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.0.tgz", + "integrity": "sha512-Wehd+7Pf9tFvGb+ydPm9TjYjV8X1YHOVyG8QyELZxEMqOhemVwGRmoG8iQ/soqI3n8v4xn59zaLxiCJiaaRzKA==", + "dev": true + }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", @@ -4490,6 +4694,12 @@ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -4978,6 +5188,12 @@ "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", @@ -5035,6 +5251,12 @@ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=" }, + "lodash.mergewith": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", + "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=", + "dev": true + }, "lodash.partialright": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz", @@ -5619,6 +5841,12 @@ "duplexer2": "0.0.2" } }, + "nan": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "dev": true + }, "nanomatch": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.6.tgz", @@ -5674,6 +5902,294 @@ "integrity": "sha1-RjgRh59XPUUVWtap9D3ClujoXrw=", "dev": true }, + "node-gyp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", + "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", + "dev": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.4", + "request": "2.83.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.0" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.3.3", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1.1.0" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-sass": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz", + "integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==", + "dev": true, + "requires": { + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.2", + "get-stdin": "4.0.1", + "glob": "7.1.2", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.0", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.8.0", + "node-gyp": "3.6.2", + "npmlog": "4.1.2", + "request": "2.79.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" + }, + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "gaze": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "dev": true, + "requires": { + "globule": "1.2.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.3.3", + "path-is-absolute": "1.0.1" + } + }, + "globule": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", + "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "dev": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.4", + "minimatch": "3.0.4" + } + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.11.0", + "is-my-json-valid": "2.17.1", + "pinkie-promise": "2.0.1" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "qs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "dev": true + }, + "request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "dev": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.11.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "qs": "6.3.2", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.4.3", + "uuid": "3.1.0" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + } + } + }, "nodemon": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.11.0.tgz", @@ -9129,6 +9645,18 @@ } } }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -9795,6 +10323,12 @@ "event-stream": "3.3.4" } }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, "public-encrypt": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", @@ -10354,6 +10888,117 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.4", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.3.3", + "path-is-absolute": "1.0.1" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + } + } + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "2.4.0", + "source-map": "0.4.4" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -11131,6 +11776,47 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" }, + "stdout-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", + "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "dev": true, + "requires": { + "readable-stream": "2.3.3" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "stream-array": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/stream-array/-/stream-array-0.1.3.tgz", @@ -11437,6 +12123,17 @@ "acorn": "4.0.13" } }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -11692,6 +12389,30 @@ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true }, + "true-case-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", + "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "dev": true, + "requires": { + "glob": "6.0.4" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "2.0.10", + "once": "1.3.3", + "path-is-absolute": "1.0.1" + } + } + } + }, "tsscmp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", @@ -12355,6 +13076,15 @@ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", "dev": true }, + "wide-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "dev": true, + "requires": { + "string-width": "1.0.2" + } + }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", @@ -12451,6 +13181,12 @@ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", diff --git a/package.json b/package.json index 36b50bb..5e6f7ad 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "devDependencies": { "browserify": "^14.1.0", "chai": "^4.1.2", + "gulp-sass": "^3.1.0", "http-server": "^0.9.0", "install": "0.10.1", "jake": "^8.0.15", diff --git a/src/_alerts.scss b/src/_alerts.scss new file mode 100644 index 0000000..b674aae --- /dev/null +++ b/src/_alerts.scss @@ -0,0 +1,22 @@ +@import './colors.less'; +@import './borders.less'; + +.alert{ + .border; + padding: 15px; + margin-bottom: 20px; + width: 100%; +} + +@mixin make-alert-color-classes($a: length($colors)) when ($a > 0) +{ + @include make-alert-color-classes($a - 1); + $color: extract($colors, $a); + .alert-${color} { + border-color: $$color; + color: $$color; + background-color: #{"${${color}-light}"}; + } +} + +@include make-alert-color-classes(); diff --git a/src/_colors.scss b/src/_colors.scss new file mode 100644 index 0000000..e47a8b2 --- /dev/null +++ b/src/_colors.scss @@ -0,0 +1,42 @@ +$primary: #41403E; +$secondary: #0071DE; + +$success: #86a361; +$warning: #ddcd45; +$danger: #a7342d; +$muted: #868e96; + +$primary-light: lighten($primary, 50%); +$secondary-light: lighten($secondary, 50%); +$success-light: lighten($success, 30%); +$warning-light: lighten($warning, 30%); +$danger-light: lighten($danger, 45%); +$muted-light: lighten($muted, 35%); + +$white-dark: rgba(black, 0.03); +$light-dark: rgba(black, 0.7); +$white: rgba(white, 1); +$main-background: rgba(white, 1); + +$primary-text: #FFF; +$secondary-text: $primary; +$success-text: $primary; +$warning-text: $primary; +$danger-text: $primary; +$muted-text: $primary; + +$colors: (primary, $primary, $primary-light), + (secondary, $secondary, $secondary-light), + (success, $success, $success-light), + (warning, $warning, $warning-light), + (danger, $danger, $danger-light), + (muted, $muted, $muted-light); + +@each $colorName, $color, $color-light in $colors { + .text-#{$colorName} { + color: #{$color}; + } + .background-#{$colorName} { + background-color: #{$color-light}; + } +} diff --git a/src/alerts.less b/src/alerts.less deleted file mode 100644 index 8a1c216..0000000 --- a/src/alerts.less +++ /dev/null @@ -1,21 +0,0 @@ -@import './colors.less'; -@import './borders.less'; - -.alert{ - .border; - padding: 15px; - margin-bottom: 20px; - width: 100%; -} - -.make-alert-color-classes(@a: length(@colors)) when (@a > 0) { - .make-alert-color-classes(@a - 1); - @color: extract(@colors, @a); - .alert-@{color} { - border-color: @@color; - color: @@color; - background-color: ~"@{@{color}-light}"; - } -} - -.make-alert-color-classes(); diff --git a/src/article.less b/src/article.scss similarity index 79% rename from src/article.less rename to src/article.scss index 9d84050..4c3b7ef 100644 --- a/src/article.less +++ b/src/article.scss @@ -7,14 +7,14 @@ article { .article-meta { font-size: 15px; - color: @muted; + color: $muted; a { - color: @muted-text; + color: $muted-text; background-image: none; &:hover { - color: @light-dark; + color: $light-dark; } } } diff --git a/src/badges.less b/src/badges.scss similarity index 53% rename from src/badges.less rename to src/badges.scss index beb257e..626d3ac 100644 --- a/src/badges.less +++ b/src/badges.scss @@ -12,17 +12,18 @@ text-align: center; white-space: nowrap; vertical-align: baseline; - background-color: @muted; + background-color: $muted; color: white; border-color: transparent; } -.make-badge-color-classes(@i: length(@colors)) when (@i > 0) { - .make-badge-color-classes(@i - 1); - @color: extract(@colors, @i); - .badge.@{color} { - background-color: @@color; +@mixin make-badge-color-classes($i: length($colors)) when ($i > 0) +{ + @include make-badge-color-classes($i - 1); + $color: extract($colors, $i); + .badge.${color} { + background-color: $$color; } } -.make-badge-color-classes(); +@include make-badge-color-classes(); diff --git a/src/borders.less b/src/borders.scss similarity index 82% rename from src/borders.less rename to src/borders.scss index 55163cc..3639396 100644 --- a/src/borders.less +++ b/src/borders.scss @@ -1,7 +1,7 @@ @import './colors.less'; .border { - border: 2px solid @primary; + border: 2px solid $primary; } .border, .border-1, .child-borders > *:nth-child(6n+1) { border-top-left-radius: 255px 15px; @@ -40,10 +40,10 @@ border-bottom-left-radius: 15px 225px; } .child-borders > * { - border: 2px solid @primary; + border: 2px solid $primary; } .border-white { - border-color: @white; + border-color: $white; } .border-dotted { border-style: dotted; @@ -55,12 +55,13 @@ border-width: 5px; } -.make-border-color-classes(@i: length(@colors)) when (@i > 0) { - .make-border-color-classes(@i - 1); - @color: extract(@colors, @i); - .border-@{color} { - border-color: @@color; +@mixin make-border-color-classes($i: length($colors)) when ($i > 0) +{ + @include make-border-color-classes($i - 1); + $color: extract($colors, $i); + .border-${color} { + border-color: $$color; } } -.make-border-color-classes(); +@include make-border-color-classes(); diff --git a/src/boxreset.less b/src/boxreset.scss similarity index 100% rename from src/boxreset.less rename to src/boxreset.scss diff --git a/src/buttons.less b/src/buttons.scss similarity index 61% rename from src/buttons.less rename to src/buttons.scss index a825509..31ecf70 100644 --- a/src/buttons.less +++ b/src/buttons.scss @@ -8,10 +8,10 @@ button, .paper-btn, [type="button"] { align-self:center; background:transparent; transition:all .5s ease, background-color .1s ease; - color: @primary; + color: $primary; display: inline; outline:none; - border:solid 2px @primary; + border:solid 2px $primary; .border; font-size: 1rem; padding: .75rem .75rem; @@ -36,7 +36,7 @@ button, .paper-btn, [type="button"] { .shadow-hover; } &:focus{ - border: 2px solid @secondary; + border: 2px solid $secondary; -webkit-box-shadow:2px 8px 4px -6px hsla(0,0%,0%,.3); -moz-box-shadow:2px 8px 4px -6px hsla(0,0%,0%,.3); box-shadow:2px 8px 4px -6px hsla(0,0%,0%,.3); @@ -53,31 +53,32 @@ button, .paper-btn, [type="button"] { a { text-decoration: none; background-image: - linear-gradient(5deg, transparent 65%, @secondary 80%, transparent 90%), - linear-gradient(165deg, transparent 5%, @secondary 15%, transparent 25%), - linear-gradient(165deg, transparent 45%, @secondary 55%, transparent 65%), - linear-gradient(15deg, transparent 25%, @secondary 35%, transparent 50%); + linear-gradient(5deg, transparent 65%, $secondary 80%, transparent 90%), + linear-gradient(165deg, transparent 5%, $secondary 15%, transparent 25%), + linear-gradient(165deg, transparent 45%, $secondary 55%, transparent 65%), + linear-gradient(15deg, transparent 25%, $secondary 35%, transparent 50%); background-repeat:repeat-x; background-size: 4px 3px; background-position:0 90%; &:visited { text-decoration: none; - color: @primary; + color: $primary; } } -.make-button-color-classes(@i: length(@colors)) when (@i > 0) { - .make-button-color-classes(@i - 1); - @color: extract(@colors, @i); - button.btn-@{color}, .paper-btn.btn-@{color}, [type="button"].btn-@{color} { - border-color: @@color; - background-color: ~"@{@{color}-light}"; - color: ~"@{@{color}-text}"; +@mixin make-button-color-classes($i: length($colors)) when ($i > 0) +{ + @include make-button-color-classes($i - 1); + $color: extract($colors, $i); + button.btn-${color}, .paper-btn.btn-${color}, [type="button"].btn-${color} { + border-color: $$color; + background-color: #{"${${color}-light}"}; + color: #{"${${color}-text}"}; &:hover:active{ - @darkcolour: ~"@{color}-light"; - background-color: darken(@@darkcolour, 10%); + $darkcolour: #{"${color}-light"}; + background-color: darken($$darkcolour, 10%); } } } -.make-button-color-classes(); +@include make-button-color-classes(); diff --git a/src/cards.less b/src/cards.scss similarity index 83% rename from src/cards.less rename to src/cards.scss index 027de80..203740e 100644 --- a/src/cards.less +++ b/src/cards.scss @@ -9,20 +9,20 @@ display: flex; flex-direction: column; word-wrap: break-word; - border: 2px solid @muted-light; + border: 2px solid $muted-light; .card-header, .card-footer { padding: .75rem 1.25rem; - background-color: @white-dark; + background-color: $white-dark; } .card-header { - border-bottom: 2px solid @muted-light; + border-bottom: 2px solid $muted-light; } .card-footer { - border-top: 2px solid @muted-light; + border-top: 2px solid $muted-light; } .card-body { diff --git a/src/code.less b/src/code.scss similarity index 69% rename from src/code.less rename to src/code.scss index 1b88aa4..bf71f6a 100644 --- a/src/code.less +++ b/src/code.scss @@ -3,15 +3,15 @@ code { padding: 2px 4px; font-size: 80%; - color: @secondary; - background-color: lighten(@primary, 70%); + color: $secondary; + background-color: lighten($primary, 70%); border-radius: 3px; } kbd { padding: 2px 4px; font-size: 80%; - color: @white; - background-color: @primary; + color: $white; + background-color: $primary; border-radius: 3px; } pre { @@ -19,11 +19,11 @@ pre { padding: 1em; font-size: 80%; line-height: 1.5; - color: @primary; + color: $primary; word-break: break-all; word-wrap: break-word; - background-color: lighten(@primary, 73%); - border: 1px solid lighten(@primary, 50%); + background-color: lighten($primary, 73%); + border: 1px solid lighten($primary, 50%); border-radius: 3px; overflow-x: auto; white-space: pre; diff --git a/src/colors.less b/src/colors.less deleted file mode 100644 index 1229720..0000000 --- a/src/colors.less +++ /dev/null @@ -1,41 +0,0 @@ -@primary: #41403E; -@secondary: #0071DE; - -@success: #86a361; -@warning: #ddcd45; -@danger: #a7342d; -@muted: #868e96; - -@primary-light: lighten(@primary, 50%); -@secondary-light: lighten(@secondary, 50%); -@success-light: lighten(@success, 30%); -@warning-light: lighten(@warning, 30%); -@danger-light: lighten(@danger, 45%); -@muted-light: lighten(@muted, 35%); - -@white-dark: rgba(0, 0, 0, 0.03); -@light-dark: rgba(0, 0, 0, 0.7); -@white: rgba(255, 255, 255, 1); -@main-background: rgba(255, 255, 255, 1); - -@primary-text: #FFF; -@secondary-text: @primary; -@success-text: @primary; -@warning-text: @primary; -@danger-text: @primary; -@muted-text: @primary; - -@colors: primary, secondary, success, warning, danger, muted; - -.make-text-color-classes(@i: length(@colors)) when (@i > 0) { - .make-text-color-classes(@i - 1); - @color: extract(@colors, @i); - .text-@{color} { - color: @@color; - } - .background-@{color}{ - background-color: ~"@{@{color}-light}"; - } -} - -.make-text-color-classes(); diff --git a/src/container.less b/src/container.scss similarity index 66% rename from src/container.less rename to src/container.scss index 11e6e2b..8b82c22 100644 --- a/src/container.less +++ b/src/container.scss @@ -1,25 +1,26 @@ @import './colors.less'; -@large-screen: ~"screen and (max-width: 1200px)"; -@medium-screen: ~"screen and (max-width: 992px)"; -@small-screen: ~"screen and (max-width: 768px)"; -@xsmall-screen: ~"screen and (max-width: 480px)"; +$large-screen: #{"screen and (max-width: 1200px)"}; +$medium-screen: #{"screen and (max-width: 992px)"}; +$small-screen: #{"screen and (max-width: 768px)"}; +$xsmall-screen: #{"screen and (max-width: 480px)"}; .container { width: 100%; max-width: 960px; position: relative; margin: 0 auto; - @media @medium-screen { + @media $medium-screen { width: 85%; } - @media @xsmall-screen { + @media $xsmall-screen { width: 90%; } } -.hr-after() { +@mixin hr-after() +{ text-align: center; - color: lighten(@primary, 30%); + color: lighten($primary, 30%); display: block; content: "~~~"; position: relative; @@ -41,15 +42,15 @@ hr:after { top: -.75rem; } .paper { - border: 1px solid @primary-light; - background-color: @main-background; + border: 1px solid $primary-light; + background-color: $main-background; padding: 2rem; margin-top: 1rem; margin-bottom: 1rem; -webkit-box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); -moz-box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); - @media @xsmall-screen { + @media $xsmall-screen { padding: 1rem; width: 100%; margin-top: 0; diff --git a/src/flexbox.less b/src/flexbox.scss similarity index 71% rename from src/flexbox.less rename to src/flexbox.scss index 9127c92..50a16d5 100644 --- a/src/flexbox.less +++ b/src/flexbox.scss @@ -1,39 +1,43 @@ -@columnNames: col, sm, md, lg; -@columnSizes: 0px, 768px, 992px, 1200px; +$columnNames: col, sm, md, lg; +$columnSizes: 0px, 768px, 992px, 1200px; -@numberOfColumns: 12; +$numberOfColumns: 12; -.make-column-class(@name, @size, @n, @p: 1) when (@p =< @n) { - @percent: (@p * 100% / @n); - .@{name}-@{p} { - .col-size(@percent); +@mixin make-column-class($name, $size, $n, $p: 1) when ($p =< $n) +{ + $percent: ($p * 100% / $n); + .${name}-${p} { + @include col-size($percent); } - .make-column-class(@name, @size, @n, (@p + 1)); + @include make-column-class($name, $size, $n, ($p + 1)); } -.make-column-classes(@n, @j: 1) when (@j =< length(@columnNames)) { - @columnName: extract(@columnNames, @j); - @columnSize: extract(@columnSizes, @j); - @media (min-width: @columnSize) { - .make-column-class(@columnName, @columnSize, @n); +@mixin make-column-classes($n, $j: 1) when ($j =< length($columnNames)) +{ + $columnName: extract($columnNames, $j); + $columnSize: extract($columnSizes, $j); + @media (min-width: $columnSize) { + @include make-column-class($columnName, $columnSize, $n); } - .make-column-classes(@n, @j + 1); + @include make-column-classes($n, $j + 1); } -.center-all() { +@mixin center-all() +{ -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; } -.col-size(@percent) { +@mixin col-size($percent) +{ -webkit-box-flex: 0; - -webkit-flex: 0 0 @percent; - -ms-flex: 0 0 @percent; - flex: 0 0 @percent; - max-width: @percent; + -webkit-flex: 0 0 $percent; + -ms-flex: 0 0 $percent; + flex: 0 0 $percent; + max-width: $percent; } .row { margin-right: auto; @@ -94,14 +98,14 @@ padding: 1rem; @media (max-width: 767px) { // Stack for mobile - .col-size(100%); + @include col-size(100%); } } .col-fill { width: auto; flex: 1 1 0px; } -.make-column-classes(@numberOfColumns); +@include make-column-classes($numberOfColumns); .align-top { -webkit-align-self: flex-start; -ms-flex-item-align: start; diff --git a/src/fonts.less b/src/fonts.scss similarity index 65% rename from src/fonts.less rename to src/fonts.scss index 422a449..1a61bb3 100644 --- a/src/fonts.less +++ b/src/fonts.scss @@ -2,21 +2,21 @@ @import url('https://fonts.googleapis.com/css?family=Neucha|Patrick+Hand+SC'); -@global-font-size: 20px; -@header-font: 'Patrick Hand SC'; -@body-font: 'Neucha'; -@font-color: @primary; +$global-font-size: 20px; +$header-font: 'Patrick Hand SC'; +$body-font: 'Neucha'; +$font-color: $primary; html { - font-size: @global-font-size; - font-family: @body-font, sans-serif; - color: @font-color; + font-size: $global-font-size; + font-family: $body-font, sans-serif; + color: $font-color; } p, a, button, table, thead, tbody, th, tr, td, input, textarea, select, option { - font-family: @body-font, sans-serif; + font-family: $body-font, sans-serif; } h1, h2, h3, h4, h5, h6 { - font-family: @header-font, sans-serif; + font-family: $header-font, sans-serif; font-weight: normal; } h1 { diff --git a/src/forms.less b/src/forms.scss similarity index 89% rename from src/forms.less rename to src/forms.scss index 752af26..e9df9f0 100644 --- a/src/forms.less +++ b/src/forms.scss @@ -3,7 +3,7 @@ input, select, textarea { display: block; background:transparent; - color:@primary; + color:$primary; outline:none; border-top-left-radius: 255px 15px; border-top-right-radius: 15px 225px; @@ -11,9 +11,9 @@ input, select, textarea { border-bottom-left-radius:15px 255px; font-size: 1rem; padding: .5rem .5rem; - border: 2px solid @primary; + border: 2px solid $primary; &:focus { - border: 2px solid @secondary; + border: 2px solid $secondary; } &.disabled, &[disabled]{ .disabled; @@ -68,7 +68,7 @@ input, select, textarea { position: relative; width: 1rem; height: 1rem; - border: 2px solid @primary; + border: 2px solid $primary; margin-right: 0.75em; vertical-align: -0.25em; } @@ -87,14 +87,14 @@ input, select, textarea { /* the checked style using the :checked pseudo class */ input[type="radio"]:checked + span:before { - @escaped-svg: escape(""); - @radio-fill: "data:image/svg+xml,@{escaped-svg}"; - background: url(@radio-fill) left center no-repeat; + $escaped-svg: escape(""); + $radio-fill: "data:image/svg+xml,${escaped-svg}"; + background: url($radio-fill) left center no-repeat; } input[type="checkbox"]:checked + span:before { - @escaped-svg: escape(""); - @check-fill: "data:image/svg+xml,@{escaped-svg}"; - background: url(@check-fill) left center no-repeat; + $escaped-svg: escape(""); + $check-fill: "data:image/svg+xml,${escaped-svg}"; + background: url($check-fill) left center no-repeat; } } } diff --git a/src/images.less b/src/images.scss similarity index 100% rename from src/images.less rename to src/images.scss diff --git a/src/lists.less b/src/lists.scss similarity index 78% rename from src/lists.less rename to src/lists.scss index 07b5078..5978aef 100644 --- a/src/lists.less +++ b/src/lists.scss @@ -13,9 +13,10 @@ ol { } } } -.li-bullet(@char) { +@mixin li-bullet($char) +{ li:before { - content: @char; + content: $char; } } ul { @@ -28,13 +29,13 @@ ul { position: relative; left: -7px; } - .li-bullet("-"); + @include li-bullet("-"); ul { - .li-bullet("+"); + @include li-bullet("+"); ul { - .li-bullet("~"); + @include li-bullet("~"); ul { - .li-bullet("⤍"); + @include li-bullet("⤍"); ul { .li-bullet("⁎") } diff --git a/src/modals.less b/src/modals.scss similarity index 61% rename from src/modals.less rename to src/modals.scss index 27d0224..3df1a3b 100644 --- a/src/modals.less +++ b/src/modals.scss @@ -2,16 +2,18 @@ @import './container.less'; @import './utilities.less'; -.translate(@x; @y) { - -webkit-transform: translate(@x, @y); - -ms-transform: translate(@x, @y); - transform: translate(@x, @y); +@mixin translate($x; $y) +{ + -webkit-transform: translate($x, $y); + -ms-transform: translate($x, $y); + transform: translate($x, $y); } -.transition-transform(@transition) { - -webkit-transition: -webkit-transform @transition; - -moz-transition: -moz-transform @transition; - -o-transition: -o-transform @transition; - transition: transform @transition; +@mixin transition-transform($transition) +{ + -webkit-transition: -webkit-transform $transition; + -moz-transition: -moz-transform $transition; + -o-transition: -o-transform $transition; + transition: transform $transition; } .modal{ @@ -31,7 +33,7 @@ display: flex; } .modal-body{ - .translate(0, 0); + @include translate(0, 0); top: 20%; } } @@ -39,31 +41,31 @@ .modal-body{ flex: 1 1 auto; padding: 1.25rem; - background: @white; - border: 2px solid @muted-light; + background: $white; + border: 2px solid $muted-light; word-wrap: break-word; position: fixed; z-index: 11; max-width: 960px; - @media @medium-screen { + @media $medium-screen { max-width: 85%; } - @media @xsmall-screen { + @media $xsmall-screen { max-width: 90%; } - .translate(0, -500%); - .transition-transform(~"0.3s ease-out"); + @include translate(0, -500%); + @include transition-transform(#{"0.3s ease-out"}); } .btn-close{ - color: @primary-light; + color: $primary-light; font-size: 30px; text-decoration: none; position: absolute; right: 0; top: 0; .margin; background: inherit; &:hover{ - color: @muted; + color: $muted; } } @@ -92,6 +94,6 @@ a button { text-decoration: none; - background: @white; + background: $white; } } diff --git a/src/popovers.less b/src/popovers.scss similarity index 97% rename from src/popovers.less rename to src/popovers.scss index d5603aa..53a0640 100644 --- a/src/popovers.less +++ b/src/popovers.scss @@ -27,8 +27,8 @@ min-width: 80px; font-size: 0.7em; text-align: center; - color: @white; - background: @light-dark; + color: $white; + background: $light-dark; transition: opacity .25s ease-out; transform: translateX(-50%) translateY(-100%); .border; diff --git a/src/reset.less b/src/reset.scss similarity index 100% rename from src/reset.less rename to src/reset.scss diff --git a/src/shadows.less b/src/shadows.less deleted file mode 100644 index 3627713..0000000 --- a/src/shadows.less +++ /dev/null @@ -1,39 +0,0 @@ -@shadow-color-regular: hsla(0,0%,0%,.2); -@shadow-color-hover: hsla(0,0%,0%,.3); - -@shadow-small: 10px 19px 17px -13px @shadow-color-regular; -@shadow-regular: 15px 28px 25px -18px @shadow-color-regular; -@shadow-large: 20px 38px 34px -26px @shadow-color-regular; -@shadow-hover: 2px 8px 8px -5px @shadow-color-hover; - -.shadow { - -webkit-box-shadow: @shadow-regular; - -moz-box-shadow: @shadow-regular; - box-shadow: @shadow-regular; - transition: all .5s ease; - &.shadow-large { - -webkit-box-shadow: @shadow-large; - -moz-box-shadow: @shadow-large; - box-shadow: @shadow-large; - } - &.shadow-small { - -webkit-box-shadow: @shadow-small; - -moz-box-shadow: @shadow-small; - box-shadow: @shadow-small; - } - &.shadow-hover { - &:hover{ - -webkit-box-shadow: @shadow-hover; - -moz-box-shadow: @shadow-hover; - box-shadow: @shadow-hover; - transform: translate(0, 2px); - } - } -} -.child-shadows > * { - .shadow; -} -.child-shadows-hover > * { - .shadow; - .shadow-hover; -} \ No newline at end of file diff --git a/src/shadows.scss b/src/shadows.scss new file mode 100644 index 0000000..3573780 --- /dev/null +++ b/src/shadows.scss @@ -0,0 +1,39 @@ +$shadow-color-regular: hsla(0,0%,0%,.2); +$shadow-color-hover: hsla(0,0%,0%,.3); + +$shadow-small: 10px 19px 17px -13px $shadow-color-regular; +$shadow-regular: 15px 28px 25px -18px $shadow-color-regular; +$shadow-large: 20px 38px 34px -26px $shadow-color-regular; +$shadow-hover: 2px 8px 8px -5px $shadow-color-hover; + +.shadow { + -webkit-box-shadow: $shadow-regular; + -moz-box-shadow: $shadow-regular; + box-shadow: $shadow-regular; + transition: all .5s ease; + &.shadow-large { + -webkit-box-shadow: $shadow-large; + -moz-box-shadow: $shadow-large; + box-shadow: $shadow-large; + } + &.shadow-small { + -webkit-box-shadow: $shadow-small; + -moz-box-shadow: $shadow-small; + box-shadow: $shadow-small; + } + &.shadow-hover { + &:hover{ + -webkit-box-shadow: $shadow-hover; + -moz-box-shadow: $shadow-hover; + box-shadow: $shadow-hover; + transform: translate(0, 2px); + } + } +} +.child-shadows > * { + .shadow; +} +.child-shadows-hover > * { + .shadow; + .shadow-hover; +} \ No newline at end of file diff --git a/src/styles.less b/src/styles.less deleted file mode 100644 index c473135..0000000 --- a/src/styles.less +++ /dev/null @@ -1,22 +0,0 @@ -@import (less) "./reset.less"; -@import (less) "./boxreset.less"; -@import (less) "./colors.less"; -@import (less) "./fonts.less"; -@import (less) "./borders.less"; -@import (less) "./shadows.less"; -@import (less) "./flexbox.less"; -@import (less) "./container.less"; -@import (less) "./buttons.less"; -@import (less) "./forms.less"; -@import (less) "./lists.less"; -@import (less) "./code.less"; -@import (less) "./tables.less"; -@import (less) "./images.less"; -@import (less) "./utilities.less"; -@import (less) "./popovers.less"; -@import (less) "./cards.less"; -@import (less) "./badges.less"; -@import (less) "./alerts.less"; -@import (less) "./tabs.less"; -@import (less) "./article.less"; -@import (less) "./modals.less"; diff --git a/src/styles.scss b/src/styles.scss new file mode 100644 index 0000000..0d6bf1d --- /dev/null +++ b/src/styles.scss @@ -0,0 +1,28 @@ +@media screen { + @import 'reset'; + @import 'boxreset'; + @import 'colors'; + @import 'fonts'; + @import 'borders'; + @import 'shadows'; + @import 'flexbox'; + @import 'container'; + @import 'buttons'; + @import 'forms'; + @import 'lists'; + @import 'code'; + @import 'tables'; + @import 'images'; + @import 'utilities'; + @import 'popovers'; + @import 'cards'; + @import 'badges'; + @import 'alerts'; + @import 'tabs'; + @import 'article'; + @import 'modals'; +} + +// @media print { +// @import 'print'; +// } diff --git a/src/tables.less b/src/tables.scss similarity index 83% rename from src/tables.less rename to src/tables.scss index b6768c0..7767827 100644 --- a/src/tables.less +++ b/src/tables.scss @@ -14,7 +14,7 @@ table { padding: 8px; line-height: 1.5; vertical-align: top; - border-top: 1px dashed lighten(@primary, 60%); + border-top: 1px dashed lighten($primary, 60%); } @media screen and (max-width:480px) { thead tr th { @@ -25,9 +25,9 @@ table { } } &.table-hover tbody tr:hover { - color: @secondary; + color: $secondary; } &.table-alternating tbody tr:nth-of-type(even) { - color: lighten(@primary, 25%); + color: lighten($primary, 25%); } } diff --git a/src/tabs.less b/src/tabs.scss similarity index 60% rename from src/tabs.less rename to src/tabs.scss index 5f2736e..4146f5a 100644 --- a/src/tabs.less +++ b/src/tabs.scss @@ -16,25 +16,26 @@ padding: 0.75rem 0.75rem; font-weight: 600; text-align: center; - color: @primary-light; + color: $primary-light; } label:hover { - color: @muted; + color: $muted; cursor: pointer; } input:checked+label { - color: @primary; - border-bottom: solid 3px @secondary; + color: $primary; + border-bottom: solid 3px $secondary; } - .loop(@num) when (@num > 0) { - .loop((@num - 1)); - input[id = ~"tab@{num}"]:checked~div[id = ~"content@{num}"]{ + @mixin loop($num) when ($num > 0) +{ + @include loop(($num - 1)); + input[id = #{"tab${num}"]:checked~div[id = ~"content${num}"}]{ display:block; } } - .loop(5); + @include loop(5); } diff --git a/src/utilities.less b/src/utilities.scss similarity index 56% rename from src/utilities.less rename to src/utilities.scss index 0df5620..ca6ea0d 100644 --- a/src/utilities.less +++ b/src/utilities.scss @@ -1,122 +1,122 @@ -@base: 1rem; -@large: 2rem; -@small: .5rem; +$base: 1rem; +$large: 2rem; +$small: .5rem; .margin { - margin: @base; + margin: $base; &-top { - margin-top: @base; + margin-top: $base; &-large { - margin-top: @large; + margin-top: $large; } &-small { - margin-top: @small; + margin-top: $small; } &-none { margin-top: 0; } } &-right { - margin-right: @base; + margin-right: $base; &-large { - margin-right: @large; + margin-right: $large; } &-small { - margin-right: @small; + margin-right: $small; } &-none { margin-right: 0; } } &-bottom { - margin-bottom: @base; + margin-bottom: $base; &-large { - margin-bottom: @large; + margin-bottom: $large; } &-small { - margin-bottom: @small; + margin-bottom: $small; } &-none { margin-bottom: 0; } } &-left { - margin-left: @base; + margin-left: $base; &-large { - margin-left: @large; + margin-left: $large; } &-small { - margin-left: @small; + margin-left: $small; } &-none { margin-left: 0; } } &-large { - margin: @large; + margin: $large; } &-small { - margin: @small; + margin: $small; } &-none { margin: 0; } } .padding { - padding: @base; + padding: $base; &-top { - padding-top: @base; + padding-top: $base; &-large { - padding-top: @large; + padding-top: $large; } &-small { - padding-top: @small; + padding-top: $small; } &-none { padding-top: 0; } } &-right { - padding-right: @base; + padding-right: $base; &-large { - padding-right: @large; + padding-right: $large; } &-small { - padding-right: @small; + padding-right: $small; } &-none { padding-right: 0; } } &-bottom { - padding-bottom: @base; + padding-bottom: $base; &-large { - padding-bottom: @large; + padding-bottom: $large; } &-small { - padding-bottom: @small; + padding-bottom: $small; } &-none { padding-bottom: 0; } } &-left { - padding-left: @base; + padding-left: $base; &-large { - padding-left: @large; + padding-left: $large; } &-small { - padding-left: @small; + padding-left: $small; } &-none { padding-left: 0; } } &-large { - padding: @large; + padding: $large; } &-small { - padding: @small; + padding: $small; } &-none { padding: 0; From 90c222f35e5d2b9cec2c627ff9806dca6f165ecd Mon Sep 17 00:00:00 2001 From: koester Date: Mon, 18 Dec 2017 23:27:40 +0100 Subject: [PATCH 02/20] minor changes to alert.scss --- src/_alerts.scss | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/_alerts.scss b/src/_alerts.scss index b674aae..6328e6b 100644 --- a/src/_alerts.scss +++ b/src/_alerts.scss @@ -1,8 +1,8 @@ -@import './colors.less'; -@import './borders.less'; +@import 'colors'; +@import 'borders'; -.alert{ - .border; +.alert { + @extend .border; padding: 15px; margin-bottom: 20px; width: 100%; From 2e03d07e3ea63fef6c54de5daba4cc275db173c2 Mon Sep 17 00:00:00 2001 From: koester Date: Tue, 19 Dec 2017 14:18:58 +0100 Subject: [PATCH 03/20] Added .DS_Store --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1778ff3..18071f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /node_modules npm-debug.log /dist -/tests/node_modules \ No newline at end of file +/tests/node_modules +.DS_Store From 621db8f23c7fbcbaf7b6a36401e13f4808fa2ad7 Mon Sep 17 00:00:00 2001 From: koester Date: Tue, 19 Dec 2017 17:52:33 +0100 Subject: [PATCH 04/20] scss components --- src/_alerts.scss | 22 --- src/badges.scss | 29 ---- src/code.scss | 38 ----- src/components/_alerts.scss | 17 +++ .../_article.scss} | 2 +- src/components/_badges.scss | 23 +++ .../_borders.scss} | 15 +- .../_boxreset.scss} | 0 .../_buttons.scss} | 51 ++++--- src/{cards.scss => components/_cards.scss} | 11 +- src/components/_code.scss | 39 +++++ src/components/_colors.scss | 0 src/{_colors.scss => components/_config.scss} | 26 +++- src/components/_container.scss | 74 ++++++++++ src/components/_flexbox.scss | 129 +++++++++++++++++ src/components/_fonts.scss | 48 ++++++ src/components/_forms.scss | 108 ++++++++++++++ src/{images.scss => components/_images.scss} | 5 +- src/components/_lists.scss | 48 ++++++ src/{modals.scss => components/_modals.scss} | 27 ++-- .../_popovers.scss} | 28 ++-- src/{reset.scss => components/_reset.scss} | 0 src/components/_shadows.scss | 39 +++++ src/components/_tables.scss | 33 +++++ src/components/_tabs.scss | 36 +++++ src/components/_utilities.scss | 137 ++++++++++++++++++ src/container.scss | 59 -------- src/flexbox.scss | 124 ---------------- src/fonts.scss | 48 ------ src/forms.scss | 105 -------------- src/lists.scss | 49 ------- src/shadows.scss | 39 ----- src/styles.scss | 49 ++++--- src/tables.scss | 33 ----- src/tabs.scss | 41 ------ src/utilities.scss | 124 ---------------- 36 files changed, 838 insertions(+), 818 deletions(-) delete mode 100644 src/_alerts.scss delete mode 100644 src/badges.scss delete mode 100644 src/code.scss create mode 100644 src/components/_alerts.scss rename src/{article.scss => components/_article.scss} (92%) create mode 100644 src/components/_badges.scss rename src/{borders.scss => components/_borders.scss} (85%) rename src/{boxreset.scss => components/_boxreset.scss} (100%) rename src/{buttons.scss => components/_buttons.scss} (65%) rename src/{cards.scss => components/_cards.scss} (87%) create mode 100644 src/components/_code.scss create mode 100644 src/components/_colors.scss rename src/{_colors.scss => components/_config.scss} (55%) create mode 100644 src/components/_container.scss create mode 100644 src/components/_flexbox.scss create mode 100644 src/components/_fonts.scss create mode 100644 src/components/_forms.scss rename src/{images.scss => components/_images.scss} (86%) create mode 100644 src/components/_lists.scss rename src/{modals.scss => components/_modals.scss} (81%) rename src/{popovers.scss => components/_popovers.scss} (85%) rename src/{reset.scss => components/_reset.scss} (100%) create mode 100644 src/components/_shadows.scss create mode 100644 src/components/_tables.scss create mode 100644 src/components/_tabs.scss create mode 100644 src/components/_utilities.scss delete mode 100644 src/container.scss delete mode 100644 src/flexbox.scss delete mode 100644 src/fonts.scss delete mode 100644 src/forms.scss delete mode 100644 src/lists.scss delete mode 100644 src/shadows.scss delete mode 100644 src/tables.scss delete mode 100644 src/tabs.scss delete mode 100644 src/utilities.scss diff --git a/src/_alerts.scss b/src/_alerts.scss deleted file mode 100644 index 6328e6b..0000000 --- a/src/_alerts.scss +++ /dev/null @@ -1,22 +0,0 @@ -@import 'colors'; -@import 'borders'; - -.alert { - @extend .border; - padding: 15px; - margin-bottom: 20px; - width: 100%; -} - -@mixin make-alert-color-classes($a: length($colors)) when ($a > 0) -{ - @include make-alert-color-classes($a - 1); - $color: extract($colors, $a); - .alert-${color} { - border-color: $$color; - color: $$color; - background-color: #{"${${color}-light}"}; - } -} - -@include make-alert-color-classes(); diff --git a/src/badges.scss b/src/badges.scss deleted file mode 100644 index 626d3ac..0000000 --- a/src/badges.scss +++ /dev/null @@ -1,29 +0,0 @@ -@import './colors.less'; -@import './borders.less'; - -.badge { - .border; - - display: inline-block; - padding: .25em .4em; - font-size: 75%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: $muted; - color: white; - border-color: transparent; -} - -@mixin make-badge-color-classes($i: length($colors)) when ($i > 0) -{ - @include make-badge-color-classes($i - 1); - $color: extract($colors, $i); - .badge.${color} { - background-color: $$color; - } -} - -@include make-badge-color-classes(); diff --git a/src/code.scss b/src/code.scss deleted file mode 100644 index bf71f6a..0000000 --- a/src/code.scss +++ /dev/null @@ -1,38 +0,0 @@ -@import './colors.less'; - -code { - padding: 2px 4px; - font-size: 80%; - color: $secondary; - background-color: lighten($primary, 70%); - border-radius: 3px; -} -kbd { - padding: 2px 4px; - font-size: 80%; - color: $white; - background-color: $primary; - border-radius: 3px; -} -pre { - display: block; - padding: 1em; - font-size: 80%; - line-height: 1.5; - color: $primary; - word-break: break-all; - word-wrap: break-word; - background-color: lighten($primary, 73%); - border: 1px solid lighten($primary, 50%); - border-radius: 3px; - overflow-x: auto; - white-space: pre; -} -pre code{ - color: inherit; - background: transparent; - display: block; - font-size: inherit; - padding: initial; - white-space:pre; -} diff --git a/src/components/_alerts.scss b/src/components/_alerts.scss new file mode 100644 index 0000000..f86f81e --- /dev/null +++ b/src/components/_alerts.scss @@ -0,0 +1,17 @@ +@import 'colors'; +@import 'borders'; + +.alert { + @extend .border; + padding: 15px; + margin-bottom: 20px; + width: 100%; +} + +@each $colorName, $color, $color-light in $colors { + .alert-#{$colorName} { + color: $color; + border-color: $color; + background-color: $color-light; + } +} diff --git a/src/article.scss b/src/components/_article.scss similarity index 92% rename from src/article.scss rename to src/components/_article.scss index 4c3b7ef..9c72e3f 100644 --- a/src/article.scss +++ b/src/components/_article.scss @@ -1,4 +1,4 @@ -@import './colors.less'; +@import 'colors'; article { .article-title { diff --git a/src/components/_badges.scss b/src/components/_badges.scss new file mode 100644 index 0000000..d1c71dc --- /dev/null +++ b/src/components/_badges.scss @@ -0,0 +1,23 @@ +@import 'colors'; +@import 'borders'; + +.badge { + @extend .border; + display: inline-block; + padding: .25em .4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: $muted; + color: $white; + border-color: transparent; +} + +@each $colorName, $color in $colors { + .badge.#{$colorName} { + background-color: $color; + } +} diff --git a/src/borders.scss b/src/components/_borders.scss similarity index 85% rename from src/borders.scss rename to src/components/_borders.scss index 3639396..fb12622 100644 --- a/src/borders.scss +++ b/src/components/_borders.scss @@ -1,4 +1,4 @@ -@import './colors.less'; +@import 'colors'; .border { border: 2px solid $primary; @@ -55,13 +55,8 @@ border-width: 5px; } -@mixin make-border-color-classes($i: length($colors)) when ($i > 0) -{ - @include make-border-color-classes($i - 1); - $color: extract($colors, $i); - .border-${color} { - border-color: $$color; - } +@each $colorName, $color in $colors { + .border-#{$colorName} { + border-color: $color; + } } - -@include make-border-color-classes(); diff --git a/src/boxreset.scss b/src/components/_boxreset.scss similarity index 100% rename from src/boxreset.scss rename to src/components/_boxreset.scss diff --git a/src/buttons.scss b/src/components/_buttons.scss similarity index 65% rename from src/buttons.scss rename to src/components/_buttons.scss index 31ecf70..09b48aa 100644 --- a/src/buttons.scss +++ b/src/components/_buttons.scss @@ -1,10 +1,10 @@ -@import './colors.less'; -@import './shadows.less'; -@import './borders.less'; -@import './forms.less'; // .disabled +@import 'colors'; +@import 'shadows'; +@import 'borders'; +@import 'forms'; // .disabled button, .paper-btn, [type="button"] { - .shadow; + @extend .shadow; align-self:center; background:transparent; transition:all .5s ease, background-color .1s ease; @@ -12,19 +12,19 @@ button, .paper-btn, [type="button"] { display: inline; outline:none; border:solid 2px $primary; - .border; + @extend .border; font-size: 1rem; padding: .75rem .75rem; cursor: pointer; - .shadow; - .shadow-hover; + @extend .shadow; + @extend .shadow-hover; &.btn-large { - .shadow-large; + @extend .shadow-large; font-size:2rem; padding:1rem 1rem; } &.btn-small { - .shadow-small; + @extend .shadow-small; font-size: .75rem; padding: .5rem; } @@ -33,7 +33,7 @@ button, .paper-btn, [type="button"] { width: 100%; } &:hover { - .shadow-hover; + @extend .shadow-hover; } &:focus{ border: 2px solid $secondary; @@ -46,7 +46,7 @@ button, .paper-btn, [type="button"] { transition: none; } &.disabled, &[disabled] { - .disabled; + @extend .disabled; } } @@ -66,19 +66,18 @@ a { } } -@mixin make-button-color-classes($i: length($colors)) when ($i > 0) -{ - @include make-button-color-classes($i - 1); - $color: extract($colors, $i); - button.btn-${color}, .paper-btn.btn-${color}, [type="button"].btn-${color} { - border-color: $$color; - background-color: #{"${${color}-light}"}; - color: #{"${${color}-text}"}; - &:hover:active{ - $darkcolour: #{"${color}-light"}; - background-color: darken($$darkcolour, 10%); - } +@each $colorName, $color, $color-light, $color-text in $colors { + .alert-#{$colorName} { + color: $color; + border-color: $color; + background-color: $color-light; + } + button.btn-#{$colorName}, .paper-btn.btn-#{$colorName}, [type="button"].btn-#{$colorName} { + border-color: $color; + background-color: $color-light; + color: $color-text; + &:hover:active { + background-color: darken($color-light, 10%); } + } } - -@include make-button-color-classes(); diff --git a/src/cards.scss b/src/components/_cards.scss similarity index 87% rename from src/cards.scss rename to src/components/_cards.scss index 203740e..ed26cbb 100644 --- a/src/cards.scss +++ b/src/components/_cards.scss @@ -1,10 +1,9 @@ -@import './colors.less'; -@import './shadows.less'; +@import 'colors'; +@import 'shadows'; .card { - .shadow; - .shadow-hover; - + @extend .shadow; + @extend .shadow-hover; position: relative; display: flex; flex-direction: column; @@ -35,7 +34,7 @@ } .card-subtitle, h5 { - .text-secondary; + @extend .text-secondary; margin-top: 0; margin-bottom: 0.5rem; diff --git a/src/components/_code.scss b/src/components/_code.scss new file mode 100644 index 0000000..5cddee5 --- /dev/null +++ b/src/components/_code.scss @@ -0,0 +1,39 @@ +@import 'colors'; + +code { + padding: 2px 4px; + font-size: 80%; + color: $secondary; + background-color: lighten($primary, 70%); + border-radius: 3px; +} +kbd { + padding: 2px 4px; + font-size: 80%; + color: $white; + background-color: $primary; + border-radius: 3px; +} +pre { + display: block; + padding: 1em; + font-size: 80%; + line-height: 1.5; + color: $primary; + word-break: break-all; + word-wrap: break-word; + background-color: lighten($primary, 73%); + border: 1px solid lighten($primary, 50%); + border-radius: 3px; + overflow-x: auto; + white-space: pre; + + code { + color: inherit; + background: transparent; + display: block; + font-size: inherit; + padding: initial; + white-space:pre; + } +} diff --git a/src/components/_colors.scss b/src/components/_colors.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/_colors.scss b/src/components/_config.scss similarity index 55% rename from src/_colors.scss rename to src/components/_config.scss index e47a8b2..3affa61 100644 --- a/src/_colors.scss +++ b/src/components/_config.scss @@ -1,3 +1,6 @@ +// Global PaperCSS Config + +// Set Colors $primary: #41403E; $secondary: #0071DE; @@ -25,18 +28,25 @@ $warning-text: $primary; $danger-text: $primary; $muted-text: $primary; -$colors: (primary, $primary, $primary-light), - (secondary, $secondary, $secondary-light), - (success, $success, $success-light), - (warning, $warning, $warning-light), - (danger, $danger, $danger-light), - (muted, $muted, $muted-light); +// Set class names to generate the css classes on build +$colors: (primary, $primary, $primary-light, $primary-text), + (secondary, $secondary, $secondary-light, $secondary-text), + (success, $success, $success-light, $success-text), + (warning, $warning, $warning-light, $warning-text), + (danger, $danger, $danger-light, $danger-text), + (muted, $muted, $muted-light, $muted-text); @each $colorName, $color, $color-light in $colors { .text-#{$colorName} { - color: #{$color}; + color: $color; } .background-#{$colorName} { - background-color: #{$color-light}; + background-color: $color-light; } } +COLORS +BORDERS +SHADOWS +BORDERS + +// Grid Breakpoints && Class Names diff --git a/src/components/_container.scss b/src/components/_container.scss new file mode 100644 index 0000000..0d45316 --- /dev/null +++ b/src/components/_container.scss @@ -0,0 +1,74 @@ +@import 'colors'; + +// Sizes +$large-screen: 1200px; +$medium-screen: 992px; +$small-screen: 768px; +$xsmall-screen: 480px; + +@mixin resp($max:null, $min:null) { + @if $max == large or $max == lg { $max: $large-screen; } + @if $max == medium or $max == md { $max: $medium-screen; } + @if $max == small or $max == sm { $max: $small-screen; } + @if $max == xsmall or $max == xs { $max: $xsmall-screen; } + @if ($min != null and $max != null) {@media only screen and (max-width: $max) and (min-width: $min) { @content; }} + @else if($max != null and $min == null){@media only screen and (max-width: $max) { @content; }} + @else if($min != null and $max == null){@media only screen and (min-width: $min) { @content; }} + @else { @error "no matching size found";} +} +@mixin hr-after() { + text-align: center; + color: lighten($primary, 30%); + display: block; + content: "~~~"; + position: relative; + font-size: 1.5rem; +} + +.container { + width: 100%; + max-width: 960px; + position: relative; + margin: 0 auto; + @include resp(medium) { + width: 85%; + } + @include resp(xsmall) { + width: 90%; + } +} +.section { + margin-top: 1rem; + margin-bottom: 2rem; + word-wrap: break-word; + + &:after { + @include hr-after; + } +} + +hr { + border: 0; + + &:after { + @include hr-after; + top: -.75rem; + } +} + +.paper { + border: 1px solid $primary-light; + background-color: $main-background; + padding: 2rem; + margin-top: 1rem; + margin-bottom: 1rem; + -webkit-box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); + -moz-box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); + box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); + @include resp(xsmall) { + padding: 1rem; + width: 100%; + margin-top: 0; + margin-bottom: 0; + } +} diff --git a/src/components/_flexbox.scss b/src/components/_flexbox.scss new file mode 100644 index 0000000..e59eb71 --- /dev/null +++ b/src/components/_flexbox.scss @@ -0,0 +1,129 @@ +@import 'container'; + +$columns: (0, col), + ($large-screen, lg), + ($medium-screen, md), + ($small-screen, sm), + ($xsmall-screen, xs); + +$numberOfColumns: 12; + +@mixin make-column($columns) { + @each $breakpoint, $columnName in $columns { + // @todo: fix failing resp() mixin here + @media only screen and (max-width: $breakpoint) { + @for $i from 1 through $numberOfColumns { + .#{$columnName}-#{$i} { + flex: 0 0 $i * 100% / $numberOfColumns; + max-width: $i * 100% / $numberOfColumns; + } + } + } + } +} + +@include make-column($columns); + +/* Unused mixin +@mixin center-all() { + -webkit-align-items: center; + align-items: center; + -webkit-justify-content: center; + justify-content: center; + } */ + +@mixin col-size($percent) { + -webkit-box-flex: 0; + -webkit-flex: 0 0 $percent; + -ms-flex: 0 0 $percent; + flex: 0 0 $percent; + max-width: $percent; +} + +.row { + margin-right: auto; + margin-left: auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-bottom: 1rem; + &.flex-right { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; + } + &.flex-center { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + } + &.flex-edges { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + } + &.flex-spaces { + -webkit-justify-content: space-around; + -ms-flex-pack: distribute; + justify-content: space-around; + } + &.flex-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; + } + &.flex-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + } + &.flex-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-flex-align: end; + align-items: flex-end; + } +} + +.col { + padding: 1rem; + @include resp(small) { + // Stack for mobile + @include col-size(100%); + } +} + +.col-fill { + width: auto; + flex: 1 1 0px; +} + +.align-top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; +} + +.align-middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + -ms-grid-row-align: center; + align-self: center; +} + +.align-bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; +} diff --git a/src/components/_fonts.scss b/src/components/_fonts.scss new file mode 100644 index 0000000..1d30988 --- /dev/null +++ b/src/components/_fonts.scss @@ -0,0 +1,48 @@ +@import 'colors'; + +@import url('https://fonts.googleapis.com/css?family=Neucha|Patrick+Hand+SC'); + +$global-font-size: 20px; +$header-font: 'Patrick Hand SC'; +$body-font: 'Neucha'; +$font-color: $primary; + +html { + font-size: $global-font-size; + font-family: $body-font, sans-serif; + color: $font-color; +} +p, a, button, table, thead, tbody, th, tr, td, input, textarea, select, option { + font-family: $body-font, sans-serif; +} +h1, h2, h3, h4, h5, h6 { + font-family: $header-font, sans-serif; + font-weight: normal; +} +h1 { + font-size: 4rem; +} +h2 { + font-size: 3rem; +} +h3 { + font-size: 2rem; +} +h4 { + font-size: 1.5rem; +} +h5 { + font-size: 1rem; +} +h6 { + font-size: .8rem; +} +.text-left { + text-align: left; +} +.text-center { + text-align: center; +} +.text-right { + text-align: right; +} diff --git a/src/components/_forms.scss b/src/components/_forms.scss new file mode 100644 index 0000000..04c8629 --- /dev/null +++ b/src/components/_forms.scss @@ -0,0 +1,108 @@ +@import 'colors'; + +input, select, textarea { + display: block; + background:transparent; + color:$primary; + outline:none; + border-top-left-radius: 255px 15px; + border-top-right-radius: 15px 225px; + border-bottom-right-radius: 225px 15px; + border-bottom-left-radius:15px 255px; + font-size: 1rem; + padding: .5rem .5rem; + border: 2px solid $primary; + &:focus { + border: 2px solid $secondary; + } + &.disabled, &[disabled]{ + @extend .disabled; + } +} + +.disabled{ + cursor: not-allowed; + opacity: 0.5; +} + +.form-group { + margin-bottom: 1rem; + > label, legend { + display: inline-block; + margin-bottom: .5rem; + } + + .input-block { + width: 100%; + } + + textarea{ + max-width: 100%; + max-height: 90vh; + } + + textarea.no-resize{ + resize: none; + } + + // TODO: make these classes implicit. We can find out what class to apply based on its type + .paper-radio, .paper-check { + display: block; + margin-bottom: .5rem; + cursor: pointer; + + input { + border: 0; + height: 1px; margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + display: none; + } + + input + span { + display: block; + } + /* the basic, unchecked style */ + input + span:before { + content: ''; + display: inline-block; + position: relative; + width: 1rem; + height: 1rem; + border: 2px solid $primary; + margin-right: 0.75em; + vertical-align: -0.25em; + } + input[type="radio"] + span:before { + border-top-left-radius: 1rem 1rem; + border-top-right-radius: 1rem .6rem; + border-bottom-right-radius: 1rem .9rem; + border-bottom-left-radius: .7rem 1rem; + } + input[type="checkbox"] + span:before { + border-top-left-radius: 255px 15px; + border-top-right-radius: 15px 225px; + border-bottom-right-radius: 225px 15px; + border-bottom-left-radius:15px 255px; + } + + /* the checked style using the :checked pseudo class */ + input[type="radio"]:checked + span:before { + $escaped-svg: escape(""); + $radio-fill: "data:image/svg+xml,${escaped-svg}"; + background: url($radio-fill) left center no-repeat; + } + input[type="checkbox"]:checked + span:before { + $escaped-svg: escape(""); + $check-fill: "data:image/svg+xml,${escaped-svg}"; + background: url($check-fill) left center no-repeat; + } + } +} + +fieldset.form-group { + border: none; + padding: 0; +} diff --git a/src/images.scss b/src/components/_images.scss similarity index 86% rename from src/images.scss rename to src/components/_images.scss index 3ffbf0e..3789662 100644 --- a/src/images.scss +++ b/src/components/_images.scss @@ -1,11 +1,10 @@ -@import './colors.less'; -@import './borders.less'; +@import 'borders'; img { max-width: 100%; height: auto; display: block; - .border; + @extend .border; &.float-left { float: left; margin: 1rem 1rem 1rem 0rem; diff --git a/src/components/_lists.scss b/src/components/_lists.scss new file mode 100644 index 0000000..1eee025 --- /dev/null +++ b/src/components/_lists.scss @@ -0,0 +1,48 @@ +ol { + list-style-type: decimal; + ol { + list-style-type: upper-alpha; + ol { + list-style-type: upper-roman; + ol { + list-style-type: lower-alpha; + ol { + list-style-type: lower-roman; + } + } + } + } +} +@mixin li-bullet($char) { + li:before { + content: $char; + } +} +ul { + list-style: none; + margin-left: 0; + li { + text-indent: -7px; + &:before { + position: relative; + left: -7px; + } + } + @include li-bullet("-"); + ul { + @include li-bullet("+"); + ul { + @include li-bullet("~"); + ul { + @include li-bullet("⤍"); + ul { + @include li-bullet("⁎"); + } + } + } + } + &.inline li{ + display: inline; + margin-left: 5px; + } +} diff --git a/src/modals.scss b/src/components/_modals.scss similarity index 81% rename from src/modals.scss rename to src/components/_modals.scss index 3df1a3b..a873a73 100644 --- a/src/modals.scss +++ b/src/components/_modals.scss @@ -1,15 +1,13 @@ -@import './colors.less'; -@import './container.less'; -@import './utilities.less'; +@import 'colors'; +@import 'container'; +@import 'utilities'; -@mixin translate($x; $y) -{ +@mixin translate($x, $y) { -webkit-transform: translate($x, $y); -ms-transform: translate($x, $y); transform: translate($x, $y); } -@mixin transition-transform($transition) -{ +@mixin transition-transform($transition) { -webkit-transition: -webkit-transform $transition; -moz-transition: -moz-transform $transition; -o-transition: -o-transform $transition; @@ -21,14 +19,13 @@ &:before{ content: ""; display: none; - background: rgba(0,0,0,.6); + background: rgba(black,.6); position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 10; } &:target{ - &:before{ display: flex; } @@ -47,14 +44,14 @@ position: fixed; z-index: 11; max-width: 960px; - @media $medium-screen { + @include resp(medium) { max-width: 85%; } - @media $xsmall-screen { + @include resp(xsmall) { max-width: 90%; } @include translate(0, -500%); - @include transition-transform(#{"0.3s ease-out"}); + @include transition-transform(0.3s ease-out); } .btn-close{ @@ -62,12 +59,11 @@ font-size: 30px; text-decoration: none; position: absolute; right: 0; top: 0; - .margin; + @extend .margin; background: inherit; &:hover{ color: $muted; } - } .modal-title, h4 { @@ -76,8 +72,7 @@ } .modal-subtitle, h5 { - .text-secondary; - + @extend .text-secondary; margin-top: 0; margin-bottom: 0.5rem; } diff --git a/src/popovers.scss b/src/components/_popovers.scss similarity index 85% rename from src/popovers.scss rename to src/components/_popovers.scss index 53a0640..e117ad3 100644 --- a/src/popovers.scss +++ b/src/components/_popovers.scss @@ -1,5 +1,5 @@ -@import './colors.less'; -@import './borders.less'; +@import 'colors'; +@import 'borders'; // Core popovers [popover-top], @@ -11,14 +11,14 @@ // Popover hover trigger &:hover { - &::after { + &:after { transition: opacity .2s ease-out; opacity: 1; } } // Creating popover::after element - &::after { + &:after { position: absolute; top: -6px; left: 50%; @@ -31,20 +31,20 @@ background: $light-dark; transition: opacity .25s ease-out; transform: translateX(-50%) translateY(-100%); - .border; + @extend .border; } } // Popover positioning: left, right, top, bottom [popover-left] { - &::before { + &:before { left: 0; top: 50%; margin-left: -12px; - transform: translatey(-50%) rotate(-90deg); + transform: translateY(-50%) rotate(-90deg); } - &::after { + &:after { content: attr(popover-left); left: 0; top: 50%; @@ -54,14 +54,14 @@ } [popover-right] { - &::before { + &:before { left: 100%; top: 50%; margin-left: 1px; transform: translatey(-50%) rotate(90deg); } - &::after { + &:after { content: attr(popover-right); left: 100%; top: 50%; @@ -71,24 +71,24 @@ } [popover-top] { - &::before { + &:before { left: 50%; } - &::after { + &:after { content: attr(popover-top); left: 50%; } } [popover-bottom] { - &::before { + &:before { top:100%; margin-top: 8px; transform: translateX(-50%) translatey(-100%) rotate(-180deg); } - &::after { + &:after { content: attr(popover-bottom); top: 100%; margin-top: 8px; diff --git a/src/reset.scss b/src/components/_reset.scss similarity index 100% rename from src/reset.scss rename to src/components/_reset.scss diff --git a/src/components/_shadows.scss b/src/components/_shadows.scss new file mode 100644 index 0000000..797fdb7 --- /dev/null +++ b/src/components/_shadows.scss @@ -0,0 +1,39 @@ +$shadow-color-regular: hsla(0,0,0%,.2); +$shadow-color-hover: hsla(0,0,0%,.3); + +$shadow-small: 10px 19px 17px -13px $shadow-color-regular; +$shadow-regular: 15px 28px 25px -18px $shadow-color-regular; +$shadow-large: 20px 38px 34px -26px $shadow-color-regular; +$shadow-hover: 2px 8px 8px -5px $shadow-color-hover; + +.shadow { + -webkit-box-shadow: $shadow-regular; + -moz-box-shadow: $shadow-regular; + box-shadow: $shadow-regular; + transition: all .5s ease; + &.shadow-large { + -webkit-box-shadow: $shadow-large; + -moz-box-shadow: $shadow-large; + box-shadow: $shadow-large; + } + &.shadow-small { + -webkit-box-shadow: $shadow-small; + -moz-box-shadow: $shadow-small; + box-shadow: $shadow-small; + } + &.shadow-hover { + &:hover{ + -webkit-box-shadow: $shadow-hover; + -moz-box-shadow: $shadow-hover; + box-shadow: $shadow-hover; + transform: translate(0, 2px); + } + } +} +.child-shadows > * { + @extend .shadow; +} +.child-shadows-hover > * { + @extend .shadow; + @extend .shadow-hover; +} diff --git a/src/components/_tables.scss b/src/components/_tables.scss new file mode 100644 index 0000000..54dd482 --- /dev/null +++ b/src/components/_tables.scss @@ -0,0 +1,33 @@ +@import 'colors'; + +table { + box-sizing: border-box; + width: 100%; + max-width: 100%; + thead tr th { + vertical-align: bottom; + text-align: left; + padding: 8px; + line-height: 1.5; + } + tbody tr td { + padding: 8px; + line-height: 1.5; + vertical-align: top; + border-top: 1px dashed lighten($primary, 60%); + } + @include resp(xsmall) { + thead tr th { + padding: 2%; + } + tbody tr td { + padding: 2%; + } + } + &.table-hover tbody tr:hover { + color: $secondary; + } + &.table-alternating tbody tr:nth-of-type(even) { + color: lighten($primary, 25%); + } +} diff --git a/src/components/_tabs.scss b/src/components/_tabs.scss new file mode 100644 index 0000000..33ac1b5 --- /dev/null +++ b/src/components/_tabs.scss @@ -0,0 +1,36 @@ +@import 'colors'; + +.tabs { + .content { + display: none; + padding: 0.75rem 0 0; + } + + input { + display: none; + } + + label { + display: inline-block; + margin: 0 0 -1px; + padding: 0.75rem 0.75rem; + font-weight: 600; + text-align: center; + color: $primary-light; + &:hover { + color: $muted; + cursor: pointer; + } + } + + input:checked+label { + color: $primary; + border-bottom: solid 3px $secondary; + } + + @for $num from 1 through 5 { + input[id="tabs#{$num}"]:checked~div[id="content#{$num}"] { + display: block; + } + } +} diff --git a/src/components/_utilities.scss b/src/components/_utilities.scss new file mode 100644 index 0000000..c6db85b --- /dev/null +++ b/src/components/_utilities.scss @@ -0,0 +1,137 @@ +$base: 1rem; +$large: 2rem; +$small: .5rem; + +.margin { + margin: $base; + + &-top { + margin-top: $base; + &-large { + margin-top: $large; + } + &-small { + margin-top: $small; + } + &-none { + margin-top: 0; + } + } + + &-right { + margin-right: $base; + &-large { + margin-right: $large; + } + &-small { + margin-right: $small; + } + &-none { + margin-right: 0; + } + } + + &-bottom { + margin-bottom: $base; + &-large { + margin-bottom: $large; + } + &-small { + margin-bottom: $small; + } + &-none { + margin-bottom: 0; + } + } + + &-left { + margin-left: $base; + &-large { + margin-left: $large; + } + &-small { + margin-left: $small; + } + &-none { + margin-left: 0; + } + } + + &-large { + margin: $large; + } + &-small { + margin: $small; + } + &-none { + margin: 0; + } +} + +.padding { + padding: $base; + + &-top { + padding-top: $base; + &-large { + padding-top: $large; + } + &-small { + padding-top: $small; + } + &-none { + padding-top: 0; + } + } + + &-right { + padding-right: $base; + &-large { + padding-right: $large; + } + &-small { + padding-right: $small; + } + &-none { + padding-right: 0; + } + } + + &-bottom { + padding-bottom: $base; + &-large { + padding-bottom: $large; + } + &-small { + padding-bottom: $small; + } + &-none { + padding-bottom: 0; + } + } + + &-left { + padding-left: $base; + &-large { + padding-left: $large; + } + &-small { + padding-left: $small; + } + &-none { + padding-left: 0; + } + } + + &-large { + padding: $large; + } + + &-small { + padding: $small; + } + + &-none { + padding: 0; + } +} diff --git a/src/container.scss b/src/container.scss deleted file mode 100644 index 8b82c22..0000000 --- a/src/container.scss +++ /dev/null @@ -1,59 +0,0 @@ -@import './colors.less'; - -$large-screen: #{"screen and (max-width: 1200px)"}; -$medium-screen: #{"screen and (max-width: 992px)"}; -$small-screen: #{"screen and (max-width: 768px)"}; -$xsmall-screen: #{"screen and (max-width: 480px)"}; - -.container { - width: 100%; - max-width: 960px; - position: relative; - margin: 0 auto; - @media $medium-screen { - width: 85%; - } - @media $xsmall-screen { - width: 90%; - } -} -@mixin hr-after() -{ - text-align: center; - color: lighten($primary, 30%); - display: block; - content: "~~~"; - position: relative; - font-size: 1.5rem; -} -.section { - margin-top: 1rem; - margin-bottom: 2rem; - word-wrap: break-word; -} -.section:after { - .hr-after; -} -hr { - border: 0; -} -hr:after { - .hr-after; - top: -.75rem; -} -.paper { - border: 1px solid $primary-light; - background-color: $main-background; - padding: 2rem; - margin-top: 1rem; - margin-bottom: 1rem; - -webkit-box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); - -moz-box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); - box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); - @media $xsmall-screen { - padding: 1rem; - width: 100%; - margin-top: 0; - margin-bottom: 0; - } -} diff --git a/src/flexbox.scss b/src/flexbox.scss deleted file mode 100644 index 50a16d5..0000000 --- a/src/flexbox.scss +++ /dev/null @@ -1,124 +0,0 @@ -$columnNames: col, sm, md, lg; -$columnSizes: 0px, 768px, 992px, 1200px; - -$numberOfColumns: 12; - -@mixin make-column-class($name, $size, $n, $p: 1) when ($p =< $n) -{ - $percent: ($p * 100% / $n); - .${name}-${p} { - @include col-size($percent); - } - - @include make-column-class($name, $size, $n, ($p + 1)); -} - -@mixin make-column-classes($n, $j: 1) when ($j =< length($columnNames)) -{ - $columnName: extract($columnNames, $j); - $columnSize: extract($columnSizes, $j); - @media (min-width: $columnSize) { - @include make-column-class($columnName, $columnSize, $n); - } - - @include make-column-classes($n, $j + 1); -} - -@mixin center-all() -{ - -webkit-align-items: center; - align-items: center; - -webkit-justify-content: center; - justify-content: center; -} -@mixin col-size($percent) -{ - -webkit-box-flex: 0; - -webkit-flex: 0 0 $percent; - -ms-flex: 0 0 $percent; - flex: 0 0 $percent; - max-width: $percent; -} -.row { - margin-right: auto; - margin-left: auto; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - margin-bottom: 1rem; - &.flex-right { - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - } - &.flex-center { - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - } - &.flex-edges { - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - } - &.flex-spaces { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around; - } - &.flex-top { - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - } - &.flex-middle { - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - &.flex-bottom { - -webkit-box-align: end; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - } -} -.col { - padding: 1rem; - @media (max-width: 767px) { - // Stack for mobile - @include col-size(100%); - } -} -.col-fill { - width: auto; - flex: 1 1 0px; -} -@include make-column-classes($numberOfColumns); -.align-top { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; -} -.align-middle { - -webkit-align-self: center; - -ms-flex-item-align: center; - -ms-grid-row-align: center; - align-self: center; -} -.align-bottom { - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; -} \ No newline at end of file diff --git a/src/fonts.scss b/src/fonts.scss deleted file mode 100644 index 1a61bb3..0000000 --- a/src/fonts.scss +++ /dev/null @@ -1,48 +0,0 @@ -@import './colors.less'; - -@import url('https://fonts.googleapis.com/css?family=Neucha|Patrick+Hand+SC'); - -$global-font-size: 20px; -$header-font: 'Patrick Hand SC'; -$body-font: 'Neucha'; -$font-color: $primary; - -html { - font-size: $global-font-size; - font-family: $body-font, sans-serif; - color: $font-color; -} -p, a, button, table, thead, tbody, th, tr, td, input, textarea, select, option { - font-family: $body-font, sans-serif; -} -h1, h2, h3, h4, h5, h6 { - font-family: $header-font, sans-serif; - font-weight: normal; -} -h1 { - font-size: 4rem; -} -h2 { - font-size: 3rem; -} -h3 { - font-size: 2rem; -} -h4 { - font-size: 1.5rem; -} -h5 { - font-size: 1rem; -} -h6 { - font-size: .8rem; -} -.text-left { - text-align: left; -} -.text-center { - text-align: center; -} -.text-right { - text-align: right; -} diff --git a/src/forms.scss b/src/forms.scss deleted file mode 100644 index e9df9f0..0000000 --- a/src/forms.scss +++ /dev/null @@ -1,105 +0,0 @@ -@import './colors.less'; - -input, select, textarea { - display: block; - background:transparent; - color:$primary; - outline:none; - border-top-left-radius: 255px 15px; - border-top-right-radius: 15px 225px; - border-bottom-right-radius: 225px 15px; - border-bottom-left-radius:15px 255px; - font-size: 1rem; - padding: .5rem .5rem; - border: 2px solid $primary; - &:focus { - border: 2px solid $secondary; - } - &.disabled, &[disabled]{ - .disabled; - } -} - -.disabled{ - cursor: not-allowed; - opacity: 0.5; -} - -.form-group { - margin-bottom: 1rem; - > label, legend { - display: inline-block; - margin-bottom: .5rem; - } - .input-block { - width: 100%; - } - - textarea{ - max-width: 100%; - max-height: 90vh; - } - - textarea.no-resize{ - resize: none; - } - - // TODO: make these classes implicit. We can find out what class to apply based on its type - .paper-radio, .paper-check { - display: block; - margin-bottom: .5rem; - cursor: pointer; - input { - border: 0; - height: 1px; margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; - display: none; - } - input + span { - display: block; - } - /* the basic, unchecked style */ - input + span:before { - content: ''; - display: inline-block; - position: relative; - width: 1rem; - height: 1rem; - border: 2px solid $primary; - margin-right: 0.75em; - vertical-align: -0.25em; - } - input[type="radio"] + span:before { - border-top-left-radius: 1rem 1rem; - border-top-right-radius: 1rem .6rem; - border-bottom-right-radius: 1rem .9rem; - border-bottom-left-radius: .7rem 1rem; - } - input[type="checkbox"] + span:before { - border-top-left-radius: 255px 15px; - border-top-right-radius: 15px 225px; - border-bottom-right-radius: 225px 15px; - border-bottom-left-radius:15px 255px; - } - - /* the checked style using the :checked pseudo class */ - input[type="radio"]:checked + span:before { - $escaped-svg: escape(""); - $radio-fill: "data:image/svg+xml,${escaped-svg}"; - background: url($radio-fill) left center no-repeat; - } - input[type="checkbox"]:checked + span:before { - $escaped-svg: escape(""); - $check-fill: "data:image/svg+xml,${escaped-svg}"; - background: url($check-fill) left center no-repeat; - } - } -} - -fieldset.form-group { - border: none; - padding: 0; -} diff --git a/src/lists.scss b/src/lists.scss deleted file mode 100644 index 5978aef..0000000 --- a/src/lists.scss +++ /dev/null @@ -1,49 +0,0 @@ -ol { - list-style-type: decimal; - ol { - list-style-type: upper-alpha; - ol { - list-style-type: upper-roman; - ol { - list-style-type: lower-alpha; - ol { - list-style-type: lower-roman; - } - } - } - } -} -@mixin li-bullet($char) -{ - li:before { - content: $char; - } -} -ul { - list-style: none; - margin-left: 0; - li { - text-indent: -7px; - } - li:before { - position: relative; - left: -7px; - } - @include li-bullet("-"); - ul { - @include li-bullet("+"); - ul { - @include li-bullet("~"); - ul { - @include li-bullet("⤍"); - ul { - .li-bullet("⁎") - } - } - } - } - &.inline li{ - display: inline; - margin-left: 5px; - } -} \ No newline at end of file diff --git a/src/shadows.scss b/src/shadows.scss deleted file mode 100644 index 3573780..0000000 --- a/src/shadows.scss +++ /dev/null @@ -1,39 +0,0 @@ -$shadow-color-regular: hsla(0,0%,0%,.2); -$shadow-color-hover: hsla(0,0%,0%,.3); - -$shadow-small: 10px 19px 17px -13px $shadow-color-regular; -$shadow-regular: 15px 28px 25px -18px $shadow-color-regular; -$shadow-large: 20px 38px 34px -26px $shadow-color-regular; -$shadow-hover: 2px 8px 8px -5px $shadow-color-hover; - -.shadow { - -webkit-box-shadow: $shadow-regular; - -moz-box-shadow: $shadow-regular; - box-shadow: $shadow-regular; - transition: all .5s ease; - &.shadow-large { - -webkit-box-shadow: $shadow-large; - -moz-box-shadow: $shadow-large; - box-shadow: $shadow-large; - } - &.shadow-small { - -webkit-box-shadow: $shadow-small; - -moz-box-shadow: $shadow-small; - box-shadow: $shadow-small; - } - &.shadow-hover { - &:hover{ - -webkit-box-shadow: $shadow-hover; - -moz-box-shadow: $shadow-hover; - box-shadow: $shadow-hover; - transform: translate(0, 2px); - } - } -} -.child-shadows > * { - .shadow; -} -.child-shadows-hover > * { - .shadow; - .shadow-hover; -} \ No newline at end of file diff --git a/src/styles.scss b/src/styles.scss index 0d6bf1d..1386e35 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1,28 +1,31 @@ +@charset 'UTF-8'; + @media screen { - @import 'reset'; - @import 'boxreset'; - @import 'colors'; - @import 'fonts'; - @import 'borders'; - @import 'shadows'; - @import 'flexbox'; - @import 'container'; - @import 'buttons'; - @import 'forms'; - @import 'lists'; - @import 'code'; - @import 'tables'; - @import 'images'; - @import 'utilities'; - @import 'popovers'; - @import 'cards'; - @import 'badges'; - @import 'alerts'; - @import 'tabs'; - @import 'article'; - @import 'modals'; + @import 'components/reset'; + @import 'components/boxreset'; + @import 'components/colors'; + @import 'components/fonts'; + @import 'components/borders'; + @import 'components/shadows'; + @import 'components/flexbox'; + @import 'components/container'; + @import 'components/buttons'; + @import 'components/forms'; + @import 'components/lists'; + @import 'components/code'; + @import 'components/tables'; + @import 'components/images'; + @import 'components/utilities'; + @import 'components/popovers'; + @import 'components/cards'; + @import 'components/badges'; + @import 'components/alerts'; + @import 'components/tabs'; + @import 'components/article'; + @import 'components/modals'; } +// @todo: Add print styles? ;) // @media print { -// @import 'print'; +// @import 'components/print'; // } diff --git a/src/tables.scss b/src/tables.scss deleted file mode 100644 index 7767827..0000000 --- a/src/tables.scss +++ /dev/null @@ -1,33 +0,0 @@ -@import './colors.less'; - -table { - box-sizing: border-box; - width: 100%; - max-width: 100%; - thead tr th { - vertical-align: bottom; - text-align: left; - padding: 8px; - line-height: 1.5; - } - tbody tr td { - padding: 8px; - line-height: 1.5; - vertical-align: top; - border-top: 1px dashed lighten($primary, 60%); - } - @media screen and (max-width:480px) { - thead tr th { - padding: 2%; - } - tbody tr td { - padding: 2%; - } - } - &.table-hover tbody tr:hover { - color: $secondary; - } - &.table-alternating tbody tr:nth-of-type(even) { - color: lighten($primary, 25%); - } -} diff --git a/src/tabs.scss b/src/tabs.scss deleted file mode 100644 index 4146f5a..0000000 --- a/src/tabs.scss +++ /dev/null @@ -1,41 +0,0 @@ -@import './colors.less'; - -.tabs { - .content { - display: none; - padding: 0.75rem 0 0; - } - - input { - display: none; - } - - label { - display: inline-block; - margin: 0 0 -1px; - padding: 0.75rem 0.75rem; - font-weight: 600; - text-align: center; - color: $primary-light; - } - - label:hover { - color: $muted; - cursor: pointer; - } - - input:checked+label { - color: $primary; - border-bottom: solid 3px $secondary; - } - - @mixin loop($num) when ($num > 0) -{ - @include loop(($num - 1)); - input[id = #{"tab${num}"]:checked~div[id = ~"content${num}"}]{ - display:block; - } - } - - @include loop(5); -} diff --git a/src/utilities.scss b/src/utilities.scss deleted file mode 100644 index ca6ea0d..0000000 --- a/src/utilities.scss +++ /dev/null @@ -1,124 +0,0 @@ -$base: 1rem; -$large: 2rem; -$small: .5rem; - -.margin { - margin: $base; - &-top { - margin-top: $base; - &-large { - margin-top: $large; - } - &-small { - margin-top: $small; - } - &-none { - margin-top: 0; - } - } - &-right { - margin-right: $base; - &-large { - margin-right: $large; - } - &-small { - margin-right: $small; - } - &-none { - margin-right: 0; - } - } - &-bottom { - margin-bottom: $base; - &-large { - margin-bottom: $large; - } - &-small { - margin-bottom: $small; - } - &-none { - margin-bottom: 0; - } - } - &-left { - margin-left: $base; - &-large { - margin-left: $large; - } - &-small { - margin-left: $small; - } - &-none { - margin-left: 0; - } - } - &-large { - margin: $large; - } - &-small { - margin: $small; - } - &-none { - margin: 0; - } -} -.padding { - padding: $base; - &-top { - padding-top: $base; - &-large { - padding-top: $large; - } - &-small { - padding-top: $small; - } - &-none { - padding-top: 0; - } - } - &-right { - padding-right: $base; - &-large { - padding-right: $large; - } - &-small { - padding-right: $small; - } - &-none { - padding-right: 0; - } - } - &-bottom { - padding-bottom: $base; - &-large { - padding-bottom: $large; - } - &-small { - padding-bottom: $small; - } - &-none { - padding-bottom: 0; - } - } - &-left { - padding-left: $base; - &-large { - padding-left: $large; - } - &-small { - padding-left: $small; - } - &-none { - padding-left: 0; - } - } - &-large { - padding: $large; - } - &-small { - padding: $small; - } - &-none { - padding: 0; - } -} \ No newline at end of file From e43261ea9fa67b7db9efe08384b486b024914c0e Mon Sep 17 00:00:00 2001 From: koester Date: Tue, 19 Dec 2017 17:52:52 +0100 Subject: [PATCH 05/20] scss components --- gulpfile.js | 14 ++-- src/components/_alerts.scss | 5 +- src/components/_article.scss | 2 - src/components/_badges.scss | 5 +- src/components/_borders.scss | 112 ++++++++++++++++++------------ src/components/_buttons.scss | 123 ++++++++++++++++----------------- src/components/_cards.scss | 10 +-- src/components/_code.scss | 2 - src/components/_colors.scss | 0 src/components/_config.scss | 89 ++++++++++++++++++++++-- src/components/_container.scss | 27 -------- src/components/_flexbox.scss | 32 --------- src/components/_fonts.scss | 9 --- src/components/_forms.scss | 2 - src/components/_images.scss | 4 +- src/components/_lists.scss | 12 ++-- src/components/_modals.scss | 16 ----- src/components/_popovers.scss | 5 +- src/components/_shadows.scss | 50 +++++++------- src/components/_tables.scss | 2 - src/components/_tabs.scss | 2 - src/styles.scss | 13 ++-- 22 files changed, 262 insertions(+), 274 deletions(-) delete mode 100644 src/components/_colors.scss diff --git a/gulpfile.js b/gulpfile.js index 23b7f0c..05390de 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -30,12 +30,12 @@ gulp.task('minify-css', () => { .pipe(gulp.dest('dist')); }); -gulp.task('components', () => { - gulp.src('src/*.scss') - .pipe(sass.sync().on('error', sass.logError)) - .pipe(cleanCSS({format: 'beautify'})) - .pipe(gulp.dest('dist/components')); -}); +//gulp.task('components', () => { +// gulp.src('src/*.scss') +// .pipe(sass.sync().on('error', sass.logError)) +// .pipe(cleanCSS({format: 'beautify'})) +// .pipe(gulp.dest('dist/components')); +//}); gulp.task('default', ['sass', 'webserver', 'watch']); -gulp.task('build', ['components', 'sass', 'minify-css']); +gulp.task('build', ['sass', 'minify-css']); diff --git a/src/components/_alerts.scss b/src/components/_alerts.scss index f86f81e..f4720b8 100644 --- a/src/components/_alerts.scss +++ b/src/components/_alerts.scss @@ -1,8 +1,5 @@ -@import 'colors'; -@import 'borders'; - .alert { - @extend .border; + @include border; padding: 15px; margin-bottom: 20px; width: 100%; diff --git a/src/components/_article.scss b/src/components/_article.scss index 9c72e3f..ec20169 100644 --- a/src/components/_article.scss +++ b/src/components/_article.scss @@ -1,5 +1,3 @@ -@import 'colors'; - article { .article-title { font-size: 3rem; diff --git a/src/components/_badges.scss b/src/components/_badges.scss index d1c71dc..f534bab 100644 --- a/src/components/_badges.scss +++ b/src/components/_badges.scss @@ -1,8 +1,5 @@ -@import 'colors'; -@import 'borders'; - .badge { - @extend .border; + @include border; display: inline-block; padding: .25em .4em; font-size: 75%; diff --git a/src/components/_borders.scss b/src/components/_borders.scss index fb12622..21331d6 100644 --- a/src/components/_borders.scss +++ b/src/components/_borders.scss @@ -1,58 +1,80 @@ -@import 'colors'; +@mixin border($style: 1, $color: $primary) { + border: 2px solid $color; -.border { - border: 2px solid $primary; + @if $style == 1 { + .border-#{$style}, + .child-borders>*:nth-child(6n+1) { + border-top-left-radius: 255px 15px; + border-top-right-radius: 15px 225px; + border-bottom-right-radius: 225px 15px; + border-bottom-left-radius: 15px 255px; + } + } + @if $style == 2 { + .border-2, + .child-borders>*:nth-child(6n+2) { + border-top-left-radius: 125px 25px; + border-top-right-radius: 10px 205px; + border-bottom-right-radius: 20px 205px; + border-bottom-left-radius: 185px 25px; + } + } + @if $style == 3 { + .border-3, + .child-borders>*:nth-child(6n+3) { + border-top-left-radius: 15px 225px; + border-top-right-radius: 255px 15px; + border-bottom-left-radius: 225px 15px; + border-bottom-right-radius: 15px 255px; + } + } + @if $style == 4 { + .border-4, + .child-borders>*:nth-child(6n+4) { + border-top-left-radius: 15px 225px; + border-top-right-radius: 25px 150px; + border-bottom-left-radius: 25px 115px; + border-bottom-right-radius: 155px 25px; + } + } + @if $style == 5 { + .border-5, + .child-borders>*:nth-child(6n+5) { + border-top-left-radius: 250px 15px; + border-top-right-radius: 25px 80px; + border-bottom-left-radius: 20px 115px; + border-bottom-right-radius: 15px 105px; + } + } + @if $style == 6 { + .border-6, + .child-borders>*:nth-child(6n+6) { + border-top-left-radius: 28px 125px; + border-top-right-radius: 100px 30px; + border-bottom-right-radius: 20px 205px; + border-bottom-left-radius: 15px 225px; + } + } } -.border, .border-1, .child-borders > *:nth-child(6n+1) { - border-top-left-radius: 255px 15px; - border-top-right-radius: 15px 225px; - border-bottom-right-radius: 225px 15px; - border-bottom-left-radius: 15px 255px; -} -.border-2, .child-borders > *:nth-child(6n+2) { - border-top-left-radius: 125px 25px; - border-top-right-radius: 10px 205px; - border-bottom-right-radius: 20px 205px; - border-bottom-left-radius: 185px 25px; -} -.border-3, .child-borders > *:nth-child(6n+3) { - border-top-left-radius: 15px 225px; - border-top-right-radius: 255px 15px; - border-bottom-left-radius: 225px 15px; - border-bottom-right-radius: 15px 255px; -} -.border-4, .child-borders > *:nth-child(6n+4) { - border-top-left-radius: 15px 225px; - border-top-right-radius: 25px 150px; - border-bottom-left-radius: 25px 115px; - border-bottom-right-radius: 155px 25px; -} -.border-5, .child-borders > *:nth-child(6n+5) { - border-top-left-radius: 250px 15px; - border-top-right-radius: 25px 80px; - border-bottom-left-radius: 20px 115px; - border-bottom-right-radius: 15px 105px; -} -.border-6, .child-borders > *:nth-child(6n+6) { - border-top-left-radius: 28px 125px; - border-top-right-radius: 100px 30px; - border-bottom-right-radius: 20px 205px; - border-bottom-left-radius: 15px 225px; -} -.child-borders > * { - border: 2px solid $primary; + +.child-borders>* { + border: 2px solid $primary; } + .border-white { - border-color: $white; + border-color: $white; } + .border-dotted { - border-style: dotted; + border-style: dotted; } + .border-dashed { - border-style: dashed; + border-style: dashed; } + .border-thick { - border-width: 5px; + border-width: 5px; } @each $colorName, $color in $colors { diff --git a/src/components/_buttons.scss b/src/components/_buttons.scss index 09b48aa..16b73d7 100644 --- a/src/components/_buttons.scss +++ b/src/components/_buttons.scss @@ -1,71 +1,64 @@ -@import 'colors'; -@import 'shadows'; -@import 'borders'; -@import 'forms'; // .disabled - -button, .paper-btn, [type="button"] { - @extend .shadow; - align-self:center; - background:transparent; - transition:all .5s ease, background-color .1s ease; - color: $primary; - display: inline; - outline:none; - border:solid 2px $primary; - @extend .border; - font-size: 1rem; - padding: .75rem .75rem; - cursor: pointer; - @extend .shadow; - @extend .shadow-hover; - &.btn-large { - @extend .shadow-large; - font-size:2rem; - padding:1rem 1rem; - } - &.btn-small { - @extend .shadow-small; - font-size: .75rem; - padding: .5rem; - } - &.btn-block { - display: block; - width: 100%; - } - &:hover { - @extend .shadow-hover; - } - &:focus{ - border: 2px solid $secondary; - -webkit-box-shadow:2px 8px 4px -6px hsla(0,0%,0%,.3); - -moz-box-shadow:2px 8px 4px -6px hsla(0,0%,0%,.3); - box-shadow:2px 8px 4px -6px hsla(0,0%,0%,.3); - } - &:active { - border-color: hsla(0,0%,0%,.2); - transition: none; - } - &.disabled, &[disabled] { - @extend .disabled; - } +button, +.paper-btn, +[type="button"] { + align-self: center; + background: transparent; + transition: all .5s ease, background-color .1s ease; + color: $primary; + display: inline; + outline: none; + border: solid 2px $primary; + @include border; + font-size: 1rem; + padding: .75rem .75rem; + cursor: pointer; + @include shadow; + &.btn-large { + @include shadow(large); + font-size: 2rem; + padding: 1rem 1rem; + } + &.btn-small { + @include shadow(small); + font-size: .75rem; + padding: .5rem; + } + &.btn-block { + display: block; + width: 100%; + } + &:hover { + @include shadow(hover); + } + &:focus { + border: 2px solid $secondary; + -webkit-box-shadow: 2px 8px 4px -6px hsla(0, 0%, 0%, .3); + -moz-box-shadow: 2px 8px 4px -6px hsla(0, 0%, 0%, .3); + box-shadow: 2px 8px 4px -6px hsla(0, 0%, 0%, .3); + } + &:active { + border-color: hsla(0, 0%, 0%, .2); + transition: none; + } + &.disabled, + &[disabled] { + @extend .disabled; + } } a { + text-decoration: none; + background-image: linear-gradient(5deg, transparent 65%, $secondary 80%, transparent 90%), linear-gradient(165deg, transparent 5%, $secondary 15%, transparent 25%), linear-gradient(165deg, transparent 45%, $secondary 55%, transparent 65%), linear-gradient(15deg, transparent 25%, $secondary 35%, transparent 50%); + background-repeat: repeat-x; + background-size: 4px 3px; + background-position: 0 90%; + &:visited { text-decoration: none; - background-image: - linear-gradient(5deg, transparent 65%, $secondary 80%, transparent 90%), - linear-gradient(165deg, transparent 5%, $secondary 15%, transparent 25%), - linear-gradient(165deg, transparent 45%, $secondary 55%, transparent 65%), - linear-gradient(15deg, transparent 25%, $secondary 35%, transparent 50%); - background-repeat:repeat-x; - background-size: 4px 3px; - background-position:0 90%; - &:visited { - text-decoration: none; - color: $primary; - } + color: $primary; + } } + @each $colorName, $color, $color-light, $color-text in $colors { .alert-#{$colorName} { color: $color; @@ -76,8 +69,10 @@ a { border-color: $color; background-color: $color-light; color: $color-text; - &:hover:active { - background-color: darken($color-light, 10%); + &:hover{ + &:active { + background-color: darken($color-light, 10%); + } } } } diff --git a/src/components/_cards.scss b/src/components/_cards.scss index ed26cbb..809b522 100644 --- a/src/components/_cards.scss +++ b/src/components/_cards.scss @@ -1,15 +1,15 @@ -@import 'colors'; -@import 'shadows'; - .card { - @extend .shadow; - @extend .shadow-hover; + @include shadow; position: relative; display: flex; flex-direction: column; word-wrap: break-word; border: 2px solid $muted-light; + &:hover { + @include shadow(hover); + } + .card-header, .card-footer { padding: .75rem 1.25rem; diff --git a/src/components/_code.scss b/src/components/_code.scss index 5cddee5..44a6f7c 100644 --- a/src/components/_code.scss +++ b/src/components/_code.scss @@ -1,5 +1,3 @@ -@import 'colors'; - code { padding: 2px 4px; font-size: 80%; diff --git a/src/components/_colors.scss b/src/components/_colors.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/_config.scss b/src/components/_config.scss index 3affa61..07587a6 100644 --- a/src/components/_config.scss +++ b/src/components/_config.scss @@ -1,5 +1,8 @@ // Global PaperCSS Config +// Imports +@import url('https://fonts.googleapis.com/css?family=Neucha|Patrick+Hand+SC'); + // Set Colors $primary: #41403E; $secondary: #0071DE; @@ -44,9 +47,85 @@ $colors: (primary, $primary, $primary-light, $primary-text), background-color: $color-light; } } -COLORS -BORDERS -SHADOWS -BORDERS -// Grid Breakpoints && Class Names +// Set Fonts +$global-font-size: 20px; +$header-font: 'Patrick Hand SC'; +$body-font: 'Neucha'; +$font-color: $primary; + +// Sizes for responsive breakpoints +$large-screen: 1200px; +$medium-screen: 992px; +$small-screen: 768px; +$xsmall-screen: 480px; + + +// Mixins +@mixin resp($max:null, $min:null) { + @if $max == large or $max == lg { $max: $large-screen; } + @if $max == medium or $max == md { $max: $medium-screen; } + @if $max == small or $max == sm { $max: $small-screen; } + @if $max == xsmall or $max == xs { $max: $xsmall-screen; } + @if ($min != null and $max != null) {@media only screen and (max-width: $max) and (min-width: $min) { @content; }} + @else if($max != null and $min == null){@media only screen and (max-width: $max) { @content; }} + @else if($min != null and $max == null){@media only screen and (min-width: $min) { @content; }} + @else { @error "no matching size found";} +} + +@mixin hr-after() { + text-align: center; + color: lighten($primary, 30%); + display: block; + content: "~~~"; + position: relative; + font-size: 1.5rem; +} + +@mixin center-all() { + -webkit-align-items: center; + align-items: center; + -webkit-justify-content: center; + justify-content: center; +} + +@mixin col-size($percent) { + -webkit-box-flex: 0; + -webkit-flex: 0 0 $percent; + -ms-flex: 0 0 $percent; + flex: 0 0 $percent; + max-width: $percent; +} + +@mixin make-column($columns) { + @each $breakpoint, $columnName in $columns { + // @todo: fix failing resp() mixin here + @media only screen and (max-width: $breakpoint) { + @for $i from 1 through $numberOfColumns { + .#{$columnName}-#{$i} { + flex: 0 0 $i * 100% / $numberOfColumns; + max-width: $i * 100% / $numberOfColumns; + } + } + } + } +} + +@mixin li-bullet($char) { + li:before { + content: $char; + } +} + +@mixin transition-transform($transition) { + -webkit-transition: -webkit-transform $transition; + -moz-transition: -moz-transform $transition; + -o-transition: -o-transform $transition; + transition: transform $transition; +} + +@mixin translate($x, $y) { + -webkit-transform: translate($x, $y); + -ms-transform: translate($x, $y); + transform: translate($x, $y); +} diff --git a/src/components/_container.scss b/src/components/_container.scss index 0d45316..04abe7e 100644 --- a/src/components/_container.scss +++ b/src/components/_container.scss @@ -1,30 +1,3 @@ -@import 'colors'; - -// Sizes -$large-screen: 1200px; -$medium-screen: 992px; -$small-screen: 768px; -$xsmall-screen: 480px; - -@mixin resp($max:null, $min:null) { - @if $max == large or $max == lg { $max: $large-screen; } - @if $max == medium or $max == md { $max: $medium-screen; } - @if $max == small or $max == sm { $max: $small-screen; } - @if $max == xsmall or $max == xs { $max: $xsmall-screen; } - @if ($min != null and $max != null) {@media only screen and (max-width: $max) and (min-width: $min) { @content; }} - @else if($max != null and $min == null){@media only screen and (max-width: $max) { @content; }} - @else if($min != null and $max == null){@media only screen and (min-width: $min) { @content; }} - @else { @error "no matching size found";} -} -@mixin hr-after() { - text-align: center; - color: lighten($primary, 30%); - display: block; - content: "~~~"; - position: relative; - font-size: 1.5rem; -} - .container { width: 100%; max-width: 960px; diff --git a/src/components/_flexbox.scss b/src/components/_flexbox.scss index e59eb71..4727c5e 100644 --- a/src/components/_flexbox.scss +++ b/src/components/_flexbox.scss @@ -1,5 +1,3 @@ -@import 'container'; - $columns: (0, col), ($large-screen, lg), ($medium-screen, md), @@ -8,38 +6,8 @@ $columns: (0, col), $numberOfColumns: 12; -@mixin make-column($columns) { - @each $breakpoint, $columnName in $columns { - // @todo: fix failing resp() mixin here - @media only screen and (max-width: $breakpoint) { - @for $i from 1 through $numberOfColumns { - .#{$columnName}-#{$i} { - flex: 0 0 $i * 100% / $numberOfColumns; - max-width: $i * 100% / $numberOfColumns; - } - } - } - } -} - @include make-column($columns); -/* Unused mixin -@mixin center-all() { - -webkit-align-items: center; - align-items: center; - -webkit-justify-content: center; - justify-content: center; - } */ - -@mixin col-size($percent) { - -webkit-box-flex: 0; - -webkit-flex: 0 0 $percent; - -ms-flex: 0 0 $percent; - flex: 0 0 $percent; - max-width: $percent; -} - .row { margin-right: auto; margin-left: auto; diff --git a/src/components/_fonts.scss b/src/components/_fonts.scss index 1d30988..ec00b7c 100644 --- a/src/components/_fonts.scss +++ b/src/components/_fonts.scss @@ -1,12 +1,3 @@ -@import 'colors'; - -@import url('https://fonts.googleapis.com/css?family=Neucha|Patrick+Hand+SC'); - -$global-font-size: 20px; -$header-font: 'Patrick Hand SC'; -$body-font: 'Neucha'; -$font-color: $primary; - html { font-size: $global-font-size; font-family: $body-font, sans-serif; diff --git a/src/components/_forms.scss b/src/components/_forms.scss index 04c8629..1f0ea16 100644 --- a/src/components/_forms.scss +++ b/src/components/_forms.scss @@ -1,5 +1,3 @@ -@import 'colors'; - input, select, textarea { display: block; background:transparent; diff --git a/src/components/_images.scss b/src/components/_images.scss index 3789662..4c4cb0f 100644 --- a/src/components/_images.scss +++ b/src/components/_images.scss @@ -1,10 +1,8 @@ -@import 'borders'; - img { max-width: 100%; height: auto; display: block; - @extend .border; + @include border; &.float-left { float: left; margin: 1rem 1rem 1rem 0rem; diff --git a/src/components/_lists.scss b/src/components/_lists.scss index 1eee025..640ec3a 100644 --- a/src/components/_lists.scss +++ b/src/components/_lists.scss @@ -13,11 +13,7 @@ ol { } } } -@mixin li-bullet($char) { - li:before { - content: $char; - } -} + ul { list-style: none; margin-left: 0; @@ -36,13 +32,13 @@ ul { ul { @include li-bullet("⤍"); ul { - @include li-bullet("⁎"); + @include li-bullet("⁎"); } } } } - &.inline li{ - display: inline; + &.inline li { + display: inline; margin-left: 5px; } } diff --git a/src/components/_modals.scss b/src/components/_modals.scss index a873a73..cb49e0f 100644 --- a/src/components/_modals.scss +++ b/src/components/_modals.scss @@ -1,19 +1,3 @@ -@import 'colors'; -@import 'container'; -@import 'utilities'; - -@mixin translate($x, $y) { - -webkit-transform: translate($x, $y); - -ms-transform: translate($x, $y); - transform: translate($x, $y); -} -@mixin transition-transform($transition) { - -webkit-transition: -webkit-transform $transition; - -moz-transition: -moz-transform $transition; - -o-transition: -o-transform $transition; - transition: transform $transition; -} - .modal{ &:before{ diff --git a/src/components/_popovers.scss b/src/components/_popovers.scss index e117ad3..c4fc5bd 100644 --- a/src/components/_popovers.scss +++ b/src/components/_popovers.scss @@ -1,6 +1,3 @@ -@import 'colors'; -@import 'borders'; - // Core popovers [popover-top], [popover-right], @@ -31,7 +28,7 @@ background: $light-dark; transition: opacity .25s ease-out; transform: translateX(-50%) translateY(-100%); - @extend .border; + @include border; } } diff --git a/src/components/_shadows.scss b/src/components/_shadows.scss index 797fdb7..2111067 100644 --- a/src/components/_shadows.scss +++ b/src/components/_shadows.scss @@ -6,34 +6,32 @@ $shadow-regular: 15px 28px 25px -18px $shadow-color-regular; $shadow-large: 20px 38px 34px -26px $shadow-color-regular; $shadow-hover: 2px 8px 8px -5px $shadow-color-hover; -.shadow { - -webkit-box-shadow: $shadow-regular; - -moz-box-shadow: $shadow-regular; +@mixin shadow($type: regular) { + @if $type == hover { + box-shadow: $shadow-hover; + transform: translate(0, 2px); + } @else if $type == small { + transition: all .5s ease; + box-shadow: $shadow-small; + } @else if $type == regular { + transition: all .5s ease; + box-shadow: $shadow-regular; + } @else if $type == large { + transition: all .5s ease; + box-shadow: $shadow-large; + } @else { + @error "@mixin shadow(input) does not exist" + } +} + +.child-shadows > * { box-shadow: $shadow-regular; transition: all .5s ease; - &.shadow-large { - -webkit-box-shadow: $shadow-large; - -moz-box-shadow: $shadow-large; - box-shadow: $shadow-large; - } - &.shadow-small { - -webkit-box-shadow: $shadow-small; - -moz-box-shadow: $shadow-small; - box-shadow: $shadow-small; - } - &.shadow-hover { - &:hover{ - -webkit-box-shadow: $shadow-hover; - -moz-box-shadow: $shadow-hover; - box-shadow: $shadow-hover; - transform: translate(0, 2px); - } - } -} -.child-shadows > * { - @extend .shadow; } + .child-shadows-hover > * { - @extend .shadow; - @extend .shadow-hover; + &:hover { + box-shadow: $shadow-hover; + transform: translate(0, 2px); + } } diff --git a/src/components/_tables.scss b/src/components/_tables.scss index 54dd482..0709c4f 100644 --- a/src/components/_tables.scss +++ b/src/components/_tables.scss @@ -1,5 +1,3 @@ -@import 'colors'; - table { box-sizing: border-box; width: 100%; diff --git a/src/components/_tabs.scss b/src/components/_tabs.scss index 33ac1b5..16b4af0 100644 --- a/src/components/_tabs.scss +++ b/src/components/_tabs.scss @@ -1,5 +1,3 @@ -@import 'colors'; - .tabs { .content { display: none; diff --git a/src/styles.scss b/src/styles.scss index 1386e35..1a55df7 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1,16 +1,19 @@ @charset 'UTF-8'; @media screen { + // Settings && Mixins + @import 'components/config'; + + // Individual Components @import 'components/reset'; @import 'components/boxreset'; - @import 'components/colors'; - @import 'components/fonts'; @import 'components/borders'; + @import 'components/fonts'; @import 'components/shadows'; - @import 'components/flexbox'; - @import 'components/container'; - @import 'components/buttons'; @import 'components/forms'; + @import 'components/container'; + @import 'components/flexbox'; + @import 'components/buttons'; @import 'components/lists'; @import 'components/code'; @import 'components/tables'; From 4f793519ff0ad3d0dfce2d935a1056bb2b8a832e Mon Sep 17 00:00:00 2001 From: koester Date: Tue, 19 Dec 2017 18:03:47 +0100 Subject: [PATCH 06/20] moved shadow() mixin into config --- src/components/_buttons.scss | 11 +++++++++-- src/components/_config.scss | 29 ++++++++++++++++++++++++++++- src/components/_shadows.scss | 26 -------------------------- 3 files changed, 37 insertions(+), 29 deletions(-) diff --git a/src/components/_buttons.scss b/src/components/_buttons.scss index 16b73d7..4a29bbb 100644 --- a/src/components/_buttons.scss +++ b/src/components/_buttons.scss @@ -8,38 +8,45 @@ button, display: inline; outline: none; border: solid 2px $primary; - @include border; + @include border(); font-size: 1rem; padding: .75rem .75rem; cursor: pointer; - @include shadow; + @include shadow(); + &.btn-large { @include shadow(large); font-size: 2rem; padding: 1rem 1rem; } + &.btn-small { @include shadow(small); font-size: .75rem; padding: .5rem; } + &.btn-block { display: block; width: 100%; } + &:hover { @include shadow(hover); } + &:focus { border: 2px solid $secondary; -webkit-box-shadow: 2px 8px 4px -6px hsla(0, 0%, 0%, .3); -moz-box-shadow: 2px 8px 4px -6px hsla(0, 0%, 0%, .3); box-shadow: 2px 8px 4px -6px hsla(0, 0%, 0%, .3); } + &:active { border-color: hsla(0, 0%, 0%, .2); transition: none; } + &.disabled, &[disabled] { @extend .disabled; diff --git a/src/components/_config.scss b/src/components/_config.scss index 07587a6..ce7107f 100644 --- a/src/components/_config.scss +++ b/src/components/_config.scss @@ -1,5 +1,4 @@ // Global PaperCSS Config - // Imports @import url('https://fonts.googleapis.com/css?family=Neucha|Patrick+Hand+SC'); @@ -31,6 +30,10 @@ $warning-text: $primary; $danger-text: $primary; $muted-text: $primary; +$shadow-color-regular: hsla(0,0,0%,.2); +$shadow-color-hover: hsla(0,0,0%,.3); + + // Set class names to generate the css classes on build $colors: (primary, $primary, $primary-light, $primary-text), (secondary, $secondary, $secondary-light, $secondary-text), @@ -60,6 +63,12 @@ $medium-screen: 992px; $small-screen: 768px; $xsmall-screen: 480px; +// Sizes for shadows +$shadow-small: 10px 19px 17px -13px $shadow-color-regular; +$shadow-regular: 15px 28px 25px -18px $shadow-color-regular; +$shadow-large: 20px 38px 34px -26px $shadow-color-regular; +$shadow-hover: 2px 8px 8px -5px $shadow-color-hover; + // Mixins @mixin resp($max:null, $min:null) { @@ -129,3 +138,21 @@ $xsmall-screen: 480px; -ms-transform: translate($x, $y); transform: translate($x, $y); } + +@mixin shadow($type: regular) { + @if $type == hover { + box-shadow: $shadow-hover; + @include translate(0, 2px); + } @else if $type == small { + transition: all .5s ease; + box-shadow: $shadow-small; + } @else if $type == regular { + transition: all .5s ease; + box-shadow: $shadow-regular; + } @else if $type == large { + transition: all .5s ease; + box-shadow: $shadow-large; + } @else { + @error "@mixin shadow(input) does not exist" + } +} diff --git a/src/components/_shadows.scss b/src/components/_shadows.scss index 2111067..e530ea6 100644 --- a/src/components/_shadows.scss +++ b/src/components/_shadows.scss @@ -1,29 +1,3 @@ -$shadow-color-regular: hsla(0,0,0%,.2); -$shadow-color-hover: hsla(0,0,0%,.3); - -$shadow-small: 10px 19px 17px -13px $shadow-color-regular; -$shadow-regular: 15px 28px 25px -18px $shadow-color-regular; -$shadow-large: 20px 38px 34px -26px $shadow-color-regular; -$shadow-hover: 2px 8px 8px -5px $shadow-color-hover; - -@mixin shadow($type: regular) { - @if $type == hover { - box-shadow: $shadow-hover; - transform: translate(0, 2px); - } @else if $type == small { - transition: all .5s ease; - box-shadow: $shadow-small; - } @else if $type == regular { - transition: all .5s ease; - box-shadow: $shadow-regular; - } @else if $type == large { - transition: all .5s ease; - box-shadow: $shadow-large; - } @else { - @error "@mixin shadow(input) does not exist" - } -} - .child-shadows > * { box-shadow: $shadow-regular; transition: all .5s ease; From 1212a2db8d389dbd849e9a1d1e6d1ff688b5a498 Mon Sep 17 00:00:00 2001 From: koester Date: Sat, 23 Dec 2017 09:43:23 +0100 Subject: [PATCH 07/20] Fixed broken components --- src/components/_alerts.scss | 3 +- src/components/_article.scss | 23 ++++- src/components/_badges.scss | 3 +- src/components/_borders.scss | 89 +++++++----------- src/components/_boxreset.scss | 8 -- src/components/_buttons.scss | 14 ++- src/components/_config.scss | 161 +++++++++++++++++++++------------ src/components/_container.scss | 2 +- src/components/_flexbox.scss | 45 +++++++-- src/components/_forms.scss | 84 +++++++++-------- src/components/_images.scss | 47 +++++----- src/components/_popovers.scss | 3 +- src/components/_reset.scss | 9 ++ src/components/_shadows.scss | 25 ++++- src/components/_tables.scss | 6 ++ src/components/_tabs.scss | 23 ++--- src/styles.scss | 52 +++++------ 17 files changed, 359 insertions(+), 238 deletions(-) delete mode 100644 src/components/_boxreset.scss diff --git a/src/components/_alerts.scss b/src/components/_alerts.scss index f4720b8..d8e6da3 100644 --- a/src/components/_alerts.scss +++ b/src/components/_alerts.scss @@ -1,5 +1,6 @@ .alert { - @include border; + @include border-style(); + border: 2px solid $primary; padding: 15px; margin-bottom: 20px; width: 100%; diff --git a/src/components/_article.scss b/src/components/_article.scss index ec20169..c6399ad 100644 --- a/src/components/_article.scss +++ b/src/components/_article.scss @@ -21,5 +21,26 @@ article { font-size: 30px; line-height: 1.3; margin: 35px 0px; - } + } + + button { + @include resp(xs) { + margin: 0 auto; + display: block; + width: 100%; + margin-bottom: 1.5rem; + } + + &:not(:first-of-type) { + margin-left: 2rem; + + @include resp(xs) { + margin-left: 0; + } + } + } + + p { + line-height: 1.6; + } } diff --git a/src/components/_badges.scss b/src/components/_badges.scss index f534bab..e7735cd 100644 --- a/src/components/_badges.scss +++ b/src/components/_badges.scss @@ -1,5 +1,6 @@ .badge { - @include border; + @include border-style(); + border: 2px solid $primary; display: inline-block; padding: .25em .4em; font-size: 75%; diff --git a/src/components/_borders.scss b/src/components/_borders.scss index 21331d6..42693b0 100644 --- a/src/components/_borders.scss +++ b/src/components/_borders.scss @@ -1,60 +1,37 @@ -@mixin border($style: 1, $color: $primary) { - border: 2px solid $color; - @if $style == 1 { - .border-#{$style}, - .child-borders>*:nth-child(6n+1) { - border-top-left-radius: 255px 15px; - border-top-right-radius: 15px 225px; - border-bottom-right-radius: 225px 15px; - border-bottom-left-radius: 15px 255px; - } - } - @if $style == 2 { - .border-2, - .child-borders>*:nth-child(6n+2) { - border-top-left-radius: 125px 25px; - border-top-right-radius: 10px 205px; - border-bottom-right-radius: 20px 205px; - border-bottom-left-radius: 185px 25px; - } - } - @if $style == 3 { - .border-3, - .child-borders>*:nth-child(6n+3) { - border-top-left-radius: 15px 225px; - border-top-right-radius: 255px 15px; - border-bottom-left-radius: 225px 15px; - border-bottom-right-radius: 15px 255px; - } - } - @if $style == 4 { - .border-4, - .child-borders>*:nth-child(6n+4) { - border-top-left-radius: 15px 225px; - border-top-right-radius: 25px 150px; - border-bottom-left-radius: 25px 115px; - border-bottom-right-radius: 155px 25px; - } - } - @if $style == 5 { - .border-5, - .child-borders>*:nth-child(6n+5) { - border-top-left-radius: 250px 15px; - border-top-right-radius: 25px 80px; - border-bottom-left-radius: 20px 115px; - border-bottom-right-radius: 15px 105px; - } - } - @if $style == 6 { - .border-6, - .child-borders>*:nth-child(6n+6) { - border-top-left-radius: 28px 125px; - border-top-right-radius: 100px 30px; - border-bottom-right-radius: 20px 205px; - border-bottom-left-radius: 15px 225px; - } - } +.border { + border: 2px solid $primary; +} + +.border, +.border-1, +.child-borders>*:nth-child(6n+1) { + @include border-style(1); +} + +.border-2, +.child-borders>*:nth-child(6n+2) { + @include border-style(2); +} + +.border-3, +.child-borders>*:nth-child(6n+3) { + @include border-style(3); +} + +.border-4, +.child-borders>*:nth-child(6n+4) { + @include border-style(4); +} + +.border-5, +.child-borders>*:nth-child(6n+5) { + @include border-style(5); +} + +.border-6, +.child-borders>*:nth-child(6n+6) { + @include border-style(6); } .child-borders>* { diff --git a/src/components/_boxreset.scss b/src/components/_boxreset.scss deleted file mode 100644 index c7d093e..0000000 --- a/src/components/_boxreset.scss +++ /dev/null @@ -1,8 +0,0 @@ -// Why is box sizing not the default? -// https://www.paulirish.com/2012/box-sizing-border-box-ftw/ -html { - box-sizing: border-box; -} -*, *:before, *:after { - box-sizing: inherit; -} \ No newline at end of file diff --git a/src/components/_buttons.scss b/src/components/_buttons.scss index 4a29bbb..0ed0d0d 100644 --- a/src/components/_buttons.scss +++ b/src/components/_buttons.scss @@ -7,13 +7,20 @@ button, color: $primary; display: inline; outline: none; - border: solid 2px $primary; - @include border(); + border: 2px solid $primary; + @include border-style(); font-size: 1rem; padding: .75rem .75rem; cursor: pointer; @include shadow(); + @include resp(520px) { + display: block; + margin: 0 auto; + text-align: center; + margin-bottom: 1rem; + } + &.btn-large { @include shadow(large); font-size: 2rem; @@ -49,7 +56,8 @@ button, &.disabled, &[disabled] { - @extend .disabled; + cursor: not-allowed; + opacity: .5 } } diff --git a/src/components/_config.scss b/src/components/_config.scss index ce7107f..2d1eade 100644 --- a/src/components/_config.scss +++ b/src/components/_config.scss @@ -1,47 +1,53 @@ -// Global PaperCSS Config +/** + Global PaperCSS Config +*/ + // Imports @import url('https://fonts.googleapis.com/css?family=Neucha|Patrick+Hand+SC'); -// Set Colors -$primary: #41403E; -$secondary: #0071DE; +// Set theme colors +$primary: #41403E !default; +$secondary: #0071DE !default; -$success: #86a361; -$warning: #ddcd45; -$danger: #a7342d; -$muted: #868e96; +$success: #86a361 !default; +$warning: #ddcd45 !default; +$danger: #a7342d !default; +$muted: #868e96 !default; -$primary-light: lighten($primary, 50%); -$secondary-light: lighten($secondary, 50%); -$success-light: lighten($success, 30%); -$warning-light: lighten($warning, 30%); -$danger-light: lighten($danger, 45%); -$muted-light: lighten($muted, 35%); +$primary-light: lighten($primary, 50%) !default; +$secondary-light: lighten($secondary, 50%) !default; +$success-light: lighten($success, 30%) !default; +$warning-light: lighten($warning, 30%) !default; +$danger-light: lighten($danger, 45%) !default; +$muted-light: lighten($muted, 35%) !default; -$white-dark: rgba(black, 0.03); -$light-dark: rgba(black, 0.7); -$white: rgba(white, 1); -$main-background: rgba(white, 1); +$white-dark: rgba(black, 0.03) !default; +$light-dark: rgba(black, 0.7) !default; +$white: rgba(white, 1) !default; +$main-background: rgba(white, 1) !default; -$primary-text: #FFF; -$secondary-text: $primary; -$success-text: $primary; -$warning-text: $primary; -$danger-text: $primary; -$muted-text: $primary; +$primary-text: #FFF !default; +$secondary-text: $primary !default; +$success-text: $primary !default; +$warning-text: $primary !default; +$danger-text: $primary !default; +$muted-text: $primary !default; -$shadow-color-regular: hsla(0,0,0%,.2); -$shadow-color-hover: hsla(0,0,0%,.3); +$shadow-color-regular: hsla(0,0,0%,.2) !default; +$shadow-color-hover: hsla(0,0,0%,.3) !default; -// Set class names to generate the css classes on build +// Map to set your color names $colors: (primary, $primary, $primary-light, $primary-text), (secondary, $secondary, $secondary-light, $secondary-text), (success, $success, $success-light, $success-text), (warning, $warning, $warning-light, $warning-text), (danger, $danger, $danger-light, $danger-text), (muted, $muted, $muted-light, $muted-text); - +/** + This Loop will generate the various .text- and .background- classes + based on the $colors map above. +*/ @each $colorName, $color, $color-light in $colors { .text-#{$colorName} { color: $color; @@ -51,26 +57,75 @@ $colors: (primary, $primary, $primary-light, $primary-text), } } -// Set Fonts -$global-font-size: 20px; -$header-font: 'Patrick Hand SC'; -$body-font: 'Neucha'; -$font-color: $primary; +// Font settings +$global-font-size: 20px !default; +$header-font: 'Patrick Hand SC' !default; +$body-font: 'Neucha' !default; +$font-color: $primary !default; -// Sizes for responsive breakpoints -$large-screen: 1200px; -$medium-screen: 992px; -$small-screen: 768px; -$xsmall-screen: 480px; +// Responsive breakpoints +$large-screen: 1200px !default; +$medium-screen: 992px !default; +$small-screen: 768px !default; +$xsmall-screen: 480px !default; // Sizes for shadows -$shadow-small: 10px 19px 17px -13px $shadow-color-regular; -$shadow-regular: 15px 28px 25px -18px $shadow-color-regular; -$shadow-large: 20px 38px 34px -26px $shadow-color-regular; -$shadow-hover: 2px 8px 8px -5px $shadow-color-hover; +$shadow-small: 10px 19px 17px -13px $shadow-color-regular !default; +$shadow-regular: 15px 28px 25px -18px $shadow-color-regular !default; +$shadow-large: 20px 38px 34px -26px $shadow-color-regular !default; +$shadow-hover: 2px 8px 8px -5px $shadow-color-hover !default; // Mixins +/** + Assign a border style to a component selector. + @param integer + @default 1 +*/ +@mixin border-style($style: 1) { + @if $style==1 { + border-top-left-radius: 255px 15px; + border-top-right-radius: 15px 225px; + border-bottom-right-radius: 225px 15px; + border-bottom-left-radius: 15px 255px; + } + @if $style==2 { + border-top-left-radius: 125px 25px; + border-top-right-radius: 10px 205px; + border-bottom-right-radius: 20px 205px; + border-bottom-left-radius: 185px 25px; + } + @if $style==3 { + border-top-left-radius: 15px 225px; + border-top-right-radius: 255px 15px; + border-bottom-left-radius: 225px 15px; + border-bottom-right-radius: 15px 255px; + } + @if $style==4 { + border-top-left-radius: 15px 225px; + border-top-right-radius: 25px 150px; + border-bottom-left-radius: 25px 115px; + border-bottom-right-radius: 155px 25px; + } + @if $style==5 { + border-top-left-radius: 250px 15px; + border-top-right-radius: 25px 80px; + border-bottom-left-radius: 20px 115px; + border-bottom-right-radius: 15px 105px; + } + @if $style==6 { + border-top-left-radius: 28px 125px; + border-top-right-radius: 100px 30px; + border-bottom-right-radius: 20px 205px; + border-bottom-left-radius: 15px 225px; + } +} + +/** + Mixin for setting responsive breakpoints + @param string | integer + @default null +*/ @mixin resp($max:null, $min:null) { @if $max == large or $max == lg { $max: $large-screen; } @if $max == medium or $max == md { $max: $medium-screen; } @@ -82,6 +137,9 @@ $shadow-hover: 2px 8px 8px -5px $shadow-color-hover; @else { @error "no matching size found";} } +/** + Useful helper mixins +*/ @mixin hr-after() { text-align: center; color: lighten($primary, 30%); @@ -106,20 +164,6 @@ $shadow-hover: 2px 8px 8px -5px $shadow-color-hover; max-width: $percent; } -@mixin make-column($columns) { - @each $breakpoint, $columnName in $columns { - // @todo: fix failing resp() mixin here - @media only screen and (max-width: $breakpoint) { - @for $i from 1 through $numberOfColumns { - .#{$columnName}-#{$i} { - flex: 0 0 $i * 100% / $numberOfColumns; - max-width: $i * 100% / $numberOfColumns; - } - } - } - } -} - @mixin li-bullet($char) { li:before { content: $char; @@ -139,6 +183,11 @@ $shadow-hover: 2px 8px 8px -5px $shadow-color-hover; transform: translate($x, $y); } +/** + Set the shadow type for a component + @param string + @default regular +*/ @mixin shadow($type: regular) { @if $type == hover { box-shadow: $shadow-hover; diff --git a/src/components/_container.scss b/src/components/_container.scss index 04abe7e..fa90f01 100644 --- a/src/components/_container.scss +++ b/src/components/_container.scss @@ -38,7 +38,7 @@ hr { -webkit-box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); -moz-box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); box-shadow: -1px 5px 35px -9px hsla(0,0%,0%,.2); - @include resp(xsmall) { + @include resp(xs) { padding: 1rem; width: 100%; margin-top: 0; diff --git a/src/components/_flexbox.scss b/src/components/_flexbox.scss index 4727c5e..c789d6c 100644 --- a/src/components/_flexbox.scss +++ b/src/components/_flexbox.scss @@ -1,12 +1,18 @@ -$columns: (0, col), - ($large-screen, lg), - ($medium-screen, md), - ($small-screen, sm), - ($xsmall-screen, xs); - $numberOfColumns: 12; -@include make-column($columns); +@mixin create-flex-classes($colName, $breakpoint: 0px) { + @include resp($min: $breakpoint) { + @for $i from 1 through $numberOfColumns { + .#{$colName}-#{$i} { + -webkit-box-flex: 0; + -webkit-flex: 0 0 $i * 100% / $numberOfColumns; + -ms-flex: 0 0 $i * 100% / $numberOfColumns; + flex: 0 0 $i * 100% / $numberOfColumns; + max-width: $i * 100% / $numberOfColumns; + } + } + } +} .row { margin-right: auto; @@ -21,6 +27,7 @@ $numberOfColumns: 12; -ms-flex-flow: row wrap; flex-flow: row wrap; margin-bottom: 1rem; + &.flex-right { -webkit-box-pack: end; -webkit-justify-content: flex-end; @@ -66,8 +73,8 @@ $numberOfColumns: 12; .col { padding: 1rem; - @include resp(small) { - // Stack for mobile + + @include resp(sm) { @include col-size(100%); } } @@ -77,6 +84,12 @@ $numberOfColumns: 12; flex: 1 1 0px; } +@include create-flex-classes(col); +@include create-flex-classes(xs, $xsmall-screen); +@include create-flex-classes(sm, $small-screen); +@include create-flex-classes(md, $medium-screen); +@include create-flex-classes(lg, $large-screen); + .align-top { -webkit-align-self: flex-start; -ms-flex-item-align: start; @@ -95,3 +108,17 @@ $numberOfColumns: 12; -ms-flex-item-align: end; align-self: flex-end; } + +.container { + width: 100%; + max-width: 960px; + position: relative; + margin: 0 auto; + + @include resp(md) { + width: 85%; + } + @include resp(xs) { + width: 90%; + } +} diff --git a/src/components/_forms.scss b/src/components/_forms.scss index 1f0ea16..f98c9ff 100644 --- a/src/components/_forms.scss +++ b/src/components/_forms.scss @@ -45,10 +45,11 @@ input, select, textarea { // TODO: make these classes implicit. We can find out what class to apply based on its type .paper-radio, .paper-check { - display: block; + display: block; margin-bottom: .5rem; cursor: pointer; + /* the basic, unchecked style */ input { border: 0; height: 1px; margin: -1px; @@ -57,45 +58,52 @@ input, select, textarea { position: absolute; width: 1px; display: none; - } - input + span { - display: block; - } - /* the basic, unchecked style */ - input + span:before { - content: ''; - display: inline-block; - position: relative; - width: 1rem; - height: 1rem; - border: 2px solid $primary; - margin-right: 0.75em; - vertical-align: -0.25em; - } - input[type="radio"] + span:before { - border-top-left-radius: 1rem 1rem; - border-top-right-radius: 1rem .6rem; - border-bottom-right-radius: 1rem .9rem; - border-bottom-left-radius: .7rem 1rem; - } - input[type="checkbox"] + span:before { - border-top-left-radius: 255px 15px; - border-top-right-radius: 15px 225px; - border-bottom-right-radius: 225px 15px; - border-bottom-left-radius:15px 255px; - } + & + span { + display: block; - /* the checked style using the :checked pseudo class */ - input[type="radio"]:checked + span:before { - $escaped-svg: escape(""); - $radio-fill: "data:image/svg+xml,${escaped-svg}"; - background: url($radio-fill) left center no-repeat; - } - input[type="checkbox"]:checked + span:before { - $escaped-svg: escape(""); - $check-fill: "data:image/svg+xml,${escaped-svg}"; - background: url($check-fill) left center no-repeat; + &:before { + content: ''; + display: inline-block; + position: relative; + width: 1rem; + height: 1rem; + border: 2px solid $primary; + margin-right: 0.75em; + vertical-align: -0.25em; + } + } + + /* radio styles */ + &[type="radio"] { + & + span:before { + border-top-left-radius: 1rem 1rem; + border-top-right-radius: 1rem .6rem; + border-bottom-right-radius: 1rem .9rem; + border-bottom-left-radius: .7rem 1rem; + } + + &:checked + span:before { + $radio-fill: "data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20viewBox%3D'0%200%20100%20100'%3E%3Cpath%20fill%3D'#{$secondary}'%20d%3D'M49.346,46.341c-3.79-2.005,3.698-10.294,7.984-8.89%20c8.713,2.852,4.352,20.922-4.901,20.269c-4.684-0.33-12.616-7.405-14.38-11.818c-2.375-5.938,7.208-11.688,11.624-13.837%20c9.078-4.42,18.403-3.503,22.784,6.651c4.049,9.378,6.206,28.09-1.462,36.276c-7.091,7.567-24.673,2.277-32.357-1.079%20c-11.474-5.01-24.54-19.124-21.738-32.758c3.958-19.263,28.856-28.248,46.044-23.244c20.693,6.025,22.012,36.268,16.246,52.826%20c-5.267,15.118-17.03,26.26-33.603,21.938c-11.054-2.883-20.984-10.949-28.809-18.908C9.236,66.096,2.704,57.597,6.01,46.371%20c3.059-10.385,12.719-20.155,20.892-26.604C40.809,8.788,58.615,1.851,75.058,12.031c9.289,5.749,16.787,16.361,18.284,27.262%20c0.643,4.698,0.646,10.775-3.811,13.746'%3E%3C/path%3E%3C/svg%3E"; + background: url($radio-fill) left center no-repeat; + } + } + + /* checkbox styles */ + &[type="checkbox"] { + & + span:before { + border-top-left-radius: 255px 15px; + border-top-right-radius: 15px 225px; + border-bottom-right-radius: 225px 15px; + border-bottom-left-radius:15px 255px; + } + + /* checked */ + &:checked + span:before { + $check-fill: "data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20viewBox%3D'0%200%20100%20100'%3E%3Cpath%20stroke%3D'#{$secondary}'%20fill-opacity%3D'0'%20stroke-width%3D'16'%20d%3D'm13,62c0.61067,1.6%201.3045,2.3045%201.75717,2.75716c0.72683,0.72684%201.24283,1.24284%202.07617,2.07617c0.54133,0.54133%201.04116,1.06035%201.82833,1.82383c0.5781,0.5607%201.00502,0.96983%202.02633,1.74417c0.55877,0.42365%201.191,0.84034%201.884,1.284c1.16491,0.74577%201.59777,1.00147%202.5,1.55067c0.4692,0.28561%201.43689,0.86868%201.93067,1.16534c0.99711,0.59904%201.99667,1.19755%202.49283,1.49866c0.98501,0.59779%201.47073,0.89648%201.94733,1.2c1.3971,0.88972%201.83738,1.19736%202.7,1.7955c0.42201,0.29262%201.24022,0.87785%202.05583,1.41917c0.79531,0.52785%201.59376,1.0075%202.38,1.43867c0.74477,0.40842%201.45167,0.75802%202.37817,1.22517c0.76133,0.38387%201.54947,0.82848%202.40717,1.41084c0.7312,0.49647%201.49563,1.08231%202.27884,1.258c0.35564,0.07978%200.14721,-0.95518%200.35733,-1.86867c0.18092,-0.78651%200.98183,-1.2141%200.99983,-2.07867c0.02073,-0.99529%200.07916,-1.79945%200.42533,-2.56133c0.43607,-0.95973%200.53956,-1.66774%200.79617,-2.68183c0.18888,-0.74645%200.39764,-1.31168%200.7785,-2.6235c0.20865,-0.71867%200.41483,-1.48614%200.708,-2.28c0.15452,-0.41843%200.77356,-1.73138%201.348,-2.64133c0.30581,-0.48443%200.65045,-0.97043%201.0065,-1.4745c0.74776,-1.05863%201.1531,-1.60163%201.9375,-2.77084c0.40621,-0.60548%200.80272,-1.23513%201.2045,-1.8765c0.40757,-0.65062%200.81464,-1.31206%201.2315,-1.9755c0.41946,-0.66757%200.83374,-1.34258%201.73067,-2.648c0.44696,-0.65053%200.91436,-1.28356%201.386,-1.9095c0.46972,-0.6234%200.94725,-1.2364%201.422,-1.8465c0.94116,-1.20947%201.86168,-2.40844%202.30367,-3.0105c0.438,-0.59664%200.86246,-1.19396%201.27501,-1.7895c0.40743,-0.58816%200.80352,-1.17234%201.185,-1.7535c1.10526,-1.68381%201.44079,-2.23511%201.77633,-2.7705c0.32878,-0.52461%200.96306,-1.5459%201.27467,-2.04c0.60654,-0.96177%201.20782,-1.88193%201.51051,-2.325c0.59013,-0.86381%201.17888,-1.68032%201.46416,-2.075c0.5498,-0.76063%201.31747,-1.8231%201.77883,-2.4895c0.43918,-0.63437%200.85266,-1.25267%201.45717,-2.15717c0.59549,-0.891%200.96531,-1.46814%201.51466,-2.22933c0.58413,-0.80936%201.12566,-1.40253%201.83801,-2.12333c0.61304,-0.62031%200.45171,-1.48306%200.7045,-2.34733c0.25668,-0.87762%200.75447,-1.62502%201,-2.40983c0.25128,-0.8032%200.7633,-1.39453%201.33217,-2.25417c0.54528,-0.82398%200.73415,-1.6714%201.31516,-2.336c0.55639,-0.63644%201.38658,-1.22588%201.8595,-1.9c0.5082,-0.72441%200.78867,-1.4%201.60266,-1.56667l0.71184,-0.4905'%3E%3C/path%3E%3C/svg%3E"; + background: url($check-fill) left center no-repeat; + } + } } } } diff --git a/src/components/_images.scss b/src/components/_images.scss index 4c4cb0f..31caa9e 100644 --- a/src/components/_images.scss +++ b/src/components/_images.scss @@ -1,23 +1,28 @@ img { - max-width: 100%; - height: auto; - display: block; - @include border; - &.float-left { - float: left; - margin: 1rem 1rem 1rem 0rem; - } - &.float-right { - float: right; - margin: 1rem 0rem 1rem 1rem; - } - &.no-responsive { - max-width: initial; - height: initial; - display: initial; - } - &.no-border { - border: 0; - border-radius: 0; - } + max-width: 100%; + height: auto; + display: block; + border: 2px solid $primary; + @include border-style(); + + &.float-left { + float: left; + margin: 1rem 1rem 1rem 0rem; + } + + &.float-right { + float: right; + margin: 1rem 0rem 1rem 1rem; + } + + &.no-responsive { + max-width: initial; + height: initial; + display: initial; + } + + &.no-border { + border: 0; + border-radius: 0; + } } diff --git a/src/components/_popovers.scss b/src/components/_popovers.scss index c4fc5bd..9dadf92 100644 --- a/src/components/_popovers.scss +++ b/src/components/_popovers.scss @@ -28,7 +28,8 @@ background: $light-dark; transition: opacity .25s ease-out; transform: translateX(-50%) translateY(-100%); - @include border; + @include border-style(); + border: 2px solid $primary; } } diff --git a/src/components/_reset.scss b/src/components/_reset.scss index a7334ce..dfc72ac 100644 --- a/src/components/_reset.scss +++ b/src/components/_reset.scss @@ -188,3 +188,12 @@ template { [hidden] { display: none } + +// Why is box sizing not the default? +// https://www.paulirish.com/2012/box-sizing-border-box-ftw/ +html { + box-sizing: border-box; +} +*, *:before, *:after { + box-sizing: inherit; +} diff --git a/src/components/_shadows.scss b/src/components/_shadows.scss index e530ea6..9a89741 100644 --- a/src/components/_shadows.scss +++ b/src/components/_shadows.scss @@ -1,11 +1,28 @@ +.shadow { + @include shadow(); + + &.shadow-large { + @include shadow(large); + } + + &.shadow-small { + @include shadow(small); + } + &.shadow-hover { + &:hover { + @include shadow(hover); + } + } +} + .child-shadows > * { - box-shadow: $shadow-regular; - transition: all .5s ease; + @include shadow(); } .child-shadows-hover > * { + @include shadow(); + &:hover { - box-shadow: $shadow-hover; - transform: translate(0, 2px); + @include shadow(hover); } } diff --git a/src/components/_tables.scss b/src/components/_tables.scss index 0709c4f..3fe6e00 100644 --- a/src/components/_tables.scss +++ b/src/components/_tables.scss @@ -2,18 +2,22 @@ table { box-sizing: border-box; width: 100%; max-width: 100%; + overflow-x: auto; + thead tr th { vertical-align: bottom; text-align: left; padding: 8px; line-height: 1.5; } + tbody tr td { padding: 8px; line-height: 1.5; vertical-align: top; border-top: 1px dashed lighten($primary, 60%); } + @include resp(xsmall) { thead tr th { padding: 2%; @@ -22,9 +26,11 @@ table { padding: 2%; } } + &.table-hover tbody tr:hover { color: $secondary; } + &.table-alternating tbody tr:nth-of-type(even) { color: lighten($primary, 25%); } diff --git a/src/components/_tabs.scss b/src/components/_tabs.scss index 16b4af0..49b5c4a 100644 --- a/src/components/_tabs.scss +++ b/src/components/_tabs.scss @@ -6,6 +6,17 @@ input { display: none; + + &:checked+label { + color: $primary; + border-bottom: solid 3px $secondary; + } + + @for $num from 1 through 5 { + &[id="tab#{$num}"]:checked~div[id="content#{$num}"] { + display: block; + } + } } label { @@ -15,20 +26,10 @@ font-weight: 600; text-align: center; color: $primary-light; + &:hover { color: $muted; cursor: pointer; } } - - input:checked+label { - color: $primary; - border-bottom: solid 3px $secondary; - } - - @for $num from 1 through 5 { - input[id="tabs#{$num}"]:checked~div[id="content#{$num}"] { - display: block; - } - } } diff --git a/src/styles.scss b/src/styles.scss index 1a55df7..686dc5c 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1,34 +1,32 @@ @charset 'UTF-8'; -@media screen { - // Settings && Mixins - @import 'components/config'; +/* Variables & Mixins */ +@import 'components/config'; - // Individual Components - @import 'components/reset'; - @import 'components/boxreset'; - @import 'components/borders'; - @import 'components/fonts'; - @import 'components/shadows'; - @import 'components/forms'; - @import 'components/container'; - @import 'components/flexbox'; - @import 'components/buttons'; - @import 'components/lists'; - @import 'components/code'; - @import 'components/tables'; - @import 'components/images'; - @import 'components/utilities'; - @import 'components/popovers'; - @import 'components/cards'; - @import 'components/badges'; - @import 'components/alerts'; - @import 'components/tabs'; - @import 'components/article'; - @import 'components/modals'; -} +/* normalize.css v7.0.0 & box reset */ +@import 'components/reset'; + +/* Components */ +@import 'components/flexbox'; +@import 'components/borders'; +@import 'components/fonts'; +@import 'components/shadows'; +@import 'components/forms'; +@import 'components/container'; +@import 'components/buttons'; +@import 'components/lists'; +@import 'components/code'; +@import 'components/tables'; +@import 'components/images'; +@import 'components/utilities'; +@import 'components/popovers'; +@import 'components/cards'; +@import 'components/badges'; +@import 'components/alerts'; +@import 'components/tabs'; +@import 'components/article'; +@import 'components/modals'; -// @todo: Add print styles? ;) // @media print { // @import 'components/print'; // } From e317fad536975e5624d36d7c505fb5b953f06cde Mon Sep 17 00:00:00 2001 From: koester Date: Sat, 23 Dec 2017 09:50:09 +0100 Subject: [PATCH 08/20] updated for 1.4.0 release --- gulpfile.js | 11 +- package-lock.json | 606 +++++++--------------------------------------- package.json | 7 +- 3 files changed, 91 insertions(+), 533 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 05390de..864c7e4 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -11,7 +11,7 @@ gulp.task('webserver', function() { }); gulp.task('sass', function() { - gulp.src('src/styles.scss') + gulp.src('src/**/*.scss') .pipe(sass.sync().on('error', sass.logError)) .pipe(cleanCSS({format: 'beautify'})) .pipe(rename('paper.css')) @@ -20,7 +20,7 @@ gulp.task('sass', function() { }); gulp.task('watch', function () { - gulp.watch('src/*.scss', ['sass']); + gulp.watch('src/**/*.scss', ['sass']); }); gulp.task('minify-css', () => { @@ -30,12 +30,5 @@ gulp.task('minify-css', () => { .pipe(gulp.dest('dist')); }); -//gulp.task('components', () => { -// gulp.src('src/*.scss') -// .pipe(sass.sync().on('error', sass.logError)) -// .pipe(cleanCSS({format: 'beautify'})) -// .pipe(gulp.dest('dist/components')); -//}); - gulp.task('default', ['sass', 'webserver', 'watch']); gulp.task('build', ['sass', 'minify-css']); diff --git a/package-lock.json b/package-lock.json index d88fc41..f1575c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,50 +29,6 @@ "negotiator": "0.5.3" } }, - "accord": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/accord/-/accord-0.27.3.tgz", - "integrity": "sha1-f7kSlwkoXK6oTrNyxOiCAxtxOOg=", - "requires": { - "convert-source-map": "1.5.1", - "glob": "7.1.2", - "indx": "0.2.3", - "lodash.clone": "4.5.0", - "lodash.defaults": "4.2.0", - "lodash.flatten": "4.4.0", - "lodash.merge": "4.6.0", - "lodash.partialright": "4.2.1", - "lodash.pick": "4.4.0", - "lodash.uniq": "4.5.0", - "resolve": "1.5.0", - "semver": "5.4.1", - "uglify-js": "2.8.29", - "when": "3.7.8" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.3.3", - "path-is-absolute": "1.0.1" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.8" - } - } - } - }, "acorn": { "version": "4.0.13", "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", @@ -89,6 +45,7 @@ "version": "5.5.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.1.tgz", "integrity": "sha1-s4u4h22ehr7plJVqBOch6IskjrI=", + "dev": true, "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", @@ -96,30 +53,11 @@ "json-schema-traverse": "0.3.1" } }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true }, "ansi-html": { "version": "0.0.7", @@ -382,16 +320,11 @@ "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", "dev": true }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "optional": true - }, "asn1": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true }, "asn1.js": { "version": "4.9.2", @@ -416,7 +349,8 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true }, "assertion-error": { "version": "1.0.2", @@ -439,17 +373,6 @@ "integrity": "sha1-rDYTsdqb7RtHUQu0ZRuJMeRxRsc=", "dev": true }, - "async-done": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-0.4.0.tgz", - "integrity": "sha1-q4BT9fYikPi/xY83zZtzBwszB7k=", - "requires": { - "end-of-stream": "0.1.5", - "next-tick": "0.2.2", - "once": "1.3.3", - "stream-exhaust": "1.0.1" - } - }, "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", @@ -465,7 +388,8 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "atob": { "version": "2.0.3", @@ -475,12 +399,14 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true }, "aws4": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true }, "backo2": { "version": "1.0.2", @@ -549,6 +475,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, "optional": true, "requires": { "tweetnacl": "0.14.5" @@ -651,6 +578,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, "requires": { "hoek": "4.2.0" } @@ -980,11 +908,6 @@ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", "dev": true }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, "camelcase-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", @@ -1006,23 +929,8 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - }, - "dependencies": { - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" - } - } + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true }, "chai": { "version": "4.1.2", @@ -1179,16 +1087,6 @@ } } }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, "clone": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", @@ -1208,7 +1106,8 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true }, "code-point-at": { "version": "1.1.0", @@ -1272,6 +1171,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, "requires": { "delayed-stream": "1.0.0" } @@ -1531,11 +1431,6 @@ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" - }, "cookie": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz", @@ -1644,6 +1539,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, "requires": { "boom": "5.2.0" }, @@ -1652,6 +1548,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, "requires": { "hoek": "4.2.0" } @@ -1717,6 +1614,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, "requires": { "assert-plus": "1.0.0" } @@ -1743,7 +1641,8 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, "decode-uri-component": { "version": "0.2.0", @@ -1810,7 +1709,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "delegates": { "version": "1.0.0", @@ -2070,6 +1970,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -2241,6 +2142,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", + "dev": true, "requires": { "prr": "1.0.1" } @@ -2819,7 +2721,8 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true }, "fancy-log": { "version": "1.3.0", @@ -2833,17 +2736,14 @@ "fast-deep-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "dev": true }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fastqueue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fastqueue/-/fastqueue-0.1.0.tgz", - "integrity": "sha1-bGkQFrOAYYZHbusFpxe6u49jPBk=" + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true }, "faye-websocket": { "version": "0.10.0", @@ -2992,12 +2892,14 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true }, "form-data": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "dev": true, "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.5", @@ -3031,7 +2933,8 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fstream": { "version": "1.0.11", @@ -3133,6 +3036,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, "requires": { "assert-plus": "1.0.0" } @@ -3432,15 +3336,6 @@ } } }, - "gulp-batch": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gulp-batch/-/gulp-batch-1.0.1.tgz", - "integrity": "sha1-2aahq7UEs6QUctnqJy1JGeEbD4Y=", - "requires": { - "async-done": "0.4.0", - "stream-array": "0.1.3" - } - }, "gulp-clean-css": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-3.9.0.tgz", @@ -3464,26 +3359,6 @@ "tiny-lr": "0.2.1" } }, - "gulp-less": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/gulp-less/-/gulp-less-3.3.2.tgz", - "integrity": "sha1-9mNq3MZhUKiQJxn6WZY/x/hipJo=", - "requires": { - "accord": "0.27.3", - "gulp-util": "3.0.8", - "less": "2.7.2", - "object-assign": "4.1.1", - "through2": "2.0.3", - "vinyl-sourcemaps-apply": "0.2.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - } - } - }, "gulp-plumber": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/gulp-plumber/-/gulp-plumber-1.1.0.tgz", @@ -3536,135 +3411,6 @@ "vinyl": "0.5.3" } }, - "gulp-watch": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/gulp-watch/-/gulp-watch-1.2.1.tgz", - "integrity": "sha1-QwNedgRs2P7TAzZcsJ4ECi4qoJs=", - "requires": { - "gaze": "0.5.2", - "glob2base": "0.0.12", - "gulp-batch": "1.0.1", - "gulp-util": "3.0.8", - "path2glob": "0.0.2", - "readable-stream": "1.1.14", - "vinyl": "0.4.6", - "vinyl-file": "1.1.1" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } - } - }, - "gulp-watch-less": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gulp-watch-less/-/gulp-watch-less-1.0.1.tgz", - "integrity": "sha1-E5rjejiipZZCHuyXsr0L1Q4sscQ=", - "requires": { - "gulp-util": "3.0.8", - "gulp-watch": "1.2.1", - "less": "2.3.1", - "lodash.defaults": "2.4.1", - "through2": "0.6.5" - }, - "dependencies": { - "asap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz", - "integrity": "sha1-sqRdpf36ILBJb8N2jMJ8EvqRan0=", - "optional": true - }, - "image-size": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.3.5.tgz", - "integrity": "sha1-gyQOqy+1sAsEqrjHSwRx6cunrYw=", - "optional": true - }, - "less": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/less/-/less-2.3.1.tgz", - "integrity": "sha1-wQ7AgrLylQ9uHHUOTaFLzFQ+2EU=", - "requires": { - "errno": "0.1.6", - "graceful-fs": "3.0.11", - "image-size": "0.3.5", - "mime": "1.3.4", - "mkdirp": "0.5.1", - "promise": "6.1.0", - "request": "2.83.0", - "source-map": "0.2.0" - } - }, - "lodash.defaults": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", - "integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=", - "requires": { - "lodash._objecttypes": "2.4.1", - "lodash.keys": "2.4.1" - } - }, - "lodash.keys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", - "requires": { - "lodash._isnative": "2.4.1", - "lodash._shimkeys": "2.4.1", - "lodash.isobject": "2.4.1" - } - }, - "promise": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", - "integrity": "sha1-LOcp9rlLRcJoka0GAsXJDgTG7vY=", - "optional": true, - "requires": { - "asap": "1.0.0" - } - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "optional": true, - "requires": { - "amdefine": "1.0.1" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - } - } - }, "gulplog": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", @@ -3682,12 +3428,14 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true }, "har-validator": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, "requires": { "ajv": "5.5.1", "har-schema": "2.0.0" @@ -3803,6 +3551,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, "requires": { "boom": "4.3.1", "cryptiles": "3.1.2", @@ -3830,7 +3579,8 @@ "hoek": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true }, "homedir-polyfill": { "version": "1.0.1", @@ -4076,6 +3826,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, "requires": { "assert-plus": "1.0.0", "jsprim": "1.4.1", @@ -4105,12 +3856,6 @@ "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", "dev": true }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "optional": true - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -4149,11 +3894,6 @@ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, - "indx": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz", - "integrity": "sha1-Fdz1bunPZcAjTFE8J/vVgOcPvFA=" - }, "infinity-agent": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/infinity-agent/-/infinity-agent-2.0.3.tgz", @@ -4508,7 +4248,8 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, "is-unc-path": { "version": "0.1.2", @@ -4552,7 +4293,8 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true }, "jake": { "version": "8.0.15", @@ -4611,6 +4353,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, "optional": true }, "jshint": { @@ -4655,12 +4398,14 @@ "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true }, "json-stable-stringify": { "version": "0.0.1", @@ -4674,7 +4419,8 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true }, "json3": { "version": "3.3.2", @@ -4704,6 +4450,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -4989,29 +4736,6 @@ "invert-kv": "1.0.0" } }, - "less": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/less/-/less-2.7.2.tgz", - "integrity": "sha1-No1sxz4fsDmBGDKAkYdDxdz5s98=", - "requires": { - "errno": "0.1.6", - "graceful-fs": "4.1.11", - "image-size": "0.5.5", - "mime": "1.3.4", - "mkdirp": "0.5.1", - "promise": "7.3.1", - "request": "2.83.0", - "source-map": "0.5.7" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "optional": true - } - } - }, "lexical-scope": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz", @@ -5134,16 +4858,6 @@ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" }, - "lodash._isnative": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=" - }, - "lodash._objecttypes": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=" - }, "lodash._reescape": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", @@ -5164,14 +4878,6 @@ "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" }, - "lodash._shimkeys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=", - "requires": { - "lodash._objecttypes": "2.4.1" - } - }, "lodash.assign": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", @@ -5183,22 +4889,12 @@ "lodash.keys": "3.1.2" } }, - "lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" - }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, "lodash.escape": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", @@ -5207,11 +4903,6 @@ "lodash._root": "3.0.1" } }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, "lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", @@ -5222,14 +4913,6 @@ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" }, - "lodash.isobject": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", - "requires": { - "lodash._objecttypes": "2.4.1" - } - }, "lodash.keys": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", @@ -5246,27 +4929,12 @@ "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", "dev": true }, - "lodash.merge": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", - "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=" - }, "lodash.mergewith": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=", "dev": true }, - "lodash.partialright": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz", - "integrity": "sha1-ATDYDoM2MmTUAHTzKbij56ihzEs=" - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" - }, "lodash.restparam": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", @@ -5297,11 +4965,6 @@ "lodash.escape": "3.2.0" } }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, "log4js": { "version": "0.6.38", "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", @@ -5338,11 +5001,6 @@ "integrity": "sha1-rgyqVhERSYxboTcj1vtjHSQAOTQ=", "dev": true }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" - }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -5891,11 +5549,6 @@ "inherits": "2.0.3" } }, - "next-tick": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz", - "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0=" - }, "node-forge": { "version": "0.6.33", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.6.33.tgz", @@ -9666,7 +9319,8 @@ "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true }, "object-assign": { "version": "3.0.0", @@ -10112,7 +9766,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-is-inside": { "version": "1.0.2", @@ -10175,14 +9830,6 @@ } } }, - "path2glob": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/path2glob/-/path2glob-0.0.2.tgz", - "integrity": "sha1-KejODRVAfCpQtjPvgFCy8pfARwI=", - "requires": { - "glob": "4.5.3" - } - }, "pathval": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", @@ -10218,7 +9865,8 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, "pify": { "version": "3.0.0", @@ -10290,15 +9938,6 @@ "integrity": "sha1-c5P1rBcbEyExQ7NVNzzGkLBYsi8=", "dev": true }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "optional": true, - "requires": { - "asap": "2.0.6" - } - }, "proxy-addr": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", @@ -10312,7 +9951,8 @@ "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true }, "ps-tree": { "version": "1.1.0", @@ -10345,7 +9985,8 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true }, "q": { "version": "0.9.7", @@ -10732,6 +10373,7 @@ "version": "2.83.0", "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "dev": true, "requires": { "aws-sign2": "0.7.0", "aws4": "1.6.0", @@ -10760,7 +10402,8 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true } } }, @@ -10826,14 +10469,6 @@ } } }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "requires": { - "align-text": "0.1.4" - } - }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", @@ -11017,7 +10652,8 @@ "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "dev": true }, "semver-diff": { "version": "2.1.0", @@ -11396,6 +11032,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, "requires": { "hoek": "4.2.0" } @@ -11726,6 +11363,7 @@ "version": "1.13.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, "requires": { "asn1": "0.2.3", "assert-plus": "1.0.0", @@ -11817,15 +11455,6 @@ } } }, - "stream-array": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-array/-/stream-array-0.1.3.tgz", - "integrity": "sha1-bjdOicmqoapImVHAcBHyRWEfyYs=", - "requires": { - "fastqueue": "0.1.0", - "readable-stream": "1.1.14" - } - }, "stream-browserify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", @@ -11940,11 +11569,6 @@ "readable-stream": "1.1.14" } }, - "stream-exhaust": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.1.tgz", - "integrity": "sha1-wMRFXlTOWhecqHNuczNLTn/WdVM=" - }, "stream-http": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", @@ -12066,7 +11690,8 @@ "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true }, "strip-ansi": { "version": "3.0.1", @@ -12379,6 +12004,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true, "requires": { "punycode": "1.4.1" } @@ -12428,6 +12054,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -12436,6 +12063,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, "optional": true }, "type-detect": { @@ -12459,22 +12087,6 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "optional": true - }, "uid-safe": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", @@ -12754,7 +12366,8 @@ "uuid": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "dev": true }, "v8flags": { "version": "2.1.1", @@ -12783,6 +12396,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, "requires": { "assert-plus": "1.0.0", "core-util-is": "1.0.2", @@ -12804,32 +12418,6 @@ "replace-ext": "0.0.1" } }, - "vinyl-file": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-1.1.1.tgz", - "integrity": "sha1-gbZV8m5li9Logp8o1j+EfWhD1tA=", - "requires": { - "graceful-fs": "3.0.11", - "strip-bom": "1.0.0", - "vinyl": "0.4.6" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } - } - }, "vinyl-fs": { "version": "0.3.14", "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", @@ -13057,11 +12645,6 @@ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" }, - "when": { - "version": "3.7.8", - "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", - "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=" - }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", @@ -13085,15 +12668,11 @@ "string-width": "1.0.2" } }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true }, "worker-farm": { "version": "1.5.2", @@ -13187,17 +12766,6 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - }, "yargs-parser": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", diff --git a/package.json b/package.json index 5e6f7ad..0da37ca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "papercss", - "version": "1.3.1", + "version": "1.4.0", "description": "The less formal CSS framework.", "main": "index.js", "scripts": { @@ -23,11 +23,8 @@ "gulp": "3.9.1", "gulp-clean-css": "3.9.0", "gulp-connect": "5.0.0", - "gulp-less": "3.3.2", "gulp-plumber": "1.1.0", - "gulp-rename": "1.2.2", - "gulp-watch-less": "1.0.1", - "less": "2.7.2" + "gulp-rename": "1.2.2" }, "devDependencies": { "browserify": "^14.1.0", From 4914e2477e796059907039e10c8e0fa924d0923d Mon Sep 17 00:00:00 2001 From: koester Date: Sat, 23 Dec 2017 10:42:29 +0100 Subject: [PATCH 09/20] improved build time --- gulpfile.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 864c7e4..7a1c5b5 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,3 +1,5 @@ +'use strict'; + const gulp = require('gulp'), connect = require('gulp-connect'), sass = require('gulp-sass'), @@ -24,10 +26,10 @@ gulp.task('watch', function () { }); gulp.task('minify-css', () => { - gulp.src('dist/paper.css') - .pipe(cleanCSS()) - .pipe(rename('paper.min.css')) - .pipe(gulp.dest('dist')); + return gulp.src('src/**/*.scss') + .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError)) + .pipe(rename('paper.min.css')) + .pipe(gulp.dest('dist')); }); gulp.task('default', ['sass', 'webserver', 'watch']); From 3b1dee868f983e485a45b5aed8db7355503c386e Mon Sep 17 00:00:00 2001 From: koester Date: Sat, 23 Dec 2017 11:13:14 +0100 Subject: [PATCH 10/20] updated for 1.4.0 --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1e9225d..82a85ab 100644 --- a/README.md +++ b/README.md @@ -40,9 +40,11 @@ There are several options available: ## Content of the framework -We provide compiled CSS (`paper.css`) as well as minified CSS (`paper.min.css`). You can also use single components that are build into `papercss/dist/components`. +We provide compiled CSS (`paper.css`) as well as minified CSS (`paper.min.css`). -You can also play with original, source files, written in LESS, in `src/`. +You can choose which components you may want to use. Only the components that get imported in `src/styles.scss` will be compoiled into `dist/paper.css`. + +You can also play with original, source files, written in SCSS, in `src/`. ## Documentation @@ -52,11 +54,11 @@ You can also view the develop branch at [develop.getpapercss.com](https://develo ## Customizing -You can customize PaperCSS easily, clone the repo, run `npm install` and make any changes to `.less` files in `src/`. +You can customize PaperCSS easily, clone the repo, run `npm install` and make any changes to `.scss` files in `src/`. -The main places you might want to make changes would be `colors.less` or `fonts.less`, where you can specify new colors or fonts for your CSS build. +The main place you might want to make changes would be `core/_config.scss`, where you can specify new colors or fonts for your CSS build. -After you make changes, be sure to build the new CSS files. Do so by running `npm run build` and get them from the `dist/` folder. +After you make changes, be sure to build the new CSS files. Do so by running `gulp build` and get them from the `dist/` folder. ## Contributing From 13cd0f7da40690b41f1a8f8c85d56dfb9767b345 Mon Sep 17 00:00:00 2001 From: koester Date: Sat, 23 Dec 2017 11:16:45 +0100 Subject: [PATCH 11/20] more reasonable directory structure --- src/{components => core}/_config.scss | 0 src/{components => core}/_reset.scss | 0 src/{components => layout}/_borders.scss | 0 src/{components => layout}/_container.scss | 0 src/{components => layout}/_flexbox.scss | 0 src/{components => layout}/_fonts.scss | 0 src/{components => layout}/_shadows.scss | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename src/{components => core}/_config.scss (100%) rename src/{components => core}/_reset.scss (100%) rename src/{components => layout}/_borders.scss (100%) rename src/{components => layout}/_container.scss (100%) rename src/{components => layout}/_flexbox.scss (100%) rename src/{components => layout}/_fonts.scss (100%) rename src/{components => layout}/_shadows.scss (100%) diff --git a/src/components/_config.scss b/src/core/_config.scss similarity index 100% rename from src/components/_config.scss rename to src/core/_config.scss diff --git a/src/components/_reset.scss b/src/core/_reset.scss similarity index 100% rename from src/components/_reset.scss rename to src/core/_reset.scss diff --git a/src/components/_borders.scss b/src/layout/_borders.scss similarity index 100% rename from src/components/_borders.scss rename to src/layout/_borders.scss diff --git a/src/components/_container.scss b/src/layout/_container.scss similarity index 100% rename from src/components/_container.scss rename to src/layout/_container.scss diff --git a/src/components/_flexbox.scss b/src/layout/_flexbox.scss similarity index 100% rename from src/components/_flexbox.scss rename to src/layout/_flexbox.scss diff --git a/src/components/_fonts.scss b/src/layout/_fonts.scss similarity index 100% rename from src/components/_fonts.scss rename to src/layout/_fonts.scss diff --git a/src/components/_shadows.scss b/src/layout/_shadows.scss similarity index 100% rename from src/components/_shadows.scss rename to src/layout/_shadows.scss From 5baa170854ffc4a380aefadd65e6b28369e4846f Mon Sep 17 00:00:00 2001 From: koester Date: Sat, 23 Dec 2017 11:16:45 +0100 Subject: [PATCH 12/20] more reasonable directory structure --- src/{components => content}/_code.scss | 0 src/{components => content}/_fonts.scss | 0 src/{components => content}/_images.scss | 0 src/{components => content}/_lists.scss | 0 src/{components => content}/_tables.scss | 0 src/{components => core}/_config.scss | 0 src/{components => core}/_reset.scss | 0 src/{components => layout}/_container.scss | 0 src/{components => layout}/_flexbox.scss | 0 src/styles.scss | 46 +++++++++++---------- src/{components => utilities}/_borders.scss | 0 src/{components => utilities}/_shadows.scss | 0 12 files changed, 25 insertions(+), 21 deletions(-) rename src/{components => content}/_code.scss (100%) rename src/{components => content}/_fonts.scss (100%) rename src/{components => content}/_images.scss (100%) rename src/{components => content}/_lists.scss (100%) rename src/{components => content}/_tables.scss (100%) rename src/{components => core}/_config.scss (100%) rename src/{components => core}/_reset.scss (100%) rename src/{components => layout}/_container.scss (100%) rename src/{components => layout}/_flexbox.scss (100%) rename src/{components => utilities}/_borders.scss (100%) rename src/{components => utilities}/_shadows.scss (100%) diff --git a/src/components/_code.scss b/src/content/_code.scss similarity index 100% rename from src/components/_code.scss rename to src/content/_code.scss diff --git a/src/components/_fonts.scss b/src/content/_fonts.scss similarity index 100% rename from src/components/_fonts.scss rename to src/content/_fonts.scss diff --git a/src/components/_images.scss b/src/content/_images.scss similarity index 100% rename from src/components/_images.scss rename to src/content/_images.scss diff --git a/src/components/_lists.scss b/src/content/_lists.scss similarity index 100% rename from src/components/_lists.scss rename to src/content/_lists.scss diff --git a/src/components/_tables.scss b/src/content/_tables.scss similarity index 100% rename from src/components/_tables.scss rename to src/content/_tables.scss diff --git a/src/components/_config.scss b/src/core/_config.scss similarity index 100% rename from src/components/_config.scss rename to src/core/_config.scss diff --git a/src/components/_reset.scss b/src/core/_reset.scss similarity index 100% rename from src/components/_reset.scss rename to src/core/_reset.scss diff --git a/src/components/_container.scss b/src/layout/_container.scss similarity index 100% rename from src/components/_container.scss rename to src/layout/_container.scss diff --git a/src/components/_flexbox.scss b/src/layout/_flexbox.scss similarity index 100% rename from src/components/_flexbox.scss rename to src/layout/_flexbox.scss diff --git a/src/styles.scss b/src/styles.scss index 686dc5c..8724749 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1,32 +1,36 @@ @charset 'UTF-8'; -/* Variables & Mixins */ -@import 'components/config'; +/* PaperCSS core */ +@import 'core/config'; +@import 'core/reset'; -/* normalize.css v7.0.0 & box reset */ -@import 'components/reset'; +/* Layout styling */ +@import 'layout/container'; +@import 'layout/flexbox'; + +/* Content styling */ +@import 'content/code'; +@import 'content/fonts'; +@import 'content/images'; +@import 'content/lists'; +@import 'content/tables'; + +/* Utilities */ +@import 'utilities/borders'; +@import 'utilities/shadows'; /* Components */ -@import 'components/flexbox'; -@import 'components/borders'; -@import 'components/fonts'; -@import 'components/shadows'; -@import 'components/forms'; -@import 'components/container'; -@import 'components/buttons'; -@import 'components/lists'; -@import 'components/code'; -@import 'components/tables'; -@import 'components/images'; -@import 'components/utilities'; -@import 'components/popovers'; -@import 'components/cards'; -@import 'components/badges'; @import 'components/alerts'; -@import 'components/tabs'; @import 'components/article'; +@import 'components/badges'; +@import 'components/buttons'; +@import 'components/cards'; +@import 'components/forms'; @import 'components/modals'; +@import 'components/popovers'; +@import 'components/tabs'; +@import 'components/utilities'; // @media print { -// @import 'components/print'; +// @import 'layout/print'; // } diff --git a/src/components/_borders.scss b/src/utilities/_borders.scss similarity index 100% rename from src/components/_borders.scss rename to src/utilities/_borders.scss diff --git a/src/components/_shadows.scss b/src/utilities/_shadows.scss similarity index 100% rename from src/components/_shadows.scss rename to src/utilities/_shadows.scss From ffa7aa08699a716e95337d588935ce8d4248b211 Mon Sep 17 00:00:00 2001 From: koester Date: Sat, 23 Dec 2017 11:42:20 +0100 Subject: [PATCH 13/20] moved to utilities/ and content/ --- src/layout/_borders.scss | 61 ---------------------------------------- src/layout/_fonts.scss | 39 ------------------------- src/layout/_shadows.scss | 28 ------------------ 3 files changed, 128 deletions(-) delete mode 100644 src/layout/_borders.scss delete mode 100644 src/layout/_fonts.scss delete mode 100644 src/layout/_shadows.scss diff --git a/src/layout/_borders.scss b/src/layout/_borders.scss deleted file mode 100644 index 42693b0..0000000 --- a/src/layout/_borders.scss +++ /dev/null @@ -1,61 +0,0 @@ - -.border { - border: 2px solid $primary; -} - -.border, -.border-1, -.child-borders>*:nth-child(6n+1) { - @include border-style(1); -} - -.border-2, -.child-borders>*:nth-child(6n+2) { - @include border-style(2); -} - -.border-3, -.child-borders>*:nth-child(6n+3) { - @include border-style(3); -} - -.border-4, -.child-borders>*:nth-child(6n+4) { - @include border-style(4); -} - -.border-5, -.child-borders>*:nth-child(6n+5) { - @include border-style(5); -} - -.border-6, -.child-borders>*:nth-child(6n+6) { - @include border-style(6); -} - -.child-borders>* { - border: 2px solid $primary; -} - -.border-white { - border-color: $white; -} - -.border-dotted { - border-style: dotted; -} - -.border-dashed { - border-style: dashed; -} - -.border-thick { - border-width: 5px; -} - -@each $colorName, $color in $colors { - .border-#{$colorName} { - border-color: $color; - } -} diff --git a/src/layout/_fonts.scss b/src/layout/_fonts.scss deleted file mode 100644 index ec00b7c..0000000 --- a/src/layout/_fonts.scss +++ /dev/null @@ -1,39 +0,0 @@ -html { - font-size: $global-font-size; - font-family: $body-font, sans-serif; - color: $font-color; -} -p, a, button, table, thead, tbody, th, tr, td, input, textarea, select, option { - font-family: $body-font, sans-serif; -} -h1, h2, h3, h4, h5, h6 { - font-family: $header-font, sans-serif; - font-weight: normal; -} -h1 { - font-size: 4rem; -} -h2 { - font-size: 3rem; -} -h3 { - font-size: 2rem; -} -h4 { - font-size: 1.5rem; -} -h5 { - font-size: 1rem; -} -h6 { - font-size: .8rem; -} -.text-left { - text-align: left; -} -.text-center { - text-align: center; -} -.text-right { - text-align: right; -} diff --git a/src/layout/_shadows.scss b/src/layout/_shadows.scss deleted file mode 100644 index 9a89741..0000000 --- a/src/layout/_shadows.scss +++ /dev/null @@ -1,28 +0,0 @@ -.shadow { - @include shadow(); - - &.shadow-large { - @include shadow(large); - } - - &.shadow-small { - @include shadow(small); - } - &.shadow-hover { - &:hover { - @include shadow(hover); - } - } -} - -.child-shadows > * { - @include shadow(); -} - -.child-shadows-hover > * { - @include shadow(); - - &:hover { - @include shadow(hover); - } -} From 34a2b8c27ad94eaa231673097dbb6cd32f7eb217 Mon Sep 17 00:00:00 2001 From: koester Date: Sat, 23 Dec 2017 11:59:57 +0100 Subject: [PATCH 14/20] updated for 1.4.0 --- package-lock.json | 1232 ++++++++++++++++++++++++++++++--------------- 1 file changed, 821 insertions(+), 411 deletions(-) diff --git a/package-lock.json b/package-lock.json index f1575c0..858777d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "papercss", - "version": "1.3.1", + "version": "1.4.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -6019,7 +6019,8 @@ "dependencies": { "JSONStream": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", + "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=", "dev": true, "requires": { "jsonparse": "1.3.1", @@ -6028,54 +6029,64 @@ "dependencies": { "jsonparse": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, "through": { "version": "2.3.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true } } }, "abbrev": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", + "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", "dev": true }, "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "ansicolors": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", "dev": true }, "ansistyles": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz", + "integrity": "sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk=", "dev": true }, "aproba": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz", + "integrity": "sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw==", "dev": true }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "bluebird": { "version": "3.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", + "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", "dev": true }, "cacache": { "version": "9.2.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/cacache/-/cacache-9.2.9.tgz", + "integrity": "sha512-ghg1j5OyTJ6qsrqU++dN23QiTDxb5AZCFGsF3oB+v9v/gY+F4X8L/0gdQMEjd+8Ot3D29M2etX5PKozHRn2JQw==", "dev": true, "requires": { "bluebird": "3.5.0", @@ -6095,7 +6106,8 @@ "dependencies": { "lru-cache": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { "pseudomap": "1.0.2", @@ -6104,36 +6116,42 @@ "dependencies": { "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true } } }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true } } }, "call-limit": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/call-limit/-/call-limit-1.1.0.tgz", + "integrity": "sha1-b9YbA/PaQqLNDsK2DwK9DnGZH+o=", "dev": true }, "chownr": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true }, "cmd-shim": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz", + "integrity": "sha1-b8vamUg6j9FdfTChlspp1oii79s=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -6142,7 +6160,8 @@ }, "columnify": { "version": "1.5.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", + "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", "dev": true, "requires": { "strip-ansi": "3.0.1", @@ -6151,7 +6170,8 @@ "dependencies": { "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -6159,14 +6179,16 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true } } }, "wcwidth": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", "dev": true, "requires": { "defaults": "1.0.3" @@ -6174,7 +6196,8 @@ "dependencies": { "defaults": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "dev": true, "requires": { "clone": "1.0.2" @@ -6182,7 +6205,8 @@ "dependencies": { "clone": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", + "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", "dev": true } } @@ -6193,7 +6217,8 @@ }, "config-chain": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", + "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", "dev": true, "requires": { "ini": "1.3.4", @@ -6202,24 +6227,28 @@ "dependencies": { "proto-list": { "version": "1.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", "dev": true } } }, "debuglog": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", "dev": true }, "detect-indent": { "version": "5.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", "dev": true }, "dezalgo": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", "dev": true, "requires": { "asap": "2.0.5", @@ -6228,19 +6257,22 @@ "dependencies": { "asap": { "version": "2.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz", + "integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8=", "dev": true } } }, "editor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz", + "integrity": "sha1-YMf4e9YrzGqJT6jM1q+3gjok90I=", "dev": true }, "fs-vacuum": { "version": "1.2.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.10.tgz", + "integrity": "sha1-t2Kb7AekAxolSP35n17PHMizHjY=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -6250,7 +6282,8 @@ }, "fs-write-stream-atomic": { "version": "1.0.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -6261,7 +6294,8 @@ }, "fstream": { "version": "1.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -6272,7 +6306,8 @@ }, "fstream-npm": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.2.1.tgz", + "integrity": "sha512-iBHpm/LmD1qw0TlHMAqVd9rwdU6M+EHRUnPkXpRi5G/Hf0FIFH+oZFryodAU2MFNfGRh/CzhUFlMKV3pdeOTDw==", "dev": true, "requires": { "fstream-ignore": "1.0.5", @@ -6281,7 +6316,8 @@ "dependencies": { "fstream-ignore": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", "dev": true, "requires": { "fstream": "1.0.11", @@ -6291,7 +6327,8 @@ "dependencies": { "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "1.1.8" @@ -6299,7 +6336,8 @@ "dependencies": { "brace-expansion": { "version": "1.1.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { "balanced-match": "1.0.0", @@ -6308,12 +6346,14 @@ "dependencies": { "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true } } @@ -6326,7 +6366,8 @@ }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -6339,12 +6380,14 @@ "dependencies": { "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "1.1.8" @@ -6352,7 +6395,8 @@ "dependencies": { "brace-expansion": { "version": "1.1.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { "balanced-match": "1.0.0", @@ -6361,12 +6405,14 @@ "dependencies": { "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true } } @@ -6375,39 +6421,46 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true } } }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true }, "hosted-git-info": { "version": "2.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, "iferr": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "1.4.0", @@ -6416,17 +6469,20 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "ini": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", "dev": true }, "init-package-json": { "version": "1.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.1.tgz", + "integrity": "sha1-zYc6FneWvvuZYSsodioLY5P9j2o=", "dev": true, "requires": { "glob": "7.1.2", @@ -6441,7 +6497,8 @@ "dependencies": { "promzard": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", + "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=", "dev": true, "requires": { "read": "1.0.7" @@ -6451,12 +6508,14 @@ }, "lazy-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lazy-property/-/lazy-property-1.0.0.tgz", + "integrity": "sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc=", "dev": true }, "libnpx": { "version": "9.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/libnpx/-/libnpx-9.2.0.tgz", + "integrity": "sha512-cXZxnp/Fmqip914pC+0a5S8UnqmG//bNIL+MtTt3pvpHkSa7Jhti9da+Wo3tjdzIc/V1A2zN4cO5wcnOzIWeig==", "dev": true, "requires": { "dotenv": "4.0.0", @@ -6471,17 +6530,20 @@ "dependencies": { "dotenv": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", + "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=", "dev": true }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yargs": { "version": "8.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "dev": true, "requires": { "camelcase": "4.1.0", @@ -6501,12 +6563,14 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "cliui": { "version": "3.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { "string-width": "1.0.2", @@ -6516,7 +6580,8 @@ "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "1.1.0", @@ -6526,12 +6591,14 @@ "dependencies": { "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -6539,7 +6606,8 @@ "dependencies": { "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true } } @@ -6548,7 +6616,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -6556,14 +6625,16 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true } } }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { "string-width": "1.0.2", @@ -6574,17 +6645,20 @@ }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "os-locale": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.0.0.tgz", + "integrity": "sha1-FZGN7VEFIrge565aMJ1U9jn8OaQ=", "dev": true, "requires": { "execa": "0.5.1", @@ -6594,7 +6668,8 @@ "dependencies": { "execa": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.5.1.tgz", + "integrity": "sha1-3j+4XLjW6RyFvLzrFkWBeFy1ezY=", "dev": true, "requires": { "cross-spawn": "4.0.2", @@ -6608,7 +6683,8 @@ "dependencies": { "cross-spawn": { "version": "4.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { "lru-cache": "4.1.1", @@ -6617,7 +6693,8 @@ }, "get-stream": { "version": "2.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", "dev": true, "requires": { "object-assign": "4.1.1", @@ -6626,12 +6703,14 @@ "dependencies": { "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { "pinkie": "2.0.4" @@ -6639,7 +6718,8 @@ "dependencies": { "pinkie": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true } } @@ -6648,12 +6728,14 @@ }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { "path-key": "2.0.1" @@ -6661,31 +6743,36 @@ "dependencies": { "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true } } }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true } } }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { "invert-kv": "1.0.0" @@ -6693,14 +6780,16 @@ "dependencies": { "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true } } }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { "mimic-fn": "1.1.0" @@ -6708,7 +6797,8 @@ "dependencies": { "mimic-fn": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", "dev": true } } @@ -6717,7 +6807,8 @@ }, "read-pkg-up": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { "find-up": "2.1.0", @@ -6726,7 +6817,8 @@ "dependencies": { "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "2.0.0" @@ -6734,7 +6826,8 @@ "dependencies": { "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "2.0.0", @@ -6743,7 +6836,8 @@ "dependencies": { "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "1.1.0" @@ -6751,14 +6845,16 @@ "dependencies": { "p-limit": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", "dev": true } } }, "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } @@ -6767,7 +6863,8 @@ }, "read-pkg": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { "load-json-file": "2.0.0", @@ -6777,7 +6874,8 @@ "dependencies": { "load-json-file": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -6788,7 +6886,8 @@ "dependencies": { "parse-json": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { "error-ex": "1.3.1" @@ -6796,7 +6895,8 @@ "dependencies": { "error-ex": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { "is-arrayish": "0.2.1" @@ -6804,7 +6904,8 @@ "dependencies": { "is-arrayish": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true } } @@ -6813,19 +6914,22 @@ }, "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "strip-bom": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true } } }, "path-type": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { "pify": "2.3.0" @@ -6833,7 +6937,8 @@ "dependencies": { "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } } @@ -6844,22 +6949,26 @@ }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "string-width": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.0.tgz", + "integrity": "sha1-AwZkVh/BRslCPsfZeP4kV0N/5tA=", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", @@ -6868,19 +6977,22 @@ "dependencies": { "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true } } }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "yargs-parser": { "version": "7.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { "camelcase": "4.1.0" @@ -6892,17 +7004,20 @@ }, "lockfile": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.3.tgz", + "integrity": "sha1-Jjj8OaAzHpysGgS3F5mTHJxQ33k=", "dev": true }, "lodash._baseindexof": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz", + "integrity": "sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=", "dev": true }, "lodash._baseuniq": { "version": "4.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz", + "integrity": "sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg=", "dev": true, "requires": { "lodash._createset": "4.0.3", @@ -6911,29 +7026,34 @@ "dependencies": { "lodash._createset": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._createset/-/lodash._createset-4.0.3.tgz", + "integrity": "sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=", "dev": true }, "lodash._root": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", "dev": true } } }, "lodash._bindcallback": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", "dev": true }, "lodash._cacheindexof": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz", + "integrity": "sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=", "dev": true }, "lodash._createcache": { "version": "3.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz", + "integrity": "sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=", "dev": true, "requires": { "lodash._getnative": "3.9.1" @@ -6941,37 +7061,44 @@ }, "lodash._getnative": { "version": "3.9.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", "dev": true }, "lodash.clonedeep": { "version": "4.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, "lodash.restparam": { "version": "3.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", "dev": true }, "lodash.union": { "version": "4.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", "dev": true }, "lodash.uniq": { "version": "4.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, "lodash.without": { "version": "4.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz", + "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=", "dev": true }, "lru-cache": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { "pseudomap": "1.0.2", @@ -6980,19 +7107,22 @@ "dependencies": { "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true } } }, "mississippi": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.0.tgz", + "integrity": "sha1-0gFYPrEjJ+PFwWQqQEqcrPlONPU=", "dev": true, "requires": { "concat-stream": "1.6.0", @@ -7009,7 +7139,8 @@ "dependencies": { "concat-stream": { "version": "1.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true, "requires": { "inherits": "2.0.3", @@ -7019,14 +7150,16 @@ "dependencies": { "typedarray": { "version": "0.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true } } }, "duplexify": { "version": "3.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz", + "integrity": "sha1-GqdzAC4VeEV+nZ1KULDMquvL1gQ=", "dev": true, "requires": { "end-of-stream": "1.0.0", @@ -7037,7 +7170,8 @@ "dependencies": { "end-of-stream": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz", + "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=", "dev": true, "requires": { "once": "1.3.3" @@ -7045,7 +7179,8 @@ "dependencies": { "once": { "version": "1.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", "dev": true, "requires": { "wrappy": "1.0.2" @@ -7055,14 +7190,16 @@ }, "stream-shift": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true } } }, "end-of-stream": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", "dev": true, "requires": { "once": "1.4.0" @@ -7070,7 +7207,8 @@ }, "flush-write-stream": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", + "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", "dev": true, "requires": { "inherits": "2.0.3", @@ -7079,7 +7217,8 @@ }, "from2": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { "inherits": "2.0.3", @@ -7088,7 +7227,8 @@ }, "parallel-transform": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { "cyclist": "0.2.2", @@ -7098,14 +7238,16 @@ "dependencies": { "cyclist": { "version": "0.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true } } }, "pump": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz", + "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=", "dev": true, "requires": { "end-of-stream": "1.4.0", @@ -7114,7 +7256,8 @@ }, "pumpify": { "version": "1.3.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.3.5.tgz", + "integrity": "sha1-G2ccYZlAq8rqwK0OOjwWS+dgmTs=", "dev": true, "requires": { "duplexify": "3.5.0", @@ -7124,7 +7267,8 @@ }, "stream-each": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.0.tgz", + "integrity": "sha1-HpXUdXP1gNgU3A/4zQ9m8c5TyZE=", "dev": true, "requires": { "end-of-stream": "1.4.0", @@ -7133,14 +7277,16 @@ "dependencies": { "stream-shift": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true } } }, "through2": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { "readable-stream": "2.3.3", @@ -7149,7 +7295,8 @@ "dependencies": { "xtend": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true } } @@ -7158,7 +7305,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -7166,14 +7314,16 @@ "dependencies": { "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true } } }, "move-concurrently": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { "aproba": "1.1.2", @@ -7186,7 +7336,8 @@ "dependencies": { "copy-concurrently": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.3.tgz", + "integrity": "sha1-Rft4ZiSaHKiJqlcI5svSc+dbslA=", "dev": true, "requires": { "aproba": "1.1.2", @@ -7199,7 +7350,8 @@ }, "run-queue": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { "aproba": "1.1.2" @@ -7209,7 +7361,8 @@ }, "node-gyp": { "version": "3.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", + "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", "dev": true, "requires": { "fstream": "1.0.11", @@ -7229,7 +7382,8 @@ "dependencies": { "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "1.1.8" @@ -7237,7 +7391,8 @@ "dependencies": { "brace-expansion": { "version": "1.1.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { "balanced-match": "1.0.0", @@ -7246,12 +7401,14 @@ "dependencies": { "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true } } @@ -7260,7 +7417,8 @@ }, "nopt": { "version": "3.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { "abbrev": "1.1.0" @@ -7270,7 +7428,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "requires": { "abbrev": "1.1.0", @@ -7279,7 +7438,8 @@ }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { "hosted-git-info": "2.5.0", @@ -7290,7 +7450,8 @@ "dependencies": { "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { "builtin-modules": "1.1.1" @@ -7298,7 +7459,8 @@ "dependencies": { "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true } } @@ -7307,12 +7469,14 @@ }, "npm-cache-filename": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz", + "integrity": "sha1-3tMGxbC/yHCp6fr4I7xfKD4FrhE=", "dev": true }, "npm-install-checks": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-3.0.0.tgz", + "integrity": "sha1-1K7N/VGlPjcjt7L5Oy7ijjB7wNc=", "dev": true, "requires": { "semver": "5.3.0" @@ -7320,7 +7484,8 @@ }, "npm-package-arg": { "version": "5.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.1.2.tgz", + "integrity": "sha512-wJBsrf0qpypPT7A0LART18hCdyhpCMxeTtcb0X4IZO2jsP6Om7EHN1d9KSKiqD+KVH030RVNpWS9thk+pb7wzA==", "dev": true, "requires": { "hosted-git-info": "2.5.0", @@ -7331,7 +7496,8 @@ }, "npm-registry-client": { "version": "8.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.4.0.tgz", + "integrity": "sha512-PVNfqq0lyRdFnE//nDmn3CC9uqTsr8Bya9KPLIevlXMfkP0m4RpCVyFFk0W1Gfx436kKwyhLA6J+lV+rgR81gQ==", "dev": true, "requires": { "concat-stream": "1.6.0", @@ -7349,7 +7515,8 @@ "dependencies": { "concat-stream": { "version": "1.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true, "requires": { "inherits": "2.0.3", @@ -7359,7 +7526,8 @@ "dependencies": { "typedarray": { "version": "0.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true } } @@ -7368,12 +7536,14 @@ }, "npm-user-validate": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-1.0.0.tgz", + "integrity": "sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE=", "dev": true }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { "are-we-there-yet": "1.1.4", @@ -7384,7 +7554,8 @@ "dependencies": { "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "requires": { "delegates": "1.0.0", @@ -7393,19 +7564,22 @@ "dependencies": { "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true } } }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { "aproba": "1.1.2", @@ -7420,17 +7594,20 @@ "dependencies": { "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "1.1.0", @@ -7440,12 +7617,14 @@ "dependencies": { "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -7453,7 +7632,8 @@ "dependencies": { "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true } } @@ -7462,7 +7642,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -7470,14 +7651,16 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true } } }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { "string-width": "1.0.2" @@ -7487,14 +7670,16 @@ }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true } } }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1.0.2" @@ -7502,12 +7687,14 @@ }, "opener": { "version": "1.4.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", + "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", "dev": true }, "osenv": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", "dev": true, "requires": { "os-homedir": "1.0.2", @@ -7516,19 +7703,22 @@ "dependencies": { "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true } } }, "pacote": { "version": "2.7.38", - "bundled": true, + "resolved": "https://registry.npmjs.org/pacote/-/pacote-2.7.38.tgz", + "integrity": "sha512-XxHUyHQB7QCVBxoXeVu0yKxT+2PvJucsc0+1E+6f95lMUxEAYERgSAc71ckYXrYr35Ew3xFU/LrhdIK21GQFFA==", "dev": true, "requires": { "bluebird": "3.5.0", @@ -7556,7 +7746,8 @@ "dependencies": { "make-fetch-happen": { "version": "2.4.13", - "bundled": true, + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-2.4.13.tgz", + "integrity": "sha512-73CsTlMRSLdGr7VvOE8iYl/ejOSIxyfRYg7jZhepGGEqIlgdq6FLe2DEAI5bo813Jdg5fS/Ku62SRQ/UpT6NJA==", "dev": true, "requires": { "agentkeepalive": "3.3.0", @@ -7574,7 +7765,8 @@ "dependencies": { "agentkeepalive": { "version": "3.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.3.0.tgz", + "integrity": "sha512-9yhcpXti2ZQE7bxuCsjjWNIZoQOd9sZ1ZBovHG0YeCRohFv73SLvcm73PC9T3olM4GyozaQb+4MGdQpcD8m7NQ==", "dev": true, "requires": { "humanize-ms": "1.2.1" @@ -7582,7 +7774,8 @@ "dependencies": { "humanize-ms": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", "dev": true, "requires": { "ms": "2.0.0" @@ -7590,7 +7783,8 @@ "dependencies": { "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -7599,12 +7793,14 @@ }, "http-cache-semantics": { "version": "3.7.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.7.3.tgz", + "integrity": "sha1-LzXFMuzSnx5UE7mvgztySjxvf3I=", "dev": true }, "http-proxy-agent": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.0.0.tgz", + "integrity": "sha1-RkgqLwUjpNYIJVFwn0acs+SoX/Q=", "dev": true, "requires": { "agent-base": "4.1.0", @@ -7613,7 +7809,8 @@ "dependencies": { "agent-base": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.1.0.tgz", + "integrity": "sha1-IOF0Ac1Js8B2v1akvGxbQ2/6jVU=", "dev": true, "requires": { "es6-promisify": "5.0.0" @@ -7621,7 +7818,8 @@ "dependencies": { "es6-promisify": { "version": "5.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { "es6-promise": "4.1.1" @@ -7629,7 +7827,8 @@ "dependencies": { "es6-promise": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", + "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==", "dev": true } } @@ -7638,7 +7837,8 @@ }, "debug": { "version": "2.6.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", "dev": true, "requires": { "ms": "2.0.0" @@ -7646,7 +7846,8 @@ "dependencies": { "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -7655,7 +7856,8 @@ }, "https-proxy-agent": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.0.0.tgz", + "integrity": "sha1-/6pLb69YasNAwYoUBDHna31/KUQ=", "dev": true, "requires": { "agent-base": "4.1.0", @@ -7664,7 +7866,8 @@ "dependencies": { "agent-base": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.1.0.tgz", + "integrity": "sha1-IOF0Ac1Js8B2v1akvGxbQ2/6jVU=", "dev": true, "requires": { "es6-promisify": "5.0.0" @@ -7672,7 +7875,8 @@ "dependencies": { "es6-promisify": { "version": "5.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { "es6-promise": "4.1.1" @@ -7680,7 +7884,8 @@ "dependencies": { "es6-promise": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", + "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==", "dev": true } } @@ -7689,7 +7894,8 @@ }, "debug": { "version": "2.6.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", "dev": true, "requires": { "ms": "2.0.0" @@ -7697,7 +7903,8 @@ "dependencies": { "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -7706,7 +7913,8 @@ }, "node-fetch-npm": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.1.tgz", + "integrity": "sha512-W3onhopST5tqpX0/MGSL47pDQLLKobNR83AvkiOWQKaw54h+uYUfzeLAxCiyhWlUOiuI+GIb4O9ojLaAFlhCCA==", "dev": true, "requires": { "encoding": "0.1.12", @@ -7716,7 +7924,8 @@ "dependencies": { "encoding": { "version": "0.1.12", - "bundled": true, + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "dev": true, "requires": { "iconv-lite": "0.4.18" @@ -7724,14 +7933,16 @@ "dependencies": { "iconv-lite": { "version": "0.4.18", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", + "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==", "dev": true } } }, "json-parse-helpfulerror": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz", + "integrity": "sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w=", "dev": true, "requires": { "jju": "1.3.0" @@ -7739,7 +7950,8 @@ "dependencies": { "jju": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz", + "integrity": "sha1-2t2e8BkkvHKLA/L3l5vb1i96Kqo=", "dev": true } } @@ -7748,7 +7960,8 @@ }, "socks-proxy-agent": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.0.tgz", + "integrity": "sha512-YJcT+SNNBgFoK/NpO20PChz0VnBOhkjG3X10BwlrYujd0NZlSsH1jbxSQ1S0njt3sOvzwQ2PvGqqUIvP4rNk/w==", "dev": true, "requires": { "agent-base": "4.1.0", @@ -7757,7 +7970,8 @@ "dependencies": { "agent-base": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.1.0.tgz", + "integrity": "sha1-IOF0Ac1Js8B2v1akvGxbQ2/6jVU=", "dev": true, "requires": { "es6-promisify": "5.0.0" @@ -7765,7 +7979,8 @@ "dependencies": { "es6-promisify": { "version": "5.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { "es6-promise": "4.1.1" @@ -7773,7 +7988,8 @@ "dependencies": { "es6-promise": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", + "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==", "dev": true } } @@ -7782,7 +7998,8 @@ }, "socks": { "version": "1.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", + "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", "dev": true, "requires": { "ip": "1.1.5", @@ -7791,12 +8008,14 @@ "dependencies": { "ip": { "version": "1.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, "smart-buffer": { "version": "1.1.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", + "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", "dev": true } } @@ -7807,7 +8026,8 @@ }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "1.1.8" @@ -7815,7 +8035,8 @@ "dependencies": { "brace-expansion": { "version": "1.1.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { "balanced-match": "1.0.0", @@ -7824,12 +8045,14 @@ "dependencies": { "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true } } @@ -7838,7 +8061,8 @@ }, "npm-pick-manifest": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz", + "integrity": "sha512-MKxNdeyOZysPRTTbHtW0M5Fw38Jo/3ARsoGw5qjCfS+XGjvNB/Gb4qtAZUFmKPM2mVum+eX559eHvKywU856BQ==", "dev": true, "requires": { "npm-package-arg": "5.1.2", @@ -7847,7 +8071,8 @@ }, "promise-retry": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", + "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", "dev": true, "requires": { "err-code": "1.1.2", @@ -7856,14 +8081,16 @@ "dependencies": { "err-code": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", "dev": true } } }, "protoduck": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-4.0.0.tgz", + "integrity": "sha1-/kh02MeRM2bP2erRJFOiLNNlf44=", "dev": true, "requires": { "genfun": "4.0.1" @@ -7871,14 +8098,16 @@ "dependencies": { "genfun": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/genfun/-/genfun-4.0.1.tgz", + "integrity": "sha1-7RAEHy5KfxsKOEZtF6XD4n3x38E=", "dev": true } } }, "tar-fs": { "version": "1.15.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.15.3.tgz", + "integrity": "sha1-7M+TXpQUk9gVECjmNuUc5MPKfyA=", "dev": true, "requires": { "chownr": "1.0.1", @@ -7889,7 +8118,8 @@ "dependencies": { "pump": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz", + "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=", "dev": true, "requires": { "end-of-stream": "1.4.0", @@ -7898,7 +8128,8 @@ "dependencies": { "end-of-stream": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", "dev": true, "requires": { "once": "1.4.0" @@ -7910,7 +8141,8 @@ }, "tar-stream": { "version": "1.5.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", + "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=", "dev": true, "requires": { "bl": "1.2.1", @@ -7921,7 +8153,8 @@ "dependencies": { "bl": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", "dev": true, "requires": { "readable-stream": "2.3.3" @@ -7929,7 +8162,8 @@ }, "end-of-stream": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", "dev": true, "requires": { "once": "1.4.0" @@ -7937,7 +8171,8 @@ }, "xtend": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true } } @@ -7946,17 +8181,20 @@ }, "path-is-inside": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "promise-inflight": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, "read": { "version": "1.0.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", "dev": true, "requires": { "mute-stream": "0.0.7" @@ -7964,14 +8202,16 @@ "dependencies": { "mute-stream": { "version": "0.0.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true } } }, "read-cmd-shim": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz", + "integrity": "sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs=", "dev": true, "requires": { "graceful-fs": "4.1.11" @@ -7979,7 +8219,8 @@ }, "read-installed": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz", + "integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=", "dev": true, "requires": { "debuglog": "1.0.1", @@ -7993,14 +8234,16 @@ "dependencies": { "util-extend": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz", + "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=", "dev": true } } }, "read-package-json": { "version": "2.0.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.10.tgz", + "integrity": "sha512-iNWaEs9hW9nviu5rHADmkm/Ob5dvah5zajtTS1XbyERSzkWgSwWZ6Z12bION7bEAzVc2YRFWnAz8k/tAr+5/eg==", "dev": true, "requires": { "glob": "7.1.2", @@ -8011,7 +8254,8 @@ "dependencies": { "json-parse-helpfulerror": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz", + "integrity": "sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w=", "dev": true, "requires": { "jju": "1.3.0" @@ -8019,7 +8263,8 @@ "dependencies": { "jju": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz", + "integrity": "sha1-2t2e8BkkvHKLA/L3l5vb1i96Kqo=", "dev": true } } @@ -8028,7 +8273,8 @@ }, "read-package-tree": { "version": "5.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.6.tgz", + "integrity": "sha512-FCX1aT3GWyY658wzDICef4p+n0dB+ENRct8E/Qyvppj6xVpOYerBHfUu7OP5Rt1/393Tdglguf5ju5DEX4wZNg==", "dev": true, "requires": { "debuglog": "1.0.1", @@ -8040,7 +8286,8 @@ }, "readable-stream": { "version": "2.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { "core-util-is": "1.0.2", @@ -8054,22 +8301,26 @@ "dependencies": { "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "process-nextick-args": { "version": "1.0.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true }, "string_decoder": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -8077,14 +8328,16 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true } } }, "readdir-scoped-modules": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz", + "integrity": "sha1-n6+jfShr5dksuuve4DDcm19AZ0c=", "dev": true, "requires": { "debuglog": "1.0.1", @@ -8095,7 +8348,8 @@ }, "request": { "version": "2.81.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, "requires": { "aws-sign2": "0.6.0", @@ -8124,22 +8378,26 @@ "dependencies": { "aws-sign2": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true }, "aws4": { "version": "1.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", "dev": true }, "caseless": { "version": "0.12.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "combined-stream": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "dev": true, "requires": { "delayed-stream": "1.0.0" @@ -8147,24 +8405,28 @@ "dependencies": { "delayed-stream": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true } } }, "extend": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", "dev": true }, "forever-agent": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { "version": "2.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { "asynckit": "0.4.0", @@ -8174,14 +8436,16 @@ "dependencies": { "asynckit": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true } } }, "har-validator": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "dev": true, "requires": { "ajv": "4.11.8", @@ -8190,7 +8454,8 @@ "dependencies": { "ajv": { "version": "4.11.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true, "requires": { "co": "4.6.0", @@ -8199,12 +8464,14 @@ "dependencies": { "co": { "version": "4.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, "json-stable-stringify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { "jsonify": "0.0.0" @@ -8212,7 +8479,8 @@ "dependencies": { "jsonify": { "version": "0.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true } } @@ -8221,14 +8489,16 @@ }, "har-schema": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", "dev": true } } }, "hawk": { "version": "3.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { "boom": "2.10.1", @@ -8239,7 +8509,8 @@ "dependencies": { "boom": { "version": "2.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { "hoek": "2.16.3" @@ -8247,7 +8518,8 @@ }, "cryptiles": { "version": "2.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { "boom": "2.10.1" @@ -8255,12 +8527,14 @@ }, "hoek": { "version": "2.16.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true }, "sntp": { "version": "1.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { "hoek": "2.16.3" @@ -8270,7 +8544,8 @@ }, "http-signature": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { "assert-plus": "0.2.0", @@ -8280,12 +8555,14 @@ "dependencies": { "assert-plus": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "dev": true }, "jsprim": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", + "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", "dev": true, "requires": { "assert-plus": "1.0.0", @@ -8296,22 +8573,26 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "extsprintf": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", "dev": true }, "json-schema": { "version": "0.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, "verror": { "version": "1.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", "dev": true, "requires": { "extsprintf": "1.0.2" @@ -8321,7 +8602,8 @@ }, "sshpk": { "version": "1.13.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "dev": true, "requires": { "asn1": "0.2.3", @@ -8336,17 +8618,20 @@ "dependencies": { "asn1": { "version": "0.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", "dev": true }, "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "dev": true, "optional": true, "requires": { @@ -8355,7 +8640,8 @@ }, "dashdash": { "version": "1.14.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { "assert-plus": "1.0.0" @@ -8363,7 +8649,8 @@ }, "ecc-jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "dev": true, "optional": true, "requires": { @@ -8372,7 +8659,8 @@ }, "getpass": { "version": "0.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { "assert-plus": "1.0.0" @@ -8380,13 +8668,15 @@ }, "jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true, "optional": true }, "tweetnacl": { "version": "0.14.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true, "optional": true } @@ -8396,22 +8686,26 @@ }, "is-typedarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "isstream": { "version": "0.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "json-stringify-safe": { "version": "5.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "mime-types": { "version": "2.1.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", + "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "dev": true, "requires": { "mime-db": "1.27.0" @@ -8419,34 +8713,40 @@ "dependencies": { "mime-db": { "version": "1.27.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", + "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", "dev": true } } }, "oauth-sign": { "version": "0.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", "dev": true }, "performance-now": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", "dev": true }, "qs": { "version": "6.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", "dev": true }, "stringstream": { "version": "0.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", "dev": true }, "tough-cookie": { "version": "2.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", "dev": true, "requires": { "punycode": "1.4.1" @@ -8454,14 +8754,16 @@ "dependencies": { "punycode": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true } } }, "tunnel-agent": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -8471,12 +8773,14 @@ }, "retry": { "version": "0.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", "dev": true }, "rimraf": { "version": "2.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", "dev": true, "requires": { "glob": "7.1.2" @@ -8484,17 +8788,20 @@ }, "safe-buffer": { "version": "5.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, "semver": { "version": "5.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "dev": true }, "sha": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz", + "integrity": "sha1-YDCCL70smCOUn49y7WQR7lzyWq4=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -8503,17 +8810,20 @@ }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "sorted-object": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.1.tgz", + "integrity": "sha1-fWMfS9OnmKJK8d/8+/6DM3pd9fw=", "dev": true }, "sorted-union-stream": { "version": "2.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz", + "integrity": "sha1-x3lMfgd4gAUv9xqNSi27Sppjisc=", "dev": true, "requires": { "from2": "1.3.0", @@ -8522,7 +8832,8 @@ "dependencies": { "from2": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/from2/-/from2-1.3.0.tgz", + "integrity": "sha1-iEE7qqX5pZfP3pIh2GmGzTwGHf0=", "dev": true, "requires": { "inherits": "2.0.3", @@ -8531,7 +8842,8 @@ "dependencies": { "readable-stream": { "version": "1.1.14", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { "core-util-is": "1.0.2", @@ -8542,17 +8854,20 @@ "dependencies": { "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "isarray": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, "string_decoder": { "version": "0.10.31", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } } @@ -8561,7 +8876,8 @@ }, "stream-iterate": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/stream-iterate/-/stream-iterate-1.2.0.tgz", + "integrity": "sha1-K9fHcpbBcCpGSIuK1B95hl7s1OE=", "dev": true, "requires": { "readable-stream": "2.3.3", @@ -8570,7 +8886,8 @@ "dependencies": { "stream-shift": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true } } @@ -8579,7 +8896,8 @@ }, "ssri": { "version": "4.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/ssri/-/ssri-4.1.6.tgz", + "integrity": "sha512-WUbCdgSAMQjTFZRWvSPpauryvREEA+Krn19rx67UlJEJx/M192ZHxMmJXjZ4tkdFm+Sb0SXGlENeQVlA5wY7kA==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -8587,7 +8905,8 @@ }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "3.0.0" @@ -8595,14 +8914,16 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true } } }, "tar": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { "block-stream": "0.0.9", @@ -8612,7 +8933,8 @@ "dependencies": { "block-stream": { "version": "0.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { "inherits": "2.0.3" @@ -8622,22 +8944,26 @@ }, "text-table": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "uid-number": { "version": "0.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", "dev": true }, "umask": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", + "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=", "dev": true }, "unique-filename": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { "unique-slug": "2.0.0" @@ -8645,7 +8971,8 @@ "dependencies": { "unique-slug": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { "imurmurhash": "0.1.4" @@ -8655,12 +8982,14 @@ }, "unpipe": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, "update-notifier": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.2.0.tgz", + "integrity": "sha1-G1g3z5DAc22IYncytmHBOPht5y8=", "dev": true, "requires": { "boxen": "1.1.0", @@ -8675,7 +9004,8 @@ "dependencies": { "boxen": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.1.0.tgz", + "integrity": "sha1-sbad1SIwXoB6md7ud329blFnsQI=", "dev": true, "requires": { "ansi-align": "2.0.0", @@ -8689,7 +9019,8 @@ "dependencies": { "ansi-align": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { "string-width": "2.1.0" @@ -8697,17 +9028,20 @@ }, "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "cli-boxes": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", "dev": true }, "string-width": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.0.tgz", + "integrity": "sha1-AwZkVh/BRslCPsfZeP4kV0N/5tA=", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", @@ -8716,12 +9050,14 @@ "dependencies": { "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "3.0.0" @@ -8731,7 +9067,8 @@ }, "term-size": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/term-size/-/term-size-0.1.1.tgz", + "integrity": "sha1-hzYLljlsq1dgljcUzaDQy+7K2co=", "dev": true, "requires": { "execa": "0.4.0" @@ -8739,7 +9076,8 @@ "dependencies": { "execa": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.4.0.tgz", + "integrity": "sha1-TrZGejaglfq7KXD/nV4/t7zm68M=", "dev": true, "requires": { "cross-spawn-async": "2.2.5", @@ -8752,7 +9090,8 @@ "dependencies": { "cross-spawn-async": { "version": "2.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz", + "integrity": "sha1-hF/wwINKPe2dFg2sptOQkGuyiMw=", "dev": true, "requires": { "lru-cache": "4.1.1", @@ -8761,12 +9100,14 @@ }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "npm-run-path": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz", + "integrity": "sha1-9cMr9ZX+ga6Sfa7FLoL4sACsPI8=", "dev": true, "requires": { "path-key": "1.0.0" @@ -8774,17 +9115,20 @@ }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "path-key": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz", + "integrity": "sha1-XVPVeAGWRsDWiADbThRua9wqx68=", "dev": true }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true } } @@ -8793,7 +9137,8 @@ }, "widest-line": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", + "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", "dev": true, "requires": { "string-width": "1.0.2" @@ -8801,7 +9146,8 @@ "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "1.1.0", @@ -8811,12 +9157,14 @@ "dependencies": { "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -8824,14 +9172,16 @@ "dependencies": { "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true } } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -8839,7 +9189,8 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true } } @@ -8852,7 +9203,8 @@ }, "chalk": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { "ansi-styles": "2.2.1", @@ -8864,17 +9216,20 @@ "dependencies": { "ansi-styles": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "has-ansi": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -8882,14 +9237,16 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true } } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -8897,21 +9254,24 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true } } }, "supports-color": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true } } }, "configstore": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.0.tgz", + "integrity": "sha1-Rd+QcHPibfoc9LLVL1tgVF6qEdE=", "dev": true, "requires": { "dot-prop": "4.1.1", @@ -8924,7 +9284,8 @@ "dependencies": { "dot-prop": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.1.1.tgz", + "integrity": "sha1-qEk/C3te7sglJbXHWH+n3nyoWcE=", "dev": true, "requires": { "is-obj": "1.0.1" @@ -8932,14 +9293,16 @@ "dependencies": { "is-obj": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true } } }, "make-dir": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", + "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", "dev": true, "requires": { "pify": "2.3.0" @@ -8947,14 +9310,16 @@ "dependencies": { "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } } }, "unique-string": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { "crypto-random-string": "1.0.0" @@ -8962,7 +9327,8 @@ "dependencies": { "crypto-random-string": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true } } @@ -8971,17 +9337,20 @@ }, "import-lazy": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", "dev": true }, "is-npm": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", "dev": true }, "latest-version": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { "package-json": "4.0.1" @@ -8989,7 +9358,8 @@ "dependencies": { "package-json": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { "got": "6.7.1", @@ -9000,7 +9370,8 @@ "dependencies": { "got": { "version": "6.7.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { "create-error-class": "3.0.2", @@ -9018,7 +9389,8 @@ "dependencies": { "create-error-class": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { "capture-stack-trace": "1.0.0" @@ -9026,54 +9398,64 @@ "dependencies": { "capture-stack-trace": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", "dev": true } } }, "duplexer3": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "is-redirect": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", "dev": true }, "is-retry-allowed": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", "dev": true }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "lowercase-keys": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", "dev": true }, "timed-out": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, "unzip-response": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", "dev": true }, "url-parse-lax": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { "prepend-http": "1.0.4" @@ -9081,7 +9463,8 @@ "dependencies": { "prepend-http": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true } } @@ -9090,7 +9473,8 @@ }, "registry-auth-token": { "version": "3.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", + "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", "dev": true, "requires": { "rc": "1.2.1", @@ -9099,7 +9483,8 @@ "dependencies": { "rc": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", + "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", "dev": true, "requires": { "deep-extend": "0.4.2", @@ -9110,17 +9495,20 @@ "dependencies": { "deep-extend": { "version": "0.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", "dev": true }, "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true } } @@ -9129,7 +9517,8 @@ }, "registry-url": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { "rc": "1.2.1" @@ -9137,7 +9526,8 @@ "dependencies": { "rc": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", + "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", "dev": true, "requires": { "deep-extend": "0.4.2", @@ -9148,17 +9538,20 @@ "dependencies": { "deep-extend": { "version": "0.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", "dev": true }, "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true } } @@ -9171,7 +9564,8 @@ }, "semver-diff": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { "semver": "5.3.0" @@ -9179,19 +9573,22 @@ }, "xdg-basedir": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true } } }, "uuid": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", "dev": true }, "validate-npm-package-license": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { "spdx-correct": "1.0.2", @@ -9200,7 +9597,8 @@ "dependencies": { "spdx-correct": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { "spdx-license-ids": "1.2.2" @@ -9208,21 +9606,24 @@ "dependencies": { "spdx-license-ids": { "version": "1.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", "dev": true } } }, "spdx-expression-parse": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", "dev": true } } }, "validate-npm-package-name": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", "dev": true, "requires": { "builtins": "1.0.3" @@ -9230,14 +9631,16 @@ "dependencies": { "builtins": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", "dev": true } } }, "which": { "version": "1.2.14", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", "dev": true, "requires": { "isexe": "2.0.0" @@ -9245,14 +9648,16 @@ "dependencies": { "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true } } }, "worker-farm": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.4.1.tgz", + "integrity": "sha512-tgFAtgOYLPutkAyzgpS6VJFL5HY+0ui1Tvua+fITgz8ByaJTMFGtazR6xxQfwfiAcbwE+2fLG/K49wc2TfwCNw==", "dev": true, "requires": { "errno": "0.1.4", @@ -9261,7 +9666,8 @@ "dependencies": { "errno": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", "dev": true, "requires": { "prr": "0.0.0" @@ -9269,26 +9675,30 @@ "dependencies": { "prr": { "version": "0.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", "dev": true } } }, "xtend": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true } } }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.1.0.tgz", + "integrity": "sha512-0TZ20a+xcIl4u0+Mj5xDH2yOWdmQiXlKf9Hm+TgDXjTMsEYb+gDrmb8e8UNAzMCitX8NBqG4Z/FUQIyzv/R1JQ==", "dev": true, "requires": { "graceful-fs": "4.1.11", From bc1a02a2fd3dfefa2703d935e2b5cea293916ccc Mon Sep 17 00:00:00 2001 From: koester Date: Mon, 25 Dec 2017 14:23:45 +0100 Subject: [PATCH 15/20] Make buttons inline-block on mobile && remove article custom style. --- src/components/_article.scss | 7 ------- src/components/_buttons.scss | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src/components/_article.scss b/src/components/_article.scss index c6399ad..1ce230c 100644 --- a/src/components/_article.scss +++ b/src/components/_article.scss @@ -24,13 +24,6 @@ article { } button { - @include resp(xs) { - margin: 0 auto; - display: block; - width: 100%; - margin-bottom: 1.5rem; - } - &:not(:first-of-type) { margin-left: 2rem; diff --git a/src/components/_buttons.scss b/src/components/_buttons.scss index 0ed0d0d..347a40c 100644 --- a/src/components/_buttons.scss +++ b/src/components/_buttons.scss @@ -15,7 +15,7 @@ button, @include shadow(); @include resp(520px) { - display: block; + display: inline-block; margin: 0 auto; text-align: center; margin-bottom: 1rem; From 28c1d00790a925f576ecbc95f29f684690c0ae8a Mon Sep 17 00:00:00 2001 From: Afzal Sayed Date: Thu, 14 Dec 2017 16:24:37 +0530 Subject: [PATCH 16/20] added accordions --- index.html | 153 ++++++++++++++++++++++++++++++++++++++++++++- src/accordion.less | 49 +++++++++++++++ 2 files changed, 201 insertions(+), 1 deletion(-) create mode 100644 src/accordion.less diff --git a/index.html b/index.html index e3ef9b9..c95c635 100644 --- a/index.html +++ b/index.html @@ -66,6 +66,7 @@
  • Tabs
  • Article
  • Modals
  • +
  • Collapsibles
  • @@ -1196,7 +1197,158 @@
    +
    +

    Collapsibles

    +

    Collapsibles are elements that expand when you click on them. You can hide/reveal content back on clicking.

    +
    +
    + + +
    + + Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola. Frankfurter + rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs. + +
    +
    +
    + + +
    + + Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken. Pork belly meatball + t-bone bresaola tail filet mignon kevin turkey ribeye shank flank doner cow kielbasa shankle. + +
    +
    +
    + + +
    + + Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola. Frankfurter + rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs. + +
    +
    +
    + + +
    + + Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken. Pork belly meatball + t-bone bresaola tail filet mignon kevin turkey ribeye shank flank doner cow kielbasa shankle. + +
    +
    +
    +
    +
    <div class="row">
    +  <div class="collapsible">
    +    <input id="collapsible1" type="checkbox" name="collapsible">
    +    <label for="collapsible1">First</label>
    +    <div class="collapsible-body">
    +      <span>Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken...</span>
    +    </div>
    +  </div>
    +  <div class="collapsible">
    +    <input id="collapsible2" type="checkbox" name="collapsible">
    +    <label for="collapsible2">Second</label>
    +    <div class="collapsible-body">
    +      <span>Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola...</span>
    +    </div>
    +  </div>
    +  <div class="collapsible">
    +    <input id="collapsible3" type="checkbox" name="collapsible">
    +    <label for="collapsible3">Third</label>
    +    <div class="collapsible-body">
    +      <span>Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken...</span>
    +    </div>
    +  </div>
    +  <div class="collapsible">
    +    <input id="collapsible4" type="checkbox" name="collapsible">
    +    <label for="collapsible4">Fourth</label>
    +    <div class="collapsible-body">
    +      <span>Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola...</span>
    +    </div>
    +  </div>
    +</div>
    +

    Accordions

    +

    Use input="radio" when you want to keep only one element collapsed at a time.

    +
    +
    + + +
    + + Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola. Frankfurter + rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs. + +
    +
    +
    + + +
    + + Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken. Pork belly meatball + t-bone bresaola tail filet mignon kevin turkey ribeye shank flank doner cow kielbasa shankle. + +
    +
    +
    + + +
    + + Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola. Frankfurter + rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs. + +
    +
    +
    + + +
    + + Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken. Pork belly meatball + t-bone bresaola tail filet mignon kevin turkey ribeye shank flank doner cow kielbasa shankle. + +
    +
    +
    +
    <div class="row">
    +  <div class="collapsible">
    +    <input id="collapsible5" type="radio" name="collapsible">
    +    <label for="collapsible5">First</label>
    +    <div class="collapsible-body">
    +      <span>Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken...</span>
    +    </div>
    +  </div>
    +  <div class="collapsible">
    +    <input id="collapsible6" type="radio" name="collapsible">
    +    <label for="collapsible6">Second</label>
    +    <div class="collapsible-body">
    +      <span>Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola...</span>
    +    </div>
    +  </div>
    +  <div class="collapsible">
    +    <input id="collapsible7" type="radio" name="collapsible">
    +    <label for="collapsible7">Third</label>
    +    <div class="collapsible-body">
    +      <span>Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken...</span>
    +    </div>
    +  </div>
    +  <div class="collapsible">
    +    <input id="collapsible8" type="radio" name="collapsible">
    +    <label for="collapsible8">Fourth</label>
    +    <div class="collapsible-body">
    +      <span>Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola...</span>
    +    </div>
    +  </div>
    +</div>
    +

    Modals

    Simple modal example

    @@ -1227,7 +1379,6 @@ </div> </div>
    -

    Modal with title, text and links

    Another Modal! diff --git a/src/accordion.less b/src/accordion.less new file mode 100644 index 0000000..1b8eee3 --- /dev/null +++ b/src/accordion.less @@ -0,0 +1,49 @@ +.collapsible { + display: flex; + flex-direction: column; + &:nth-of-type(1) { + border-top: 1px solid @muted-light; + } + + .collapsible-body { + max-height: 0px; + opacity: 0; + overflow: hidden; + padding: 0rem 0.75rem; + margin:0; + background-color: lighten(@white-dark,80%); + border-bottom: 1px solid @muted-light; + transition: max-height 0.25s ease, padding 0.25s ease, opacity 0.25s ease; + -webkit-transition: max-height 0.25s ease, padding 0.25s ease, opacity 0.25s ease; + -o-transition: max-height 0.25s ease, padding 0.25s ease, opacity 0.25s ease; + -moz-transition: max-height 0.25s ease, padding 0.25s ease, opacity 0.25s ease; + } + + input { + display: none; + } + + label { + display: inline-block; + margin: 0 0 -1px; + padding: 0.75rem 0.75rem; + font-weight: 600; + text-align: center; + color: @primary; + border-bottom: 1px solid @muted-light; + } + + label:hover { + color: @muted; + cursor: pointer; + } + input:checked+label { + color: @primary; + } + input[id ^="collapsible"]:checked ~ div.collapsible-body { + opacity: 1; + max-height: 960px; + padding: 0.75rem 0.75rem; + margin: 0; + } +} \ No newline at end of file From 30dcec147e9204e4622f7f16c00e7408fb90e419 Mon Sep 17 00:00:00 2001 From: Afzal Sayed Date: Thu, 14 Dec 2017 16:44:47 +0530 Subject: [PATCH 17/20] Fix type-o --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index c95c635..6a243d0 100644 --- a/index.html +++ b/index.html @@ -1275,7 +1275,7 @@ </div>

    Accordions

    -

    Use input="radio" when you want to keep only one element collapsed at a time.

    +

    Use input type="radio" when you want to keep only one element collapsed at a time.

    From c92ab9af22e401db1f9a2185cc7f920e6722042e Mon Sep 17 00:00:00 2001 From: Afzal Sayed Date: Fri, 15 Dec 2017 23:04:00 +0530 Subject: [PATCH 18/20] Added imports --- src/accordion.less | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/accordion.less b/src/accordion.less index 1b8eee3..0e6c272 100644 --- a/src/accordion.less +++ b/src/accordion.less @@ -1,3 +1,5 @@ +@import './colors.less'; + .collapsible { display: flex; flex-direction: column; @@ -46,4 +48,4 @@ padding: 0.75rem 0.75rem; margin: 0; } -} \ No newline at end of file +} From 4655186720d166f6f98811c1427dddc971eea6b8 Mon Sep 17 00:00:00 2001 From: Afzal Sayed Date: Fri, 15 Dec 2017 23:28:18 +0530 Subject: [PATCH 19/20] Added mixins for transitions --- src/accordion.less | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/accordion.less b/src/accordion.less index 0e6c272..5d82464 100644 --- a/src/accordion.less +++ b/src/accordion.less @@ -1,5 +1,13 @@ @import './colors.less'; +.transition(@transition) { + -webkit-transition: max-height @transition, padding @transition, opacity @transition; + -moz-transition: max-height @transition, padding @transition, opacity @transition; + -o-transition: max-height @transition, padding @transition, opacity @transition; + transition: max-height @transition, padding @transition, opacity @transition; +} + + .collapsible { display: flex; flex-direction: column; @@ -15,10 +23,7 @@ margin:0; background-color: lighten(@white-dark,80%); border-bottom: 1px solid @muted-light; - transition: max-height 0.25s ease, padding 0.25s ease, opacity 0.25s ease; - -webkit-transition: max-height 0.25s ease, padding 0.25s ease, opacity 0.25s ease; - -o-transition: max-height 0.25s ease, padding 0.25s ease, opacity 0.25s ease; - -moz-transition: max-height 0.25s ease, padding 0.25s ease, opacity 0.25s ease; + .transition(~"0.25s ease"); } input { From a89b6e88524746912eb1142a3bee008175982a92 Mon Sep 17 00:00:00 2001 From: rhyneav Date: Wed, 27 Dec 2017 11:39:45 -0500 Subject: [PATCH 20/20] convert accordion to scss --- src/accordion.less | 56 ---------------------------------- src/components/_accordion.scss | 53 ++++++++++++++++++++++++++++++++ src/styles.scss | 1 + 3 files changed, 54 insertions(+), 56 deletions(-) delete mode 100644 src/accordion.less create mode 100644 src/components/_accordion.scss diff --git a/src/accordion.less b/src/accordion.less deleted file mode 100644 index 5d82464..0000000 --- a/src/accordion.less +++ /dev/null @@ -1,56 +0,0 @@ -@import './colors.less'; - -.transition(@transition) { - -webkit-transition: max-height @transition, padding @transition, opacity @transition; - -moz-transition: max-height @transition, padding @transition, opacity @transition; - -o-transition: max-height @transition, padding @transition, opacity @transition; - transition: max-height @transition, padding @transition, opacity @transition; -} - - -.collapsible { - display: flex; - flex-direction: column; - &:nth-of-type(1) { - border-top: 1px solid @muted-light; - } - - .collapsible-body { - max-height: 0px; - opacity: 0; - overflow: hidden; - padding: 0rem 0.75rem; - margin:0; - background-color: lighten(@white-dark,80%); - border-bottom: 1px solid @muted-light; - .transition(~"0.25s ease"); - } - - input { - display: none; - } - - label { - display: inline-block; - margin: 0 0 -1px; - padding: 0.75rem 0.75rem; - font-weight: 600; - text-align: center; - color: @primary; - border-bottom: 1px solid @muted-light; - } - - label:hover { - color: @muted; - cursor: pointer; - } - input:checked+label { - color: @primary; - } - input[id ^="collapsible"]:checked ~ div.collapsible-body { - opacity: 1; - max-height: 960px; - padding: 0.75rem 0.75rem; - margin: 0; - } -} diff --git a/src/components/_accordion.scss b/src/components/_accordion.scss new file mode 100644 index 0000000..858b05d --- /dev/null +++ b/src/components/_accordion.scss @@ -0,0 +1,53 @@ +@mixin transition($transition){ + -webkit-transition: max-height $transition, padding $transition, opacity $transition; + -moz-transition: max-height $transition, padding $transition, opacity $transition; + -o-transition: max-height $transition, padding $transition, opacity $transition; + transition: max-height $transition, padding $transition, opacity $transition; +} + +.collapsible { + display: flex; + flex-direction: column; + &:nth-of-type(1) { + border-top: 1px solid $muted-light; + } + + .collapsible-body { + max-height: 0px; + opacity: 0; + overflow: hidden; + padding: 0rem 0.75rem; + margin:0; + background-color: lighten($white-dark,80%); + border-bottom: 1px solid $muted-light; + @include transition(#{"0.25s ease"}); + } + + input { + display: none; + } + + label { + display: inline-block; + margin: 0 0 -1px; + padding: 0.75rem 0.75rem; + font-weight: 600; + text-align: center; + color: $primary; + border-bottom: 1px solid $muted-light; + } + + label:hover { + color: $muted; + cursor: pointer; + } + input:checked+label { + color: $primary; + } + input[id ^="collapsible"]:checked ~ div.collapsible-body { + opacity: 1; + max-height: 960px; + padding: 0.75rem 0.75rem; + margin: 0; + } +} diff --git a/src/styles.scss b/src/styles.scss index 8724749..2b99a4d 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -20,6 +20,7 @@ @import 'utilities/shadows'; /* Components */ +@import 'components/accordion'; @import 'components/alerts'; @import 'components/article'; @import 'components/badges';