{"version":3,"sources":["webpack:///epsilon-framework-customizer.js","webpack:///webpack/bootstrap 76825310601f96a69460","webpack:///./assets/vendors/epsilon-framework/utils/epsilon-ajax-request.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/range-slider.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/text-editor.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/button-group.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/color-picker.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/customizer-navigation.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/repeater.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/repeater/repeater-addons.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/repeater/repeater-row.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/repeater/repeater-utils.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/button-group.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/color-picker.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/color-schemes.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/customizer-navigation.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/icon-picker.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/image.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/layouts.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/range-slider.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/repeater.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/section-repeater.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/text-editor.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/toggle.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/typography.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/controls/upsell.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/panels/regular.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/sections/recommended-actions.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/sections/section-doubled.ts","webpack:///./assets/vendors/epsilon-framework/customizer/extenders/sections/section-pro.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/color-schemes.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/icon-picker.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/image.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/layouts.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/repeater/repeater-section-row.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/repeater/repeater-section-utils.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/section-repeater.ts","webpack:///./assets/vendors/epsilon-framework/customizer/controls/typography.ts","webpack:///./assets/vendors/epsilon-framework/customizer/customizer.ts","webpack:///./assets/vendors/epsilon-framework/customizer/sections/recommended-actions.ts","webpack:///./assets/vendors/epsilon-framework/customizer/sections/section-doubled.ts"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","EpsilonAjaxRequest","args","this","request","self","jQuery","ajax","type","data","action","dataType","url","EpsilonWPUrls","ajaxurl","success","result","trigger","error","jqXHR","textStatus","errorThrown","console","log","EpsilonRangeSlider","control","min","max","step","context","container","hasClass","find","params","sliderControls","init","slider","input","inputId","attr","id","range","slide","event","ui","stop","on","blur","EpsilonTextEditor","repeater","deconstruct","editorId","wp","editor","remove","initialize","tinymce","wpautop","setup","e","save","getElement","quicktags","EpsilonButtonGroup","handleEvents","preventDefault","siblings","removeClass","addClass","parent","val","setting","set","EpsilonColorPicker","clear","settings","changeDelay","theme","change","changePallete","fn","minicolors","defaultValue","format","opacity","parents","length","instance","css","EpsilonCustomizerNavigation","multiple","initMultiple","first","map","index","element","customize","section","target","headContainer","focus","navigation","repeater_addons_1","repeater_utils_1","EpsilonFieldRepeater","rows","currentIndex","utils","loadUtils","template","loadTemplate","repeaterContainer","getRepeaterContainer","settingField","_","isUndefined","choices","limit","parseInt","createExistingRows","initSortable","EpsilonRepeaterUtils","repeaterTemplate","row","addons","add","EpsilonRepeaterAddons","initPlugins","newRow","selector","handleRowDecrementor","sortable","handle","axis","distance","setTimeout","sort","handleRowIncrementor","epsilon_ajax_request_1","button_group_1","range_slider_1","text_editor_1","color_picker_1","customizer_navigation_1","proxy","sections","initRangeSliders","initImageUploads","initIconPicker","initTextEditor","initColorPickers","initButtonGroup","initCustomizerNavigation","initSelectize","selectize","plugins","k","fields","temp","isKeydownButNotEnterEvent","_imageUpload","_imageRemoval","size","image","media","open","state","toJSON","sizes","_setImage","show","thumb","fadeOut","Ajax","html","EpsilonTranslations","selectFile","nonce","ajax_nonce","text","width","height","hide","append","fadeIn","toggleClass","_iconPickerToggle","_iconPickerSelection","debounce","_iconPickerFilter","clicked","icon","label","filter","collection","toLowerCase","each","indexOf","textareas","sliderSettings","parseFloat","default","EpsilonRepeaterRow","rowContainer","getLabel","header","footer","updateLabel","rowLabel","toggleMinimize","removeRow","updateField","repeater_row_1","delete","prop","getValue","cleanArray","setIndex","setValue","templateData","memoize","newSetting","extend","appendTo","handleRowEvents","newOrder","newRows","newSettings","el","push","newPosition","oldPosition","previewer","refresh","fieldId","updateRepeater","compiled","options","evaluate","interpolate","escape","variable","slideUp","detach","rowLabelField","rowLabelSelector","field","isFunction","slideToggle","obj","arr","controlConstructor","Control","ready","color_schemes_1","bind","EpsilonColorSchemes","icon_picker_1","EpsilonIconPicker","image_1","EpsilonImage","layouts_1","EpsilonLayouts","repeater_1","section_repeater_1","node","document","getElementById","observer","MutationObserver","mutations","is","EpsilonSectionRepeater","observe","attributes","childList","attributeFilter","typography_1","EpsilonTypography","panelConstructor","Panel","_panelEmbed","embed","_panelIsContextuallyActive","isContextuallyActive","_panelAttachEvents","attachEvents","hidden","panels","panel","prioritySort","reverse","children","after","expanded","contentContainer","off","expand","_children","activeCount","child","active","parentContainer","recommended_actions_1","sectionConstructor","Section","EpsilonSectionRecommended","section_doubled_1","EpsilonSectionDoubled","json","parseJSON","api","colorSettings","class","send","searchInput","inRepeater","saveValue","setImage","isEmpty","JSON","stringify","buttonLeft","buttonRight","activeColumns","colClasses","layoutButtons","resizeButtons","maxColumns","minSpan","lastColumnsState","dataLink","handle_actions","_save","_advanced_toggler","_column_resize","_column_recount","_layout_select","_equalize_columns","position","elementToSubtractFrom","elementToAddOn","eq","_calc_column_resize","operation","j","columns","selected","beforeSelection","slice","last","subtract","addColumns","columnsCount","Obj","span","__extends","extendStatics","setPrototypeOf","__proto__","Array","b","__","constructor","create","EpsilonRepeaterSectionRow","_super","_this","title","addTabs","wrapAll","_handleTabs","tab","wrapper","tabs","repeater_section_row_1","EpsilonRepeaterSectionUtils","addButton","isAddBtn","body","sect","close","customization","styling","layout","getFieldGroup","postId","sectionType","repeater_section_utils_1","_moveElements","_handleNavigation","_initSearch","_handleIntegrations","customizerSection","integrations","slideDown","selects","inputs","sliders","_selectize","err","warn","toggle","sliderType","_parseJson","selectors","stylesheet","key","replace","actions","handleDismissals","_dismissPlugin","_dismissAction","plugin","next","replaceText","option","message","notice","total","createParent","opened","strippedIdHead","strippedIdContainer"],"mappings":"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","file":"epsilon-framework-customizer.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/assets/js/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 42);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Ajax request class\r\n */\r\nvar EpsilonAjaxRequest = /** @class */ (function () {\r\n /**\r\n * Constructor\r\n * @param {Object} args\r\n */\r\n function EpsilonAjaxRequest(args) {\r\n this.args = args;\r\n }\r\n /**\r\n * Init Request\r\n */\r\n EpsilonAjaxRequest.prototype.request = function () {\r\n var self = this;\r\n jQuery.ajax({\r\n type: 'POST',\r\n data: { action: 'epsilon_framework_ajax_action', args: self.args },\r\n dataType: 'json',\r\n url: EpsilonWPUrls.ajaxurl,\r\n success: function (data) {\r\n self.result = data;\r\n jQuery(self).trigger('epsilon-received-success');\r\n },\r\n /**\r\n * Throw errors\r\n *\r\n * @param jqXHR\r\n * @param textStatus\r\n * @param errorThrown\r\n */\r\n error: function (jqXHR, textStatus, errorThrown) {\r\n console.log(jqXHR + ' :: ' + textStatus + ' :: ' + errorThrown);\r\n }\r\n });\r\n };\r\n return EpsilonAjaxRequest;\r\n}());\r\nexports.EpsilonAjaxRequest = EpsilonAjaxRequest;\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Range Slider Module\r\n */\r\nvar EpsilonRangeSlider = /** @class */ (function () {\r\n /**\r\n * Class constructor\r\n * @param {{container: JQuery; params: {value: number; id: string; sliderControls: {min: number; max: number; step: number}}}} control\r\n */\r\n function EpsilonRangeSlider(control) {\r\n /**\r\n * Minimum\r\n * @type {number}\r\n */\r\n this.min = 1;\r\n /**\r\n * Maximum\r\n * @type {number}\r\n */\r\n this.max = 20;\r\n /**\r\n * Step incrementor\r\n * @type {number}\r\n */\r\n this.step = 1;\r\n this.context = jQuery(control.container).hasClass('slider-container') ? jQuery(control.container) : jQuery(control.container).find('.slider-container');\r\n this.min = control.params.sliderControls.min;\r\n this.max = control.params.sliderControls.max;\r\n this.step = control.params.sliderControls.step;\r\n this.value = control.params.value;\r\n if (!this.context) {\r\n return;\r\n }\r\n this.init();\r\n }\r\n /**\r\n * Initiator\r\n */\r\n EpsilonRangeSlider.prototype.init = function () {\r\n var self = this;\r\n var slider = this.context.find('.ss-slider'), input = this.context.find('.rl-slider'), inputId = input.attr('id'), id = slider.attr('id');\r\n jQuery('#' + id).slider({\r\n value: this.value,\r\n range: 'min',\r\n min: this.min,\r\n max: this.max,\r\n step: this.step,\r\n /**\r\n * Removed Change event because server was flooded with requests from\r\n * javascript, sending changesets on each increment.\r\n *\r\n * @param event\r\n * @param ui\r\n */\r\n slide: function (event, ui) {\r\n jQuery('#' + inputId).attr('value', ui.value);\r\n },\r\n /**\r\n * Bind the change event to the \"actual\" stop\r\n * @param event\r\n * @param ui\r\n */\r\n stop: function (event, ui) {\r\n jQuery('#' + inputId).trigger('change');\r\n }\r\n });\r\n jQuery(input).on('focus', function () {\r\n jQuery(this).blur();\r\n });\r\n jQuery('#' + inputId).attr('value', (jQuery('#' + id).slider('value')));\r\n };\r\n return EpsilonRangeSlider;\r\n}());\r\nexports.EpsilonRangeSlider = EpsilonRangeSlider;\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Text Editor Module\r\n */\r\nvar EpsilonTextEditor = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonTextEditor(control, repeater, deconstruct) {\r\n if (repeater === void 0) { repeater = false; }\r\n if (deconstruct === void 0) { deconstruct = false; }\r\n this.context = jQuery(control.container);\r\n this.editorId = control.params.id + '-editor';\r\n if (repeater) {\r\n this.editorId = control.params.id;\r\n }\r\n if (deconstruct) {\r\n wp.editor.remove(this.editorId);\r\n }\r\n this.init();\r\n }\r\n /**\r\n * Text editor initiator\r\n */\r\n EpsilonTextEditor.prototype.init = function () {\r\n wp.editor.initialize(this.editorId, {\r\n tinymce: {\r\n wpautop: true,\r\n setup: function (editor) {\r\n editor.on('change', function (e) {\r\n editor.save();\r\n jQuery(editor.getElement()).trigger('change');\r\n });\r\n }\r\n },\r\n quicktags: true\r\n });\r\n };\r\n return EpsilonTextEditor;\r\n}());\r\nexports.EpsilonTextEditor = EpsilonTextEditor;\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Button Group\r\n */\r\nvar EpsilonButtonGroup = /** @class */ (function () {\r\n /**\r\n * Class constructor\r\n * @param {{container: JQuery; setting: void; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonButtonGroup(control) {\r\n this.control = control;\r\n this.context = control.container;\r\n this.handleEvents();\r\n }\r\n /**\r\n * Handle click events\r\n */\r\n EpsilonButtonGroup.prototype.handleEvents = function () {\r\n var self = this;\r\n this.context.on('click', '.epsilon-control-group > a', function (e) {\r\n e.preventDefault();\r\n var value = jQuery(this).attr('data-value');\r\n jQuery(this).siblings().removeClass('active');\r\n jQuery(this).addClass('active');\r\n if (!self.control.hasOwnProperty('repeater')) {\r\n self.control.setting.set(jQuery(this).attr('data-value'));\r\n }\r\n else {\r\n jQuery(this).parent().find('input').val(value).trigger('change');\r\n }\r\n });\r\n };\r\n return EpsilonButtonGroup;\r\n}());\r\nexports.EpsilonButtonGroup = EpsilonButtonGroup;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Color Picker Module\r\n */\r\nvar EpsilonColorPicker = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; setting: void; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonColorPicker(control) {\r\n var self = this;\r\n var clear;\r\n this.control = control;\r\n this.context = jQuery(control.container).find('.epsilon-color-picker');\r\n this.settings = {\r\n changeDelay: 500,\r\n theme: 'default',\r\n change: this.changePallete,\r\n };\r\n if ('function' !== typeof jQuery.fn.minicolors) {\r\n return;\r\n }\r\n if ('' !== this.context.attr('placeholder')) {\r\n this.context.defaultValue = this.context.attr('placeholder');\r\n }\r\n if ('rgba' === this.context.attr('data-attr-mode')) {\r\n this.context.format = 'rgb';\r\n this.context.opacity = true;\r\n }\r\n this.context.minicolors(this.settings);\r\n clear = this.context.parents('.customize-control-epsilon-color-picker').find('a');\r\n if (!clear.length) {\r\n clear = this.context.parents('.repeater-field-epsilon-color-picker').find('a');\r\n }\r\n clear.on('click', function (e) {\r\n e.preventDefault();\r\n self.instance = jQuery(this).parents('.customize-control-epsilon-color-picker').find('input.epsilon-color-picker');\r\n if (!self.instance.length) {\r\n self.instance = jQuery(this).parents('.repeater-field-epsilon-color-picker').find('input.epsilon-color-picker');\r\n }\r\n self.instance.minicolors('value', jQuery(this).attr('data-default'));\r\n self.instance.trigger('change');\r\n });\r\n }\r\n /**\r\n * Real time changes to the \"pallete\"\r\n *\r\n * @param value\r\n * @param opacity\r\n */\r\n EpsilonColorPicker.prototype.changePallete = function (value, opacity) {\r\n jQuery('.epsilon-color-scheme-selected').find('*[data-field-id=\"' + jQuery(this).attr('data-customize-setting-link') + '\"]').css('background-color', value);\r\n };\r\n return EpsilonColorPicker;\r\n}());\r\nexports.EpsilonColorPicker = EpsilonColorPicker;\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Customizer Navigation Module\r\n */\r\nvar EpsilonCustomizerNavigation = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonCustomizerNavigation(control) {\r\n this.context = jQuery(control.container);\r\n this.multiple = this.context.find('.epsilon-customizer-navigation-container').length > 1;\r\n if (this.multiple) {\r\n this.initMultiple();\r\n }\r\n else {\r\n this.init();\r\n }\r\n }\r\n /**\r\n * Init multiple fields\r\n */\r\n EpsilonCustomizerNavigation.prototype.initMultiple = function () {\r\n var containers = this.context.find('.epsilon-customizer-navigation-container:not(.initiated)').first().addClass('initiated');\r\n containers.map(function (index, element) {\r\n jQuery(element).find('a').on('click', function (e) {\r\n e.preventDefault();\r\n if ('undefined' !== typeof (wp.customize.section(jQuery(this).attr('data-customizer-section')))) {\r\n if (jQuery(e.target).attr('data-doubled')) {\r\n wp.customize.section(jQuery(this).attr('data-customizer-section')).headContainer.trigger('click');\r\n }\r\n else {\r\n wp.customize.section(jQuery(this).attr('data-customizer-section')).focus();\r\n }\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Control initiator\r\n */\r\n EpsilonCustomizerNavigation.prototype.init = function () {\r\n var navigation = this.context.find('.epsilon-customizer-navigation-container');\r\n if (navigation.length) {\r\n navigation.on('click', navigation.find('a'), function (e) {\r\n e.preventDefault();\r\n if ('undefined' !== typeof (wp.customize.section(jQuery(e.target).attr('data-customizer-section')))) {\r\n if (jQuery(e.target).attr('data-doubled')) {\r\n wp.customize.section(jQuery(e.target).attr('data-customizer-section')).headContainer.trigger('click');\r\n }\r\n else {\r\n wp.customize.section(jQuery(e.target).attr('data-customizer-section')).focus();\r\n }\r\n }\r\n });\r\n }\r\n };\r\n return EpsilonCustomizerNavigation;\r\n}());\r\nexports.EpsilonCustomizerNavigation = EpsilonCustomizerNavigation;\r\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar repeater_addons_1 = __webpack_require__(7);\r\nvar repeater_utils_1 = __webpack_require__(9);\r\nvar EpsilonFieldRepeater = /** @class */ (function () {\r\n /**\r\n * Object constructor\r\n * @param control\r\n */\r\n function EpsilonFieldRepeater(control) {\r\n /**\r\n * Rows\r\n * @type {Array}\r\n */\r\n this.rows = [];\r\n /**\r\n * Current index\r\n */\r\n this.currentIndex = 0;\r\n this.control = control;\r\n this.context = control.container;\r\n this.utils = this.loadUtils();\r\n this.template = this.loadTemplate();\r\n /**\r\n * Create a reference of the container\r\n */\r\n this.repeaterContainer = this.getRepeaterContainer();\r\n /**\r\n * Setting field reference\r\n */\r\n this.settingField = this.context.find('[data-customize-setting-link]');\r\n /**\r\n * Setup Limit\r\n *\r\n * @type {boolean}\r\n */\r\n if (!_.isUndefined(this.control.params.choices.limit)) {\r\n this.limit = (0 >= this.control.params.choices.limit) ? false : parseInt(this.control.params.choices.limit);\r\n }\r\n /**\r\n * Handle events\r\n */\r\n this.handleEvents();\r\n /**\r\n * Create the existing rows\r\n */\r\n this.createExistingRows();\r\n /**\r\n * Make rows sortable\r\n */\r\n this.initSortable();\r\n }\r\n /**\r\n * Repeater container\r\n * @returns {any}\r\n */\r\n EpsilonFieldRepeater.prototype.getRepeaterContainer = function () {\r\n return this.context.find('.repeater-fields');\r\n };\r\n /**\r\n * Load utilities\r\n * @public\r\n */\r\n EpsilonFieldRepeater.prototype.loadUtils = function () {\r\n return new repeater_utils_1.EpsilonRepeaterUtils(this);\r\n };\r\n /**\r\n * Load template\r\n */\r\n EpsilonFieldRepeater.prototype.loadTemplate = function () {\r\n return this.utils.repeaterTemplate();\r\n };\r\n /**\r\n * Create existing rows\r\n */\r\n EpsilonFieldRepeater.prototype.createExistingRows = function () {\r\n var control = this;\r\n if (this.control.params.value.length) {\r\n for (var i = 0; i < this.control.params.value.length; i++) {\r\n var row = void 0, addons = void 0;\r\n row = control.utils.add(this.control.params.value[i]);\r\n addons = new repeater_addons_1.EpsilonRepeaterAddons(control, row);\r\n addons.initPlugins();\r\n }\r\n }\r\n };\r\n /**\r\n * Handle click/saving/etc events\r\n */\r\n EpsilonFieldRepeater.prototype.handleEvents = function () {\r\n var self = this;\r\n /**\r\n * 1. Add row button\r\n */\r\n this.context.on('click', 'button.epsilon-repeater-add', function (e) {\r\n var newRow, addons;\r\n e.preventDefault();\r\n if (!self.limit || self.currentIndex < self.limit) {\r\n newRow = self.utils.add();\r\n addons = new repeater_addons_1.EpsilonRepeaterAddons(self, newRow);\r\n addons.initPlugins();\r\n }\r\n else {\r\n jQuery(self.control.selector + ' .limit').addClass('highlight');\r\n }\r\n });\r\n /**\r\n * 2. REMOVE Row button\r\n */\r\n this.context.on('click', '.repeater-row-remove', function (e) {\r\n self.handleRowDecrementor();\r\n if (!self.limit || self.currentIndex < self.limit) {\r\n jQuery(self.control.selector + ' .limit').removeClass('highlight');\r\n }\r\n });\r\n };\r\n /**\r\n * Initiate sortable functionality\r\n */\r\n EpsilonFieldRepeater.prototype.initSortable = function () {\r\n var control = this;\r\n this.repeaterContainer.sortable({\r\n handle: '.repeater-row-header',\r\n axis: 'y',\r\n distance: 15,\r\n stop: function (e, data) {\r\n setTimeout(control.utils.sort(data), 200);\r\n },\r\n });\r\n };\r\n /**\r\n * Handles row addition\r\n */\r\n EpsilonFieldRepeater.prototype.handleRowIncrementor = function () {\r\n /**\r\n * Update index;\r\n */\r\n this.currentIndex++;\r\n };\r\n /**\r\n * Handles row addition\r\n */\r\n EpsilonFieldRepeater.prototype.handleRowDecrementor = function () {\r\n /**\r\n * Update index;\r\n */\r\n this.currentIndex--;\r\n };\r\n return EpsilonFieldRepeater;\r\n}());\r\nexports.EpsilonFieldRepeater = EpsilonFieldRepeater;\r\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar epsilon_ajax_request_1 = __webpack_require__(0);\r\nvar button_group_1 = __webpack_require__(3);\r\nvar range_slider_1 = __webpack_require__(1);\r\nvar text_editor_1 = __webpack_require__(2);\r\nvar color_picker_1 = __webpack_require__(4);\r\nvar customizer_navigation_1 = __webpack_require__(5);\r\nvar EpsilonRepeaterAddons = /** @class */ (function () {\r\n /**\r\n *\r\n * @param {EpsilonFieldRepeater | EpsilonSectionRepeater} control\r\n * @param {EpsilonRepeaterSectionRow | EpsilonRepeaterRow | any} row\r\n */\r\n function EpsilonRepeaterAddons(control, row) {\r\n this.control = control;\r\n this.row = row;\r\n this.proxy = this.control.control.params;\r\n if (this.row.hasOwnProperty('type')) {\r\n this.proxy = this.proxy.sections[this.row.type];\r\n }\r\n }\r\n /**\r\n * Init all plugins\r\n */\r\n EpsilonRepeaterAddons.prototype.initPlugins = function () {\r\n this.initRangeSliders();\r\n this.initImageUploads();\r\n this.initIconPicker();\r\n this.initTextEditor();\r\n this.initColorPickers();\r\n this.initButtonGroup();\r\n if (this.row.hasOwnProperty('type')) {\r\n this.initCustomizerNavigation();\r\n this.initSelectize();\r\n }\r\n };\r\n /**\r\n * Initiate button group\r\n */\r\n EpsilonRepeaterAddons.prototype.initButtonGroup = function () {\r\n var self = this;\r\n var settings = {\r\n container: self.row.container,\r\n repeater: true,\r\n };\r\n new button_group_1.EpsilonButtonGroup(settings);\r\n };\r\n /**\r\n * Selectize inputs\r\n */\r\n EpsilonRepeaterAddons.prototype.initSelectize = function () {\r\n this.row.container.find('.epsilon-selectize').selectize({\r\n plugins: ['remove_button'],\r\n });\r\n };\r\n /**\r\n * Init navigation between sections\r\n */\r\n EpsilonRepeaterAddons.prototype.initCustomizerNavigation = function () {\r\n var self = this;\r\n var init = false, settings;\r\n for (var k in self.proxy.fields) {\r\n if ('epsilon-customizer-navigation' === self.proxy.fields[k].type) {\r\n settings = self.row;\r\n new customizer_navigation_1.EpsilonCustomizerNavigation(settings);\r\n }\r\n }\r\n };\r\n /**\r\n * Init color pickers\r\n */\r\n EpsilonRepeaterAddons.prototype.initColorPickers = function () {\r\n var self = this;\r\n var init = false, settings;\r\n settings = self.row;\r\n new color_picker_1.EpsilonColorPicker(settings);\r\n };\r\n /**\r\n * Handle image uploads\r\n */\r\n EpsilonRepeaterAddons.prototype.initImageUploads = function () {\r\n var self = this;\r\n var temp;\r\n /**\r\n * Image controls - Upload\r\n */\r\n self.row.container.on('click keypress', '.epsilon-controller-image-container .image-upload-button', function (e) {\r\n e.preventDefault();\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(e)) {\r\n return;\r\n }\r\n temp = jQuery(this).parents('.epsilon-controller-image-container');\r\n self._imageUpload(temp);\r\n });\r\n /**\r\n * Image Controls - Removal\r\n */\r\n self.row.container.on('click keypress', '.epsilon-controller-image-container .image-upload-remove-button', function (e) {\r\n e.preventDefault();\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(e)) {\r\n return;\r\n }\r\n temp = jQuery(this).parents('.epsilon-controller-image-container');\r\n self._imageRemoval(temp);\r\n });\r\n };\r\n /**\r\n * Image Upload\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._imageUpload = function (container) {\r\n var self = this;\r\n var setting = {}, temp, size, val, input, image = wp.media({\r\n multiple: false,\r\n }).open();\r\n /**\r\n * On selection, save the data in a JSON\r\n */\r\n image.on('select', function () {\r\n input = container.find('input');\r\n temp = image.state().get('selection').first();\r\n size = input.attr('data-size');\r\n if ('undefined' === typeof (temp.toJSON().sizes[size])) {\r\n size = 'full';\r\n }\r\n setting.id = temp.id;\r\n setting.url = temp.toJSON().sizes[size].url;\r\n val = ('url' === input.attr('data-save-mode')) ? setting.url : setting.id;\r\n input.val(val);\r\n self._setImage(container, setting.url);\r\n container.find('.actions .image-upload-remove-button').show();\r\n });\r\n };\r\n /**\r\n * Removes image\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._imageRemoval = function (container) {\r\n var self = this;\r\n var thumb = container.find('.epsilon-image');\r\n if (thumb.length) {\r\n thumb.find('img').fadeOut(200, function () {\r\n var html = EpsilonTranslations.selectFile + '', Ajax, data = {\r\n action: ['Epsilon_Helper', 'get_image_sizes'],\r\n nonce: EpsilonWPUrls.ajax_nonce,\r\n args: [],\r\n }, size = container.find('input').attr('data-size');\r\n thumb.removeClass('epsilon-image').addClass('placeholder').html(html);\r\n Ajax = new epsilon_ajax_request_1.EpsilonAjaxRequest(data);\r\n Ajax.request();\r\n jQuery(Ajax).on('epsilon-received-success', function (e) {\r\n if (!_.isUndefined(Ajax.result[size])) {\r\n thumb.find('.recommended-size').text(Ajax.result[size].width + ' x ' + Ajax.result[size].height);\r\n }\r\n });\r\n });\r\n }\r\n container.find('.actions .image-upload-remove-button').hide();\r\n container.find('input').attr('value', '').trigger('change');\r\n };\r\n /**\r\n * Sets the uploaded image\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._setImage = function (container, url) {\r\n /**\r\n * If we already have an image, we need to return that div, else we grab the placeholder\r\n *\r\n * @type {*}\r\n */\r\n var thumb = container.find('.epsilon-image').length ? container.find('.epsilon-image') : container.find('.placeholder');\r\n /**\r\n * We \"reload\" the image container\r\n */\r\n if (thumb.length) {\r\n thumb.removeClass('epsilon-image placeholder').addClass('epsilon-image');\r\n thumb.html('');\r\n thumb.append('');\r\n thumb.find('img').fadeIn(200);\r\n }\r\n container.find('input').trigger('change');\r\n };\r\n /**\r\n * Icon picker\r\n */\r\n EpsilonRepeaterAddons.prototype.initIconPicker = function () {\r\n var self = this;\r\n var init = false, temp;\r\n for (var k in self.proxy.fields) {\r\n if ('epsilon-icon-picker' === self.proxy.fields[k].type) {\r\n init = true;\r\n /***\r\n * Toggle\r\n */\r\n self.row.container.on('click keypress', '.epsilon-icon-picker-repeater-container .epsilon-icon-container', function (e) {\r\n e.preventDefault();\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(e)) {\r\n return;\r\n }\r\n jQuery(this).toggleClass('opened-icon-picker');\r\n temp = jQuery(this).parents('.epsilon-icon-picker-repeater-container');\r\n self._iconPickerToggle(temp);\r\n });\r\n /**\r\n * Selection\r\n */\r\n self.row.container.on('click keypress', '.epsilon-icon-picker-repeater-container .epsilon-icons-container .epsilon-icons > i', function (e) {\r\n e.preventDefault();\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(e)) {\r\n return;\r\n }\r\n temp = jQuery(this).parents('.epsilon-icon-picker-repeater-container');\r\n self._iconPickerSelection(this, temp);\r\n });\r\n /**\r\n * Filtering\r\n */\r\n self.row.container.on('keyup change', '.epsilon-icon-picker-repeater-container .search-container input', _.debounce(function (e) {\r\n e.preventDefault();\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(e)) {\r\n return;\r\n }\r\n temp = jQuery(this).parents('.epsilon-icon-picker-repeater-container');\r\n self._iconPickerFilter(this, temp);\r\n }, 1000));\r\n }\r\n }\r\n };\r\n /**\r\n * Toggle the icon picker dropdown\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._iconPickerToggle = function (container) {\r\n container.find('.epsilon-icon-picker-container').toggleClass('opened');\r\n };\r\n /**\r\n * Icon pick\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._iconPickerSelection = function (clicked, container) {\r\n var icon, label;\r\n container.find('.epsilon-icons > i.selected').removeClass('selected');\r\n icon = jQuery(clicked).addClass('selected').attr('data-icon');\r\n label = jQuery(clicked).attr('data-search');\r\n container.find('.epsilon-icon-name > i').removeClass().addClass(icon);\r\n container.find('.epsilon-icon-name > .icon-label').html(label);\r\n /**\r\n * Set value\r\n */\r\n container.find('.epsilon-icon-picker').attr('value', icon).trigger('change');\r\n };\r\n /**\r\n * Icon picker filtering\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._iconPickerFilter = function (input, container) {\r\n var filter, temp, collection = jQuery(container).find('.epsilon-icons > i');\r\n filter = jQuery(input).val();\r\n if ('undefined' !== typeof filter) {\r\n filter = filter.toLowerCase();\r\n }\r\n jQuery.each(collection, function () {\r\n temp = jQuery(this).attr('data-search');\r\n if ('undefined' !== typeof temp) {\r\n temp = temp.toLowerCase();\r\n }\r\n jQuery(this)[temp.indexOf(filter) !== -1 ? 'show' : 'hide']();\r\n });\r\n };\r\n /**\r\n * WP Texteditor\r\n */\r\n EpsilonRepeaterAddons.prototype.initTextEditor = function () {\r\n var self = this;\r\n var textareas = jQuery(self.row.container).find('textarea');\r\n var _loop_1 = function (i) {\r\n setTimeout(function () {\r\n var settings = {\r\n container: jQuery(textareas[i]).parent(),\r\n params: {\r\n id: jQuery(textareas[i]).attr('id')\r\n }\r\n };\r\n new text_editor_1.EpsilonTextEditor(settings, true);\r\n }, 100 * i);\r\n };\r\n for (var i = 0; i < textareas.length; i++) {\r\n _loop_1(i);\r\n }\r\n };\r\n /**\r\n * initiate range sliders\r\n */\r\n EpsilonRepeaterAddons.prototype.initRangeSliders = function () {\r\n var self = this;\r\n var init = false, sliderSettings, val;\r\n for (var k in self.proxy.fields) {\r\n if ('epsilon-slider' === self.proxy.fields[k].type) {\r\n init = true;\r\n sliderSettings = {\r\n container: self.row.container,\r\n params: {\r\n id: self.proxy.fields[k].id,\r\n sliderControls: {\r\n min: self.proxy.fields[k].choices.min,\r\n max: self.proxy.fields[k].choices.max,\r\n step: self.proxy.fields[k].choices.step\r\n }\r\n }\r\n };\r\n if (self.row.hasOwnProperty('type')) {\r\n sliderSettings.params.value = parseFloat(self.proxy.fields[k].default);\r\n if ('undefined' !== typeof self.control.control.params.value[self.row.index]) {\r\n sliderSettings.params.value = parseFloat(self.control.control.params.value[self.row.index][k]);\r\n }\r\n new range_slider_1.EpsilonRangeSlider(sliderSettings);\r\n return;\r\n }\r\n if ('undefined' !== typeof self.proxy.value[self.row.index]) {\r\n sliderSettings.params.value = parseFloat(self.proxy.value[self.row.index][k]);\r\n }\r\n sliderSettings.container = jQuery(sliderSettings.container).find('.epsilon-slider:not(.initiated)').first().addClass('initiated');\r\n new range_slider_1.EpsilonRangeSlider(sliderSettings);\r\n }\r\n }\r\n };\r\n return EpsilonRepeaterAddons;\r\n}());\r\nexports.EpsilonRepeaterAddons = EpsilonRepeaterAddons;\r\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar EpsilonRepeaterRow = /** @class */ (function () {\r\n /**\r\n * Row Constructor\r\n * @param {{container: JQuery; setting: void; params: {value: number; id: string}}} instance\r\n * @param {JQuery} rowContainer\r\n */\r\n function EpsilonRepeaterRow(instance, rowContainer) {\r\n var self = this;\r\n this.index = instance.currentIndex;\r\n this.container = rowContainer;\r\n this.label = this.getLabel(instance);\r\n this.header = this.container.find('.repeater-row-header');\r\n this.footer = this.container.find('.repeater-row-footer');\r\n this.handleEvents(instance);\r\n instance.utils.updateLabel(this);\r\n }\r\n /**\r\n *\r\n * @returns {any}\r\n */\r\n EpsilonRepeaterRow.prototype.getLabel = function (instance) {\r\n return instance.control.params.rowLabel;\r\n };\r\n /**\r\n * Handle row events\r\n */\r\n EpsilonRepeaterRow.prototype.handleEvents = function (instance) {\r\n var control = instance, self = this;\r\n /**\r\n * Click event on header to toggle minimize\r\n */\r\n this.header.on('click', function () {\r\n control.utils.toggleMinimize(self);\r\n });\r\n /**\r\n * Click event on handler to toggle minimize\r\n */\r\n this.container.on('click', '.repeater-row-minimize', function () {\r\n control.utils.toggleMinimize(self);\r\n });\r\n /**\r\n * Remove row functionality\r\n */\r\n this.container.on('click', '.repeater-row-remove', function () {\r\n control.utils.removeRow(self);\r\n });\r\n /**\r\n * Update row functionality\r\n */\r\n this.container.on('keyup change', 'input, select, textarea', function (e) {\r\n control.utils.updateField(self, jQuery(e.target).data('field'), e.target);\r\n control.utils.updateLabel(self);\r\n self.container.trigger('row:update', [self.index, jQuery(e.target).data('field'), e.target]);\r\n });\r\n };\r\n return EpsilonRepeaterRow;\r\n}());\r\nexports.EpsilonRepeaterRow = EpsilonRepeaterRow;\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar text_editor_1 = __webpack_require__(2);\r\nvar repeater_row_1 = __webpack_require__(8);\r\nvar EpsilonRepeaterUtils = /** @class */ (function () {\r\n /**\r\n * Constructor\r\n * @param {EpsilonFieldRepeater | EpsilonSectionRepeater} control\r\n */\r\n function EpsilonRepeaterUtils(control) {\r\n this.control = control;\r\n }\r\n /**\r\n * Deletes a row\r\n */\r\n EpsilonRepeaterUtils.prototype.delete = function (row, index) {\r\n var self = this;\r\n var settings = this.getValue(), currentRow, i, prop;\r\n if (settings[index]) {\r\n // Find the row\r\n row = this.control.rows[index];\r\n if (row) {\r\n // Remove the row settings\r\n delete settings[index];\r\n // Remove the row from the rows collection\r\n delete this.control.rows[index];\r\n }\r\n }\r\n settings = this.cleanArray(settings);\r\n this.control.rows = self.cleanArray(this.control.rows);\r\n jQuery.each(this.control.rows, function (index, element) {\r\n self.setIndex(element, index);\r\n });\r\n // Update the new setting values\r\n this.setValue(settings);\r\n // Remap the row numbers\r\n i = 1;\r\n for (prop in this.control.rows) {\r\n if (this.control.rows.hasOwnProperty(prop) && this.control.rows[prop]) {\r\n self.updateLabel(this.control.rows[prop]);\r\n i++;\r\n }\r\n }\r\n };\r\n /**\r\n * Adds a row\r\n */\r\n EpsilonRepeaterUtils.prototype.add = function (data) {\r\n var self = this;\r\n var template = _.memoize(this.control.template), newSetting = {}, templateData, value = this.getValue(), i, rowContainer, row;\r\n /**\r\n * In case we don`t have a template, we terminate here\r\n */\r\n if (!template) {\r\n return false;\r\n }\r\n /**\r\n * Extend template data with what we passed in PHP\r\n */\r\n templateData = jQuery.extend(true, {}, this.control.control.params.fields);\r\n /**\r\n * In case we added the row with \"known\" data, we need to overwrite the array\r\n */\r\n if (data) {\r\n for (i in data) {\r\n if (data.hasOwnProperty(i) && templateData.hasOwnProperty(i)) {\r\n templateData[i]['default'] = data[i];\r\n }\r\n }\r\n }\r\n /**\r\n * Add an index\r\n *\r\n * @type {number}\r\n */\r\n templateData['index'] = this.control.currentIndex;\r\n /**\r\n * Render the HTML template with underscores\r\n */\r\n template = template(templateData);\r\n rowContainer = jQuery(template).appendTo(this.control.repeaterContainer);\r\n row = new repeater_row_1.EpsilonRepeaterRow(this.control, rowContainer);\r\n /**\r\n * Bind events to the new row\r\n */\r\n this.handleRowEvents(row);\r\n /**\r\n * Register the new row in the control\r\n *\r\n * @type {*}\r\n */\r\n this.control.rows[this.control.currentIndex] = row;\r\n /**\r\n * Add a new \"index\" to the setting ( easier to render in the frontend )\r\n */\r\n for (i in templateData) {\r\n if (templateData.hasOwnProperty(i)) {\r\n newSetting[i] = templateData[i]['default'];\r\n }\r\n }\r\n if ('undefined' === typeof newSetting['index']) {\r\n newSetting['index'] = this.control.currentIndex;\r\n }\r\n /**\r\n * Add a value to the setting\r\n * @type {{}}\r\n */\r\n value[this.control.currentIndex] = newSetting;\r\n /**\r\n * Set it\r\n */\r\n if (!data) {\r\n this.setValue(value);\r\n }\r\n this.control.handleRowIncrementor();\r\n return row;\r\n };\r\n /**\r\n * Sort fields\r\n */\r\n EpsilonRepeaterUtils.prototype.sort = function (data) {\r\n var self = this;\r\n var rows = this.control.repeaterContainer.find('.repeater-row'), settings = this.getValue(), newOrder = [], newRows = [], newSettings = [], textEditorSettings;\r\n rows.each(function (i, el) {\r\n newOrder.push(jQuery(el).data('row'));\r\n });\r\n jQuery.each(newOrder, function (newPosition, oldPosition) {\r\n newRows[newPosition] = self.control.rows[oldPosition];\r\n self.setIndex(newRows[newPosition], newPosition);\r\n newSettings[newPosition] = settings[oldPosition];\r\n });\r\n var textareas = rows.find('textarea');\r\n var _loop_1 = function (i) {\r\n setTimeout(function () {\r\n var settings = {\r\n container: jQuery(textareas[i]).parent(),\r\n params: {\r\n id: jQuery(textareas[i]).attr('id')\r\n }\r\n };\r\n new text_editor_1.EpsilonTextEditor(settings, true, true);\r\n }, 100 * i);\r\n };\r\n for (var i = 0; i < textareas.length; i++) {\r\n _loop_1(i);\r\n }\r\n this.control.rows = newRows;\r\n this.setValue(newSettings);\r\n if (self.control.control.params['selective_refresh']) {\r\n wp.customize.previewer.refresh();\r\n }\r\n };\r\n /**\r\n * Saves value\r\n */\r\n EpsilonRepeaterUtils.prototype.setValue = function (value) {\r\n this.control.control.setting.set([]);\r\n this.control.control.setting.set(value);\r\n };\r\n /**\r\n * Gets the setting value\r\n */\r\n EpsilonRepeaterUtils.prototype.getValue = function () {\r\n return this.control.control.setting.get();\r\n };\r\n /**\r\n * Update a single field inside a row.\r\n * Triggered when a field has changed\r\n */\r\n EpsilonRepeaterUtils.prototype.updateField = function (instance, fieldId, element) {\r\n var row = this.control.rows[instance.index], value = this.control.utils.getValue();\r\n this.updateRepeater(instance, fieldId, element);\r\n };\r\n /**\r\n * Updates a field repeater\r\n *\r\n * @param instance\r\n * @param {string} fieldId\r\n * @param {JQuery} element\r\n * @public\r\n */\r\n EpsilonRepeaterUtils.prototype.updateRepeater = function (instance, fieldId, element) {\r\n var row = this.control.rows[instance.index], value = this.control.utils.getValue();\r\n if (!row) {\r\n return;\r\n }\r\n if (!this.control.control.params.fields[fieldId]) {\r\n return;\r\n }\r\n if (_.isUndefined(value[row.index][fieldId])) {\r\n return;\r\n }\r\n switch (this.control.control.params.fields[fieldId].type) {\r\n case 'checkbox':\r\n case 'epsilon-toggle':\r\n value[row.index][fieldId] = jQuery(element).prop('checked');\r\n break;\r\n default:\r\n value[row.index][fieldId] = jQuery(element).val();\r\n break;\r\n }\r\n this.control.utils.setValue(value);\r\n };\r\n /**\r\n * Load underscores template\r\n */\r\n EpsilonRepeaterUtils.prototype.repeaterTemplate = function () {\r\n var compiled, options = {\r\n evaluate: /<#([\\s\\S]+?)#>/g,\r\n interpolate: /\\{\\{\\{([\\s\\S]+?)\\}\\}\\}/g,\r\n escape: /\\{\\{([^\\}]+?)\\}\\}(?!\\})/g,\r\n variable: 'data'\r\n };\r\n return function (data) {\r\n compiled = _.template(jQuery('.customize-control-epsilon-repeater-content-field').html(), null, options);\r\n return compiled(data);\r\n };\r\n };\r\n /**\r\n * Set the row's index\r\n */\r\n EpsilonRepeaterUtils.prototype.setIndex = function (row, index) {\r\n row.index = index;\r\n row.container.attr('data-row', index);\r\n row.container.data('row', index);\r\n this.control.utils.updateLabel(row);\r\n };\r\n /**\r\n * Removes a row from the container\r\n */\r\n EpsilonRepeaterUtils.prototype.removeRow = function (row) {\r\n row.container.slideUp(300, function () {\r\n jQuery(this).detach();\r\n });\r\n row.container.trigger('row:remove', [row.index]);\r\n };\r\n /**\r\n * Update row label\r\n */\r\n EpsilonRepeaterUtils.prototype.updateLabel = function (row) {\r\n var rowLabelField, rowLabel, rowLabelSelector;\r\n if ('field' === row.label.type) {\r\n rowLabelField = row.container.find('.repeater-field [data-field=\"' + row.label.field + '\"]');\r\n if (_.isFunction(rowLabelField.val)) {\r\n rowLabel = rowLabelField.val();\r\n if ('' !== rowLabel) {\r\n if (!_.isUndefined(this.control.control.params.fields[row.label.field])) {\r\n if (!_.isUndefined(this.control.control.params.fields[row.label.field].type)) {\r\n if ('select' === this.control.control.params.fields[row.label.field].type) {\r\n if (!_.isUndefined(this.control.control.params.fields[row.label.field].choices) &&\r\n !_.isUndefined(this.control.control.params.fields[row.label.field].choices[rowLabel])) {\r\n rowLabel = this.control.control.params.fields[row.label.field].choices[rowLabel];\r\n }\r\n }\r\n else if ('radio' === this.control.control.params.fields[row.label.field].type || 'radio-image' === this.control.control.params.fields[row.label.field].type) {\r\n rowLabelSelector = this.control.control.selector + ' [data-row=\"' + row.index + '\"] .repeater-field [data-field=\"' + row.label.field + '\"]:checked';\r\n rowLabel = jQuery(rowLabelSelector).val();\r\n }\r\n }\r\n }\r\n row.header.find('.repeater-row-label').text(rowLabel);\r\n return;\r\n }\r\n }\r\n }\r\n row.header.find('.repeater-row-label').text(row.label.value + ' ' + (row.index + 1));\r\n };\r\n /**\r\n * Toggles the row vizibility\r\n */\r\n EpsilonRepeaterUtils.prototype.toggleMinimize = function (row, section) {\r\n if (section === void 0) { section = false; }\r\n var self = this;\r\n if (row.hasOwnProperty('type')) {\r\n section = true;\r\n }\r\n row.container.find('.repeater-row-content').slideToggle(300, function () {\r\n row.container.toggleClass('minimized');\r\n row.header.find('.dashicons').toggleClass('dashicons-arrow-up').toggleClass('dashicons-arrow-down');\r\n /**\r\n * In case we are in a section, we need to close others\r\n */\r\n if (section) {\r\n jQuery('body').removeClass('adding-section');\r\n jQuery('body').removeClass('adding-doubled-section');\r\n jQuery('#sections-left-' + self.control.control.params.id).find('.available-sections').removeClass('opened');\r\n jQuery.each(row.container.siblings(), function (index, element) {\r\n if (!jQuery(element).hasClass('minimized')) {\r\n jQuery(element).addClass('minimized');\r\n jQuery(element).find('.repeater-row-content').slideToggle(300, function () {\r\n jQuery(element).\r\n find('repeater-row-header').\r\n addClass('minimized').\r\n find('.dashicons').\r\n toggleClass('dashicons-arrow-up').\r\n toggleClass('dashicons-arrow-down');\r\n });\r\n }\r\n });\r\n }\r\n });\r\n };\r\n /**\r\n * Cleans an arrow of undefined values\r\n */\r\n EpsilonRepeaterUtils.prototype.cleanArray = function (obj) {\r\n var arr = [];\r\n for (var i = 0; i < obj.length; i++) {\r\n if (obj[i]) {\r\n arr.push(obj[i]);\r\n }\r\n }\r\n return arr;\r\n };\r\n /**\r\n * Handle row events\r\n */\r\n EpsilonRepeaterUtils.prototype.handleRowEvents = function (row) {\r\n var self = this;\r\n /**\r\n * 1. Remove row event\r\n */\r\n row.container.on('row:remove', function (e, index) {\r\n self.delete(row, index);\r\n if ('epsilon-section-repeater' === self.control.control.params.type) {\r\n jQuery('body').removeClass('adding-doubled-section');\r\n }\r\n if (self.control.control.params['selective_refresh']) {\r\n wp.customize.previewer.refresh();\r\n }\r\n });\r\n /**\r\n * 2. Initiate sortable script\r\n */\r\n row.header.on('mousedown', function () {\r\n row.container.trigger('row:start-dragging');\r\n });\r\n };\r\n return EpsilonRepeaterUtils;\r\n}());\r\nexports.EpsilonRepeaterUtils = EpsilonRepeaterUtils;\r\n\n\n/***/ }),\n/* 10 */,\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar button_group_1 = __webpack_require__(3);\r\nwp.customize.controlConstructor['epsilon-button-group'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new button_group_1.EpsilonButtonGroup(control);\r\n }\r\n});\r\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar color_picker_1 = __webpack_require__(4);\r\nwp.customize.controlConstructor['epsilon-color-picker'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new color_picker_1.EpsilonColorPicker(control);\r\n control.container.on('change', 'input.epsilon-color-picker', function (e) {\r\n control.setting.set(jQuery(e.target).val());\r\n });\r\n }\r\n});\r\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar color_schemes_1 = __webpack_require__(34);\r\n/**\r\n * Epsilon Color Schemes Control Constructor\r\n */\r\nwp.customize.controlConstructor['epsilon-color-scheme'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this, section, instance;\r\n wp.customize.bind('ready', function () {\r\n new color_schemes_1.EpsilonColorSchemes(control);\r\n });\r\n /**\r\n * Save the typography\r\n */\r\n control.container.on('change', '.epsilon-color-scheme-input', function (e) {\r\n control.setting.set(jQuery(e.target).val());\r\n });\r\n }\r\n});\r\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar customizer_navigation_1 = __webpack_require__(5);\r\nwp.customize.controlConstructor['epsilon-customizer-navigation'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new customizer_navigation_1.EpsilonCustomizerNavigation(control);\r\n }\r\n});\r\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar icon_picker_1 = __webpack_require__(35);\r\nwp.customize.controlConstructor['epsilon-icon-picker'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new icon_picker_1.EpsilonIconPicker(control, false);\r\n control.container.on('change', 'input.epsilon-icon-picker', function (event) {\r\n control.setting.set(jQuery(event.target).val());\r\n });\r\n }\r\n});\r\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar image_1 = __webpack_require__(36);\r\nwp.customize.controlConstructor['epsilon-image'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new image_1.EpsilonImage(control);\r\n }\r\n});\r\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar layouts_1 = __webpack_require__(37);\r\nwp.customize.controlConstructor['epsilon-layouts'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new layouts_1.EpsilonLayouts(control);\r\n /**\r\n * Save the layout\r\n */\r\n control.container.on('change', 'input', function (e) {\r\n control.setting.set(jQuery(e.target).val());\r\n });\r\n }\r\n});\r\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar range_slider_1 = __webpack_require__(1);\r\nwp.customize.controlConstructor['epsilon-slider'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new range_slider_1.EpsilonRangeSlider(control);\r\n control.container.on('change', 'input.rl-slider', function (event) {\r\n control.setting.set(jQuery(event.target).val());\r\n });\r\n }\r\n});\r\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar repeater_1 = __webpack_require__(6);\r\nwp.customize.controlConstructor['epsilon-repeater'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new repeater_1.EpsilonFieldRepeater(control);\r\n }\r\n});\r\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar section_repeater_1 = __webpack_require__(40);\r\nwp.customize.controlConstructor['epsilon-section-repeater'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this, id = jQuery(this.container).attr('id'), node = document.getElementById(id), observer = new MutationObserver(function (mutations) {\r\n var element = mutations[mutations.length - 1];\r\n if (jQuery(element.target).is(':visible') && !jQuery(element.target).hasClass('epsilon-section-repeater-initiated')) {\r\n jQuery(element.target).addClass('epsilon-section-repeater-initiated');\r\n new section_repeater_1.EpsilonSectionRepeater(control);\r\n }\r\n });\r\n if (this.container.is(':visible')) {\r\n this.container.addClass('epsilon-section-repeater-initiated');\r\n new section_repeater_1.EpsilonSectionRepeater(control);\r\n }\r\n if (null !== node) {\r\n observer.observe(node, { attributes: true, childList: false, attributeFilter: ['style'] });\r\n }\r\n }\r\n});\r\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar text_editor_1 = __webpack_require__(2);\r\nwp.customize.controlConstructor['epsilon-text-editor'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new text_editor_1.EpsilonTextEditor(control);\r\n control.container.on('change keyup', 'textarea', function (event) {\r\n control.setting.set(jQuery(event.target).val());\r\n });\r\n }\r\n});\r\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nwp.customize.controlConstructor['epsilon-toggle'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n control.container.on('change', 'input.onoffswitch-checkbox', function (e) {\r\n control.setting.set(jQuery(e.target).prop('checked'));\r\n });\r\n }\r\n});\r\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar typography_1 = __webpack_require__(41);\r\n/**\r\n * Epsilon Typography Control Constructor\r\n */\r\nwp.customize.controlConstructor['epsilon-typography'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new typography_1.EpsilonTypography(control);\r\n /**\r\n * Save the typography\r\n */\r\n control.container.on('change', '.customize-control-content > .epsilon-typography-input', function (e) {\r\n control.setting.set(jQuery(e.target).val());\r\n });\r\n }\r\n});\r\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nwp.customize.controlConstructor['epsilon-upsell'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n control.container.on('click', '.epsilon-upsell-label', function (e) {\r\n e.preventDefault();\r\n jQuery(this).toggleClass('opened').find('i').toggleClass('dashicons-arrow-down-alt2 dashicons-arrow-up-alt2');\r\n control.container.find('.epsilon-upsell-container').slideToggle(200);\r\n });\r\n }\r\n});\r\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n/**\r\n * Nestable Regular Panels Constructor\r\n */\r\nwp.customize.panelConstructor['epsilon-panel-regular'] = wp.customize.Panel.extend({\r\n /**\r\n * Embed Panel\r\n */\r\n _panelEmbed: wp.customize.Panel.prototype.embed,\r\n /**\r\n * Check if is contextually active\r\n */\r\n _panelIsContextuallyActive: wp.customize.Panel.prototype.isContextuallyActive,\r\n /**\r\n * Attach Events\r\n */\r\n _panelAttachEvents: wp.customize.Panel.prototype.attachEvents,\r\n /**\r\n * Ready event\r\n */\r\n ready: function () {\r\n /**\r\n * Hide the panel\r\n */\r\n if (this.params.hidden) {\r\n this.container.addClass('epsilon-hidden');\r\n }\r\n wp.customize.bind('pane-contents-reflowed', function () {\r\n // Reflow panels\r\n var panels = [];\r\n wp.customize.panel.each(function (panel) {\r\n if ('epsilon-panel-regular' !== panel.params.type || 'undefined' === typeof panel.params.panel) {\r\n return;\r\n }\r\n panels.push(panel);\r\n });\r\n panels.sort(wp.customize.utils.prioritySort).reverse();\r\n jQuery.each(panels, function (i, panel) {\r\n var parentContainer = jQuery('#sub-accordion-panel-' + panel.params.panel);\r\n parentContainer.children('.panel-meta').after(panel.headContainer);\r\n });\r\n jQuery(document).trigger('epsilon-reflown-panels');\r\n });\r\n },\r\n /**\r\n * Attach events\r\n */\r\n attachEvents: function () {\r\n var panel = this;\r\n if ('epsilon-panel-regular' !== this.params.type || 'undefined' === typeof this.params.panel) {\r\n this._panelAttachEvents.call(this);\r\n return;\r\n }\r\n this._panelAttachEvents.call(this);\r\n panel.expanded.bind(function (expanded) {\r\n var parent = wp.customize.panel(panel.params.panel);\r\n if (expanded) {\r\n parent.contentContainer.addClass('current-panel-parent');\r\n }\r\n else {\r\n parent.contentContainer.removeClass('current-panel-parent');\r\n }\r\n });\r\n panel.container.find('.customize-panel-back').off('click keydown').on('click keydown', function (event) {\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(event)) {\r\n return;\r\n }\r\n event.preventDefault();\r\n if (panel.expanded()) {\r\n wp.customize.panel(panel.params.panel).expand();\r\n }\r\n });\r\n },\r\n /**\r\n * Is contextually active\r\n * @returns {*}\r\n */\r\n isContextuallyActive: function () {\r\n var panel = this, children = this._children('panel', 'section'), activeCount = 0;\r\n if ('epsilon-panel-regular' !== this.params.type) {\r\n return this._panelIsContextuallyActive.call(this);\r\n }\r\n wp.customize.panel.each(function (child) {\r\n if (!child.params.panel) {\r\n return;\r\n }\r\n if (child.params.panel !== panel.id) {\r\n return;\r\n }\r\n children.push(child);\r\n });\r\n children.sort(wp.customize.utils.prioritySort);\r\n _(children).each(function (child) {\r\n if (child.active() && child.isContextuallyActive()) {\r\n activeCount += 1;\r\n }\r\n });\r\n return (0 !== activeCount);\r\n },\r\n /**\r\n * Embed\r\n */\r\n embed: function () {\r\n var panel = this, parentContainer = jQuery('#sub-accordion-panel-' + this.params.panel);\r\n if ('epsilon-panel-regular' !== this.params.type || 'undefined' === typeof this.params.panel) {\r\n this._panelEmbed.call(this);\r\n return;\r\n }\r\n this._panelEmbed.call(this);\r\n parentContainer.append(panel.headContainer);\r\n },\r\n});\r\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar recommended_actions_1 = __webpack_require__(43);\r\n/**\r\n * Recommended Section Constructor\r\n */\r\nwp.customize.sectionConstructor['epsilon-section-recommended-actions'] = wp.customize.Section.extend({\r\n ready: function () {\r\n new recommended_actions_1.EpsilonSectionRecommended(this);\r\n },\r\n attachEvents: function () {\r\n },\r\n isContextuallyActive: function () {\r\n return true;\r\n }\r\n});\r\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar section_doubled_1 = __webpack_require__(44);\r\n/**\r\n * Doubled Section Constructor\r\n */\r\nwp.customize.sectionConstructor['epsilon-section-doubled'] = wp.customize.Section.extend({\r\n ready: function () {\r\n var section = this;\r\n new section_doubled_1.EpsilonSectionDoubled(section);\r\n },\r\n attachEvents: function () {\r\n },\r\n isContextuallyActive: function () {\r\n return true;\r\n }\r\n});\r\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n/**\r\n * Pro Section Constructor\r\n */\r\nwp.customize.sectionConstructor['epsilon-section-pro'] = wp.customize.Section.extend({\r\n attachEvents: function () {\r\n },\r\n isContextuallyActive: function () {\r\n return true;\r\n }\r\n});\r\n\n\n/***/ }),\n/* 29 */,\n/* 30 */,\n/* 31 */,\n/* 32 */,\n/* 33 */,\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Color Schemes Module\r\n */\r\nvar EpsilonColorSchemes = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonColorSchemes(control) {\r\n this.control = control;\r\n this.context = this.control.container.find('.epsilon-color-scheme');\r\n if (!this.context.length) {\r\n return;\r\n }\r\n this.init();\r\n }\r\n /**\r\n * Initiator\r\n */\r\n EpsilonColorSchemes.prototype.init = function () {\r\n var self = this;\r\n /**\r\n * Set variables\r\n */\r\n var options = this.context.find('.epsilon-color-scheme-option'), input = this.context.parent().find('[data-customize-setting-link]').first(), json = jQuery.parseJSON(options.first().find('input').val()), api = wp.customize, colorSettings = [], css = {\r\n action: 'epsilon_generate_color_scheme_css',\r\n class: 'Epsilon_Color_Scheme',\r\n id: '',\r\n data: {}\r\n };\r\n jQuery.each(json, function (index, value) {\r\n colorSettings.push(index);\r\n });\r\n _.each(colorSettings, function (setting) {\r\n css.data[setting] = api(setting)();\r\n if ('undefined' !== typeof api.control(setting)) {\r\n api.control(setting).container.on('change', 'input.epsilon-color-picker', _.debounce(function () {\r\n self.context.siblings('.epsilon-color-scheme-selected').\r\n find('.epsilon-color-scheme-palette').\r\n find('*[data-field-id=\"' + setting + '\"]').\r\n css('background', jQuery(this).attr('value'));\r\n css.data[setting] = api(setting)();\r\n api.previewer.send('update-inline-color-schemes-css', css);\r\n }, 800));\r\n }\r\n });\r\n /**\r\n * On clicking a color scheme, update the color pickers\r\n */\r\n options.on('click', function () {\r\n var val = jQuery(this).attr('data-color-id'), json = jQuery(this).find('input').val();\r\n if (json) {\r\n json = jQuery.parseJSON(json);\r\n }\r\n /**\r\n * Find the customizer options\r\n */\r\n jQuery.each(json, function (index, value) {\r\n /**\r\n * Set values\r\n */\r\n jQuery('#customize-control-' + index + ' .epsilon-color-picker').minicolors('value', value);\r\n api(index).set(value);\r\n self.context.siblings('.epsilon-color-scheme-selected').find('.epsilon-color-scheme-palette').find('*[data-field-id=\"' + index + '\"]').css('background', value);\r\n });\r\n /**\r\n * Remove the selected class from siblings\r\n */\r\n jQuery(this).siblings('.epsilon-color-scheme-option').removeClass('selected');\r\n /**\r\n * Make active the current selection\r\n */\r\n jQuery(this).addClass('selected');\r\n /**\r\n * Trigger change\r\n */\r\n input.val(val).trigger('change');\r\n });\r\n /**\r\n * Advanced toggler\r\n */\r\n jQuery('.epsilon-control-dropdown').on('click', function () {\r\n jQuery(this).toggleClass('active');\r\n jQuery(this).find('span').toggleClass('dashicons-arrow-down dashicons-arrow-up');\r\n self.context.slideToggle();\r\n });\r\n };\r\n return EpsilonColorSchemes;\r\n}());\r\nexports.EpsilonColorSchemes = EpsilonColorSchemes;\r\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Icon Picker Module\r\n */\r\nvar EpsilonIconPicker = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonIconPicker(control, repeater) {\r\n this.control = control;\r\n this.context = this.control.container;\r\n this.collection = this.context.find('.epsilon-icons > i');\r\n this.searchInput = this.context.find('.search-container input');\r\n this.inRepeater = repeater;\r\n this.handleEvents();\r\n }\r\n /**\r\n * Handle events\r\n */\r\n EpsilonIconPicker.prototype.handleEvents = function () {\r\n var self = this;\r\n var icon, label, temp, filter;\r\n /**\r\n * Icon container toggler\r\n */\r\n this.context.on('click', '.epsilon-icon-container', function (e) {\r\n e.preventDefault();\r\n jQuery(e.target).toggleClass('opened-icon-picker');\r\n self.context.find('.epsilon-icon-picker-container').toggleClass('opened');\r\n });\r\n /**\r\n * Icon selection\r\n */\r\n this.context.on('click', '.epsilon-icons-container .epsilon-icons > i', function (e) {\r\n self.context.find('.epsilon-icons > i.selected').removeClass('selected');\r\n icon = jQuery(e.target).addClass('selected').attr('data-icon');\r\n label = jQuery(e.target).addClass('selected').attr('data-search');\r\n self.context.find('.epsilon-icon-name > i').removeClass().addClass(icon);\r\n self.context.find('.epsilon-icon-name > .icon-label').html(label);\r\n /**\r\n * Set value\r\n */\r\n if (!self.inRepeater) {\r\n self.control.setting.set(icon);\r\n }\r\n else {\r\n self.context.find('.epsilon-icon-picker').attr('value', icon).trigger('change');\r\n }\r\n });\r\n /**\r\n * Search functionality\r\n */\r\n self.context.on('keyup change', '.search-container input', _.debounce(function (e) {\r\n filter = self.searchInput.val();\r\n if ('undefined' !== typeof filter) {\r\n filter = filter.toLowerCase();\r\n }\r\n jQuery.each(self.collection, function () {\r\n temp = jQuery(this).attr('data-search');\r\n if ('undefined' !== typeof temp) {\r\n temp = temp.toLowerCase();\r\n }\r\n jQuery(this)[temp.indexOf(filter) !== -1 ? 'show' : 'hide']();\r\n });\r\n }, 1000));\r\n };\r\n return EpsilonIconPicker;\r\n}());\r\nexports.EpsilonIconPicker = EpsilonIconPicker;\r\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar epsilon_ajax_request_1 = __webpack_require__(0);\r\n/**\r\n * Epsilon Image\r\n */\r\nvar EpsilonImage = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonImage(control) {\r\n this.control = control;\r\n this.context = jQuery(control.container);\r\n this.handleEvents();\r\n }\r\n /**\r\n * Event handling ( click events )\r\n */\r\n EpsilonImage.prototype.handleEvents = function () {\r\n var self = this;\r\n var image, temp, size, thumb, setting = { id: '', url: '' }, input = this.context.find('.epsilon-controller-image-container > input');\r\n /**\r\n * Image selection\r\n */\r\n this.context.on('click', '.image-upload-button', function (e) {\r\n /**\r\n * Open the wp.media frame\r\n */\r\n image = wp.media({\r\n multiple: false,\r\n }).open();\r\n /**\r\n * On selection, save the data in a JSON\r\n */\r\n image.on('select', function () {\r\n temp = image.state().get('selection').first();\r\n size = input.attr('data-size');\r\n if ('undefined' === typeof (temp.toJSON().sizes[size])) {\r\n size = 'full';\r\n }\r\n setting.id = temp.id;\r\n setting.url = temp.toJSON().sizes[size].url;\r\n self.saveValue(setting);\r\n self.setImage(setting.url);\r\n /**\r\n * Show buttons\r\n */\r\n self.context.find('.actions .image-upload-remove-button').show();\r\n if (!_.isEmpty(self.control.params.default)) {\r\n self.context.find('.actions .image-default-button').show();\r\n }\r\n });\r\n });\r\n /**\r\n * Image deletion\r\n */\r\n this.context.on('click', '.image-upload-remove-button', function (e) {\r\n e.preventDefault();\r\n thumb = self.context.find('.epsilon-image');\r\n self.saveValue({ id: '', url: '' });\r\n if (thumb.length) {\r\n thumb.find('img').fadeOut(200, function () {\r\n var html = EpsilonTranslations.selectFile + '', Ajax, data = {\r\n action: ['Epsilon_Helper', 'get_image_sizes'],\r\n nonce: EpsilonWPUrls.ajax_nonce,\r\n args: [],\r\n };\r\n thumb.removeClass('epsilon-image').addClass('placeholder').html(html);\r\n Ajax = new epsilon_ajax_request_1.EpsilonAjaxRequest(data);\r\n Ajax.request();\r\n jQuery(Ajax).on('epsilon-received-success', function (e) {\r\n if (!_.isUndefined(Ajax.result[size])) {\r\n thumb.find('.recommended-size').text(Ajax.result[size].width + ' x ' + Ajax.result[size].height);\r\n }\r\n });\r\n });\r\n }\r\n /**\r\n * If we don`t have an image, we can hide these buttons\r\n */\r\n jQuery(e.target).hide();\r\n if (!_.isEmpty(self.control.params.default)) {\r\n self.context.find('.actions .image-default-button').show();\r\n }\r\n });\r\n self.context.on('click', '.image-default-button', function (e) {\r\n e.preventDefault();\r\n thumb = self.context.find('.epsilon-image');\r\n self.saveValue(self.control.params.default);\r\n self.setImage(self.control.params.default.url);\r\n self.context.find('.actions .image-upload-remove-button').show();\r\n });\r\n };\r\n /**\r\n * Set image in the customizer option control\r\n *\r\n * @param control\r\n * @param image\r\n */\r\n EpsilonImage.prototype.setImage = function (image) {\r\n /**\r\n * If we already have an image, we need to return that div, else we grab the placeholder\r\n *\r\n * @type {*}\r\n */\r\n var thumb = this.context.find('.epsilon-image').length ? this.context.find('.epsilon-image') : this.context.find('.placeholder');\r\n /**\r\n * We \"reload\" the image container\r\n */\r\n if (thumb.length) {\r\n thumb.removeClass('epsilon-image placeholder').addClass('epsilon-image');\r\n thumb.html('');\r\n thumb.append('');\r\n thumb.find('img').fadeIn(200);\r\n }\r\n };\r\n /**\r\n * Save value in database\r\n *\r\n * @param control\r\n * @param val\r\n */\r\n EpsilonImage.prototype.saveValue = function (val) {\r\n var input = this.context.find('.epsilon-controller-image-container > input');\r\n if ('object' === typeof (val) && '' !== val.id) {\r\n this.control.setting.set(JSON.stringify(val));\r\n jQuery(input).attr('value', JSON.stringify(val)).trigger('change');\r\n }\r\n else {\r\n this.control.setting.set('');\r\n jQuery(input).attr('value', '').trigger('change');\r\n }\r\n };\r\n return EpsilonImage;\r\n}());\r\nexports.EpsilonImage = EpsilonImage;\r\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Layouts Module\r\n */\r\nvar EpsilonLayouts = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; setting: void; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonLayouts(control) {\r\n /**\r\n * Buttons\r\n */\r\n this.html = {\r\n buttonLeft: ' ',\r\n buttonRight: ' ',\r\n };\r\n /**\r\n * Number of active columns\r\n */\r\n this.activeColumns = null;\r\n /**\r\n * Redundant constant for columns\r\n */\r\n this.colClasses = 'col12 col11 col10 col9 col8 col7 col6 col5 col4 col3 col2 col1';\r\n this.control = control;\r\n this.context = this.control.container;\r\n this.layoutButtons = this.context.find('.epsilon-control-group > a');\r\n this.resizeButtons = this.context.find('.epsilon-layouts-setup > .epsilon-column > a');\r\n this.maxColumns = this.layoutButtons.length;\r\n this.minSpan = parseFloat(this.control.params.minSpan);\r\n this.lastColumnsState = null;\r\n this.dataLink = this.context.find('[data-customize-setting-link]').first();\r\n /**\r\n * Handle actions\r\n */\r\n this.handle_actions();\r\n /**\r\n * Whenever the column count or size changes, we save data to the hidden field\r\n */\r\n this.context.on('epsilon_column_count_changed epsilon_column_size_changed', this._save);\r\n }\r\n /**\r\n * Handle the click events in the control\r\n */\r\n EpsilonLayouts.prototype.handle_actions = function () {\r\n /**\r\n * Hide / show columns\r\n */\r\n this._advanced_toggler();\r\n /**\r\n * Column resize event ( + / - buttons )\r\n */\r\n this._column_resize();\r\n /**\r\n * Addition removal of columns events\r\n */\r\n this._column_recount();\r\n this._layout_select();\r\n this._equalize_columns();\r\n };\r\n /**\r\n * Advanced toggler\r\n *\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._advanced_toggler = function () {\r\n /**\r\n * On clicking the advanced options toggler,\r\n */\r\n this.context.on('click', '.epsilon-control-advanced', function (e) {\r\n e.preventDefault();\r\n jQuery(this).toggleClass('active');\r\n jQuery('#' + jQuery(this).attr('data-unique-id')).slideToggle().addClass('active');\r\n });\r\n };\r\n /**\r\n * Column Resizer\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._column_resize = function () {\r\n var self = this;\r\n var position, elementToSubtractFrom, elementToAddOn;\r\n this.context.on('click', '.epsilon-column > a', function (e) {\r\n elementToAddOn = jQuery(this).parent();\r\n position = elementToAddOn.index();\r\n if ('right' === jQuery(this).attr('data-action')) {\r\n elementToSubtractFrom = self.context.find('.epsilon-layouts-setup > .epsilon-column').eq(position + 1);\r\n }\r\n else {\r\n elementToSubtractFrom = self.context.find('.epsilon-layouts-setup > .epsilon-column').eq(position - 1);\r\n }\r\n self._calc_column_resize(elementToSubtractFrom, elementToAddOn);\r\n });\r\n };\r\n /**\r\n * Handle addition/removal of columns\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._column_recount = function () {\r\n var self = this;\r\n var columns, operation, i, j;\r\n this.context.on('epsilon_column_count_change', function (e) {\r\n /**\r\n * Update instance variables\r\n */\r\n self.activeColumns = parseFloat(e.columns.selected);\r\n self.lastColumnsState = e.columns.beforeSelection;\r\n /**\r\n * In case we don't have anything to modify, we can terminate here\r\n */\r\n if (self.activeColumns === self.lastColumnsState) {\r\n return;\r\n }\r\n /**\r\n * Are we adding or subtrating?\r\n */\r\n operation = self.lastColumnsState < self.activeColumns ? 'adding' : 'subtracting';\r\n i = self.activeColumns - self.lastColumnsState;\r\n if ('subtracting' === operation) {\r\n self.context.find('.epsilon-layouts-setup > .epsilon-column').\r\n slice(-(self.lastColumnsState - self.activeColumns)).\r\n remove();\r\n }\r\n else {\r\n for (j = 0; j < i; j++) {\r\n self.context.find('.epsilon-layouts-setup').\r\n append('
' +\r\n self.html.buttonLeft +\r\n self.html.buttonRight +\r\n '
');\r\n }\r\n }\r\n /**\r\n * Trigger event to changed\r\n */\r\n self.context.trigger({\r\n type: 'epsilon_column_count_changed',\r\n instance: self\r\n });\r\n });\r\n };\r\n /**\r\n * When selecting a layout, recalc/remove/readd divs in the container\r\n *\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._layout_select = function () {\r\n var self = this;\r\n var columns;\r\n this.layoutButtons.on('click', function (e) {\r\n e.preventDefault();\r\n var selected = jQuery(this).attr('data-button-value');\r\n /**\r\n * Handle addition/deletion through jQuery events\r\n */\r\n self.context.trigger({\r\n type: 'epsilon_column_count_change',\r\n columns: {\r\n selected: parseFloat(selected),\r\n beforeSelection: self.context.find('.epsilon-layouts-setup > .epsilon-column').length\r\n }\r\n });\r\n /**\r\n * Visual changes\r\n */\r\n jQuery(this).addClass('active').siblings('a').removeClass('active');\r\n });\r\n };\r\n /**\r\n * Equalize coolumns, this is happening after a new layout is selected\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._equalize_columns = function () {\r\n var self = this;\r\n this.context.on('epsilon_column_count_changed', function (e) {\r\n switch (self.activeColumns) {\r\n case 2:\r\n self.context.find('.epsilon-column').removeClass(self.colClasses);\r\n self.context.find('.epsilon-column').first().addClass('col8').attr('data-columns', (8));\r\n self.context.find('.epsilon-column').last().addClass('col4').attr('data-columns', (4));\r\n break;\r\n default:\r\n if (null === self.activeColumns) {\r\n return;\r\n }\r\n self.context.find('.epsilon-column').\r\n removeClass(self.colClasses).\r\n addClass('col' + (12 / self.activeColumns)).\r\n attr('data-columns', (12 / self.activeColumns));\r\n break;\r\n }\r\n });\r\n };\r\n /**\r\n * Change spans accordingly\r\n *\r\n * @param subtract\r\n * @param add\r\n */\r\n EpsilonLayouts.prototype._calc_column_resize = function (subtract, add) {\r\n var columns = subtract.attr('data-columns'), addColumns;\r\n if ('undefined' === typeof columns) {\r\n return;\r\n }\r\n columns = parseFloat(columns);\r\n if (parseFloat(columns) === this.minSpan) {\r\n return;\r\n }\r\n addColumns = add.attr('data-columns');\r\n addColumns = parseFloat(addColumns);\r\n subtract.attr('data-columns', columns - 1).removeClass(this.colClasses).addClass('col' + (columns - 1));\r\n add.attr('data-columns', addColumns + 1).removeClass(this.colClasses).addClass('col' + (addColumns + 1));\r\n /**\r\n * Trigger event to change\r\n */\r\n this.context.trigger({\r\n type: 'epsilon_column_size_changed',\r\n instance: this\r\n });\r\n };\r\n /**\r\n * Save state in a json\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._save = function (e) {\r\n var json = {\r\n columnsCount: e.instance.activeColumns,\r\n columns: {}\r\n };\r\n jQuery.each(e.instance.context.find('.epsilon-column'), function (index) {\r\n var columns = jQuery(this).attr('data-columns');\r\n if ('undefined' === typeof columns) {\r\n return;\r\n }\r\n columns = parseFloat(columns);\r\n var Obj = {\r\n index: index + 1,\r\n span: columns\r\n };\r\n json.columns[index + 1] = Obj;\r\n });\r\n if (null === json.columnsCount) {\r\n json.columnsCount = e.instance.context.find('.epsilon-column').length;\r\n }\r\n e.instance.dataLink.val(JSON.stringify(json)).trigger('change');\r\n };\r\n return EpsilonLayouts;\r\n}());\r\nexports.EpsilonLayouts = EpsilonLayouts;\r\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar repeater_row_1 = __webpack_require__(8);\r\nvar EpsilonRepeaterSectionRow = /** @class */ (function (_super) {\r\n __extends(EpsilonRepeaterSectionRow, _super);\r\n /**\r\n * Constructor\r\n * @param {EpsilonSectionRepeater | EpsilonFieldRepeater} instance\r\n * @param {JQuery} rowContainer\r\n * @param {string} type\r\n */\r\n function EpsilonRepeaterSectionRow(instance, rowContainer, type) {\r\n var _this = _super.call(this, instance, rowContainer) || this;\r\n _this.type = type;\r\n _this.label = instance.control.params.sections[type].title;\r\n /**\r\n * Update labels\r\n */\r\n instance.utils.updateLabel(_this);\r\n _this.addTabs();\r\n return _this;\r\n }\r\n /**\r\n * Add tabs functionality ( sections have layout/styling optional settings )\r\n */\r\n EpsilonRepeaterSectionRow.prototype.addTabs = function () {\r\n jQuery(this.container).find('[data-group=\"regular\"]').wrapAll('
');\r\n jQuery(this.container).find('[data-group=\"styling\"]').wrapAll('
');\r\n jQuery(this.container).find('[data-group=\"layout\"]').wrapAll('
');\r\n this._handleTabs();\r\n };\r\n /**\r\n * Handle tabs functionality\r\n * @param container\r\n */\r\n EpsilonRepeaterSectionRow.prototype._handleTabs = function () {\r\n var self = this;\r\n var wrapper = self.container.find('nav'), tabs = self.container.find('[data-tab-id]'), tab;\r\n jQuery(wrapper).on('click', 'a', function (event) {\r\n event.preventDefault();\r\n jQuery(this).siblings().removeClass('active');\r\n jQuery(this).addClass('active');\r\n tab = self.container.find('[data-tab-id=\"' + jQuery(this).attr('data-item') + '\"]');\r\n if (tab.length) {\r\n tabs.removeClass('active');\r\n tab.addClass('active');\r\n }\r\n });\r\n };\r\n /**\r\n * We'll overwrite label immediatly after construct\r\n * @returns {any}\r\n */\r\n EpsilonRepeaterSectionRow.prototype.getLabel = function () {\r\n return this.label;\r\n };\r\n return EpsilonRepeaterSectionRow;\r\n}(repeater_row_1.EpsilonRepeaterRow));\r\nexports.EpsilonRepeaterSectionRow = EpsilonRepeaterSectionRow;\r\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar repeater_utils_1 = __webpack_require__(9);\r\nvar repeater_section_row_1 = __webpack_require__(38);\r\nvar EpsilonRepeaterSectionUtils = /** @class */ (function (_super) {\r\n __extends(EpsilonRepeaterSectionUtils, _super);\r\n /**\r\n * constructor\r\n * @param {EpsilonFieldRepeater | EpsilonSectionRepeater} control\r\n */\r\n function EpsilonRepeaterSectionUtils(control) {\r\n return _super.call(this, control) || this;\r\n }\r\n /**\r\n * Add button\r\n * @param instance\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.addButton = function () {\r\n var self = this;\r\n var isAddBtn, sections = jQuery('#sections-left-' + self.control.control.params.id).find('.available-sections'), body = jQuery('body');\r\n /**\r\n * Get a reference for the parent section, if we close it. we must close the Section sidebar as well\r\n */\r\n wp.customize['section'](this.control.control.params.section, function (instance) {\r\n instance.container.find('.accordion-section-title, .customize-section-back').on('click keydown', function (event) {\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(event)) {\r\n return;\r\n }\r\n /**\r\n * In case we left the \"sections\" screen, let's close all the repeatable sections\r\n */\r\n _.each(self.control.rows, function (sect) {\r\n if (!sect.container.hasClass('minimized')) {\r\n self.toggleMinimize(sect, true);\r\n }\r\n });\r\n body.removeClass('adding-section');\r\n body.find('.doubled-section-opened').removeClass('doubled-section-opened');\r\n sections.removeClass('opened');\r\n });\r\n });\r\n this.control.context.find('.epsilon-add-new-section').on('click keydown', function (e) {\r\n if (jQuery('body').hasClass('adding-doubled-section')) {\r\n return;\r\n }\r\n isAddBtn = jQuery(e.target).is('.epsilon-add-new-section');\r\n body.toggleClass('adding-section');\r\n sections.toggleClass('opened');\r\n if (body.hasClass('adding-section') && !isAddBtn) {\r\n self.control.control.close();\r\n }\r\n });\r\n };\r\n /**\r\n * Overwrite base method\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.repeaterTemplate = function () {\r\n var compiled, options = {\r\n evaluate: /<#([\\s\\S]+?)#>/g,\r\n interpolate: /\\{\\{\\{([\\s\\S]+?)\\}\\}\\}/g,\r\n escape: /\\{\\{([^\\}]+?)\\}\\}(?!\\})/g,\r\n variable: 'data'\r\n };\r\n return function (data) {\r\n compiled = _.template(jQuery('.customize-control-epsilon-repeater-content-section').html(), null, options);\r\n return compiled(data);\r\n };\r\n };\r\n /**\r\n * Overwrite base method\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.add = function (data) {\r\n var self = this;\r\n var template = _.memoize(this.control.template), newSetting = {}, templateData, value = self.getValue(), i, rowContainer, row, fields;\r\n /**\r\n * In case we don`t have a template, we terminate here\r\n */\r\n if (!template) {\r\n return false;\r\n }\r\n /**\r\n * Extend template data with what we passed in PHP\r\n */\r\n if ('undefined' === typeof (this.control.control.params.sections[data.type])) {\r\n return false;\r\n }\r\n /**\r\n * Form the new fields with the static ones\r\n */\r\n fields = jQuery.extend(true, {}, this.control.control.params.sections[data.type].fields, this.control.control.params.sections[data.type].customization.styling, this.control.control.params.sections[data.type].customization.layout);\r\n /**\r\n * Extend template data with what we passed in PHP\r\n */\r\n templateData = jQuery.extend(true, {}, fields, { customization: this.control.control.params.sections[data.type].customization });\r\n /**\r\n * In case we added the row with \"known\" data, we need to overwrite the array\r\n */\r\n if (data) {\r\n for (i in data) {\r\n if (data.hasOwnProperty(i) && templateData.hasOwnProperty(i)) {\r\n templateData[i]['default'] = data[i];\r\n }\r\n }\r\n }\r\n /**\r\n * Add an index\r\n *\r\n * @type {number}\r\n */\r\n templateData['index'] = this.control.currentIndex;\r\n /**\r\n * Render the HTML template with underscores\r\n */\r\n template = template(templateData);\r\n rowContainer = jQuery(template).appendTo(this.control.repeaterContainer);\r\n row = new repeater_section_row_1.EpsilonRepeaterSectionRow(this.control, rowContainer, data.type);\r\n /**\r\n * Bind events to the new row\r\n */\r\n this.handleRowEvents(row);\r\n /**\r\n * Register the new row in the control\r\n *\r\n * @type {*}\r\n */\r\n this.control.rows[this.control.currentIndex] = row;\r\n /**\r\n * Add a new \"index\" to the setting ( easier to render in the frontend )\r\n */\r\n for (i in templateData) {\r\n if (templateData.hasOwnProperty(i)) {\r\n newSetting[i] = templateData[i]['default'];\r\n }\r\n }\r\n newSetting.type = data.type;\r\n if ('undefined' === typeof newSetting['index']) {\r\n newSetting['index'] = this.control.currentIndex;\r\n }\r\n /**\r\n * Add a value to the setting\r\n * @type {{}}\r\n */\r\n value[this.control.currentIndex] = newSetting;\r\n /**\r\n * Set it\r\n */\r\n if (1 === _.size(data) && data.hasOwnProperty('type')) {\r\n self.setValue(value);\r\n }\r\n this.control.handleRowIncrementor();\r\n return row;\r\n };\r\n /**\r\n * Override parent method\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.updateLabel = function (section) {\r\n section.header.find('.repeater-row-label').html('#' + (section.index + 1) + ' - ' + section.label);\r\n };\r\n ;\r\n /**\r\n * Update a section repeater\r\n * @param instance\r\n * @param {string} fieldId\r\n * @param {JQuery} element\r\n * @public\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.updateRepeater = function (instance, fieldId, element) {\r\n var self = this;\r\n var row = this.control.rows[instance.index], value = this.getValue(), section, type, data;\r\n if (!row) {\r\n return;\r\n }\r\n if (_.isUndefined(value[row.index][fieldId])) {\r\n return;\r\n }\r\n type = this.getFieldGroup(fieldId, row.type);\r\n switch (type) {\r\n case 'checkbox':\r\n case 'epsilon-toggle':\r\n value[row.index][fieldId] = jQuery(element).prop('checked');\r\n break;\r\n default:\r\n value[row.index][fieldId] = jQuery(element).val();\r\n break;\r\n }\r\n if (self.control.control.params['selective_refresh']) {\r\n /**\r\n * Partial refresh\r\n * @type {{control; postId; index: any; value: any}}\r\n */\r\n data = {\r\n control: this.control.control.id,\r\n postId: this.control.control.params['save_as_meta'],\r\n value: value[row.index],\r\n index: row.index,\r\n };\r\n wp.customize.previewer.send('updated-section-repeater', data);\r\n }\r\n this.setValue(value);\r\n };\r\n /**\r\n *\r\n * @param instance\r\n * @param sectionType\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.getFieldGroup = function (fieldId, sectionType) {\r\n if (this.control.control.params.sections[sectionType].fields[fieldId]) {\r\n return this.control.control.params.sections[sectionType].fields[fieldId].type;\r\n }\r\n if (this.control.control.params.sections[sectionType].customization.styling[fieldId]) {\r\n return this.control.control.params.sections[sectionType].customization.styling[fieldId].type;\r\n }\r\n if (this.control.control.params.sections[sectionType].customization.layout[fieldId]) {\r\n return this.control.control.params.sections[sectionType].customization.layout[fieldId].type;\r\n }\r\n };\r\n return EpsilonRepeaterSectionUtils;\r\n}(repeater_utils_1.EpsilonRepeaterUtils));\r\nexports.EpsilonRepeaterSectionUtils = EpsilonRepeaterSectionUtils;\r\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar repeater_1 = __webpack_require__(6);\r\nvar repeater_section_utils_1 = __webpack_require__(39);\r\nvar repeater_addons_1 = __webpack_require__(7);\r\nvar EpsilonSectionRepeater = /** @class */ (function (_super) {\r\n __extends(EpsilonSectionRepeater, _super);\r\n /**\r\n * Object constructor\r\n * @param control\r\n */\r\n function EpsilonSectionRepeater(control) {\r\n var _this = _super.call(this, control) || this;\r\n /**\r\n * We need to move this element to the bottom of the page so it renders properly\r\n */\r\n _this._moveElements();\r\n /**\r\n * Events that fires from the main page\r\n * so we can focus our panel and repeatable section\r\n */\r\n _this._handleNavigation();\r\n /**\r\n * Initiate Search on sections\r\n */\r\n _this._initSearch();\r\n /**\r\n * Handle integration tab functionality\r\n */\r\n _this._handleIntegrations();\r\n return _this;\r\n }\r\n /**\r\n * Repeater container\r\n * @returns {any}\r\n */\r\n EpsilonSectionRepeater.prototype.getRepeaterContainer = function () {\r\n return this.context.find('.repeater-sections');\r\n };\r\n /**\r\n * Load utilities\r\n * @public\r\n */\r\n EpsilonSectionRepeater.prototype.loadUtils = function () {\r\n return new repeater_section_utils_1.EpsilonRepeaterSectionUtils(this);\r\n };\r\n /**\r\n * Create existing rows\r\n * @public\r\n */\r\n EpsilonSectionRepeater.prototype.createExistingRows = function () {\r\n var control = this;\r\n if (this.control.params.value.length) {\r\n for (var i = 0; i < this.control.params.value.length; i++) {\r\n var row = void 0, addons = void 0;\r\n row = control.utils.add(control.control.params.value[i]);\r\n if (false !== row) {\r\n addons = new repeater_addons_1.EpsilonRepeaterAddons(control, row);\r\n addons.initPlugins();\r\n }\r\n }\r\n }\r\n };\r\n /**\r\n * Handle events\r\n * @public\r\n */\r\n EpsilonSectionRepeater.prototype.handleEvents = function () {\r\n var self = this;\r\n self.utils.addButton();\r\n /**\r\n * Addition of sections\r\n */\r\n jQuery('#sections-left-' + this.control.params.id).on('click', '.epsilon-section [data-action=\"add\"]', function (e) {\r\n e.preventDefault();\r\n if (!self.limit || self.currentIndex < self.limit) {\r\n var row = void 0, addons = void 0;\r\n row = self.utils.add({ type: jQuery(this).parent().attr('data-id') });\r\n addons = new repeater_addons_1.EpsilonRepeaterAddons(self, row);\r\n addons.initPlugins();\r\n jQuery('body').removeClass('adding-section');\r\n jQuery('#sections-left-' + self.control.params.id).find('.available-sections').removeClass('opened');\r\n if (self.control.params['selective_refresh']) {\r\n wp.customize.previewer.refresh();\r\n }\r\n }\r\n else {\r\n jQuery(self.control.selector + ' .limit').addClass('highlight');\r\n }\r\n });\r\n /**\r\n * Section description\r\n */\r\n jQuery('#sections-left-' + this.control.params.id).on('click', '.epsilon-section [data-action=\"info\"]', function (e) {\r\n e.preventDefault();\r\n jQuery(this).parent().find('.epsilon-section-image-description').toggleClass('active');\r\n jQuery(this).parent().find('.epsilon-section-description').toggleClass('active');\r\n });\r\n /**\r\n * Section remove\r\n */\r\n this.context.on('click', '.repeater-row-remove', function (e) {\r\n self.handleRowDecrementor();\r\n if (!self.limit || self.currentIndex < self.limit) {\r\n jQuery(self.control.selector + ' .limit').removeClass('highlight');\r\n }\r\n });\r\n };\r\n /**\r\n *\r\n * @private\r\n */\r\n EpsilonSectionRepeater.prototype._handleNavigation = function () {\r\n var self = this;\r\n /**\r\n * Event that fires from the main page\r\n * so we can focus our panel and repeatable section\r\n */\r\n wp.customize.previewer.bind('epsilon-section-edit', function (data) {\r\n /**\r\n * In case the section does not exist, we can terminate\r\n */\r\n if ('undefined' === typeof (wp.customize.section(data.customizerSection))) {\r\n return;\r\n }\r\n /**\r\n * Iterate over the controls, minimize everything\r\n */\r\n _.each(self.rows, function (sect, index) {\r\n if (!sect.container.hasClass('minimized') && index !== data.section) {\r\n self.utils.toggleMinimize(sect);\r\n }\r\n });\r\n wp.customize.section(data.customizerSection).focus();\r\n /**\r\n * Focus repeatable section\r\n */\r\n if (!_.isUndefined(self.rows[data.section]) && self.rows[data.section].container.hasClass('minimized')) {\r\n self.utils.toggleMinimize(self.rows[data.section]);\r\n }\r\n });\r\n };\r\n /**\r\n * Search functionality in the sections library\r\n *\r\n * @param selector\r\n */\r\n EpsilonSectionRepeater.prototype._initSearch = function () {\r\n var self = this;\r\n var selector = jQuery('#sections-left-' + self.control.params.id), input = selector.find('.sections-search-input'), val, collection, id;\r\n input.on('keyup change', _.debounce(function (e) {\r\n val = input.val();\r\n if ('undefined' !== typeof val) {\r\n val = val.toLowerCase();\r\n }\r\n collection = selector.find('.epsilon-section');\r\n jQuery.each(collection, function () {\r\n id = jQuery(this).attr('data-id');\r\n if ('undefined' !== typeof id) {\r\n id = id.toLowerCase();\r\n }\r\n jQuery(this)[id.indexOf(val) !== -1 ? 'show' : 'hide']();\r\n });\r\n }, 1000));\r\n };\r\n /**\r\n * Handles the \"tab\" navigation in the available section list\r\n * @private\r\n */\r\n EpsilonSectionRepeater.prototype._handleIntegrations = function () {\r\n if (!this.control.params.integrations) {\r\n return;\r\n }\r\n jQuery('#sections-left-' + this.control.params.id).on('click', '.available-sections-tab-toggler', function (e) {\r\n var tab = jQuery(this).attr('data-tab');\r\n jQuery(this).siblings().removeClass('active');\r\n jQuery(this).addClass('active');\r\n e.preventDefault();\r\n if ('undefined' !== typeof tab) {\r\n jQuery('[data-tab-id=\"' + tab + '\"]').siblings('div').removeClass('active').slideUp();\r\n jQuery('[data-tab-id=\"' + tab + '\"]').slideDown().addClass('active');\r\n }\r\n });\r\n };\r\n /**\r\n * Move items \"phisically\"\r\n * @private\r\n */\r\n EpsilonSectionRepeater.prototype._moveElements = function () {\r\n jQuery('#sections-left-' + this.control.params.id).appendTo(jQuery('.wp-full-overlay'));\r\n };\r\n return EpsilonSectionRepeater;\r\n}(repeater_1.EpsilonFieldRepeater));\r\nexports.EpsilonSectionRepeater = EpsilonSectionRepeater;\r\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar range_slider_1 = __webpack_require__(1);\r\n/**\r\n * Espilon Typography Module\r\n */\r\nvar EpsilonTypography = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonTypography(control) {\r\n this.control = control;\r\n this.context = jQuery(control.container);\r\n this.container = this.context.find('.epsilon-typography-container');\r\n this.selects = this.container.find('select');\r\n this.inputs = this.container.find('.epsilon-typography-input');\r\n this.sliders = this.container.find('.slider-container');\r\n this.id = control.params.id;\r\n this.init();\r\n }\r\n /**\r\n * Initiator\r\n */\r\n EpsilonTypography.prototype.init = function () {\r\n var self = this;\r\n var sliderSettings;\r\n /**\r\n * Instantiate the selectize javascript plugin\r\n * and the input type number\r\n */\r\n try {\r\n this._selectize = this.selects.selectize();\r\n }\r\n catch (err) {\r\n /**\r\n * In case the selectize plugin is not loaded, raise an error\r\n */\r\n console.warn('selectize not yet loaded');\r\n }\r\n /**\r\n * On clicking the advanced options toggler,\r\n */\r\n this.context.on('click', '.epsilon-typography-advanced > a', function (e) {\r\n var toggle = jQuery(this).attr('data-toggle');\r\n e.preventDefault();\r\n jQuery(this).toggleClass('active').parent().toggleClass('active');\r\n jQuery('#' + toggle).slideToggle().addClass('active');\r\n });\r\n /**\r\n * Great use of the EpsilonFramework, ahoy!\r\n */\r\n jQuery.each(this.sliders, function (index, element) {\r\n var sliderType = jQuery(element).attr('data-slider-type'), sliderSettings = {\r\n container: element,\r\n params: {\r\n value: 0,\r\n id: '',\r\n sliderControls: {\r\n min: 0,\r\n max: 10,\r\n step: 1\r\n }\r\n }\r\n };\r\n switch (sliderType) {\r\n case 'letter-spacing':\r\n sliderSettings.params.value = self.control.params.inputs['letter-spacing'];\r\n sliderSettings.params.id = self.control.params.id + '-letter-spacing';\r\n sliderSettings.params.sliderControls.min = 0;\r\n sliderSettings.params.sliderControls.max = 5;\r\n sliderSettings.params.sliderControls.step = 0.1;\r\n break;\r\n case 'line-height':\r\n sliderSettings.params.value = self.control.params.inputs['line-height'];\r\n sliderSettings.params.id = self.control.params.id + '-line-height';\r\n sliderSettings.params.sliderControls.min = 0;\r\n sliderSettings.params.sliderControls.max = 40;\r\n sliderSettings.params.sliderControls.step = 1;\r\n break;\r\n default:\r\n sliderSettings.params.value = self.control.params.inputs['font-size'];\r\n sliderSettings.params.id = self.control.params.id + '-font-size';\r\n sliderSettings.params.sliderControls.min = 0;\r\n sliderSettings.params.sliderControls.max = 40;\r\n sliderSettings.params.sliderControls.step = 1;\r\n break;\r\n }\r\n new range_slider_1.EpsilonRangeSlider(sliderSettings);\r\n });\r\n this.handleEvents();\r\n };\r\n /**\r\n * Handle Events\r\n */\r\n EpsilonTypography.prototype.handleEvents = function () {\r\n var self = this;\r\n /**\r\n * On triggering the change event, create a json with the values and\r\n * send it to the preview window\r\n */\r\n this.inputs.on('change', function () {\r\n var val = self._parseJson();\r\n jQuery('#hidden_input_' + self.id).val(val).trigger('change');\r\n });\r\n };\r\n /**\r\n * Parse/create the json and send it to the preview window\r\n *\r\n * @param inputs\r\n * @param id\r\n * @private\r\n */\r\n EpsilonTypography.prototype._parseJson = function () {\r\n var self = this;\r\n var object = {\r\n action: 'epsilon_generate_typography_css',\r\n class: 'Epsilon_Typography',\r\n id: this.control.id,\r\n data: {\r\n selectors: this.control.params.selectors,\r\n stylesheet: this.control.params.stylesheet,\r\n id: this.control.id,\r\n json: {},\r\n }\r\n }, api = wp.customize;\r\n jQuery.each(this.inputs, function (index, value) {\r\n var key = jQuery(value).attr('id'), replace = self.id + '-', type = jQuery(this).attr('type');\r\n key = key.replace(replace, '');\r\n if ('checkbox' === type) {\r\n object.data.json[key] = jQuery(this).prop('checked') ? jQuery(value).val() : '';\r\n }\r\n else {\r\n object.data.json[key] = jQuery(value).val();\r\n }\r\n });\r\n api.previewer.send('update-inline-typography-css', object);\r\n return JSON.stringify(object.data);\r\n };\r\n return EpsilonTypography;\r\n}());\r\nexports.EpsilonTypography = EpsilonTypography;\r\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Controls\r\n */\r\n__webpack_require__(18);\r\n__webpack_require__(15);\r\n__webpack_require__(21);\r\n__webpack_require__(22);\r\n__webpack_require__(12);\r\n__webpack_require__(14);\r\n__webpack_require__(16);\r\n__webpack_require__(23);\r\n__webpack_require__(13);\r\n__webpack_require__(24);\r\n__webpack_require__(17);\r\n__webpack_require__(19);\r\n__webpack_require__(20);\r\n__webpack_require__(11);\r\n/**\r\n * Panels\r\n */\r\n__webpack_require__(25);\r\n/**\r\n * Sections\r\n */\r\n__webpack_require__(27);\r\n__webpack_require__(28);\r\n__webpack_require__(26);\r\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar epsilon_ajax_request_1 = __webpack_require__(0);\r\nvar EpsilonSectionRecommended = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{section: JQuery; params: { id: string}}} control\r\n */\r\n function EpsilonSectionRecommended(section) {\r\n /**\r\n * AJAXING =)\r\n * @type {boolean}\r\n */\r\n this.ajax = false;\r\n this.section = section;\r\n this.context = this.section.container;\r\n this.actions = this.section.params.actions.length;\r\n this.handleDismissals();\r\n this.handleEvents();\r\n }\r\n EpsilonSectionRecommended.prototype.handleDismissals = function () {\r\n this._dismissPlugin();\r\n this._dismissAction();\r\n };\r\n /**\r\n * Handle Events\r\n */\r\n EpsilonSectionRecommended.prototype.handleEvents = function () {\r\n this.context.on('click', '.epsilon-close-recommended-section', function (e) {\r\n e.preventDefault();\r\n jQuery(this).find('span').toggleClass('dashicons-arrow-down-alt2');\r\n jQuery('.recommended-actions_container').slideToggle(200);\r\n });\r\n jQuery(document).on('epsilon-plugin-activated', function (event, data) {\r\n var container = jQuery('span#' + data.plugin).parents('.epsilon-recommended-plugins'), next = container.next();\r\n container.fadeOut('200', function () {\r\n next.css({ opacity: 1, height: 'initial' }).fadeIn('200');\r\n });\r\n });\r\n };\r\n /**\r\n * Dismiss Plugin\r\n * @private\r\n */\r\n EpsilonSectionRecommended.prototype._dismissPlugin = function () {\r\n var section = this;\r\n var trigger = this.context.find('.epsilon-recommended-plugin-button');\r\n trigger.on('click', function (e) {\r\n var self = jQuery(this);\r\n /**\r\n * Get the container\r\n * @type {JQuery}\r\n */\r\n var container = self.parents('.epsilon-recommended-actions-container'), \r\n /**\r\n * Get the next element ( this will be shown next )\r\n */\r\n next = container.next(), \r\n /**\r\n * Get the title\r\n *\r\n * @type {JQuery}\r\n */\r\n title = container.parents('.control-section-epsilon-section-recommended-actions').find('h3'), \r\n /**\r\n * Create the args object for the AJAX call\r\n *\r\n * action [ Class, Method Name ]\r\n * args [ parameters to be sent to method ]\r\n *\r\n * @type {{action: [*], args: {id: *, option: *}}}\r\n */\r\n args = {\r\n action: ['Epsilon_Notify_System', 'dismiss_required_action'],\r\n nonce: EpsilonWPUrls.ajax_nonce,\r\n args: {\r\n id: jQuery(this).attr('id'),\r\n option: jQuery(this).attr('data-option')\r\n }\r\n }, Ajax, replace, replaceText;\r\n if (section.ajax) {\r\n return;\r\n }\r\n section.ajax = true;\r\n Ajax = new epsilon_ajax_request_1.EpsilonAjaxRequest(args);\r\n Ajax.request();\r\n jQuery(Ajax).on('epsilon-received-success', function (e) {\r\n section.ajax = false;\r\n if (Ajax.result && 'ok' === Ajax.result.message) {\r\n /**\r\n * Fade the current element and show the next one.\r\n * We don't need to remove it at this time. Leave it to for\r\n * server side\r\n */\r\n container.fadeOut('200', function () {\r\n if (next.is('p')) {\r\n replace = title.find('.section-title');\r\n replaceText = replace.attr('data-social');\r\n replace.text(replaceText);\r\n }\r\n next.css({ opacity: 1, height: 'initial' }).fadeIn('200');\r\n });\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Dismiss Action\r\n * @private\r\n */\r\n EpsilonSectionRecommended.prototype._dismissAction = function () {\r\n var section = this;\r\n var trigger = this.context.find('.epsilon-dismiss-required-action');\r\n trigger.on('click', function (e) {\r\n var self = jQuery(this);\r\n /**\r\n * Get the container\r\n * @type {JQuery}\r\n */\r\n var container = self.parents('.epsilon-recommended-actions-container'), \r\n /**\r\n * Get the title\r\n *\r\n * @type {JQuery}\r\n */\r\n title = container.parents('.control-section-epsilon-section-recommended-actions').find('h3'), \r\n /**\r\n * Get the indew from the notice\r\n *\r\n * @type {JQuery}\r\n */\r\n notice = title.find('.epsilon-actions-count > .current-index'), \r\n /**\r\n * Get the next element ( this will be shown next )\r\n */\r\n next = container.next(), \r\n /**\r\n * Create the args object for the AJAX call\r\n *\r\n * action [ Class, Method Name ]\r\n * args [ parameters to be sent to method ]\r\n *\r\n * @type {{action: [*], args: {id: *, option: *}}}\r\n */\r\n args = {\r\n action: ['Epsilon_Notify_System', 'dismiss_required_action'],\r\n nonce: EpsilonWPUrls.ajax_nonce,\r\n args: {\r\n id: jQuery(this).attr('id'),\r\n option: jQuery(this).attr('data-option')\r\n }\r\n }, replace, plugins, replaceText, \r\n /**\r\n * Get the total\r\n *\r\n * @type {Number}\r\n */\r\n total = notice.attr('data-total'), \r\n /**\r\n * Get the current index\r\n *\r\n * @type {Number}\r\n */\r\n index = container.attr('data-index'), Ajax;\r\n if ('undefined' !== total) {\r\n total = parseInt(total);\r\n }\r\n if ('undefined' !== index) {\r\n index = parseInt(index);\r\n }\r\n if (section.ajax) {\r\n return;\r\n }\r\n section.ajax = true;\r\n Ajax = new epsilon_ajax_request_1.EpsilonAjaxRequest(args);\r\n Ajax.request();\r\n jQuery(Ajax).on('epsilon-received-success', function (e) {\r\n section.ajax = false;\r\n if (Ajax.result && 'ok' === Ajax.result.message) {\r\n /**\r\n * If it's the last element, show plugins\r\n */\r\n if (total <= index) {\r\n replace = title.find('.section-title');\r\n plugins = jQuery('.epsilon-recommended-plugins');\r\n replaceText = replace.attr('data-social');\r\n if (plugins.length) {\r\n replaceText = replace.attr('data-plugin_text');\r\n }\r\n title.find('.epsilon-actions-count').remove();\r\n replace.text(replaceText);\r\n }\r\n else {\r\n notice.text(index + 1);\r\n }\r\n /**\r\n * Fade the current element and show the next one.\r\n * We don't need to remove it at this time. Leave it to for\r\n * server side\r\n */\r\n container.fadeOut('200', function () {\r\n next.css({ opacity: 1, height: 'initial' }).fadeIn('200');\r\n });\r\n }\r\n });\r\n });\r\n };\r\n return EpsilonSectionRecommended;\r\n}());\r\nexports.EpsilonSectionRecommended = EpsilonSectionRecommended;\r\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar EpsilonSectionDoubled = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{section: JQuery; params: { id: string}}} control\r\n */\r\n function EpsilonSectionDoubled(section) {\r\n /**\r\n * save instance of section\r\n */\r\n this.section = section;\r\n /**\r\n * Move out of the ugly list, this has overflow hidden and we can`t display it properly\r\n */\r\n this.createParent();\r\n /**\r\n * Append new sections to parent\r\n */\r\n this.section.container.appendTo(this.parent);\r\n /**\r\n * Handle Events\r\n */\r\n this.handleEvents();\r\n }\r\n EpsilonSectionDoubled.prototype.handleEvents = function () {\r\n var self = this;\r\n var section = this.section;\r\n /**\r\n * Close sections\r\n */\r\n section.container.on('click', '.epsilon-close-doubled-section', function (e) {\r\n e.preventDefault();\r\n jQuery('body').removeClass('adding-doubled-section');\r\n jQuery('body').find('.doubled-section-opened').removeClass('doubled-section-opened');\r\n });\r\n /**\r\n * Open sections\r\n */\r\n section.headContainer.on('click', function (e) {\r\n var opened, strippedIdHead, strippedIdContainer;\r\n e.preventDefault();\r\n /**\r\n * We need to close everything on click\r\n * @type {*|{}}\r\n */\r\n opened = self.parent.find('.doubled-section-opened');\r\n if (opened.length) {\r\n opened.removeClass('doubled-section-opened');\r\n }\r\n if (jQuery('body').hasClass('adding-doubled-section')) {\r\n strippedIdHead = jQuery(this).attr('id');\r\n if ('undefined' !== typeof strippedIdHead) {\r\n strippedIdHead = strippedIdHead.replace('accordion-section-', '');\r\n }\r\n strippedIdContainer = opened.attr('id');\r\n if ('undefined' !== typeof strippedIdContainer) {\r\n strippedIdContainer = strippedIdContainer.replace('sub-accordion-section-', '');\r\n }\r\n if (strippedIdContainer === strippedIdHead) {\r\n jQuery('body').removeClass('adding-doubled-section');\r\n }\r\n }\r\n else {\r\n jQuery('body').addClass('adding-doubled-section');\r\n }\r\n jQuery.each(section.container, function () {\r\n if (jQuery(this).is('li')) {\r\n return;\r\n }\r\n jQuery(this).addClass('doubled-section-opened');\r\n });\r\n });\r\n };\r\n /**\r\n * Create a parent container\r\n */\r\n EpsilonSectionDoubled.prototype.createParent = function () {\r\n var parent = jQuery('.wp-full-overlay').find('.doubled-section-parent');\r\n if (!parent.length) {\r\n jQuery('.wp-full-overlay').append('
');\r\n parent = jQuery('.wp-full-overlay').find('.doubled-section-parent');\r\n this.parent = parent;\r\n }\r\n this.parent = parent;\r\n };\r\n return EpsilonSectionDoubled;\r\n}());\r\nexports.EpsilonSectionDoubled = EpsilonSectionDoubled;\r\n\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// epsilon-framework-customizer.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/js/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 42);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 76825310601f96a69460","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Ajax request class\r\n */\r\nvar EpsilonAjaxRequest = /** @class */ (function () {\r\n /**\r\n * Constructor\r\n * @param {Object} args\r\n */\r\n function EpsilonAjaxRequest(args) {\r\n this.args = args;\r\n }\r\n /**\r\n * Init Request\r\n */\r\n EpsilonAjaxRequest.prototype.request = function () {\r\n var self = this;\r\n jQuery.ajax({\r\n type: 'POST',\r\n data: { action: 'epsilon_framework_ajax_action', args: self.args },\r\n dataType: 'json',\r\n url: EpsilonWPUrls.ajaxurl,\r\n success: function (data) {\r\n self.result = data;\r\n jQuery(self).trigger('epsilon-received-success');\r\n },\r\n /**\r\n * Throw errors\r\n *\r\n * @param jqXHR\r\n * @param textStatus\r\n * @param errorThrown\r\n */\r\n error: function (jqXHR, textStatus, errorThrown) {\r\n console.log(jqXHR + ' :: ' + textStatus + ' :: ' + errorThrown);\r\n }\r\n });\r\n };\r\n return EpsilonAjaxRequest;\r\n}());\r\nexports.EpsilonAjaxRequest = EpsilonAjaxRequest;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/utils/epsilon-ajax-request.ts\n// module id = 0\n// module chunks = 0 1 2","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Range Slider Module\r\n */\r\nvar EpsilonRangeSlider = /** @class */ (function () {\r\n /**\r\n * Class constructor\r\n * @param {{container: JQuery; params: {value: number; id: string; sliderControls: {min: number; max: number; step: number}}}} control\r\n */\r\n function EpsilonRangeSlider(control) {\r\n /**\r\n * Minimum\r\n * @type {number}\r\n */\r\n this.min = 1;\r\n /**\r\n * Maximum\r\n * @type {number}\r\n */\r\n this.max = 20;\r\n /**\r\n * Step incrementor\r\n * @type {number}\r\n */\r\n this.step = 1;\r\n this.context = jQuery(control.container).hasClass('slider-container') ? jQuery(control.container) : jQuery(control.container).find('.slider-container');\r\n this.min = control.params.sliderControls.min;\r\n this.max = control.params.sliderControls.max;\r\n this.step = control.params.sliderControls.step;\r\n this.value = control.params.value;\r\n if (!this.context) {\r\n return;\r\n }\r\n this.init();\r\n }\r\n /**\r\n * Initiator\r\n */\r\n EpsilonRangeSlider.prototype.init = function () {\r\n var self = this;\r\n var slider = this.context.find('.ss-slider'), input = this.context.find('.rl-slider'), inputId = input.attr('id'), id = slider.attr('id');\r\n jQuery('#' + id).slider({\r\n value: this.value,\r\n range: 'min',\r\n min: this.min,\r\n max: this.max,\r\n step: this.step,\r\n /**\r\n * Removed Change event because server was flooded with requests from\r\n * javascript, sending changesets on each increment.\r\n *\r\n * @param event\r\n * @param ui\r\n */\r\n slide: function (event, ui) {\r\n jQuery('#' + inputId).attr('value', ui.value);\r\n },\r\n /**\r\n * Bind the change event to the \"actual\" stop\r\n * @param event\r\n * @param ui\r\n */\r\n stop: function (event, ui) {\r\n jQuery('#' + inputId).trigger('change');\r\n }\r\n });\r\n jQuery(input).on('focus', function () {\r\n jQuery(this).blur();\r\n });\r\n jQuery('#' + inputId).attr('value', (jQuery('#' + id).slider('value')));\r\n };\r\n return EpsilonRangeSlider;\r\n}());\r\nexports.EpsilonRangeSlider = EpsilonRangeSlider;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/range-slider.ts\n// module id = 1\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Text Editor Module\r\n */\r\nvar EpsilonTextEditor = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonTextEditor(control, repeater, deconstruct) {\r\n if (repeater === void 0) { repeater = false; }\r\n if (deconstruct === void 0) { deconstruct = false; }\r\n this.context = jQuery(control.container);\r\n this.editorId = control.params.id + '-editor';\r\n if (repeater) {\r\n this.editorId = control.params.id;\r\n }\r\n if (deconstruct) {\r\n wp.editor.remove(this.editorId);\r\n }\r\n this.init();\r\n }\r\n /**\r\n * Text editor initiator\r\n */\r\n EpsilonTextEditor.prototype.init = function () {\r\n wp.editor.initialize(this.editorId, {\r\n tinymce: {\r\n wpautop: true,\r\n setup: function (editor) {\r\n editor.on('change', function (e) {\r\n editor.save();\r\n jQuery(editor.getElement()).trigger('change');\r\n });\r\n }\r\n },\r\n quicktags: true\r\n });\r\n };\r\n return EpsilonTextEditor;\r\n}());\r\nexports.EpsilonTextEditor = EpsilonTextEditor;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/text-editor.ts\n// module id = 2\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Button Group\r\n */\r\nvar EpsilonButtonGroup = /** @class */ (function () {\r\n /**\r\n * Class constructor\r\n * @param {{container: JQuery; setting: void; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonButtonGroup(control) {\r\n this.control = control;\r\n this.context = control.container;\r\n this.handleEvents();\r\n }\r\n /**\r\n * Handle click events\r\n */\r\n EpsilonButtonGroup.prototype.handleEvents = function () {\r\n var self = this;\r\n this.context.on('click', '.epsilon-control-group > a', function (e) {\r\n e.preventDefault();\r\n var value = jQuery(this).attr('data-value');\r\n jQuery(this).siblings().removeClass('active');\r\n jQuery(this).addClass('active');\r\n if (!self.control.hasOwnProperty('repeater')) {\r\n self.control.setting.set(jQuery(this).attr('data-value'));\r\n }\r\n else {\r\n jQuery(this).parent().find('input').val(value).trigger('change');\r\n }\r\n });\r\n };\r\n return EpsilonButtonGroup;\r\n}());\r\nexports.EpsilonButtonGroup = EpsilonButtonGroup;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/button-group.ts\n// module id = 3\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Color Picker Module\r\n */\r\nvar EpsilonColorPicker = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; setting: void; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonColorPicker(control) {\r\n var self = this;\r\n var clear;\r\n this.control = control;\r\n this.context = jQuery(control.container).find('.epsilon-color-picker');\r\n this.settings = {\r\n changeDelay: 500,\r\n theme: 'default',\r\n change: this.changePallete,\r\n };\r\n if ('function' !== typeof jQuery.fn.minicolors) {\r\n return;\r\n }\r\n if ('' !== this.context.attr('placeholder')) {\r\n this.context.defaultValue = this.context.attr('placeholder');\r\n }\r\n if ('rgba' === this.context.attr('data-attr-mode')) {\r\n this.context.format = 'rgb';\r\n this.context.opacity = true;\r\n }\r\n this.context.minicolors(this.settings);\r\n clear = this.context.parents('.customize-control-epsilon-color-picker').find('a');\r\n if (!clear.length) {\r\n clear = this.context.parents('.repeater-field-epsilon-color-picker').find('a');\r\n }\r\n clear.on('click', function (e) {\r\n e.preventDefault();\r\n self.instance = jQuery(this).parents('.customize-control-epsilon-color-picker').find('input.epsilon-color-picker');\r\n if (!self.instance.length) {\r\n self.instance = jQuery(this).parents('.repeater-field-epsilon-color-picker').find('input.epsilon-color-picker');\r\n }\r\n self.instance.minicolors('value', jQuery(this).attr('data-default'));\r\n self.instance.trigger('change');\r\n });\r\n }\r\n /**\r\n * Real time changes to the \"pallete\"\r\n *\r\n * @param value\r\n * @param opacity\r\n */\r\n EpsilonColorPicker.prototype.changePallete = function (value, opacity) {\r\n jQuery('.epsilon-color-scheme-selected').find('*[data-field-id=\"' + jQuery(this).attr('data-customize-setting-link') + '\"]').css('background-color', value);\r\n };\r\n return EpsilonColorPicker;\r\n}());\r\nexports.EpsilonColorPicker = EpsilonColorPicker;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/color-picker.ts\n// module id = 4\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Customizer Navigation Module\r\n */\r\nvar EpsilonCustomizerNavigation = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonCustomizerNavigation(control) {\r\n this.context = jQuery(control.container);\r\n this.multiple = this.context.find('.epsilon-customizer-navigation-container').length > 1;\r\n if (this.multiple) {\r\n this.initMultiple();\r\n }\r\n else {\r\n this.init();\r\n }\r\n }\r\n /**\r\n * Init multiple fields\r\n */\r\n EpsilonCustomizerNavigation.prototype.initMultiple = function () {\r\n var containers = this.context.find('.epsilon-customizer-navigation-container:not(.initiated)').first().addClass('initiated');\r\n containers.map(function (index, element) {\r\n jQuery(element).find('a').on('click', function (e) {\r\n e.preventDefault();\r\n if ('undefined' !== typeof (wp.customize.section(jQuery(this).attr('data-customizer-section')))) {\r\n if (jQuery(e.target).attr('data-doubled')) {\r\n wp.customize.section(jQuery(this).attr('data-customizer-section')).headContainer.trigger('click');\r\n }\r\n else {\r\n wp.customize.section(jQuery(this).attr('data-customizer-section')).focus();\r\n }\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Control initiator\r\n */\r\n EpsilonCustomizerNavigation.prototype.init = function () {\r\n var navigation = this.context.find('.epsilon-customizer-navigation-container');\r\n if (navigation.length) {\r\n navigation.on('click', navigation.find('a'), function (e) {\r\n e.preventDefault();\r\n if ('undefined' !== typeof (wp.customize.section(jQuery(e.target).attr('data-customizer-section')))) {\r\n if (jQuery(e.target).attr('data-doubled')) {\r\n wp.customize.section(jQuery(e.target).attr('data-customizer-section')).headContainer.trigger('click');\r\n }\r\n else {\r\n wp.customize.section(jQuery(e.target).attr('data-customizer-section')).focus();\r\n }\r\n }\r\n });\r\n }\r\n };\r\n return EpsilonCustomizerNavigation;\r\n}());\r\nexports.EpsilonCustomizerNavigation = EpsilonCustomizerNavigation;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/customizer-navigation.ts\n// module id = 5\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar repeater_addons_1 = require(\"./repeater/repeater-addons\");\r\nvar repeater_utils_1 = require(\"./repeater/repeater-utils\");\r\nvar EpsilonFieldRepeater = /** @class */ (function () {\r\n /**\r\n * Object constructor\r\n * @param control\r\n */\r\n function EpsilonFieldRepeater(control) {\r\n /**\r\n * Rows\r\n * @type {Array}\r\n */\r\n this.rows = [];\r\n /**\r\n * Current index\r\n */\r\n this.currentIndex = 0;\r\n this.control = control;\r\n this.context = control.container;\r\n this.utils = this.loadUtils();\r\n this.template = this.loadTemplate();\r\n /**\r\n * Create a reference of the container\r\n */\r\n this.repeaterContainer = this.getRepeaterContainer();\r\n /**\r\n * Setting field reference\r\n */\r\n this.settingField = this.context.find('[data-customize-setting-link]');\r\n /**\r\n * Setup Limit\r\n *\r\n * @type {boolean}\r\n */\r\n if (!_.isUndefined(this.control.params.choices.limit)) {\r\n this.limit = (0 >= this.control.params.choices.limit) ? false : parseInt(this.control.params.choices.limit);\r\n }\r\n /**\r\n * Handle events\r\n */\r\n this.handleEvents();\r\n /**\r\n * Create the existing rows\r\n */\r\n this.createExistingRows();\r\n /**\r\n * Make rows sortable\r\n */\r\n this.initSortable();\r\n }\r\n /**\r\n * Repeater container\r\n * @returns {any}\r\n */\r\n EpsilonFieldRepeater.prototype.getRepeaterContainer = function () {\r\n return this.context.find('.repeater-fields');\r\n };\r\n /**\r\n * Load utilities\r\n * @public\r\n */\r\n EpsilonFieldRepeater.prototype.loadUtils = function () {\r\n return new repeater_utils_1.EpsilonRepeaterUtils(this);\r\n };\r\n /**\r\n * Load template\r\n */\r\n EpsilonFieldRepeater.prototype.loadTemplate = function () {\r\n return this.utils.repeaterTemplate();\r\n };\r\n /**\r\n * Create existing rows\r\n */\r\n EpsilonFieldRepeater.prototype.createExistingRows = function () {\r\n var control = this;\r\n if (this.control.params.value.length) {\r\n for (var i = 0; i < this.control.params.value.length; i++) {\r\n var row = void 0, addons = void 0;\r\n row = control.utils.add(this.control.params.value[i]);\r\n addons = new repeater_addons_1.EpsilonRepeaterAddons(control, row);\r\n addons.initPlugins();\r\n }\r\n }\r\n };\r\n /**\r\n * Handle click/saving/etc events\r\n */\r\n EpsilonFieldRepeater.prototype.handleEvents = function () {\r\n var self = this;\r\n /**\r\n * 1. Add row button\r\n */\r\n this.context.on('click', 'button.epsilon-repeater-add', function (e) {\r\n var newRow, addons;\r\n e.preventDefault();\r\n if (!self.limit || self.currentIndex < self.limit) {\r\n newRow = self.utils.add();\r\n addons = new repeater_addons_1.EpsilonRepeaterAddons(self, newRow);\r\n addons.initPlugins();\r\n }\r\n else {\r\n jQuery(self.control.selector + ' .limit').addClass('highlight');\r\n }\r\n });\r\n /**\r\n * 2. REMOVE Row button\r\n */\r\n this.context.on('click', '.repeater-row-remove', function (e) {\r\n self.handleRowDecrementor();\r\n if (!self.limit || self.currentIndex < self.limit) {\r\n jQuery(self.control.selector + ' .limit').removeClass('highlight');\r\n }\r\n });\r\n };\r\n /**\r\n * Initiate sortable functionality\r\n */\r\n EpsilonFieldRepeater.prototype.initSortable = function () {\r\n var control = this;\r\n this.repeaterContainer.sortable({\r\n handle: '.repeater-row-header',\r\n axis: 'y',\r\n distance: 15,\r\n stop: function (e, data) {\r\n setTimeout(control.utils.sort(data), 200);\r\n },\r\n });\r\n };\r\n /**\r\n * Handles row addition\r\n */\r\n EpsilonFieldRepeater.prototype.handleRowIncrementor = function () {\r\n /**\r\n * Update index;\r\n */\r\n this.currentIndex++;\r\n };\r\n /**\r\n * Handles row addition\r\n */\r\n EpsilonFieldRepeater.prototype.handleRowDecrementor = function () {\r\n /**\r\n * Update index;\r\n */\r\n this.currentIndex--;\r\n };\r\n return EpsilonFieldRepeater;\r\n}());\r\nexports.EpsilonFieldRepeater = EpsilonFieldRepeater;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/repeater.ts\n// module id = 6\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar epsilon_ajax_request_1 = require(\"../../../utils/epsilon-ajax-request\");\r\nvar button_group_1 = require(\"../button-group\");\r\nvar range_slider_1 = require(\"../range-slider\");\r\nvar text_editor_1 = require(\"../text-editor\");\r\nvar color_picker_1 = require(\"../color-picker\");\r\nvar customizer_navigation_1 = require(\"../customizer-navigation\");\r\nvar EpsilonRepeaterAddons = /** @class */ (function () {\r\n /**\r\n *\r\n * @param {EpsilonFieldRepeater | EpsilonSectionRepeater} control\r\n * @param {EpsilonRepeaterSectionRow | EpsilonRepeaterRow | any} row\r\n */\r\n function EpsilonRepeaterAddons(control, row) {\r\n this.control = control;\r\n this.row = row;\r\n this.proxy = this.control.control.params;\r\n if (this.row.hasOwnProperty('type')) {\r\n this.proxy = this.proxy.sections[this.row.type];\r\n }\r\n }\r\n /**\r\n * Init all plugins\r\n */\r\n EpsilonRepeaterAddons.prototype.initPlugins = function () {\r\n this.initRangeSliders();\r\n this.initImageUploads();\r\n this.initIconPicker();\r\n this.initTextEditor();\r\n this.initColorPickers();\r\n this.initButtonGroup();\r\n if (this.row.hasOwnProperty('type')) {\r\n this.initCustomizerNavigation();\r\n this.initSelectize();\r\n }\r\n };\r\n /**\r\n * Initiate button group\r\n */\r\n EpsilonRepeaterAddons.prototype.initButtonGroup = function () {\r\n var self = this;\r\n var settings = {\r\n container: self.row.container,\r\n repeater: true,\r\n };\r\n new button_group_1.EpsilonButtonGroup(settings);\r\n };\r\n /**\r\n * Selectize inputs\r\n */\r\n EpsilonRepeaterAddons.prototype.initSelectize = function () {\r\n this.row.container.find('.epsilon-selectize').selectize({\r\n plugins: ['remove_button'],\r\n });\r\n };\r\n /**\r\n * Init navigation between sections\r\n */\r\n EpsilonRepeaterAddons.prototype.initCustomizerNavigation = function () {\r\n var self = this;\r\n var init = false, settings;\r\n for (var k in self.proxy.fields) {\r\n if ('epsilon-customizer-navigation' === self.proxy.fields[k].type) {\r\n settings = self.row;\r\n new customizer_navigation_1.EpsilonCustomizerNavigation(settings);\r\n }\r\n }\r\n };\r\n /**\r\n * Init color pickers\r\n */\r\n EpsilonRepeaterAddons.prototype.initColorPickers = function () {\r\n var self = this;\r\n var init = false, settings;\r\n settings = self.row;\r\n new color_picker_1.EpsilonColorPicker(settings);\r\n };\r\n /**\r\n * Handle image uploads\r\n */\r\n EpsilonRepeaterAddons.prototype.initImageUploads = function () {\r\n var self = this;\r\n var temp;\r\n /**\r\n * Image controls - Upload\r\n */\r\n self.row.container.on('click keypress', '.epsilon-controller-image-container .image-upload-button', function (e) {\r\n e.preventDefault();\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(e)) {\r\n return;\r\n }\r\n temp = jQuery(this).parents('.epsilon-controller-image-container');\r\n self._imageUpload(temp);\r\n });\r\n /**\r\n * Image Controls - Removal\r\n */\r\n self.row.container.on('click keypress', '.epsilon-controller-image-container .image-upload-remove-button', function (e) {\r\n e.preventDefault();\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(e)) {\r\n return;\r\n }\r\n temp = jQuery(this).parents('.epsilon-controller-image-container');\r\n self._imageRemoval(temp);\r\n });\r\n };\r\n /**\r\n * Image Upload\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._imageUpload = function (container) {\r\n var self = this;\r\n var setting = {}, temp, size, val, input, image = wp.media({\r\n multiple: false,\r\n }).open();\r\n /**\r\n * On selection, save the data in a JSON\r\n */\r\n image.on('select', function () {\r\n input = container.find('input');\r\n temp = image.state().get('selection').first();\r\n size = input.attr('data-size');\r\n if ('undefined' === typeof (temp.toJSON().sizes[size])) {\r\n size = 'full';\r\n }\r\n setting.id = temp.id;\r\n setting.url = temp.toJSON().sizes[size].url;\r\n val = ('url' === input.attr('data-save-mode')) ? setting.url : setting.id;\r\n input.val(val);\r\n self._setImage(container, setting.url);\r\n container.find('.actions .image-upload-remove-button').show();\r\n });\r\n };\r\n /**\r\n * Removes image\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._imageRemoval = function (container) {\r\n var self = this;\r\n var thumb = container.find('.epsilon-image');\r\n if (thumb.length) {\r\n thumb.find('img').fadeOut(200, function () {\r\n var html = EpsilonTranslations.selectFile + '', Ajax, data = {\r\n action: ['Epsilon_Helper', 'get_image_sizes'],\r\n nonce: EpsilonWPUrls.ajax_nonce,\r\n args: [],\r\n }, size = container.find('input').attr('data-size');\r\n thumb.removeClass('epsilon-image').addClass('placeholder').html(html);\r\n Ajax = new epsilon_ajax_request_1.EpsilonAjaxRequest(data);\r\n Ajax.request();\r\n jQuery(Ajax).on('epsilon-received-success', function (e) {\r\n if (!_.isUndefined(Ajax.result[size])) {\r\n thumb.find('.recommended-size').text(Ajax.result[size].width + ' x ' + Ajax.result[size].height);\r\n }\r\n });\r\n });\r\n }\r\n container.find('.actions .image-upload-remove-button').hide();\r\n container.find('input').attr('value', '').trigger('change');\r\n };\r\n /**\r\n * Sets the uploaded image\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._setImage = function (container, url) {\r\n /**\r\n * If we already have an image, we need to return that div, else we grab the placeholder\r\n *\r\n * @type {*}\r\n */\r\n var thumb = container.find('.epsilon-image').length ? container.find('.epsilon-image') : container.find('.placeholder');\r\n /**\r\n * We \"reload\" the image container\r\n */\r\n if (thumb.length) {\r\n thumb.removeClass('epsilon-image placeholder').addClass('epsilon-image');\r\n thumb.html('');\r\n thumb.append('');\r\n thumb.find('img').fadeIn(200);\r\n }\r\n container.find('input').trigger('change');\r\n };\r\n /**\r\n * Icon picker\r\n */\r\n EpsilonRepeaterAddons.prototype.initIconPicker = function () {\r\n var self = this;\r\n var init = false, temp;\r\n for (var k in self.proxy.fields) {\r\n if ('epsilon-icon-picker' === self.proxy.fields[k].type) {\r\n init = true;\r\n /***\r\n * Toggle\r\n */\r\n self.row.container.on('click keypress', '.epsilon-icon-picker-repeater-container .epsilon-icon-container', function (e) {\r\n e.preventDefault();\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(e)) {\r\n return;\r\n }\r\n jQuery(this).toggleClass('opened-icon-picker');\r\n temp = jQuery(this).parents('.epsilon-icon-picker-repeater-container');\r\n self._iconPickerToggle(temp);\r\n });\r\n /**\r\n * Selection\r\n */\r\n self.row.container.on('click keypress', '.epsilon-icon-picker-repeater-container .epsilon-icons-container .epsilon-icons > i', function (e) {\r\n e.preventDefault();\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(e)) {\r\n return;\r\n }\r\n temp = jQuery(this).parents('.epsilon-icon-picker-repeater-container');\r\n self._iconPickerSelection(this, temp);\r\n });\r\n /**\r\n * Filtering\r\n */\r\n self.row.container.on('keyup change', '.epsilon-icon-picker-repeater-container .search-container input', _.debounce(function (e) {\r\n e.preventDefault();\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(e)) {\r\n return;\r\n }\r\n temp = jQuery(this).parents('.epsilon-icon-picker-repeater-container');\r\n self._iconPickerFilter(this, temp);\r\n }, 1000));\r\n }\r\n }\r\n };\r\n /**\r\n * Toggle the icon picker dropdown\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._iconPickerToggle = function (container) {\r\n container.find('.epsilon-icon-picker-container').toggleClass('opened');\r\n };\r\n /**\r\n * Icon pick\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._iconPickerSelection = function (clicked, container) {\r\n var icon, label;\r\n container.find('.epsilon-icons > i.selected').removeClass('selected');\r\n icon = jQuery(clicked).addClass('selected').attr('data-icon');\r\n label = jQuery(clicked).attr('data-search');\r\n container.find('.epsilon-icon-name > i').removeClass().addClass(icon);\r\n container.find('.epsilon-icon-name > .icon-label').html(label);\r\n /**\r\n * Set value\r\n */\r\n container.find('.epsilon-icon-picker').attr('value', icon).trigger('change');\r\n };\r\n /**\r\n * Icon picker filtering\r\n * @private\r\n */\r\n EpsilonRepeaterAddons.prototype._iconPickerFilter = function (input, container) {\r\n var filter, temp, collection = jQuery(container).find('.epsilon-icons > i');\r\n filter = jQuery(input).val();\r\n if ('undefined' !== typeof filter) {\r\n filter = filter.toLowerCase();\r\n }\r\n jQuery.each(collection, function () {\r\n temp = jQuery(this).attr('data-search');\r\n if ('undefined' !== typeof temp) {\r\n temp = temp.toLowerCase();\r\n }\r\n jQuery(this)[temp.indexOf(filter) !== -1 ? 'show' : 'hide']();\r\n });\r\n };\r\n /**\r\n * WP Texteditor\r\n */\r\n EpsilonRepeaterAddons.prototype.initTextEditor = function () {\r\n var self = this;\r\n var textareas = jQuery(self.row.container).find('textarea');\r\n var _loop_1 = function (i) {\r\n setTimeout(function () {\r\n var settings = {\r\n container: jQuery(textareas[i]).parent(),\r\n params: {\r\n id: jQuery(textareas[i]).attr('id')\r\n }\r\n };\r\n new text_editor_1.EpsilonTextEditor(settings, true);\r\n }, 100 * i);\r\n };\r\n for (var i = 0; i < textareas.length; i++) {\r\n _loop_1(i);\r\n }\r\n };\r\n /**\r\n * initiate range sliders\r\n */\r\n EpsilonRepeaterAddons.prototype.initRangeSliders = function () {\r\n var self = this;\r\n var init = false, sliderSettings, val;\r\n for (var k in self.proxy.fields) {\r\n if ('epsilon-slider' === self.proxy.fields[k].type) {\r\n init = true;\r\n sliderSettings = {\r\n container: self.row.container,\r\n params: {\r\n id: self.proxy.fields[k].id,\r\n sliderControls: {\r\n min: self.proxy.fields[k].choices.min,\r\n max: self.proxy.fields[k].choices.max,\r\n step: self.proxy.fields[k].choices.step\r\n }\r\n }\r\n };\r\n if (self.row.hasOwnProperty('type')) {\r\n sliderSettings.params.value = parseFloat(self.proxy.fields[k].default);\r\n if ('undefined' !== typeof self.control.control.params.value[self.row.index]) {\r\n sliderSettings.params.value = parseFloat(self.control.control.params.value[self.row.index][k]);\r\n }\r\n new range_slider_1.EpsilonRangeSlider(sliderSettings);\r\n return;\r\n }\r\n if ('undefined' !== typeof self.proxy.value[self.row.index]) {\r\n sliderSettings.params.value = parseFloat(self.proxy.value[self.row.index][k]);\r\n }\r\n sliderSettings.container = jQuery(sliderSettings.container).find('.epsilon-slider:not(.initiated)').first().addClass('initiated');\r\n new range_slider_1.EpsilonRangeSlider(sliderSettings);\r\n }\r\n }\r\n };\r\n return EpsilonRepeaterAddons;\r\n}());\r\nexports.EpsilonRepeaterAddons = EpsilonRepeaterAddons;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/repeater/repeater-addons.ts\n// module id = 7\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar EpsilonRepeaterRow = /** @class */ (function () {\r\n /**\r\n * Row Constructor\r\n * @param {{container: JQuery; setting: void; params: {value: number; id: string}}} instance\r\n * @param {JQuery} rowContainer\r\n */\r\n function EpsilonRepeaterRow(instance, rowContainer) {\r\n var self = this;\r\n this.index = instance.currentIndex;\r\n this.container = rowContainer;\r\n this.label = this.getLabel(instance);\r\n this.header = this.container.find('.repeater-row-header');\r\n this.footer = this.container.find('.repeater-row-footer');\r\n this.handleEvents(instance);\r\n instance.utils.updateLabel(this);\r\n }\r\n /**\r\n *\r\n * @returns {any}\r\n */\r\n EpsilonRepeaterRow.prototype.getLabel = function (instance) {\r\n return instance.control.params.rowLabel;\r\n };\r\n /**\r\n * Handle row events\r\n */\r\n EpsilonRepeaterRow.prototype.handleEvents = function (instance) {\r\n var control = instance, self = this;\r\n /**\r\n * Click event on header to toggle minimize\r\n */\r\n this.header.on('click', function () {\r\n control.utils.toggleMinimize(self);\r\n });\r\n /**\r\n * Click event on handler to toggle minimize\r\n */\r\n this.container.on('click', '.repeater-row-minimize', function () {\r\n control.utils.toggleMinimize(self);\r\n });\r\n /**\r\n * Remove row functionality\r\n */\r\n this.container.on('click', '.repeater-row-remove', function () {\r\n control.utils.removeRow(self);\r\n });\r\n /**\r\n * Update row functionality\r\n */\r\n this.container.on('keyup change', 'input, select, textarea', function (e) {\r\n control.utils.updateField(self, jQuery(e.target).data('field'), e.target);\r\n control.utils.updateLabel(self);\r\n self.container.trigger('row:update', [self.index, jQuery(e.target).data('field'), e.target]);\r\n });\r\n };\r\n return EpsilonRepeaterRow;\r\n}());\r\nexports.EpsilonRepeaterRow = EpsilonRepeaterRow;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/repeater/repeater-row.ts\n// module id = 8\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar text_editor_1 = require(\"../text-editor\");\r\nvar repeater_row_1 = require(\"./repeater-row\");\r\nvar EpsilonRepeaterUtils = /** @class */ (function () {\r\n /**\r\n * Constructor\r\n * @param {EpsilonFieldRepeater | EpsilonSectionRepeater} control\r\n */\r\n function EpsilonRepeaterUtils(control) {\r\n this.control = control;\r\n }\r\n /**\r\n * Deletes a row\r\n */\r\n EpsilonRepeaterUtils.prototype.delete = function (row, index) {\r\n var self = this;\r\n var settings = this.getValue(), currentRow, i, prop;\r\n if (settings[index]) {\r\n // Find the row\r\n row = this.control.rows[index];\r\n if (row) {\r\n // Remove the row settings\r\n delete settings[index];\r\n // Remove the row from the rows collection\r\n delete this.control.rows[index];\r\n }\r\n }\r\n settings = this.cleanArray(settings);\r\n this.control.rows = self.cleanArray(this.control.rows);\r\n jQuery.each(this.control.rows, function (index, element) {\r\n self.setIndex(element, index);\r\n });\r\n // Update the new setting values\r\n this.setValue(settings);\r\n // Remap the row numbers\r\n i = 1;\r\n for (prop in this.control.rows) {\r\n if (this.control.rows.hasOwnProperty(prop) && this.control.rows[prop]) {\r\n self.updateLabel(this.control.rows[prop]);\r\n i++;\r\n }\r\n }\r\n };\r\n /**\r\n * Adds a row\r\n */\r\n EpsilonRepeaterUtils.prototype.add = function (data) {\r\n var self = this;\r\n var template = _.memoize(this.control.template), newSetting = {}, templateData, value = this.getValue(), i, rowContainer, row;\r\n /**\r\n * In case we don`t have a template, we terminate here\r\n */\r\n if (!template) {\r\n return false;\r\n }\r\n /**\r\n * Extend template data with what we passed in PHP\r\n */\r\n templateData = jQuery.extend(true, {}, this.control.control.params.fields);\r\n /**\r\n * In case we added the row with \"known\" data, we need to overwrite the array\r\n */\r\n if (data) {\r\n for (i in data) {\r\n if (data.hasOwnProperty(i) && templateData.hasOwnProperty(i)) {\r\n templateData[i]['default'] = data[i];\r\n }\r\n }\r\n }\r\n /**\r\n * Add an index\r\n *\r\n * @type {number}\r\n */\r\n templateData['index'] = this.control.currentIndex;\r\n /**\r\n * Render the HTML template with underscores\r\n */\r\n template = template(templateData);\r\n rowContainer = jQuery(template).appendTo(this.control.repeaterContainer);\r\n row = new repeater_row_1.EpsilonRepeaterRow(this.control, rowContainer);\r\n /**\r\n * Bind events to the new row\r\n */\r\n this.handleRowEvents(row);\r\n /**\r\n * Register the new row in the control\r\n *\r\n * @type {*}\r\n */\r\n this.control.rows[this.control.currentIndex] = row;\r\n /**\r\n * Add a new \"index\" to the setting ( easier to render in the frontend )\r\n */\r\n for (i in templateData) {\r\n if (templateData.hasOwnProperty(i)) {\r\n newSetting[i] = templateData[i]['default'];\r\n }\r\n }\r\n if ('undefined' === typeof newSetting['index']) {\r\n newSetting['index'] = this.control.currentIndex;\r\n }\r\n /**\r\n * Add a value to the setting\r\n * @type {{}}\r\n */\r\n value[this.control.currentIndex] = newSetting;\r\n /**\r\n * Set it\r\n */\r\n if (!data) {\r\n this.setValue(value);\r\n }\r\n this.control.handleRowIncrementor();\r\n return row;\r\n };\r\n /**\r\n * Sort fields\r\n */\r\n EpsilonRepeaterUtils.prototype.sort = function (data) {\r\n var self = this;\r\n var rows = this.control.repeaterContainer.find('.repeater-row'), settings = this.getValue(), newOrder = [], newRows = [], newSettings = [], textEditorSettings;\r\n rows.each(function (i, el) {\r\n newOrder.push(jQuery(el).data('row'));\r\n });\r\n jQuery.each(newOrder, function (newPosition, oldPosition) {\r\n newRows[newPosition] = self.control.rows[oldPosition];\r\n self.setIndex(newRows[newPosition], newPosition);\r\n newSettings[newPosition] = settings[oldPosition];\r\n });\r\n var textareas = rows.find('textarea');\r\n var _loop_1 = function (i) {\r\n setTimeout(function () {\r\n var settings = {\r\n container: jQuery(textareas[i]).parent(),\r\n params: {\r\n id: jQuery(textareas[i]).attr('id')\r\n }\r\n };\r\n new text_editor_1.EpsilonTextEditor(settings, true, true);\r\n }, 100 * i);\r\n };\r\n for (var i = 0; i < textareas.length; i++) {\r\n _loop_1(i);\r\n }\r\n this.control.rows = newRows;\r\n this.setValue(newSettings);\r\n if (self.control.control.params['selective_refresh']) {\r\n wp.customize.previewer.refresh();\r\n }\r\n };\r\n /**\r\n * Saves value\r\n */\r\n EpsilonRepeaterUtils.prototype.setValue = function (value) {\r\n this.control.control.setting.set([]);\r\n this.control.control.setting.set(value);\r\n };\r\n /**\r\n * Gets the setting value\r\n */\r\n EpsilonRepeaterUtils.prototype.getValue = function () {\r\n return this.control.control.setting.get();\r\n };\r\n /**\r\n * Update a single field inside a row.\r\n * Triggered when a field has changed\r\n */\r\n EpsilonRepeaterUtils.prototype.updateField = function (instance, fieldId, element) {\r\n var row = this.control.rows[instance.index], value = this.control.utils.getValue();\r\n this.updateRepeater(instance, fieldId, element);\r\n };\r\n /**\r\n * Updates a field repeater\r\n *\r\n * @param instance\r\n * @param {string} fieldId\r\n * @param {JQuery} element\r\n * @public\r\n */\r\n EpsilonRepeaterUtils.prototype.updateRepeater = function (instance, fieldId, element) {\r\n var row = this.control.rows[instance.index], value = this.control.utils.getValue();\r\n if (!row) {\r\n return;\r\n }\r\n if (!this.control.control.params.fields[fieldId]) {\r\n return;\r\n }\r\n if (_.isUndefined(value[row.index][fieldId])) {\r\n return;\r\n }\r\n switch (this.control.control.params.fields[fieldId].type) {\r\n case 'checkbox':\r\n case 'epsilon-toggle':\r\n value[row.index][fieldId] = jQuery(element).prop('checked');\r\n break;\r\n default:\r\n value[row.index][fieldId] = jQuery(element).val();\r\n break;\r\n }\r\n this.control.utils.setValue(value);\r\n };\r\n /**\r\n * Load underscores template\r\n */\r\n EpsilonRepeaterUtils.prototype.repeaterTemplate = function () {\r\n var compiled, options = {\r\n evaluate: /<#([\\s\\S]+?)#>/g,\r\n interpolate: /\\{\\{\\{([\\s\\S]+?)\\}\\}\\}/g,\r\n escape: /\\{\\{([^\\}]+?)\\}\\}(?!\\})/g,\r\n variable: 'data'\r\n };\r\n return function (data) {\r\n compiled = _.template(jQuery('.customize-control-epsilon-repeater-content-field').html(), null, options);\r\n return compiled(data);\r\n };\r\n };\r\n /**\r\n * Set the row's index\r\n */\r\n EpsilonRepeaterUtils.prototype.setIndex = function (row, index) {\r\n row.index = index;\r\n row.container.attr('data-row', index);\r\n row.container.data('row', index);\r\n this.control.utils.updateLabel(row);\r\n };\r\n /**\r\n * Removes a row from the container\r\n */\r\n EpsilonRepeaterUtils.prototype.removeRow = function (row) {\r\n row.container.slideUp(300, function () {\r\n jQuery(this).detach();\r\n });\r\n row.container.trigger('row:remove', [row.index]);\r\n };\r\n /**\r\n * Update row label\r\n */\r\n EpsilonRepeaterUtils.prototype.updateLabel = function (row) {\r\n var rowLabelField, rowLabel, rowLabelSelector;\r\n if ('field' === row.label.type) {\r\n rowLabelField = row.container.find('.repeater-field [data-field=\"' + row.label.field + '\"]');\r\n if (_.isFunction(rowLabelField.val)) {\r\n rowLabel = rowLabelField.val();\r\n if ('' !== rowLabel) {\r\n if (!_.isUndefined(this.control.control.params.fields[row.label.field])) {\r\n if (!_.isUndefined(this.control.control.params.fields[row.label.field].type)) {\r\n if ('select' === this.control.control.params.fields[row.label.field].type) {\r\n if (!_.isUndefined(this.control.control.params.fields[row.label.field].choices) &&\r\n !_.isUndefined(this.control.control.params.fields[row.label.field].choices[rowLabel])) {\r\n rowLabel = this.control.control.params.fields[row.label.field].choices[rowLabel];\r\n }\r\n }\r\n else if ('radio' === this.control.control.params.fields[row.label.field].type || 'radio-image' === this.control.control.params.fields[row.label.field].type) {\r\n rowLabelSelector = this.control.control.selector + ' [data-row=\"' + row.index + '\"] .repeater-field [data-field=\"' + row.label.field + '\"]:checked';\r\n rowLabel = jQuery(rowLabelSelector).val();\r\n }\r\n }\r\n }\r\n row.header.find('.repeater-row-label').text(rowLabel);\r\n return;\r\n }\r\n }\r\n }\r\n row.header.find('.repeater-row-label').text(row.label.value + ' ' + (row.index + 1));\r\n };\r\n /**\r\n * Toggles the row vizibility\r\n */\r\n EpsilonRepeaterUtils.prototype.toggleMinimize = function (row, section) {\r\n if (section === void 0) { section = false; }\r\n var self = this;\r\n if (row.hasOwnProperty('type')) {\r\n section = true;\r\n }\r\n row.container.find('.repeater-row-content').slideToggle(300, function () {\r\n row.container.toggleClass('minimized');\r\n row.header.find('.dashicons').toggleClass('dashicons-arrow-up').toggleClass('dashicons-arrow-down');\r\n /**\r\n * In case we are in a section, we need to close others\r\n */\r\n if (section) {\r\n jQuery('body').removeClass('adding-section');\r\n jQuery('body').removeClass('adding-doubled-section');\r\n jQuery('#sections-left-' + self.control.control.params.id).find('.available-sections').removeClass('opened');\r\n jQuery.each(row.container.siblings(), function (index, element) {\r\n if (!jQuery(element).hasClass('minimized')) {\r\n jQuery(element).addClass('minimized');\r\n jQuery(element).find('.repeater-row-content').slideToggle(300, function () {\r\n jQuery(element).\r\n find('repeater-row-header').\r\n addClass('minimized').\r\n find('.dashicons').\r\n toggleClass('dashicons-arrow-up').\r\n toggleClass('dashicons-arrow-down');\r\n });\r\n }\r\n });\r\n }\r\n });\r\n };\r\n /**\r\n * Cleans an arrow of undefined values\r\n */\r\n EpsilonRepeaterUtils.prototype.cleanArray = function (obj) {\r\n var arr = [];\r\n for (var i = 0; i < obj.length; i++) {\r\n if (obj[i]) {\r\n arr.push(obj[i]);\r\n }\r\n }\r\n return arr;\r\n };\r\n /**\r\n * Handle row events\r\n */\r\n EpsilonRepeaterUtils.prototype.handleRowEvents = function (row) {\r\n var self = this;\r\n /**\r\n * 1. Remove row event\r\n */\r\n row.container.on('row:remove', function (e, index) {\r\n self.delete(row, index);\r\n if ('epsilon-section-repeater' === self.control.control.params.type) {\r\n jQuery('body').removeClass('adding-doubled-section');\r\n }\r\n if (self.control.control.params['selective_refresh']) {\r\n wp.customize.previewer.refresh();\r\n }\r\n });\r\n /**\r\n * 2. Initiate sortable script\r\n */\r\n row.header.on('mousedown', function () {\r\n row.container.trigger('row:start-dragging');\r\n });\r\n };\r\n return EpsilonRepeaterUtils;\r\n}());\r\nexports.EpsilonRepeaterUtils = EpsilonRepeaterUtils;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/repeater/repeater-utils.ts\n// module id = 9\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar button_group_1 = require(\"../../controls/button-group\");\r\nwp.customize.controlConstructor['epsilon-button-group'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new button_group_1.EpsilonButtonGroup(control);\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/button-group.ts\n// module id = 11\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar color_picker_1 = require(\"../../controls/color-picker\");\r\nwp.customize.controlConstructor['epsilon-color-picker'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new color_picker_1.EpsilonColorPicker(control);\r\n control.container.on('change', 'input.epsilon-color-picker', function (e) {\r\n control.setting.set(jQuery(e.target).val());\r\n });\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/color-picker.ts\n// module id = 12\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar color_schemes_1 = require(\"../../controls/color-schemes\");\r\n/**\r\n * Epsilon Color Schemes Control Constructor\r\n */\r\nwp.customize.controlConstructor['epsilon-color-scheme'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this, section, instance;\r\n wp.customize.bind('ready', function () {\r\n new color_schemes_1.EpsilonColorSchemes(control);\r\n });\r\n /**\r\n * Save the typography\r\n */\r\n control.container.on('change', '.epsilon-color-scheme-input', function (e) {\r\n control.setting.set(jQuery(e.target).val());\r\n });\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/color-schemes.ts\n// module id = 13\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar customizer_navigation_1 = require(\"../../controls/customizer-navigation\");\r\nwp.customize.controlConstructor['epsilon-customizer-navigation'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new customizer_navigation_1.EpsilonCustomizerNavigation(control);\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/customizer-navigation.ts\n// module id = 14\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar icon_picker_1 = require(\"../../controls/icon-picker\");\r\nwp.customize.controlConstructor['epsilon-icon-picker'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new icon_picker_1.EpsilonIconPicker(control, false);\r\n control.container.on('change', 'input.epsilon-icon-picker', function (event) {\r\n control.setting.set(jQuery(event.target).val());\r\n });\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/icon-picker.ts\n// module id = 15\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar image_1 = require(\"../../controls/image\");\r\nwp.customize.controlConstructor['epsilon-image'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new image_1.EpsilonImage(control);\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/image.ts\n// module id = 16\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar layouts_1 = require(\"../../controls/layouts\");\r\nwp.customize.controlConstructor['epsilon-layouts'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new layouts_1.EpsilonLayouts(control);\r\n /**\r\n * Save the layout\r\n */\r\n control.container.on('change', 'input', function (e) {\r\n control.setting.set(jQuery(e.target).val());\r\n });\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/layouts.ts\n// module id = 17\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar range_slider_1 = require(\"../../controls/range-slider\");\r\nwp.customize.controlConstructor['epsilon-slider'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new range_slider_1.EpsilonRangeSlider(control);\r\n control.container.on('change', 'input.rl-slider', function (event) {\r\n control.setting.set(jQuery(event.target).val());\r\n });\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/range-slider.ts\n// module id = 18\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar repeater_1 = require(\"../../controls/repeater\");\r\nwp.customize.controlConstructor['epsilon-repeater'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new repeater_1.EpsilonFieldRepeater(control);\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/repeater.ts\n// module id = 19\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar section_repeater_1 = require(\"../../controls/section-repeater\");\r\nwp.customize.controlConstructor['epsilon-section-repeater'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this, id = jQuery(this.container).attr('id'), node = document.getElementById(id), observer = new MutationObserver(function (mutations) {\r\n var element = mutations[mutations.length - 1];\r\n if (jQuery(element.target).is(':visible') && !jQuery(element.target).hasClass('epsilon-section-repeater-initiated')) {\r\n jQuery(element.target).addClass('epsilon-section-repeater-initiated');\r\n new section_repeater_1.EpsilonSectionRepeater(control);\r\n }\r\n });\r\n if (this.container.is(':visible')) {\r\n this.container.addClass('epsilon-section-repeater-initiated');\r\n new section_repeater_1.EpsilonSectionRepeater(control);\r\n }\r\n if (null !== node) {\r\n observer.observe(node, { attributes: true, childList: false, attributeFilter: ['style'] });\r\n }\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/section-repeater.ts\n// module id = 20\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar text_editor_1 = require(\"../../controls/text-editor\");\r\nwp.customize.controlConstructor['epsilon-text-editor'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new text_editor_1.EpsilonTextEditor(control);\r\n control.container.on('change keyup', 'textarea', function (event) {\r\n control.setting.set(jQuery(event.target).val());\r\n });\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/text-editor.ts\n// module id = 21\n// module chunks = 0","\"use strict\";\r\nwp.customize.controlConstructor['epsilon-toggle'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n control.container.on('change', 'input.onoffswitch-checkbox', function (e) {\r\n control.setting.set(jQuery(e.target).prop('checked'));\r\n });\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/toggle.ts\n// module id = 22\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar typography_1 = require(\"../../controls/typography\");\r\n/**\r\n * Epsilon Typography Control Constructor\r\n */\r\nwp.customize.controlConstructor['epsilon-typography'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n new typography_1.EpsilonTypography(control);\r\n /**\r\n * Save the typography\r\n */\r\n control.container.on('change', '.customize-control-content > .epsilon-typography-input', function (e) {\r\n control.setting.set(jQuery(e.target).val());\r\n });\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/typography.ts\n// module id = 23\n// module chunks = 0","\"use strict\";\r\nwp.customize.controlConstructor['epsilon-upsell'] = wp.customize.Control.extend({\r\n ready: function () {\r\n var control = this;\r\n control.container.on('click', '.epsilon-upsell-label', function (e) {\r\n e.preventDefault();\r\n jQuery(this).toggleClass('opened').find('i').toggleClass('dashicons-arrow-down-alt2 dashicons-arrow-up-alt2');\r\n control.container.find('.epsilon-upsell-container').slideToggle(200);\r\n });\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/controls/upsell.ts\n// module id = 24\n// module chunks = 0","\"use strict\";\r\n/**\r\n * Nestable Regular Panels Constructor\r\n */\r\nwp.customize.panelConstructor['epsilon-panel-regular'] = wp.customize.Panel.extend({\r\n /**\r\n * Embed Panel\r\n */\r\n _panelEmbed: wp.customize.Panel.prototype.embed,\r\n /**\r\n * Check if is contextually active\r\n */\r\n _panelIsContextuallyActive: wp.customize.Panel.prototype.isContextuallyActive,\r\n /**\r\n * Attach Events\r\n */\r\n _panelAttachEvents: wp.customize.Panel.prototype.attachEvents,\r\n /**\r\n * Ready event\r\n */\r\n ready: function () {\r\n /**\r\n * Hide the panel\r\n */\r\n if (this.params.hidden) {\r\n this.container.addClass('epsilon-hidden');\r\n }\r\n wp.customize.bind('pane-contents-reflowed', function () {\r\n // Reflow panels\r\n var panels = [];\r\n wp.customize.panel.each(function (panel) {\r\n if ('epsilon-panel-regular' !== panel.params.type || 'undefined' === typeof panel.params.panel) {\r\n return;\r\n }\r\n panels.push(panel);\r\n });\r\n panels.sort(wp.customize.utils.prioritySort).reverse();\r\n jQuery.each(panels, function (i, panel) {\r\n var parentContainer = jQuery('#sub-accordion-panel-' + panel.params.panel);\r\n parentContainer.children('.panel-meta').after(panel.headContainer);\r\n });\r\n jQuery(document).trigger('epsilon-reflown-panels');\r\n });\r\n },\r\n /**\r\n * Attach events\r\n */\r\n attachEvents: function () {\r\n var panel = this;\r\n if ('epsilon-panel-regular' !== this.params.type || 'undefined' === typeof this.params.panel) {\r\n this._panelAttachEvents.call(this);\r\n return;\r\n }\r\n this._panelAttachEvents.call(this);\r\n panel.expanded.bind(function (expanded) {\r\n var parent = wp.customize.panel(panel.params.panel);\r\n if (expanded) {\r\n parent.contentContainer.addClass('current-panel-parent');\r\n }\r\n else {\r\n parent.contentContainer.removeClass('current-panel-parent');\r\n }\r\n });\r\n panel.container.find('.customize-panel-back').off('click keydown').on('click keydown', function (event) {\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(event)) {\r\n return;\r\n }\r\n event.preventDefault();\r\n if (panel.expanded()) {\r\n wp.customize.panel(panel.params.panel).expand();\r\n }\r\n });\r\n },\r\n /**\r\n * Is contextually active\r\n * @returns {*}\r\n */\r\n isContextuallyActive: function () {\r\n var panel = this, children = this._children('panel', 'section'), activeCount = 0;\r\n if ('epsilon-panel-regular' !== this.params.type) {\r\n return this._panelIsContextuallyActive.call(this);\r\n }\r\n wp.customize.panel.each(function (child) {\r\n if (!child.params.panel) {\r\n return;\r\n }\r\n if (child.params.panel !== panel.id) {\r\n return;\r\n }\r\n children.push(child);\r\n });\r\n children.sort(wp.customize.utils.prioritySort);\r\n _(children).each(function (child) {\r\n if (child.active() && child.isContextuallyActive()) {\r\n activeCount += 1;\r\n }\r\n });\r\n return (0 !== activeCount);\r\n },\r\n /**\r\n * Embed\r\n */\r\n embed: function () {\r\n var panel = this, parentContainer = jQuery('#sub-accordion-panel-' + this.params.panel);\r\n if ('epsilon-panel-regular' !== this.params.type || 'undefined' === typeof this.params.panel) {\r\n this._panelEmbed.call(this);\r\n return;\r\n }\r\n this._panelEmbed.call(this);\r\n parentContainer.append(panel.headContainer);\r\n },\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/panels/regular.ts\n// module id = 25\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar recommended_actions_1 = require(\"../../sections/recommended-actions\");\r\n/**\r\n * Recommended Section Constructor\r\n */\r\nwp.customize.sectionConstructor['epsilon-section-recommended-actions'] = wp.customize.Section.extend({\r\n ready: function () {\r\n new recommended_actions_1.EpsilonSectionRecommended(this);\r\n },\r\n attachEvents: function () {\r\n },\r\n isContextuallyActive: function () {\r\n return true;\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/sections/recommended-actions.ts\n// module id = 26\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar section_doubled_1 = require(\"../../sections/section-doubled\");\r\n/**\r\n * Doubled Section Constructor\r\n */\r\nwp.customize.sectionConstructor['epsilon-section-doubled'] = wp.customize.Section.extend({\r\n ready: function () {\r\n var section = this;\r\n new section_doubled_1.EpsilonSectionDoubled(section);\r\n },\r\n attachEvents: function () {\r\n },\r\n isContextuallyActive: function () {\r\n return true;\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/sections/section-doubled.ts\n// module id = 27\n// module chunks = 0","\"use strict\";\r\n/**\r\n * Pro Section Constructor\r\n */\r\nwp.customize.sectionConstructor['epsilon-section-pro'] = wp.customize.Section.extend({\r\n attachEvents: function () {\r\n },\r\n isContextuallyActive: function () {\r\n return true;\r\n }\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/extenders/sections/section-pro.ts\n// module id = 28\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Color Schemes Module\r\n */\r\nvar EpsilonColorSchemes = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonColorSchemes(control) {\r\n this.control = control;\r\n this.context = this.control.container.find('.epsilon-color-scheme');\r\n if (!this.context.length) {\r\n return;\r\n }\r\n this.init();\r\n }\r\n /**\r\n * Initiator\r\n */\r\n EpsilonColorSchemes.prototype.init = function () {\r\n var self = this;\r\n /**\r\n * Set variables\r\n */\r\n var options = this.context.find('.epsilon-color-scheme-option'), input = this.context.parent().find('[data-customize-setting-link]').first(), json = jQuery.parseJSON(options.first().find('input').val()), api = wp.customize, colorSettings = [], css = {\r\n action: 'epsilon_generate_color_scheme_css',\r\n class: 'Epsilon_Color_Scheme',\r\n id: '',\r\n data: {}\r\n };\r\n jQuery.each(json, function (index, value) {\r\n colorSettings.push(index);\r\n });\r\n _.each(colorSettings, function (setting) {\r\n css.data[setting] = api(setting)();\r\n if ('undefined' !== typeof api.control(setting)) {\r\n api.control(setting).container.on('change', 'input.epsilon-color-picker', _.debounce(function () {\r\n self.context.siblings('.epsilon-color-scheme-selected').\r\n find('.epsilon-color-scheme-palette').\r\n find('*[data-field-id=\"' + setting + '\"]').\r\n css('background', jQuery(this).attr('value'));\r\n css.data[setting] = api(setting)();\r\n api.previewer.send('update-inline-color-schemes-css', css);\r\n }, 800));\r\n }\r\n });\r\n /**\r\n * On clicking a color scheme, update the color pickers\r\n */\r\n options.on('click', function () {\r\n var val = jQuery(this).attr('data-color-id'), json = jQuery(this).find('input').val();\r\n if (json) {\r\n json = jQuery.parseJSON(json);\r\n }\r\n /**\r\n * Find the customizer options\r\n */\r\n jQuery.each(json, function (index, value) {\r\n /**\r\n * Set values\r\n */\r\n jQuery('#customize-control-' + index + ' .epsilon-color-picker').minicolors('value', value);\r\n api(index).set(value);\r\n self.context.siblings('.epsilon-color-scheme-selected').find('.epsilon-color-scheme-palette').find('*[data-field-id=\"' + index + '\"]').css('background', value);\r\n });\r\n /**\r\n * Remove the selected class from siblings\r\n */\r\n jQuery(this).siblings('.epsilon-color-scheme-option').removeClass('selected');\r\n /**\r\n * Make active the current selection\r\n */\r\n jQuery(this).addClass('selected');\r\n /**\r\n * Trigger change\r\n */\r\n input.val(val).trigger('change');\r\n });\r\n /**\r\n * Advanced toggler\r\n */\r\n jQuery('.epsilon-control-dropdown').on('click', function () {\r\n jQuery(this).toggleClass('active');\r\n jQuery(this).find('span').toggleClass('dashicons-arrow-down dashicons-arrow-up');\r\n self.context.slideToggle();\r\n });\r\n };\r\n return EpsilonColorSchemes;\r\n}());\r\nexports.EpsilonColorSchemes = EpsilonColorSchemes;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/color-schemes.ts\n// module id = 34\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Icon Picker Module\r\n */\r\nvar EpsilonIconPicker = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonIconPicker(control, repeater) {\r\n this.control = control;\r\n this.context = this.control.container;\r\n this.collection = this.context.find('.epsilon-icons > i');\r\n this.searchInput = this.context.find('.search-container input');\r\n this.inRepeater = repeater;\r\n this.handleEvents();\r\n }\r\n /**\r\n * Handle events\r\n */\r\n EpsilonIconPicker.prototype.handleEvents = function () {\r\n var self = this;\r\n var icon, label, temp, filter;\r\n /**\r\n * Icon container toggler\r\n */\r\n this.context.on('click', '.epsilon-icon-container', function (e) {\r\n e.preventDefault();\r\n jQuery(e.target).toggleClass('opened-icon-picker');\r\n self.context.find('.epsilon-icon-picker-container').toggleClass('opened');\r\n });\r\n /**\r\n * Icon selection\r\n */\r\n this.context.on('click', '.epsilon-icons-container .epsilon-icons > i', function (e) {\r\n self.context.find('.epsilon-icons > i.selected').removeClass('selected');\r\n icon = jQuery(e.target).addClass('selected').attr('data-icon');\r\n label = jQuery(e.target).addClass('selected').attr('data-search');\r\n self.context.find('.epsilon-icon-name > i').removeClass().addClass(icon);\r\n self.context.find('.epsilon-icon-name > .icon-label').html(label);\r\n /**\r\n * Set value\r\n */\r\n if (!self.inRepeater) {\r\n self.control.setting.set(icon);\r\n }\r\n else {\r\n self.context.find('.epsilon-icon-picker').attr('value', icon).trigger('change');\r\n }\r\n });\r\n /**\r\n * Search functionality\r\n */\r\n self.context.on('keyup change', '.search-container input', _.debounce(function (e) {\r\n filter = self.searchInput.val();\r\n if ('undefined' !== typeof filter) {\r\n filter = filter.toLowerCase();\r\n }\r\n jQuery.each(self.collection, function () {\r\n temp = jQuery(this).attr('data-search');\r\n if ('undefined' !== typeof temp) {\r\n temp = temp.toLowerCase();\r\n }\r\n jQuery(this)[temp.indexOf(filter) !== -1 ? 'show' : 'hide']();\r\n });\r\n }, 1000));\r\n };\r\n return EpsilonIconPicker;\r\n}());\r\nexports.EpsilonIconPicker = EpsilonIconPicker;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/icon-picker.ts\n// module id = 35\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar epsilon_ajax_request_1 = require(\"../../utils/epsilon-ajax-request\");\r\n/**\r\n * Epsilon Image\r\n */\r\nvar EpsilonImage = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonImage(control) {\r\n this.control = control;\r\n this.context = jQuery(control.container);\r\n this.handleEvents();\r\n }\r\n /**\r\n * Event handling ( click events )\r\n */\r\n EpsilonImage.prototype.handleEvents = function () {\r\n var self = this;\r\n var image, temp, size, thumb, setting = { id: '', url: '' }, input = this.context.find('.epsilon-controller-image-container > input');\r\n /**\r\n * Image selection\r\n */\r\n this.context.on('click', '.image-upload-button', function (e) {\r\n /**\r\n * Open the wp.media frame\r\n */\r\n image = wp.media({\r\n multiple: false,\r\n }).open();\r\n /**\r\n * On selection, save the data in a JSON\r\n */\r\n image.on('select', function () {\r\n temp = image.state().get('selection').first();\r\n size = input.attr('data-size');\r\n if ('undefined' === typeof (temp.toJSON().sizes[size])) {\r\n size = 'full';\r\n }\r\n setting.id = temp.id;\r\n setting.url = temp.toJSON().sizes[size].url;\r\n self.saveValue(setting);\r\n self.setImage(setting.url);\r\n /**\r\n * Show buttons\r\n */\r\n self.context.find('.actions .image-upload-remove-button').show();\r\n if (!_.isEmpty(self.control.params.default)) {\r\n self.context.find('.actions .image-default-button').show();\r\n }\r\n });\r\n });\r\n /**\r\n * Image deletion\r\n */\r\n this.context.on('click', '.image-upload-remove-button', function (e) {\r\n e.preventDefault();\r\n thumb = self.context.find('.epsilon-image');\r\n self.saveValue({ id: '', url: '' });\r\n if (thumb.length) {\r\n thumb.find('img').fadeOut(200, function () {\r\n var html = EpsilonTranslations.selectFile + '', Ajax, data = {\r\n action: ['Epsilon_Helper', 'get_image_sizes'],\r\n nonce: EpsilonWPUrls.ajax_nonce,\r\n args: [],\r\n };\r\n thumb.removeClass('epsilon-image').addClass('placeholder').html(html);\r\n Ajax = new epsilon_ajax_request_1.EpsilonAjaxRequest(data);\r\n Ajax.request();\r\n jQuery(Ajax).on('epsilon-received-success', function (e) {\r\n if (!_.isUndefined(Ajax.result[size])) {\r\n thumb.find('.recommended-size').text(Ajax.result[size].width + ' x ' + Ajax.result[size].height);\r\n }\r\n });\r\n });\r\n }\r\n /**\r\n * If we don`t have an image, we can hide these buttons\r\n */\r\n jQuery(e.target).hide();\r\n if (!_.isEmpty(self.control.params.default)) {\r\n self.context.find('.actions .image-default-button').show();\r\n }\r\n });\r\n self.context.on('click', '.image-default-button', function (e) {\r\n e.preventDefault();\r\n thumb = self.context.find('.epsilon-image');\r\n self.saveValue(self.control.params.default);\r\n self.setImage(self.control.params.default.url);\r\n self.context.find('.actions .image-upload-remove-button').show();\r\n });\r\n };\r\n /**\r\n * Set image in the customizer option control\r\n *\r\n * @param control\r\n * @param image\r\n */\r\n EpsilonImage.prototype.setImage = function (image) {\r\n /**\r\n * If we already have an image, we need to return that div, else we grab the placeholder\r\n *\r\n * @type {*}\r\n */\r\n var thumb = this.context.find('.epsilon-image').length ? this.context.find('.epsilon-image') : this.context.find('.placeholder');\r\n /**\r\n * We \"reload\" the image container\r\n */\r\n if (thumb.length) {\r\n thumb.removeClass('epsilon-image placeholder').addClass('epsilon-image');\r\n thumb.html('');\r\n thumb.append('');\r\n thumb.find('img').fadeIn(200);\r\n }\r\n };\r\n /**\r\n * Save value in database\r\n *\r\n * @param control\r\n * @param val\r\n */\r\n EpsilonImage.prototype.saveValue = function (val) {\r\n var input = this.context.find('.epsilon-controller-image-container > input');\r\n if ('object' === typeof (val) && '' !== val.id) {\r\n this.control.setting.set(JSON.stringify(val));\r\n jQuery(input).attr('value', JSON.stringify(val)).trigger('change');\r\n }\r\n else {\r\n this.control.setting.set('');\r\n jQuery(input).attr('value', '').trigger('change');\r\n }\r\n };\r\n return EpsilonImage;\r\n}());\r\nexports.EpsilonImage = EpsilonImage;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/image.ts\n// module id = 36\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Espilon Layouts Module\r\n */\r\nvar EpsilonLayouts = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; setting: void; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonLayouts(control) {\r\n /**\r\n * Buttons\r\n */\r\n this.html = {\r\n buttonLeft: ' ',\r\n buttonRight: ' ',\r\n };\r\n /**\r\n * Number of active columns\r\n */\r\n this.activeColumns = null;\r\n /**\r\n * Redundant constant for columns\r\n */\r\n this.colClasses = 'col12 col11 col10 col9 col8 col7 col6 col5 col4 col3 col2 col1';\r\n this.control = control;\r\n this.context = this.control.container;\r\n this.layoutButtons = this.context.find('.epsilon-control-group > a');\r\n this.resizeButtons = this.context.find('.epsilon-layouts-setup > .epsilon-column > a');\r\n this.maxColumns = this.layoutButtons.length;\r\n this.minSpan = parseFloat(this.control.params.minSpan);\r\n this.lastColumnsState = null;\r\n this.dataLink = this.context.find('[data-customize-setting-link]').first();\r\n /**\r\n * Handle actions\r\n */\r\n this.handle_actions();\r\n /**\r\n * Whenever the column count or size changes, we save data to the hidden field\r\n */\r\n this.context.on('epsilon_column_count_changed epsilon_column_size_changed', this._save);\r\n }\r\n /**\r\n * Handle the click events in the control\r\n */\r\n EpsilonLayouts.prototype.handle_actions = function () {\r\n /**\r\n * Hide / show columns\r\n */\r\n this._advanced_toggler();\r\n /**\r\n * Column resize event ( + / - buttons )\r\n */\r\n this._column_resize();\r\n /**\r\n * Addition removal of columns events\r\n */\r\n this._column_recount();\r\n this._layout_select();\r\n this._equalize_columns();\r\n };\r\n /**\r\n * Advanced toggler\r\n *\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._advanced_toggler = function () {\r\n /**\r\n * On clicking the advanced options toggler,\r\n */\r\n this.context.on('click', '.epsilon-control-advanced', function (e) {\r\n e.preventDefault();\r\n jQuery(this).toggleClass('active');\r\n jQuery('#' + jQuery(this).attr('data-unique-id')).slideToggle().addClass('active');\r\n });\r\n };\r\n /**\r\n * Column Resizer\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._column_resize = function () {\r\n var self = this;\r\n var position, elementToSubtractFrom, elementToAddOn;\r\n this.context.on('click', '.epsilon-column > a', function (e) {\r\n elementToAddOn = jQuery(this).parent();\r\n position = elementToAddOn.index();\r\n if ('right' === jQuery(this).attr('data-action')) {\r\n elementToSubtractFrom = self.context.find('.epsilon-layouts-setup > .epsilon-column').eq(position + 1);\r\n }\r\n else {\r\n elementToSubtractFrom = self.context.find('.epsilon-layouts-setup > .epsilon-column').eq(position - 1);\r\n }\r\n self._calc_column_resize(elementToSubtractFrom, elementToAddOn);\r\n });\r\n };\r\n /**\r\n * Handle addition/removal of columns\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._column_recount = function () {\r\n var self = this;\r\n var columns, operation, i, j;\r\n this.context.on('epsilon_column_count_change', function (e) {\r\n /**\r\n * Update instance variables\r\n */\r\n self.activeColumns = parseFloat(e.columns.selected);\r\n self.lastColumnsState = e.columns.beforeSelection;\r\n /**\r\n * In case we don't have anything to modify, we can terminate here\r\n */\r\n if (self.activeColumns === self.lastColumnsState) {\r\n return;\r\n }\r\n /**\r\n * Are we adding or subtrating?\r\n */\r\n operation = self.lastColumnsState < self.activeColumns ? 'adding' : 'subtracting';\r\n i = self.activeColumns - self.lastColumnsState;\r\n if ('subtracting' === operation) {\r\n self.context.find('.epsilon-layouts-setup > .epsilon-column').\r\n slice(-(self.lastColumnsState - self.activeColumns)).\r\n remove();\r\n }\r\n else {\r\n for (j = 0; j < i; j++) {\r\n self.context.find('.epsilon-layouts-setup').\r\n append('
' +\r\n self.html.buttonLeft +\r\n self.html.buttonRight +\r\n '
');\r\n }\r\n }\r\n /**\r\n * Trigger event to changed\r\n */\r\n self.context.trigger({\r\n type: 'epsilon_column_count_changed',\r\n instance: self\r\n });\r\n });\r\n };\r\n /**\r\n * When selecting a layout, recalc/remove/readd divs in the container\r\n *\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._layout_select = function () {\r\n var self = this;\r\n var columns;\r\n this.layoutButtons.on('click', function (e) {\r\n e.preventDefault();\r\n var selected = jQuery(this).attr('data-button-value');\r\n /**\r\n * Handle addition/deletion through jQuery events\r\n */\r\n self.context.trigger({\r\n type: 'epsilon_column_count_change',\r\n columns: {\r\n selected: parseFloat(selected),\r\n beforeSelection: self.context.find('.epsilon-layouts-setup > .epsilon-column').length\r\n }\r\n });\r\n /**\r\n * Visual changes\r\n */\r\n jQuery(this).addClass('active').siblings('a').removeClass('active');\r\n });\r\n };\r\n /**\r\n * Equalize coolumns, this is happening after a new layout is selected\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._equalize_columns = function () {\r\n var self = this;\r\n this.context.on('epsilon_column_count_changed', function (e) {\r\n switch (self.activeColumns) {\r\n case 2:\r\n self.context.find('.epsilon-column').removeClass(self.colClasses);\r\n self.context.find('.epsilon-column').first().addClass('col8').attr('data-columns', (8));\r\n self.context.find('.epsilon-column').last().addClass('col4').attr('data-columns', (4));\r\n break;\r\n default:\r\n if (null === self.activeColumns) {\r\n return;\r\n }\r\n self.context.find('.epsilon-column').\r\n removeClass(self.colClasses).\r\n addClass('col' + (12 / self.activeColumns)).\r\n attr('data-columns', (12 / self.activeColumns));\r\n break;\r\n }\r\n });\r\n };\r\n /**\r\n * Change spans accordingly\r\n *\r\n * @param subtract\r\n * @param add\r\n */\r\n EpsilonLayouts.prototype._calc_column_resize = function (subtract, add) {\r\n var columns = subtract.attr('data-columns'), addColumns;\r\n if ('undefined' === typeof columns) {\r\n return;\r\n }\r\n columns = parseFloat(columns);\r\n if (parseFloat(columns) === this.minSpan) {\r\n return;\r\n }\r\n addColumns = add.attr('data-columns');\r\n addColumns = parseFloat(addColumns);\r\n subtract.attr('data-columns', columns - 1).removeClass(this.colClasses).addClass('col' + (columns - 1));\r\n add.attr('data-columns', addColumns + 1).removeClass(this.colClasses).addClass('col' + (addColumns + 1));\r\n /**\r\n * Trigger event to change\r\n */\r\n this.context.trigger({\r\n type: 'epsilon_column_size_changed',\r\n instance: this\r\n });\r\n };\r\n /**\r\n * Save state in a json\r\n * @private\r\n */\r\n EpsilonLayouts.prototype._save = function (e) {\r\n var json = {\r\n columnsCount: e.instance.activeColumns,\r\n columns: {}\r\n };\r\n jQuery.each(e.instance.context.find('.epsilon-column'), function (index) {\r\n var columns = jQuery(this).attr('data-columns');\r\n if ('undefined' === typeof columns) {\r\n return;\r\n }\r\n columns = parseFloat(columns);\r\n var Obj = {\r\n index: index + 1,\r\n span: columns\r\n };\r\n json.columns[index + 1] = Obj;\r\n });\r\n if (null === json.columnsCount) {\r\n json.columnsCount = e.instance.context.find('.epsilon-column').length;\r\n }\r\n e.instance.dataLink.val(JSON.stringify(json)).trigger('change');\r\n };\r\n return EpsilonLayouts;\r\n}());\r\nexports.EpsilonLayouts = EpsilonLayouts;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/layouts.ts\n// module id = 37\n// module chunks = 0","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar repeater_row_1 = require(\"./repeater-row\");\r\nvar EpsilonRepeaterSectionRow = /** @class */ (function (_super) {\r\n __extends(EpsilonRepeaterSectionRow, _super);\r\n /**\r\n * Constructor\r\n * @param {EpsilonSectionRepeater | EpsilonFieldRepeater} instance\r\n * @param {JQuery} rowContainer\r\n * @param {string} type\r\n */\r\n function EpsilonRepeaterSectionRow(instance, rowContainer, type) {\r\n var _this = _super.call(this, instance, rowContainer) || this;\r\n _this.type = type;\r\n _this.label = instance.control.params.sections[type].title;\r\n /**\r\n * Update labels\r\n */\r\n instance.utils.updateLabel(_this);\r\n _this.addTabs();\r\n return _this;\r\n }\r\n /**\r\n * Add tabs functionality ( sections have layout/styling optional settings )\r\n */\r\n EpsilonRepeaterSectionRow.prototype.addTabs = function () {\r\n jQuery(this.container).find('[data-group=\"regular\"]').wrapAll('
');\r\n jQuery(this.container).find('[data-group=\"styling\"]').wrapAll('
');\r\n jQuery(this.container).find('[data-group=\"layout\"]').wrapAll('
');\r\n this._handleTabs();\r\n };\r\n /**\r\n * Handle tabs functionality\r\n * @param container\r\n */\r\n EpsilonRepeaterSectionRow.prototype._handleTabs = function () {\r\n var self = this;\r\n var wrapper = self.container.find('nav'), tabs = self.container.find('[data-tab-id]'), tab;\r\n jQuery(wrapper).on('click', 'a', function (event) {\r\n event.preventDefault();\r\n jQuery(this).siblings().removeClass('active');\r\n jQuery(this).addClass('active');\r\n tab = self.container.find('[data-tab-id=\"' + jQuery(this).attr('data-item') + '\"]');\r\n if (tab.length) {\r\n tabs.removeClass('active');\r\n tab.addClass('active');\r\n }\r\n });\r\n };\r\n /**\r\n * We'll overwrite label immediatly after construct\r\n * @returns {any}\r\n */\r\n EpsilonRepeaterSectionRow.prototype.getLabel = function () {\r\n return this.label;\r\n };\r\n return EpsilonRepeaterSectionRow;\r\n}(repeater_row_1.EpsilonRepeaterRow));\r\nexports.EpsilonRepeaterSectionRow = EpsilonRepeaterSectionRow;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/repeater/repeater-section-row.ts\n// module id = 38\n// module chunks = 0","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar repeater_utils_1 = require(\"./repeater-utils\");\r\nvar repeater_section_row_1 = require(\"./repeater-section-row\");\r\nvar EpsilonRepeaterSectionUtils = /** @class */ (function (_super) {\r\n __extends(EpsilonRepeaterSectionUtils, _super);\r\n /**\r\n * constructor\r\n * @param {EpsilonFieldRepeater | EpsilonSectionRepeater} control\r\n */\r\n function EpsilonRepeaterSectionUtils(control) {\r\n return _super.call(this, control) || this;\r\n }\r\n /**\r\n * Add button\r\n * @param instance\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.addButton = function () {\r\n var self = this;\r\n var isAddBtn, sections = jQuery('#sections-left-' + self.control.control.params.id).find('.available-sections'), body = jQuery('body');\r\n /**\r\n * Get a reference for the parent section, if we close it. we must close the Section sidebar as well\r\n */\r\n wp.customize['section'](this.control.control.params.section, function (instance) {\r\n instance.container.find('.accordion-section-title, .customize-section-back').on('click keydown', function (event) {\r\n if (wp.customize.utils.isKeydownButNotEnterEvent(event)) {\r\n return;\r\n }\r\n /**\r\n * In case we left the \"sections\" screen, let's close all the repeatable sections\r\n */\r\n _.each(self.control.rows, function (sect) {\r\n if (!sect.container.hasClass('minimized')) {\r\n self.toggleMinimize(sect, true);\r\n }\r\n });\r\n body.removeClass('adding-section');\r\n body.find('.doubled-section-opened').removeClass('doubled-section-opened');\r\n sections.removeClass('opened');\r\n });\r\n });\r\n this.control.context.find('.epsilon-add-new-section').on('click keydown', function (e) {\r\n if (jQuery('body').hasClass('adding-doubled-section')) {\r\n return;\r\n }\r\n isAddBtn = jQuery(e.target).is('.epsilon-add-new-section');\r\n body.toggleClass('adding-section');\r\n sections.toggleClass('opened');\r\n if (body.hasClass('adding-section') && !isAddBtn) {\r\n self.control.control.close();\r\n }\r\n });\r\n };\r\n /**\r\n * Overwrite base method\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.repeaterTemplate = function () {\r\n var compiled, options = {\r\n evaluate: /<#([\\s\\S]+?)#>/g,\r\n interpolate: /\\{\\{\\{([\\s\\S]+?)\\}\\}\\}/g,\r\n escape: /\\{\\{([^\\}]+?)\\}\\}(?!\\})/g,\r\n variable: 'data'\r\n };\r\n return function (data) {\r\n compiled = _.template(jQuery('.customize-control-epsilon-repeater-content-section').html(), null, options);\r\n return compiled(data);\r\n };\r\n };\r\n /**\r\n * Overwrite base method\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.add = function (data) {\r\n var self = this;\r\n var template = _.memoize(this.control.template), newSetting = {}, templateData, value = self.getValue(), i, rowContainer, row, fields;\r\n /**\r\n * In case we don`t have a template, we terminate here\r\n */\r\n if (!template) {\r\n return false;\r\n }\r\n /**\r\n * Extend template data with what we passed in PHP\r\n */\r\n if ('undefined' === typeof (this.control.control.params.sections[data.type])) {\r\n return false;\r\n }\r\n /**\r\n * Form the new fields with the static ones\r\n */\r\n fields = jQuery.extend(true, {}, this.control.control.params.sections[data.type].fields, this.control.control.params.sections[data.type].customization.styling, this.control.control.params.sections[data.type].customization.layout);\r\n /**\r\n * Extend template data with what we passed in PHP\r\n */\r\n templateData = jQuery.extend(true, {}, fields, { customization: this.control.control.params.sections[data.type].customization });\r\n /**\r\n * In case we added the row with \"known\" data, we need to overwrite the array\r\n */\r\n if (data) {\r\n for (i in data) {\r\n if (data.hasOwnProperty(i) && templateData.hasOwnProperty(i)) {\r\n templateData[i]['default'] = data[i];\r\n }\r\n }\r\n }\r\n /**\r\n * Add an index\r\n *\r\n * @type {number}\r\n */\r\n templateData['index'] = this.control.currentIndex;\r\n /**\r\n * Render the HTML template with underscores\r\n */\r\n template = template(templateData);\r\n rowContainer = jQuery(template).appendTo(this.control.repeaterContainer);\r\n row = new repeater_section_row_1.EpsilonRepeaterSectionRow(this.control, rowContainer, data.type);\r\n /**\r\n * Bind events to the new row\r\n */\r\n this.handleRowEvents(row);\r\n /**\r\n * Register the new row in the control\r\n *\r\n * @type {*}\r\n */\r\n this.control.rows[this.control.currentIndex] = row;\r\n /**\r\n * Add a new \"index\" to the setting ( easier to render in the frontend )\r\n */\r\n for (i in templateData) {\r\n if (templateData.hasOwnProperty(i)) {\r\n newSetting[i] = templateData[i]['default'];\r\n }\r\n }\r\n newSetting.type = data.type;\r\n if ('undefined' === typeof newSetting['index']) {\r\n newSetting['index'] = this.control.currentIndex;\r\n }\r\n /**\r\n * Add a value to the setting\r\n * @type {{}}\r\n */\r\n value[this.control.currentIndex] = newSetting;\r\n /**\r\n * Set it\r\n */\r\n if (1 === _.size(data) && data.hasOwnProperty('type')) {\r\n self.setValue(value);\r\n }\r\n this.control.handleRowIncrementor();\r\n return row;\r\n };\r\n /**\r\n * Override parent method\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.updateLabel = function (section) {\r\n section.header.find('.repeater-row-label').html('#' + (section.index + 1) + ' - ' + section.label);\r\n };\r\n ;\r\n /**\r\n * Update a section repeater\r\n * @param instance\r\n * @param {string} fieldId\r\n * @param {JQuery} element\r\n * @public\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.updateRepeater = function (instance, fieldId, element) {\r\n var self = this;\r\n var row = this.control.rows[instance.index], value = this.getValue(), section, type, data;\r\n if (!row) {\r\n return;\r\n }\r\n if (_.isUndefined(value[row.index][fieldId])) {\r\n return;\r\n }\r\n type = this.getFieldGroup(fieldId, row.type);\r\n switch (type) {\r\n case 'checkbox':\r\n case 'epsilon-toggle':\r\n value[row.index][fieldId] = jQuery(element).prop('checked');\r\n break;\r\n default:\r\n value[row.index][fieldId] = jQuery(element).val();\r\n break;\r\n }\r\n if (self.control.control.params['selective_refresh']) {\r\n /**\r\n * Partial refresh\r\n * @type {{control; postId; index: any; value: any}}\r\n */\r\n data = {\r\n control: this.control.control.id,\r\n postId: this.control.control.params['save_as_meta'],\r\n value: value[row.index],\r\n index: row.index,\r\n };\r\n wp.customize.previewer.send('updated-section-repeater', data);\r\n }\r\n this.setValue(value);\r\n };\r\n /**\r\n *\r\n * @param instance\r\n * @param sectionType\r\n */\r\n EpsilonRepeaterSectionUtils.prototype.getFieldGroup = function (fieldId, sectionType) {\r\n if (this.control.control.params.sections[sectionType].fields[fieldId]) {\r\n return this.control.control.params.sections[sectionType].fields[fieldId].type;\r\n }\r\n if (this.control.control.params.sections[sectionType].customization.styling[fieldId]) {\r\n return this.control.control.params.sections[sectionType].customization.styling[fieldId].type;\r\n }\r\n if (this.control.control.params.sections[sectionType].customization.layout[fieldId]) {\r\n return this.control.control.params.sections[sectionType].customization.layout[fieldId].type;\r\n }\r\n };\r\n return EpsilonRepeaterSectionUtils;\r\n}(repeater_utils_1.EpsilonRepeaterUtils));\r\nexports.EpsilonRepeaterSectionUtils = EpsilonRepeaterSectionUtils;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/repeater/repeater-section-utils.ts\n// module id = 39\n// module chunks = 0","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar repeater_1 = require(\"./repeater\");\r\nvar repeater_section_utils_1 = require(\"./repeater/repeater-section-utils\");\r\nvar repeater_addons_1 = require(\"./repeater/repeater-addons\");\r\nvar EpsilonSectionRepeater = /** @class */ (function (_super) {\r\n __extends(EpsilonSectionRepeater, _super);\r\n /**\r\n * Object constructor\r\n * @param control\r\n */\r\n function EpsilonSectionRepeater(control) {\r\n var _this = _super.call(this, control) || this;\r\n /**\r\n * We need to move this element to the bottom of the page so it renders properly\r\n */\r\n _this._moveElements();\r\n /**\r\n * Events that fires from the main page\r\n * so we can focus our panel and repeatable section\r\n */\r\n _this._handleNavigation();\r\n /**\r\n * Initiate Search on sections\r\n */\r\n _this._initSearch();\r\n /**\r\n * Handle integration tab functionality\r\n */\r\n _this._handleIntegrations();\r\n return _this;\r\n }\r\n /**\r\n * Repeater container\r\n * @returns {any}\r\n */\r\n EpsilonSectionRepeater.prototype.getRepeaterContainer = function () {\r\n return this.context.find('.repeater-sections');\r\n };\r\n /**\r\n * Load utilities\r\n * @public\r\n */\r\n EpsilonSectionRepeater.prototype.loadUtils = function () {\r\n return new repeater_section_utils_1.EpsilonRepeaterSectionUtils(this);\r\n };\r\n /**\r\n * Create existing rows\r\n * @public\r\n */\r\n EpsilonSectionRepeater.prototype.createExistingRows = function () {\r\n var control = this;\r\n if (this.control.params.value.length) {\r\n for (var i = 0; i < this.control.params.value.length; i++) {\r\n var row = void 0, addons = void 0;\r\n row = control.utils.add(control.control.params.value[i]);\r\n if (false !== row) {\r\n addons = new repeater_addons_1.EpsilonRepeaterAddons(control, row);\r\n addons.initPlugins();\r\n }\r\n }\r\n }\r\n };\r\n /**\r\n * Handle events\r\n * @public\r\n */\r\n EpsilonSectionRepeater.prototype.handleEvents = function () {\r\n var self = this;\r\n self.utils.addButton();\r\n /**\r\n * Addition of sections\r\n */\r\n jQuery('#sections-left-' + this.control.params.id).on('click', '.epsilon-section [data-action=\"add\"]', function (e) {\r\n e.preventDefault();\r\n if (!self.limit || self.currentIndex < self.limit) {\r\n var row = void 0, addons = void 0;\r\n row = self.utils.add({ type: jQuery(this).parent().attr('data-id') });\r\n addons = new repeater_addons_1.EpsilonRepeaterAddons(self, row);\r\n addons.initPlugins();\r\n jQuery('body').removeClass('adding-section');\r\n jQuery('#sections-left-' + self.control.params.id).find('.available-sections').removeClass('opened');\r\n if (self.control.params['selective_refresh']) {\r\n wp.customize.previewer.refresh();\r\n }\r\n }\r\n else {\r\n jQuery(self.control.selector + ' .limit').addClass('highlight');\r\n }\r\n });\r\n /**\r\n * Section description\r\n */\r\n jQuery('#sections-left-' + this.control.params.id).on('click', '.epsilon-section [data-action=\"info\"]', function (e) {\r\n e.preventDefault();\r\n jQuery(this).parent().find('.epsilon-section-image-description').toggleClass('active');\r\n jQuery(this).parent().find('.epsilon-section-description').toggleClass('active');\r\n });\r\n /**\r\n * Section remove\r\n */\r\n this.context.on('click', '.repeater-row-remove', function (e) {\r\n self.handleRowDecrementor();\r\n if (!self.limit || self.currentIndex < self.limit) {\r\n jQuery(self.control.selector + ' .limit').removeClass('highlight');\r\n }\r\n });\r\n };\r\n /**\r\n *\r\n * @private\r\n */\r\n EpsilonSectionRepeater.prototype._handleNavigation = function () {\r\n var self = this;\r\n /**\r\n * Event that fires from the main page\r\n * so we can focus our panel and repeatable section\r\n */\r\n wp.customize.previewer.bind('epsilon-section-edit', function (data) {\r\n /**\r\n * In case the section does not exist, we can terminate\r\n */\r\n if ('undefined' === typeof (wp.customize.section(data.customizerSection))) {\r\n return;\r\n }\r\n /**\r\n * Iterate over the controls, minimize everything\r\n */\r\n _.each(self.rows, function (sect, index) {\r\n if (!sect.container.hasClass('minimized') && index !== data.section) {\r\n self.utils.toggleMinimize(sect);\r\n }\r\n });\r\n wp.customize.section(data.customizerSection).focus();\r\n /**\r\n * Focus repeatable section\r\n */\r\n if (!_.isUndefined(self.rows[data.section]) && self.rows[data.section].container.hasClass('minimized')) {\r\n self.utils.toggleMinimize(self.rows[data.section]);\r\n }\r\n });\r\n };\r\n /**\r\n * Search functionality in the sections library\r\n *\r\n * @param selector\r\n */\r\n EpsilonSectionRepeater.prototype._initSearch = function () {\r\n var self = this;\r\n var selector = jQuery('#sections-left-' + self.control.params.id), input = selector.find('.sections-search-input'), val, collection, id;\r\n input.on('keyup change', _.debounce(function (e) {\r\n val = input.val();\r\n if ('undefined' !== typeof val) {\r\n val = val.toLowerCase();\r\n }\r\n collection = selector.find('.epsilon-section');\r\n jQuery.each(collection, function () {\r\n id = jQuery(this).attr('data-id');\r\n if ('undefined' !== typeof id) {\r\n id = id.toLowerCase();\r\n }\r\n jQuery(this)[id.indexOf(val) !== -1 ? 'show' : 'hide']();\r\n });\r\n }, 1000));\r\n };\r\n /**\r\n * Handles the \"tab\" navigation in the available section list\r\n * @private\r\n */\r\n EpsilonSectionRepeater.prototype._handleIntegrations = function () {\r\n if (!this.control.params.integrations) {\r\n return;\r\n }\r\n jQuery('#sections-left-' + this.control.params.id).on('click', '.available-sections-tab-toggler', function (e) {\r\n var tab = jQuery(this).attr('data-tab');\r\n jQuery(this).siblings().removeClass('active');\r\n jQuery(this).addClass('active');\r\n e.preventDefault();\r\n if ('undefined' !== typeof tab) {\r\n jQuery('[data-tab-id=\"' + tab + '\"]').siblings('div').removeClass('active').slideUp();\r\n jQuery('[data-tab-id=\"' + tab + '\"]').slideDown().addClass('active');\r\n }\r\n });\r\n };\r\n /**\r\n * Move items \"phisically\"\r\n * @private\r\n */\r\n EpsilonSectionRepeater.prototype._moveElements = function () {\r\n jQuery('#sections-left-' + this.control.params.id).appendTo(jQuery('.wp-full-overlay'));\r\n };\r\n return EpsilonSectionRepeater;\r\n}(repeater_1.EpsilonFieldRepeater));\r\nexports.EpsilonSectionRepeater = EpsilonSectionRepeater;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/section-repeater.ts\n// module id = 40\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar range_slider_1 = require(\"./range-slider\");\r\n/**\r\n * Espilon Typography Module\r\n */\r\nvar EpsilonTypography = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{container: JQuery; params: {value: number; id: string}}} control\r\n */\r\n function EpsilonTypography(control) {\r\n this.control = control;\r\n this.context = jQuery(control.container);\r\n this.container = this.context.find('.epsilon-typography-container');\r\n this.selects = this.container.find('select');\r\n this.inputs = this.container.find('.epsilon-typography-input');\r\n this.sliders = this.container.find('.slider-container');\r\n this.id = control.params.id;\r\n this.init();\r\n }\r\n /**\r\n * Initiator\r\n */\r\n EpsilonTypography.prototype.init = function () {\r\n var self = this;\r\n var sliderSettings;\r\n /**\r\n * Instantiate the selectize javascript plugin\r\n * and the input type number\r\n */\r\n try {\r\n this._selectize = this.selects.selectize();\r\n }\r\n catch (err) {\r\n /**\r\n * In case the selectize plugin is not loaded, raise an error\r\n */\r\n console.warn('selectize not yet loaded');\r\n }\r\n /**\r\n * On clicking the advanced options toggler,\r\n */\r\n this.context.on('click', '.epsilon-typography-advanced > a', function (e) {\r\n var toggle = jQuery(this).attr('data-toggle');\r\n e.preventDefault();\r\n jQuery(this).toggleClass('active').parent().toggleClass('active');\r\n jQuery('#' + toggle).slideToggle().addClass('active');\r\n });\r\n /**\r\n * Great use of the EpsilonFramework, ahoy!\r\n */\r\n jQuery.each(this.sliders, function (index, element) {\r\n var sliderType = jQuery(element).attr('data-slider-type'), sliderSettings = {\r\n container: element,\r\n params: {\r\n value: 0,\r\n id: '',\r\n sliderControls: {\r\n min: 0,\r\n max: 10,\r\n step: 1\r\n }\r\n }\r\n };\r\n switch (sliderType) {\r\n case 'letter-spacing':\r\n sliderSettings.params.value = self.control.params.inputs['letter-spacing'];\r\n sliderSettings.params.id = self.control.params.id + '-letter-spacing';\r\n sliderSettings.params.sliderControls.min = 0;\r\n sliderSettings.params.sliderControls.max = 5;\r\n sliderSettings.params.sliderControls.step = 0.1;\r\n break;\r\n case 'line-height':\r\n sliderSettings.params.value = self.control.params.inputs['line-height'];\r\n sliderSettings.params.id = self.control.params.id + '-line-height';\r\n sliderSettings.params.sliderControls.min = 0;\r\n sliderSettings.params.sliderControls.max = 40;\r\n sliderSettings.params.sliderControls.step = 1;\r\n break;\r\n default:\r\n sliderSettings.params.value = self.control.params.inputs['font-size'];\r\n sliderSettings.params.id = self.control.params.id + '-font-size';\r\n sliderSettings.params.sliderControls.min = 0;\r\n sliderSettings.params.sliderControls.max = 40;\r\n sliderSettings.params.sliderControls.step = 1;\r\n break;\r\n }\r\n new range_slider_1.EpsilonRangeSlider(sliderSettings);\r\n });\r\n this.handleEvents();\r\n };\r\n /**\r\n * Handle Events\r\n */\r\n EpsilonTypography.prototype.handleEvents = function () {\r\n var self = this;\r\n /**\r\n * On triggering the change event, create a json with the values and\r\n * send it to the preview window\r\n */\r\n this.inputs.on('change', function () {\r\n var val = self._parseJson();\r\n jQuery('#hidden_input_' + self.id).val(val).trigger('change');\r\n });\r\n };\r\n /**\r\n * Parse/create the json and send it to the preview window\r\n *\r\n * @param inputs\r\n * @param id\r\n * @private\r\n */\r\n EpsilonTypography.prototype._parseJson = function () {\r\n var self = this;\r\n var object = {\r\n action: 'epsilon_generate_typography_css',\r\n class: 'Epsilon_Typography',\r\n id: this.control.id,\r\n data: {\r\n selectors: this.control.params.selectors,\r\n stylesheet: this.control.params.stylesheet,\r\n id: this.control.id,\r\n json: {},\r\n }\r\n }, api = wp.customize;\r\n jQuery.each(this.inputs, function (index, value) {\r\n var key = jQuery(value).attr('id'), replace = self.id + '-', type = jQuery(this).attr('type');\r\n key = key.replace(replace, '');\r\n if ('checkbox' === type) {\r\n object.data.json[key] = jQuery(this).prop('checked') ? jQuery(value).val() : '';\r\n }\r\n else {\r\n object.data.json[key] = jQuery(value).val();\r\n }\r\n });\r\n api.previewer.send('update-inline-typography-css', object);\r\n return JSON.stringify(object.data);\r\n };\r\n return EpsilonTypography;\r\n}());\r\nexports.EpsilonTypography = EpsilonTypography;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/controls/typography.ts\n// module id = 41\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Controls\r\n */\r\nrequire(\"./extenders/controls/range-slider\");\r\nrequire(\"./extenders/controls/icon-picker\");\r\nrequire(\"./extenders/controls/text-editor\");\r\nrequire(\"./extenders/controls/toggle\");\r\nrequire(\"./extenders/controls/color-picker\");\r\nrequire(\"./extenders/controls/customizer-navigation\");\r\nrequire(\"./extenders/controls/image\");\r\nrequire(\"./extenders/controls/typography\");\r\nrequire(\"./extenders/controls/color-schemes\");\r\nrequire(\"./extenders/controls/upsell\");\r\nrequire(\"./extenders/controls/layouts\");\r\nrequire(\"./extenders/controls/repeater\");\r\nrequire(\"./extenders/controls/section-repeater\");\r\nrequire(\"./extenders/controls/button-group\");\r\n/**\r\n * Panels\r\n */\r\nrequire(\"./extenders/panels/regular\");\r\n/**\r\n * Sections\r\n */\r\nrequire(\"./extenders/sections/section-doubled\");\r\nrequire(\"./extenders/sections/section-pro\");\r\nrequire(\"./extenders/sections/recommended-actions\");\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/customizer.ts\n// module id = 42\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar epsilon_ajax_request_1 = require(\"../../utils/epsilon-ajax-request\");\r\nvar EpsilonSectionRecommended = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{section: JQuery; params: { id: string}}} control\r\n */\r\n function EpsilonSectionRecommended(section) {\r\n /**\r\n * AJAXING =)\r\n * @type {boolean}\r\n */\r\n this.ajax = false;\r\n this.section = section;\r\n this.context = this.section.container;\r\n this.actions = this.section.params.actions.length;\r\n this.handleDismissals();\r\n this.handleEvents();\r\n }\r\n EpsilonSectionRecommended.prototype.handleDismissals = function () {\r\n this._dismissPlugin();\r\n this._dismissAction();\r\n };\r\n /**\r\n * Handle Events\r\n */\r\n EpsilonSectionRecommended.prototype.handleEvents = function () {\r\n this.context.on('click', '.epsilon-close-recommended-section', function (e) {\r\n e.preventDefault();\r\n jQuery(this).find('span').toggleClass('dashicons-arrow-down-alt2');\r\n jQuery('.recommended-actions_container').slideToggle(200);\r\n });\r\n jQuery(document).on('epsilon-plugin-activated', function (event, data) {\r\n var container = jQuery('span#' + data.plugin).parents('.epsilon-recommended-plugins'), next = container.next();\r\n container.fadeOut('200', function () {\r\n next.css({ opacity: 1, height: 'initial' }).fadeIn('200');\r\n });\r\n });\r\n };\r\n /**\r\n * Dismiss Plugin\r\n * @private\r\n */\r\n EpsilonSectionRecommended.prototype._dismissPlugin = function () {\r\n var section = this;\r\n var trigger = this.context.find('.epsilon-recommended-plugin-button');\r\n trigger.on('click', function (e) {\r\n var self = jQuery(this);\r\n /**\r\n * Get the container\r\n * @type {JQuery}\r\n */\r\n var container = self.parents('.epsilon-recommended-actions-container'), \r\n /**\r\n * Get the next element ( this will be shown next )\r\n */\r\n next = container.next(), \r\n /**\r\n * Get the title\r\n *\r\n * @type {JQuery}\r\n */\r\n title = container.parents('.control-section-epsilon-section-recommended-actions').find('h3'), \r\n /**\r\n * Create the args object for the AJAX call\r\n *\r\n * action [ Class, Method Name ]\r\n * args [ parameters to be sent to method ]\r\n *\r\n * @type {{action: [*], args: {id: *, option: *}}}\r\n */\r\n args = {\r\n action: ['Epsilon_Notify_System', 'dismiss_required_action'],\r\n nonce: EpsilonWPUrls.ajax_nonce,\r\n args: {\r\n id: jQuery(this).attr('id'),\r\n option: jQuery(this).attr('data-option')\r\n }\r\n }, Ajax, replace, replaceText;\r\n if (section.ajax) {\r\n return;\r\n }\r\n section.ajax = true;\r\n Ajax = new epsilon_ajax_request_1.EpsilonAjaxRequest(args);\r\n Ajax.request();\r\n jQuery(Ajax).on('epsilon-received-success', function (e) {\r\n section.ajax = false;\r\n if (Ajax.result && 'ok' === Ajax.result.message) {\r\n /**\r\n * Fade the current element and show the next one.\r\n * We don't need to remove it at this time. Leave it to for\r\n * server side\r\n */\r\n container.fadeOut('200', function () {\r\n if (next.is('p')) {\r\n replace = title.find('.section-title');\r\n replaceText = replace.attr('data-social');\r\n replace.text(replaceText);\r\n }\r\n next.css({ opacity: 1, height: 'initial' }).fadeIn('200');\r\n });\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Dismiss Action\r\n * @private\r\n */\r\n EpsilonSectionRecommended.prototype._dismissAction = function () {\r\n var section = this;\r\n var trigger = this.context.find('.epsilon-dismiss-required-action');\r\n trigger.on('click', function (e) {\r\n var self = jQuery(this);\r\n /**\r\n * Get the container\r\n * @type {JQuery}\r\n */\r\n var container = self.parents('.epsilon-recommended-actions-container'), \r\n /**\r\n * Get the title\r\n *\r\n * @type {JQuery}\r\n */\r\n title = container.parents('.control-section-epsilon-section-recommended-actions').find('h3'), \r\n /**\r\n * Get the indew from the notice\r\n *\r\n * @type {JQuery}\r\n */\r\n notice = title.find('.epsilon-actions-count > .current-index'), \r\n /**\r\n * Get the next element ( this will be shown next )\r\n */\r\n next = container.next(), \r\n /**\r\n * Create the args object for the AJAX call\r\n *\r\n * action [ Class, Method Name ]\r\n * args [ parameters to be sent to method ]\r\n *\r\n * @type {{action: [*], args: {id: *, option: *}}}\r\n */\r\n args = {\r\n action: ['Epsilon_Notify_System', 'dismiss_required_action'],\r\n nonce: EpsilonWPUrls.ajax_nonce,\r\n args: {\r\n id: jQuery(this).attr('id'),\r\n option: jQuery(this).attr('data-option')\r\n }\r\n }, replace, plugins, replaceText, \r\n /**\r\n * Get the total\r\n *\r\n * @type {Number}\r\n */\r\n total = notice.attr('data-total'), \r\n /**\r\n * Get the current index\r\n *\r\n * @type {Number}\r\n */\r\n index = container.attr('data-index'), Ajax;\r\n if ('undefined' !== total) {\r\n total = parseInt(total);\r\n }\r\n if ('undefined' !== index) {\r\n index = parseInt(index);\r\n }\r\n if (section.ajax) {\r\n return;\r\n }\r\n section.ajax = true;\r\n Ajax = new epsilon_ajax_request_1.EpsilonAjaxRequest(args);\r\n Ajax.request();\r\n jQuery(Ajax).on('epsilon-received-success', function (e) {\r\n section.ajax = false;\r\n if (Ajax.result && 'ok' === Ajax.result.message) {\r\n /**\r\n * If it's the last element, show plugins\r\n */\r\n if (total <= index) {\r\n replace = title.find('.section-title');\r\n plugins = jQuery('.epsilon-recommended-plugins');\r\n replaceText = replace.attr('data-social');\r\n if (plugins.length) {\r\n replaceText = replace.attr('data-plugin_text');\r\n }\r\n title.find('.epsilon-actions-count').remove();\r\n replace.text(replaceText);\r\n }\r\n else {\r\n notice.text(index + 1);\r\n }\r\n /**\r\n * Fade the current element and show the next one.\r\n * We don't need to remove it at this time. Leave it to for\r\n * server side\r\n */\r\n container.fadeOut('200', function () {\r\n next.css({ opacity: 1, height: 'initial' }).fadeIn('200');\r\n });\r\n }\r\n });\r\n });\r\n };\r\n return EpsilonSectionRecommended;\r\n}());\r\nexports.EpsilonSectionRecommended = EpsilonSectionRecommended;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/sections/recommended-actions.ts\n// module id = 43\n// module chunks = 0","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar EpsilonSectionDoubled = /** @class */ (function () {\r\n /**\r\n * Class Constructor\r\n * @param {{section: JQuery; params: { id: string}}} control\r\n */\r\n function EpsilonSectionDoubled(section) {\r\n /**\r\n * save instance of section\r\n */\r\n this.section = section;\r\n /**\r\n * Move out of the ugly list, this has overflow hidden and we can`t display it properly\r\n */\r\n this.createParent();\r\n /**\r\n * Append new sections to parent\r\n */\r\n this.section.container.appendTo(this.parent);\r\n /**\r\n * Handle Events\r\n */\r\n this.handleEvents();\r\n }\r\n EpsilonSectionDoubled.prototype.handleEvents = function () {\r\n var self = this;\r\n var section = this.section;\r\n /**\r\n * Close sections\r\n */\r\n section.container.on('click', '.epsilon-close-doubled-section', function (e) {\r\n e.preventDefault();\r\n jQuery('body').removeClass('adding-doubled-section');\r\n jQuery('body').find('.doubled-section-opened').removeClass('doubled-section-opened');\r\n });\r\n /**\r\n * Open sections\r\n */\r\n section.headContainer.on('click', function (e) {\r\n var opened, strippedIdHead, strippedIdContainer;\r\n e.preventDefault();\r\n /**\r\n * We need to close everything on click\r\n * @type {*|{}}\r\n */\r\n opened = self.parent.find('.doubled-section-opened');\r\n if (opened.length) {\r\n opened.removeClass('doubled-section-opened');\r\n }\r\n if (jQuery('body').hasClass('adding-doubled-section')) {\r\n strippedIdHead = jQuery(this).attr('id');\r\n if ('undefined' !== typeof strippedIdHead) {\r\n strippedIdHead = strippedIdHead.replace('accordion-section-', '');\r\n }\r\n strippedIdContainer = opened.attr('id');\r\n if ('undefined' !== typeof strippedIdContainer) {\r\n strippedIdContainer = strippedIdContainer.replace('sub-accordion-section-', '');\r\n }\r\n if (strippedIdContainer === strippedIdHead) {\r\n jQuery('body').removeClass('adding-doubled-section');\r\n }\r\n }\r\n else {\r\n jQuery('body').addClass('adding-doubled-section');\r\n }\r\n jQuery.each(section.container, function () {\r\n if (jQuery(this).is('li')) {\r\n return;\r\n }\r\n jQuery(this).addClass('doubled-section-opened');\r\n });\r\n });\r\n };\r\n /**\r\n * Create a parent container\r\n */\r\n EpsilonSectionDoubled.prototype.createParent = function () {\r\n var parent = jQuery('.wp-full-overlay').find('.doubled-section-parent');\r\n if (!parent.length) {\r\n jQuery('.wp-full-overlay').append('
');\r\n parent = jQuery('.wp-full-overlay').find('.doubled-section-parent');\r\n this.parent = parent;\r\n }\r\n this.parent = parent;\r\n };\r\n return EpsilonSectionDoubled;\r\n}());\r\nexports.EpsilonSectionDoubled = EpsilonSectionDoubled;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/vendors/epsilon-framework/customizer/sections/section-doubled.ts\n// module id = 44\n// module chunks = 0"],"sourceRoot":""}