This commit is contained in:
4
build/assets/js/photoswipe-ui-default.min.js
vendored
Executable file
4
build/assets/js/photoswipe-ui-default.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
4
build/assets/js/photoswipe.min.js
vendored
Executable file
4
build/assets/js/photoswipe.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
602
build/assets/js/scripts.js
Executable file
602
build/assets/js/scripts.js
Executable file
@ -0,0 +1,602 @@
|
||||
// Sticky menu
|
||||
var new_scroll_position = 0;
|
||||
var last_scroll_position;
|
||||
var header = document.getElementById("js-header");
|
||||
var stickyMenu = document.getElementById("js-navbar-menu");
|
||||
|
||||
window.addEventListener('scroll', function (e) {
|
||||
last_scroll_position = window.scrollY;
|
||||
|
||||
// Scrolling down
|
||||
if (new_scroll_position < last_scroll_position && last_scroll_position > 40) {
|
||||
header.classList.remove("is-visible");
|
||||
header.classList.add("is-hidden");
|
||||
|
||||
// Scrolling up
|
||||
} else if (new_scroll_position > last_scroll_position) {
|
||||
header.classList.remove("is-hidden");
|
||||
header.classList.add("is-visible");
|
||||
if (stickyMenu) {
|
||||
stickyMenu.classList.add("is-sticky");
|
||||
}
|
||||
}
|
||||
|
||||
if (last_scroll_position < 1) {
|
||||
header.classList.remove("is-visible");
|
||||
|
||||
if (stickyMenu) {
|
||||
stickyMenu.classList.remove("is-sticky");
|
||||
}
|
||||
}
|
||||
|
||||
new_scroll_position = last_scroll_position;
|
||||
});
|
||||
|
||||
// Dropdown menu
|
||||
(function (menuConfig) {
|
||||
/**
|
||||
* Merge default config with the theme overrided ones
|
||||
*/
|
||||
var defaultConfig = {
|
||||
// behaviour
|
||||
mobileMenuMode: 'overlay',
|
||||
animationSpeed: 300,
|
||||
submenuWidth: 300,
|
||||
doubleClickTime: 500,
|
||||
mobileMenuExpandableSubmenus: false,
|
||||
isHoverMenu: true,
|
||||
// selectors
|
||||
wrapperSelector: '.navbar',
|
||||
buttonSelector: '.navbar__toggle',
|
||||
menuSelector: '.navbar__menu',
|
||||
submenuSelector: '.navbar__submenu',
|
||||
mobileMenuSidebarLogoSelector: null,
|
||||
mobileMenuSidebarLogoUrl: null,
|
||||
relatedContainerForOverlayMenuSelector: null,
|
||||
// attributes
|
||||
ariaButtonAttribute: 'aria-haspopup',
|
||||
// CSS classes
|
||||
separatorItemClass: 'is-separator',
|
||||
parentItemClass: 'has-submenu',
|
||||
submenuLeftPositionClass: 'is-left-submenu',
|
||||
submenuRightPositionClass: 'is-right-submenu',
|
||||
mobileMenuOverlayClass: 'navbar_mobile_overlay',
|
||||
mobileMenuSubmenuWrapperClass: 'navbar__submenu_wrapper',
|
||||
mobileMenuSidebarClass: 'navbar_mobile_sidebar',
|
||||
mobileMenuSidebarOverlayClass: 'navbar_mobile_sidebar__overlay',
|
||||
hiddenElementClass: 'is-hidden',
|
||||
openedMenuClass: 'is-active',
|
||||
noScrollClass: 'no-scroll',
|
||||
relatedContainerForOverlayMenuClass: 'is-visible'
|
||||
};
|
||||
|
||||
var config = {};
|
||||
|
||||
Object.keys(defaultConfig).forEach(function(key) {
|
||||
config[key] = defaultConfig[key];
|
||||
});
|
||||
|
||||
if (typeof menuConfig === 'object') {
|
||||
Object.keys(menuConfig).forEach(function(key) {
|
||||
config[key] = menuConfig[key];
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Menu initializer
|
||||
*/
|
||||
function init () {
|
||||
if (!document.querySelectorAll(config.wrapperSelector).length) {
|
||||
return;
|
||||
}
|
||||
|
||||
initSubmenuPositions();
|
||||
|
||||
if (config.mobileMenuMode === 'overlay') {
|
||||
initMobileMenuOverlay();
|
||||
} else if (config.mobileMenuMode === 'sidebar') {
|
||||
initMobileMenuSidebar();
|
||||
}
|
||||
|
||||
initClosingMenuOnClickLink();
|
||||
|
||||
if (!config.isHoverMenu) {
|
||||
initAriaAttributes();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Function responsible for the submenu positions
|
||||
*/
|
||||
function initSubmenuPositions () {
|
||||
var submenuParents = document.querySelectorAll(config.wrapperSelector + ' .' + config.parentItemClass);
|
||||
|
||||
for (var i = 0; i < submenuParents.length; i++) {
|
||||
var eventTrigger = config.isHoverMenu ? 'mouseenter' : 'click';
|
||||
|
||||
submenuParents[i].addEventListener(eventTrigger, function () {
|
||||
var submenu = this.querySelector(config.submenuSelector);
|
||||
var itemPosition = this.getBoundingClientRect().left;
|
||||
var widthMultiplier = 2;
|
||||
|
||||
if (this.parentNode === document.querySelector(config.menuSelector)) {
|
||||
widthMultiplier = 1;
|
||||
}
|
||||
|
||||
if (config.submenuWidth !== 'auto') {
|
||||
var submenuPotentialPosition = itemPosition + (config.submenuWidth * widthMultiplier);
|
||||
|
||||
if (window.innerWidth < submenuPotentialPosition) {
|
||||
submenu.classList.add(config.submenuRightPositionClass);
|
||||
} else {
|
||||
submenu.classList.add(config.submenuLeftPositionClass);
|
||||
}
|
||||
} else {
|
||||
var submenuPotentialPosition = 0;
|
||||
var submenuPosition = 0;
|
||||
|
||||
if (widthMultiplier === 1) {
|
||||
submenuPotentialPosition = itemPosition + submenu.clientWidth;
|
||||
} else {
|
||||
submenuPotentialPosition = itemPosition + this.clientWidth + submenu.clientWidth;
|
||||
}
|
||||
|
||||
if (window.innerWidth < submenuPotentialPosition) {
|
||||
submenu.classList.add(config.submenuRightPositionClass);
|
||||
submenuPosition = -1 * submenu.clientWidth;
|
||||
|
||||
if (widthMultiplier === 1) {
|
||||
submenuPosition = 0;
|
||||
}
|
||||
|
||||
submenu.style.left = submenuPosition + 'px';
|
||||
submenu.style.right = this.clientWidth + 'px';
|
||||
} else {
|
||||
submenu.classList.add(config.submenuLeftPositionClass);
|
||||
submenuPosition = this.clientWidth;
|
||||
|
||||
if (widthMultiplier === 1) {
|
||||
submenuPosition = 0;
|
||||
}
|
||||
|
||||
submenu.style.left = submenuPosition + 'px';
|
||||
}
|
||||
}
|
||||
|
||||
submenu.setAttribute('aria-hidden', false);
|
||||
});
|
||||
|
||||
if (config.isHoverMenu) {
|
||||
submenuParents[i].addEventListener('mouseleave', function () {
|
||||
var submenu = this.querySelector(config.submenuSelector);
|
||||
submenu.removeAttribute('style');
|
||||
submenu.setAttribute('aria-hidden', true);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function used to init mobile menu - overlay mode
|
||||
*/
|
||||
function initMobileMenuOverlay () {
|
||||
var menuWrapper = document.createElement('div');
|
||||
menuWrapper.classList.add(config.mobileMenuOverlayClass);
|
||||
menuWrapper.classList.add(config.hiddenElementClass);
|
||||
var menuContentHTML = document.querySelector(config.menuSelector).outerHTML;
|
||||
menuWrapper.innerHTML = menuContentHTML;
|
||||
document.body.appendChild(menuWrapper);
|
||||
|
||||
// Init toggle submenus
|
||||
if (config.mobileMenuExpandableSubmenus) {
|
||||
wrapSubmenusIntoContainer(menuWrapper);
|
||||
initToggleSubmenu(menuWrapper);
|
||||
}
|
||||
|
||||
// Init button events
|
||||
var button = document.querySelector(config.buttonSelector);
|
||||
|
||||
button.addEventListener('click', function () {
|
||||
var relatedContainer = document.querySelector(config.relatedContainerForOverlayMenuSelector);
|
||||
menuWrapper.classList.toggle(config.hiddenElementClass);
|
||||
button.classList.toggle(config.openedMenuClass);
|
||||
button.setAttribute(config.ariaButtonAttribute, button.classList.contains(config.openedMenuClass));
|
||||
|
||||
if (button.classList.contains(config.openedMenuClass)) {
|
||||
document.documentElement.classList.add(config.noScrollClass);
|
||||
|
||||
if (relatedContainer) {
|
||||
relatedContainer.classList.add(config.relatedContainerForOverlayMenuClass);
|
||||
}
|
||||
} else {
|
||||
document.documentElement.classList.remove(config.noScrollClass);
|
||||
|
||||
if (relatedContainer) {
|
||||
relatedContainer.classList.remove(config.relatedContainerForOverlayMenuClass);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Function used to init mobile menu - sidebar mode
|
||||
*/
|
||||
function initMobileMenuSidebar () {
|
||||
// Create menu structure
|
||||
var menuWrapper = document.createElement('div');
|
||||
menuWrapper.classList.add(config.mobileMenuSidebarClass);
|
||||
menuWrapper.classList.add(config.hiddenElementClass);
|
||||
var menuContentHTML = '';
|
||||
|
||||
if (config.mobileMenuSidebarLogoSelector !== null) {
|
||||
menuContentHTML = document.querySelector(config.mobileMenuSidebarLogoSelector).outerHTML;
|
||||
} else if (config.mobileMenuSidebarLogoUrl !== null) {
|
||||
menuContentHTML = '<img src="' + config.mobileMenuSidebarLogoUrl + '" alt="" />';
|
||||
}
|
||||
|
||||
menuContentHTML += document.querySelector(config.menuSelector).outerHTML;
|
||||
menuWrapper.innerHTML = menuContentHTML;
|
||||
|
||||
var menuOverlay = document.createElement('div');
|
||||
menuOverlay.classList.add(config.mobileMenuSidebarOverlayClass);
|
||||
menuOverlay.classList.add(config.hiddenElementClass);
|
||||
|
||||
document.body.appendChild(menuOverlay);
|
||||
document.body.appendChild(menuWrapper);
|
||||
|
||||
// Init toggle submenus
|
||||
if (config.mobileMenuExpandableSubmenus) {
|
||||
wrapSubmenusIntoContainer(menuWrapper);
|
||||
initToggleSubmenu(menuWrapper);
|
||||
}
|
||||
|
||||
// Menu events
|
||||
menuWrapper.addEventListener('click', function (e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
menuOverlay.addEventListener('click', function () {
|
||||
menuWrapper.classList.add(config.hiddenElementClass);
|
||||
menuOverlay.classList.add(config.hiddenElementClass);
|
||||
button.classList.remove(config.openedMenuClass);
|
||||
button.setAttribute(config.ariaButtonAttribute, false);
|
||||
document.documentElement.classList.remove(config.noScrollClass);
|
||||
});
|
||||
|
||||
// Init button events
|
||||
var button = document.querySelector(config.buttonSelector);
|
||||
|
||||
button.addEventListener('click', function () {
|
||||
menuWrapper.classList.toggle(config.hiddenElementClass);
|
||||
menuOverlay.classList.toggle(config.hiddenElementClass);
|
||||
button.classList.toggle(config.openedMenuClass);
|
||||
button.setAttribute(config.ariaButtonAttribute, button.classList.contains(config.openedMenuClass));
|
||||
document.documentElement.classList.toggle(config.noScrollClass);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrap all submenus into div wrappers
|
||||
*/
|
||||
function wrapSubmenusIntoContainer (menuWrapper) {
|
||||
var submenus = menuWrapper.querySelectorAll(config.submenuSelector);
|
||||
|
||||
for (var i = 0; i < submenus.length; i++) {
|
||||
var submenuWrapper = document.createElement('div');
|
||||
submenuWrapper.classList.add(config.mobileMenuSubmenuWrapperClass);
|
||||
submenus[i].parentNode.insertBefore(submenuWrapper, submenus[i]);
|
||||
submenuWrapper.appendChild(submenus[i]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize submenu toggle events
|
||||
*/
|
||||
function initToggleSubmenu (menuWrapper) {
|
||||
// Init parent menu item events
|
||||
var parents = menuWrapper.querySelectorAll('.' + config.parentItemClass);
|
||||
|
||||
for (var i = 0; i < parents.length; i++) {
|
||||
// Add toggle events
|
||||
parents[i].addEventListener('click', function (e) {
|
||||
e.stopPropagation();
|
||||
var submenu = this.querySelector('.' + config.mobileMenuSubmenuWrapperClass);
|
||||
var content = submenu.firstElementChild;
|
||||
|
||||
if (submenu.classList.contains(config.openedMenuClass)) {
|
||||
var height = content.clientHeight;
|
||||
submenu.style.height = height + 'px';
|
||||
|
||||
setTimeout(function () {
|
||||
submenu.style.height = '0px';
|
||||
}, 0);
|
||||
|
||||
setTimeout(function () {
|
||||
submenu.removeAttribute('style');
|
||||
submenu.classList.remove(config.openedMenuClass);
|
||||
}, config.animationSpeed);
|
||||
|
||||
content.setAttribute('aria-hidden', true);
|
||||
content.parentNode.firstElementChild.setAttribute('aria-expanded', false);
|
||||
} else {
|
||||
var height = content.clientHeight;
|
||||
submenu.classList.add(config.openedMenuClass);
|
||||
submenu.style.height = '0px';
|
||||
|
||||
setTimeout(function () {
|
||||
submenu.style.height = height + 'px';
|
||||
}, 0);
|
||||
|
||||
setTimeout(function () {
|
||||
submenu.removeAttribute('style');
|
||||
}, config.animationSpeed);
|
||||
|
||||
content.setAttribute('aria-hidden', false);
|
||||
content.parentNode.firstElementChild.setAttribute('aria-expanded', true);
|
||||
}
|
||||
});
|
||||
|
||||
// Block links
|
||||
var childNodes = parents[i].children;
|
||||
|
||||
for (var j = 0; j < childNodes.length; j++) {
|
||||
if (childNodes[j].tagName === 'A') {
|
||||
childNodes[j].addEventListener('click', function (e) {
|
||||
var lastClick = parseInt(this.getAttribute('data-last-click'), 10);
|
||||
var currentTime = +new Date();
|
||||
|
||||
if (isNaN(lastClick)) {
|
||||
e.preventDefault();
|
||||
this.setAttribute('data-last-click', currentTime);
|
||||
} else if (lastClick + config.doubleClickTime <= currentTime) {
|
||||
e.preventDefault();
|
||||
this.setAttribute('data-last-click', currentTime);
|
||||
} else if (lastClick + config.doubleClickTime > currentTime) {
|
||||
e.stopPropagation();
|
||||
closeMenu(this, true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set aria-* attributes according to the current activity state
|
||||
*/
|
||||
function initAriaAttributes () {
|
||||
var allAriaElements = document.querySelectorAll(config.wrapperSelector + ' ' + '*[aria-hidden]');
|
||||
|
||||
for (var i = 0; i < allAriaElements.length; i++) {
|
||||
var ariaElement = allAriaElements[i];
|
||||
|
||||
if (
|
||||
ariaElement.parentNode.classList.contains('active') ||
|
||||
ariaElement.parentNode.classList.contains('active-parent')
|
||||
) {
|
||||
ariaElement.setAttribute('aria-hidden', 'false');
|
||||
ariaElement.parentNode.firstElementChild.setAttribute('aria-expanded', true);
|
||||
} else {
|
||||
ariaElement.setAttribute('aria-hidden', 'true');
|
||||
ariaElement.parentNode.firstElementChild.setAttribute('aria-expanded', false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Close menu on click link
|
||||
*/
|
||||
function initClosingMenuOnClickLink () {
|
||||
var links = document.querySelectorAll(config.menuSelector + ' a');
|
||||
|
||||
for (var i = 0; i < links.length; i++) {
|
||||
if (links[i].parentNode.classList.contains(config.parentItemClass)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
links[i].addEventListener('click', function (e) {
|
||||
closeMenu(this, false);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Close menu
|
||||
*/
|
||||
function closeMenu (clickedLink, forceClose) {
|
||||
if (forceClose === false) {
|
||||
if (clickedLink.parentNode.classList.contains(config.parentItemClass)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var relatedContainer = document.querySelector(config.relatedContainerForOverlayMenuSelector);
|
||||
var button = document.querySelector(config.buttonSelector);
|
||||
var menuWrapper = document.querySelector('.' + config.mobileMenuOverlayClass);
|
||||
|
||||
if (!menuWrapper) {
|
||||
menuWrapper = document.querySelector('.' + config.mobileMenuSidebarClass);
|
||||
}
|
||||
|
||||
menuWrapper.classList.add(config.hiddenElementClass);
|
||||
button.classList.remove(config.openedMenuClass);
|
||||
button.setAttribute(config.ariaButtonAttribute, false);
|
||||
document.documentElement.classList.remove(config.noScrollClass);
|
||||
|
||||
if (relatedContainer) {
|
||||
relatedContainer.classList.remove(config.relatedContainerForOverlayMenuClass);
|
||||
}
|
||||
|
||||
var menuOverlay = document.querySelector('.' + config.mobileMenuSidebarOverlayClass);
|
||||
|
||||
if (menuOverlay) {
|
||||
menuOverlay.classList.add(config.hiddenElementClass);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Run menu scripts
|
||||
*/
|
||||
init();
|
||||
})(window.publiiThemeMenuConfig);
|
||||
|
||||
// Load comments
|
||||
var comments = document.getElementById("js-comments");
|
||||
if (comments) {
|
||||
comments.addEventListener("click", function() {
|
||||
comments.classList.toggle("is-hidden");
|
||||
var container = document.getElementById("js-comments__inner");
|
||||
container.classList.toggle("is-visible");
|
||||
});
|
||||
}
|
||||
|
||||
// Load search input area
|
||||
var searchButton = document.querySelector(".js-search-btn");
|
||||
searchOverlay = document.querySelector(".js-search-overlay");
|
||||
searchClose = document.querySelector(".js-search-close");
|
||||
searchInput = document.querySelector(".js-search-input");
|
||||
|
||||
if (searchButton) {
|
||||
searchButton.addEventListener("click", function () {
|
||||
searchOverlay.classList.add("expanded");
|
||||
setTimeout(function() {
|
||||
searchInput.focus();
|
||||
}, 60);
|
||||
});
|
||||
|
||||
searchClose.addEventListener("click", function () {
|
||||
searchOverlay.classList.remove('expanded');
|
||||
});
|
||||
}
|
||||
|
||||
// Share buttons pop-up
|
||||
(function () {
|
||||
// share popup
|
||||
let shareButton = document.querySelector('.js-post__share-button');
|
||||
let sharePopup = document.querySelector('.js-post__share-popup');
|
||||
|
||||
if (shareButton) {
|
||||
sharePopup.addEventListener('click', function (e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
shareButton.addEventListener('click', function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
sharePopup.classList.toggle('is-visible');
|
||||
});
|
||||
|
||||
document.body.addEventListener('click', function () {
|
||||
sharePopup.classList.remove('is-visible');
|
||||
});
|
||||
}
|
||||
|
||||
// link selector and pop-up window size
|
||||
var Config = {
|
||||
Link: ".js-share",
|
||||
Width: 500,
|
||||
Height: 500
|
||||
};
|
||||
// add handler links
|
||||
var slink = document.querySelectorAll(Config.Link);
|
||||
for (var a = 0; a < slink.length; a++) {
|
||||
slink[a].onclick = PopupHandler;
|
||||
}
|
||||
// create popup
|
||||
function PopupHandler(e) {
|
||||
e = (e ? e : window.event);
|
||||
var t = (e.target ? e.target : e.srcElement);
|
||||
// hide share popup
|
||||
if (sharePopup) {
|
||||
sharePopup.classList.remove('is-visible');
|
||||
}
|
||||
// popup position
|
||||
var px = Math.floor(((screen.availWidth || 1024) - Config.Width) / 2),
|
||||
py = Math.floor(((screen.availHeight || 700) - Config.Height) / 2);
|
||||
// open popup
|
||||
var link_href = t.href ? t.href : t.parentNode.href;
|
||||
var popup = window.open(link_href, "social",
|
||||
"width=" + Config.Width + ",height=" + Config.Height +
|
||||
",left=" + px + ",top=" + py +
|
||||
",location=0,menubar=0,toolbar=0,status=0,scrollbars=1,resizable=1");
|
||||
if (popup) {
|
||||
popup.focus();
|
||||
if (e.preventDefault) e.preventDefault();
|
||||
e.returnValue = false;
|
||||
}
|
||||
|
||||
return !!popup;
|
||||
}
|
||||
})();
|
||||
|
||||
// Back to Top - by CodyHouse.co on MIT license
|
||||
(function(){
|
||||
var backTop = document.getElementsByClassName('js-footer__bttop')[0],
|
||||
offset = 600,
|
||||
offsetOpacity = 1200,
|
||||
scrollDuration = 50,
|
||||
scrolling = false;
|
||||
if( backTop ) {
|
||||
window.addEventListener("scroll", function(event) {
|
||||
if( !scrolling ) {
|
||||
scrolling = true;
|
||||
(!window.requestAnimationFrame) ? setTimeout(checkBackToTop, 250) : window.requestAnimationFrame(checkBackToTop);
|
||||
}
|
||||
});
|
||||
backTop.addEventListener('click', function(event) {
|
||||
event.preventDefault();
|
||||
(!window.requestAnimationFrame) ? window.scrollTo(0, 0) : scrollTop(scrollDuration);
|
||||
});
|
||||
}
|
||||
|
||||
function checkBackToTop() {
|
||||
var windowTop = window.scrollY || document.documentElement.scrollTop;
|
||||
( windowTop > offset ) ? addClass(backTop, 'footer__bttop--show') : removeClass(backTop, 'footer__bttop--show', 'footer__bttop--fade-out');
|
||||
( windowTop > offsetOpacity ) && addClass(backTop, 'footer__bttop--fade-out');
|
||||
scrolling = false;
|
||||
}
|
||||
|
||||
function scrollTop(duration) {
|
||||
var start = window.scrollY || document.documentElement.scrollTop,
|
||||
currentTime = null;
|
||||
|
||||
var animateScroll = function(timestamp){
|
||||
if (!currentTime) currentTime = timestamp;
|
||||
var progress = timestamp - currentTime;
|
||||
var val = Math.max(Math.easeInOutQuad(progress, start, -start, duration), 0);
|
||||
window.scrollTo(0, val);
|
||||
if(progress < duration) {
|
||||
window.requestAnimationFrame(animateScroll);
|
||||
}
|
||||
};
|
||||
|
||||
window.requestAnimationFrame(animateScroll);
|
||||
}
|
||||
|
||||
Math.easeInOutQuad = function (t, b, c, d) {
|
||||
t /= d/2;
|
||||
if (t < 1) return c/2*t*t + b;
|
||||
t--;
|
||||
return -c/2 * (t*(t-2) - 1) + b;
|
||||
};
|
||||
|
||||
function hasClass(el, className) {
|
||||
if (el.classList) return el.classList.contains(className);
|
||||
else return !!el.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)'));
|
||||
}
|
||||
function addClass(el, className) {
|
||||
var classList = className.split(' ');
|
||||
if (el.classList) el.classList.add(classList[0]);
|
||||
else if (!hasClass(el, classList[0])) el.className += " " + classList[0];
|
||||
if (classList.length > 1) addClass(el, classList.slice(1).join(' '));
|
||||
}
|
||||
function removeClass(el, className) {
|
||||
var classList = className.split(' ');
|
||||
if (el.classList) el.classList.remove(classList[0]);
|
||||
else if(hasClass(el, classList[0])) {
|
||||
var reg = new RegExp('(\\s|^)' + classList[0] + '(\\s|$)');
|
||||
el.className=el.className.replace(reg, ' ');
|
||||
}
|
||||
if (classList.length > 1) removeClass(el, classList.slice(1).join(' '));
|
||||
}
|
||||
})();
|
1
build/assets/js/scripts.min.js
vendored
Executable file
1
build/assets/js/scripts.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
19
build/assets/js/svg-fix.js
Executable file
19
build/assets/js/svg-fix.js
Executable file
@ -0,0 +1,19 @@
|
||||
// SVG map fix
|
||||
(function() {
|
||||
var allItems = document.querySelectorAll('use');
|
||||
|
||||
for (var i = 0; i < allItems.length; i++) {
|
||||
var item = allItems[i];
|
||||
var anchor = '#' + item.getAttribute('xlink:href').split('#')[1];
|
||||
var itemData = window.publiiSvgFix[anchor];
|
||||
|
||||
if(!itemData) {
|
||||
console.log('ANCHOR', anchor, i);
|
||||
continue;
|
||||
}
|
||||
|
||||
var svgItem = item.parentNode;
|
||||
svgItem.innerHTML = itemData.content;
|
||||
svgItem.setAttribute('viewBox', itemData.viewbox);
|
||||
}
|
||||
})();
|
63
build/assets/js/svg-map.js
Executable file
63
build/assets/js/svg-map.js
Executable file
@ -0,0 +1,63 @@
|
||||
window.publiiSvgFix = {
|
||||
|
||||
"#search": {
|
||||
"viewbox": "0 0 15 15",
|
||||
"content": "<path d=\"M14.81,13.14l-3-3h0a6.52,6.52,0,1,0-1.67,1.67h0l3,3a1.06,1.06,0,0,0,1.43-.24A1.06,1.06,0,0,0,14.81,13.14ZM6.5,11A4.5,4.5,0,1,1,11,6.5,4.51,4.51,0,0,1,6.5,11Z\" />"
|
||||
},
|
||||
"#arrow-prev": {
|
||||
"viewbox": "0 0 20 8",
|
||||
"content": "<polygon points=\"4.4,8 5.08,7.28 2.01,4.49 20,4.49 20,3.51 2.01,3.51 5.08,0.72 4.4,0 0,4\" />"
|
||||
},
|
||||
"#arrow-next": {
|
||||
"viewbox": "0 0 20 8",
|
||||
"content": "<polygon points=\"15.6,8 14.92,7.28 17.99,4.49 0,4.49 0,3.51 17.99,3.51 14.92,0.72 15.6,0 20,4\" />"
|
||||
},
|
||||
"#toparrow": {
|
||||
"viewbox": "0 0 23 23",
|
||||
"content": "<path d=\"M15.71,12.46L12.2,9.26c-0.39-0.35-1.02-0.35-1.4,0l-3.51,3.19c-0.39,0.35-0.39,0.92,0,1.28c0.39,0.35,1.02,0.35,1.4,0l2.81-2.55l2.81,2.55c0.39,0.35,1.02,0.35,1.4,0C16.1,13.38,16.1,12.81,15.71,12.46z\" />"
|
||||
},
|
||||
"#website": {
|
||||
"viewbox": "0 0 24 24",
|
||||
"content": "<path d=\"M12,2A10,10,0,1,1,2,12,10,10,0,0,1,12,2Zm3,13V9H9m.17,5.83,5.66-5.66\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>"
|
||||
},
|
||||
"#facebook": {
|
||||
"viewbox": "0 0 32 32",
|
||||
"content": "<path d=\"M30.234 0H1.766A1.766 1.766 0 0 0 0 1.766v28.468A1.766 1.766 0 0 0 1.766 32h15.326V19.608h-4.17v-4.83h4.17v-3.56c0-4.134 2.524-6.385 6.21-6.385a34.216 34.216 0 0 1 3.727.19v4.32h-2.557c-2.005 0-2.394.953-2.394 2.35v3.084h4.78l-.622 4.83h-4.16V32h8.154A1.766 1.766 0 0 0 32 30.234V1.766A1.766 1.766 0 0 0 30.234 0z\" />"
|
||||
},
|
||||
"#twitter": {
|
||||
"viewbox": "0 0 24.999 20.316",
|
||||
"content": "<path d=\"M25 2.405a10.253 10.253 0 0 1-2.947.808A5.144 5.144 0 0 0 24.308.376 10.27 10.27 0 0 1 21.05 1.62a5.134 5.134 0 0 0-8.74 4.68A14.56 14.56 0 0 1 1.74.94a5.134 5.134 0 0 0 1.587 6.846 5.108 5.108 0 0 1-2.323-.642v.064a5.132 5.132 0 0 0 4.114 5.03 5.142 5.142 0 0 1-2.316.088 5.134 5.134 0 0 0 4.79 3.562 10.29 10.29 0 0 1-6.37 2.2A10.44 10.44 0 0 1 0 18.012a14.586 14.586 0 0 0 22.454-12.29q0-.333-.015-.662A10.423 10.423 0 0 0 25 2.405z\" />"
|
||||
},
|
||||
"#instagram": {
|
||||
"viewbox": "0 0 32 32",
|
||||
"content": "<path d=\"M16,2.883c4.272,0,4.778.016,6.465.093a8.853,8.853,0,0,1,2.971.551,4.957,4.957,0,0,1,1.84,1.2,4.957,4.957,0,0,1,1.2,1.84,8.853,8.853,0,0,1,.551,2.971c.077,1.687.093,2.193.093,6.465s-.016,4.778-.093,6.465a8.853,8.853,0,0,1-.551,2.971,5.3,5.3,0,0,1-3.037,3.037,8.853,8.853,0,0,1-2.971.551c-1.687.077-2.193.093-6.465.093s-4.778-.016-6.465-.093a8.853,8.853,0,0,1-2.971-.551,4.957,4.957,0,0,1-1.84-1.2,4.957,4.957,0,0,1-1.2-1.84,8.853,8.853,0,0,1-.551-2.971C2.9,20.778,2.883,20.272,2.883,16s.016-4.778.093-6.465a8.853,8.853,0,0,1,.551-2.971,4.957,4.957,0,0,1,1.2-1.84,4.957,4.957,0,0,1,1.84-1.2,8.853,8.853,0,0,1,2.971-.551C11.222,2.9,11.728,2.883,16,2.883M16,0c-4.345,0-4.89.018-6.6.1A11.744,11.744,0,0,0,5.519.84,7.843,7.843,0,0,0,2.685,2.685,7.843,7.843,0,0,0,.84,5.519,11.744,11.744,0,0,0,.1,9.4C.018,11.11,0,11.655,0,16s.018,4.89.1,6.6A11.744,11.744,0,0,0,.84,26.481a7.843,7.843,0,0,0,1.845,2.834A7.843,7.843,0,0,0,5.519,31.16,11.744,11.744,0,0,0,9.4,31.9c1.707.078,2.251.1,6.6.1s4.89-.018,6.6-.1a11.744,11.744,0,0,0,3.884-.744,8.181,8.181,0,0,0,4.679-4.679A11.744,11.744,0,0,0,31.9,22.6c.078-1.707.1-2.251.1-6.6s-.018-4.89-.1-6.6a11.744,11.744,0,0,0-.744-3.884,7.843,7.843,0,0,0-1.845-2.834A7.843,7.843,0,0,0,26.481.84,11.744,11.744,0,0,0,22.6.1C20.89.018,20.345,0,16,0Zm0,7.784A8.216,8.216,0,1,0,24.216,16,8.216,8.216,0,0,0,16,7.784Zm0,13.55A5.333,5.333,0,1,1,21.333,16,5.333,5.333,0,0,1,16,21.333ZM24.541,5.539a1.92,1.92,0,1,0,1.92,1.92A1.92,1.92,0,0,0,24.541,5.539Z\"/>"
|
||||
},
|
||||
"#linkedin": {
|
||||
"viewbox": "0 0 34.48 32",
|
||||
"content": "<path d=\"M29.632,0H2.362A2.336,2.336,0,0,0,0,2.306V29.691A2.337,2.337,0,0,0,2.362,32h27.27A2.342,2.342,0,0,0,32,29.691V2.306A2.34,2.34,0,0,0,29.632,0ZM9.491,27.268H4.744V12H9.491ZM7.119,9.909a2.752,2.752,0,1,1,2.75-2.753A2.753,2.753,0,0,1,7.119,9.909ZM27.268,27.268H22.525V19.842c0-1.772-.033-4.05-2.466-4.05-2.47,0-2.848,1.929-2.848,3.921v7.555H12.468V12h4.553v2.086h.063a4.986,4.986,0,0,1,4.491-2.467c4.806,0,5.694,3.163,5.694,7.275Z\"/>"
|
||||
},
|
||||
"#vimeo": {
|
||||
"viewbox": "0 0 24.999 20.159",
|
||||
"content": "<path d=\"M26.105,5.927q3.628,0.1,3.641,4.123c0,0.176-.006.36-0.016,0.548q-0.16,3.416-5.09,9.306-5.089,6.17-8.634,6.183-2.205,0-3.671-3.779l-1.029-3.454L10.29,15.4q-1.124-3.749-2.406-3.746a7.819,7.819,0,0,0-1.95,1.091l-1.187-1.4,1.842-1.53L8.4,8.3a8.908,8.908,0,0,1,3.7-2.107,3.207,3.207,0,0,1,.341-0.016q2.606,0,3.249,3.746,0.356,2.137.594,3.473t0.387,1.867q0.862,3.544,1.859,3.559,0.766,0,2.36-2.31A9.305,9.305,0,0,0,22.562,13a2.969,2.969,0,0,0,.031-0.434,1.439,1.439,0,0,0-1.7-1.547,5.46,5.46,0,0,0-1.843.359q1.763-5.434,6.775-5.449h0.281Z\" transform=\"translate(-4.747 -5.927)\" />"
|
||||
},
|
||||
"#youtube": {
|
||||
"viewbox": "0 0 32 22.507",
|
||||
"content": "<path d=\"M31.68,9.6a6.924,6.924,0,0,0-1.272-3.176A4.577,4.577,0,0,0,27.2,5.07c-4.478-.324-11.2-0.324-11.2-0.324H15.993s-6.717,0-11.2.324A4.577,4.577,0,0,0,1.592,6.426,6.921,6.921,0,0,0,.32,9.6,48.4,48.4,0,0,0,0,14.781v2.428a48.4,48.4,0,0,0,.32,5.179,6.921,6.921,0,0,0,1.272,3.176A5.426,5.426,0,0,0,5.12,26.932C7.68,27.177,16,27.253,16,27.253s6.724-.01,11.2-0.334a4.577,4.577,0,0,0,3.206-1.355,6.923,6.923,0,0,0,1.272-3.176A48.46,48.46,0,0,0,32,17.209V14.781A48.46,48.46,0,0,0,31.68,9.6ZM12.7,20.151l0-8.991,8.647,4.511Z\" transform=\"translate(0 -4.747)\" />"
|
||||
},
|
||||
"#pinterest": {
|
||||
"viewbox": "0 0 32 32",
|
||||
"content": "<path d=\"M16 0a16 16 0 0 0-5.83 30.9 15.34 15.34 0 0 1 .055-4.59c.29-1.25 1.876-7.953 1.876-7.953a5.776 5.776 0 0 1-.478-2.375c0-2.225 1.29-3.886 2.9-3.886a2.01 2.01 0 0 1 2.024 2.254c0 1.373-.874 3.425-1.325 5.327a2.323 2.323 0 0 0 2.37 2.89c2.844 0 5.03-3 5.03-7.326a6.316 6.316 0 0 0-6.683-6.508 6.926 6.926 0 0 0-7.225 6.944 6.224 6.224 0 0 0 1.188 3.65.478.478 0 0 1 .11.46c-.12.504-.39 1.59-.443 1.814-.07.293-.232.355-.535.214-2-.93-3.248-3.852-3.248-6.2 0-5.047 3.667-9.682 10.572-9.682 5.55 0 9.864 3.955 9.864 9.24 0 5.515-3.477 9.953-8.3 9.953a4.282 4.282 0 0 1-3.667-1.837s-.8 3.055-1 3.8a17.885 17.885 0 0 1-1.99 4.195A16 16 0 1 0 16 0z\" />"
|
||||
},
|
||||
"#mix": {
|
||||
"viewbox": "0 0 32 32",
|
||||
"content": "<path d=\"M6.4,11.44v17.45C6.4,30.58,4.97,32,3.2,32S0,30.58,0,28.88V17.42C3.42,17.45,6.22,14.79,6.4,11.44z\"/><path d=\"M31.75,0C24.8,0,19.17,5.6,19.2,12.46v8.48c-0.03,1.69-1.46,3.12-3.2,3.12c-1.79,0-3.22-1.42-3.2-3.12V8.48c-0.02-1.78-1.45-3.2-3.2-3.24C7.9,5.27,6.52,6.57,6.4,8.23c-0.01,0.06-0.01,0.14,0,0.25v2.99c-0.19,3.31-2.98,5.97-6.4,5.98V0H31.75z\"/><path d=\"M32,0v17.95c0,1.69-1.43,3.12-3.2,3.12c-1.77,0-3.2-1.42-3.2-3.12v-1.62c0-1.81-1.43-3.23-3.2-3.24c-1.77,0.01-3.2,1.43-3.2,3.24v-3.99C19.2,6.07,23.9,0.86,29.98,0H32z\"/>"
|
||||
},
|
||||
"#buffer": {
|
||||
"viewbox": "0 0 32 32",
|
||||
"content": "<path d=\"M.556,15.342,3.338,14a.954.954,0,0,1,1.091.025c.458.225,10.229,4.942,10.229,4.942a3.506,3.506,0,0,0,2.682,0s10.038-4.85,10.4-5.017a.689.689,0,0,1,.791-.008c.342.167,2.916,1.408,2.916,1.408.741.358.741.942-.017,1.292L17.333,23.45a3.506,3.506,0,0,1-2.682,0L.556,16.642C-.185,16.283-.185,15.7.556,15.342ZM.573,8.375l14.094,6.808a3.506,3.506,0,0,0,2.682,0L31.444,8.375c.741-.358.741-.942,0-1.3L17.349.267a3.506,3.506,0,0,0-2.682,0L.573,7.075C-.169,7.433-.169,8.017.573,8.375Zm30.871,15.25s-2.574-1.242-2.916-1.408a.689.689,0,0,0-.791.008c-.358.167-10.388,5.025-10.388,5.025a3.506,3.506,0,0,1-2.682,0S4.9,22.533,4.438,22.308a.954.954,0,0,0-1.091-.025L.564,23.625c-.741.358-.741.942,0,1.3l14.094,6.808A3.109,3.109,0,0,0,16,32a3.237,3.237,0,0,0,1.341-.267l14.094-6.808C32.185,24.567,32.185,23.983,31.444,23.625Z\" />"
|
||||
},
|
||||
"#whatsapp": {
|
||||
"viewbox": "0 0 32 32",
|
||||
"content": "<path d=\"M24.09,19.64c0.1,0.17,0.1,0.96-0.23,1.88c-0.33,0.93-1.92,1.77-2.69,1.88c-0.69,0.1-1.55,0.14-2.51-0.16c-0.58-0.18-1.32-0.43-2.27-0.83c-3.99-1.72-6.6-5.72-6.8-5.98c-0.2-0.26-1.63-2.15-1.63-4.1c0-1.95,1.03-2.91,1.39-3.31c0.36-0.4,0.8-0.5,1.06-0.5s0.53,0,0.76,0.01c0.24,0.01,0.57-0.09,0.9,0.68c0.33,0.79,1.13,2.74,1.23,2.94c0.1,0.2,0.17,0.43,0.03,0.69c-0.13,0.26-0.2,0.43-0.4,0.66s-0.42,0.52-0.6,0.69c-0.2,0.2-0.41,0.41-0.17,0.81c0.23,0.4,1.03,1.69,2.21,2.74c1.52,1.35,2.8,1.77,3.2,1.97c0.4,0.2,0.63,0.17,0.86-0.1c0.23-0.26,1-1.16,1.26-1.55c0.27-0.4,0.53-0.33,0.9-0.2c0.36,0.13,2.32,1.09,2.72,1.29C23.73,19.37,23.99,19.47,24.09,19.64z M32,15.87c0,8.74-7.15,15.86-15.93,15.86c0,0,0,0,0,0h-0.01c-2.67,0-5.29-0.67-7.61-1.93L0,32l2.26-8.22c-1.39-2.4-2.13-5.13-2.13-7.93C0.14,7.11,7.28,0,16.07,0c4.26,0,8.26,1.65,11.27,4.65C30.35,7.65,32,11.63,32,15.87z M29.31,15.87c0-3.52-1.37-6.83-3.88-9.32c-2.5-2.49-5.83-3.86-9.36-3.87c-7.3,0-13.25,5.91-13.25,13.18c0,2.49,0.7,4.92,2.02,7.01l0.31,0.5l-1.34,4.86l5.01-1.31l0.48,0.29c2.03,1.2,4.36,1.84,6.74,1.84h0.01C23.37,29.05,29.31,23.13,29.31,15.87z\" />"
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user