diff --git a/CHANGELOG.md b/CHANGELOG.md index efe8fb69..3fe1eaee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## 3.1.0 + +* Replaces `grunt-contrib-sass` with `grunt-sass` (uses `node-sass` under the hood) +* Uses full path to node modules depenencies, rather than depending on loadPath +* Small bugfixes when trying to compile sass locally in this repo, due to +incorrect paths. +* Add a new partial, `burf-tools`, for minimal uses of Foundation +* Adds mega menu support for child themes by default. +* Fixes an issue preventing the icons mixin from being used inside media queries +* Icon placeholders and classes are now generated from the $icons-responsive map +* Adds the ability to change the before/after placement of icons globally across +the theme +* Fixes skip link issues [#173](https://github.com/bu-ist/responsive-foundation/issues/173) +* Fixes a spacing issue with hidden page titles [#174](https://github.com/bu-ist/responsive-foundation/issues/174) +* Adds variable to control gallery margin [#174](https://github.com/bu-ist/responsive-foundation/issues/174) +* Fixes [#103](https://github.com/bu-ist/responsive-foundation/issues/103) +* Fixes [#97](https://github.com/bu-ist/responsive-foundation/issues/97) with new `$padding-banner` and `$padding-banner-window-width` variables +* Fixes [#84](https://github.com/bu-ist/responsive-foundation/issues/84) + ## 3.0.1 * Correct paths from bower_components to node_modules. @@ -13,6 +32,7 @@ ## 2.1.12 * Fixed size and positioning of skip-link. +* Migrate from Bower to npm for frontend dependencies ## 2.1.11 * Fixes an issue with external linking. This is a required update for all 2.0 themes. diff --git a/Gruntfile.js b/Gruntfile.js index ddc1e39e..0163a7d4 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,12 +1,15 @@ module.exports = function(grunt) { + + // Require external packages. + var sass = require('node-sass'); + // Set up a versioned folder for SassDoc var pkg = require('./package.json'), docsVersionFilePath = 'docs/' + pkg.version; grunt.file.mkdir( docsVersionFilePath ); - // Configure Grunt - + // Configure Grunt. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), browserSync: { @@ -78,14 +81,13 @@ module.exports = function(grunt) { src: ['**'] }, sass: { + options: { + implementation: sass, + sourceMap: true + }, docs: { options: { style: 'compressed', - loadPath: [ - 'node_modules/normalize-scss/sass', - 'node_modules/mathsass/dist/', - 'css-dev' - ], }, files: { 'docs/css/docs.css': '_docs/css-dev/docs.scss', @@ -151,20 +153,23 @@ module.exports = function(grunt) { } }); + // Load Plugins. grunt.loadNpmTasks('grunt-browser-sync'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-copy'); - grunt.loadNpmTasks('grunt-contrib-sass'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-gh-pages'); + grunt.loadNpmTasks('grunt-sass'); grunt.loadNpmTasks('grunt-sassdoc'); grunt.loadNpmTasks('grunt-version'); + // Register Tasks. grunt.registerTask('build', ['sassdoc']); grunt.registerTask('deploy', ['build', 'gh-pages']); grunt.registerTask('serve', ['build', 'browserSync:current', 'watch']); grunt.registerTask('previewall', ['build', 'browserSync:all', 'watch']); + // Register default `grunt` task. grunt.registerTask('default', ['serve']); }; diff --git a/css-dev/burf-base.scss b/css-dev/burf-base.scss index 6e397903..5e45828b 100644 --- a/css-dev/burf-base.scss +++ b/css-dev/burf-base.scss @@ -3,14 +3,14 @@ // ================================================================= // dependencies and resets -@import "normalize/import-now"; -@import "math"; +@import 'node_modules/normalize-scss/sass/normalize/import-now'; +@import 'node_modules/mathsass/dist/math'; // Utilities -@import "burf-base/config"; -@import "burf-base/mixins"; -@import "burf-base/fonts"; -@import "burf-base/icons/package"; +@import 'burf-base/config'; +@import 'burf-base/mixins'; +@import 'burf-base/fonts'; +@import 'burf-base/icons/package'; // Styles @import "burf-base/normalize"; @@ -18,10 +18,11 @@ @import "burf-base/typography"; @import "burf-base/tables"; @import "burf-base/forms"; +@import 'burf-base/print'; // ================================================================= // Tests // TODO: Remove before release // ================================================================= -@import "burf-base/tests"; \ No newline at end of file +@import 'burf-base/tests'; \ No newline at end of file diff --git a/css-dev/burf-base/_config.scss b/css-dev/burf-base/_config.scss index 099b890a..7fc2c092 100644 --- a/css-dev/burf-base/_config.scss +++ b/css-dev/burf-base/_config.scss @@ -2,6 +2,17 @@ // Variables // ================================================================= +/// Turns a number of extra classes on or off. This is really only +/// for the tools partial - you shouldn't use it in a custom theme +/// unless you're VERY sure you will never need it. Placeholders will +/// still work when this is set to false. Affects friendly grid classes, +/// utility classes, +/// @group grid +/// @access public +/// @since 2.1.11 + +$burf-extras: true !default; + /// Whether or not to print media queries in your stylesheet. /// If you set this to false, it will print media queries in the /// order they are declared so that desktop styles will always diff --git a/css-dev/burf-base/_fonts.scss b/css-dev/burf-base/_fonts.scss index f2d109c2..f571f7f6 100644 --- a/css-dev/burf-base/_fonts.scss +++ b/css-dev/burf-base/_fonts.scss @@ -83,18 +83,3 @@ font-style: italic; font-weight: 700; } - -// BU Default Icons -// ----------------------------------------------------------------- - -@font-face { - font-family: 'BU-Default-Icons'; - src: url( '//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.eot' ); - src: url( '//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.eot?#iefix' ) format( 'embedded-opentype' ), - url( '//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.woff' ) format( 'woff' ), - url( '//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.ttf' ) format( 'truetype' ), - url( '//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.svg#bu-default-icons' ) format( 'svg' ); - font-style: normal; - font-weight: 400; - // unicode-range:U+??????; /* Include all Unicode possiblities */ -} diff --git a/css-dev/burf-base/_mixins.scss b/css-dev/burf-base/_mixins.scss index f61c1fa6..e258b8c9 100644 --- a/css-dev/burf-base/_mixins.scss +++ b/css-dev/burf-base/_mixins.scss @@ -23,8 +23,7 @@ /// @access public /// @since 1.0.0 -%clearfix, -.u-clearfix { +%clearfix { &::after { display: table; clear: both; @@ -32,6 +31,12 @@ } } +@if $burf-extras { + .u-clearfix { + @extend %clearfix; + } +} + /// A mixin for border-radius. Takes care of browser /// prefixes for you. You should always use this mixin /// when writing border-radius rules to ensure you're @@ -558,13 +563,18 @@ /// @access public /// @since 1.0.0 -%hide-text, -.u-hide-text { +%hide-text { overflow: hidden; text-indent: 100%; white-space: nowrap; } +@if $burf-extras { + .u-hide-text { + @extend %hide-text; + } +} + /// Hides entire elements visually, but preserves visibility for /// screen readers. Use this placeholder when an element is only /// for screen readers and needs no visual representation on the site. @@ -581,8 +591,7 @@ /// @access public /// @since 1.0.0 -%visually-hidden, -.u-visually-hidden { +%visually-hidden { border: 0; clip: rect( 0, 0, 0, 0 ); // Deprecated. Remove when clip-path support is better. -webkit-clip-path: inset( 50% ); @@ -595,6 +604,12 @@ width: 1px; } +@if $burf-extras { + .u-visually-hidden { + @extend %visually-hidden; + } +} + /// Reverses `%visually-hidden`. Helpful if you want to /// unhide a previously hidden label. /// @example @@ -626,8 +641,10 @@ /// @access public /// @since 2.0.0 -.u-hide { - display: none; +@if $burf-extras { + .u-hide { + display: none; + } } /// A class for developers to use to quickly prototype filtering. @@ -639,8 +656,10 @@ /// @access public /// @since 2.0.0 -.u-show { - display: block; +@if $burf-extras { + .u-show { + display: block; + } } /// A class for developers to use to enable style matching to @@ -652,8 +671,10 @@ /// @access public /// @since 2.0.0 -.u-padding { - padding: $padding; +@if $burf-extras { + .u-padding { + padding: $padding; + } } /// A class for developers to use to enable style matching to @@ -665,8 +686,10 @@ /// @access public /// @since 2.0.0 -.u-margin { - margin: $margin; +@if $burf-extras { + .u-margin { + margin: $margin; + } } /// A safe way to including responsive styles on old browers which @@ -712,7 +735,7 @@ @error 'The breakpoint shortcut "#{$point}" is no longer supported as of Responsive 2.0. \a Use the direct breakpoint variable ($#{$point}) instead. \a If want to use max-width, write a plain @media query.'; } @if ( $mqs ) { - @media screen and ( min-width: $point ) { + @media ( min-width: $point ) { @content; } } @else { diff --git a/css-dev/burf-base/_normalize-variables.scss b/css-dev/burf-base/_normalize-variables.scss new file mode 100644 index 00000000..9ce68d68 --- /dev/null +++ b/css-dev/burf-base/_normalize-variables.scss @@ -0,0 +1,20 @@ +// ================================================================= +// Global Settings +// ================================================================= + +/// Controls the default color used for text across the site. +/// Affects body text and anything else that isn't +/// specifically overridden. +/// @group 01-config +/// @access public +/// @since 1.0.0 +/// @accessibility AA + +$color-base: $color-grayscale-5 !default; + +/// Base margin for the section tag. +/// @group 01-config +/// @access public +/// @since 2.0.0 + +$margin-section: $margin-large 0 0 !default; diff --git a/css-dev/burf-base/_normalize.scss b/css-dev/burf-base/_normalize.scss index 06ec89a3..63745cd7 100644 --- a/css-dev/burf-base/_normalize.scss +++ b/css-dev/burf-base/_normalize.scss @@ -2,49 +2,7 @@ // Global Settings // ================================================================= -/// Controls the default font used across the site. -/// Affects body text and anything else that isn't -/// specifically overridden. -/// @group 01-config -/// @access public -/// @since 1.0.0 - -$font-family-base: "TiemposText", Georgia, serif !default; - -/// Controls the default font size used across the site. -/// Affects body text and anything else that isn't -/// specifically overridden. -/// @group 01-config -/// @access public -/// @since 1.0.0 - -$font-size-base: 18px !default; - -/// Controls the default line height used across the site. -/// Affects body text and anything else that isn't -/// specifically overridden. -/// @group 01-config -/// @access public -/// @since 1.0.0 - -$line-height-base: 1.6 !default; - -/// Controls the default color used for text across the site. -/// Affects body text and anything else that isn't -/// specifically overridden. -/// @group 01-config -/// @access public -/// @since 1.0.0 -/// @accessibility AA - -$color-base: $color-grayscale-5 !default; - -/// Base margin for the section tag. -/// @group 01-config -/// @access public -/// @since 2.0.0 - -$margin-section: $margin-large 0 0 !default; +@import 'normalize-variables'; // ================================================================= // Global Styles @@ -72,18 +30,6 @@ html { -moz-osx-font-smoothing: grayscale; // Normalizes font rendering in Firefox } -/// Base styles and typography for all HTML elements. -/// @group 01-config -/// @access public -/// @since 1.0.0 - -body { - color: $color-base; - font-family: $font-family-base; - font-size: $font-size-base; - line-height: $line-height-base; -} - /// Controls spacing between section tags. /// @group 01-config /// @access public @@ -101,23 +47,3 @@ figure { height: auto; max-width: 100%; } - -/// Adds a default icon for links which open -/// in a new window or tab. This pattern may -/// also be used for external links. -/// @group 01-config -/// @access public -/// @since 2.1.0 -/// TODO: This needs further testing with Hub course indicator. - -/*a { - &[target="_blank"], - &[target="_new"] { - @include icon( 'redirect', 'after' ); - - &:after { - font-size: 0.6em; - vertical-align: text-top; - } - } -}*/ \ No newline at end of file diff --git a/css-dev/burf-base/_print.scss b/css-dev/burf-base/_print.scss new file mode 100644 index 00000000..902f1e49 --- /dev/null +++ b/css-dev/burf-base/_print.scss @@ -0,0 +1,286 @@ +// Helpful Guide to translating px => pt sizes: + +// Pixels => Points +// 6px => 5pt +// 7px => 5pt +// 8px => 6pt +// 9px => 7pt +// 10px => 8pt +// 11px => 8pt +// 12px => 9pt +// 13px => 10pt +// 14px => 11pt +// 15px => 11pt +// 16px => 12pt +// 17px => 13pt +// 18px => 14pt +// 19px => 14pt +// 20px => 15pt +// 21px => 16pt +// 22px => 17pt +// 23px => 17pt +// 24px => 18pt + +$print-body-text: 13pt Georgia, 'Times New Roman', Times, serif; + +@media print { + // Set content width, remove floats and margins + // Attention: The classes and IDs vary from theme to theme. Set your own classes here + + .content-container, + .content-area { + float: none; + margin: 0; + width: 100%; + } + + // Force the printer to render the colors as seen on screen (Chrome and Safari only) + + * { + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + } + + // Adjust margins + + @page { + margin: 2cm; + } + + // Font set to 16px / 13pt, background set to white and font set to black. + // This saves ink + + body { + background: $color-grayscale-f !important; + color: $color-base; + font: $print-body-text; + line-height: 1.3; + margin: 0; + padding: 0; + } + + h1 { + font-size: 24pt; + } + + h2, + h3, + h4 { + font-size: 14pt; + margin-top: 25px; + } + + // Define all page breaks + + blockquote { + font-style: italic; + page-break-inside: avoid; + + &::before { + content: '' !important; + margin: 0 !important; + } + + > p { + + &:first-of-type { + margin: 0 !important; + } + } + } + + h1, + h2, + h3, + h4, + h5, + h6 { + page-break-after: avoid; + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + page-break-after: avoid; + page-break-inside: avoid; + } + + table, + pre { + page-break-inside: avoid; + } + + ul, + ol, + dl { + page-break-before: avoid; + } + + // Show link color and link behavior + + a { + font-weight: bold; + page-break-inside: avoid; + text-align: left; + + &:link, + &:visited { + font-weight: bold; + text-align: left; + } + + & article { + font-weight: bolder; + text-decoration: none; + } + + &::after { + + > img { + content: ''; + } + + } + + &[href^='http'] { + + &::after { + content: ' <' attr( href ) '> '; + } + } + + &[href*='mailto:'] { + + &::after { + color: $color-grayscale-0; + content: ' (' attr( href ) ') '; + font-size: 14px; + } + + } + } + + // Restore Wordpress alignright, alignleft, aligncenter classes + + .alignleft { + float: left; + margin: 0 15px 15px 0; + } + + .aligncenter { + display: block; + margin: 0 auto 15px; + } + + .alignright { + float: right; + margin: 0 0 15px 15px; + } + + .alignright, + .alignleft { + max-width: 50%; + } + + // Disconnect embedded videos and reduce the whitespace of iframes to zero. + + iframe { + display: none; + height: 0 !important; + line-height: 0 !important; + overflow: hidden !important; + white-space: nowrap; + width: 0 !important; + + &[src^='https://maps.bu.edu'] { + display: block; + height: 500px !important; + width: 100% !important; + } + + } + + .responsive-video, + .responsive-youtube, + .buvideoWrapper { + display: none; + height: 0; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + } + + // Hide unnecessary elements for printing + + .primary-nav, + .utility-nav, + .sidebar, + form, + .bu-sharing, + .archive-link-container, + #comments, + .footbar, + .site-footer-disclaimer, + .site-footer-menus, + .skip-link, + .edit-link, + button, + .button, + .button-primary, + .bu-slideshow-container, + article a[href^='#'] { + display: none !important; + } + + // Hide Collapsible icons + + .icon-plus::before, + .bu_collapsible::before { + content: ''; + } + + // Insert copyright after content + + .bu_copyright { + display: block; + font-size: 11pt; + margin: 0 auto; + text-align: center; + } + + // remove background color from footer + + .site-footer { + background: transparent !important; + } + + // Define important elements + + p, + address, + li, + dt, + dd, + blockquote { + font-size: 100%; + } + + // Character set for code examples + + code, + pre { + font-family: 'Courier New', Courier, mono; + } + + ul, + ol { + list-style: square; + margin-bottom: 20pt; + margin-left: 18pt; + } + + li { + line-height: 1.6em; + } +} diff --git a/css-dev/burf-base/_typography-tools.scss b/css-dev/burf-base/_typography-tools.scss new file mode 100644 index 00000000..741312af --- /dev/null +++ b/css-dev/burf-base/_typography-tools.scss @@ -0,0 +1,331 @@ +// ================================================================= +// Typography Tools +// ================================================================= + +// Headings +// ----------------------------------------------------------------- + +/// The number of headings that are supported by the theme. +/// It's highly unlikely this will ever change - it's a web standards thing. +/// If you just want to give your top-level headings more contrast, it's +/// better to adjust `$heading-growth-rate` up, which will weigh the font size distribution +/// more heavily towards the top. +/// @group 01-config +/// @access private +/// @since 2.0.0 + +$_depth-headings: 6; + +/// The minimum font size in pixels for headings to use. Unless you're a designer +/// and you know what you're doing, leave this at `$font-size-base`. +/// Anything lower means you'll need to compensate with other design elements +/// to preserve the visual hierarchy - think uppercasing, color, stuff like that. +/// This directly affects the `
` tag. It indirectly affects all other heading +/// font sizes as well by serving as the lower limit to our scale. +/// @group 01-config +/// @access public +/// @since 2.0.0 + +$min-size-headings: $font-size-base !default; + +/// The minimum font size in pixels for headings to use on mobile. Unless you're a +/// designer and you know what you're doing, leave this at `$font-size-base`. +/// Anything lower means you'll need to compensate with other design elements +/// to preserve the visual hierarchy - think uppercasing, color, stuff like that. +/// This directly affects the `
` tag. It indirectly affects all other heading +/// font sizes as well by serving as the lower limit to our scale. +/// @group global +/// @access public +/// @since 2.0.0 + +$min-size-headings-mobile: $min-size-headings !default; + +/// The maximum font size in pixels for headings to use. This directly affects `

` +/// headings _within content_. Do not use a larger value, such as those you might find +/// on a landing page or in a homepage slider, to determine this value. Be sure to +/// test it against deeply nested pages, which tend to have longer page titles. +/// It indirectly affects all other heading font sizes as well by serving as the +/// upper limit to our scale. +/// @group 01-config +/// @access public +/// @since 2.0.0 + +$max-size-headings: 55px !default; + +/// The maximum font size in pixels for headings to use on mobile. This directly affects `

` +/// headings _within content_. Do not use a larger value, such as those you might find +/// on a landing page or in a homepage slider, to determine this value. Be sure to +/// test it against deeply nested pages, which tend to have longer page titles. +/// It indirectly affects all other heading font sizes as well by serving as the +/// upper limit to our scale. +/// @group 01-config +/// @access public +/// @since 2.0.0 + +$max-size-headings-mobile: 36px !default; + +/// The minimum line height ratio for headings to use. Do not use any units with +/// this value. This value directly affects the `

` tag and indirectly affects +/// all other heading font sizes as well by serving as the lower limit to our scale. +/// In typography, the relationship between font-size and line-height is that larger +/// font-sizes demand lower line-height values to preserve vertical rhythm. +/// @group 01-config +/// @access public +/// @since 2.0.0 + +$min-line-height: 1.15 !default; + +/// The maximum line height ratio for headings to use. Do not use any units with +/// this value. This value directly affects the `

` tag and indirectly affects +/// all other heading font sizes as well by serving as the upper limit to our scale. +/// Because we set the `
` tag to be the same size as our body copy by default, +/// it also gets the same line-height ratio by default. +/// @group 01-config +/// @access public +/// @since 2.0.0 + +$max-line-height: $line-height-base !default; + +// Adjusts the rate of growth between font sizes. +// 1 is a completely even rate of growth. +// Higher numbers will grow the font size exponentially. This is the way +// most type scales are set up. +// A higher number will adjust the font size more dramatically at larger sizes. +// By default, this is optimized for heavy use of h1-h4, and minimal use of h5 and h6. + +$heading-growth-rate: 3.5 !default; + +/// Calculates the multiplier needed for growth between a minimum and maximum value +/// based on a given rate of growth. +/// @param {int} $min - The minimum value to use. Units, if used, must match `$max`. +/// @param {int} $max - The minimum value to use. Units, if used, must match `$min`. +/// @param {int} $steps - The total number of values to calculate. +/// @return {int} - A number to multiply by in an exponential equation to equal the +/// maximum value on the last value calculated. Useful to calculate `$scale` for use +/// in the `calc-size` function. +/// @group 01-config +/// @access public +/// @since 2.0.0 +/// @see calc-size +/// @requires pow - an exponential function in the mathsass library + +@function calc-scale ( $min, $max, $steps, $rate ) { + @return ( $max - $min ) / pow( $steps, $rate ); +} + +/// Calculates a size, relative to a base size. By default, we use `$font-size-base` to +/// assist with calculating the ratio for ems. However, you can pass your own base for +/// using with your own unit standard. You can also choose _not_ to scale by passing +/// 'true' to 'scaled'. You might choose to do this if your minimums and maximums +/// are already scaled units, such as with line-height, or if you specify your min +/// and max font-sizes in ems. +/// @param {int} $step - The step within your scale you want to calculate. +/// @param {int} $rate - The rate of growth at which your scale changes. Leave at 1 for even +/// (linear) growth. Anything higher will create exponential growth. +/// @param {int} $scale - A scaling number determined by your maximum value, if you have one. +/// You may wish to use the `calc-scale` function to find this number. Leave at 1 if you do +/// not need an upper limit. +/// @param {int} $min - The minimum amount you need returned. +/// @param {bool} $scaled - Whether or not to return a scaled value, using `$base` as the base +/// unit. By default, this will scale to ems, returning a value based on `$font-size-base` equalling +/// 1 em. +/// @param {int} $base - A value to divide by in order to return a scaled value. The units on this +/// value need to match `$min` - that is, if `$min` is in pixels, this needs to be in pixels as well. +/// @return {int} - A unitless size. +/// @group 01-config +/// @access public +/// @since 2.0.0 +/// @requires pow - an exponential function in the mathsass library +/// @see calc-scale + +@function calc-size( $step, $rate: 1, $scale: 1, $min: 0, $scaled: false, $base: $font-size-base ) { + @if $scaled { + @return pow( ( $step ), $rate ) * $scale + $min; + } @else { + @return ( pow( ( $step ), $rate ) * $scale + $min ) / $base; + } +} + +/// Holds values for font-size and line-height for all font styles. Two special case +/// scenarios, `font-size-secondary` and `font-size-minimum`, have pixel values. Secondary +/// is used for information in a theme that is secondary to main content, such as widgets, +/// asides, footbars, and shortcodes, and resets the base value which headings and paragraph +/// text uses. `font-size-minimum` is the lowest allowable font size in pixels - it never gets +/// scaled, because it should never be smaller than that amount. +/// Other values, such as those used for headings (`font-size-1` for `

`, `font-size-2` for +/// `

`, etc) are dynamically added after we generate the headings scale. +/// These values are used to build the font-size placeholders. You can override invidividual +/// values and create your own custom values and placeholders by redeclaring values you want +/// to override and adding new values in your own `$font-styles-theme` map. +/// @group 01-config +/// @access public +/// @since 2.0.0 + +$font-styles: ( + secondary: ( + font-size-mobile: 12px, + font-size-desktop: 16px, + line-height: $min-line-height, + ), + minimum: ( + font-size-mobile: 11px, + font-size-desktop: 13px, + line-height: $min-line-height + ), +); + +/// The multiplier needed to calculate the scale between minimum and maximum +/// font sizes on headings. This value is dependent on the heading minimum, maximum, +/// and growth rate; it should never be changed directly. Change those instead. +/// @group 01-config +/// @access private +/// @since 2.0.0 + +$_heading-size-scale: calc-scale( $min-size-headings, $max-size-headings, $_depth-headings, $heading-growth-rate ); + +/// The multiplier needed to calculate the scale between minimum and maximum +/// font sizes on headings on mobile. This value is dependent on the heading minimum, maximum, +/// and growth rate; it should never be changed directly. Change those instead. +/// @group 01-config +/// @access private +/// @since 2.0.0 + +$_heading-size-scale-mobile: calc-scale( $min-size-headings-mobile, $max-size-headings-mobile, $_depth-headings, $heading-growth-rate ); + +/// The multiplier needed to calculate the scale between minimum and maximum +/// line heights on headings. This value is dependent on the heading minimum, maximum, +/// and growth rate; it should never be changed directly. Change those instead. +/// @group 01-config +/// @access private +/// @since 2.0.0 + +$heading-lh-scale: calc-scale( $min-line-height, $max-line-height, $_depth-headings, $heading-growth-rate ); + +/// A simple counter variable to help keep track of how many headings we have left +/// to calculate. +/// @group 01-config +/// @access private +/// @since 2.0.0 + +$_h: $_depth-headings; + +// Calculates font sizes and line heights for headings, and adds them to the `$font-styles` map. +// @group global +// @access private +// @since 2.0.0 + +@while $_h >= 0 { + $font-style: ( ); + $size: null; + $size-mobile: null; + $lh: null; + $name: null; + $heading-name: $_depth-headings - $_h; + + @if $_h == 0 { + $size: $min-size-headings / $font-size-base + em; + $size-mobile: $min-size-headings-mobile / $font-size-base + em; + } @else { + $size: calc-size( $_h + 1, $heading-growth-rate, $_heading-size-scale, $min-size-headings ) + em; + $size-mobile: calc-size( $_h + 1, $heading-growth-rate, $_heading-size-scale-mobile, $min-size-headings-mobile ) + em; + } + + @if $_h == $_depth-headings { + $lh: $min-line-height; + $name: 'maximum'; + } @else { + $lh: calc-size( $heading-name, $heading-growth-rate, $heading-lh-scale, $min-line-height, true ); + $name: $heading-name; + } + + $font-style: ( + #{$name}: ( + font-size-mobile: $size-mobile, + font-size-desktop: $size, + line-height: $lh + ) + ); + + $font-styles: map_merge( $font-styles, $font-style ); + + $_h: $_h - 1; +} + +// Merges custom styles and overrides with the default font size map. +// $font-styles-theme must be set BEFORE this is called. +// @group global +// @access private +// @since 2.0.0 + +@if variable-exists( font-styles-theme ) { + $font-styles: map_merge( $font-styles, $font-styles-theme ); +} + +// A mixin to get and print font styles, just like `` tags. +// Handy for when the placeholders just aren't working for you. +// Accepts a valid style, such as `6` (like h6) or `secondary`. +// Also accepts any style you've defined in the theme. +/// @example +/// Make a `

` look like an `

`. +/// .comparison-title { +/// @include font-size( '2' ); +/// } +// @group typography +// @access public +// @since 2.0.0 + +@mixin font-size( $style ) { + $settings: map-get( $font-styles, $style ); + + font-size: map-get( $settings, font-size-mobile ); + line-height: map-get( $settings, line-height ); + + @include breakpoint( $xs ) { + font-size: map-get( $settings, font-size-desktop ); + line-height: map-get( $settings, line-height ); + } +} + +// Creates placeholders for each font style, which are used by `` tags +// as well as throughout the theme. +// @group global +// @access private +// @since 2.0.0 + +@each $style, $settings in $font-styles { + %font-size-#{$style} { + @include font-size( $style ); + } + + @if $burf-extras { + .font-size-#{$style} { + @extend %font-size-#{$style} !optional; + } + } +} + +/// Controls base styles for all heading tags. +/// @group 04-typography +/// @access public +/// @since 1.0.0 + +%heading-base { + color: $color-heading; + font-family: $font-family-heading; + margin-bottom: 0.6em; + margin-top: 1em; + + &:first-child { + margin-top: 0; + } + + small { + color: $color-heading-small; + font-size: 0.75em; + font-weight: normal; + } + + .page-title.u-visually-hidden + & { + margin-top: 0; + } +} diff --git a/css-dev/burf-base/_typography-variables.scss b/css-dev/burf-base/_typography-variables.scss new file mode 100644 index 00000000..b377f994 --- /dev/null +++ b/css-dev/burf-base/_typography-variables.scss @@ -0,0 +1,176 @@ +// ================================================================= +// Typography Settings +// ================================================================= + +/// Controls the default font size used across the site. +/// Affects body text and anything else that isn't +/// specifically overridden. +/// @group 01-config +/// @access public +/// @since 1.0.0 + +$font-size-base: 18px !default; + +/// Controls the default line height used across the site. +/// Affects body text and anything else that isn't +/// specifically overridden. +/// @group 01-config +/// @access public +/// @since 1.0.0 + +$line-height-base: 1.6 !default; + +/// A serif font to use. This variable is not used by default. +/// @group 01-config +/// @access public +/// @since 1.0.0 + +$font-family-serif: "TiemposText", Georgia, serif !default; + +/// A sans-serif font to use sitewide. +/// By default, this affects the site footer and label text in profiles. +/// @group 04-typography +/// @access public +/// @since 1.0.0 + +$font-family-sans-serif: "Benton-Sans", "Helvetica", sans-serif !default; + +/// A monospace font to use sitewide. +/// By default, this affects the `` and `
` elements.
+/// @group 04-typography
+/// @access public
+/// @since 1.0.0
+
+$font-family-monospace:                     "Consolas", "Liberation Mono", Courier, monospace !default;
+
+/// The default font for body copy.
+/// @group 01-config
+/// @access public
+/// @since 1.0.0
+
+$font-family-base:                          $font-family-sans-serif !default;
+
+/// A font to use for headings.
+/// Affects `

`, `

`, etc. +/// @group 04-typography +/// @access public +/// @since 1.0.0 + +$font-family-heading: $font-family-sans-serif !default; + +/// A color to use for headings. +/// Affects `

`, `

`, etc. +/// @group 04-typography +/// @access public +/// @since 1.0.0 +/// @accessibility AA + +$color-heading: $color-grayscale-0 !default; + +/// A font to use for small tags within headings. +/// @group 04-typography +/// @access public +/// @since 1.0.0 +/// @accessibility AA + +$color-heading-small: $color-grayscale-6 !default; + +/// Base margin for HTML tags. Primarily affects `

`. +/// @group 04-typography +/// @access public +/// @since 1.0.0 + +$font-margin-base: 0 0 1.5em 0 !default; + +/// Base color for links. +/// @group 04-typography +/// @access public +/// @since 1.0.0 +/// @accessibility AA + +$color-link: #0f69d7 !default; + +/// Base color for visited links. +/// Must be different from `$color-link` for accessibility +/// reasons. +/// @group 04-typography +/// @access public +/// @since 1.0.0 +/// @accessibility AA + +$color-link-visited: #7337af !default; + +/// Base color for active links. +/// Must be different from `$color-link` for accessibility +/// reasons. +/// @group 04-typography +/// @access public +/// @since 1.0.0 +/// @accessibility AA + +$color-link-active: $color-grayscale-0 !default; + +/// Base padding for the `` tag. +/// @group 04-typography +/// @access public +/// @since 1.0.0 + +$font-padding-code: 0.2em 0.4em !default; + +/// Base margin for the `` tag. +/// @group 04-typography +/// @access public +/// @since 1.0.0 + +$font-margin-code: $margin 0 !default; + +/// Text color to use for the `` tag. +/// @group 04-typography +/// @access public +/// @since 1.0.0 +/// @accessibility AA + +$color-code: $color-grayscale-6 !default; + +/// Background color to use for the `` tag. +/// @group 04-typography +/// @access public +/// @since 1.0.0 +/// @accessibility AA + +$color-code-bg: $color-grayscale-f5 !default; + +/// Base border for the `` tag. +/// @group 04-typography +/// @access public +/// @since 2.0.0 + +$border-code: $border !default; + +/// Base margin for the `

` tag. +/// @group 04-typography +/// @access public +/// @since 1.0.0 + +$font-margin-blockquote: 1em $margin-large !default; + +/// Base margin for `
    ` and `
      ` tags. +/// @group 04-typography +/// @access public +/// @since 1.0.0 + +$font-margin-list: $font-margin-base !default; + +/// Base padding for `
        ` and `
          ` tags. +/// @group 04-typography +/// @access public +/// @since 1.0.0 + +$font-padding-list: 0 0 0 40px !default; + +/// Base margin for `
          ` tags. +/// @group 04-typography +/// @access public +/// @since 1.0.0 + +$font-margin-dd: 0 0 0 $margin !default; diff --git a/css-dev/burf-base/_typography.scss b/css-dev/burf-base/_typography.scss index 3e41cf2e..d56cc5dc 100644 --- a/css-dev/burf-base/_typography.scss +++ b/css-dev/burf-base/_typography.scss @@ -2,167 +2,23 @@ // Typography Settings // ================================================================= -/// A sans-serif font to use sitewide. -/// By default, this affects the site footer and label text in profiles. -/// @group 04-typography -/// @access public -/// @since 1.0.0 - -$font-family-sans-serif: "Benton-Sans", "Helvetica", sans-serif !default; - -/// A monospace font to use sitewide. -/// By default, this affects the `` and `
          ` elements.
          -/// @group 04-typography
          -/// @access public
          -/// @since 1.0.0
          -
          -$font-family-monospace:                     "Consolas", "Liberation Mono", Courier, monospace !default;
          -
          -/// A font to use for headings.
          -/// Affects `

          `, `

          `, etc. -/// @group 04-typography -/// @access public -/// @since 1.0.0 - -$font-family-heading: $font-family-sans-serif !default; - -/// A color to use for headings. -/// Affects `

          `, `

          `, etc. -/// @group 04-typography -/// @access public -/// @since 1.0.0 -/// @accessibility AA - -$color-heading: $color-grayscale-0 !default; - -/// A font to use for small tags within headings. -/// @group 04-typography -/// @access public -/// @since 1.0.0 -/// @accessibility AA - -$color-heading-small: $color-grayscale-6 !default; - -/// Base margin for HTML tags. Primarily affects `

          `. -/// @group 04-typography -/// @access public -/// @since 1.0.0 - -$font-margin-base: 0 0 1.5em 0 !default; - -/// Base color for links. -/// @group 04-typography -/// @access public -/// @since 1.0.0 -/// @accessibility AA - -$color-link: #0f69d7 !default; - -/// Base color for visited links. -/// Must be different from `$color-link` for accessibility -/// reasons. -/// @group 04-typography -/// @access public -/// @since 1.0.0 -/// @accessibility AA - -$color-link-visited: #7337af !default; - -/// Base color for active links. -/// Must be different from `$color-link` for accessibility -/// reasons. -/// @group 04-typography -/// @access public -/// @since 1.0.0 -/// @accessibility AA - -$color-link-active: $color-grayscale-0 !default; - -/// Base padding for the `` tag. -/// @group 04-typography -/// @access public -/// @since 1.0.0 - -$font-padding-code: 0.2em 0.4em !default; - -/// Base margin for the `` tag. -/// @group 04-typography -/// @access public -/// @since 1.0.0 - -$font-margin-code: $margin 0 !default; - -/// Text color to use for the `` tag. -/// @group 04-typography -/// @access public -/// @since 1.0.0 -/// @accessibility AA - -$color-code: $color-grayscale-6 !default; - -/// Background color to use for the `` tag. -/// @group 04-typography -/// @access public -/// @since 1.0.0 -/// @accessibility AA - -$color-code-bg: $color-grayscale-f5 !default; - -/// Base border for the `` tag. -/// @group 04-typography -/// @access public -/// @since 2.0.0 - -$border-code: $border !default; - -/// Base margin for the `

          ` tag. -/// @group 04-typography -/// @access public -/// @since 1.0.0 - -$font-margin-blockquote: 1em $margin-large !default; - -/// Base margin for `
            ` and `
              ` tags. -/// @group 04-typography -/// @access public -/// @since 1.0.0 - -$font-margin-list: $font-margin-base !default; - -/// Base padding for `
                ` and `
                  ` tags. -/// @group 04-typography -/// @access public -/// @since 1.0.0 - -$font-padding-list: 0 0 0 40px !default; - -/// Base margin for `
                  ` tags. -/// @group 04-typography -/// @access public -/// @since 1.0.0 - -$font-margin-dd: 0 0 0 $margin !default; - -// Color and Typography -// ----------------------------------------------------------------- - -/// The default font for body copy. -/// @group 01-config -/// @access public -/// @since 1.0.0 +@import 'typography-variables'; -$font-family-base: $font-family-sans-serif !default; +// ================================================================= +// Typography Styles +// ================================================================= -/// A serif font to use. This variable is not used by default. +/// Base styles and typography for all HTML elements. /// @group 01-config /// @access public /// @since 1.0.0 -$font-family-serif: "TiemposText", Georgia, serif !default; - -// ================================================================= -// Typography Styles -// ================================================================= +body { + color: $color-base; + font-family: $font-family-base; + font-size: $font-size-base; + line-height: $line-height-base; +} // Links // ----------------------------------------------------------------- @@ -195,324 +51,15 @@ a { } } -// Headings -// ----------------------------------------------------------------- - -/// The number of headings that are supported by the theme. -/// It's highly unlikely this will ever change - it's a web standards thing. -/// If you just want to give your top-level headings more contrast, it's -/// better to adjust `$heading-growth-rate` up, which will weigh the font size distribution -/// more heavily towards the top. -/// @group 01-config -/// @access private -/// @since 2.0.0 - -$_depth-headings: 6; - -/// The minimum font size in pixels for headings to use. Unless you're a designer -/// and you know what you're doing, leave this at `$font-size-base`. -/// Anything lower means you'll need to compensate with other design elements -/// to preserve the visual hierarchy - think uppercasing, color, stuff like that. -/// This directly affects the `
                  ` tag. It indirectly affects all other heading -/// font sizes as well by serving as the lower limit to our scale. -/// @group 01-config -/// @access public -/// @since 2.0.0 - -$min-size-headings: $font-size-base !default; - -/// The minimum font size in pixels for headings to use on mobile. Unless you're a -/// designer and you know what you're doing, leave this at `$font-size-base`. -/// Anything lower means you'll need to compensate with other design elements -/// to preserve the visual hierarchy - think uppercasing, color, stuff like that. -/// This directly affects the `
                  ` tag. It indirectly affects all other heading -/// font sizes as well by serving as the lower limit to our scale. -/// @group global -/// @access public -/// @since 2.0.0 - -$min-size-headings-mobile: $min-size-headings !default; - -/// The maximum font size in pixels for headings to use. This directly affects `

                  ` -/// headings _within content_. Do not use a larger value, such as those you might find -/// on a landing page or in a homepage slider, to determine this value. Be sure to -/// test it against deeply nested pages, which tend to have longer page titles. -/// It indirectly affects all other heading font sizes as well by serving as the -/// upper limit to our scale. -/// @group 01-config -/// @access public -/// @since 2.0.0 - -$max-size-headings: 55px !default; - -/// The maximum font size in pixels for headings to use on mobile. This directly affects `

                  ` -/// headings _within content_. Do not use a larger value, such as those you might find -/// on a landing page or in a homepage slider, to determine this value. Be sure to -/// test it against deeply nested pages, which tend to have longer page titles. -/// It indirectly affects all other heading font sizes as well by serving as the -/// upper limit to our scale. -/// @group 01-config -/// @access public -/// @since 2.0.0 - -$max-size-headings-mobile: 36px !default; - -/// The minimum line height ratio for headings to use. Do not use any units with -/// this value. This value directly affects the `

                  ` tag and indirectly affects -/// all other heading font sizes as well by serving as the lower limit to our scale. -/// In typography, the relationship between font-size and line-height is that larger -/// font-sizes demand lower line-height values to preserve vertical rhythm. -/// @group 01-config -/// @access public -/// @since 2.0.0 - -$min-line-height: 1.15 !default; - -/// The maximum line height ratio for headings to use. Do not use any units with -/// this value. This value directly affects the `

                  ` tag and indirectly affects -/// all other heading font sizes as well by serving as the upper limit to our scale. -/// Because we set the `
                  ` tag to be the same size as our body copy by default, -/// it also gets the same line-height ratio by default. -/// @group 01-config -/// @access public -/// @since 2.0.0 - -$max-line-height: $line-height-base !default; - -// Adjusts the rate of growth between font sizes. -// 1 is a completely even rate of growth. -// Higher numbers will grow the font size exponentially. This is the way -// most type scales are set up. -// A higher number will adjust the font size more dramatically at larger sizes. -// By default, this is optimized for heavy use of h1-h4, and minimal use of h5 and h6. - -$heading-growth-rate: 3.5 !default; - -/// Calculates the multiplier needed for growth between a minimum and maximum value -/// based on a given rate of growth. -/// @param {int} $min - The minimum value to use. Units, if used, must match `$max`. -/// @param {int} $max - The minimum value to use. Units, if used, must match `$min`. -/// @param {int} $steps - The total number of values to calculate. -/// @return {int} - A number to multiply by in an exponential equation to equal the -/// maximum value on the last value calculated. Useful to calculate `$scale` for use -/// in the `calc-size` function. -/// @group 01-config -/// @access public -/// @since 2.0.0 -/// @see calc-size -/// @requires pow - an exponential function in the mathsass library - -@function calc-scale ( $min, $max, $steps, $rate ) { - @return ( $max - $min ) / pow( $steps, $rate ); -} - -/// Calculates a size, relative to a base size. By default, we use `$font-size-base` to -/// assist with calculating the ratio for ems. However, you can pass your own base for -/// using with your own unit standard. You can also choose _not_ to scale by passing -/// 'true' to 'scaled'. You might choose to do this if your minimums and maximums -/// are already scaled units, such as with line-height, or if you specify your min -/// and max font-sizes in ems. -/// @param {int} $step - The step within your scale you want to calculate. -/// @param {int} $rate - The rate of growth at which your scale changes. Leave at 1 for even -/// (linear) growth. Anything higher will create exponential growth. -/// @param {int} $scale - A scaling number determined by your maximum value, if you have one. -/// You may wish to use the `calc-scale` function to find this number. Leave at 1 if you do -/// not need an upper limit. -/// @param {int} $min - The minimum amount you need returned. -/// @param {bool} $scaled - Whether or not to return a scaled value, using `$base` as the base -/// unit. By default, this will scale to ems, returning a value based on `$font-size-base` equalling -/// 1 em. -/// @param {int} $base - A value to divide by in order to return a scaled value. The units on this -/// value need to match `$min` - that is, if `$min` is in pixels, this needs to be in pixels as well. -/// @return {int} - A unitless size. -/// @group 01-config -/// @access public -/// @since 2.0.0 -/// @requires pow - an exponential function in the mathsass library -/// @see calc-scale - -@function calc-size( $step, $rate: 1, $scale: 1, $min: 0, $scaled: false, $base: $font-size-base ) { - @if $scaled { - @return pow( ( $step ), $rate ) * $scale + $min; - } @else { - @return ( pow( ( $step ), $rate ) * $scale + $min ) / $base; - } -} - -/// Holds values for font-size and line-height for all font styles. Two special case -/// scenarios, `font-size-secondary` and `font-size-minimum`, have pixel values. Secondary -/// is used for information in a theme that is secondary to main content, such as widgets, -/// asides, footbars, and shortcodes, and resets the base value which headings and paragraph -/// text uses. `font-size-minimum` is the lowest allowable font size in pixels - it never gets -/// scaled, because it should never be smaller than that amount. -/// Other values, such as those used for headings (`font-size-1` for `

                  `, `font-size-2` for -/// `

                  `, etc) are dynamically added after we generate the headings scale. -/// These values are used to build the font-size placeholders. You can override invidividual -/// values and create your own custom values and placeholders by redeclaring values you want -/// to override and adding new values in your own `$font-styles-theme` map. -/// @group 01-config -/// @access public -/// @since 2.0.0 - -$font-styles: ( - secondary: ( - font-size-mobile: 12px, - font-size-desktop: 16px, - line-height: $min-line-height, - ), - minimum: ( - font-size-mobile: 11px, - font-size-desktop: 13px, - line-height: $min-line-height - ), -); - -/// The multiplier needed to calculate the scale between minimum and maximum -/// font sizes on headings. This value is dependent on the heading minimum, maximum, -/// and growth rate; it should never be changed directly. Change those instead. -/// @group 01-config -/// @access private -/// @since 2.0.0 - -$_heading-size-scale: calc-scale( $min-size-headings, $max-size-headings, $_depth-headings, $heading-growth-rate ); - -/// The multiplier needed to calculate the scale between minimum and maximum -/// font sizes on headings on mobile. This value is dependent on the heading minimum, maximum, -/// and growth rate; it should never be changed directly. Change those instead. -/// @group 01-config -/// @access private -/// @since 2.0.0 - -$_heading-size-scale-mobile: calc-scale( $min-size-headings-mobile, $max-size-headings-mobile, $_depth-headings, $heading-growth-rate ); - -/// The multiplier needed to calculate the scale between minimum and maximum -/// line heights on headings. This value is dependent on the heading minimum, maximum, -/// and growth rate; it should never be changed directly. Change those instead. -/// @group 01-config -/// @access private -/// @since 2.0.0 - -$heading-lh-scale: calc-scale( $min-line-height, $max-line-height, $_depth-headings, $heading-growth-rate ); - -/// A simple counter variable to help keep track of how many headings we have left -/// to calculate. -/// @group 01-config -/// @access private -/// @since 2.0.0 - -$_h: $_depth-headings; - -// Calculates font sizes and line heights for headings, and adds them to the `$font-styles` map. -// @group global -// @access private -// @since 2.0.0 - -@while $_h >= 0 { - $font-style: ( ); - $size: null; - $size-mobile: null; - $lh: null; - $name: null; - $heading-name: $_depth-headings - $_h; - - @if $_h == 0 { - $size: $min-size-headings / $font-size-base + em; - $size-mobile: $min-size-headings-mobile / $font-size-base + em; - } @else { - $size: calc-size( $_h + 1, $heading-growth-rate, $_heading-size-scale, $min-size-headings ) + em; - $size-mobile: calc-size( $_h + 1, $heading-growth-rate, $_heading-size-scale-mobile, $min-size-headings-mobile ) + em ; - } - - @if $_h == $_depth-headings { - $lh: $min-line-height; - $name: "maximum"; - } @else { - $lh: calc-size( $heading-name, $heading-growth-rate, $heading-lh-scale, $min-line-height, true ); - $name: $heading-name; - } - - $font-style: ( - #{$name}: ( - font-size-mobile: $size-mobile, - font-size-desktop: $size, - line-height: $lh - ) - ); - - $font-styles: map_merge( $font-styles, $font-style ); - - $_h: $_h - 1; -} - -// Merges custom styles and overrides with the default font size map. -// $font-styles-theme must be set BEFORE this is called. -// @group global -// @access private -// @since 2.0.0 - -@if variable-exists( font-styles-theme ) { - $font-styles: map_merge( $font-styles, $font-styles-theme ); -} - -// A mixin to get and print font styles, just like `` tags. -// Handy for when the placeholders just aren't working for you. -// Accepts a valid style, such as `6` (like h6) or `secondary`. -// Also accepts any style you've defined in the theme. -/// @example -/// Make a `

                  ` look like an `

                  `. -/// .comparison-title { -/// @include font-size( '2' ); -/// } -// @group typography -// @access public -// @since 2.0.0 - -@mixin font-size( $style ) { - $settings: map-get( $font-styles, $style ); - - font-size: map-get( $settings, font-size-mobile ); - line-height: map-get( $settings, line-height ); - - @include breakpoint( $xs ) { - font-size: map-get( $settings, font-size-desktop ); - line-height: map-get( $settings, line-height ); - } -} - -// Creates placeholders for each font style, which are used by `` tags -// as well as throughout the theme. -// @group global -// @access private -// @since 2.0.0 - -@each $style, $settings in $font-styles { - .font-size-#{$style}, - %font-size-#{$style} { - @include font-size( $style ); - } -} - -/// Controls base styles for all heading tags. -/// @group 04-typography -/// @access public -/// @since 1.0.0 +// ================================================================= +// Heading Dependencies +// ================================================================= -%heading-base { - color: $color-heading; - font-family: $font-family-heading; - margin-bottom: 0.6em; - margin-top: 1em; +@import 'typography-tools'; - &:first-child { - margin-top: 0; - } - - small { - color: $color-heading-small; - font-size: 0.75em; - font-weight: normal; - } -} +// ================================================================= +// Heading Styles +// ================================================================= /// Styles for all h1 tags. /// @group 04-typography diff --git a/css-dev/burf-base/grid/_grid-friendly.scss b/css-dev/burf-base/grid/_grid-friendly.scss index 3c102c0e..06cc63bc 100644 --- a/css-dev/burf-base/grid/_grid-friendly.scss +++ b/css-dev/burf-base/grid/_grid-friendly.scss @@ -29,22 +29,31 @@ $widths: ( /// @extend %col-md-three-quarter; @each $width, $columns in $widths { - .col-#{$width}, %col-#{$width} { @extend %col-#{$columns} !optional; } + @if $burf-extras { + .col-#{$width} { + @extend %col-#{$width} !optional; + } + } + @each $feature, $supported in $grid-supports { @if $supported { - .col-#{$feature}-#{$width}, %col-#{$feature}-#{$width} { @extend %col-#{$feature}-#{$columns} !optional; } + + @if $burf-extras { + .col-#{$feature}-#{$width} { + @extend %col-#{$feature}-#{$width} !optional; + } + } } } @each $bp-name, $bp-variable in $grid-breakpoints { - .col-#{$bp-name}, %col-#{$bp-name} { &-#{$width} { @@ -59,5 +68,21 @@ $widths: ( } } } + + @if $burf-extras { + .col-#{$bp-name} { + &-#{$width} { + @extend %col-#{$bp-name}-#{$width} !optional; + } + + @each $feature, $supported in $grid-supports { + @if $supported { + &-#{$feature}-#{$width} { + @extend %col-#{$bp-name}-#{$feature}-#{$width} !optional; + } + } + } + } + } } } diff --git a/css-dev/burf-base/grid/_grid-placeholders.scss b/css-dev/burf-base/grid/_grid-placeholders.scss index 4df09753..eaf6119e 100644 --- a/css-dev/burf-base/grid/_grid-placeholders.scss +++ b/css-dev/burf-base/grid/_grid-placeholders.scss @@ -138,12 +138,17 @@ /// @access public /// @since 2.0.0 -.col-margin-parent, %col-margin-parent { margin-left: -$grid-margin-width#{"%"}; margin-right: 0; } +@if $burf-extras { + .col-margin-parent { + @extend %col-margin-parent; + } +} + /// A private map to hold grid widths while /// calculating the grid. /// @group grid @@ -208,11 +213,16 @@ $grid-widths-margins: (); @include col-margin-base; } - .col-#{$breakpoint}-margin-parent, %col-#{$breakpoint}-margin-parent { margin-left: -$grid-margin-width#{"%"}; } + @if $burf-extras { + .col-#{$breakpoint}-margin-parent { + @extend %col-#{$breakpoint}-margin-parent; + } + } + @for $i from 0 to length( $grid-widths ) { %col-#{$breakpoint}-#{$i} { @include col-base; diff --git a/css-dev/burf-base/grid/_grid-variables.scss b/css-dev/burf-base/grid/_grid-variables.scss new file mode 100644 index 00000000..726f1053 --- /dev/null +++ b/css-dev/burf-base/grid/_grid-variables.scss @@ -0,0 +1,120 @@ +// ================================================================= +// Grid Settings +// ================================================================= + +/// The number of columns you would like in your grid. +/// To use styles in burf-theme, you must set this to a number that +/// is divisible by 2, 3, and 4. +/// @group grid +/// @access public +/// @since 1.2.0 + +$grid-number-columns: 12 !default; + +/// The percentage you'd like a margin to take up on grid items, if you +/// are using margins on grid items. +/// By default, this will attempt to reproduce the default margin on a +/// large screen in a full-width container. If you plan to use grids include +/// a smaller container, you may need to adjust this. +/// @group grid +/// @access public +/// @since 1.2.0 + +$grid-margin-width: ( $margin / $container-lg ) * 100 !default; + +/// Choose which breakpoints you want grid classes to support. +/// Small (sm) and medium (md) are required, everything else is optional. +/// @group grid +/// @access public +/// @since 1.2.0 + +$grid-breakpoints: ( + xs: $xs, // optional + sm: $sm, // required for the framework + md: $md, // required for the framework + lg: $lg // optional +); + +/// Determines which classes to calculate and print for the theme. +/// By default, all are on so clients can freely use these in custom CSS. +/// However, you may choose to only support the ones you like in a custom theme. +/// @group grid +/// @access public +/// @since 2.0.0 + +$grid-supports: ( + margin: true, // optional + push: true, // required for the framework + pull: true, // required for the framework + offset: true // optional +); + +/// Choose whether or not to print the numeric grid classes (.col-sm-5). Optional. +/// Note that friendly placeholders (.col-quarter, .col-sm-quarter) will always print. +/// You may wish to disable these on custom themes. +/// @group grid +/// @access public +/// @since 1.2.0 + +$grid-classes: true !default; + +/// The amount of padding to put on the content container. +/// @group grid +/// @access public +/// @since 1.0.0 + +$grid-container-padding: $padding-small !default; + +/// The amount of padding to put on the content container +/// on desktop. +/// @group grid +/// @access public +/// @since 1.0.0 + +$grid-container-padding-desktop-sides: $padding !default; + +/// The amount of padding to put on the content container +/// on desktop. +/// @group grid +/// @access public +/// @since 1.0.0 + +$grid-container-padding-desktop: $padding-large $grid-container-padding-desktop-sides !default; + +/// Controls the margin on rows in the grid. +/// By default, this will attempt to "pull" grid items out +/// by the same amount as their margin, Boostrap-style. +/// @group grid +/// @access public +/// @since 1.0.0 + +$grid-row-margin: 0 -#{$grid-container-padding} !default; + +/// Controls the margin on rows in the grid. +/// By default, this will attempt to "pull" grid items out +/// by the same amount as their margin, Boostrap-style. +/// @group grid +/// @access public +/// @since 1.0.0 + +$grid-row-margin-desktop: 0 -#{$grid-container-padding-desktop-sides} !default; + +/// Controls the padding on child items of the grid. +/// On non-margin classes, this will act like a "margin", +/// putting space between grid items, Boostrap-style. +/// If you need to use the padding for something else, like +/// if you have a background color on your grid item, +/// use the margin classes. +/// @group grid +/// @access public +/// @since 1.0.0 + +$grid-column-padding: $padding !default; + +/// Controls the padding on child items of the grid using the +/// -margin class. Does not affect other margin classes. +/// @group grid +/// @access public +/// @since 2.0.0 + +$grid-margin-padding: $padding !default; diff --git a/css-dev/burf-base/grid/_package.scss b/css-dev/burf-base/grid/_package.scss index 5b17acb9..0b26605f 100644 --- a/css-dev/burf-base/grid/_package.scss +++ b/css-dev/burf-base/grid/_package.scss @@ -2,122 +2,7 @@ // Grid Settings // ================================================================= -/// The number of columns you would like in your grid. -/// To use styles in burf-theme, you must set this to a number that -/// is divisible by 2, 3, and 4. -/// @group grid -/// @access public -/// @since 1.2.0 - -$grid-number-columns: 12 !default; - -/// The percentage you'd like a margin to take up on grid items, if you -/// are using margins on grid items. -/// By default, this will attempt to reproduce the default margin on a -/// large screen in a full-width container. If you plan to use grids include -/// a smaller container, you may need to adjust this. -/// @group grid -/// @access public -/// @since 1.2.0 - -$grid-margin-width: ( $margin / $container-lg ) * 100 !default; - -/// Choose which breakpoints you want grid classes to support. -/// Small (sm) and medium (md) are required, everything else is optional. -/// @group grid -/// @access public -/// @since 1.2.0 - -$grid-breakpoints: ( - xs: $xs, // optional - sm: $sm, // required for the framework - md: $md, // required for the framework - lg: $lg // optional -); - -/// Determines which classes to calculate and print for the theme. -/// By default, all are on so clients can freely use these in custom CSS. -/// However, you may choose to only support the ones you like in a custom theme. -/// @group grid -/// @access public -/// @since 2.0.0 - -$grid-supports: ( - margin: true, // optional - push: true, // required for the framework - pull: true, // required for the framework - offset: true // optional -); - -/// Choose whether or not to print the numeric grid classes (.col-sm-5). Optional. -/// Note that friendly placeholders (.col-quarter, .col-sm-quarter) will always print. -/// You may wish to disable these on custom themes. -/// @group grid -/// @access public -/// @since 1.2.0 - -$grid-classes: true !default; - -/// The amount of padding to put on the content container. -/// @group grid -/// @access public -/// @since 1.0.0 - -$grid-container-padding: $padding-small !default; - -/// The amount of padding to put on the content container -/// on desktop. -/// @group grid -/// @access public -/// @since 1.0.0 - -$grid-container-padding-desktop-sides: $padding !default; - -/// The amount of padding to put on the content container -/// on desktop. -/// @group grid -/// @access public -/// @since 1.0.0 - -$grid-container-padding-desktop: $padding-large $grid-container-padding-desktop-sides !default; - -/// Controls the margin on rows in the grid. -/// By default, this will attempt to "pull" grid items out -/// by the same amount as their margin, Boostrap-style. -/// @group grid -/// @access public -/// @since 1.0.0 - -$grid-row-margin: 0 -#{$grid-container-padding} !default; - -/// Controls the margin on rows in the grid. -/// By default, this will attempt to "pull" grid items out -/// by the same amount as their margin, Boostrap-style. -/// @group grid -/// @access public -/// @since 1.0.0 - -$grid-row-margin-desktop: 0 -#{$grid-container-padding-desktop-sides} !default; - -/// Controls the padding on child items of the grid. -/// On non-margin classes, this will act like a "margin", -/// putting space between grid items, Boostrap-style. -/// If you need to use the padding for something else, like -/// if you have a background color on your grid item, -/// use the margin classes. -/// @group grid -/// @access public -/// @since 1.0.0 - -$grid-column-padding: $padding !default; - -/// Controls the padding on child items of the grid using the -/// -margin class. Does not affect other margin classes. -/// @group grid -/// @access public -/// @since 2.0.0 - -$grid-margin-padding: $padding !default; +@import 'grid-variables'; // ================================================================= // Grid Styles and Placeholders @@ -126,22 +11,22 @@ $grid-margin-padding: $padding !default; // The heart of the grid. You can use this outside of Responsive if you like. // Requires variables. -@import "grid-mixins"; +@import 'grid-mixins'; // Placeholders, used for most of the grid. -@import "grid-placeholders"; +@import 'grid-placeholders'; // Basic styles for containers, etc. that have things to do with the grid. -@import "grid-styles"; +@import 'grid-styles'; // Friendly placeholders for common needs - calculated based on grid columns // The classes for these always print, regardless of $grid-classes setting. -@import "grid-friendly"; +@import 'grid-friendly'; // Creates classes for ALL grid columns - not just friendly ones - Boostrap-style. // Optional. -@import "grid-classes"; +@import 'grid-classes'; diff --git a/css-dev/burf-base/icons/_actions.scss b/css-dev/burf-base/icons/_actions.scss deleted file mode 100644 index 31fa4537..00000000 --- a/css-dev/burf-base/icons/_actions.scss +++ /dev/null @@ -1,353 +0,0 @@ -// ================================================================= -// Action Icons - // action - // ban - // bookmark - // close - // delete - // download - // downloadbox - // like - // alt - // dislike - // menu - // plus - // hyphen - // print - // redirect - // refresh - // replay - // share - // search - // settings - // sync - // star - // tag - // upload - // uploadcloud -// ================================================================= - -/// The action icon. -/// @example scss - Add the action icon to a menu item -/// .menu-item { -/// @extend %icon-action; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-action { - @include icon( "action" ); -} - -/// The ban icon. -/// @example scss - Add the ban icon to a menu item -/// .menu-item { -/// @extend %icon-ban; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-ban { - @include icon( "ban" ); -} - -/// The bookmark icon. -/// @example scss - Add the bookmark icon to a menu item -/// .menu-item { -/// @extend %icon-bookmark; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-bookmark { - @include icon( "bookmark" ); -} - -/// The close icon. -/// @example scss - Add the close icon to a menu item -/// .menu-item { -/// @extend %icon-close; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-close { - @include icon( "close" ); -} - -/// The delete icon. -/// @example scss - Add the delete icon to a menu item -/// .menu-item { -/// @extend %icon-delete; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-delete { - @include icon( "delete" ); -} - -/// The download icon. -/// @example scss - Add the download icon to a menu item -/// .menu-item { -/// @extend %icon-download; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-download { - @include icon( "download" ); -} - -/// The downloadbox icon. -/// @example scss - Add the downloadbox icon to a menu item -/// .menu-item { -/// @extend %icon-downloadbox; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-downloadbox { - @include icon( "downloadbox" ); -} - -/// The like icon. -/// @example scss - Add the like icon to a menu item -/// .menu-item { -/// @extend %icon-like; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-like { - @include icon( "like" ); -} - -/// The like alt icon. -/// @example scss - Add the like alt icon to a menu item -/// .menu-item { -/// @extend %icon-like-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-like-alt { - @include icon( "like-alt" ); -} - -/// The dislike icon. -/// @example scss - Add the dislike icon to a menu item -/// .menu-item { -/// @extend %icon-dislike; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-dislike { - @include icon( "dislike" ); -} - -/// The menu icon. -/// @example scss - Add the menu icon to a menu item -/// .menu-item { -/// @extend %icon-menu; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-menu { - @include icon( "menu" ); -} - -/// The plus icon. -/// @example scss - Add the plus icon to a menu item -/// .menu-item { -/// @extend %icon-plus; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-plus { - @include icon( "plus" ); -} - -/// The hyphen icon. -/// @example scss - Add the hyphen icon to a menu item -/// .menu-item { -/// @extend %icon-hyphen; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-hyphen { - @include icon( "hyphen" ); -} - -/// The print icon. -/// @example scss - Add the print icon to a menu item -/// .menu-item { -/// @extend %icon-print; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-print { - @include icon( "print" ); -} - -/// The redirect icon. -/// @example scss - Add the redirect icon to a menu item -/// .menu-item { -/// @extend %icon-redirect; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-redirect { - @include icon( "redirect" ); -} - -/// The refresh icon. -/// @example scss - Add the refresh icon to a menu item -/// .menu-item { -/// @extend %icon-refresh; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-refresh { - @include icon( "refresh" ); -} - -/// The replay icon. -/// @example scss - Add the replay icon to a menu item -/// .menu-item { -/// @extend %icon-replay; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-replay { - @include icon( "replay" ); -} - -/// The share icon. -/// @example scss - Add the share icon to a menu item -/// .menu-item { -/// @extend %icon-share; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-share { - @include icon( "share" ); -} - -/// The search icon. -/// @example scss - Add the search icon to a menu item -/// .menu-item { -/// @extend %icon-search; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-search { - @include icon( "search" ); -} - -/// The settings icon. -/// @example scss - Add the settings icon to a menu item -/// .menu-item { -/// @extend %icon-settings; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-settings { - @include icon( "settings" ); -} - -/// The sync icon. -/// @example scss - Add the sync icon to a menu item -/// .menu-item { -/// @extend %icon-sync; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-sync { - @include icon( "sync" ); -} - -/// The star icon. -/// @example scss - Add the star icon to a menu item -/// .menu-item { -/// @extend %icon-star; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-star { - @include icon( "star" ); -} - -/// The tag icon. -/// @example scss - Add the tag icon to a menu item -/// .menu-item { -/// @extend %icon-tag; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-tag { - @include icon( "tag" ); -} - -/// The upload icon. -/// @example scss - Add the upload icon to a menu item -/// .menu-item { -/// @extend %icon-upload; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-upload { - @include icon( "upload" ); -} - -/// The upload to cloud icon. -/// @example scss - Add the upload to cloud icon to a menu item -/// .menu-item { -/// @extend %icon-uploadcloud; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-uploadcloud { - @include icon( "uploadcloud" ); -} diff --git a/css-dev/burf-base/icons/_arrows.scss b/css-dev/burf-base/icons/_arrows.scss deleted file mode 100644 index 9676a555..00000000 --- a/css-dev/burf-base/icons/_arrows.scss +++ /dev/null @@ -1,227 +0,0 @@ -// ================================================================= -// Arrow Icons - // contract - // expand - // scaledown - // scaleup - // up - // right - // down - // left - // directup - // directright - // dropdown - // directleft - // navigateup - // navigateright - // navigatedown - // navigateleft -// ================================================================= - -/// The contract icon. -/// @example scss - Add the contract icon to a menu item -/// .menu-item { -/// @extend %icon-contract; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-contract { - @include icon( "contract" ); -} - -/// The expand icon. -/// @example scss - Add the expand icon to a menu item -/// .menu-item { -/// @extend %icon-expand; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-expand { - @include icon( "expand" ); -} - -/// The scaledown icon. -/// @example scss - Add the scaledown icon to a menu item -/// .menu-item { -/// @extend %icon-scaledown; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-scaledown { - @include icon( "scaledown" ); -} - -/// The scaleup icon. -/// @example scss - Add the scaleup icon to a menu item -/// .menu-item { -/// @extend %icon-scaleup; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-scaleup { - @include icon( "scaleup" ); -} - -/// The up icon. -/// @example scss - Add the up icon to a menu item -/// .menu-item { -/// @extend %icon-up; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-up { - @include icon( "up" ); -} - -/// The right icon. -/// @example scss - Add the right icon to a menu item -/// .menu-item { -/// @extend %icon-right; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-right { - @include icon( "right" ); -} - -/// The down icon. -/// @example scss - Add the down icon to a menu item -/// .menu-item { -/// @extend %icon-down; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-down { - @include icon( "down" ); -} - -/// The left icon. -/// @example scss - Add the left icon to a menu item -/// .menu-item { -/// @extend %icon-left; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-left { - @include icon( "left" ); -} - -/// The directup icon. -/// @example scss - Add the directup icon to a menu item -/// .menu-item { -/// @extend %icon-directup; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-directup { - @include icon( "directup" ); -} - -/// The directright icon. -/// @example scss - Add the directright icon to a menu item -/// .menu-item { -/// @extend %icon-directright; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-directright { - @include icon( "directright" ); -} - -/// The dropdown icon. -/// @example scss - Add the dropdown icon to a menu item -/// .menu-item { -/// @extend %icon-dropdown; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-dropdown { - @include icon( "dropdown" ); -} - -/// The directleft icon. -/// @example scss - Add the directleft icon to a menu item -/// .menu-item { -/// @extend %icon-directleft; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-directleft { - @include icon( "directleft" ); -} - -/// The navigateup icon. -/// @example scss - Add the navigateup icon to a menu item -/// .menu-item { -/// @extend %icon-navigateup; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-navigateup { - @include icon( "navigateup" ); -} - -/// The navigateright icon. -/// @example scss - Add the navigateright icon to a menu item -/// .menu-item { -/// @extend %icon-navigateright; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-navigateright { - @include icon( "navigateright" ); -} - -/// The navigatedown icon. -/// @example scss - Add the navigatedown icon to a menu item -/// .menu-item { -/// @extend %icon-navigatedown; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-navigatedown { - @include icon( "navigatedown" ); -} - -/// The navigateleft icon. -/// @example scss - Add the navigateleft icon to a menu item -/// .menu-item { -/// @extend %icon-navigateleft; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-navigateleft { - @include icon( "navigateleft" ); -} diff --git a/css-dev/burf-base/icons/_base.scss b/css-dev/burf-base/icons/_base.scss index 5e8cb823..b2a04126 100644 --- a/css-dev/burf-base/icons/_base.scss +++ b/css-dev/burf-base/icons/_base.scss @@ -2,22 +2,24 @@ // Dependencies // ================================================================= +@if $use-default-icons { + @font-face { + font-family: "bu-default-icons"; + src: url( "//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.eot?" ) format( "embedded-opentype" ); + src: url( "//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.woff" ) format( "woff" ), + url( "//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.ttf" ) format( "truetype" ), + url( "//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.svg#bu-default-icons" ) format( "svg" ); + font-weight: normal; + font-style: normal; + } +} + @import "mixins"; // ================================================================= // Base Icon Styles // ================================================================= -@font-face { - font-family: "bu-default-icons"; - src: url( "//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.eot?" ) format( "embedded-opentype" ); - src: url( "//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.woff" ) format( "woff" ), - url( "//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.ttf" ) format( "truetype" ), - url( "//www.bu.edu/cdn/fonts/icons/bu-default-icons/bu-default-icons.svg#bu-default-icons" ) format( "svg" ); - font-weight: normal; - font-style: normal; -} - /// Choose whether or not to print CSS classes for icons in your /// stylesheet. By default, this option is false for child themes, /// and true for the framework. Set this to true when you want to diff --git a/css-dev/burf-base/icons/_charts.scss b/css-dev/burf-base/icons/_charts.scss deleted file mode 100644 index 42959145..00000000 --- a/css-dev/burf-base/icons/_charts.scss +++ /dev/null @@ -1,59 +0,0 @@ -// ================================================================= -// Charts, Graphs, & Data Icons - // calculator - // barchart - // piechart - // stock -// ================================================================= - -/// The calculator icon. -/// @example scss - Add the calculator icon to a menu item -/// .menu-item { -/// @extend %icon-calculator; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-calculator { - @include icon( "calculator" ); -} - -/// The barchart icon. -/// @example scss - Add the barchart icon to a menu item -/// .menu-item { -/// @extend %icon-barchart; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-barchart { - @include icon( "barchart" ); -} - -/// The piechart icon. -/// @example scss - Add the piechart icon to a menu item -/// .menu-item { -/// @extend %icon-piechart; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-piechart { - @include icon( "piechart" ); -} - -/// The stock icon. -/// @example scss - Add the stock icon to a menu item -/// .menu-item { -/// @extend %icon-stock; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-stock { - @include icon( "stock" ); -} diff --git a/css-dev/burf-base/icons/_communication.scss b/css-dev/burf-base/icons/_communication.scss deleted file mode 100644 index 0d3c7334..00000000 --- a/css-dev/burf-base/icons/_communication.scss +++ /dev/null @@ -1,73 +0,0 @@ -// ================================================================= -// Communication Icons - // envelope - // phone - // rss - // alt - // rotaryphone -// ================================================================= - -/// The envelope icon. -/// @example scss - Add the envelope icon to a menu item -/// .menu-item { -/// @extend %icon-envelope; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-envelope { - @include icon( "envelope" ); -} - -/// The phone icon. -/// @example scss - Add the phone icon to a menu item -/// .menu-item { -/// @extend %icon-phone; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-phone { - @include icon( "phone" ); -} - -/// The rss icon. -/// @example scss - Add the rss icon to a menu item -/// .menu-item { -/// @extend %icon-rss; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-rss { - @include icon( "rss" ); -} - -/// The rss alt icon. -/// @example scss - Add the rss alt icon to a menu item -/// .menu-item { -/// @extend %icon-rss-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-rss-alt { - @include icon( "rss-alt" ); -} - -/// The rotaryphone icon. -/// @example scss - Add the rotaryphone icon to a menu item -/// .menu-item { -/// @extend %icon-rotaryphone; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-rotaryphone { - @include icon( "rotaryphone" ); -} diff --git a/css-dev/burf-base/icons/_documents.scss b/css-dev/burf-base/icons/_documents.scss deleted file mode 100644 index 0c08b1c3..00000000 --- a/css-dev/burf-base/icons/_documents.scss +++ /dev/null @@ -1,101 +0,0 @@ -// ================================================================= -// Document Icons - // link - // alt - // file - // files - // folder - // index - // storagebox -// ================================================================= - -/// The link icon. -/// @example scss - Add the link icon to a menu item -/// .menu-item { -/// @extend %icon-link; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-link { - @include icon( "link" ); -} - -/// The link alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-link-alt { - @include icon( "link-alt" ); -} - -/// The file icon. -/// @example scss - Add the file icon to a menu item -/// .menu-item { -/// @extend %icon-file; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-file { - @include icon( "file" ); -} - -/// The files icon. -/// @example scss - Add the files icon to a menu item -/// .menu-item { -/// @extend %icon-files; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-files { - @include icon( "files" ); -} - -/// The folder icon. -/// @example scss - Add the folder icon to a menu item -/// .menu-item { -/// @extend %icon-folder; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-folder { - @include icon( "folder" ); -} - -/// The index icon. -/// @example scss - Add the index icon to a menu item -/// .menu-item { -/// @extend %icon-index; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-index { - @include icon( "index" ); -} - -/// The storagebox icon. -/// @example scss - Add the storagebox icon to a menu item -/// .menu-item { -/// @extend %icon-storagebox; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-storagebox { - @include icon( "storagebox" ); -} diff --git a/css-dev/burf-base/icons/_ecommerce.scss b/css-dev/burf-base/icons/_ecommerce.scss deleted file mode 100644 index a921236f..00000000 --- a/css-dev/burf-base/icons/_ecommerce.scss +++ /dev/null @@ -1,59 +0,0 @@ -// ================================================================= -// eCommerce Icons - // burst - // cart - // credit card - // emptycart -// ================================================================= - -/// The burst icon. -/// @example scss - Add the burst icon to a menu item -/// .menu-item { -/// @extend %icon-burst; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-burst { - @include icon( "burst" ); -} - -/// The cart icon. -/// @example scss - Add the cart icon to a menu item -/// .menu-item { -/// @extend %icon-cart; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-cart { - @include icon( "cart" ); -} - -/// The credit card icon. -/// @example scss - Add the credit card icon to a menu item -/// .menu-item { -/// @extend %icon-creditcard; -/// } -/// @group icons -/// @access public -/// @since 1.2.0 - -%icon-creditcard { - @include icon( "creditcard" ); -} - -/// The emptycart icon. -/// @example scss - Add the emptycart icon to a menu item -/// .menu-item { -/// @extend %icon-emptycart; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-emptycart { - @include icon( "emptycart" ); -} diff --git a/css-dev/burf-base/icons/_editing.scss b/css-dev/burf-base/icons/_editing.scss deleted file mode 100644 index aff745a2..00000000 --- a/css-dev/burf-base/icons/_editing.scss +++ /dev/null @@ -1,128 +0,0 @@ -// ================================================================= -// Editing Icons - // compose - // grid - // layers - // layout - // list - // flag - // reply - // thumbnails - // write -// ================================================================= - -/// The compose icon. -/// @example scss - Add the compose icon to a menu item -/// .menu-item { -/// @extend %icon-compose; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-compose { - @include icon( "compose" ); -} - -/// The grid icon. -/// @example scss - Add the grid icon to a menu item -/// .menu-item { -/// @extend %icon-grid; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-grid { - @include icon( "grid" ); -} -/// The layers icon. -/// @example scss - Add the layers icon to a menu item -/// .menu-item { -/// @extend %icon-layers; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-layers { - @include icon( "layers" ); -} - -/// The layout icon. -/// @example scss - Add the layout icon to a menu item -/// .menu-item { -/// @extend %icon-layout; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-layout { - @include icon( "layout" ); -} - -/// The list icon. -/// @example scss - Add the list icon to a menu item -/// .menu-item { -/// @extend %icon-list; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-list { - @include icon( "list" ); -} - -/// The flag icon. -/// @example scss - Add the flag icon to a menu item -/// .menu-item { -/// @extend %icon-flag; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-flag { - @include icon( "flag" ); -} - -/// The reply icon. -/// @example scss - Add the reply icon to a menu item -/// .menu-item { -/// @extend %icon-reply; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-reply { - @include icon( "reply" ); -} - -/// The thumbnails icon. -/// @example scss - Add the thumbnails icon to a menu item -/// .menu-item { -/// @extend %icon-thumbnails; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-thumbnails { - @include icon( "thumbnails" ); -} - -/// The write icon. -/// @example scss - Add the write icon to a menu item -/// .menu-item { -/// @extend %icon-write; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-write { - @include icon( "write" ); -} diff --git a/css-dev/burf-base/icons/_location.scss b/css-dev/burf-base/icons/_location.scss deleted file mode 100644 index 820f6740..00000000 --- a/css-dev/burf-base/icons/_location.scss +++ /dev/null @@ -1,101 +0,0 @@ -// ================================================================= -// Location Icons - // compass - // crosshair - // globe - // location - // map - // navigate - // signpost -// ================================================================= - -/// The compass icon. -/// @example scss - Add the compass icon to a menu item -/// .menu-item { -/// @extend %icon-compass; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-compass { - @include icon( "compass" ); -} - -/// The crosshair icon. -/// @example scss - Add the crosshair icon to a menu item -/// .menu-item { -/// @extend %icon-crosshair; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-crosshair { - @include icon( "crosshair" ); -} - -/// The globe icon. -/// @example scss - Add the globe icon to a menu item -/// .menu-item { -/// @extend %icon-globe; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-globe { - @include icon( "globe" ); -} - -/// The location icon. -/// @example scss - Add the location icon to a menu item -/// .menu-item { -/// @extend %icon-location; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-location { - @include icon( "location" ); -} - -/// The map icon. -/// @example scss - Add the map icon to a menu item -/// .menu-item { -/// @extend %icon-map; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-map { - @include icon( "map" ); -} - -/// The navigate icon. -/// @example scss - Add the navigate icon to a menu item -/// .menu-item { -/// @extend %icon-navigate; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-navigate { - @include icon( "navigate" ); -} - -/// The signpost icon. -/// @example scss - Add the signpost icon to a menu item -/// .menu-item { -/// @extend %icon-signpost; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-signpost { - @include icon( "signpost" ); -} diff --git a/css-dev/burf-base/icons/_media.scss b/css-dev/burf-base/icons/_media.scss deleted file mode 100644 index 13d4ca9d..00000000 --- a/css-dev/burf-base/icons/_media.scss +++ /dev/null @@ -1,213 +0,0 @@ -// ================================================================= -// Media Icons - // play - // pause - // stop - // rewind - // fastforward - // skipback - // skipforward - // record - // volume - // camera - // headphones - // mic - // music - // picture - // video -// ================================================================= - -/// The play icon. -/// @example scss - Add the play icon to a menu item -/// .menu-item { -/// @extend %icon-play; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-play { - @include icon( "play" ); -} - -/// The pause icon. -/// @example scss - Add the pause icon to a menu item -/// .menu-item { -/// @extend %icon-pause; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-pause { - @include icon( "pause" ); -} - -/// The stop icon. -/// @example scss - Add the stop icon to a menu item -/// .menu-item { -/// @extend %icon-stop; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-stop { - @include icon( "stop" ); -} - -/// The rewind icon. -/// @example scss - Add the rewind icon to a menu item -/// .menu-item { -/// @extend %icon-rewind; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-rewind { - @include icon( "rewind" ); -} - -/// The fastforward icon. -/// @example scss - Add the fastforward icon to a menu item -/// .menu-item { -/// @extend %icon-fastforward; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-fastforward { - @include icon( "fastforward" ); -} - -/// The skipback icon. -/// @example scss - Add the skipback icon to a menu item -/// .menu-item { -/// @extend %icon-skipback; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-skipback { - @include icon( "skipback" ); -} - -/// The skipforward icon. -/// @example scss - Add the skipforward icon to a menu item -/// .menu-item { -/// @extend %icon-skipforward; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-skipforward { - @include icon( "skipforward" ); -} - -/// The record icon. -/// @example scss - Add the record icon to a menu item -/// .menu-item { -/// @extend %icon-record; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-record { - @include icon( "record" ); -} - -/// The volume icon. -/// @example scss - Add the volume icon to a menu item -/// .menu-item { -/// @extend %icon-volume; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-volume { - @include icon( "volume" ); -} - -/// The camera icon. -/// @example scss - Add the camera icon to a menu item -/// .menu-item { -/// @extend %icon-camera; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-camera { - @include icon( "camera" ); -} - -/// The headphones icon. -/// @example scss - Add the headphones icon to a menu item -/// .menu-item { -/// @extend %icon-headphones; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-headphones { - @include icon( "headphones" ); -} - -/// The mic icon. -/// @example scss - Add the mic icon to a menu item -/// .menu-item { -/// @extend %icon-mic; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-mic { - @include icon( "mic" ); -} - -/// The music icon. -/// @example scss - Add the music icon to a menu item -/// .menu-item { -/// @extend %icon-music; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-music { - @include icon( "music" ); -} - -/// The picture icon. -/// @example scss - Add the picture icon to a menu item -/// .menu-item { -/// @extend %icon-picture; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-picture { - @include icon( "picture" ); -} - -/// The video icon. -/// @example scss - Add the video icon to a menu item -/// .menu-item { -/// @extend %icon-video; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-video { - @include icon( "video" ); -} diff --git a/css-dev/burf-base/icons/_mixins.scss b/css-dev/burf-base/icons/_mixins.scss index 89cfa76c..0940acbc 100644 --- a/css-dev/burf-base/icons/_mixins.scss +++ b/css-dev/burf-base/icons/_mixins.scss @@ -114,28 +114,37 @@ $color-icons: unset !default; /// A mixin to generate icons. /// Use any icon in `$icon-supports`. +/// $use-extend will use the extends for performance +/// purposes, but sacrifices your ability to use this +/// inside a media query. Setting this to true is really +/// only beneficial for generating the default placeholders. /// @group icons /// @access public /// @since 2.0.0 -@mixin icon( $name, $position: "before" ) { - @extend %icon-content-#{$position}; +@mixin icon( $name, $position: "before", $use-extend: false ) { @include icon-base; $content: map-get( $icons-responsive, $name ); + @if $use-extend { + @extend %icon-content-#{$position}; + } + &::#{$position} { + @if $use-extend == false { + @include icon-content; + + @if $position == "before" { + margin-right: 0.5em; + } @else { + margin-left: 0.5em; + } + } + @if $content { content: $content; } @else { @error "`#{$name}` is not a supported icon. See www.bu.edu/cdn/fonts/icons/bu-default-icons/specimen-icons.html for a list of supported icons. If this is a custom icon you meant to add for your own icon font, be sure you've added it to the `$icons-theme` map."; } } - - @if $print-icon-classes { - @at-root { - .icon-#{$name} { - @extend %icon-#{$name}; - } - } - } } diff --git a/css-dev/burf-base/icons/_objects.scss b/css-dev/burf-base/icons/_objects.scss deleted file mode 100644 index 3da01150..00000000 --- a/css-dev/burf-base/icons/_objects.scss +++ /dev/null @@ -1,495 +0,0 @@ -// ================================================================= -// Object Icons - // book - // box - // briefcase - // bug - // chat - // clipboard - // code - // contacts - // dashboard - // flask - // heart - // home - // key - // lightbulb - // lightning - // lock - // unlock - // notebook - // notifications - // pin - // pinboard - // planet - // poo - // puzzle - // recycle - // recycle alt - // screwdriver - // thermometer - // toolbox - // user - // users - // utensils - // view - // wheelchair - // wrench -// ================================================================= - -/// The book icon. -/// @example scss - Add the book icon to a menu item -/// .menu-item { -/// @extend %icon-book; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-book { - @include icon( "book" ); -} - -/// The box icon. -/// @example scss - Add the box icon to a menu item -/// .menu-item { -/// @extend %icon-box; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-box { - @include icon( "box" ); -} - -/// The briefcase icon. -/// @example scss - Add the briefcase icon to a menu item -/// .menu-item { -/// @extend %icon-briefcase; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-briefcase { - @include icon( "briefcase" ); -} - -/// The bug icon. -/// @example scss - Add the bug icon to a menu item -/// .menu-item { -/// @extend %icon-bug; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-bug { - @include icon( "bug" ); -} - -/// The chat icon. -/// @example scss - Add the chat icon to a menu item -/// .menu-item { -/// @extend %icon-chat; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-chat { - @include icon( "chat" ); -} - -/// The clipboard icon. -/// @example scss - Add the clipboard icon to a menu item -/// .menu-item { -/// @extend %icon-clipboard; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-clipboard { - @include icon( "clipboard" ); -} - -/// The code icon. -/// @example scss - Add the code icon to a menu item -/// .menu-item { -/// @extend %icon-code; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-code { - @include icon( "code" ); -} - -/// The contacts icon. -/// @example scss - Add the contacts icon to a menu item -/// .menu-item { -/// @extend %icon-contacts; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-contacts { - @include icon( "contacts" ); -} - -/// The dashboard icon. -/// @example scss - Add the dashboard icon to a menu item -/// .menu-item { -/// @extend %icon-dashboard; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-dashboard { - @include icon( "dashboard" ); -} - - -/// The flask icon. -/// @example scss - Add the flask icon to a menu item -/// .menu-item { -/// @extend %icon-flask; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-flask { - @include icon( "flask" ); -} - -/// The heart icon. -/// @example scss - Add the heart icon to a menu item -/// .menu-item { -/// @extend %icon-heart; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-heart { - @include icon( "heart" ); -} - -/// The home icon. -/// @example scss - Add the home icon to a menu item -/// .menu-item { -/// @extend %icon-home; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-home { - @include icon( "home" ); -} - -/// The key icon. -/// @example scss - Add the key icon to a menu item -/// .menu-item { -/// @extend %icon-key; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-key { - @include icon( "key" ); -} - -/// The lightbulb icon. -/// @example scss - Add the lightbulb icon to a menu item -/// .menu-item { -/// @extend %icon-lightbulb; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-lightbulb { - @include icon( "lightbulb" ); -} - -/// The lightning icon. -/// @example scss - Add the lightning icon to a menu item -/// .menu-item { -/// @extend %icon-lightning; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-lightning { - @include icon( "lightning" ); -} - -/// The lock icon. -/// @example scss - Add the lock icon to a menu item -/// .menu-item { -/// @extend %icon-lock; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-lock { - @include icon( "lock" ); -} - -/// The unlock icon. -/// @example scss - Add the unlock icon to a menu item -/// .menu-item { -/// @extend %icon-unlock; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-unlock { - @include icon( "unlock" ); -} - -/// The notebook icon. -/// @example scss - Add the notebook icon to a menu item -/// .menu-item { -/// @extend %icon-notebook; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-notebook { - @include icon( "notebook" ); -} - -/// The notifications icon. -/// @example scss - Add the notifications icon to a menu item -/// .menu-item { -/// @extend %icon-notifications; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-notifications { - @include icon( "notifications" ); -} - -/// The pin icon. -/// @example scss - Add the pin icon to a menu item -/// .menu-item { -/// @extend %icon-pin; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-pin { - @include icon( "pin" ); -} - -/// The pinboard icon. -/// @example scss - Add the pinboard icon to a menu item -/// .menu-item { -/// @extend %icon-pinboard; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-pinboard { - @include icon( "pinboard" ); -} - - -/// The planet icon. -/// @example scss - Add the planet icon to a menu item -/// .menu-item { -/// @extend %icon-planet; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-planet { - @include icon( "planet" ); -} - -/// The poo icon. -/// @example scss - Add the poo icon to a menu item -/// .menu-item { -/// @extend %icon-poo; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-poo { - @include icon( "poo" ); -} - -/// The puzzle icon. -/// @example scss - Add the puzzle icon to a menu item -/// .menu-item { -/// @extend %icon-puzzle; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-puzzle { - @include icon( "puzzle" ); -} - -/// The recycle icon. -/// @example scss - Add the recycle icon to a menu item -/// .menu-item { -/// @extend %icon-recycle; -/// } -/// @group icons -/// @access public -/// @since 1.2.0 - -%icon-recycle { - @include icon( "recycle" ); -} - -/// The recycle alt icon. -/// @example scss - Add the recycle alt icon to a menu item -/// .menu-item { -/// @extend %icon-recycle-alt; -/// } -/// @group icons -/// @access public -/// @since 1.2.0 - -%icon-recycle-alt { - @include icon( "recycle-alt" ); -} - -/// The screwdriver icon. -/// @example scss - Add the screwdriver icon to a menu item -/// .menu-item { -/// @extend %icon-screwdriver; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-screwdriver { - @include icon( "screwdriver" ); -} - -/// The thermometer icon. -/// @example scss - Add the thermometer icon to a menu item -/// .menu-item { -/// @extend %icon-thermometer; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-thermometer { - @include icon( "thermometer" ); -} - -/// The toolbox icon. -/// @example scss - Add the toolbox icon to a menu item -/// .menu-item { -/// @extend %icon-toolbox; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-toolbox { - @include icon( "toolbox" ); -} - -/// The user icon. -/// @example scss - Add the user icon to a menu item -/// .menu-item { -/// @extend %icon-user; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-user { - @include icon( "user" ); -} - -/// The users icon. -/// @example scss - Add the users icon to a menu item -/// .menu-item { -/// @extend %icon-users; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-users { - @include icon( "users" ); -} - -/// The utensils icon. -/// @example scss - Add the utensils icon to a menu item -/// .menu-item { -/// @extend %icon-utensils; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-utensils { - @include icon( "utensils" ); -} - -/// The view icon. -/// @example scss - Add the view icon to a menu item -/// .menu-item { -/// @extend %icon-view; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-view { - @include icon( "view" ); -} - -/// The wheelchair icon. -/// @example scss - Add the wheelchair icon to a menu item -/// .menu-item { -/// @extend %icon-wheelchair; -/// } -/// @group icons -/// @access public -/// @since 1.2.0 - -%icon-wheelchair { - @include icon( "wheelchair" ); -} - -/// The wrench icon. -/// @example scss - Add the wrench icon to a menu item -/// .menu-item { -/// @extend %icon-wrench; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-wrench { - @include icon( "wrench" ); -} diff --git a/css-dev/burf-base/icons/_package.scss b/css-dev/burf-base/icons/_package.scss index adccacc3..02033258 100644 --- a/css-dev/burf-base/icons/_package.scss +++ b/css-dev/burf-base/icons/_package.scss @@ -1,17 +1,33 @@ -@import "burf-base/icons/base"; // Required -@import "burf-base/icons/social"; // Required -@import "burf-base/icons/actions"; // Required -@import "burf-base/icons/arrows"; -@import "burf-base/icons/charts"; -@import "burf-base/icons/communication"; -@import "burf-base/icons/documents"; -@import "burf-base/icons/ecommerce"; -@import "burf-base/icons/editing"; -@import "burf-base/icons/location"; -@import "burf-base/icons/media"; -@import "burf-base/icons/objects"; -@import "burf-base/icons/status"; -@import "burf-base/icons/technology"; -@import "burf-base/icons/time"; -@import "burf-base/icons/transportation"; -@import "burf-base/icons/ui"; +/// Choose whether or not to use BU Default icons for icons in your +/// stylesheet. By default, this option is set to true. Set to false +/// to load your own icon font family. +/// @group icons +/// @access public +/// @since 2.1.11 + +$use-default-icons: true !default; + +/// Controls the placement of icon content globally +/// in placeholders and default icon classes. +/// @group icons +/// @access public +/// @since 3.0.2 + +$icons-positioning: 'before' !default; + +@import "burf-base/icons/base"; + +/// Generates the icon placeholders and classes +/// based off the $icons-responsive Sass map. + +@each $name, $content in $icons-responsive { + %icon-#{$name} { + @include icon( $name, $icons-positioning, true ); + } + + @if $print-icon-classes { + .icon-#{$name} { + @extend %icon-#{$name}; + } + } +} diff --git a/css-dev/burf-base/icons/_social.scss b/css-dev/burf-base/icons/_social.scss deleted file mode 100644 index 647969d2..00000000 --- a/css-dev/burf-base/icons/_social.scss +++ /dev/null @@ -1,707 +0,0 @@ -// ================================================================= -// Social Icons - // dropbox (two options) - // facebook (two options) - // flickr (two options) - // foursquare (two options) - // github (two options) - // googleplus (two options) - // instagram (two options) - // kickstarter (two options) - // linkedin (two options) - // paypal (two options) - // pinterest (two options) - // pocket (two options) - // reddit (two options) - // renren - // retweet - // snapchat (two options) - // soundcloud (two options) - // spotify - // stackexchange (two options) - // stackoverflow (two options) - // stumbleupon (two options) - // twitter (two options) - // tumblr (two options) - // vimeo (two options) - // vine (two options) - // weibo (two options) - // wordpress - // youtube (two options) -// ================================================================= - -/// The dropbox icon. -/// @example scss - Add the dropbox icon to a menu item -/// .menu-item { -/// @extend %icon-dropbox; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-dropbox { - @include icon( "dropbox" ); -} - -/// The dropbox alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-dropbox-alt { - @include icon( "dropbox-alt" ); -} - -/// The facebook icon. -/// @example scss - Add the facebook icon to a menu item -/// .menu-item { -/// @extend %icon-facebook; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-facebook { - @include icon( "facebook" ); -} - -/// The facebook alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-facebook-alt { - @include icon( "facebook-alt" ); -} - -/// The flickr icon. -/// @example scss - Add the flickr icon to a menu item -/// .menu-item { -/// @extend %icon-flickr; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-flickr { - @include icon( "flickr" ); -} - -/// The flickr alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-flickr-alt { - @include icon( "flickr-alt" ); -} - -/// The foursquare icon. -/// @example scss - Add the foursquare icon to a menu item -/// .menu-item { -/// @extend %icon-foursquare; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-foursquare { - @include icon( "foursquare" ); -} - -/// The icon alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-foursquare-alt { - @include icon( "foursquare-alt" ); -} - -/// The github icon. -/// @example scss - Add the github icon to a menu item -/// .menu-item { -/// @extend %icon-github; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-github { - @include icon( "github" ); -} - -/// The github alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-github-alt { - @include icon( "github-alt" ); -} - -/// The googleplus icon. -/// @example scss - Add the googleplus icon to a menu item -/// .menu-item { -/// @extend %icon-googleplus; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-googleplus { - @include icon( "googleplus" ); -} - -/// The icon alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-googleplus-alt { - @include icon( "googleplus-alt" ); -} - -/// The instagram icon. -/// @example scss - Add the instagram icon to a menu item -/// .menu-item { -/// @extend %icon-instagram; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-instagram { - @include icon( "instagram" ); -} - -/// The instagram alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-instagram-alt { - @include icon( "instagram-alt" ); -} - -/// The kickstarter icon. -/// @example scss - Add the kickstarter icon to a menu item -/// .menu-item { -/// @extend %icon-kickstarter; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-kickstarter { - @include icon( "kickstarter" ); -} - -/// The icon alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-kickstarter-alt { - @include icon( "kickstarter-alt" ); -} - -/// The linkedin icon. -/// @example scss - Add the linkedin icon to a menu item -/// .menu-item { -/// @extend %icon-linkedin; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-linkedin { - @include icon( "linkedin" ); -} - -/// The linkedin alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-linkedin-alt { - @include icon( "linkedin-alt" ); -} - -/// The paypal icon. -/// @example scss - Add the paypal icon to a menu item -/// .menu-item { -/// @extend %icon-paypal; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-paypal { - @include icon( "paypal" ); -} - -/// The paypal alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-paypal-alt { - @include icon( "paypal-alt" ); -} - -/// The pinterest icon. -/// @example scss - Add the pinterest icon to a menu item -/// .menu-item { -/// @extend %icon-pinterest; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-pinterest { - @include icon( "pinterest" ); -} - -/// The pinterest alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-pinterest-alt { - @include icon( "pinterest-alt" ); -} - -/// The pocket icon. -/// @example scss - Add the pocket icon to a menu item -/// .menu-item { -/// @extend %icon-pocket; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-pocket { - @include icon( "pocket" ); -} - -/// The pocket alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-pocket-alt { - @include icon( "pocket-alt" ); -} - -/// The reddit icon. -/// @example scss - Add the reddit icon to a menu item -/// .menu-item { -/// @extend %icon-reddit; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-reddit { - @include icon( "reddit" ); -} - -/// The reddit alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-reddit-alt { - @include icon( "reddit-alt" ); -} - -/// The renren icon. -/// @example scss - Add the renren icon to a menu item -/// .menu-item { -/// @extend %icon-renren; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-renren { - @include icon( "renren" ); -} - -/// The retweet icon. -/// @example scss - Add the retweet icon to a menu item -/// .menu-item { -/// @extend %icon-retweet; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-retweet { - @include icon( "retweet" ); -} - -/// The snapchat icon. -/// @example scss - Add the snapchat icon to a menu item -/// .menu-item { -/// @extend %icon-snapchat; -/// } -/// @group 03-icons -/// @access public -/// @since 2.0 - -%icon-snapchat { - @include icon( "snapchat" ); -} - -/// The alt snapchat icon. -/// @example scss - Add the alt snapchat icon to a menu item -/// .menu-item { -/// @extend %icon-snapchat-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 2.0 - -%icon-snapchat-alt { - @include icon( "snapchat-alt" ); -} - -/// The soundcloud icon. -/// @example scss - Add the soundcloud icon to a menu item -/// .menu-item { -/// @extend %icon-soundcloud; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-soundcloud { - @include icon( "soundcloud" ); -} - -/// The icon alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-soundcloud-alt { - @include icon( "soundcloud-alt" ); -} - -/// The spotify icon. -/// @example scss - Add the spotify icon to a menu item -/// .menu-item { -/// @extend %icon-spotify; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-spotify { - @include icon( "spotify" ); -} - -/// The stackexchange icon. -/// @example scss - Add the stackexchange icon to a menu item -/// .menu-item { -/// @extend %icon-stackexchange; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-stackexchange { - @include icon( "stackexchange" ); -} - -/// The icon alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-stackexchange-alt { - @include icon( "stackexchange-alt" ); -} - -/// The stackoverflow icon. -/// @example scss - Add the stackoverflow icon to a menu item -/// .menu-item { -/// @extend %icon-stackoverflow; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-stackoverflow { - @include icon( "stackoverflow" ); -} - -/// The icon alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-stackoverflow-alt { - @include icon( "stackoverflow-alt" ); -} - -/// The stumbleupon icon. -/// @example scss - Add the stumbleupon icon to a menu item -/// .menu-item { -/// @extend %icon-stumbleupon; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-stumbleupon { - @include icon( "stumbleupon" ); -} - -/// The icon alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-stumbleupon-alt { - @include icon( "stumbleupon-alt" ); -} - -/// The twitter icon. -/// @example scss - Add the twitter icon to a menu item -/// .menu-item { -/// @extend %icon-twitter; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-twitter { - @include icon( "twitter" ); -} - -/// The twitter alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-twitter-alt { - @include icon( "twitter-alt" ); -} - -/// The tumblr icon. -/// @example scss - Add the tumblr icon to a menu item -/// .menu-item { -/// @extend %icon-tumblr; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-tumblr { - @include icon( "tumblr" ); -} - -/// The tumblr alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-tumblr-alt { - @include icon( "tumblr-alt" ); -} - -/// The vimeo icon. -/// @example scss - Add the vimeo icon to a menu item -/// .menu-item { -/// @extend %icon-vimeo; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-vimeo { - @include icon( "vimeo" ); -} - -/// The alt alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-vimeo-alt { - @include icon( "vimeo-alt" ); -} - -/// The vine icon. -/// @example scss - Add the vine icon to a menu item -/// .menu-item { -/// @extend %icon-vine; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-vine { - @include icon( "vine" ); -} - -/// The alt alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-vine-alt { - @include icon( "vine-alt" ); -} - -/// The weibo icon. -/// @example scss - Add the weibo icon to a menu item -/// .menu-item { -/// @extend %icon-weibo; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-weibo { - @include icon( "weibo" ); -} - -/// The alt alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-weibo-alt { - @include icon( "weibo-alt" ); -} - -/// The wordpress icon. -/// @example scss - Add the wordpress icon to a menu item -/// .menu-item { -/// @extend %icon-wordpress; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-wordpress { - @include icon( "wordpress" ); -} - -/// The youtube icon. -/// @example scss - Add the youtube icon to a menu item -/// .menu-item { -/// @extend %icon-youtube; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-youtube { - @include icon( "youtube" ); -} - -/// The youtube alt icon. -/// @example scss - Add the alt icon to a menu item -/// .menu-item { -/// @extend %icon-alt; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-youtube-alt { - @include icon( "youtube-alt" ); -} diff --git a/css-dev/burf-base/icons/_status.scss b/css-dev/burf-base/icons/_status.scss deleted file mode 100644 index a3239317..00000000 --- a/css-dev/burf-base/icons/_status.scss +++ /dev/null @@ -1,59 +0,0 @@ -// ================================================================= -// Status Icons - // alert - // check - // info - // megaphone -// ================================================================= - -/// The alert icon. -/// @example scss - Add the alert icon to a menu item -/// .menu-item { -/// @extend %icon-alert; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-alert { - @include icon( "alert" ); -} - -/// The check icon. -/// @example scss - Add the check icon to a menu item -/// .menu-item { -/// @extend %icon-check; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-check { - @include icon( "check" ); -} - -/// The info icon. -/// @example scss - Add the info icon to a menu item -/// .menu-item { -/// @extend %icon-info; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-info { - @include icon( "info" ); -} - -/// The megaphone icon. -/// @example scss - Add the megaphone icon to a menu item -/// .menu-item { -/// @extend %icon-megaphone; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-megaphone { - @include icon( "megaphone" ); -} diff --git a/css-dev/burf-base/icons/_technology.scss b/css-dev/burf-base/icons/_technology.scss deleted file mode 100644 index 68055d38..00000000 --- a/css-dev/burf-base/icons/_technology.scss +++ /dev/null @@ -1,129 +0,0 @@ -// ================================================================= -// Technology Icons - // android - // appleinc - // desktop - // cloud - // laptop - // tablet - // smartphone - // tv - // wifi -// ================================================================= - -/// The android icon. -/// @example scss - Add the android icon to a menu item -/// .menu-item { -/// @extend %icon-android; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-android { - @include icon( "android" ); -} - -/// The appleinc icon. -/// @example scss - Add the appleinc icon to a menu item -/// .menu-item { -/// @extend %icon-appleinc; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-appleinc { - @include icon( "appleinc" ); -} - -/// The desktop icon. -/// @example scss - Add the desktop icon to a menu item -/// .menu-item { -/// @extend %icon-desktop; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-desktop { - @include icon( "desktop" ); -} - -/// The cloud icon. -/// @example scss - Add the cloud icon to a menu item -/// .menu-item { -/// @extend %icon-cloud; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-cloud { - @include icon( "cloud" ); -} - -/// The laptop icon. -/// @example scss - Add the laptop icon to a menu item -/// .menu-item { -/// @extend %icon-laptop; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-laptop { - @include icon( "laptop" ); -} - -/// The tablet icon. -/// @example scss - Add the tablet icon to a menu item -/// .menu-item { -/// @extend %icon-tablet; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-tablet { - @include icon( "tablet" ); -} - -/// The smartphone icon. -/// @example scss - Add the smartphone icon to a menu item -/// .menu-item { -/// @extend %icon-smartphone; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-smartphone { - @include icon( "smartphone" ); -} - -/// The tv icon. -/// @example scss - Add the tv icon to a menu item -/// .menu-item { -/// @extend %icon-tv; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-tv { - @include icon( "tv" ); -} - -/// The wifi icon. -/// @example scss - Add the wifi icon to a menu item -/// .menu-item { -/// @extend %icon-wifi; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-wifi { - @include icon( "wifi" ); -} diff --git a/css-dev/burf-base/icons/_time.scss b/css-dev/burf-base/icons/_time.scss deleted file mode 100644 index c22a2d1c..00000000 --- a/css-dev/burf-base/icons/_time.scss +++ /dev/null @@ -1,59 +0,0 @@ -// ================================================================= -// Time & Date Icons - // calendar - // clock - // watch - // infinity -// ================================================================= - -/// The calendar icon. -/// @example scss - Add the calendar icon to a menu item -/// .menu-item { -/// @extend %icon-calendar; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-calendar { - @include icon( "calendar" ); -} - -/// The clock icon. -/// @example scss - Add the clock icon to a menu item -/// .menu-item { -/// @extend %icon-clock; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-clock { - @include icon( "clock" ); -} - -/// The watch icon. -/// @example scss - Add the watch icon to a menu item -/// .menu-item { -/// @extend %icon-watch; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-watch { - @include icon( "watch" ); -} - -/// The infinity icon. -/// @example scss - Add the infinity icon to a menu item -/// .menu-item { -/// @extend %icon-infinity; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-infinity { - @include icon( "infinity" ); -} diff --git a/css-dev/burf-base/icons/_transportation.scss b/css-dev/burf-base/icons/_transportation.scss deleted file mode 100644 index 03b232ae..00000000 --- a/css-dev/burf-base/icons/_transportation.scss +++ /dev/null @@ -1,45 +0,0 @@ -// ================================================================= -// Transportation Icons - // bike - // car - // plane -// ================================================================= - -/// The bike icon. -/// @example scss - Add the bike icon to a menu item -/// .menu-item { -/// @extend %icon-bike; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-bike { - @include icon( "bike" ); -} - -/// The car icon. -/// @example scss - Add the car icon to a menu item -/// .menu-item { -/// @extend %icon-car; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-car { - @include icon( "car" ); -} - -/// The plane icon. -/// @example scss - Add the plane icon to a menu item -/// .menu-item { -/// @extend %icon-plane; -/// } -/// @group 03-icons -/// @access public -/// @since 1.2.0 - -%icon-plane { - @include icon( "plane" ); -} diff --git a/css-dev/burf-base/icons/_ui.scss b/css-dev/burf-base/icons/_ui.scss deleted file mode 100644 index 7ad1e490..00000000 --- a/css-dev/burf-base/icons/_ui.scss +++ /dev/null @@ -1,99 +0,0 @@ -// ================================================================= -// User Interface Icons - // filter - // checkbox - empty - // checkbox - filled - // radio - empty - // radio - filled -// ================================================================= - -/// The filter icon. -/// @example scss - Add the filter icon to a menu item -/// .menu-item { -/// @extend %icon-filter; -/// } -/// @group icons -/// @access public -/// @since 2.0.0 - -%icon-filter { - @include icon( "filter" ); -} - -/// The checkbox - empty icon. -/// @example scss - Add the checkbox - empty icon to a menu item -/// .menu-item { -/// @extend %icon-checkbox-empty; -/// } -/// @group icons -/// @access public -/// @since 2.0.0 - -%icon-checkbox-empty { - @include icon( "checkbox-empty" ); -} - -/// The checkbox - filled icon. -/// @example scss - Add the checkbox - filled icon to a menu item -/// .menu-item { -/// @extend %icon-checkbox-filled; -/// } -/// @group icons -/// @access public -/// @since 2.0.0 - -%icon-checkbox-filled { - @include icon( "checkbox-filled" ); -} - -/// The radio - empty icon. -/// @example scss - Add the radio - empty icon to a menu item -/// .menu-item { -/// @extend %icon-checkbox-filled; -/// } -/// @group icons -/// @access public -/// @since 2.0.0 - -%icon-radio-empty { - @include icon( "radio-empty" ); -} - -/// The radio - filled icon. -/// @example scss - Add the radio - filled icon to a menu item -/// .menu-item { -/// @extend %icon-radio-empty; -/// } -/// @group icons -/// @access public -/// @since 2.0.0 - -%icon-radio-filled { - @include icon( "radio-filled" ); -} - -/// BU Hub Wordmark Logo -/// @example scss - Add the radio - filled icon to a menu item -/// .menu-item { -/// @extend %icon-buhub; -/// } -/// @group icons -/// @access public -/// @since 2.0.0 - -%icon-buhub { - @include icon( 'buhub' ); -} - -/// BU Hub Question Mark Icon -/// @example scss - Add the radio - filled icon to a menu item -/// .menu-item { -/// @extend %icon-questionmark; -/// } -/// @group icons -/// @access public -/// @since 2.0.0 - -%icon-questionmark { - @include icon( 'questionmark' ); -} diff --git a/css-dev/burf-theme.scss b/css-dev/burf-theme.scss index fbdb6adf..df47c1a2 100644 --- a/css-dev/burf-theme.scss +++ b/css-dev/burf-theme.scss @@ -9,55 +9,61 @@ // // ================================================================= +// ================================================================= +// Global dependencies +// ================================================================= + +@import 'burf-base'; + // ================================================================= // Content and Shortcodes // ================================================================= -@import "burf-theme/content/wordpress-editor"; -@import "burf-theme/content/collapsibles"; -@import "burf-theme/content/courses"; -@import "burf-theme/content/galleries"; -@import "burf-theme/profiles/profile-format-default"; -@import "burf-theme/profiles/profile-format-basic"; -@import "burf-theme/profiles/profile-format-advanced"; -@import "burf-theme/profiles/profile-format-mini"; -@import "burf-theme/content/slideshows"; +@import 'burf-theme/content/wordpress-editor'; +@import 'burf-theme/content/collapsibles'; +@import 'burf-theme/content/courses'; +@import 'burf-theme/content/galleries'; +@import 'burf-theme/profiles/profile-format-default'; +@import 'burf-theme/profiles/profile-format-basic'; +@import 'burf-theme/profiles/profile-format-advanced'; +@import 'burf-theme/profiles/profile-format-mini'; +@import 'burf-theme/content/slideshows'; // ================================================================= // Widgets // ================================================================= -@import "burf-theme/widgets/widgets"; -@import "burf-theme/calendar/widget-calendar"; -@import "burf-theme/calendar/calendar-picker"; -@import "burf-theme/widgets/widget-navigation"; -@import "burf-theme/widgets/widget-posts"; +@import 'burf-theme/widgets/widgets'; +@import 'burf-theme/calendar/widget-calendar'; +@import 'burf-theme/calendar/calendar-picker'; +@import 'burf-theme/widgets/widget-navigation'; +@import 'burf-theme/widgets/widget-posts'; // ================================================================= // Layout // ================================================================= -@import "burf-theme/layout/branding"; -@import "burf-theme/layout/navigation"; -@import "burf-theme/layout/banner"; -@import "burf-theme/layout/content-area"; -@import "burf-theme/layout/footer"; +@import 'burf-theme/layout/branding'; +@import 'burf-theme/layout/navigation'; +@import 'burf-theme/layout/banner'; +@import 'burf-theme/layout/content-area'; +@import 'burf-theme/layout/footer'; // ================================================================= // Templates // ================================================================= -@import "burf-theme/news/base"; -@import "burf-theme/news/comments"; +@import 'burf-theme/news/base'; +@import 'burf-theme/news/comments'; // Archive Templates -@import "burf-theme/news/archive"; -@import "burf-theme/calendar/calendar-archive"; -@import "burf-theme/profiles/profile-archive"; +@import 'burf-theme/news/archive'; +@import 'burf-theme/calendar/calendar-archive'; +@import 'burf-theme/profiles/profile-archive'; // Single Templates -@import "burf-theme/news/single"; -@import "burf-theme/calendar/calendar-single"; -@import "burf-theme/profiles/profile-single"; +@import 'burf-theme/news/single'; +@import 'burf-theme/calendar/calendar-single'; +@import 'burf-theme/profiles/profile-single'; diff --git a/css-dev/burf-theme/content/_galleries.scss b/css-dev/burf-theme/content/_galleries.scss index 33beb498..e2688982 100644 --- a/css-dev/burf-theme/content/_galleries.scss +++ b/css-dev/burf-theme/content/_galleries.scss @@ -5,18 +5,24 @@ /// A helper variable to control the number of columns a gallery /// supports in our WordPress environment. /// @group 09-content -/// @access priavte +/// @access private /// @since 1.4.0 -$_wp-supported-gallery-columns: 9; +$_wp-supported-gallery-columns: 9; /// A variable which controls the color of overlays on photo hover /// in WordPress galleries. /// @group content -/// @access priavte /// @since 2.0.0 -$color-gallery-overlay: rgba( $color-grayscale-0, 0.75 ) !default; +$color-gallery-overlay: rgba( $color-grayscale-0, 0.75 ) !default; + +/// A variable which controls the margin around photos +/// in WordPress galleries. +/// @group content +/// @since 3.0.2 + +$margin-gallery: 10px !default; // ================================================================= // Gallery Styles @@ -31,7 +37,7 @@ $color-gallery-overlay: rgba( $color-grayscale-0, 0.75 ) !default; @extend %clearfix; display: flex; flex-wrap: wrap; - margin-right: -10px; + margin-right: -$margin-gallery; .gallery-icon { height: 100%; @@ -59,9 +65,9 @@ $color-gallery-overlay: rgba( $color-grayscale-0, 0.75 ) !default; /// @since 1.4.0 .gallery-item { - border-right: 10px solid transparent; + border-right: $margin-gallery solid transparent; float: left; - margin-bottom: 10px; + margin-bottom: $margin-gallery; overflow: hidden; position: relative; width: 33.33%; @@ -167,7 +173,7 @@ $color-gallery-overlay: rgba( $color-grayscale-0, 0.75 ) !default; color: $color-grayscale-f; display: none; left: 0; - margin-right: 10px; + margin-right: $margin-gallery; padding: 1em; position: absolute; width: 100%; @@ -227,7 +233,7 @@ $color-gallery-overlay: rgba( $color-grayscale-0, 0.75 ) !default; // Required to override plugin CSS .lg-outer .lg-thumb-outer & { - padding: 5px 10px 0 14px; + padding: 5px $margin-gallery 0 14px; width: auto; } } diff --git a/css-dev/burf-theme/layout/_banner.scss b/css-dev/burf-theme/layout/_banner.scss index 49e38be1..23f8c7c3 100644 --- a/css-dev/burf-theme/layout/_banner.scss +++ b/css-dev/burf-theme/layout/_banner.scss @@ -10,6 +10,21 @@ $color-banner-container: $color-grayscale-f0 !default; +/// Controls the padding on the banner container. +/// @group 09-content +/// @access public +/// @since 3.0.2 + +$padding-banner: 0 !default; + +/// Controls the padding on the banner container when using +/// the window-width layout. +/// @group 09-content +/// @access public +/// @since 3.0.2 + +$padding-banner-window-width: $padding-small !default; + // ================================================================= // Content Banner Styles // ================================================================= @@ -38,7 +53,7 @@ $color-banner-container: $color-grayscale-f0 !default; .banner-container-window-width { @include breakpoint( $lg ) { background: $color-banner-container; - padding: $padding-small; + padding: $padding-banner-window-width; } } diff --git a/css-dev/burf-theme/layout/_footer.scss b/css-dev/burf-theme/layout/_footer.scss index 11d4ef45..958c28cb 100644 --- a/css-dev/burf-theme/layout/_footer.scss +++ b/css-dev/burf-theme/layout/_footer.scss @@ -342,7 +342,8 @@ body { @extend %icon-vine; } - [href*="youtube.com"] { + [href*="youtube.com"], + [href*="bu.edu/buniverse"] { @extend %icon-youtube; } } @@ -497,3 +498,9 @@ body { } } } + +/// Copyright styles - only for print + +.bu_copyright { + display: none; +} diff --git a/css-dev/burf-theme/layout/_navigation.scss b/css-dev/burf-theme/layout/_navigation.scss index e656eb79..28cd5106 100644 --- a/css-dev/burf-theme/layout/_navigation.scss +++ b/css-dev/burf-theme/layout/_navigation.scss @@ -1004,6 +1004,263 @@ $no-nav-desktop: $nav-desktop !default; } +/// The background color of the mega nav menu toggle. +/// @group navigation +/// @access public +/// @since 3.0.2 + +$color-mega-nav-toggle-bg: $color-button-bg; + +/// The text color of the mega nav menu toggle. +/// @group navigation +/// @access public +/// @since 3.0.2 + +$color-mega-nav-toggle-text: $color-button-text; + +/// The number of columns to use in the mega navigation +/// menu. If there are fewer nav items than this number +/// in the first row, they will stretch +/// @group navigation +/// @access public +/// @since 3.0.2 + +$mega-nav-columns: 3; + +/// The number of columns to use in the mega navigation +/// menu on desktop. If there are fewer nav items than this +/// in the first row, they will stretch +/// @group navigation +/// @access public +/// @since 3.0.2 + +$mega-nav-columns-desktop: 5; + +/// The point at which the mega navigation switches from +/// showing the icon to the full menu and short menu combo. +/// Accepts a breakpoint or pixel value. +/// @group navigation +/// @access public +/// @since 3.0.2 + +$mega-nav-show-full-menu: $sm; + +/// The point at which the mega navigation switches from +/// mobile to desktop layout. Accepts a breakpoint or pixel +/// value. +/// @group navigation +/// @access public +/// @since 3.0.2 + +$mega-nav-desktop-layout: $md; + +// mega nav + +.l-mega-nav { + .brand { + display: flex; + align-items: center; + } + + .brand-container { + flex-grow: 1; + top: auto; + transform: translateY( 0 ); + } + + .site-description { + @extend %visually-hidden; + } + + .primary-nav { + height: 0; + padding: 0; + + &.is-open { + height: auto; + } + } + + .is-open #quicksearch { + display: block; + } + + #quicksearch { + background: transparent; + padding: $padding; + padding-bottom: 0; + + @include breakpoint( $mega-nav-desktop-layout ) { + padding: $padding-large; + padding-bottom: 0; + } + } + + .primary-nav-menu { + display: flex; + flex-wrap: wrap; + padding: $padding; + margin-left: auto; + margin-right: auto; + margin-top: 0; + + @include breakpoint( $mega-nav-desktop-layout ) { + padding: $padding-large; + } + + @include breakpoint( $xl ) { + max-width: $xl; + } + + > li { + flex-basis: 100%; + flex-grow: 1; + position: relative; + + @include breakpoint( $mega-nav-show-full-menu ) { + border-left: 1px solid currentColor; + flex-basis: 100% / $mega-nav-columns; + flex-grow: initial; + margin-bottom: $margin; + } + + @include breakpoint( $mega-nav-desktop-layout ) { + flex-basis: 100% / $mega-nav-columns-desktop; + } + + &::after { + bottom: 0; + content: ""; + display: block; + border-bottom: 1px solid currentColor; + position: absolute; + } + + li a { + font-weight: 400; + padding: 0; + } + + &:nth-child( -n + #{$mega-nav-columns} ) { + flex-grow: 1; + } + } + + @include breakpoint( $mega-nav-desktop-layout ) { + > li:nth-child( -n + #{$mega-nav-columns-desktop} ) { + flex-grow: 1; + } + } + + ul { + left: auto; + position: static; + width: auto; + } + + a { + line-height: 1.3; + margin-bottom: 0.75em; + } + } + + .utility-nav { + border: none; + text-align: center; + margin: $margin; + margin-top: 0; + + @include breakpoint( $mega-nav-desktop-layout ) { + margin: $margin-large; + margin-top: 0; + } + + a { + color: $color-primary-nav-link; + } + } +} + +.mega-nav-toggle { + background: $color-mega-nav-toggle-bg; + color: $color-mega-nav-toggle-text; + display: block; + height: auto; + overflow: visible; + width: 54px; + + @include breakpoint( $mega-nav-show-full-menu ) { + width: auto; + } + + .nav-toggle-label-closed, + .nav-toggle-label-open { + overflow: hidden; + text-align: center; + text-indent: 0; + + &::before { + margin-top: -3px; + } + } + + .nav-toggle-label-open { + height: 0; + } + + &.is-open .nav-toggle-label-open { + height: auto; + } + + &.is-open .nav-toggle-label-closed { + height: 0; + } + + .nav-toggle-label-closed { + @include icon( 'menu' ); + + @include breakpoint( $mega-nav-show-full-menu ) { + @include icon( 'search' ); + } + } + + .nav-toggle-label-open { + @extend %icon-delete; + } +} + +.short-nav { + align-items: center; + display: flex; + margin-left: auto; + top: auto; + transform: translateY( 0 ); + + ul { + list-style-type: none; + } + + li { + display: inline-block; + } + + a { + padding: $padding-small; + } +} + +.short-nav-menu { + display: none; + + @include breakpoint( $mega-nav-show-full-menu ) { + display: block; + } + + a { + font-weight: 700; + } +} + // Adjusts the appearance of the skip link; Styled to match the default WordPress screen reader text .skip-link { @@ -1019,14 +1276,14 @@ $no-nav-desktop: $nav-desktop !default; line-height: normal; margin: 0; padding: 15px 23px 14px; - position: absolute; + position: fixed; right: 50%; text-align: center; text-decoration: none; top: -130px; transform: translateX( -50% ); - -webkit-transition: top 0.75s ease-out; - transition: top 0.75s ease-out; + -webkit-transition: top 0.3s ease-out; + transition: top 0.3s ease-out; width: 90%; z-index: 100000; @@ -1037,7 +1294,7 @@ $no-nav-desktop: $nav-desktop !default; &:focus, &:active { color: #21759b; - top: 37px; + top: 0; -webkit-transition: top 0s; transition: top 0s; } diff --git a/css-dev/burf-theme/widgets/_widgets.scss b/css-dev/burf-theme/widgets/_widgets.scss index aebf30a2..90783854 100644 --- a/css-dev/burf-theme/widgets/_widgets.scss +++ b/css-dev/burf-theme/widgets/_widgets.scss @@ -139,6 +139,18 @@ $border-widget-list: $border !default; &:focus { color: $color-widget-link-hover; } + + &.button, + &.button:hover, + &.button:focus { + color: $color-button-text; + } + + &.button-primary, + &.button-primary:hover, + &.button-primary:focus { + color: $color-button-primary-text; + } } ul { diff --git a/css-dev/burf-tools/_tools-cgb.scss b/css-dev/burf-tools/_tools-cgb.scss new file mode 100644 index 00000000..b6bb9b1b --- /dev/null +++ b/css-dev/burf-tools/_tools-cgb.scss @@ -0,0 +1,65 @@ +// ================================================================= +// +// BURF Tools (No load path dependencies) +// +// Use this version when you don't have loadPath or importPath +// available to you. You will need a loader that supports ~ as a +// shortcut to the node_modules directory. Luckily, it's +// well-supported, according to Dakota! +// +// A partial for those who only want the very basic of basics. Only +// mixins and placeholders are supported in this partial, and only +// pieces which are used will print. Useful for plugin development +// where you want your dependencies and extra CSS to be at an +// absolute minimum, or for development which will occur in another +// pre-existing framework or environment with its own normalizing +// partials and other opinionated stuff. +// +// ================================================================= + +// ================================================================= +// Dependencies +// ================================================================= + +@import '~mathsass/dist/math'; + +// ================================================================= +// Blah +// ================================================================= + +$burf-extras: false !default; + +@import '~responsive-foundation/css-dev/burf-base/config'; +@import '~responsive-foundation/css-dev/burf-base/mixins'; +@import '~responsive-foundation/css-dev/burf-base/normalize-variables'; + +@import '~responsive-foundation/css-dev/burf-base/grid/grid-variables'; +@import '~responsive-foundation/css-dev/burf-base/grid/grid-mixins'; +@import '~responsive-foundation/css-dev/burf-base/grid/grid-placeholders'; +@import '~responsive-foundation/css-dev/burf-base/grid/grid-friendly'; + +// Special settings for icons + +$use-default-icons: false !default; +$print-icon-classes: false !default; + +@import '~responsive-foundation/css-dev/burf-base/icons/base'; // Required +@import '~responsive-foundation/css-dev/burf-base/icons/social'; // Required +@import '~responsive-foundation/css-dev/burf-base/icons/actions'; // Required +@import '~responsive-foundation/css-dev/burf-base/icons/arrows'; +@import '~responsive-foundation/css-dev/burf-base/icons/charts'; +@import '~responsive-foundation/css-dev/burf-base/icons/communication'; +@import '~responsive-foundation/css-dev/burf-base/icons/documents'; +@import '~responsive-foundation/css-dev/burf-base/icons/ecommerce'; +@import '~responsive-foundation/css-dev/burf-base/icons/editing'; +@import '~responsive-foundation/css-dev/burf-base/icons/location'; +@import '~responsive-foundation/css-dev/burf-base/icons/media'; +@import '~responsive-foundation/css-dev/burf-base/icons/objects'; +@import '~responsive-foundation/css-dev/burf-base/icons/status'; +@import '~responsive-foundation/css-dev/burf-base/icons/technology'; +@import '~responsive-foundation/css-dev/burf-base/icons/time'; +@import '~responsive-foundation/css-dev/burf-base/icons/transportation'; +@import '~responsive-foundation/css-dev/burf-base/icons/ui'; + +@import '~responsive-foundation/css-dev/burf-base/typography-variables'; +@import '~responsive-foundation/css-dev/burf-base/typography-tools'; diff --git a/css-dev/burf-tools/_tools-grunt.scss b/css-dev/burf-tools/_tools-grunt.scss new file mode 100644 index 00000000..161e39dc --- /dev/null +++ b/css-dev/burf-tools/_tools-grunt.scss @@ -0,0 +1,60 @@ +// ================================================================= +// +// BURF Tools for Grunt builds (responsive-child-starter, etc.) +// +// A partial for those who only want the very basic of basics. Only +// mixins and placeholders are supported in this partial, and only +// pieces which are used will print. Useful for plugin development +// where you want your dependencies and extra CSS to be at an +// absolute minimum, or for development which will occur in another +// pre-existing framework or environment with its own normalizing +// partials and other opinionated stuff. +// +// ================================================================= + +// ================================================================= +// Dependencies +// ================================================================= + +@import 'node_modules/mathsass/dist/math'; + +// ================================================================= +// Blah +// ================================================================= + +$burf-extras: false !default; + +@import 'burf-base/config'; +@import 'burf-base/mixins'; +@import 'burf-base/normalize-variables'; + +@import 'burf-base/grid/grid-variables'; +@import 'burf-base/grid/grid-mixins'; +@import 'burf-base/grid/grid-placeholders'; +@import 'burf-base/grid/grid-friendly'; + +// Special settings for icons + +$use-default-icons: false !default; +$print-icon-classes: false !default; + +@import 'burf-base/icons/base'; // Required +@import 'burf-base/icons/social'; // Required +@import 'burf-base/icons/actions'; // Required +@import 'burf-base/icons/arrows'; +@import 'burf-base/icons/charts'; +@import 'burf-base/icons/communication'; +@import 'burf-base/icons/documents'; +@import 'burf-base/icons/ecommerce'; +@import 'burf-base/icons/editing'; +@import 'burf-base/icons/location'; +@import 'burf-base/icons/media'; +@import 'burf-base/icons/objects'; +@import 'burf-base/icons/status'; +@import 'burf-base/icons/technology'; +@import 'burf-base/icons/time'; +@import 'burf-base/icons/transportation'; +@import 'burf-base/icons/ui'; + +@import 'burf-base/typography-variables'; +@import 'burf-base/typography-tools'; diff --git a/package-lock.json b/package-lock.json index 1f2fad20..c879bd1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,6 +26,18 @@ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", "dev": true }, + "ajv": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", + "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -86,6 +98,22 @@ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, "argparse": { "version": "0.1.16", "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", @@ -98,7 +126,7 @@ "dependencies": { "underscore.string": { "version": "2.4.0", - "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", "dev": true } @@ -119,6 +147,12 @@ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, "array-unique": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", @@ -131,12 +165,51 @@ "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", "dev": true }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, "async": { "version": "0.1.22", - "resolved": "http://registry.npmjs.org/async/-/async-0.1.22.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=", "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", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "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=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, "axios": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz", @@ -187,6 +260,15 @@ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, "better-assert": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", @@ -198,10 +280,19 @@ }, "blob": { "version": "0.0.4", - "resolved": "http://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", "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.0" + } + }, "boxen": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", @@ -308,7 +399,7 @@ }, "browser-sync": { "version": "1.9.2", - "resolved": "http://registry.npmjs.org/browser-sync/-/browser-sync-1.9.2.tgz", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-1.9.2.tgz", "integrity": "sha1-Fw8G6kH+8o1QUf0LK8gGj61qVpM=", "dev": true, "requires": { @@ -338,7 +429,7 @@ "dependencies": { "lodash": { "version": "2.4.2", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", "dev": true } @@ -346,7 +437,7 @@ }, "browser-sync-client": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/browser-sync-client/-/browser-sync-client-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-1.0.2.tgz", "integrity": "sha1-zxUjtR04Iueg9b3zOVKTBUiahq0=", "dev": true }, @@ -386,7 +477,7 @@ }, "camelcase-keys": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-1.0.0.tgz", "integrity": "sha1-vRoRv5sxoc5JNJOpMN4aC69K1+w=", "dev": true, "requires": { @@ -400,6 +491,12 @@ "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", "dev": true }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, "cdocparser": { "version": "0.13.0", "resolved": "https://registry.npmjs.org/cdocparser/-/cdocparser-0.13.0.tgz", @@ -435,7 +532,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -492,9 +589,9 @@ } }, "chroma-js": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-1.4.0.tgz", - "integrity": "sha512-5vBYGJkhSnK2SRZ0XkxwTL+TSRyP7PHIxjeg+1uce5qpNDRLLwAXcF12kIztas/BYakWPQhchzV4TKkiwKNd8Q==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-1.4.1.tgz", + "integrity": "sha512-jTwQiT859RTFN/vIf7s+Vl/Z2LcMrvMv3WUFmd/4u76AdlFC0NTNgqEEFPcRiHmAswPsMiQEDZLM8vX8qXpZNQ==", "dev": true }, "ci-info": { @@ -619,10 +716,19 @@ }, "colors": { "version": "0.6.2", - "resolved": "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", "dev": true }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", @@ -699,6 +805,12 @@ "utils-merge": "1.0.1" } }, + "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 + }, "constant-case": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-1.1.2.tgz", @@ -783,12 +895,30 @@ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, "dargs": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/dargs/-/dargs-2.1.0.tgz", "integrity": "sha1-RsJ/+rH/sTeO8hJZchNxn+YCvJM=", "dev": true }, + "dashdash": { + "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" + } + }, "dateformat": { "version": "1.0.2-1.2.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", @@ -816,6 +946,18 @@ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -839,7 +981,7 @@ "dependencies": { "lodash": { "version": "2.2.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.2.1.tgz", "integrity": "sha1-ypNf0UqzwMhyq6zxmLnNpQFECGc=", "dev": true } @@ -924,6 +1066,16 @@ "tfunk": "^3.0.1" } }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -989,7 +1141,7 @@ }, "debug": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", "dev": true, "requires": { @@ -998,7 +1150,7 @@ }, "ms": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", "dev": true } @@ -1032,7 +1184,7 @@ }, "debug": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", "dev": true, "requires": { @@ -1041,7 +1193,7 @@ }, "ms": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", "dev": true } @@ -1049,7 +1201,7 @@ }, "engine.io-parser": { "version": "1.3.2", - "resolved": "http://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz", "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=", "dev": true, "requires": { @@ -1078,7 +1230,7 @@ }, "es6-promise": { "version": "3.3.1", - "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", "dev": true }, @@ -1108,7 +1260,7 @@ }, "eventemitter2": { "version": "0.4.14", - "resolved": "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", "dev": true }, @@ -1189,6 +1341,24 @@ } } }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "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=", + "dev": true + }, "faye-websocket": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz", @@ -1267,7 +1437,7 @@ }, "lodash": { "version": "2.4.2", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", "dev": true }, @@ -1324,6 +1494,23 @@ "for-in": "^1.0.1" } }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, "foxy": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/foxy/-/foxy-7.1.0.tgz", @@ -1377,6 +1564,50 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "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.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "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.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "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", @@ -1400,7 +1631,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, @@ -1410,6 +1641,15 @@ "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", "dev": true }, + "getpass": { + "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" + } + }, "glob": { "version": "3.1.21", "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", @@ -1539,7 +1779,7 @@ }, "through2": { "version": "0.6.5", - "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, "requires": { @@ -1589,7 +1829,7 @@ "dependencies": { "lodash": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", "dev": true } @@ -1616,7 +1856,7 @@ }, "graceful-fs": { "version": "1.2.3", - "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", "dev": true }, @@ -1669,7 +1909,7 @@ "dependencies": { "ansi-regex": { "version": "0.2.1", - "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", "dev": true }, @@ -1681,7 +1921,7 @@ }, "chalk": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", "dev": true, "requires": { @@ -1703,7 +1943,7 @@ }, "strip-ansi": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", "dev": true, "requires": { @@ -1729,7 +1969,7 @@ "dependencies": { "ansi-regex": { "version": "0.2.1", - "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", "dev": true }, @@ -1741,7 +1981,7 @@ }, "chalk": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", "dev": true, "requires": { @@ -1763,7 +2003,7 @@ }, "strip-ansi": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", "dev": true, "requires": { @@ -1793,7 +2033,7 @@ "dependencies": { "ansi-regex": { "version": "0.2.1", - "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", "dev": true }, @@ -1805,13 +2045,13 @@ }, "async": { "version": "0.9.2", - "resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", "dev": true }, "chalk": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", "dev": true, "requires": { @@ -1833,7 +2073,7 @@ }, "strip-ansi": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", "dev": true, "requires": { @@ -1862,13 +2102,13 @@ "dependencies": { "async": { "version": "0.2.10", - "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", "dev": true }, "lodash": { "version": "2.4.2", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", "dev": true } @@ -1876,7 +2116,7 @@ }, "grunt-gh-pages": { "version": "0.9.1", - "resolved": "http://registry.npmjs.org/grunt-gh-pages/-/grunt-gh-pages-0.9.1.tgz", + "resolved": "https://registry.npmjs.org/grunt-gh-pages/-/grunt-gh-pages-0.9.1.tgz", "integrity": "sha1-CLmj2Ek5/uojTmaE5D/yf4Zdw/Q=", "dev": true, "requires": { @@ -1889,13 +2129,13 @@ "dependencies": { "async": { "version": "0.2.9", - "resolved": "http://registry.npmjs.org/async/-/async-0.2.9.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.9.tgz", "integrity": "sha1-32MGD789Myhqdqr21Vophtn/hhk=", "dev": true }, "graceful-fs": { "version": "2.0.1", - "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz", "integrity": "sha1-f9bgpIN8NdDMFTMClNlYSjiYz4Q=", "dev": true }, @@ -1922,13 +2162,13 @@ "dependencies": { "lodash": { "version": "2.4.2", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", "dev": true }, "underscore.string": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", "dev": true } @@ -1947,13 +2187,13 @@ "dependencies": { "lodash": { "version": "2.4.2", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", "dev": true }, "underscore.string": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", "dev": true } @@ -1974,6 +2214,12 @@ "which": "~1.0.5" } }, + "grunt-sass": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-3.0.2.tgz", + "integrity": "sha512-Ogq4cWqBre71gZIkgxIxevgzZHSIIsrKu/5yvPDl4Mvib0A4TRTJEQUdpQ0YV1iai0DPjayz02vDJE6KUVHQ2w==", + "dev": true + }, "grunt-sassdoc": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/grunt-sassdoc/-/grunt-sassdoc-2.0.3.tgz", @@ -1995,7 +2241,7 @@ "dependencies": { "semver": { "version": "4.3.6", - "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", "dev": true } @@ -2032,6 +2278,22 @@ } } }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -2062,6 +2324,12 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "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 + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -2105,7 +2373,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { @@ -2134,9 +2402,20 @@ "requires-port": "^1.0.0" } }, + "http-signature": { + "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.2.2", + "sshpk": "^1.7.0" + } + }, "iconv-lite": { "version": "0.2.11", - "resolved": "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", "dev": true }, @@ -2158,6 +2437,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": "1.2.2", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-1.2.2.tgz", @@ -2217,7 +2502,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -2323,7 +2608,7 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, @@ -2366,6 +2651,12 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, "is-upper-case": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", @@ -2416,6 +2707,18 @@ } } }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "js-base64": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz", + "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==", + "dev": true + }, "js-yaml": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", @@ -2426,6 +2729,24 @@ "esprima": "~ 1.0.2" } }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", @@ -2435,6 +2756,12 @@ "jsonify": "~0.0.0" } }, + "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=", + "dev": true + }, "json3": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", @@ -2443,7 +2770,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { @@ -2465,6 +2792,18 @@ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, + "jsprim": { + "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", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -2503,7 +2842,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -2536,7 +2875,7 @@ }, "lodash": { "version": "0.9.2", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=", "dev": true }, @@ -2711,6 +3050,12 @@ "lodash.isobject": "~2.4.1" } }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, "lodash.noop": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", @@ -2732,6 +3077,16 @@ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, "lower-case": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", @@ -2804,7 +3159,7 @@ }, "marked": { "version": "0.3.19", - "resolved": "http://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", "dev": true }, @@ -2827,7 +3182,7 @@ }, "meow": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/meow/-/meow-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/meow/-/meow-2.1.0.tgz", "integrity": "sha1-OmP3eXfBUMFv2ESE0M72d8QYJ5k=", "dev": true, "requires": { @@ -2923,7 +3278,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, @@ -2938,7 +3293,7 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true } @@ -2968,6 +3323,12 @@ } } }, + "nan": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", + "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", + "dev": true + }, "natives": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz", @@ -2989,68 +3350,299 @@ "lower-case": "^1.1.1" } }, - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "noptify": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz", - "integrity": "sha1-WPZUpz2XU98MUdlobckhBKZ/S7s=", + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", "dev": true, "requires": { - "nopt": "~2.0.0" + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" }, "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "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.7" + } + }, "nopt": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz", - "integrity": "sha1-ynQW8gpeP5w7hhgPlilfo9C1Lg0=", + "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" } + }, + "semver": { + "version": "5.3.0", + "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true } } }, - "normalize-package-data": { - "version": "2.4.0", - "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.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "normalize-scss": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/normalize-scss/-/normalize-scss-7.0.1.tgz", - "integrity": "sha512-qj16bWnYs+9/ac29IgGjySg4R5qQTp1lXfm7ApFOZNVBYFY8RZ3f8+XQNDDLHeDtI3Ba7Jj4+LuPgz9v/fne2A==" - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "node-sass": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.10.0.tgz", + "integrity": "sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q==", "dev": true, "requires": { - "path-key": "^2.0.0" + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash.assign": "^4.2.0", + "lodash.clonedeep": "^4.3.2", + "lodash.mergewith": "^4.6.0", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.10.0", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "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.0.1", + "which": "^1.2.9" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "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 + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "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.7" + } + }, + "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 + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "noptify": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz", + "integrity": "sha1-WPZUpz2XU98MUdlobckhBKZ/S7s=", + "dev": true, + "requires": { + "nopt": "~2.0.0" + }, + "dependencies": { + "nopt": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz", + "integrity": "sha1-ynQW8gpeP5w7hhgPlilfo9C1Lg0=", + "dev": true, + "requires": { + "abbrev": "1" + } + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "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.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "normalize-scss": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/normalize-scss/-/normalize-scss-7.0.1.tgz", + "integrity": "sha512-qj16bWnYs+9/ac29IgGjySg4R5qQTp1lXfm7ApFOZNVBYFY8RZ3f8+XQNDDLHeDtI3Ba7Jj4+LuPgz9v/fne2A==" + }, + "npm-run-path": { + "version": "2.0.2", + "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.0" + } + }, + "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.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -3059,6 +3651,12 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, "object-assign": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", @@ -3113,7 +3711,7 @@ }, "opn": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/opn/-/opn-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/opn/-/opn-1.0.2.tgz", "integrity": "sha1-uQlkM0bQChq8l3qLlvPOPFPVz18=", "dev": true }, @@ -3129,7 +3727,7 @@ "dependencies": { "lodash": { "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", "dev": true } @@ -3147,7 +3745,7 @@ "dependencies": { "minimist": { "version": "0.0.10", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", "dev": true } @@ -3169,15 +3767,37 @@ "readable-stream": "^2.0.1" } }, + "os-homedir": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, "os-locale": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { "lcid": "^1.0.0" } }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -3324,7 +3944,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, @@ -3359,9 +3979,15 @@ } } }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -3391,7 +4017,7 @@ "dependencies": { "async": { "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true } @@ -3431,6 +4057,18 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -3564,6 +4202,45 @@ } } }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", @@ -3637,6 +4314,48 @@ "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", "dev": true }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + } + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3677,7 +4396,7 @@ }, "rimraf": { "version": "2.2.8", - "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", "dev": true }, @@ -3698,6 +4417,12 @@ "rimraf": "2.*" } }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "sass-convert": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/sass-convert/-/sass-convert-0.5.2.tgz", @@ -3744,6 +4469,85 @@ } } }, + "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.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.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 + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "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.7" + } + }, + "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.1.1", + "get-caller-file": "^1.0.1", + "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" + } + } + } + }, "sassdoc": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/sassdoc/-/sassdoc-2.5.1.tgz", @@ -3864,13 +4668,13 @@ "dependencies": { "async": { "version": "0.2.10", - "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", "dev": true }, "chroma-js": { "version": "0.6.3", - "resolved": "http://registry.npmjs.org/chroma-js/-/chroma-js-0.6.3.tgz", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-0.6.3.tgz", "integrity": "sha1-tTRPm3ycrO/TJiGE42lvqReo5cA=", "dev": true }, @@ -3886,7 +4690,7 @@ }, "commander": { "version": "2.6.0", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.6.0.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=", "dev": true }, @@ -3903,13 +4707,13 @@ }, "es6-promise": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=", "dev": true }, "fs-extra": { "version": "0.16.5", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.16.5.tgz", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.16.5.tgz", "integrity": "sha1-GtZh+myGyWCM0bSe/G/Og0k5p1A=", "dev": true, "requires": { @@ -3920,7 +4724,7 @@ }, "graceful-fs": { "version": "3.0.11", - "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", "dev": true, "requires": { @@ -3929,7 +4733,7 @@ }, "html-minifier": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/html-minifier/-/html-minifier-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-0.7.2.tgz", "integrity": "sha1-K3lZsQUaSB5xzXxuWaZCcq+JXP0=", "dev": true, "requires": { @@ -3943,7 +4747,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { @@ -3970,7 +4774,7 @@ }, "uglify-js": { "version": "2.4.24", - "resolved": "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=", "dev": true, "requires": { @@ -3999,7 +4803,7 @@ }, "yargs": { "version": "3.5.4", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", "dev": true, "requires": { @@ -4012,9 +4816,9 @@ } }, "sassdoc-theme-default": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/sassdoc-theme-default/-/sassdoc-theme-default-2.6.2.tgz", - "integrity": "sha512-nOoopiIRwztNJZT2HkIIlHbGF+BjQ2etatq798/JTJYBeXIlG9DLUuClH1/o9CWLHT/tRG9K8AuUGRPU2G3etw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/sassdoc-theme-default/-/sassdoc-theme-default-2.6.3.tgz", + "integrity": "sha512-YN0mouCH/aCg3PL+nJ7IHeCLMbK/UcVRyOjqeykGPKCHUJljEwLv0oJMNtML76Blhd8t7rgM0RYdie0o3BsT3g==", "dev": true, "requires": { "babel-runtime": "^6.22.0", @@ -4052,6 +4856,27 @@ "cdocparser": "^0.13.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.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", @@ -4203,7 +5028,7 @@ "dependencies": { "debug": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", "dev": true, "requires": { @@ -4212,7 +5037,7 @@ }, "ms": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", "dev": true }, @@ -4236,7 +5061,7 @@ "dependencies": { "debug": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", "dev": true, "requires": { @@ -4245,7 +5070,7 @@ }, "ms": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", "dev": true } @@ -4278,7 +5103,7 @@ }, "debug": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", "dev": true, "requires": { @@ -4287,7 +5112,7 @@ }, "ms": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", "dev": true } @@ -4295,7 +5120,7 @@ }, "socket.io-parser": { "version": "2.3.1", - "resolved": "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz", "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=", "dev": true, "requires": { @@ -4307,7 +5132,7 @@ "dependencies": { "debug": { "version": "2.2.0", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", "dev": true, "requires": { @@ -4316,7 +5141,7 @@ }, "ms": { "version": "0.7.1", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", "dev": true } @@ -4369,12 +5194,38 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "sshpk": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", + "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, "statuses": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", "dev": true }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, "stream-shift": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", @@ -4403,7 +5254,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -4431,7 +5282,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -4475,7 +5326,7 @@ "dependencies": { "async": { "version": "0.2.10", - "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", "dev": true }, @@ -4490,7 +5341,7 @@ }, "uglify-js": { "version": "2.4.24", - "resolved": "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=", "dev": true, "requires": { @@ -4508,7 +5359,7 @@ }, "yargs": { "version": "3.5.4", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", "dev": true, "requires": { @@ -4529,6 +5380,17 @@ "markdown": "~0.5.0" } }, + "tar": { + "version": "2.2.1", + "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, "term-size": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", @@ -4558,7 +5420,7 @@ }, "through2": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/through2/-/through2-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz", "integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=", "dev": true, "requires": { @@ -4568,7 +5430,7 @@ "dependencies": { "readable-stream": { "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { @@ -4628,7 +5490,7 @@ "dependencies": { "debug": { "version": "0.7.4", - "resolved": "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", "dev": true } @@ -4659,6 +5521,79 @@ "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", "dev": true }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "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.7" + } + } + } + }, + "tunnel-agent": { + "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.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -4715,7 +5650,7 @@ }, "underscore.string": { "version": "2.2.1", - "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=", "dev": true }, @@ -4814,6 +5749,15 @@ "upper-case": "^1.1.1" } }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, "url-parse-lax": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", @@ -4841,6 +5785,12 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, "vali-date": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", @@ -4857,6 +5807,17 @@ "spdx-expression-parse": "^3.0.0" } }, + "verror": { + "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", + "extsprintf": "^1.2.0" + } + }, "vinyl": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", @@ -4982,6 +5943,15 @@ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", "dev": true }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, "widest-line": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", @@ -5044,7 +6014,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -5131,7 +6101,7 @@ }, "yargs": { "version": "6.6.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "dev": true, "requires": { @@ -5160,7 +6130,7 @@ }, "yargs-parser": { "version": "4.2.1", - "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "dev": true, "requires": { diff --git a/package.json b/package.json index caf582f4..70716058 100644 --- a/package.json +++ b/package.json @@ -33,11 +33,12 @@ "grunt-browser-sync": "^1.5.3", "grunt-contrib-concat": "^0.5.0", "grunt-contrib-copy": "^0.7.0", - "grunt-contrib-sass": "^0.8.1", "grunt-contrib-watch": "^0.6.1", "grunt-gh-pages": "^0.9.1", + "grunt-sass": "^3.0.2", "grunt-sassdoc": "^2.0.3", "grunt-version": "^0.3.0", + "node-sass": "^4.10.0", "sassdoc-theme-budocs": "git+ssh://git@github.com/ashleykolodziej/sassdoc-theme-budocs.git#master" } }