Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Joao Figueiredo 2018-07-10 22:33:32 +01:00
commit 790e91feea
39 changed files with 2013 additions and 10448 deletions

View File

@ -1,3 +1,20 @@
- ** Release 0.8.3 July 3rd 2018 **
- Update to Bootstrap 4.1.1
- Update to Gulp 4
- Moving closing primary </div> into right-sidebar-check.php
- Adding hero canvas widget pos
- Swap customized walker to latest upstream wp-bootstrap-navwalker class - Thx @pattonwebz
- gulp-rev - Thx @0dp
- Update pagination - thx @0dp
- Adding german formal language - Thx @Thomas-A-Reinert
- Added cookies checkbox support for inc/custom-comments.php - Thx @Jean Pierre Kolb
- Create Japanese translation - Thx @teruteru128
- WooCommerce 3.4.0 update - Thx @ZacharyElkins
- Organize sidebar files into loop-templates directory - Thx @axlright
- Update package.json
- POT file and Russian translation update - Thx @edkozuto
- ** Release 0.8.2 April 11th 2018 ** - ** Release 0.8.2 April 11th 2018 **
- Update to Bootstrap 4.1 - Update to Bootstrap 4.1
- Adding CONTRIBUTING.md and ISSUE_TEMPLATE.md - Thx @Thomas-A-Reinert - Adding CONTRIBUTING.md and ISSUE_TEMPLATE.md - Thx @Thomas-A-Reinert

View File

@ -1,5 +0,0 @@
# Testing
[] YES
[] NO!

File diff suppressed because one or more lines are too long

2
css/theme.min.css vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,107 +1,179 @@
// Defining requirements // Defining requirements
var autoprefixer = require( 'autoprefixer' ), var gulp = require( 'gulp' );
browserSync = require('browser-sync').create(), var plumber = require( 'gulp-plumber' );
cleanCSS = require( 'gulp-clean-css' ), var sass = require( 'gulp-sass' );
concat = require( 'gulp-concat' ), var watch = require( 'gulp-watch' );
del = require( 'del' ), var cssnano = require( 'gulp-cssnano' );
gulp = require( 'gulp' ), var rename = require( 'gulp-rename' );
imagemin = require( 'gulp-imagemin' ), var concat = require( 'gulp-concat' );
postcss = require( 'gulp-postcss' ), var uglify = require( 'gulp-uglify' );
rename = require( 'gulp-rename' ), var merge2 = require( 'merge2' );
replace = require( 'gulp-replace' ), var imagemin = require( 'gulp-imagemin' );
sass = require( 'gulp-sass' ), var ignore = require( 'gulp-ignore' );
sourcemaps = require( 'gulp-sourcemaps' ), var rimraf = require( 'gulp-rimraf' );
uglify = require( 'gulp-uglify' ), var clone = require( 'gulp-clone' );
rev = require('gulp-rev'), var merge = require( 'gulp-merge' );
revDel = require('rev-del'); var sourcemaps = require( 'gulp-sourcemaps' );
var browserSync = require( 'browser-sync' ).create();
var del = require( 'del' );
var cleanCSS = require( 'gulp-clean-css' );
var gulpSequence = require( 'gulp-sequence' );
var replace = require( 'gulp-replace' );
var autoprefixer = require( 'gulp-autoprefixer' );
// Configuration file to keep your code DRY // Configuration file to keep your code DRY
const cfg = require( './gulpconfig.json' ); var cfg = require( './gulpconfig.json' );
const paths = cfg.paths; var paths = cfg.paths;
// Compile SCSS to CSS gulp.task( 'watch-scss', ['browser-sync'], function() {
function scss( ) { gulp.watch( paths.sass + '/**/*.scss', ['scss-for-dev'] );
return gulp.src( paths.sass + '/*.scss' ) });
// Run:
// gulp sass
// Compiles SCSS files in CSS
gulp.task( 'sass', function() {
var stream = gulp.src( paths.sass + '/*.scss' )
.pipe( plumber( {
errorHandler: function( err ) {
console.log( err );
this.emit( 'end' );
}
} ) )
.pipe(sourcemaps.init({loadMaps: true})) .pipe(sourcemaps.init({loadMaps: true}))
.pipe(sass()).on('error', sass.logError) .pipe( sass( { errLogToConsole: true } ) )
.pipe(postcss([ .pipe( autoprefixer( 'last 2 versions' ) )
autoprefixer()
]))
.pipe(sourcemaps.write(undefined, { sourceRoot: null })) .pipe(sourcemaps.write(undefined, { sourceRoot: null }))
.pipe( gulp.dest( paths.css ) );
}
exports.scss = scss;
// Minify CSS
function minifycss( done ) {
gulp.src( paths.css + '/theme.css' )
.pipe( sourcemaps.init( { loadMaps: true } ) )
.pipe( cleanCSS( { compatibility: '*' } ) )
.pipe( rename( { suffix: '.min' } ) )
.pipe( sourcemaps.write( './' ) )
.pipe( gulp.dest( paths.css ) ) .pipe( gulp.dest( paths.css ) )
return stream;
});
gulp.src( paths.css + '/custom-editor-style.css' ) // Run:
.pipe( sourcemaps.init( { loadMaps: true } ) ) // gulp watch
.pipe( cleanCSS( { compatibility: '*' } ) ) // Starts watcher. Watcher runs gulp sass task on changes
.pipe( rename( { suffix: '.min' } ) ) gulp.task( 'watch', function() {
.pipe( sourcemaps.write( './' ) ) gulp.watch( paths.sass + '/**/*.scss', ['styles'] );
.pipe( gulp.dest( paths.css ) ); gulp.watch( [paths.dev + '/js/**/*.js', 'js/**/*.js', '!js/theme.js', '!js/theme.min.js'], ['scripts'] );
done(); //Inside the watch task.
}; gulp.watch( paths.imgsrc + '/**', ['imagemin-watch'] );
});
exports.minifycss = minifycss; /**
* Ensures the 'imagemin' task is complete before reloading browsers
* @verbose
*/
gulp.task( 'imagemin-watch', ['imagemin'], function( ) {
browserSync.reload();
});
// Concatinate scripts and minify them // Run:
function scripts( done ) { // gulp imagemin
// Running image optimizing task
gulp.task( 'imagemin', function() {
gulp.src( paths.imgsrc + '/**' )
.pipe( imagemin() )
.pipe( gulp.dest( paths.img ) );
});
// Run:
// gulp cssnano
// Minifies CSS files
gulp.task( 'cssnano', function() {
return gulp.src( paths.css + '/theme.css' )
.pipe( sourcemaps.init( { loadMaps: true } ) )
.pipe( plumber( {
errorHandler: function( err ) {
console.log( err );
this.emit( 'end' );
}
} ) )
.pipe( rename( { suffix: '.min' } ) )
.pipe( cssnano( { discardComments: { removeAll: true } } ) )
.pipe( sourcemaps.write( './' ) )
.pipe( gulp.dest( paths.css ) );
});
gulp.task( 'minifycss', function() {
return gulp.src( paths.css + '/theme.css' )
.pipe( sourcemaps.init( { loadMaps: true } ) )
.pipe( cleanCSS( { compatibility: '*' } ) )
.pipe( plumber( {
errorHandler: function( err ) {
console.log( err ) ;
this.emit( 'end' );
}
} ) )
.pipe( rename( { suffix: '.min' } ) )
.pipe( sourcemaps.write( './' ) )
.pipe( gulp.dest( paths.css ) );
});
gulp.task( 'cleancss', function() {
return gulp.src( paths.css + '/*.min.css', { read: false } ) // Much faster
.pipe( ignore( 'theme.css' ) )
.pipe( rimraf() );
});
gulp.task( 'styles', function( callback ) {
gulpSequence( 'sass', 'minifycss' )( callback );
} );
// Run:
// gulp browser-sync
// Starts browser-sync task for starting the server.
gulp.task( 'browser-sync', function() {
browserSync.init( cfg.browserSyncWatchFiles, cfg.browserSyncOptions );
} );
// Run:
// gulp watch-bs
// Starts watcher with browser-sync. Browser-sync reloads page automatically on your browser
gulp.task( 'watch-bs', ['browser-sync', 'watch', 'scripts'], function() {
} );
// Run:
// gulp scripts.
// Uglifies and concat all JS files into one
gulp.task( 'scripts', function() {
var scripts = [ var scripts = [
// Start - All BS4 stuff
paths.dev + '/js/bootstrap4/bootstrap.js', paths.dev + '/js/bootstrap4/bootstrap.js',
// End - All BS4 stuff
paths.dev + '/js/skip-link-focus-fix.js', paths.dev + '/js/skip-link-focus-fix.js',
// Adding currently empty javascript file to add on for your own themes´ customizations // Adding currently empty javascript file to add on for your own themes´ customizations
// Please add any customizations to this .js file only! // Please add any customizations to this .js file only!
paths.dev + '/js/custom-javascript.js' paths.dev + '/js/custom-javascript.js'
]; ];
gulp.src( scripts )
.pipe( concat( 'theme.min.js' ) )
.pipe( uglify() )
.pipe( gulp.dest( paths.js ) );
gulp.src( scripts ) gulp.src( scripts )
.pipe( concat( 'theme.js' ) ) .pipe( concat( 'theme.js' ) )
.pipe( gulp.dest( paths.js ) ) .pipe( gulp.dest( paths.js ) );
});
gulp.src( scripts ) // Deleting any file inside the /src folder
.pipe( concat( 'theme.min.js' ) ) gulp.task( 'clean-source', function() {
.pipe( uglify() ) return del( ['src/**/*'] );
.pipe( gulp.dest( paths.js ) ); });
done();
}
exports.scripts = scripts;
// Compress image assets
function imagemin() {
return gulp.src( paths.imgsrc + '/**' )
.pipe( imagemin() )
.pipe( gulp.dest( paths.img ) );
}
exports.imagemin = imagemin;
// Run: // Run:
// gulp copy-assets. // gulp copy-assets.
// Copy all needed dependency assets files from bower_component assets to themes /js, /scss and /fonts folder. Run this task after bower install or bower update // Copy all needed dependency assets files from bower_component assets to themes /js, /scss and /fonts folder. Run this task after bower install or bower update
////////////////// All Bootstrap SASS Assets ///////////////////////// ////////////////// All Bootstrap SASS Assets /////////////////////////
gulp.task( 'copy-assets', function(done) { gulp.task( 'copy-assets', function() {
////////////////// All Bootstrap 4 Assets ///////////////////////// ////////////////// All Bootstrap 4 Assets /////////////////////////
// Copy all JS files // Copy all JS files
gulp.src( paths.node + 'bootstrap/dist/js/**/*.js' ) var stream = gulp.src( paths.node + 'bootstrap/dist/js/**/*.js' )
.pipe( gulp.dest( paths.dev + '/js/bootstrap4' ) ); .pipe( gulp.dest( paths.dev + '/js/bootstrap4' ) );
// Copy all Bootstrap SCSS files // Copy all Bootstrap SCSS files
@ -124,68 +196,46 @@ gulp.task( 'copy-assets', function(done) {
// _s JS files into /src/js // _s JS files into /src/js
gulp.src( paths.node + 'undescores-for-npm/js/skip-link-focus-fix.js' ) gulp.src( paths.node + 'undescores-for-npm/js/skip-link-focus-fix.js' )
.pipe( gulp.dest( paths.dev + '/js' ) ); .pipe( gulp.dest( paths.dev + '/js' ) );
// Copy Popper JS files // Copy Popper JS files
gulp.src( paths.node + 'popper.js/dist/umd/popper.min.js' ) gulp.src( paths.node + 'popper.js/dist/umd/popper.min.js' )
.pipe( gulp.dest( paths.js + paths.vendor ) ); .pipe( gulp.dest( paths.js + paths.vendor ) );
gulp.src( paths.node + 'popper.js/dist/umd/popper.js' ) gulp.src( paths.node + 'popper.js/dist/umd/popper.js' )
.pipe( gulp.dest( paths.js + paths.vendor ) ); .pipe( gulp.dest( paths.js + paths.vendor ) );
return stream;
done();
}); });
// Deleting any file inside the /src folder // Deleting the files distributed by the copy-assets task
gulp.task( 'clean-source', function() { gulp.task( 'clean-vendor-assets', function() {
return del( ['src/**/*', '!src'] ); return del( [paths.dev + '/js/bootstrap4/**', paths.dev + '/sass/bootstrap4/**', './fonts/*wesome*.{ttf,woff,woff2,eot,svg}', paths.dev + '/sass/fontawesome/**', paths.dev + '/sass/underscores/**', paths.dev + '/js/skip-link-focus-fix.js', paths.js + '/**/skip-link-focus-fix.js', paths.js + '/**/popper.min.js', paths.js + '/**/popper.js', ( paths.vendor !== ''?( paths.js + paths.vendor + '/**' ):'' )] );
}); });
// Deleting any file inside the /dist folder
gulp.task( 'clean-dist', function() {
return del( ['dist/**/*', '!dist'] );
});
function revision( done ) {
// by default, gulp would pick `assets/css` as the base,
// so we need to set it explicitly:
gulp.src([paths.css + '/theme.min.css', paths.js + '/theme.min.js'], {base: './'})
.pipe(rev())
.pipe(gulp.dest('./')) // write rev'd assets to build dir
.pipe(rev.manifest())
.pipe(revDel({dest: './'}))
.pipe(gulp.dest('./')); // write manifest to build dir
done();
};
exports.revision = revision;
// Run // Run
// gulp dist // gulp dist
// Copies the files to the /dist folder for distribution as simple theme // Copies the files to the /dist folder for distribution as simple theme
gulp.task( 'dist', gulp.series( 'clean-dist', function(done) { gulp.task( 'dist', ['clean-dist'], function() {
return gulp.src( ['**/*', '!' + paths.bower, '!' + paths.bower + '/**', '!' + paths.node, '!' + paths.node + '/**', '!' + paths.dev, '!' + paths.dev + '/**', '!' + paths.dist, '!' + paths.dist + '/**', '!' + paths.distprod, '!' + paths.distprod + '/**', '!' + paths.sass, '!' + paths.sass + '/**', '!readme.txt', '!readme.md', '!package.json', '!package-lock.json', '!gulpfile.js', '!gulpconfig.json', '!CHANGELOG.md', '!.travis.yml', '!jshintignore', '!codesniffer.ruleset.xml', '*'], { 'buffer': false } )
gulp.src( ['**/*', '!' + paths.bower, '!' + paths.bower + '/**', '!' + paths.node, '!' + paths.node + '/**', '!' + paths.dev, '!' + paths.dev + '/**', '!' + paths.dist, '!' + paths.dist + '/**', '!' + paths.distprod, '!' + paths.distprod + '/**', '!' + paths.sass, '!' + paths.sass + '/**', '!readme.txt', '!readme.md', '!package.json', '!package-lock.json', '!gulpfile.js', '!gulpconfig.json', '!CHANGELOG.md', '!.travis.yml', '!jshintignore', '!codesniffer.ruleset.xml', 'rev-manifest.json', '*'], { 'buffer': false } )
.pipe( replace( '/js/jquery.slim.min.js', '/js' + paths.vendor + '/jquery.slim.min.js', { 'skipBinary': true } ) ) .pipe( replace( '/js/jquery.slim.min.js', '/js' + paths.vendor + '/jquery.slim.min.js', { 'skipBinary': true } ) )
.pipe( replace( '/js/popper.min.js', '/js' + paths.vendor + '/popper.min.js', { 'skipBinary': true } ) ) .pipe( replace( '/js/popper.min.js', '/js' + paths.vendor + '/popper.min.js', { 'skipBinary': true } ) )
.pipe( gulp.dest( paths.dist ) ); .pipe( replace( '/js/skip-link-focus-fix.js', '/js' + paths.vendor + '/skip-link-focus-fix.js', { 'skipBinary': true } ) )
done(); .pipe( gulp.dest( paths.dist ) );
}));
// BrowserSync reload helper function
function reload( done ){
browserSync.reload();
done();
}
// BrowserSync main task
gulp.task( 'watch-bs', function( done ) {
browserSync.init( cfg.browserSyncWatchFiles, cfg.browserSyncOptions );
gulp.watch( paths.sass + '/**/*.scss', gulp.series(scss, minifycss, revision, reload) );
gulp.watch( [paths.dev + '/js/**/*.js', 'js/**/*.js', '!js/theme.js', '!js/theme.min.js'], gulp.series( scripts, revision, reload ) );
//Inside the watch task.
gulp.watch( paths.imgsrc + '/**', gulp.series( imagemin, reload ) );
done();
}); });
// Deleting any file inside the /dist folder
gulp.task( 'clean-dist', function() {
return del( [paths.dist + '/**'] );
});
// Run
// gulp dist-product
// Copies the files to the /dist-prod folder for distribution as theme with all assets
gulp.task( 'dist-product', ['clean-dist-product'], function() {
return gulp.src( ['**/*', '!' + paths.bower, '!' + paths.bower + '/**', '!' + paths.node, '!' + paths.node + '/**', '!' + paths.dist, '!' + paths.dist +'/**', '!' + paths.distprod, '!' + paths.distprod + '/**', '*'] )
.pipe( gulp.dest( paths.distprod ) );
} );
// Deleting any file inside the /dist-product folder
gulp.task( 'clean-dist-product', function() {
return del( [paths.distprod + '/**'] );
} );

View File

@ -66,7 +66,7 @@ $container = get_theme_mod( 'understrap_container_type' );
'theme_location' => 'primary', 'theme_location' => 'primary',
'container_class' => 'collapse navbar-collapse', 'container_class' => 'collapse navbar-collapse',
'container_id' => 'navbarNavDropdown', 'container_id' => 'navbarNavDropdown',
'menu_class' => 'navbar-nav', 'menu_class' => 'navbar-nav ml-auto',
'fallback_cb' => '', 'fallback_cb' => '',
'menu_id' => 'main-menu', 'menu_id' => 'main-menu',
'depth' => 2, 'depth' => 2,

View File

@ -35,7 +35,7 @@ if ( ! function_exists( 'understrap_bootstrap_comment_form_fields' ) ) {
'understrap' ) . '</label> ' . 'understrap' ) . '</label> ' .
'<input class="form-control" id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30"></div>', '<input class="form-control" id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30"></div>',
'cookies' => '<div class="form-group form-check comment-form-cookies-consent"><input class="form-check-input" id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' /> ' . 'cookies' => '<div class="form-group form-check comment-form-cookies-consent"><input class="form-check-input" id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' /> ' .
'<label class="form-check-label" for="wp-comment-cookies-consent">' . __( 'Save my name, email, and website in this browser for the next time I comment.' ) . '</label></div>', '<label class="form-check-label" for="wp-comment-cookies-consent">' . __( 'Save my name, email, and website in this browser for the next time I comment', 'understrap' ) . '</label></div>',
); );
return $fields; return $fields;

View File

@ -5,39 +5,27 @@
* @package understrap * @package understrap
*/ */
/**
* @param string $filename
* @return string
*/
function asset_path($filename) {
$manifest_path = get_stylesheet_directory() .'/rev-manifest.json';
if ( file_exists($manifest_path ) ) {
$manifest = json_decode( file_get_contents( $manifest_path ), TRUE );
} else {
$manifest = [];
}
if ( array_key_exists( $filename, $manifest ) ) {
return $manifest[$filename];
}
return $filename;
}
if ( ! function_exists( 'understrap_scripts' ) ) { if ( ! function_exists( 'understrap_scripts' ) ) {
/** /**
* Load theme's JavaScript and CSS sources. * Load theme's JavaScript and CSS sources.
*/ */
function understrap_scripts() { function understrap_scripts() {
// Get the theme data.
wp_enqueue_style( 'understrap-styles', get_stylesheet_directory_uri() . '/'. asset_path('css/theme.min.css'), array(), null); $the_theme = wp_get_theme();
$theme_version = $the_theme->get( 'Version' );
$css_version = $theme_version . '.' . filemtime(get_template_directory() . '/css/theme.min.css');
wp_enqueue_style( 'understrap-styles', get_stylesheet_directory_uri() . '/css/theme.min.css', array(), $css_version );
wp_enqueue_script( 'jquery'); wp_enqueue_script( 'jquery');
wp_enqueue_script( 'popper-scripts', get_template_directory_uri() . '/js/popper.min.js', array(), false, true); wp_enqueue_script( 'popper-scripts', get_template_directory_uri() . '/js/popper.min.js', array(), $theme_version, true);
wp_enqueue_script( 'understrap-scripts', get_template_directory_uri() . '/' . asset_path('js/theme.min.js'), array(), null, true ); $js_version = $theme_version . '.' . filemtime(get_template_directory() . '/js/theme.min.js');
wp_enqueue_script( 'understrap-scripts', get_template_directory_uri() . '/js/theme.min.js', array(), $js_version, true );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' ); wp_enqueue_script( 'comment-reply' );
} }
} }
} // endif function_exists( 'understrap_scripts' ). } // endif function_exists( 'understrap_scripts' ).
add_action( 'wp_enqueue_scripts', 'understrap_scripts' ); add_action( 'wp_enqueue_scripts', 'understrap_scripts' );

View File

@ -102,9 +102,9 @@ if ( ! function_exists( 'understrap_widgets_init' ) ) {
) ); ) );
register_sidebar( array( register_sidebar( array(
'name' => __( 'Bottom Full', 'understrap' ), 'name' => __( 'Footer Full', 'understrap' ),
'id' => 'footerfull', 'id' => 'footerfull',
'description' => 'Full bottom widget with dynmic grid', 'description' => 'Full sized footer widget with dynamic grid',
'before_widget' => '<div id="%1$s" class="footer-widget %2$s '. understrap_slbd_count_widgets( 'footerfull' ) .'">', 'before_widget' => '<div id="%1$s" class="footer-widget %2$s '. understrap_slbd_count_widgets( 'footerfull' ) .'">',
'after_widget' => '</div><!-- .footer-widget -->', 'after_widget' => '</div><!-- .footer-widget -->',
'before_title' => '<h3 class="widget-title">', 'before_title' => '<h3 class="widget-title">',

View File

@ -5,7 +5,6 @@
* @package understrap * @package understrap
*/ */
add_action( 'after_setup_theme', 'understrap_woocommerce_support' ); add_action( 'after_setup_theme', 'understrap_woocommerce_support' );
if ( ! function_exists( 'understrap_woocommerce_support' ) ) { if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
/** /**
@ -24,7 +23,6 @@ if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
} }
} }
/** /**
* First unhook the WooCommerce wrappers * First unhook the WooCommerce wrappers
*/ */
@ -135,4 +133,4 @@ if ( ! function_exists ( 'understrap_wc_form_field_args' ) ) {
} // end switch ($args). } // end switch ($args).
return $args; return $args;
} }
} }

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v4.1.0 (https://getbootstrap.com/) * Bootstrap v4.1.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -70,7 +70,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): util.js * Bootstrap (v4.1.1): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -203,7 +203,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): alert.js * Bootstrap (v4.1.1): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -215,7 +215,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'alert'; var NAME = 'alert';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.alert'; var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -252,9 +252,11 @@
// Public // Public
_proto.close = function close(element) { _proto.close = function close(element) {
element = element || this._element; var rootElement = this._element;
var rootElement = this._getRootElement(element); if (element) {
rootElement = this._getRootElement(element);
}
var customEvent = this._triggerCloseEvent(rootElement); var customEvent = this._triggerCloseEvent(rootElement);
@ -376,7 +378,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): button.js * Bootstrap (v4.1.1): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -388,7 +390,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'button'; var NAME = 'button';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.button'; var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -540,7 +542,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): carousel.js * Bootstrap (v4.1.1): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -552,7 +554,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'carousel'; var NAME = 'carousel';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.carousel'; var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -1041,7 +1043,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): collapse.js * Bootstrap (v4.1.1): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -1053,7 +1055,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'collapse'; var NAME = 'collapse';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.collapse'; var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -1324,7 +1326,7 @@
var $this = $$$1(this); var $this = $$$1(this);
var data = $this.data(DATA_KEY); var data = $this.data(DATA_KEY);
var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config); var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config ? config : {});
if (!data && _config.toggle && /show|hide/.test(config)) { if (!data && _config.toggle && /show|hide/.test(config)) {
_config.toggle = false; _config.toggle = false;
@ -1401,7 +1403,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): dropdown.js * Bootstrap (v4.1.1): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -1413,7 +1415,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'dropdown'; var NAME = 'dropdown';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.dropdown'; var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -1883,7 +1885,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): modal.js * Bootstrap (v4.1.1): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -1895,7 +1897,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'modal'; var NAME = 'modal';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.modal'; var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -2371,7 +2373,7 @@
return this.each(function () { return this.each(function () {
var data = $$$1(this).data(DATA_KEY); var data = $$$1(this).data(DATA_KEY);
var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config); var _config = _objectSpread({}, Default, $$$1(this).data(), typeof config === 'object' && config ? config : {});
if (!data) { if (!data) {
data = new Modal(this, _config); data = new Modal(this, _config);
@ -2461,7 +2463,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): tooltip.js * Bootstrap (v4.1.1): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -2473,7 +2475,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tooltip'; var NAME = 'tooltip';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.tooltip'; var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -2978,7 +2980,7 @@
}; };
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config); config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), typeof config === 'object' && config ? config : {});
if (typeof config.delay === 'number') { if (typeof config.delay === 'number') {
config.delay = { config.delay = {
@ -3128,7 +3130,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): popover.js * Bootstrap (v4.1.1): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -3140,7 +3142,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'popover'; var NAME = 'popover';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.popover'; var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -3325,7 +3327,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): scrollspy.js * Bootstrap (v4.1.1): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -3337,7 +3339,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'scrollspy'; var NAME = 'scrollspy';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.scrollspy'; var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -3464,7 +3466,7 @@
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default, config); config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
if (typeof config.target !== 'string') { if (typeof config.target !== 'string') {
var id = $$$1(config.target).attr('id'); var id = $$$1(config.target).attr('id');
@ -3637,7 +3639,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): tab.js * Bootstrap (v4.1.1): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -3649,7 +3651,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tab'; var NAME = 'tab';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.tab'; var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -3885,7 +3887,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): index.js * Bootstrap (v4.1.1): index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */

2
js/theme.min.js vendored

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

9033
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -27,26 +27,31 @@
}, },
"homepage": "https://understrap.com", "homepage": "https://understrap.com",
"dependencies": { "dependencies": {
"autoprefixer": "^8.6.2", "bootstrap": "4.1.1",
"bootstrap": "4.1.0", "browser-sync": "^2.23.6",
"browser-sync": "^2.24.4",
"del": "^3.0.0", "del": "^3.0.0",
"font-awesome": "^4.7.0", "font-awesome": "^4.7.0",
"gulp": "^4.0.0", "gulp": "3.9.1",
"gulp-clean-css": "^3.9.3", "gulp-clean-css": "^3.9.2",
"gulp-clone": "2.0.1",
"gulp-concat": "^2.6.1", "gulp-concat": "^2.6.1",
"gulp-cssnano": "^2.1.2",
"gulp-ignore": "^2.0.2",
"gulp-imagemin": "^4.1.0", "gulp-imagemin": "^4.1.0",
"gulp-postcss": "^7.0.1", "gulp-merge": "^0.1.1",
"gulp-rename": "^1.3.0", "gulp-plumber": "^1.2.0",
"gulp-rename": "^1.2.2",
"gulp-replace": "^0.6.1", "gulp-replace": "^0.6.1",
"gulp-rev": "^8.1.1", "gulp-rimraf": "^0.2.2",
"gulp-sass": "^4.0.1", "gulp-sass": "4.0.1",
"gulp-sequence": "1.0.0",
"gulp-sourcemaps": "2.6.4", "gulp-sourcemaps": "2.6.4",
"gulp-uglify": "^3.0.0", "gulp-uglify": "^3.0.0",
"gulp-watch": "5.0.0", "gulp-watch": "5.0.0",
"merge2": "^1.2.1", "merge2": "^1.2.1",
"popper.js": "^1.14.1", "popper.js": "^1.12.9",
"rev-del": "^1.0.5", "run-sequence": "^2.2.1",
"undescores-for-npm": "^1.0.0" "undescores-for-npm": "^1.0.0",
"gulp-autoprefixer": "^5.0.0"
} }
} }

View File

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v4.1.0 (https://getbootstrap.com/) * Bootstrap v4.1.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -69,7 +69,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): util.js * Bootstrap (v4.1.1): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -202,7 +202,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): alert.js * Bootstrap (v4.1.1): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -214,7 +214,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'alert'; var NAME = 'alert';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.alert'; var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -251,9 +251,11 @@
// Public // Public
_proto.close = function close(element) { _proto.close = function close(element) {
element = element || this._element; var rootElement = this._element;
var rootElement = this._getRootElement(element); if (element) {
rootElement = this._getRootElement(element);
}
var customEvent = this._triggerCloseEvent(rootElement); var customEvent = this._triggerCloseEvent(rootElement);
@ -375,7 +377,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): button.js * Bootstrap (v4.1.1): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -387,7 +389,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'button'; var NAME = 'button';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.button'; var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -539,7 +541,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): carousel.js * Bootstrap (v4.1.1): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -551,7 +553,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'carousel'; var NAME = 'carousel';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.carousel'; var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -1040,7 +1042,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): collapse.js * Bootstrap (v4.1.1): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -1052,7 +1054,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'collapse'; var NAME = 'collapse';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.collapse'; var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -1323,7 +1325,7 @@
var $this = $$$1(this); var $this = $$$1(this);
var data = $this.data(DATA_KEY); var data = $this.data(DATA_KEY);
var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config); var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config ? config : {});
if (!data && _config.toggle && /show|hide/.test(config)) { if (!data && _config.toggle && /show|hide/.test(config)) {
_config.toggle = false; _config.toggle = false;
@ -1400,7 +1402,7 @@
/**! /**!
* @fileOverview Kickass library to create and place poppers near their reference elements. * @fileOverview Kickass library to create and place poppers near their reference elements.
* @version 1.14.1 * @version 1.14.3
* @license * @license
* Copyright (c) 2016 Federico Zivolo and contributors * Copyright (c) 2016 Federico Zivolo and contributors
* *
@ -1423,6 +1425,7 @@
* SOFTWARE. * SOFTWARE.
*/ */
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined'; var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
var timeoutDuration = 0; var timeoutDuration = 0;
for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
@ -1549,40 +1552,25 @@
return getScrollParent(getParentNode(element)); return getScrollParent(getParentNode(element));
} }
var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);
var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);
/** /**
* Tells if you are running Internet Explorer * Determines if the browser is Internet Explorer
* @method * @method
* @memberof Popper.Utils * @memberof Popper.Utils
* @argument {number} version to check * @param {Number} version to check
* @returns {Boolean} isIE * @returns {Boolean} isIE
*/ */
var cache = {}; function isIE(version) {
if (version === 11) {
var isIE = function () { return isIE11;
var version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';
version = version.toString();
if (cache.hasOwnProperty(version)) {
return cache[version];
} }
switch (version) { if (version === 10) {
case '11': return isIE10;
cache[version] = navigator.userAgent.indexOf('Trident') !== -1;
break;
case '10':
cache[version] = navigator.appVersion.indexOf('MSIE 10') !== -1;
break;
case 'all':
cache[version] = navigator.userAgent.indexOf('Trident') !== -1 || navigator.userAgent.indexOf('MSIE') !== -1;
break;
} }
return isIE11 || isIE10;
//Set IE }
cache.all = cache.all || Object.keys(cache).some(function (key) {
return cache[key];
});
return cache[version];
};
/** /**
* Returns the offset parent of the given element * Returns the offset parent of the given element
@ -2335,6 +2323,7 @@
// compute the popper offsets // compute the popper offsets
data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';
// run the modifiers // run the modifiers
@ -2640,11 +2629,13 @@
position: popper.position position: popper.position
}; };
// floor sides to avoid blurry text // Avoid blurry text by using full pixel integers.
// For pixel-perfect positioning, top/bottom prefers rounded
// values, while left/right prefers floored values.
var offsets = { var offsets = {
left: Math.floor(popper.left), left: Math.floor(popper.left),
top: Math.floor(popper.top), top: Math.round(popper.top),
bottom: Math.floor(popper.bottom), bottom: Math.round(popper.bottom),
right: Math.floor(popper.right) right: Math.floor(popper.right)
}; };
@ -3200,7 +3191,27 @@
boundariesElement = getOffsetParent(boundariesElement); boundariesElement = getOffsetParent(boundariesElement);
} }
// NOTE: DOM access here
// resets the popper's position so that the document size can be calculated excluding
// the size of the popper element itself
var transformProp = getSupportedPropertyName('transform');
var popperStyles = data.instance.popper.style; // assignment to help minification
var top = popperStyles.top,
left = popperStyles.left,
transform = popperStyles[transformProp];
popperStyles.top = '';
popperStyles.left = '';
popperStyles[transformProp] = '';
var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);
// NOTE: DOM access here
// restores the original style properties after the offsets have been computed
popperStyles.top = top;
popperStyles.left = left;
popperStyles[transformProp] = transform;
options.boundaries = boundaries; options.boundaries = boundaries;
var order = options.priority; var order = options.priority;
@ -3909,7 +3920,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): dropdown.js * Bootstrap (v4.1.1): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -3921,7 +3932,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'dropdown'; var NAME = 'dropdown';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.dropdown'; var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -4391,7 +4402,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): modal.js * Bootstrap (v4.1.1): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -4403,7 +4414,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'modal'; var NAME = 'modal';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.modal'; var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -4879,7 +4890,7 @@
return this.each(function () { return this.each(function () {
var data = $$$1(this).data(DATA_KEY); var data = $$$1(this).data(DATA_KEY);
var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config); var _config = _objectSpread({}, Default, $$$1(this).data(), typeof config === 'object' && config ? config : {});
if (!data) { if (!data) {
data = new Modal(this, _config); data = new Modal(this, _config);
@ -4969,7 +4980,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): tooltip.js * Bootstrap (v4.1.1): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -4981,7 +4992,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tooltip'; var NAME = 'tooltip';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.tooltip'; var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -5486,7 +5497,7 @@
}; };
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config); config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), typeof config === 'object' && config ? config : {});
if (typeof config.delay === 'number') { if (typeof config.delay === 'number') {
config.delay = { config.delay = {
@ -5636,7 +5647,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): popover.js * Bootstrap (v4.1.1): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -5648,7 +5659,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'popover'; var NAME = 'popover';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.popover'; var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -5833,7 +5844,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): scrollspy.js * Bootstrap (v4.1.1): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -5845,7 +5856,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'scrollspy'; var NAME = 'scrollspy';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.scrollspy'; var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -5972,7 +5983,7 @@
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default, config); config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
if (typeof config.target !== 'string') { if (typeof config.target !== 'string') {
var id = $$$1(config.target).attr('id'); var id = $$$1(config.target).attr('id');
@ -6145,7 +6156,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): tab.js * Bootstrap (v4.1.1): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -6157,7 +6168,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tab'; var NAME = 'tab';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.tab'; var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -6393,7 +6404,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): index.js * Bootstrap (v4.1.1): index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v4.1.0 (https://getbootstrap.com/) * Bootstrap v4.1.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -70,7 +70,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): util.js * Bootstrap (v4.1.1): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -203,7 +203,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): alert.js * Bootstrap (v4.1.1): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -215,7 +215,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'alert'; var NAME = 'alert';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.alert'; var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -252,9 +252,11 @@
// Public // Public
_proto.close = function close(element) { _proto.close = function close(element) {
element = element || this._element; var rootElement = this._element;
var rootElement = this._getRootElement(element); if (element) {
rootElement = this._getRootElement(element);
}
var customEvent = this._triggerCloseEvent(rootElement); var customEvent = this._triggerCloseEvent(rootElement);
@ -376,7 +378,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): button.js * Bootstrap (v4.1.1): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -388,7 +390,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'button'; var NAME = 'button';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.button'; var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -540,7 +542,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): carousel.js * Bootstrap (v4.1.1): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -552,7 +554,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'carousel'; var NAME = 'carousel';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.carousel'; var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -1041,7 +1043,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): collapse.js * Bootstrap (v4.1.1): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -1053,7 +1055,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'collapse'; var NAME = 'collapse';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.collapse'; var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -1324,7 +1326,7 @@
var $this = $$$1(this); var $this = $$$1(this);
var data = $this.data(DATA_KEY); var data = $this.data(DATA_KEY);
var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config); var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config ? config : {});
if (!data && _config.toggle && /show|hide/.test(config)) { if (!data && _config.toggle && /show|hide/.test(config)) {
_config.toggle = false; _config.toggle = false;
@ -1401,7 +1403,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): dropdown.js * Bootstrap (v4.1.1): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -1413,7 +1415,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'dropdown'; var NAME = 'dropdown';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.dropdown'; var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -1883,7 +1885,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): modal.js * Bootstrap (v4.1.1): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -1895,7 +1897,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'modal'; var NAME = 'modal';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.modal'; var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -2371,7 +2373,7 @@
return this.each(function () { return this.each(function () {
var data = $$$1(this).data(DATA_KEY); var data = $$$1(this).data(DATA_KEY);
var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config); var _config = _objectSpread({}, Default, $$$1(this).data(), typeof config === 'object' && config ? config : {});
if (!data) { if (!data) {
data = new Modal(this, _config); data = new Modal(this, _config);
@ -2461,7 +2463,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): tooltip.js * Bootstrap (v4.1.1): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -2473,7 +2475,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tooltip'; var NAME = 'tooltip';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.tooltip'; var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -2978,7 +2980,7 @@
}; };
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config); config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), typeof config === 'object' && config ? config : {});
if (typeof config.delay === 'number') { if (typeof config.delay === 'number') {
config.delay = { config.delay = {
@ -3128,7 +3130,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): popover.js * Bootstrap (v4.1.1): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -3140,7 +3142,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'popover'; var NAME = 'popover';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.popover'; var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -3325,7 +3327,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): scrollspy.js * Bootstrap (v4.1.1): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -3337,7 +3339,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'scrollspy'; var NAME = 'scrollspy';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.scrollspy'; var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -3464,7 +3466,7 @@
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default, config); config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
if (typeof config.target !== 'string') { if (typeof config.target !== 'string') {
var id = $$$1(config.target).attr('id'); var id = $$$1(config.target).attr('id');
@ -3637,7 +3639,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.1.0): tab.js * Bootstrap (v4.1.1): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -3649,7 +3651,7 @@
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tab'; var NAME = 'tab';
var VERSION = '4.1.0'; var VERSION = '4.1.1';
var DATA_KEY = 'bs.tab'; var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -3885,7 +3887,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): index.js * Bootstrap (v4.1.1): index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */

File diff suppressed because one or more lines are too long

View File

@ -189,6 +189,7 @@
margin-right: $carousel-indicator-spacer; margin-right: $carousel-indicator-spacer;
margin-left: $carousel-indicator-spacer; margin-left: $carousel-indicator-spacer;
text-indent: -999px; text-indent: -999px;
cursor: pointer;
background-color: rgba($carousel-indicator-active-bg, .5); background-color: rgba($carousel-indicator-active-bg, .5);
// Use pseudo classes to increase the hit area by 10px on top and bottom. // Use pseudo classes to increase the hit area by 10px on top and bottom.

View File

@ -1,11 +1,3 @@
// Inline and block code styles
code,
kbd,
pre,
samp {
font-family: $font-family-monospace;
}
// Inline code // Inline code
code { code {
font-size: $code-font-size; font-size: $code-font-size;

View File

@ -54,16 +54,17 @@
// Custom control indicators // Custom control indicators
// //
// Build the custom controls out of psuedo-elements. // Build the custom controls out of pseudo-elements.
.custom-control-label { .custom-control-label {
position: relative;
margin-bottom: 0; margin-bottom: 0;
// Background-color and (when enabled) gradient // Background-color and (when enabled) gradient
&::before { &::before {
position: absolute; position: absolute;
top: (($line-height-base - $custom-control-indicator-size) / 2); top: (($line-height-base - $custom-control-indicator-size) / 2);
left: 0; left: -$custom-control-gutter;
display: block; display: block;
width: $custom-control-indicator-size; width: $custom-control-indicator-size;
height: $custom-control-indicator-size; height: $custom-control-indicator-size;
@ -78,7 +79,7 @@
&::after { &::after {
position: absolute; position: absolute;
top: (($line-height-base - $custom-control-indicator-size) / 2); top: (($line-height-base - $custom-control-indicator-size) / 2);
left: 0; left: -$custom-control-gutter;
display: block; display: block;
width: $custom-control-indicator-size; width: $custom-control-indicator-size;
height: $custom-control-indicator-size; height: $custom-control-indicator-size;
@ -285,7 +286,7 @@
bottom: 0; bottom: 0;
z-index: 3; z-index: 3;
display: block; display: block;
height: calc(#{$custom-file-height} - #{$custom-file-border-width} * 2); height: $custom-file-height-inner;
padding: $custom-file-padding-y $custom-file-padding-x; padding: $custom-file-padding-y $custom-file-padding-x;
line-height: $custom-file-line-height; line-height: $custom-file-line-height;
color: $custom-file-button-color; color: $custom-file-button-color;
@ -298,7 +299,7 @@
// Range // Range
// //
// Style range inputs the same across browsers. Vendor-specific rules for psuedo // Style range inputs the same across browsers. Vendor-specific rules for pseudo
// elements cannot be mixed. As such, there are no shared styles for focus or // elements cannot be mixed. As such, there are no shared styles for focus or
// active states on prefixed selectors. // active states on prefixed selectors.

View File

@ -47,8 +47,7 @@
&:not(:last-child) .custom-file-label, &:not(:last-child) .custom-file-label,
&:not(:last-child) .custom-file-label::after { @include border-right-radius(0); } &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
&:not(:first-child) .custom-file-label, &:not(:first-child) .custom-file-label { @include border-left-radius(0); }
&:not(:first-child) .custom-file-label::after { @include border-left-radius(0); }
} }
} }

View File

@ -112,6 +112,7 @@
background-color: $white !important; background-color: $white !important;
} }
} }
.table-bordered { .table-bordered {
th, th,
td { td {
@ -119,6 +120,22 @@
} }
} }
.table-dark {
color: inherit;
th,
td,
thead th,
tbody + tbody {
border-color: $table-border-color;
}
}
.table .thead-dark th {
color: inherit;
border-color: $table-border-color;
}
// Bootstrap specific changes end // Bootstrap specific changes end
} }
} }

View File

@ -42,7 +42,7 @@ html {
// stylelint-disable selector-list-comma-newline-after // stylelint-disable selector-list-comma-newline-after
// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers) // Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block; display: block;
} }
// stylelint-enable selector-list-comma-newline-after // stylelint-enable selector-list-comma-newline-after
@ -232,15 +232,13 @@ a:not([href]):not([tabindex]) {
// Code // Code
// //
// stylelint-disable font-family-no-duplicate-names
pre, pre,
code, code,
kbd, kbd,
samp { samp {
font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers. font-family: $font-family-monospace;
font-size: 1em; // Correct the odd `em` font sizing in all browsers. font-size: 1em; // Correct the odd `em` font sizing in all browsers.
} }
// stylelint-enable font-family-no-duplicate-names
pre { pre {
// Remove browser default top margin // Remove browser default top margin

View File

@ -526,6 +526,7 @@ $custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-s
$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default; $custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;
$custom-file-height: $input-height !default; $custom-file-height: $input-height !default;
$custom-file-height-inner: $input-height-inner !default;
$custom-file-focus-border-color: $input-focus-border-color !default; $custom-file-focus-border-color: $input-focus-border-color !default;
$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default; $custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;
@ -898,7 +899,7 @@ $carousel-control-icon-width: 20px !default;
$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default; $carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default; $carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitons (e.g., `transform 2s ease, opacity .5s ease-out`) $carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
// Close // Close

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Grid v4.1.0 (https://getbootstrap.com/) * Bootstrap Grid v4.1.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc. * Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Reboot v4.1.0 (https://getbootstrap.com/) * Bootstrap Reboot v4.1.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc. * Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v4.1.0 (https://getbootstrap.com/) * Bootstrap v4.1.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc. * Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)

View File

@ -68,6 +68,16 @@
} }
} }
.form-control-file {
.was-validated &:#{$state},
&.is-#{$state} {
~ .#{$state}-feedback,
~ .#{$state}-tooltip {
display: block;
}
}
}
.form-check-input { .form-check-input {
.was-validated &:#{$state}, .was-validated &:#{$state},
&.is-#{$state} { &.is-#{$state} {

View File

@ -5,7 +5,7 @@
// would persist after initial touch. // would persist after initial touch.
// //
// For backward compatibility, we've kept these mixins and updated them to // For backward compatibility, we've kept these mixins and updated them to
// always return their regular psuedo-classes instead of a shimmed media query. // always return their regular pseudo-classes instead of a shimmed media query.
// //
// Issue: https://github.com/twbs/bootstrap/issues/25195 // Issue: https://github.com/twbs/bootstrap/issues/25195

View File

@ -1,5 +1,5 @@
// CSS image replacement // CSS image replacement
@mixin text-hide() { @mixin text-hide($ignore-warning: false) {
// stylelint-disable-next-line font-family-no-missing-generic-family-keyword // stylelint-disable-next-line font-family-no-missing-generic-family-keyword
font: 0/0 a; font: 0/0 a;
color: transparent; color: transparent;
@ -7,5 +7,7 @@
background-color: transparent; background-color: transparent;
border: 0; border: 0;
@warn "The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5."; @if ($ignore-warning != true) {
@warn "The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5.";
}
} }

View File

@ -54,5 +54,5 @@
// Misc // Misc
.text-hide { .text-hide {
@include text-hide(); @include text-hide($ignore-warning: true);
} }

View File

@ -8,7 +8,7 @@ Description: Combination of Automattic´s _s theme and Bootstrap 4. Made as a so
That downloads everything and moves it in place so that you can recompile your CSS and JS files; That downloads everything and moves it in place so that you can recompile your CSS and JS files;
A developer version (with Gulp/node and Sass sources) is available on gitHub: https://github.com/understrap/understrap A developer version (with Gulp/node and Sass sources) is available on gitHub: https://github.com/understrap/understrap
A child theme is available on Github, too: https://github.com/understrap/understrap-child; A child theme is available on Github, too: https://github.com/understrap/understrap-child;
Version: 0.8.2 Version: 0.8.3
License: UnderStrap WordPress Theme, Copyright 2013-2017 Holger Koenemann License: UnderStrap WordPress Theme, Copyright 2013-2017 Holger Koenemann
UnderStrap is distributed under the terms of the GNU GPL version 2 UnderStrap is distributed under the terms of the GNU GPL version 2
License URI: http://www.gnu.org/licenses/gpl-2.0.html License URI: http://www.gnu.org/licenses/gpl-2.0.html

View File

@ -25,7 +25,7 @@ if ( $max_value && $min_value === $max_value ) {
<?php <?php
} else { } else {
/* translators: %s: Quantity. */ /* translators: %s: Quantity. */
$labelledby = ! empty( $args['product_name'] ) ? sprintf( __( '%s quantity', 'woocommerce' ), strip_tags( $args['product_name'] ) ) : ''; $labelledby = ! empty( $args['product_name'] ) ? sprintf( __( '%s quantity', 'understrap' ), strip_tags( $args['product_name'] ) ) : '';
?> ?>
<div class="quantity"> <div class="quantity">
<label class="sr-only" for="<?php echo esc_attr( $input_id ); ?>"><?php esc_html_e( 'Quantity', 'understrap' ); ?></label> <label class="sr-only" for="<?php echo esc_attr( $input_id ); ?>"><?php esc_html_e( 'Quantity', 'understrap' ); ?></label>