/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 4);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */,
/* 1 */,
/* 2 */,
/* 3 */,
/* 4 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__inputSync__ = __webpack_require__(5);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__loginPanel__ = __webpack_require__(6);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__sidebar__ = __webpack_require__(7);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nodes__ = __webpack_require__(8);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__tooltipFix__ = __webpack_require__(9);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__minimalSearch__ = __webpack_require__(10);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__debug__ = __webpack_require__(11);
//import Canvas from './canvas';
// import Anchors from './anchors';
new __WEBPACK_IMPORTED_MODULE_0__inputSync__["a" /* default */]({
settings: window.themehouse.settings.inputSync
}).register();
new __WEBPACK_IMPORTED_MODULE_1__loginPanel__["a" /* default */]({
settings: window.themehouse.settings.loginPanel
}).register();
new __WEBPACK_IMPORTED_MODULE_2__sidebar__["a" /* default */]({
settings: window.themehouse.settings.sidebar
}).register();
new __WEBPACK_IMPORTED_MODULE_3__nodes__["a" /* default */]({
settings: window.themehouse.settings.nodes
}).register();
new __WEBPACK_IMPORTED_MODULE_4__tooltipFix__["a" /* default */]({
settings: window.themehouse.settings.tooltipFix
}).register();
new __WEBPACK_IMPORTED_MODULE_5__minimalSearch__["a" /* default */]({
settings: window.themehouse.settings.minimalSearch
}).register();
// new Anchors({
// settings: window.themehouse.settings.anchors,
// }).register();
__webpack_require__(12);
/***/ }),
/* 5 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var inputSync = function () {
function InputSync(_ref) {
var _this = this;
var _ref$settings = _ref.settings,
settings = _ref$settings === undefined ? {} : _ref$settings,
_ref$init = _ref.init,
init = _ref$init === undefined ? false : _ref$init,
_ref$commonVersion = _ref.commonVersion,
commonVersion = _ref$commonVersion === undefined ? '20180112' : _ref$commonVersion;
_classCallCheck(this, InputSync);
this.sync = function (e) {
var target = e.target || e.srcElement;
if (target) {
var value = target.value;
var sync = target.getAttribute('data-' + _this.settings.data);
var otherTargets = window.document.querySelectorAll(_this.settings.selector + '[data-' + _this.settings.data + '="' + sync + '"]:not(:focus)');
for (var i = 0, len = otherTargets.length; i < len; i++) {
otherTargets[i].value = value;
}
}
};
this.init = function () {
_this.initGet();
_this.initSet();
};
this.initGet = function () {
_this.inputs = window.document.querySelectorAll(_this.settings.selector);
for (var i = 0, len = _this.inputs.length; i < len; i++) {
var input = _this.inputs[i];
input.addEventListener('propertychange', _this.sync);
input.addEventListener('input', _this.sync);
}
};
this.initSet = function () {
_this.running = true;
};
this.running = false;
this.settings = Object.assign({
selector: '.js-uix_syncValue', // selector for all inputSync
data: 'uixsync' // data attribute for knowing what to sync together
}, settings);
this.commonVersion = commonVersion;
this.common = window.themehouse.common[commonVersion];
this.inputs = [];
if (init) {
this.init();
}
}
_createClass(InputSync, [{
key: 'register',
value: function register() {
this.common.register({
phase: 'afterGet',
addon: 'TH_UIX_InputSync',
func: this.initGet,
order: 10
});
this.common.register({
phase: 'afterSet',
addon: 'TH_UIX_InputSync',
func: this.initSet,
order: 10
});
}
}]);
return InputSync;
}();
if (typeof window.themehouse === 'undefined') {
window.themehouse = {};
}
window.themehouse.inputSync = {
inputSync: inputSync
};
/* harmony default export */ __webpack_exports__["a"] = (inputSync);
/***/ }),
/* 6 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var loginPanel = function () {
function LoginPanel(_ref) {
var _this = this;
var _ref$settings = _ref.settings,
settings = _ref$settings === undefined ? {} : _ref$settings,
_ref$init = _ref.init,
init = _ref$init === undefined ? false : _ref$init,
_ref$commonVersion = _ref.commonVersion,
commonVersion = _ref$commonVersion === undefined ? '20180112' : _ref$commonVersion;
_classCallCheck(this, LoginPanel);
this.init = function () {
_this.initGet();
_this.initSet();
};
this.keyCheck = function (e) {
if (_this.state) {
if (e.keyCode === 27) {
_this.setState(false);
}
}
};
this.setState = function (state, selector) {
if (state) {
var ele = window.document.querySelector(selector);
if (ele) {
var inputEle = ele.querySelector(_this.settings.inputSelector);
if (inputEle) {
inputEle.focus();
}
ele.classList.add(_this.settings.active);
}
if (!_this.listener) {
_this.listener = true;
window.document.addEventListener('keydown', _this.keyCheck);
}
} else {
window.document.querySelector(_this.settings.loginSelector).classList.remove(_this.settings.active);
window.document.querySelector(_this.settings.registerSelector).classList.remove(_this.settings.active);
if (_this.listener) {
window.document.removeEventListener('keydown', _this.keyCheck);
_this.listener = false;
}
}
_this.state = state;
};
this.initGet = function () {
var loginTrigger = window.document.querySelector(_this.settings.loginTriggerSelector);
if (loginTrigger) {
loginTrigger.addEventListener('click', function (e) {
e.preventDefault();
_this.setState(true, _this.settings.loginSelector);
return false;
});
}
var registerTrigger = window.document.querySelector(_this.settings.registerTriggerSelector);
if (registerTrigger) {
registerTrigger.addEventListener('click', function (e) {
e.preventDefault();
_this.setState(true, _this.settings.registerSelector);
return false;
});
}
var mask = window.document.querySelector(_this.settings.maskSelector);
if (mask) {
mask.addEventListener('click', function () {
_this.setState(false);
});
}
};
this.initSet = function () {
_this.running = true;
};
this.running = false;
this.settings = Object.assign({
loginSelector: '.uix__loginForm--login', // selector for login form
loginTriggerSelector: '#uix_loginPanel--trigger',
registerSelector: '.uix__loginForm--register', // selector for login form
registerTriggerSelector: '#uix_registerPanel--trigger',
maskSelector: '.uix__loginForm--mask',
active: 'is-active',
inputSelector: '.input'
}, settings);
this.commonVersion = commonVersion;
this.common = window.themehouse.common[commonVersion];
this.state = false;
this.listener = false;
if (init) {
this.init();
}
}
_createClass(LoginPanel, [{
key: 'register',
value: function register() {
this.common.register({
phase: 'afterGet',
addon: 'TH_UIX_LoginPanel',
func: this.initGet,
order: 10
});
this.common.register({
phase: 'afterSet',
addon: 'TH_UIX_LoginPanel',
func: this.initSet,
order: 10
});
}
}]);
return LoginPanel;
}();
if (typeof window.themehouse === 'undefined') {
window.themehouse = {};
}
window.themehouse.loginPanel = {
loginPanel: loginPanel
};
/* harmony default export */ __webpack_exports__["a"] = (loginPanel);
/***/ }),
/* 7 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var sidebar = function () {
function Sidebar(_ref) {
var _this = this;
var _ref$settings = _ref.settings,
settings = _ref$settings === undefined ? {} : _ref$settings,
_ref$init = _ref.init,
init = _ref$init === undefined ? false : _ref$init,
_ref$commonVersion = _ref.commonVersion,
commonVersion = _ref$commonVersion === undefined ? '20180112' : _ref$commonVersion;
_classCallCheck(this, Sidebar);
this.init = function () {
_this.initGet();
_this.initSet();
};
this.toggleSidebar = function () {
var stateName = '1';
if (window.document.querySelector(_this.settings.selector).classList.contains(_this.settings.collapseClass)) {
window.document.querySelector(_this.settings.selector).classList.remove(_this.settings.collapseClass);
stateName = '0';
} else {
window.document.querySelector(_this.settings.selector).classList.add(_this.settings.collapseClass);
}
if (_this.settings.link === null) {
_this.common.warn('No AJAX link set for sidebar toggle');
} else {
_this.common.fetch({
url: _this.settings.link,
data: {
collapsed: stateName
}
});
}
window.setTimeout(function () {
_this.common.resizeFire();
window.setTimeout(function () {
_this.common.resizeFire(); // fire second time since animation lasts 700ms
}, _this.settings.delay);
}, _this.settings.delay);
};
this.initGet = function () {
var triggers = window.document.querySelectorAll(_this.settings.triggerSelector);
if (triggers && triggers.length) {
for (var i = 0, len = triggers.length; i < len; i++) {
var trigger = triggers[i];
trigger.addEventListener('click', function () {
_this.toggleSidebar();
});
}
}
};
this.initSet = function () {
_this.running = true;
};
this.running = false;
this.settings = Object.assign({
selector: 'html',
triggerSelector: '.uix_sidebarTrigger',
collapseClass: 'uix_sidebarCollapsed',
link: null,
delay: 400
}, settings);
this.commonVersion = commonVersion;
this.common = window.themehouse.common[commonVersion];
if (init) {
this.init();
}
}
_createClass(Sidebar, [{
key: 'register',
value: function register() {
this.common.register({
phase: 'afterGet',
addon: 'TH_UIX_Sidebar',
func: this.initGet,
order: 10
});
this.common.register({
phase: 'afterSet',
addon: 'TH_UIX_Sidebar',
func: this.initSet,
order: 10
});
}
}]);
return Sidebar;
}();
if (typeof window.themehouse === 'undefined') {
window.themehouse = {};
}
window.themehouse.sidebar = {
sidebar: sidebar
};
/* harmony default export */ __webpack_exports__["a"] = (sidebar);
/***/ }),
/* 8 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var nodes = function () {
function Nodes(_ref) {
var _this = this;
var _ref$settings = _ref.settings,
settings = _ref$settings === undefined ? {} : _ref$settings,
_ref$init = _ref.init,
init = _ref$init === undefined ? false : _ref$init,
_ref$commonVersion = _ref.commonVersion,
commonVersion = _ref$commonVersion === undefined ? '20180112' : _ref$commonVersion;
_classCallCheck(this, Nodes);
this.init = function () {
_this.initGet();
_this.initSet();
};
this.initGet = function () {
if (_this.settings.enabled) {
var eles = window.document.querySelectorAll(_this.settings.selector);
if (eles && eles.length) {
var _loop = function _loop(i, len) {
var ele = eles[i];
ele.addEventListener('click', function (e) {
var target = e.target;
if (target) {
if (target.closest(_this.settings.subNodeSelector)) {
return true;
}
if (target.closest('a')) {
return true;
}
if (target.tagName.toLowerCase() === 'a') {
return true;
}
}
var hrefEle = ele.querySelector(_this.settings.hrefSelector);
if (hrefEle) {
var href = hrefEle.getAttribute('href');
if (e.metaKey || e.cmdKey) {
e.preventDefault();
window.open(href, '_blank');
} else {
window.location = href;
}
}
return true;
});
};
for (var i = 0, len = eles.length; i < len; i++) {
_loop(i, len);
}
}
}
};
this.initSet = function () {
_this.running = true;
};
this.running = false;
this.settings = Object.assign({
selector: '.node-body',
hrefSelector: '.node-title a',
subNodeSelector: '.node-subNodeMenu',
enabled: false
}, settings);
this.commonVersion = commonVersion;
this.common = window.themehouse.common[commonVersion];
if (init) {
this.init();
}
}
_createClass(Nodes, [{
key: 'register',
value: function register() {
this.common.register({
phase: 'afterGet',
addon: 'TH_UIX_Nodes',
func: this.initGet,
order: 10
});
this.common.register({
phase: 'afterSet',
addon: 'TH_UIX_Nodes',
func: this.initSet,
order: 10
});
}
}]);
return Nodes;
}();
if (typeof window.themehouse === 'undefined') {
window.themehouse = {};
}
window.themehouse.nodeClick = {
nodes: nodes
};
/* harmony default export */ __webpack_exports__["a"] = (nodes);
/***/ }),
/* 9 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var tooltipFix = function () {
function TooltipFix(_ref) {
var _this = this;
var _ref$settings = _ref.settings,
settings = _ref$settings === undefined ? {} : _ref$settings,
_ref$commonVersion = _ref.commonVersion,
commonVersion = _ref$commonVersion === undefined ? '20180112' : _ref$commonVersion;
_classCallCheck(this, TooltipFix);
this.scroll = function () {
_this.scrollGet();
_this.scrollSet();
};
this.scrollGet = function () {
if (window.XF.MemberTooltip.activeTooltip && window.XF.MemberTooltip.activeTooltip.trigger && window.XF.MemberTooltip.activeTooltip.trigger.$target && window.XF.MemberTooltip.activeTooltip.trigger.$target.length) {
var triggerEle = window.XF.MemberTooltip.activeTooltip.trigger.$target[0];
var disablerEle = triggerEle.closest(_this.settings.fixClassSelector);
if (disablerEle) {
_this.needsReposition = true;
}
}
};
this.scrollSet = function () {
if (_this.needsReposition) {
if (window.XF.MemberTooltip.activeTooltip && window.XF.MemberTooltip.activeTooltip.tooltip) {
window.XF.MemberTooltip.activeTooltip.tooltip.reposition();
}
_this.needsReposition = false;
}
};
this.needsReposition = false;
this.settings = Object.assign({
fixClassSelector: '.uix_stickyBodyElement',
enabled: false
}, settings);
this.commonVersion = commonVersion;
this.common = window.themehouse.common[commonVersion];
}
_createClass(TooltipFix, [{
key: 'register',
value: function register() {
this.common.register({
phase: 'scrollGet',
addon: 'TH_UIX_TooltipFix',
func: this.scrollGet,
order: 10
});
this.common.register({
phase: 'scrollSet',
addon: 'TH_UIX_TooltipFix',
func: this.scrollSet,
order: 10
});
}
}]);
return TooltipFix;
}();
if (typeof window.themehouse === 'undefined') {
window.themehouse = {};
}
window.themehouse.tooltipFix = {
tooltipFix: tooltipFix
};
/* harmony default export */ __webpack_exports__["a"] = (tooltipFix);
/***/ }),
/* 10 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var minimalSearch = function () {
function MinimalSearch(_ref) {
var _this = this;
var _ref$settings = _ref.settings,
settings = _ref$settings === undefined ? {} : _ref$settings,
_ref$init = _ref.init,
init = _ref$init === undefined ? false : _ref$init,
_ref$commonVersion = _ref.commonVersion,
commonVersion = _ref$commonVersion === undefined ? '20180112' : _ref$commonVersion;
_classCallCheck(this, MinimalSearch);
this.init = function () {
_this.initGet();
_this.initSet();
};
this.setState = function (state, parent) {
if (state) {
var parentEle = parent.closest(_this.settings.activeTargetsSelector);
if (parentEle) {
if (_this.common.values.innerWidth < parseInt(_this.settings.breakpoint, 10)) {
parentEle.classList.add(_this.settings.active);
} else {
parentEle.classList.remove(_this.settings.active);
}
}
} else {
_this.focusBlocked = true;
var activeEles = window.document.querySelectorAll('.' + _this.settings.active);
if (activeEles) {
for (var i = 0, len = activeEles.length; i < len; i++) {
activeEles[i].classList.remove(_this.settings.active);
}
}
_this.blurActiveEle();
window.setTimeout(function () {
_this.blurActiveEle();
_this.focusBlocked = false;
}, 900);
}
};
this.blurActiveEle = function () {
var activeEle = window.document.activeElement;
if (activeEle) {
activeEle.blur();
}
};
this.setDropdown = function (ele, state) {
if (state) {
var wrapper = ele.closest(_this.settings.searchBarSelector).querySelector(_this.settings.selector);
if (wrapper) {
var rect = wrapper.getBoundingClientRect();
ele.style.top = rect.height + 10 + 'px';
}
ele.style.display = 'block';
window.setTimeout(function () {
ele.classList.add(_this.settings.searchDropdownActive);
ele.style.display = '';
}, 17);
_this.numOpenedDropdown += 1;
var eleForm = ele.querySelector('form');
if (eleForm) {
_this.recentlyOpenedForm = eleForm;
}
} else {
ele.classList.remove(_this.settings.searchDropdownActive);
ele.style.top = '';
_this.numOpenedDropdown -= 1;
}
_this.checkCloser();
};
this.checkCloser = function () {
if (_this.numOpenedDropdown > 0) {
if (_this.closerListener === null) {
_this.closerListener = window.document.addEventListener('click', function (e) {
var target = e.target || e.toElelent || e.srcElement;
if (target) {
var closestSearch = target.closest(_this.settings.searchBarSelector);
var closeSearch = false;
if (closestSearch === null) {
closeSearch = true;
} else {
var closeEle = target.closest(_this.settings.closeSelector);
if (closeEle !== null) {
closeSearch = true;
}
}
if (closeSearch) {
var activeSearchEles = window.document.querySelectorAll('.' + _this.settings.searchDropdownActive);
if (activeSearchEles && activeSearchEles.length) {
for (var i = 0, len = activeSearchEles.length; i < len; i++) {
var activeSearchEle = activeSearchEles[i];
_this.setDropdown(activeSearchEle, false);
}
}
}
}
_this.numOpenedDropdown = 0;
});
}
} else if (_this.closerListener !== null) {
window.document.removeEventListener('click', _this.closerListener);
_this.closerListener = null;
}
};
this.forceFocus = function (ele) {
// workaround for android keyboard issue
ele.focus();
for (var i = 0; i < 10; i++) {
window.setTimeout(function () {
ele.focus();
}, 50 * i);
}
};
this.initGet = function () {
if (_this.lastWidth === -1) {
_this.lastWidth = window.innerWidth;
}
var dropdownTriggerEles = window.document.querySelectorAll(_this.settings.searchDropdownTriggerSelector);
var _loop = function _loop(i, len) {
var triggerEle = dropdownTriggerEles[i];
var searchBar = triggerEle.closest(_this.settings.searchBarSelector);
if (searchBar && triggerEle) {
var menuEle = searchBar.querySelector(_this.settings.searchDropdownSelector);
if (menuEle) {
triggerEle.addEventListener('focus', function () {
if (!_this.focusBlocked) {
if (_this.common.values.innerWidth >= _this.settings.dropdownBreakpoint) {
var closestActive = searchBar.querySelector('.' + _this.settings.searchDropdownActive);
if (closestActive === null) {
_this.setDropdown(menuEle, true);
}
}
}
});
}
}
};
for (var i = 0, len = dropdownTriggerEles.length; i < len; i++) {
_loop(i, len);
}
var inputEles = window.document.querySelectorAll(_this.settings.selector);
if (inputEles && inputEles.length) {
var _loop2 = function _loop2(i, len) {
var inputEle = inputEles[i];
inputEle.addEventListener('focus', function () {
if (!_this.focusBlocked) {
var searchForm = inputEle.closest(_this.settings.searchFormSelector);
if (searchForm) {
searchForm.classList.add(_this.settings.focusedSearchForm);
}
}
});
inputEle.addEventListener('blur', function () {
if (!_this.focusBlocked) {
var searchForm = inputEle.closest(_this.settings.searchFormSelector);
if (searchForm) {
searchForm.classList.remove(_this.settings.focusedSearchForm);
}
}
});
var searchBar = inputEle.closest(_this.settings.searchBarSelector);
if (searchBar) {
var trigger = searchBar.querySelector(_this.settings.triggerSelector);
if (trigger) {
trigger.addEventListener('click', function () {
if (!_this.focusBlocked) {
_this.setState(true, searchBar);
window.setTimeout(function () {
_this.forceFocus(inputEle);
}, 350);
}
});
}
var searchForm = searchBar.querySelector(_this.settings.searchFormSelector);
if (searchForm) {
searchForm.addEventListener('submit', function (e) {
if (_this.recentlyOpenedForm) {
e.preventDefault();
_this.recentlyOpenedForm.submit();
}
});
searchForm.addEventListener('click', function () {
if (!_this.focusBlocked) {
_this.forceFocus(inputEle);
}
});
var submitIcon = searchForm.querySelector(_this.settings.submitIconSelector);
if (submitIcon) {
submitIcon.addEventListener('click', function () {
searchForm.submit();
});
}
}
var detailedEle = searchBar.querySelector(_this.settings.detailedSelector);
if (detailedEle) {
detailedEle.addEventListener('click', function (e) {
var menuEle = searchBar.querySelector(_this.settings.searchDropdownSelector);
if (menuEle) {
_this.setDropdown(menuEle, true);
}
e.preventDefault();
return false;
});
}
}
};
for (var i = 0, len = inputEles.length; i < len; i++) {
_loop2(i, len);
}
}
var closeEles = window.document.querySelectorAll(_this.settings.closeSelector);
if (closeEles && closeEles.length) {
for (var i = 0, len = closeEles.length; i < len; i++) {
var closeEle = closeEles[i];
closeEle.addEventListener('click', function (e) {
e.preventDefault();
_this.setState(false);
e.preventDefault();
return false;
});
}
}
};
this.initSet = function () {
_this.running = true;
};
this.resizeGet = function () {
var openXFMenuEle = window.document.querySelector(_this.settings.xfMenuOpenSelector);
if (openXFMenuEle && _this.lastWidth !== window.innerWidth) {
_this.xfMenuOpen = true;
_this.lastWidth = window.innerWidth;
}
};
this.resizeSet = function () {
if (_this.xfMenuOpen) {
window.XF.MenuWatcher.closeAll(); // close XF dropdown menu since trigger could responsively hide
_this.xfMenuOpen = false;
}
};
this.running = false;
this.settings = Object.assign({
selector: '.uix_searchInput', // selector for search input
closeSelector: '.uix_search--close',
active: 'minimalSearch--active',
activeTargetsSelector: '.p-nav-inner, .p-sectionLinks, .p-header-content, .p-staffBar',
detailedSelector: '.uix_search--settings',
detailed: 'minimalSearch--detailed',
breakpoint: '650px',
clickDelay: 100,
clickTargetSelector: '.js-uix_minimalSearch__target',
triggerSelector: '.uix_searchIconTrigger',
searchFormSelector: '.uix_searchForm',
focusedSearchForm: 'uix_searchForm--focused',
searchBarSelector: '.uix_searchBar',
searchInnerSelector: '.uix_searchBarInner',
submitIconSelector: '.uix_search--submit .uix_icon--search',
searchDropdownSelector: '.uix_searchDropdown__menu',
searchDropdownTriggerSelector: '.uix_searchDropdown__trigger',
searchDropdownActive: 'uix_searchDropdown__menu--active',
dropdownBreakpoint: 0,
xfMenuOpenSelector: '.menu.is-active form[data-xf-init="quick-search"]'
}, settings);
this.commonVersion = commonVersion;
this.common = window.themehouse.common[commonVersion];
this.numOpenedDropdown = 0;
this.lastWidth = -1;
this.closerListener = null;
this.xfMenuOpen = false;
this.focusBlocked = false;
this.recentlyOpenedForm = null;
if (init) {
this.init();
}
}
_createClass(MinimalSearch, [{
key: 'register',
value: function register() {
this.common.register({
phase: 'afterGet',
addon: 'TH_UIX_MinimalSearch',
func: this.initGet,
order: 10
});
this.common.register({
phase: 'afterSet',
addon: 'TH_UIX_MinimalSearch',
func: this.initSet,
order: 10
});
this.common.register({
phase: 'resizeGet',
addon: 'TH_UIX_MinimalSearch',
func: this.resizeGet,
order: 10
});
this.common.register({
phase: 'resizeSet',
addon: 'TH_UIX_MinimalSearch',
func: this.resizeSet,
order: 10
});
}
}]);
return MinimalSearch;
}();
if (typeof window.themehouse === 'undefined') {
window.themehouse = {};
}
window.themehouse.minimalSearch = {
minimalSearch: minimalSearch
};
/* harmony default export */ __webpack_exports__["a"] = (minimalSearch);
/***/ }),
/* 11 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var debug = function debug() {
var settings = window.themehouse.settings;
var keys = Object.keys(settings);
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i];
console.log('==========================');
console.log(key);
printObject(settings[key], 1);
}
};
var printObject = function printObject(data) {
var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var spacer = '';
for (var spacerIndex = 0; spacerIndex < depth; spacerIndex++) {
spacer += ' ';
}
if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') {
var keys = Object.keys(data);
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i];
var childData = data[key];
if ((typeof childData === 'undefined' ? 'undefined' : _typeof(childData)) === 'object') {
console.log(spacer + key + ':');
printObject(data[key], depth + 1);
} else {
console.log(spacer + key + ': ' + data[key]);
}
}
} else {
console.log(spacer + data);
}
};
if (typeof window.themehouse === 'undefined') {
window.themehouse = {};
}
window.themehouse.debug = debug;
/* unused harmony default export */ var _unused_webpack_default_export = (debug);
/***/ }),
/* 12 */
/***/ (function(module, exports) {
window.XF.HScroller.prototype.updateScroll = function () {
var el = this.$scrollTarget[0];
var left = this.$scrollTarget.normalizedScrollLeft();
var width = el.offsetWidth;
var scrollWidth = el.scrollWidth;
var startActive = left > 0;
var endActive = width + left + 1 < scrollWidth;
if (startActive) {
this.$scrollTarget.addClass('th_scroller--start-active');
} else {
this.$scrollTarget.removeClass('th_scroller--start-active');
}
if (endActive) {
this.$scrollTarget.addClass('th_scroller--end-active');
} else {
this.$scrollTarget.removeClass('th_scroller--end-active');
}
this.$goStart[startActive ? 'addClass' : 'removeClass']('is-active');
this.$goEnd[endActive ? 'addClass' : 'removeClass']('is-active');
};
/***/ })
/******/ ]);