{"version":3,"sources":["ajax.js","util.js","md5.js","jquery.fontselect.js","customizer.js"],"names":["AwesomeAjax","prefix","$","jQuery","self","this","result","load_model","model_name","item_id","callback_success","callback_error","ajax","action","data","id","success_handler","error_handler","publish_model","delete_model","args","url","window","type","security","success","responseArray","wpAjax","parseAjaxResponse","errors","responses","success_error_handler","JSON","parse","error","AwesomeUtil","detect_os","os_name","navigator","appVersion","indexOf","toObject","arr","rv","i","length","find_in_array_of_objects","array","key","value","each","index","item","hasOwnProperty","hex_to_rgb","hex","parseInt","calc_size","raw","endsWith","replace","clean_number","get_keys","obj","_","list","find_key_by_value","needle","haystack","find","find_index_by_value","keys","removeClass","el","start_with","css","regex","RegExp","match","join","String","prototype","replace_all","capitalize","charAt","toUpperCase","slice","end","fn","isVisible","parent","windowScrollTopView","scrollTop","height","md5cycle","x","k","a","b","c","d","ii","hh","gg","ff","add32","cmn","q","s","t","md51","txt","n","state","md5blk","substring","tail","charCodeAt","md5blks","rhex","j","hex_chr","md5","y","lsw","split","LAIconManagerUtil","getSet","string","delimeter","info","getIcon","getIconClass","set","fontselect","options","__bind","me","apply","arguments","settings","fonts","empty","style","placeholder","lookahead","api","Fontselect","original","o","$original","active","setupHtml","getVisibleFonts","bindEvents","font","val","updateSelected","addFontLink","$results","on","selectFont","activateFont","$select","toggleDrop","$arrow","ev","$element","$drop","hide","clearInterval","visibleInterval","addClass","show","moveToSelected","setInterval","change","$li","first","position","top","currentTarget","deactivateFont","toReadable","text","font-family","toStyle","class","before","append","fontsAsHtml","r","l","h","font-weight","is","link","after","document","trigger","extend","acp_get_alpha_value_from_color","alphaVal","parseFloat","toFixed","acp_update_alpha_value_on_color_control","alpha","$control","$alphaSlider","update_slider","iris","colorPicker","color","_color","_alpha","toString","toggler","background-color","acp_update_alpha_value_on_alpha_slider","wpColorPicker","slider","Color","flag","toCSS","startingColor","paletteInput","showOpacity","defaultColor","colorPickerOptions","$container","sliderOptions","attr","event","ui","wp","customize","palettes","parents","appendTo","create","siblings","range","step","min","max","animate","prepend","onChangeStyle","$panelSettingsCont","onChangeSeparators","checked","$settingsGroup","separators","onChangeIndicators","indicators","monitor_events","object_path","p","eval","topics","console","log","deparam","query","pairs","keyValuePair","map","decodeURIComponent","undefined","menuData","SFM_MENU_DATA","metaChangeset","activePreviewMenu","$iconManagerModal","$doc","GOOGLE_FONTS","$iframeDoc","contents","tinyMCEToolbar1String","_wpCustomizeSettings","controls","skyrockettinymcetoolbar1","tinyMCEToolbar2String","skyrockettinymcetoolbar2","editor","initialize","tinymce","wpautop","toolbar1","toolbar2","quicktags","e","tinyMCE","triggerSave","params","template","menuItems","menuId","matches","$t","control","itemId","extra","name","$parent","$inp","menu_item_id","container","closest","sfmExtra","sfmMenuId","off","icon","substr","html","$tar","target","setTimeout","attachment","file_frame","$imgBtn","$iconBtn","$imgInput","$iconInput","open","media","frames","multiple","get","toJSON","sizes","full","previewHTML","re","serialize","previewer","send","serialized","menuItemId","changeset","post","done","response","fail","responseText","LAIconManager","showIconSelect","pluginOpts","laim_localize","plugin_opts","prop","fullscreen","skewed","side","toolbar","group","oldVal","push"],"mappings":"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","file":"customizer.min.js","sourcesContent":["/**\n * Ajax functions, used in Panel\n */\n\n\nvar AwesomeAjax = function(prefix){\n 'use strict';\n\n var $ = jQuery; // enable jQuery\n var self = this;\n var prefix = prefix + '_';\n self.result = {};\n\n\n\n // Load model data from WP\n self.load_model = function(model_name, item_id, callback_success, callback_error){\n return self.ajax({\n action: prefix + 'get_' + model_name,\n data: {\n 'id': item_id\n },\n success_handler: callback_success,\n error_handler: callback_error\n });\n };\n\n self.publish_model = function (id, callback_success, callback_error) {\n return self.ajax({\n action: prefix + 'publish_model',\n data: {\n 'id': id\n },\n success_handler: callback_success,\n error_handler: callback_error\n });\n }\n\n // delete model by ID and model name\n self.delete_model = function(id, model_name){\n return self.ajax({\n action: prefix + 'delete_model',\n data: {\n 'id': id,\n 'model_name': model_name\n },\n success_handler: function (result) {\n return result;\n }\n });\n };\n\n // WP AJAX wrapper\n self.ajax = function (args) {\n return $.ajax({\n url: window[prefix + 'localize']['ajaxurl'],\n type: 'post',\n data: {\n action: args.action,\n security: window[prefix + 'localize']['ajax_nonce'],\n data: args.data || {}\n },\n success: function (data) {\n var responseArray = wpAjax.parseAjaxResponse(data);\n if(responseArray.errors){\n var errors = responseArray.responses[0].errors;\n args.success_error_handler(errors)\n }else{\n var result = JSON.parse(responseArray.responses[0].data);\n args.success_handler(result);\n }\n },\n error: function (data) {\n args.error_handler(data);\n }\n });\n }\n};","LAIconManagerUtil = {\n getSet : function (string, delimeter) {\n delimeter = typeof delimeter === 'undefined' ? '_####_' : delimeter;\n\n var info = string.split(delimeter);\n if(info.length > 1){\n return info[0];\n }\n return false;\n },\n getIcon: function (string, delimeter) {\n delimeter = typeof delimeter === 'undefined' ? '_####_' : delimeter;\n\n var info = string.split(delimeter);\n if(info.length > 1){\n return info[1];\n }\n return false;\n },\n getIconClass: function (string, delimeter, prefix) {\n delimeter = typeof delimeter === 'undefined' ? '_####_' : delimeter;\n prefix = typeof prefix === 'undefined' ? 'la' : prefix;\n string = string.split('+').join(' ');\n\n var info = string.split(delimeter);\n if (info) {\n var set = info[0];\n return prefix + md5(set) + '-' + info[1];\n }\n return false;\n }\n}","function md5cycle(x, k) {\n var a = x[0], b = x[1], c = x[2], d = x[3];\n\n a = ff(a, b, c, d, k[0], 7, -680876936);\n d = ff(d, a, b, c, k[1], 12, -389564586);\n c = ff(c, d, a, b, k[2], 17, 606105819);\n b = ff(b, c, d, a, k[3], 22, -1044525330);\n a = ff(a, b, c, d, k[4], 7, -176418897);\n d = ff(d, a, b, c, k[5], 12, 1200080426);\n c = ff(c, d, a, b, k[6], 17, -1473231341);\n b = ff(b, c, d, a, k[7], 22, -45705983);\n a = ff(a, b, c, d, k[8], 7, 1770035416);\n d = ff(d, a, b, c, k[9], 12, -1958414417);\n c = ff(c, d, a, b, k[10], 17, -42063);\n b = ff(b, c, d, a, k[11], 22, -1990404162);\n a = ff(a, b, c, d, k[12], 7, 1804603682);\n d = ff(d, a, b, c, k[13], 12, -40341101);\n c = ff(c, d, a, b, k[14], 17, -1502002290);\n b = ff(b, c, d, a, k[15], 22, 1236535329);\n\n a = gg(a, b, c, d, k[1], 5, -165796510);\n d = gg(d, a, b, c, k[6], 9, -1069501632);\n c = gg(c, d, a, b, k[11], 14, 643717713);\n b = gg(b, c, d, a, k[0], 20, -373897302);\n a = gg(a, b, c, d, k[5], 5, -701558691);\n d = gg(d, a, b, c, k[10], 9, 38016083);\n c = gg(c, d, a, b, k[15], 14, -660478335);\n b = gg(b, c, d, a, k[4], 20, -405537848);\n a = gg(a, b, c, d, k[9], 5, 568446438);\n d = gg(d, a, b, c, k[14], 9, -1019803690);\n c = gg(c, d, a, b, k[3], 14, -187363961);\n b = gg(b, c, d, a, k[8], 20, 1163531501);\n a = gg(a, b, c, d, k[13], 5, -1444681467);\n d = gg(d, a, b, c, k[2], 9, -51403784);\n c = gg(c, d, a, b, k[7], 14, 1735328473);\n b = gg(b, c, d, a, k[12], 20, -1926607734);\n\n a = hh(a, b, c, d, k[5], 4, -378558);\n d = hh(d, a, b, c, k[8], 11, -2022574463);\n c = hh(c, d, a, b, k[11], 16, 1839030562);\n b = hh(b, c, d, a, k[14], 23, -35309556);\n a = hh(a, b, c, d, k[1], 4, -1530992060);\n d = hh(d, a, b, c, k[4], 11, 1272893353);\n c = hh(c, d, a, b, k[7], 16, -155497632);\n b = hh(b, c, d, a, k[10], 23, -1094730640);\n a = hh(a, b, c, d, k[13], 4, 681279174);\n d = hh(d, a, b, c, k[0], 11, -358537222);\n c = hh(c, d, a, b, k[3], 16, -722521979);\n b = hh(b, c, d, a, k[6], 23, 76029189);\n a = hh(a, b, c, d, k[9], 4, -640364487);\n d = hh(d, a, b, c, k[12], 11, -421815835);\n c = hh(c, d, a, b, k[15], 16, 530742520);\n b = hh(b, c, d, a, k[2], 23, -995338651);\n\n a = ii(a, b, c, d, k[0], 6, -198630844);\n d = ii(d, a, b, c, k[7], 10, 1126891415);\n c = ii(c, d, a, b, k[14], 15, -1416354905);\n b = ii(b, c, d, a, k[5], 21, -57434055);\n a = ii(a, b, c, d, k[12], 6, 1700485571);\n d = ii(d, a, b, c, k[3], 10, -1894986606);\n c = ii(c, d, a, b, k[10], 15, -1051523);\n b = ii(b, c, d, a, k[1], 21, -2054922799);\n a = ii(a, b, c, d, k[8], 6, 1873313359);\n d = ii(d, a, b, c, k[15], 10, -30611744);\n c = ii(c, d, a, b, k[6], 15, -1560198380);\n b = ii(b, c, d, a, k[13], 21, 1309151649);\n a = ii(a, b, c, d, k[4], 6, -145523070);\n d = ii(d, a, b, c, k[11], 10, -1120210379);\n c = ii(c, d, a, b, k[2], 15, 718787259);\n b = ii(b, c, d, a, k[9], 21, -343485551);\n\n x[0] = add32(a, x[0]);\n x[1] = add32(b, x[1]);\n x[2] = add32(c, x[2]);\n x[3] = add32(d, x[3]);\n\n}\n\nfunction cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n}\n\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | ((~b) & d), a, b, x, s, t);\n}\n\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & (~d)), a, b, x, s, t);\n}\n\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | (~d)), a, b, x, s, t);\n}\n\nfunction md51(s) {\n txt = '';\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878], i;\n for (i=64; i<=s.length; i+=64) {\n md5cycle(state, md5blk(s.substring(i-64, i)));\n }\n s = s.substring(i-64);\n var tail = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0];\n for (i=0; i<s.length; i++)\n tail[i>>2] |= s.charCodeAt(i) << ((i%4) << 3);\n tail[i>>2] |= 0x80 << ((i%4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i=0; i<16; i++) tail[i] = 0;\n }\n tail[14] = n*8;\n md5cycle(state, tail);\n return state;\n}\n\n/* there needs to be support for Unicode here,\n * unless we pretend that we can redefine the MD-5\n * algorithm for multi-byte characters (perhaps\n * by adding every four 16-bit characters and\n * shortening the sum to 32 bits). Otherwise\n * I suggest performing MD-5 as if every character\n * was two bytes--e.g., 0040 0025 = @%--but then\n * how will an ordinary MD-5 sum be matched?\n * There is no way to standardize text to something\n * like UTF-8 before transformation; speed cost is\n * utterly prohibitive. The JavaScript standard\n * itself needs to look at this: it should start\n * providing access to strings as preformed UTF-8\n * 8-bit unsigned value arrays.\n */\nfunction md5blk(s) { /* I figured global was faster. */\n var md5blks = [], i; /* Andy King said do it this way. */\n for (i=0; i<64; i+=4) {\n md5blks[i>>2] = s.charCodeAt(i)\n + (s.charCodeAt(i+1) << 8)\n + (s.charCodeAt(i+2) << 16)\n + (s.charCodeAt(i+3) << 24);\n }\n return md5blks;\n}\n\nvar hex_chr = '0123456789abcdef'.split('');\n\nfunction rhex(n)\n{\n var s='', j=0;\n for(; j<4; j++)\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F]\n + hex_chr[(n >> (j * 8)) & 0x0F];\n return s;\n}\n\nfunction hex(x) {\n for (var i=0; i<x.length; i++)\n x[i] = rhex(x[i]);\n return x.join('');\n}\n\nfunction md5(s) {\n return hex(md51(s));\n}\n\n/* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n\nfunction add32(a, b) {\n return (a + b) & 0xFFFFFFFF;\n}\n\nif (md5('hello') != '5d41402abc4b2a76b9719d911017c592') {\n function add32(x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n }\n}","/*\n * jQuery.fontselect - A font selector for the Google Web Fonts api\n * Tom Moor, http://tommoor.com\n * Copyright (c) 2011 Tom Moor\n * MIT Licensed\n * @version 0.1\n */\n\n(function ($) {\n\n $.fn.fontselect = function (options) {\n\n var __bind = function (fn, me) {\n return function () {\n return fn.apply(me, arguments);\n };\n };\n\n var settings = {\n fonts : [\"ABeeZee\",\"Abel\",\"Abril Fatface\",\"Aclonica\",\"Acme\",\"Actor\",\"Adamina\",\"Advent Pro\",\"Aguafina Script\",\"Akronim\",\"Aladin\",\"Aldrich\",\"Alef\",\"Alegreya\",\"Alegreya SC\",\"Alegreya Sans\",\"Alegreya Sans SC\",\"Alex Brush\",\"Alfa Slab One\",\"Alice\",\"Alike\",\"Alike Angular\",\"Allan\",\"Allerta\",\"Allerta Stencil\",\"Allura\",\"Almendra\",\"Almendra Display\",\"Almendra SC\",\"Amarante\",\"Amaranth\",\"Amatic SC\",\"Amethysta\",\"Amiri\",\"Amita\",\"Anaheim\",\"Andada\",\"Andika\",\"Angkor\",\"Annie Use Your Telescope\",\"Anonymous Pro\",\"Antic\",\"Antic Didone\",\"Antic Slab\",\"Anton\",\"Arapey\",\"Arbutus\",\"Arbutus Slab\",\"Architects Daughter\",\"Archivo Black\",\"Archivo Narrow\",\"Arimo\",\"Arizonia\",\"Armata\",\"Artifika\",\"Arvo\",\"Arya\",\"Asap\",\"Asar\",\"Asset\",\"Astloch\",\"Asul\",\"Atomic Age\",\"Aubrey\",\"Audiowide\",\"Autour One\",\"Average\",\"Average Sans\",\"Averia Gruesa Libre\",\"Averia Libre\",\"Averia Sans Libre\",\"Averia Serif Libre\",\"Bad Script\",\"Balthazar\",\"Bangers\",\"Basic\",\"Battambang\",\"Baumans\",\"Bayon\",\"Belgrano\",\"Belleza\",\"BenchNine\",\"Bentham\",\"Berkshire Swash\",\"Bevan\",\"Bigelow Rules\",\"Bigshot One\",\"Bilbo\",\"Bilbo Swash Caps\",\"Biryani\",\"Bitter\",\"Black Ops One\",\"Bokor\",\"Bonbon\",\"Boogaloo\",\"Bowlby One\",\"Bowlby One SC\",\"Brawler\",\"Bree Serif\",\"Bubblegum Sans\",\"Bubbler One\",\"Buda\",\"Buenard\",\"Butcherman\",\"Butterfly Kids\",\"Cabin\",\"Cabin Condensed\",\"Cabin Sketch\",\"Caesar Dressing\",\"Cagliostro\",\"Calligraffitti\",\"Cambay\",\"Cambo\",\"Candal\",\"Cantarell\",\"Cantata One\",\"Cantora One\",\"Capriola\",\"Cardo\",\"Carme\",\"Carrois Gothic\",\"Carrois Gothic SC\",\"Carter One\",\"Catamaran\",\"Caudex\",\"Caveat\",\"Caveat Brush\",\"Cedarville Cursive\",\"Ceviche One\",\"Changa One\",\"Chango\",\"Chau Philomene One\",\"Chela One\",\"Chelsea Market\",\"Chenla\",\"Cherry Cream Soda\",\"Cherry Swash\",\"Chewy\",\"Chicle\",\"Chivo\",\"Chonburi\",\"Cinzel\",\"Cinzel Decorative\",\"Clicker Script\",\"Coda\",\"Coda Caption\",\"Codystar\",\"Combo\",\"Comfortaa\",\"Coming Soon\",\"Concert One\",\"Condiment\",\"Content\",\"Contrail One\",\"Convergence\",\"Cookie\",\"Copse\",\"Corben\",\"Courgette\",\"Cousine\",\"Coustard\",\"Covered By Your Grace\",\"Crafty Girls\",\"Creepster\",\"Crete Round\",\"Crimson Text\",\"Croissant One\",\"Crushed\",\"Cuprum\",\"Cutive\",\"Cutive Mono\",\"Damion\",\"Dancing Script\",\"Dangrek\",\"Dawning of a New Day\",\"Days One\",\"Dekko\",\"Delius\",\"Delius Swash Caps\",\"Delius Unicase\",\"Della Respira\",\"Denk One\",\"Devonshire\",\"Dhurjati\",\"Didact Gothic\",\"Diplomata\",\"Diplomata SC\",\"Domine\",\"Donegal One\",\"Doppio One\",\"Dorsa\",\"Dosis\",\"Dr Sugiyama\",\"Droid Sans\",\"Droid Sans Mono\",\"Droid Serif\",\"Duru Sans\",\"Dynalight\",\"EB Garamond\",\"Eagle Lake\",\"Eater\",\"Economica\",\"Eczar\",\"Ek Mukta\",\"Electrolize\",\"Elsie\",\"Elsie Swash Caps\",\"Emblema One\",\"Emilys Candy\",\"Engagement\",\"Englebert\",\"Enriqueta\",\"Erica One\",\"Esteban\",\"Euphoria Script\",\"Ewert\",\"Exo\",\"Exo 2\",\"Expletus Sans\",\"Fanwood Text\",\"Fascinate\",\"Fascinate Inline\",\"Faster One\",\"Fasthand\",\"Fauna One\",\"Federant\",\"Federo\",\"Felipa\",\"Fenix\",\"Finger Paint\",\"Fira Mono\",\"Fira Sans\",\"Fjalla One\",\"Fjord One\",\"Flamenco\",\"Flavors\",\"Fondamento\",\"Fontdiner Swanky\",\"Forum\",\"Francois One\",\"Freckle Face\",\"Fredericka the Great\",\"Fredoka One\",\"Freehand\",\"Fresca\",\"Frijole\",\"Fruktur\",\"Fugaz One\",\"GFS Didot\",\"GFS Neohellenic\",\"Gabriela\",\"Gafata\",\"Galdeano\",\"Galindo\",\"Gentium Basic\",\"Gentium Book Basic\",\"Geo\",\"Geostar\",\"Geostar Fill\",\"Germania One\",\"Gidugu\",\"Gilda Display\",\"Give You Glory\",\"Glass Antiqua\",\"Glegoo\",\"Gloria Hallelujah\",\"Goblin One\",\"Gochi Hand\",\"Gorditas\",\"Goudy Bookletter 1911\",\"Graduate\",\"Grand Hotel\",\"Gravitas One\",\"Great Vibes\",\"Griffy\",\"Gruppo\",\"Gudea\",\"Gurajada\",\"Habibi\",\"Halant\",\"Hammersmith One\",\"Hanalei\",\"Hanalei Fill\",\"Handlee\",\"Hanuman\",\"Happy Monkey\",\"Headland One\",\"Henny Penny\",\"Herr Von Muellerhoff\",\"Hind\",\"Hind Siliguri\",\"Hind Vadodara\",\"Holtwood One SC\",\"Homemade Apple\",\"Homenaje\",\"IM Fell DW Pica\",\"IM Fell DW Pica SC\",\"IM Fell Double Pica\",\"IM Fell Double Pica SC\",\"IM Fell English\",\"IM Fell English SC\",\"IM Fell French Canon\",\"IM Fell French Canon SC\",\"IM Fell Great Primer\",\"IM Fell Great Primer SC\",\"Iceberg\",\"Iceland\",\"Imprima\",\"Inconsolata\",\"Inder\",\"Indie Flower\",\"Inika\",\"Inknut Antiqua\",\"Irish Grover\",\"Istok Web\",\"Italiana\",\"Italianno\",\"Itim\",\"Jacques Francois\",\"Jacques Francois Shadow\",\"Jaldi\",\"Jim Nightshade\",\"Jockey One\",\"Jolly Lodger\",\"Josefin Sans\",\"Josefin Slab\",\"Joti One\",\"Judson\",\"Julee\",\"Julius Sans One\",\"Junge\",\"Jura\",\"Just Another Hand\",\"Just Me Again Down Here\",\"Kadwa\",\"Kalam\",\"Kameron\",\"Kanit\",\"Kantumruy\",\"Karla\",\"Karma\",\"Kaushan Script\",\"Kavoon\",\"Kdam Thmor\",\"Keania One\",\"Kelly Slab\",\"Kenia\",\"Khand\",\"Khmer\",\"Khula\",\"Kite One\",\"Knewave\",\"Kotta One\",\"Koulen\",\"Kranky\",\"Kreon\",\"Kristi\",\"Krona One\",\"Kurale\",\"La Belle Aurore\",\"Laila\",\"Lakki Reddy\",\"Lancelot\",\"Lateef\",\"Lato\",\"League Script\",\"Leckerli One\",\"Ledger\",\"Lekton\",\"Lemon\",\"Libre Baskerville\",\"Life Savers\",\"Lilita One\",\"Lily Script One\",\"Limelight\",\"Linden Hill\",\"Lobster\",\"Lobster Two\",\"Londrina Outline\",\"Londrina Shadow\",\"Londrina Sketch\",\"Londrina Solid\",\"Lora\",\"Love Ya Like A Sister\",\"Loved by the King\",\"Lovers Quarrel\",\"Luckiest Guy\",\"Lusitana\",\"Lustria\",\"Macondo\",\"Macondo Swash Caps\",\"Magra\",\"Maiden Orange\",\"Mako\",\"Mallanna\",\"Mandali\",\"Marcellus\",\"Marcellus SC\",\"Marck Script\",\"Margarine\",\"Marko One\",\"Marmelad\",\"Martel\",\"Martel Sans\",\"Marvel\",\"Mate\",\"Mate SC\",\"Maven Pro\",\"McLaren\",\"Meddon\",\"MedievalSharp\",\"Medula One\",\"Megrim\",\"Meie Script\",\"Merienda\",\"Merienda One\",\"Merriweather\",\"Merriweather Sans\",\"Metal\",\"Metal Mania\",\"Metamorphous\",\"Metrophobic\",\"Michroma\",\"Milonga\",\"Miltonian\",\"Miltonian Tattoo\",\"Miniver\",\"Miss Fajardose\",\"Modak\",\"Modern Antiqua\",\"Molengo\",\"Molle\",\"Monda\",\"Monofett\",\"Monoton\",\"Monsieur La Doulaise\",\"Montaga\",\"Montez\",\"Montserrat\",\"Montserrat Alternates\",\"Montserrat Subrayada\",\"Moul\",\"Moulpali\",\"Mountains of Christmas\",\"Mouse Memoirs\",\"Mr Bedfort\",\"Mr Dafoe\",\"Mr De Haviland\",\"Mrs Saint Delafield\",\"Mrs Sheppards\",\"Muli\",\"Mystery Quest\",\"NTR\",\"Neucha\",\"Neuton\",\"New Rocker\",\"News Cycle\",\"Niconne\",\"Nixie One\",\"Nobile\",\"Nokora\",\"Norican\",\"Nosifer\",\"Nothing You Could Do\",\"Noticia Text\",\"Noto Sans\",\"Noto Serif\",\"Nova Cut\",\"Nova Flat\",\"Nova Mono\",\"Nova Oval\",\"Nova Round\",\"Nova Script\",\"Nova Slim\",\"Nova Square\",\"Numans\",\"Nunito\",\"Odor Mean Chey\",\"Offside\",\"Old Standard TT\",\"Oldenburg\",\"Oleo Script\",\"Oleo Script Swash Caps\",\"Open Sans\",\"Open Sans Condensed\",\"Oranienbaum\",\"Orbitron\",\"Oregano\",\"Orienta\",\"Original Surfer\",\"Oswald\",\"Over the Rainbow\",\"Overlock\",\"Overlock SC\",\"Ovo\",\"Oxygen\",\"Oxygen Mono\",\"PT Mono\",\"PT Sans\",\"PT Sans Caption\",\"PT Sans Narrow\",\"PT Serif\",\"PT Serif Caption\",\"Pacifico\",\"Palanquin\",\"Palanquin Dark\",\"Paprika\",\"Parisienne\",\"Passero One\",\"Passion One\",\"Pathway Gothic One\",\"Patrick Hand\",\"Patrick Hand SC\",\"Patua One\",\"Paytone One\",\"Peddana\",\"Peralta\",\"Permanent Marker\",\"Petit Formal Script\",\"Petrona\",\"Philosopher\",\"Piedra\",\"Pinyon Script\",\"Pirata One\",\"Plaster\",\"Play\",\"Playball\",\"Playfair Display\",\"Playfair Display SC\",\"Podkova\",\"Poiret One\",\"Poller One\",\"Poly\",\"Pompiere\",\"Pontano Sans\",\"Poppins\",\"Port Lligat Sans\",\"Port Lligat Slab\",\"Pragati Narrow\",\"Prata\",\"Preahvihear\",\"Press Start 2P\",\"Princess Sofia\",\"Prociono\",\"Prosto One\",\"Puritan\",\"Purple Purse\",\"Quando\",\"Quantico\",\"Quattrocento\",\"Quattrocento Sans\",\"Questrial\",\"Quicksand\",\"Quintessential\",\"Qwigley\",\"Racing Sans One\",\"Radley\",\"Rajdhani\",\"Raleway\",\"Raleway Dots\",\"Ramabhadra\",\"Ramaraja\",\"Rambla\",\"Rammetto One\",\"Ranchers\",\"Rancho\",\"Ranga\",\"Rationale\",\"Ravi Prakash\",\"Redressed\",\"Reenie Beanie\",\"Revalia\",\"Rhodium Libre\",\"Ribeye\",\"Ribeye Marrow\",\"Righteous\",\"Risque\",\"Roboto\",\"Roboto Condensed\",\"Roboto Mono\",\"Roboto Slab\",\"Rochester\",\"Rock Salt\",\"Rokkitt\",\"Romanesco\",\"Ropa Sans\",\"Rosario\",\"Rosarivo\",\"Rouge Script\",\"Rozha One\",\"Rubik\",\"Rubik Mono One\",\"Rubik One\",\"Ruda\",\"Rufina\",\"Ruge Boogie\",\"Ruluko\",\"Rum Raisin\",\"Ruslan Display\",\"Russo One\",\"Ruthie\",\"Rye\",\"Sacramento\",\"Sahitya\",\"Sail\",\"Salsa\",\"Sanchez\",\"Sancreek\",\"Sansita One\",\"Sarala\",\"Sarina\",\"Sarpanch\",\"Satisfy\",\"Scada\",\"Scheherazade\",\"Schoolbell\",\"Seaweed Script\",\"Sevillana\",\"Seymour One\",\"Shadows Into Light\",\"Shadows Into Light Two\",\"Shanti\",\"Share\",\"Share Tech\",\"Share Tech Mono\",\"Shojumaru\",\"Short Stack\",\"Siemreap\",\"Sigmar One\",\"Signika\",\"Signika Negative\",\"Simonetta\",\"Sintony\",\"Sirin Stencil\",\"Six Caps\",\"Skranji\",\"Slabo 13px\",\"Slabo 27px\",\"Slackey\",\"Smokum\",\"Smythe\",\"Sniglet\",\"Snippet\",\"Snowburst One\",\"Sofadi One\",\"Sofia\",\"Sonsie One\",\"Sorts Mill Goudy\",\"Source Code Pro\",\"Source Sans Pro\",\"Source Serif Pro\",\"Special Elite\",\"Spicy Rice\",\"Spinnaker\",\"Spirax\",\"Squada One\",\"Sree Krushnadevaraya\",\"Stalemate\",\"Stalinist One\",\"Stardos Stencil\",\"Stint Ultra Condensed\",\"Stint Ultra Expanded\",\"Stoke\",\"Strait\",\"Sue Ellen Francisco\",\"Sumana\",\"Sunshiney\",\"Supermercado One\",\"Sura\",\"Suranna\",\"Suravaram\",\"Suwannaphum\",\"Swanky and Moo Moo\",\"Syncopate\",\"Tangerine\",\"Taprom\",\"Tauri\",\"Teko\",\"Telex\",\"Tenali Ramakrishna\",\"Tenor Sans\",\"Text Me One\",\"The Girl Next Door\",\"Tienne\",\"Tillana\",\"Timmana\",\"Tinos\",\"Titan One\",\"Titillium Web\",\"Trade Winds\",\"Trocchi\",\"Trochut\",\"Trykker\",\"Tulpen One\",\"Ubuntu\",\"Ubuntu Condensed\",\"Ubuntu Mono\",\"Ultra\",\"Uncial Antiqua\",\"Underdog\",\"Unica One\",\"UnifrakturCook\",\"UnifrakturMaguntia\",\"Unkempt\",\"Unlock\",\"Unna\",\"VT323\",\"Vampiro One\",\"Varela\",\"Varela Round\",\"Vast Shadow\",\"Vesper Libre\",\"Vibur\",\"Vidaloka\",\"Viga\",\"Voces\",\"Volkhov\",\"Vollkorn\",\"Voltaire\",\"Waiting for the Sunrise\",\"Wallpoet\",\"Walter Turncoat\",\"Warnes\",\"Wellfleet\",\"Wendy One\",\"Wire One\",\"Work Sans\",\"Yanone Kaffeesatz\",\"Yantramanav\",\"Yellowtail\",\"Yeseva One\",\"Yesteryear\",\"Zeyada\"],\n empty: 'empty',\n style: 'font-select',\n placeholder: 'Select a font',\n lookahead: 2,\n api: '//fonts.googleapis.com/css?family='\n };\n\n var Fontselect = (function () {\n\n function Fontselect(original, o) {\n this.$original = $(original);\n this.options = o;\n this.active = false;\n this.setupHtml();\n this.getVisibleFonts();\n this.bindEvents();\n\n var font = this.$original.val();\n if (font && font !== this.options.empty) {\n this.updateSelected();\n this.addFontLink(font);\n }\n }\n\t\n\t Fontselect.prototype.bindEvents = function(){\n\t\t\n\t\t $('li', this.$results)\n\t\t\t .on( 'click', __bind(this.selectFont, this))\n .on( 'click', __bind(this.selectFont, this))\n .on( 'click', __bind(this.activateFont, this))\n //.on( 'mouseenter', __bind(this.activateFont, this))\n //.on( 'mouseenter', __bind(this.deactivateFont, this));\n\t\t\n\t\t $('span', this.$select).on( 'click', __bind(this.toggleDrop, this));\n\t\t this.$arrow.on( 'click', __bind(this.toggleDrop, this));\n\t };\n\n Fontselect.prototype.toggleDrop = function (ev) {\n if (this.active) {\n this.$element.removeClass('font-select-active');\n this.$drop.hide();\n clearInterval(this.visibleInterval);\n } else {\n this.$element.addClass('font-select-active');\n this.$drop.show();\n this.moveToSelected();\n this.visibleInterval = setInterval(__bind(this.getVisibleFonts, this), 500);\n }\n\n this.active = !this.active;\n };\n\n Fontselect.prototype.selectFont = function () {\n var font = $('li.active', this.$results).data('value');\n this.$original.val(font).change();\n this.updateSelected();\n this.toggleDrop();\n };\n\n Fontselect.prototype.moveToSelected = function () {\n var $li, font = this.$original.val();\n\n if (font) {\n $li = $(\"li[data-value='\" + font + \"']\", this.$results);\n } else {\n $li = $(\"li\", this.$results).first();\n }\n this.$results.scrollTop(0).scrollTop($li.addClass('active').position().top);\n };\n\n Fontselect.prototype.activateFont = function (ev) {\n $('li.active', this.$results).removeClass('active');\n $(ev.currentTarget).addClass('active');\n };\n\n Fontselect.prototype.deactivateFont = function (ev) {\n\n $(ev.currentTarget).removeClass('active');\n };\n\n Fontselect.prototype.updateSelected = function () {\n var font = this.$original.val();\n var val = this.toReadable(font) == this.options.empty ? this.options.placeholder : this.toReadable(font);\n $('span', this.$element).text(val).css({\n 'font-family': 'Lato'\n });\n if (font !== this.options.empty) {\n this.addFontLink(font);\n $('span', this.$element).css(this.toStyle(font));\n }\n };\n\n Fontselect.prototype.setupHtml = function () {\n this.$original.empty().hide();\n this.$element = $('<div>', {'class': this.options.style});\n this.$arrow = $('<div><b></b></div>');\n this.$select = $('<a><span>' + this.options.placeholder + '</span></a>');\n this.$drop = $('<div>', {'class': 'fs-drop'});\n this.$results = $('<ul>', {'class': 'fs-results'});\n this.$original.before(this.$element.append(this.$select.append(this.$arrow)).append(this.$drop));\n this.$drop.append(this.$results.append(this.fontsAsHtml())).hide();\n };\n\n Fontselect.prototype.fontsAsHtml = function () {\n\n var l = this.options.fonts.length;\n var r, s, h = '';\n\n h += '<li data-value=\"' + this.options.empty + '\">' + this.options.placeholder + '</li>';\n for (var i = 0; i < l; i++) {\n r = this.toReadable(this.options.fonts[i]);\n //s = this.toStyle(fonts[i]);\n //h += '<li data-value=\"' + fonts[i] + '\" style=\"font-family: ' + s['font-family'] + '; font-weight: ' + s['font-weight'] + '\">' + r + '</li>';\n h += '<li data-value=\"' + this.options.fonts[i] + '\">' + r + '</li>';\n }\n\n return h;\n };\n\n Fontselect.prototype.toReadable = function (font) {\n return font.replace(/[\\+|:]/g, ' ');\n };\n\n Fontselect.prototype.toStyle = function (font) {\n var t = font.split(':');\n return {'font-family': this.toReadable(t[0]), 'font-weight': (t[1] || 400)};\n };\n\n Fontselect.prototype.getVisibleFonts = function () {\n\n if (this.$results.is(':hidden')) return;\n\n var fs = this;\n var top = this.$results.scrollTop();\n var bottom = top + this.$results.height();\n\n if (this.options.lookahead) {\n var li = $('li', this.$results).first().height();\n bottom += li * this.options.lookahead;\n }\n\n /*$('li', this.$results).each(function () {\n\n var ft = $(this).position().top + top;\n var fb = ft + $(this).height();\n\n if ((fb >= top) && (ft <= bottom)) {\n var font = $(this).data('value');\n if (font !== fs.options.empty) {\n fs.addFontLink(font);\n }\n }\n\n });*/\n };\n\n Fontselect.prototype.addFontLink = function (font) {\n var link = this.options.api + font;\n\n if ($(\"link[href*='\" + font + \"']\").length === 0) {\n $('link:last').after('<link href=\"' + link + '\" rel=\"stylesheet\" type=\"text/css\">');\n }\n\n $( document ).trigger( 'google-font-added', [ font, link ])\n };\n\n return Fontselect;\n })();\n\n return this.each(function () {\n // If options exist, lets merge them\n if (options) $.extend(settings, options);\n return new Fontselect(this, settings);\n });\n\n };\n})(jQuery);","/**\n * Alpha Color Picker JS\n *\n * This file includes several helper functions and the core control JS.\n */\n\n/**\n * Override the stock color.js toString() method to add support for\n * outputting RGBa or Hex.\n */\nColor.prototype.toString = function( flag ) {\n\n // If our no-alpha flag has been passed in, output RGBa value with 100% opacity.\n // This is used to set the background color on the opacity slider during color changes.\n if ( 'no-alpha' == flag ) {\n return this.toCSS( 'rgba', '1' ).replace( /\\s+/g, '' );\n }\n\n // If we have a proper opacity value, output RGBa.\n if ( 1 > this._alpha ) {\n return this.toCSS( 'rgba', this._alpha ).replace( /\\s+/g, '' );\n }\n\n // Proceed with stock color.js hex output.\n var hex = parseInt( this._color, 10 ).toString( 16 );\n if ( this.error ) { return ''; }\n if ( hex.length < 6 ) {\n for ( var i = 6 - hex.length - 1; i >= 0; i-- ) {\n hex = '0' + hex;\n }\n }\n\n return '#' + hex;\n};\n\n/**\n * Given an RGBa, RGB, or hex color value, return the alpha channel value.\n */\nfunction acp_get_alpha_value_from_color( value ) {\n var alphaVal;\n\n // Remove all spaces from the passed in value to help our RGBa regex.\n value = value.replace( / /g, '' );\n\n if ( value.match( /rgba\\(\\d+\\,\\d+\\,\\d+\\,([^\\)]+)\\)/ ) ) {\n alphaVal = parseFloat( value.match( /rgba\\(\\d+\\,\\d+\\,\\d+\\,([^\\)]+)\\)/ )[1] ).toFixed(2) * 100;\n alphaVal = parseInt( alphaVal );\n } else {\n alphaVal = 100;\n }\n\n return alphaVal;\n}\n\n/**\n * Force update the alpha value of the color picker object and maybe the alpha slider.\n */\nfunction acp_update_alpha_value_on_color_control( alpha, $control, $alphaSlider, update_slider ) {\n var iris, colorPicker, color;\n\n iris = $control.data( 'a8cIris' );\n colorPicker = $control.data( 'wpWpColorPicker' );\n\n // Set the alpha value on the Iris object.\n iris._color._alpha = alpha;\n\n // Store the new color value.\n color = iris._color.toString();\n\n // Set the value of the input.\n $control.val( color );\n\n // Update the background color of the color picker.\n colorPicker.toggler.css({\n 'background-color': color\n });\n\n // Maybe update the alpha slider itself.\n if ( update_slider ) {\n acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );\n }\n\n // Update the color value of the color picker object.\n $control.wpColorPicker( 'color', color );\n}\n\n/**\n * Update the slider handle position and label.\n */\nfunction acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider ) {\n $alphaSlider.slider( 'value', alpha );\n $alphaSlider.find( '.ui-slider-handle' ).text( alpha.toString() );\n}\n\n/**\n * Initialization trigger.\n */\njQuery( function( $ ) {\n \n \"use strict\";\n\n // Loop over each control and transform it into our color picker.\n $( '.alpha-color-control' ).each( function() {\n\n // Scope the vars.\n var $control, startingColor, paletteInput, showOpacity, defaultColor, palette,\n colorPickerOptions, $container, $alphaSlider, alphaVal, sliderOptions;\n\n // Store the control instance.\n $control = $( this );\n\n // Get a clean starting value for the option.\n startingColor = $control.val().replace( /\\s+/g, '' );\n\n // Get some data off the control.\n paletteInput = $control.attr( 'data-palette' );\n showOpacity = $control.attr( 'data-show-opacity' );\n defaultColor = $control.attr( 'data-default-color' );\n\n // Process the palette.\n if ( paletteInput.indexOf( '|' ) !== -1 ) {\n palette = paletteInput.split( '|' );\n } else if ( 'false' == paletteInput ) {\n palette = false;\n } else {\n palette = true;\n }\n\n // Set up the options that we'll pass to wpColorPicker().\n colorPickerOptions = {\n change: function( event, ui ) {\n var key, value, alpha, $transparency;\n\n key = $control.attr( 'data-customize-setting-link' );\n value = $control.wpColorPicker( 'color' );\n\n // Set the opacity value on the slider handle when the default color button is clicked.\n if ( defaultColor == value ) {\n alpha = acp_get_alpha_value_from_color( value );\n $alphaSlider.find( '.ui-slider-handle' ).text( alpha );\n }\n\n // Send ajax request to wp.customize to trigger the Save action.\n wp.customize( key, function( obj ) {\n obj.set( value );\n });\n\n $transparency = $container.find( '.transparency' );\n\n // Always show the background color of the opacity slider at 100% opacity.\n $transparency.css( 'background-color', ui.color.toString( 'no-alpha' ) );\n },\n palettes: palette // Use the passed in palette.\n };\n\n // Create the colorpicker.\n $control.wpColorPicker( colorPickerOptions );\n\n $container = $control.parents( '.wp-picker-container:first' );\n\n // Insert our opacity slider.\n $( '<div class=\"alpha-color-picker-container\">' +\n '<div class=\"min-click-zone click-zone\"></div>' +\n '<div class=\"max-click-zone click-zone\"></div>' +\n '<div class=\"alpha-slider\"></div>' +\n '<div class=\"transparency\"></div>' +\n '</div>' ).appendTo( $container.find( '.wp-picker-holder' ) );\n\n $alphaSlider = $container.find( '.alpha-slider' );\n\n // If starting value is in format RGBa, grab the alpha channel.\n alphaVal = acp_get_alpha_value_from_color( startingColor );\n\n // Set up jQuery UI slider() options.\n sliderOptions = {\n create: function( event, ui ) {\n var value = $( this ).slider( 'value' );\n\n // Set up initial values.\n $( this ).find( '.ui-slider-handle' ).text( value );\n $( this ).siblings( '.transparency ').css( 'background-color', startingColor );\n },\n value: alphaVal,\n range: 'max',\n step: 1,\n min: 0,\n max: 100,\n animate: 300\n };\n\n // Initialize jQuery UI slider with our options.\n $alphaSlider.slider( sliderOptions );\n\n // Maybe show the opacity on the handle.\n if ( 'true' == showOpacity ) {\n $alphaSlider.find( '.ui-slider-handle' ).addClass( 'show-opacity' );\n }\n\n // Bind event handlers for the click zones.\n $container.find( '.min-click-zone' ).on( 'click', function() {\n acp_update_alpha_value_on_color_control( 0, $control, $alphaSlider, true );\n });\n $container.find( '.max-click-zone' ).on( 'click', function() {\n acp_update_alpha_value_on_color_control( 100, $control, $alphaSlider, true );\n });\n\n // Bind event handler for clicking on a palette color.\n $container.find( '.iris-palette' ).on( 'click', function() {\n var color, alpha;\n\n color = $( this ).css( 'background-color' );\n alpha = acp_get_alpha_value_from_color( color );\n\n acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );\n\n // Sometimes Iris doesn't set a perfect background-color on the palette,\n // for example rgba(20, 80, 100, 0.3) becomes rgba(20, 80, 100, 0.298039).\n // To compensante for this we round the opacity value on RGBa colors here\n // and save it a second time to the color picker object.\n if ( alpha != 100 ) {\n color = color.replace( /[^,]+(?=\\))/, ( alpha / 100 ).toFixed( 2 ) );\n }\n\n $control.wpColorPicker( 'color', color );\n });\n\n // Bind event handler for clicking on the 'Clear' button.\n $container.find( '.button.wp-picker-clear' ).on( 'click', function() {\n var key = $control.attr( 'data-customize-setting-link' );\n\n // The #fff color is delibrate here. This sets the color picker to white instead of the\n // defult black, which puts the color picker in a better place to visually represent empty.\n $control.wpColorPicker( 'color', '#ffffff' );\n\n // Set the actual option value to empty string.\n wp.customize( key, function( obj ) {\n obj.set( '' );\n });\n\n acp_update_alpha_value_on_alpha_slider( 100, $alphaSlider );\n });\n\n // Bind event handler for clicking on the 'Default' button.\n $container.find( '.button.wp-picker-default' ).on( 'click', function() {\n var alpha = acp_get_alpha_value_from_color( defaultColor );\n\n acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );\n });\n\n // Bind event handler for typing or pasting into the input.\n $control.on( 'input', function() {\n var value = $( this ).val();\n var alpha = acp_get_alpha_value_from_color( value );\n\n acp_update_alpha_value_on_alpha_slider( alpha, $alphaSlider );\n });\n\n // Update all the things when the slider is interacted with.\n $alphaSlider.slider().on( 'slide', function( event, ui ) {\n var alpha = parseFloat( ui.value ) / 100.0;\n\n acp_update_alpha_value_on_color_control( alpha, $control, $alphaSlider, false );\n\n // Change value shown on slider handle.\n $( this ).find( '.ui-slider-handle' ).text( ui.value );\n });\n\n // customization\n\n $container.parents( '.customize-control-sf-alpha-color:first' ).prepend( $container.find('.customize-control-description') ).prepend( $container.find('.customize-control-title') );\n\n });\n});\n\njQuery( function ( $ ) {\n\n var menuData = window.SFM_MENU_DATA || {};\n\n var api = window.wp.customize;\n\n var metaChangeset = {};\n\n var activePreviewMenu;\n\n var $iconManagerModal;\n\n var $doc = $( document );\n\n $( '.sf-px-value' ).after( ' px' );\n $( '.sf-per-value' ).after( ' %' );\n\n $( '.sfm-google-font-input' ).fontselect( {\n fonts: window.GOOGLE_FONTS,\n placeholder: 'Site default font',\n empty: 'inherit',\n lookahead: 2\n } ).trigger( 'change' );\n\n $doc.on( 'google-font-added', function ( ev, font, link ) {\n\n var $iframeDoc = $( this ).find('iframe[name*=\"customize-preview\"]').contents();\n\n if ( $iframeDoc.find(\"link[href*='\" + font + \"']\").length === 0) {\n $iframeDoc.find('link:last').after('<link href=\"' + link + '\" rel=\"stylesheet\" type=\"text/css\">');\n }\n\n })\n\n /**\n * TinyMCE Custom Control\n *\n * @author Anthony Hortin <http://maddisondesigns.com>\n * @license http://www.gnu.org/licenses/gpl-2.0.html\n * @link https://github.com/maddisondesigns\n */\n\n $('.sfm-customize-control-tinymce-editor').each(function(){\n // Get the toolbar strings that were passed from the PHP Class\n var tinyMCEToolbar1String = _wpCustomizeSettings.controls[ $(this).attr('id').replace('_s_', '[').replace('_e_', ']') ].skyrockettinymcetoolbar1;\n var tinyMCEToolbar2String = _wpCustomizeSettings.controls[ $(this).attr('id').replace('_s_', '[').replace('_e_', ']') ].skyrockettinymcetoolbar2;\n\n wp.editor.initialize( $(this).attr('id'), {\n tinymce: {\n wpautop: true,\n toolbar1: tinyMCEToolbar1String,\n toolbar2: tinyMCEToolbar2String\n },\n quicktags: true\n });\n });\n\n $doc.on( 'tinymce-editor-init', function( event, editor ) {\n editor.on( 'change', function(e) {\n tinyMCE.triggerSave();\n $( '#'+editor.id ).trigger('change');\n });\n });\n\n // menus changes handling\n\n $doc.on( 'customize-preview-menu-refreshed', function( e, params ) {\n console.log( params );\n });\n\n /* Find all menus and add custom fields */\n\n // template for custom fields\n var template =\n '<p class=\"customize-control-title\">Superfly Rich Content settings</p>' +\n '<p class=\"description description-thin\">' +\n 'Attached image</br>' +\n '<div class=\"sf-media\"><input class=\"sf-media-input\" type=\"hidden\" name=\"menu-item-sfm-%ID%-img\"/><span class=\"sf-media-cont sf-image-cont\"></span><button type=\"button\" style=\"\" class=\"button remove sfm-img-remove-button\" aria-label=\"Remove image\">Remove image</button><button type=\"button\" class=\"button new sfm-img-button\" id=\"sfm-img-button_%ID%\" aria-label=\"Add image\">Add image</button></div><br>' +\n '<p class=\"description description-thin\">Or custom icon</p>'+\n '<div class=\"sf-media sf-media-icon\"><input class=\"sf-icon-input\" type=\"hidden\" name=\"menu-item-sfm-%ID%-icon\"/><span class=\"sf-media-cont sf-icon-cont\"></span><button type=\"button\" style=\"\" class=\"button remove sfm-icon-remove-button\" aria-label=\"Remove image\">Remove icon</button><button type=\"button\" class=\"button new sfm-icon-button\" id=\"sfm-icon-button_%ID%\" aria-label=\"Add image\">Add icon</button></div>' +\n '</p>' +\n '<p class=\"description description-thin\">' +\n '<label>Icon color for panel</label>' +\n '<input class=\"sf-short\" type=\"text\" name=\"menu-item-sfm-%ID%-icon_color\"/>' +\n '</p>' +\n '<p class=\"description description-thin\">' +\n '<label>Menu item second line<br>' +\n '<input type=\"text\" name=\"menu-item-sfm-%ID%-sline\"/></label>' +\n '</p>' +\n '<p class=\"description description-thin\">' +\n '<label>Section heading above menu item<br>' +\n '<input class=\"\" type=\"text\" name=\"menu-item-sfm-%ID%-chapter\"/></label>' +\n '</p>' +\n '<p class=\"description description-thin\">' +\n '<label>Custom HTML / shortcode for panel<br>' +\n '<textarea class=\"\" type=\"text\" name=\"menu-item-sfm-%ID%-content\"></textarea></label>' +\n '</p>' +\n '<p class=\"description description-thin\">' +\n '<label>Custom panel background color</label>' +\n '<input class=\"sf-short\" type=\"text\" name=\"menu-item-sfm-%ID%-bg\"/></label>' +\n '</p>' +\n '<p class=\"description description-thin\">' +\n '<label>Custom panel width<br>' +\n '<input class=\"sf-num sf-px-value\" type=\"number\" name=\"menu-item-sfm-%ID%-width\"/> px</label>' +\n '</p>' +\n '<p class=\"description description-thin\">' +\n '<label>Item tabindex (default -1)</label><br>' +\n '<input class=\"sf-num\" type=\"number\" name=\"menu-item-sfm-%ID%-tabindex\"/></label>' +\n '</p>' +\n '<p class=\"description description-thin\">' +\n '<label>Visibility<br><input id=\"menu-item-sfm-%ID%-hidemob\" name=\"menu-item-sfm-%ID%-hidemob\" class=\"switcher\" type=\"checkbox\" value=\"yes\" /> Hide item on mobiles</label>' +\n '</p>';\n\n $( '[id*=\"sub-accordion-section-nav_menu\"]' ).each( function () {\n\n var menuItems;\n var menuId;\n var matches = this.id.match(/\\[(\\d+)\\]$/);\n\n var $t = $( this );\n\n if (!matches) return;\n\n menuId = matches[ 1 ]; // regexp parenthesis\n\n menuItems = menuData[ menuId ]; // object of menu items { 36: 'data', 145: 'data'}\n\n $t.attr( 'data-sfm-menu-id', menuId ).data( 'sfm-extra', menuItems );\n })\n\n // wp.customize.Menus.data\n\n\n // adding extra fields\n // disabling default event handlers for title inputs\n\n api.control.on( 'change', function ( control ) {\n\n var data, menuId, itemId, extra, params, name;\n var $container, $parent, $inp;\n\n if ( control.params && control.params.menu_item_id && control.container && !control.container.data('sfm-extra-added') ) {\n\n $container = control.container;\n $parent = $container.closest( '[data-sfm-menu-id]' );\n data = $parent.data();\n extra = data.sfmExtra; // converted to camelcase by jQuery\n itemId = control.params.menu_item_id;\n menuId = data.sfmMenuId;\n\n if ( menuId == activePreviewMenu ) {\n $container.find( '.edit-menu-item-title' ).off( 'input change' );\n // todo off drag n drop changes\n }\n\n // console.log( 'adding extra fields', extra, itemId )\n\n // add and fill custom inputs\n\n $container.find( '.menu-item-actions' ).before ( $( template.replace(/%ID%/g, itemId ) ) );\n\n if ( extra[ itemId ] ) {\n\n params = deparam( extra[ itemId ] );\n\n for ( name in params ) {\n\n $inp = $container.find('[name=menu-item-sfm-' + itemId + '-' + name +']');\n\n // if ( name == 'content' && itemId == 126 ) debugger\n\n if ( $inp.is( ':checkbox' ) ) {\n if ( params[ name ] === 'yes' ) $inp.attr('checked', true);\n } else {\n if ( name === 'icon' ){\n var icon = params[ name ];\n icon = icon.indexOf('fa-') + 1 ? 'Font-Awesome_####_' + icon.substr(3) : icon;\n $inp.val( icon );\n } else {\n $inp.val( params[ name ] );\n }\n }\n if ( name === 'img' && params[ name ] !== '') {\n $container.find('.sf-image-cont').html('<img src=\"' + params[ name ] + '\"/>')\n }\n if ( name === 'icon' && params[ name ] !== '') {\n\n var icon = params[ name ];\n var set = LAIconManagerUtil.getSet( icon ) ? LAIconManagerUtil.getSet( icon ) : 'Font Awesome';\n\n if ( set === '####' ) {\n icon = LAIconManagerUtil.getIcon( icon );\n $container.find('.sf-icon-cont').append('<i style=\"background-image:url(' + icon + ')\" class=\"la_icon la_icon_manager_custom\">');\n } else {\n icon = icon.indexOf('fa-') !== -1 ? 'la' + md5('Font Awesome') + '-' + icon.substr(3) : LAIconManagerUtil.getIconClass( icon );\n $container.find('.sf-icon-cont').append('<i class=\"la_icon ' + icon + '\">');\n }\n }\n\n }\n }\n\n $container.find( '[name=\"menu-item-sfm-' + itemId + '-bg\"]' ).wpColorPicker({\n 'change' :\n function( event, ui ) {\n var $tar = $( event.target );\n setTimeout( function () {\n $tar.trigger( 'sfm-change' );\n }, 17 );\n }\n });\n\n $container.find( '[name=\"menu-item-sfm-' + itemId + '-icon_color\"]' ).wpColorPicker({\n 'change' :\n function( event, ui ) {\n var $tar = $( event.target );\n setTimeout( function () {\n $tar.trigger( 'sfm-change' );\n }, 17 );\n }\n });\n\n var $imgBtn = $container.find( '.sfm-img-button' ),\n $iconBtn = $container.find( '.sfm-icon-button' ),\n $imgInput = $container.find( '.sf-media-input' ),\n $iconInput = $container.find( '.sf-icon-input' ),\n attachment,\n file_frame;\n\n if ( $imgInput.val() ) {\n $container.addClass( 'sfm-img-added' );\n $imgBtn.html( 'Change image' );\n } else {\n $container.removeClass( 'sfm-img-added' );\n }\n\n if ( $iconInput.val() ) {\n $container.addClass( 'sfm-icon-added' );\n $iconBtn.html( 'Change icon' );\n } else {\n $container.removeClass( 'sfm-icon-added' );\n }\n\n // attach image handle\n $imgBtn.on( 'click', function () {\n\n // If the media frame already exists, reopen it.\n if ( file_frame ) {\n file_frame.open();\n return;\n }\n\n // Create the media frame.\n file_frame = wp.media.frames.file_frame = wp.media({\n multiple: false // Set to true to allow multiple files to be selected\n });\n\n // When an image is selected, run a callback.\n file_frame.on( 'select', function() {\n // We set multiple to false so only get one image from the uploader\n\n attachment = file_frame.state().get('selection').first().toJSON();\n $container.find( '.sf-image-cont' ).html( '<img src=\"' + attachment.url + '\"/>' );\n // $imgInput.val( attachment.sizes.thumbnail ? attachment.sizes.thumbnail.url : attachment.sizes.full.url );\n $imgInput.val( attachment.sizes.full.url );\n $container.addClass( 'sfm-img-added' );\n $imgBtn.html( 'Change image' );\n\n $imgInput.trigger( 'sfm-change' );\n });\n\n // Finally, open the modal\n file_frame.open();\n })\n\n $container.find( '.sfm-img-remove-button' ).on( 'click', function( event ){\n $imgInput.val('');\n $container.removeClass( 'sfm-img-added' ).find( '.sf-image-cont' ).html( '' );\n $imgBtn.html( 'Add image' );\n\n $imgInput.trigger( 'sfm-change' );\n })\n\n // attach icon handle\n $iconBtn.on( 'click', function () {\n\n // open icon manager and pass item ID\n $iconManagerModal.addClass( 'sfm-modal-opened' ).data( 'active-menu-item', itemId );\n\n })\n\n $container.find( '.sfm-icon-remove-button' ).on( 'click', function( event ){\n $container.removeClass( 'sfm-icon-added' ).find( '.sf-icon-cont' ).html( '' );\n $iconBtn.html( 'Add icon' );\n $iconInput.val('');\n $iconInput.trigger( 'sfm-change' );\n })\n\n // listen to icon apply event\n $container.on( 'sfm-icon-applied', function ( event, menuId, value, previewHTML ) {\n $iconInput.val( value );\n $container.addClass( 'sfm-icon-added' );\n $iconBtn.html( 'Change icon' );\n $container.find( '.sf-icon-cont' ).html( previewHTML );\n $iconInput.trigger( 'sfm-change' );\n })\n\n // assign sfm attr\n $container.attr( 'sfm-item-id', itemId )\n\n control.container.data('sfm-extra-added', true);\n }\n })\n\n // listening to extra fields change events and updating changeset and preview\n $( '#customize-theme-controls' ).on( 'input sfm-change', '.menu-item-settings [name*=\"menu-item-sfm\"], .menu-item-settings .edit-menu-item-title', function () {\n console.log( this.value );\n\n // get item ID\n var $t = $( this );\n var id;\n var $container = $t.closest( '[sfm-item-id]');\n var re;\n\n id = $container.attr( 'sfm-item-id' );\n re = new RegExp('menu-item-sfm-' + id + '-',\"g\");\n\n // overwrite anyway\n metaChangeset[ id ] = $container.find( ('[name*=\"menu-item-sfm\"]') ).serialize().replace( re, '' );\n\n // trigger UI change\n api.state( 'saved' ).set( false );\n api.previewer.send( 'sfm-menu-extra-changed', {\n serialized: metaChangeset[ id ],\n params: deparam( metaChangeset[ id ] ),\n menuItemId: id,\n name: $t.attr( 'name' ).replace( re, '' ),\n val: $t.val()\n } );\n\n })\n\n // on settings save\n api.on( 'save-request-params', function( query ) {\n console.log( query );\n \n // send meta changeset\n \n var data = {\n changeset: metaChangeset,\n action: 'sf_save_item'\n };\n\n var request = $.post( wp.ajax.settings.url, data );\n\n request.done( function ( response ) {\n console.log('Got this from the server: ' , response );\n\n if ( response == -1 ){\n\n }\n else {\n\n // reset\n metaChangeset = {};\n }\n }, 'json' ).fail( function( d ) {\n console.log( d.responseText );\n console.log( d );\n } );\n });\n\n // listen to preview ready and getting active menu ID\n api.previewer.on( 'sfm-active-menu', function ( id ) {\n activePreviewMenu = id;\n } );\n\n // icon manager\n\n $doc.on( \"iconManagerCollectionLoaded\", function() {\n\n console.log( 'iconManagerCollectionLoaded' )\n\n // сreate icon container\n $( 'body' ).append( '<div id=\"sfm-icon-container-wrapper\"><div id=\"sfm-icon-container\"><button type=\"button\" class=\"media-modal-close\"><span class=\"media-modal-icon\"><span class=\"screen-reader-text\">Close</span></span></button><div class=\"sfm-modal-desc\">You can add more icons on <a href=\"/wp-admin/admin.php?page=superfly-menu-options\" target=\"_blank\">Superfly settings page</a></div><div id=\"sfm-icon-select\"></div><input type=\"hidden\" id=\"sfm-icons-input\"/></div><div id=\"sfm-icons-modal-backdrop\"></div></div>' )\n\n // sf_menu_icon_90\n window[ \"la_icon_manager_select\" ] = new LAIconManager(\n 'sfm-icons-container',\n \"#sfm-icon-select\",\n window[\"la_icon_manager_collection\"],\n \"#sfm-icons-input\"\n );\n window[\"la_icon_manager_select\"].showIconSelect();\n\n $iconManagerModal = $( '#sfm-icon-container-wrapper' );\n\n // broadcast icon apply event\n $iconManagerModal.on( 'click', '.icons-list li', function () {\n var id = $iconManagerModal.data( 'active-menu-item' );\n\n setTimeout( function () {\n $( '[sfm-item-id=\"' + id + '\"]' ).trigger( 'sfm-icon-applied', [ id, $iconManagerModal.find('#sfm-icons-input').val(), $iconManagerModal.find( '.preview' ).html() ] );\n $iconManagerModal.removeClass( 'sfm-modal-opened' ).data( 'active-menu-item', '' );\n }, 100)\n\n })\n\n $iconManagerModal.find( '.media-modal-close' ).on( 'click', function () {\n $iconManagerModal.removeClass( 'sfm-modal-opened' ).data( 'active-menu-item', '' );\n })\n\n });\n\n // handling superfly yes/no switchers\n\n var pluginOpts = JSON.parse( laim_localize.plugin_opts );\n\n $('.sfm_toggle_switch_control').each( function () {\n var $t = $( this );\n var $inp = $t.find('input');\n var id = $inp.attr('id').replace('sf_options[', '').replace(']', '');\n\n if ( pluginOpts[ id ] ) {\n $inp.prop('checked', pluginOpts[ id ] === 'yes' ? true : false );\n }\n })\n\n // setting group toggle\n\n var $settingsGroup = {\n fullscreen: $('#customize-control-sf_options-sf_fs_layout, #customize-control-sf_options-sf_fade_full, #customize-control-sf_options-sf_full_sec, #customize-control-sf_options-sf_full_head, #customize-control-sf_options-sf_full_x'),\n skewed: $('#customize-control-sf_options-sf_sidebar_behaviour, #customize-control-sf_options-sf_skew_type, #customize-control-sf_options-sf_fade_content, #customize-control-sf_options-sf_blur_content'),\n side: $('#customize-control-sf_options-sf_sidebar_behaviour, #customize-control-sf_options-sf_fade_content, #customize-control-sf_options-sf_blur_content, #customize-control-sf_options-sf_sub_type, #customize-control-sf_options-sf_sub_opening_type'),\n toolbar: $('#customize-control-sf_options-sf_sidebar_behaviour, #customize-control-sf_options-sf_fade_content, #customize-control-sf_options-sf_blur_content, #customize-control-sf_options-sf_sub_type, #customize-control-sf_options-sf_sub_opening_type'),\n separators: $('#customize-control-sf_options-sf_separators_color, #customize-control-sf_options-sf_separators_width'),\n indicators: $('#customize-control-sf_options-sf_ind_s, #customize-control-sf_options-sf_ind_st'),\n }\n\n var $panelSettingsCont = $( '#sub-accordion-section-sf_settings_panel, #sub-accordion-section-sf_settings_items' );\n\n for ( var group in $settingsGroup ) {\n $settingsGroup[ group ].each( function () {\n var $t = $( this );\n var oldVal = $t.attr( 'data-settings-group' );\n var arr;\n\n if ( oldVal ) {\n arr = oldVal.split( ',' );\n arr.push( group );\n $t.attr( 'data-settings-group' , arr.join( ',' ) );\n } else {\n $t.attr( 'data-settings-group' , group )\n }\n })\n }\n\n $('#customize-control-sf_options-sf_sidebar_style [name=\"sf_options[sf_sidebar_style]\"]').change( onChangeStyle )\n $('#customize-control-sf_options-sf_ind [name=\"sf_options[sf_ind]\"]').change( onChangeIndicators );\n $('#customize-control-sf_options-sf_separators [name=\"sf_options[sf_separators]\"]').change( onChangeSeparators );\n\n $('#customize-control-sf_options-sf_sidebar_style [name=\"sf_options[sf_sidebar_style]\"]:checked').each( onChangeStyle );\n $('#customize-control-sf_options-sf_ind [name=\"sf_options[sf_ind]\"]:checked').each( onChangeIndicators );\n $('#customize-control-sf_options-sf_separators [name=\"sf_options[sf_separators]\"]:checked').each( onChangeSeparators );\n\n function onChangeStyle(){\n\n $panelSettingsCont.find( '[data-settings-group]' ).hide();\n\n $panelSettingsCont.find( '[data-settings-group*=' + this.value + ']' ).show();\n\n if ( this.value == 'side' ) {\n\n }\n\n }\n\n function onChangeSeparators(){\n if ( this.checked ) {\n $settingsGroup.separators.show();\n }\n else {\n $settingsGroup.separators.hide();\n }\n }\n\n function onChangeIndicators(){\n if ( this.checked ) {\n $settingsGroup.indicators.show();\n }\n else {\n $settingsGroup.indicators.hide();\n }\n }\n\n // monitor_events('wp.customize');\n // monitor_events('wp.customize.previewer');\n // monitor_events('wp.customize.control');\n // monitor_events('wp.customize.section');\n // monitor_events('wp.customize.panel');\n // monitor_events('wp.customize.state');\n\n // utility functions\n\n function monitor_events( object_path ) {\n var p = eval(object_path);\n var k = _.keys(p.topics);\n console.log( object_path + \" has events \", k);\n _.each(k, function(a) {\n p.on(a, function() {\n console.log( object_path + ' event ' + a, arguments );\n });\n });\n }\n\n function deparam( query ) {\n\n var pairs, i, keyValuePair, key, value, map = {};\n\n // safe\n if ( !query || typeof query !== 'string') return;\n\n // remove leading question mark if its there\n if ( query.slice(0, 1 ) === '?' ) {\n query = query.slice(1);\n }\n if ( query !== '' ) {\n pairs = query.split('&');\n for ( i = 0; i < pairs.length; i += 1 ) {\n keyValuePair = pairs[i].split('=');\n key = decodeURIComponent( keyValuePair[0] );\n value = (keyValuePair.length > 1) ? decodeURIComponent( keyValuePair[1] ) : undefined;\n map[key] = value;\n if(key !== 'icon'){ // void icon manager\n map[key] = value.replace(/\\+/g, ' ');\n }\n }\n }\n return map;\n }\n})"]}