gulp4
This commit is contained in:
commit
d8ad7b29d4
|
@ -13,3 +13,15 @@ dist-product
|
|||
npm-debug.log
|
||||
|
||||
/vendor/
|
||||
|
||||
.DS_Store
|
||||
|
||||
Thumbs.db
|
||||
|
||||
.svn
|
||||
|
||||
.cvs
|
||||
|
||||
*.bak
|
||||
|
||||
*.swp
|
||||
|
|
17
CHANGELOG.md
17
CHANGELOG.md
|
@ -1,3 +1,20 @@
|
|||
- ** Release 0.8.2 April 11th 2018 **
|
||||
- Update to Bootstrap 4.1
|
||||
- Adding CONTRIBUTING.md and ISSUE_TEMPLATE.md - Thx @Thomas-A-Reinert
|
||||
- Adding empty JS file into build process for adding own JS more easily - Thx @Thomas-A-Reinert
|
||||
- WooCommerce update and cleanup - Thx @ZacharyElkins
|
||||
- Adding SASS source map functionality - Thx @axlright
|
||||
- Cleanup - Thx @axlright
|
||||
- Adding custom editor SASS stylesheet into build process
|
||||
- Remove woocommerce.php integration and replace it with hooked approach - See: https://docs.woocommerce.com/document/third-party-custom-theme-compatibility/#section-5
|
||||
- New pagination - Thx @0dp
|
||||
- Update functions.php - Thx @0dp
|
||||
- Add pluggable functions - Thx @axlright
|
||||
- Add polish translation - Thx @mirzal
|
||||
- Adding timestamp to js and css resources to prevent caching while developinh - Thx @@gintsmurans
|
||||
- Improve left sidebar check - Thx @ZacharyElkins
|
||||
|
||||
|
||||
- ** Release 0.8.1 March 7th 2018 **
|
||||
- Updating dependencies
|
||||
- Fixing and improing gulpfile.js - thx @0dp
|
||||
|
|
|
@ -9,11 +9,11 @@ Please delete anything that does not apply for you!
|
|||
|
||||
## Please tell us about your environment:
|
||||
|
||||
- WordPress Version: 4.9.x
|
||||
- OS Version: [Windows 7 | Windows 8 | Windows 10 | Linux [Distribution / Version] | MacOsX [Version | Android[Version] | iOS[Version]
|
||||
- Browser: [ all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari ]
|
||||
- Language: [ all | PHP | SQL | HTML | S/CSS | Javascript | jQuery | ES6 | JSON | XML]
|
||||
- Node.js & NPM Versions: Node.js [V X.XX] | NPM [V X.XX]
|
||||
- **WordPress Version:** 4.9.x
|
||||
- **OS Version:** [Windows 7 | Windows 8 | Windows 10] | Linux [Distribution / Version] | MacOS [Version] | Android [Version] | iOS [Version]
|
||||
- **Browser:** [ all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari ]
|
||||
- **Language:** [ all | PHP | SQL | HTML | S/CSS | Javascript | jQuery | ES6 | JSON | XML]
|
||||
- **Node.js & NPM Versions:** Node.js [V X.XX] | NPM [V X.XX]
|
||||
|
||||
|
||||
---
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
# Testing
|
||||
|
||||
[] YES
|
||||
|
||||
[] NO!
|
47
README.md
47
README.md
|
@ -6,16 +6,14 @@ Travis build: [![Build Status](https://travis-ci.org/understrap/understrap.svg?b
|
|||
|
||||
Website: [https://understrap.com](https://understrap.com)
|
||||
|
||||
Child Theme Project: [https://github.com/holger1411/understrap-child](https://github.com/holger1411/understrap-child)
|
||||
Child Theme Project: [https://github.com/understrap/understrap-child](https://github.com/understrap/understrap-child)
|
||||
|
||||
## About
|
||||
|
||||
I’m a huge fan of Underscores, Bootstrap, and Sass. Why not combine these into a solid WordPress Theme Framework?
|
||||
That’s what UnderStrap is.
|
||||
You can use it as starter theme and build your own theme on top of it. Or you use it as parent theme and create your own child theme for UnderStrap.
|
||||
I’m a huge fan of Underscores, Bootstrap, and Sass. Why not combine these into a solid WordPress Theme Framework? That’s what UnderStrap is. You can use it as a starter theme and build your own theme on top of it. Or you can use it as a parent theme and create your own child theme for UnderStrap.
|
||||
|
||||
## License
|
||||
UnderStrap WordPress Theme, Copyright 2013-2017 Holger Koenemann
|
||||
UnderStrap WordPress Theme, Copyright 2013-2018 Holger Koenemann
|
||||
UnderStrap is distributed under the terms of the GNU GPL version 2
|
||||
|
||||
http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
|
||||
|
@ -28,7 +26,7 @@ See [changelog](CHANGELOG.md)
|
|||
|
||||
- Combines Underscore’s PHP/JS files and Bootstrap’s HTML/CSS/JS.
|
||||
- Comes with Bootstrap (v4) Sass source files and additional .scss files. Nicely sorted and ready to add your own variables and customize the Bootstrap variables.
|
||||
- Uses a single and minified CSS file for all the basic stuff.
|
||||
- Uses a single minified CSS file for all the basic stuff.
|
||||
- [Font Awesome](http://fortawesome.github.io/Font-Awesome/) integration (v4.7.0)
|
||||
- Jetpack ready.
|
||||
- WooCommerce support.
|
||||
|
@ -44,26 +42,30 @@ Why not add a well known and supported layout framework to have a solid, clean a
|
|||
## Confused by All the CSS and Sass Files?
|
||||
|
||||
Some basics about the Sass and CSS files that come with UnderStrap:
|
||||
- The theme itself uses the `/style.css`file just to identify the theme inside of WordPress. The file is not loaded by the theme and does not include any styles.
|
||||
- The theme itself uses the `/style.css`file only to identify the theme inside of WordPress. The file is not loaded by the theme and does not include any styles.
|
||||
- The `/css/theme.css` and its minified little brother `/css/theme.min.css` file(s) provides all styles. It is composed of five different SCSS sets and one variable file at `/sass/theme.scss`:
|
||||
|
||||
- 1 "theme/theme_variables"; // <--------- Add your variables into this file. Also add variables to overwrite Bootstrap or UnderStrap variables here
|
||||
- 2 "../src/bootstrap-sass/assets/stylesheets/bootstrap"; // <--------- All the Bootstrap stuff - Don´t edit this!
|
||||
- 3 "understrap/understrap"; // <--------- Some basic WordPress stylings and needed styles to combine Boostrap and Underscores
|
||||
- 4 "../src/fontawesome/scss/font-awesome"; // <--------- Font Awesome Icon styles
|
||||
|
||||
```@import "theme/theme_variables"; // 1. Add your variables into this file. Also add variables to overwrite Bootstrap or UnderStrap variables here
|
||||
@import "../src/bootstrap-sass/assets/stylesheets/bootstrap"; // 2. All the Bootstrap stuff - Don´t edit this!
|
||||
@import "understrap/understrap"; // 3. Some basic WordPress stylings and needed styles to combine Boostrap and Underscores
|
||||
@import "../src/fontawesome/scss/font-awesome"; // 4. Font Awesome Icon styles
|
||||
// Any additional imported files //
|
||||
- 5 "theme/theme"; // <--------- Add your styles into this file
|
||||
@import "theme/theme"; // 5. Add your styles into this file
|
||||
```
|
||||
|
||||
- Don’t edit the files no. 2-4 files/filesets or you won’t be able to update it without overwriting your own work!
|
||||
- Your design goes into: `/sass/theme`. Add your styles to the `/sass/theme/_theme.scss` file and your variables to the `/sass/theme/_theme_variables.scss`. Or add other .scss files into it and `@import` it into `/sass/theme/_theme.scss`.
|
||||
- Don’t edit the number 2-4 files/filesets listed above or you won’t be able to update Understrap without overwriting your own work!
|
||||
- Your design goes into: `/sass/theme`.
|
||||
- Add your styles to the `/sass/theme/_theme.scss` file
|
||||
- And your variables to the `/sass/theme/_theme_variables.scss`
|
||||
- Or add other .scss files into it and `@import` it into `/sass/theme/_theme.scss`.
|
||||
|
||||
## Installation
|
||||
There are several ways to install UnderStrap. We'll look at three of them: (1) classic install by uploading UnderStrap to a WordPress install, (2) using npm, and (3) using the theme directory in WordPress.
|
||||
|
||||
### Classic install
|
||||
- Download the understrap folder from GitHub or from [https://understrap.com](https://understrap.com)
|
||||
- IMPORTANT: If you download it from GitHub make sure you rename the "understrap-master.zip" file just to "understrap.zip" or you might have problems using child themes !!
|
||||
- Upload it into your WordPress installation subfolder here: `/wp-content/themes/`
|
||||
- IMPORTANT: If you download it from GitHub make sure you rename the "understrap-master.zip" file just to "understrap.zip" or you might have problems using child themes!
|
||||
- Upload it into your WordPress installation theme subfolder: `/wp-content/themes/`
|
||||
- Login to your WordPress backend
|
||||
- Go to Appearance → Themes
|
||||
- Activate the UnderStrap theme
|
||||
|
@ -84,12 +86,12 @@ Some basics about the Sass and CSS files that come with UnderStrap:
|
|||
## Developing With npm, Gulp and SASS and [Browser Sync][1]
|
||||
|
||||
### Installing Dependencies
|
||||
- Make sure you have installed Node.js and Browser-Sync* (* optional, if you wanna use it) on your computer globally
|
||||
- Make sure you have installed Node.js and Browser-Sync (optional) on your computer globally
|
||||
- Then open your terminal and browse to the location of your UnderStrap copy
|
||||
- Run: `$ npm install`
|
||||
|
||||
### Running
|
||||
To work and compile your Sass files on the fly start:
|
||||
To work with and compile your Sass files on the fly start:
|
||||
|
||||
- `$ gulp watch`
|
||||
|
||||
|
@ -107,7 +109,7 @@ Or, to run with Browser-Sync:
|
|||
```
|
||||
- then run: `$ gulp watch-bs`
|
||||
|
||||
## How to Use the Build-In Widget Slider
|
||||
## How to Use the Built-In Widget Slider
|
||||
|
||||
The front-page slider is widget driven. Simply add more than one widget to widget position “Hero”.
|
||||
- Click on Appearance → Widgets.
|
||||
|
@ -115,10 +117,11 @@ The front-page slider is widget driven. Simply add more than one widget to widge
|
|||
- That’s it.
|
||||
|
||||
## RTL styles?
|
||||
Just add a new file to the themes root folder called rtl.css. Add all alignments to this file according to this description:
|
||||
Add a new file to the themes root folder called rtl.css. Add all alignments to this file according to this description:
|
||||
https://codex.wordpress.org/Right_to_Left_Language_Support
|
||||
|
||||
## Page Templates
|
||||
UnderStrap includes several different page template files: (1) blank template, (2) empty template, and (3) full width template.
|
||||
|
||||
### Blank Template
|
||||
|
||||
|
@ -132,6 +135,8 @@ The `empty.php` template displays a header and a footer only. A good starting po
|
|||
|
||||
The `fullwidthpage.php` template has full width layout without a sidebar.
|
||||
|
||||
## Footnotes
|
||||
|
||||
[1] Visit [http://browsersync.io](http://browsersync.io) for more information on Browser Sync
|
||||
|
||||
Licenses & Credits
|
||||
|
|
|
@ -60,8 +60,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
|||
<!-- The pagination component -->
|
||||
<?php understrap_pagination(); ?>
|
||||
|
||||
</div><!-- #primary -->
|
||||
|
||||
<!-- Do the right sidebar check -->
|
||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||
|
||||
|
|
|
@ -84,8 +84,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
|||
<!-- The pagination component -->
|
||||
<?php understrap_pagination(); ?>
|
||||
|
||||
</div><!-- #primary -->
|
||||
|
||||
<!-- Do the right sidebar check -->
|
||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "understrap",
|
||||
"version": "0.8.0",
|
||||
"version": "0.8.2",
|
||||
"homepage": "http://understrap.com",
|
||||
"authors": [
|
||||
"Holger Koenemann <office@holgerkoenemann.de>"
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"name": "holger1411/understrap",
|
||||
"description": "Combines Automattic´s Underscores Starter Theme and Bootstrap 4",
|
||||
"type": "library",
|
||||
"type": "wordpress-theme",
|
||||
"license": "GPL-2.0",
|
||||
"minimum-stability": "stable",
|
||||
"require": {},
|
||||
"require": {"composer/installers": "^1.5"},
|
||||
"keywords": ["wordpress","theme","bootstrap"],
|
||||
"homepage": "https://github.com/holger1411/understrap"
|
||||
}
|
||||
|
|
1316
css/theme.css
1316
css/theme.css
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -31,7 +31,7 @@ require get_template_directory() . '/inc/enqueue.php';
|
|||
require get_template_directory() . '/inc/template-tags.php';
|
||||
|
||||
/**
|
||||
* Custom template tags for this theme.
|
||||
* Custom pagination for this theme.
|
||||
*/
|
||||
require get_template_directory() . '/inc/pagination.php';
|
||||
|
||||
|
@ -58,7 +58,7 @@ require get_template_directory() . '/inc/jetpack.php';
|
|||
/**
|
||||
* Load custom WordPress nav walker.
|
||||
*/
|
||||
require get_template_directory() . '/inc/bootstrap-wp-navwalker.php';
|
||||
require get_template_directory() . '/inc/class-wp-bootstrap-navwalker.php';
|
||||
|
||||
/**
|
||||
* Load WooCommerce functions.
|
||||
|
|
|
@ -7,12 +7,14 @@
|
|||
|
||||
?>
|
||||
|
||||
<?php if ( is_active_sidebar( 'hero' ) || is_active_sidebar( 'statichero' ) ) : ?>
|
||||
<?php if ( is_active_sidebar( 'hero' ) || is_active_sidebar( 'statichero' ) || is_active_sidebar( 'herocanvas' ) ) : ?>
|
||||
|
||||
<div class="wrapper" id="wrapper-hero">
|
||||
|
||||
<?php get_sidebar( 'hero' ); ?>
|
||||
|
||||
<?php get_sidebar( 'herocanvas' ); ?>
|
||||
|
||||
<?php get_sidebar( 'statichero' ); ?>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -19,16 +19,18 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
|
|||
$html = '';
|
||||
if ( 'right' === $sidebar_pos || 'left' === $sidebar_pos ) {
|
||||
$html = '<div class="';
|
||||
if ( is_active_sidebar( 'right-sidebar' ) || is_active_sidebar( 'left-sidebar' ) ) {
|
||||
if ( ( is_active_sidebar( 'right-sidebar' ) && 'right' === $sidebar_pos ) || ( is_active_sidebar( 'left-sidebar' ) && 'left' === $sidebar_pos ) ) {
|
||||
$html .= 'col-md-8 content-area" id="primary">';
|
||||
} else {
|
||||
$html .= 'col-md-12 content-area" id="primary">';
|
||||
}
|
||||
echo $html; // WPCS: XSS OK.
|
||||
} elseif ( is_active_sidebar( 'right-sidebar' ) && is_active_sidebar( 'left-sidebar' ) ) {
|
||||
} elseif ( 'both' === $sidebar_pos ) {
|
||||
$html = '<div class="';
|
||||
if ( 'both' === $sidebar_pos ) {
|
||||
if ( is_active_sidebar( 'right-sidebar' ) && is_active_sidebar( 'left-sidebar' ) ) {
|
||||
$html .= 'col-md-6 content-area" id="primary">';
|
||||
} elseif ( is_active_sidebar( 'right-sidebar' ) || is_active_sidebar( 'left-sidebar' ) ) {
|
||||
$html .= 'col-md-8 content-area" id="primary">';
|
||||
} else {
|
||||
$html .= 'col-md-12 content-area" id="primary">';
|
||||
}
|
||||
|
@ -36,4 +38,3 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
|
|||
} else {
|
||||
echo '<div class="col-md-12 content-area" id="primary">';
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
*/
|
||||
?>
|
||||
|
||||
</div><!-- #closing the primary container from /global-templates/left-sidebar-check.php -->
|
||||
|
||||
<?php $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' ); ?>
|
||||
|
||||
<?php if ( 'right' === $sidebar_pos || 'both' === $sidebar_pos ) : ?>
|
||||
|
|
|
@ -32,7 +32,7 @@ $container = get_theme_mod( 'understrap_container_type' );
|
|||
|
||||
<a class="skip-link screen-reader-text sr-only" href="#content"><?php esc_html_e( 'Skip to content', 'understrap' ); ?></a>
|
||||
|
||||
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
|
||||
<nav class="navbar navbar-expand-md navbar-dark bg-primary">
|
||||
|
||||
<?php if ( 'container' == $container ) : ?>
|
||||
<div class="container" >
|
||||
|
@ -69,7 +69,8 @@ $container = get_theme_mod( 'understrap_container_type' );
|
|||
'menu_class' => 'navbar-nav',
|
||||
'fallback_cb' => '',
|
||||
'menu_id' => 'main-menu',
|
||||
'walker' => new understrap_WP_Bootstrap_Navwalker(),
|
||||
'depth' => 2,
|
||||
'walker' => new Understrap_WP_Bootstrap_Navwalker(),
|
||||
)
|
||||
); ?>
|
||||
<?php if ( 'container' == $container ) : ?>
|
||||
|
|
|
@ -1,216 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Adapted from Edward McIntyre's wp_bootstrap_navwalker class.
|
||||
* Removed support for glyphicon and added support for Font Awesome.
|
||||
*
|
||||
* @package understrap
|
||||
*/
|
||||
|
||||
// Exit if accessed directly.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
if (! class_exists ( 'understrap_WP_Bootstrap_Navwalker' )) :
|
||||
|
||||
/**
|
||||
* Class WP_Bootstrap_Navwalker
|
||||
* GitHub URI: https://github.com/twittem/wp-bootstrap-navwalker
|
||||
* Description: A custom WordPress nav walker class to implement the Bootstrap 4
|
||||
* navigation style in a custom theme using the WordPress built in menu manager.
|
||||
* Version: 2.0.4
|
||||
* Author: Edward McIntyre - @twittem
|
||||
* License: GPL-2.0+
|
||||
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
|
||||
*/
|
||||
class understrap_WP_Bootstrap_Navwalker extends Walker_Nav_Menu {
|
||||
/**
|
||||
* The starting level of the menu.
|
||||
*
|
||||
* @see Walker::start_lvl()
|
||||
* @since 3.0.0
|
||||
*
|
||||
* @param string $output Passed by reference. Used to append additional content.
|
||||
* @param int $depth Depth of page. Used for padding.
|
||||
* @param mixed $args Rest of arguments.
|
||||
*/
|
||||
public function start_lvl( &$output, $depth = 0, $args = array() ) {
|
||||
$indent = str_repeat( "\t", $depth );
|
||||
$output .= "\n$indent<ul class=\" dropdown-menu\" role=\"menu\">\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Open element.
|
||||
*
|
||||
* @see Walker::start_el()
|
||||
* @since 3.0.0
|
||||
*
|
||||
* @param string $output Passed by reference. Used to append additional content.
|
||||
* @param object $item Menu item data object.
|
||||
* @param int $depth Depth of menu item. Used for padding.
|
||||
* @param mixed $args Rest arguments.
|
||||
* @param int $id Element's ID.
|
||||
*/
|
||||
public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
|
||||
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
|
||||
/**
|
||||
* Dividers, Headers or Disabled
|
||||
* =============================
|
||||
* Determine whether the item is a Divider, Header, Disabled or regular
|
||||
* menu item. To prevent errors we use the strcasecmp() function to so a
|
||||
* comparison that is not case sensitive. The strcasecmp() function returns
|
||||
* a 0 if the strings are equal.
|
||||
*/
|
||||
if ( strcasecmp( $item->attr_title, 'divider' ) == 0 && $depth === 1 ) {
|
||||
$output .= $indent . '<li class="dropdown-divider" role="presentation">';
|
||||
} else if ( strcasecmp( $item->title, 'divider' ) == 0 && $depth === 1 ) {
|
||||
$output .= $indent . '<li class="dropdown-divider" role="presentation">';
|
||||
} else if ( strcasecmp( $item->attr_title, 'dropdown-header' ) == 0 && $depth === 1 ) {
|
||||
$output .= $indent . '<li class="dropdown-header" role="presentation">' . esc_html( $item->title );
|
||||
} else if ( strcasecmp( $item->attr_title, 'disabled' ) == 0 ) {
|
||||
$output .= $indent . '<li class="disabled" role="presentation"><a href="#">' . esc_html( $item->title ) . '</a>';
|
||||
} else {
|
||||
$class_names = $value = '';
|
||||
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
|
||||
$classes[] = 'nav-item menu-item-' . $item->ID;
|
||||
$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
|
||||
/*
|
||||
if ( $args->has_children )
|
||||
$class_names .= ' dropdown';
|
||||
*/
|
||||
if ( $args->has_children && $depth === 0 ) {
|
||||
$class_names .= ' dropdown';
|
||||
} elseif ( $args->has_children && $depth > 0 ) {
|
||||
$class_names .= ' dropdown-submenu';
|
||||
}
|
||||
if ( in_array( 'current-menu-item', $classes ) ) {
|
||||
$class_names .= ' active';
|
||||
}
|
||||
// remove Font Awesome icon from classes array and save the icon
|
||||
// we will add the icon back in via a <span> below so it aligns with
|
||||
// the menu item
|
||||
if ( in_array( 'fa', $classes ) ) {
|
||||
$key = array_search( 'fa', $classes );
|
||||
$icon = $classes[ $key + 1 ];
|
||||
$class_names = str_replace( $classes[ $key + 1 ], '', $class_names );
|
||||
$class_names = str_replace( $classes[ $key ], '', $class_names );
|
||||
}
|
||||
|
||||
$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
|
||||
$id = apply_filters( 'nav_menu_item_id', 'menu-item-' . $item->ID, $item, $args );
|
||||
$id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
|
||||
$output .= $indent . '<li' . $id . $value . $class_names . '>';
|
||||
$atts = array();
|
||||
if ( empty( $item->attr_title ) ) { $atts['title'] = ! empty( $item->title ) ? strip_tags( $item->title ) : ''; } else { $atts['title'] = $item->attr_title; }
|
||||
$atts['target'] = ! empty( $item->target ) ? $item->target : '';
|
||||
$atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
|
||||
// If item has_children add atts to a.
|
||||
|
||||
if ( $args->has_children && $depth === 0 ) {
|
||||
$atts['href'] = '#';
|
||||
$atts['data-toggle'] = 'dropdown';
|
||||
$atts['class'] = 'nav-link dropdown-toggle';
|
||||
} else {
|
||||
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
|
||||
$atts['class'] = 'nav-link';
|
||||
}
|
||||
$atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args );
|
||||
$attributes = '';
|
||||
foreach ( $atts as $attr => $value ) {
|
||||
if ( ! empty( $value ) ) {
|
||||
$value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
|
||||
$attributes .= ' ' . $attr . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
$item_output = $args->before;
|
||||
// Font Awesome icons
|
||||
if ( ! empty( $icon ) ) {
|
||||
$item_output .= '<a' . $attributes . '><span class="fa ' . esc_attr( $icon ) . '"></span> ';
|
||||
} else {
|
||||
$item_output .= '<a' . $attributes . '>';
|
||||
}
|
||||
$item_output .= $args->link_before . apply_filters( 'the_title', $item->title,
|
||||
$item->ID ) . $args->link_after;
|
||||
$item_output .= ( $args->has_children && 0 === $depth ) ? ' <span class="caret"></span></a>' : '</a>';
|
||||
$item_output .= $args->after;
|
||||
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Traverse elements to create list from elements.
|
||||
*
|
||||
* Display one element if the element doesn't have any children otherwise,
|
||||
* display the element and its children. Will only traverse up to the max
|
||||
* depth and no ignore elements under that depth.
|
||||
*
|
||||
* This method shouldn't be called directly, use the walk() method instead.
|
||||
*
|
||||
* @see Walker::start_el()
|
||||
* @since 2.5.0
|
||||
*
|
||||
* @param object $element Data object
|
||||
* @param array $children_elements List of elements to continue traversing.
|
||||
* @param int $max_depth Max depth to traverse.
|
||||
* @param int $depth Depth of current element.
|
||||
* @param array $args
|
||||
* @param string $output Passed by reference. Used to append additional content.
|
||||
*
|
||||
* @return null Null on failure with no changes to parameters.
|
||||
*/
|
||||
public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
|
||||
if ( ! $element ) {
|
||||
return;
|
||||
}
|
||||
$id_field = $this->db_fields['id'];
|
||||
// Display this element.
|
||||
if ( is_object( $args[0] ) ) {
|
||||
$args[0]->has_children = ! empty( $children_elements[ $element->$id_field ] );
|
||||
}
|
||||
parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
|
||||
}
|
||||
|
||||
/**
|
||||
* Menu Fallback
|
||||
* =============
|
||||
* If this function is assigned to the wp_nav_menu's fallback_cb variable
|
||||
* and a manu has not been assigned to the theme location in the WordPress
|
||||
* menu manager the function with display nothing to a non-logged in user,
|
||||
* and will add a link to the WordPress menu manager if logged in as an admin.
|
||||
*
|
||||
* @param array $args passed from the wp_nav_menu function.
|
||||
*
|
||||
*/
|
||||
public static function fallback( $args ) {
|
||||
if ( current_user_can( 'manage_options' ) ) {
|
||||
extract( $args );
|
||||
$fb_output = null;
|
||||
if ( $container ) {
|
||||
$fb_output = '<' . $container;
|
||||
if ( $container_class ) {
|
||||
$fb_output .= ' class="' . $container_class . '"';
|
||||
}
|
||||
if ( $container_id ) {
|
||||
$fb_output .= ' id="' . $container_id . '"';
|
||||
}
|
||||
$fb_output .= '>';
|
||||
}
|
||||
$fb_output .= '<ul';
|
||||
if ( $menu_class ) {
|
||||
$fb_output .= ' class="' . $menu_class . '"';
|
||||
}
|
||||
if ( $menu_id ) {
|
||||
$fb_output .= ' id="' . $menu_id . '"';
|
||||
}
|
||||
$fb_output .= '>';
|
||||
$fb_output .= '<li><a href="' . admin_url( 'nav-menus.php' ) . '">Add a menu</a></li>';
|
||||
$fb_output .= '</ul>';
|
||||
if ( $container ) {
|
||||
$fb_output .= '</' . $container . '>';
|
||||
}
|
||||
echo $fb_output;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
endif; /* End if class exists */
|
|
@ -0,0 +1,555 @@
|
|||
<?php
|
||||
/**
|
||||
* WP Bootstrap Navwalker
|
||||
*
|
||||
* @package WP-Bootstrap-Navwalker
|
||||
*/
|
||||
|
||||
/*
|
||||
* Class Name: WP_Bootstrap_Navwalker
|
||||
* Plugin Name: WP Bootstrap Navwalker
|
||||
* Plugin URI: https://github.com/wp-bootstrap/wp-bootstrap-navwalker
|
||||
* Description: A custom WordPress nav walker class to implement the Bootstrap 4 navigation style in a custom theme using the WordPress built in menu manager.
|
||||
* Author: Edward McIntyre - @twittem, WP Bootstrap, William Patton - @pattonwebz
|
||||
* Version: 4.1.0
|
||||
* Author URI: https://github.com/wp-bootstrap
|
||||
* GitHub Plugin URI: https://github.com/wp-bootstrap/wp-bootstrap-navwalker
|
||||
* GitHub Branch: master
|
||||
* License: GPL-3.0+
|
||||
* License URI: http://www.gnu.org/licenses/gpl-3.0.txt
|
||||
*/
|
||||
|
||||
/* Check if Class Exists. */
|
||||
if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
|
||||
/**
|
||||
* WP_Bootstrap_Navwalker class.
|
||||
*
|
||||
* @extends Walker_Nav_Menu
|
||||
*/
|
||||
class Understrap_WP_Bootstrap_Navwalker extends Walker_Nav_Menu {
|
||||
|
||||
/**
|
||||
* Starts the list before the elements are added.
|
||||
*
|
||||
* @since WP 3.0.0
|
||||
*
|
||||
* @see Walker_Nav_Menu::start_lvl()
|
||||
*
|
||||
* @param string $output Used to append additional content (passed by reference).
|
||||
* @param int $depth Depth of menu item. Used for padding.
|
||||
* @param stdClass $args An object of wp_nav_menu() arguments.
|
||||
*/
|
||||
public function start_lvl( &$output, $depth = 0, $args = array() ) {
|
||||
if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
|
||||
$t = '';
|
||||
$n = '';
|
||||
} else {
|
||||
$t = "\t";
|
||||
$n = "\n";
|
||||
}
|
||||
$indent = str_repeat( $t, $depth );
|
||||
// Default class to add to the file.
|
||||
$classes = array( 'dropdown-menu' );
|
||||
/**
|
||||
* Filters the CSS class(es) applied to a menu list element.
|
||||
*
|
||||
* @since WP 4.8.0
|
||||
*
|
||||
* @param array $classes The CSS classes that are applied to the menu `<ul>` element.
|
||||
* @param stdClass $args An object of `wp_nav_menu()` arguments.
|
||||
* @param int $depth Depth of menu item. Used for padding.
|
||||
*/
|
||||
$class_names = join( ' ', apply_filters( 'nav_menu_submenu_css_class', $classes, $args, $depth ) );
|
||||
$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
|
||||
/**
|
||||
* The `.dropdown-menu` container needs to have a labelledby
|
||||
* attribute which points to it's trigger link.
|
||||
*
|
||||
* Form a string for the labelledby attribute from the the latest
|
||||
* link with an id that was added to the $output.
|
||||
*/
|
||||
$labelledby = '';
|
||||
// find all links with an id in the output.
|
||||
preg_match_all( '/(<a.*?id=\"|\')(.*?)\"|\'.*?>/im', $output, $matches );
|
||||
// with pointer at end of array check if we got an ID match.
|
||||
if ( end( $matches[2] ) ) {
|
||||
// build a string to use as aria-labelledby.
|
||||
$labelledby = 'aria-labelledby="' . end( $matches[2] ) . '"';
|
||||
}
|
||||
$output .= "{$n}{$indent}<ul$class_names $labelledby role=\"menu\">{$n}";
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts the element output.
|
||||
*
|
||||
* @since WP 3.0.0
|
||||
* @since WP 4.4.0 The {@see 'nav_menu_item_args'} filter was added.
|
||||
*
|
||||
* @see Walker_Nav_Menu::start_el()
|
||||
*
|
||||
* @param string $output Used to append additional content (passed by reference).
|
||||
* @param WP_Post $item Menu item data object.
|
||||
* @param int $depth Depth of menu item. Used for padding.
|
||||
* @param stdClass $args An object of wp_nav_menu() arguments.
|
||||
* @param int $id Current item ID.
|
||||
*/
|
||||
public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
|
||||
if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
|
||||
$t = '';
|
||||
$n = '';
|
||||
} else {
|
||||
$t = "\t";
|
||||
$n = "\n";
|
||||
}
|
||||
$indent = ( $depth ) ? str_repeat( $t, $depth ) : '';
|
||||
|
||||
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
|
||||
|
||||
// Initialize some holder variables to store specially handled item
|
||||
// wrappers and icons.
|
||||
$linkmod_classes = array();
|
||||
$icon_classes = array();
|
||||
|
||||
/**
|
||||
* Get an updated $classes array without linkmod or icon classes.
|
||||
*
|
||||
* NOTE: linkmod and icon class arrays are passed by reference and
|
||||
* are maybe modified before being used later in this function.
|
||||
*/
|
||||
$classes = self::seporate_linkmods_and_icons_from_classes( $classes, $linkmod_classes, $icon_classes, $depth );
|
||||
|
||||
// Join any icon classes plucked from $classes into a string.
|
||||
$icon_class_string = join( ' ', $icon_classes );
|
||||
|
||||
/**
|
||||
* Filters the arguments for a single nav menu item.
|
||||
*
|
||||
* WP 4.4.0
|
||||
*
|
||||
* @param stdClass $args An object of wp_nav_menu() arguments.
|
||||
* @param WP_Post $item Menu item data object.
|
||||
* @param int $depth Depth of menu item. Used for padding.
|
||||
*/
|
||||
$args = apply_filters( 'nav_menu_item_args', $args, $item, $depth );
|
||||
|
||||
// Add .dropdown or .active classes where they are needed.
|
||||
if ( isset( $args->has_children ) && $args->has_children ) {
|
||||
$classes[] = 'dropdown';
|
||||
}
|
||||
if ( in_array( 'current-menu-item', $classes, true ) || in_array( 'current-menu-parent', $classes, true ) ) {
|
||||
$classes[] = 'active';
|
||||
}
|
||||
|
||||
// Add some additional default classes to the item.
|
||||
$classes[] = 'menu-item-' . $item->ID;
|
||||
$classes[] = 'nav-item';
|
||||
|
||||
// Allow filtering the classes.
|
||||
$classes = apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth );
|
||||
|
||||
// Form a string of classes in format: class="class_names".
|
||||
$class_names = join( ' ', $classes );
|
||||
$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
|
||||
|
||||
/**
|
||||
* Filters the ID applied to a menu item's list item element.
|
||||
*
|
||||
* @since WP 3.0.1
|
||||
* @since WP 4.1.0 The `$depth` parameter was added.
|
||||
*
|
||||
* @param string $menu_id The ID that is applied to the menu item's `<li>` element.
|
||||
* @param WP_Post $item The current menu item.
|
||||
* @param stdClass $args An object of wp_nav_menu() arguments.
|
||||
* @param int $depth Depth of menu item. Used for padding.
|
||||
*/
|
||||
$id = apply_filters( 'nav_menu_item_id', 'menu-item-' . $item->ID, $item, $args, $depth );
|
||||
$id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
|
||||
|
||||
$output .= $indent . '<li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement"' . $id . $class_names . '>';
|
||||
|
||||
// initialize array for holding the $atts for the link item.
|
||||
$atts = array();
|
||||
|
||||
// Set title from item to the $atts array - if title is empty then
|
||||
// default to item title.
|
||||
if ( empty( $item->attr_title ) ) {
|
||||
$atts['title'] = ! empty( $item->title ) ? strip_tags( $item->title ) : '';
|
||||
} else {
|
||||
$atts['title'] = $item->attr_title;
|
||||
}
|
||||
|
||||
$atts['target'] = ! empty( $item->target ) ? $item->target : '';
|
||||
$atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
|
||||
// If item has_children add atts to <a>.
|
||||
if ( isset( $args->has_children ) && $args->has_children && 0 === $depth && $args->depth > 1 ) {
|
||||
$atts['href'] = '#';
|
||||
$atts['data-toggle'] = 'dropdown';
|
||||
$atts['aria-haspopup'] = 'true';
|
||||
$atts['aria-expanded'] = 'false';
|
||||
$atts['class'] = 'dropdown-toggle nav-link';
|
||||
$atts['id'] = 'menu-item-dropdown-' . $item->ID;
|
||||
} else {
|
||||
$atts['href'] = ! empty( $item->url ) ? $item->url : '#';
|
||||
// Items in dropdowns use .dropdown-item instead of .nav-link.
|
||||
if ( $depth > 0 ) {
|
||||
$atts['class'] = 'dropdown-item';
|
||||
} else {
|
||||
$atts['class'] = 'nav-link';
|
||||
}
|
||||
}
|
||||
|
||||
// update atts of this item based on any custom linkmod classes.
|
||||
$atts = self::update_atts_for_linkmod_type( $atts, $linkmod_classes );
|
||||
// Allow filtering of the $atts array before using it.
|
||||
$atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args, $depth );
|
||||
|
||||
// Build a string of html containing all the atts for the item.
|
||||
$attributes = '';
|
||||
foreach ( $atts as $attr => $value ) {
|
||||
if ( ! empty( $value ) ) {
|
||||
$value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
|
||||
$attributes .= ' ' . $attr . '="' . $value . '"';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a typeflag to easily test if this is a linkmod or not.
|
||||
*/
|
||||
$linkmod_type = self::get_linkmod_type( $linkmod_classes );
|
||||
|
||||
/**
|
||||
* START appending the internal item contents to the output.
|
||||
*/
|
||||
$item_output = isset( $args->before ) ? $args->before : '';
|
||||
/**
|
||||
* This is the start of the internal nav item. Depending on what
|
||||
* kind of linkmod we have we may need different wrapper elements.
|
||||
*/
|
||||
if ( '' !== $linkmod_type ) {
|
||||
// is linkmod, output the required element opener.
|
||||
$item_output .= self::linkmod_element_open( $linkmod_type, $attributes );
|
||||
} else {
|
||||
// With no link mod type set this must be a standard <a> tag.
|
||||
$item_output .= '<a' . $attributes . '>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Initiate empty icon var, then if we have a string containing any
|
||||
* icon classes form the icon markup with an <i> element. This is
|
||||
* output inside of the item before the $title (the link text).
|
||||
*/
|
||||
$icon_html = '';
|
||||
if ( ! empty( $icon_class_string ) ) {
|
||||
// append an <i> with the icon classes to what is output before links.
|
||||
$icon_html = '<i class="' . esc_attr( $icon_class_string ) . '" aria-hidden="true"></i> ';
|
||||
}
|
||||
|
||||
/** This filter is documented in wp-includes/post-template.php */
|
||||
$title = apply_filters( 'the_title', $item->title, $item->ID );
|
||||
|
||||
/**
|
||||
* Filters a menu item's title.
|
||||
*
|
||||
* @since WP 4.4.0
|
||||
*
|
||||
* @param string $title The menu item's title.
|
||||
* @param WP_Post $item The current menu item.
|
||||
* @param stdClass $args An object of wp_nav_menu() arguments.
|
||||
* @param int $depth Depth of menu item. Used for padding.
|
||||
*/
|
||||
$title = apply_filters( 'nav_menu_item_title', $title, $item, $args, $depth );
|
||||
|
||||
/**
|
||||
* If the .sr-only class was set apply to the nav items text only.
|
||||
*/
|
||||
if ( in_array( 'sr-only', $linkmod_classes, true ) ) {
|
||||
$title = self::wrap_for_screen_reader( $title );
|
||||
$keys_to_unset = array_keys( $linkmod_classes, 'sr-only' );
|
||||
foreach ( $keys_to_unset as $k ) {
|
||||
unset( $linkmod_classes[ $k ] );
|
||||
}
|
||||
}
|
||||
|
||||
// Put the item contents into $output.
|
||||
$item_output .= isset( $args->link_before ) ? $args->link_before . $icon_html . $title . $args->link_after : '';
|
||||
/**
|
||||
* This is the end of the internal nav item. We need to close the
|
||||
* correct element depending on the type of link or link mod.
|
||||
*/
|
||||
if ( '' !== $linkmod_type ) {
|
||||
// is linkmod, output the required element opener.
|
||||
$item_output .= self::linkmod_element_close( $linkmod_type, $attributes );
|
||||
} else {
|
||||
// With no link mod type set this must be a standard <a> tag.
|
||||
$item_output .= '</a>';
|
||||
}
|
||||
|
||||
$item_output .= isset( $args->after ) ? $args->after : '';
|
||||
|
||||
/**
|
||||
* END appending the internal item contents to the output.
|
||||
*/
|
||||
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Traverse elements to create list from elements.
|
||||
*
|
||||
* Display one element if the element doesn't have any children otherwise,
|
||||
* display the element and its children. Will only traverse up to the max
|
||||
* depth and no ignore elements under that depth. It is possible to set the
|
||||
* max depth to include all depths, see walk() method.
|
||||
*
|
||||
* This method should not be called directly, use the walk() method instead.
|
||||
*
|
||||
* @since WP 2.5.0
|
||||
*
|
||||
* @see Walker::start_lvl()
|
||||
*
|
||||
* @param object $element Data object.
|
||||
* @param array $children_elements List of elements to continue traversing (passed by reference).
|
||||
* @param int $max_depth Max depth to traverse.
|
||||
* @param int $depth Depth of current element.
|
||||
* @param array $args An array of arguments.
|
||||
* @param string $output Used to append additional content (passed by reference).
|
||||
*/
|
||||
public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
|
||||
if ( ! $element ) {
|
||||
return; }
|
||||
$id_field = $this->db_fields['id'];
|
||||
// Display this element.
|
||||
if ( is_object( $args[0] ) ) {
|
||||
$args[0]->has_children = ! empty( $children_elements[ $element->$id_field ] ); }
|
||||
parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
|
||||
}
|
||||
|
||||
/**
|
||||
* Menu Fallback
|
||||
* =============
|
||||
* If this function is assigned to the wp_nav_menu's fallback_cb variable
|
||||
* and a menu has not been assigned to the theme location in the WordPress
|
||||
* menu manager the function with display nothing to a non-logged in user,
|
||||
* and will add a link to the WordPress menu manager if logged in as an admin.
|
||||
*
|
||||
* @param array $args passed from the wp_nav_menu function.
|
||||
*/
|
||||
public static function fallback( $args ) {
|
||||
if ( current_user_can( 'edit_theme_options' ) ) {
|
||||
|
||||
/* Get Arguments. */
|
||||
$container = $args['container'];
|
||||
$container_id = $args['container_id'];
|
||||
$container_class = $args['container_class'];
|
||||
$menu_class = $args['menu_class'];
|
||||
$menu_id = $args['menu_id'];
|
||||
|
||||
// initialize var to store fallback html.
|
||||
$fallback_output = '';
|
||||
|
||||
if ( $container ) {
|
||||
$fallback_output .= '<' . esc_attr( $container );
|
||||
if ( $container_id ) {
|
||||
$fallback_output .= ' id="' . esc_attr( $container_id ) . '"';
|
||||
}
|
||||
if ( $container_class ) {
|
||||
$fallback_output .= ' class="' . esc_attr( $container_class ) . '"';
|
||||
}
|
||||
$fallback_output .= '>';
|
||||
}
|
||||
$fallback_output .= '<ul';
|
||||
if ( $menu_id ) {
|
||||
$fallback_output .= ' id="' . esc_attr( $menu_id ) . '"'; }
|
||||
if ( $menu_class ) {
|
||||
$fallback_output .= ' class="' . esc_attr( $menu_class ) . '"'; }
|
||||
$fallback_output .= '>';
|
||||
$fallback_output .= '<li><a href="' . esc_url( admin_url( 'nav-menus.php' ) ) . '" title="' . esc_attr__( 'Add a menu', 'understrap' ) . '">' . esc_html__( 'Add a menu', 'understrap' ) . '</a></li>';
|
||||
$fallback_output .= '</ul>';
|
||||
if ( $container ) {
|
||||
$fallback_output .= '</' . esc_attr( $container ) . '>';
|
||||
}
|
||||
|
||||
// if $args has 'echo' key and it's true echo, otherwise return.
|
||||
if ( array_key_exists( 'echo', $args ) && $args['echo'] ) {
|
||||
echo $fallback_output; // WPCS: XSS OK.
|
||||
} else {
|
||||
return $fallback_output;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find any custom linkmod or icon classes and store in their holder
|
||||
* arrays then remove them from the main classes array.
|
||||
*
|
||||
* Supported linkmods: .disabled, .dropdown-header, .dropdown-divider, .sr-only
|
||||
* Supported iconsets: Font Awesome 4/5, Glypicons
|
||||
*
|
||||
* NOTE: This accepts the linkmod and icon arrays by reference.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*
|
||||
* @param array $classes an array of classes currently assigned to the item.
|
||||
* @param array $linkmod_classes an array to hold linkmod classes.
|
||||
* @param array $icon_classes an array to hold icon classes.
|
||||
* @param integer $depth an integer holding current depth level.
|
||||
*
|
||||
* @return array $classes a maybe modified array of classnames.
|
||||
*/
|
||||
private function seporate_linkmods_and_icons_from_classes( $classes, &$linkmod_classes, &$icon_classes, $depth ) {
|
||||
// Loop through $classes array to find linkmod or icon classes.
|
||||
foreach ( $classes as $key => $class ) {
|
||||
// If any special classes are found, store the class in it's
|
||||
// holder array and and unset the item from $classes.
|
||||
if ( preg_match( '/^disabled|^sr-only/i', $class ) ) {
|
||||
// Test for .disabled or .sr-only classes.
|
||||
$linkmod_classes[] = $class;
|
||||
unset( $classes[ $key ] );
|
||||
} elseif ( preg_match( '/^dropdown-header|^dropdown-divider|^dropdown-item-text/i', $class ) && $depth > 0 ) {
|
||||
// Test for .dropdown-header or .dropdown-divider and a
|
||||
// depth greater than 0 - IE inside a dropdown.
|
||||
$linkmod_classes[] = $class;
|
||||
unset( $classes[ $key ] );
|
||||
} elseif ( preg_match( '/^fa-(\S*)?|^fa(s|r|l|b)?(\s?)?$/i', $class ) ) {
|
||||
// Font Awesome.
|
||||
$icon_classes[] = $class;
|
||||
unset( $classes[ $key ] );
|
||||
} elseif ( preg_match( '/^glyphicon-(\S*)?|^glyphicon(\s?)$/i', $class ) ) {
|
||||
// Glyphicons.
|
||||
$icon_classes[] = $class;
|
||||
unset( $classes[ $key ] );
|
||||
}
|
||||
}
|
||||
|
||||
return $classes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a string containing a linkmod type and update $atts array
|
||||
* accordingly depending on the decided.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*
|
||||
* @param array $linkmod_classes array of any link modifier classes.
|
||||
*
|
||||
* @return string empty for default, a linkmod type string otherwise.
|
||||
*/
|
||||
private function get_linkmod_type( $linkmod_classes = array() ) {
|
||||
$linkmod_type = '';
|
||||
// Loop through array of linkmod classes to handle their $atts.
|
||||
if ( ! empty( $linkmod_classes ) ) {
|
||||
foreach ( $linkmod_classes as $link_class ) {
|
||||
if ( ! empty( $link_class ) ) {
|
||||
|
||||
// check for special class types and set a flag for them.
|
||||
if ( 'dropdown-header' === $link_class ) {
|
||||
$linkmod_type = 'dropdown-header';
|
||||
} elseif ( 'dropdown-divider' === $link_class ) {
|
||||
$linkmod_type = 'dropdown-divider';
|
||||
} elseif ( 'dropdown-item-text' === $link_class ) {
|
||||
$linkmod_type = 'dropdown-item-text';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $linkmod_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the attributes of a nav item depending on the limkmod classes.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*
|
||||
* @param array $atts array of atts for the current link in nav item.
|
||||
* @param array $linkmod_classes an array of classes that modify link or nav item behaviors or displays.
|
||||
*
|
||||
* @return array maybe updated array of attributes for item.
|
||||
*/
|
||||
private function update_atts_for_linkmod_type( $atts = array(), $linkmod_classes = array() ) {
|
||||
if ( ! empty( $linkmod_classes ) ) {
|
||||
foreach ( $linkmod_classes as $link_class ) {
|
||||
if ( ! empty( $link_class ) ) {
|
||||
// update $atts with a space and the extra classname...
|
||||
// so long as it's not a sr-only class.
|
||||
if ( 'sr-only' !== $link_class ) {
|
||||
$atts['class'] .= ' ' . esc_attr( $link_class );
|
||||
}
|
||||
// check for special class types we need additional handling for.
|
||||
if ( 'disabled' === $link_class ) {
|
||||
// Convert link to '#' and unset open targets.
|
||||
$atts['href'] = '#';
|
||||
unset( $atts['target'] );
|
||||
} elseif ( 'dropdown-header' === $link_class || 'dropdown-divider' === $link_class || 'dropdown-item-text' === $link_class ) {
|
||||
// Store a type flag and unset href and target.
|
||||
unset( $atts['href'] );
|
||||
unset( $atts['target'] );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $atts;
|
||||
}
|
||||
|
||||
/**
|
||||
* Wraps the passed text in a screen reader only class.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*
|
||||
* @param string $text the string of text to be wrapped in a screen reader class.
|
||||
* @return string the string wrapped in a span with the class.
|
||||
*/
|
||||
private function wrap_for_screen_reader( $text = '' ) {
|
||||
if ( $text ) {
|
||||
$text = '<span class="sr-only">' . $text . '</span>';
|
||||
}
|
||||
return $text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the correct opening element and attributes for a linkmod.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*
|
||||
* @param string $linkmod_type a sting containing a linkmod type flag.
|
||||
* @param string $attributes a string of attributes to add to the element.
|
||||
*
|
||||
* @return string a string with the openign tag for the element with attribibutes added.
|
||||
*/
|
||||
private function linkmod_element_open( $linkmod_type, $attributes = '' ) {
|
||||
$output = '';
|
||||
if ( 'dropdown-item-text' === $linkmod_type ) {
|
||||
$output .= '<span class="dropdown-item-text"' . $attributes . '>';
|
||||
} elseif ( 'dropdown-header' === $linkmod_type ) {
|
||||
// For a header use a span with the .h6 class instead of a real
|
||||
// header tag so that it doesn't confuse screen readers.
|
||||
$output .= '<span class="dropdown-header h6"' . $attributes . '>';
|
||||
} elseif ( 'dropdown-divider' === $linkmod_type ) {
|
||||
// this is a divider.
|
||||
$output .= '<div class="dropdown-divider"' . $attributes . '>';
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the correct closing tag for the linkmod element.
|
||||
*
|
||||
* @since 4.0.0
|
||||
*
|
||||
* @param string $linkmod_type a string containing a special linkmod type.
|
||||
*
|
||||
* @return string a string with the closing tag for this linkmod type.
|
||||
*/
|
||||
private function linkmod_element_close( $linkmod_type ) {
|
||||
$output = '';
|
||||
if ( 'dropdown-header' === $linkmod_type || 'dropdown-item-text' === $linkmod_type ) {
|
||||
// For a header use a span with the .h6 class instead of a real
|
||||
// header tag so that it doesn't confuse screen readers.
|
||||
$output .= '</span>';
|
||||
} elseif ( 'dropdown-divider' === $linkmod_type ) {
|
||||
// this is a divider.
|
||||
$output .= '</div>';
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -23,6 +23,7 @@ if ( ! function_exists( 'understrap_bootstrap_comment_form_fields' ) ) {
|
|||
$req = get_option( 'require_name_email' );
|
||||
$aria_req = ( $req ? " aria-required='true'" : '' );
|
||||
$html5 = current_theme_supports( 'html5', 'comment-form' ) ? 1 : 0;
|
||||
$consent = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"';
|
||||
$fields = array(
|
||||
'author' => '<div class="form-group comment-form-author"><label for="author">' . __( 'Name',
|
||||
'understrap' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
|
||||
|
@ -33,6 +34,8 @@ if ( ! function_exists( 'understrap_bootstrap_comment_form_fields' ) ) {
|
|||
'url' => '<div class="form-group comment-form-url"><label for="url">' . __( 'Website',
|
||||
'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>',
|
||||
);
|
||||
|
||||
return $fields;
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
* @package understrap
|
||||
*/
|
||||
|
||||
add_action( 'after_setup_theme', 'understrap_custom_header_setup' );
|
||||
|
||||
if ( ! function_exists ( 'understrap_custom_header_setup' ) ) {
|
||||
function understrap_custom_header_setup() {
|
||||
|
||||
/**
|
||||
|
@ -39,4 +42,4 @@ function understrap_custom_header_setup() {
|
|||
),
|
||||
) );
|
||||
}
|
||||
add_action( 'after_setup_theme', 'understrap_custom_header_setup' );
|
||||
}
|
|
@ -8,22 +8,30 @@
|
|||
/**
|
||||
* Registers an editor stylesheet for the theme.
|
||||
*/
|
||||
|
||||
add_action( 'admin_init', 'understrap_wpdocs_theme_add_editor_styles' );
|
||||
|
||||
if ( ! function_exists ( 'understrap_wpdocs_theme_add_editor_styles' ) ) {
|
||||
function understrap_wpdocs_theme_add_editor_styles() {
|
||||
add_editor_style( 'css/custom-editor-style.min.css' );
|
||||
}
|
||||
add_action( 'admin_init', 'understrap_wpdocs_theme_add_editor_styles' );
|
||||
}
|
||||
|
||||
// Add TinyMCE style formats.
|
||||
add_filter( 'mce_buttons_2', 'understrap_tiny_mce_style_formats' );
|
||||
|
||||
if ( ! function_exists ( 'understrap_tiny_mce_style_formats' ) ) {
|
||||
function understrap_tiny_mce_style_formats( $styles ) {
|
||||
|
||||
array_unshift( $styles, 'styleselect' );
|
||||
return $styles;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
add_filter( 'tiny_mce_before_init', 'understrap_tiny_mce_before_init' );
|
||||
|
||||
if ( ! function_exists ( 'understrap_tiny_mce_before_init' ) ) {
|
||||
function understrap_tiny_mce_before_init( $settings ) {
|
||||
|
||||
$style_formats = array(
|
||||
|
@ -63,3 +71,4 @@ function understrap_tiny_mce_before_init( $settings ) {
|
|||
$settings['style_formats'] = json_encode( $style_formats );
|
||||
return $settings;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,17 +5,35 @@
|
|||
* @package understrap
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param string $filename
|
||||
* @return string
|
||||
*/
|
||||
function asset_path($filename) {
|
||||
$manifest_path = get_stylesheet_directory_uri() .'/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 sources.
|
||||
* Load theme's JavaScript and CSS sources.
|
||||
*/
|
||||
function understrap_scripts() {
|
||||
// Get the theme data.
|
||||
$the_theme = wp_get_theme();
|
||||
wp_enqueue_style( 'understrap-styles', get_stylesheet_directory_uri() . '/css/theme.min.css', array(), $the_theme->get( 'Version' ) );
|
||||
|
||||
wp_enqueue_style( 'understrap-styles', get_stylesheet_directory_uri() . '/'. asset_path('css/theme.min.css'), array(), null);
|
||||
|
||||
wp_enqueue_script( 'jquery');
|
||||
wp_enqueue_script( 'popper-scripts', get_template_directory_uri() . '/js/popper.min.js', array(), true);
|
||||
wp_enqueue_script( 'understrap-scripts', get_template_directory_uri() . '/js/theme.min.js', array(), $the_theme->get( 'Version' ), true );
|
||||
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 );
|
||||
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
|
||||
wp_enqueue_script( 'comment-reply' );
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
* @package understrap
|
||||
*/
|
||||
|
||||
add_filter( 'body_class', 'understrap_body_classes' );
|
||||
|
||||
if ( ! function_exists( 'understrap_body_classes' ) ) {
|
||||
/**
|
||||
* Adds custom classes to the array of body classes.
|
||||
|
@ -28,7 +30,6 @@ if ( ! function_exists( 'understrap_body_classes' ) ) {
|
|||
return $classes;
|
||||
}
|
||||
}
|
||||
add_filter( 'body_class', 'understrap_body_classes' );
|
||||
|
||||
// Removes tag class from the body_class array to avoid Bootstrap markup styling issues.
|
||||
add_filter( 'body_class', 'understrap_adjust_body_class' );
|
||||
|
@ -78,8 +79,8 @@ if ( ! function_exists( 'understrap_change_logo_class' ) ) {
|
|||
/**
|
||||
* Display navigation to next/previous post when applicable.
|
||||
*/
|
||||
if ( ! function_exists( 'understrap_post_nav' ) ) :
|
||||
|
||||
if ( ! function_exists ( 'understrap_post_nav' ) ) {
|
||||
function understrap_post_nav() {
|
||||
// Don't print empty markup if there's nowhere to navigate.
|
||||
$previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true );
|
||||
|
@ -106,4 +107,4 @@ if ( ! function_exists( 'understrap_post_nav' ) ) :
|
|||
|
||||
<?php
|
||||
}
|
||||
endif;
|
||||
}
|
|
@ -13,6 +13,10 @@
|
|||
* See: https://jetpack.me/support/infinite-scroll/
|
||||
* See: https://jetpack.me/support/responsive-videos/
|
||||
*/
|
||||
|
||||
add_action( 'after_setup_theme', 'understrap_components_jetpack_setup' );
|
||||
|
||||
if ( ! function_exists ( 'understrap_components_jetpack_setup' ) ) {
|
||||
function understrap_components_jetpack_setup() {
|
||||
// Add theme support for Infinite Scroll.
|
||||
add_theme_support( 'infinite-scroll', array(
|
||||
|
@ -28,11 +32,14 @@ function understrap_components_jetpack_setup() {
|
|||
add_theme_support( 'jetpack-social-menu' );
|
||||
|
||||
}
|
||||
add_action( 'after_setup_theme', 'understrap_components_jetpack_setup' );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Custom render function for Infinite Scroll.
|
||||
*/
|
||||
|
||||
if ( ! function_exists ( 'understrap_components_infinite_scroll_render' ) ) {
|
||||
function understrap_components_infinite_scroll_render() {
|
||||
while ( have_posts() ) {
|
||||
the_post();
|
||||
|
@ -43,7 +50,9 @@ function understrap_components_infinite_scroll_render() {
|
|||
endif;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists ( 'understrap_components_social_menu' ) ) {
|
||||
function understrap_components_social_menu() {
|
||||
if ( ! function_exists( 'jetpack_social_menu' ) ) {
|
||||
return;
|
||||
|
@ -51,3 +60,4 @@ function understrap_components_social_menu() {
|
|||
jetpack_social_menu();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,14 +5,15 @@
|
|||
* @package understrap
|
||||
*/
|
||||
|
||||
if ( ! function_exists( 'understrap_pagination' ) ) :
|
||||
if ( ! function_exists ( 'understrap_pagination' ) ) {
|
||||
|
||||
function understrap_pagination($args = [], $class = 'pagination') {
|
||||
|
||||
if ($GLOBALS['wp_query']->max_num_pages <= 1) return;
|
||||
|
||||
$args = wp_parse_args( $args, [
|
||||
'mid_size' => 2,
|
||||
'prev_next' => false,
|
||||
'prev_next' => true,
|
||||
'prev_text' => __('«', 'understrap'),
|
||||
'next_text' => __('»', 'understrap'),
|
||||
'screen_reader_text' => __('Posts navigation', 'understrap'),
|
||||
|
@ -21,38 +22,31 @@
|
|||
]);
|
||||
|
||||
$links = paginate_links($args);
|
||||
$next_link = get_next_posts_page_link();
|
||||
$prev_link = get_previous_posts_page_link();
|
||||
|
||||
?>
|
||||
|
||||
<nav aria-label="<?php echo $args['screen_reader_text']; ?>">
|
||||
|
||||
<ul class="pagination">
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="<?php echo esc_attr($prev_link); ?>" aria-label="<?php echo __('Previous', 'understrap'); ?>">
|
||||
<span aria-hidden="true"><?php echo esc_attr($args['prev_text']); ?></span>
|
||||
<span class="sr-only"><?php echo __('Previous', 'understrap'); ?></span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<?php
|
||||
$i = 1;
|
||||
foreach ( $links as $link ) { ?>
|
||||
<li class="page-item <?php if ($i == $args['current']) { echo active; }; ?>">
|
||||
|
||||
foreach ( $links as $key => $link ) { ?>
|
||||
|
||||
<li class="page-item <?php echo strpos( $link, 'current' ) ? 'active' : '' ?>">
|
||||
|
||||
<?php echo str_replace( 'page-numbers', 'page-link', $link ); ?>
|
||||
|
||||
</li>
|
||||
|
||||
<?php $i++;} ?>
|
||||
<?php } ?>
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="<?php echo esc_attr($next_link); ?>" aria-label="<?php echo __('Next', 'understrap'); ?>">
|
||||
<span aria-hidden="true"><?php echo esc_attr($args['next_text']); ?></span>
|
||||
<span class="sr-only"><?php echo __('Next', 'understrap'); ?></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
|
||||
<?php
|
||||
}
|
||||
endif;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -11,7 +11,9 @@ if ( ! isset( $content_width ) ) {
|
|||
$content_width = 640; /* pixels */
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'understrap_setup' ) ) :
|
||||
add_action( 'after_setup_theme', 'understrap_setup' );
|
||||
|
||||
if ( ! function_exists ( 'understrap_setup' ) ) {
|
||||
/**
|
||||
* Sets up theme defaults and registers support for various WordPress features.
|
||||
*
|
||||
|
@ -91,8 +93,10 @@ if ( ! function_exists( 'understrap_setup' ) ) :
|
|||
understrap_setup_theme_default_settings();
|
||||
|
||||
}
|
||||
endif; // understrap_setup.
|
||||
add_action( 'after_setup_theme', 'understrap_setup' );
|
||||
}
|
||||
|
||||
|
||||
add_filter( 'excerpt_more', 'understrap_custom_excerpt_more' );
|
||||
|
||||
if ( ! function_exists( 'understrap_custom_excerpt_more' ) ) {
|
||||
/**
|
||||
|
@ -106,7 +110,8 @@ if ( ! function_exists( 'understrap_custom_excerpt_more' ) ) {
|
|||
return '';
|
||||
}
|
||||
}
|
||||
add_filter( 'excerpt_more', 'understrap_custom_excerpt_more' );
|
||||
|
||||
add_filter( 'wp_trim_excerpt', 'understrap_all_excerpts_get_more_link' );
|
||||
|
||||
if ( ! function_exists( 'understrap_all_excerpts_get_more_link' ) ) {
|
||||
/**
|
||||
|
@ -122,4 +127,3 @@ if ( ! function_exists( 'understrap_all_excerpts_get_more_link' ) ) {
|
|||
'understrap' ) . '</a></p>';
|
||||
}
|
||||
}
|
||||
add_filter( 'wp_trim_excerpt', 'understrap_all_excerpts_get_more_link' );
|
||||
|
|
|
@ -7,10 +7,11 @@
|
|||
* @package understrap
|
||||
*/
|
||||
|
||||
if ( ! function_exists( 'understrap_posted_on' ) ) :
|
||||
|
||||
/**
|
||||
* Prints HTML with meta information for the current post-date/time and author.
|
||||
*/
|
||||
if ( ! function_exists ( 'understrap_posted_on' ) ) {
|
||||
function understrap_posted_on() {
|
||||
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
|
||||
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
|
||||
|
@ -32,12 +33,13 @@ function understrap_posted_on() {
|
|||
);
|
||||
echo '<span class="posted-on">' . $posted_on . '</span><span class="byline"> ' . $byline . '</span>'; // WPCS: XSS OK.
|
||||
}
|
||||
endif;
|
||||
}
|
||||
|
||||
|
||||
if ( ! function_exists( 'understrap_entry_footer' ) ) :
|
||||
/**
|
||||
* Prints HTML with meta information for the categories, tags and comments.
|
||||
*/
|
||||
if ( ! function_exists ( 'understrap_entry_footer' ) ) {
|
||||
function understrap_entry_footer() {
|
||||
// Hide category and tag text for pages.
|
||||
if ( 'post' === get_post_type() ) {
|
||||
|
@ -67,13 +69,15 @@ function understrap_entry_footer() {
|
|||
'</span>'
|
||||
);
|
||||
}
|
||||
endif;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if a blog has more than 1 category.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
if ( ! function_exists ( 'understrap_categorized_blog' ) ) {
|
||||
function understrap_categorized_blog() {
|
||||
if ( false === ( $all_the_cool_cats = get_transient( 'understrap_categories' ) ) ) {
|
||||
// Create an array of all the categories that are attached to posts.
|
||||
|
@ -95,10 +99,16 @@ function understrap_categorized_blog() {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Flush out the transients used in understrap_categorized_blog.
|
||||
*/
|
||||
add_action( 'edit_category', 'understrap_category_transient_flusher' );
|
||||
add_action( 'save_post', 'understrap_category_transient_flusher' );
|
||||
|
||||
if ( ! function_exists ( 'understrap_category_transient_flusher' ) ) {
|
||||
function understrap_category_transient_flusher() {
|
||||
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
|
||||
return;
|
||||
|
@ -106,6 +116,4 @@ function understrap_category_transient_flusher() {
|
|||
// Like, beat it. Dig?
|
||||
delete_transient( 'understrap_categories' );
|
||||
}
|
||||
add_action( 'edit_category', 'understrap_category_transient_flusher' );
|
||||
add_action( 'save_post', 'understrap_category_transient_flusher' );
|
||||
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
if ( ! function_exists( 'understrap_setup_theme_default_settings' ) ) :
|
||||
if ( ! function_exists ( 'understrap_setup_theme_default_settings' ) ) {
|
||||
function understrap_setup_theme_default_settings() {
|
||||
|
||||
// check if settings are set, if not set defaults.
|
||||
|
@ -29,4 +29,4 @@ if ( ! function_exists( 'understrap_setup_theme_default_settings' ) ) :
|
|||
set_theme_mod( 'understrap_container_type', 'container' );
|
||||
}
|
||||
}
|
||||
endif;
|
||||
}
|
|
@ -44,6 +44,8 @@ if ( ! function_exists( 'understrap_slbd_count_widgets' ) ) {
|
|||
}
|
||||
}
|
||||
|
||||
add_action( 'widgets_init', 'understrap_widgets_init' );
|
||||
|
||||
if ( ! function_exists( 'understrap_widgets_init' ) ) {
|
||||
/**
|
||||
* Initializes themes widgets.
|
||||
|
@ -80,9 +82,19 @@ if ( ! function_exists( 'understrap_widgets_init' ) ) {
|
|||
) );
|
||||
|
||||
register_sidebar( array(
|
||||
'name' => __( 'Hero Static', 'understrap' ),
|
||||
'name' => __( 'Hero Canvas', 'understrap' ),
|
||||
'id' => 'herocanvas',
|
||||
'description' => 'Full size canvas hero area for Bootstrap and other custom HTML markup',
|
||||
'before_widget' => '',
|
||||
'after_widget' => '',
|
||||
'before_title' => '',
|
||||
'after_title' => '',
|
||||
) );
|
||||
|
||||
register_sidebar( array(
|
||||
'name' => __( 'Top Full', 'understrap' ),
|
||||
'id' => 'statichero',
|
||||
'description' => 'Static Hero widget. no slider functionallity',
|
||||
'description' => 'Full top widget with dynmic grid',
|
||||
'before_widget' => '<div id="%1$s" class="static-hero-widget %2$s '. understrap_slbd_count_widgets( 'statichero' ) .'">',
|
||||
'after_widget' => '</div><!-- .static-hero-widget -->',
|
||||
'before_title' => '<h3 class="widget-title">',
|
||||
|
@ -90,9 +102,9 @@ if ( ! function_exists( 'understrap_widgets_init' ) ) {
|
|||
) );
|
||||
|
||||
register_sidebar( array(
|
||||
'name' => __( 'Footer Full', 'understrap' ),
|
||||
'name' => __( 'Bottom Full', 'understrap' ),
|
||||
'id' => 'footerfull',
|
||||
'description' => 'Widget area below main content and above footer',
|
||||
'description' => 'Full bottom widget with dynmic 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">',
|
||||
|
@ -101,5 +113,3 @@ if ( ! function_exists( 'understrap_widgets_init' ) ) {
|
|||
|
||||
}
|
||||
} // endif function_exists( 'understrap_widgets_init' ).
|
||||
add_action( 'widgets_init', 'understrap_widgets_init' );
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
*
|
||||
* @package understrap
|
||||
*/
|
||||
|
||||
|
||||
add_action( 'after_setup_theme', 'understrap_woocommerce_support' );
|
||||
if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
|
||||
/**
|
||||
|
@ -22,6 +24,7 @@ if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* First unhook the WooCommerce wrappers
|
||||
*/
|
||||
|
@ -46,7 +49,6 @@ if ( ! function_exists( 'understrap_woocommerce_wrapper_start' ) ) {
|
|||
if ( ! function_exists( 'understrap_woocommerce_wrapper_end' ) ) {
|
||||
function understrap_woocommerce_wrapper_end() {
|
||||
echo '</main><!-- #main -->';
|
||||
echo '</div><!-- #primary -->';
|
||||
get_template_part( 'global-templates/right-sidebar-check' );
|
||||
echo '</div><!-- .row -->';
|
||||
echo '</div><!-- Container end -->';
|
||||
|
@ -54,6 +56,7 @@ function understrap_woocommerce_wrapper_end() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Filter hook function monkey patching form classes
|
||||
* Author: Adriano Monecchi http://stackoverflow.com/a/36724593/307826
|
||||
|
@ -64,6 +67,7 @@ function understrap_woocommerce_wrapper_end() {
|
|||
*
|
||||
* @return mixed
|
||||
*/
|
||||
if ( ! function_exists ( 'understrap_wc_form_field_args' ) ) {
|
||||
function understrap_wc_form_field_args( $args, $key, $value = null ) {
|
||||
// Start field type switch case.
|
||||
switch ( $args['type'] ) {
|
||||
|
@ -131,13 +135,17 @@ function understrap_wc_form_field_args( $args, $key, $value = null ) {
|
|||
} // end switch ($args).
|
||||
return $args;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Change loop add-to-cart button class to Bootstrap
|
||||
*/
|
||||
add_filter( 'woocommerce_loop_add_to_cart_args', 'understrap_woocommerce_add_to_cart_args', 10, 2 );
|
||||
|
||||
if ( ! function_exists ( 'understrap_woocommerce_add_to_cart_args' ) ) {
|
||||
function understrap_woocommerce_add_to_cart_args( $args, $product ) {
|
||||
$args['class'] = str_replace('button','btn btn-outline-primary', 'button');
|
||||
return $args;
|
||||
}
|
||||
}
|
|
@ -12,6 +12,9 @@
|
|||
*
|
||||
* @global array $themecolors
|
||||
*/
|
||||
add_action( 'after_setup_theme', 'understrap_wpcom_setup' );
|
||||
|
||||
if ( ! function_exists ( 'understrap_wpcom_setup' ) ) {
|
||||
function understrap_wpcom_setup() {
|
||||
global $themecolors;
|
||||
|
||||
|
@ -29,12 +32,16 @@ function understrap_wpcom_setup() {
|
|||
/* Add WP.com print styles */
|
||||
add_theme_support( 'print-styles' );
|
||||
}
|
||||
add_action( 'after_setup_theme', 'understrap_wpcom_setup' );
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* WordPress.com-specific styles
|
||||
*/
|
||||
add_action( 'wp_enqueue_scripts', 'understrap_wpcom_styles' );
|
||||
|
||||
if ( ! function_exists ( 'understrap_wpcom_styles' ) ) {
|
||||
function understrap_wpcom_styles() {
|
||||
wp_enqueue_style( 'understrap-wpcom', get_template_directory_uri() . '/inc/style-wpcom.css', '20160411' );
|
||||
}
|
||||
add_action( 'wp_enqueue_scripts', 'understrap_wpcom_styles' );
|
||||
}
|
|
@ -60,8 +60,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
|||
<!-- The pagination component -->
|
||||
<?php understrap_pagination(); ?>
|
||||
|
||||
</div><!-- #primary -->
|
||||
|
||||
<!-- Do the right sidebar check -->
|
||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||
|
||||
|
|
112
js/navigation.js
112
js/navigation.js
|
@ -1,112 +0,0 @@
|
|||
/**
|
||||
* File navigation.js.
|
||||
*
|
||||
* Handles toggling the navigation menu for small screens and enables TAB key
|
||||
* navigation support for dropdown menus.
|
||||
*/
|
||||
( function() {
|
||||
var container, button, menu, links, subMenus, i, len;
|
||||
|
||||
container = document.getElementById( 'site-navigation' );
|
||||
if ( ! container ) {
|
||||
return;
|
||||
}
|
||||
|
||||
button = container.getElementsByTagName( 'button' )[0];
|
||||
if ( 'undefined' === typeof button ) {
|
||||
return;
|
||||
}
|
||||
|
||||
menu = container.getElementsByTagName( 'ul' )[0];
|
||||
|
||||
// Hide menu toggle button if menu is empty and return early.
|
||||
if ( 'undefined' === typeof menu ) {
|
||||
button.style.display = 'none';
|
||||
return;
|
||||
}
|
||||
|
||||
menu.setAttribute( 'aria-expanded', 'false' );
|
||||
if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
|
||||
menu.className += ' nav-menu';
|
||||
}
|
||||
|
||||
button.onclick = function() {
|
||||
if ( -1 !== container.className.indexOf( 'toggled' ) ) {
|
||||
container.className = container.className.replace( ' toggled', '' );
|
||||
button.setAttribute( 'aria-expanded', 'false' );
|
||||
menu.setAttribute( 'aria-expanded', 'false' );
|
||||
} else {
|
||||
container.className += ' toggled';
|
||||
button.setAttribute( 'aria-expanded', 'true' );
|
||||
menu.setAttribute( 'aria-expanded', 'true' );
|
||||
}
|
||||
};
|
||||
|
||||
// Get all the link elements within the menu.
|
||||
links = menu.getElementsByTagName( 'a' );
|
||||
subMenus = menu.getElementsByTagName( 'ul' );
|
||||
|
||||
// Set menu items with submenus to aria-haspopup="true".
|
||||
for ( i = 0, len = subMenus.length; i < len; i++ ) {
|
||||
subMenus[i].parentNode.setAttribute( 'aria-haspopup', 'true' );
|
||||
}
|
||||
|
||||
// Each time a menu link is focused or blurred, toggle focus.
|
||||
for ( i = 0, len = links.length; i < len; i++ ) {
|
||||
links[i].addEventListener( 'focus', toggleFocus, true );
|
||||
links[i].addEventListener( 'blur', toggleFocus, true );
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets or removes .focus class on an element.
|
||||
*/
|
||||
function toggleFocus() {
|
||||
var self = this;
|
||||
|
||||
// Move up through the ancestors of the current link until we hit .nav-menu.
|
||||
while ( -1 === self.className.indexOf( 'nav-menu' ) ) {
|
||||
|
||||
// On li elements toggle the class .focus.
|
||||
if ( 'li' === self.tagName.toLowerCase() ) {
|
||||
if ( -1 !== self.className.indexOf( 'focus' ) ) {
|
||||
self.className = self.className.replace( ' focus', '' );
|
||||
} else {
|
||||
self.className += ' focus';
|
||||
}
|
||||
}
|
||||
|
||||
self = self.parentElement;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles `focus` class to allow submenu access on tablets.
|
||||
*/
|
||||
( function( container ) {
|
||||
var touchStartFn, i,
|
||||
parentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );
|
||||
|
||||
if ( 'ontouchstart' in window ) {
|
||||
touchStartFn = function( e ) {
|
||||
var menuItem = this.parentNode, i;
|
||||
|
||||
if ( ! menuItem.classList.contains( 'focus' ) ) {
|
||||
e.preventDefault();
|
||||
for ( i = 0; i < menuItem.parentNode.children.length; ++i ) {
|
||||
if ( menuItem === menuItem.parentNode.children[i] ) {
|
||||
continue;
|
||||
}
|
||||
menuItem.parentNode.children[i].classList.remove( 'focus' );
|
||||
}
|
||||
menuItem.classList.add( 'focus' );
|
||||
} else {
|
||||
menuItem.classList.remove( 'focus' );
|
||||
}
|
||||
};
|
||||
|
||||
for ( i = 0; i < parentLink.length; ++i ) {
|
||||
parentLink[i].addEventListener( 'touchstart', touchStartFn, false );
|
||||
}
|
||||
}
|
||||
}( container ) );
|
||||
} )();
|
|
@ -1,33 +0,0 @@
|
|||
/**
|
||||
* File skip-link-focus-fix.js.
|
||||
*
|
||||
* Helps with accessibility for keyboard only users.
|
||||
*
|
||||
* Learn more: https://git.io/vWdr2
|
||||
*/
|
||||
( function() {
|
||||
var isWebkit = navigator.userAgent.toLowerCase().indexOf( 'webkit' ) > -1,
|
||||
isOpera = navigator.userAgent.toLowerCase().indexOf( 'opera' ) > -1,
|
||||
isIe = navigator.userAgent.toLowerCase().indexOf( 'msie' ) > -1;
|
||||
|
||||
if ( ( isWebkit || isOpera || isIe ) && document.getElementById && window.addEventListener ) {
|
||||
window.addEventListener( 'hashchange', function() {
|
||||
var id = location.hash.substring( 1 ),
|
||||
element;
|
||||
|
||||
if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
element = document.getElementById( id );
|
||||
|
||||
if ( element ) {
|
||||
if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {
|
||||
element.tabIndex = -1;
|
||||
}
|
||||
|
||||
element.focus();
|
||||
}
|
||||
}, false );
|
||||
}
|
||||
})();
|
316
js/theme.js
316
js/theme.js
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap v4.1.0 (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)
|
||||
*/
|
||||
|
@ -28,22 +28,38 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|||
return Constructor;
|
||||
}
|
||||
|
||||
function _extends() {
|
||||
_extends = Object.assign || function (target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i];
|
||||
function _defineProperty(obj, key, value) {
|
||||
if (key in obj) {
|
||||
Object.defineProperty(obj, key, {
|
||||
value: value,
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true
|
||||
});
|
||||
} else {
|
||||
obj[key] = value;
|
||||
}
|
||||
|
||||
for (var key in source) {
|
||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
||||
target[key] = source[key];
|
||||
return obj;
|
||||
}
|
||||
|
||||
function _objectSpread(target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i] != null ? arguments[i] : {};
|
||||
var ownKeys = Object.keys(source);
|
||||
|
||||
if (typeof Object.getOwnPropertySymbols === 'function') {
|
||||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
||||
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
||||
}));
|
||||
}
|
||||
|
||||
ownKeys.forEach(function (key) {
|
||||
_defineProperty(target, key, source[key]);
|
||||
});
|
||||
}
|
||||
|
||||
return target;
|
||||
};
|
||||
|
||||
return _extends.apply(this, arguments);
|
||||
}
|
||||
|
||||
function _inheritsLoose(subClass, superClass) {
|
||||
|
@ -54,7 +70,7 @@ function _inheritsLoose(subClass, superClass) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): util.js
|
||||
* Bootstrap (v4.1.0): util.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -65,17 +81,18 @@ var Util = function ($$$1) {
|
|||
* Private TransitionEnd Helpers
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var transition = false;
|
||||
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
var TRANSITION_END = 'transitionend';
|
||||
var MAX_UID = 1000000;
|
||||
var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
|
||||
function toType(obj) {
|
||||
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
||||
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
||||
}
|
||||
|
||||
function getSpecialTransitionEndEvent() {
|
||||
return {
|
||||
bindType: transition.end,
|
||||
delegateType: transition.end,
|
||||
bindType: TRANSITION_END,
|
||||
delegateType: TRANSITION_END,
|
||||
handle: function handle(event) {
|
||||
if ($$$1(event.target).is(this)) {
|
||||
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
|
||||
|
@ -86,16 +103,6 @@ var Util = function ($$$1) {
|
|||
};
|
||||
}
|
||||
|
||||
function transitionEndTest() {
|
||||
if (typeof window !== 'undefined' && window.QUnit) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return {
|
||||
end: 'transitionend'
|
||||
};
|
||||
}
|
||||
|
||||
function transitionEndEmulator(duration) {
|
||||
var _this = this;
|
||||
|
||||
|
@ -112,20 +119,9 @@ var Util = function ($$$1) {
|
|||
}
|
||||
|
||||
function setTransitionEndSupport() {
|
||||
transition = transitionEndTest();
|
||||
$$$1.fn.emulateTransitionEnd = transitionEndEmulator;
|
||||
|
||||
if (Util.supportsTransitionEnd()) {
|
||||
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
||||
}
|
||||
}
|
||||
|
||||
function escapeId(selector) {
|
||||
// We escape IDs in case of special selectors (selector = '#myId:something')
|
||||
// $.escapeSelector does not exist in jQuery < 3
|
||||
selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
|
||||
return selector;
|
||||
}
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Public Util Api
|
||||
|
@ -148,11 +144,6 @@ var Util = function ($$$1) {
|
|||
|
||||
if (!selector || selector === '#') {
|
||||
selector = element.getAttribute('href') || '';
|
||||
} // If it's an ID
|
||||
|
||||
|
||||
if (selector.charAt(0) === '#') {
|
||||
selector = escapeId(selector);
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -162,14 +153,32 @@ var Util = function ($$$1) {
|
|||
return null;
|
||||
}
|
||||
},
|
||||
getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
|
||||
if (!element) {
|
||||
return 0;
|
||||
} // Get transition-duration of the element
|
||||
|
||||
|
||||
var transitionDuration = $$$1(element).css('transition-duration');
|
||||
var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
|
||||
|
||||
if (!floatTransitionDuration) {
|
||||
return 0;
|
||||
} // If multiple durations are defined, take the first
|
||||
|
||||
|
||||
transitionDuration = transitionDuration.split(',')[0];
|
||||
return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
|
||||
},
|
||||
reflow: function reflow(element) {
|
||||
return element.offsetHeight;
|
||||
},
|
||||
triggerTransitionEnd: function triggerTransitionEnd(element) {
|
||||
$$$1(element).trigger(transition.end);
|
||||
$$$1(element).trigger(TRANSITION_END);
|
||||
},
|
||||
// TODO: Remove in v5
|
||||
supportsTransitionEnd: function supportsTransitionEnd() {
|
||||
return Boolean(transition);
|
||||
return Boolean(TRANSITION_END);
|
||||
},
|
||||
isElement: function isElement(obj) {
|
||||
return (obj[0] || obj).nodeType;
|
||||
|
@ -194,7 +203,7 @@ var Util = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): alert.js
|
||||
* Bootstrap (v4.1.0): alert.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -206,12 +215,11 @@ var Alert = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'alert';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.alert';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var Selector = {
|
||||
DISMISS: '[data-dismiss="alert"]'
|
||||
};
|
||||
|
@ -289,15 +297,16 @@ var Alert = function ($$$1) {
|
|||
|
||||
$$$1(element).removeClass(ClassName.SHOW);
|
||||
|
||||
if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
|
||||
if (!$$$1(element).hasClass(ClassName.FADE)) {
|
||||
this._destroyElement(element);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(element);
|
||||
$$$1(element).one(Util.TRANSITION_END, function (event) {
|
||||
return _this._destroyElement(element, event);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
};
|
||||
|
||||
_proto._destroyElement = function _destroyElement(element) {
|
||||
|
@ -337,6 +346,7 @@ var Alert = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Alert;
|
||||
}();
|
||||
/**
|
||||
|
@ -366,7 +376,7 @@ var Alert = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): button.js
|
||||
* Bootstrap (v4.1.0): button.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -378,7 +388,7 @@ var Button = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'button';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.button';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -488,6 +498,7 @@ var Button = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Button;
|
||||
}();
|
||||
/**
|
||||
|
@ -529,7 +540,7 @@ var Button = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): carousel.js
|
||||
* Bootstrap (v4.1.0): carousel.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -541,12 +552,11 @@ var Carousel = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'carousel';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.carousel';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 600;
|
||||
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
|
||||
|
||||
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
|
||||
|
@ -655,7 +665,7 @@ var Carousel = function ($$$1) {
|
|||
this._isPaused = true;
|
||||
}
|
||||
|
||||
if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
|
||||
if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
|
||||
Util.triggerTransitionEnd(this._element);
|
||||
this.cycle(true);
|
||||
}
|
||||
|
@ -723,7 +733,7 @@ var Carousel = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -894,11 +904,12 @@ var Carousel = function ($$$1) {
|
|||
to: nextElementIndex
|
||||
});
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
|
||||
if ($$$1(this._element).hasClass(ClassName.SLIDE)) {
|
||||
$$$1(nextElement).addClass(orderClassName);
|
||||
Util.reflow(nextElement);
|
||||
$$$1(activeElement).addClass(directionalClassName);
|
||||
$$$1(nextElement).addClass(directionalClassName);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
|
||||
$$$1(activeElement).one(Util.TRANSITION_END, function () {
|
||||
$$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
|
||||
$$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
|
||||
|
@ -906,7 +917,7 @@ var Carousel = function ($$$1) {
|
|||
setTimeout(function () {
|
||||
return $$$1(_this3._element).trigger(slidEvent);
|
||||
}, 0);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
$$$1(activeElement).removeClass(ClassName.ACTIVE);
|
||||
$$$1(nextElement).addClass(ClassName.ACTIVE);
|
||||
|
@ -924,10 +935,10 @@ var Carousel = function ($$$1) {
|
|||
return this.each(function () {
|
||||
var data = $$$1(this).data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Default, $$$1(this).data());
|
||||
var _config = _objectSpread({}, Default, $$$1(this).data());
|
||||
|
||||
if (typeof config === 'object') {
|
||||
_config = _extends({}, _config, config);
|
||||
_config = _objectSpread({}, _config, config);
|
||||
}
|
||||
|
||||
var action = typeof config === 'string' ? config : _config.slide;
|
||||
|
@ -965,7 +976,8 @@ var Carousel = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
var config = _extends({}, $$$1(target).data(), $$$1(this).data());
|
||||
var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data());
|
||||
|
||||
var slideIndex = this.getAttribute('data-slide-to');
|
||||
|
||||
if (slideIndex) {
|
||||
|
@ -992,6 +1004,7 @@ var Carousel = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Carousel;
|
||||
}();
|
||||
/**
|
||||
|
@ -1028,7 +1041,7 @@ var Carousel = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): collapse.js
|
||||
* Bootstrap (v4.1.0): collapse.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1040,12 +1053,11 @@ var Collapse = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'collapse';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.collapse';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 600;
|
||||
var Default = {
|
||||
toggle: true,
|
||||
parent: ''
|
||||
|
@ -1187,14 +1199,10 @@ var Collapse = function ($$$1) {
|
|||
$$$1(_this._element).trigger(Event.SHOWN);
|
||||
};
|
||||
|
||||
if (!Util.supportsTransitionEnd()) {
|
||||
complete();
|
||||
return;
|
||||
}
|
||||
|
||||
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
||||
var scrollSize = "scroll" + capitalizedDimension;
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
this._element.style[dimension] = this._element[scrollSize] + "px";
|
||||
};
|
||||
|
||||
|
@ -1242,13 +1250,8 @@ var Collapse = function ($$$1) {
|
|||
};
|
||||
|
||||
this._element.style[dimension] = '';
|
||||
|
||||
if (!Util.supportsTransitionEnd()) {
|
||||
complete();
|
||||
return;
|
||||
}
|
||||
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
};
|
||||
|
||||
_proto.setTransitioning = function setTransitioning(isTransitioning) {
|
||||
|
@ -1266,7 +1269,7 @@ var Collapse = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
config.toggle = Boolean(config.toggle); // Coerce string values
|
||||
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
|
@ -1321,7 +1324,7 @@ var Collapse = function ($$$1) {
|
|||
var $this = $$$1(this);
|
||||
var data = $this.data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
|
||||
var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config);
|
||||
|
||||
if (!data && _config.toggle && /show|hide/.test(config)) {
|
||||
_config.toggle = false;
|
||||
|
@ -1353,6 +1356,7 @@ var Collapse = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Collapse;
|
||||
}();
|
||||
/**
|
||||
|
@ -1397,7 +1401,7 @@ var Collapse = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): dropdown.js
|
||||
* Bootstrap (v4.1.0): dropdown.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1409,7 +1413,7 @@ var Dropdown = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'dropdown';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.dropdown';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -1452,7 +1456,7 @@ var Dropdown = function ($$$1) {
|
|||
FORM_CHILD: '.dropdown form',
|
||||
MENU: '.dropdown-menu',
|
||||
NAVBAR_NAV: '.navbar-nav',
|
||||
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
|
||||
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
|
||||
};
|
||||
var AttachmentMap = {
|
||||
TOP: 'top-start',
|
||||
|
@ -1467,12 +1471,16 @@ var Dropdown = function ($$$1) {
|
|||
var Default = {
|
||||
offset: 0,
|
||||
flip: true,
|
||||
boundary: 'scrollParent'
|
||||
boundary: 'scrollParent',
|
||||
reference: 'toggle',
|
||||
display: 'dynamic'
|
||||
};
|
||||
var DefaultType = {
|
||||
offset: '(number|string|function)',
|
||||
flip: 'boolean',
|
||||
boundary: '(string|element)'
|
||||
boundary: '(string|element)',
|
||||
reference: '(string|element)',
|
||||
display: 'string'
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* Class Definition
|
||||
|
@ -1533,11 +1541,15 @@ var Dropdown = function ($$$1) {
|
|||
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
||||
}
|
||||
|
||||
var element = this._element; // For dropup with alignment we use the parent as popper container
|
||||
var referenceElement = this._element;
|
||||
|
||||
if ($$$1(parent).hasClass(ClassName.DROPUP)) {
|
||||
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
|
||||
element = parent;
|
||||
if (this._config.reference === 'parent') {
|
||||
referenceElement = parent;
|
||||
} else if (Util.isElement(this._config.reference)) {
|
||||
referenceElement = this._config.reference; // Check if it's jQuery element
|
||||
|
||||
if (typeof this._config.reference.jquery !== 'undefined') {
|
||||
referenceElement = this._config.reference[0];
|
||||
}
|
||||
} // If boundary is not `scrollParent`, then set position to `static`
|
||||
// to allow the menu to "escape" the scroll parent's boundaries
|
||||
|
@ -1548,7 +1560,7 @@ var Dropdown = function ($$$1) {
|
|||
$$$1(parent).addClass(ClassName.POSITION_STATIC);
|
||||
}
|
||||
|
||||
this._popper = new Popper(element, this._menu, this._getPopperConfig());
|
||||
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
|
||||
} // If this is a touch-enabled device we add extra
|
||||
// empty mouseover listeners to the body's immediate children;
|
||||
// only needed because of broken event delegation on iOS
|
||||
|
@ -1556,7 +1568,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
|
||||
if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
|
||||
$$$1('body').children().on('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().on('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
this._element.focus();
|
||||
|
@ -1601,7 +1613,7 @@ var Dropdown = function ($$$1) {
|
|||
};
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
|
||||
config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
|
||||
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -1648,7 +1660,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
if (typeof this._config.offset === 'function') {
|
||||
offsetConf.fn = function (data) {
|
||||
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
||||
data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
||||
return data;
|
||||
};
|
||||
} else {
|
||||
|
@ -1665,8 +1677,16 @@ var Dropdown = function ($$$1) {
|
|||
preventOverflow: {
|
||||
boundariesElement: this._config.boundary
|
||||
}
|
||||
}
|
||||
} // Disable Popper.js if we have a static display
|
||||
|
||||
};
|
||||
|
||||
if (this._config.display === 'static') {
|
||||
popperConfig.modifiers.applyStyle = {
|
||||
enabled: false
|
||||
};
|
||||
}
|
||||
|
||||
return popperConfig;
|
||||
}; // Static
|
||||
|
||||
|
@ -1731,7 +1751,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().off('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().off('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
toggles[i].setAttribute('aria-expanded', 'false');
|
||||
|
@ -1826,6 +1846,7 @@ var Dropdown = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Dropdown;
|
||||
}();
|
||||
/**
|
||||
|
@ -1862,7 +1883,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): modal.js
|
||||
* Bootstrap (v4.1.0): modal.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1874,13 +1895,11 @@ var Modal = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'modal';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.modal';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 300;
|
||||
var BACKDROP_TRANSITION_DURATION = 150;
|
||||
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
||||
|
||||
var Default = {
|
||||
|
@ -1941,7 +1960,6 @@ var Modal = function ($$$1) {
|
|||
this._isShown = false;
|
||||
this._isBodyOverflowing = false;
|
||||
this._ignoreBackdropClick = false;
|
||||
this._originalBodyPadding = 0;
|
||||
this._scrollbarWidth = 0;
|
||||
} // Getters
|
||||
|
||||
|
@ -1960,7 +1978,7 @@ var Modal = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
if ($$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
this._isTransitioning = true;
|
||||
}
|
||||
|
||||
|
@ -2022,7 +2040,7 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
|
||||
this._isShown = false;
|
||||
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
|
||||
var transition = $$$1(this._element).hasClass(ClassName.FADE);
|
||||
|
||||
if (transition) {
|
||||
this._isTransitioning = true;
|
||||
|
@ -2038,9 +2056,10 @@ var Modal = function ($$$1) {
|
|||
$$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
|
||||
|
||||
if (transition) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, function (event) {
|
||||
return _this2._hideModal(event);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
this._hideModal();
|
||||
}
|
||||
|
@ -2065,7 +2084,7 @@ var Modal = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -2073,7 +2092,7 @@ var Modal = function ($$$1) {
|
|||
_proto._showElement = function _showElement(relatedTarget) {
|
||||
var _this3 = this;
|
||||
|
||||
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
|
||||
var transition = $$$1(this._element).hasClass(ClassName.FADE);
|
||||
|
||||
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
||||
// Don't move modal's DOM position
|
||||
|
@ -2110,7 +2129,8 @@ var Modal = function ($$$1) {
|
|||
};
|
||||
|
||||
if (transition) {
|
||||
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
transitionComplete();
|
||||
}
|
||||
|
@ -2188,7 +2208,6 @@ var Modal = function ($$$1) {
|
|||
var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
|
||||
|
||||
if (this._isShown && this._config.backdrop) {
|
||||
var doAnimate = Util.supportsTransitionEnd() && animate;
|
||||
this._backdrop = document.createElement('div');
|
||||
this._backdrop.className = ClassName.BACKDROP;
|
||||
|
||||
|
@ -2214,7 +2233,7 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
});
|
||||
|
||||
if (doAnimate) {
|
||||
if (animate) {
|
||||
Util.reflow(this._backdrop);
|
||||
}
|
||||
|
||||
|
@ -2224,12 +2243,13 @@ var Modal = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!doAnimate) {
|
||||
if (!animate) {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
||||
var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
|
||||
} else if (!this._isShown && this._backdrop) {
|
||||
$$$1(this._backdrop).removeClass(ClassName.SHOW);
|
||||
|
||||
|
@ -2241,8 +2261,10 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
};
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
||||
if ($$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
||||
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
|
||||
} else {
|
||||
callbackRemove();
|
||||
}
|
||||
|
@ -2304,8 +2326,8 @@ var Modal = function ($$$1) {
|
|||
}); // Adjust body padding
|
||||
|
||||
var actualPadding = document.body.style.paddingRight;
|
||||
var calculatedPadding = $$$1('body').css('padding-right');
|
||||
$$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
||||
var calculatedPadding = $$$1(document.body).css('padding-right');
|
||||
$$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2327,10 +2349,10 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
}); // Restore body padding
|
||||
|
||||
var padding = $$$1('body').data('padding-right');
|
||||
var padding = $$$1(document.body).data('padding-right');
|
||||
|
||||
if (typeof padding !== 'undefined') {
|
||||
$$$1('body').css('padding-right', padding).removeData('padding-right');
|
||||
$$$1(document.body).css('padding-right', padding).removeData('padding-right');
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2349,7 +2371,7 @@ var Modal = function ($$$1) {
|
|||
return this.each(function () {
|
||||
var data = $$$1(this).data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
|
||||
var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
|
||||
|
||||
if (!data) {
|
||||
data = new Modal(this, _config);
|
||||
|
@ -2379,6 +2401,7 @@ var Modal = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Modal;
|
||||
}();
|
||||
/**
|
||||
|
@ -2398,7 +2421,7 @@ var Modal = function ($$$1) {
|
|||
target = $$$1(selector)[0];
|
||||
}
|
||||
|
||||
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());
|
||||
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
|
||||
|
||||
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
||||
event.preventDefault();
|
||||
|
@ -2438,7 +2461,7 @@ var Modal = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): tooltip.js
|
||||
* Bootstrap (v4.1.0): tooltip.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -2450,11 +2473,10 @@ var Tooltip = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'tooltip';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.tooltip';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var CLASS_PREFIX = 'bs-tooltip';
|
||||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
||||
var DefaultType = {
|
||||
|
@ -2700,7 +2722,7 @@ var Tooltip = function ($$$1) {
|
|||
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().on('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().on('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
var complete = function complete() {
|
||||
|
@ -2717,8 +2739,9 @@ var Tooltip = function ($$$1) {
|
|||
}
|
||||
};
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
|
||||
if ($$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
|
||||
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -2761,15 +2784,16 @@ var Tooltip = function ($$$1) {
|
|||
// empty mouseover listeners we added for iOS support
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().off('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().off('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
this._activeTrigger[Trigger.CLICK] = false;
|
||||
this._activeTrigger[Trigger.FOCUS] = false;
|
||||
this._activeTrigger[Trigger.HOVER] = false;
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
if ($$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(tip);
|
||||
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -2860,7 +2884,7 @@ var Tooltip = function ($$$1) {
|
|||
});
|
||||
|
||||
if (this.config.selector) {
|
||||
this.config = _extends({}, this.config, {
|
||||
this.config = _objectSpread({}, this.config, {
|
||||
trigger: 'manual',
|
||||
selector: ''
|
||||
});
|
||||
|
@ -2954,7 +2978,7 @@ var Tooltip = function ($$$1) {
|
|||
};
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);
|
||||
config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config);
|
||||
|
||||
if (typeof config.delay === 'number') {
|
||||
config.delay = {
|
||||
|
@ -3081,6 +3105,7 @@ var Tooltip = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Tooltip;
|
||||
}();
|
||||
/**
|
||||
|
@ -3103,7 +3128,7 @@ var Tooltip = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): popover.js
|
||||
* Bootstrap (v4.1.0): popover.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3115,21 +3140,24 @@ var Popover = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'popover';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.popover';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var CLASS_PREFIX = 'bs-popover';
|
||||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
||||
var Default = _extends({}, Tooltip.Default, {
|
||||
|
||||
var Default = _objectSpread({}, Tooltip.Default, {
|
||||
placement: 'right',
|
||||
trigger: 'click',
|
||||
content: '',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
|
||||
});
|
||||
var DefaultType = _extends({}, Tooltip.DefaultType, {
|
||||
|
||||
var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
|
||||
content: '(string|element|function)'
|
||||
});
|
||||
|
||||
var ClassName = {
|
||||
FADE: 'fade',
|
||||
SHOW: 'show'
|
||||
|
@ -3274,6 +3302,7 @@ var Popover = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Popover;
|
||||
}(Tooltip);
|
||||
/**
|
||||
|
@ -3296,7 +3325,7 @@ var Popover = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): scrollspy.js
|
||||
* Bootstrap (v4.1.0): scrollspy.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3308,7 +3337,7 @@ var ScrollSpy = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'scrollspy';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.scrollspy';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -3435,7 +3464,7 @@ var ScrollSpy = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
|
||||
if (typeof config.target !== 'string') {
|
||||
var id = $$$1(config.target).attr('id');
|
||||
|
@ -3570,6 +3599,7 @@ var ScrollSpy = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return ScrollSpy;
|
||||
}();
|
||||
/**
|
||||
|
@ -3607,7 +3637,7 @@ var ScrollSpy = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): tab.js
|
||||
* Bootstrap (v4.1.0): tab.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3619,12 +3649,11 @@ var Tab = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'tab';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.tab';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var Event = {
|
||||
HIDE: "hide" + EVENT_KEY,
|
||||
HIDDEN: "hidden" + EVENT_KEY,
|
||||
|
@ -3743,14 +3772,15 @@ var Tab = function ($$$1) {
|
|||
}
|
||||
|
||||
var active = activeElements[0];
|
||||
var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
|
||||
var isTransitioning = callback && active && $$$1(active).hasClass(ClassName.FADE);
|
||||
|
||||
var complete = function complete() {
|
||||
return _this2._transitionComplete(element, active, callback);
|
||||
};
|
||||
|
||||
if (active && isTransitioning) {
|
||||
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(active);
|
||||
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -3821,6 +3851,7 @@ var Tab = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Tab;
|
||||
}();
|
||||
/**
|
||||
|
@ -3854,7 +3885,7 @@ var Tab = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0-alpha.6): index.js
|
||||
* Bootstrap (v4.0.0): index.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3926,3 +3957,4 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|||
}, false );
|
||||
}
|
||||
})();
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -4,21 +4,21 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
|
||||
"POT-Creation-Date: 2017-01-06 07:53+0000\n"
|
||||
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
|
||||
"PO-Revision-Date: 2018-03-02 14:13+0100\n"
|
||||
"PO-Revision-Date: 2018-05-16 15:45+0200\n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\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 2.0.5\n"
|
||||
"X-Generator: Poedit 2.0.7\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: Thomas A. Reinert | TAR MediaDesign <thomas@tarthemes.com>\n"
|
||||
"Last-Translator: Thomas A. Reinert | TAR MediaDesign <thomas@tarcgn.de>\n"
|
||||
"Language: de_DE\n"
|
||||
"X-Poedit-SearchPath-0: footer.php\n"
|
||||
"X-Poedit-SearchPath-1: header.php\n"
|
||||
|
@ -164,10 +164,10 @@ msgid ""
|
|||
"order. You may be charged more than the amount stated above if you fail to "
|
||||
"do so."
|
||||
msgstr ""
|
||||
"Da dein Browser keine Javascript unterstützt oder Javascript deaktiviert "
|
||||
"ist, stelle bitte sicher, den <em>Aktualisieren</em> Button zu klicken bevor "
|
||||
"du deine Bestellung durchführst. Falls du dies vergisst, könnte dir "
|
||||
"ansonsten mehr in Rechnung gestellt werden, als hier angezeigt wird."
|
||||
"Da dein Browser kein JavaScript unterstützt oder JavaScript deaktiviert ist, "
|
||||
"stelle bitte sicher, den <em>Aktualisieren</em> Button zu klicken bevor du "
|
||||
"deine Bestellung durchführst. Falls du dies vergisst, könnte dir ansonsten "
|
||||
"mehr in Rechnung gestellt werden, als hier angezeigt wird."
|
||||
|
||||
#: woocommerce/checkout/payment.php:43
|
||||
msgid "Update totals"
|
||||
|
@ -426,7 +426,7 @@ msgstr ""
|
|||
"vieles mehr, was du für die Erstellung einer einfachen Website benötigst. "
|
||||
"WICHTIG: Alle Abhängigkeiten der Entwicklertools sind in diesem Paket nicht "
|
||||
"enthalten! Lade die ZIP-Datei herunter, entpacke sie und führe \"npm install"
|
||||
"\" sowie \"gulp copy-assets\" in der Konsole im entpackten understrap-Ordner "
|
||||
"\" sowie \"gulp copy-assets\" in der Konsole im entpackten UnderStrap-Ordner "
|
||||
"aus."
|
||||
|
||||
#: search.php:29
|
||||
|
@ -789,7 +789,7 @@ msgstr "http://understrap.com"
|
|||
|
||||
#. Author of the theme
|
||||
msgid "Holger Koenemann"
|
||||
msgstr "Holger Könemann"
|
||||
msgstr "Holger Koenemann"
|
||||
|
||||
#. Author URI of the theme
|
||||
msgid "http://www.holgerkoenemann.de"
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,797 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: understrap\n"
|
||||
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
|
||||
"POT-Creation-Date: 2017-01-06 07:53+0000\n"
|
||||
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
|
||||
"PO-Revision-Date: 2018-05-16 15:44+0200\n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\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 2.0.7\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: Thomas A. Reinert | TAR MediaDesign <thomas@tarcgn.de>\n"
|
||||
"Language: de_DE\n"
|
||||
"X-Poedit-SearchPath-0: footer.php\n"
|
||||
"X-Poedit-SearchPath-1: header.php\n"
|
||||
"X-Poedit-SearchPath-2: index.php\n"
|
||||
"X-Poedit-SearchPath-3: statichero.php\n"
|
||||
"X-Poedit-SearchPath-4: 404.php\n"
|
||||
"X-Poedit-SearchPath-5: archive.php\n"
|
||||
"X-Poedit-SearchPath-6: search.php\n"
|
||||
"X-Poedit-SearchPath-7: sticky.php\n"
|
||||
"X-Poedit-SearchPath-8: single.php\n"
|
||||
"X-Poedit-SearchPath-9: sidebar.php\n"
|
||||
"X-Poedit-SearchPath-10: comment-form.php\n"
|
||||
"X-Poedit-SearchPath-11: comments.php\n"
|
||||
"X-Poedit-SearchPath-12: content-none.php\n"
|
||||
"X-Poedit-SearchPath-13: content-page.php\n"
|
||||
"X-Poedit-SearchPath-14: content-search.php\n"
|
||||
"X-Poedit-SearchPath-15: content-single.php\n"
|
||||
"X-Poedit-SearchPath-16: content.php\n"
|
||||
"X-Poedit-SearchPath-17: hero.php\n"
|
||||
"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"
|
||||
|
||||
#: inc/customizer.php:99
|
||||
msgid "Choose between Bootstrap's container and container-fluid"
|
||||
msgstr "Wählen Sie zwischen dem Bootstrap container und container-fluid aus"
|
||||
|
||||
#: inc/customizer.php:151
|
||||
msgid "Choose how to display latest posts"
|
||||
msgstr "Wählen Sie aus wie die letzten Beiträge angezeigt werden sollen"
|
||||
|
||||
#: inc/customizer.php:156
|
||||
msgid "Default"
|
||||
msgstr "Standard"
|
||||
|
||||
#: inc/customizer.php:157
|
||||
msgid "Masonry"
|
||||
msgstr "Masonry (Kachel-Layout)"
|
||||
|
||||
#: inc/customizer.php:158
|
||||
msgid "Grid"
|
||||
msgstr "Grid (Raster-Layout)"
|
||||
|
||||
#: inc/customizer.php:187
|
||||
msgid "Grid Post Columns"
|
||||
msgstr "Raster-Spalten"
|
||||
|
||||
#: inc/customizer.php:188
|
||||
msgid "Choose how many columns to use"
|
||||
msgstr "Wählen Sie aus wie viele Spalten benutzt werden sollen"
|
||||
|
||||
#: woocommerce/cart/proceed-to-checkout-button.php:27
|
||||
msgid "Proceed to Checkout"
|
||||
msgstr "Weiter zum Bezahlen"
|
||||
|
||||
#: woocommerce/cart/mini-cart.php:49 woocommerce/cart/cart.php:60
|
||||
msgid "Remove this item"
|
||||
msgstr "Entfernen Sie diesen Artikel"
|
||||
|
||||
#: woocommerce/cart/mini-cart.php:72
|
||||
msgid "No products in the cart."
|
||||
msgstr "Keine Produkte im Einkaufswagen."
|
||||
|
||||
#: woocommerce/cart/mini-cart.php:80
|
||||
msgid "Subtotal"
|
||||
msgstr "Zwischensumme"
|
||||
|
||||
#: woocommerce/cart/mini-cart.php:85
|
||||
msgid "View Cart"
|
||||
msgstr "Einkaufswagen ansehen"
|
||||
|
||||
#: woocommerce/cart/mini-cart.php:86
|
||||
msgid "Checkout"
|
||||
msgstr "Bezahlen"
|
||||
|
||||
#: woocommerce/cart/cart-empty.php:28
|
||||
msgid "Your cart is currently empty."
|
||||
msgstr "Der Einkaufswagen ist leer."
|
||||
|
||||
#: woocommerce/cart/cart-empty.php:36
|
||||
msgid "Return To Shop"
|
||||
msgstr "Zurück zum Shop"
|
||||
|
||||
#: woocommerce/cart/cart.php:36 woocommerce/cart/cart.php:79
|
||||
#: woocommerce/checkout/form-pay.php:29
|
||||
msgid "Product"
|
||||
msgstr "Produkt"
|
||||
|
||||
#: woocommerce/cart/cart.php:37 woocommerce/cart/cart.php:97
|
||||
msgid "Price"
|
||||
msgstr "Preis"
|
||||
|
||||
#: woocommerce/cart/cart.php:38 woocommerce/cart/cart.php:103
|
||||
msgid "Quantity"
|
||||
msgstr "Menge"
|
||||
|
||||
#: woocommerce/cart/cart.php:39 woocommerce/cart/cart.php:120
|
||||
#: woocommerce/myaccount/my-orders.php:16
|
||||
msgid "Total"
|
||||
msgstr "Gesamt"
|
||||
|
||||
#: woocommerce/cart/cart.php:92
|
||||
msgid "Available on backorder"
|
||||
msgstr "Wird nachbestellt"
|
||||
|
||||
#: woocommerce/cart/cart.php:138
|
||||
msgid "Coupon:"
|
||||
msgstr "Coupon:"
|
||||
|
||||
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:36
|
||||
msgid "Coupon code"
|
||||
msgstr "Coupon-Code"
|
||||
|
||||
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:40
|
||||
msgid "Apply Coupon"
|
||||
msgstr "Coupon anwenden"
|
||||
|
||||
#: woocommerce/cart/cart.php:144
|
||||
msgid "Update Cart"
|
||||
msgstr "Einkaufswagen aktualisieren"
|
||||
|
||||
#: 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 ""
|
||||
"Entschuldigen Sie, aber es sieht so aus als ob es keine verfügbaren "
|
||||
"Zahlungsmethoden für Ihr Land gibt. Bitte kontaktieren Sie uns, falls Sie "
|
||||
"Hilfe benötigen oder ein alternatives Arrangement mit uns treffen möchten."
|
||||
|
||||
#: woocommerce/checkout/payment.php:35
|
||||
msgid "Please fill in your details above to see available payment methods."
|
||||
msgstr ""
|
||||
"Bitte füllen Sie die Details aus, um verfügbare Zahlungsmethoden einsehen zu "
|
||||
"können."
|
||||
|
||||
#: 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 ""
|
||||
"Da Ihr Browser kein JavaScript unterstützt oder JavaScript deaktiviert ist, "
|
||||
"stellen Sie bitte sicher, den <em>Aktualisieren</em> Button zu klicken bevor "
|
||||
"Sie Ihre Bestellung durchführen. Falls Sie dies vergessen, könnte Ihnen "
|
||||
"ansonsten mehr in Rechnung gestellt werden, als hier angezeigt wird."
|
||||
|
||||
#: woocommerce/checkout/payment.php:43
|
||||
msgid "Update totals"
|
||||
msgstr "Gesamtbetrag aktualisieren"
|
||||
|
||||
#: woocommerce/checkout/form-pay.php:30
|
||||
msgid "Qty"
|
||||
msgstr "Menge"
|
||||
|
||||
#: woocommerce/checkout/form-pay.php:31
|
||||
msgid "Totals"
|
||||
msgstr "Gesamt"
|
||||
|
||||
#: 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 ""
|
||||
"Entschuldigen Sie, aber es sieht so aus als ob es keine verfügbaren "
|
||||
"Zahlungsmethoden für Ihren Standort gibt. Bitte kontaktieren Sie uns, falls "
|
||||
"Sie Hilfe benötigen oder ein alternatives Arrangement mit uns treffen "
|
||||
"möchten."
|
||||
|
||||
#: woocommerce/checkout/form-coupon.php:28
|
||||
msgid "Have a coupon?"
|
||||
msgstr "Haben Sie einen Coupon?"
|
||||
|
||||
#: woocommerce/checkout/form-coupon.php:28
|
||||
msgid "Click here to enter your code"
|
||||
msgstr "Klicken Sie hier um Ihren Code einzugeben"
|
||||
|
||||
#: woocommerce/global/form-login.php:35
|
||||
#: woocommerce/myaccount/form-lost-password.php:30
|
||||
msgid "Username or email"
|
||||
msgstr "Benutzername oder E-Mail"
|
||||
|
||||
#: woocommerce/global/form-login.php:39 woocommerce/myaccount/form-login.php:48
|
||||
#: woocommerce/myaccount/form-login.php:98
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#: woocommerce/global/form-login.php:48 woocommerce/myaccount/form-login.php:37
|
||||
#: woocommerce/myaccount/form-login.php:56
|
||||
msgid "Login"
|
||||
msgstr "Benutzername"
|
||||
|
||||
#: woocommerce/global/form-login.php:51 woocommerce/myaccount/form-login.php:58
|
||||
msgid "Remember me"
|
||||
msgstr "Login speichern"
|
||||
|
||||
#: woocommerce/global/form-login.php:55 woocommerce/myaccount/form-login.php:62
|
||||
msgid "Lost your password?"
|
||||
msgstr "Passwort vergessen?"
|
||||
|
||||
#: woocommerce/global/quantity-input.php:24
|
||||
msgctxt "Product quantity input tooltip"
|
||||
msgid "Qty"
|
||||
msgstr "Menge"
|
||||
|
||||
#: 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 ""
|
||||
"Passwort vergessen? Bitte geben Sie Ihren Benutzernamen oder E-Mail Adresse "
|
||||
"ein. Sie werden dann per E-Mail einen Link erhalten mit dem Sie ein neues "
|
||||
"Passwort vergeben können."
|
||||
|
||||
#: woocommerce/myaccount/form-lost-password.php:40
|
||||
msgid "Reset Password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#: woocommerce/myaccount/form-login.php:44
|
||||
msgid "Username or email address"
|
||||
msgstr "Benutzername oder E-Mail Adresse"
|
||||
|
||||
#: woocommerce/myaccount/form-login.php:75
|
||||
#: woocommerce/myaccount/form-login.php:112
|
||||
msgid "Register"
|
||||
msgstr "Registrieren"
|
||||
|
||||
#: woocommerce/myaccount/form-login.php:84
|
||||
msgid "Username"
|
||||
msgstr "Benutzername"
|
||||
|
||||
#: woocommerce/myaccount/form-login.php:91
|
||||
#: woocommerce/myaccount/form-edit-account.php:40
|
||||
msgid "Email address"
|
||||
msgstr "E-Mail Adresse"
|
||||
|
||||
#: woocommerce/myaccount/form-login.php:105
|
||||
msgid "Anti-spam"
|
||||
msgstr "Spam Schutz"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:30
|
||||
msgid "First name"
|
||||
msgstr "Vorname"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:34
|
||||
msgid "Last name"
|
||||
msgstr "Nachname"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:45
|
||||
msgid "Password Change"
|
||||
msgstr "Passwort ändern"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:48
|
||||
msgid "Current Password (leave blank to leave unchanged)"
|
||||
msgstr "Aktuelles Passwort (Leer lassen wenn es nicht geändert werden soll)"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:52
|
||||
msgid "New Password (leave blank to leave unchanged)"
|
||||
msgstr "Neues Passwort (Leer lassen wenn es nicht geändert werden soll)"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:56
|
||||
msgid "Confirm New Password"
|
||||
msgstr "Neues Passwort bestätigen"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:66
|
||||
msgid "Save changes"
|
||||
msgstr "Änderungen speichern"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:13
|
||||
msgid "Order"
|
||||
msgstr "Bestellung"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:14
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:15
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:30
|
||||
msgid "Recent Orders"
|
||||
msgstr "Kürzlich bestellt"
|
||||
|
||||
#: 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 für %s Artikel"
|
||||
msgstr[1] "%s für %s Artikel"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:72 woocommerce/myaccount/orders.php:68
|
||||
msgid "Pay"
|
||||
msgstr "Bezahlen"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:76 woocommerce/myaccount/orders.php:72
|
||||
msgid "View"
|
||||
msgstr "Ansehen"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:80 woocommerce/myaccount/orders.php:76
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: woocommerce/myaccount/orders.php:107
|
||||
msgid "Previous"
|
||||
msgstr "Vorherige"
|
||||
|
||||
#: woocommerce/myaccount/orders.php:111
|
||||
msgid "Next"
|
||||
msgstr "Nächste"
|
||||
|
||||
#: woocommerce/myaccount/orders.php:119 woocommerce/myaccount/downloads.php:98
|
||||
msgid "Go Shop"
|
||||
msgstr "In den Shop"
|
||||
|
||||
#: woocommerce/myaccount/orders.php:121
|
||||
msgid "No order has been made yet."
|
||||
msgstr "Es wurde bisher keine Bestellung vorgenommen."
|
||||
|
||||
#: woocommerce/myaccount/form-edit-address.php:23
|
||||
msgid "Billing Address"
|
||||
msgstr "Rechnungsadresse"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-address.php:23
|
||||
msgid "Shipping Address"
|
||||
msgstr "Lieferadresse"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-address.php:46
|
||||
msgid "Save Address"
|
||||
msgstr "Adresse speichern"
|
||||
|
||||
#: woocommerce/myaccount/form-reset-password.php:27
|
||||
msgid "Enter a new password below."
|
||||
msgstr "Geben Sie unten ein neues Passwort ein."
|
||||
|
||||
#: woocommerce/myaccount/form-reset-password.php:30
|
||||
msgid "New password"
|
||||
msgstr "Neues Passwort"
|
||||
|
||||
#: woocommerce/myaccount/form-reset-password.php:34
|
||||
msgid "Re-enter new password"
|
||||
msgstr "Wiederholen Sie das Passwort"
|
||||
|
||||
#: woocommerce/myaccount/form-reset-password.php:47
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: woocommerce/myaccount/downloads.php:59
|
||||
msgid "∞"
|
||||
msgstr "∞"
|
||||
|
||||
#: woocommerce/myaccount/downloads.php:67
|
||||
msgid "Never"
|
||||
msgstr "Niemals"
|
||||
|
||||
#: woocommerce/myaccount/downloads.php:75
|
||||
msgid "Download"
|
||||
msgstr "Download"
|
||||
|
||||
#: woocommerce/myaccount/downloads.php:100
|
||||
msgid "No downloads available yet."
|
||||
msgstr "Noch keine Downloads verfügbar."
|
||||
|
||||
#: woocommerce/single-product/review-rating.php:28
|
||||
#, php-format
|
||||
msgid "Rated %d out of 5"
|
||||
msgstr "Bewertet mit %d von 5"
|
||||
|
||||
#: woocommerce/single-product/review-rating.php:29
|
||||
msgid "out of 5"
|
||||
msgstr "von 5"
|
||||
|
||||
#: woocommerce/single-product/rating.php:36
|
||||
#, php-format
|
||||
msgid "Rated %s out of 5"
|
||||
msgstr "Bewertet mit %s von 5"
|
||||
|
||||
#: woocommerce/single-product/rating.php:38
|
||||
#, php-format
|
||||
msgid "out of %s5%s"
|
||||
msgstr "von %s5%s"
|
||||
|
||||
#. 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 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 ""
|
||||
"Eine Kombination aus Automattic´s _s theme und Bootstrap 4. Konzipiert als "
|
||||
"solider Ausgangspunkt für Ihr nächstes Theme-Projekt und WordPress Website. "
|
||||
"Nutzen Sie es als eigenes Starter-Theme oder als Parent-Theme. Beides steht "
|
||||
"Ihnen frei. Beinhaltet FontAwesome Unterstützung, integrierten Widget-Slider "
|
||||
"und vieles mehr, was du für die Erstellung einer einfachen Website "
|
||||
"benötigst. WICHTIG: Alle Abhängigkeiten der Entwicklertools sind in diesem "
|
||||
"Paket nicht enthalten! Laden Sie die ZIP-Datei herunter, entpacken Sie sie "
|
||||
"und führen Sie \"npm install\" sowie \"gulp copy-assets\" in der Konsole im "
|
||||
"entpackten UnderStrap-Ordner aus."
|
||||
|
||||
#: search.php:29
|
||||
#, php-format
|
||||
msgid "Search Results for: %s"
|
||||
msgstr "Suchergebnisse für: %s"
|
||||
|
||||
#: header.php:34
|
||||
msgid "Skip to content"
|
||||
msgstr "Zum Inhalt springen"
|
||||
|
||||
#: 404.php:24
|
||||
msgid "Oops! That page can’t be found."
|
||||
msgstr "Oooops! Diese Seite konnte nicht gefunden werden."
|
||||
|
||||
#: 404.php:31
|
||||
msgid ""
|
||||
"It looks like nothing was found at this location. Maybe try one of the links "
|
||||
"below or a search?"
|
||||
msgstr ""
|
||||
"Es scheint dass hier nichts gefunden wurde. Vielleicht sollten Sie einen der "
|
||||
"Links unten oder die Suche verwenden?"
|
||||
|
||||
#: 404.php:42
|
||||
msgid "Most Used Categories"
|
||||
msgstr "Meistgenutzte Kategorien"
|
||||
|
||||
#. translators: %1$s: smiley
|
||||
#: 404.php:62
|
||||
#, php-format
|
||||
msgid "Try looking in the monthly archives. %1$s"
|
||||
msgstr "Versuchen Sie es einmal im monatlichen Archiv. %1$s"
|
||||
|
||||
#: author.php:34
|
||||
msgid "About:"
|
||||
msgstr "Über:"
|
||||
|
||||
#: author.php:42 inc/custom-comments.php:30
|
||||
msgid "Website"
|
||||
msgstr "Webseite"
|
||||
|
||||
#: author.php:49
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: author.php:54
|
||||
msgid "Posts by"
|
||||
msgstr "Artikel von"
|
||||
|
||||
#: author.php:68
|
||||
msgid "in"
|
||||
msgstr "in"
|
||||
|
||||
#: comments.php:28
|
||||
#, php-format
|
||||
msgctxt "comments title"
|
||||
msgid "One thought on “%2$s”"
|
||||
msgid_plural "%1$s thoughts on “%2$s”"
|
||||
msgstr[0] "Ein Gedanke zu “%2$s”"
|
||||
msgstr[1] "%1$s Gedanken zu “%2$s”"
|
||||
|
||||
#: comments.php:36 comments.php:59
|
||||
msgid "Comment navigation"
|
||||
msgstr "Kommentarnavigation"
|
||||
|
||||
#: comments.php:38 comments.php:61
|
||||
msgid "← Older Comments"
|
||||
msgstr "← Ältere Kommentare"
|
||||
|
||||
#: comments.php:42 comments.php:65
|
||||
msgid "Newer Comments →"
|
||||
msgstr "Neuere Kommentare →"
|
||||
|
||||
#: comments.php:78
|
||||
msgid "Comments are closed."
|
||||
msgstr "Kommentare sind geschlossen."
|
||||
|
||||
#: footer.php:27
|
||||
msgid "http://wordpress.org/"
|
||||
msgstr "http://wordpress.org/"
|
||||
|
||||
#: footer.php:28
|
||||
#, php-format
|
||||
msgid "Proudly powered by %s"
|
||||
msgstr "Stolz angetrieben durch %s"
|
||||
|
||||
#: footer.php:31
|
||||
#, php-format
|
||||
msgid "Theme: %1$s by %2$s."
|
||||
msgstr "Theme: %1$s von %2$s."
|
||||
|
||||
#: footer.php:33
|
||||
#, php-format
|
||||
msgid "Version: %1$s"
|
||||
msgstr "Version: %1$s"
|
||||
|
||||
#: searchform.php:10 searchform.php:16
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
||||
#: searchform.php:13
|
||||
msgid "Search …"
|
||||
msgstr "Suche …"
|
||||
|
||||
#: 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 "Seiten:"
|
||||
|
||||
#: loop-templates/content-page.php:34
|
||||
#: loop-templates/content-verticalpage.php:37
|
||||
msgid "Edit"
|
||||
msgstr "Editieren"
|
||||
|
||||
#: loop-templates/content-none.php:15
|
||||
msgid "Nothing Found"
|
||||
msgstr "Nichts gefunden"
|
||||
|
||||
#: loop-templates/content-none.php:23
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||
msgstr ""
|
||||
"Bereit Ihren ersten Artikel zu veröffentlichen? <a href=\"%1$s\">Dann fangen "
|
||||
"Sie hier an</a>."
|
||||
|
||||
#: loop-templates/content-none.php:28
|
||||
msgid ""
|
||||
"Sorry, but nothing matched your search terms. Please try again with some "
|
||||
"different keywords."
|
||||
msgstr ""
|
||||
"Entschuldigung, aber leider wurde nichts zu Ihrem Suchbegriff gefunden. "
|
||||
"Versuchen Sie es erneut mit einem anderen Suchbegriff."
|
||||
|
||||
#: loop-templates/content-none.php:34
|
||||
msgid ""
|
||||
"It seems we can’t find what you’re looking for. Perhaps "
|
||||
"searching can help."
|
||||
msgstr ""
|
||||
"Leider konnten wir nicht das finden wonach Sie gesucht haben. Vielleicht "
|
||||
"kann Ihnen die Suche helfen."
|
||||
|
||||
#. Name of the template
|
||||
msgid "Blank Page Template"
|
||||
msgstr "Komplett leere Seiten-Vorlage"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Left and Right Sidebar Layout"
|
||||
msgstr "Linke und rechte Seitenspalte"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Empty Page Template"
|
||||
msgstr "Leere Seiten-Vorlage"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Full Width Page"
|
||||
msgstr "Seite mit voller Breite"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Left Sidebar Layout"
|
||||
msgstr "Layout mit linker Seitenleiste"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Vertical One Page"
|
||||
msgstr "Vertikales \"One Pager\" Layout"
|
||||
|
||||
#: inc/template-tags.php:18
|
||||
#, php-format
|
||||
msgid " Edited %4$s"
|
||||
msgstr " Bearbeitet %4$s"
|
||||
|
||||
#: inc/template-tags.php:29
|
||||
#, php-format
|
||||
msgctxt "post date"
|
||||
msgid "Posted on %s"
|
||||
msgstr "Veröffentlicht am %s"
|
||||
|
||||
#: inc/template-tags.php:34
|
||||
#, php-format
|
||||
msgctxt "post author"
|
||||
msgid "by %s"
|
||||
msgstr "von %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 "Veröffentlicht in %1$s"
|
||||
|
||||
#: inc/template-tags.php:59
|
||||
#, php-format
|
||||
msgid "Tagged %1$s"
|
||||
msgstr "Verschlagwortet mit %1$s"
|
||||
|
||||
#: inc/template-tags.php:65
|
||||
msgid "Leave a comment"
|
||||
msgstr "Kommentar hinterlassen"
|
||||
|
||||
#: inc/template-tags.php:65
|
||||
msgid "1 Comment"
|
||||
msgstr "1 Kommentar"
|
||||
|
||||
#: inc/template-tags.php:65
|
||||
msgid "% Comments"
|
||||
msgstr "% Kommentare"
|
||||
|
||||
#. translators: %s: Name of current post
|
||||
#: inc/template-tags.php:72
|
||||
#, php-format
|
||||
msgid "Edit %s"
|
||||
msgstr "Editieren Sie %s"
|
||||
|
||||
#: inc/template-tags.php:143
|
||||
msgid "Post navigation"
|
||||
msgstr "Beitrags-Navigation"
|
||||
|
||||
#: inc/template-tags.php:148
|
||||
msgctxt "Previous post link"
|
||||
msgid "<i class=\"fa fa-angle-left\"></i> %title"
|
||||
msgstr "<i class=\"fa fa-angle-left\"></i> %title"
|
||||
|
||||
#: inc/template-tags.php:151
|
||||
msgctxt "Next post link"
|
||||
msgid "%title <i class=\"fa fa-angle-right\"></i>"
|
||||
msgstr "%title <i class=\"fa fa-angle-right\"></i>"
|
||||
|
||||
#: inc/setup.php:51
|
||||
msgid "Primary Menu"
|
||||
msgstr "Hauptmenü"
|
||||
|
||||
#: inc/setup.php:122
|
||||
msgid "Read More..."
|
||||
msgstr "Weiterlesen..."
|
||||
|
||||
#: inc/widgets.php:14
|
||||
msgid "Right Sidebar"
|
||||
msgstr "Rechte Seitenleiste"
|
||||
|
||||
#: inc/widgets.php:24
|
||||
msgid "Left Sidebar"
|
||||
msgstr "Linke Seitenleiste"
|
||||
|
||||
#: inc/widgets.php:34
|
||||
msgid "Hero Slider"
|
||||
msgstr "\"Bühnen\"-Slider"
|
||||
|
||||
#: inc/widgets.php:44
|
||||
msgid "Hero Static"
|
||||
msgstr "Statische \"Bühne\""
|
||||
|
||||
#: inc/widgets.php:54
|
||||
msgid "Footer Full"
|
||||
msgstr "Fußbereich"
|
||||
|
||||
#: inc/custom-comments.php:24
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: inc/custom-comments.php:27
|
||||
msgid "Email"
|
||||
msgstr "E-Mail"
|
||||
|
||||
#: inc/custom-comments.php:49
|
||||
msgctxt "noun"
|
||||
msgid "Comment"
|
||||
msgstr "Kommentare"
|
||||
|
||||
#: inc/customizer.php:36
|
||||
msgid "Slider Settings"
|
||||
msgstr "Slider-Einstellungen"
|
||||
|
||||
#: inc/customizer.php:45
|
||||
msgid "Number of slides displaying at once"
|
||||
msgstr "Anzahl der Slides die auf einmal angezeigt werden"
|
||||
|
||||
#: inc/customizer.php:57
|
||||
msgid "Slider Time (in ms)"
|
||||
msgstr "Zeit von Slide zu Slide (in ms)"
|
||||
|
||||
#: inc/customizer.php:69
|
||||
msgid "Loop Slider Content"
|
||||
msgstr "Soll der Slider von vorne anfangen?"
|
||||
|
||||
#: inc/customizer.php:81
|
||||
msgid "Theme Layout Settings"
|
||||
msgstr "Theme Layout Einstellungen"
|
||||
|
||||
#: inc/customizer.php:83
|
||||
msgid "Container width and sidebar defaults"
|
||||
msgstr "Container-Breite und Seitenleisten-Einstellungen"
|
||||
|
||||
#: inc/customizer.php:98
|
||||
msgid "Container Width"
|
||||
msgstr "Container-Breite"
|
||||
|
||||
#: inc/customizer.php:104
|
||||
msgid "Fixed width container"
|
||||
msgstr "Container mit fester Breite"
|
||||
|
||||
#: inc/customizer.php:105
|
||||
msgid "Full width container"
|
||||
msgstr "Container mit voller Seitenbreite"
|
||||
|
||||
#: inc/customizer.php:122
|
||||
msgid "Sidebar Positioning"
|
||||
msgstr "Seitenleisten-Positionierung"
|
||||
|
||||
#: inc/customizer.php:123
|
||||
msgid "Set sidebar's position. Can either be: right, left, both or none"
|
||||
msgstr ""
|
||||
"Stelle die Standard-Position der Seitenleiste ein. Zur Auswahl stehen: "
|
||||
"Rechts, links, beide oder keine."
|
||||
|
||||
#: inc/customizer.php:129
|
||||
msgid "Right sidebar"
|
||||
msgstr "Rechte Seitenleiste"
|
||||
|
||||
#: inc/customizer.php:130
|
||||
msgid "Left sidebar"
|
||||
msgstr "Linke Seitenleiste"
|
||||
|
||||
#: inc/customizer.php:131
|
||||
msgid "Left & Right sidebars"
|
||||
msgstr "Linke und rechte Seitenleiste"
|
||||
|
||||
#: inc/customizer.php:132
|
||||
msgid "No sidebar"
|
||||
msgstr "Keine Seitenleiste"
|
||||
|
||||
#: inc/customizer.php:150
|
||||
msgid "Posts Index Style"
|
||||
msgstr "Layout der Beiträge auf der Startseite"
|
||||
|
||||
#: woocommerce/single-product/rating.php:39
|
||||
#, php-format
|
||||
msgid "based on %s customer rating"
|
||||
msgid_plural "based on %s customer ratings"
|
||||
msgstr[0] "basierend auf %s Kundenbewertungen"
|
||||
msgstr[1] "basierend auf %s Kundenbewertungen"
|
||||
|
||||
#: woocommerce/single-product/rating.php:42
|
||||
#, php-format
|
||||
msgid "%s customer review"
|
||||
msgid_plural "%s customer reviews"
|
||||
msgstr[0] "%s Kundenbewertung"
|
||||
msgstr[1] "%s Kunden Bewertungen"
|
||||
|
||||
#. Name of the theme
|
||||
msgid "UnderStrap"
|
||||
msgstr "UnderStrap"
|
||||
|
||||
#. Theme URI of the theme
|
||||
msgid "http://understrap.com"
|
||||
msgstr "http://understrap.com"
|
||||
|
||||
#. Author of the theme
|
||||
msgid "Holger Koenemann"
|
||||
msgstr "Holger Koenemann"
|
||||
|
||||
#. Author URI of the theme
|
||||
msgid "http://www.holgerkoenemann.de"
|
||||
msgstr "http://www.holgerkoenemann.de"
|
Binary file not shown.
|
@ -0,0 +1,784 @@
|
|||
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-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
|
||||
"PO-Revision-Date: 2018-05-22 18:29+0900\n"
|
||||
"Language-Team: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\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 2.0.7\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: \n"
|
||||
"Language: ja_JP\n"
|
||||
"X-Poedit-SearchPath-0: footer.php\n"
|
||||
"X-Poedit-SearchPath-1: header.php\n"
|
||||
"X-Poedit-SearchPath-2: index.php\n"
|
||||
"X-Poedit-SearchPath-3: statichero.php\n"
|
||||
"X-Poedit-SearchPath-4: 404.php\n"
|
||||
"X-Poedit-SearchPath-5: archive.php\n"
|
||||
"X-Poedit-SearchPath-6: search.php\n"
|
||||
"X-Poedit-SearchPath-7: sticky.php\n"
|
||||
"X-Poedit-SearchPath-8: single.php\n"
|
||||
"X-Poedit-SearchPath-9: sidebar.php\n"
|
||||
"X-Poedit-SearchPath-10: comment-form.php\n"
|
||||
"X-Poedit-SearchPath-11: comments.php\n"
|
||||
"X-Poedit-SearchPath-12: content-none.php\n"
|
||||
"X-Poedit-SearchPath-13: content-page.php\n"
|
||||
"X-Poedit-SearchPath-14: content-search.php\n"
|
||||
"X-Poedit-SearchPath-15: content-single.php\n"
|
||||
"X-Poedit-SearchPath-16: content.php\n"
|
||||
"X-Poedit-SearchPath-17: hero.php\n"
|
||||
"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"
|
||||
|
||||
#: search.php:29
|
||||
#, php-format
|
||||
msgid "Search Results for: %s"
|
||||
msgstr "検索結果: %s"
|
||||
|
||||
#: header.php:34
|
||||
msgid "Skip to content"
|
||||
msgstr "コンテンツへスキップ"
|
||||
|
||||
#: 404.php:24
|
||||
msgid "Oops! That page can’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:42
|
||||
msgid "Most Used Categories"
|
||||
msgstr "よく使われるカテゴリー"
|
||||
|
||||
#. translators: %1$s: smiley
|
||||
#: 404.php:62
|
||||
#, php-format
|
||||
msgid "Try looking in the monthly archives. %1$s"
|
||||
msgstr "月々のアーカイブを見てみます。 %1$s"
|
||||
|
||||
#: author.php:34
|
||||
msgid "About:"
|
||||
msgstr "About:"
|
||||
|
||||
#: author.php:42 inc/custom-comments.php:30
|
||||
msgid "Website"
|
||||
msgstr "Webサイト"
|
||||
|
||||
#: 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 “%2$s”"
|
||||
msgid_plural "%1$s thoughts on “%2$s”"
|
||||
msgstr[0] "“%2$s” へ%1$s件のコメント"
|
||||
|
||||
#: comments.php:36 comments.php:59
|
||||
msgid "Comment navigation"
|
||||
msgstr "コメントナビゲーション"
|
||||
|
||||
#: comments.php:38 comments.php:61
|
||||
msgid "← Older Comments"
|
||||
msgstr "← 古いコメント"
|
||||
|
||||
#: comments.php:42 comments.php:65
|
||||
msgid "Newer Comments →"
|
||||
msgstr "新しいコメント →"
|
||||
|
||||
#: 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 "Proudly powered by %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:13
|
||||
msgid "Search …"
|
||||
msgstr "検索…"
|
||||
|
||||
#: 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 "ページ:"
|
||||
|
||||
#: 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:23
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||
msgstr ""
|
||||
"あなたの最初の投稿を公開する準備ができましたか?<a href=\"%1$s\">ここから始め"
|
||||
"ます</a>。"
|
||||
|
||||
#: loop-templates/content-none.php:28
|
||||
msgid ""
|
||||
"Sorry, but nothing matched your search terms. Please try again with some "
|
||||
"different keywords."
|
||||
msgstr ""
|
||||
"申し訳ありません。あなたの検索条件に一致するものがありませんでした。異なる"
|
||||
"キーワードで試してみてください。"
|
||||
|
||||
#: loop-templates/content-none.php:34
|
||||
msgid ""
|
||||
"It seems we can’t find what you’re looking for. Perhaps "
|
||||
"searching can help."
|
||||
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 "縦1ページ"
|
||||
|
||||
# Source text begins with a space.
|
||||
#: 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件のコメント"
|
||||
|
||||
# Are you mistaking the formatter?
|
||||
#: 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> %title"
|
||||
msgstr "<i class=\"fa fa-angle-left\"></i> %title"
|
||||
|
||||
#: inc/template-tags.php:151
|
||||
msgctxt "Next post link"
|
||||
msgid "%title <i class=\"fa fa-angle-right\"></i>"
|
||||
msgstr "%title <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 "ヒーロースライダー"
|
||||
|
||||
#: inc/widgets.php:44
|
||||
msgid "Hero Static"
|
||||
msgstr "静的ヒーロー"
|
||||
|
||||
#: inc/widgets.php:54
|
||||
msgid "Footer Full"
|
||||
msgstr "全幅フッター"
|
||||
|
||||
#: inc/custom-comments.php:24
|
||||
msgid "Name"
|
||||
msgstr "名前"
|
||||
|
||||
#: inc/custom-comments.php:27
|
||||
msgid "Email"
|
||||
msgstr "メールアドレス"
|
||||
|
||||
#: 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 "Bootstrapの固定幅コンテナと全幅コンテナを選択してください"
|
||||
|
||||
#: 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 "サイドバーの位置。次のいずれかを選択できます: right、left、both、none"
|
||||
|
||||
#: 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 "ユーザー名またはメールアドレス"
|
||||
|
||||
#: 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 "ユーザー名またはメールアドレス"
|
||||
|
||||
#: 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 "メールアドレス"
|
||||
|
||||
#: 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 のアイテム"
|
||||
|
||||
#: 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 "∞"
|
||||
msgstr "∞"
|
||||
|
||||
#: 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 "5点満点中の%s"
|
||||
|
||||
#: 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 の顧客評価に基づく"
|
||||
|
||||
#: woocommerce/single-product/rating.php:42
|
||||
#, php-format
|
||||
msgid "%s customer review"
|
||||
msgid_plural "%s customer reviews"
|
||||
msgstr[0] "%s 件のカスタマーレビュー"
|
||||
|
||||
#. Name of the theme
|
||||
msgid "UnderStrap"
|
||||
msgstr "UnderStrap"
|
||||
|
||||
#. 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 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 ""
|
||||
"AutomatticのテーマとBootstrap 4のコンビネーション。あなたの次のテーマプロジェ"
|
||||
"クトとWordPressのウェブサイトの堅実な出発点として作られています。スターター"
|
||||
"テーマまたは親テーマとして使用します。それはあなた次第です。Font Awesomeのサ"
|
||||
"ポート、組み込みのウィジェットスライダーなど、基本的なWebサイトにはるかに必要"
|
||||
"なものが含まれています。 *重要*: すべての開発者の依存関係は、このインストール"
|
||||
"ファイルにバンドルされていません。zipファイルをダウンロードして展開し、展開さ"
|
||||
"れたunderstrapフォルダの中で「npm install」と「gulp copy-assets」を実行するだ"
|
||||
"けです。"
|
||||
|
||||
#. Theme URI of the theme
|
||||
msgid "http://understrap.com"
|
||||
msgstr "http://understrap.com"
|
||||
|
||||
#. Author of the theme
|
||||
msgid "Holger Koenemann"
|
||||
msgstr "ホルガー・ケーネマン"
|
||||
|
||||
#. Author URI of the theme
|
||||
msgid "http://www.holgerkoenemann.de"
|
||||
msgstr "http://www.holgerkoenemann.de"
|
Binary file not shown.
|
@ -0,0 +1,799 @@
|
|||
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-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
|
||||
"PO-Revision-Date: 2018-04-02 19:11+0100\n"
|
||||
"Last-Translator: Mirosław Zalewski <mz@miroslaw-zalewski.eu>\n"
|
||||
"Language-Team: Polish\n"
|
||||
"Language: pl_PL\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 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: Lokalize 2.0\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;e"
|
||||
"sc_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"
|
||||
"X-Poedit-SearchPath-0: footer.php\n"
|
||||
"X-Poedit-SearchPath-1: header.php\n"
|
||||
"X-Poedit-SearchPath-2: index.php\n"
|
||||
"X-Poedit-SearchPath-3: statichero.php\n"
|
||||
"X-Poedit-SearchPath-4: 404.php\n"
|
||||
"X-Poedit-SearchPath-5: archive.php\n"
|
||||
"X-Poedit-SearchPath-6: search.php\n"
|
||||
"X-Poedit-SearchPath-7: sticky.php\n"
|
||||
"X-Poedit-SearchPath-8: single.php\n"
|
||||
"X-Poedit-SearchPath-9: sidebar.php\n"
|
||||
"X-Poedit-SearchPath-10: comment-form.php\n"
|
||||
"X-Poedit-SearchPath-11: comments.php\n"
|
||||
"X-Poedit-SearchPath-12: content-none.php\n"
|
||||
"X-Poedit-SearchPath-13: content-page.php\n"
|
||||
"X-Poedit-SearchPath-14: content-search.php\n"
|
||||
"X-Poedit-SearchPath-15: content-single.php\n"
|
||||
"X-Poedit-SearchPath-16: content.php\n"
|
||||
"X-Poedit-SearchPath-17: hero.php\n"
|
||||
"X-Poedit-SearchPath-18: page.php\n"
|
||||
"X-Poedit-SearchPath-19: functions.php\n"
|
||||
"X-Poedit-SearchPath-20: page-templates\n"
|
||||
|
||||
#: search.php:29
|
||||
#, php-format
|
||||
msgid "Search Results for: %s"
|
||||
msgstr "Wyniki wyszukiwania dla frazy: %s"
|
||||
|
||||
#: header.php:34
|
||||
msgid "Skip to content"
|
||||
msgstr "Przejdź do treści"
|
||||
|
||||
#: 404.php:24
|
||||
msgid "Oops! That page can’t be found."
|
||||
msgstr "Ups! Strona nie została znaleziona."
|
||||
|
||||
#: 404.php:31
|
||||
msgid ""
|
||||
"It looks like nothing was found at this location. Maybe try one of the links "
|
||||
"below or a search?"
|
||||
msgstr ""
|
||||
"Wygląda na to, że nic tutaj nie znaleziono. Może spróbuj wyszukiwania lub"
|
||||
"kliknij jeden z odnośników poniżej?"
|
||||
|
||||
#: 404.php:42
|
||||
msgid "Most Used Categories"
|
||||
msgstr "Najczęściej używane kategorie"
|
||||
|
||||
#. translators: %1$s: smiley
|
||||
#: 404.php:62
|
||||
#, php-format
|
||||
msgid "Try looking in the monthly archives. %1$s"
|
||||
msgstr "Sprawdź w archiwum %1$s"
|
||||
|
||||
#: author.php:34
|
||||
msgid "About:"
|
||||
msgstr "Autor:"
|
||||
|
||||
#: author.php:42 inc/custom-comments.php:30
|
||||
msgid "Website"
|
||||
msgstr "Strona internetowa"
|
||||
|
||||
#: author.php:49
|
||||
msgid "Profile"
|
||||
msgstr "O autorze"
|
||||
|
||||
#: author.php:54
|
||||
msgid "Posts by"
|
||||
msgstr "Artykuły"
|
||||
|
||||
#: author.php:68
|
||||
msgid "in"
|
||||
msgstr "w"
|
||||
|
||||
#: comments.php:28
|
||||
#, php-format
|
||||
msgctxt "comments title"
|
||||
msgid "One thought on “%2$s”"
|
||||
msgid_plural "%1$s thoughts on “%2$s”"
|
||||
msgstr[0] "Jedna opinia na temat „%2$s”"
|
||||
msgstr[1] "%1$s opinie na temat „%2$s”"
|
||||
msgstr[2] "%1$s opinii na temat „%2$s”"
|
||||
|
||||
#: comments.php:36 comments.php:59
|
||||
msgid "Comment navigation"
|
||||
msgstr "Nawigacja po komentarzach"
|
||||
|
||||
#: comments.php:38 comments.php:61
|
||||
msgid "← Older Comments"
|
||||
msgstr "← Starsze komentarze"
|
||||
|
||||
#: comments.php:42 comments.php:65
|
||||
msgid "Newer Comments →"
|
||||
msgstr "Nowsze komentarze →"
|
||||
|
||||
#: comments.php:78
|
||||
msgid "Comments are closed."
|
||||
msgstr "Komentarze są zamknięte"
|
||||
|
||||
#: footer.php:27
|
||||
msgid "http://wordpress.org/"
|
||||
msgstr "http://wordpress.org/"
|
||||
|
||||
#: footer.php:28
|
||||
#, php-format
|
||||
msgid "Proudly powered by %s"
|
||||
msgstr "Dumnie wspierany przez %s"
|
||||
|
||||
#: footer.php:31
|
||||
#, php-format
|
||||
msgid "Theme: %1$s by %2$s."
|
||||
msgstr "Motyw: %1$s od %2$s."
|
||||
|
||||
#: footer.php:33
|
||||
#, php-format
|
||||
msgid "Version: %1$s"
|
||||
msgstr "Wersja: %1$s"
|
||||
|
||||
#: searchform.php:10 searchform.php:16
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
||||
#: searchform.php:13
|
||||
msgid "Search …"
|
||||
msgstr "Szukaj …"
|
||||
|
||||
#: 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 "Strony:"
|
||||
|
||||
#: loop-templates/content-page.php:34
|
||||
#: loop-templates/content-verticalpage.php:37
|
||||
msgid "Edit"
|
||||
msgstr "Edytuj"
|
||||
|
||||
#: loop-templates/content-none.php:15
|
||||
msgid "Nothing Found"
|
||||
msgstr "Nic nie znaleziono"
|
||||
|
||||
#: loop-templates/content-none.php:23
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||
msgstr ""
|
||||
"Gotów do opublikowania pierwszego postu? <a href=\"%1$s\">Zacznij tutaj</a>."
|
||||
|
||||
#: loop-templates/content-none.php:28
|
||||
msgid ""
|
||||
"Sorry, but nothing matched your search terms. Please try again with some "
|
||||
"different keywords."
|
||||
msgstr ""
|
||||
"Niestety, nie znaleziono niczego, co pasowałoby do Twoich kryteriów "
|
||||
"wyszukiwania. Spróbuj ponownie używając innych słów kluczowych."
|
||||
|
||||
#: loop-templates/content-none.php:34
|
||||
msgid ""
|
||||
"It seems we can’t find what you’re looking for. Perhaps "
|
||||
"searching can help."
|
||||
msgstr ""
|
||||
"Wygląda na to, że nie mogliśmy znaleźć tej strony. Może skorzystaj z"
|
||||
" wyszukiwarki?"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Blank Page Template"
|
||||
msgstr "Czysta strona"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Left and Right Sidebar Layout"
|
||||
msgstr "Lewy i prawy panel boczny"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Empty Page Template"
|
||||
msgstr "Pusta strona"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Full Width Page"
|
||||
msgstr "Pełna szerokość"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Left Sidebar Layout"
|
||||
msgstr "Lewy panel boczny"
|
||||
|
||||
#. Name of the template
|
||||
msgid "Vertical One Page"
|
||||
msgstr ""
|
||||
|
||||
#: inc/template-tags.php:18
|
||||
#, php-format
|
||||
msgid " Edited %4$s"
|
||||
msgstr " Zmiana %4$s"
|
||||
|
||||
#: inc/template-tags.php:29
|
||||
#, php-format
|
||||
msgctxt "post date"
|
||||
msgid "Posted on %s"
|
||||
msgstr "Opublikowano"
|
||||
|
||||
#: inc/template-tags.php:34
|
||||
#, php-format
|
||||
msgctxt "post author"
|
||||
msgid "by %s"
|
||||
msgstr "przez"
|
||||
|
||||
#. 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 "Opublikowano w %1$s"
|
||||
|
||||
#: inc/template-tags.php:59
|
||||
#, php-format
|
||||
msgid "Tagged %1$s"
|
||||
msgstr "Tagi: %1$s"
|
||||
|
||||
#: inc/template-tags.php:65
|
||||
msgid "Leave a comment"
|
||||
msgstr "Napisz komentarz"
|
||||
|
||||
#: inc/template-tags.php:65
|
||||
msgid "1 Comment"
|
||||
msgstr "Komentarzy: 1"
|
||||
|
||||
#: inc/template-tags.php:65
|
||||
msgid "% Comments"
|
||||
msgstr "Komentarzy: %"
|
||||
|
||||
#. translators: %s: Name of current post
|
||||
#: inc/template-tags.php:72
|
||||
#, php-format
|
||||
msgid "Edit %s"
|
||||
msgstr "Edytuj %s"
|
||||
|
||||
#: inc/template-tags.php:143
|
||||
msgid "Post navigation"
|
||||
msgstr "Nawigacja po artykułach"
|
||||
|
||||
#: inc/template-tags.php:148
|
||||
msgctxt "Previous post link"
|
||||
msgid "<i class=\"fa fa-angle-left\"></i> %title"
|
||||
msgstr "<i class=\"fa fa-angle-left\"></i> %title"
|
||||
|
||||
#: inc/template-tags.php:151
|
||||
msgctxt "Next post link"
|
||||
msgid "%title <i class=\"fa fa-angle-right\"></i>"
|
||||
msgstr "%title <i class=\"fa fa-angle-right\"></i>"
|
||||
|
||||
#: inc/setup.php:51
|
||||
msgid "Primary Menu"
|
||||
msgstr "Menu główne"
|
||||
|
||||
#: inc/setup.php:122
|
||||
msgid "Read More..."
|
||||
msgstr "Czytaj dalej…"
|
||||
|
||||
#: inc/widgets.php:14
|
||||
msgid "Right Sidebar"
|
||||
msgstr "Prawy panel boczny"
|
||||
|
||||
#: inc/widgets.php:24
|
||||
msgid "Left Sidebar"
|
||||
msgstr "Lewy panel boczny"
|
||||
|
||||
#: inc/widgets.php:34
|
||||
msgid "Hero Slider"
|
||||
msgstr "Slider Hero"
|
||||
|
||||
#: inc/widgets.php:44
|
||||
msgid "Hero Static"
|
||||
msgstr "Nieruchomy Hero"
|
||||
|
||||
#: inc/widgets.php:54
|
||||
msgid "Footer Full"
|
||||
msgstr "Pełna stopka"
|
||||
|
||||
#: inc/custom-comments.php:24
|
||||
msgid "Name"
|
||||
msgstr "Imię"
|
||||
|
||||
#: inc/custom-comments.php:27
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
#: inc/custom-comments.php:49
|
||||
msgctxt "noun"
|
||||
msgid "Comment"
|
||||
msgstr "Komentarz"
|
||||
|
||||
#: inc/customizer.php:36
|
||||
msgid "Slider Settings"
|
||||
msgstr "Ustawienia slidera"
|
||||
|
||||
#: inc/customizer.php:45
|
||||
msgid "Number of slides displaying at once"
|
||||
msgstr "Liczba jednocześnie wyświetlanych slajdów"
|
||||
|
||||
#: inc/customizer.php:57
|
||||
msgid "Slider Time (in ms)"
|
||||
msgstr "Długość wyświetlania slajdu (w ms)"
|
||||
|
||||
#: inc/customizer.php:69
|
||||
msgid "Loop Slider Content"
|
||||
msgstr "Zapętlenie"
|
||||
|
||||
#: inc/customizer.php:81
|
||||
msgid "Theme Layout Settings"
|
||||
msgstr "Ustawienia układu szablonu"
|
||||
|
||||
#: inc/customizer.php:83
|
||||
msgid "Container width and sidebar defaults"
|
||||
msgstr "Domyślne ustawienia szerokości strony oraz panelu bocznego"
|
||||
|
||||
#: inc/customizer.php:98
|
||||
msgid "Container Width"
|
||||
msgstr "Szerokość strony"
|
||||
|
||||
#: inc/customizer.php:99
|
||||
msgid "Choose between Bootstrap's container and container-fluid"
|
||||
msgstr "Wybierz pomiędzy klasami Bootstrapa: container oraz container-fluid"
|
||||
|
||||
#: inc/customizer.php:104
|
||||
msgid "Fixed width container"
|
||||
msgstr "Stała"
|
||||
|
||||
#: inc/customizer.php:105
|
||||
msgid "Full width container"
|
||||
msgstr "Zmienna (wypełnia całą dostępną przestrzeń)"
|
||||
|
||||
#: inc/customizer.php:122
|
||||
msgid "Sidebar Positioning"
|
||||
msgstr "Umiejscowienie panelu bocznego"
|
||||
|
||||
#: inc/customizer.php:123
|
||||
msgid "Set sidebar's position. Can either be: right, left, both or none"
|
||||
msgstr ""
|
||||
"Umiejscowienie panelu bocznego. Może znajdować się po prawej stronie, po"
|
||||
" lewej stronie, "
|
||||
"po obu stronach lub może w ogóle go nie być"
|
||||
|
||||
#: inc/customizer.php:129
|
||||
msgid "Right sidebar"
|
||||
msgstr "Panel boczny po prawej"
|
||||
|
||||
#: inc/customizer.php:130
|
||||
msgid "Left sidebar"
|
||||
msgstr "Panel boczny po lewej"
|
||||
|
||||
#: inc/customizer.php:131
|
||||
msgid "Left & Right sidebars"
|
||||
msgstr "Panel boczny po lewej i po prawej"
|
||||
|
||||
#: inc/customizer.php:132
|
||||
msgid "No sidebar"
|
||||
msgstr "Brak panelu bocznego"
|
||||
|
||||
#: 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 ""
|
||||
|
||||
#: 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 "Przejdź do kasy"
|
||||
|
||||
#: woocommerce/cart/mini-cart.php:49 woocommerce/cart/cart.php:60
|
||||
msgid "Remove this item"
|
||||
msgstr "Usuń ten przedmiot"
|
||||
|
||||
#: woocommerce/cart/mini-cart.php:72
|
||||
msgid "No products in the cart."
|
||||
msgstr "Koszyk jest pusty"
|
||||
|
||||
#: woocommerce/cart/mini-cart.php:80
|
||||
msgid "Subtotal"
|
||||
msgstr "Suma częściowa"
|
||||
|
||||
#: woocommerce/cart/mini-cart.php:85
|
||||
msgid "View Cart"
|
||||
msgstr "Zobacz koszyk"
|
||||
|
||||
#: woocommerce/cart/mini-cart.php:86
|
||||
msgid "Checkout"
|
||||
msgstr "Kasa"
|
||||
|
||||
#: woocommerce/cart/cart-empty.php:28
|
||||
msgid "Your cart is currently empty."
|
||||
msgstr "Twój koszyk jest pusty"
|
||||
|
||||
#: woocommerce/cart/cart-empty.php:36
|
||||
msgid "Return To Shop"
|
||||
msgstr "Wróć do sklepu"
|
||||
|
||||
#: woocommerce/cart/cart.php:36 woocommerce/cart/cart.php:79
|
||||
#: woocommerce/checkout/form-pay.php:29
|
||||
msgid "Product"
|
||||
msgstr "Produkt"
|
||||
|
||||
#: woocommerce/cart/cart.php:37 woocommerce/cart/cart.php:97
|
||||
msgid "Price"
|
||||
msgstr "Cena"
|
||||
|
||||
#: woocommerce/cart/cart.php:38 woocommerce/cart/cart.php:103
|
||||
msgid "Quantity"
|
||||
msgstr "Liczba sztuk"
|
||||
|
||||
#: woocommerce/cart/cart.php:39 woocommerce/cart/cart.php:120
|
||||
#: woocommerce/myaccount/my-orders.php:16
|
||||
msgid "Total"
|
||||
msgstr "Suma"
|
||||
|
||||
#: woocommerce/cart/cart.php:92
|
||||
msgid "Available on backorder"
|
||||
msgstr "Dostępny na zamówienie"
|
||||
|
||||
#: woocommerce/cart/cart.php:138
|
||||
msgid "Coupon:"
|
||||
msgstr "Kupon:"
|
||||
|
||||
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:36
|
||||
msgid "Coupon code"
|
||||
msgstr "Kod kuponu"
|
||||
|
||||
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:40
|
||||
msgid "Apply Coupon"
|
||||
msgstr "Zastosuj kupon"
|
||||
|
||||
#: woocommerce/cart/cart.php:144
|
||||
msgid "Update Cart"
|
||||
msgstr "Zaktualizuj koszyk"
|
||||
|
||||
#: 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 ""
|
||||
"Przykro nam, ale dla Twojego regionu nie jest udostępniona żadna metoda"
|
||||
" płatności. Prosimy skontaktuj się z nami, jeśli potrzebujesz wyjaśnień lub"
|
||||
" chcesz omówić alternatywne sposoby płatności."
|
||||
|
||||
#: woocommerce/checkout/payment.php:35
|
||||
msgid "Please fill in your details above to see available payment methods."
|
||||
msgstr "Wypełnij powyższe szczegóły aby zobaczyć dostępne metody płatności."
|
||||
|
||||
#: 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 ""
|
||||
"Ponieważ Twoja przeglądarka nie wspiera JavaScriptu lub jest on wyłączony,"
|
||||
" upewnij się, że klikniesz przycisk <em>Zaktualizuj koszyk</em> przed"
|
||||
" złożeniem zamówienia. Możesz zapłacić więcej niż jest podane powyżej, jeśli"
|
||||
" tego nie zrobisz."
|
||||
|
||||
#: woocommerce/checkout/payment.php:43
|
||||
msgid "Update totals"
|
||||
msgstr "Zaktualizuj koszyk"
|
||||
|
||||
#: woocommerce/checkout/form-pay.php:30
|
||||
msgid "Qty"
|
||||
msgstr "Szt."
|
||||
|
||||
#: woocommerce/checkout/form-pay.php:31
|
||||
msgid "Totals"
|
||||
msgstr "Łącznie"
|
||||
|
||||
#: 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 ""
|
||||
"Przykro nam, ale dla Twojej lokalizacji nie jest udostępniona żadna metoda"
|
||||
" płatności. Prosimy skontaktuj się z nami, jeśli potrzebujesz wyjaśnień lub"
|
||||
" chcesz omówić alternatywne sposoby płatności."
|
||||
|
||||
#: woocommerce/checkout/form-coupon.php:28
|
||||
msgid "Have a coupon?"
|
||||
msgstr "Masz kupon?"
|
||||
|
||||
#: woocommerce/checkout/form-coupon.php:28
|
||||
msgid "Click here to enter your code"
|
||||
msgstr "Kliknij tutaj, aby dodać kod"
|
||||
|
||||
#: woocommerce/global/form-login.php:35
|
||||
#: woocommerce/myaccount/form-lost-password.php:30
|
||||
msgid "Username or email"
|
||||
msgstr "Użytkownik lub e-mail"
|
||||
|
||||
#: woocommerce/global/form-login.php:39
|
||||
#: woocommerce/myaccount/form-login.php:48
|
||||
#: woocommerce/myaccount/form-login.php:98
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
#: woocommerce/global/form-login.php:48
|
||||
#: woocommerce/myaccount/form-login.php:37
|
||||
#: woocommerce/myaccount/form-login.php:56
|
||||
msgid "Login"
|
||||
msgstr "Zaloguj się"
|
||||
|
||||
#: woocommerce/global/form-login.php:51 woocommerce/myaccount/form-login.php:58
|
||||
msgid "Remember me"
|
||||
msgstr "Zapamiętaj mnie"
|
||||
|
||||
#: woocommerce/global/form-login.php:55 woocommerce/myaccount/form-login.php:62
|
||||
msgid "Lost your password?"
|
||||
msgstr "Nie pamiętasz hasła?"
|
||||
|
||||
#: woocommerce/global/quantity-input.php:24
|
||||
msgctxt "Product quantity input tooltip"
|
||||
msgid "Qty"
|
||||
msgstr "Szt."
|
||||
|
||||
#: 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 ""
|
||||
"Zapomniałeś hasła? Wpisz swoją nazwę użytkownika lub adres e-mail. Dostaniesz"
|
||||
" link do stworzenia nowego hasła mailem."
|
||||
|
||||
#: woocommerce/myaccount/form-lost-password.php:40
|
||||
msgid "Reset Password"
|
||||
msgstr "Resetuj hasło"
|
||||
|
||||
#: woocommerce/myaccount/form-login.php:44
|
||||
msgid "Username or email address"
|
||||
msgstr "Użytkownik lub e-mail"
|
||||
|
||||
#: woocommerce/myaccount/form-login.php:75
|
||||
#: woocommerce/myaccount/form-login.php:112
|
||||
msgid "Register"
|
||||
msgstr "Zarejestruj się"
|
||||
|
||||
#: woocommerce/myaccount/form-login.php:84
|
||||
msgid "Username"
|
||||
msgstr "Nazwa użytkownika"
|
||||
|
||||
#: woocommerce/myaccount/form-login.php:91
|
||||
#: woocommerce/myaccount/form-edit-account.php:40
|
||||
msgid "Email address"
|
||||
msgstr "E-mail"
|
||||
|
||||
#: woocommerce/myaccount/form-login.php:105
|
||||
msgid "Anti-spam"
|
||||
msgstr "Antyspam"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:30
|
||||
msgid "First name"
|
||||
msgstr "Imię"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:34
|
||||
msgid "Last name"
|
||||
msgstr "Nazwisko"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:45
|
||||
msgid "Password Change"
|
||||
msgstr "Zmiana hasła"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:48
|
||||
msgid "Current Password (leave blank to leave unchanged)"
|
||||
msgstr "Aktualne hasło (pozostaw puste, aby nie zmieniać)"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:52
|
||||
msgid "New Password (leave blank to leave unchanged)"
|
||||
msgstr "Nowe hasło (pozostaw puste, aby nie zmieniać)"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:56
|
||||
msgid "Confirm New Password"
|
||||
msgstr "Potwierdź nowe hasło"
|
||||
|
||||
#: woocommerce/myaccount/form-edit-account.php:66
|
||||
msgid "Save changes"
|
||||
msgstr "Zapisz zmiany"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:13
|
||||
msgid "Order"
|
||||
msgstr "Zamówienie"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:14
|
||||
msgid "Date"
|
||||
msgstr "Data"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:15
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:30
|
||||
msgid "Recent Orders"
|
||||
msgstr "Ostatnie zamówienia"
|
||||
|
||||
#: 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 za %s pozycję"
|
||||
msgstr[1] "%s za %s pozycje"
|
||||
msgstr[2] "%s za %s pozycji"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:72 woocommerce/myaccount/orders.php:68
|
||||
msgid "Pay"
|
||||
msgstr "Zapłać"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:76 woocommerce/myaccount/orders.php:72
|
||||
msgid "View"
|
||||
msgstr "Zobacz"
|
||||
|
||||
#: woocommerce/myaccount/my-orders.php:80 woocommerce/myaccount/orders.php:76
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: woocommerce/myaccount/orders.php:107
|
||||
msgid "Previous"
|
||||
msgstr "Poprzednie"
|
||||
|
||||
#: woocommerce/myaccount/orders.php:111
|
||||
msgid "Next"
|
||||
msgstr "Następne"
|
||||
|
||||
#: woocommerce/myaccount/orders.php:119 woocommerce/myaccount/downloads.php:98
|
||||
msgid "Go Shop"
|
||||
msgstr "Przejdź do sklepu"
|
||||
|
||||
#: woocommerce/myaccount/orders.php:121
|
||||
msgid "No order has been made yet."
|
||||
msgstr "Żadne zamówienia nie zostały jeszcze złożone."
|
||||
|
||||
#: woocommerce/myaccount/form-edit-address.php:23
|
||||
msgid "Billing Address"
|
||||
msgstr "Adres rozliczeniowy."
|
||||
|
||||
#: woocommerce/myaccount/form-edit-address.php:23
|
||||
msgid "Shipping Address"
|
||||
msgstr "Adres wysyłki."
|
||||
|
||||
#: woocommerce/myaccount/form-edit-address.php:46
|
||||
msgid "Save Address"
|
||||
msgstr "Zapisz adres"
|
||||
|
||||
#: woocommerce/myaccount/form-reset-password.php:27
|
||||
msgid "Enter a new password below."
|
||||
msgstr "Wpisz nowe hasło poniżej."
|
||||
|
||||
#: woocommerce/myaccount/form-reset-password.php:30
|
||||
msgid "New password"
|
||||
msgstr "Nowe hasło"
|
||||
|
||||
#: woocommerce/myaccount/form-reset-password.php:34
|
||||
msgid "Re-enter new password"
|
||||
msgstr "Powtórz nowe hasło"
|
||||
|
||||
#: woocommerce/myaccount/form-reset-password.php:47
|
||||
msgid "Save"
|
||||
msgstr "Zapisz"
|
||||
|
||||
#: woocommerce/myaccount/downloads.php:59
|
||||
msgid "∞"
|
||||
msgstr "∞"
|
||||
|
||||
#: woocommerce/myaccount/downloads.php:67
|
||||
msgid "Never"
|
||||
msgstr "Nigdy"
|
||||
|
||||
#: woocommerce/myaccount/downloads.php:75
|
||||
msgid "Download"
|
||||
msgstr "Pobieranie"
|
||||
|
||||
#: woocommerce/myaccount/downloads.php:100
|
||||
msgid "No downloads available yet."
|
||||
msgstr "Pliki do pobrania nie są jeszcze dostępne."
|
||||
|
||||
#: woocommerce/single-product/review-rating.php:28
|
||||
#, php-format
|
||||
msgid "Rated %d out of 5"
|
||||
msgstr "Oceniony %s na 5."
|
||||
|
||||
#: woocommerce/single-product/review-rating.php:29
|
||||
msgid "out of 5"
|
||||
msgstr "z 5"
|
||||
|
||||
#: woocommerce/single-product/rating.php:36
|
||||
#, php-format
|
||||
msgid "Rated %s out of 5"
|
||||
msgstr "Oceniony %s na 5."
|
||||
|
||||
#: woocommerce/single-product/rating.php:38
|
||||
#, php-format
|
||||
msgid "out of %s5%s"
|
||||
msgstr "z %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] "na podstawie %s oceny klienta"
|
||||
msgstr[1] "na podstawie %s ocen klientów"
|
||||
msgstr[2] "na podstawie %s ocen klientów"
|
||||
|
||||
#: woocommerce/single-product/rating.php:42
|
||||
#, php-format
|
||||
msgid "%s customer review"
|
||||
msgid_plural "%s customer reviews"
|
||||
msgstr[0] "%s opinia klienta"
|
||||
msgstr[1] "%s opinie klienta"
|
||||
msgstr[2] "%s opinii klienta"
|
||||
|
||||
#. Name of the theme
|
||||
msgid "UnderStrap"
|
||||
msgstr "UnderStrap"
|
||||
|
||||
#. 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 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 ""
|
||||
"Połączenie motywu _s od Automattic oraz Bootstrapa 4. Stworzony jako solidna "
|
||||
"podstawa dla Twojego następnego motywu lub strony opartej na WordPressie. "
|
||||
"Wykorzystaj go jako motyw startowy lub motyw nadrzędny. Jak chcesz. "
|
||||
"Zawiera obsługę Font Awesome, wbudowany widżet slidera i wiele innych. "
|
||||
"WAŻNE: Zależności nie są dołączone do tego pliku instalacyjnego. Po prostu "
|
||||
"pobierz plik .zip, rozpakuj go, wejdź do katalogu /understrap i uruchom"
|
||||
" polecenia "
|
||||
"\"npm install\" i \"gulp copy-assets\"."
|
||||
|
||||
#. Theme URI of the theme
|
||||
msgid "http://understrap.com"
|
||||
msgstr "http://understrap.com"
|
||||
|
||||
#. Author of the theme
|
||||
msgid "Holger Koenemann"
|
||||
msgstr "Holger Koenemann"
|
||||
|
||||
#. Author URI of the theme
|
||||
msgid "http://www.holgerkoenemann.de"
|
||||
msgstr "http://www.holgerkoenemann.de"
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "understrap",
|
||||
"version": "0.8.1",
|
||||
"version": "0.8.2",
|
||||
"description": "WordPress Theme framework",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
|
2
page.php
2
page.php
|
@ -42,8 +42,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
|||
|
||||
</main><!-- #main -->
|
||||
|
||||
</div><!-- #primary -->
|
||||
|
||||
<!-- Do the right sidebar check -->
|
||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap v4.1.0 (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)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
@import "theme/theme_variables"; // <--------- Add your variables into this file. Also add variables to overwrite Bootstrap or UnderStrap variables here
|
||||
@import "assets/bootstrap4";// <--------- Loads Bootstrap3 or Bootstrap4. Change from /bootstrap3 to /bootstrap4 Watch out! just for testing in the moment!
|
||||
@import "understrap/understrap";// <-------- Loads the UnderStrap defaults. Just a few classes to incorporate BS in WP
|
||||
|
||||
@import "understrap/woocommerce";// <-------- Loads WooCommerce style fixes. Comment out if you aren't using WooCommerce
|
||||
|
||||
//Optional files - If you dont use the corresponding scripts/fonts comment em out
|
||||
@import "assets/font-awesome"; // <------- Font Awesome Icon font
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
// Fix billing field wrapper
|
||||
.woocommerce-input-wrapper {
|
||||
width: 100%;
|
||||
}
|
BIN
screenshot.png
BIN
screenshot.png
Binary file not shown.
Before Width: | Height: | Size: 365 KiB After Width: | Height: | Size: 356 KiB |
|
@ -58,8 +58,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
|||
<!-- The pagination component -->
|
||||
<?php understrap_pagination(); ?>
|
||||
|
||||
</div><!-- #primary -->
|
||||
|
||||
<!-- Do the right sidebar check -->
|
||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
/**
|
||||
* Sidebar - hero canvas setup.
|
||||
*
|
||||
* @package understrap
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
<?php if ( is_active_sidebar( 'herocanvas' ) ) : ?>
|
||||
|
||||
<!-- ******************* The Hero Canvas Widget Area ******************* -->
|
||||
|
||||
<?php dynamic_sidebar( 'herocanvas' ); ?>
|
||||
|
||||
<?php endif; ?>
|
|
@ -37,8 +37,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
|||
|
||||
</main><!-- #main -->
|
||||
|
||||
</div><!-- #primary -->
|
||||
|
||||
<!-- Do the right sidebar check -->
|
||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap v4.1.0 (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)
|
||||
*/
|
||||
|
@ -28,22 +28,38 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|||
return Constructor;
|
||||
}
|
||||
|
||||
function _extends() {
|
||||
_extends = Object.assign || function (target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i];
|
||||
function _defineProperty(obj, key, value) {
|
||||
if (key in obj) {
|
||||
Object.defineProperty(obj, key, {
|
||||
value: value,
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true
|
||||
});
|
||||
} else {
|
||||
obj[key] = value;
|
||||
}
|
||||
|
||||
for (var key in source) {
|
||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
||||
target[key] = source[key];
|
||||
return obj;
|
||||
}
|
||||
|
||||
function _objectSpread(target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i] != null ? arguments[i] : {};
|
||||
var ownKeys = Object.keys(source);
|
||||
|
||||
if (typeof Object.getOwnPropertySymbols === 'function') {
|
||||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
||||
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
||||
}));
|
||||
}
|
||||
|
||||
ownKeys.forEach(function (key) {
|
||||
_defineProperty(target, key, source[key]);
|
||||
});
|
||||
}
|
||||
|
||||
return target;
|
||||
};
|
||||
|
||||
return _extends.apply(this, arguments);
|
||||
}
|
||||
|
||||
function _inheritsLoose(subClass, superClass) {
|
||||
|
@ -54,7 +70,7 @@ function _inheritsLoose(subClass, superClass) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): util.js
|
||||
* Bootstrap (v4.1.0): util.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -65,17 +81,18 @@ var Util = function ($$$1) {
|
|||
* Private TransitionEnd Helpers
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var transition = false;
|
||||
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
var TRANSITION_END = 'transitionend';
|
||||
var MAX_UID = 1000000;
|
||||
var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
|
||||
function toType(obj) {
|
||||
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
||||
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
||||
}
|
||||
|
||||
function getSpecialTransitionEndEvent() {
|
||||
return {
|
||||
bindType: transition.end,
|
||||
delegateType: transition.end,
|
||||
bindType: TRANSITION_END,
|
||||
delegateType: TRANSITION_END,
|
||||
handle: function handle(event) {
|
||||
if ($$$1(event.target).is(this)) {
|
||||
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
|
||||
|
@ -86,16 +103,6 @@ var Util = function ($$$1) {
|
|||
};
|
||||
}
|
||||
|
||||
function transitionEndTest() {
|
||||
if (typeof window !== 'undefined' && window.QUnit) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return {
|
||||
end: 'transitionend'
|
||||
};
|
||||
}
|
||||
|
||||
function transitionEndEmulator(duration) {
|
||||
var _this = this;
|
||||
|
||||
|
@ -112,20 +119,9 @@ var Util = function ($$$1) {
|
|||
}
|
||||
|
||||
function setTransitionEndSupport() {
|
||||
transition = transitionEndTest();
|
||||
$$$1.fn.emulateTransitionEnd = transitionEndEmulator;
|
||||
|
||||
if (Util.supportsTransitionEnd()) {
|
||||
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
||||
}
|
||||
}
|
||||
|
||||
function escapeId(selector) {
|
||||
// We escape IDs in case of special selectors (selector = '#myId:something')
|
||||
// $.escapeSelector does not exist in jQuery < 3
|
||||
selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
|
||||
return selector;
|
||||
}
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Public Util Api
|
||||
|
@ -148,11 +144,6 @@ var Util = function ($$$1) {
|
|||
|
||||
if (!selector || selector === '#') {
|
||||
selector = element.getAttribute('href') || '';
|
||||
} // If it's an ID
|
||||
|
||||
|
||||
if (selector.charAt(0) === '#') {
|
||||
selector = escapeId(selector);
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -162,14 +153,32 @@ var Util = function ($$$1) {
|
|||
return null;
|
||||
}
|
||||
},
|
||||
getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
|
||||
if (!element) {
|
||||
return 0;
|
||||
} // Get transition-duration of the element
|
||||
|
||||
|
||||
var transitionDuration = $$$1(element).css('transition-duration');
|
||||
var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
|
||||
|
||||
if (!floatTransitionDuration) {
|
||||
return 0;
|
||||
} // If multiple durations are defined, take the first
|
||||
|
||||
|
||||
transitionDuration = transitionDuration.split(',')[0];
|
||||
return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
|
||||
},
|
||||
reflow: function reflow(element) {
|
||||
return element.offsetHeight;
|
||||
},
|
||||
triggerTransitionEnd: function triggerTransitionEnd(element) {
|
||||
$$$1(element).trigger(transition.end);
|
||||
$$$1(element).trigger(TRANSITION_END);
|
||||
},
|
||||
// TODO: Remove in v5
|
||||
supportsTransitionEnd: function supportsTransitionEnd() {
|
||||
return Boolean(transition);
|
||||
return Boolean(TRANSITION_END);
|
||||
},
|
||||
isElement: function isElement(obj) {
|
||||
return (obj[0] || obj).nodeType;
|
||||
|
@ -194,7 +203,7 @@ var Util = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): alert.js
|
||||
* Bootstrap (v4.1.0): alert.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -206,12 +215,11 @@ var Alert = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'alert';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.alert';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var Selector = {
|
||||
DISMISS: '[data-dismiss="alert"]'
|
||||
};
|
||||
|
@ -289,15 +297,16 @@ var Alert = function ($$$1) {
|
|||
|
||||
$$$1(element).removeClass(ClassName.SHOW);
|
||||
|
||||
if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
|
||||
if (!$$$1(element).hasClass(ClassName.FADE)) {
|
||||
this._destroyElement(element);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(element);
|
||||
$$$1(element).one(Util.TRANSITION_END, function (event) {
|
||||
return _this._destroyElement(element, event);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
};
|
||||
|
||||
_proto._destroyElement = function _destroyElement(element) {
|
||||
|
@ -337,6 +346,7 @@ var Alert = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Alert;
|
||||
}();
|
||||
/**
|
||||
|
@ -366,7 +376,7 @@ var Alert = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): button.js
|
||||
* Bootstrap (v4.1.0): button.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -378,7 +388,7 @@ var Button = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'button';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.button';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -488,6 +498,7 @@ var Button = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Button;
|
||||
}();
|
||||
/**
|
||||
|
@ -529,7 +540,7 @@ var Button = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): carousel.js
|
||||
* Bootstrap (v4.1.0): carousel.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -541,12 +552,11 @@ var Carousel = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'carousel';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.carousel';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 600;
|
||||
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
|
||||
|
||||
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
|
||||
|
@ -655,7 +665,7 @@ var Carousel = function ($$$1) {
|
|||
this._isPaused = true;
|
||||
}
|
||||
|
||||
if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
|
||||
if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
|
||||
Util.triggerTransitionEnd(this._element);
|
||||
this.cycle(true);
|
||||
}
|
||||
|
@ -723,7 +733,7 @@ var Carousel = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -894,11 +904,12 @@ var Carousel = function ($$$1) {
|
|||
to: nextElementIndex
|
||||
});
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
|
||||
if ($$$1(this._element).hasClass(ClassName.SLIDE)) {
|
||||
$$$1(nextElement).addClass(orderClassName);
|
||||
Util.reflow(nextElement);
|
||||
$$$1(activeElement).addClass(directionalClassName);
|
||||
$$$1(nextElement).addClass(directionalClassName);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
|
||||
$$$1(activeElement).one(Util.TRANSITION_END, function () {
|
||||
$$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
|
||||
$$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
|
||||
|
@ -906,7 +917,7 @@ var Carousel = function ($$$1) {
|
|||
setTimeout(function () {
|
||||
return $$$1(_this3._element).trigger(slidEvent);
|
||||
}, 0);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
$$$1(activeElement).removeClass(ClassName.ACTIVE);
|
||||
$$$1(nextElement).addClass(ClassName.ACTIVE);
|
||||
|
@ -924,10 +935,10 @@ var Carousel = function ($$$1) {
|
|||
return this.each(function () {
|
||||
var data = $$$1(this).data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Default, $$$1(this).data());
|
||||
var _config = _objectSpread({}, Default, $$$1(this).data());
|
||||
|
||||
if (typeof config === 'object') {
|
||||
_config = _extends({}, _config, config);
|
||||
_config = _objectSpread({}, _config, config);
|
||||
}
|
||||
|
||||
var action = typeof config === 'string' ? config : _config.slide;
|
||||
|
@ -965,7 +976,8 @@ var Carousel = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
var config = _extends({}, $$$1(target).data(), $$$1(this).data());
|
||||
var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data());
|
||||
|
||||
var slideIndex = this.getAttribute('data-slide-to');
|
||||
|
||||
if (slideIndex) {
|
||||
|
@ -992,6 +1004,7 @@ var Carousel = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Carousel;
|
||||
}();
|
||||
/**
|
||||
|
@ -1028,7 +1041,7 @@ var Carousel = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): collapse.js
|
||||
* Bootstrap (v4.1.0): collapse.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1040,12 +1053,11 @@ var Collapse = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'collapse';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.collapse';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 600;
|
||||
var Default = {
|
||||
toggle: true,
|
||||
parent: ''
|
||||
|
@ -1187,14 +1199,10 @@ var Collapse = function ($$$1) {
|
|||
$$$1(_this._element).trigger(Event.SHOWN);
|
||||
};
|
||||
|
||||
if (!Util.supportsTransitionEnd()) {
|
||||
complete();
|
||||
return;
|
||||
}
|
||||
|
||||
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
||||
var scrollSize = "scroll" + capitalizedDimension;
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
this._element.style[dimension] = this._element[scrollSize] + "px";
|
||||
};
|
||||
|
||||
|
@ -1242,13 +1250,8 @@ var Collapse = function ($$$1) {
|
|||
};
|
||||
|
||||
this._element.style[dimension] = '';
|
||||
|
||||
if (!Util.supportsTransitionEnd()) {
|
||||
complete();
|
||||
return;
|
||||
}
|
||||
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
};
|
||||
|
||||
_proto.setTransitioning = function setTransitioning(isTransitioning) {
|
||||
|
@ -1266,7 +1269,7 @@ var Collapse = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
config.toggle = Boolean(config.toggle); // Coerce string values
|
||||
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
|
@ -1321,7 +1324,7 @@ var Collapse = function ($$$1) {
|
|||
var $this = $$$1(this);
|
||||
var data = $this.data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
|
||||
var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config);
|
||||
|
||||
if (!data && _config.toggle && /show|hide/.test(config)) {
|
||||
_config.toggle = false;
|
||||
|
@ -1353,6 +1356,7 @@ var Collapse = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Collapse;
|
||||
}();
|
||||
/**
|
||||
|
@ -1397,7 +1401,7 @@ var Collapse = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): dropdown.js
|
||||
* Bootstrap (v4.1.0): dropdown.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1409,7 +1413,7 @@ var Dropdown = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'dropdown';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.dropdown';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -1452,7 +1456,7 @@ var Dropdown = function ($$$1) {
|
|||
FORM_CHILD: '.dropdown form',
|
||||
MENU: '.dropdown-menu',
|
||||
NAVBAR_NAV: '.navbar-nav',
|
||||
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
|
||||
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
|
||||
};
|
||||
var AttachmentMap = {
|
||||
TOP: 'top-start',
|
||||
|
@ -1467,12 +1471,16 @@ var Dropdown = function ($$$1) {
|
|||
var Default = {
|
||||
offset: 0,
|
||||
flip: true,
|
||||
boundary: 'scrollParent'
|
||||
boundary: 'scrollParent',
|
||||
reference: 'toggle',
|
||||
display: 'dynamic'
|
||||
};
|
||||
var DefaultType = {
|
||||
offset: '(number|string|function)',
|
||||
flip: 'boolean',
|
||||
boundary: '(string|element)'
|
||||
boundary: '(string|element)',
|
||||
reference: '(string|element)',
|
||||
display: 'string'
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* Class Definition
|
||||
|
@ -1533,11 +1541,15 @@ var Dropdown = function ($$$1) {
|
|||
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
||||
}
|
||||
|
||||
var element = this._element; // For dropup with alignment we use the parent as popper container
|
||||
var referenceElement = this._element;
|
||||
|
||||
if ($$$1(parent).hasClass(ClassName.DROPUP)) {
|
||||
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
|
||||
element = parent;
|
||||
if (this._config.reference === 'parent') {
|
||||
referenceElement = parent;
|
||||
} else if (Util.isElement(this._config.reference)) {
|
||||
referenceElement = this._config.reference; // Check if it's jQuery element
|
||||
|
||||
if (typeof this._config.reference.jquery !== 'undefined') {
|
||||
referenceElement = this._config.reference[0];
|
||||
}
|
||||
} // If boundary is not `scrollParent`, then set position to `static`
|
||||
// to allow the menu to "escape" the scroll parent's boundaries
|
||||
|
@ -1548,7 +1560,7 @@ var Dropdown = function ($$$1) {
|
|||
$$$1(parent).addClass(ClassName.POSITION_STATIC);
|
||||
}
|
||||
|
||||
this._popper = new Popper(element, this._menu, this._getPopperConfig());
|
||||
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
|
||||
} // If this is a touch-enabled device we add extra
|
||||
// empty mouseover listeners to the body's immediate children;
|
||||
// only needed because of broken event delegation on iOS
|
||||
|
@ -1556,7 +1568,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
|
||||
if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
|
||||
$$$1('body').children().on('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().on('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
this._element.focus();
|
||||
|
@ -1601,7 +1613,7 @@ var Dropdown = function ($$$1) {
|
|||
};
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
|
||||
config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
|
||||
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -1648,7 +1660,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
if (typeof this._config.offset === 'function') {
|
||||
offsetConf.fn = function (data) {
|
||||
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
||||
data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
||||
return data;
|
||||
};
|
||||
} else {
|
||||
|
@ -1665,8 +1677,16 @@ var Dropdown = function ($$$1) {
|
|||
preventOverflow: {
|
||||
boundariesElement: this._config.boundary
|
||||
}
|
||||
}
|
||||
} // Disable Popper.js if we have a static display
|
||||
|
||||
};
|
||||
|
||||
if (this._config.display === 'static') {
|
||||
popperConfig.modifiers.applyStyle = {
|
||||
enabled: false
|
||||
};
|
||||
}
|
||||
|
||||
return popperConfig;
|
||||
}; // Static
|
||||
|
||||
|
@ -1731,7 +1751,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().off('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().off('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
toggles[i].setAttribute('aria-expanded', 'false');
|
||||
|
@ -1826,6 +1846,7 @@ var Dropdown = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Dropdown;
|
||||
}();
|
||||
/**
|
||||
|
@ -1862,7 +1883,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): modal.js
|
||||
* Bootstrap (v4.1.0): modal.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1874,13 +1895,11 @@ var Modal = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'modal';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.modal';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 300;
|
||||
var BACKDROP_TRANSITION_DURATION = 150;
|
||||
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
||||
|
||||
var Default = {
|
||||
|
@ -1941,7 +1960,6 @@ var Modal = function ($$$1) {
|
|||
this._isShown = false;
|
||||
this._isBodyOverflowing = false;
|
||||
this._ignoreBackdropClick = false;
|
||||
this._originalBodyPadding = 0;
|
||||
this._scrollbarWidth = 0;
|
||||
} // Getters
|
||||
|
||||
|
@ -1960,7 +1978,7 @@ var Modal = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
if ($$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
this._isTransitioning = true;
|
||||
}
|
||||
|
||||
|
@ -2022,7 +2040,7 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
|
||||
this._isShown = false;
|
||||
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
|
||||
var transition = $$$1(this._element).hasClass(ClassName.FADE);
|
||||
|
||||
if (transition) {
|
||||
this._isTransitioning = true;
|
||||
|
@ -2038,9 +2056,10 @@ var Modal = function ($$$1) {
|
|||
$$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
|
||||
|
||||
if (transition) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, function (event) {
|
||||
return _this2._hideModal(event);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
this._hideModal();
|
||||
}
|
||||
|
@ -2065,7 +2084,7 @@ var Modal = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -2073,7 +2092,7 @@ var Modal = function ($$$1) {
|
|||
_proto._showElement = function _showElement(relatedTarget) {
|
||||
var _this3 = this;
|
||||
|
||||
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
|
||||
var transition = $$$1(this._element).hasClass(ClassName.FADE);
|
||||
|
||||
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
||||
// Don't move modal's DOM position
|
||||
|
@ -2110,7 +2129,8 @@ var Modal = function ($$$1) {
|
|||
};
|
||||
|
||||
if (transition) {
|
||||
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
transitionComplete();
|
||||
}
|
||||
|
@ -2188,7 +2208,6 @@ var Modal = function ($$$1) {
|
|||
var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
|
||||
|
||||
if (this._isShown && this._config.backdrop) {
|
||||
var doAnimate = Util.supportsTransitionEnd() && animate;
|
||||
this._backdrop = document.createElement('div');
|
||||
this._backdrop.className = ClassName.BACKDROP;
|
||||
|
||||
|
@ -2214,7 +2233,7 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
});
|
||||
|
||||
if (doAnimate) {
|
||||
if (animate) {
|
||||
Util.reflow(this._backdrop);
|
||||
}
|
||||
|
||||
|
@ -2224,12 +2243,13 @@ var Modal = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!doAnimate) {
|
||||
if (!animate) {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
||||
var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
|
||||
} else if (!this._isShown && this._backdrop) {
|
||||
$$$1(this._backdrop).removeClass(ClassName.SHOW);
|
||||
|
||||
|
@ -2241,8 +2261,10 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
};
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
||||
if ($$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
||||
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
|
||||
} else {
|
||||
callbackRemove();
|
||||
}
|
||||
|
@ -2304,8 +2326,8 @@ var Modal = function ($$$1) {
|
|||
}); // Adjust body padding
|
||||
|
||||
var actualPadding = document.body.style.paddingRight;
|
||||
var calculatedPadding = $$$1('body').css('padding-right');
|
||||
$$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
||||
var calculatedPadding = $$$1(document.body).css('padding-right');
|
||||
$$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2327,10 +2349,10 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
}); // Restore body padding
|
||||
|
||||
var padding = $$$1('body').data('padding-right');
|
||||
var padding = $$$1(document.body).data('padding-right');
|
||||
|
||||
if (typeof padding !== 'undefined') {
|
||||
$$$1('body').css('padding-right', padding).removeData('padding-right');
|
||||
$$$1(document.body).css('padding-right', padding).removeData('padding-right');
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2349,7 +2371,7 @@ var Modal = function ($$$1) {
|
|||
return this.each(function () {
|
||||
var data = $$$1(this).data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
|
||||
var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
|
||||
|
||||
if (!data) {
|
||||
data = new Modal(this, _config);
|
||||
|
@ -2379,6 +2401,7 @@ var Modal = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Modal;
|
||||
}();
|
||||
/**
|
||||
|
@ -2398,7 +2421,7 @@ var Modal = function ($$$1) {
|
|||
target = $$$1(selector)[0];
|
||||
}
|
||||
|
||||
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());
|
||||
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
|
||||
|
||||
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
||||
event.preventDefault();
|
||||
|
@ -2438,7 +2461,7 @@ var Modal = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): tooltip.js
|
||||
* Bootstrap (v4.1.0): tooltip.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -2450,11 +2473,10 @@ var Tooltip = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'tooltip';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.tooltip';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var CLASS_PREFIX = 'bs-tooltip';
|
||||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
||||
var DefaultType = {
|
||||
|
@ -2700,7 +2722,7 @@ var Tooltip = function ($$$1) {
|
|||
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().on('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().on('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
var complete = function complete() {
|
||||
|
@ -2717,8 +2739,9 @@ var Tooltip = function ($$$1) {
|
|||
}
|
||||
};
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
|
||||
if ($$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
|
||||
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -2761,15 +2784,16 @@ var Tooltip = function ($$$1) {
|
|||
// empty mouseover listeners we added for iOS support
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().off('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().off('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
this._activeTrigger[Trigger.CLICK] = false;
|
||||
this._activeTrigger[Trigger.FOCUS] = false;
|
||||
this._activeTrigger[Trigger.HOVER] = false;
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
if ($$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(tip);
|
||||
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -2860,7 +2884,7 @@ var Tooltip = function ($$$1) {
|
|||
});
|
||||
|
||||
if (this.config.selector) {
|
||||
this.config = _extends({}, this.config, {
|
||||
this.config = _objectSpread({}, this.config, {
|
||||
trigger: 'manual',
|
||||
selector: ''
|
||||
});
|
||||
|
@ -2954,7 +2978,7 @@ var Tooltip = function ($$$1) {
|
|||
};
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);
|
||||
config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config);
|
||||
|
||||
if (typeof config.delay === 'number') {
|
||||
config.delay = {
|
||||
|
@ -3081,6 +3105,7 @@ var Tooltip = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Tooltip;
|
||||
}();
|
||||
/**
|
||||
|
@ -3103,7 +3128,7 @@ var Tooltip = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): popover.js
|
||||
* Bootstrap (v4.1.0): popover.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3115,21 +3140,24 @@ var Popover = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'popover';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.popover';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var CLASS_PREFIX = 'bs-popover';
|
||||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
||||
var Default = _extends({}, Tooltip.Default, {
|
||||
|
||||
var Default = _objectSpread({}, Tooltip.Default, {
|
||||
placement: 'right',
|
||||
trigger: 'click',
|
||||
content: '',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
|
||||
});
|
||||
var DefaultType = _extends({}, Tooltip.DefaultType, {
|
||||
|
||||
var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
|
||||
content: '(string|element|function)'
|
||||
});
|
||||
|
||||
var ClassName = {
|
||||
FADE: 'fade',
|
||||
SHOW: 'show'
|
||||
|
@ -3274,6 +3302,7 @@ var Popover = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Popover;
|
||||
}(Tooltip);
|
||||
/**
|
||||
|
@ -3296,7 +3325,7 @@ var Popover = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): scrollspy.js
|
||||
* Bootstrap (v4.1.0): scrollspy.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3308,7 +3337,7 @@ var ScrollSpy = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'scrollspy';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.scrollspy';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -3435,7 +3464,7 @@ var ScrollSpy = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
|
||||
if (typeof config.target !== 'string') {
|
||||
var id = $$$1(config.target).attr('id');
|
||||
|
@ -3570,6 +3599,7 @@ var ScrollSpy = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return ScrollSpy;
|
||||
}();
|
||||
/**
|
||||
|
@ -3607,7 +3637,7 @@ var ScrollSpy = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): tab.js
|
||||
* Bootstrap (v4.1.0): tab.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3619,12 +3649,11 @@ var Tab = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'tab';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.tab';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var Event = {
|
||||
HIDE: "hide" + EVENT_KEY,
|
||||
HIDDEN: "hidden" + EVENT_KEY,
|
||||
|
@ -3743,14 +3772,15 @@ var Tab = function ($$$1) {
|
|||
}
|
||||
|
||||
var active = activeElements[0];
|
||||
var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
|
||||
var isTransitioning = callback && active && $$$1(active).hasClass(ClassName.FADE);
|
||||
|
||||
var complete = function complete() {
|
||||
return _this2._transitionComplete(element, active, callback);
|
||||
};
|
||||
|
||||
if (active && isTransitioning) {
|
||||
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(active);
|
||||
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -3821,6 +3851,7 @@ var Tab = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Tab;
|
||||
}();
|
||||
/**
|
||||
|
@ -3854,7 +3885,7 @@ var Tab = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0-alpha.6): index.js
|
||||
* Bootstrap (v4.0.0): index.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -5,17 +5,20 @@
|
|||
margin-bottom: $breadcrumb-margin-bottom;
|
||||
list-style: none;
|
||||
background-color: $breadcrumb-bg;
|
||||
@include border-radius($border-radius);
|
||||
@include border-radius($breadcrumb-border-radius);
|
||||
}
|
||||
|
||||
.breadcrumb-item {
|
||||
// The separator between breadcrumbs (by default, a forward-slash: "/")
|
||||
+ .breadcrumb-item::before {
|
||||
+ .breadcrumb-item {
|
||||
padding-left: $breadcrumb-item-padding;
|
||||
|
||||
&::before {
|
||||
display: inline-block; // Suppress underlining of the separator in modern browsers
|
||||
padding-right: $breadcrumb-item-padding;
|
||||
padding-left: $breadcrumb-item-padding;
|
||||
color: $breadcrumb-divider-color;
|
||||
content: "#{$breadcrumb-divider}";
|
||||
content: $breadcrumb-divider;
|
||||
}
|
||||
}
|
||||
|
||||
// IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
|
||||
|
|
|
@ -76,9 +76,15 @@
|
|||
padding-right: $btn-padding-x * .75;
|
||||
padding-left: $btn-padding-x * .75;
|
||||
|
||||
&::after {
|
||||
&::after,
|
||||
.dropup &::after,
|
||||
.dropright &::after {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.dropleft &::before {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-sm + .dropdown-toggle-split {
|
||||
|
|
|
@ -100,6 +100,7 @@ fieldset:disabled a.btn {
|
|||
&:disabled,
|
||||
&.disabled {
|
||||
color: $btn-link-disabled-color;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
// No need for an active state here
|
||||
|
|
|
@ -153,7 +153,7 @@
|
|||
|
||||
.card {
|
||||
display: flex;
|
||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored
|
||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
|
||||
flex: 1 0 0%;
|
||||
flex-direction: column;
|
||||
margin-right: $card-deck-margin;
|
||||
|
@ -183,7 +183,7 @@
|
|||
// The child selector allows nested `.card` within `.card-group`
|
||||
// to display properly.
|
||||
> .card {
|
||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored
|
||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
|
||||
flex: 1 0 0%;
|
||||
margin-bottom: 0;
|
||||
|
||||
|
@ -261,6 +261,8 @@
|
|||
@include media-breakpoint-up(sm) {
|
||||
column-count: $card-columns-count;
|
||||
column-gap: $card-columns-gap;
|
||||
orphans: 1;
|
||||
widows: 1;
|
||||
|
||||
.card {
|
||||
display: inline-block; // Don't let them vertically span multiple columns
|
||||
|
@ -268,3 +270,32 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Accordion
|
||||
//
|
||||
|
||||
.accordion {
|
||||
.card:not(:first-of-type):not(:last-of-type) {
|
||||
border-bottom: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.card:not(:first-of-type) {
|
||||
.card-header:first-child {
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.card:first-of-type {
|
||||
border-bottom: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.card:last-of-type {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,13 @@
|
|||
// Wrapper for the slide container and indicators
|
||||
// Notes on the classes:
|
||||
//
|
||||
// 1. The .carousel-item-left and .carousel-item-right is used to indicate where
|
||||
// the active slide is heading.
|
||||
// 2. .active.carousel-item is the current slide.
|
||||
// 3. .active.carousel-item-left and .active.carousel-item-right is the current
|
||||
// slide in its in-transition state. Only one of these occurs at a time.
|
||||
// 4. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right
|
||||
// is the upcoming slide in transition.
|
||||
|
||||
.carousel {
|
||||
position: relative;
|
||||
}
|
||||
|
@ -31,7 +40,6 @@
|
|||
top: 0;
|
||||
}
|
||||
|
||||
// CSS3 transforms when supported by the browser
|
||||
.carousel-item-next.carousel-item-left,
|
||||
.carousel-item-prev.carousel-item-right {
|
||||
transform: translateX(0);
|
||||
|
@ -60,6 +68,42 @@
|
|||
}
|
||||
|
||||
|
||||
//
|
||||
// Alternate transitions
|
||||
//
|
||||
|
||||
.carousel-fade {
|
||||
.carousel-item {
|
||||
opacity: 0;
|
||||
transition-duration: .6s;
|
||||
transition-property: opacity;
|
||||
}
|
||||
|
||||
.carousel-item.active,
|
||||
.carousel-item-next.carousel-item-left,
|
||||
.carousel-item-prev.carousel-item-right {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.active.carousel-item-left,
|
||||
.active.carousel-item-right {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.carousel-item-next,
|
||||
.carousel-item-prev,
|
||||
.carousel-item.active,
|
||||
.active.carousel-item-left,
|
||||
.active.carousel-item-prev {
|
||||
transform: translateX(0);
|
||||
|
||||
@supports (transform-style: preserve-3d) {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Left/right controls for nav
|
||||
//
|
||||
|
@ -91,13 +135,13 @@
|
|||
.carousel-control-prev {
|
||||
left: 0;
|
||||
@if $enable-gradients {
|
||||
background: linear-gradient(90deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
|
||||
background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));
|
||||
}
|
||||
}
|
||||
.carousel-control-next {
|
||||
right: 0;
|
||||
@if $enable-gradients {
|
||||
background: linear-gradient(270deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
|
||||
background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@
|
|||
// Select
|
||||
//
|
||||
// Replaces the browser default select with a custom one, mostly pulled from
|
||||
// http://primercss.io.
|
||||
// https://primer.github.io/.
|
||||
//
|
||||
|
||||
.custom-select {
|
||||
|
@ -247,11 +247,11 @@
|
|||
margin: 0;
|
||||
opacity: 0;
|
||||
|
||||
&:focus ~ .custom-file-control {
|
||||
&:focus ~ .custom-file-label {
|
||||
border-color: $custom-file-focus-border-color;
|
||||
box-shadow: $custom-file-focus-box-shadow;
|
||||
|
||||
&::before {
|
||||
&::after {
|
||||
border-color: $custom-file-focus-border-color;
|
||||
}
|
||||
}
|
||||
|
@ -295,3 +295,126 @@
|
|||
@include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Range
|
||||
//
|
||||
// Style range inputs the same across browsers. Vendor-specific rules for psuedo
|
||||
// elements cannot be mixed. As such, there are no shared styles for focus or
|
||||
// active states on prefixed selectors.
|
||||
|
||||
.custom-range {
|
||||
width: 100%;
|
||||
padding-left: 0; // Firefox specific
|
||||
background-color: transparent;
|
||||
appearance: none;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
&::-moz-focus-outer {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
&::-webkit-slider-thumb {
|
||||
width: $custom-range-thumb-width;
|
||||
height: $custom-range-thumb-height;
|
||||
margin-top: -($custom-range-thumb-width * .25); // Webkit specific?
|
||||
@include gradient-bg($custom-range-thumb-bg);
|
||||
border: $custom-range-thumb-border;
|
||||
@include border-radius($custom-range-thumb-border-radius);
|
||||
@include box-shadow($custom-range-thumb-box-shadow);
|
||||
appearance: none;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
|
||||
}
|
||||
|
||||
&:active {
|
||||
@include gradient-bg($custom-range-thumb-active-bg);
|
||||
}
|
||||
}
|
||||
|
||||
&::-webkit-slider-runnable-track {
|
||||
width: $custom-range-track-width;
|
||||
height: $custom-range-track-height;
|
||||
color: transparent; // Why?
|
||||
cursor: $custom-range-track-cursor;
|
||||
background-color: $custom-range-track-bg;
|
||||
border-color: transparent;
|
||||
@include border-radius($custom-range-track-border-radius);
|
||||
@include box-shadow($custom-range-track-box-shadow);
|
||||
}
|
||||
|
||||
&::-moz-range-thumb {
|
||||
width: $custom-range-thumb-width;
|
||||
height: $custom-range-thumb-height;
|
||||
@include gradient-bg($custom-range-thumb-bg);
|
||||
border: $custom-range-thumb-border;
|
||||
@include border-radius($custom-range-thumb-border-radius);
|
||||
@include box-shadow($custom-range-thumb-box-shadow);
|
||||
appearance: none;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
|
||||
}
|
||||
|
||||
&:active {
|
||||
@include gradient-bg($custom-range-thumb-active-bg);
|
||||
}
|
||||
}
|
||||
|
||||
&::-moz-range-track {
|
||||
width: $custom-range-track-width;
|
||||
height: $custom-range-track-height;
|
||||
color: transparent;
|
||||
cursor: $custom-range-track-cursor;
|
||||
background-color: $custom-range-track-bg;
|
||||
border-color: transparent; // Firefox specific?
|
||||
@include border-radius($custom-range-track-border-radius);
|
||||
@include box-shadow($custom-range-track-box-shadow);
|
||||
}
|
||||
|
||||
&::-ms-thumb {
|
||||
width: $custom-range-thumb-width;
|
||||
height: $custom-range-thumb-height;
|
||||
@include gradient-bg($custom-range-thumb-bg);
|
||||
border: $custom-range-thumb-border;
|
||||
@include border-radius($custom-range-thumb-border-radius);
|
||||
@include box-shadow($custom-range-thumb-box-shadow);
|
||||
appearance: none;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
|
||||
}
|
||||
|
||||
&:active {
|
||||
@include gradient-bg($custom-range-thumb-active-bg);
|
||||
}
|
||||
}
|
||||
|
||||
&::-ms-track {
|
||||
width: $custom-range-track-width;
|
||||
height: $custom-range-track-height;
|
||||
color: transparent;
|
||||
cursor: $custom-range-track-cursor;
|
||||
background-color: transparent;
|
||||
border-color: transparent;
|
||||
border-width: ($custom-range-thumb-height * .5);
|
||||
@include box-shadow($custom-range-track-box-shadow);
|
||||
}
|
||||
|
||||
&::-ms-fill-lower {
|
||||
background-color: $custom-range-track-bg;
|
||||
@include border-radius($custom-range-track-border-radius);
|
||||
}
|
||||
|
||||
&::-ms-fill-upper {
|
||||
margin-right: 15px; // arbitrary?
|
||||
background-color: $custom-range-track-bg;
|
||||
@include border-radius($custom-range-track-border-radius);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
// The dropdown wrapper (`<div>`)
|
||||
.dropup,
|
||||
.dropdown {
|
||||
.dropright,
|
||||
.dropdown,
|
||||
.dropleft {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
@ -31,10 +33,17 @@
|
|||
@include box-shadow($dropdown-box-shadow);
|
||||
}
|
||||
|
||||
.dropdown-menu-right {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
// Allow for dropdowns to go bottom up (aka, dropup-menu)
|
||||
// Just add .dropup after the standard .dropdown class and you're set.
|
||||
.dropup {
|
||||
.dropdown-menu {
|
||||
top: auto;
|
||||
bottom: 100%;
|
||||
margin-top: 0;
|
||||
margin-bottom: $dropdown-spacer;
|
||||
}
|
||||
|
@ -46,6 +55,9 @@
|
|||
|
||||
.dropright {
|
||||
.dropdown-menu {
|
||||
top: 0;
|
||||
right: auto;
|
||||
left: 100%;
|
||||
margin-top: 0;
|
||||
margin-left: $dropdown-spacer;
|
||||
}
|
||||
|
@ -60,6 +72,9 @@
|
|||
|
||||
.dropleft {
|
||||
.dropdown-menu {
|
||||
top: 0;
|
||||
right: 100%;
|
||||
left: auto;
|
||||
margin-top: 0;
|
||||
margin-right: $dropdown-spacer;
|
||||
}
|
||||
|
@ -72,6 +87,19 @@
|
|||
}
|
||||
}
|
||||
|
||||
// When enabled Popper.js, reset basic dropdown position
|
||||
// stylelint-disable no-duplicate-selectors
|
||||
.dropdown-menu {
|
||||
&[x-placement^="top"],
|
||||
&[x-placement^="right"],
|
||||
&[x-placement^="bottom"],
|
||||
&[x-placement^="left"] {
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
}
|
||||
}
|
||||
// stylelint-enable no-duplicate-selectors
|
||||
|
||||
// Dividers (basically an `<hr>`) within the dropdown
|
||||
.dropdown-divider {
|
||||
@include nav-divider($dropdown-divider-bg);
|
||||
|
@ -129,3 +157,10 @@
|
|||
color: $dropdown-header-color;
|
||||
white-space: nowrap; // as with > li > a
|
||||
}
|
||||
|
||||
// Dropdown text
|
||||
.dropdown-item-text {
|
||||
display: block;
|
||||
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
|
||||
color: $dropdown-link-color;
|
||||
}
|
||||
|
|
|
@ -121,6 +121,7 @@ select.form-control {
|
|||
padding-bottom: $input-padding-y;
|
||||
margin-bottom: 0; // match inputs if this class comes on inputs with default margins
|
||||
line-height: $input-line-height;
|
||||
color: $input-plaintext-color;
|
||||
background-color: transparent;
|
||||
border: solid transparent;
|
||||
border-width: $input-border-width 0;
|
||||
|
@ -302,7 +303,8 @@ select.form-control-lg {
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
.input-group {
|
||||
.input-group,
|
||||
.custom-select {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
// Request a theme color level
|
||||
@function theme-color-level($color-name: "primary", $level: 0) {
|
||||
$color: theme-color($color-name);
|
||||
$color-base: if($level > 0, #000, #fff);
|
||||
$color-base: if($level > 0, $black, $white);
|
||||
$level: abs($level);
|
||||
|
||||
@return mix($color-base, $color, $level * $theme-color-interval);
|
||||
|
|
|
@ -46,9 +46,9 @@
|
|||
align-items: center;
|
||||
|
||||
&:not(:last-child) .custom-file-label,
|
||||
&:not(:last-child) .custom-file-label::before { @include border-right-radius(0); }
|
||||
&:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
|
||||
&:not(:first-child) .custom-file-label,
|
||||
&:not(:first-child) .custom-file-label::before { @include border-left-radius(0); }
|
||||
&:not(:first-child) .custom-file-label::after { @include border-left-radius(0); }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,6 @@
|
|||
|
||||
// // Layout
|
||||
@import "mixins/clearfix";
|
||||
// @import "mixins/navbar-align";
|
||||
@import "mixins/grid-framework";
|
||||
@import "mixins/grid";
|
||||
@import "mixins/float";
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
background-color: $modal-content-bg;
|
||||
background-clip: padding-box;
|
||||
border: $modal-content-border-width solid $modal-content-border-color;
|
||||
@include border-radius($border-radius-lg);
|
||||
@include border-radius($modal-content-border-radius);
|
||||
@include box-shadow($modal-content-box-shadow-xs);
|
||||
// Remove focus outline from opened modal
|
||||
outline: 0;
|
||||
|
@ -96,7 +96,7 @@
|
|||
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
|
||||
padding: $modal-header-padding;
|
||||
border-bottom: $modal-header-border-width solid $modal-header-border-color;
|
||||
@include border-top-radius($border-radius-lg);
|
||||
@include border-top-radius($modal-content-border-radius);
|
||||
|
||||
.close {
|
||||
padding: $modal-header-padding;
|
||||
|
|
|
@ -162,11 +162,6 @@
|
|||
position: absolute;
|
||||
}
|
||||
|
||||
.dropdown-menu-right {
|
||||
right: 0;
|
||||
left: auto; // Reset the default from `.dropdown-menu`
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
padding-right: $navbar-nav-link-padding-x;
|
||||
padding-left: $navbar-nav-link-padding-x;
|
||||
|
@ -189,13 +184,6 @@
|
|||
.navbar-toggler {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dropup {
|
||||
.dropdown-menu {
|
||||
top: auto;
|
||||
bottom: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
border: $pagination-border-width solid $pagination-border-color;
|
||||
|
||||
&:hover {
|
||||
z-index: 2;
|
||||
color: $pagination-hover-color;
|
||||
text-decoration: none;
|
||||
background-color: $pagination-hover-bg;
|
||||
|
@ -23,7 +24,7 @@
|
|||
|
||||
&:focus {
|
||||
z-index: 2;
|
||||
outline: 0;
|
||||
outline: $pagination-focus-outline;
|
||||
box-shadow: $pagination-focus-box-shadow;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// ==========================================================================
|
||||
// Print styles.
|
||||
// Inlined to avoid the additional HTTP request:
|
||||
// http://www.phpied.com/delay-loading-your-print-css/
|
||||
// https://www.phpied.com/delay-loading-your-print-css/
|
||||
// ==========================================================================
|
||||
|
||||
@if $enable-print-styles {
|
||||
|
@ -14,7 +14,7 @@
|
|||
*::before,
|
||||
*::after {
|
||||
// Bootstrap specific; comment out `color` and `background`
|
||||
//color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953
|
||||
//color: $black !important; // Black prints faster
|
||||
text-shadow: none !important;
|
||||
//background: transparent !important;
|
||||
box-shadow: none !important;
|
||||
|
@ -51,7 +51,7 @@
|
|||
}
|
||||
pre,
|
||||
blockquote {
|
||||
border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px
|
||||
border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@
|
|||
display: none;
|
||||
}
|
||||
.badge {
|
||||
border: $border-width solid #000;
|
||||
border: $border-width solid $black;
|
||||
}
|
||||
|
||||
.table {
|
||||
|
@ -109,13 +109,13 @@
|
|||
|
||||
td,
|
||||
th {
|
||||
background-color: #fff !important;
|
||||
background-color: $white !important;
|
||||
}
|
||||
}
|
||||
.table-bordered {
|
||||
th,
|
||||
td {
|
||||
border: 1px solid #ddd !important;
|
||||
border: 1px solid $gray-300 !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
justify-content: center;
|
||||
color: $progress-bar-color;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
background-color: $progress-bar-bg;
|
||||
@include transition($progress-bar-transition);
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ html {
|
|||
-webkit-text-size-adjust: 100%; // 4
|
||||
-ms-text-size-adjust: 100%; // 4
|
||||
-ms-overflow-style: scrollbar; // 5
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6
|
||||
-webkit-tap-highlight-color: rgba($black, 0); // 6
|
||||
}
|
||||
|
||||
// IE10+ doesn't honor `<meta name="viewport">` in some cases.
|
||||
|
@ -290,7 +290,7 @@ table {
|
|||
caption {
|
||||
padding-top: $table-cell-padding;
|
||||
padding-bottom: $table-cell-padding;
|
||||
color: $text-muted;
|
||||
color: $table-caption-color;
|
||||
text-align: left;
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
@ -309,7 +309,7 @@ th {
|
|||
label {
|
||||
// Allow labels to use `margin` for spacing.
|
||||
display: inline-block;
|
||||
margin-bottom: .5rem;
|
||||
margin-bottom: $label-margin-bottom;
|
||||
}
|
||||
|
||||
// Remove the default `border-radius` that macOS Chrome adds.
|
||||
|
|
|
@ -42,9 +42,9 @@
|
|||
}
|
||||
|
||||
|
||||
// Bordered version
|
||||
// Border versions
|
||||
//
|
||||
// Add borders all around the table and between all the columns.
|
||||
// Add or remove borders all around the table and between all the columns.
|
||||
|
||||
.table-bordered {
|
||||
border: $table-border-width solid $table-border-color;
|
||||
|
@ -62,13 +62,21 @@
|
|||
}
|
||||
}
|
||||
|
||||
.table-borderless {
|
||||
th,
|
||||
td,
|
||||
thead th,
|
||||
tbody + tbody {
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Zebra-striping
|
||||
//
|
||||
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
|
||||
|
||||
.table-striped {
|
||||
tbody tr:nth-of-type(odd) {
|
||||
tbody tr:nth-of-type(#{$table-striped-order}) {
|
||||
background-color: $table-accent-bg;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,30 +1,16 @@
|
|||
// stylelint-disable selector-no-qualifying-type
|
||||
|
||||
.fade {
|
||||
opacity: 0;
|
||||
@include transition($transition-fade);
|
||||
|
||||
&.show {
|
||||
opacity: 1;
|
||||
&:not(.show) {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.collapse {
|
||||
&:not(.show) {
|
||||
display: none;
|
||||
&.show {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
tr {
|
||||
&.collapse.show {
|
||||
display: table-row;
|
||||
}
|
||||
}
|
||||
|
||||
tbody {
|
||||
&.collapse.show {
|
||||
display: table-row-group;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
@import "utilities/float";
|
||||
@import "utilities/position";
|
||||
@import "utilities/screenreaders";
|
||||
@import "utilities/shadows";
|
||||
@import "utilities/sizing";
|
||||
@import "utilities/spacing";
|
||||
@import "utilities/text";
|
||||
|
|
|
@ -132,7 +132,8 @@ $sizes: map-merge((
|
|||
25: 25%,
|
||||
50: 50%,
|
||||
75: 75%,
|
||||
100: 100%
|
||||
100: 100%,
|
||||
auto: auto
|
||||
), $sizes);
|
||||
// stylelint-enable
|
||||
|
||||
|
@ -211,6 +212,10 @@ $border-radius: .25rem !default;
|
|||
$border-radius-lg: .3rem !default;
|
||||
$border-radius-sm: .2rem !default;
|
||||
|
||||
$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;
|
||||
$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;
|
||||
$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;
|
||||
|
||||
$component-active-color: $white !default;
|
||||
$component-active-bg: theme-color("primary") !default;
|
||||
|
||||
|
@ -317,6 +322,9 @@ $table-dark-hover-bg: rgba($white, .075) !default;
|
|||
$table-dark-border-color: lighten($gray-900, 7.5%) !default;
|
||||
$table-dark-color: $body-bg !default;
|
||||
|
||||
$table-striped-order: odd !default;
|
||||
|
||||
$table-caption-color: $text-muted !default;
|
||||
|
||||
// Buttons + Forms
|
||||
//
|
||||
|
@ -380,6 +388,8 @@ $btn-transition: color .15s ease-in-out, background-color .15s ease
|
|||
|
||||
// Forms
|
||||
|
||||
$label-margin-bottom: .5rem !default;
|
||||
|
||||
$input-padding-y: $input-btn-padding-y !default;
|
||||
$input-padding-x: $input-btn-padding-x !default;
|
||||
$input-line-height: $input-btn-line-height !default;
|
||||
|
@ -411,6 +421,7 @@ $input-focus-width: $input-btn-focus-width !default;
|
|||
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||
|
||||
$input-placeholder-color: $gray-600 !default;
|
||||
$input-plaintext-color: $body-color !default;
|
||||
|
||||
$input-height-border: $input-border-width * 2 !default;
|
||||
|
||||
|
@ -480,7 +491,7 @@ $custom-select-indicator-padding: 1rem !default; // Extra padding to account f
|
|||
$custom-select-line-height: $input-btn-line-height !default;
|
||||
$custom-select-color: $input-color !default;
|
||||
$custom-select-disabled-color: $gray-600 !default;
|
||||
$custom-select-bg: $white !default;
|
||||
$custom-select-bg: $input-bg !default;
|
||||
$custom-select-disabled-bg: $gray-200 !default;
|
||||
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
||||
$custom-select-indicator-color: $gray-800 !default;
|
||||
|
@ -498,6 +509,22 @@ $custom-select-height-sm: $input-height-sm !default;
|
|||
$custom-select-font-size-lg: 125% !default;
|
||||
$custom-select-height-lg: $input-height-lg !default;
|
||||
|
||||
$custom-range-track-width: 100% !default;
|
||||
$custom-range-track-height: .5rem !default;
|
||||
$custom-range-track-cursor: pointer !default;
|
||||
$custom-range-track-bg: $gray-300 !default;
|
||||
$custom-range-track-border-radius: 1rem !default;
|
||||
$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
|
||||
|
||||
$custom-range-thumb-width: 1rem !default;
|
||||
$custom-range-thumb-height: $custom-range-thumb-width !default;
|
||||
$custom-range-thumb-bg: $component-active-bg !default;
|
||||
$custom-range-thumb-border: 0 !default;
|
||||
$custom-range-thumb-border-radius: 1rem !default;
|
||||
$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;
|
||||
$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;
|
||||
$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;
|
||||
|
||||
$custom-file-height: $input-height !default;
|
||||
$custom-file-focus-border-color: $input-focus-border-color !default;
|
||||
$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||
|
@ -585,6 +612,9 @@ $nav-pills-border-radius: $border-radius !default;
|
|||
$nav-pills-link-active-color: $component-active-color !default;
|
||||
$nav-pills-link-active-bg: $component-active-bg !default;
|
||||
|
||||
$nav-divider-color: $gray-200 !default;
|
||||
$nav-divider-margin-y: ($spacer / 2) !default;
|
||||
|
||||
// Navbar
|
||||
|
||||
$navbar-padding-y: ($spacer / 2) !default;
|
||||
|
@ -633,6 +663,7 @@ $pagination-border-width: $border-width !default;
|
|||
$pagination-border-color: $gray-300 !default;
|
||||
|
||||
$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||
$pagination-focus-outline: 0 !default;
|
||||
|
||||
$pagination-hover-color: $link-hover-color !default;
|
||||
$pagination-hover-bg: $gray-200 !default;
|
||||
|
@ -744,6 +775,7 @@ $modal-title-line-height: $line-height-base !default;
|
|||
$modal-content-bg: $white !default;
|
||||
$modal-content-border-color: rgba($black, .2) !default;
|
||||
$modal-content-border-width: $border-width !default;
|
||||
$modal-content-border-radius: $border-radius-lg !default;
|
||||
$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
|
||||
$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
|
||||
|
||||
|
@ -842,7 +874,9 @@ $breadcrumb-margin-bottom: 1rem !default;
|
|||
$breadcrumb-bg: $gray-200 !default;
|
||||
$breadcrumb-divider-color: $gray-600 !default;
|
||||
$breadcrumb-active-color: $gray-600 !default;
|
||||
$breadcrumb-divider: "/" !default;
|
||||
$breadcrumb-divider: quote("/") !default;
|
||||
|
||||
$breadcrumb-border-radius: $border-radius !default;
|
||||
|
||||
|
||||
// Carousel
|
||||
|
@ -864,7 +898,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;
|
||||
$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitons (e.g., `transform 2s ease, opacity .5s ease-out`)
|
||||
|
||||
|
||||
// Close
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap Grid v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap Grid v4.1.0 (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)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap Reboot v4.1.0 (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)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap v4.1.0 (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)
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
|
||||
@mixin caret-right {
|
||||
border-top: $caret-width solid transparent;
|
||||
border-right: 0;
|
||||
border-bottom: $caret-width solid transparent;
|
||||
border-left: $caret-width solid;
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
margin-top: .1rem;
|
||||
font-size: .875rem;
|
||||
line-height: 1;
|
||||
color: #fff;
|
||||
color: $white;
|
||||
background-color: rgba($color, .8);
|
||||
border-radius: .2rem;
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
// Horizontal gradient, from left to right
|
||||
//
|
||||
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
||||
@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
||||
@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
|
||||
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
|
@ -19,27 +19,27 @@
|
|||
// Vertical gradient, from top to bottom
|
||||
//
|
||||
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
||||
@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
||||
@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
|
||||
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
|
||||
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
|
||||
@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
|
||||
background-image: linear-gradient($deg, $start-color, $end-color);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
||||
@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
|
||||
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
||||
@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
|
||||
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
|
||||
@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
|
||||
background-image: radial-gradient(circle, $inner-color, $outer-color);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
|
||||
@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
|
||||
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
||||
}
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
// stylelint-disable indentation
|
||||
|
||||
// Hover mixin and `$enable-hover-media-query` are deprecated.
|
||||
//
|
||||
// Origally added during our alphas and maintained during betas, this mixin was
|
||||
// designed to prevent `:hover` stickiness on iOS—an issue where hover styles
|
||||
// designed to prevent `:hover` stickiness on iOS-an issue where hover styles
|
||||
// would persist after initial touch.
|
||||
//
|
||||
// For backward compatibility, we've kept these mixins and updated them to
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
}
|
||||
|
||||
&.active {
|
||||
color: #fff;
|
||||
color: $white;
|
||||
background-color: $color;
|
||||
border-color: $color;
|
||||
}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
//
|
||||
// Dividers (basically an hr) within dropdowns and nav lists
|
||||
|
||||
@mixin nav-divider($color: #e5e5e5) {
|
||||
@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {
|
||||
height: 0;
|
||||
margin: ($spacer / 2) 0;
|
||||
margin: $margin-y 0;
|
||||
overflow: hidden;
|
||||
border-top: 1px solid $color;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Only display content to screen readers
|
||||
//
|
||||
// See: http://a11yproject.com/posts/how-to-hide-content/
|
||||
// See: https://a11yproject.com/posts/how-to-hide-content/
|
||||
// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
|
||||
|
||||
@mixin sr-only {
|
||||
|
@ -11,7 +11,6 @@
|
|||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
clip-path: inset(50%);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
|
@ -30,6 +29,5 @@
|
|||
overflow: visible;
|
||||
clip: auto;
|
||||
white-space: normal;
|
||||
clip-path: none;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,4 +6,6 @@
|
|||
text-shadow: none;
|
||||
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.";
|
||||
}
|
||||
|
|
|
@ -6,4 +6,8 @@
|
|||
transition: $transition;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (prefers-reduced-motion: reduce) {
|
||||
transition: none;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,11 @@
|
|||
.flex#{$infix}-wrap { flex-wrap: wrap !important; }
|
||||
.flex#{$infix}-nowrap { flex-wrap: nowrap !important; }
|
||||
.flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }
|
||||
.flex#{$infix}-fill { flex: 1 1 auto !important; }
|
||||
.flex#{$infix}-grow-0 { flex-grow: 0 !important; }
|
||||
.flex#{$infix}-grow-1 { flex-grow: 1 !important; }
|
||||
.flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }
|
||||
.flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }
|
||||
|
||||
.justify-content#{$infix}-start { justify-content: flex-start !important; }
|
||||
.justify-content#{$infix}-end { justify-content: flex-end !important; }
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
// Common values
|
||||
|
||||
// Sass list not in variables since it's not intended for customization.
|
||||
// stylelint-disable-next-line scss/dollar-variable-default
|
||||
$positions: static, relative, absolute, fixed, sticky;
|
||||
|
||||
@each $position in $positions {
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
// stylelint-disable declaration-no-important
|
||||
|
||||
.shadow-sm { box-shadow: $box-shadow-sm !important; }
|
||||
.shadow { box-shadow: $box-shadow !important; }
|
||||
.shadow-lg { box-shadow: $box-shadow-lg !important; }
|
||||
.shadow-none { box-shadow: none !important; }
|
|
@ -4,6 +4,8 @@
|
|||
// Text
|
||||
//
|
||||
|
||||
.text-monospace { font-family: $font-family-monospace; }
|
||||
|
||||
// Alignment
|
||||
|
||||
.text-justify { text-align: justify !important; }
|
||||
|
@ -37,14 +39,18 @@
|
|||
|
||||
// Contextual colors
|
||||
|
||||
.text-white { color: #fff !important; }
|
||||
.text-white { color: $white !important; }
|
||||
|
||||
@each $color, $value in $theme-colors {
|
||||
@include text-emphasis-variant(".text-#{$color}", $value);
|
||||
}
|
||||
|
||||
.text-body { color: $body-color !important; }
|
||||
.text-muted { color: $text-muted !important; }
|
||||
|
||||
.text-black-50 { color: rgba($black, .5) !important; }
|
||||
.text-white-50 { color: rgba($white, .5) !important; }
|
||||
|
||||
// Misc
|
||||
|
||||
.text-hide {
|
||||
|
|
|
@ -3,12 +3,12 @@ Theme Name: UnderStrap
|
|||
Theme URI: http://understrap.com
|
||||
Author: Holger Koenemann
|
||||
Author URI: http://www.holgerkoenemann.de
|
||||
GitHub Theme URI: holger1411/understrap
|
||||
GitHub Theme URI: https://github.com/understrap/understrap
|
||||
Description: 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 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.
|
||||
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/holger1411/understrap
|
||||
A child theme is available on Github, too: https://github.com/holger1411/understrap-child;
|
||||
Version: 0.8.1
|
||||
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
|
||||
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
|
||||
|
|
|
@ -44,7 +44,7 @@ wc_print_notices(); ?>
|
|||
|
||||
<p class="woocommerce-form-row form-row">
|
||||
<input type="hidden" name="wc_reset_password" value="true" />
|
||||
<button type="submit" class="btn btn-outline-primary" value="<?php esc_attr_e( 'Save', 'understrap' ); ?>"><?php esc_html_e( 'Save', 'woocommerce' ); ?></button>
|
||||
<button type="submit" class="btn btn-outline-primary" value="<?php esc_attr_e( 'Save', 'understrap' ); ?>"><?php esc_html_e( 'Save', 'understrap' ); ?></button>
|
||||
</p>
|
||||
|
||||
<?php wp_nonce_field( 'reset_password' ); ?>
|
||||
|
|
|
@ -23,7 +23,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||
?>
|
||||
<form role="search" method="get" class="woocommerce-product-search" action="<?php echo esc_url( home_url( '/' ) ); ?>">
|
||||
<div class="input-group">
|
||||
<label class="sr-only" for="woocommerce-product-search-field-<?php echo isset( $index ) ? absint( $index ) : 0; ?>"><?php esc_html_e( 'Search for:', 'woocommerce' ); ?></label>
|
||||
<label class="sr-only" for="woocommerce-product-search-field-<?php echo isset( $index ) ? absint( $index ) : 0; ?>"><?php esc_html_e( 'Search for:', 'understrap' ); ?></label>
|
||||
<input type="search" id="woocommerce-product-search-field-<?php echo isset( $index ) ? absint( $index ) : 0; ?>" class="search-field field form-control" placeholder="<?php echo esc_attr__( 'Search products…', 'understrap' ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
|
||||
<input type="hidden" name="post_type" value="product" />
|
||||
<span class="input-group-append">
|
||||
|
|
Reference in New Issue