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 **
- Update to Bootstrap 4.1
- 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
var autoprefixer = require( 'autoprefixer' ),
browserSync = require('browser-sync').create(),
cleanCSS = require( 'gulp-clean-css' ),
concat = require( 'gulp-concat' ),
del = require( 'del' ),
gulp = require( 'gulp' ),
imagemin = require( 'gulp-imagemin' ),
postcss = require( 'gulp-postcss' ),
rename = require( 'gulp-rename' ),
replace = require( 'gulp-replace' ),
sass = require( 'gulp-sass' ),
sourcemaps = require( 'gulp-sourcemaps' ),
uglify = require( 'gulp-uglify' ),
rev = require('gulp-rev'),
revDel = require('rev-del');
var gulp = require( 'gulp' );
var plumber = require( 'gulp-plumber' );
var sass = require( 'gulp-sass' );
var watch = require( 'gulp-watch' );
var cssnano = require( 'gulp-cssnano' );
var rename = require( 'gulp-rename' );
var concat = require( 'gulp-concat' );
var uglify = require( 'gulp-uglify' );
var merge2 = require( 'merge2' );
var imagemin = require( 'gulp-imagemin' );
var ignore = require( 'gulp-ignore' );
var rimraf = require( 'gulp-rimraf' );
var clone = require( 'gulp-clone' );
var merge = require( 'gulp-merge' );
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
const cfg = require( './gulpconfig.json' );
const paths = cfg.paths;
var cfg = require( './gulpconfig.json' );
var paths = cfg.paths;
// Compile SCSS to CSS
function scss( ) {
return gulp.src( paths.sass + '/*.scss' )
gulp.task( 'watch-scss', ['browser-sync'], function() {
gulp.watch( paths.sass + '/**/*.scss', ['scss-for-dev'] );
});
// 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(sass()).on('error', sass.logError)
.pipe(postcss([
autoprefixer()
]))
.pipe( sass( { errLogToConsole: true } ) )
.pipe( autoprefixer( 'last 2 versions' ) )
.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 ) )
return stream;
});
gulp.src( paths.css + '/custom-editor-style.css' )
.pipe( sourcemaps.init( { loadMaps: true } ) )
.pipe( cleanCSS( { compatibility: '*' } ) )
.pipe( rename( { suffix: '.min' } ) )
.pipe( sourcemaps.write( './' ) )
.pipe( gulp.dest( paths.css ) );
// Run:
// gulp watch
// Starts watcher. Watcher runs gulp sass task on changes
gulp.task( 'watch', function() {
gulp.watch( paths.sass + '/**/*.scss', ['styles'] );
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
function scripts( done ) {
// Run:
// 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 = [
// Start - All BS4 stuff
paths.dev + '/js/bootstrap4/bootstrap.js',
// End - All BS4 stuff
paths.dev + '/js/skip-link-focus-fix.js',
// Adding currently empty javascript file to add on for your own themes´ customizations
// Please add any customizations to this .js file only!
paths.dev + '/js/custom-javascript.js'
];
gulp.src( scripts )
.pipe( concat( 'theme.min.js' ) )
.pipe( uglify() )
.pipe( gulp.dest( paths.js ) );
gulp.src( scripts )
.pipe( concat( 'theme.js' ) )
.pipe( gulp.dest( paths.js ) )
gulp.src( scripts )
.pipe( concat( 'theme.js' ) )
.pipe( gulp.dest( paths.js ) );
});
gulp.src( scripts )
.pipe( concat( 'theme.min.js' ) )
.pipe( uglify() )
.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;
// Deleting any file inside the /src folder
gulp.task( 'clean-source', function() {
return del( ['src/**/*'] );
});
// Run:
// 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
////////////////// All Bootstrap SASS Assets /////////////////////////
gulp.task( 'copy-assets', function(done) {
gulp.task( 'copy-assets', function() {
////////////////// All Bootstrap 4 Assets /////////////////////////
// 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' ) );
// Copy all Bootstrap SCSS files
@ -124,68 +196,46 @@ gulp.task( 'copy-assets', function(done) {
// _s JS files into /src/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
gulp.src( paths.node + 'popper.js/dist/umd/popper.min.js' )
.pipe( gulp.dest( paths.js + paths.vendor ) );
gulp.src( paths.node + 'popper.js/dist/umd/popper.js' )
.pipe( gulp.dest( paths.js + paths.vendor ) );
done();
return stream;
});
// Deleting any file inside the /src folder
gulp.task( 'clean-source', function() {
return del( ['src/**/*', '!src'] );
// Deleting the files distributed by the copy-assets task
gulp.task( 'clean-vendor-assets', function() {
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
// gulp dist
// Copies the files to the /dist folder for distribution as simple theme
gulp.task( 'dist', gulp.series( 'clean-dist', function(done) {
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 } )
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 } )
.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( gulp.dest( paths.dist ) );
done();
}));
// 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();
.pipe( replace( '/js/skip-link-focus-fix.js', '/js' + paths.vendor + '/skip-link-focus-fix.js', { 'skipBinary': true } ) )
.pipe( gulp.dest( paths.dist ) );
});
// 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',
'container_class' => 'collapse navbar-collapse',
'container_id' => 'navbarNavDropdown',
'menu_class' => 'navbar-nav',
'menu_class' => 'navbar-nav ml-auto',
'fallback_cb' => '',
'menu_id' => 'main-menu',
'depth' => 2,

View File

@ -35,7 +35,7 @@ if ( ! function_exists( 'understrap_bootstrap_comment_form_fields' ) ) {
'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>',
'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;

View File

@ -5,39 +5,27 @@
* @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' ) ) {
/**
* Load theme's JavaScript and CSS sources.
*/
function understrap_scripts() {
wp_enqueue_style( 'understrap-styles', get_stylesheet_directory_uri() . '/'. asset_path('css/theme.min.css'), array(), null);
// Get the theme data.
$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( 'popper-scripts', get_template_directory_uri() . '/js/popper.min.js', array(), false, true);
wp_enqueue_script( 'understrap-scripts', get_template_directory_uri() . '/' . asset_path('js/theme.min.js'), array(), null, true );
wp_enqueue_script( 'popper-scripts', get_template_directory_uri() . '/js/popper.min.js', array(), $theme_version, 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' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
} // 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(
'name' => __( 'Bottom Full', 'understrap' ),
'name' => __( 'Footer Full', 'understrap' ),
'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' ) .'">',
'after_widget' => '</div><!-- .footer-widget -->',
'before_title' => '<h3 class="widget-title">',

View File

@ -5,7 +5,6 @@
* @package understrap
*/
add_action( 'after_setup_theme', 'understrap_woocommerce_support' );
if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
/**
@ -24,7 +23,6 @@ if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
}
}
/**
* First unhook the WooCommerce wrappers
*/
@ -135,4 +133,4 @@ if ( ! function_exists ( 'understrap_wc_form_field_args' ) ) {
} // end switch ($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)
* 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)
* --------------------------------------------------------------------------
*/
@ -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)
* --------------------------------------------------------------------------
*/
@ -215,7 +215,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'alert';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -252,9 +252,11 @@
// Public
_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);
@ -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)
* --------------------------------------------------------------------------
*/
@ -388,7 +390,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'button';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -552,7 +554,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'carousel';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -1053,7 +1055,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'collapse';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -1324,7 +1326,7 @@
var $this = $$$1(this);
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)) {
_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)
* --------------------------------------------------------------------------
*/
@ -1413,7 +1415,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -1895,7 +1897,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'modal';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -2371,7 +2373,7 @@
return this.each(function () {
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) {
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)
* --------------------------------------------------------------------------
*/
@ -2473,7 +2475,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'tooltip';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -2978,7 +2980,7 @@
};
_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') {
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)
* --------------------------------------------------------------------------
*/
@ -3140,7 +3142,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'popover';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -3337,7 +3339,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'scrollspy';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -3464,7 +3466,7 @@
_proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default, config);
config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
if (typeof config.target !== 'string') {
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)
* --------------------------------------------------------------------------
*/
@ -3649,7 +3651,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'tab';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/

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",
"dependencies": {
"autoprefixer": "^8.6.2",
"bootstrap": "4.1.0",
"browser-sync": "^2.24.4",
"bootstrap": "4.1.1",
"browser-sync": "^2.23.6",
"del": "^3.0.0",
"font-awesome": "^4.7.0",
"gulp": "^4.0.0",
"gulp-clean-css": "^3.9.3",
"gulp": "3.9.1",
"gulp-clean-css": "^3.9.2",
"gulp-clone": "2.0.1",
"gulp-concat": "^2.6.1",
"gulp-cssnano": "^2.1.2",
"gulp-ignore": "^2.0.2",
"gulp-imagemin": "^4.1.0",
"gulp-postcss": "^7.0.1",
"gulp-rename": "^1.3.0",
"gulp-merge": "^0.1.1",
"gulp-plumber": "^1.2.0",
"gulp-rename": "^1.2.2",
"gulp-replace": "^0.6.1",
"gulp-rev": "^8.1.1",
"gulp-sass": "^4.0.1",
"gulp-rimraf": "^0.2.2",
"gulp-sass": "4.0.1",
"gulp-sequence": "1.0.0",
"gulp-sourcemaps": "2.6.4",
"gulp-uglify": "^3.0.0",
"gulp-watch": "5.0.0",
"merge2": "^1.2.1",
"popper.js": "^1.14.1",
"rev-del": "^1.0.5",
"undescores-for-npm": "^1.0.0"
"popper.js": "^1.12.9",
"run-sequence": "^2.2.1",
"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)
* 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)
* --------------------------------------------------------------------------
*/
@ -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)
* --------------------------------------------------------------------------
*/
@ -214,7 +214,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'alert';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -251,9 +251,11 @@
// Public
_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);
@ -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)
* --------------------------------------------------------------------------
*/
@ -387,7 +389,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'button';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -551,7 +553,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'carousel';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -1052,7 +1054,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'collapse';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -1323,7 +1325,7 @@
var $this = $$$1(this);
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)) {
_config.toggle = false;
@ -1400,7 +1402,7 @@
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
* @version 1.14.1
* @version 1.14.3
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*
@ -1423,6 +1425,7 @@
* SOFTWARE.
*/
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
var timeoutDuration = 0;
for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
@ -1549,40 +1552,25 @@
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
* @memberof Popper.Utils
* @argument {number} version to check
* @param {Number} version to check
* @returns {Boolean} isIE
*/
var cache = {};
var isIE = function () {
var version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';
version = version.toString();
if (cache.hasOwnProperty(version)) {
return cache[version];
function isIE(version) {
if (version === 11) {
return isIE11;
}
switch (version) {
case '11':
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;
if (version === 10) {
return isIE10;
}
//Set IE
cache.all = cache.all || Object.keys(cache).some(function (key) {
return cache[key];
});
return cache[version];
};
return isIE11 || isIE10;
}
/**
* Returns the offset parent of the given element
@ -2335,6 +2323,7 @@
// compute the popper offsets
data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';
// run the modifiers
@ -2640,11 +2629,13 @@
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 = {
left: Math.floor(popper.left),
top: Math.floor(popper.top),
bottom: Math.floor(popper.bottom),
top: Math.round(popper.top),
bottom: Math.round(popper.bottom),
right: Math.floor(popper.right)
};
@ -3200,7 +3191,27 @@
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);
// 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;
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)
* --------------------------------------------------------------------------
*/
@ -3921,7 +3932,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -4403,7 +4414,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'modal';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -4879,7 +4890,7 @@
return this.each(function () {
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) {
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)
* --------------------------------------------------------------------------
*/
@ -4981,7 +4992,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'tooltip';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -5486,7 +5497,7 @@
};
_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') {
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)
* --------------------------------------------------------------------------
*/
@ -5648,7 +5659,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'popover';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -5845,7 +5856,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'scrollspy';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -5972,7 +5983,7 @@
_proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default, config);
config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
if (typeof config.target !== 'string') {
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)
* --------------------------------------------------------------------------
*/
@ -6157,7 +6168,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'tab';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/

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)
* 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)
* --------------------------------------------------------------------------
*/
@ -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)
* --------------------------------------------------------------------------
*/
@ -215,7 +215,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'alert';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -252,9 +252,11 @@
// Public
_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);
@ -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)
* --------------------------------------------------------------------------
*/
@ -388,7 +390,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'button';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -552,7 +554,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'carousel';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -1053,7 +1055,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'collapse';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -1324,7 +1326,7 @@
var $this = $$$1(this);
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)) {
_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)
* --------------------------------------------------------------------------
*/
@ -1413,7 +1415,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -1895,7 +1897,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'modal';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -2371,7 +2373,7 @@
return this.each(function () {
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) {
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)
* --------------------------------------------------------------------------
*/
@ -2473,7 +2475,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'tooltip';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -2978,7 +2980,7 @@
};
_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') {
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)
* --------------------------------------------------------------------------
*/
@ -3140,7 +3142,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'popover';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/
@ -3337,7 +3339,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'scrollspy';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -3464,7 +3466,7 @@
_proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default, config);
config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
if (typeof config.target !== 'string') {
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)
* --------------------------------------------------------------------------
*/
@ -3649,7 +3651,7 @@
* ------------------------------------------------------------------------
*/
var NAME = 'tab';
var VERSION = '4.1.0';
var VERSION = '4.1.1';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY;
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)
* --------------------------------------------------------------------------
*/

File diff suppressed because one or more lines are too long

View File

@ -189,6 +189,7 @@
margin-right: $carousel-indicator-spacer;
margin-left: $carousel-indicator-spacer;
text-indent: -999px;
cursor: pointer;
background-color: rgba($carousel-indicator-active-bg, .5);
// 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
code {
font-size: $code-font-size;

View File

@ -54,16 +54,17 @@
// Custom control indicators
//
// Build the custom controls out of psuedo-elements.
// Build the custom controls out of pseudo-elements.
.custom-control-label {
position: relative;
margin-bottom: 0;
// Background-color and (when enabled) gradient
&::before {
position: absolute;
top: (($line-height-base - $custom-control-indicator-size) / 2);
left: 0;
left: -$custom-control-gutter;
display: block;
width: $custom-control-indicator-size;
height: $custom-control-indicator-size;
@ -78,7 +79,7 @@
&::after {
position: absolute;
top: (($line-height-base - $custom-control-indicator-size) / 2);
left: 0;
left: -$custom-control-gutter;
display: block;
width: $custom-control-indicator-size;
height: $custom-control-indicator-size;
@ -285,7 +286,7 @@
bottom: 0;
z-index: 3;
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;
line-height: $custom-file-line-height;
color: $custom-file-button-color;
@ -298,7 +299,7 @@
// 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
// active states on prefixed selectors.

View File

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

View File

@ -112,6 +112,7 @@
background-color: $white !important;
}
}
.table-bordered {
th,
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
}
}

View File

@ -42,7 +42,7 @@ html {
// stylelint-disable selector-list-comma-newline-after
// 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;
}
// stylelint-enable selector-list-comma-newline-after
@ -232,15 +232,13 @@ a:not([href]):not([tabindex]) {
// Code
//
// stylelint-disable font-family-no-duplicate-names
pre,
code,
kbd,
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.
}
// stylelint-enable font-family-no-duplicate-names
pre {
// 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-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-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-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

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 Twitter, Inc.
* 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 Twitter, Inc.
* 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 Twitter, Inc.
* 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 {
.was-validated &:#{$state},
&.is-#{$state} {

View File

@ -5,7 +5,7 @@
// would persist after initial touch.
//
// 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

View File

@ -1,5 +1,5 @@
// CSS image replacement
@mixin text-hide() {
@mixin text-hide($ignore-warning: false) {
// stylelint-disable-next-line font-family-no-missing-generic-family-keyword
font: 0/0 a;
color: transparent;
@ -7,5 +7,7 @@
background-color: transparent;
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
.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;
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;
Version: 0.8.2
Version: 0.8.3
License: UnderStrap WordPress Theme, Copyright 2013-2017 Holger Koenemann
UnderStrap is distributed under the terms of the GNU GPL version 2
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
} else {
/* 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">
<label class="sr-only" for="<?php echo esc_attr( $input_id ); ?>"><?php esc_html_e( 'Quantity', 'understrap' ); ?></label>