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' )
// 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'] );
//Inside the watch task.
gulp.watch( paths.imgsrc + '/**', ['imagemin-watch'] );
});
/**
* Ensures the 'imagemin' task is complete before reloading browsers
* @verbose
*/
gulp.task( 'imagemin-watch', ['imagemin'], function( ) {
browserSync.reload();
});
// 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 ) );
});
done();
};
gulp.task( 'cleancss', function() {
return gulp.src( paths.css + '/*.min.css', { read: false } ) // Much faster
.pipe( ignore( 'theme.css' ) )
.pipe( rimraf() );
});
exports.minifycss = minifycss;
gulp.task( 'styles', function( callback ) {
gulpSequence( 'sass', 'minifycss' )( callback );
} );
// Concatinate scripts and minify them
function scripts( done ) {
// 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.js' ) )
.pipe( gulp.dest( paths.js ) )
gulp.src( scripts )
.pipe( concat( 'theme.min.js' ) )
.pipe( uglify() )
.pipe( gulp.dest( paths.js ) );
done();
}
gulp.src( scripts )
.pipe( concat( 'theme.js' ) )
.pipe( gulp.dest( paths.js ) );
});
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( replace( '/js/skip-link-focus-fix.js', '/js' + paths.vendor + '/skip-link-focus-fix.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();
});
// 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,35 +5,23 @@
* @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() {
// Get the theme data.
$the_theme = wp_get_theme();
$theme_version = $the_theme->get( 'Version' );
wp_enqueue_style( 'understrap-styles', get_stylesheet_directory_uri() . '/'. asset_path('css/theme.min.css'), array(), null);
$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( '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' ) ) {
wp_enqueue_script( 'comment-reply' );
}

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
*/

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.

View File

@ -1,27 +1,26 @@
# Loco Gettext template
msgid ""
msgstr ""
"Project-Id-Version: understrap\n"
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
"POT-Creation-Date: 2016-11-23 20:21+0200\n"
"POT-Creation-Date: 2018-06-17 17:56+0000\n"
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
"PO-Revision-Date: 2016-11-23 21:13+0200\n"
"Language-Team: \n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"PO-Revision-Date: 2018-06-17 17:57+0000\n"
"Last-Translator: edkozuto <edkozuto@gmail.com>\n"
"Language-Team: Русский\n"
"Language: ru_RU\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && "
"n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 1.8.11\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
"X-Poedit-Basepath: ..\n"
"Last-Translator: Алексей Корнеев <alexi@vfemail.net>\n"
"Language: ru_RU\n"
"X-Poedit-SearchPath-0: footer.php\n"
"X-Poedit-SearchPath-1: header.php\n"
"X-Poedit-SearchPath-2: index.php\n"
@ -43,230 +42,133 @@ msgstr ""
"X-Poedit-SearchPath-18: page.php\n"
"X-Poedit-SearchPath-19: functions.php\n"
"X-Poedit-SearchPath-20: page-templates\n"
"X-Poedit-SearchPath-21: inc\n"
"X-Poedit-SearchPath-21: inc"
#: ../comments.php:28
#, php-format
msgctxt "comments title"
msgid "One thought on &ldquo;%2$s&rdquo;"
msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] "&ldquo;%2$s&rdquo;: %1$s комментарий"
msgstr[1] "&ldquo;%2$s&rdquo;: %1$s комментария"
msgstr[2] "&ldquo;%2$s&rdquo;: %1$s комментариев"
#: ../comments.php:35 ../comments.php:56
msgid "Comment navigation"
msgstr "Навигация по комментариям"
#: ../comments.php:37 ../comments.php:58
msgid "&larr; Older Comments"
msgstr "&larr; Старые комментарии"
#: ../comments.php:40 ../comments.php:61
msgid "Newer Comments &rarr;"
msgstr "Новые комментарии &rarr;"
#: ../comments.php:72
msgid "Comments are closed."
msgstr "Комментарии закрыты."
#: ../author.php:27
msgid "About:"
msgstr "О:"
#: ../author.php:32 ../inc/custom-comments.php:16
msgid "Website"
msgstr "Сайт"
#: ../author.php:34
msgid "Profile"
msgstr "Профиль"
#: ../author.php:38
msgid "Posts by"
msgstr "Опубликовано"
#: ../footer.php:24
msgid "http://wordpress.org/"
msgstr "http://wordpress.org/"
#: ../footer.php:24
#, php-format
msgid "Proudly powered by %s"
msgstr "Сайт работает на %s"
#: ../footer.php:26
#, php-format
msgid "Theme: %1$s by %2$s."
msgstr "Тема: %1$s by %2$s."
#: ../header.php:30
msgid "Skip to content"
msgstr "Перейти к содержанию"
#: ../search.php:23
#: search.php:29
#, php-format
msgid "Search Results for: %s"
msgstr "Результаты поиска для: %s"
#: ../404.php:22
msgid "Oops! That page can&rsquo;t be found."
msgstr "Ой! Эта страница не найдена!"
#: header.php:34
msgid "Skip to content"
msgstr "Перейти к содержанию"
#: ../404.php:27
#: 404.php:24
msgid "Oops! That page can&rsquo;t be found."
msgstr "Не удалось найти эту страницу."
#: 404.php:31
msgid ""
"It looks like nothing was found at this location. Maybe try one of the links "
"below or a search?"
msgstr ""
"По данному адресу ничего не найдено. Попробуйте воспользоваться поиском."
"Похоже, здесь ничего не удалось найти. Попробуйте одну из ссылок ниже или "
"поиск."
#: ../404.php:37
#: 404.php:42
msgid "Most Used Categories"
msgstr "Наиболее используемые категории"
msgstr "Популярные категории"
#. translators: %1$s: smiley
#: ../404.php:57
#: 404.php:62
#, php-format
msgid "Try looking in the monthly archives. %1$s"
msgstr "Попробуйте поискать в архивах за прошлые месяцы. %1$s"
#: ../searchform.php:9 ../searchform.php:13
#: author.php:34
msgid "About:"
msgstr "О:"
#: author.php:42 inc/custom-comments.php:30
msgid "Website"
msgstr "Сайт"
#: author.php:49
msgid "Profile"
msgstr "Профиль"
#: author.php:54
msgid "Posts by"
msgstr "Опубликовано"
#: author.php:68
msgid "in"
msgstr "в"
#: comments.php:28
#, php-format
msgctxt "comments title"
msgid "One thought on &ldquo;%2$s&rdquo;"
msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] "Один комментарий на &ldquo;%2$s&rdquo;"
msgstr[1] "%1$s комментария на &ldquo;%2$s&rdquo;"
msgstr[2] "%1$s комментариев на &ldquo;%2$s&rdquo;"
#: comments.php:36 comments.php:59
msgid "Comment navigation"
msgstr "Навигация по комментариям"
#: comments.php:38 comments.php:61
msgid "&larr; Older Comments"
msgstr "&larr; Старые комментарии"
#: comments.php:42 comments.php:65
msgid "Newer Comments &rarr;"
msgstr "Свежие комментарии &rarr;"
#: comments.php:78
msgid "Comments are closed."
msgstr "Комментарии закрыты."
#: footer.php:27
msgid "http://wordpress.org/"
msgstr "http://wordpress.org/"
#: footer.php:28
#, php-format
msgid "Proudly powered by %s"
msgstr "Сайт работает на %s"
#: footer.php:31
#, php-format
msgid "Theme: %1$s by %2$s."
msgstr "Тема: %1$s за авторством %2$s."
#: footer.php:33
#, php-format
msgid "Version: %1$s"
msgstr "Версия: %1$s"
#: searchform.php:10 searchform.php:16
msgid "Search"
msgstr "Поиск"
#: ../searchform.php:11
#: searchform.php:13
msgid "Search &hellip;"
msgstr "Поиск %s"
msgstr "Поиск &hellip;"
#. Name of the template
msgid "Full Width Page"
msgstr "Страница на всю ширину"
#. Name of the template
msgid "Empty Page Template"
msgstr "Пустой шаблон страницы"
#: ../inc/widgets.php:10
msgid "Sidebar"
msgstr "Боковая панель"
#: ../inc/widgets.php:20
msgid "Hero Slider"
msgstr "Hero Слайдер"
#: ../inc/widgets.php:30
msgid "Hero Static"
msgstr "Hero Статик"
#: ../inc/widgets.php:40
msgid "Footer Full"
msgstr "Подвал сайта"
#: ../inc/customizer.php:24
msgid "Slider Settings"
msgstr "Настройки слайдера"
#: ../inc/customizer.php:33
msgid "Number of slides displaying at once"
msgstr "Кол-во одновременно показываемых слайдов"
#: ../inc/customizer.php:45
msgid "Slider Time (in ms)"
msgstr "Время показа слайда (в мс)"
#: ../inc/customizer.php:57
msgid "Loop Slider Content"
msgstr "Циклический показ слайдов"
#: ../inc/template-tags.php:18
#, php-format
msgid " Edited %4$s"
msgstr "Отредактировано %4$s"
#: ../inc/template-tags.php:29
#, php-format
msgctxt "post date"
msgid "Posted on %s"
msgstr "Опубликовано %s"
#: ../inc/template-tags.php:34
#, php-format
msgctxt "post author"
msgid "by %s"
msgstr "%s"
#. translators: used between list items, there is a space after the comma
#: ../inc/template-tags.php:51 ../inc/template-tags.php:57
msgid ", "
msgstr ", "
#: ../inc/template-tags.php:53
#, php-format
msgid "Posted in %1$s"
msgstr "Опубликовано в %1$s"
#: ../inc/template-tags.php:59
#, php-format
msgid "Tagged %1$s"
msgstr "Помечено %1$s"
#: ../inc/template-tags.php:65
msgid "Leave a comment"
msgstr "Оставить комментарий"
#: ../inc/template-tags.php:65
msgid "1 Comment"
msgstr "1 комментарий"
#: ../inc/template-tags.php:65
#, php-format
msgid "% Comments"
msgstr "% комментариев"
#. translators: %s: Name of current post
#: ../inc/template-tags.php:72
#, php-format
msgid "Edit %s"
msgstr "Править %s"
#: ../inc/setup.php:48
msgid "Primary Menu"
msgstr "Главное меню"
#: ../inc/setup.php:98
msgid "Read More..."
msgstr "Читать далее..."
#: ../inc/custom-comments.php:12
msgid "Name"
msgstr "Имя"
#: ../inc/custom-comments.php:14
msgid "Email"
msgstr "Эл. почта"
#: ../inc/custom-comments.php:25
msgctxt "noun"
msgid "Comment"
msgstr "Комментарий"
#: ../loop-templates/content-single.php:29 ../loop-templates/content.php:33 ..
#: /loop-templates/content-page.php:25
#: loop-templates/content-card.php:43 loop-templates/content-page.php:25
#: loop-templates/content.php:37 loop-templates/content-single.php:31
#: loop-templates/content-verticalpage.php:28
msgid "Pages:"
msgstr "Страницы:"
msgstr "Страницы"
#: ../loop-templates/content-none.php:16
#: loop-templates/content-page.php:34
#: loop-templates/content-verticalpage.php:37
msgid "Edit"
msgstr "Редактировать"
#: loop-templates/content-none.php:15
msgid "Nothing Found"
msgstr "Ничего не найдено"
#: ../loop-templates/content-none.php:24
#: loop-templates/content-none.php:23
#, php-format
msgid ""
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr ""
"Готовы опубликовать свою первую запись? <a href=\"%1$s\">Начните отсюда</a>."
msgstr "Готовы опубликовать первую запись? <a href=\"%1$s\">Начните здесь</a>."
#: ../loop-templates/content-none.php:28
#: loop-templates/content-none.php:28
msgid ""
"Sorry, but nothing matched your search terms. Please try again with some "
"different keywords."
@ -274,36 +176,606 @@ msgstr ""
"Извините, по вашему запросу ничего не найдено. Попробуйте другие ключевые "
"слова."
#: ../loop-templates/content-none.php:33
#: loop-templates/content-none.php:34
msgid ""
"It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps "
"searching can help."
msgstr ""
"Запрошенную информацию найти не удалось. Возможно, будет полезен поиск по "
"сайту."
"Кажется, мы не можем найти то, что вы ищете. Возможно, вам поможет поиск."
#: ../loop-templates/content-page.php:34
msgid "Edit"
msgstr "Редактировать"
#. Name of the template
msgid "Blank Page Template"
msgstr "Чистая страница"
#. Name of the template
msgid "Left and Right Sidebar Layout"
msgstr "Компоновка левой и правой боковых панелей"
#. Name of the template
msgid "Empty Page Template"
msgstr "Пустая страница"
#. Name of the template
msgid "Full Width Page"
msgstr "Страница во всю ширину"
#. Name of the template
msgid "Left Sidebar Layout"
msgstr "Компоновка левой боковой панели"
#. Name of the template
msgid "Vertical One Page"
msgstr "Вертикальный одностраничник"
#: inc/template-tags.php:18
#, php-format
msgid " Edited %4$s"
msgstr "Отредактировано %4$s"
#: inc/template-tags.php:29
#, php-format
msgctxt "post date"
msgid "Posted on %s"
msgstr "Опубликовано %s"
#: inc/template-tags.php:34
#, php-format
msgctxt "post author"
msgid "by %s"
msgstr "%s"
#. translators: used between list items, there is a space after the comma
#: inc/template-tags.php:51 inc/template-tags.php:57
msgid ", "
msgstr ", "
#: inc/template-tags.php:53
#, php-format
msgid "Posted in %1$s"
msgstr "Опубликовано в %1$s"
#: inc/template-tags.php:59
#, php-format
msgid "Tagged %1$s"
msgstr "Помечено %1$s"
#: inc/template-tags.php:65
msgid "Leave a comment"
msgstr "Оставьте комментарий"
#: inc/template-tags.php:65
msgid "1 Comment"
msgstr "1 комментарий"
#: inc/template-tags.php:65
msgid "% Comments"
msgstr "% комментариев"
#. translators: %s: Name of current post
#: inc/template-tags.php:72
#, php-format
msgid "Edit %s"
msgstr "Редактировать %s"
#: inc/template-tags.php:143
msgid "Post navigation"
msgstr "Навигация по записям"
#: inc/template-tags.php:148
msgctxt "Previous post link"
msgid "<i class=\"fa fa-angle-left\"></i>&nbsp;%title"
msgstr "<i class=\"fa fa-angle-left\"></i>&nbsp;%title"
#: inc/template-tags.php:151
msgctxt "Next post link"
msgid "%title&nbsp;<i class=\"fa fa-angle-right\"></i>"
msgstr "%title&nbsp;<i class=\"fa fa-angle-right\"></i>"
#: inc/setup.php:51
msgid "Primary Menu"
msgstr "Главное меню"
#: inc/setup.php:122
msgid "Read More..."
msgstr "Читать далее..."
#: inc/widgets.php:14
msgid "Right Sidebar"
msgstr "Правая боковая панель"
#: inc/widgets.php:24
msgid "Left Sidebar"
msgstr "Левая боковая панель"
#: inc/widgets.php:34
msgid "Hero Slider"
msgstr "Слайдер Hero"
#: inc/widgets.php:44
msgid "Hero Static"
msgstr "Статический Hero"
#: inc/widgets.php:54
msgid "Footer Full"
msgstr "Подвал"
#: inc/custom-comments.php:24
msgid "Name"
msgstr "Имя"
#: inc/custom-comments.php:27
msgid "Email"
msgstr "Email"
#: inc/custom-comments.php:49
msgctxt "noun"
msgid "Comment"
msgstr "Комментарий"
#: inc/customizer.php:36
msgid "Slider Settings"
msgstr "Настройки слайдера"
#: inc/customizer.php:45
msgid "Number of slides displaying at once"
msgstr "Количество отображаемых за раз слайдеров"
#: inc/customizer.php:57
msgid "Slider Time (in ms)"
msgstr "Время показа слайда (в мс)"
#: inc/customizer.php:69
msgid "Loop Slider Content"
msgstr "Контент цикличного слайдера"
#: inc/customizer.php:81
msgid "Theme Layout Settings"
msgstr "Настройки компоновки темы"
#: inc/customizer.php:83
msgid "Container width and sidebar defaults"
msgstr "Ширина контейнера и боковая панель по умолчанию"
#: inc/customizer.php:98
msgid "Container Width"
msgstr "Ширина контейнера"
#: inc/customizer.php:99
msgid "Choose between Bootstrap's container and container-fluid"
msgstr "Выберите контейнер"
#: inc/customizer.php:104
msgid "Fixed width container"
msgstr "Контейнер фиксированной ширины"
#: inc/customizer.php:105
msgid "Full width container"
msgstr "Контейнер во всю ширину"
#: inc/customizer.php:122
msgid "Sidebar Positioning"
msgstr "Расположение боковой панели"
#: inc/customizer.php:123
msgid "Set sidebar's position. Can either be: right, left, both or none"
msgstr "Установите позицию боковой панели. Правая, левая, обе или ни одной"
#: inc/customizer.php:129
msgid "Right sidebar"
msgstr "Правая боковая панель"
#: inc/customizer.php:130
msgid "Left sidebar"
msgstr "Левая боковая панель"
#: inc/customizer.php:131
msgid "Left & Right sidebars"
msgstr "Левая и правая боковые панели"
#: inc/customizer.php:132
msgid "No sidebar"
msgstr "Без боковой панели"
#: inc/customizer.php:150
msgid "Posts Index Style"
msgstr "Стиль индекса записей"
#: inc/customizer.php:151
msgid "Choose how to display latest posts"
msgstr "Выберите способ отображения последних постов"
#: inc/customizer.php:156
msgid "Default"
msgstr "По умолчанию"
#: inc/customizer.php:157
msgid "Masonry"
msgstr "Masonry"
#: inc/customizer.php:158
msgid "Grid"
msgstr "Сетка"
#: inc/customizer.php:187
msgid "Grid Post Columns"
msgstr "Колонки сетки поста"
#: inc/customizer.php:188
msgid "Choose how many columns to use"
msgstr "Выберите количество колонок"
#: woocommerce/cart/proceed-to-checkout-button.php:27
msgid "Proceed to Checkout"
msgstr "Перейти к оплате"
#: woocommerce/cart/mini-cart.php:49 woocommerce/cart/cart.php:60
msgid "Remove this item"
msgstr "Убрать"
#: woocommerce/cart/mini-cart.php:72
msgid "No products in the cart."
msgstr "Корзина пуста."
#: woocommerce/cart/mini-cart.php:80
msgid "Subtotal"
msgstr "Подытог"
#: woocommerce/cart/mini-cart.php:85
msgid "View Cart"
msgstr "Посмотреть корзину"
#: woocommerce/cart/mini-cart.php:86
msgid "Checkout"
msgstr "Оплата"
#: woocommerce/cart/cart-empty.php:28
msgid "Your cart is currently empty."
msgstr "Ваша корзина пуста."
#: woocommerce/cart/cart-empty.php:36
msgid "Return To Shop"
msgstr "Вернуться в магазин"
#: woocommerce/cart/cart.php:36 woocommerce/cart/cart.php:79
#: woocommerce/checkout/form-pay.php:29
msgid "Product"
msgstr "Товар"
#: woocommerce/cart/cart.php:37 woocommerce/cart/cart.php:97
msgid "Price"
msgstr "Цена"
#: woocommerce/cart/cart.php:38 woocommerce/cart/cart.php:103
msgid "Quantity"
msgstr "Количество"
#: woocommerce/cart/cart.php:39 woocommerce/cart/cart.php:120
#: woocommerce/myaccount/my-orders.php:16
msgid "Total"
msgstr "Всего"
#: woocommerce/cart/cart.php:92
msgid "Available on backorder"
msgstr "Доступен предзаказ"
#: woocommerce/cart/cart.php:138
msgid "Coupon:"
msgstr "Купон:"
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:36
msgid "Coupon code"
msgstr "Код купона"
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:40
msgid "Apply Coupon"
msgstr "Применить купон"
#: woocommerce/cart/cart.php:144
msgid "Update Cart"
msgstr "Обновить корзину"
#: woocommerce/checkout/payment.php:35
msgid ""
"Sorry, it seems that there are no available payment methods for your state. "
"Please contact us if you require assistance or wish to make alternate "
"arrangements."
msgstr ""
"Извините, для вашей страны нет доступных способов оплаты. Пожалуйста, "
"свяжитесь с нами для решения данного вопроса."
#: woocommerce/checkout/payment.php:35
msgid "Please fill in your details above to see available payment methods."
msgstr ""
"Пожалуйста, введите свои данные ниже, чтолбы увидеть доступные способы "
"оплаты."
#: woocommerce/checkout/payment.php:42
msgid ""
"Since your browser does not support JavaScript, or it is disabled, please "
"ensure you click the <em>Update Totals</em> button before placing your order."
" You may be charged more than the amount stated above if you fail to do so."
msgstr ""
"Ваш браузер не поддерживает JavaScript или он выключен, убедитесь, что "
"нажали на кнопку <em>Пересчитать заказ</em> перед оплатой. Если вы не "
"нажимали эту кнопку, сумма оплаты может оказаться другой."
#: woocommerce/checkout/payment.php:43
msgid "Update totals"
msgstr "Пересчитать заказ"
#: woocommerce/checkout/form-pay.php:30
msgid "Qty"
msgstr "Кол-во"
#: woocommerce/checkout/form-pay.php:31
msgid "Totals"
msgstr "Итого"
#: woocommerce/checkout/form-pay.php:79
msgid ""
"Sorry, it seems that there are no available payment methods for your "
"location. Please contact us if you require assistance or wish to make "
"alternate arrangements."
msgstr ""
"Извините, для вашего местоположении нет доступных способов оплаты. "
"Пожалуйста, свяжитесь с нами для решения данного вопроса."
#: woocommerce/checkout/form-coupon.php:28
msgid "Have a coupon?"
msgstr "Есть купон?"
#: woocommerce/checkout/form-coupon.php:28
msgid "Click here to enter your code"
msgstr "Нажмите здесь, чтобы ввести код"
#: woocommerce/global/form-login.php:35
#: woocommerce/myaccount/form-lost-password.php:30
msgid "Username or email"
msgstr "Имя пользователя или email"
#: woocommerce/global/form-login.php:39 woocommerce/myaccount/form-login.php:48
#: woocommerce/myaccount/form-login.php:98
msgid "Password"
msgstr "Пароль"
#: woocommerce/global/form-login.php:48 woocommerce/myaccount/form-login.php:37
#: woocommerce/myaccount/form-login.php:56
msgid "Login"
msgstr "Вход"
#: woocommerce/global/form-login.php:51 woocommerce/myaccount/form-login.php:58
msgid "Remember me"
msgstr "Запомнить меня"
#: woocommerce/global/form-login.php:55 woocommerce/myaccount/form-login.php:62
msgid "Lost your password?"
msgstr "Забыли пароль?"
#: woocommerce/global/quantity-input.php:24
msgctxt "Product quantity input tooltip"
msgid "Qty"
msgstr "Кол-во"
#: woocommerce/myaccount/form-lost-password.php:27
msgid ""
"Lost your password? Please enter your username or email address. You will "
"receive a link to create a new password via email."
msgstr ""
"Забыли пароль? Введите вашу почту, на неё придёт ссылка для создания нового "
"пароля."
#: woocommerce/myaccount/form-lost-password.php:40
msgid "Reset Password"
msgstr "Сбросить пароль"
#: woocommerce/myaccount/form-login.php:44
msgid "Username or email address"
msgstr "Имя пользователя или email"
#: woocommerce/myaccount/form-login.php:75
#: woocommerce/myaccount/form-login.php:112
msgid "Register"
msgstr "Зарегистрироваться"
#: woocommerce/myaccount/form-login.php:84
msgid "Username"
msgstr "Имя пользователя"
#: woocommerce/myaccount/form-login.php:91
#: woocommerce/myaccount/form-edit-account.php:40
msgid "Email address"
msgstr "Email"
#: woocommerce/myaccount/form-login.php:105
msgid "Anti-spam"
msgstr "Анти-спам"
#: woocommerce/myaccount/form-edit-account.php:30
msgid "First name"
msgstr "Имя"
#: woocommerce/myaccount/form-edit-account.php:34
msgid "Last name"
msgstr "Фамилия"
#: woocommerce/myaccount/form-edit-account.php:45
msgid "Password Change"
msgstr "Смена пароля"
#: woocommerce/myaccount/form-edit-account.php:48
msgid "Current Password (leave blank to leave unchanged)"
msgstr "Текущий пароль "
#: woocommerce/myaccount/form-edit-account.php:52
msgid "New Password (leave blank to leave unchanged)"
msgstr "Новый пароль (оставьте пустым, чтобы не менять)"
#: woocommerce/myaccount/form-edit-account.php:56
msgid "Confirm New Password"
msgstr "Подтвердите новый пароль"
#: woocommerce/myaccount/form-edit-account.php:66
msgid "Save changes"
msgstr "Сохранить изменения"
#: woocommerce/myaccount/my-orders.php:13
msgid "Order"
msgstr "Заказ"
#: woocommerce/myaccount/my-orders.php:14
msgid "Date"
msgstr "Дата"
#: woocommerce/myaccount/my-orders.php:15
msgid "Status"
msgstr "Статус"
#: woocommerce/myaccount/my-orders.php:30
msgid "Recent Orders"
msgstr "Недавние заказы"
#: woocommerce/myaccount/my-orders.php:55 woocommerce/myaccount/orders.php:51
msgctxt "hash before order number"
msgid "#"
msgstr "#"
#: woocommerce/myaccount/my-orders.php:65 woocommerce/myaccount/orders.php:61
#, php-format
msgid "%s for %s item"
msgid_plural "%s for %s items"
msgstr[0] "%s из %s"
msgstr[1] "%s из %s"
msgstr[2] "%s из %s"
#: woocommerce/myaccount/my-orders.php:72 woocommerce/myaccount/orders.php:68
msgid "Pay"
msgstr "Оплатить"
#: woocommerce/myaccount/my-orders.php:76 woocommerce/myaccount/orders.php:72
msgid "View"
msgstr "Подробнее"
#: woocommerce/myaccount/my-orders.php:80 woocommerce/myaccount/orders.php:76
msgid "Cancel"
msgstr "Отменить"
#: woocommerce/myaccount/orders.php:107
msgid "Previous"
msgstr "Назад"
#: woocommerce/myaccount/orders.php:111
msgid "Next"
msgstr "Далее"
#: woocommerce/myaccount/orders.php:119 woocommerce/myaccount/downloads.php:98
msgid "Go Shop"
msgstr "В магазин"
#: woocommerce/myaccount/orders.php:121
msgid "No order has been made yet."
msgstr "Нет заказов."
#: woocommerce/myaccount/form-edit-address.php:23
msgid "Billing Address"
msgstr "Адрес"
#: woocommerce/myaccount/form-edit-address.php:23
msgid "Shipping Address"
msgstr "Адрес доставки"
#: woocommerce/myaccount/form-edit-address.php:46
msgid "Save Address"
msgstr "Сохранить адрес"
#: woocommerce/myaccount/form-reset-password.php:27
msgid "Enter a new password below."
msgstr "Введите новый пароль"
#: woocommerce/myaccount/form-reset-password.php:30
msgid "New password"
msgstr "Новый пароль"
#: woocommerce/myaccount/form-reset-password.php:34
msgid "Re-enter new password"
msgstr "Повторите новый пароль"
#: woocommerce/myaccount/form-reset-password.php:47
msgid "Save"
msgstr "Сохранить"
#: woocommerce/myaccount/downloads.php:59
msgid "&infin;"
msgstr "&infin;"
#: woocommerce/myaccount/downloads.php:67
msgid "Never"
msgstr "Никогда"
#: woocommerce/myaccount/downloads.php:75
msgid "Download"
msgstr "Загрузка"
#: woocommerce/myaccount/downloads.php:100
msgid "No downloads available yet."
msgstr "Нет доступных загрузок."
#: woocommerce/single-product/review-rating.php:28
#, php-format
msgid "Rated %d out of 5"
msgstr "Оценка %d из 5"
#: woocommerce/single-product/review-rating.php:29
msgid "out of 5"
msgstr "из 5"
#: woocommerce/single-product/rating.php:36
#, php-format
msgid "Rated %s out of 5"
msgstr "Оценка %s из 5"
#: woocommerce/single-product/rating.php:38
#, php-format
msgid "out of %s5%s"
msgstr "из %s5%s"
#: woocommerce/single-product/rating.php:39
#, php-format
msgid "based on %s customer rating"
msgid_plural "based on %s customer ratings"
msgstr[0] "основываясь на %s оценке клиента"
msgstr[1] "основываясь на %s оценках клиенто"
msgstr[2] "основываясь на %s оценках клиентов"
#: woocommerce/single-product/rating.php:42
#, php-format
msgid "%s customer review"
msgid_plural "%s customer reviews"
msgstr[0] "&s отзыв"
msgstr[1] "&s отзыва"
msgstr[2] "&s отзывов"
#. Name of the theme
msgid "UnderStrap"
msgstr "UnderStrap"
#. Theme URI of the theme
msgid "http://understrap.com"
msgstr "http://understrap.com"
#. Description of the theme
msgid ""
"Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid "
"starting point for your next theme project and WordPress website. Use it as "
"starter theme or as parent theme. It is up to you."
"starter theme or as a parent theme. It is up to you. Including Font Awesome "
"support, built-in widget slider and much more you need for basic websites. "
"IMPORTANT: All developer dependencies are not bundled with this install file."
" Just download the .zip, extract it and run \"npm install\" and \"gulp copy-"
"assets\" inside the extracted /understrap folder."
msgstr ""
"Сочетание темы _s от Automatic и Bootstrap 4. Надежный базис для создания "
"ваших собственных тем и вебсайтов на WordPress. Используйте как основную или "
"как родительскую тему. Все в ваших руках."
#. Theme URI of the theme
msgid "http://understrap.com"
msgstr "http://understrap.com"
#. Author of the theme
msgid "Holger Koenemann"
msgstr "Holger Koenemann"
@ -311,3 +783,15 @@ msgstr "Holger Koenemann"
#. Author URI of the theme
msgid "http://www.holgerkoenemann.de"
msgstr "http://www.holgerkoenemann.de"
msgid "Proceed to checkout"
msgstr "Перейти к оплате"
msgid "Apply coupon"
msgstr "Применить купон"
msgid "Update cart"
msgstr "Обновить корзину"
msgid "Your order"
msgstr "Ваш заказ"

View File

@ -3,18 +3,18 @@ msgid ""
msgstr ""
"Project-Id-Version: understrap\n"
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
"POT-Creation-Date: 2016-12-20 05:10+0000\n"
"POT-Creation-Date: 2018-06-17 17:56+0000\n"
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: \n"
"Language: \n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Loco - https://localise.biz/\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
@ -518,14 +518,12 @@ msgstr ""
msgid "Username or email"
msgstr ""
#: woocommerce/global/form-login.php:39
#: woocommerce/myaccount/form-login.php:48
#: woocommerce/global/form-login.php:39 woocommerce/myaccount/form-login.php:48
#: woocommerce/myaccount/form-login.php:98
msgid "Password"
msgstr ""
#: woocommerce/global/form-login.php:48
#: woocommerce/myaccount/form-login.php:37
#: woocommerce/global/form-login.php:48 woocommerce/myaccount/form-login.php:37
#: woocommerce/myaccount/form-login.php:56
msgid "Login"
msgstr ""
@ -762,3 +760,15 @@ msgstr ""
#. Author URI of the theme
msgid "http://www.holgerkoenemann.de"
msgstr ""
msgid "Proceed to checkout"
msgstr ""
msgid "Apply coupon"
msgstr ""
msgid "Update cart"
msgstr ""
msgid "Your order"
msgstr ""

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;
}
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
@ -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;
@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>