Asset CleanUp: Page Speed Booster - Version 1.3.7.8

Version Description

  • New Option: Manage assets loading for posts, pages, and custom post types within "CSS & JS MANAGER" -> "MANAGE CSS/JS" without the need to go to edit post/page area which is often bulky and could have too many fields from the theme & other plugins leading to a higher number than the one set in php.ini for "max_input_vars"
  • Higher accuracy in preventing the plugin from triggering when there are REST requests
  • Improvement: Make sure "&display=" is added (if enabled) to Google Fonts links if their URL is changed to fit in JSON formats or JavaScript variables
  • Divi builder edit mode: Allow Asset CleanUp Pro to trigger plugin & CSS/JS unload rules when the page editor is on to make the editor load faster via define('WPACU_LOAD_ON_DIVI_BUILDER_EDIT', true); that can be set in wp-config.php / read more: https://www.assetcleanup.com/docs/?p=1260
  • Cache Enabler (compatibility with older versions): Make sure the deprecated "cache_enabler_before_store" hook is in use
  • Unload "photoswipe" fix: If WooCommerce's PhotoSwipe was unloaded, empty dots were printed at the bottom of the page from unused/unneeded HTML (hide it by marking the DIV with the "pswp" class as hidden)
  • Improvement: Only use 'type="text/css"' when it's needed (e.g. an older theme is used that doesn't support HTML5)
  • Improvement: Make SweetAlert2 independent (styling, functionality) from other SweetAlert scripts that might be loaded from other plugins/themes (e.g. "WooCommerce Quickbooks Connector" export in an edit product page was not working)
  • Minify CSS/JS improvement: From now on, the minification can be either applied to files, inline JS code, or both (before, the files minification had to be enabled to files first and then to inline JS code; sometimes, users just wanted to minify inline code and leave the files untouched)
  • Fix: Clearing load exceptions from "Overview" didn't work for all pages of a certain post type
  • Fix: Make sure the plugin works well (e.g. without any PHP errors) if the plugins' directory is changed (e.g. from "plugins" to "plugins-custom-name")
  • Fix: Better detection for the homepage (e.g. the latest posts page was mistaken with the homepage in the front-end view of the CSS/JS manager)
  • Fix: Better detection for the singular page; Make sure the latest posts page such as the "Blog" one is also checked)
  • Fix: On some WordPress installations, the plugin's menu icon from the Dashboard's sidebar was not showing properly (the height was too large)
  • Fix: If there are too many assets/plugins unloaded, when showing up in the top admin bar menu, the list was not scrollable (e.g. only 20 out of 40 assets were shown because the height of the browser's window wasn't large enough which can not be expanded on smaller devices)
  • Fix: If the current theme supports HTML5, the 'type="text/javascript"' attribute is not added any more to altered SCRIPT tags by Asset CleanUp, thus avoiding any errors from W3C validators
Download this release

Release Info

Developer gabelivan
Plugin Icon 128x128 Asset CleanUp: Page Speed Booster
Version 1.3.7.8
Comparing to
See all releases

Code changes from version 1.3.7.7 to 1.3.7.8

Files changed (87) hide show
  1. assets/auto-complete/main.js +57 -0
  2. assets/icons/loader-horizontal.svg +20 -0
  3. assets/script.min.js +3 -3
  4. assets/style.min.css +1 -1
  5. assets/sweetalert2/dist/sweetalert2.all.js +13 -13
  6. assets/sweetalert2/dist/sweetalert2.css +190 -190
  7. assets/sweetalert2/dist/sweetalert2.js +28 -28
  8. assets/sweetalert2/dist/sweetalert2.min.css +0 -1
  9. assets/sweetalert2/dist/sweetalert2.min.js +0 -1
  10. assets/sweetalert2/src/instanceMethods/_destroy.js +1 -1
  11. assets/sweetalert2/src/instanceMethods/close.js +2 -2
  12. assets/sweetalert2/src/privateMethods.js +1 -1
  13. assets/sweetalert2/src/privateProps.js +1 -1
  14. assets/sweetalert2/src/scss/_animations.scss +0 -158
  15. assets/sweetalert2/src/scss/_body.scss +0 -100
  16. assets/sweetalert2/src/scss/_core.scss +0 -780
  17. assets/sweetalert2/src/scss/_mixins.scss +0 -22
  18. assets/sweetalert2/src/scss/_polyfills.scss +0 -37
  19. assets/sweetalert2/src/scss/_theming.scss +0 -8
  20. assets/sweetalert2/src/scss/_toasts-animations.scss +0 -83
  21. assets/sweetalert2/src/scss/_toasts-body.scss +0 -109
  22. assets/sweetalert2/src/scss/_toasts.scss +0 -175
  23. assets/sweetalert2/src/staticMethods/mixin.js +5 -5
  24. assets/sweetalert2/src/staticMethods/showLoading.js +2 -2
  25. assets/sweetalert2/src/sweetalert2.js +3 -3
  26. assets/sweetalert2/src/utils/dom/renderers/renderPopup.js +1 -1
  27. assets/sweetalert2/src/utils/params.js +7 -7
  28. assets/sweetalert2/src/utils/setParameters.js +1 -1
  29. assets/sweetalert2/sweetalert2.d.ts +29 -29
  30. classes/AdminBar.php +4 -2
  31. classes/AjaxSearchAutocomplete.php +181 -0
  32. classes/AssetsPagesManager.php +53 -8
  33. classes/Debug.php +3 -1
  34. classes/ImportExport.php +9 -3
  35. classes/Main.php +42 -12
  36. classes/Maintenance.php +67 -3
  37. classes/Menu.php +53 -1
  38. classes/MetaBoxes.php +13 -6
  39. classes/Misc.php +135 -8
  40. classes/ObjectCache.php +8 -12
  41. classes/OptimiseAssets/CombineCss.php +6 -1
  42. classes/OptimiseAssets/CombineJs.php +13 -5
  43. classes/OptimiseAssets/FontsGoogle.php +14 -10
  44. classes/OptimiseAssets/MinifyCss.php +3 -0
  45. classes/OptimiseAssets/MinifyJs.php +3 -0
  46. classes/OptimiseAssets/OptimizeCommon.php +5 -1
  47. classes/OptimiseAssets/OptimizeCss.php +7 -12
  48. classes/OptimiseAssets/OptimizeJs.php +5 -9
  49. classes/Overview.php +11 -4
  50. classes/OwnAssets.php +72 -38
  51. classes/PluginReview.php +1 -1
  52. classes/PluginTracking.php +1 -1
  53. classes/PluginsManager.php +19 -17
  54. classes/Settings.php +36 -10
  55. classes/Sorting.php +3 -3
  56. classes/Update.php +21 -5
  57. early-triggers.php +35 -13
  58. readme.txt +22 -3
  59. templates/_admin-page-settings-plugin-areas/_fonts-google/_optimize-area.php +4 -3
  60. templates/_admin-page-settings-plugin-areas/_optimize-css.php +40 -7
  61. templates/_admin-page-settings-plugin-areas/_optimize-js.php +45 -8
  62. templates/_admin-page-settings-plugin-areas/_plugin-usage-settings.php +3 -1
  63. templates/_admin-pages-assets-manager/_author.php +1 -1
  64. templates/_admin-pages-assets-manager/_category.php +3 -3
  65. templates/_admin-pages-assets-manager/_custom-post-types.php +21 -7
  66. templates/_admin-pages-assets-manager/_custom-taxonomy.php +2 -2
  67. templates/_admin-pages-assets-manager/_date.php +1 -1
  68. templates/_admin-pages-assets-manager/_homepage.php +40 -72
  69. templates/_admin-pages-assets-manager/_media-attachment.php +51 -8
  70. templates/_admin-pages-assets-manager/{_404-not-found.php → _not-found.php} +0 -0
  71. templates/_admin-pages-assets-manager/_pages.php +21 -7
  72. templates/_admin-pages-assets-manager/_posts.php +21 -8
  73. templates/_admin-pages-assets-manager/_search.php +1 -1
  74. templates/_admin-pages-assets-manager/_singular-page-search-form.php +49 -0
  75. templates/_admin-pages-assets-manager/_singular-page.php +128 -0
  76. templates/_admin-pages-assets-manager/_tag.php +3 -3
  77. templates/_admin-pages-assets-manager/common/_is-dashboard-edit-allowed.php +23 -0
  78. templates/admin-page-assets-manager.php +1 -1
  79. templates/admin-page-tools.php +3 -1
  80. templates/meta-box-loaded-assets/_asset-script-single-row.php +1 -1
  81. templates/meta-box-loaded-assets/_asset-style-single-row.php +1 -1
  82. templates/meta-box-loaded-assets/_hardcoded/_asset-script-single-row-hardcoded.php +1 -1
  83. templates/meta-box-loaded-assets/_hardcoded/_asset-style-single-row-hardcoded.php +1 -1
  84. templates/meta-box-loaded.php +31 -16
  85. templates/settings-frontend.php +1 -1
  86. wpacu-load.php +2 -0
  87. wpacu.php +2 -2
assets/auto-complete/main.js ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(function($) {
2
+ var autoCompleteEl = '#wpacu-search-form-assets-manager .search-field';
3
+
4
+ $(autoCompleteEl).autocomplete({
5
+ source: function(request, response) {
6
+ var wpacu_post_type;
7
+
8
+ if ($('#wpacu-custom-post-type-choice').length > 0) {
9
+ // Custom Post Type
10
+ wpacu_post_type = $('#wpacu-custom-post-type-choice').val();
11
+ } else {
12
+ // Post, Page or Attachment
13
+ wpacu_post_type = wpacu_autocomplete_search_obj.post_type;
14
+ }
15
+
16
+ $.ajax({
17
+ dataType: 'json',
18
+ url: wpacu_autocomplete_search_obj.ajax_url,
19
+ cache: false,
20
+ data: {
21
+ wpacu_term: request.term,
22
+ wpacu_post_type: wpacu_post_type,
23
+ action: wpacu_autocomplete_search_obj.ajax_action,
24
+ wpacu_security: wpacu_autocomplete_search_obj.ajax_nonce,
25
+ wpacu_time: new Date().getTime()
26
+ },
27
+ success: function(data) {
28
+ $('#wpacu-search-form-assets-manager-no-results').hide(); // in case it was ever shown
29
+ response(data);
30
+ console.log(data);
31
+ },
32
+ complete: function(jqXHR, textStatus) {
33
+ if (jqXHR.responseText == 'no_results') {
34
+ var noResultsArray = new Object();
35
+ $('#wpacu-search-form-assets-manager-no-results').show();
36
+ response(noResultsArray);
37
+ //$(autoCompleteEl).val('');
38
+ }
39
+ }
40
+ });
41
+ },
42
+ select: function(event, ui) {
43
+ $('#wpacu-search-form-assets-manager').hide();
44
+ $('#wpacu-post-chosen-loading-assets').show();
45
+
46
+ var redirectTo = wpacu_autocomplete_search_obj.redirect_to.replace('[post_id_here]', ui.item.id);
47
+ window.location.href = redirectTo;
48
+ },
49
+ close: function(el) {
50
+ el.target.value = '';
51
+ }
52
+ }).data("ui-autocomplete")._renderItem = function (ul, item) {
53
+ return $( "<li>" )
54
+ .append( "<div>" + item.label + "<span style='display:block;color:green;font-size:11px;'>"+ item.link +"</span></div>" )
55
+ .appendTo( ul );
56
+ };
57
+ });
assets/icons/loader-horizontal.svg ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background: transparent; display: block; shape-rendering: auto;" width="180px" height="40px" viewBox="40 41 20 18" preserveAspectRatio="xMidYMid">
3
+ <g transform="translate(20 50)">
4
+ <circle cx="0" cy="0" r="6" fill="#064565">
5
+ <animateTransform attributeName="transform" type="scale" begin="-0.375s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite"></animateTransform>
6
+ </circle>
7
+ </g><g transform="translate(40 50)">
8
+ <circle cx="0" cy="0" r="6" fill="#0f6481">
9
+ <animateTransform attributeName="transform" type="scale" begin="-0.25s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite"></animateTransform>
10
+ </circle>
11
+ </g><g transform="translate(60 50)">
12
+ <circle cx="0" cy="0" r="6" fill="#1f8d9b">
13
+ <animateTransform attributeName="transform" type="scale" begin="-0.125s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite"></animateTransform>
14
+ </circle>
15
+ </g><g transform="translate(80 50)">
16
+ <circle cx="0" cy="0" r="6" fill="#4fa5a6">
17
+ <animateTransform attributeName="transform" type="scale" begin="0s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite"></animateTransform>
18
+ </circle>
19
+ </g>
20
+ <!-- [ldio] generated by https://loading.io/ --></svg>
assets/script.min.js CHANGED
@@ -1,4 +1,4 @@
1
  function wpacuTabOpenSettingsArea(a,b){a.preventDefault();var c,d,e;for(d=document.getElementsByClassName("wpacu-settings-tab-content"),c=0;c<d.length;c++)d[c].style.display="none";for(e=document.getElementsByClassName("wpacu-settings-tab-link"),c=0;c<e.length;c++)e[c].className=e[c].className.replace(" active","");document.getElementById(b).style.display="table-cell",
2
- jQuery('a[href="#'+b+'"]').addClass("active"),jQuery("#wpacu-selected-tab-area").val(b)}function wpacuCheckSourcesFor404Errors(){var a=jQuery("[data-wpacu-external-source]");if(!(a.length<1)){var b=a.length,c="";a.each(function(a){var d=jQuery(this),e=d.attr("data-wpacu-external-source");c+=e+"-at-wpacu-at-",a===b-1&&jQuery.post(wpacu_object.ajax_url+"?wpacu_check_external_url",{action:wpacu_object.plugin_id+"_check_external_urls_for_status_code",wpacu_check_urls:c,wpacu_ajax_check_external_urls_nonce:wpacu_object.wpacu_ajax_check_external_urls_nonce},function(a){var b=jQuery.parseJSON(a);jQuery.each(b,function(a,b){jQuery('[data-wpacu-external-source="'+b+'"]').css({color:"#cc0000"}).parent("div").find("[data-wpacu-external-source-status]").html('<small>* <em style="font-weight: 600;">'+wpacu_object.source_load_error_msg+"</em></small>")})})})}}function wpacuBytesToSize(a){return 0===a?"N/A":(a/1024).toFixed(4)+" KB"}function wpacuAjaxClearCache(){void 0!==wpacu_object.wpacu_ajax_preload_url_nonce&&jQuery.post(wpacu_object.ajax_url+"?wpacu_clear_cache",{action:wpacu_object.plugin_id+"_clear_cache",time_r:(new Date).getTime()},function(a){setTimeout(function(){wpacuClearAutoptimizeCache(),wpacu_object.is_frontend_view?jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()}):jQuery.get(wpacu_object.page_url,{wpacu_preload:1,wpacu_no_frontend_show:1,time_r:(new Date).getTime()},function(){jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()})})},150)})}function wpacuClearAutoptimizeCache(){jQuery("#wp-admin-bar-autoptimize-default li").length>0&&void 0!==autoptimize_ajax_object.ajaxurl&&void 0!==autoptimize_ajax_object.nonce&&jQuery.ajax({type:"GET",url:autoptimize_ajax_object.ajaxurl,data:{action:"autoptimize_delete_cache",nonce:autoptimize_ajax_object.nonce},dataType:"json",cache:!1,timeout:9e3,success:function(a){},error:function(a,b){}})}function wpacuAdjustTextareaHeight(a,b){var c=parseInt(window.getComputedStyle(a).height,10),d=c-a.clientHeight;a.style.height=0,a.style.height=Math.max(b,a.scrollHeight+d)+"px"}""!==wpacu_object.clear_cache_on_page_load&&wpacuAjaxClearCache(),""!==wpacu_object.clear_other_caches&&setTimeout(function(){wpacuClearAutoptimizeCache()},150),jQuery(document).ready(function(a){function b(b){b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h);var c=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),d=a("#wpacu-assets-collapsible-wrap-hardcoded-list").attr("data-wpacu-settings-frontend"),f={action:wpacu_object.plugin_name+"_print_loaded_hardcoded_assets",wpacu_list_h:c,wpacu_settings:d,time_r:(new Date).getTime()};a.post(wpacu_object.ajax_url,f,function(b){if(b){var c=JSON.parse(b);a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("> .wpacu-assets-collapsible-content").html(c.output),a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("a.wpacu-assets-collapsible").append(" &#10141; Total: "+parseInt(c.total_hardcoded_assets)),e.triggerForHardcodedAssets()}})}function c(){if(!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;var b={};if("direct"===wpacu_object.dom_get_type)b[wpacu_object.plugin_name+"_load"]=1,b[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:b,cache:!1,complete:function(b,c){if("error"===b.statusText){if(404===b.status)return void d(b.responseText,b.status);var e=b.responseText.replace(/(<([^>]+)>)/gi,"");try{e=String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}catch(a){console.log(a)}var f=wpacu_object.ajax_direct_fetch_error;f=f.replace(/{wpacu_output}/,e),f=f.replace(/{wpacu_status_code_error}/,b.status),a("#wpacu_meta_box_content").html(f)}}}).done(function(b){a("#wpacu-fetch-list-step-1-wrap").addClass("wpacu-completed"),a("#wpacu-fetch-list-step-1-status").html(a("#wpacu-list-step-completed-status").html()),a("#wpacu-fetch-list-step-2-status").html(a("#wpacu-list-step-default-status").html()),d(b)});else if("wp_remote_post"===wpacu_object.dom_get_type){var c={action:wpacu_object.plugin_name+"_get_loaded_assets",post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,time_r:(new Date).getTime(),force_manage_dash:wpacu_object.force_manage_dash};a.post(wpacu_object.ajax_url,c,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),setTimeout(function(){wpacuCheckSourcesFor404Errors()},100)},200)})}}function d(b,c){if(b.lastIndexOf(wpacu_object.start_del_e)<0||b.lastIndexOf(wpacu_object.end_del_e)<0||b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h)<0){var d=wpacu_object.ajax_direct_fetch_error_with_success_response;d=d.replace(/{wpacu_output}/,xhr.responseText.replace(/(<([^>]+)>)/gi,""));try{d=String(d).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}catch(a){console.log(a)}return void a("#wpacu_meta_box_content").html(d)}var f=b.substring(b.lastIndexOf(wpacu_object.start_del_e)+wpacu_object.start_del_e.length,b.lastIndexOf(wpacu_object.end_del_e)),g=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),h={action:wpacu_object.plugin_name+"_get_loaded_assets",wpacu_list_e:f,wpacu_list_h:g,post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,force_manage_dash:wpacu_object.force_manage_dash,time_r:(new Date).getTime()};a.post(wpacu_object.ajax_url,h,function(b){b&&(a("#wpacu_meta_box_content").html(b),404===c&&a("#wpacu_meta_box_content").prepend('<p><span class="dashicons dashicons-warning"></span> '+wpacu_object.server_returned_404_not_found+"</p><hr />"),a("#wpacu_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),a(".wpacu_asset_row").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove(),wpacuCheckSourcesFor404Errors()},200))})}var e={load:function(){var b,c,d,f=".input-unload-on-this-page.wpacu-not-locked";a(document).on("click change",".input-unload-on-this-page",function(f){if(b=a(this).attr("data-handle"),c=a(this).hasClass("wpacu_unload_rule_for_style")?"style":"script",a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;e.uncheckAllOtherBulkUnloadRules(a(this),!1),e.showHandleLoadExceptionArea(c,b),a(this).closest("tr").addClass("wpacu_not_load")}else a(this).closest("tr").removeClass("wpacu_not_load"),d=a(this).parents(".wpacu_asset_row"),e.hideHandleLoadExceptionArea(d,b,c)}),a(".wpacu-plugin-check-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!0).closest("tr").addClass("wpacu_not_load")}),a(".wpacu-plugin-uncheck-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!1).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu-plugin-check-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!0).closest("tr.wpacu_is_bulk_unloaded").removeClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(".wpacu-plugin-uncheck-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!1).closest("tr.wpacu_is_bulk_unloaded").addClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(document).on("click",".wpacu_keep_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(document).on("click",".wpacu_remove_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(document).on("click change",".wpacu_bulk_unload",function(f){b=a(this).attr("data-handle"),c=a(this).attr("data-handle-for"),d=a("[data-"+c+'-handle-row="'+b+'"]');var g=a(this).parents("li");if(a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").addClass("wpacu_unload_checked"),g.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),g.find(".wpacu_handle_unload_regex_input_wrap").removeClass("wpacu_hide")):(a(this).parent("label").addClass("wpacu_input_load_checked"),a(this).closest("tr").addClass("wpacu_not_load")),e.showHandleLoadExceptionArea(c,b),a(this).hasClass("wpacu_global_unload")?(e.uncheckAllOtherBulkUnloadRules(a(this),!0),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1)):a(this).hasClass("wpacu_post_type_unload")&&(e.uncheckAllOtherBulkUnloadRules(a(this),!1),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1))}else a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").removeClass("wpacu_unload_checked"),g.find("textarea").blur().addClass("wpacu_disabled"),""===g.find("textarea").val().trim()&&(g.find("textarea").prop("disabled",!0).val(""),g.find(".wpacu_handle_unload_regex_input_wrap").addClass("wpacu_hide"))):(a(this).parent("label").removeClass("wpacu_input_load_checked"),a(this).closest("tr").removeClass("wpacu_not_load")),e.hideHandleLoadExceptionArea(d,b,c);d.hasClass("wpacu_is_bulk_unloaded")||a(".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)").is(":checked")||a(this).closest("tr").removeClass("wpacu_not_load")}),a(document).on("click change",".wpacu_load_it_option_one.wpacu_load_exception,.wpacu_load_it_option_post_type",function(){var b=a(this).attr("data-handle");if(a(this).prop("checked")){a(this).parent("label").addClass("wpacu_global_unload_exception");var c="";a(this).hasClass("wpacu_style")?c="style":a(this).hasClass("wpacu_script")&&(c="script"),a("#"+c+"_"+b).prop("checked",!1).trigger("change")}else a(this).parent("label").removeClass("wpacu_global_unload_exception")}),
3
- a(document).on("click change",".wpacu_load_it_option_two",function(){var b=a(this).parents("li");a(this).prop("checked")?(b.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),b.find(".wpacu_load_regex_input_wrap").removeClass("wpacu_hide")):(b.find("textarea").blur().addClass("wpacu_disabled"),""===b.find("textarea").val().trim()&&(b.find("textarea").prop("disabled",!0).val(""),b.find(".wpacu_load_regex_input_wrap").addClass("wpacu_hide")))}),a(document).on("click change",".wpacu_script_attr_rule_input",function(b){if(a(this).is(":checked")){if("click"===b.type){var c=a(this).parents("tr.wpacu_asset_row").attr("data-script-child-handles"),d=wpacu_object.script_is_parent_alert;if(void 0!==c&&""!==c&&(d=d.replace("{wpacu_script_child_handles}",c),!confirm(d)))return!1}a(this).parents("ul").find(".wpacu_script_attr_rule_input").not(a(this)).prop("checked",!1),a(this).hasClass("wpacu_script_attr_rule_global")&&a(this).parents("ul").find(".wpacu-script-attr-make-exception").removeClass("wpacu_hide")}a(this).parents("ul").find(".wpacu_script_attr_rule_global").is(":checked")||a(this).parents("ul").find(".wpacu-script-attr-make-exception").addClass("wpacu_hide")}),a(document).on("change",".wpacu-screen-size-load",function(b){var c,d,e,f=a(this).val(),g=a(this).attr("data-handle");if(a(this).hasClass("wpacu-for-script"))c="SCRIPT file",d=a('.wpacu-handle-media-queries-load-field[data-script-handle="'+g+'"]');else{if(!a(this).hasClass("wpacu-for-style"))return!1;c="CSS file",d=a('.wpacu-handle-media-queries-load-field[data-style-handle="'+g+'"]')}if(!(d.length<1))if(e=d.find(":input"),f){if(a(this)[0].hasAttribute("data-wpacu-show-parent-alert")){var h=wpacu_object.parent_asset_media_query_load_alert.replace("[asset_type]",c);if(!confirm(h))return a(this).val(""),!1}d.addClass("wpacu-is-visible"),e.prop("disabled",!1),""===e.val()&&e.focus()}else d.removeClass("wpacu-is-visible"),""===e.val().trim()&&"true"===e.attr("data-wpacu-is-empty-on-page-load")&&e.prop("disabled",!0).val("")}),a(document).on("click",".wpacu-add-handle-note",function(b){b.preventDefault();var c,d,e=a(this).attr("data-handle");a(this).hasClass("wpacu-for-script")?c=a('.wpacu-handle-notes-field[data-script-handle="'+e+'"]'):a(this).hasClass("wpacu-for-style")&&(c=a('.wpacu-handle-notes-field[data-style-handle="'+e+'"]')),c.length<1||(d=c.find(":input"),c.is(":hidden")?(c.show(),d.prop("disabled",!1)):(c.hide(),""===d.val().trim()&&"true"===d.attr("data-wpacu-is-empty-on-page-load")&&d.prop("disabled",!0).val("")))}),a(document).on("click",".wpacu-external-file-size",function(b){b.preventDefault();var c,d=a(this),e=d.attr("data-src");d.hide(),c=d.next(),c.show(),e.includes("/?")?a.get(e,{},function(a,b,d){if("success"!==b)return"N/A";c.html(wpacuBytesToSize(a.length))}):a.post(wpacu_object.ajax_url,{action:wpacu_object.plugin_id+"_get_external_file_size",wpacu_remote_file:e,wpacu_ajax_check_remote_file_size_nonce:wpacu_object.wpacu_ajax_check_remote_file_size_nonce},function(a){c.html(a)})}),a(document).on("click",".wpacu_handle_row_expand_contract",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-handle"),d=a(this).attr("data-wpacu-handle-for");a(this).find("span").hasClass("dashicons-minus")?(a(this).parents("td").attr("data-wpacu-row-status","contracted").find(".wpacu_handle_row_expanded_area").addClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-minus").addClass("dashicons-plus"),a("#wpacu_"+d+"_"+c+"_row_contracted_area").val("1")):a(this).find("span").hasClass("dashicons-plus")&&(a(this).parents("td").attr("data-wpacu-row-status","expanded").find(".wpacu_handle_row_expanded_area").removeClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-plus").addClass("dashicons-minus"),a("#wpacu_"+d+"_"+c+"_row_contracted_area").val(""))})},triggerForHardcodedAssets:function(){a('[data-is-hardcoded-asset="true"]').length>0&&(a.each(a('[data-is-hardcoded-asset="true"]'),function(b,c){e.updateHardcodedDataHiddenFieldStatus(a(this))}),a('[data-is-hardcoded-asset="true"]').on("click",".wpacu_unload_rule_input",function(){e.updateHardcodedDataHiddenFieldStatus(a(this).parents("[data-is-hardcoded-asset]"))}))},updateHardcodedDataHiddenFieldStatus:function(b){var c=!1;b.is("[data-style-handle-row]")?c=b.attr("data-style-handle-row"):b.is("[data-script-handle-row]")&&(c=b.attr("data-script-handle-row")),c&&(b.find(".wpacu_unload_rule_input:checked").length>0||b.hasClass("wpacu_not_load")?a("#"+c+"_hardcoded_data").prop("disabled",!1):a("#"+c+"_hardcoded_data").prop("disabled",!0))},triggerAlertWhenAnyUnloadRuleIsChosen:function(b,c){if("dashicons"===b&&"style"===c&&a('input[name="wpacu_ignore_child[styles][nf-display]').length>0&&!confirm(wpacu_object.dashicons_unload_alert_ninja_forms))return!1;if("script"===c){if(("jquery"===b||"jquery-core"===b)&&a("#script_jquery_ignore_children").length>0&&!confirm(wpacu_object.jquery_unload_alert))return!1;if("js-cookie"===b&&!confirm(wpacu_object.woo_js_cookie_unload_alert))return!1;if("wc-cart-fragments"===b&&!confirm(wpacu_object.woo_wc_cart_fragments_unload_alert))return!1;if(("backbone"===b||"underscore"===b)&&!confirm(wpacu_object.sensitive_library_unload_alert))return!1}return!0},pluginLoadManager:function(){a(".wpacu_plugin_load_it").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")&&(e.hidePluginLoadExceptionArea(b),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"))}),a(".wpacu_plugin_unload_site_wide").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_logged_in[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),e.showPluginLoadExceptionArea(b)):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_regex_option").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"),e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_logged_in").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_load_exception_regex").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"):a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide")})},showPluginLoadExceptionArea:function(b){a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!1)},hidePluginLoadExceptionArea:function(b){a('.wrap_plugin_unload_rules_options[data-wpacu-plugin-path="'+b+'"]').find("input:checked").length<1&&a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!0)},showHandleLoadExceptionArea:function(b,c){var d=a("div.wpacu_exception_options_area_wrap[data-"+b+'-handle="'+c+'"]');d.parent("div").removeClass("wpacu_hide"),d.find('input[type="checkbox"]').not(".wpacu_lite_locked").prop("disabled",!1)},hideHandleLoadExceptionArea:function(b,c,d){if(!b.hasClass("wpacu_is_bulk_unloaded")&&!b.find(".wpacu_bulk_unload").is(":checked")){var e=a("div.wpacu_exception_options_area_wrap[data-"+d+'-handle="'+c+'"]');e.parent("div").addClass("wpacu_hide"),e.find('input[type="checkbox"]').prop("disabled",!0)}},uncheckAllOtherBulkUnloadRules:function(a,b){var c=".wpacu_bulk_unload";!1===b&&(c=".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)"),a.closest("tr").find(c).not(a).prop("checked",!1).parent("label").removeClass("wpacu_input_load_checked").removeClass("wpacu_unload_checked")}};a(document).on("click",'input[name="wpacu_sub_tab_area"]',function(){a(this).prop("checked")&&a("#wpacu-selected-sub-tab-area").val(a(this).val())}),a(document).on("click","#wpacu_minify_css_enable, #wpacu_combine_loaded_css_enable, #wpacu_minify_js_enable, #wpacu_combine_loaded_js_enable, #wpacu_cdn_rewrite_enable, #wpacu_enable_test_mode",function(){a(this).prop("checked")?a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-on").removeClass("wpacu-off"):a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-off").removeClass("wpacu-on")}),a(document).on("click","#wpacu_inline_css_files_below_size_checkbox",function(){a(this).is(":checked")?a("#wpacu_inline_css_files_enable").prop("checked",!0).trigger("tick"):""===a("#wpacu_inline_css_files_list").val()&&a("#wpacu_inline_css_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu_inline_js_files_below_size_checkbox",function(){if(a(this).is(":checked")){if(!confirm(wpacu_object.inline_auto_js_files_confirm_msg))return!1;a("#wpacu_inline_js_files_enable").prop("checked",!0).trigger("tick")}else""===a("#wpacu_inline_js_files_list").val()&&a("#wpacu_inline_js_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu-mark-license-valid-button",function(){return confirm(wpacu_object.mark_license_valid_confirm)}),a(document).on("submit","#wpacu-license-form",function(){a("#edd_license_activate_btn").attr("disabled","disabled"),a("#edd_license_deactivate_btn").attr("disabled","disabled"),a(".wpacu-license-spinner").show()});var f,g;a("#wpacu-reset-drop-down").on("change keyup keydown mouseup mousedown click",function(){""===a(this).val()?(a("#wpacu-warning-read").removeClass("wpacu-visible"),a("#wpacu-reset-submit-btn").attr("disabled","disabled").removeClass("button-primary").addClass("button-secondary")):("reset_everything"===a(this).val()?a("#wpacu-license-data-remove-area, #wpacu-cache-assets-remove-area").addClass("wpacu-visible"):a("#wpacu-license-data-remove-area, #wpacu-cache-assets-remove-area").removeClass("wpacu-visible"),a("#wpacu-warning-read").addClass("wpacu-visible"),a("#wpacu-reset-submit-btn").removeAttr("disabled").removeClass("button-secondary").addClass("button-primary")),a(".wpacu-tools-area .wpacu-warning").hide(),f=a(this).find("option:selected"),a("#"+f.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_settings_confirm_msg:"reset_critical_css"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_critical_css_confirm_msg:"reset_everything_except_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_everything_except_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(g=wpacu_object.reset_everything_confirm_msg),!confirm(g))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").trigger("submit")},1e3)}),a(document).on("submit","#wpacu-import-form",function(){if(!confirm(wpacu_object.import_confirm_msg))return!1;a(this).find("button").addClass("wpacu-importing").prop("disabled",!0)}),a(document).on("change","#wpacu_post_type_select",function(){a("#wpacu_post_type_form").trigger("submit")}),a(document).on("change","#wpacu_taxonomy_select",function(){a("#wpacu_taxonomy_form").trigger("submit")}),a(document).on("click","#wpacu_dashboard",function(){a(this).prop("checked")?a("#wpacu-settings-assets-retrieval-mode").show():a("#wpacu-settings-assets-retrieval-mode").hide()}),a(document).on("change",".wpacu-dom-get-type-selection",function(){a(this).is(":checked")&&(a(".wpacu-dom-get-type-info").hide(),a("#"+a(this).attr("data-target")).fadeIn("fast"))}),a(document).on("click","#wpacu_frontend",function(){a(this).prop("checked")?a("#wpacu-settings-frontend-exceptions").show():a("#wpacu-settings-frontend-exceptions").hide()}),a(document).on("change",".google_fonts_combine_type",function(){a(".wpacu_google_fonts_combine_type_area").hide(),"async"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_info_area").fadeIn():"async_preload"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_preload_info_area").fadeIn():a("#wpacu_google_fonts_combine_type_rb_info_area").fadeIn()}),a("#wpacu-allow-manage-assets-to-select-list-area").length>0&&!a("#wpacu-allow-manage-assets-to-select-list-area").hasClass("wpacu_hide")&&setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},50),a("#wpacu-allow-manage-assets-to-select").on("click change",function(){"chosen"===a(this).val()?(a("#wpacu-allow-manage-assets-to-select-list-area").removeClass("wpacu_hide"),setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},50)):a("#wpacu-allow-manage-assets-to-select-list-area").addClass("wpacu_hide")}),a("#wpacu_assets_list_layout").on("click change",function(){"by-location"===a(this).val()?a("#wpacu-assets-list-by-location-selected").fadeIn("fast"):a("#wpacu-assets-list-by-location-selected").fadeOut("fast")}),a("#wpacu_disable_jquery_migrate").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.jquery_migration_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("#wpacu_disable_comment_reply").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.comment_reply_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("[data-target-opacity]").on("click change tick",function(){a(this).prop("checked")?a("#"+a(this).attr("data-target-opacity")).css({opacity:1}):a("#"+a(this).attr("data-target-opacity")).css({opacity:.4})}),
4
- a(document).on("change",".wpacu-combine-loaded-js-level",function(){a(this).is(":checked")&&(a(".wpacu_combine_loaded_js_level_area").removeClass("wpacu_active"),a("#"+a(this).attr("data-target")).addClass("wpacu_active"))});var h=a('#wpacu-update-button-area input[type="submit"]');a(document).on("submit","#wpacu-settings-form, .wpacu-settings-form",function(){h.attr("disabled",!0),a("#wpacu-updating-settings").addClass("wpacu-show").removeClass("wpacu-hide")});var i=a("#wpacu-update-front-settings-area .wpacu_update_btn");if(a(document).on("submit","#wpacu-frontend-form",function(){return i.attr("disabled",!0).addClass("wpacu_submitting"),a("#wpacu-updating-front-settings").show(),!0}),a(document).on("submit","form#wpacu-settings-form, form#wpacu_home_page_form",function(){return h.attr("disabled",!0),a("#wpacu-updating-settings").show(),!0}),a(document).on("click",".wpacu_bulk_rule_checkbox, .wpacu_remove_preload",function(){var b=a(this).parents(".wpacu_bulk_change_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(document).on("click",".wpacu_remove_regex",function(){var b=a(this).parents(".wpacu_regex_rule_row");a(this).prop("checked")?b.addClass("wpacu_enabled"):b.removeClass("wpacu_enabled")}),a(document).on("click",".wpacu_restore_position",function(){var b=a(this).parents(".wpacu_restore_position_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(document).on("click",".wpacu_remove_global_attr",function(){var b=a(this).parents(".wpacu_remove_global_attr_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a("#wpacu_wrap_assets").length>0&&setTimeout(function(){e.load()},200),a("#wpacu-plugins-load-manager-wrap").length>0&&setTimeout(function(){e.pluginLoadManager()},200),a("#wpacu-assets-collapsible-wrap-hardcoded-list").length>0){var j={};j[wpacu_object.plugin_name+"_load"]=1,j[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),j.wpacu_just_hardcoded=1,a.ajax({method:"GET",url:wpacu_object.page_url,data:j,cache:!1,complete:function(a,c){"error"===a.statusText&&b(a.responseText)}}).done(function(a){b(a)})}if("undefined"==typeof wpacu_object||a("#wpacu_meta_box_content").length<1)return!1;("default"===wpacu_object.list_show_status||""===wpacu_object.list_show_status||wpacu_object.override_assets_list_load)&&c(),"fetch_on_click"===wpacu_object.list_show_status&&a(document).on("click","#wpacu_ajax_fetch_on_click_btn",function(b){b.preventDefault(),a(this).hide(),a("#wpacu_fetching_assets_list_wrap").show(),c()}),a(document).on("click",".wp-admin.post-php .edit-post-header__settings button.is-primary",function(){var b=function(){if(0===a(".edit-post-header__settings .is-saving").length){if(a("#wpacu_unload_assets_area_loaded").length>0&&a("#wpacu_unload_assets_area_loaded").val()){a("#wpacu-assets-reloading").remove();var b='<span id="wpacu-assets-reloading" class="editor-post-saved-state is-wpacu-reloading">'+wpacu_object.reload_icon+wpacu_object.reload_msg+"</span>";a(".wp-admin.post-php .edit-post-header__settings").prepend(b),a(".wpacu_asset_row").addClass("wpacu-loading"),c(),wpacuAjaxClearCache(),clearInterval(d)}}},d=setInterval(b,900)});try{var k;a('input[type="hidden"][name="_wp_http_referer"]').length>0&&(k=a('input[type="hidden"][name="_wp_http_referer"]').val(),k.includes("term.php?taxonomy=")&&k.includes("message=")&&wpacuAjaxClearCache(),k.includes("post.php?post=")&&k.includes("message=")&&wpacuAjaxClearCache())}catch(a){console.log(a)}}),jQuery(window).on("load",function(){wpacuCheckSourcesFor404Errors()}),jQuery(document).ready(function(){[].slice.call(document.querySelectorAll('textarea[data-wpacu-adapt-height="1"]')).forEach(function(a){a.style.boxSizing=a.style.mozBoxSizing="border-box",a.style.overflowY="hidden";var b=a.scrollHeight;a.addEventListener("input",function(){wpacuAdjustTextareaHeight(a,b)}),window.addEventListener("resize",function(){wpacuAdjustTextareaHeight(a,b)}),wpacuAdjustTextareaHeight(a,b)})});
1
  function wpacuTabOpenSettingsArea(a,b){a.preventDefault();var c,d,e;for(d=document.getElementsByClassName("wpacu-settings-tab-content"),c=0;c<d.length;c++)d[c].style.display="none";for(e=document.getElementsByClassName("wpacu-settings-tab-link"),c=0;c<e.length;c++)e[c].className=e[c].className.replace(" active","");document.getElementById(b).style.display="table-cell",
2
+ jQuery('a[href="#'+b+'"]').addClass("active"),jQuery("#wpacu-selected-tab-area").val(b)}function wpacuCheckSourcesFor404Errors(){var a=jQuery("[data-wpacu-external-source]");if(!(a.length<1)){var b=a.length,c="";a.each(function(a){var d=jQuery(this),e=d.attr("data-wpacu-external-source");c+=e+"-at-wpacu-at-",a===b-1&&jQuery.post(wpacu_object.ajax_url+"?wpacu_check_external_url",{action:wpacu_object.plugin_id+"_check_external_urls_for_status_code",wpacu_check_urls:c,wpacu_ajax_check_external_urls_nonce:wpacu_object.wpacu_ajax_check_external_urls_nonce},function(a){var b=jQuery.parseJSON(a);jQuery.each(b,function(a,b){jQuery('[data-wpacu-external-source="'+b+'"]').css({color:"#cc0000"}).parent("div").find("[data-wpacu-external-source-status]").html('<small>* <em style="font-weight: 600;">'+wpacu_object.source_load_error_msg+"</em></small>")})})})}}function wpacuBytesToSize(a){return 0===a?"N/A":(a/1024).toFixed(4)+" KB"}function wpacuAjaxClearCache(){void 0!==wpacu_object.wpacu_ajax_preload_url_nonce&&jQuery.post(wpacu_object.ajax_url+"?wpacu_clear_cache",{action:wpacu_object.plugin_id+"_clear_cache",time_r:(new Date).getTime()},function(a){setTimeout(function(){wpacuClearAutoptimizeCache(),wpacu_object.is_frontend_view?jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()}):jQuery.get(wpacu_object.page_url,{wpacu_preload:1,wpacu_no_frontend_show:1,time_r:(new Date).getTime()},function(){jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()})})},150)})}function wpacuClearAutoptimizeCache(){jQuery("#wp-admin-bar-autoptimize-default li").length>0&&void 0!==autoptimize_ajax_object.ajaxurl&&void 0!==autoptimize_ajax_object.nonce&&jQuery.ajax({type:"GET",url:autoptimize_ajax_object.ajaxurl,data:{action:"autoptimize_delete_cache",nonce:autoptimize_ajax_object.nonce},dataType:"json",cache:!1,timeout:9e3,success:function(a){},error:function(a,b){}})}function wpacuAdjustTextareaHeight(a,b){var c=parseInt(window.getComputedStyle(a).height,10),d=c-a.clientHeight;a.style.height=0,a.style.height=Math.max(b,a.scrollHeight+d)+"px"}""!==wpacu_object.clear_cache_on_page_load&&wpacuAjaxClearCache(),""!==wpacu_object.clear_other_caches&&setTimeout(function(){wpacuClearAutoptimizeCache()},150),jQuery(document).ready(function(a){function b(b){b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h);var c=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),d=a("#wpacu-assets-collapsible-wrap-hardcoded-list").attr("data-wpacu-settings-frontend"),f={action:wpacu_object.plugin_name+"_print_loaded_hardcoded_assets",wpacu_list_h:c,wpacu_settings:d,time_r:(new Date).getTime()};a.post(wpacu_object.ajax_url,f,function(b){if(b){var c=JSON.parse(b);a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("> .wpacu-assets-collapsible-content").html(c.output),a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("a.wpacu-assets-collapsible").append(" &#10141; Total: "+parseInt(c.total_hardcoded_assets)),e.triggerForHardcodedAssets()}})}function c(){if(!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;var b={};if("direct"===wpacu_object.dom_get_type)b[wpacu_object.plugin_name+"_load"]=1,b[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:b,cache:!1,complete:function(b,c){if("error"===b.statusText){if(404===b.status)return void d(b.responseText,b.status);var e=b.responseText.replace(/(<([^>]+)>)/gi,"");try{e=String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}catch(a){console.log(a)}var f=wpacu_object.ajax_direct_fetch_error;f=f.replace(/{wpacu_output}/,e),f=f.replace(/{wpacu_status_code_error}/,b.status),a("#wpacu_meta_box_content").html(f)}}}).done(function(b){a("#wpacu-fetch-list-step-1-wrap").addClass("wpacu-completed"),a("#wpacu-fetch-list-step-1-status").html(a("#wpacu-list-step-completed-status").html()),a("#wpacu-fetch-list-step-2-status").html(a("#wpacu-list-step-default-status").html()),d(b)});else if("wp_remote_post"===wpacu_object.dom_get_type){var c={action:wpacu_object.plugin_name+"_get_loaded_assets",post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,time_r:(new Date).getTime(),force_manage_dash:wpacu_object.force_manage_dash};a.post(wpacu_object.ajax_url,c,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_dash_assets_manager_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),setTimeout(function(){wpacuCheckSourcesFor404Errors()},100)},200)})}}function d(b,c){if(b.lastIndexOf(wpacu_object.start_del_e)<0||b.lastIndexOf(wpacu_object.end_del_e)<0||b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h)<0){var d=wpacu_object.ajax_direct_fetch_error_with_success_response;d=d.replace(/{wpacu_output}/,xhr.responseText.replace(/(<([^>]+)>)/gi,""));try{d=String(d).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}catch(a){console.log(a)}return void a("#wpacu_meta_box_content").html(d)}var f=b.substring(b.lastIndexOf(wpacu_object.start_del_e)+wpacu_object.start_del_e.length,b.lastIndexOf(wpacu_object.end_del_e)),g=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),h={action:wpacu_object.plugin_name+"_get_loaded_assets",wpacu_list_e:f,wpacu_list_h:g,post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,force_manage_dash:wpacu_object.force_manage_dash,time_r:(new Date).getTime(),is_for_singular:!1};a("#wpacu_manage_singular_page_assets").length>0&&(h.is_for_singular=!0),a.post(wpacu_object.ajax_url,h,function(b){b&&(a("#wpacu_meta_box_content").html(b),404===c&&a("#wpacu_meta_box_content").prepend('<p><span class="dashicons dashicons-warning"></span> '+wpacu_object.server_returned_404_not_found+"</p><hr />"),a("#wpacu_dash_assets_manager_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),a(".wpacu_asset_row").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove(),wpacuCheckSourcesFor404Errors()},200))})}var e={load:function(){var b,c,d,f=".input-unload-on-this-page.wpacu-not-locked";a(document).on("click change",".input-unload-on-this-page",function(f){if(b=a(this).attr("data-handle"),c=a(this).hasClass("wpacu_unload_rule_for_style")?"style":"script",a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;e.uncheckAllOtherBulkUnloadRules(a(this),!1),e.showHandleLoadExceptionArea(c,b),a(this).closest("tr").addClass("wpacu_not_load")}else a(this).closest("tr").removeClass("wpacu_not_load"),d=a(this).parents(".wpacu_asset_row"),e.hideHandleLoadExceptionArea(d,b,c)}),a(".wpacu-plugin-check-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!0).closest("tr").addClass("wpacu_not_load")}),a(".wpacu-plugin-uncheck-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!1).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu-plugin-check-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!0).closest("tr.wpacu_is_bulk_unloaded").removeClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(".wpacu-plugin-uncheck-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!1).closest("tr.wpacu_is_bulk_unloaded").addClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(document).on("click",".wpacu_keep_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(document).on("click",".wpacu_remove_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(document).on("click change",".wpacu_bulk_unload",function(f){b=a(this).attr("data-handle"),c=a(this).attr("data-handle-for"),d=a("[data-"+c+'-handle-row="'+b+'"]');var g=a(this).parents("li");if(a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").addClass("wpacu_unload_checked"),g.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),g.find(".wpacu_handle_unload_regex_input_wrap").removeClass("wpacu_hide")):(a(this).parent("label").addClass("wpacu_input_load_checked"),a(this).closest("tr").addClass("wpacu_not_load")),e.showHandleLoadExceptionArea(c,b),a(this).hasClass("wpacu_global_unload")?(e.uncheckAllOtherBulkUnloadRules(a(this),!0),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1)):a(this).hasClass("wpacu_post_type_unload")&&(e.uncheckAllOtherBulkUnloadRules(a(this),!1),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1))}else a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").removeClass("wpacu_unload_checked"),g.find("textarea").blur().addClass("wpacu_disabled"),""===g.find("textarea").val().trim()&&(g.find("textarea").prop("disabled",!0).val(""),g.find(".wpacu_handle_unload_regex_input_wrap").addClass("wpacu_hide"))):(a(this).parent("label").removeClass("wpacu_input_load_checked"),a(this).closest("tr").removeClass("wpacu_not_load")),e.hideHandleLoadExceptionArea(d,b,c);d.hasClass("wpacu_is_bulk_unloaded")||a(".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)").is(":checked")||a(this).closest("tr").removeClass("wpacu_not_load")}),a(document).on("click change",".wpacu_load_it_option_one.wpacu_load_exception,.wpacu_load_it_option_post_type",function(){var b=a(this).attr("data-handle");if(a(this).prop("checked")){a(this).parent("label").addClass("wpacu_global_unload_exception");var c="";a(this).hasClass("wpacu_style")?c="style":a(this).hasClass("wpacu_script")&&(c="script"),a("#"+c+"_"+b).prop("checked",!1).trigger("change")}else a(this).parent("label").removeClass("wpacu_global_unload_exception")}),
3
+ a(document).on("click change",".wpacu_load_it_option_two",function(){var b=a(this).parents("li");a(this).prop("checked")?(b.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),b.find(".wpacu_load_regex_input_wrap").removeClass("wpacu_hide")):(b.find("textarea").blur().addClass("wpacu_disabled"),""===b.find("textarea").val().trim()&&(b.find("textarea").prop("disabled",!0).val(""),b.find(".wpacu_load_regex_input_wrap").addClass("wpacu_hide")))}),a(document).on("click change",".wpacu_script_attr_rule_input",function(b){if(a(this).is(":checked")){if("click"===b.type){var c=a(this).parents("tr.wpacu_asset_row").attr("data-script-child-handles"),d=wpacu_object.script_is_parent_alert;if(void 0!==c&&""!==c&&(d=d.replace("{wpacu_script_child_handles}",c),!confirm(d)))return!1}a(this).parents("ul").find(".wpacu_script_attr_rule_input").not(a(this)).prop("checked",!1),a(this).hasClass("wpacu_script_attr_rule_global")&&a(this).parents("ul").find(".wpacu-script-attr-make-exception").removeClass("wpacu_hide")}a(this).parents("ul").find(".wpacu_script_attr_rule_global").is(":checked")||a(this).parents("ul").find(".wpacu-script-attr-make-exception").addClass("wpacu_hide")}),a(document).on("change",".wpacu-screen-size-load",function(b){var c,d,e,f=a(this).val(),g=a(this).attr("data-handle");if(a(this).hasClass("wpacu-for-script"))c="SCRIPT file",d=a('.wpacu-handle-media-queries-load-field[data-script-handle="'+g+'"]');else{if(!a(this).hasClass("wpacu-for-style"))return!1;c="CSS file",d=a('.wpacu-handle-media-queries-load-field[data-style-handle="'+g+'"]')}if(!(d.length<1))if(e=d.find(":input"),f){if(a(this)[0].hasAttribute("data-wpacu-show-parent-alert")){var h=wpacu_object.parent_asset_media_query_load_alert.replace("[asset_type]",c);if(!confirm(h))return a(this).val(""),!1}d.addClass("wpacu-is-visible"),e.prop("disabled",!1),""===e.val()&&e.focus()}else d.removeClass("wpacu-is-visible"),""===e.val().trim()&&"true"===e.attr("data-wpacu-is-empty-on-page-load")&&e.prop("disabled",!0).val("")}),a(document).on("click",".wpacu-add-handle-note",function(b){b.preventDefault();var c,d,e=a(this).attr("data-handle");a(this).hasClass("wpacu-for-script")?c=a('.wpacu-handle-notes-field[data-script-handle="'+e+'"]'):a(this).hasClass("wpacu-for-style")&&(c=a('.wpacu-handle-notes-field[data-style-handle="'+e+'"]')),c.length<1||(d=c.find(":input"),c.is(":hidden")?(c.show(),d.prop("disabled",!1)):(c.hide(),""===d.val().trim()&&"true"===d.attr("data-wpacu-is-empty-on-page-load")&&d.prop("disabled",!0).val("")))}),a(document).on("click",".wpacu-external-file-size",function(b){b.preventDefault();var c,d=a(this),e=d.attr("data-src");d.hide(),c=d.next(),c.show(),e.includes("/?")?a.get(e,{},function(a,b,d){if("success"!==b)return"N/A";c.html(wpacuBytesToSize(a.length))}):a.post(wpacu_object.ajax_url,{action:wpacu_object.plugin_id+"_get_external_file_size",wpacu_remote_file:e,wpacu_ajax_check_remote_file_size_nonce:wpacu_object.wpacu_ajax_check_remote_file_size_nonce},function(a){c.html(a)})}),a(document).on("click",".wpacu_handle_row_expand_contract",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-handle"),d=a(this).attr("data-wpacu-handle-for");a(this).find("span").hasClass("dashicons-minus")?(a(this).parents("td").attr("data-wpacu-row-status","contracted").find(".wpacu_handle_row_expanded_area").addClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-minus").addClass("dashicons-plus"),a("#wpacu_"+d+"_"+c+"_row_contracted_area").val("1")):a(this).find("span").hasClass("dashicons-plus")&&(a(this).parents("td").attr("data-wpacu-row-status","expanded").find(".wpacu_handle_row_expanded_area").removeClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-plus").addClass("dashicons-minus"),a("#wpacu_"+d+"_"+c+"_row_contracted_area").val(""))})},triggerForHardcodedAssets:function(){a('[data-is-hardcoded-asset="true"]').length>0&&(a.each(a('[data-is-hardcoded-asset="true"]'),function(b,c){e.updateHardcodedDataHiddenFieldStatus(a(this))}),a('[data-is-hardcoded-asset="true"]').on("click",".wpacu_unload_rule_input",function(){e.updateHardcodedDataHiddenFieldStatus(a(this).parents("[data-is-hardcoded-asset]"))}))},updateHardcodedDataHiddenFieldStatus:function(b){var c=!1;b.is("[data-style-handle-row]")?c=b.attr("data-style-handle-row"):b.is("[data-script-handle-row]")&&(c=b.attr("data-script-handle-row")),c&&(b.find(".wpacu_unload_rule_input:checked").length>0||b.hasClass("wpacu_not_load")?a("#"+c+"_hardcoded_data").prop("disabled",!1):a("#"+c+"_hardcoded_data").prop("disabled",!0))},triggerAlertWhenAnyUnloadRuleIsChosen:function(b,c){if("dashicons"===b&&"style"===c&&a('input[name="wpacu_ignore_child[styles][nf-display]').length>0&&!confirm(wpacu_object.dashicons_unload_alert_ninja_forms))return!1;if("script"===c){if(("jquery"===b||"jquery-core"===b)&&a("#script_jquery_ignore_children").length>0&&!confirm(wpacu_object.jquery_unload_alert))return!1;if("js-cookie"===b&&!confirm(wpacu_object.woo_js_cookie_unload_alert))return!1;if("wc-cart-fragments"===b&&!confirm(wpacu_object.woo_wc_cart_fragments_unload_alert))return!1;if(("backbone"===b||"underscore"===b)&&!confirm(wpacu_object.sensitive_library_unload_alert))return!1}return!0},pluginLoadManager:function(){a(".wpacu_plugin_load_it").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")&&(e.hidePluginLoadExceptionArea(b),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"))}),a(".wpacu_plugin_unload_site_wide").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_logged_in[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),e.showPluginLoadExceptionArea(b)):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_regex_option").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"),e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_logged_in").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_load_exception_regex").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"):a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide")})},showPluginLoadExceptionArea:function(b){a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!1)},hidePluginLoadExceptionArea:function(b){a('.wrap_plugin_unload_rules_options[data-wpacu-plugin-path="'+b+'"]').find("input:checked").length<1&&a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!0)},showHandleLoadExceptionArea:function(b,c){var d=a("div.wpacu_exception_options_area_wrap[data-"+b+'-handle="'+c+'"]');d.parent("div").removeClass("wpacu_hide"),d.find('input[type="checkbox"]').not(".wpacu_lite_locked").prop("disabled",!1)},hideHandleLoadExceptionArea:function(b,c,d){if(!b.hasClass("wpacu_is_bulk_unloaded")&&!b.find(".wpacu_bulk_unload").is(":checked")){var e=a("div.wpacu_exception_options_area_wrap[data-"+d+'-handle="'+c+'"]');e.parent("div").addClass("wpacu_hide"),e.find('input[type="checkbox"]').prop("disabled",!0)}},uncheckAllOtherBulkUnloadRules:function(a,b){var c=".wpacu_bulk_unload";!1===b&&(c=".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)"),a.closest("tr").find(c).not(a).prop("checked",!1).parent("label").removeClass("wpacu_input_load_checked").removeClass("wpacu_unload_checked")}};a(document).on("click",'input[name="wpacu_sub_tab_area"]',function(){a(this).prop("checked")&&a("#wpacu-selected-sub-tab-area").val(a(this).val())}),a(document).on("click","#wpacu_minify_css_enable, #wpacu_combine_loaded_css_enable, #wpacu_minify_js_enable, #wpacu_combine_loaded_js_enable, #wpacu_cdn_rewrite_enable, #wpacu_enable_test_mode",function(){a(this).prop("checked")?a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-on").removeClass("wpacu-off"):a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-off").removeClass("wpacu-on")}),a(document).on("click","#wpacu_inline_css_files_below_size_checkbox",function(){a(this).is(":checked")?a("#wpacu_inline_css_files_enable").prop("checked",!0).trigger("tick"):""===a("#wpacu_inline_css_files_list").val()&&a("#wpacu_inline_css_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu_inline_js_files_below_size_checkbox",function(){if(a(this).is(":checked")){if(!confirm(wpacu_object.inline_auto_js_files_confirm_msg))return!1;a("#wpacu_inline_js_files_enable").prop("checked",!0).trigger("tick")}else""===a("#wpacu_inline_js_files_list").val()&&a("#wpacu_inline_js_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu-mark-license-valid-button",function(){return confirm(wpacu_object.mark_license_valid_confirm)}),a(document).on("submit","#wpacu-license-form",function(){a("#wpacu_license_activate_btn").attr("disabled","disabled"),a("#wpacu_license_deactivate_btn").attr("disabled","disabled"),a(".wpacu-license-spinner").show()});var f,g;a("#wpacu-reset-drop-down").on("change keyup keydown mouseup mousedown click",function(){""===a(this).val()?(a("#wpacu-warning-read").removeClass("wpacu-visible"),a("#wpacu-reset-submit-btn").attr("disabled","disabled").removeClass("button-primary").addClass("button-secondary")):("reset_everything"===a(this).val()?a("#wpacu-license-data-remove-area, #wpacu-cache-assets-remove-area").addClass("wpacu-visible"):a("#wpacu-license-data-remove-area, #wpacu-cache-assets-remove-area").removeClass("wpacu-visible"),a("#wpacu-warning-read").addClass("wpacu-visible"),a("#wpacu-reset-submit-btn").removeAttr("disabled").removeClass("button-secondary").addClass("button-primary")),a(".wpacu-tools-area .wpacu-warning").hide(),f=a(this).find("option:selected"),a("#"+f.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_settings_confirm_msg:"reset_critical_css"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_critical_css_confirm_msg:"reset_everything_except_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_everything_except_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(g=wpacu_object.reset_everything_confirm_msg),!confirm(g))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").trigger("submit")},1e3)}),a(document).on("submit","#wpacu-import-form",function(){if(!confirm(wpacu_object.import_confirm_msg))return!1;a(this).find("button").addClass("wpacu-importing").prop("disabled",!0)}),a(document).on("change","#wpacu_post_type_select",function(){a("#wpacu_post_type_form").trigger("submit")}),a(document).on("change","#wpacu_taxonomy_select",function(){a("#wpacu_taxonomy_form").trigger("submit")}),a(document).on("click","#wpacu_dashboard",function(){a(this).prop("checked")?a("#wpacu-settings-assets-retrieval-mode").show():a("#wpacu-settings-assets-retrieval-mode").hide()}),a(document).on("change",".wpacu-dom-get-type-selection",function(){a(this).is(":checked")&&(a(".wpacu-dom-get-type-info").hide(),a("#"+a(this).attr("data-target")).fadeIn("fast"))}),a(document).on("click","#wpacu_frontend",function(){a(this).prop("checked")?a("#wpacu-settings-frontend-exceptions").show():a("#wpacu-settings-frontend-exceptions").hide()}),a(document).on("change",".google_fonts_combine_type",function(){a(".wpacu_google_fonts_combine_type_area").hide(),"async"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_info_area").fadeIn():"async_preload"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_preload_info_area").fadeIn():a("#wpacu_google_fonts_combine_type_rb_info_area").fadeIn()}),a("#wpacu-allow-manage-assets-to-select-list-area").length>0&&!a("#wpacu-allow-manage-assets-to-select-list-area").hasClass("wpacu_hide")&&setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},50),a("#wpacu-allow-manage-assets-to-select").on("click change",function(){"chosen"===a(this).val()?(a("#wpacu-allow-manage-assets-to-select-list-area").removeClass("wpacu_hide"),setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},50)):a("#wpacu-allow-manage-assets-to-select-list-area").addClass("wpacu_hide")}),a("#wpacu_assets_list_layout").on("click change",function(){"by-location"===a(this).val()?a("#wpacu-assets-list-by-location-selected").fadeIn("fast"):a("#wpacu-assets-list-by-location-selected").fadeOut("fast")}),a("#wpacu_disable_jquery_migrate").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.jquery_migration_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("#wpacu_disable_comment_reply").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.comment_reply_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("[data-target-opacity]").on("click change tick",function(){a(this).prop("checked")?a("#"+a(this).attr("data-target-opacity")).css({opacity:1}):a("#"+a(this).attr("data-target-opacity")).css({opacity:.4})}),
4
+ a(document).on("change",".wpacu-combine-loaded-js-level",function(){a(this).is(":checked")&&(a(".wpacu_combine_loaded_js_level_area").removeClass("wpacu_active"),a("#"+a(this).attr("data-target")).addClass("wpacu_active"))});var h=a('#wpacu-update-button-area input[type="submit"]');a(document).on("submit","#wpacu-settings-form, .wpacu-settings-form",function(){h.attr("disabled",!0),a("#wpacu-updating-settings").addClass("wpacu-show").removeClass("wpacu-hide")});var i=a("#wpacu-update-front-settings-area .wpacu_update_btn");if(a(document).on("submit","#wpacu-frontend-form",function(){return i.attr("disabled",!0).addClass("wpacu_submitting"),a("#wpacu-updating-front-settings").show(),!0}),a(document).on("submit","form#wpacu-settings-form, form#wpacu_dash_assets_manager_form",function(){return h.attr("disabled",!0),a("#wpacu-updating-settings").show(),!0}),a(document).on("click",".wpacu_bulk_rule_checkbox, .wpacu_remove_preload",function(){var b=a(this).parents(".wpacu_bulk_change_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(document).on("click",".wpacu_remove_regex",function(){var b=a(this).parents(".wpacu_regex_rule_row");a(this).prop("checked")?b.addClass("wpacu_enabled"):b.removeClass("wpacu_enabled")}),a(document).on("click",".wpacu_restore_position",function(){var b=a(this).parents(".wpacu_restore_position_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(document).on("click",".wpacu_remove_global_attr",function(){var b=a(this).parents(".wpacu_remove_global_attr_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a("#wpacu_wrap_assets").length>0&&setTimeout(function(){e.load()},200),a("#wpacu-plugins-load-manager-wrap").length>0&&setTimeout(function(){e.pluginLoadManager()},200),a("#wpacu-assets-collapsible-wrap-hardcoded-list").length>0){var j={};j[wpacu_object.plugin_name+"_load"]=1,j[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),j.wpacu_just_hardcoded=1,a.ajax({method:"GET",url:wpacu_object.page_url,data:j,cache:!1,complete:function(a,c){"error"===a.statusText&&b(a.responseText)}}).done(function(a){b(a)})}if("undefined"==typeof wpacu_object||a("#wpacu_meta_box_content").length<1)return!1;("default"===wpacu_object.list_show_status||""===wpacu_object.list_show_status||wpacu_object.override_assets_list_load)&&c(),"fetch_on_click"===wpacu_object.list_show_status&&a(document).on("click","#wpacu_ajax_fetch_on_click_btn",function(b){b.preventDefault(),a(this).hide(),a("#wpacu_fetching_assets_list_wrap").show(),c()}),a(document).on("click",".wp-admin.post-php .edit-post-header__settings button.is-primary",function(){var b=function(){if(0===a(".edit-post-header__settings .is-saving").length){if(a("#wpacu_unload_assets_area_loaded").length>0&&a("#wpacu_unload_assets_area_loaded").val()){a("#wpacu-assets-reloading").remove();var b='<span id="wpacu-assets-reloading" class="editor-post-saved-state is-wpacu-reloading">'+wpacu_object.reload_icon+wpacu_object.reload_msg+"</span>";a(".wp-admin.post-php .edit-post-header__settings").prepend(b),a(".wpacu_asset_row").addClass("wpacu-loading"),c(),wpacuAjaxClearCache(),clearInterval(d)}}},d=setInterval(b,900)});try{var k;a('input[type="hidden"][name="_wp_http_referer"]').length>0&&(k=a('input[type="hidden"][name="_wp_http_referer"]').val(),k.includes("term.php?taxonomy=")&&k.includes("message=")&&wpacuAjaxClearCache(),k.includes("post.php?post=")&&k.includes("message=")&&wpacuAjaxClearCache())}catch(a){console.log(a)}}),jQuery(window).on("load",function(){wpacuCheckSourcesFor404Errors()}),jQuery(document).ready(function(){[].slice.call(document.querySelectorAll('textarea[data-wpacu-adapt-height="1"]')).forEach(function(a){a.style.boxSizing=a.style.mozBoxSizing="border-box",a.style.overflowY="hidden";var b=a.scrollHeight;a.addEventListener("input",function(){wpacuAdjustTextareaHeight(a,b)}),window.addEventListener("resize",function(){wpacuAdjustTextareaHeight(a,b)}),wpacuAdjustTextareaHeight(a,b)})});
assets/style.min.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";#wpacu-pages-info-area{width:98%}#wpacu-top-area{margin:15px 0;padding:0 10px}#wpacu-quick-actions{color:#74777b;float:right;width:auto;margin-right:30px;background:rgba(40,44,42,.05);border-radius:10px;padding:6px 12px}#wpacu-quick-actions .wpacu-actions-title{font-weight:200;letter-spacing:.5px}#wpacu-quick-actions a{color:#004567;text-decoration:none}#wpacu-quick-actions a:hover{color:#0073aa}#wpacu-logo-wrap{width:auto;display:inline-block;position:relative}#wpacu-logo-wrap a{display:block}#wpacu-logo-wrap img{width:352px;height:79px}#wpacu-logo-wrap .wpacu-pro-sign{position:absolute;height:auto;font-family:FiraSans-Medium,proxima-nova-1,Montserrat,Helvetica,sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;padding:5px 11px;border-radius:15px;right:-60px;top:30px;width:auto;display:inline-block;text-align:center}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-lite{color:#74777b;background:rgba(40,44,42,.05)}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-pro{color:#004567;background-color:rgba(40,44,42,.05)}.wpacu-tabs{position:relative;overflow:hidden;margin:0 auto 20px;width:100%;font-weight:300;font-size:20px}.wpacu-tabs nav{text-align:center}.wpacu-tabs nav ul{position:relative;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:flex;padding:0;list-style:none;-ms-box-orient:horizontal;-ms-box-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center}.wpacu-tabs nav ul li{position:relative;z-index:1;display:block;margin:0;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.wpacu-tabs nav ul li span.extra-info{position:absolute;font-size:12px;left:-50%;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%);white-space:nowrap}.wpacu-tabs nav ul li span.extra-info.has-bulk-unloads{right:48%}.wpacu-tabs nav ul li span.extra-info.no-bulk-unloads{left:0;right:2px;bottom:2px;-webkit-transform:inherit;transform:inherit}.wpacu-tabs nav ul li span.extra-info .dashicons{font-size:16px;margin-right:-3px;margin-top:1px}.wpacu-tabs nav ul li span.extra-info.license-status.inactive{color:#c00}.wpacu-tabs nav ul li span.extra-info.license-status.active{color:green}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-false{color:#004567}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-true,.wpacu-tabs nav ul li span.extra-info.bulk-unloads-true{color:green}.wpacu-tabs nav a{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:2.5}.wpacu-tabs nav a span{vertical-align:middle;font-size:14px}.wpacu-tabs nav li.wpacu-tab-current a{color:#74777b}.wpacu-tabs nav a:focus{outline:0}.wpacu-tabs .dashicons{font-size:20px}.no-js .wpacu-content-wrap section{display:block;padding-bottom:2em;border-bottom:1px solid rgba(255,255,255,.6)}.no-flexbox nav ul{display:block}.no-flexbox nav ul li{min-width:15%;display:inline-block}@media screen and (max-width:58em){.wpacu-tabs nav a.icon span{display:none}.wpacu-tabs nav a:before{margin-right:0}}.wpacu-tabs-style-underline nav{background:#fff}.wpacu-tabs-style-underline nav a{color:#74777b;font-size:18px;text-transform:uppercase;text-decoration:none;padding:.25em 0 .5em;border-left:1px solid #e7ecea;-webkit-transition:color .2s;transition:color .2s}.wpacu-tabs-style-underline nav li:last-child a{border-right:1px solid #e7ecea}.wpacu-tabs-style-underline nav li a::after{position:absolute;bottom:0;left:0;width:100%;height:6px;background:#2cc185;content:"";-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transform:translate3d(0,150%,0);transform:translate3d(0,150%,0)}.wpacu-tabs-style-underline nav li.wpacu-tab-current a::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wpacu-tabs-style-underline nav a span{font-weight:700}.wpacu-tabs-style-topline{max-width:1800px;margin:20px auto 22px 0;width:98%;font-weight:300;text-decoration:none}.wpacu-tabs-style-topline nav li{border:1px solid rgba(40,44,42,.1)}.wpacu-tabs-style-topline nav li:not(:last-child){border-right:none}.wpacu-tabs-style-topline nav li.wpacu-tab-current{border-top-color:#008f9c;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 18px;background:rgba(40,44,42,.05);color:#74777b;line-height:1;-webkit-transition:color .2s;transition:color .2s;text-decoration:none}.wpacu-tabs-style-topline nav a:focus,.wpacu-tabs-style-topline nav a:hover{background:0 0;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #008f9c;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a span:not(.dashicons){font-weight:600}.wpacu-tabs-style-topline nav a span{text-transform:uppercase;font-weight:400}.wpacu-tab-nav-wrapper{border-bottom:none!important}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active{background:#fff;position:relative}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active:after{content:"";width:100%;bottom:-2px;left:0;position:absolute;border-bottom:2px solid #fff}.wpacu_hide{display:none!important}.wpacu-script-attributes-area{display:block;margin-bottom:12px}.wpacu-script-attributes-area>div:first-of-type{display:inline-block;float:left;margin-right:15px;line-height:30px;vertical-align:middle}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings{display:inline-block;float:left;padding:5px 7px!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings.wpacu-first{margin:0 15px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li{display:inline-block;margin:0 16px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li:last-child{margin:0 2px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings{background:#fff!important;border:1px solid #eee!important;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:5px 10px!important;list-style:none;display:inline-block;margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings input[type=radio]{width:auto;padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}tr.wpacu_location_changed>td{border-left:#004567 4px solid}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#ffe1e1!important}tr.wpacu_not_load td .wpacu-assets-inline-code-wrap,tr.wpacu_not_load td .wpacu-only-when-kept-loaded,tr.wpacu_not_load th .wpacu-assets-inline-code-wrap,tr.wpacu_not_load th .wpacu-only-when-kept-loaded{opacity:.45}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0 0;font-size:16px;text-decoration:none;color:inherit!important}.wpacu_widefat .check-column.wpacu_check{padding:10px}body[class*=wpassetcleanup] #footer-left{border-left:2px solid green;padding-left:10px}#wpassetcleanup_asset_list small{width:auto;float:none;display:inline}#wpacu_meta_box_content{width:99%}#wpacu_meta_box_content #wpacu-fetch-list-step-1-wrap.wpacu-completed{color:green}#wpacu_meta_box_content div.select select{max-width:inherit}#wpacu_meta_box_content .emoji{font-size:18px}#wpacu_meta_box_content h3{margin-left:0;padding-left:0}#wpacu_meta_box_content div.wpacu_note{padding:10px;background-color:#f5f5f5}#wpacu_meta_box_content .dashicons.dashicons-warning,#wpacu_meta_box_content .dashicons.dashicons-wordpress-alt{color:#c00}#wpacu_meta_box_content .wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content .wpacu_verified span{color:#0073aa;font-weight:700}#wpacu_meta_box_content div.wpacu_warning{border:1px solid #c00}#wpacu_meta_box_content ul.wpacu_asset_options{margin:0;padding:0}#wpacu_meta_box_content ul.wpacu_asset_options li{list-style:none;display:inline-block}#wpacu_meta_box_content ul.wpacu_asset_options label{font-weight:400;margin-right:5px;margin-top:5px;margin-bottom:5px}.wpacu-updated-frontend{font-weight:400;background-color:#fff;border-left:4px solid #46b450;border-top:1px solid #46b450;border-right:1px solid #46b450;border-bottom:1px solid #46b450;padding:9px 14px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu-updated-frontend span.dashicons-yes{color:#46b450;font-size:26px}#wpacu-update-front-settings-area{margin:10px 0;display:inline-block;position:relative}@media only screen and (min-width:768px){#wpacu-update-front-settings-area{position:-webkit-sticky;position:sticky;bottom:0;display:block;padding:15px 0;z-index:1000000;border-top:1px solid #cdcdcd;background:#fff}}#wpacu-updating-front-settings{display:none;position:absolute;top:20px;left:142px}.wpacu_load_regex_area_wrap label.wpacu_bold span,.wpacu_unload_regex_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu_load_regex_area_wrap label.wpacu_unload_checked span,.wpacu_unload_regex_area_wrap label.wpacu_unload_checked span{color:#d54e21}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap{margin:4px 0 0}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text],.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text]{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap{display:inline-block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_two{display:block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_load_regex_input_wrap{display:block}.wpacu_exception_options_area_load_exception{display:table;float:none;clear:both;border:none;padding:0!important;background:0 0}.wpacu_exception_options_area_wrap{display:table;background:0 0!important}.wpacu_exception_options_area_wrap fieldset{border:1px solid #cdcdcd;padding:10px;background:#fff;border-radius:5px}.wpacu_exception_options_area_wrap fieldset legend{width:auto;font-weight:400;font-size:inherit;padding:8px 11px;margin:0;background:#fff;border:1px solid #cdcdcd;border-radius:5px}.wpacu_exception_options_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu_exception_options_area_wrap textarea{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_exception_options_area_wrap textarea:focus{width:100%}.wpacu_exception_options_area_wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_exception_options_area_wrap p:first-of-type{margin-top:0}.wpacu_exception_options_area_wrap .wpacu_area_one{display:table-cell;vertical-align:top;padding-right:10px}.wpacu_exception_options_area_wrap .wpacu_area_two{display:table-cell}@media only screen and (max-width:1199px){.wpacu_exception_options_area_wrap{display:block}.wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_exception_options_area_wrap .wpacu_area_two{display:block}}#wpacu_meta_box_content .wpacu_widefat{width:100%}#wpacu_meta_box_content .wpacu-assets-collapsible-content{padding:0 10px!important}#wpacu_meta_box_content ul.wpacu_asset_options{vertical-align:middle}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li input[type=text]{margin-left:5px;border:1px solid #e7e7e7;background:#fff}body.wp-admin #wpacu_wrap_assets code{display:inline-block!important}body:not(.wp-admin) #wpacu_wrap_assets code{display:block!important}#wpacu_wrap_assets{color:#000!important;text-align:left!important;clear:both!important;width:90%!important;padding:20px!important;margin:30px 0 0 15px!important;border:1px solid #cdcdcd;z-index:10000!important;position:relative!important;background-color:#fff!important}#wpacu_wrap_assets div.wpacu_warning{border:1px solid #c00;padding:5px 10px}#wpacu_wrap_assets small{display:inline!important;margin:0!important;letter-spacing:normal!important}#wpacu_wrap_assets input[type=checkbox]{width:auto!important;margin-right:4px!important}#wpacu_wrap_assets img:not(.wpacu-ajax-loader){display:inline-block!important}#wpacu_wrap_assets p{line-height:22px!important;margin:10px 0!important;text-align:left!important;font-weight:400!important}#wpacu_wrap_assets p:first-child{margin:0 0 10px!important}#wpacu_wrap_assets h1{margin:0 0 20px!important;font-size:160%!important;text-align:left!important}#wpacu_wrap_assets h3{margin:20px 0;font-size:130%}#wpacu_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:30px}#wpacu_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}.wpacu_verified{margin:0 0 10px 0!important}.wpacu_asset_row div.select{display:inline-block;width:auto}.wpacu_asset_row:first-child td{border-top:1px solid #cdcdcd}.wpacu_asset_row td{border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row.wpacu_notice_row td{position:relative;padding:5px;border-bottom:1px solid transparent}.wpacu_asset_row.wpacu_notice_row td div.wpacu-warning{width:auto;margin:5px;font-style:italic}.wpacu_asset_row:not(.wpacu_notice_row) td{padding:18px!important;position:relative}.wpacu_asset_row:not(.wpacu_notice_row) td[data-wpacu-row-status=contracted]{padding:18px 18px 8px!important}.wpacu_asset_row:not(.wpacu_notice_row) td.wpacu_selected,.wpacu_asset_row:not(.wpacu_notice_row) td:hover{-moz-box-shadow:inset 0 0 12px #cdcdcd;-webkit-box-shadow:inset 0 0 12px #cdcdcd;box-shadow:inset 0 0 12px #cdcdcd}.wpacu_asset_row:not(.wpacu_notice_row) td p{padding:0!important;margin-bottom:8px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row:not(.wpacu_notice_row) td label{width:auto!important;margin:0!important;cursor:pointer!important;display:inline-block!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row:not(.wpacu_notice_row) td label span:not(.dashicons){font-size:100%!important}.wpacu_asset_row:not(.wpacu_notice_row) td.wpacu_check{width:50px!important}.asset-table-extra-info td{padding:5px!important}body.wp-admin .wpacu_asset_row td.wpacu_check{width:25px!important}.wpacu_asset_row .dashicons-warning,.wpacu_asset_row .dashicons-wordpress-alt{color:red!important}.wpacu_asset_row .dashicons-wordpress-alt{font-size:17px;vertical-align:middle}label.wpacu_add_global{cursor:pointer!important}label.wpacu_input_load_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}tr.wpacu_bulk_change_row.wpacu_selected,tr.wpacu_global_rule_row.wpacu_selected,tr.wpacu_remove_preload_row.wpacu_selected{background:#e7e7e7}.wpacu-sub-page-tabs-wrap{min-width:320px;margin:0 auto 15px auto;border-bottom:1px solid #ccc}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label{display:inline-block;position:relative;border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-right:1px solid rgba(40,44,42,.1)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a{display:block;margin:0;padding:15px 25px;font-weight:400;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:0;text-decoration:none;background:rgba(40,44,42,.05)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a:hover{background:#f1f1f1;color:#008f9c}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected{color:#008f9c;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:2px solid #008f9c;border-bottom:1px transparent;margin-bottom:-2px}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected a{background:#f1f1f1;color:#008f9c;font-weight:600}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}.nav-tab-wrapper.nav-assets-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 10px}.nav-tab-wrapper.nav-assets-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}.nav-tab-wrapper.nav-critical-css-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 20px 6px 10px;position:relative}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status{position:absolute;right:5px;top:13px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-on{background:#52af00}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-off{background:#ccc}.nav-tab-wrapper.nav-critical-css-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}ul#wpacu_custom_pages_nav_links{list-style:none}ul#wpacu_custom_pages_nav_links li{position:relative;display:inline-block;margin:0 30px 0 0}ul#wpacu_custom_pages_nav_links li a{text-decoration:none}ul#wpacu_custom_pages_nav_links li a:hover{text-decoration:underline}ul#wpacu_custom_pages_nav_links li.wpacu-current{text-decoration:underline;font-weight:700}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status{position:absolute;right:-15px;top:5px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-on{background:#52af00}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-off{background:#ccc}ul#wpacu_custom_pages_nav_links li:last-child:after,ul#wpacu_custom_pages_nav_links li:last-child:before{content:""}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 10px 0 0;list-style:none;display:inline-block;line-height:normal}ul.wpacu_asset_options li.remove_rule label{font-weight:700}ul.wpacu_asset_options label{margin-right:20px;font-weight:400}ul.wpacu_asset_options label input{margin-right:4px}.wpacu_list_table{width:100%;font-weight:400}.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.wpacu_widefat{width:99%}.wpacu_striped>tbody>:nth-child(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{width:auto;-moz-box-shadow:inset 0 1px 0 0 #54a3f7!important;-webkit-box-shadow:inset 0 1px 0 0 #54a3f7!important;box-shadow:inset 0 1px 0 0 #54a3f7!important;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#007dc1),color-stop(1,#0061a7))!important;background:-moz-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-webkit-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-o-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-ms-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:linear-gradient(to bottom,#007dc1 5%,#0061a7 100%)!important;background-color:#007dc1!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important;border-radius:3px!important;border:1px solid #124d77!important;display:inline-block!important;cursor:pointer!important;color:#fff!important;font-size:15px!important;padding:10px 24px!important;text-decoration:none!important;text-shadow:0 1px 0 #154682!important;height:auto!important;line-height:normal!important}.wpacu_update_btn.wpacu_submitting,.wpacu_update_btn:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#0061a7),color-stop(1,#007dc1))!important;background:-moz-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-webkit-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-o-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-ms-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:linear-gradient(to bottom,#0061a7 5%,#007dc1 100%)!important;background-color:#0061a7!important}.wpacu_update_btn.wpacu_submitting{cursor:default!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}.wpacu-btns a{text-decoration:none}.wpacu-btns .btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wpacu-btns .btn:focus,.wpacu-btns .btn:hover{text-decoration:none}.wpacu-btns .btn.focus,.wpacu-btns .btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.wpacu-btns .btn.disabled,.wpacu-btns .btn:disabled{cursor:not-allowed;opacity:.65}.wpacu-btns .btn.active,.wpacu-btns .btn:active{background-image:none}.wpacu-btns a.btn.disabled,.wpacu-btns fieldset[disabled] a.btn{pointer-events:none}.wpacu-btns .btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.wpacu-btns .btn-primary.focus,.wpacu-btns .btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-primary.disabled,.wpacu-btns .btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary.active,.wpacu-btns .btn-primary:active,.wpacu-btns .show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.wpacu-btns .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.wpacu-btns .btn-secondary.focus,.wpacu-btns .btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-secondary.disabled,.wpacu-btns .btn-secondary:disabled{background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary.active,.wpacu-btns .btn-secondary:active,.wpacu-btns .show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.wpacu-btns .btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.wpacu-btns .btn-info.focus,.wpacu-btns .btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-info.disabled,.wpacu-btns .btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info.active,.wpacu-btns .btn-info:active,.wpacu-btns .show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.wpacu-btns .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.wpacu-btns .btn-success.focus,.wpacu-btns .btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-success.disabled,.wpacu-btns .btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success.active,.wpacu-btns .btn-success:active,.wpacu-btns .show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.wpacu-btns .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.wpacu-btns .btn-warning.focus,.wpacu-btns .btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-warning.disabled,.wpacu-btns .btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning.active,.wpacu-btns .btn-warning:active,.wpacu-btns .show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.wpacu-btns .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.wpacu-btns .btn-danger.focus,.wpacu-btns .btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-danger.disabled,.wpacu-btns .btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger.active,.wpacu-btns .btn-danger:active,.wpacu-btns .show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.wpacu-btns .btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.wpacu-btns .btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-primary.focus,.wpacu-btns .btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-outline-primary.disabled,.wpacu-btns .btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.wpacu-btns .btn-outline-primary.active,.wpacu-btns .btn-outline-primary:active,.wpacu-btns .show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.wpacu-btns .btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-secondary.focus,.wpacu-btns .btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-outline-secondary.disabled,.wpacu-btns .btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.wpacu-btns .btn-outline-secondary.active,.wpacu-btns .btn-outline-secondary:active,.wpacu-btns .show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.wpacu-btns .btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-info.focus,.wpacu-btns .btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-outline-info.disabled,.wpacu-btns .btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.wpacu-btns .btn-outline-info.active,.wpacu-btns .btn-outline-info:active,.wpacu-btns .show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.wpacu-btns .btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-success.focus,.wpacu-btns .btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-outline-success.disabled,.wpacu-btns .btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.wpacu-btns .btn-outline-success.active,.wpacu-btns .btn-outline-success:active,.wpacu-btns .show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning.focus,.wpacu-btns .btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-outline-warning.disabled,.wpacu-btns .btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.wpacu-btns .btn-outline-warning.active,.wpacu-btns .btn-outline-warning:active,.wpacu-btns .show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.wpacu-btns .btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-outline-danger.focus,.wpacu-btns .btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-outline-danger.disabled,.wpacu-btns .btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.wpacu-btns .btn-outline-danger.active,.wpacu-btns .btn-outline-danger:active,.wpacu-btns .show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-link{font-weight:400;color:#0275d8;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.wpacu-btns .btn-link,.wpacu-btns .btn-link.active,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:disabled{background-color:transparent}.wpacu-btns .btn-link,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:focus{border-color:transparent}.wpacu-btns .btn-link:hover{border-color:transparent}.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.wpacu-btns .btn-link:disabled{color:#636c72}.wpacu-btns .btn-link:disabled:focus,.wpacu-btns .btn-link:disabled:hover{text-decoration:none}.wpacu-btns .btn-group-lg>.btn,.wpacu-btns .btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;-webkit-border-radius:.3rem;-moz-border-radius:.3rem;border-radius:.3rem}.wpacu-btns .btn-group-sm>.btn,.wpacu-btns .btn-sm{padding:.25rem .5rem;font-size:.875rem;-webkit-border-radius:.2rem;-moz-border-radius:.2rem;border-radius:.2rem}.wpacu-btns .btn-block{display:block;width:100%}.wpacu-btns .btn-block+.btn-block{margin-top:.5rem}.wpacu-btns input[type=button].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=submit].btn-block{width:100%}.wpacu-btns .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.go-pro-button{background-color:#4caf50;border:2px solid #4caf50;color:#fff;padding:12px 18px;text-align:center;text-decoration:none;display:inline-block;font-size:16px;margin:4px 2px;cursor:pointer;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;-webkit-transition-duration:.4s;transition-duration:.4s}.go-pro-button:hover{background-color:#fff;color:#000;border:2px solid #4caf50;text-decoration:none}.wpacu-restore-pos-btn{font-size:14px!important;line-height:normal!important;height:42px!important;padding:0 18px!important;margin-top:10px!important}body.wp-admin .wpacu_asset_row .go-pro-link-no-style .wpacu-tooltip{padding:8px 2px}body.wp-admin .go-pro-link-no-style .wpacu-tooltip{text-shadow:none;font-weight:400;font-size:12px;line-height:16px;padding:8px 11px}.go-pro-link-no-style{position:relative;display:inline-block;color:inherit;text-decoration:none}.go-pro-link-no-style:not(.nav-tab){font-style:italic}.go-pro-link-no-style.no-transition .wpacu-tooltip{-webkit-transition:0s all ease;transition:0s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style>img{max-width:20px;max-height:20px}.go-pro-link-no-style .wpacu-tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#00a7a7;color:#fff;text-align:center;padding:8px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-65px;-webkit-transition:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .wpacu-tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#00a7a7 transparent transparent transparent}.go-pro-link-no-style .wpacu-tooltip.wpacu-on-pages-btn{cursor:pointer;margin-left:-77px;width:130px}.go-pro-link-no-style .wpacu-tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .wpacu-tooltip{visibility:visible}.wpacu_list_table tr:first-child .wordpress-core-file .wpacu-tooltip{bottom:-40px;left:120px;margin-left:-86px}.wpacu_list_table tr:first-child .wordpress-core-file .wpacu-tooltip:after{top:41px;left:-20px;border-color:transparent #c00 transparent transparent}.wordpress-core-file{position:relative;display:inline-block;font-style:normal;color:inherit;text-decoration:none}.wordpress-core-file .wpacu-tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#c00;color:#fff;text-align:center;padding:6px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-86px;-webkit-transition:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.wordpress-core-file .wpacu-tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#c00 transparent transparent transparent}.wordpress-core-file:hover .wpacu-tooltip{visibility:visible}.ajax-direct-call-error-area{background:#fff;padding:10px;border:1px solid #c00;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px}.ajax-direct-call-error-area td{padding:6px}.ajax-direct-call-error-area .note{margin-top:0;padding-top:0}.ajax-direct-call-error-area .error-code{color:#c00;font-weight:700}.ajax-wp-remote-post-call-error-area{background:#fff;padding:20px}.ajax-wp-remote-post-call-error-area .table-data{background:#ffaf5512;border:1px solid #c66;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ajax-wp-remote-post-call-error-area .table-data td{padding:10px}.wrap-upgrade-info{background:#fff;padding:0 15px;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-notice{margin:20px 20px 0 0!important}.wpacu-notice p{font-weight:600!important;font-style:italic}.wpacu-notice .dashicons{font-weight:inherit!important;color:#46b450!important;margin-right:4px;vertical-align:text-bottom;font-size:27px}.wpacu-notice-info{padding:12px 12px 12px 16px;background:#fff;border-left:4px solid #008f9c}.wpacu-notice-info p{margin-top:8px}.wpacu-notice-info p:first-child{margin-top:0}.wpacu-notice-info p:last-child{margin-bottom:0}.wpacu-warning{font-size:15px;padding:10px;background:#fffcec;border:1px solid #fdd5c9;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin:0 0 5px;width:100%}.pro-page-unlock-notice{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;padding:10px;background:#f2faf2;border:1px solid #c0e8c0;width:auto;display:block}.wpacu-license-area .notice,.wpacu-settings-area .notice{margin-left:0;padding:10px!important;width:97%;box-sizing:border-box;font-weight:600;font-style:italic}.wpacu-license-area .notice .dashicons,.wpacu-settings-area .notice .dashicons{color:green}#wpacu-allow-manage-assets-to-select-list-area{display:inline-block}#wpacu-dom-get-type-selections,.wpacu-radio-selections{float:none;clear:both;width:auto;display:inline-block;margin-bottom:0;margin-top:0}#wpacu-dom-get-type-selections.wpacu-vertical,.wpacu-radio-selections.wpacu-vertical{display:block;margin-top:15px;margin-bottom:18px}#wpacu-dom-get-type-selections.wpacu-vertical li,.wpacu-radio-selections.wpacu-vertical li{float:none;margin-bottom:12px}#wpacu-dom-get-type-selections.wpacu-vertical li:last-child,.wpacu-radio-selections.wpacu-vertical li:last-child{margin-bottom:0}#wpacu-dom-get-type-selections li,.wpacu-radio-selections li{margin-right:30px;float:left;margin-bottom:0}#wpacu-dom-get-type-selections li:first-child,.wpacu-radio-selections li:first-child{margin-right:15px}#wpacu-dom-get-type-selections li:last-child,.wpacu-radio-selections li:last-child{margin-right:0}.wpacu_combine_loaded_js_level_area{display:none;background:#008f9c0a;border-left:2px solid #008f9c;padding-top:8px;padding-bottom:8px;padding-right:10px;padding-left:10px;margin:20px 0 15px}.wpacu_combine_loaded_js_level_area.wpacu_active{display:block}#wpacu-dom-get-type-infos{margin-bottom:0}#wpacu-dom-get-type-infos li{margin-bottom:0;line-height:20px}.wpacu-wrap li,.wpacu-wrap p,.wpacu-wrap td{font-weight:400}.wpacu-wrap small{width:auto;float:none;display:inline}.wpacu-wrap small code{font-size:inherit!important}.wpacu-wrap.wpacu-settings-show-all .wpacu-settings-tab-content{display:block;width:100%}.wpacu-wrap.wpacu-settings-show-all .wpacu-settings-area-title{color:#004567;padding:16px 15px;background:#f8f8f8;border-left:5px solid #004567b0;border-top:1px solid #e7e7e7;border-right:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;font-size:1.45em;font-weight:500}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area{margin:0}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .submit{margin:0}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .button{padding-left:18px;padding-right:18px;height:46px;font-size:18px}.wpacu-wrap.wpacu-settings-show-all #wpacu-updating-settings{margin-left:224px;top:35px;left:3px}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch{width:auto;height:auto}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch input,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch input{display:block}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox],.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox]{margin:0 0 3px}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch .wpacu_slider,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch .wpacu_slider{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text{width:65px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:before{left:14px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:after{top:5px;position:absolute;content:"OFF";color:#fff;right:9px;font-weight:600}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:before{left:18px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:after{top:5px;position:absolute;content:"ON";color:#fff;left:14px;font-weight:600}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled{opacity:.3}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:5px;right:2px;z-index:1000}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle{margin-top:4px;line-height:1.4}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em{font-weight:200}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_read_more,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_read_more{margin-top:-10px;font-style:italic;font-size:12px}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices,.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices{list-style:none;margin:0}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices li,.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices li{float:left;margin-right:30px}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li:last-child,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices li:last-child{margin-right:0}#wpacu-assets-list-by-location-selected{background:0 0;border:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:8px;clear:both}.notice.notice-success+.wpacu-wrap.wpacu-settings-area{margin-top:20px}.wpacu-license-action-btn-area{margin-top:0;position:relative;display:inline-block}.wpacu-license-spinner{display:none;position:absolute;right:-30px;top:4px}.wpacu-license-spinner img{width:20px;height:20px}#wpacu-activation-issues-info{border-radius:10px;width:90%;margin-top:20px;font-size:14px;padding:6px 20px;background:#fff;border:1px solid #e7e7e7}#wpacu-activation-issues-info ol li{font-size:13px;margin-bottom:10px}#wpacu-mark-license-area-wrap{margin:15px 0}.wpacu-form-table.wpacu-license th{width:120px}.wpacu-form-table th{vertical-align:top;text-align:left;padding:5px 20px 20px 0;width:200px;line-height:1.3;font-weight:600}.wpacu-form-table th label{color:#23282d;font-weight:600;font-size:14px;text-shadow:none;vertical-align:middle;cursor:pointer}.wpacu-form-table td{padding-bottom:25px}.wpacu-form-table td:last-child p:last-child{margin:0}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox],.wpacu-form-table label input[type=checkbox]{height:20px;width:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:hover,.wpacu-form-table label input[type=checkbox]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:checked{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled,.wpacu-form-table label input[type=checkbox]:disabled{border:none}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled:checked,.wpacu-form-table label input[type=checkbox]:disabled:checked{opacity:.3}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked:before,.wpacu-form-table label input[type=checkbox]:checked:before{color:#52af00;font:normal 24px/1 dashicons}.wpacu-form-table .wpacu-fancy-radio input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;position:relative;height:20px;width:20px;margin:2px 0 0 0}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked:before{background:#c00;color:#c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:hover{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked:before{margin:0;line-height:inherit;text-indent:inherit;content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;border-radius:50%;background:#52af00;color:#52af00;font:normal 24px/1 dashicons}#wpacu-settings-vertical-tab-wrap{display:table;width:100%}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text{margin:4px 0 0 0}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small{font-weight:lighter}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap{position:relative;padding-left:14px}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status{position:absolute;left:0;top:2px;height:10px;width:10px;border-radius:50%;display:inline-block;opacity:.75}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-on{background:#52af00}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-off{background:#ccc}#wpacu-settings-vertical-tab-wrap *{box-sizing:border-box}.wpacu-settings-tab{display:table-cell;width:20%;height:100%;vertical-align:top}.wpacu-settings-tab a{text-decoration:none;border-left:3px solid transparent;display:block;background-color:#f1f1f1;color:#004567;padding:17px 16px;width:100%;outline:0;text-align:left;cursor:pointer;font-size:14px;font-weight:600;border-bottom:1px solid #ccc}.wpacu-settings-tab a:first-child{border-top:1px solid transparent!important}.wpacu-settings-tab a:last-child{border-bottom:1px solid transparent!important}.wpacu-settings-tab a:hover{background-color:#fff;border-left:3px solid #004567;position:relative}.wpacu-settings-tab a.active{color:#004567;background-color:#fff;border-left:3px solid #004567;position:relative;border-bottom:1px solid #ccc}.wpacu-settings-tab a.active:after{content:"";position:absolute;height:100%;width:1px;top:0;right:-1px;background-color:#fff}.wpacu-settings-tab-content{background-color:#fff;display:none;padding:12px 18px;width:79%;border-left:none;height:100%;border-top-right-radius:10px;border-bottom-right-radius:10px}.wpacu-settings-tab-content h2{padding:0 0 15px;border-bottom:1px solid #e7e7e7}.wpacu-settings-tab-content.active{display:table-cell}#wpacu_minify_css_exceptions_area{margin:16px 0 0}#wpacu_minify_js_exceptions_area{margin:16px 0 0}@media only screen and (min-width:768px){body.asset-cleanup-pro_page_wpassetcleanup_assets_manager #wpacu-update-button-area,body.asset-cleanup_page_wpassetcleanup_assets_manager #wpacu-update-button-area{position:-webkit-sticky;position:sticky;bottom:0;padding:0;z-index:1000000;border-top:1px solid #cdcdcd;background:#f1f1f1}}body[class*=version-5-3] #wpacu-update-button-area .button{height:auto;padding:4px 18px 6px;font-size:15px}body[class*=version-5-3] #wpacu-updating-settings{margin-left:178px}#wpacu-update-button-area{position:relative;margin-left:20%}#wpacu-update-button-area.no-left-margin{margin-left:0}#wpacu-update-button-area .submit{margin:0;padding:19px 0}#wpacu-update-button-area .button{padding-left:18px;padding-right:18px;height:46px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:28px;display:none}#wpacu-updating-settings.wpacu-show{display:block}#combine_loaded_js_info_area{position:relative}#combine_loaded_js_info_area.locked-for-pro:before{position:absolute;content:"";height:100%;width:100%;background:#fff;opacity:.5;z-index:10000}.google_fonts_load_types{clear:both;margin:20px 0 15px;display:flex}.google_fonts_load_types>div{text-align:left}.google_fonts_load_types>div input{float:left;margin:0 7px 20px 0!important}.wpacu-sub-tabs-wrap{min-width:320px;margin:0 auto}.wpacu-sub-tabs-wrap input.wpacu-nav-input{display:none}.wpacu-sub-tabs-wrap label.wpacu-nav-label{display:inline-block;margin:0 0 -1px;padding:15px 25px;font-weight:600;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:3px solid transparent;border-bottom:0}.wpacu-sub-tabs-wrap label.wpacu-nav-label:hover{cursor:pointer}.wpacu-sub-tabs-wrap input.wpacu-nav-input:checked+label.wpacu-nav-label{color:#004567;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:3px solid #004567;border-bottom:1px solid #fff}.wpacu-sub-tabs-wrap section{display:none;padding:20px 0 0;border-top:1px solid #ccc}#wpacu-google-fonts-optimize-tab-item:checked~#wpacu-google-fonts-optimize-tab-item-area,#wpacu-google-fonts-remove-tab-item:checked~#wpacu-google-fonts-remove-tab-item-area{display:block}.wpacu-fade-in{animation:wpacuFadeIn ease-in .2s;-webkit-animation:wpacuFadeIn ease-in .2s;-moz-animation:wpacuFadeIn ease-in .2s;-o-animation:wpacuFadeIn ease-in .2s;-ms-animation:wpacuFadeIn ease-in .2s}@keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-ms-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}body.wp-admin select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:6px}body.wp-admin div.wpacu-helper-area{display:inline-block;vertical-align:top}body.wp-admin .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-bottom:10px}body.wp-admin .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body.wp-admin .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body.wp-admin .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}body.wp-admin .wpacu-handle-notes p{margin-top:0!important}body.wp-admin .wpacu-handle-notes p a{font-size:inherit}body.wp-admin .wpacu-handle-notes p a span.dashicons{font-size:19px;width:19px;height:19px;vertical-align:bottom;text-decoration:none}body:not(.wp-admin) select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:8px;width:auto}body:not(.wp-admin) div.wpacu-helper-area{display:inline-block;vertical-align:top}body:not(.wp-admin) .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-top:10px;margin-bottom:10px}body:not(.wp-admin) .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body:not(.wp-admin) .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body:not(.wp-admin) .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}body:not(.wp-admin) .wpacu-handle-notes p{margin-top:0!important}body:not(.wp-admin) .wpacu-handle-notes p a{font-size:inherit}body:not(.wp-admin) .wpacu-handle-notes p a span.dashicons{font-size:19px;width:19px;height:19px;vertical-align:bottom;text-decoration:none}.wpacu-handle-notes{padding-top:5px;margin-bottom:-10px;border-top:1px solid #e7e7e7}.wpacu-handle-notes .wpacu-handle-notes-field{display:none}.wpacu-handle-notes .wpacu-handle-notes-field>textarea{font-size:85%;padding:6px;width:320px;max-width:100%}.wpacu-handle-notes p{margin:10px 0 0!important}.wpacu-handle-notes p a.wpacu-add-handle-note{text-decoration:none;font-size:80%;display:inline-block;color:inherit}.wpacu-handle-notes p a.wpacu-add-handle-note span.dashicons{font-size:18px;width:18px;height:18px}.wrap_bulk_unload_options{width:auto;display:block;clear:both}.wrap_bulk_unload_options .wpacu_asset_options_wrap{display:inline-block;float:left;margin:5px 10px 14px 0!important;padding:8px 10px 12px!important}.wrap_bulk_unload_options .wpacu_asset_options_wrap .wpacu_slider_text{position:relative!important;vertical-align:top;left:inherit!important;top:inherit!important}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch{position:relative;display:inline-block;min-width:52px;width:52px;height:29px;margin-right:5px!important}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input{display:none}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.15s;transition:.15s}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.15s;transition:.15s}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:checked+.wpacu_slider{background-color:#c00}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #c00}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch.wpacu_disabled{opacity:.3}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:1px;right:2px;z-index:1000}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu-wrap{width:98%}.wpacu-wrap tr.wpacu_regex_rule_row{opacity:.45}.wpacu-wrap tr.wpacu_regex_rule_row textarea{line-height:normal;min-height:20px;min-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu-wrap tr.wpacu_regex_rule_row textarea:focus{width:100%}.wpacu-wrap tr.wpacu_regex_rule_row.wpacu_enabled{opacity:1}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small{position:relative;display:inline-block;min-width:30px;width:30px;height:17px;margin-right:5px!important}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider:before{position:absolute;content:"";height:13px;width:13px;left:2px;bottom:2px;background-color:#fff;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider:before{-webkit-transform:translateX(13px);-ms-transform:translateX(13px);transform:translateX(13px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round{border-radius:17px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round:before{border-radius:50%}.editor-post-saved-state.is-wpacu-reloading{animation:edit-post__loading-fade-animation .5s infinite}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract .dashicons{width:19px;height:19px;font-size:19px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{right:20px;top:-2px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{left:20px;top:-2px}body.wp-admin tr.wpacu_asset_row.wpacu-loading{position:relative}body.wp-admin tr.wpacu_asset_row.wpacu-loading .wpacu-ajax-loader{display:block!important}body.wp-admin tr.wpacu_asset_row .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}.wpacu_asset_row.wpacu_not_load .wpacu_dependency_notice_area em{color:#c00}.wpacu_asset_row input.wpacu_load_exception:checked+span{color:green}.wpacu_asset_row .wpacu-hardcoded-code-area{margin:0}.wpacu_asset_row .wpacu-hardcoded-code-area span.wpacu_inside_cond_comm{display:block;margin-bottom:8px}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more{max-height:300px;position:relative;overflow:hidden}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more p.wpacu-view-more-link-area{position:absolute;bottom:0;left:0;width:100%;margin:0;padding:20px 0 15px 15px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fbfbfb8c 100%);background:-webkit-linear-gradient(top,rgba(255,255,255,0) 0,#fbfbfb8c 100%)}.wpacu_asset_row .wpacu-hardcoded-code-area pre{margin:0;padding:0 0 8px;white-space:pre-wrap;white-space:break-spaces;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row .wpacu-hardcoded-code-area code{color:inherit;font-style:italic;margin-left:2px;word-break:break-word}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu-source-row{margin-top:0}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu_handle_row_expand_contract_area{right:18px;top:18px;background:inherit;z-index:100}.wpacu_asset_row>td{background:inherit;overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-all}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_file_size_area{margin:10px 0}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_expanded{display:block}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_file_size_area{margin:0}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted{display:block}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted code{width:100%}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_expanded{display:none}.wpacu_asset_row>td div.wpacu_dependency_notice_area{line-height:22px;margin:10px 0;text-align:left!important;font-weight:400!important}.wpacu_asset_row>td div.wpacu-source-row{margin-top:12px}.wpacu_asset_row>td div.wpacu-source-row a{word-break:break-word}.wpacu_asset_row>td .wpacu_hide_if_handle_row_contracted{display:inline-block}.wpacu_asset_row>td[data-wpacu-row-status=contracted]>div{float:left;margin-top:0;margin-right:20px;margin-bottom:10px}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hide_if_handle_row_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area{background:inherit}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus-visible,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:visited{text-decoration:none;border:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:0;-webkit-transition:-webkit-transform .3s,opacity .2s;-moz-transition:-moz-transform .3s,opacity .2s;transition:transform .3s,opacity .2s}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{position:absolute;right:20px;top:-4px;content:"[";-webkit-transform:translateX(20px);-moz-transform:translateX(20px);transform:translateX(20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{position:absolute;left:20px;top:-4px;content:"]";-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);transform:translateX(-20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{color:green}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}.wpacu_asset_row .wpacu_handle_row_expand_contract_area{background:inherit;position:absolute;right:20px;top:20px;float:none!important;margin:0!important}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{background:inherit;color:#000;text-decoration:none}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{text-decoration:none}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract span.dashicons{background:inherit}.wpacu_asset_row input{width:auto;height:auto;min-height:16px}.wpacu_asset_row .tip{background:inherit;border-left:4px solid #e7e7e7;margin:10px 0;padding:7px;font-style:italic;font-size:small;line-height:1.4}.wpacu_asset_row td{width:100%;text-align:left}.wpacu_asset_row td p:last-child{margin-bottom:0!important}.wpacu_asset_row td .wpacu_asset_options_wrap{padding:8px 10px;margin:15px 0;background:#fff;border:1px solid #eee;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row td .wpacu_asset_options_wrap p:first-child{margin-top:0;margin-bottom:8px!important}.wpacu_asset_row div.wpacu_handle{margin:0 0 -8px}.wpacu_asset_row p.wpacu_handle{margin-top:0}.wpacu_asset_row li.wpacu_unload_this_page{display:block!important;position:relative}.wpacu-contract-expand-area{width:100%;margin:20px 0 0}.wpacu-contract-expand-area .col-left{float:left}.wpacu-contract-expand-area .col-left h4{margin-bottom:0}.wpacu-contract-expand-area .col-right{float:right}.wpacu-clearfix{clear:both;height:0}.wpacu-clearfix:before{content:"";display:table}.wpacu-clearfix:after{content:"";display:table;clear:both}.wpacu-wp-button{color:#555;border-color:#ccc;background:#f7f7f7;box-shadow:0 1px 0 #ccc;vertical-align:top}body.wp-admin .wpacu-wp-button{font-size:13px;line-height:26px;height:28px}.wpacu-wp-button.wpacu-wp-button-secondary{display:inline-block;text-decoration:none;height:auto;margin:0 5px 0 0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wpacu-wp-button:hover{background:#fafafa;border-color:#999;color:#23282d}.distinguish-asset-list{list-style:none;margin-left:0;margin-bottom:5px;display:inline-block}.distinguish-asset-list li{float:left;margin-right:20px}.distinguish-asset-list li:last-child{margin-right:0}body[class*=asset-cleanup-pro] a.wpacu-plugin-contracted-wrap-link{padding:16px 6px 16px 41px!important}body[class*=asset-cleanup-pro] .wpacu-area-open .wpacu-plugin-toggle-all{font-size:12px!important;width:calc(100% - 26px)!important}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all{top:5px}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all ul li{font-size:12px!important}.wpacu-assets-collapsible-wrap{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location{margin-bottom:15px}.wpacu-assets-collapsible-wrap.wpacu-wrap-all{margin-top:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-area{margin-top:10px}.wpacu-assets-collapsible-wrap.wpacu-by-location>a.wpacu-assets-collapsible{padding:15px 15px 15px 43px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu_list_table{border-width:0;margin:0;border-spacing:inherit;width:100%;box-shadow:3px 3px 2px #ddd;border-bottom-right-radius:5px;border-top-right-radius:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location span.wpacu-child-location-name{font-weight:600}.wpacu-assets-collapsible-wrap.wpacu-by-location span.wpacu-child-location-version{font-weight:200}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area[data-wpacu-plugin=oxygen] .icon-area{border-radius:50%}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:0;font-size:13px;width:100%;width:calc(100% + 46px);min-width:250px;position:absolute;left:100%;left:calc(100% + 6px);margin:0;top:4px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul{display:inline-block;margin:0;list-style:none;padding-left:13px;padding-top:0}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li{padding:0;margin:0;line-height:normal;font-size:14px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li:first-child{font-style:italic;margin-bottom:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;position:relative;padding:9px 10px 10px 15px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title:after{content:"";position:absolute;width:100%;left:0;bottom:0;height:1px;background-color:#fdfdfd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap{padding:0 0 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open.wpacu-plugin-assets-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:7px 12px 8px;font-size:14px;width:100%;text-align:left;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all+.wpacu-plugin-toggle-all{padding:2px 12px 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link{color:inherit;text-decoration:none;font-weight:inherit;font-style:inherit;font-size:105%;line-height:initial;position:relative;height:auto;margin:14px 0 0;padding:13px 6px 14px 39px;position:relative;display:block}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:after{position:absolute;font-size:18px;font-family:Dashicons!important;right:12px;top:14px;content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open:after{content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover{border:1px solid #878787;background:#f9f9f9}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover.wpacu-link-closed{box-shadow:3px 3px 2px #ddd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open{border-top:1px solid #cdcdcd;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:none}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed.wpacu-last-wrap-link{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default{top:10px;left:10px;width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area{width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area:before{font-size:22px;line-height:22px;top:4px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title{position:relative;padding:17px 10px 16px 46px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title:after{content:"";position:absolute;width:100%;left:0;bottom:0;height:1px;background-color:#fdfdfd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-area-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-open{padding:0;max-height:100%}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-closed{padding:0;overflow:hidden;max-height:0}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{margin-top:0;margin-bottom:-1px;padding:14px 10px 16px 12px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title.wpacu-theme-has-icon{padding:18px 10px 16px 58px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area{margin-top:22px;margin-bottom:-1px;font-size:110%;line-height:initial}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-location-child-area-first{margin-top:2px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-area-expanded .wpacu-area-title{display:inline-block;z-index:1;padding:17px 10px 16px 46px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;border-top-right-radius:8px;border-top-left-radius:8px;background-color:#f9f9f9;border-left:1px solid #cdcdcd;border-top:1px solid #cdcdcd;border-bottom:1px solid transparent;border-right:1px solid #cdcdcd;position:relative}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default:not(.has-icon){color:#b4b9be;background-color:#eee;box-shadow:inset 0 0 10px rgba(160,165,170,.15);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default:not(.has-icon) .icon-area:before{content:"";font-family:Dashicons!important;position:absolute;font-size:28px;line-height:28px;top:5px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-theme{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-theme .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-wp_core{border:1px solid #c00}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content{padding:0}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table{width:100%;margin:0}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row td,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row td{border-left:hidden;border-right:hidden;border-bottom:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child{margin-bottom:0!important}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child td:last-child,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child td:last-child{border-bottom:hidden}a.wpacu-assets-collapsible{color:#000;font-size:20px;text-decoration:none;display:block;position:relative;background-color:#f1f3f8;cursor:pointer;padding:15px 15px 15px 36px;width:auto;border:none;text-align:left;outline:0}a.wpacu-assets-collapsible>span.dashicons{font-size:25px;line-height:normal;position:absolute;top:15px;top:calc(50% - 21px);left:22px;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}a.wpacu-assets-collapsible:hover{background-color:#f1f3f8;text-decoration:none}a.wpacu-assets-collapsible:after{position:absolute;font-size:22px;font-family:Dashicons!important;right:14px;top:16px}a.wpacu-assets-collapsible:not(.wpacu-assets-collapsible-active):after{content:""}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active{background-color:#f1f3f8}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active:after{content:""}.wpacu-assets-collapsible-content{padding:0 16px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-collapsible-content .wpacu-assets-note{margin:0;padding:15px 15px 10px}.wpacu-assets-collapsible-content>div:not(.wpacu-assets-table-list-wrap){padding:16px 0 0}.wpacu-assets-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-collapsible-content.wpacu-open{max-height:100%}a.wpacu-assets-inline-code-collapsible{color:inherit;font-size:14px;text-decoration:none;display:inline-block;position:relative;cursor:pointer;width:auto;outline:0;background:#f1f3f8;border:1px solid #cdcdcd;padding:4px 21px 4px 8px;margin:0 0 0 6px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}a.wpacu-assets-inline-code-collapsible:hover{border:1px solid #5c5c5c}a.wpacu-assets-inline-code-collapsible:after{position:absolute;font-size:15px;font-family:Dashicons!important;right:-3px;top:-1px;width:14px;height:14px;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}a.wpacu-assets-inline-code-collapsible:not(.wpacu-assets-inline-code-collapsible-active):after{content:""}a.wpacu-assets-inline-code-collapsible.wpacu-assets-inline-code-collapsible-active:after{content:""}.wpacu-assets-inline-code-collapsible-content{padding:0 8px 2px 0;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-inline-code-collapsible-content>div{padding:7px 8px 0}.wpacu-assets-inline-code-collapsible-content>div>p{line-height:normal!important}.wpacu-assets-inline-code-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-inline-code-collapsible-content.wpacu-open{max-height:100%}.wpacu_asset_row p div.select{display:inline-block}.wpacu-wrap-choose-position{display:inline}.wpacu-wrap-choose-position>div{display:inline-block}.wpacu-wrap-choose-position select{width:auto;font-size:inherit;display:inline;margin-left:6px;margin-right:4px}.wpacu-wrap-choose-position>.select>.select{display:inline}.wpacu-wrap-choose-position>.select>.select select{padding-right:30px}.wpacu-wrap-choose-position>.select>.select:after{right:15px;top:-4px}.wpacu_handle_unload_regex_input_wrap,.wpacu_load_regex_input_wrap{display:block;width:100%}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea{line-height:normal;min-height:40px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus{width:100%}body.logged-in:not(.wp-admin) .wpacu-view-more-code{box-shadow:inset 0 1px 0 0 #fff;background:linear-gradient(to bottom,#f9f9f9 5%,#e9e9e9 100%);background-color:#f9f9f9;border-radius:6px;border:1px solid #dcdcdc;display:inline-block;cursor:pointer;color:#666;font-size:inherit;font-weight:700;padding:6px 24px;text-decoration:none;text-shadow:0 1px 0 #fff}body.logged-in:not(.wp-admin) .wpacu-view-more-code:hover{background:linear-gradient(to bottom,#e9e9e9 5%,#f9f9f9 100%);background-color:#e9e9e9}body.logged-in:not(.wp-admin) .wpacu-view-more-code:active{position:relative;top:1px}.wpacu_table_wrap{margin:20px 0 0}.wpacu_table_wrap>table{border:1px solid #cdcdcd}.wpacu_table_wrap .table{width:100%;max-width:100%;margin-bottom:1rem;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu_table_wrap .table td,.wpacu_table_wrap .table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.wpacu_table_wrap .table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.wpacu_table_wrap .table tbody+tbody{border-top:2px solid #eceeef}.wpacu_table_wrap .table .table{background-color:#fff}.wpacu_table_wrap .table-sm td,.wpacu_table_wrap .table-sm th{padding:.3rem}.wpacu_table_wrap .table-bordered{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered td,.wpacu_table_wrap .table-bordered th{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered thead td,.wpacu_table_wrap .table-bordered thead th{border-bottom-width:2px}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(even){background-color:#f9f9f9}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(odd){background-color:#fff}.wpacu_table_wrap .table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success{background-color:#dff0d8}.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover{background-color:#d0e9c6}.wpacu_table_wrap .table-hover .table-success:hover>td,.wpacu_table_wrap .table-hover .table-success:hover>th{background-color:#d0e9c6}.wpacu_table_wrap .table-info{background-color:#d9edf7}.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover{background-color:#c4e3f3}.wpacu_table_wrap .table-hover .table-info:hover>td,.wpacu_table_wrap .table-hover .table-info:hover>th{background-color:#c4e3f3}.wpacu_table_wrap .table-warning{background-color:#fcf8e3}.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover{background-color:#faf2cc}.wpacu_table_wrap .table-hover .table-warning:hover>td,.wpacu_table_wrap .table-hover .table-warning:hover>th{background-color:#faf2cc}.wpacu_table_wrap .table-danger{background-color:#f2dede}.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover{background-color:#ebcccc}.wpacu_table_wrap .table-hover .table-danger:hover>td,.wpacu_table_wrap .table-hover .table-danger:hover>th{background-color:#ebcccc}.wpacu_table_wrap .thead-inverse th{color:#fff;background-color:#292b2c}.wpacu_table_wrap .thead-default th{color:#464a4c;background-color:#eceeef}.wpacu_table_wrap .table-inverse{color:#fff;background-color:#292b2c}.wpacu_table_wrap .table-inverse td,.wpacu_table_wrap .table-inverse th,.wpacu_table_wrap .table-inverse thead th{border-color:#fff}.wpacu_table_wrap .table-inverse.table-bordered{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.wpacu_table_wrap .table-responsive.table-bordered{border:0}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td{border-top:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:first-of-type{border-left:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:last-of-type{border-right:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td{font-size:14px;border-top:1px solid transparent;border-bottom:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:first-of-type{border-left:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:last-of-type{border-right:1px solid transparent}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table).wpacu-list-table tr:not(.wpacu_selected):hover{-moz-box-shadow:inset 0 0 2px 1px #b3b3b3;-webkit-box-shadow:inset 0 0 2px 1px #b3b3b3;box-shadow:inset 0 0 2px 1px #b3b3b3}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table) tr:not(:first-of-type):not(.wpacu_selected):hover{-moz-box-shadow:inset 0 0 2px 1px #b3b3b3;-webkit-box-shadow:inset 0 0 2px 1px #b3b3b3;box-shadow:inset 0 0 2px 1px #b3b3b3}.wp-list-table .wpacu_restore_position_row.wpacu_selected{background:#e7e7e7!important}.wp-list-table .wpacu_remove_global_attr_row.wpacu_selected{background:#e7e7e7!important}ul.hire-reasons{margin-bottom:20px}ul.hire-reasons li{font-size:14px;line-height:22px;margin-bottom:12px}ul.hire-reasons li .dashicons{font-size:23px;line-height:23px}ul.hire-reasons li .dashicons.dashicons-yes{color:green}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #e0e0e0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px;line-height:24px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:320px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child{margin-bottom:0}select#wpacu-reset-drop-down{max-width:100%}#wpacu-license-data-remove-area{display:none;margin:14px 0 12px}#wpacu-license-data-remove-area.wpacu-visible{display:block}#wpacu-cache-assets-remove-area{display:none;margin:12px 0 25px}#wpacu-cache-assets-remove-area.wpacu-visible{display:block}#wpacu-cached-assets-removed-msg,span#wpacu-license-data-removed-msg{display:block;padding-left:26px}#wpacu-warning-read{display:none;margin:10px 0}#wpacu-warning-read span.dashicons-warning,#wpacu-warning-read span.dashicons-wordpress-alt{color:#c00}#wpacu-warning-read.wpacu-visible{display:block}#wpacu-reset-submit-area{margin:10px 0;clear:both}#wpacu-reset-submit-btn{margin:10px 0 0}.wpacu-tools-area{margin:10px 20px 0 2px}.wpacu-tools-area .wpacu-tools-container{background:#fff;padding:15px;border:1px solid #cdcdcd;width:96%}.wpacu-tools-area .wpacu-tools-container form>div:first-child{margin:0 0 10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning{display:none;box-sizing:border-box;margin-top:10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p{margin:0 0 10px;line-height:22px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p:only-child{margin:0}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning ul{font-size:13px;list-style-type:disc;padding-left:30px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning.wpacu-visible{display:block}.wpacu-tools-area .wpacu-export-import-area{padding:10px}.wpacu-tools-area .wpacu-export-import-area form>p:first-of-type{margin-top:0}.wpacu-tools-area .wpacu-export-import-area form>p:last-of-type{margin-bottom:0}.wpacu-tools-area .wpacu-export-import-area:hover{background:rgba(40,44,42,.05);box-shadow:inset 0 0 10px rgba(160,165,170,.15)}.wpacu-tools-area .wpacu-export-import-area+hr{display:block;height:1px;border:0;border-top:1px solid #cdcdcd;margin:10px 0;padding:0}#wpacu-import-form button.wpacu-importing img.wpacu-spinner{display:inline-block}#wpacu-import-form button img.wpacu-spinner{display:none;margin:0 0 0 5px;height:16px;width:16px;vertical-align:middle}@media only screen and (max-width:767px){.wpacu-about-wrap h1{margin:20px}}.wpacu-about-wrap .wpacu-about-text img{width:auto;height:150px;position:absolute;top:20px;right:-20px}@media only screen and (max-width:767px){.wpacu-about-wrap .wpacu-about-text img{display:none}}@media only screen and (max-width:767px){.wpacu-about-wrap .wpacu-about-text{margin:20px}}.wpacu-about-wrap .about-wrap-content .area-title{font-size:19px;line-height:19px;margin-bottom:0}.wpacu-about-wrap hr{margin:10px 0}.wpacu-lite-vs-pro-wrap ul{display:flex;top:0;z-index:10;padding-bottom:14px}.wpacu-lite-vs-pro-wrap li{list-style:none;flex:1}.wpacu-lite-vs-pro-wrap li:last-child{border-right:1px solid #ddd}.wpacu-lite-vs-pro-wrap button{width:100%;border:1px solid #ddd;border-right:0;border-top:0;padding:10px;background:#fff;font-size:14px;font-weight:700;height:60px;color:#999}.wpacu-lite-vs-pro-wrap li.active button{background:#f5f5f5;color:#000}.wpacu-lite-vs-pro-wrap table{border-collapse:collapse;table-layout:fixed;width:100%}.wpacu-lite-vs-pro-wrap th{background:inherit}.wpacu-lite-vs-pro-wrap tr.first{background:inherit;font-size:18px}.wpacu-lite-vs-pro-wrap tr.first .bg-lite{border-top:4px solid #6d6e70;background:#fff;color:#6d6e70}.wpacu-lite-vs-pro-wrap tr.first .bg-pro{border-top:4px solid green;background:#fff;color:green}.wpacu-lite-vs-pro-wrap tr:not(.first){background:#fff}.wpacu-lite-vs-pro-wrap tr:not(:last-child):hover{background:#f8f8f8}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{height:53px;line-height:22px}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{font-size:14px}}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{border:1px solid #ddd;padding:10px 16px 10px 16px;empty-cells:show}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{text-align:left}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{text-align:center;display:none}.wpacu-lite-vs-pro-wrap td.default{display:table-cell}.wpacu-lite-vs-pro-wrap .txt-l{font-size:28px;font-weight:700}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}}.wpacu-lite-vs-pro-wrap .txt-top{position:relative;top:-9px;left:-2px}.wpacu-lite-vs-pro-wrap svg{width:18px;height:18px}.wpacu-lite-vs-pro-wrap svg path{fill:green}.wpacu-lite-vs-pro-wrap .tick{color:#2ca01c}.wpacu-lite-vs-pro-wrap .tick img{fill:#2ca01c}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}}.wpacu-lite-vs-pro-wrap .hide{border:0;background:0 0}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{display:table-cell!important}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{width:auto}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:130px}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:42px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap td .button{font-size:16px!important}}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td .button{font-size:14px!important;padding:0 20px!important}.wpacu-lite-vs-pro-wrap td .button.button-primary{margin-top:6px;margin-bottom:14px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap{margin-bottom:40px;clear:both}}.wpacu-video-areas>div{padding:20px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-video-areas>div:nth-child(odd){background:#fff}.wpacu-video-areas>div:nth-child(even){background:inherit}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 15px;display:flex}}@media only screen and (min-width:992px) and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 40px}}.wpacu-video-areas .wpacu-video-area-wrapper ol{font-size:14px}.wpacu-video-areas .wpacu-video-area-wrapper ul{font-size:14px;list-style:disc;margin-left:22px}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right{padding:0 20px 0 25px}}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:last-child{margin-bottom:0}}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{width:560px;height:315px}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}}#wpassetcleanup_asset_list.postbox h2{padding-left:52px!important;position:relative}#wpassetcleanup_asset_list.postbox h2:before{content:"";position:absolute;background-image:url(images/wpacu-logo-transparent-bg-v1.png);background-size:cover;top:6px;left:13px;width:33px;height:26px;opacity:.8;-webkit-filter:grayscale(100%);filter:grayscale(100%)}body.wp-admin .wpacu-modal{display:none;position:fixed;z-index:1000000;padding-top:15%;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}body.wp-admin .wpacu-modal pre{white-space:normal}body.wp-admin .wpacu-modal-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:80%;max-width:600px;border-radius:10px}body.wp-admin .wpacu-modal-content pre{white-space:normal}body.wp-admin .wpacu-close{color:#aaa;float:right;font-size:28px;font-weight:700}body.wp-admin .wpacu-close:focus,body.wp-admin .wpacu-close:hover{color:#000;text-decoration:none;cursor:pointer}.wpacu-bulk-changes-tabs{display:table;position:relative;overflow:hidden;margin:0;width:100%}.wpacu-bulk-changes-tabs li{border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-bottom:1px solid rgba(40,44,42,.1);float:left;line-height:38px;padding:0;position:relative;margin-bottom:12px}.wpacu-bulk-changes-tabs li:last-child{border-right:1px solid rgba(40,44,42,.1)}.wpacu-bulk-changes-tabs a{position:relative;background:rgba(40,44,42,.05);color:#004567;font-size:14px;font-weight:500;display:block;letter-spacing:0;outline:0;padding:6px 20px;text-decoration:none;border-top:3px solid transparent}.wpacu-bulk-changes-tabs a:hover{background:#f1f1f1;border-top:3px solid transparent}.wpacu-bulk-changes-tabs .current a{background:#fff;border-top:3px solid #004567}.wpacu-bulk-changes-tabs .current a:hover{background:#fff}.wpacu-bulk-changes-tabs .current a:after,.wpacu-bulk-changes-tabs .current a:before{top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.wpacu-bulk-changes-tabs .current a:after{border-color:rgba(136,183,213,0);border-top-color:#fff;border-width:12px;margin-left:-12px}.wpacu-bulk-changes-tabs .current a:before{border-color:rgba(194,225,245,0);border-top-color:rgba(40,44,42,.1);border-width:13px;margin-left:-13px}img.wpacu-emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;box-shadow:none!important}#wpacu-plugins-load-manager-wrap table td{border-bottom:1px solid #e7e7e7}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_icon{padding:14px 10px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details{vertical-align:middle;padding:10px 0 10px 8px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details .wpacu_plugin_title{font-weight:600}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options{width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:8px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label.wpacu_plugin_unload_rule_input_checked{color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_unload_logged_in:checked+span{color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options{padding-top:5px;border-top:1px solid #e7e7e7;width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:6px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li:last-of-type{margin:1px 0}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_logged_in:checked+span,#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_regex:checked+span{color:green}.wpacu-list-table.plugins{width:98%;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#wpacu-plugins-load-manager-wrap .help_link{text-decoration:none;color:inherit;vertical-align:middle}#wpacu-plugins-load-manager-wrap .help_link.unload_it_regex{vertical-align:top}#wpacu-plugins-load-manager-wrap .wpacu_plugin_details .wpacu_plugin_path{font-style:italic;color:grey}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>img{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div{background:#efefef;border:#cdcdcd;border-radius:3px;width:40px;height:40px;vertical-align:middle;position:relative;text-align:center}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div>span{font-size:30px;color:#b3b3b3;top:50%;vertical-align:middle;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;position:absolute}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap{display:block}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap textarea{margin-top:6px;min-width:400px;min-height:40px}#wpacu-plugins-load-manager-wrap .wpacu_exception_options_area textarea{margin-top:6px;min-width:400px;min-height:40px;width:100%}#wpacu-plugins-load-manager-wrap textarea{line-height:normal;min-height:20px;min-width:300px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap textarea:focus{width:100%}#wpacu-plugins-load-manager-wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}
1
+ @charset "UTF-8";#wpacu-pages-info-area{width:98%}#wpacu-top-area{margin:15px 0;padding:0 10px}#wpacu-quick-actions{color:#74777b;float:right;width:auto;margin-right:30px;background:rgba(40,44,42,.05);border-radius:10px;padding:6px 12px}#wpacu-quick-actions .wpacu-actions-title{font-weight:200;letter-spacing:.5px}#wpacu-quick-actions a{color:#004567;text-decoration:none}#wpacu-quick-actions a:hover{color:#0073aa}#wpacu-logo-wrap{width:auto;display:inline-block;position:relative}#wpacu-logo-wrap a{display:block}#wpacu-logo-wrap img{width:352px;height:79px}#wpacu-logo-wrap .wpacu-pro-sign{position:absolute;height:auto;font-family:FiraSans-Medium,proxima-nova-1,Montserrat,Helvetica,sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;padding:5px 11px;border-radius:15px;right:-60px;top:30px;width:auto;display:inline-block;text-align:center}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-lite{color:#74777b;background:rgba(40,44,42,.05)}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-pro{color:#004567;background-color:rgba(40,44,42,.05)}.wpacu-tabs{position:relative;overflow:hidden;margin:0 auto 20px;width:100%;font-weight:300;font-size:20px}.wpacu-tabs nav{text-align:center}.wpacu-tabs nav ul{position:relative;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:flex;padding:0;list-style:none;-ms-box-orient:horizontal;-ms-box-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center}.wpacu-tabs nav ul li{position:relative;z-index:1;display:block;margin:0;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.wpacu-tabs nav ul li span.extra-info{position:absolute;font-size:12px;left:-50%;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%);white-space:nowrap}.wpacu-tabs nav ul li span.extra-info.has-bulk-unloads{right:48%}.wpacu-tabs nav ul li span.extra-info.no-bulk-unloads{left:0;right:2px;bottom:2px;-webkit-transform:inherit;transform:inherit}.wpacu-tabs nav ul li span.extra-info .dashicons{font-size:16px;margin-right:-3px;margin-top:1px}.wpacu-tabs nav ul li span.extra-info.license-status.inactive{color:#c00}.wpacu-tabs nav ul li span.extra-info.license-status.active{color:green}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-false{color:#004567}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-true,.wpacu-tabs nav ul li span.extra-info.bulk-unloads-true{color:green}.wpacu-tabs nav a{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:2.5}.wpacu-tabs nav a span{vertical-align:middle;font-size:14px}.wpacu-tabs nav li.wpacu-tab-current a{color:#74777b}.wpacu-tabs nav a:focus{outline:0}.wpacu-tabs .dashicons{font-size:20px}.no-js .wpacu-content-wrap section{display:block;padding-bottom:2em;border-bottom:1px solid rgba(255,255,255,.6)}.no-flexbox nav ul{display:block}.no-flexbox nav ul li{min-width:15%;display:inline-block}@media screen and (max-width:58em){.wpacu-tabs nav a.icon span{display:none}.wpacu-tabs nav a:before{margin-right:0}}.wpacu-tabs-style-underline nav{background:#fff}.wpacu-tabs-style-underline nav a{color:#74777b;font-size:18px;text-transform:uppercase;text-decoration:none;padding:.25em 0 .5em;border-left:1px solid #e7ecea;-webkit-transition:color .2s;transition:color .2s}.wpacu-tabs-style-underline nav li:last-child a{border-right:1px solid #e7ecea}.wpacu-tabs-style-underline nav li a::after{position:absolute;bottom:0;left:0;width:100%;height:6px;background:#2cc185;content:"";-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transform:translate3d(0,150%,0);transform:translate3d(0,150%,0)}.wpacu-tabs-style-underline nav li.wpacu-tab-current a::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wpacu-tabs-style-underline nav a span{font-weight:700}.wpacu-tabs-style-topline{max-width:1800px;margin:20px auto 22px 0;width:98%;font-weight:300;text-decoration:none}.wpacu-tabs-style-topline nav li{border:1px solid rgba(40,44,42,.1)}.wpacu-tabs-style-topline nav li:not(:last-child){border-right:none}.wpacu-tabs-style-topline nav li.wpacu-tab-current{border-top-color:#008f9c;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 18px;background:rgba(40,44,42,.05);color:#74777b;line-height:1;-webkit-transition:color .2s;transition:color .2s;text-decoration:none}.wpacu-tabs-style-topline nav a:focus,.wpacu-tabs-style-topline nav a:hover{background:0 0;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #008f9c;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a span:not(.dashicons){font-weight:600}.wpacu-tabs-style-topline nav a span{text-transform:uppercase;font-weight:400}.wpacu-tab-nav-wrapper{border-bottom:none!important}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active{background:#fff;position:relative}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active:after{content:"";width:100%;bottom:-2px;left:0;position:absolute;border-bottom:2px solid #fff}.wpacu_hide{display:none!important}.wpacu-script-attributes-area{display:block;margin-bottom:12px}.wpacu-script-attributes-area>div:first-of-type{display:inline-block;float:left;margin-right:15px;line-height:30px;vertical-align:middle}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings{display:inline-block;float:left;padding:5px 7px!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings.wpacu-first{margin:0 15px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li{display:inline-block;margin:0 16px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li:last-child{margin:0 2px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings{background:#fff!important;border:1px solid #eee!important;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:5px 10px!important;list-style:none;display:inline-block;margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings input[type=radio]{width:auto;padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}tr.wpacu_location_changed>td{border-left:#004567 4px solid}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#ffe1e1!important}tr.wpacu_not_load td .wpacu-assets-inline-code-wrap,tr.wpacu_not_load td .wpacu-only-when-kept-loaded,tr.wpacu_not_load th .wpacu-assets-inline-code-wrap,tr.wpacu_not_load th .wpacu-only-when-kept-loaded{opacity:.45}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0 0;font-size:16px;text-decoration:none;color:inherit!important}.wpacu_widefat .check-column.wpacu_check{padding:10px}body[class*=wpassetcleanup] #footer-left{border-left:2px solid green;padding-left:10px}#wpassetcleanup_asset_list small{width:auto;float:none;display:inline}#wpacu_meta_box_content{width:99%}#wpacu_meta_box_content #wpacu-fetch-list-step-1-wrap.wpacu-completed{color:green}#wpacu_meta_box_content div.select select{max-width:inherit}#wpacu_meta_box_content .emoji{font-size:18px}#wpacu_meta_box_content h3{margin-left:0;padding-left:0}#wpacu_meta_box_content div.wpacu_note{padding:10px;background-color:#f5f5f5}#wpacu_meta_box_content .dashicons.dashicons-warning,#wpacu_meta_box_content .dashicons.dashicons-wordpress-alt{color:#c00}#wpacu_meta_box_content div.wpacu_warning{border:1px solid #c00}#wpacu_meta_box_content ul.wpacu_asset_options{margin:0;padding:0}#wpacu_meta_box_content ul.wpacu_asset_options li{list-style:none;display:inline-block}#wpacu_meta_box_content ul.wpacu_asset_options label{font-weight:400;margin-right:5px;margin-top:5px;margin-bottom:5px}.wpacu-updated-frontend{font-weight:400;background-color:#fff;border-left:4px solid #46b450;border-top:1px solid #46b450;border-right:1px solid #46b450;border-bottom:1px solid #46b450;padding:9px 14px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu-updated-frontend span.dashicons-yes{color:#46b450;font-size:26px}#wpacu-update-front-settings-area{margin:10px 0;display:inline-block;position:relative}@media only screen and (min-width:768px){#wpacu-update-front-settings-area{position:-webkit-sticky;position:sticky;bottom:0;display:block;padding:15px 0;z-index:1000000;border-top:1px solid #cdcdcd;background:#fff}}#wpacu-updating-front-settings{display:none;position:absolute;top:20px;left:142px}.wpacu_load_regex_area_wrap label.wpacu_bold span,.wpacu_unload_regex_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu_load_regex_area_wrap label.wpacu_unload_checked span,.wpacu_unload_regex_area_wrap label.wpacu_unload_checked span{color:#d54e21}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap{margin:4px 0 0}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text],.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text]{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap{display:inline-block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_two{display:block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_load_regex_input_wrap{display:block}.wpacu_exception_options_area_load_exception{display:table;float:none;clear:both;border:none;padding:0!important;background:0 0}.wpacu_exception_options_area_wrap{display:table;background:0 0!important}.wpacu_exception_options_area_wrap fieldset{border:1px solid #cdcdcd;padding:10px;background:#fff;border-radius:5px}.wpacu_exception_options_area_wrap fieldset legend{width:auto;font-weight:400;font-size:inherit;padding:8px 11px;margin:0;background:#fff;border:1px solid #cdcdcd;border-radius:5px}.wpacu_exception_options_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu_exception_options_area_wrap textarea{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_exception_options_area_wrap textarea:focus{width:100%}.wpacu_exception_options_area_wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_exception_options_area_wrap p:first-of-type{margin-top:0}.wpacu_exception_options_area_wrap .wpacu_area_one{display:table-cell;vertical-align:top;padding-right:10px}.wpacu_exception_options_area_wrap .wpacu_area_two{display:table-cell}@media only screen and (max-width:1199px){.wpacu_exception_options_area_wrap{display:block}.wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_exception_options_area_wrap .wpacu_area_two{display:block}}#wpacu_meta_box_content .wpacu_widefat{width:100%}#wpacu_meta_box_content .wpacu-assets-collapsible-content{padding:0 10px!important}#wpacu_meta_box_content ul.wpacu_asset_options{vertical-align:middle}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li input[type=text]{margin-left:5px;border:1px solid #e7e7e7;background:#fff}body.wp-admin #wpacu_wrap_assets code{display:inline-block!important}body:not(.wp-admin) #wpacu_wrap_assets code{display:block!important}#wpacu_wrap_assets{color:#000!important;text-align:left!important;clear:both!important;width:90%!important;padding:20px!important;margin:30px 0 0 15px!important;border:1px solid #cdcdcd;z-index:10000!important;position:relative!important;background-color:#fff!important}#wpacu_wrap_assets div.wpacu_warning{border:1px solid #c00;padding:5px 10px}#wpacu_wrap_assets small{display:inline!important;margin:0!important;letter-spacing:normal!important}#wpacu_wrap_assets input[type=checkbox]{width:auto!important;margin-right:4px!important}#wpacu_wrap_assets img:not(.wpacu-ajax-loader){display:inline-block!important}#wpacu_wrap_assets p{line-height:22px!important;margin:10px 0!important;text-align:left!important;font-weight:400!important}#wpacu_wrap_assets p:first-child{margin:0 0 10px!important}#wpacu_wrap_assets h1{margin:0 0 20px!important;font-size:160%!important;text-align:left!important}#wpacu_wrap_assets h3{margin:20px 0;font-size:130%}#wpacu_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:30px}#wpacu_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}.wpacu_verified{padding:10px;margin:0 0 10px 0!important;background-color:#f5f5f5;border-left:1px solid #ddd}.wpacu_verified span{color:#0073aa;font-weight:700}.wpacu_asset_row div.select{display:inline-block;width:auto}.wpacu_asset_row:first-child td{border-top:1px solid #cdcdcd}.wpacu_asset_row td{border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row.wpacu_notice_row td{position:relative;padding:5px;border-bottom:1px solid transparent}.wpacu_asset_row.wpacu_notice_row td div.wpacu-warning{width:auto;margin:5px;font-style:italic}.wpacu_asset_row:not(.wpacu_notice_row) td{padding:18px!important;position:relative}.wpacu_asset_row:not(.wpacu_notice_row) td[data-wpacu-row-status=contracted]{padding:18px 18px 8px!important}.wpacu_asset_row:not(.wpacu_notice_row) td.wpacu_selected,.wpacu_asset_row:not(.wpacu_notice_row) td:hover{-moz-box-shadow:inset 0 0 12px #cdcdcd;-webkit-box-shadow:inset 0 0 12px #cdcdcd;box-shadow:inset 0 0 12px #cdcdcd}.wpacu_asset_row:not(.wpacu_notice_row) td p{padding:0!important;margin-bottom:8px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row:not(.wpacu_notice_row) td label{width:auto!important;margin:0!important;cursor:pointer!important;display:inline-block!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row:not(.wpacu_notice_row) td label span:not(.dashicons){font-size:100%!important}.wpacu_asset_row:not(.wpacu_notice_row) td.wpacu_check{width:50px!important}.asset-table-extra-info td{padding:5px!important}body.wp-admin .wpacu_asset_row td.wpacu_check{width:25px!important}.wpacu_asset_row .dashicons-warning,.wpacu_asset_row .dashicons-wordpress-alt{color:red!important}.wpacu_asset_row .dashicons-wordpress-alt{font-size:17px;vertical-align:middle}label.wpacu_add_global{cursor:pointer!important}label.wpacu_input_load_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}tr.wpacu_bulk_change_row.wpacu_selected,tr.wpacu_global_rule_row.wpacu_selected,tr.wpacu_remove_preload_row.wpacu_selected{background:#e7e7e7}.wpacu-sub-page-tabs-wrap{min-width:320px;margin:0 auto 15px auto;border-bottom:1px solid #ccc}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label{display:inline-block;position:relative;border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-right:1px solid rgba(40,44,42,.1)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a{display:block;margin:0;padding:15px 25px;font-weight:400;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:0;text-decoration:none;background:rgba(40,44,42,.05)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a:hover{background:#f1f1f1;color:#008f9c}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected{color:#008f9c;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:2px solid #008f9c;border-bottom:1px transparent;margin-bottom:-2px}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected a{background:#f1f1f1;color:#008f9c;font-weight:600}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}.nav-tab-wrapper.nav-assets-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 10px}.nav-tab-wrapper.nav-assets-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}.nav-tab-wrapper.nav-critical-css-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 20px 6px 10px;position:relative}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status{position:absolute;right:5px;top:13px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-on{background:#52af00}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-off{background:#ccc}.nav-tab-wrapper.nav-critical-css-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}ul#wpacu_custom_pages_nav_links{list-style:none}ul#wpacu_custom_pages_nav_links li{position:relative;display:inline-block;margin:0 30px 0 0}ul#wpacu_custom_pages_nav_links li a{text-decoration:none}ul#wpacu_custom_pages_nav_links li a:hover{text-decoration:underline}ul#wpacu_custom_pages_nav_links li.wpacu-current{text-decoration:underline;font-weight:700}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status{position:absolute;right:-15px;top:5px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-on{background:#52af00}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-off{background:#ccc}ul#wpacu_custom_pages_nav_links li:last-child:after,ul#wpacu_custom_pages_nav_links li:last-child:before{content:""}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 10px 0 0;list-style:none;display:inline-block;line-height:normal}ul.wpacu_asset_options li.remove_rule label{font-weight:700}ul.wpacu_asset_options label{margin-right:20px;font-weight:400}ul.wpacu_asset_options label input{margin-right:4px}.wpacu_list_table{width:100%;font-weight:400}.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.wpacu_widefat{width:99%}.wpacu_striped>tbody>:nth-child(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{width:auto;-moz-box-shadow:inset 0 1px 0 0 #54a3f7!important;-webkit-box-shadow:inset 0 1px 0 0 #54a3f7!important;box-shadow:inset 0 1px 0 0 #54a3f7!important;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#007dc1),color-stop(1,#0061a7))!important;background:-moz-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-webkit-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-o-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-ms-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:linear-gradient(to bottom,#007dc1 5%,#0061a7 100%)!important;background-color:#007dc1!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important;border-radius:3px!important;border:1px solid #124d77!important;display:inline-block!important;cursor:pointer!important;color:#fff!important;font-size:15px!important;padding:10px 24px!important;text-decoration:none!important;text-shadow:0 1px 0 #154682!important;height:auto!important;line-height:normal!important}.wpacu_update_btn.wpacu_submitting,.wpacu_update_btn:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#0061a7),color-stop(1,#007dc1))!important;background:-moz-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-webkit-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-o-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-ms-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:linear-gradient(to bottom,#0061a7 5%,#007dc1 100%)!important;background-color:#0061a7!important}.wpacu_update_btn.wpacu_submitting{cursor:default!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}.wpacu-btns a{text-decoration:none}.wpacu-btns .btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wpacu-btns .btn:focus,.wpacu-btns .btn:hover{text-decoration:none}.wpacu-btns .btn.focus,.wpacu-btns .btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.wpacu-btns .btn.disabled,.wpacu-btns .btn:disabled{cursor:not-allowed;opacity:.65}.wpacu-btns .btn.active,.wpacu-btns .btn:active{background-image:none}.wpacu-btns a.btn.disabled,.wpacu-btns fieldset[disabled] a.btn{pointer-events:none}.wpacu-btns .btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.wpacu-btns .btn-primary.focus,.wpacu-btns .btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-primary.disabled,.wpacu-btns .btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary.active,.wpacu-btns .btn-primary:active,.wpacu-btns .show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.wpacu-btns .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.wpacu-btns .btn-secondary.focus,.wpacu-btns .btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-secondary.disabled,.wpacu-btns .btn-secondary:disabled{background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary.active,.wpacu-btns .btn-secondary:active,.wpacu-btns .show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.wpacu-btns .btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.wpacu-btns .btn-info.focus,.wpacu-btns .btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-info.disabled,.wpacu-btns .btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info.active,.wpacu-btns .btn-info:active,.wpacu-btns .show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.wpacu-btns .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.wpacu-btns .btn-success.focus,.wpacu-btns .btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-success.disabled,.wpacu-btns .btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success.active,.wpacu-btns .btn-success:active,.wpacu-btns .show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.wpacu-btns .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.wpacu-btns .btn-warning.focus,.wpacu-btns .btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-warning.disabled,.wpacu-btns .btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning.active,.wpacu-btns .btn-warning:active,.wpacu-btns .show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.wpacu-btns .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.wpacu-btns .btn-danger.focus,.wpacu-btns .btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-danger.disabled,.wpacu-btns .btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger.active,.wpacu-btns .btn-danger:active,.wpacu-btns .show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.wpacu-btns .btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.wpacu-btns .btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-primary.focus,.wpacu-btns .btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-outline-primary.disabled,.wpacu-btns .btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.wpacu-btns .btn-outline-primary.active,.wpacu-btns .btn-outline-primary:active,.wpacu-btns .show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.wpacu-btns .btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-secondary.focus,.wpacu-btns .btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-outline-secondary.disabled,.wpacu-btns .btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.wpacu-btns .btn-outline-secondary.active,.wpacu-btns .btn-outline-secondary:active,.wpacu-btns .show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.wpacu-btns .btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-info.focus,.wpacu-btns .btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-outline-info.disabled,.wpacu-btns .btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.wpacu-btns .btn-outline-info.active,.wpacu-btns .btn-outline-info:active,.wpacu-btns .show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.wpacu-btns .btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-success.focus,.wpacu-btns .btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-outline-success.disabled,.wpacu-btns .btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.wpacu-btns .btn-outline-success.active,.wpacu-btns .btn-outline-success:active,.wpacu-btns .show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning.focus,.wpacu-btns .btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-outline-warning.disabled,.wpacu-btns .btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.wpacu-btns .btn-outline-warning.active,.wpacu-btns .btn-outline-warning:active,.wpacu-btns .show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.wpacu-btns .btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-outline-danger.focus,.wpacu-btns .btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-outline-danger.disabled,.wpacu-btns .btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.wpacu-btns .btn-outline-danger.active,.wpacu-btns .btn-outline-danger:active,.wpacu-btns .show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-link{font-weight:400;color:#0275d8;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.wpacu-btns .btn-link,.wpacu-btns .btn-link.active,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:disabled{background-color:transparent}.wpacu-btns .btn-link,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:focus{border-color:transparent}.wpacu-btns .btn-link:hover{border-color:transparent}.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.wpacu-btns .btn-link:disabled{color:#636c72}.wpacu-btns .btn-link:disabled:focus,.wpacu-btns .btn-link:disabled:hover{text-decoration:none}.wpacu-btns .btn-group-lg>.btn,.wpacu-btns .btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;-webkit-border-radius:.3rem;-moz-border-radius:.3rem;border-radius:.3rem}.wpacu-btns .btn-group-sm>.btn,.wpacu-btns .btn-sm{padding:.25rem .5rem;font-size:.875rem;-webkit-border-radius:.2rem;-moz-border-radius:.2rem;border-radius:.2rem}.wpacu-btns .btn-block{display:block;width:100%}.wpacu-btns .btn-block+.btn-block{margin-top:.5rem}.wpacu-btns input[type=button].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=submit].btn-block{width:100%}.wpacu-btns .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.go-pro-button{background-color:#4caf50;border:2px solid #4caf50;color:#fff;padding:12px 18px;text-align:center;text-decoration:none;display:inline-block;font-size:16px;margin:4px 2px;cursor:pointer;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;-webkit-transition-duration:.4s;transition-duration:.4s}.go-pro-button:hover{background-color:#fff;color:#000;border:2px solid #4caf50;text-decoration:none}.wpacu-restore-pos-btn{font-size:14px!important;line-height:normal!important;height:42px!important;padding:0 18px!important;margin-top:10px!important}body.wp-admin .wpacu_asset_row .go-pro-link-no-style .wpacu-tooltip{padding:8px 2px}body.wp-admin .go-pro-link-no-style .wpacu-tooltip{text-shadow:none;font-weight:400;font-size:12px;line-height:16px;padding:8px 11px}.go-pro-link-no-style{position:relative;display:inline-block;color:inherit;text-decoration:none}.go-pro-link-no-style:not(.nav-tab){font-style:italic}.go-pro-link-no-style.no-transition .wpacu-tooltip{-webkit-transition:0s all ease;transition:0s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style>img{max-width:20px;max-height:20px}.go-pro-link-no-style .wpacu-tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#00a7a7;color:#fff;text-align:center;padding:8px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-65px;-webkit-transition:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .wpacu-tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#00a7a7 transparent transparent transparent}.go-pro-link-no-style .wpacu-tooltip.wpacu-on-pages-btn{cursor:pointer;margin-left:-77px;width:130px}.go-pro-link-no-style .wpacu-tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .wpacu-tooltip{visibility:visible}.wpacu_list_table tr:first-child .wordpress-core-file .wpacu-tooltip{bottom:-40px;left:120px;margin-left:-86px}.wpacu_list_table tr:first-child .wordpress-core-file .wpacu-tooltip:after{top:41px;left:-20px;border-color:transparent #c00 transparent transparent}.wordpress-core-file{position:relative;display:inline-block;font-style:normal;color:inherit;text-decoration:none}.wordpress-core-file .wpacu-tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#c00;color:#fff;text-align:center;padding:6px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-86px;-webkit-transition:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.wordpress-core-file .wpacu-tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#c00 transparent transparent transparent}.wordpress-core-file:hover .wpacu-tooltip{visibility:visible}.ajax-direct-call-error-area{background:#fff;padding:10px;border:1px solid #c00;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px}.ajax-direct-call-error-area td{padding:6px}.ajax-direct-call-error-area .note{margin-top:0;padding-top:0}.ajax-direct-call-error-area .error-code{color:#c00;font-weight:700}.ajax-wp-remote-post-call-error-area{background:#fff;padding:20px}.ajax-wp-remote-post-call-error-area .table-data{background:#ffaf5512;border:1px solid #c66;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ajax-wp-remote-post-call-error-area .table-data td{padding:10px}.wrap-upgrade-info{background:#fff;padding:0 15px;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-notice{margin:20px 20px 0 0!important}.wpacu-notice p{font-weight:600!important;font-style:italic}.wpacu-notice .dashicons{font-weight:inherit!important;color:#46b450!important;margin-right:4px;vertical-align:text-bottom;font-size:27px}.wpacu-notice-info{padding:12px 12px 12px 16px;background:#fff;border-left:4px solid #008f9c}.wpacu-notice-info p{margin-top:8px}.wpacu-notice-info p:first-child{margin-top:0}.wpacu-notice-info p:last-child{margin-bottom:0}.wpacu-warning{font-size:15px;padding:10px;background:#fffcec;border:1px solid #fdd5c9;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin:0 0 5px;width:100%}.pro-page-unlock-notice{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;padding:10px;background:#f2faf2;border:1px solid #c0e8c0;width:auto;display:block}.wpacu-license-area .notice,.wpacu-settings-area .notice{margin-left:0;padding:10px!important;width:97%;box-sizing:border-box;font-weight:600;font-style:italic}.wpacu-license-area .notice .dashicons,.wpacu-settings-area .notice .dashicons{color:green}#wpacu-allow-manage-assets-to-select-list-area{display:inline-block}#wpacu-dom-get-type-selections,.wpacu-radio-selections{float:none;clear:both;width:auto;display:inline-block;margin-bottom:0;margin-top:0}#wpacu-dom-get-type-selections.wpacu-vertical,.wpacu-radio-selections.wpacu-vertical{display:block;margin-top:15px;margin-bottom:18px}#wpacu-dom-get-type-selections.wpacu-vertical li,.wpacu-radio-selections.wpacu-vertical li{float:none;margin-bottom:12px}#wpacu-dom-get-type-selections.wpacu-vertical li:last-child,.wpacu-radio-selections.wpacu-vertical li:last-child{margin-bottom:0}#wpacu-dom-get-type-selections li,.wpacu-radio-selections li{margin-right:30px;float:left;margin-bottom:0}#wpacu-dom-get-type-selections li:first-child,.wpacu-radio-selections li:first-child{margin-right:15px}#wpacu-dom-get-type-selections li:last-child,.wpacu-radio-selections li:last-child{margin-right:0}.wpacu_combine_loaded_js_level_area{display:none;background:#008f9c0a;border-left:2px solid #008f9c;padding-top:8px;padding-bottom:8px;padding-right:10px;padding-left:10px;margin:20px 0 15px}.wpacu_combine_loaded_js_level_area.wpacu_active{display:block}#wpacu-dom-get-type-infos{margin-bottom:0}#wpacu-dom-get-type-infos li{margin-bottom:0;line-height:20px}.wpacu-wrap li,.wpacu-wrap p,.wpacu-wrap td{font-weight:400}.wpacu-wrap small{width:auto;float:none;display:inline}.wpacu-wrap small code{font-size:inherit!important}.wpacu-wrap.wpacu-settings-show-all .wpacu-settings-tab-content{display:block;width:100%}.wpacu-wrap.wpacu-settings-show-all .wpacu-settings-area-title{color:#004567;padding:16px 15px;background:#f8f8f8;border-left:5px solid #004567b0;border-top:1px solid #e7e7e7;border-right:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;font-size:1.45em;font-weight:500}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area{margin:0}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .submit{margin:0}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .button{padding-left:18px;padding-right:18px;height:46px;font-size:18px}.wpacu-wrap.wpacu-settings-show-all #wpacu-updating-settings{margin-left:224px;top:35px;left:3px}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch{width:auto;height:auto}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch input,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch input{display:block}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox],.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox]{margin:0 0 3px}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch .wpacu_slider,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch .wpacu_slider{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text{width:65px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:before{left:14px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:after{top:5px;position:absolute;content:"OFF";color:#fff;right:9px;font-weight:600}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:before{left:18px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:after{top:5px;position:absolute;content:"ON";color:#fff;left:14px;font-weight:600}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled{opacity:.3}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:5px;right:2px;z-index:1000}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle{margin-top:4px;line-height:1.4}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em{font-weight:200}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_read_more,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_read_more{margin-top:-10px;font-style:italic;font-size:12px}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices,.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices{list-style:none;margin:0}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices li,.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices li{float:left;margin-right:30px}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li:last-child,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices li:last-child{margin-right:0}#wpacu-assets-list-by-location-selected{background:0 0;border:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:8px;clear:both}.notice.notice-success+.wpacu-wrap.wpacu-settings-area{margin-top:20px}.wpacu-license-action-btn-area{margin-top:0;position:relative;display:inline-block}.wpacu-license-spinner{display:none;position:absolute;right:-30px;top:4px}.wpacu-license-spinner img{width:20px;height:20px}#wpacu-activation-issues-info{border-radius:10px;width:90%;margin-top:20px;font-size:14px;padding:6px 20px;background:#fff;border:1px solid #e7e7e7}#wpacu-activation-issues-info ol li{font-size:13px;margin-bottom:10px}#wpacu-mark-license-area-wrap{margin:15px 0}.wpacu-form-table.wpacu-license th{width:120px}.wpacu-form-table th{vertical-align:top;text-align:left;padding:5px 20px 20px 0;width:200px;line-height:1.3;font-weight:600}.wpacu-form-table th label{color:#23282d;font-weight:600;font-size:14px;text-shadow:none;vertical-align:middle;cursor:pointer}.wpacu-form-table td{padding-bottom:25px}.wpacu-form-table td:last-child p:last-child{margin:0}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox],.wpacu-form-table label input[type=checkbox]{height:20px;width:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:hover,.wpacu-form-table label input[type=checkbox]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:checked{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled,.wpacu-form-table label input[type=checkbox]:disabled{border:none}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled:checked,.wpacu-form-table label input[type=checkbox]:disabled:checked{opacity:.3}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked:before,.wpacu-form-table label input[type=checkbox]:checked:before{color:#52af00;font:normal 24px/1 dashicons}.wpacu-form-table .wpacu-fancy-radio input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;position:relative;height:20px;width:20px;margin:2px 0 0 0}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked:before{background:#c00;color:#c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:hover{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked:before{margin:0;line-height:inherit;text-indent:inherit;content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;border-radius:50%;background:#52af00;color:#52af00;font:normal 24px/1 dashicons}#wpacu-settings-vertical-tab-wrap{display:table;width:100%}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text{margin:4px 0 0 0}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small{font-weight:lighter}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap{position:relative;padding-left:14px}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status{position:absolute;left:0;top:2px;height:10px;width:10px;border-radius:50%;display:inline-block;opacity:.75}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-on{background:#52af00}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-off{background:#ccc}#wpacu-settings-vertical-tab-wrap *{box-sizing:border-box}.wpacu-settings-tab{display:table-cell;width:20%;height:100%;vertical-align:top}.wpacu-settings-tab a{text-decoration:none;border-left:3px solid transparent;display:block;background-color:#f1f1f1;color:#004567;padding:17px 16px;width:100%;outline:0;text-align:left;cursor:pointer;font-size:14px;font-weight:600;border-bottom:1px solid #ccc}.wpacu-settings-tab a:first-child{border-top:1px solid transparent!important}.wpacu-settings-tab a:last-child{border-bottom:1px solid transparent!important}.wpacu-settings-tab a:hover{background-color:#fff;border-left:3px solid #004567;position:relative}.wpacu-settings-tab a.active{color:#004567;background-color:#fff;border-left:3px solid #004567;position:relative;border-bottom:1px solid #ccc}.wpacu-settings-tab a.active:after{content:"";position:absolute;height:100%;width:1px;top:0;right:-1px;background-color:#fff}.wpacu-settings-tab-content{background-color:#fff;display:none;padding:12px 18px;width:79%;border-left:none;height:100%;border-top-right-radius:10px;border-bottom-right-radius:10px}.wpacu-settings-tab-content h2{padding:0 0 15px;border-bottom:1px solid #e7e7e7}.wpacu-settings-tab-content.active{display:table-cell}#wpacu_minify_css_exceptions_area{margin:16px 0 0}#wpacu_minify_js_exceptions_area{margin:16px 0 0}@media only screen and (min-width:768px){body.asset-cleanup-pro_page_wpassetcleanup_assets_manager #wpacu-update-button-area,body.asset-cleanup_page_wpassetcleanup_assets_manager #wpacu-update-button-area{position:-webkit-sticky;position:sticky;bottom:0;padding:0;z-index:1000000;border-top:1px solid #cdcdcd;background:#f1f1f1}}body[class*=version-5-3] #wpacu-update-button-area .button{height:auto;padding:4px 18px 6px;font-size:15px}body[class*=version-5-3] #wpacu-updating-settings{margin-left:178px}#wpacu-update-button-area{position:relative;margin-left:20%}#wpacu-update-button-area.no-left-margin{margin-left:0}#wpacu-update-button-area .submit{margin:0;padding:19px 0}#wpacu-update-button-area .button{padding-left:18px;padding-right:18px;height:46px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:28px;display:none}#wpacu-updating-settings.wpacu-show{display:block}#combine_loaded_js_info_area{position:relative}#combine_loaded_js_info_area.locked-for-pro:before{position:absolute;content:"";height:100%;width:100%;background:#fff;opacity:.5;z-index:10000}.google_fonts_load_types{clear:both;margin:20px 0 15px;display:flex}.google_fonts_load_types>div{text-align:left}.google_fonts_load_types>div input{float:left;margin:0 7px 20px 0!important}.wpacu-sub-tabs-wrap{min-width:320px;margin:0 auto}.wpacu-sub-tabs-wrap input.wpacu-nav-input{display:none}.wpacu-sub-tabs-wrap label.wpacu-nav-label{display:inline-block;margin:0 0 -1px;padding:15px 25px;font-weight:600;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:3px solid transparent;border-bottom:0}.wpacu-sub-tabs-wrap label.wpacu-nav-label:hover{cursor:pointer}.wpacu-sub-tabs-wrap input.wpacu-nav-input:checked+label.wpacu-nav-label{color:#004567;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:3px solid #004567;border-bottom:1px solid #fff}.wpacu-sub-tabs-wrap section{display:none;padding:20px 0 0;border-top:1px solid #ccc}#wpacu-google-fonts-optimize-tab-item:checked~#wpacu-google-fonts-optimize-tab-item-area,#wpacu-google-fonts-remove-tab-item:checked~#wpacu-google-fonts-remove-tab-item-area{display:block}.wpacu-fade-in{animation:wpacuFadeIn ease-in .2s;-webkit-animation:wpacuFadeIn ease-in .2s;-moz-animation:wpacuFadeIn ease-in .2s;-o-animation:wpacuFadeIn ease-in .2s;-ms-animation:wpacuFadeIn ease-in .2s}@keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-ms-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}body.wp-admin select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:6px}body.wp-admin div.wpacu-helper-area{display:inline-block;vertical-align:top}body.wp-admin .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-bottom:10px}body.wp-admin .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body.wp-admin .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body.wp-admin .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}body.wp-admin .wpacu-handle-notes p{margin-top:0!important}body.wp-admin .wpacu-handle-notes p a{font-size:inherit}body.wp-admin .wpacu-handle-notes p a span.dashicons{font-size:19px;width:19px;height:19px;vertical-align:bottom;text-decoration:none}body:not(.wp-admin) select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:8px;width:auto}body:not(.wp-admin) div.wpacu-helper-area{display:inline-block;vertical-align:top}body:not(.wp-admin) .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-top:10px;margin-bottom:10px}body:not(.wp-admin) .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body:not(.wp-admin) .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body:not(.wp-admin) .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}body:not(.wp-admin) .wpacu-handle-notes p{margin-top:0!important}body:not(.wp-admin) .wpacu-handle-notes p a{font-size:inherit}body:not(.wp-admin) .wpacu-handle-notes p a span.dashicons{font-size:19px;width:19px;height:19px;vertical-align:bottom;text-decoration:none}.wpacu-handle-notes{padding-top:5px;margin-bottom:-10px;border-top:1px solid #e7e7e7}.wpacu-handle-notes .wpacu-handle-notes-field{display:none}.wpacu-handle-notes .wpacu-handle-notes-field>textarea{font-size:85%;padding:6px;width:320px;max-width:100%}.wpacu-handle-notes p{margin:10px 0 0!important}.wpacu-handle-notes p a.wpacu-add-handle-note{text-decoration:none;font-size:80%;display:inline-block;color:inherit}.wpacu-handle-notes p a.wpacu-add-handle-note span.dashicons{font-size:18px;width:18px;height:18px}.wrap_bulk_unload_options{width:auto;display:block;clear:both}.wrap_bulk_unload_options .wpacu_asset_options_wrap{display:inline-block;float:left;margin:5px 10px 14px 0!important;padding:8px 10px 12px!important}.wrap_bulk_unload_options .wpacu_asset_options_wrap .wpacu_slider_text{position:relative!important;vertical-align:top;left:inherit!important;top:inherit!important}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch{position:relative;display:inline-block;min-width:52px;width:52px;height:29px;margin-right:5px!important}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input{display:none}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.15s;transition:.15s}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.15s;transition:.15s}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:checked+.wpacu_slider{background-color:#c00}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #c00}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch.wpacu_disabled{opacity:.3}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:1px;right:2px;z-index:1000}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu-wrap{width:98%}.wpacu-wrap tr.wpacu_regex_rule_row{opacity:.45}.wpacu-wrap tr.wpacu_regex_rule_row textarea{line-height:normal;min-height:20px;min-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu-wrap tr.wpacu_regex_rule_row textarea:focus{width:100%}.wpacu-wrap tr.wpacu_regex_rule_row.wpacu_enabled{opacity:1}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small{position:relative;display:inline-block;min-width:30px;width:30px;height:17px;margin-right:5px!important}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider:before{position:absolute;content:"";height:13px;width:13px;left:2px;bottom:2px;background-color:#fff;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider:before{-webkit-transform:translateX(13px);-ms-transform:translateX(13px);transform:translateX(13px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round{border-radius:17px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round:before{border-radius:50%}.editor-post-saved-state.is-wpacu-reloading{animation:edit-post__loading-fade-animation .5s infinite}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract .dashicons{width:19px;height:19px;font-size:19px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{right:20px;top:-2px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{left:20px;top:-2px}body.wp-admin tr.wpacu_asset_row.wpacu-loading{position:relative}body.wp-admin tr.wpacu_asset_row.wpacu-loading .wpacu-ajax-loader{display:block!important}body.wp-admin tr.wpacu_asset_row .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}.wpacu_asset_row.wpacu_not_load .wpacu_dependency_notice_area em{color:#c00}.wpacu_asset_row input.wpacu_load_exception:checked+span{color:green}.wpacu_asset_row .wpacu-hardcoded-code-area{margin:0}.wpacu_asset_row .wpacu-hardcoded-code-area span.wpacu_inside_cond_comm{display:block;margin-bottom:8px}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more{max-height:300px;position:relative;overflow:hidden}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more p.wpacu-view-more-link-area{position:absolute;bottom:0;left:0;width:100%;margin:0;padding:20px 0 15px 15px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fbfbfb8c 100%);background:-webkit-linear-gradient(top,rgba(255,255,255,0) 0,#fbfbfb8c 100%)}.wpacu_asset_row .wpacu-hardcoded-code-area pre{margin:0;padding:0 0 8px;white-space:pre-wrap;white-space:break-spaces;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row .wpacu-hardcoded-code-area code{color:inherit;font-style:italic;margin-left:2px;word-break:break-word}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu-source-row{margin-top:0}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu_handle_row_expand_contract_area{right:18px;top:18px;background:inherit;z-index:100}.wpacu_asset_row>td{background:inherit;overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-all}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_file_size_area{margin:10px 0}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_expanded{display:block}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_file_size_area{margin:0}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted{display:block}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted code{width:100%}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_expanded{display:none}.wpacu_asset_row>td div.wpacu_dependency_notice_area{line-height:22px;margin:10px 0;text-align:left!important;font-weight:400!important}.wpacu_asset_row>td div.wpacu-source-row{margin-top:12px}.wpacu_asset_row>td div.wpacu-source-row a{word-break:break-word}.wpacu_asset_row>td .wpacu_hide_if_handle_row_contracted{display:inline-block}.wpacu_asset_row>td[data-wpacu-row-status=contracted]>div{float:left;margin-top:0;margin-right:20px;margin-bottom:10px}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hide_if_handle_row_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area{background:inherit}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus-visible,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:visited{text-decoration:none;border:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:0;-webkit-transition:-webkit-transform .3s,opacity .2s;-moz-transition:-moz-transform .3s,opacity .2s;transition:transform .3s,opacity .2s}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{position:absolute;right:20px;top:-4px;content:"[";-webkit-transform:translateX(20px);-moz-transform:translateX(20px);transform:translateX(20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{position:absolute;left:20px;top:-4px;content:"]";-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);transform:translateX(-20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{color:green}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}.wpacu_asset_row .wpacu_handle_row_expand_contract_area{background:inherit;position:absolute;right:20px;top:20px;float:none!important;margin:0!important}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{background:inherit;color:#000;text-decoration:none}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{text-decoration:none}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract span.dashicons{background:inherit}.wpacu_asset_row input{width:auto;height:auto;min-height:16px}.wpacu_asset_row .tip{background:inherit;border-left:4px solid #e7e7e7;margin:10px 0;padding:7px;font-style:italic;font-size:small;line-height:1.4}.wpacu_asset_row td{width:100%;text-align:left}.wpacu_asset_row td p:last-child{margin-bottom:0!important}.wpacu_asset_row td .wpacu_asset_options_wrap{padding:8px 10px;margin:15px 0;background:#fff;border:1px solid #eee;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row td .wpacu_asset_options_wrap p:first-child{margin-top:0;margin-bottom:8px!important}.wpacu_asset_row div.wpacu_handle{margin:0 0 -8px}.wpacu_asset_row p.wpacu_handle{margin-top:0}.wpacu_asset_row li.wpacu_unload_this_page{display:block!important;position:relative}.wpacu-contract-expand-area{width:100%;margin:20px 0 0}.wpacu-contract-expand-area .col-left{float:left}.wpacu-contract-expand-area .col-left h4{margin-bottom:0}.wpacu-contract-expand-area .col-right{float:right}.wpacu-clearfix{clear:both;height:0}.wpacu-clearfix:before{content:"";display:table}.wpacu-clearfix:after{content:"";display:table;clear:both}.wpacu-wp-button{color:#555;border-color:#ccc;background:#f7f7f7;box-shadow:0 1px 0 #ccc;vertical-align:top}body.wp-admin .wpacu-wp-button{font-size:13px;line-height:26px;height:28px}.wpacu-wp-button.wpacu-wp-button-secondary{display:inline-block;text-decoration:none;height:auto;margin:0 5px 0 0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wpacu-wp-button:hover{background:#fafafa;border-color:#999;color:#23282d}.distinguish-asset-list{list-style:none;margin-left:0;margin-bottom:5px;display:inline-block}.distinguish-asset-list li{float:left;margin-right:20px}.distinguish-asset-list li:last-child{margin-right:0}body[class*=asset-cleanup-pro] a.wpacu-plugin-contracted-wrap-link{padding:16px 6px 16px 41px!important}body[class*=asset-cleanup-pro] .wpacu-area-open .wpacu-plugin-toggle-all{font-size:12px!important;width:calc(100% - 26px)!important}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all{top:5px}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all ul li{font-size:12px!important}.wpacu-assets-collapsible-wrap{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location{margin-bottom:15px}.wpacu-assets-collapsible-wrap.wpacu-wrap-all{margin-top:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-area{margin-top:10px}.wpacu-assets-collapsible-wrap.wpacu-by-location>a.wpacu-assets-collapsible{padding:15px 15px 15px 43px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu_list_table{border-width:0;margin:0;border-spacing:inherit;width:100%;box-shadow:3px 3px 2px #ddd;border-bottom-right-radius:5px;border-top-right-radius:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location span.wpacu-child-location-name{font-weight:600}.wpacu-assets-collapsible-wrap.wpacu-by-location span.wpacu-child-location-version{font-weight:200}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area[data-wpacu-plugin=oxygen] .icon-area{border-radius:50%}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:0;font-size:13px;width:100%;width:calc(100% + 46px);min-width:250px;position:absolute;left:100%;left:calc(100% + 6px);margin:0;top:4px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul{display:inline-block;margin:0;list-style:none;padding-left:13px;padding-top:0}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li{padding:0;margin:0;line-height:normal;font-size:14px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li:first-child{font-style:italic;margin-bottom:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;position:relative;padding:9px 10px 10px 15px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title:after{content:"";position:absolute;width:100%;left:0;bottom:0;height:1px;background-color:#fdfdfd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap{padding:0 0 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open.wpacu-plugin-assets-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:7px 12px 8px;font-size:14px;width:100%;text-align:left;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all+.wpacu-plugin-toggle-all{padding:2px 12px 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link{color:inherit;text-decoration:none;font-weight:inherit;font-style:inherit;font-size:105%;line-height:initial;position:relative;height:auto;margin:14px 0 0;padding:13px 6px 14px 39px;position:relative;display:block}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:after{position:absolute;font-size:18px;font-family:Dashicons!important;right:12px;top:14px;content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open:after{content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover{border:1px solid #878787;background:#f9f9f9}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover.wpacu-link-closed{box-shadow:3px 3px 2px #ddd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open{border-top:1px solid #cdcdcd;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:none}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed.wpacu-last-wrap-link{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default{top:10px;left:10px;width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area{width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area:before{font-size:22px;line-height:22px;top:4px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title{position:relative;padding:17px 10px 16px 46px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title:after{content:"";position:absolute;width:100%;left:0;bottom:0;height:1px;background-color:#fdfdfd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-area-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-open{padding:0;max-height:100%}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-closed{padding:0;overflow:hidden;max-height:0}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{margin-top:0;margin-bottom:-1px;padding:14px 10px 16px 12px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title.wpacu-theme-has-icon{padding:18px 10px 16px 58px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area{margin-top:22px;margin-bottom:-1px;font-size:110%;line-height:initial}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-location-child-area-first{margin-top:2px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-area-expanded .wpacu-area-title{display:inline-block;z-index:1;padding:17px 10px 16px 46px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;border-top-right-radius:8px;border-top-left-radius:8px;background-color:#f9f9f9;border-left:1px solid #cdcdcd;border-top:1px solid #cdcdcd;border-bottom:1px solid transparent;border-right:1px solid #cdcdcd;position:relative}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default:not(.has-icon){color:#b4b9be;background-color:#eee;box-shadow:inset 0 0 10px rgba(160,165,170,.15);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default:not(.has-icon) .icon-area:before{content:"";font-family:Dashicons!important;position:absolute;font-size:28px;line-height:28px;top:5px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-theme{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-theme .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-wp_core{border:1px solid #c00}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content{padding:0}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table{width:100%;margin:0}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row td,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row td{border-left:hidden;border-right:hidden;border-bottom:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child{margin-bottom:0!important}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child td:last-child,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child td:last-child{border-bottom:hidden}a.wpacu-assets-collapsible{color:#000;font-size:20px;text-decoration:none;display:block;position:relative;background-color:#f1f3f8;cursor:pointer;padding:15px 15px 15px 36px;width:auto;border:none;text-align:left;outline:0}a.wpacu-assets-collapsible>span.dashicons{font-size:25px;line-height:normal;position:absolute;top:15px;top:calc(50% - 21px);left:22px;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}a.wpacu-assets-collapsible:hover{background-color:#f1f3f8;text-decoration:none}a.wpacu-assets-collapsible:after{position:absolute;font-size:22px;font-family:Dashicons!important;right:14px;top:16px}a.wpacu-assets-collapsible:not(.wpacu-assets-collapsible-active):after{content:""}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active{background-color:#f1f3f8}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active:after{content:""}.wpacu-assets-collapsible-content{padding:0 16px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-collapsible-content .wpacu-assets-note{margin:0;padding:15px 15px 10px}.wpacu-assets-collapsible-content>div:not(.wpacu-assets-table-list-wrap){padding:16px 0 0}.wpacu-assets-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-collapsible-content.wpacu-open{max-height:100%}a.wpacu-assets-inline-code-collapsible{color:inherit;font-size:14px;text-decoration:none;display:inline-block;position:relative;cursor:pointer;width:auto;outline:0;background:#f1f3f8;border:1px solid #cdcdcd;padding:4px 21px 4px 8px;margin:0 0 0 6px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}a.wpacu-assets-inline-code-collapsible:hover{border:1px solid #5c5c5c}a.wpacu-assets-inline-code-collapsible:after{position:absolute;font-size:15px;font-family:Dashicons!important;right:-3px;top:-1px;width:14px;height:14px;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}a.wpacu-assets-inline-code-collapsible:not(.wpacu-assets-inline-code-collapsible-active):after{content:""}a.wpacu-assets-inline-code-collapsible.wpacu-assets-inline-code-collapsible-active:after{content:""}.wpacu-assets-inline-code-collapsible-content{padding:0 8px 2px 0;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-inline-code-collapsible-content>div{padding:7px 8px 0}.wpacu-assets-inline-code-collapsible-content>div>p{line-height:normal!important}.wpacu-assets-inline-code-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-inline-code-collapsible-content.wpacu-open{max-height:100%}.wpacu_asset_row p div.select{display:inline-block}.wpacu-wrap-choose-position{display:inline}.wpacu-wrap-choose-position>div{display:inline-block}.wpacu-wrap-choose-position select{width:auto;font-size:inherit;display:inline;margin-left:6px;margin-right:4px}.wpacu-wrap-choose-position>.select>.select{display:inline}.wpacu-wrap-choose-position>.select>.select select{padding-right:30px}.wpacu-wrap-choose-position>.select>.select:after{right:15px;top:-4px}.wpacu_handle_unload_regex_input_wrap,.wpacu_load_regex_input_wrap{display:block;width:100%}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea{line-height:normal;min-height:40px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus{width:100%}body.logged-in:not(.wp-admin) .wpacu-view-more-code{box-shadow:inset 0 1px 0 0 #fff;background:linear-gradient(to bottom,#f9f9f9 5%,#e9e9e9 100%);background-color:#f9f9f9;border-radius:6px;border:1px solid #dcdcdc;display:inline-block;cursor:pointer;color:#666;font-size:inherit;font-weight:700;padding:6px 24px;text-decoration:none;text-shadow:0 1px 0 #fff}body.logged-in:not(.wp-admin) .wpacu-view-more-code:hover{background:linear-gradient(to bottom,#e9e9e9 5%,#f9f9f9 100%);background-color:#e9e9e9}body.logged-in:not(.wp-admin) .wpacu-view-more-code:active{position:relative;top:1px}.wpacu_table_wrap{margin:20px 0 0}.wpacu_table_wrap>table{border:1px solid #cdcdcd}.wpacu_table_wrap .table{width:100%;max-width:100%;margin-bottom:1rem;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu_table_wrap .table td,.wpacu_table_wrap .table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.wpacu_table_wrap .table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.wpacu_table_wrap .table tbody+tbody{border-top:2px solid #eceeef}.wpacu_table_wrap .table .table{background-color:#fff}.wpacu_table_wrap .table-sm td,.wpacu_table_wrap .table-sm th{padding:.3rem}.wpacu_table_wrap .table-bordered{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered td,.wpacu_table_wrap .table-bordered th{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered thead td,.wpacu_table_wrap .table-bordered thead th{border-bottom-width:2px}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(even){background-color:#f9f9f9}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(odd){background-color:#fff}.wpacu_table_wrap .table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success{background-color:#dff0d8}.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover{background-color:#d0e9c6}.wpacu_table_wrap .table-hover .table-success:hover>td,.wpacu_table_wrap .table-hover .table-success:hover>th{background-color:#d0e9c6}.wpacu_table_wrap .table-info{background-color:#d9edf7}.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover{background-color:#c4e3f3}.wpacu_table_wrap .table-hover .table-info:hover>td,.wpacu_table_wrap .table-hover .table-info:hover>th{background-color:#c4e3f3}.wpacu_table_wrap .table-warning{background-color:#fcf8e3}.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover{background-color:#faf2cc}.wpacu_table_wrap .table-hover .table-warning:hover>td,.wpacu_table_wrap .table-hover .table-warning:hover>th{background-color:#faf2cc}.wpacu_table_wrap .table-danger{background-color:#f2dede}.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover{background-color:#ebcccc}.wpacu_table_wrap .table-hover .table-danger:hover>td,.wpacu_table_wrap .table-hover .table-danger:hover>th{background-color:#ebcccc}.wpacu_table_wrap .thead-inverse th{color:#fff;background-color:#292b2c}.wpacu_table_wrap .thead-default th{color:#464a4c;background-color:#eceeef}.wpacu_table_wrap .table-inverse{color:#fff;background-color:#292b2c}.wpacu_table_wrap .table-inverse td,.wpacu_table_wrap .table-inverse th,.wpacu_table_wrap .table-inverse thead th{border-color:#fff}.wpacu_table_wrap .table-inverse.table-bordered{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.wpacu_table_wrap .table-responsive.table-bordered{border:0}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td{border-top:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:first-of-type{border-left:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:last-of-type{border-right:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td{font-size:14px;border-top:1px solid transparent;border-bottom:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:first-of-type{border-left:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:last-of-type{border-right:1px solid transparent}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table).wpacu-list-table tr:not(.wpacu_selected):hover{-moz-box-shadow:inset 0 0 2px 1px #b3b3b3;-webkit-box-shadow:inset 0 0 2px 1px #b3b3b3;box-shadow:inset 0 0 2px 1px #b3b3b3}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table) tr:not(:first-of-type):not(.wpacu_selected):hover{-moz-box-shadow:inset 0 0 2px 1px #b3b3b3;-webkit-box-shadow:inset 0 0 2px 1px #b3b3b3;box-shadow:inset 0 0 2px 1px #b3b3b3}.wp-list-table .wpacu_restore_position_row.wpacu_selected{background:#e7e7e7!important}.wp-list-table .wpacu_remove_global_attr_row.wpacu_selected{background:#e7e7e7!important}ul.hire-reasons{margin-bottom:20px}ul.hire-reasons li{font-size:14px;line-height:22px;margin-bottom:12px}ul.hire-reasons li .dashicons{font-size:23px;line-height:23px}ul.hire-reasons li .dashicons.dashicons-yes{color:green}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #e0e0e0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px;line-height:24px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:320px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child{margin-bottom:0}select#wpacu-reset-drop-down{max-width:100%}#wpacu-license-data-remove-area{display:none;margin:14px 0 12px}#wpacu-license-data-remove-area.wpacu-visible{display:block}#wpacu-cache-assets-remove-area{display:none;margin:12px 0 25px}#wpacu-cache-assets-remove-area.wpacu-visible{display:block}#wpacu-cached-assets-removed-msg,span#wpacu-license-data-removed-msg{display:block;padding-left:26px}#wpacu-warning-read{display:none;margin:10px 0}#wpacu-warning-read span.dashicons-warning,#wpacu-warning-read span.dashicons-wordpress-alt{color:#c00}#wpacu-warning-read.wpacu-visible{display:block}#wpacu-reset-submit-area{margin:10px 0;clear:both}#wpacu-reset-submit-btn{margin:10px 0 0}.wpacu-tools-area{margin:10px 20px 0 2px}.wpacu-tools-area .wpacu-tools-container{background:#fff;padding:15px;border:1px solid #cdcdcd;width:96%}.wpacu-tools-area .wpacu-tools-container form>div:first-child{margin:0 0 10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning{display:none;box-sizing:border-box;margin-top:10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p{margin:0 0 10px;line-height:22px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p:only-child{margin:0}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning ul{font-size:13px;list-style-type:disc;padding-left:30px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning.wpacu-visible{display:block}.wpacu-tools-area .wpacu-export-import-area{padding:10px}.wpacu-tools-area .wpacu-export-import-area form>p:first-of-type{margin-top:0}.wpacu-tools-area .wpacu-export-import-area form>p:last-of-type{margin-bottom:0}.wpacu-tools-area .wpacu-export-import-area:hover{background:rgba(40,44,42,.05);box-shadow:inset 0 0 10px rgba(160,165,170,.15)}.wpacu-tools-area .wpacu-export-import-area+hr{display:block;height:1px;border:0;border-top:1px solid #cdcdcd;margin:10px 0;padding:0}#wpacu-import-form button.wpacu-importing img.wpacu-spinner{display:inline-block}#wpacu-import-form button img.wpacu-spinner{display:none;margin:0 0 0 5px;height:16px;width:16px;vertical-align:middle}@media only screen and (max-width:767px){.wpacu-about-wrap h1{margin:20px}}.wpacu-about-wrap .wpacu-about-text img{width:auto;height:150px;position:absolute;top:20px;right:-20px}@media only screen and (max-width:767px){.wpacu-about-wrap .wpacu-about-text img{display:none}}@media only screen and (max-width:767px){.wpacu-about-wrap .wpacu-about-text{margin:20px}}.wpacu-about-wrap .about-wrap-content .area-title{font-size:19px;line-height:19px;margin-bottom:0}.wpacu-about-wrap hr{margin:10px 0}.wpacu-lite-vs-pro-wrap ul{display:flex;top:0;z-index:10;padding-bottom:14px}.wpacu-lite-vs-pro-wrap li{list-style:none;flex:1}.wpacu-lite-vs-pro-wrap li:last-child{border-right:1px solid #ddd}.wpacu-lite-vs-pro-wrap button{width:100%;border:1px solid #ddd;border-right:0;border-top:0;padding:10px;background:#fff;font-size:14px;font-weight:700;height:60px;color:#999}.wpacu-lite-vs-pro-wrap li.active button{background:#f5f5f5;color:#000}.wpacu-lite-vs-pro-wrap table{border-collapse:collapse;table-layout:fixed;width:100%}.wpacu-lite-vs-pro-wrap th{background:inherit}.wpacu-lite-vs-pro-wrap tr.first{background:inherit;font-size:18px}.wpacu-lite-vs-pro-wrap tr.first .bg-lite{border-top:4px solid #6d6e70;background:#fff;color:#6d6e70}.wpacu-lite-vs-pro-wrap tr.first .bg-pro{border-top:4px solid green;background:#fff;color:green}.wpacu-lite-vs-pro-wrap tr:not(.first){background:#fff}.wpacu-lite-vs-pro-wrap tr:not(:last-child):hover{background:#f8f8f8}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{height:53px;line-height:22px}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{font-size:14px}}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{border:1px solid #ddd;padding:10px 16px 10px 16px;empty-cells:show}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{text-align:left}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{text-align:center;display:none}.wpacu-lite-vs-pro-wrap td.default{display:table-cell}.wpacu-lite-vs-pro-wrap .txt-l{font-size:28px;font-weight:700}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}}.wpacu-lite-vs-pro-wrap .txt-top{position:relative;top:-9px;left:-2px}.wpacu-lite-vs-pro-wrap svg{width:18px;height:18px}.wpacu-lite-vs-pro-wrap svg path{fill:green}.wpacu-lite-vs-pro-wrap .tick{color:#2ca01c}.wpacu-lite-vs-pro-wrap .tick img{fill:#2ca01c}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}}.wpacu-lite-vs-pro-wrap .hide{border:0;background:0 0}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{display:table-cell!important}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{width:auto}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:130px}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:42px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap td .button{font-size:16px!important}}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td .button{font-size:14px!important;padding:0 20px!important}.wpacu-lite-vs-pro-wrap td .button.button-primary{margin-top:6px;margin-bottom:14px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap{margin-bottom:40px;clear:both}}.wpacu-video-areas>div{padding:20px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-video-areas>div:nth-child(odd){background:#fff}.wpacu-video-areas>div:nth-child(even){background:inherit}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 15px;display:flex}}@media only screen and (min-width:992px) and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 40px}}.wpacu-video-areas .wpacu-video-area-wrapper ol{font-size:14px}.wpacu-video-areas .wpacu-video-area-wrapper ul{font-size:14px;list-style:disc;margin-left:22px}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right{padding:0 20px 0 25px}}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:last-child{margin-bottom:0}}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{width:560px;height:315px}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}}#wpassetcleanup_asset_list.postbox h2{padding-left:52px!important;position:relative}#wpassetcleanup_asset_list.postbox h2:before{content:"";position:absolute;background-image:url(images/wpacu-logo-transparent-bg-v1.png);background-size:cover;top:6px;left:13px;width:33px;height:26px;opacity:.8;-webkit-filter:grayscale(100%);filter:grayscale(100%)}body.wp-admin .wpacu-modal{display:none;position:fixed;z-index:1000000;padding-top:15%;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}body.wp-admin .wpacu-modal pre{white-space:normal}body.wp-admin .wpacu-modal-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:80%;max-width:600px;border-radius:10px}body.wp-admin .wpacu-modal-content pre{white-space:normal}body.wp-admin .wpacu-close{color:#aaa;float:right;font-size:28px;font-weight:700}body.wp-admin .wpacu-close:focus,body.wp-admin .wpacu-close:hover{color:#000;text-decoration:none;cursor:pointer}.wpacu-bulk-changes-tabs{display:table;position:relative;overflow:hidden;margin:0;width:100%}.wpacu-bulk-changes-tabs li{border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-bottom:1px solid rgba(40,44,42,.1);float:left;line-height:38px;padding:0;position:relative;margin-bottom:12px}.wpacu-bulk-changes-tabs li:last-child{border-right:1px solid rgba(40,44,42,.1)}.wpacu-bulk-changes-tabs a{position:relative;background:rgba(40,44,42,.05);color:#004567;font-size:14px;font-weight:500;display:block;letter-spacing:0;outline:0;padding:6px 20px;text-decoration:none;border-top:3px solid transparent}.wpacu-bulk-changes-tabs a:hover{background:#f1f1f1;border-top:3px solid transparent}.wpacu-bulk-changes-tabs .current a{background:#fff;border-top:3px solid #004567}.wpacu-bulk-changes-tabs .current a:hover{background:#fff}.wpacu-bulk-changes-tabs .current a:after,.wpacu-bulk-changes-tabs .current a:before{top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.wpacu-bulk-changes-tabs .current a:after{border-color:rgba(136,183,213,0);border-top-color:#fff;border-width:12px;margin-left:-12px}.wpacu-bulk-changes-tabs .current a:before{border-color:rgba(194,225,245,0);border-top-color:rgba(40,44,42,.1);border-width:13px;margin-left:-13px}img.wpacu-emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;box-shadow:none!important}#wpacu-plugins-load-manager-wrap table td{border-bottom:1px solid #e7e7e7}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_icon{padding:14px 10px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details{vertical-align:middle;padding:10px 0 10px 8px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details .wpacu_plugin_title{font-weight:600}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options{width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:8px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label.wpacu_plugin_unload_rule_input_checked{color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_unload_logged_in:checked+span{color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options{padding-top:5px;border-top:1px solid #e7e7e7;width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:6px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li:last-of-type{margin:1px 0}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_logged_in:checked+span,#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_regex:checked+span{color:green}.wpacu-list-table.plugins{width:98%;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#wpacu-plugins-load-manager-wrap .help_link{text-decoration:none;color:inherit;vertical-align:middle}#wpacu-plugins-load-manager-wrap .help_link.unload_it_regex{vertical-align:top}#wpacu-plugins-load-manager-wrap .wpacu_plugin_details .wpacu_plugin_path{font-style:italic;color:grey}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>img{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div{background:#efefef;border:#cdcdcd;border-radius:3px;width:40px;height:40px;vertical-align:middle;position:relative;text-align:center}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div>span{font-size:30px;color:#b3b3b3;top:50%;vertical-align:middle;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;position:absolute}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap{display:block}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap textarea{margin-top:6px;min-width:400px;min-height:40px}#wpacu-plugins-load-manager-wrap .wpacu_exception_options_area textarea{margin-top:6px;min-width:400px;min-height:40px;width:100%}#wpacu-plugins-load-manager-wrap textarea{line-height:normal;min-height:20px;min-width:300px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap textarea:focus{width:100%}#wpacu-plugins-load-manager-wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}
assets/sweetalert2/dist/sweetalert2.all.js CHANGED
@@ -925,7 +925,7 @@
925
  };
926
 
927
  /**
928
- * This module containts `WeakMap`s for each effectively-"private property" that a `Swal` has.
929
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
930
  * This is the approach that Babel will probably take to implement private methods/fields
931
  * https://github.com/tc39/proposal-private-methods
@@ -1446,7 +1446,7 @@
1446
  };
1447
 
1448
  var addClasses = function addClasses(popup, params) {
1449
- // Default Class + showClass when updating Swal.update({})
1450
  popup.className = "".concat(swalClasses.popup, " ").concat(isVisible(popup) ? params.showClass.popup : '');
1451
 
1452
  if (params.toast) {
@@ -1524,18 +1524,18 @@
1524
  }
1525
 
1526
  /**
1527
- * Returns an extended version of `Swal` containing `params` as defaults.
1528
- * Useful for reusing Swal configuration.
1529
  *
1530
  * For example:
1531
  *
1532
  * Before:
1533
  * const textPromptOptions = { input: 'text', showCancelButton: true }
1534
- * const {value: firstName} = await Swal.fire({ ...textPromptOptions, title: 'What is your first name?' })
1535
- * const {value: lastName} = await Swal.fire({ ...textPromptOptions, title: 'What is your last name?' })
1536
  *
1537
  * After:
1538
- * const TextPrompt = Swal.mixin({ input: 'text', showCancelButton: true })
1539
  * const {value: firstName} = await TextPrompt('What is your first name?')
1540
  * const {value: lastName} = await TextPrompt('What is your last name?')
1541
  *
@@ -1795,7 +1795,7 @@
1795
  return Object.prototype.hasOwnProperty.call(defaultParams, paramName);
1796
  };
1797
  /**
1798
- * Is valid parameter for Swal.update() method
1799
  * @param {String} paramName
1800
  */
1801
 
@@ -2088,7 +2088,7 @@
2088
  };
2089
 
2090
  /**
2091
- * This module containts `WeakMap`s for each effectively-"private property" that a `Swal` has.
2092
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
2093
  * This is the approach that Babel will probably take to implement private methods/fields
2094
  * https://github.com/tc39/proposal-private-methods
@@ -2155,13 +2155,13 @@
2155
  var backdrop = getContainer();
2156
  removeClass(backdrop, innerParams.showClass.backdrop);
2157
  addClass(backdrop, innerParams.hideClass.backdrop);
2158
- handlePopupAnimation(this, popup, innerParams); // Resolve Swal promise
2159
 
2160
  swalPromiseResolve(resolveValue);
2161
  }
2162
 
2163
  var prepareResolveValue = function prepareResolveValue(resolveValue) {
2164
- // When user calls Swal.close()
2165
  if (typeof resolveValue === 'undefined') {
2166
  return {
2167
  isConfirmed: false,
@@ -2414,7 +2414,7 @@
2414
  warn('showLoaderOnConfirm is set to true, but preConfirm is not defined.\n' + 'showLoaderOnConfirm should be used together with preConfirm, see usage example:\n' + 'https://sweetalert2.github.io/#ajax-request');
2415
  } // params.animation will be actually used in renderPopup.js
2416
  // but in case when params.animation is a function, we need to call that function
2417
- // before popup (re)initialization, so it'll be possible to check Swal.isVisible()
2418
  // inside the params.animation function
2419
 
2420
 
@@ -3221,7 +3221,7 @@
3221
 
3222
  if (!innerParams) {
3223
  return; // This instance has already been destroyed
3224
- } // Check if there is another Swal closing
3225
 
3226
 
3227
  if (domCache.popup && globalState.swalCloseEventFinishedCallback) {
925
  };
926
 
927
  /**
928
+ * This module containts `WeakMap`s for each effectively-"private property" that a `wpacuSwal` has.
929
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
930
  * This is the approach that Babel will probably take to implement private methods/fields
931
  * https://github.com/tc39/proposal-private-methods
1446
  };
1447
 
1448
  var addClasses = function addClasses(popup, params) {
1449
+ // Default Class + showClass when updating wpacuSwal.update({})
1450
  popup.className = "".concat(swalClasses.popup, " ").concat(isVisible(popup) ? params.showClass.popup : '');
1451
 
1452
  if (params.toast) {
1524
  }
1525
 
1526
  /**
1527
+ * Returns an extended version of `wpacuSwal` containing `params` as defaults.
1528
+ * Useful for reusing wpacuSwal configuration.
1529
  *
1530
  * For example:
1531
  *
1532
  * Before:
1533
  * const textPromptOptions = { input: 'text', showCancelButton: true }
1534
+ * const {value: firstName} = await wpacuSwal.fire({ ...textPromptOptions, title: 'What is your first name?' })
1535
+ * const {value: lastName} = await wpacuSwal.fire({ ...textPromptOptions, title: 'What is your last name?' })
1536
  *
1537
  * After:
1538
+ * const TextPrompt = wpacuSwal.mixin({ input: 'text', showCancelButton: true })
1539
  * const {value: firstName} = await TextPrompt('What is your first name?')
1540
  * const {value: lastName} = await TextPrompt('What is your last name?')
1541
  *
1795
  return Object.prototype.hasOwnProperty.call(defaultParams, paramName);
1796
  };
1797
  /**
1798
+ * Is valid parameter for wpacuSwal.update() method
1799
  * @param {String} paramName
1800
  */
1801
 
2088
  };
2089
 
2090
  /**
2091
+ * This module containts `WeakMap`s for each effectively-"private property" that a `wpacuSwal` has.
2092
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
2093
  * This is the approach that Babel will probably take to implement private methods/fields
2094
  * https://github.com/tc39/proposal-private-methods
2155
  var backdrop = getContainer();
2156
  removeClass(backdrop, innerParams.showClass.backdrop);
2157
  addClass(backdrop, innerParams.hideClass.backdrop);
2158
+ handlePopupAnimation(this, popup, innerParams); // Resolve wpacuSwal promise
2159
 
2160
  swalPromiseResolve(resolveValue);
2161
  }
2162
 
2163
  var prepareResolveValue = function prepareResolveValue(resolveValue) {
2164
+ // When user calls wpacuSwal.close()
2165
  if (typeof resolveValue === 'undefined') {
2166
  return {
2167
  isConfirmed: false,
2414
  warn('showLoaderOnConfirm is set to true, but preConfirm is not defined.\n' + 'showLoaderOnConfirm should be used together with preConfirm, see usage example:\n' + 'https://sweetalert2.github.io/#ajax-request');
2415
  } // params.animation will be actually used in renderPopup.js
2416
  // but in case when params.animation is a function, we need to call that function
2417
+ // before popup (re)initialization, so it'll be possible to check wpacuSwal.isVisible()
2418
  // inside the params.animation function
2419
 
2420
 
3221
 
3222
  if (!innerParams) {
3223
  return; // This instance has already been destroyed
3224
+ } // Check if there is another wpacuSwal closing
3225
 
3226
 
3227
  if (domCache.popup && globalState.swalCloseEventFinishedCallback) {
assets/sweetalert2/dist/sweetalert2.css CHANGED
@@ -1,4 +1,4 @@
1
- .swal2-popup.swal2-toast {
2
  flex-direction: row;
3
  align-items: center;
4
  width: auto;
@@ -7,142 +7,142 @@
7
  background: #fff;
8
  box-shadow: 0 0 0.625em #d9d9d9;
9
  }
10
- .swal2-popup.swal2-toast .swal2-header {
11
  flex-direction: row;
12
  padding: 0;
13
  }
14
- .swal2-popup.swal2-toast .swal2-title {
15
  flex-grow: 1;
16
  justify-content: flex-start;
17
  margin: 0 0.6em;
18
  font-size: 1em;
19
  }
20
- .swal2-popup.swal2-toast .swal2-footer {
21
  margin: 0.5em 0 0;
22
  padding: 0.5em 0 0;
23
  font-size: 0.8em;
24
  }
25
- .swal2-popup.swal2-toast .swal2-close {
26
  position: static;
27
  width: 0.8em;
28
  height: 0.8em;
29
  line-height: 0.8;
30
  }
31
- .swal2-popup.swal2-toast .swal2-content {
32
  justify-content: flex-start;
33
  padding: 0;
34
  font-size: 1em;
35
  }
36
- .swal2-popup.swal2-toast .swal2-icon {
37
  width: 2em;
38
  min-width: 2em;
39
  height: 2em;
40
  margin: 0;
41
  }
42
- .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {
43
  display: flex;
44
  align-items: center;
45
  font-size: 1.8em;
46
  font-weight: bold;
47
  }
48
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
49
- .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {
50
  font-size: 0.25em;
51
  }
52
  }
53
- .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {
54
  width: 2em;
55
  height: 2em;
56
  }
57
- .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
58
  top: 0.875em;
59
  width: 1.375em;
60
  }
61
- .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] {
62
  left: 0.3125em;
63
  }
64
- .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] {
65
  right: 0.3125em;
66
  }
67
- .swal2-popup.swal2-toast .swal2-actions {
68
  flex-basis: auto !important;
69
  width: auto;
70
  height: auto;
71
  margin: 0 0.3125em;
72
  padding: 0;
73
  }
74
- .swal2-popup.swal2-toast .swal2-styled {
75
  margin: 0 0.3125em;
76
  padding: 0.3125em 0.625em;
77
  font-size: 1em;
78
  }
79
- .swal2-popup.swal2-toast .swal2-styled:focus {
80
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4);
81
  }
82
- .swal2-popup.swal2-toast .swal2-success {
83
  border-color: #a5dc86;
84
  }
85
- .swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line] {
86
  position: absolute;
87
  width: 1.6em;
88
  height: 3em;
89
  transform: rotate(45deg);
90
  border-radius: 50%;
91
  }
92
- .swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left] {
93
  top: -0.8em;
94
  left: -0.5em;
95
  transform: rotate(-45deg);
96
  transform-origin: 2em 2em;
97
  border-radius: 4em 0 0 4em;
98
  }
99
- .swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right] {
100
  top: -0.25em;
101
  left: 0.9375em;
102
  transform-origin: 0 1.5em;
103
  border-radius: 0 4em 4em 0;
104
  }
105
- .swal2-popup.swal2-toast .swal2-success .swal2-success-ring {
106
  width: 2em;
107
  height: 2em;
108
  }
109
- .swal2-popup.swal2-toast .swal2-success .swal2-success-fix {
110
  top: 0;
111
  left: 0.4375em;
112
  width: 0.4375em;
113
  height: 2.6875em;
114
  }
115
- .swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line] {
116
  height: 0.3125em;
117
  }
118
- .swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip] {
119
  top: 1.125em;
120
  left: 0.1875em;
121
  width: 0.75em;
122
  }
123
- .swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long] {
124
  top: 0.9375em;
125
  right: 0.1875em;
126
  width: 1.375em;
127
  }
128
- .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip {
129
  -webkit-animation: swal2-toast-animate-success-line-tip 0.75s;
130
  animation: swal2-toast-animate-success-line-tip 0.75s;
131
  }
132
- .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long {
133
  -webkit-animation: swal2-toast-animate-success-line-long 0.75s;
134
  animation: swal2-toast-animate-success-line-long 0.75s;
135
  }
136
- .swal2-popup.swal2-toast.swal2-show {
137
  -webkit-animation: swal2-toast-show 0.5s;
138
  animation: swal2-toast-show 0.5s;
139
  }
140
- .swal2-popup.swal2-toast.swal2-hide {
141
  -webkit-animation: swal2-toast-hide 0.1s forwards;
142
  animation: swal2-toast-hide 0.1s forwards;
143
  }
144
 
145
- .swal2-container {
146
  display: flex;
147
  position: fixed;
148
  z-index: 1060;
@@ -158,92 +158,92 @@
158
  transition: background-color 0.1s;
159
  -webkit-overflow-scrolling: touch;
160
  }
161
- .swal2-container.swal2-backdrop-show, .swal2-container.swal2-noanimation {
162
  background: rgba(0, 0, 0, 0.4);
163
  }
164
- .swal2-container.swal2-backdrop-hide {
165
  background: transparent !important;
166
  }
167
- .swal2-container.swal2-top {
168
  align-items: flex-start;
169
  }
170
- .swal2-container.swal2-top-start, .swal2-container.swal2-top-left {
171
  align-items: flex-start;
172
  justify-content: flex-start;
173
  }
174
- .swal2-container.swal2-top-end, .swal2-container.swal2-top-right {
175
  align-items: flex-start;
176
  justify-content: flex-end;
177
  }
178
- .swal2-container.swal2-center {
179
  align-items: center;
180
  }
181
- .swal2-container.swal2-center-start, .swal2-container.swal2-center-left {
182
  align-items: center;
183
  justify-content: flex-start;
184
  }
185
- .swal2-container.swal2-center-end, .swal2-container.swal2-center-right {
186
  align-items: center;
187
  justify-content: flex-end;
188
  }
189
- .swal2-container.swal2-bottom {
190
  align-items: flex-end;
191
  }
192
- .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left {
193
  align-items: flex-end;
194
  justify-content: flex-start;
195
  }
196
- .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right {
197
  align-items: flex-end;
198
  justify-content: flex-end;
199
  }
200
- .swal2-container.swal2-bottom > :first-child, .swal2-container.swal2-bottom-start > :first-child, .swal2-container.swal2-bottom-left > :first-child, .swal2-container.swal2-bottom-end > :first-child, .swal2-container.swal2-bottom-right > :first-child {
201
  margin-top: auto;
202
  }
203
- .swal2-container.swal2-grow-fullscreen > .swal2-modal {
204
  display: flex !important;
205
  flex: 1;
206
  align-self: stretch;
207
  justify-content: center;
208
  }
209
- .swal2-container.swal2-grow-row > .swal2-modal {
210
  display: flex !important;
211
  flex: 1;
212
  align-content: center;
213
  justify-content: center;
214
  }
215
- .swal2-container.swal2-grow-column {
216
  flex: 1;
217
  flex-direction: column;
218
  }
219
- .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom {
220
  align-items: center;
221
  }
222
- .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left {
223
  align-items: flex-start;
224
  }
225
- .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right {
226
  align-items: flex-end;
227
  }
228
- .swal2-container.swal2-grow-column > .swal2-modal {
229
  display: flex !important;
230
  flex: 1;
231
  align-content: center;
232
  justify-content: center;
233
  }
234
- .swal2-container.swal2-no-transition {
235
  transition: none !important;
236
  }
237
- .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen) > .swal2-modal {
238
  margin: auto;
239
  }
240
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
241
- .swal2-container .swal2-modal {
242
  margin: 0 !important;
243
  }
244
  }
245
 
246
- .swal2-popup {
247
  display: none;
248
  position: relative;
249
  box-sizing: border-box;
@@ -258,21 +258,21 @@
258
  font-family: inherit;
259
  font-size: 1rem;
260
  }
261
- .swal2-popup:focus {
262
  outline: none;
263
  }
264
- .swal2-popup.swal2-loading {
265
  overflow-y: hidden;
266
  }
267
 
268
- .swal2-header {
269
  display: flex;
270
  flex-direction: column;
271
  align-items: center;
272
  padding: 0 1.8em;
273
  }
274
 
275
- .swal2-title {
276
  position: relative;
277
  max-width: 100%;
278
  margin: 0 0 0.4em;
@@ -285,7 +285,7 @@
285
  word-wrap: break-word;
286
  }
287
 
288
- .swal2-actions {
289
  display: flex;
290
  z-index: 1;
291
  box-sizing: border-box;
@@ -296,17 +296,17 @@
296
  margin: 1.25em auto 0;
297
  padding: 0 1.6em;
298
  }
299
- .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] {
300
  opacity: 0.4;
301
  }
302
- .swal2-actions:not(.swal2-loading) .swal2-styled:hover {
303
  background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
304
  }
305
- .swal2-actions:not(.swal2-loading) .swal2-styled:active {
306
  background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
307
  }
308
 
309
- .swal2-loader {
310
  display: none;
311
  align-items: center;
312
  justify-content: center;
@@ -321,16 +321,16 @@
321
  border-color: #2778c4 transparent #2778c4 transparent;
322
  }
323
 
324
- .swal2-styled {
325
  margin: 0.3125em;
326
  padding: 0.625em 2em;
327
  box-shadow: none;
328
  font-weight: 500;
329
  }
330
- .swal2-styled:not([disabled]) {
331
  cursor: pointer;
332
  }
333
- .swal2-styled.swal2-confirm {
334
  border: 0;
335
  border-radius: 0.25em;
336
  background: initial;
@@ -338,7 +338,7 @@
338
  color: #fff;
339
  font-size: 1.0625em;
340
  }
341
- .swal2-styled.swal2-deny {
342
  border: 0;
343
  border-radius: 0.25em;
344
  background: initial;
@@ -346,7 +346,7 @@
346
  color: #fff;
347
  font-size: 1.0625em;
348
  }
349
- .swal2-styled.swal2-cancel {
350
  border: 0;
351
  border-radius: 0.25em;
352
  background: initial;
@@ -354,15 +354,15 @@
354
  color: #fff;
355
  font-size: 1.0625em;
356
  }
357
- .swal2-styled:focus {
358
  outline: none;
359
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4);
360
  }
361
- .swal2-styled::-moz-focus-inner {
362
  border: 0;
363
  }
364
 
365
- .swal2-footer {
366
  justify-content: center;
367
  margin: 1.25em 0 0;
368
  padding: 1em 0 0;
@@ -371,7 +371,7 @@
371
  font-size: 1em;
372
  }
373
 
374
- .swal2-timer-progress-bar-container {
375
  position: absolute;
376
  right: 0;
377
  bottom: 0;
@@ -382,18 +382,18 @@
382
  border-bottom-left-radius: 0.3125em;
383
  }
384
 
385
- .swal2-timer-progress-bar {
386
  width: 100%;
387
  height: 0.25em;
388
  background: rgba(0, 0, 0, 0.2);
389
  }
390
 
391
- .swal2-image {
392
  max-width: 100%;
393
  margin: 1.25em auto;
394
  }
395
 
396
- .swal2-close {
397
  position: absolute;
398
  z-index: 2;
399
  top: 0;
@@ -414,16 +414,16 @@
414
  line-height: 1.2;
415
  cursor: pointer;
416
  }
417
- .swal2-close:hover {
418
  transform: none;
419
  background: transparent;
420
  color: #f27474;
421
  }
422
- .swal2-close::-moz-focus-inner {
423
  border: 0;
424
  }
425
 
426
- .swal2-content {
427
  z-index: 1;
428
  justify-content: center;
429
  margin: 0;
@@ -436,18 +436,18 @@
436
  word-wrap: break-word;
437
  }
438
 
439
- .swal2-input,
440
- .swal2-file,
441
- .swal2-textarea,
442
- .swal2-select,
443
- .swal2-radio,
444
- .swal2-checkbox {
445
  margin: 1em auto;
446
  }
447
 
448
- .swal2-input,
449
- .swal2-file,
450
- .swal2-textarea {
451
  box-sizing: border-box;
452
  width: 100%;
453
  transition: border-color 0.3s, box-shadow 0.3s;
@@ -458,74 +458,74 @@
458
  color: inherit;
459
  font-size: 1.125em;
460
  }
461
- .swal2-input.swal2-inputerror,
462
- .swal2-file.swal2-inputerror,
463
- .swal2-textarea.swal2-inputerror {
464
  border-color: #f27474 !important;
465
  box-shadow: 0 0 2px #f27474 !important;
466
  }
467
- .swal2-input:focus,
468
- .swal2-file:focus,
469
- .swal2-textarea:focus {
470
  border: 1px solid #b4dbed;
471
  outline: none;
472
  box-shadow: 0 0 3px #c4e6f5;
473
  }
474
- .swal2-input::-moz-placeholder, .swal2-file::-moz-placeholder, .swal2-textarea::-moz-placeholder {
475
  color: #cccccc;
476
  }
477
- .swal2-input:-ms-input-placeholder, .swal2-file:-ms-input-placeholder, .swal2-textarea:-ms-input-placeholder {
478
  color: #cccccc;
479
  }
480
- .swal2-input::-ms-input-placeholder, .swal2-file::-ms-input-placeholder, .swal2-textarea::-ms-input-placeholder {
481
  color: #cccccc;
482
  }
483
- .swal2-input::placeholder,
484
- .swal2-file::placeholder,
485
- .swal2-textarea::placeholder {
486
  color: #cccccc;
487
  }
488
 
489
- .swal2-range {
490
  margin: 1em auto;
491
  background: #fff;
492
  }
493
- .swal2-range input {
494
  width: 80%;
495
  }
496
- .swal2-range output {
497
  width: 20%;
498
  color: inherit;
499
  font-weight: 600;
500
  text-align: center;
501
  }
502
- .swal2-range input,
503
- .swal2-range output {
504
  height: 2.625em;
505
  padding: 0;
506
  font-size: 1.125em;
507
  line-height: 2.625em;
508
  }
509
 
510
- .swal2-input {
511
  height: 2.625em;
512
  padding: 0 0.75em;
513
  }
514
- .swal2-input[type=number] {
515
  max-width: 10em;
516
  }
517
 
518
- .swal2-file {
519
  background: inherit;
520
  font-size: 1.125em;
521
  }
522
 
523
- .swal2-textarea {
524
  height: 6.75em;
525
  padding: 0.75em;
526
  }
527
 
528
- .swal2-select {
529
  min-width: 50%;
530
  max-width: 100%;
531
  padding: 0.375em 0.625em;
@@ -534,30 +534,30 @@
534
  font-size: 1.125em;
535
  }
536
 
537
- .swal2-radio,
538
- .swal2-checkbox {
539
  align-items: center;
540
  justify-content: center;
541
  background: #fff;
542
  color: inherit;
543
  }
544
- .swal2-radio label,
545
- .swal2-checkbox label {
546
  margin: 0 0.6em;
547
  font-size: 1.125em;
548
  }
549
- .swal2-radio input,
550
- .swal2-checkbox input {
551
  margin: 0 0.4em;
552
  }
553
 
554
- .swal2-input-label {
555
  display: flex;
556
  justify-content: center;
557
  margin: 1em auto;
558
  }
559
 
560
- .swal2-validation-message {
561
  display: none;
562
  align-items: center;
563
  justify-content: center;
@@ -569,7 +569,7 @@
569
  font-size: 1em;
570
  font-weight: 300;
571
  }
572
- .swal2-validation-message::before {
573
  content: "!";
574
  display: inline-block;
575
  width: 1.5em;
@@ -584,7 +584,7 @@
584
  text-align: center;
585
  }
586
 
587
- .swal2-icon {
588
  position: relative;
589
  box-sizing: content-box;
590
  justify-content: center;
@@ -601,20 +601,20 @@
601
  -ms-user-select: none;
602
  user-select: none;
603
  }
604
- .swal2-icon .swal2-icon-content {
605
  display: flex;
606
  align-items: center;
607
  font-size: 3.75em;
608
  }
609
- .swal2-icon.swal2-error {
610
  border-color: #f27474;
611
  color: #f27474;
612
  }
613
- .swal2-icon.swal2-error .swal2-x-mark {
614
  position: relative;
615
  flex-grow: 1;
616
  }
617
- .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
618
  display: block;
619
  position: absolute;
620
  top: 2.3125em;
@@ -623,60 +623,60 @@
623
  border-radius: 0.125em;
624
  background-color: #f27474;
625
  }
626
- .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] {
627
  left: 1.0625em;
628
  transform: rotate(45deg);
629
  }
630
- .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] {
631
  right: 1em;
632
  transform: rotate(-45deg);
633
  }
634
- .swal2-icon.swal2-error.swal2-icon-show {
635
  -webkit-animation: swal2-animate-error-icon 0.5s;
636
  animation: swal2-animate-error-icon 0.5s;
637
  }
638
- .swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark {
639
  -webkit-animation: swal2-animate-error-x-mark 0.5s;
640
  animation: swal2-animate-error-x-mark 0.5s;
641
  }
642
- .swal2-icon.swal2-warning {
643
  border-color: #facea8;
644
  color: #f8bb86;
645
  }
646
- .swal2-icon.swal2-info {
647
  border-color: #9de0f6;
648
  color: #3fc3ee;
649
  }
650
- .swal2-icon.swal2-question {
651
  border-color: #c9dae1;
652
  color: #87adbd;
653
  }
654
- .swal2-icon.swal2-success {
655
  border-color: #a5dc86;
656
  color: #a5dc86;
657
  }
658
- .swal2-icon.swal2-success [class^=swal2-success-circular-line] {
659
  position: absolute;
660
  width: 3.75em;
661
  height: 7.5em;
662
  transform: rotate(45deg);
663
  border-radius: 50%;
664
  }
665
- .swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left] {
666
  top: -0.4375em;
667
  left: -2.0635em;
668
  transform: rotate(-45deg);
669
  transform-origin: 3.75em 3.75em;
670
  border-radius: 7.5em 0 0 7.5em;
671
  }
672
- .swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right] {
673
  top: -0.6875em;
674
  left: 1.875em;
675
  transform: rotate(-45deg);
676
  transform-origin: 0 3.75em;
677
  border-radius: 0 7.5em 7.5em 0;
678
  }
679
- .swal2-icon.swal2-success .swal2-success-ring {
680
  position: absolute;
681
  z-index: 2;
682
  top: -0.25em;
@@ -687,7 +687,7 @@
687
  border: 0.25em solid rgba(165, 220, 134, 0.3);
688
  border-radius: 50%;
689
  }
690
- .swal2-icon.swal2-success .swal2-success-fix {
691
  position: absolute;
692
  z-index: 1;
693
  top: 0.5em;
@@ -696,7 +696,7 @@
696
  height: 5.625em;
697
  transform: rotate(-45deg);
698
  }
699
- .swal2-icon.swal2-success [class^=swal2-success-line] {
700
  display: block;
701
  position: absolute;
702
  z-index: 2;
@@ -704,32 +704,32 @@
704
  border-radius: 0.125em;
705
  background-color: #a5dc86;
706
  }
707
- .swal2-icon.swal2-success [class^=swal2-success-line][class$=tip] {
708
  top: 2.875em;
709
  left: 0.8125em;
710
  width: 1.5625em;
711
  transform: rotate(45deg);
712
  }
713
- .swal2-icon.swal2-success [class^=swal2-success-line][class$=long] {
714
  top: 2.375em;
715
  right: 0.5em;
716
  width: 2.9375em;
717
  transform: rotate(-45deg);
718
  }
719
- .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip {
720
  -webkit-animation: swal2-animate-success-line-tip 0.75s;
721
  animation: swal2-animate-success-line-tip 0.75s;
722
  }
723
- .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long {
724
  -webkit-animation: swal2-animate-success-line-long 0.75s;
725
  animation: swal2-animate-success-line-long 0.75s;
726
  }
727
- .swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right {
728
  -webkit-animation: swal2-rotate-success-circular-line 4.25s ease-in;
729
  animation: swal2-rotate-success-circular-line 4.25s ease-in;
730
  }
731
 
732
- .swal2-progress-steps {
733
  flex-wrap: wrap;
734
  align-items: center;
735
  max-width: 100%;
@@ -738,11 +738,11 @@
738
  background: inherit;
739
  font-weight: 600;
740
  }
741
- .swal2-progress-steps li {
742
  display: inline-block;
743
  position: relative;
744
  }
745
- .swal2-progress-steps .swal2-progress-step {
746
  z-index: 20;
747
  flex-shrink: 0;
748
  width: 2em;
@@ -753,17 +753,17 @@
753
  line-height: 2em;
754
  text-align: center;
755
  }
756
- .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {
757
  background: #2778c4;
758
  }
759
- .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step {
760
  background: #add8e6;
761
  color: #fff;
762
  }
763
- .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
764
  background: #add8e6;
765
  }
766
- .swal2-progress-steps .swal2-progress-step-line {
767
  z-index: 10;
768
  flex-shrink: 0;
769
  width: 2.5em;
@@ -776,21 +776,21 @@
776
  -webkit-tap-highlight-color: transparent;
777
  }
778
 
779
- .swal2-show {
780
  -webkit-animation: swal2-show 0.3s;
781
  animation: swal2-show 0.3s;
782
  }
783
 
784
- .swal2-hide {
785
  -webkit-animation: swal2-hide 0.15s forwards;
786
  animation: swal2-hide 0.15s forwards;
787
  }
788
 
789
- .swal2-noanimation {
790
  transition: none;
791
  }
792
 
793
- .swal2-scrollbar-measure {
794
  position: absolute;
795
  top: -9999px;
796
  width: 50px;
@@ -798,33 +798,33 @@
798
  overflow: scroll;
799
  }
800
 
801
- .swal2-rtl .swal2-close {
802
  right: auto;
803
  left: 0;
804
  }
805
- .swal2-rtl .swal2-timer-progress-bar {
806
  right: 0;
807
  left: auto;
808
  }
809
 
810
  @supports (-ms-accelerator: true) {
811
- .swal2-range input {
812
  width: 100% !important;
813
  }
814
- .swal2-range output {
815
  display: none;
816
  }
817
  }
818
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
819
- .swal2-range input {
820
  width: 100% !important;
821
  }
822
- .swal2-range output {
823
  display: none;
824
  }
825
  }
826
  @-moz-document url-prefix() {
827
- .swal2-close:focus {
828
  outline: 2px solid rgba(50, 100, 150, 0.4);
829
  }
830
  }
@@ -1218,13 +1218,13 @@
1218
  transform: rotate(360deg);
1219
  }
1220
  }
1221
- body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
1222
  overflow: hidden;
1223
  }
1224
- body.swal2-height-auto {
1225
  height: auto !important;
1226
  }
1227
- body.swal2-no-backdrop .swal2-container {
1228
  top: auto;
1229
  right: auto;
1230
  bottom: auto;
@@ -1232,141 +1232,141 @@ body.swal2-no-backdrop .swal2-container {
1232
  max-width: calc(100% - 0.625em * 2);
1233
  background-color: transparent !important;
1234
  }
1235
- body.swal2-no-backdrop .swal2-container > .swal2-modal {
1236
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
1237
  }
1238
- body.swal2-no-backdrop .swal2-container.swal2-top {
1239
  top: 0;
1240
  left: 50%;
1241
  transform: translateX(-50%);
1242
  }
1243
- body.swal2-no-backdrop .swal2-container.swal2-top-start, body.swal2-no-backdrop .swal2-container.swal2-top-left {
1244
  top: 0;
1245
  left: 0;
1246
  }
1247
- body.swal2-no-backdrop .swal2-container.swal2-top-end, body.swal2-no-backdrop .swal2-container.swal2-top-right {
1248
  top: 0;
1249
  right: 0;
1250
  }
1251
- body.swal2-no-backdrop .swal2-container.swal2-center {
1252
  top: 50%;
1253
  left: 50%;
1254
  transform: translate(-50%, -50%);
1255
  }
1256
- body.swal2-no-backdrop .swal2-container.swal2-center-start, body.swal2-no-backdrop .swal2-container.swal2-center-left {
1257
  top: 50%;
1258
  left: 0;
1259
  transform: translateY(-50%);
1260
  }
1261
- body.swal2-no-backdrop .swal2-container.swal2-center-end, body.swal2-no-backdrop .swal2-container.swal2-center-right {
1262
  top: 50%;
1263
  right: 0;
1264
  transform: translateY(-50%);
1265
  }
1266
- body.swal2-no-backdrop .swal2-container.swal2-bottom {
1267
  bottom: 0;
1268
  left: 50%;
1269
  transform: translateX(-50%);
1270
  }
1271
- body.swal2-no-backdrop .swal2-container.swal2-bottom-start, body.swal2-no-backdrop .swal2-container.swal2-bottom-left {
1272
  bottom: 0;
1273
  left: 0;
1274
  }
1275
- body.swal2-no-backdrop .swal2-container.swal2-bottom-end, body.swal2-no-backdrop .swal2-container.swal2-bottom-right {
1276
  right: 0;
1277
  bottom: 0;
1278
  }
1279
  @media print {
1280
- body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
1281
  overflow-y: scroll !important;
1282
  }
1283
- body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) > [aria-hidden=true] {
1284
  display: none;
1285
  }
1286
- body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container {
1287
  position: static !important;
1288
  }
1289
  }
1290
- body.swal2-toast-shown .swal2-container {
1291
  background-color: transparent;
1292
  }
1293
- body.swal2-toast-shown .swal2-container.swal2-top {
1294
  top: 0;
1295
  right: auto;
1296
  bottom: auto;
1297
  left: 50%;
1298
  transform: translateX(-50%);
1299
  }
1300
- body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {
1301
  top: 0;
1302
  right: 0;
1303
  bottom: auto;
1304
  left: auto;
1305
  }
1306
- body.swal2-toast-shown .swal2-container.swal2-top-start, body.swal2-toast-shown .swal2-container.swal2-top-left {
1307
  top: 0;
1308
  right: auto;
1309
  bottom: auto;
1310
  left: 0;
1311
  }
1312
- body.swal2-toast-shown .swal2-container.swal2-center-start, body.swal2-toast-shown .swal2-container.swal2-center-left {
1313
  top: 50%;
1314
  right: auto;
1315
  bottom: auto;
1316
  left: 0;
1317
  transform: translateY(-50%);
1318
  }
1319
- body.swal2-toast-shown .swal2-container.swal2-center {
1320
  top: 50%;
1321
  right: auto;
1322
  bottom: auto;
1323
  left: 50%;
1324
  transform: translate(-50%, -50%);
1325
  }
1326
- body.swal2-toast-shown .swal2-container.swal2-center-end, body.swal2-toast-shown .swal2-container.swal2-center-right {
1327
  top: 50%;
1328
  right: 0;
1329
  bottom: auto;
1330
  left: auto;
1331
  transform: translateY(-50%);
1332
  }
1333
- body.swal2-toast-shown .swal2-container.swal2-bottom-start, body.swal2-toast-shown .swal2-container.swal2-bottom-left {
1334
  top: auto;
1335
  right: auto;
1336
  bottom: 0;
1337
  left: 0;
1338
  }
1339
- body.swal2-toast-shown .swal2-container.swal2-bottom {
1340
  top: auto;
1341
  right: auto;
1342
  bottom: 0;
1343
  left: 50%;
1344
  transform: translateX(-50%);
1345
  }
1346
- body.swal2-toast-shown .swal2-container.swal2-bottom-end, body.swal2-toast-shown .swal2-container.swal2-bottom-right {
1347
  top: auto;
1348
  right: 0;
1349
  bottom: 0;
1350
  left: auto;
1351
  }
1352
- body.swal2-toast-column .swal2-toast {
1353
  flex-direction: column;
1354
  align-items: stretch;
1355
  }
1356
- body.swal2-toast-column .swal2-toast .swal2-actions {
1357
  flex: 1;
1358
  align-self: stretch;
1359
  height: 2.2em;
1360
  margin-top: 0.3125em;
1361
  }
1362
- body.swal2-toast-column .swal2-toast .swal2-loading {
1363
  justify-content: center;
1364
  }
1365
- body.swal2-toast-column .swal2-toast .swal2-input {
1366
  height: 2em;
1367
  margin: 0.3125em auto;
1368
  font-size: 1em;
1369
  }
1370
- body.swal2-toast-column .swal2-toast .swal2-validation-message {
1371
  font-size: 1em;
1372
  }
1
+ .wpacu-swal2-popup.wpacu-swal2-toast {
2
  flex-direction: row;
3
  align-items: center;
4
  width: auto;
7
  background: #fff;
8
  box-shadow: 0 0 0.625em #d9d9d9;
9
  }
10
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-header {
11
  flex-direction: row;
12
  padding: 0;
13
  }
14
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-title {
15
  flex-grow: 1;
16
  justify-content: flex-start;
17
  margin: 0 0.6em;
18
  font-size: 1em;
19
  }
20
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-footer {
21
  margin: 0.5em 0 0;
22
  padding: 0.5em 0 0;
23
  font-size: 0.8em;
24
  }
25
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-close {
26
  position: static;
27
  width: 0.8em;
28
  height: 0.8em;
29
  line-height: 0.8;
30
  }
31
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-content {
32
  justify-content: flex-start;
33
  padding: 0;
34
  font-size: 1em;
35
  }
36
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-icon {
37
  width: 2em;
38
  min-width: 2em;
39
  height: 2em;
40
  margin: 0;
41
  }
42
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-icon .wpacu-swal2-icon-content {
43
  display: flex;
44
  align-items: center;
45
  font-size: 1.8em;
46
  font-weight: bold;
47
  }
48
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
49
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-icon .wpacu-swal2-icon-content {
50
  font-size: 0.25em;
51
  }
52
  }
53
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-icon.wpacu-swal2-success .wpacu-swal2-success-ring {
54
  width: 2em;
55
  height: 2em;
56
  }
57
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-icon.wpacu-swal2-error [class^=swal2-x-mark-line] {
58
  top: 0.875em;
59
  width: 1.375em;
60
  }
61
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-icon.wpacu-swal2-error [class^=swal2-x-mark-line][class$=left] {
62
  left: 0.3125em;
63
  }
64
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-icon.wpacu-swal2-error [class^=swal2-x-mark-line][class$=right] {
65
  right: 0.3125em;
66
  }
67
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-actions {
68
  flex-basis: auto !important;
69
  width: auto;
70
  height: auto;
71
  margin: 0 0.3125em;
72
  padding: 0;
73
  }
74
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-styled {
75
  margin: 0 0.3125em;
76
  padding: 0.3125em 0.625em;
77
  font-size: 1em;
78
  }
79
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-styled:focus {
80
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4);
81
  }
82
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success {
83
  border-color: #a5dc86;
84
  }
85
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success [class^=swal2-success-circular-line] {
86
  position: absolute;
87
  width: 1.6em;
88
  height: 3em;
89
  transform: rotate(45deg);
90
  border-radius: 50%;
91
  }
92
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success [class^=swal2-success-circular-line][class$=left] {
93
  top: -0.8em;
94
  left: -0.5em;
95
  transform: rotate(-45deg);
96
  transform-origin: 2em 2em;
97
  border-radius: 4em 0 0 4em;
98
  }
99
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success [class^=swal2-success-circular-line][class$=right] {
100
  top: -0.25em;
101
  left: 0.9375em;
102
  transform-origin: 0 1.5em;
103
  border-radius: 0 4em 4em 0;
104
  }
105
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success .wpacu-swal2-success-ring {
106
  width: 2em;
107
  height: 2em;
108
  }
109
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success .wpacu-swal2-success-fix {
110
  top: 0;
111
  left: 0.4375em;
112
  width: 0.4375em;
113
  height: 2.6875em;
114
  }
115
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success [class^=swal2-success-line] {
116
  height: 0.3125em;
117
  }
118
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success [class^=swal2-success-line][class$=tip] {
119
  top: 1.125em;
120
  left: 0.1875em;
121
  width: 0.75em;
122
  }
123
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success [class^=swal2-success-line][class$=long] {
124
  top: 0.9375em;
125
  right: 0.1875em;
126
  width: 1.375em;
127
  }
128
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success.wpacu-swal2-icon-show .wpacu-swal2-success-line-tip {
129
  -webkit-animation: swal2-toast-animate-success-line-tip 0.75s;
130
  animation: swal2-toast-animate-success-line-tip 0.75s;
131
  }
132
+ .wpacu-swal2-popup.wpacu-swal2-toast .wpacu-swal2-success.wpacu-swal2-icon-show .wpacu-swal2-success-line-long {
133
  -webkit-animation: swal2-toast-animate-success-line-long 0.75s;
134
  animation: swal2-toast-animate-success-line-long 0.75s;
135
  }
136
+ .wpacu-swal2-popup.wpacu-swal2-toast.wpacu-swal2-show {
137
  -webkit-animation: swal2-toast-show 0.5s;
138
  animation: swal2-toast-show 0.5s;
139
  }
140
+ .wpacu-swal2-popup.wpacu-swal2-toast.wpacu-swal2-hide {
141
  -webkit-animation: swal2-toast-hide 0.1s forwards;
142
  animation: swal2-toast-hide 0.1s forwards;
143
  }
144
 
145
+ .wpacu-swal2-container {
146
  display: flex;
147
  position: fixed;
148
  z-index: 1060;
158
  transition: background-color 0.1s;
159
  -webkit-overflow-scrolling: touch;
160
  }
161
+ .wpacu-swal2-container.wpacu-swal2-backdrop-show, .wpacu-swal2-container.wpacu-swal2-noanimation {
162
  background: rgba(0, 0, 0, 0.4);
163
  }
164
+ .wpacu-swal2-container.wpacu-swal2-backdrop-hide {
165
  background: transparent !important;
166
  }
167
+ .wpacu-swal2-container.wpacu-swal2-top {
168
  align-items: flex-start;
169
  }
170
+ .wpacu-swal2-container.wpacu-swal2-top-start, .wpacu-swal2-container.wpacu-swal2-top-left {
171
  align-items: flex-start;
172
  justify-content: flex-start;
173
  }
174
+ .wpacu-swal2-container.wpacu-swal2-top-end, .wpacu-swal2-container.wpacu-swal2-top-right {
175
  align-items: flex-start;
176
  justify-content: flex-end;
177
  }
178
+ .wpacu-swal2-container.wpacu-swal2-center {
179
  align-items: center;
180
  }
181
+ .wpacu-swal2-container.wpacu-swal2-center-start, .wpacu-swal2-container.wpacu-swal2-center-left {
182
  align-items: center;
183
  justify-content: flex-start;
184
  }
185
+ .wpacu-swal2-container.wpacu-swal2-center-end, .wpacu-swal2-container.wpacu-swal2-center-right {
186
  align-items: center;
187
  justify-content: flex-end;
188
  }
189
+ .wpacu-swal2-container.wpacu-swal2-bottom {
190
  align-items: flex-end;
191
  }
192
+ .wpacu-swal2-container.wpacu-swal2-bottom-start, .wpacu-swal2-container.wpacu-swal2-bottom-left {
193
  align-items: flex-end;
194
  justify-content: flex-start;
195
  }
196
+ .wpacu-swal2-container.wpacu-swal2-bottom-end, .wpacu-swal2-container.wpacu-swal2-bottom-right {
197
  align-items: flex-end;
198
  justify-content: flex-end;
199
  }
200
+ .wpacu-swal2-container.wpacu-swal2-bottom > :first-child, .wpacu-swal2-container.wpacu-swal2-bottom-start > :first-child, .wpacu-swal2-container.wpacu-swal2-bottom-left > :first-child, .wpacu-swal2-container.wpacu-swal2-bottom-end > :first-child, .wpacu-swal2-container.wpacu-swal2-bottom-right > :first-child {
201
  margin-top: auto;
202
  }
203
+ .wpacu-swal2-container.wpacu-swal2-grow-fullscreen > .wpacu-swal2-modal {
204
  display: flex !important;
205
  flex: 1;
206
  align-self: stretch;
207
  justify-content: center;
208
  }
209
+ .wpacu-swal2-container.wpacu-swal2-grow-row > .wpacu-swal2-modal {
210
  display: flex !important;
211
  flex: 1;
212
  align-content: center;
213
  justify-content: center;
214
  }
215
+ .wpacu-swal2-container.wpacu-swal2-grow-column {
216
  flex: 1;
217
  flex-direction: column;
218
  }
219
+ .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-top, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-center, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-bottom {
220
  align-items: center;
221
  }
222
+ .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-top-start, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-center-start, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-bottom-start, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-top-left, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-center-left, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-bottom-left {
223
  align-items: flex-start;
224
  }
225
+ .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-top-end, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-center-end, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-bottom-end, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-top-right, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-center-right, .wpacu-swal2-container.wpacu-swal2-grow-column.wpacu-swal2-bottom-right {
226
  align-items: flex-end;
227
  }
228
+ .wpacu-swal2-container.wpacu-swal2-grow-column > .wpacu-swal2-modal {
229
  display: flex !important;
230
  flex: 1;
231
  align-content: center;
232
  justify-content: center;
233
  }
234
+ .wpacu-swal2-container.wpacu-swal2-no-transition {
235
  transition: none !important;
236
  }
237
+ .wpacu-swal2-container:not(.wpacu-swal2-top):not(.wpacu-swal2-top-start):not(.wpacu-swal2-top-end):not(.wpacu-swal2-top-left):not(.wpacu-swal2-top-right):not(.wpacu-swal2-center-start):not(.wpacu-swal2-center-end):not(.wpacu-swal2-center-left):not(.wpacu-swal2-center-right):not(.wpacu-swal2-bottom):not(.wpacu-swal2-bottom-start):not(.wpacu-swal2-bottom-end):not(.wpacu-swal2-bottom-left):not(.wpacu-swal2-bottom-right):not(.wpacu-swal2-grow-fullscreen) > .wpacu-swal2-modal {
238
  margin: auto;
239
  }
240
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
241
+ .wpacu-swal2-container .wpacu-swal2-modal {
242
  margin: 0 !important;
243
  }
244
  }
245
 
246
+ .wpacu-swal2-popup {
247
  display: none;
248
  position: relative;
249
  box-sizing: border-box;
258
  font-family: inherit;
259
  font-size: 1rem;
260
  }
261
+ .wpacu-swal2-popup:focus {
262
  outline: none;
263
  }
264
+ .wpacu-swal2-popup.wpacu-swal2-loading {
265
  overflow-y: hidden;
266
  }
267
 
268
+ .wpacu-swal2-header {
269
  display: flex;
270
  flex-direction: column;
271
  align-items: center;
272
  padding: 0 1.8em;
273
  }
274
 
275
+ .wpacu-swal2-title {
276
  position: relative;
277
  max-width: 100%;
278
  margin: 0 0 0.4em;
285
  word-wrap: break-word;
286
  }
287
 
288
+ .wpacu-swal2-actions {
289
  display: flex;
290
  z-index: 1;
291
  box-sizing: border-box;
296
  margin: 1.25em auto 0;
297
  padding: 0 1.6em;
298
  }
299
+ .wpacu-swal2-actions:not(.wpacu-swal2-loading) .wpacu-swal2-styled[disabled] {
300
  opacity: 0.4;
301
  }
302
+ .wpacu-swal2-actions:not(.wpacu-swal2-loading) .wpacu-swal2-styled:hover {
303
  background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
304
  }
305
+ .wpacu-swal2-actions:not(.wpacu-swal2-loading) .wpacu-swal2-styled:active {
306
  background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
307
  }
308
 
309
+ .wpacu-swal2-loader {
310
  display: none;
311
  align-items: center;
312
  justify-content: center;
321
  border-color: #2778c4 transparent #2778c4 transparent;
322
  }
323
 
324
+ .wpacu-swal2-styled {
325
  margin: 0.3125em;
326
  padding: 0.625em 2em;
327
  box-shadow: none;
328
  font-weight: 500;
329
  }
330
+ .wpacu-swal2-styled:not([disabled]) {
331
  cursor: pointer;
332
  }
333
+ .wpacu-swal2-styled.wpacu-swal2-confirm {
334
  border: 0;
335
  border-radius: 0.25em;
336
  background: initial;
338
  color: #fff;
339
  font-size: 1.0625em;
340
  }
341
+ .wpacu-swal2-styled.wpacu-swal2-deny {
342
  border: 0;
343
  border-radius: 0.25em;
344
  background: initial;
346
  color: #fff;
347
  font-size: 1.0625em;
348
  }
349
+ .wpacu-swal2-styled.wpacu-swal2-cancel {
350
  border: 0;
351
  border-radius: 0.25em;
352
  background: initial;
354
  color: #fff;
355
  font-size: 1.0625em;
356
  }
357
+ .wpacu-swal2-styled:focus {
358
  outline: none;
359
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4);
360
  }
361
+ .wpacu-swal2-styled::-moz-focus-inner {
362
  border: 0;
363
  }
364
 
365
+ .wpacu-swal2-footer {
366
  justify-content: center;
367
  margin: 1.25em 0 0;
368
  padding: 1em 0 0;
371
  font-size: 1em;
372
  }
373
 
374
+ .wpacu-swal2-timer-progress-bar-container {
375
  position: absolute;
376
  right: 0;
377
  bottom: 0;
382
  border-bottom-left-radius: 0.3125em;
383
  }
384
 
385
+ .wpacu-swal2-timer-progress-bar {
386
  width: 100%;
387
  height: 0.25em;
388
  background: rgba(0, 0, 0, 0.2);
389
  }
390
 
391
+ .wpacu-swal2-image {
392
  max-width: 100%;
393
  margin: 1.25em auto;
394
  }
395
 
396
+ .wpacu-swal2-close {
397
  position: absolute;
398
  z-index: 2;
399
  top: 0;
414
  line-height: 1.2;
415
  cursor: pointer;
416
  }
417
+ .wpacu-swal2-close:hover {
418
  transform: none;
419
  background: transparent;
420
  color: #f27474;
421
  }
422
+ .wpacu-swal2-close::-moz-focus-inner {
423
  border: 0;
424
  }
425
 
426
+ .wpacu-swal2-content {
427
  z-index: 1;
428
  justify-content: center;
429
  margin: 0;
436
  word-wrap: break-word;
437
  }
438
 
439
+ .wpacu-swal2-input,
440
+ .wpacu-swal2-file,
441
+ .wpacu-swal2-textarea,
442
+ .wpacu-swal2-select,
443
+ .wpacu-swal2-radio,
444
+ .wpacu-swal2-checkbox {
445
  margin: 1em auto;
446
  }
447
 
448
+ .wpacu-swal2-input,
449
+ .wpacu-swal2-file,
450
+ .wpacu-swal2-textarea {
451
  box-sizing: border-box;
452
  width: 100%;
453
  transition: border-color 0.3s, box-shadow 0.3s;
458
  color: inherit;
459
  font-size: 1.125em;
460
  }
461
+ .wpacu-swal2-input.wpacu-swal2-inputerror,
462
+ .wpacu-swal2-file.wpacu-swal2-inputerror,
463
+ .wpacu-swal2-textarea.wpacu-swal2-inputerror {
464
  border-color: #f27474 !important;
465
  box-shadow: 0 0 2px #f27474 !important;
466
  }
467
+ .wpacu-swal2-input:focus,
468
+ .wpacu-swal2-file:focus,
469
+ .wpacu-swal2-textarea:focus {
470
  border: 1px solid #b4dbed;
471
  outline: none;
472
  box-shadow: 0 0 3px #c4e6f5;
473
  }
474
+ .wpacu-swal2-input::-moz-placeholder, .wpacu-swal2-file::-moz-placeholder, .wpacu-swal2-textarea::-moz-placeholder {
475
  color: #cccccc;
476
  }
477
+ .wpacu-swal2-input:-ms-input-placeholder, .wpacu-swal2-file:-ms-input-placeholder, .wpacu-swal2-textarea:-ms-input-placeholder {
478
  color: #cccccc;
479
  }
480
+ .wpacu-swal2-input::-ms-input-placeholder, .wpacu-swal2-file::-ms-input-placeholder, .wpacu-swal2-textarea::-ms-input-placeholder {
481
  color: #cccccc;
482
  }
483
+ .wpacu-swal2-input::placeholder,
484
+ .wpacu-swal2-file::placeholder,
485
+ .wpacu-swal2-textarea::placeholder {
486
  color: #cccccc;
487
  }
488
 
489
+ .wpacu-swal2-range {
490
  margin: 1em auto;
491
  background: #fff;
492
  }
493
+ .wpacu-swal2-range input {
494
  width: 80%;
495
  }
496
+ .wpacu-swal2-range output {
497
  width: 20%;
498
  color: inherit;
499
  font-weight: 600;
500
  text-align: center;
501
  }
502
+ .wpacu-swal2-range input,
503
+ .wpacu-swal2-range output {
504
  height: 2.625em;
505
  padding: 0;
506
  font-size: 1.125em;
507
  line-height: 2.625em;
508
  }
509
 
510
+ .wpacu-swal2-input {
511
  height: 2.625em;
512
  padding: 0 0.75em;
513
  }
514
+ .wpacu-swal2-input[type=number] {
515
  max-width: 10em;
516
  }
517
 
518
+ .wpacu-swal2-file {
519
  background: inherit;
520
  font-size: 1.125em;
521
  }
522
 
523
+ .wpacu-swal2-textarea {
524
  height: 6.75em;
525
  padding: 0.75em;
526
  }
527
 
528
+ .wpacu-swal2-select {
529
  min-width: 50%;
530
  max-width: 100%;
531
  padding: 0.375em 0.625em;
534
  font-size: 1.125em;
535
  }
536
 
537
+ .wpacu-swal2-radio,
538
+ .wpacu-swal2-checkbox {
539
  align-items: center;
540
  justify-content: center;
541
  background: #fff;
542
  color: inherit;
543
  }
544
+ .wpacu-swal2-radio label,
545
+ .wpacu-swal2-checkbox label {
546
  margin: 0 0.6em;
547
  font-size: 1.125em;
548
  }
549
+ .wpacu-swal2-radio input,
550
+ .wpacu-swal2-checkbox input {
551
  margin: 0 0.4em;
552
  }
553
 
554
+ .wpacu-swal2-input-label {
555
  display: flex;
556
  justify-content: center;
557
  margin: 1em auto;
558
  }
559
 
560
+ .wpacu-swal2-validation-message {
561
  display: none;
562
  align-items: center;
563
  justify-content: center;
569
  font-size: 1em;
570
  font-weight: 300;
571
  }
572
+ .wpacu-swal2-validation-message::before {
573
  content: "!";
574
  display: inline-block;
575
  width: 1.5em;
584
  text-align: center;
585
  }
586
 
587
+ .wpacu-swal2-icon {
588
  position: relative;
589
  box-sizing: content-box;
590
  justify-content: center;
601
  -ms-user-select: none;
602
  user-select: none;
603
  }
604
+ .wpacu-swal2-icon .wpacu-swal2-icon-content {
605
  display: flex;
606
  align-items: center;
607
  font-size: 3.75em;
608
  }
609
+ .wpacu-swal2-icon.wpacu-swal2-error {
610
  border-color: #f27474;
611
  color: #f27474;
612
  }
613
+ .wpacu-swal2-icon.wpacu-swal2-error .wpacu-swal2-x-mark {
614
  position: relative;
615
  flex-grow: 1;
616
  }
617
+ .wpacu-swal2-icon.wpacu-swal2-error [class^=swal2-x-mark-line] {
618
  display: block;
619
  position: absolute;
620
  top: 2.3125em;
623
  border-radius: 0.125em;
624
  background-color: #f27474;
625
  }
626
+ .wpacu-swal2-icon.wpacu-swal2-error [class^=swal2-x-mark-line][class$=left] {
627
  left: 1.0625em;
628
  transform: rotate(45deg);
629
  }
630
+ .wpacu-swal2-icon.wpacu-swal2-error [class^=swal2-x-mark-line][class$=right] {
631
  right: 1em;
632
  transform: rotate(-45deg);
633
  }
634
+ .wpacu-swal2-icon.wpacu-swal2-error.wpacu-swal2-icon-show {
635
  -webkit-animation: swal2-animate-error-icon 0.5s;
636
  animation: swal2-animate-error-icon 0.5s;
637
  }
638
+ .wpacu-swal2-icon.wpacu-swal2-error.wpacu-swal2-icon-show .wpacu-swal2-x-mark {
639
  -webkit-animation: swal2-animate-error-x-mark 0.5s;
640
  animation: swal2-animate-error-x-mark 0.5s;
641
  }
642
+ .wpacu-swal2-icon.wpacu-swal2-warning {
643
  border-color: #facea8;
644
  color: #f8bb86;
645
  }
646
+ .wpacu-swal2-icon.wpacu-swal2-info {
647
  border-color: #9de0f6;
648
  color: #3fc3ee;
649
  }
650
+ .wpacu-swal2-icon.wpacu-swal2-question {
651
  border-color: #c9dae1;
652
  color: #87adbd;
653
  }
654
+ .wpacu-swal2-icon.wpacu-swal2-success {
655
  border-color: #a5dc86;
656
  color: #a5dc86;
657
  }
658
+ .wpacu-swal2-icon.wpacu-swal2-success [class^=swal2-success-circular-line] {
659
  position: absolute;
660
  width: 3.75em;
661
  height: 7.5em;
662
  transform: rotate(45deg);
663
  border-radius: 50%;
664
  }
665
+ .wpacu-swal2-icon.wpacu-swal2-success [class^=swal2-success-circular-line][class$=left] {
666
  top: -0.4375em;
667
  left: -2.0635em;
668
  transform: rotate(-45deg);
669
  transform-origin: 3.75em 3.75em;
670
  border-radius: 7.5em 0 0 7.5em;
671
  }
672
+ .wpacu-swal2-icon.wpacu-swal2-success [class^=swal2-success-circular-line][class$=right] {
673
  top: -0.6875em;
674
  left: 1.875em;
675
  transform: rotate(-45deg);
676
  transform-origin: 0 3.75em;
677
  border-radius: 0 7.5em 7.5em 0;
678
  }
679
+ .wpacu-swal2-icon.wpacu-swal2-success .wpacu-swal2-success-ring {
680
  position: absolute;
681
  z-index: 2;
682
  top: -0.25em;
687
  border: 0.25em solid rgba(165, 220, 134, 0.3);
688
  border-radius: 50%;
689
  }
690
+ .wpacu-swal2-icon.wpacu-swal2-success .wpacu-swal2-success-fix {
691
  position: absolute;
692
  z-index: 1;
693
  top: 0.5em;
696
  height: 5.625em;
697
  transform: rotate(-45deg);
698
  }
699
+ .wpacu-swal2-icon.wpacu-swal2-success [class^=swal2-success-line] {
700
  display: block;
701
  position: absolute;
702
  z-index: 2;
704
  border-radius: 0.125em;
705
  background-color: #a5dc86;
706
  }
707
+ .wpacu-swal2-icon.wpacu-swal2-success [class^=swal2-success-line][class$=tip] {
708
  top: 2.875em;
709
  left: 0.8125em;
710
  width: 1.5625em;
711
  transform: rotate(45deg);
712
  }
713
+ .wpacu-swal2-icon.wpacu-swal2-success [class^=swal2-success-line][class$=long] {
714
  top: 2.375em;
715
  right: 0.5em;
716
  width: 2.9375em;
717
  transform: rotate(-45deg);
718
  }
719
+ .wpacu-swal2-icon.wpacu-swal2-success.wpacu-swal2-icon-show .wpacu-swal2-success-line-tip {
720
  -webkit-animation: swal2-animate-success-line-tip 0.75s;
721
  animation: swal2-animate-success-line-tip 0.75s;
722
  }
723
+ .wpacu-swal2-icon.wpacu-swal2-success.wpacu-swal2-icon-show .wpacu-swal2-success-line-long {
724
  -webkit-animation: swal2-animate-success-line-long 0.75s;
725
  animation: swal2-animate-success-line-long 0.75s;
726
  }
727
+ .wpacu-swal2-icon.wpacu-swal2-success.wpacu-swal2-icon-show .wpacu-swal2-success-circular-line-right {
728
  -webkit-animation: swal2-rotate-success-circular-line 4.25s ease-in;
729
  animation: swal2-rotate-success-circular-line 4.25s ease-in;
730
  }
731
 
732
+ .wpacu-swal2-progress-steps {
733
  flex-wrap: wrap;
734
  align-items: center;
735
  max-width: 100%;
738
  background: inherit;
739
  font-weight: 600;
740
  }
741
+ .wpacu-swal2-progress-steps li {
742
  display: inline-block;
743
  position: relative;
744
  }
745
+ .wpacu-swal2-progress-steps .wpacu-swal2-progress-step {
746
  z-index: 20;
747
  flex-shrink: 0;
748
  width: 2em;
753
  line-height: 2em;
754
  text-align: center;
755
  }
756
+ .wpacu-swal2-progress-steps .wpacu-swal2-progress-step.wpacu-swal2-active-progress-step {
757
  background: #2778c4;
758
  }
759
+ .wpacu-swal2-progress-steps .wpacu-swal2-progress-step.wpacu-swal2-active-progress-step ~ .wpacu-swal2-progress-step {
760
  background: #add8e6;
761
  color: #fff;
762
  }
763
+ .wpacu-swal2-progress-steps .wpacu-swal2-progress-step.wpacu-swal2-active-progress-step ~ .wpacu-swal2-progress-step-line {
764
  background: #add8e6;
765
  }
766
+ .wpacu-swal2-progress-steps .wpacu-swal2-progress-step-line {
767
  z-index: 10;
768
  flex-shrink: 0;
769
  width: 2.5em;
776
  -webkit-tap-highlight-color: transparent;
777
  }
778
 
779
+ .wpacu-swal2-show {
780
  -webkit-animation: swal2-show 0.3s;
781
  animation: swal2-show 0.3s;
782
  }
783
 
784
+ .wpacu-swal2-hide {
785
  -webkit-animation: swal2-hide 0.15s forwards;
786
  animation: swal2-hide 0.15s forwards;
787
  }
788
 
789
+ .wpacu-swal2-noanimation {
790
  transition: none;
791
  }
792
 
793
+ .wpacu-swal2-scrollbar-measure {
794
  position: absolute;
795
  top: -9999px;
796
  width: 50px;
798
  overflow: scroll;
799
  }
800
 
801
+ .wpacu-swal2-rtl .wpacu-swal2-close {
802
  right: auto;
803
  left: 0;
804
  }
805
+ .wpacu-swal2-rtl .wpacu-swal2-timer-progress-bar {
806
  right: 0;
807
  left: auto;
808
  }
809
 
810
  @supports (-ms-accelerator: true) {
811
+ .wpacu-swal2-range input {
812
  width: 100% !important;
813
  }
814
+ .wpacu-swal2-range output {
815
  display: none;
816
  }
817
  }
818
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
819
+ .wpacu-swal2-range input {
820
  width: 100% !important;
821
  }
822
+ .wpacu-swal2-range output {
823
  display: none;
824
  }
825
  }
826
  @-moz-document url-prefix() {
827
+ .wpacu-swal2-close:focus {
828
  outline: 2px solid rgba(50, 100, 150, 0.4);
829
  }
830
  }
1218
  transform: rotate(360deg);
1219
  }
1220
  }
1221
+ body.wpacu-swal2-shown:not(.wpacu-swal2-no-backdrop):not(.wpacu-swal2-toast-shown) {
1222
  overflow: hidden;
1223
  }
1224
+ body.wpacu-swal2-height-auto {
1225
  height: auto !important;
1226
  }
1227
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container {
1228
  top: auto;
1229
  right: auto;
1230
  bottom: auto;
1232
  max-width: calc(100% - 0.625em * 2);
1233
  background-color: transparent !important;
1234
  }
1235
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container > .wpacu-swal2-modal {
1236
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
1237
  }
1238
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-top {
1239
  top: 0;
1240
  left: 50%;
1241
  transform: translateX(-50%);
1242
  }
1243
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-top-start, body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-top-left {
1244
  top: 0;
1245
  left: 0;
1246
  }
1247
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-top-end, body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-top-right {
1248
  top: 0;
1249
  right: 0;
1250
  }
1251
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-center {
1252
  top: 50%;
1253
  left: 50%;
1254
  transform: translate(-50%, -50%);
1255
  }
1256
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-center-start, body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-center-left {
1257
  top: 50%;
1258
  left: 0;
1259
  transform: translateY(-50%);
1260
  }
1261
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-center-end, body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-center-right {
1262
  top: 50%;
1263
  right: 0;
1264
  transform: translateY(-50%);
1265
  }
1266
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-bottom {
1267
  bottom: 0;
1268
  left: 50%;
1269
  transform: translateX(-50%);
1270
  }
1271
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-bottom-start, body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-bottom-left {
1272
  bottom: 0;
1273
  left: 0;
1274
  }
1275
+ body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-bottom-end, body.wpacu-swal2-no-backdrop .wpacu-swal2-container.wpacu-swal2-bottom-right {
1276
  right: 0;
1277
  bottom: 0;
1278
  }
1279
  @media print {
1280
+ body.wpacu-swal2-shown:not(.wpacu-swal2-no-backdrop):not(.wpacu-swal2-toast-shown) {
1281
  overflow-y: scroll !important;
1282
  }
1283
+ body.wpacu-swal2-shown:not(.wpacu-swal2-no-backdrop):not(.wpacu-swal2-toast-shown) > [aria-hidden=true] {
1284
  display: none;
1285
  }
1286
+ body.wpacu-swal2-shown:not(.wpacu-swal2-no-backdrop):not(.wpacu-swal2-toast-shown) .wpacu-swal2-container {
1287
  position: static !important;
1288
  }
1289
  }
1290
+ body.wpacu-swal2-toast-shown .wpacu-swal2-container {
1291
  background-color: transparent;
1292
  }
1293
+ body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-top {
1294
  top: 0;
1295
  right: auto;
1296
  bottom: auto;
1297
  left: 50%;
1298
  transform: translateX(-50%);
1299
  }
1300
+ body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-top-end, body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-top-right {
1301
  top: 0;
1302
  right: 0;
1303
  bottom: auto;
1304
  left: auto;
1305
  }
1306
+ body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-top-start, body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-top-left {
1307
  top: 0;
1308
  right: auto;
1309
  bottom: auto;
1310
  left: 0;
1311
  }
1312
+ body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-center-start, body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-center-left {
1313
  top: 50%;
1314
  right: auto;
1315
  bottom: auto;
1316
  left: 0;
1317
  transform: translateY(-50%);
1318
  }
1319
+ body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-center {
1320
  top: 50%;
1321
  right: auto;
1322
  bottom: auto;
1323
  left: 50%;
1324
  transform: translate(-50%, -50%);
1325
  }
1326
+ body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-center-end, body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-center-right {
1327
  top: 50%;
1328
  right: 0;
1329
  bottom: auto;
1330
  left: auto;
1331
  transform: translateY(-50%);
1332
  }
1333
+ body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-bottom-start, body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-bottom-left {
1334
  top: auto;
1335
  right: auto;
1336
  bottom: 0;
1337
  left: 0;
1338
  }
1339
+ body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-bottom {
1340
  top: auto;
1341
  right: auto;
1342
  bottom: 0;
1343
  left: 50%;
1344
  transform: translateX(-50%);
1345
  }
1346
+ body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-bottom-end, body.wpacu-swal2-toast-shown .wpacu-swal2-container.wpacu-swal2-bottom-right {
1347
  top: auto;
1348
  right: 0;
1349
  bottom: 0;
1350
  left: auto;
1351
  }
1352
+ body.wpacu-swal2-toast-column .wpacu-swal2-toast {
1353
  flex-direction: column;
1354
  align-items: stretch;
1355
  }
1356
+ body.wpacu-swal2-toast-column .wpacu-swal2-toast .wpacu-swal2-actions {
1357
  flex: 1;
1358
  align-self: stretch;
1359
  height: 2.2em;
1360
  margin-top: 0.3125em;
1361
  }
1362
+ body.wpacu-swal2-toast-column .wpacu-swal2-toast .wpacu-swal2-loading {
1363
  justify-content: center;
1364
  }
1365
+ body.wpacu-swal2-toast-column .wpacu-swal2-toast .wpacu-swal2-input {
1366
  height: 2em;
1367
  margin: 0.3125em auto;
1368
  font-size: 1em;
1369
  }
1370
+ body.wpacu-swal2-toast-column .wpacu-swal2-toast .wpacu-swal2-validation-message {
1371
  font-size: 1em;
1372
  }
assets/sweetalert2/dist/sweetalert2.js CHANGED
@@ -329,7 +329,7 @@
329
  return params;
330
  };
331
 
332
- var swalPrefix = 'swal2-';
333
  var prefix = function prefix(items) {
334
  var result = {};
335
 
@@ -661,8 +661,8 @@
661
  var oldInputVal; // IE11 workaround, see #1109 for details
662
 
663
  var resetValidationMessage = function resetValidationMessage(e) {
664
- if (Swal.isVisible() && oldInputVal !== e.target.value) {
665
- Swal.resetValidationMessage();
666
  }
667
 
668
  oldInputVal = e.target.value;
@@ -925,7 +925,7 @@
925
  };
926
 
927
  /**
928
- * This module containts `WeakMap`s for each effectively-"private property" that a `Swal` has.
929
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
930
  * This is the approach that Babel will probably take to implement private methods/fields
931
  * https://github.com/tc39/proposal-private-methods
@@ -1446,7 +1446,7 @@
1446
  };
1447
 
1448
  var addClasses = function addClasses(popup, params) {
1449
- // Default Class + showClass when updating Swal.update({})
1450
  popup.className = "".concat(swalClasses.popup, " ").concat(isVisible(popup) ? params.showClass.popup : '');
1451
 
1452
  if (params.toast) {
@@ -1524,18 +1524,18 @@
1524
  }
1525
 
1526
  /**
1527
- * Returns an extended version of `Swal` containing `params` as defaults.
1528
- * Useful for reusing Swal configuration.
1529
  *
1530
  * For example:
1531
  *
1532
  * Before:
1533
  * const textPromptOptions = { input: 'text', showCancelButton: true }
1534
- * const {value: firstName} = await Swal.fire({ ...textPromptOptions, title: 'What is your first name?' })
1535
- * const {value: lastName} = await Swal.fire({ ...textPromptOptions, title: 'What is your last name?' })
1536
  *
1537
  * After:
1538
- * const TextPrompt = Swal.mixin({ input: 'text', showCancelButton: true })
1539
  * const {value: firstName} = await TextPrompt('What is your first name?')
1540
  * const {value: lastName} = await TextPrompt('What is your last name?')
1541
  *
@@ -1574,7 +1574,7 @@
1574
  var popup = getPopup();
1575
 
1576
  if (!popup) {
1577
- Swal.fire();
1578
  }
1579
 
1580
  popup = getPopup();
@@ -1696,14 +1696,14 @@
1696
  toast: false,
1697
  animation: true,
1698
  showClass: {
1699
- popup: 'swal2-show',
1700
- backdrop: 'swal2-backdrop-show',
1701
- icon: 'swal2-icon-show'
1702
  },
1703
  hideClass: {
1704
- popup: 'swal2-hide',
1705
- backdrop: 'swal2-backdrop-hide',
1706
- icon: 'swal2-icon-hide'
1707
  },
1708
  customClass: undefined,
1709
  target: 'body',
@@ -1795,7 +1795,7 @@
1795
  return Object.prototype.hasOwnProperty.call(defaultParams, paramName);
1796
  };
1797
  /**
1798
- * Is valid parameter for Swal.update() method
1799
  * @param {String} paramName
1800
  */
1801
 
@@ -2088,7 +2088,7 @@
2088
  };
2089
 
2090
  /**
2091
- * This module containts `WeakMap`s for each effectively-"private property" that a `Swal` has.
2092
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
2093
  * This is the approach that Babel will probably take to implement private methods/fields
2094
  * https://github.com/tc39/proposal-private-methods
@@ -2155,13 +2155,13 @@
2155
  var backdrop = getContainer();
2156
  removeClass(backdrop, innerParams.showClass.backdrop);
2157
  addClass(backdrop, innerParams.hideClass.backdrop);
2158
- handlePopupAnimation(this, popup, innerParams); // Resolve Swal promise
2159
 
2160
  swalPromiseResolve(resolveValue);
2161
  }
2162
 
2163
  var prepareResolveValue = function prepareResolveValue(resolveValue) {
2164
- // When user calls Swal.close()
2165
  if (typeof resolveValue === 'undefined') {
2166
  return {
2167
  isConfirmed: false,
@@ -2414,7 +2414,7 @@
2414
  warn('showLoaderOnConfirm is set to true, but preConfirm is not defined.\n' + 'showLoaderOnConfirm should be used together with preConfirm, see usage example:\n' + 'https://sweetalert2.github.io/#ajax-request');
2415
  } // params.animation will be actually used in renderPopup.js
2416
  // but in case when params.animation is a function, we need to call that function
2417
- // before popup (re)initialization, so it'll be possible to check Swal.isVisible()
2418
  // inside the params.animation function
2419
 
2420
 
@@ -3195,7 +3195,7 @@
3195
  var validUpdatableParams = {}; // assign valid params from `params` to `defaults`
3196
 
3197
  Object.keys(params).forEach(function (param) {
3198
- if (Swal.isUpdatableParameter(param)) {
3199
  validUpdatableParams[param] = params[param];
3200
  } else {
3201
  warn("Invalid parameter to update: \"".concat(param, "\". Updatable params are listed here: https://github.com/sweetalert2/sweetalert2/blob/master/src/utils/params.js\n\nIf you think this parameter should be updatable, request it here: https://github.com/sweetalert2/sweetalert2/issues/new?template=02_feature_request.md"));
@@ -3221,7 +3221,7 @@
3221
 
3222
  if (!innerParams) {
3223
  return; // This instance has already been destroyed
3224
- } // Check if there is another Swal closing
3225
 
3226
 
3227
  if (domCache.popup && globalState.swalCloseEventFinishedCallback) {
@@ -3360,10 +3360,10 @@
3360
  SweetAlert.DismissReason = DismissReason;
3361
  SweetAlert.version = '10.6.1';
3362
 
3363
- var Swal = SweetAlert;
3364
- Swal["default"] = Swal;
3365
 
3366
- return Swal;
3367
 
3368
  }));
3369
- if (typeof this !== 'undefined' && this.Sweetalert2){ this.swal = this.sweetAlert = this.Swal = this.SweetAlert = this.Sweetalert2}
329
  return params;
330
  };
331
 
332
+ var swalPrefix = 'wpacu-swal2-';
333
  var prefix = function prefix(items) {
334
  var result = {};
335
 
661
  var oldInputVal; // IE11 workaround, see #1109 for details
662
 
663
  var resetValidationMessage = function resetValidationMessage(e) {
664
+ if (wpacuSwal.isVisible() && oldInputVal !== e.target.value) {
665
+ wpacuSwal.resetValidationMessage();
666
  }
667
 
668
  oldInputVal = e.target.value;
925
  };
926
 
927
  /**
928
+ * This module containts `WeakMap`s for each effectively-"private property" that a `wpacuSwal` has.
929
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
930
  * This is the approach that Babel will probably take to implement private methods/fields
931
  * https://github.com/tc39/proposal-private-methods
1446
  };
1447
 
1448
  var addClasses = function addClasses(popup, params) {
1449
+ // Default Class + showClass when updating wpacuSwal.update({})
1450
  popup.className = "".concat(swalClasses.popup, " ").concat(isVisible(popup) ? params.showClass.popup : '');
1451
 
1452
  if (params.toast) {
1524
  }
1525
 
1526
  /**
1527
+ * Returns an extended version of `wpacuSwal` containing `params` as defaults.
1528
+ * Useful for reusing wpacuSwal configuration.
1529
  *
1530
  * For example:
1531
  *
1532
  * Before:
1533
  * const textPromptOptions = { input: 'text', showCancelButton: true }
1534
+ * const {value: firstName} = await wpacuSwal.fire({ ...textPromptOptions, title: 'What is your first name?' })
1535
+ * const {value: lastName} = await wpacuSwal.fire({ ...textPromptOptions, title: 'What is your last name?' })
1536
  *
1537
  * After:
1538
+ * const TextPrompt = wpacuSwal.mixin({ input: 'text', showCancelButton: true })
1539
  * const {value: firstName} = await TextPrompt('What is your first name?')
1540
  * const {value: lastName} = await TextPrompt('What is your last name?')
1541
  *
1574
  var popup = getPopup();
1575
 
1576
  if (!popup) {
1577
+ wpacuSwal.fire();
1578
  }
1579
 
1580
  popup = getPopup();
1696
  toast: false,
1697
  animation: true,
1698
  showClass: {
1699
+ popup: 'wpacu-swal2-show',
1700
+ backdrop: 'wpacu-swal2-backdrop-show',
1701
+ icon: 'wpacu-swal2-icon-show'
1702
  },
1703
  hideClass: {
1704
+ popup: 'wpacu-swal2-hide',
1705
+ backdrop: 'wpacu-swal2-backdrop-hide',
1706
+ icon: 'wpacu-swal2-icon-hide'
1707
  },
1708
  customClass: undefined,
1709
  target: 'body',
1795
  return Object.prototype.hasOwnProperty.call(defaultParams, paramName);
1796
  };
1797
  /**
1798
+ * Is valid parameter for wpacuSwal.update() method
1799
  * @param {String} paramName
1800
  */
1801
 
2088
  };
2089
 
2090
  /**
2091
+ * This module containts `WeakMap`s for each effectively-"private property" that a `wpacuSwal` has.
2092
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
2093
  * This is the approach that Babel will probably take to implement private methods/fields
2094
  * https://github.com/tc39/proposal-private-methods
2155
  var backdrop = getContainer();
2156
  removeClass(backdrop, innerParams.showClass.backdrop);
2157
  addClass(backdrop, innerParams.hideClass.backdrop);
2158
+ handlePopupAnimation(this, popup, innerParams); // Resolve wpacuSwal promise
2159
 
2160
  swalPromiseResolve(resolveValue);
2161
  }
2162
 
2163
  var prepareResolveValue = function prepareResolveValue(resolveValue) {
2164
+ // When user calls wpacuSwal.close()
2165
  if (typeof resolveValue === 'undefined') {
2166
  return {
2167
  isConfirmed: false,
2414
  warn('showLoaderOnConfirm is set to true, but preConfirm is not defined.\n' + 'showLoaderOnConfirm should be used together with preConfirm, see usage example:\n' + 'https://sweetalert2.github.io/#ajax-request');
2415
  } // params.animation will be actually used in renderPopup.js
2416
  // but in case when params.animation is a function, we need to call that function
2417
+ // before popup (re)initialization, so it'll be possible to check wpacuSwal.isVisible()
2418
  // inside the params.animation function
2419
 
2420
 
3195
  var validUpdatableParams = {}; // assign valid params from `params` to `defaults`
3196
 
3197
  Object.keys(params).forEach(function (param) {
3198
+ if (wpacuSwal.isUpdatableParameter(param)) {
3199
  validUpdatableParams[param] = params[param];
3200
  } else {
3201
  warn("Invalid parameter to update: \"".concat(param, "\". Updatable params are listed here: https://github.com/sweetalert2/sweetalert2/blob/master/src/utils/params.js\n\nIf you think this parameter should be updatable, request it here: https://github.com/sweetalert2/sweetalert2/issues/new?template=02_feature_request.md"));
3221
 
3222
  if (!innerParams) {
3223
  return; // This instance has already been destroyed
3224
+ } // Check if there is another wpacuSwal closing
3225
 
3226
 
3227
  if (domCache.popup && globalState.swalCloseEventFinishedCallback) {
3360
  SweetAlert.DismissReason = DismissReason;
3361
  SweetAlert.version = '10.6.1';
3362
 
3363
+ var wpacuSwal = SweetAlert;
3364
+ wpacuSwal["default"] = wpacuSwal;
3365
 
3366
+ return wpacuSwal;
3367
 
3368
  }));
3369
+ if (typeof this !== 'undefined' && this.Sweetalert2){ this.wpacuswal = this.sweetAlert = this.wpacuSwal = this.SweetAlert = this.Sweetalert2}
assets/sweetalert2/dist/sweetalert2.min.css DELETED
@@ -1 +0,0 @@
1
- .swal2-popup.swal2-toast{flex-direction:row;align-items:center;width:auto;padding:.625em;overflow-y:hidden;background:#fff;box-shadow:0 0 .625em #d9d9d9}.swal2-popup.swal2-toast .swal2-header{flex-direction:row;padding:0}.swal2-popup.swal2-toast .swal2-title{flex-grow:1;justify-content:flex-start;margin:0 .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{position:static;width:.8em;height:.8em;line-height:.8}.swal2-popup.swal2-toast .swal2-content{justify-content:flex-start;padding:0;font-size:1em}.swal2-popup.swal2-toast .swal2-icon{width:2em;min-width:2em;height:2em;margin:0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:700}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{font-size:.25em}}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{flex-basis:auto!important;width:auto;height:auto;margin:0 .3125em;padding:0}.swal2-popup.swal2-toast .swal2-styled{margin:0 .3125em;padding:.3125em .625em;font-size:1em}.swal2-popup.swal2-toast .swal2-styled:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(50,100,150,.4)}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;transform:rotate(45deg);border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.8em;left:-.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-toast-animate-success-line-tip .75s;animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-toast-animate-success-line-long .75s;animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{-webkit-animation:swal2-toast-show .5s;animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{-webkit-animation:swal2-toast-hide .1s forwards;animation:swal2-toast-hide .1s forwards}.swal2-container{display:flex;position:fixed;z-index:1060;top:0;right:0;bottom:0;left:0;flex-direction:row;align-items:center;justify-content:center;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background:rgba(0,0,0,.4)}.swal2-container.swal2-backdrop-hide{background:0 0!important}.swal2-container.swal2-top{align-items:flex-start}.swal2-container.swal2-top-left,.swal2-container.swal2-top-start{align-items:flex-start;justify-content:flex-start}.swal2-container.swal2-top-end,.swal2-container.swal2-top-right{align-items:flex-start;justify-content:flex-end}.swal2-container.swal2-center{align-items:center}.swal2-container.swal2-center-left,.swal2-container.swal2-center-start{align-items:center;justify-content:flex-start}.swal2-container.swal2-center-end,.swal2-container.swal2-center-right{align-items:center;justify-content:flex-end}.swal2-container.swal2-bottom{align-items:flex-end}.swal2-container.swal2-bottom-left,.swal2-container.swal2-bottom-start{align-items:flex-end;justify-content:flex-start}.swal2-container.swal2-bottom-end,.swal2-container.swal2-bottom-right{align-items:flex-end;justify-content:flex-end}.swal2-container.swal2-bottom-end>:first-child,.swal2-container.swal2-bottom-left>:first-child,.swal2-container.swal2-bottom-right>:first-child,.swal2-container.swal2-bottom-start>:first-child,.swal2-container.swal2-bottom>:first-child{margin-top:auto}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:flex!important;flex:1;align-self:stretch;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-grow-column{flex:1;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-bottom-start,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-center-start,.swal2-container.swal2-grow-column.swal2-top-left,.swal2-container.swal2-grow-column.swal2-top-start{align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-end,.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-end,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-end,.swal2-container.swal2-grow-column.swal2-top-right{align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-no-transition{transition:none!important}.swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen)>.swal2-modal{margin:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-container .swal2-modal{margin:0!important}}.swal2-popup{display:none;position:relative;box-sizing:border-box;flex-direction:column;justify-content:center;width:32em;max-width:100%;padding:1.25em;border:none;border-radius:.3125em;background:#fff;font-family:inherit;font-size:1rem}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-header{display:flex;flex-direction:column;align-items:center;padding:0 1.8em}.swal2-title{position:relative;max-width:100%;margin:0 0 .4em;padding:0;color:#595959;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-actions{display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;margin:1.25em auto 0;padding:0 1.6em}.swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}.swal2-loader{display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 transparent #2778c4 transparent}.swal2-styled{margin:.3125em;padding:.625em 2em;box-shadow:none;font-weight:500}.swal2-styled:not([disabled]){cursor:pointer}.swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#2778c4;color:#fff;font-size:1.0625em}.swal2-styled.swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#d14529;color:#fff;font-size:1.0625em}.swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#757575;color:#fff;font-size:1.0625em}.swal2-styled:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(50,100,150,.4)}.swal2-styled::-moz-focus-inner{border:0}.swal2-footer{justify-content:center;margin:1.25em 0 0;padding:1em 0 0;border-top:1px solid #eee;color:#545454;font-size:1em}.swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;height:.25em;overflow:hidden;border-bottom-right-radius:.3125em;border-bottom-left-radius:.3125em}.swal2-timer-progress-bar{width:100%;height:.25em;background:rgba(0,0,0,.2)}.swal2-image{max-width:100%;margin:1.25em auto}.swal2-close{position:absolute;z-index:2;top:0;right:0;align-items:center;justify-content:center;width:1.2em;height:1.2em;padding:0;overflow:hidden;transition:color .1s ease-out;border:none;border-radius:0;background:0 0;color:#ccc;font-family:serif;font-size:2.5em;line-height:1.2;cursor:pointer}.swal2-close:hover{transform:none;background:0 0;color:#f27474}.swal2-close::-moz-focus-inner{border:0}.swal2-content{z-index:1;justify-content:center;margin:0;padding:0 1.6em;color:#545454;font-size:1.125em;font-weight:400;line-height:normal;text-align:center;word-wrap:break-word}.swal2-checkbox,.swal2-file,.swal2-input,.swal2-radio,.swal2-select,.swal2-textarea{margin:1em auto}.swal2-file,.swal2-input,.swal2-textarea{box-sizing:border-box;width:100%;transition:border-color .3s,box-shadow .3s;border:1px solid #d9d9d9;border-radius:.1875em;background:inherit;box-shadow:inset 0 1px 1px rgba(0,0,0,.06);color:inherit;font-size:1.125em}.swal2-file.swal2-inputerror,.swal2-input.swal2-inputerror,.swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-file:focus,.swal2-input:focus,.swal2-textarea:focus{border:1px solid #b4dbed;outline:0;box-shadow:0 0 3px #c4e6f5}.swal2-file::-moz-placeholder,.swal2-input::-moz-placeholder,.swal2-textarea::-moz-placeholder{color:#ccc}.swal2-file:-ms-input-placeholder,.swal2-input:-ms-input-placeholder,.swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-file::-ms-input-placeholder,.swal2-input::-ms-input-placeholder,.swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-file::placeholder,.swal2-input::placeholder,.swal2-textarea::placeholder{color:#ccc}.swal2-range{margin:1em auto;background:#fff}.swal2-range input{width:80%}.swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}.swal2-range input,.swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}.swal2-input{height:2.625em;padding:0 .75em}.swal2-input[type=number]{max-width:10em}.swal2-file{background:inherit;font-size:1.125em}.swal2-textarea{height:6.75em;padding:.75em}.swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:inherit;color:inherit;font-size:1.125em}.swal2-checkbox,.swal2-radio{align-items:center;justify-content:center;background:#fff;color:inherit}.swal2-checkbox label,.swal2-radio label{margin:0 .6em;font-size:1.125em}.swal2-checkbox input,.swal2-radio input{margin:0 .4em}.swal2-input-label{display:flex;justify-content:center;margin:1em auto}.swal2-validation-message{display:none;align-items:center;justify-content:center;margin:0 -2.7em;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}.swal2-validation-message::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}.swal2-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:1.25em auto 1.875em;border:.25em solid transparent;border-radius:50%;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474;color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.swal2-icon.swal2-error.swal2-icon-show{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark{-webkit-animation:swal2-animate-error-x-mark .5s;animation:swal2-animate-error-x-mark .5s}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-success{border-color:#a5dc86;color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-animate-success-line-tip .75s;animation:swal2-animate-success-line-tip .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-animate-success-line-long .75s;animation:swal2-animate-success-line-long .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right{-webkit-animation:swal2-rotate-success-circular-line 4.25s ease-in;animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:0 0 1.25em;padding:0;background:inherit;font-weight:600}.swal2-progress-steps li{display:inline-block;position:relative}.swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}.swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{-webkit-animation:swal2-show .3s;animation:swal2-show .3s}.swal2-hide{-webkit-animation:swal2-hide .15s forwards;animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{right:auto;left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@-moz-document url-prefix(){.swal2-close:focus{outline:2px solid rgba(50,100,150,.4)}}@-webkit-keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@-webkit-keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@-webkit-keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@-webkit-keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@-webkit-keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@-webkit-keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@-webkit-keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@-webkit-keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@-webkit-keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@-webkit-keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@-webkit-keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@-webkit-keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{top:auto;right:auto;bottom:auto;left:auto;max-width:calc(100% - .625em * 2);background-color:transparent!important}body.swal2-no-backdrop .swal2-container>.swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop .swal2-container.swal2-top{top:0;left:50%;transform:translateX(-50%)}body.swal2-no-backdrop .swal2-container.swal2-top-left,body.swal2-no-backdrop .swal2-container.swal2-top-start{top:0;left:0}body.swal2-no-backdrop .swal2-container.swal2-top-end,body.swal2-no-backdrop .swal2-container.swal2-top-right{top:0;right:0}body.swal2-no-backdrop .swal2-container.swal2-center{top:50%;left:50%;transform:translate(-50%,-50%)}body.swal2-no-backdrop .swal2-container.swal2-center-left,body.swal2-no-backdrop .swal2-container.swal2-center-start{top:50%;left:0;transform:translateY(-50%)}body.swal2-no-backdrop .swal2-container.swal2-center-end,body.swal2-no-backdrop .swal2-container.swal2-center-right{top:50%;right:0;transform:translateY(-50%)}body.swal2-no-backdrop .swal2-container.swal2-bottom{bottom:0;left:50%;transform:translateX(-50%)}body.swal2-no-backdrop .swal2-container.swal2-bottom-left,body.swal2-no-backdrop .swal2-container.swal2-bottom-start{bottom:0;left:0}body.swal2-no-backdrop .swal2-container.swal2-bottom-end,body.swal2-no-backdrop .swal2-container.swal2-bottom-right{right:0;bottom:0}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static!important}}body.swal2-toast-shown .swal2-container{background-color:transparent}body.swal2-toast-shown .swal2-container.swal2-top{top:0;right:auto;bottom:auto;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{top:0;right:0;bottom:auto;left:auto}body.swal2-toast-shown .swal2-container.swal2-top-left,body.swal2-toast-shown .swal2-container.swal2-top-start{top:0;right:auto;bottom:auto;left:0}body.swal2-toast-shown .swal2-container.swal2-center-left,body.swal2-toast-shown .swal2-container.swal2-center-start{top:50%;right:auto;bottom:auto;left:0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{top:50%;right:0;bottom:auto;left:auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-left,body.swal2-toast-shown .swal2-container.swal2-bottom-start{top:auto;right:auto;bottom:0;left:0}body.swal2-toast-shown .swal2-container.swal2-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{top:auto;right:0;bottom:0;left:auto}body.swal2-toast-column .swal2-toast{flex-direction:column;align-items:stretch}body.swal2-toast-column .swal2-toast .swal2-actions{flex:1;align-self:stretch;height:2.2em;margin-top:.3125em}body.swal2-toast-column .swal2-toast .swal2-loading{justify-content:center}body.swal2-toast-column .swal2-toast .swal2-input{height:2em;margin:.3125em auto;font-size:1em}body.swal2-toast-column .swal2-toast .swal2-validation-message{font-size:1em}
 
assets/sweetalert2/dist/sweetalert2.min.js DELETED
@@ -1 +0,0 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Sweetalert2=e()}(this,function(){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function s(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}function c(){return(c=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t}).apply(this,arguments)}function u(t){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function l(t,e){return(l=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function d(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}function i(t,e,n){return(i=d()?Reflect.construct:function(t,e,n){var o=[null];o.push.apply(o,e);var i=new(Function.bind.apply(t,o));return n&&l(i,n.prototype),i}).apply(null,arguments)}function p(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function f(t,e,n){return(f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var o=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=u(t)););return t}(t,e);if(o){var i=Object.getOwnPropertyDescriptor(o,e);return i.get?i.get.call(n):i.value}})(t,e,n||t)}function m(e){return Object.keys(e).map(function(t){return e[t]})}function h(t){return Array.prototype.slice.call(t)}function g(t,e){var n;n='"'.concat(t,'" is deprecated and will be removed in the next major release. Please use "').concat(e,'" instead.'),-1===Y.indexOf(n)&&(Y.push(n),W(n))}function v(t){return t&&"function"==typeof t.toPromise}function y(t){return v(t)?t.toPromise():Promise.resolve(t)}function b(t){return t&&Promise.resolve(t)===t}function w(t){return t instanceof Element||"object"===r(e=t)&&e.jquery;var e}function t(t){var e={};for(var n in t)e[t[n]]="swal2-"+t[n];return e}function C(){return document.body.querySelector(".".concat($.container))}function k(t){var e=C();return e?e.querySelector(t):null}function e(t){return k(".".concat(t))}function x(){return e($.popup)}function n(){var t=x();return h(t.querySelectorAll(".".concat($.icon)))}function B(){var t=n().filter(function(t){return bt(t)});return t.length?t[0]:null}function A(){return e($.title)}function P(){return e($.content)}function E(){return e($.image)}function O(){return e($["progress-steps"])}function S(){return e($["validation-message"])}function T(){return k(".".concat($.actions," .").concat($.confirm))}function L(){return k(".".concat($.actions," .").concat($.deny))}function D(){return k(".".concat($.loader))}function I(){return k(".".concat($.actions," .").concat($.cancel))}function q(){return e($.actions)}function j(){return e($.header)}function M(){return e($.footer)}function V(){return e($["timer-progress-bar"])}function H(){return e($.close)}function R(){var t=h(x().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(function(t,e){return t=parseInt(t.getAttribute("tabindex")),(e=parseInt(e.getAttribute("tabindex")))<t?1:t<e?-1:0}),e=h(x().querySelectorAll('\n a[href],\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n [tabindex="0"],\n [contenteditable],\n audio[controls],\n video[controls],\n summary\n')).filter(function(t){return"-1"!==t.getAttribute("tabindex")});return function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(t.concat(e)).filter(function(t){return bt(t)})}function N(){return!X()&&!document.body.classList.contains($["no-backdrop"])}function U(e,t){var n;e.textContent="",t&&(n=(new DOMParser).parseFromString(t,"text/html"),h(n.querySelector("head").childNodes).forEach(function(t){e.appendChild(t)}),h(n.querySelector("body").childNodes).forEach(function(t){e.appendChild(t)}))}function _(t,e){if(e){for(var n=e.split(/\s+/),o=0;o<n.length;o++)if(!t.classList.contains(n[o]))return;return 1}}function F(t,e,n){var o,i;if(i=e,h((o=t).classList).forEach(function(t){-1===m($).indexOf(t)&&-1===m(J).indexOf(t)&&-1===m(i.showClass).indexOf(t)&&o.classList.remove(t)}),e.customClass&&e.customClass[n]){if("string"!=typeof e.customClass[n]&&!e.customClass[n].forEach)return W("Invalid type of customClass.".concat(n,'! Expected string or iterable object, got "').concat(r(e.customClass[n]),'"'));gt(t,e.customClass[n])}}var z="SweetAlert2:",W=function(t){console.warn("".concat(z," ").concat(t))},K=function(t){console.error("".concat(z," ").concat(t))},Y=[],Z=function(t){return"function"==typeof t?t():t},Q=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),$=t(["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","toast-column","show","hide","close","title","header","content","html-container","actions","confirm","deny","cancel","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error"]),J=t(["success","warning","info","question","error"]),X=function(){return document.body.classList.contains($["toast-shown"])},G={previousBodyPadding:null};function tt(t,e){if(!e)return null;switch(e){case"select":case"textarea":case"file":return yt(t,$[e]);case"checkbox":return t.querySelector(".".concat($.checkbox," input"));case"radio":return t.querySelector(".".concat($.radio," input:checked"))||t.querySelector(".".concat($.radio," input:first-child"));case"range":return t.querySelector(".".concat($.range," input"));default:return yt(t,$.input)}}function et(t){var e;t.focus(),"file"!==t.type&&(e=t.value,t.value="",t.value=e)}function nt(t,e,n){t&&e&&("string"==typeof e&&(e=e.split(/\s+/).filter(Boolean)),e.forEach(function(e){t.forEach?t.forEach(function(t){n?t.classList.add(e):t.classList.remove(e)}):n?t.classList.add(e):t.classList.remove(e)}))}function ot(t,e,n){n||0===parseInt(n)?t.style[e]="number"==typeof n?"".concat(n,"px"):n:t.style.removeProperty(e)}function it(t,e){var n=1<arguments.length&&void 0!==e?e:"flex";t.style.display=n}function rt(t){t.style.display="none"}function at(t,e,n,o){var i=t.querySelector(e);i&&(i.style[n]=o)}function st(t,e,n){e?it(t,n):rt(t)}function ct(t){return!!(t.scrollHeight>t.clientHeight)}function ut(t){var e=window.getComputedStyle(t),n=parseFloat(e.getPropertyValue("animation-duration")||"0"),o=parseFloat(e.getPropertyValue("transition-duration")||"0");return 0<n||0<o}function lt(t,e){var n=1<arguments.length&&void 0!==e&&e,o=V();bt(o)&&(n&&(o.style.transition="none",o.style.width="100%"),setTimeout(function(){o.style.transition="width ".concat(t/1e3,"s linear"),o.style.width="0%"},10))}function dt(){return"undefined"==typeof window||"undefined"==typeof document}function pt(t){wn.isVisible()&&ht!==t.target.value&&wn.resetValidationMessage(),ht=t.target.value}function ft(t,e){t instanceof HTMLElement?e.appendChild(t):"object"===r(t)?kt(t,e):t&&U(e,t)}function mt(t,e){var n=q(),o=D(),i=T(),r=L(),a=I();e.showConfirmButton||e.showDenyButton||e.showCancelButton||rt(n),F(n,e,"actions"),At(i,"confirm",e),At(r,"deny",e),At(a,"cancel",e),o.innerHTML=e.loaderHtml,e.buttonsStyling?function(t,e,n,o){gt([t,e,n],$.styled),o.confirmButtonColor&&(t.style.backgroundColor=o.confirmButtonColor);o.denyButtonColor&&(e.style.backgroundColor=o.denyButtonColor);o.cancelButtonColor&&(n.style.backgroundColor=o.cancelButtonColor)}(i,r,a,e):vt([i,r,a],$.styled),e.reverseButtons&&(n.insertBefore(a,o),n.insertBefore(r,o),n.insertBefore(i,o))}var ht,gt=function(t,e){nt(t,e,!0)},vt=function(t,e){nt(t,e,!1)},yt=function(t,e){for(var n=0;n<t.childNodes.length;n++)if(_(t.childNodes[n],e))return t.childNodes[n]},bt=function(t){return!(!t||!(t.offsetWidth||t.offsetHeight||t.getClientRects().length))},wt='\n <div aria-labelledby="'.concat($.title,'" aria-describedby="').concat($.content,'" class="').concat($.popup,'" tabindex="-1">\n <div class="').concat($.header,'">\n <ul class="').concat($["progress-steps"],'"></ul>\n <div class="').concat($.icon," ").concat(J.error,'"></div>\n <div class="').concat($.icon," ").concat(J.question,'"></div>\n <div class="').concat($.icon," ").concat(J.warning,'"></div>\n <div class="').concat($.icon," ").concat(J.info,'"></div>\n <div class="').concat($.icon," ").concat(J.success,'"></div>\n <img class="').concat($.image,'" />\n <h2 class="').concat($.title,'" id="').concat($.title,'"></h2>\n <button type="button" class="').concat($.close,'"></button>\n </div>\n <div class="').concat($.content,'">\n <div id="').concat($.content,'" class="').concat($["html-container"],'"></div>\n <input class="').concat($.input,'" />\n <input type="file" class="').concat($.file,'" />\n <div class="').concat($.range,'">\n <input type="range" />\n <output></output>\n </div>\n <select class="').concat($.select,'"></select>\n <div class="').concat($.radio,'"></div>\n <label for="').concat($.checkbox,'" class="').concat($.checkbox,'">\n <input type="checkbox" />\n <span class="').concat($.label,'"></span>\n </label>\n <textarea class="').concat($.textarea,'"></textarea>\n <div class="').concat($["validation-message"],'" id="').concat($["validation-message"],'"></div>\n </div>\n <div class="').concat($.actions,'">\n <div class="').concat($.loader,'"></div>\n <button type="button" class="').concat($.confirm,'"></button>\n <button type="button" class="').concat($.deny,'"></button>\n <button type="button" class="').concat($.cancel,'"></button>\n </div>\n <div class="').concat($.footer,'"></div>\n <div class="').concat($["timer-progress-bar-container"],'">\n <div class="').concat($["timer-progress-bar"],'"></div>\n </div>\n </div>\n').replace(/(^|\n)\s*/g,""),Ct=function(t){var e,n,o,i,r,a,s,c,u,l,d,p,f,m,h,g=!!(e=C())&&(e.parentNode.removeChild(e),vt([document.documentElement,document.body],[$["no-backdrop"],$["toast-shown"],$["has-column"]]),!0);dt()?K("SweetAlert2 requires document to initialize"):((n=document.createElement("div")).className=$.container,g&&gt(n,$["no-transition"]),U(n,wt),(o="string"==typeof(i=t.target)?document.querySelector(i):i).appendChild(n),r=t,(a=x()).setAttribute("role",r.toast?"alert":"dialog"),a.setAttribute("aria-live",r.toast?"polite":"assertive"),r.toast||a.setAttribute("aria-modal","true"),s=o,"rtl"===window.getComputedStyle(s).direction&&gt(C(),$.rtl),c=P(),u=yt(c,$.input),l=yt(c,$.file),d=c.querySelector(".".concat($.range," input")),p=c.querySelector(".".concat($.range," output")),f=yt(c,$.select),m=c.querySelector(".".concat($.checkbox," input")),h=yt(c,$.textarea),u.oninput=pt,l.onchange=pt,f.onchange=pt,m.onchange=pt,h.oninput=pt,d.oninput=function(t){pt(t),p.value=d.value},d.onchange=function(t){pt(t),d.nextSibling.value=d.value})},kt=function(t,e){t.jquery?xt(e,t):U(e,t.toString())},xt=function(t,e){if(t.textContent="",0 in e)for(var n=0;n in e;n++)t.appendChild(e[n].cloneNode(!0));else t.appendChild(e.cloneNode(!0))},Bt=function(){if(dt())return!1;var t=document.createElement("div"),e={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&void 0!==t.style[n])return e[n];return!1}();function At(t,e,n){var o;st(t,n["show".concat((o=e).charAt(0).toUpperCase()+o.slice(1),"Button")],"inline-block"),U(t,n["".concat(e,"ButtonText")]),t.setAttribute("aria-label",n["".concat(e,"ButtonAriaLabel")]),t.className=$[e],F(t,n,"".concat(e,"Button")),gt(t,n["".concat(e,"ButtonClass")])}function Pt(t,e){var n,o,i,r,a,s,c,u,l=C();l&&(n=l,"string"==typeof(o=e.backdrop)?n.style.background=o:o||gt([document.documentElement,document.body],$["no-backdrop"]),!e.backdrop&&e.allowOutsideClick&&W('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),i=l,(r=e.position)in $?gt(i,$[r]):(W('The "position" parameter is not valid, defaulting to "center"'),gt(i,$.center)),a=l,!(s=e.grow)||"string"!=typeof s||(c="grow-".concat(s))in $&&gt(a,$[c]),F(l,e,"container"),(u=document.body.getAttribute("data-swal2-queue-step"))&&(l.setAttribute("data-queue-step",u),document.body.removeAttribute("data-swal2-queue-step")))}function Et(t,e){t.placeholder&&!e.inputPlaceholder||(t.placeholder=e.inputPlaceholder)}function Ot(t,e,n){var o,i;n.inputLabel&&(t.id=$.input,o=document.createElement("label"),i=$["input-label"],o.setAttribute("for",t.id),o.className=i,o.innerText=n.inputLabel,e.insertAdjacentElement("beforebegin",o))}var St={promise:new WeakMap,innerParams:new WeakMap,domCache:new WeakMap},Tt=["input","file","range","select","radio","checkbox","textarea"],Lt=function(t){if(!jt[t.input])return K('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "'.concat(t.input,'"'));var e=qt(t.input),n=jt[t.input](e,t);it(n),setTimeout(function(){et(n)})},Dt=function(t,e){var n=tt(P(),t);if(n)for(var o in!function(t){for(var e=0;e<t.attributes.length;e++){var n=t.attributes[e].name;-1===["type","value","style"].indexOf(n)&&t.removeAttribute(n)}}(n),e)"range"===t&&"placeholder"===o||n.setAttribute(o,e[o])},It=function(t){var e=qt(t.input);t.customClass&&gt(e,t.customClass.input)},qt=function(t){var e=$[t]?$[t]:$.input;return yt(P(),e)},jt={};jt.text=jt.email=jt.password=jt.number=jt.tel=jt.url=function(t,e){return"string"==typeof e.inputValue||"number"==typeof e.inputValue?t.value=e.inputValue:b(e.inputValue)||W('Unexpected type of inputValue! Expected "string", "number" or "Promise", got "'.concat(r(e.inputValue),'"')),Ot(t,t,e),Et(t,e),t.type=e.input,t},jt.file=function(t,e){return Ot(t,t,e),Et(t,e),t},jt.range=function(t,e){var n=t.querySelector("input"),o=t.querySelector("output");return n.value=e.inputValue,n.type=e.input,o.value=e.inputValue,Ot(n,t,e),t},jt.select=function(t,e){var n;return t.textContent="",e.inputPlaceholder&&(n=document.createElement("option"),U(n,e.inputPlaceholder),n.value="",n.disabled=!0,n.selected=!0,t.appendChild(n)),Ot(t,t,e),t},jt.radio=function(t){return t.textContent="",t},jt.checkbox=function(t,e){var n=tt(P(),"checkbox");n.value=1,n.id=$.checkbox,n.checked=Boolean(e.inputValue);var o=t.querySelector("span");return U(o,e.inputPlaceholder),t},jt.textarea=function(e,t){var n,o;return e.value=t.inputValue,Et(e,t),Ot(e,e,t),"MutationObserver"in window&&(n=parseInt(window.getComputedStyle(x()).width),o=parseInt(window.getComputedStyle(x()).paddingLeft)+parseInt(window.getComputedStyle(x()).paddingRight),new MutationObserver(function(){var t=e.offsetWidth+o;x().style.width=n<t?"".concat(t,"px"):null}).observe(e,{attributes:!0,attributeFilter:["style"]})),e};function Mt(t,e){var n,o,i,r,a,s=P().querySelector("#".concat($.content));e.html?(ft(e.html,s),it(s,"block")):e.text?(s.textContent=e.text,it(s,"block")):rt(s),n=t,o=e,i=P(),r=St.innerParams.get(n),a=!r||o.input!==r.input,Tt.forEach(function(t){var e=$[t],n=yt(i,e);Dt(t,o.inputAttributes),n.className=e,a&&rt(n)}),o.input&&(a&&Lt(o),It(o)),F(P(),e,"content")}function Vt(){return C()&&C().getAttribute("data-queue-step")}function Ht(t,c){var u=O();if(!c.progressSteps||0===c.progressSteps.length)return rt(u),0;it(u),u.textContent="";var l=parseInt(void 0===c.currentProgressStep?Vt():c.currentProgressStep);l>=c.progressSteps.length&&W("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),c.progressSteps.forEach(function(t,e){var n,o,i,r,a,s=(n=t,o=document.createElement("li"),gt(o,$["progress-step"]),U(o,n),o);u.appendChild(s),e===l&&gt(s,$["active-progress-step"]),e!==c.progressSteps.length-1&&(r=c,a=document.createElement("li"),gt(a,$["progress-step-line"]),r.progressStepsDistance&&(a.style.width=r.progressStepsDistance),i=a,u.appendChild(i))})}function Rt(t,e){var n,o,i,r,a,s,c,u,l=j();F(l,e,"header"),Ht(0,e),n=t,o=e,(r=St.innerParams.get(n))&&o.icon===r.icon&&B()?Ft(B(),o):(_t(),o.icon&&(-1!==Object.keys(J).indexOf(o.icon)?(i=k(".".concat($.icon,".").concat(J[o.icon])),it(i),Wt(i,o),Ft(i,o),gt(i,o.showClass.icon)):K('Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat(o.icon,'"')))),function(t){var e=E();if(!t.imageUrl)return rt(e);it(e,""),e.setAttribute("src",t.imageUrl),e.setAttribute("alt",t.imageAlt),ot(e,"width",t.imageWidth),ot(e,"height",t.imageHeight),e.className=$.image,F(e,t,"image")}(e),a=e,s=A(),st(s,a.title||a.titleText),a.title&&ft(a.title,s),a.titleText&&(s.innerText=a.titleText),F(s,a,"title"),c=e,u=H(),U(u,c.closeButtonHtml),F(u,c,"closeButton"),st(u,c.showCloseButton),u.setAttribute("aria-label",c.closeButtonAriaLabel)}function Nt(t,e){var n,o,i,r;n=e,o=x(),ot(o,"width",n.width),ot(o,"padding",n.padding),n.background&&(o.style.background=n.background),Qt(o,n),Pt(0,e),Rt(t,e),Mt(t,e),mt(0,e),i=e,r=M(),st(r,i.footer),i.footer&&ft(i.footer,r),F(r,i,"footer"),"function"==typeof e.didRender?e.didRender(x()):"function"==typeof e.onRender&&e.onRender(x())}function Ut(){return T()&&T().click()}var _t=function(){for(var t=n(),e=0;e<t.length;e++)rt(t[e])},Ft=function(t,e){Kt(t,e),zt(),F(t,e,"icon")},zt=function(){for(var t=x(),e=window.getComputedStyle(t).getPropertyValue("background-color"),n=t.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix"),o=0;o<n.length;o++)n[o].style.backgroundColor=e},Wt=function(t,e){t.textContent="",e.iconHtml?U(t,Yt(e.iconHtml)):"success"===e.icon?U(t,'\n <div class="swal2-success-circular-line-left"></div>\n <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n <div class="swal2-success-ring"></div> <div class="swal2-success-fix"></div>\n <div class="swal2-success-circular-line-right"></div>\n '):"error"===e.icon?U(t,'\n <span class="swal2-x-mark">\n <span class="swal2-x-mark-line-left"></span>\n <span class="swal2-x-mark-line-right"></span>\n </span>\n '):U(t,Yt({question:"?",warning:"!",info:"i"}[e.icon]))},Kt=function(t,e){if(e.iconColor){t.style.color=e.iconColor,t.style.borderColor=e.iconColor;for(var n=0,o=[".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"];n<o.length;n++){at(t,o[n],"backgroundColor",e.iconColor)}at(t,".swal2-success-ring","borderColor",e.iconColor)}},Yt=function(t){return'<div class="'.concat($["icon-content"],'">').concat(t,"</div>")},Zt=[],Qt=function(t,e){t.className="".concat($.popup," ").concat(bt(t)?e.showClass.popup:""),e.toast?(gt([document.documentElement,document.body],$["toast-shown"]),gt(t,$.toast)):gt(t,$.modal),F(t,e,"popup"),"string"==typeof e.customClass&&gt(t,e.customClass),e.icon&&gt(t,$["icon-".concat(e.icon)])};function $t(){var t=x();t||wn.fire(),t=x();var e=q(),n=T(),o=D();it(e),rt(n),gt([t,e],$.loading),it(o),t.setAttribute("data-loading",!0),t.setAttribute("aria-busy",!0),t.focus()}function Jt(){return new Promise(function(t){var e=window.scrollX,n=window.scrollY;oe.restoreFocusTimeout=setTimeout(function(){oe.previousActiveElement&&oe.previousActiveElement.focus?(oe.previousActiveElement.focus(),oe.previousActiveElement=null):document.body&&document.body.focus(),t()},100),void 0!==e&&void 0!==n&&window.scrollTo(e,n)})}function Xt(){if(oe.timeout)return function(){var t=V(),e=parseInt(window.getComputedStyle(t).width);t.style.removeProperty("transition"),t.style.width="100%";var n=parseInt(window.getComputedStyle(t).width),o=parseInt(e/n*100);t.style.removeProperty("transition"),t.style.width="".concat(o,"%")}(),oe.timeout.stop()}function Gt(){if(oe.timeout){var t=oe.timeout.start();return lt(t),t}}function te(t){return Object.prototype.hasOwnProperty.call(ie,t)}function ee(t){return ae[t]}function ne(t){for(var e in t)te(i=e)||W('Unknown parameter "'.concat(i,'"')),t.toast&&(o=e,-1!==se.indexOf(o)&&W('The parameter "'.concat(o,'" is incompatible with toasts'))),ee(n=e)&&g(n,ee(n));var n,o,i}var oe={},ie={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconColor:void 0,iconHtml:void 0,toast:!1,animation:!0,showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:void 0,target:"body",backdrop:!0,heightAuto:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,stopKeydownPropagation:!0,keydownListenerCapture:!1,showConfirmButton:!0,showDenyButton:!1,showCancelButton:!1,preConfirm:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,denyButtonText:"No",denyButtonAriaLabel:"",denyButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusDeny:!1,focusCancel:!1,showCloseButton:!1,closeButtonHtml:"&times;",closeButtonAriaLabel:"Close this dialog",loaderHtml:"",showLoaderOnConfirm:!1,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:!1,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputLabel:"",inputValue:"",inputOptions:{},inputAutoTrim:!0,inputAttributes:{},inputValidator:void 0,returnInputValueOnDeny:!1,validationMessage:void 0,grow:!1,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,onBeforeOpen:void 0,onOpen:void 0,willOpen:void 0,didOpen:void 0,onRender:void 0,didRender:void 0,onClose:void 0,onAfterClose:void 0,willClose:void 0,didClose:void 0,onDestroy:void 0,didDestroy:void 0,scrollbarPadding:!0},re=["allowEscapeKey","allowOutsideClick","background","buttonsStyling","cancelButtonAriaLabel","cancelButtonColor","cancelButtonText","closeButtonAriaLabel","closeButtonHtml","confirmButtonAriaLabel","confirmButtonColor","confirmButtonText","currentProgressStep","customClass","denyButtonAriaLabel","denyButtonColor","denyButtonText","didClose","didDestroy","footer","hideClass","html","icon","iconColor","imageAlt","imageHeight","imageUrl","imageWidth","onAfterClose","onClose","onDestroy","progressSteps","reverseButtons","showCancelButton","showCloseButton","showConfirmButton","showDenyButton","text","title","titleText","willClose"],ae={animation:'showClass" and "hideClass',onBeforeOpen:"willOpen",onOpen:"didOpen",onRender:"didRender",onClose:"willClose",onAfterClose:"didClose",onDestroy:"didDestroy"},se=["allowOutsideClick","allowEnterKey","backdrop","focusConfirm","focusDeny","focusCancel","heightAuto","keydownListenerCapture"],ce=Object.freeze({isValidParameter:te,isUpdatableParameter:function(t){return-1!==re.indexOf(t)},isDeprecatedParameter:ee,argsToParams:function(o){var i={};return"object"!==r(o[0])||w(o[0])?["title","html","icon"].forEach(function(t,e){var n=o[e];"string"==typeof n||w(n)?i[t]=n:void 0!==n&&K("Unexpected type of ".concat(t,'! Expected "string" or "Element", got ').concat(r(n)))}):c(i,o[0]),i},isVisible:function(){return bt(x())},clickConfirm:Ut,clickDeny:function(){return L()&&L().click()},clickCancel:function(){return I()&&I().click()},getContainer:C,getPopup:x,getTitle:A,getContent:P,getHtmlContainer:function(){return e($["html-container"])},getImage:E,getIcon:B,getIcons:n,getInputLabel:function(){return e($["input-label"])},getCloseButton:H,getActions:q,getConfirmButton:T,getDenyButton:L,getCancelButton:I,getHeader:j,getFooter:M,getTimerProgressBar:V,getFocusableElements:R,getValidationMessage:S,isLoading:function(){return x().hasAttribute("data-loading")},fire:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return i(this,e)},mixin:function(r){return function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&l(t,e)}(i,t);var n,o,e=(n=i,o=d(),function(){var t,e=u(n);return p(this,o?(t=u(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments))});function i(){return a(this,i),e.apply(this,arguments)}return s(i,[{key:"_main",value:function(t){return f(u(i.prototype),"_main",this).call(this,c({},r,t))}}]),i}(this)},queue:function(t){var r=this;Zt=t;function a(t,e){Zt=[],t(e)}var s=[];return new Promise(function(i){!function e(n,o){n<Zt.length?(document.body.setAttribute("data-swal2-queue-step",n),r.fire(Zt[n]).then(function(t){void 0!==t.value?(s.push(t.value),e(n+1,o)):a(i,{dismiss:t.dismiss})})):a(i,{value:s})}(0)})},getQueueStep:Vt,insertQueueStep:function(t,e){return e&&e<Zt.length?Zt.splice(e,0,t):Zt.push(t)},deleteQueueStep:function(t){void 0!==Zt[t]&&Zt.splice(t,1)},showLoading:$t,enableLoading:$t,getTimerLeft:function(){return oe.timeout&&oe.timeout.getTimerLeft()},stopTimer:Xt,resumeTimer:Gt,toggleTimer:function(){var t=oe.timeout;return t&&(t.running?Xt:Gt)()},increaseTimer:function(t){if(oe.timeout){var e=oe.timeout.increase(t);return lt(e,!0),e}},isTimerRunning:function(){return oe.timeout&&oe.timeout.isRunning()}});function ue(){var t,e=St.innerParams.get(this);e&&(t=St.domCache.get(this),rt(t.loader),e.showConfirmButton?it(t.confirmButton,"inline-block"):e.showConfirmButton||e.showCancelButton||rt(t.actions),vt([t.popup,t.actions],$.loading),t.popup.removeAttribute("aria-busy"),t.popup.removeAttribute("data-loading"),t.confirmButton.disabled=!1,t.denyButton.disabled=!1,t.cancelButton.disabled=!1)}function le(){null===G.previousBodyPadding&&document.body.scrollHeight>window.innerHeight&&(G.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight="".concat(G.previousBodyPadding+function(){var t=document.createElement("div");t.className=$["scrollbar-measure"],document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e}(),"px"))}function de(){return!!window.MSInputMethodContext&&!!document.documentMode}function pe(){var t=C(),e=x();t.style.removeProperty("align-items"),e.offsetTop<0&&(t.style.alignItems="flex-start")}var fe=function(){navigator.userAgent.match(/(CriOS|FxiOS|EdgiOS|YaBrowser|UCBrowser)/i)||x().scrollHeight>window.innerHeight-44&&(C().style.paddingBottom="".concat(44,"px"))},me=function(){var e,t=C();t.ontouchstart=function(t){e=he(t)},t.ontouchmove=function(t){e&&(t.preventDefault(),t.stopPropagation())}},he=function(t){var e=t.target,n=C();return(!t.touches||!t.touches.length||"stylus"!==t.touches[0].touchType)&&(e===n||!(ct(n)||"INPUT"===e.tagName||ct(P())&&P().contains(e)))},ge={swalPromiseResolve:new WeakMap};function ve(t,e,n,o){var i;n?Ce(t,o):(Jt().then(function(){return Ce(t,o)}),oe.keydownTarget.removeEventListener("keydown",oe.keydownHandler,{capture:oe.keydownListenerCapture}),oe.keydownHandlerAdded=!1),e.parentNode&&!document.body.getAttribute("data-swal2-queue-step")&&e.parentNode.removeChild(e),N()&&(null!==G.previousBodyPadding&&(document.body.style.paddingRight="".concat(G.previousBodyPadding,"px"),G.previousBodyPadding=null),_(document.body,$.iosfix)&&(i=parseInt(document.body.style.top,10),vt(document.body,$.iosfix),document.body.style.top="",document.body.scrollTop=-1*i),"undefined"!=typeof window&&de()&&window.removeEventListener("resize",pe),h(document.body.children).forEach(function(t){t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden")})),vt([document.documentElement,document.body],[$.shown,$["height-auto"],$["no-backdrop"],$["toast-shown"],$["toast-column"]])}function ye(t){var e,n,o,i=x();i&&(t=function(t){return void 0!==t?c({isConfirmed:!1,isDenied:!1,isDismissed:!1},t):{isConfirmed:!1,isDenied:!1,isDismissed:!0}}(t),(e=St.innerParams.get(this))&&!_(i,e.hideClass.popup)&&(n=ge.swalPromiseResolve.get(this),vt(i,e.showClass.popup),gt(i,e.hideClass.popup),o=C(),vt(o,e.showClass.backdrop),gt(o,e.hideClass.backdrop),function(t,e,n){var o=C(),i=Bt&&ut(e),r=n.onClose,a=n.onAfterClose,s=n.willClose,c=n.didClose;if(be(e,s,r),i){we(t,e,o,c||a)}else{ve(t,o,X(),c||a)}}(this,i,e),n(t)))}var be=function(t,e,n){null!==e&&"function"==typeof e?e(t):null!==n&&"function"==typeof n&&n(t)},we=function(t,e,n,o){oe.swalCloseEventFinishedCallback=ve.bind(null,t,n,X(),o),e.addEventListener(Bt,function(t){t.target===e&&(oe.swalCloseEventFinishedCallback(),delete oe.swalCloseEventFinishedCallback)})},Ce=function(t,e){setTimeout(function(){"function"==typeof e&&e(),t._destroy()})};function ke(t,e,n){var o=St.domCache.get(t);e.forEach(function(t){o[t].disabled=n})}function xe(t,e){if(!t)return!1;if("radio"===t.type)for(var n=t.parentNode.parentNode.querySelectorAll("input"),o=0;o<n.length;o++)n[o].disabled=e;else t.disabled=e}var Be=function(){function n(t,e){a(this,n),this.callback=t,this.remaining=e,this.running=!1,this.start()}return s(n,[{key:"start",value:function(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}},{key:"stop",value:function(){return this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=new Date-this.started),this.remaining}},{key:"increase",value:function(t){var e=this.running;return e&&this.stop(),this.remaining+=t,e&&this.start(),this.remaining}},{key:"getTimerLeft",value:function(){return this.running&&(this.stop(),this.start()),this.remaining}},{key:"isRunning",value:function(){return this.running}}]),n}(),Ae={email:function(t,e){return/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid email address")},url:function(t,e){return/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid URL")}};function Pe(t){var e,n;(e=t).inputValidator||Object.keys(Ae).forEach(function(t){e.input===t&&(e.inputValidator=Ae[t])}),t.showLoaderOnConfirm&&!t.preConfirm&&W("showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request"),t.animation=Z(t.animation),(n=t).target&&("string"!=typeof n.target||document.querySelector(n.target))&&("string"==typeof n.target||n.target.appendChild)||(W('Target parameter is not valid, defaulting to "body"'),n.target="body"),"string"==typeof t.title&&(t.title=t.title.split("\n").join("<br />")),Ct(t)}function Ee(t){var e=C(),n=x();"function"==typeof t.willOpen?t.willOpen(n):"function"==typeof t.onBeforeOpen&&t.onBeforeOpen(n);var o=window.getComputedStyle(document.body).overflowY;Ne(e,n,t),setTimeout(function(){He(e,n)},10),N()&&(Re(e,t.scrollbarPadding,o),h(document.body.children).forEach(function(t){t===C()||function(t,e){if("function"==typeof t.contains)return t.contains(e)}(t,C())||(t.hasAttribute("aria-hidden")&&t.setAttribute("data-previous-aria-hidden",t.getAttribute("aria-hidden")),t.setAttribute("aria-hidden","true"))})),X()||oe.previousActiveElement||(oe.previousActiveElement=document.activeElement),Ve(n,t),vt(e,$["no-transition"])}function Oe(t){var e,n=x();t.target===n&&(e=C(),n.removeEventListener(Bt,Oe),e.style.overflowY="auto")}function Se(t,e){"select"===e.input||"radio"===e.input?ze(t,e):-1!==["text","email","number","tel","textarea"].indexOf(e.input)&&(v(e.inputValue)||b(e.inputValue))&&We(t,e)}function Te(t,e){t.disableButtons(),e.input?Ze(t,e,"confirm"):Je(t,e,!0)}function Le(t,e){t.disableButtons(),e.returnInputValueOnDeny?Ze(t,e,"deny"):$e(t,!1)}function De(t,e){t.disableButtons(),e(Q.cancel)}function Ie(t,e){t.closePopup({isConfirmed:!0,value:e})}function qe(e,t,n,o){t.keydownTarget&&t.keydownHandlerAdded&&(t.keydownTarget.removeEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!1),n.toast||(t.keydownHandler=function(t){return en(e,t,o)},t.keydownTarget=n.keydownListenerCapture?window:x(),t.keydownListenerCapture=n.keydownListenerCapture,t.keydownTarget.addEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!0)}function je(t,e,n){var o=R(),i=0;if(i<o.length)return(e+=n)===o.length?e=0:-1===e&&(e=o.length-1),o[e].focus();x().focus()}function Me(t,e,n){St.innerParams.get(t).toast?sn(t,e,n):(un(e),ln(e),dn(t,e,n))}var Ve=function(t,e){"function"==typeof e.didOpen?setTimeout(function(){return e.didOpen(t)}):"function"==typeof e.onOpen&&setTimeout(function(){return e.onOpen(t)})},He=function(t,e){Bt&&ut(e)?(t.style.overflowY="hidden",e.addEventListener(Bt,Oe)):t.style.overflowY="auto"},Re=function(t,e,n){var o;(/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||"MacIntel"===navigator.platform&&1<navigator.maxTouchPoints)&&!_(document.body,$.iosfix)&&(o=document.body.scrollTop,document.body.style.top="".concat(-1*o,"px"),gt(document.body,$.iosfix),me(),fe()),"undefined"!=typeof window&&de()&&(pe(),window.addEventListener("resize",pe)),e&&"hidden"!==n&&le(),setTimeout(function(){t.scrollTop=0})},Ne=function(t,e,n){gt(t,n.showClass.backdrop),e.style.setProperty("opacity","0","important"),it(e),setTimeout(function(){gt(e,n.showClass.popup),e.style.removeProperty("opacity")},10),gt([document.documentElement,document.body],$.shown),n.heightAuto&&n.backdrop&&!n.toast&&gt([document.documentElement,document.body],$["height-auto"])},Ue=function(t){return t.checked?1:0},_e=function(t){return t.checked?t.value:null},Fe=function(t){return t.files.length?null!==t.getAttribute("multiple")?t.files:t.files[0]:null},ze=function(e,n){function o(t){return Ke[n.input](i,Ye(t),n)}var i=P();v(n.inputOptions)||b(n.inputOptions)?($t(),y(n.inputOptions).then(function(t){e.hideLoading(),o(t)})):"object"===r(n.inputOptions)?o(n.inputOptions):K("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(r(n.inputOptions)))},We=function(e,n){var o=e.getInput();rt(o),y(n.inputValue).then(function(t){o.value="number"===n.input?parseFloat(t)||0:"".concat(t),it(o),o.focus(),e.hideLoading()}).catch(function(t){K("Error in inputValue promise: ".concat(t)),o.value="",it(o),o.focus(),e.hideLoading()})},Ke={select:function(t,e,i){function r(t,e,n){var o=document.createElement("option");o.value=n,U(o,e),i.inputValue.toString()===n.toString()&&(o.selected=!0),t.appendChild(o)}var a=yt(t,$.select);e.forEach(function(t){var e,n=t[0],o=t[1];Array.isArray(o)?((e=document.createElement("optgroup")).label=n,e.disabled=!1,a.appendChild(e),o.forEach(function(t){return r(e,t[1],t[0])})):r(a,o,n)}),a.focus()},radio:function(t,e,a){var s=yt(t,$.radio);e.forEach(function(t){var e=t[0],n=t[1],o=document.createElement("input"),i=document.createElement("label");o.type="radio",o.name=$.radio,o.value=e,a.inputValue.toString()===e.toString()&&(o.checked=!0);var r=document.createElement("span");U(r,n),r.className=$.label,i.appendChild(o),i.appendChild(r),s.appendChild(i)});var n=s.querySelectorAll("input");n.length&&n[0].focus()}},Ye=function o(n){var i=[];return"undefined"!=typeof Map&&n instanceof Map?n.forEach(function(t,e){var n=t;"object"===r(n)&&(n=o(n)),i.push([e,n])}):Object.keys(n).forEach(function(t){var e=n[t];"object"===r(e)&&(e=o(e)),i.push([t,e])}),i},Ze=function(t,e,n){var o=function(t,e){var n=t.getInput();if(!n)return null;switch(e.input){case"checkbox":return Ue(n);case"radio":return _e(n);case"file":return Fe(n);default:return e.inputAutoTrim?n.value.trim():n.value}}(t,e);e.inputValidator?Qe(t,e,o):t.getInput().checkValidity()?"deny"===n?$e(t,o):Je(t,e,o):(t.enableButtons(),t.showValidationMessage(e.validationMessage))},Qe=function(e,n,o){e.disableInput(),Promise.resolve().then(function(){return y(n.inputValidator(o,n.validationMessage))}).then(function(t){e.enableButtons(),e.enableInput(),t?e.showValidationMessage(t):Je(e,n,o)})},$e=function(t,e){t.closePopup({isDenied:!0,value:e})},Je=function(e,t,n){t.showLoaderOnConfirm&&$t(),t.preConfirm?(e.resetValidationMessage(),Promise.resolve().then(function(){return y(t.preConfirm(n,t.validationMessage))}).then(function(t){bt(S())||!1===t?e.hideLoading():Ie(e,void 0===t?n:t)})):Ie(e,n)},Xe=["ArrowRight","ArrowDown","Right","Down"],Ge=["ArrowLeft","ArrowUp","Left","Up"],tn=["Escape","Esc"],en=function(t,e,n){var o=St.innerParams.get(t);o.stopKeydownPropagation&&e.stopPropagation(),"Enter"===e.key?nn(t,e,o):"Tab"===e.key?on(e,o):-1!==[].concat(Xe,Ge).indexOf(e.key)?rn(e.key):-1!==tn.indexOf(e.key)&&an(e,o,n)},nn=function(t,e,n){if(!e.isComposing&&e.target&&t.getInput()&&e.target.outerHTML===t.getInput().outerHTML){if(-1!==["textarea","file"].indexOf(n.input))return;Ut(),e.preventDefault()}},on=function(t){for(var e=t.target,n=R(),o=-1,i=0;i<n.length;i++)if(e===n[i]){o=i;break}t.shiftKey?je(0,o,-1):je(0,o,1),t.stopPropagation(),t.preventDefault()},rn=function(t){var e,n;-1!==[T(),L(),I()].indexOf(document.activeElement)&&(e=-1!==Xe.indexOf(t)?"nextElementSibling":"previousElementSibling",(n=document.activeElement[e])&&n.focus())},an=function(t,e,n){Z(e.allowEscapeKey)&&(t.preventDefault(),n(Q.esc))},sn=function(e,t,n){t.popup.onclick=function(){var t=St.innerParams.get(e);t.showConfirmButton||t.showDenyButton||t.showCancelButton||t.showCloseButton||t.input||n(Q.close)}},cn=!1,un=function(e){e.popup.onmousedown=function(){e.container.onmouseup=function(t){e.container.onmouseup=void 0,t.target===e.container&&(cn=!0)}}},ln=function(e){e.container.onmousedown=function(){e.popup.onmouseup=function(t){e.popup.onmouseup=void 0,t.target!==e.popup&&!e.popup.contains(t.target)||(cn=!0)}}},dn=function(n,o,i){o.container.onclick=function(t){var e=St.innerParams.get(n);cn?cn=!1:t.target===o.container&&Z(e.allowOutsideClick)&&i(Q.backdrop)}};var pn=function(t,e,n){var o=V();rt(o),e.timer&&(t.timeout=new Be(function(){n("timer"),delete t.timeout},e.timer),e.timerProgressBar&&(it(o),setTimeout(function(){t.timeout.running&&lt(e.timer)})))},fn=function(t,e){if(!e.toast)return Z(e.allowEnterKey)?void(mn(t,e)||je(0,-1,1)):hn()},mn=function(t,e){return e.focusDeny&&bt(t.denyButton)?(t.denyButton.focus(),!0):e.focusCancel&&bt(t.cancelButton)?(t.cancelButton.focus(),!0):!(!e.focusConfirm||!bt(t.confirmButton))&&(t.confirmButton.focus(),!0)},hn=function(){document.activeElement&&"function"==typeof document.activeElement.blur&&document.activeElement.blur()};var gn,vn=function(t){for(var e in t)t[e]=new WeakMap},yn=Object.freeze({hideLoading:ue,disableLoading:ue,getInput:function(t){var e=St.innerParams.get(t||this),n=St.domCache.get(t||this);return n?tt(n.content,e.input):null},close:ye,closePopup:ye,closeModal:ye,closeToast:ye,enableButtons:function(){ke(this,["confirmButton","denyButton","cancelButton"],!1)},disableButtons:function(){ke(this,["confirmButton","denyButton","cancelButton"],!0)},enableInput:function(){return xe(this.getInput(),!1)},disableInput:function(){return xe(this.getInput(),!0)},showValidationMessage:function(t){var e=St.domCache.get(this),n=St.innerParams.get(this);U(e.validationMessage,t),e.validationMessage.className=$["validation-message"],n.customClass&&n.customClass.validationMessage&&gt(e.validationMessage,n.customClass.validationMessage),it(e.validationMessage);var o=this.getInput();o&&(o.setAttribute("aria-invalid",!0),o.setAttribute("aria-describedBy",$["validation-message"]),et(o),gt(o,$.inputerror))},resetValidationMessage:function(){var t=St.domCache.get(this);t.validationMessage&&rt(t.validationMessage);var e=this.getInput();e&&(e.removeAttribute("aria-invalid"),e.removeAttribute("aria-describedBy"),vt(e,$.inputerror))},getProgressSteps:function(){return St.domCache.get(this).progressSteps},_main:function(t){ne(t),oe.currentInstance&&oe.currentInstance._destroy(),oe.currentInstance=this;var e=function(t){var e=c({},ie.showClass,t.showClass),n=c({},ie.hideClass,t.hideClass),o=c({},ie,t);if(o.showClass=e,o.hideClass=n,t.animation===false){o.showClass={popup:"swal2-noanimation",backdrop:"swal2-noanimation"};o.hideClass={}}return o}(t);Pe(e),Object.freeze(e),oe.timeout&&(oe.timeout.stop(),delete oe.timeout),clearTimeout(oe.restoreFocusTimeout);var n=function(t){var e={popup:x(),container:C(),content:P(),actions:q(),confirmButton:T(),denyButton:L(),cancelButton:I(),loader:D(),closeButton:H(),validationMessage:S(),progressSteps:O()};return St.domCache.set(t,e),e}(this);return Nt(this,e),St.innerParams.set(this,e),function(n,o,i){return new Promise(function(t){var e=function t(e){n.closePopup({isDismissed:true,dismiss:e})};ge.swalPromiseResolve.set(n,t);o.confirmButton.onclick=function(){return Te(n,i)};o.denyButton.onclick=function(){return Le(n,i)};o.cancelButton.onclick=function(){return De(n,e)};o.closeButton.onclick=function(){return e(Q.close)};Me(n,o,e);qe(n,oe,i,e);if(i.toast&&(i.input||i.footer||i.showCloseButton)){gt(document.body,$["toast-column"])}else{vt(document.body,$["toast-column"])}Se(n,i);Ee(i);pn(oe,i,e);fn(o,i);setTimeout(function(){o.container.scrollTop=0})})}(this,n,e)},update:function(e){var t=x(),n=St.innerParams.get(this);if(!t||_(t,n.hideClass.popup))return W("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");var o={};Object.keys(e).forEach(function(t){wn.isUpdatableParameter(t)?o[t]=e[t]:W('Invalid parameter to update: "'.concat(t,'". Updatable params are listed here: https://github.com/sweetalert2/sweetalert2/blob/master/src/utils/params.js\n\nIf you think this parameter should be updatable, request it here: https://github.com/sweetalert2/sweetalert2/issues/new?template=02_feature_request.md'))});var i=c({},n,o);Nt(this,i),St.innerParams.set(this,i),Object.defineProperties(this,{params:{value:c({},this.params,e),writable:!1,enumerable:!0}})},_destroy:function(){var t=St.domCache.get(this),e=St.innerParams.get(this);e&&(t.popup&&oe.swalCloseEventFinishedCallback&&(oe.swalCloseEventFinishedCallback(),delete oe.swalCloseEventFinishedCallback),oe.deferDisposalTimer&&(clearTimeout(oe.deferDisposalTimer),delete oe.deferDisposalTimer),function(t){if(typeof t.didDestroy==="function"){t.didDestroy()}else if(typeof t.onDestroy==="function"){t.onDestroy()}}(e),delete this.params,delete oe.keydownHandler,delete oe.keydownTarget,vn(St),vn(ge))}}),bn=function(){function r(){if(a(this,r),"undefined"!=typeof window){"undefined"==typeof Promise&&K("This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)"),gn=this;for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var o=Object.freeze(this.constructor.argsToParams(e));Object.defineProperties(this,{params:{value:o,writable:!1,enumerable:!0,configurable:!0}});var i=this._main(this.params);St.promise.set(this,i)}}return s(r,[{key:"then",value:function(t){return St.promise.get(this).then(t)}},{key:"finally",value:function(t){return St.promise.get(this).finally(t)}}]),r}();c(bn.prototype,yn),c(bn,ce),Object.keys(yn).forEach(function(t){bn[t]=function(){if(gn)return gn[t].apply(gn,arguments)}}),bn.DismissReason=Q,bn.version="10.6.1";var wn=bn;return wn.default=wn}),void 0!==this&&this.Sweetalert2&&(this.swal=this.sweetAlert=this.Swal=this.SweetAlert=this.Sweetalert2);
 
assets/sweetalert2/src/instanceMethods/_destroy.js CHANGED
@@ -10,7 +10,7 @@ export function _destroy () {
10
  return // This instance has already been destroyed
11
  }
12
 
13
- // Check if there is another Swal closing
14
  if (domCache.popup && globalState.swalCloseEventFinishedCallback) {
15
  globalState.swalCloseEventFinishedCallback()
16
  delete globalState.swalCloseEventFinishedCallback
10
  return // This instance has already been destroyed
11
  }
12
 
13
+ // Check if there is another wpacuSwal closing
14
  if (domCache.popup && globalState.swalCloseEventFinishedCallback) {
15
  globalState.swalCloseEventFinishedCallback()
16
  delete globalState.swalCloseEventFinishedCallback
assets/sweetalert2/src/instanceMethods/close.js CHANGED
@@ -72,12 +72,12 @@ export function close (resolveValue) {
72
 
73
  handlePopupAnimation(this, popup, innerParams)
74
 
75
- // Resolve Swal promise
76
  swalPromiseResolve(resolveValue)
77
  }
78
 
79
  const prepareResolveValue = (resolveValue) => {
80
- // When user calls Swal.close()
81
  if (typeof resolveValue === 'undefined') {
82
  return {
83
  isConfirmed: false,
72
 
73
  handlePopupAnimation(this, popup, innerParams)
74
 
75
+ // Resolve wpacuSwal promise
76
  swalPromiseResolve(resolveValue)
77
  }
78
 
79
  const prepareResolveValue = (resolveValue) => {
80
+ // When user calls wpacuSwal.close()
81
  if (typeof resolveValue === 'undefined') {
82
  return {
83
  isConfirmed: false,
assets/sweetalert2/src/privateMethods.js CHANGED
@@ -1,5 +1,5 @@
1
  /**
2
- * This module containts `WeakMap`s for each effectively-"private property" that a `Swal` has.
3
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
4
  * This is the approach that Babel will probably take to implement private methods/fields
5
  * https://github.com/tc39/proposal-private-methods
1
  /**
2
+ * This module containts `WeakMap`s for each effectively-"private property" that a `wpacuSwal` has.
3
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
4
  * This is the approach that Babel will probably take to implement private methods/fields
5
  * https://github.com/tc39/proposal-private-methods
assets/sweetalert2/src/privateProps.js CHANGED
@@ -1,5 +1,5 @@
1
  /**
2
- * This module containts `WeakMap`s for each effectively-"private property" that a `Swal` has.
3
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
4
  * This is the approach that Babel will probably take to implement private methods/fields
5
  * https://github.com/tc39/proposal-private-methods
1
  /**
2
+ * This module containts `WeakMap`s for each effectively-"private property" that a `wpacuSwal` has.
3
  * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')`
4
  * This is the approach that Babel will probably take to implement private methods/fields
5
  * https://github.com/tc39/proposal-private-methods
assets/sweetalert2/src/scss/_animations.scss DELETED
@@ -1,158 +0,0 @@
1
- @import 'toasts-animations';
2
-
3
- // Appearance animation
4
- @keyframes swal2-show {
5
- 0% {
6
- transform: scale(.7);
7
- }
8
-
9
- 45% {
10
- transform: scale(1.05);
11
- }
12
-
13
- 80% {
14
- transform: scale(.95);
15
- }
16
-
17
- 100% {
18
- transform: scale(1);
19
- }
20
- }
21
-
22
- // Disppearance animation
23
- @keyframes swal2-hide {
24
- 0% {
25
- transform: scale(1);
26
- opacity: 1;
27
- }
28
-
29
- 100% {
30
- transform: scale(.5);
31
- opacity: 0;
32
- }
33
- }
34
-
35
- // Success icon animations
36
- @keyframes swal2-animate-success-line-tip {
37
- 0% {
38
- top: 1.1875em;
39
- left: .0625em;
40
- width: 0;
41
- }
42
-
43
- 54% {
44
- top: 1.0625em;
45
- left: .125em;
46
- width: 0;
47
- }
48
-
49
- 70% {
50
- top: 2.1875em;
51
- left: -.375em;
52
- width: 3.125em;
53
- }
54
-
55
- 84% {
56
- top: 3em;
57
- left: 1.3125em;
58
- width: 1.0625em;
59
- }
60
-
61
- 100% {
62
- top: 2.8125em;
63
- left: .8125em;
64
- width: 1.5625em;
65
- }
66
- }
67
-
68
- @keyframes swal2-animate-success-line-long {
69
- 0% {
70
- top: 3.375em;
71
- right: 2.875em;
72
- width: 0;
73
- }
74
-
75
- 65% {
76
- top: 3.375em;
77
- right: 2.875em;
78
- width: 0;
79
- }
80
-
81
- 84% {
82
- top: 2.1875em;
83
- right: 0;
84
- width: 3.4375em;
85
- }
86
-
87
- 100% {
88
- top: 2.375em;
89
- right: .5em;
90
- width: 2.9375em;
91
- }
92
- }
93
-
94
- @keyframes swal2-rotate-success-circular-line {
95
- 0% {
96
- transform: rotate(-45deg);
97
- }
98
-
99
- 5% {
100
- transform: rotate(-45deg);
101
- }
102
-
103
- 12% {
104
- transform: rotate(-405deg);
105
- }
106
-
107
- 100% {
108
- transform: rotate(-405deg);
109
- }
110
- }
111
-
112
- // Error icon animations
113
- @keyframes swal2-animate-error-x-mark {
114
- 0% {
115
- margin-top: 1.625em;
116
- transform: scale(.4);
117
- opacity: 0;
118
- }
119
-
120
- 50% {
121
- margin-top: 1.625em;
122
- transform: scale(.4);
123
- opacity: 0;
124
- }
125
-
126
- 80% {
127
- margin-top: -.375em;
128
- transform: scale(1.15);
129
- }
130
-
131
- 100% {
132
- margin-top: 0;
133
- transform: scale(1);
134
- opacity: 1;
135
- }
136
- }
137
-
138
- @keyframes swal2-animate-error-icon {
139
- 0% {
140
- transform: rotateX(100deg);
141
- opacity: 0;
142
- }
143
-
144
- 100% {
145
- transform: rotateX(0deg);
146
- opacity: 1;
147
- }
148
- }
149
-
150
- @keyframes swal2-rotate-loading {
151
- 0% {
152
- transform: rotate(0deg);
153
- }
154
-
155
- 100% {
156
- transform: rotate(360deg);
157
- }
158
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/sweetalert2/src/scss/_body.scss DELETED
@@ -1,100 +0,0 @@
1
- @import 'toasts-body';
2
-
3
- @mixin sweetalert2-body() {
4
- &.swal2-shown {
5
- @include not('.swal2-no-backdrop', '.swal2-toast-shown') {
6
- overflow: hidden; // not overflow-y because of Sarari, #1253
7
- }
8
- }
9
-
10
- &.swal2-height-auto {
11
- height: auto !important; // #781 #1107
12
- }
13
-
14
- &.swal2-no-backdrop {
15
- .swal2-container {
16
- top: auto;
17
- right: auto;
18
- bottom: auto;
19
- left: auto;
20
- max-width: calc(100% - #{$swal2-container-padding} * 2);
21
- background-color: transparent !important;
22
-
23
- & > .swal2-modal {
24
- box-shadow: 0 0 10px $swal2-backdrop;
25
- }
26
-
27
- &.swal2-top {
28
- top: 0;
29
- left: 50%;
30
- transform: translateX(-50%);
31
- }
32
-
33
- &.swal2-top-start,
34
- &.swal2-top-left {
35
- top: 0;
36
- left: 0;
37
- }
38
-
39
- &.swal2-top-end,
40
- &.swal2-top-right {
41
- top: 0;
42
- right: 0;
43
- }
44
-
45
- &.swal2-center {
46
- top: 50%;
47
- left: 50%;
48
- transform: translate(-50%, -50%);
49
- }
50
-
51
- &.swal2-center-start,
52
- &.swal2-center-left {
53
- top: 50%;
54
- left: 0;
55
- transform: translateY(-50%);
56
- }
57
-
58
- &.swal2-center-end,
59
- &.swal2-center-right {
60
- top: 50%;
61
- right: 0;
62
- transform: translateY(-50%);
63
- }
64
-
65
- &.swal2-bottom {
66
- bottom: 0;
67
- left: 50%;
68
- transform: translateX(-50%);
69
- }
70
-
71
- &.swal2-bottom-start,
72
- &.swal2-bottom-left {
73
- bottom: 0;
74
- left: 0;
75
- }
76
-
77
- &.swal2-bottom-end,
78
- &.swal2-bottom-right {
79
- right: 0;
80
- bottom: 0;
81
- }
82
- }
83
- }
84
-
85
- @media print {
86
- &.swal2-shown {
87
- @include not('.swal2-no-backdrop', '.swal2-toast-shown') {
88
- overflow-y: scroll !important;
89
-
90
- > [aria-hidden='true'] {
91
- display: none;
92
- }
93
-
94
- .swal2-container {
95
- position: static !important;
96
- }
97
- }
98
- }
99
- }
100
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/sweetalert2/src/scss/_core.scss DELETED
@@ -1,780 +0,0 @@
1
- .swal2-container {
2
- // centering
3
- display: flex;
4
- position: fixed;
5
- z-index: 1060;
6
- top: 0;
7
- right: 0;
8
- bottom: 0;
9
- left: 0;
10
- flex-direction: row;
11
- align-items: center;
12
- justify-content: center;
13
- padding: $swal2-container-padding;
14
- overflow-x: hidden;
15
- transition: $swal2-backdrop-transition;
16
-
17
- // sweetalert2/issues/905
18
- -webkit-overflow-scrolling: touch;
19
-
20
- &.swal2-backdrop-show,
21
- &.swal2-noanimation {
22
- background: $swal2-backdrop;
23
- }
24
-
25
- &.swal2-backdrop-hide {
26
- background: transparent !important;
27
- }
28
-
29
- &.swal2-top {
30
- align-items: flex-start;
31
- }
32
-
33
- &.swal2-top-start,
34
- &.swal2-top-left {
35
- align-items: flex-start;
36
- justify-content: flex-start;
37
- }
38
-
39
- &.swal2-top-end,
40
- &.swal2-top-right {
41
- align-items: flex-start;
42
- justify-content: flex-end;
43
- }
44
-
45
- &.swal2-center {
46
- align-items: center;
47
- }
48
-
49
- &.swal2-center-start,
50
- &.swal2-center-left {
51
- align-items: center;
52
- justify-content: flex-start;
53
- }
54
-
55
- &.swal2-center-end,
56
- &.swal2-center-right {
57
- align-items: center;
58
- justify-content: flex-end;
59
- }
60
-
61
- &.swal2-bottom {
62
- align-items: flex-end;
63
- }
64
-
65
- &.swal2-bottom-start,
66
- &.swal2-bottom-left {
67
- align-items: flex-end;
68
- justify-content: flex-start;
69
- }
70
-
71
- &.swal2-bottom-end,
72
- &.swal2-bottom-right {
73
- align-items: flex-end;
74
- justify-content: flex-end;
75
- }
76
-
77
- &.swal2-bottom > :first-child,
78
- &.swal2-bottom-start > :first-child,
79
- &.swal2-bottom-left > :first-child,
80
- &.swal2-bottom-end > :first-child,
81
- &.swal2-bottom-right > :first-child {
82
- margin-top: auto;
83
- }
84
-
85
- &.swal2-grow-fullscreen > .swal2-modal {
86
- display: flex !important;
87
- flex: 1;
88
- align-self: stretch;
89
- justify-content: center;
90
- }
91
-
92
- &.swal2-grow-row > .swal2-modal {
93
- display: flex !important;
94
- flex: 1;
95
- align-content: center;
96
- justify-content: center;
97
- }
98
-
99
- &.swal2-grow-column {
100
- flex: 1;
101
- flex-direction: column;
102
-
103
- &.swal2-top,
104
- &.swal2-center,
105
- &.swal2-bottom {
106
- align-items: center;
107
- }
108
-
109
- &.swal2-top-start,
110
- &.swal2-center-start,
111
- &.swal2-bottom-start,
112
- &.swal2-top-left,
113
- &.swal2-center-left,
114
- &.swal2-bottom-left {
115
- align-items: flex-start;
116
- }
117
-
118
- &.swal2-top-end,
119
- &.swal2-center-end,
120
- &.swal2-bottom-end,
121
- &.swal2-top-right,
122
- &.swal2-center-right,
123
- &.swal2-bottom-right {
124
- align-items: flex-end;
125
- }
126
-
127
- & > .swal2-modal {
128
- display: flex !important;
129
- flex: 1;
130
- align-content: center;
131
- justify-content: center;
132
- }
133
- }
134
-
135
- &.swal2-no-transition {
136
- transition: none !important;
137
- }
138
-
139
- @include not('.swal2-top',
140
- '.swal2-top-start',
141
- '.swal2-top-end',
142
- '.swal2-top-left',
143
- '.swal2-top-right',
144
- '.swal2-center-start',
145
- '.swal2-center-end',
146
- '.swal2-center-left',
147
- '.swal2-center-right',
148
- '.swal2-bottom',
149
- '.swal2-bottom-start',
150
- '.swal2-bottom-end',
151
- '.swal2-bottom-left',
152
- '.swal2-bottom-right',
153
- '.swal2-grow-fullscreen') {
154
- & > .swal2-modal {
155
- margin: auto;
156
- }
157
- }
158
-
159
- @include ie {
160
- .swal2-modal {
161
- margin: 0 !important;
162
- }
163
- }
164
- }
165
-
166
- .swal2-popup {
167
- display: none;
168
- position: relative;
169
- box-sizing: border-box;
170
- flex-direction: column;
171
- justify-content: center;
172
- width: $swal2-width;
173
- max-width: 100%;
174
- padding: $swal2-padding;
175
- border: $swal2-border;
176
- border-radius: $swal2-border-radius;
177
- background: $swal2-background;
178
- font-family: $swal2-font;
179
- font-size: $swal2-font-size;
180
-
181
- &:focus {
182
- outline: none;
183
- }
184
-
185
- &.swal2-loading {
186
- overflow-y: hidden;
187
- }
188
- }
189
-
190
- .swal2-header {
191
- display: flex;
192
- flex-direction: column;
193
- align-items: center;
194
- padding: $swal2-header-padding;
195
- }
196
-
197
- .swal2-title {
198
- position: relative;
199
- max-width: 100%;
200
- margin: $swal2-title-margin;
201
- padding: 0;
202
- color: $swal2-title-color;
203
- font-size: $swal2-title-font-size;
204
- font-weight: 600;
205
- text-align: center;
206
- text-transform: none;
207
- word-wrap: break-word;
208
- }
209
-
210
- .swal2-actions {
211
- display: flex;
212
- z-index: 1; // prevent sucess icon from overlapping buttons
213
- box-sizing: border-box;
214
- flex-wrap: $swal2-actions-flex-wrap;
215
- align-items: $swal2-actions-align-items;
216
- justify-content: $swal2-actions-justify-content;
217
- width: $swal2-actions-width;
218
- margin: $swal2-actions-margin;
219
- padding: $swal2-actions-padding;
220
-
221
- &:not(.swal2-loading) {
222
- .swal2-styled {
223
- &[disabled] {
224
- opacity: .4;
225
- }
226
-
227
- &:hover {
228
- background-image: linear-gradient($swal2-button-darken-hover, $swal2-button-darken-hover);
229
- }
230
-
231
- &:active {
232
- background-image: linear-gradient($swal2-button-darken-active, $swal2-button-darken-active);
233
- }
234
- }
235
- }
236
- }
237
-
238
- .swal2-loader {
239
- display: none;
240
- align-items: $swal2-loader-align-items;
241
- justify-content: $swal2-loader-justify-content;
242
- width: $swal2-loader-width;
243
- height: $swal2-loader-height;
244
- margin: $swal2-loader-margin;
245
- animation: $swal2-loader-animation;
246
- border-width: $swal2-loader-border-width;
247
- border-style: $swal2-loader-border-style;
248
- border-radius: $swal2-loader-border-radius;
249
- border-color: $swal2-loader-border-color;
250
- }
251
-
252
- .swal2-styled {
253
- margin: .3125em;
254
- padding: .625em 2em;
255
- box-shadow: none;
256
- font-weight: 500;
257
-
258
- &:not([disabled]) {
259
- cursor: pointer;
260
- }
261
-
262
- &.swal2-confirm {
263
- order: $swal2-confirm-button-order;
264
- border: $swal2-confirm-button-border;
265
- border-radius: $swal2-confirm-button-border-radius;
266
- background: initial;
267
- background-color: $swal2-confirm-button-background-color;
268
- color: $swal2-confirm-button-color;
269
- font-size: $swal2-confirm-button-font-size;
270
- }
271
-
272
- &.swal2-deny {
273
- order: $swal2-deny-button-order;
274
- border: $swal2-deny-button-border;
275
- border-radius: $swal2-deny-button-border-radius;
276
- background: initial;
277
- background-color: $swal2-deny-button-background-color;
278
- color: $swal2-deny-button-color;
279
- font-size: $swal2-deny-button-font-size;
280
- }
281
-
282
- &.swal2-cancel {
283
- order: $swal2-cancel-button-order;
284
- border: $swal2-cancel-button-border;
285
- border-radius: $swal2-cancel-button-border-radius;
286
- background: initial;
287
- background-color: $swal2-cancel-button-background-color;
288
- color: $swal2-cancel-button-color;
289
- font-size: $swal2-cancel-button-font-size;
290
- }
291
-
292
- &:focus {
293
- outline: $swal2-button-focus-outline;
294
- background-color: $swal2-button-focus-background-color;
295
- box-shadow: $swal2-button-focus-box-shadow;
296
- }
297
-
298
- &::-moz-focus-inner {
299
- border: 0;
300
- }
301
- }
302
-
303
- .swal2-footer {
304
- justify-content: center;
305
- margin: $swal2-footer-margin;
306
- padding: $swal2-footer-padding;
307
- border-top: 1px solid $swal2-footer-border-color;
308
- color: $swal2-footer-color;
309
- font-size: $swal2-footer-font-size;
310
- }
311
-
312
- .swal2-timer-progress-bar-container {
313
- position: absolute;
314
- right: 0;
315
- bottom: 0;
316
- left: 0;
317
- height: $swal2-timer-progress-bar-height;
318
- overflow: hidden;
319
- border-bottom-right-radius: $swal2-border-radius;
320
- border-bottom-left-radius: $swal2-border-radius;
321
- }
322
-
323
- .swal2-timer-progress-bar {
324
- width: 100%;
325
- height: $swal2-timer-progress-bar-height;
326
- background: $swal2-timer-progress-bar-background;
327
- }
328
-
329
- .swal2-image {
330
- max-width: 100%;
331
- margin: $swal2-image-margin;
332
- }
333
-
334
- .swal2-close {
335
- position: $swal2-close-button-position;
336
- z-index: 2; // sweetalert2/issues/1617
337
- top: $swal2-close-button-gap;
338
- right: $swal2-close-button-gap;
339
- align-items: $swal2-close-button-align-items;
340
- justify-content: $swal2-close-button-justify-content;
341
- width: $swal2-close-button-width;
342
- height: $swal2-close-button-height;
343
- padding: 0;
344
- overflow: hidden;
345
- transition: $swal2-close-button-transition;
346
- border: $swal2-close-button-border;
347
- border-radius: $swal2-close-button-border-radius;
348
- outline: $swal2-close-button-outline;
349
- background: $swal2-close-button-background;
350
- color: $swal2-close-button-color;
351
- font-family: $swal2-close-button-font-family;
352
- font-size: $swal2-close-button-font-size;
353
- line-height: $swal2-close-button-line-height;
354
- cursor: pointer;
355
-
356
- &:hover {
357
- transform: $swal2-close-button-hover-transform;
358
- background: $swal2-close-button-hover-background;
359
- color: $swal2-close-button-hover-color;
360
- }
361
-
362
- &::-moz-focus-inner {
363
- border: 0;
364
- }
365
- }
366
-
367
- .swal2-content {
368
- z-index: 1; // prevent sucess icon overlapping the content
369
- justify-content: $swal2-content-justify-content;
370
- margin: $swal2-content-margin;
371
- padding: $swal2-content-padding;
372
- color: $swal2-content-color;
373
- font-size: $swal2-content-font-size;
374
- font-weight: $swal2-content-font-weight;
375
- line-height: $swal2-content-line-height;
376
- text-align: $swal2-content-text-align;
377
- word-wrap: $swal2-content-word-wrap;
378
- }
379
-
380
- .swal2-input,
381
- .swal2-file,
382
- .swal2-textarea,
383
- .swal2-select,
384
- .swal2-radio,
385
- .swal2-checkbox {
386
- margin: $swal2-input-margin;
387
- }
388
-
389
- .swal2-input,
390
- .swal2-file,
391
- .swal2-textarea {
392
- box-sizing: border-box;
393
- width: $swal2-input-width;
394
- transition: $swal2-input-transition;
395
- border: $swal2-input-border;
396
- border-radius: $swal2-input-border-radius;
397
- background: $swal2-input-background;
398
- box-shadow: $swal2-input-box-shadow;
399
- color: $swal2-input-color;
400
- font-size: $swal2-input-font-size;
401
-
402
- &.swal2-inputerror {
403
- border-color: $swal2-error !important;
404
- box-shadow: 0 0 2px $swal2-error !important;
405
- }
406
-
407
- &:focus {
408
- border: $swal2-input-focus-border;
409
- outline: $swal2-input-focus-outline;
410
- box-shadow: $swal2-input-focus-box-shadow;
411
- }
412
-
413
- &::placeholder {
414
- color: lighten($swal2-black, 80);
415
- }
416
- }
417
-
418
- .swal2-range {
419
- margin: $swal2-input-margin;
420
- background: $swal2-background;
421
-
422
- input {
423
- width: 80%;
424
- }
425
-
426
- output {
427
- width: 20%;
428
- color: $swal2-input-color;
429
- font-weight: 600;
430
- text-align: center;
431
- }
432
-
433
- input,
434
- output {
435
- height: $swal2-input-height;
436
- padding: 0;
437
- font-size: $swal2-input-font-size;
438
- line-height: $swal2-input-height;
439
- }
440
- }
441
-
442
- .swal2-input {
443
- height: $swal2-input-height;
444
- padding: $swal2-input-padding;
445
-
446
- &[type='number'] {
447
- max-width: 10em;
448
- }
449
- }
450
-
451
- .swal2-file {
452
- background: $swal2-input-background;
453
- font-size: $swal2-input-font-size;
454
- }
455
-
456
- .swal2-textarea {
457
- height: $swal2-textarea-height;
458
- padding: $swal2-textarea-padding;
459
- }
460
-
461
- .swal2-select {
462
- min-width: 50%;
463
- max-width: 100%;
464
- padding: .375em .625em;
465
- background: $swal2-input-background;
466
- color: $swal2-input-color;
467
- font-size: $swal2-input-font-size;
468
- }
469
-
470
- .swal2-radio,
471
- .swal2-checkbox {
472
- align-items: center;
473
- justify-content: center;
474
- background: $swal2-background;
475
- color: $swal2-input-color;
476
-
477
- label {
478
- margin: 0 .6em;
479
- font-size: $swal2-input-font-size;
480
- }
481
-
482
- input {
483
- margin: 0 .4em;
484
- }
485
- }
486
-
487
- .swal2-input-label {
488
- display: flex;
489
- justify-content: $swal2-input-label-justify-content;
490
- margin: $swal2-input-label-margin;
491
- }
492
-
493
- .swal2-validation-message {
494
- display: none;
495
- align-items: center;
496
- justify-content: $swal2-validation-message-justify-content;
497
- margin: $swal2-validation-message-margin;
498
- padding: $swal2-validation-message-padding;
499
- overflow: hidden;
500
- background: $swal2-validation-message-background;
501
- color: $swal2-validation-message-color;
502
- font-size: $swal2-validation-message-font-size;
503
- font-weight: $swal2-validation-message-font-weight;
504
-
505
- &::before {
506
- content: '!';
507
- display: inline-block;
508
- width: 1.5em;
509
- min-width: 1.5em;
510
- height: 1.5em;
511
- margin: 0 .625em;
512
- zoom: $swal2-validation-message-icon-zoom;
513
- border-radius: 50%;
514
- background-color: $swal2-validation-message-icon-background;
515
- color: $swal2-validation-message-icon-color;
516
- font-weight: 600;
517
- line-height: 1.5em;
518
- text-align: center;
519
- }
520
- }
521
-
522
- .swal2-icon {
523
- position: relative;
524
- box-sizing: content-box;
525
- justify-content: center;
526
- width: $swal2-icon-size;
527
- height: $swal2-icon-size;
528
- margin: $swal2-icon-margin;
529
- zoom: $swal2-icon-zoom;
530
- border: .25em solid transparent;
531
- border-radius: 50%;
532
- font-family: $swal2-icon-font-family;
533
- line-height: $swal2-icon-size;
534
- cursor: default;
535
- user-select: none;
536
-
537
- .swal2-icon-content {
538
- display: flex;
539
- align-items: center;
540
- font-size: 3.75em;
541
- }
542
-
543
- &.swal2-error {
544
- border-color: $swal2-error;
545
- color: $swal2-error;
546
-
547
- .swal2-x-mark {
548
- position: relative;
549
- flex-grow: 1;
550
- }
551
-
552
- [class^='swal2-x-mark-line'] {
553
- display: block;
554
- position: absolute;
555
- top: 2.3125em;
556
- width: 2.9375em;
557
- height: .3125em;
558
- border-radius: .125em;
559
- background-color: $swal2-error;
560
-
561
- &[class$='left'] {
562
- left: 1.0625em;
563
- transform: rotate(45deg);
564
- }
565
-
566
- &[class$='right'] {
567
- right: 1em;
568
- transform: rotate(-45deg);
569
- }
570
- }
571
-
572
- // Error icon animation
573
- &.swal2-icon-show {
574
- @if $swal2-icon-animations {
575
- animation: swal2-animate-error-icon .5s;
576
-
577
- .swal2-x-mark {
578
- animation: swal2-animate-error-x-mark .5s;
579
- }
580
- }
581
- }
582
- }
583
-
584
- &.swal2-warning {
585
- border-color: lighten($swal2-warning, 7);
586
- color: $swal2-warning;
587
- }
588
-
589
- &.swal2-info {
590
- border-color: lighten($swal2-info, 20);
591
- color: $swal2-info;
592
- }
593
-
594
- &.swal2-question {
595
- border-color: lighten($swal2-question, 20);
596
- color: $swal2-question;
597
- }
598
-
599
- &.swal2-success {
600
- border-color: $swal2-success;
601
- color: $swal2-success;
602
-
603
- [class^='swal2-success-circular-line'] {
604
- // Emulate moving circular line
605
- position: absolute;
606
- width: 3.75em;
607
- height: 7.5em;
608
- transform: rotate(45deg);
609
- border-radius: 50%;
610
-
611
- &[class$='left'] {
612
- top: -.4375em;
613
- left: -2.0635em;
614
- transform: rotate(-45deg);
615
- transform-origin: 3.75em 3.75em;
616
- border-radius: 7.5em 0 0 7.5em;
617
- }
618
-
619
- &[class$='right'] {
620
- top: -.6875em;
621
- left: 1.875em;
622
- transform: rotate(-45deg);
623
- transform-origin: 0 3.75em;
624
- border-radius: 0 7.5em 7.5em 0;
625
- }
626
- }
627
-
628
- .swal2-success-ring {
629
- // Ring
630
- position: absolute;
631
- z-index: 2;
632
- top: -.25em;
633
- left: -.25em;
634
- box-sizing: content-box;
635
- width: 100%;
636
- height: 100%;
637
- border: .25em solid $swal2-success-border;
638
- border-radius: 50%;
639
- }
640
-
641
- .swal2-success-fix {
642
- // Hide corners left from animation
643
- position: absolute;
644
- z-index: 1;
645
- top: .5em;
646
- left: 1.625em;
647
- width: .4375em;
648
- height: 5.625em;
649
- transform: rotate(-45deg);
650
- }
651
-
652
- [class^='swal2-success-line'] {
653
- display: block;
654
- position: absolute;
655
- z-index: 2;
656
- height: .3125em;
657
- border-radius: .125em;
658
- background-color: $swal2-success;
659
-
660
- &[class$='tip'] {
661
- top: 2.875em;
662
- left: .8125em;
663
- width: 1.5625em;
664
- transform: rotate(45deg);
665
- }
666
-
667
- &[class$='long'] {
668
- top: 2.375em;
669
- right: .5em;
670
- width: 2.9375em;
671
- transform: rotate(-45deg);
672
- }
673
- }
674
-
675
- // Success icon animation
676
- &.swal2-icon-show {
677
- @if $swal2-icon-animations {
678
- .swal2-success-line-tip {
679
- animation: swal2-animate-success-line-tip .75s;
680
- }
681
-
682
- .swal2-success-line-long {
683
- animation: swal2-animate-success-line-long .75s;
684
- }
685
-
686
- .swal2-success-circular-line-right {
687
- animation: swal2-rotate-success-circular-line 4.25s ease-in;
688
- }
689
- }
690
- }
691
- }
692
- }
693
-
694
- .swal2-progress-steps {
695
- flex-wrap: $swal2-progress-steps-flex-wrap;
696
- align-items: $swal2-progress-steps-align-items;
697
- max-width: $swal2-progress-steps-max-width;
698
- margin: $swal2-progress-steps-margin;
699
- padding: $swal2-progress-steps-padding;
700
- background: $swal2-progress-steps-background;
701
- font-weight: $swal2-progress-steps-font-weight;
702
-
703
- li {
704
- display: inline-block;
705
- position: relative;
706
- }
707
-
708
- .swal2-progress-step {
709
- z-index: 20;
710
- flex-shrink: 0;
711
- width: $swal2-progress-step-width;
712
- height: $swal2-progress-step-height;
713
- border-radius: $swal2-progress-step-border-radius;
714
- background: $swal2-active-step-background;
715
- color: $swal2-active-step-color;
716
- line-height: $swal2-progress-step-height;
717
- text-align: center;
718
-
719
- &.swal2-active-progress-step {
720
- background: $swal2-active-step-background;
721
-
722
- ~ .swal2-progress-step {
723
- background: $swal2-progress-step-background;
724
- color: $swal2-progress-step-color;
725
- }
726
-
727
- ~ .swal2-progress-step-line {
728
- background: $swal2-progress-step-background;
729
- }
730
- }
731
- }
732
-
733
- .swal2-progress-step-line {
734
- z-index: 10;
735
- flex-shrink: 0;
736
- width: $swal2-progress-steps-distance;
737
- height: .4em;
738
- margin: 0 -1px;
739
- background: $swal2-active-step-background;
740
- }
741
- }
742
-
743
- // github.com/sweetalert2/sweetalert2/issues/268
744
- [class^='swal2'] {
745
- -webkit-tap-highlight-color: transparent;
746
- }
747
-
748
- .swal2-show {
749
- animation: $swal2-show-animation;
750
- }
751
-
752
- .swal2-hide {
753
- animation: $swal2-hide-animation;
754
- }
755
-
756
- .swal2-noanimation {
757
- transition: none;
758
- }
759
-
760
- // Measure scrollbar width for padding body during modal show/hide
761
- .swal2-scrollbar-measure {
762
- position: absolute;
763
- top: -9999px;
764
- width: 50px;
765
- height: 50px;
766
- overflow: scroll;
767
- }
768
-
769
- // Right-to-left support
770
- .swal2-rtl {
771
- .swal2-close {
772
- right: auto;
773
- left: $swal2-close-button-gap;
774
- }
775
-
776
- .swal2-timer-progress-bar {
777
- right: 0;
778
- left: auto;
779
- }
780
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/sweetalert2/src/scss/_mixins.scss DELETED
@@ -1,22 +0,0 @@
1
- @mixin ie {
2
- @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
3
- @content;
4
- }
5
- }
6
-
7
- // https://stackoverflow.com/a/30250161
8
- @mixin not($ignor-list...) {
9
- @if (length($ignor-list) == 1) {
10
- $ignor-list: nth($ignor-list, 1);
11
- }
12
-
13
- $not-output: '';
14
-
15
- @each $not in $ignor-list {
16
- $not-output: $not-output + ':not(#{$not})'; // stylelint-disable-line scss/no-duplicate-dollar-variables
17
- }
18
-
19
- &#{$not-output} {
20
- @content;
21
- }
22
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/sweetalert2/src/scss/_polyfills.scss DELETED
@@ -1,37 +0,0 @@
1
- @import '../variables';
2
-
3
- // Microsoft Edge
4
- @supports (-ms-accelerator: true) {
5
- .swal2-range {
6
- input {
7
- width: 100% !important;
8
- }
9
-
10
- output {
11
- display: none;
12
- }
13
- }
14
- }
15
-
16
- // IE11
17
- @media all and (-ms-high-contrast: none),
18
- (-ms-high-contrast: active) {
19
- .swal2-range {
20
- input {
21
- width: 100% !important;
22
- }
23
-
24
- output {
25
- display: none;
26
- }
27
- }
28
- }
29
-
30
- // Firefox
31
- @-moz-document url-prefix() {
32
- .swal2-close {
33
- &:focus {
34
- outline: 2px solid $swal2-outline-color;
35
- }
36
- }
37
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/sweetalert2/src/scss/_theming.scss DELETED
@@ -1,8 +0,0 @@
1
- // base file for including when performing theming
2
- // doesn't include at-rules or root selectors (like body) which allows for more comprehensive extending
3
-
4
- @import '../variables';
5
- @import 'mixins';
6
- @import 'toasts';
7
- @import 'body';
8
- @import 'core';
 
 
 
 
 
 
 
 
assets/sweetalert2/src/scss/_toasts-animations.scss DELETED
@@ -1,83 +0,0 @@
1
- // Animations
2
- @keyframes swal2-toast-show {
3
- 0% {
4
- transform: translateY(-.625em) rotateZ(2deg);
5
- }
6
-
7
- 33% {
8
- transform: translateY(0) rotateZ(-2deg);
9
- }
10
-
11
- 66% {
12
- transform: translateY(.3125em) rotateZ(2deg);
13
- }
14
-
15
- 100% {
16
- transform: translateY(0) rotateZ(0deg);
17
- }
18
- }
19
-
20
- @keyframes swal2-toast-hide {
21
- 100% {
22
- transform: rotateZ(1deg);
23
- opacity: 0;
24
- }
25
- }
26
-
27
- @keyframes swal2-toast-animate-success-line-tip {
28
- 0% {
29
- top: .5625em;
30
- left: .0625em;
31
- width: 0;
32
- }
33
-
34
- 54% {
35
- top: .125em;
36
- left: .125em;
37
- width: 0;
38
- }
39
-
40
- 70% {
41
- top: .625em;
42
- left: -.25em;
43
- width: 1.625em;
44
- }
45
-
46
- 84% {
47
- top: 1.0625em;
48
- left: .75em;
49
- width: .5em;
50
- }
51
-
52
- 100% {
53
- top: 1.125em;
54
- left: .1875em;
55
- width: .75em;
56
- }
57
- }
58
-
59
- @keyframes swal2-toast-animate-success-line-long {
60
- 0% {
61
- top: 1.625em;
62
- right: 1.375em;
63
- width: 0;
64
- }
65
-
66
- 65% {
67
- top: 1.25em;
68
- right: .9375em;
69
- width: 0;
70
- }
71
-
72
- 84% {
73
- top: .9375em;
74
- right: 0;
75
- width: 1.125em;
76
- }
77
-
78
- 100% {
79
- top: .9375em;
80
- right: .1875em;
81
- width: 1.375em;
82
- }
83
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/sweetalert2/src/scss/_toasts-body.scss DELETED
@@ -1,109 +0,0 @@
1
- @mixin sweetalert2-toasts-body() {
2
- &.swal2-toast-shown {
3
- .swal2-container {
4
- background-color: transparent;
5
-
6
- &.swal2-top {
7
- top: 0;
8
- right: auto;
9
- bottom: auto;
10
- left: 50%;
11
- transform: translateX(-50%);
12
- }
13
-
14
- &.swal2-top-end,
15
- &.swal2-top-right {
16
- top: 0;
17
- right: 0;
18
- bottom: auto;
19
- left: auto;
20
- }
21
-
22
- &.swal2-top-start,
23
- &.swal2-top-left {
24
- top: 0;
25
- right: auto;
26
- bottom: auto;
27
- left: 0;
28
- }
29
-
30
- &.swal2-center-start,
31
- &.swal2-center-left {
32
- top: 50%;
33
- right: auto;
34
- bottom: auto;
35
- left: 0;
36
- transform: translateY(-50%);
37
- }
38
-
39
- &.swal2-center {
40
- top: 50%;
41
- right: auto;
42
- bottom: auto;
43
- left: 50%;
44
- transform: translate(-50%, -50%);
45
- }
46
-
47
- &.swal2-center-end,
48
- &.swal2-center-right {
49
- top: 50%;
50
- right: 0;
51
- bottom: auto;
52
- left: auto;
53
- transform: translateY(-50%);
54
- }
55
-
56
- &.swal2-bottom-start,
57
- &.swal2-bottom-left {
58
- top: auto;
59
- right: auto;
60
- bottom: 0;
61
- left: 0;
62
- }
63
-
64
- &.swal2-bottom {
65
- top: auto;
66
- right: auto;
67
- bottom: 0;
68
- left: 50%;
69
- transform: translateX(-50%);
70
- }
71
-
72
- &.swal2-bottom-end,
73
- &.swal2-bottom-right {
74
- top: auto;
75
- right: 0;
76
- bottom: 0;
77
- left: auto;
78
- }
79
- }
80
- }
81
-
82
- &.swal2-toast-column {
83
- .swal2-toast {
84
- flex-direction: column;
85
- align-items: stretch;
86
-
87
- .swal2-actions {
88
- flex: 1;
89
- align-self: stretch;
90
- height: 2.2em;
91
- margin-top: .3125em;
92
- }
93
-
94
- .swal2-loading {
95
- justify-content: center;
96
- }
97
-
98
- .swal2-input {
99
- height: 2em;
100
- margin: .3125em auto;
101
- font-size: $swal2-toast-input-font-size;
102
- }
103
-
104
- .swal2-validation-message {
105
- font-size: $swal2-toast-validation-font-size;
106
- }
107
- }
108
- }
109
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/sweetalert2/src/scss/_toasts.scss DELETED
@@ -1,175 +0,0 @@
1
- .swal2-popup {
2
- &.swal2-toast {
3
- flex-direction: row;
4
- align-items: center;
5
- width: $swal2-toast-width;
6
- padding: $swal2-toast-padding;
7
- overflow-y: hidden;
8
- background: $swal2-toast-background;
9
- box-shadow: $swal2-toast-box-shadow;
10
-
11
- .swal2-header {
12
- flex-direction: row;
13
- padding: $swal2-toast-header-padding;
14
- }
15
-
16
- .swal2-title {
17
- flex-grow: 1;
18
- justify-content: flex-start;
19
- margin: $swal2-toast-title-margin;
20
- font-size: $swal2-toast-title-font-size;
21
- }
22
-
23
- .swal2-footer {
24
- margin: $swal2-toast-footer-margin;
25
- padding: $swal2-toast-footer-margin;
26
- font-size: $swal2-toast-footer-font-size;
27
- }
28
-
29
- .swal2-close {
30
- position: static;
31
- width: $swal2-toast-close-button-width;
32
- height: $swal2-toast-close-button-height;
33
- line-height: $swal2-toast-close-button-line-height;
34
- }
35
-
36
- .swal2-content {
37
- justify-content: flex-start;
38
- padding: $swal2-toast-content-padding;
39
- font-size: $swal2-toast-content-font-size;
40
- }
41
-
42
- .swal2-icon {
43
- width: 2em;
44
- min-width: 2em;
45
- height: 2em;
46
- margin: 0;
47
-
48
- .swal2-icon-content {
49
- display: flex;
50
- align-items: center;
51
- font-size: 1.8em;
52
- font-weight: bold;
53
-
54
- @include ie {
55
- font-size: .25em;
56
- }
57
- }
58
-
59
- &.swal2-success {
60
- .swal2-success-ring {
61
- width: 2em;
62
- height: 2em;
63
- }
64
- }
65
-
66
- &.swal2-error {
67
- [class^='swal2-x-mark-line'] {
68
- top: .875em;
69
- width: 1.375em;
70
-
71
- &[class$='left'] {
72
- left: .3125em;
73
- }
74
-
75
- &[class$='right'] {
76
- right: .3125em;
77
- }
78
- }
79
- }
80
- }
81
-
82
- .swal2-actions {
83
- flex-basis: auto !important;
84
- width: auto;
85
- height: auto;
86
- margin: 0 .3125em;
87
- padding: 0;
88
- }
89
-
90
- .swal2-styled {
91
- margin: 0 .3125em;
92
- padding: .3125em .625em;
93
- font-size: $swal2-toast-buttons-font-size;
94
-
95
- &:focus {
96
- box-shadow: $swal2-toast-button-focus-box-shadow;
97
- }
98
- }
99
-
100
- .swal2-success {
101
- border-color: $swal2-success;
102
-
103
- [class^='swal2-success-circular-line'] { // Emulate moving circular line
104
- position: absolute;
105
- width: 1.6em;
106
- height: 3em;
107
- transform: rotate(45deg);
108
- border-radius: 50%;
109
-
110
- &[class$='left'] {
111
- top: -.8em;
112
- left: -.5em;
113
- transform: rotate(-45deg);
114
- transform-origin: 2em 2em;
115
- border-radius: 4em 0 0 4em;
116
- }
117
-
118
- &[class$='right'] {
119
- top: -.25em;
120
- left: .9375em;
121
- transform-origin: 0 1.5em;
122
- border-radius: 0 4em 4em 0;
123
- }
124
- }
125
-
126
- .swal2-success-ring {
127
- width: 2em;
128
- height: 2em;
129
- }
130
-
131
- .swal2-success-fix {
132
- top: 0;
133
- left: .4375em;
134
- width: .4375em;
135
- height: 2.6875em;
136
- }
137
-
138
- [class^='swal2-success-line'] {
139
- height: .3125em;
140
-
141
- &[class$='tip'] {
142
- top: 1.125em;
143
- left: .1875em;
144
- width: .75em;
145
- }
146
-
147
- &[class$='long'] {
148
- top: .9375em;
149
- right: .1875em;
150
- width: 1.375em;
151
- }
152
- }
153
-
154
- &.swal2-icon-show {
155
- @if $swal2-icon-animations {
156
- .swal2-success-line-tip {
157
- animation: swal2-toast-animate-success-line-tip .75s;
158
- }
159
-
160
- .swal2-success-line-long {
161
- animation: swal2-toast-animate-success-line-long .75s;
162
- }
163
- }
164
- }
165
- }
166
-
167
- &.swal2-show {
168
- animation: $swal2-toast-show-animation;
169
- }
170
-
171
- &.swal2-hide {
172
- animation: $swal2-toast-hide-animation;
173
- }
174
- }
175
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/sweetalert2/src/staticMethods/mixin.js CHANGED
@@ -1,16 +1,16 @@
1
  /**
2
- * Returns an extended version of `Swal` containing `params` as defaults.
3
- * Useful for reusing Swal configuration.
4
  *
5
  * For example:
6
  *
7
  * Before:
8
  * const textPromptOptions = { input: 'text', showCancelButton: true }
9
- * const {value: firstName} = await Swal.fire({ ...textPromptOptions, title: 'What is your first name?' })
10
- * const {value: lastName} = await Swal.fire({ ...textPromptOptions, title: 'What is your last name?' })
11
  *
12
  * After:
13
- * const TextPrompt = Swal.mixin({ input: 'text', showCancelButton: true })
14
  * const {value: firstName} = await TextPrompt('What is your first name?')
15
  * const {value: lastName} = await TextPrompt('What is your last name?')
16
  *
1
  /**
2
+ * Returns an extended version of `wpacuSwal` containing `params` as defaults.
3
+ * Useful for reusing wpacuSwal configuration.
4
  *
5
  * For example:
6
  *
7
  * Before:
8
  * const textPromptOptions = { input: 'text', showCancelButton: true }
9
+ * const {value: firstName} = await wpacuSwal.fire({ ...textPromptOptions, title: 'What is your first name?' })
10
+ * const {value: lastName} = await wpacuSwal.fire({ ...textPromptOptions, title: 'What is your last name?' })
11
  *
12
  * After:
13
+ * const TextPrompt = wpacuSwal.mixin({ input: 'text', showCancelButton: true })
14
  * const {value: firstName} = await TextPrompt('What is your first name?')
15
  * const {value: lastName} = await TextPrompt('What is your last name?')
16
  *
assets/sweetalert2/src/staticMethods/showLoading.js CHANGED
@@ -1,5 +1,5 @@
1
  import * as dom from '../utils/dom/index.js'
2
- import Swal from '../sweetalert2.js'
3
  import { swalClasses } from '../utils/classes.js'
4
 
5
  /**
@@ -8,7 +8,7 @@ import { swalClasses } from '../utils/classes.js'
8
  const showLoading = () => {
9
  let popup = dom.getPopup()
10
  if (!popup) {
11
- Swal.fire()
12
  }
13
  popup = dom.getPopup()
14
  const actions = dom.getActions()
1
  import * as dom from '../utils/dom/index.js'
2
+ import wpacuSwal from '../sweetalert2.js'
3
  import { swalClasses } from '../utils/classes.js'
4
 
5
  /**
8
  const showLoading = () => {
9
  let popup = dom.getPopup()
10
  if (!popup) {
11
+ wpacuSwal.fire()
12
  }
13
  popup = dom.getPopup()
14
  const actions = dom.getActions()
assets/sweetalert2/src/sweetalert2.js CHANGED
@@ -1,6 +1,6 @@
1
  import SweetAlert from './SweetAlert.js'
2
 
3
- const Swal = SweetAlert
4
- Swal.default = Swal
5
 
6
- export default Swal
1
  import SweetAlert from './SweetAlert.js'
2
 
3
+ const wpacuSwal = SweetAlert
4
+ wpacuSwal.default = wpacuSwal
5
 
6
+ export default wpacuSwal
assets/sweetalert2/src/utils/dom/renderers/renderPopup.js CHANGED
@@ -20,7 +20,7 @@ export const renderPopup = (instance, params) => {
20
  }
21
 
22
  const addClasses = (popup, params) => {
23
- // Default Class + showClass when updating Swal.update({})
24
  popup.className = `${swalClasses.popup} ${dom.isVisible(popup) ? params.showClass.popup : ''}`
25
 
26
  if (params.toast) {
20
  }
21
 
22
  const addClasses = (popup, params) => {
23
+ // Default Class + showClass when updating wpacuSwal.update({})
24
  popup.className = `${swalClasses.popup} ${dom.isVisible(popup) ? params.showClass.popup : ''}`
25
 
26
  if (params.toast) {
assets/sweetalert2/src/utils/params.js CHANGED
@@ -12,14 +12,14 @@ export const defaultParams = {
12
  toast: false,
13
  animation: true,
14
  showClass: {
15
- popup: 'swal2-show',
16
- backdrop: 'swal2-backdrop-show',
17
- icon: 'swal2-icon-show',
18
  },
19
  hideClass: {
20
- popup: 'swal2-hide',
21
- backdrop: 'swal2-backdrop-hide',
22
- icon: 'swal2-icon-hide',
23
  },
24
  customClass: undefined,
25
  target: 'body',
@@ -166,7 +166,7 @@ export const isValidParameter = (paramName) => {
166
  }
167
 
168
  /**
169
- * Is valid parameter for Swal.update() method
170
  * @param {String} paramName
171
  */
172
  export const isUpdatableParameter = (paramName) => {
12
  toast: false,
13
  animation: true,
14
  showClass: {
15
+ popup: 'wpacu-swal2-show',
16
+ backdrop: 'wpacu-swal2-backdrop-show',
17
+ icon: 'wpacu-swal2-icon-show',
18
  },
19
  hideClass: {
20
+ popup: 'wpacu-swal2-hide',
21
+ backdrop: 'wpacu-swal2-backdrop-hide',
22
+ icon: 'wpacu-swal2-icon-hide',
23
  },
24
  customClass: undefined,
25
  target: 'body',
166
  }
167
 
168
  /**
169
+ * Is valid parameter for wpacuSwal.update() method
170
  * @param {String} paramName
171
  */
172
  export const isUpdatableParameter = (paramName) => {
assets/sweetalert2/src/utils/setParameters.js CHANGED
@@ -45,7 +45,7 @@ export default function setParameters (params) {
45
 
46
  // params.animation will be actually used in renderPopup.js
47
  // but in case when params.animation is a function, we need to call that function
48
- // before popup (re)initialization, so it'll be possible to check Swal.isVisible()
49
  // inside the params.animation function
50
  params.animation = callIfFunction(params.animation)
51
 
45
 
46
  // params.animation will be actually used in renderPopup.js
47
  // but in case when params.animation is a function, we need to call that function
48
+ // before popup (re)initialization, so it'll be possible to check wpacuSwal.isVisible()
49
  // inside the params.animation function
50
  params.animation = callIfFunction(params.animation)
51
 
assets/sweetalert2/sweetalert2.d.ts CHANGED
@@ -5,14 +5,14 @@ declare module 'sweetalert2' {
5
  *
6
  * Example:
7
  * ```
8
- * Swal.fire('Hey user!', 'You are the rockstar!', 'info');
9
  *
10
- * Swal.update({
11
  * icon: 'success'
12
  * })
13
  * ```
14
  */
15
- namespace Swal {
16
 
17
  /**
18
  * Function to display a SweetAlert2 popup, with an object of options, all being optional.
@@ -20,7 +20,7 @@ declare module 'sweetalert2' {
20
  *
21
  * Example:
22
  * ```
23
- * Swal.fire({
24
  * title: 'Auto close alert!',
25
  * text: 'I will close in 2 seconds.',
26
  * timer: 2000
@@ -34,17 +34,17 @@ declare module 'sweetalert2' {
34
  *
35
  * Example:
36
  * ```
37
- * Swal.fire('The Internet?', 'That thing is still around?', 'question');
38
  * ```
39
  */
40
  function fire<T = any>(title?: string, html?: string, icon?: SweetAlertIcon): Promise<SweetAlertResult<Awaited<T>>>;
41
 
42
  /**
43
- * Reuse configuration by creating a `Swal` instance.
44
  *
45
  * Example:
46
  * ```
47
- * const Toast = Swal.mixin({
48
  * toast: true,
49
  * position: 'top-end',
50
  * timer: 3000,
@@ -55,7 +55,7 @@ declare module 'sweetalert2' {
55
  *
56
  * @param options the default options to set for this instance.
57
  */
58
- function mixin(options: SweetAlertOptions): typeof Swal;
59
 
60
  /**
61
  * Determines if a popup is shown.
@@ -68,7 +68,7 @@ declare module 'sweetalert2' {
68
  *
69
  * Example:
70
  * ```
71
- * Swal.update({
72
  * icon: 'error'
73
  * })
74
  * ```
@@ -78,7 +78,7 @@ declare module 'sweetalert2' {
78
  /**
79
  * Closes the currently open SweetAlert2 popup programmatically.
80
  *
81
- * @param result The promise originally returned by `Swal.fire()` will be resolved with this value.
82
  * If no object is given, the promise is resolved with an empty `SweetAlertResult` object.
83
  */
84
  function close(result?: SweetAlertResult): void;
@@ -295,7 +295,7 @@ declare module 'sweetalert2' {
295
  /**
296
  * Inserts a popup in the queue.
297
  *
298
- * @param step The step configuration (same object as in the `Swal.fire()` call).
299
  * @param index The index to insert the step at.
300
  * By default a popup will be added to the end of a queue.
301
  */
@@ -316,19 +316,19 @@ declare module 'sweetalert2' {
316
  function isValidParameter(paramName: string): paramName is keyof SweetAlertOptions;
317
 
318
  /**
319
- * Determines if a given parameter name is valid for `Swal.update()` method.
320
  *
321
  * @param paramName The parameter to check
322
  */
323
  function isUpdatableParameter(paramName: string): paramName is SweetAlertUpdatableParameters;
324
 
325
  /**
326
- * Normalizes the arguments you can give to Swal.fire() in an object of type SweetAlertOptions.
327
  *
328
  * Example:
329
  * ```
330
- * Swal.argsToParams(['title', 'text']); //=> { title: 'title', text: 'text' }
331
- * Swal.argsToParams([{ title: 'title', text: 'text' }]); //=> { title: 'title', text: 'text' }
332
  * ```
333
  *
334
  * @param params The array of arguments to normalize.
@@ -443,13 +443,13 @@ declare module 'sweetalert2' {
443
  readonly isDenied: boolean;
444
  readonly isDismissed: boolean;
445
  readonly value?: T;
446
- readonly dismiss?: Swal.DismissReason;
447
  }
448
 
449
  export interface SweetAlertOptions<PreConfirmResult = any, PreConfirmCallbackValue = any> {
450
  /**
451
  * The title of the popup, as HTML.
452
- * It can either be added to the object under the key `title` or passed as the first parameter of `Swal.fire()`.
453
  *
454
  * @default ''
455
  */
@@ -472,7 +472,7 @@ declare module 'sweetalert2' {
472
 
473
  /**
474
  * A HTML description for the popup.
475
- * It can either be added to the object under the key `html` or passed as the second parameter of `Swal.fire()`.
476
  *
477
  * @default ''
478
  */
@@ -482,7 +482,7 @@ declare module 'sweetalert2' {
482
  * The icon of the popup.
483
  * SweetAlert2 comes with 5 built-in icons which will show a corresponding icon animation:
484
  * `'warning'`, `'error'`, `'success'`, `'info'` and `'question'`.
485
- * It can either be put to the object under the key `icon` or passed as the third parameter of `Swal.fire()`.
486
  *
487
  * @default undefined
488
  */
@@ -500,7 +500,7 @@ declare module 'sweetalert2' {
500
  *
501
  * Example:
502
  * ```
503
- * Swal.fire({
504
  * icon: 'error',
505
  * iconHtml: '<i class="fas fa-bug"></i>'
506
  * })
@@ -603,7 +603,7 @@ declare module 'sweetalert2' {
603
  *
604
  * Example:
605
  * ```
606
- * Swal.fire({
607
  * customClass: {
608
  * container: 'container-class',
609
  * popup: 'popup-class',
@@ -864,7 +864,7 @@ declare module 'sweetalert2' {
864
  *
865
  * Example:
866
  * ```
867
- * Swal.fire({
868
  * title: 'Multiple inputs',
869
  * html:
870
  * '<input id="swal-input1" class="swal2-input">' +
@@ -874,7 +874,7 @@ declare module 'sweetalert2' {
874
  * document.querySelector('#swal-input1').value,
875
  * document.querySelector('#swal-input2').value
876
  * ]
877
- * }).then(result => Swal.fire(JSON.stringify(result));
878
  * ```
879
  *
880
  * @default undefined
@@ -950,7 +950,7 @@ declare module 'sweetalert2' {
950
  *
951
  * Example:
952
  * ```
953
- * Swal.fire({
954
  * title: 'Select a file',
955
  * input: 'file',
956
  * inputAttributes: {
@@ -968,7 +968,7 @@ declare module 'sweetalert2' {
968
  *
969
  * Example:
970
  * ```
971
- * Swal.fire({
972
  * title: 'Select color',
973
  * input: 'radio',
974
  * inputValidator: result => !result && 'You need to select something!'
@@ -992,7 +992,7 @@ declare module 'sweetalert2' {
992
  *
993
  * Example:
994
  * ```
995
- * Swal.fire({
996
  * input: 'email',
997
  * validationMessage: 'Adresse e-mail invalide'
998
  * })
@@ -1060,8 +1060,8 @@ declare module 'sweetalert2' {
1060
  /**
1061
  * Popup lifecycle hook. Synchronously runs after the popup DOM has been updated (ie. just before the popup is
1062
  * repainted on the screen).
1063
- * Typically, this will happen after `Swal.fire()` or `Swal.update()`.
1064
- * If you want to perform changes in the popup's DOM, that survive `Swal.update()`, prefer `didRender` over
1065
  * `willOpen`.
1066
  *
1067
  * @default undefined
@@ -1122,7 +1122,7 @@ declare module 'sweetalert2' {
1122
  scrollbarPadding?: boolean;
1123
  }
1124
 
1125
- export default Swal
1126
  }
1127
 
1128
  declare module 'sweetalert2/*/sweetalert2.js' {
5
  *
6
  * Example:
7
  * ```
8
+ * wpacuSwal.fire('Hey user!', 'You are the rockstar!', 'info');
9
  *
10
+ * wpacuSwal.update({
11
  * icon: 'success'
12
  * })
13
  * ```
14
  */
15
+ namespace wpacuSwal {
16
 
17
  /**
18
  * Function to display a SweetAlert2 popup, with an object of options, all being optional.
20
  *
21
  * Example:
22
  * ```
23
+ * wpacuSwal.fire({
24
  * title: 'Auto close alert!',
25
  * text: 'I will close in 2 seconds.',
26
  * timer: 2000
34
  *
35
  * Example:
36
  * ```
37
+ * wpacuSwal.fire('The Internet?', 'That thing is still around?', 'question');
38
  * ```
39
  */
40
  function fire<T = any>(title?: string, html?: string, icon?: SweetAlertIcon): Promise<SweetAlertResult<Awaited<T>>>;
41
 
42
  /**
43
+ * Reuse configuration by creating a `wpacuSwal` instance.
44
  *
45
  * Example:
46
  * ```
47
+ * const Toast = wpacuSwal.mixin({
48
  * toast: true,
49
  * position: 'top-end',
50
  * timer: 3000,
55
  *
56
  * @param options the default options to set for this instance.
57
  */
58
+ function mixin(options: SweetAlertOptions): typeof wpacuSwal;
59
 
60
  /**
61
  * Determines if a popup is shown.
68
  *
69
  * Example:
70
  * ```
71
+ * wpacuSwal.update({
72
  * icon: 'error'
73
  * })
74
  * ```
78
  /**
79
  * Closes the currently open SweetAlert2 popup programmatically.
80
  *
81
+ * @param result The promise originally returned by `wpacuSwal.fire()` will be resolved with this value.
82
  * If no object is given, the promise is resolved with an empty `SweetAlertResult` object.
83
  */
84
  function close(result?: SweetAlertResult): void;
295
  /**
296
  * Inserts a popup in the queue.
297
  *
298
+ * @param step The step configuration (same object as in the `wpacuSwal.fire()` call).
299
  * @param index The index to insert the step at.
300
  * By default a popup will be added to the end of a queue.
301
  */
316
  function isValidParameter(paramName: string): paramName is keyof SweetAlertOptions;
317
 
318
  /**
319
+ * Determines if a given parameter name is valid for `wpacuSwal.update()` method.
320
  *
321
  * @param paramName The parameter to check
322
  */
323
  function isUpdatableParameter(paramName: string): paramName is SweetAlertUpdatableParameters;
324
 
325
  /**
326
+ * Normalizes the arguments you can give to wpacuSwal.fire() in an object of type SweetAlertOptions.
327
  *
328
  * Example:
329
  * ```
330
+ * wpacuSwal.argsToParams(['title', 'text']); //=> { title: 'title', text: 'text' }
331
+ * wpacuSwal.argsToParams([{ title: 'title', text: 'text' }]); //=> { title: 'title', text: 'text' }
332
  * ```
333
  *
334
  * @param params The array of arguments to normalize.
443
  readonly isDenied: boolean;
444
  readonly isDismissed: boolean;
445
  readonly value?: T;
446
+ readonly dismiss?: wpacuSwal.DismissReason;
447
  }
448
 
449
  export interface SweetAlertOptions<PreConfirmResult = any, PreConfirmCallbackValue = any> {
450
  /**
451
  * The title of the popup, as HTML.
452
+ * It can either be added to the object under the key `title` or passed as the first parameter of `wpacuSwal.fire()`.
453
  *
454
  * @default ''
455
  */
472
 
473
  /**
474
  * A HTML description for the popup.
475
+ * It can either be added to the object under the key `html` or passed as the second parameter of `wpacuSwal.fire()`.
476
  *
477
  * @default ''
478
  */
482
  * The icon of the popup.
483
  * SweetAlert2 comes with 5 built-in icons which will show a corresponding icon animation:
484
  * `'warning'`, `'error'`, `'success'`, `'info'` and `'question'`.
485
+ * It can either be put to the object under the key `icon` or passed as the third parameter of `wpacuSwal.fire()`.
486
  *
487
  * @default undefined
488
  */
500
  *
501
  * Example:
502
  * ```
503
+ * wpacuSwal.fire({
504
  * icon: 'error',
505
  * iconHtml: '<i class="fas fa-bug"></i>'
506
  * })
603
  *
604
  * Example:
605
  * ```
606
+ * wpacuSwal.fire({
607
  * customClass: {
608
  * container: 'container-class',
609
  * popup: 'popup-class',
864
  *
865
  * Example:
866
  * ```
867
+ * wpacuSwal.fire({
868
  * title: 'Multiple inputs',
869
  * html:
870
  * '<input id="swal-input1" class="swal2-input">' +
874
  * document.querySelector('#swal-input1').value,
875
  * document.querySelector('#swal-input2').value
876
  * ]
877
+ * }).then(result => wpacuSwal.fire(JSON.stringify(result));
878
  * ```
879
  *
880
  * @default undefined
950
  *
951
  * Example:
952
  * ```
953
+ * wpacuSwal.fire({
954
  * title: 'Select a file',
955
  * input: 'file',
956
  * inputAttributes: {
968
  *
969
  * Example:
970
  * ```
971
+ * wpacuSwal.fire({
972
  * title: 'Select color',
973
  * input: 'radio',
974
  * inputValidator: result => !result && 'You need to select something!'
992
  *
993
  * Example:
994
  * ```
995
+ * wpacuSwal.fire({
996
  * input: 'email',
997
  * validationMessage: 'Adresse e-mail invalide'
998
  * })
1060
  /**
1061
  * Popup lifecycle hook. Synchronously runs after the popup DOM has been updated (ie. just before the popup is
1062
  * repainted on the screen).
1063
+ * Typically, this will happen after `wpacuSwal.fire()` or `wpacuSwal.update()`.
1064
+ * If you want to perform changes in the popup's DOM, that survive `wpacuSwal.update()`, prefer `didRender` over
1065
  * `willOpen`.
1066
  *
1067
  * @default undefined
1122
  scrollbarPadding?: boolean;
1123
  }
1124
 
1125
+ export default wpacuSwal
1126
  }
1127
 
1128
  declare module 'sweetalert2/*/sweetalert2.js' {
classes/AdminBar.php CHANGED
@@ -64,8 +64,10 @@ class AdminBar
64
  }
65
 
66
  if ($wpacuUnloadedAssetsStatus) {
 
 
67
  $cssStyle = <<<HTML
68
- <style type="text/css">
69
  #wpadminbar .wpacu-alert-sign-top-admin-bar {
70
  font-size: 20px;
71
  color: lightyellow;
@@ -230,7 +232,7 @@ HTML;
230
  'href' => admin_url('admin.php?page=wpassetcleanup_overview#wpacu-overview-js-'.$jsHandle)
231
  ));
232
  }
233
- }
234
  }
235
  }
236
  // [END LISTING UNLOADED ASSETS]
64
  }
65
 
66
  if ($wpacuUnloadedAssetsStatus) {
67
+ $styleAttrType = Misc::getStyleTypeAttribute();
68
+
69
  $cssStyle = <<<HTML
70
+ <style {$styleAttrType}>
71
  #wpadminbar .wpacu-alert-sign-top-admin-bar {
72
  font-size: 20px;
73
  color: lightyellow;
232
  'href' => admin_url('admin.php?page=wpassetcleanup_overview#wpacu-overview-js-'.$jsHandle)
233
  ));
234
  }
235
+ }
236
  }
237
  }
238
  // [END LISTING UNLOADED ASSETS]
classes/AjaxSearchAutocomplete.php ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace WpAssetCleanUp;
3
+
4
+ /**
5
+ * Class AjaxSearchAutocomplete
6
+ * @package WpAssetCleanUp
7
+ */
8
+ class AjaxSearchAutocomplete
9
+ {
10
+ /**
11
+ * AjaxSearchAutocomplete constructor.
12
+ */
13
+ public function __construct()
14
+ {
15
+ add_action('admin_enqueue_scripts', array($this, 'enqueueScripts'));
16
+ add_action('wp_ajax_' . WPACU_PLUGIN_ID . '_autocomplete_search', array($this, 'wpAjaxSearch'));
17
+ }
18
+
19
+ /**
20
+ *
21
+ */
22
+ public function enqueueScripts()
23
+ {
24
+ if (! isset($_REQUEST['wpacu_for'])) {
25
+ return;
26
+ }
27
+
28
+ $wpacuFor = $_REQUEST['wpacu_for'];
29
+ $forPostType = '';
30
+
31
+ switch ($wpacuFor) {
32
+ case 'posts':
33
+ $forPostType = 'post';
34
+ break;
35
+ case 'pages':
36
+ $forPostType = 'page';
37
+ break;
38
+ case 'media-attachment':
39
+ $forPostType = 'attachment';
40
+ break;
41
+ case 'custom-post-types':
42
+ $forPostType = 'wpacu-custom-post-types';
43
+ break;
44
+ }
45
+
46
+ if ( ! $forPostType ) {
47
+ return;
48
+ }
49
+
50
+ wp_enqueue_script(
51
+ 'wpacu-autocomplete-search',
52
+ WPACU_PLUGIN_URL . '/assets/auto-complete/main.js',
53
+ array('jquery', 'jquery-ui-autocomplete'),
54
+ OwnAssets::assetVer('/assets/auto-complete/main.js'),
55
+ true
56
+ );
57
+
58
+ wp_localize_script('wpacu-autocomplete-search', 'wpacu_autocomplete_search_obj', array(
59
+ 'ajax_url' => admin_url('admin-ajax.php'),
60
+ 'ajax_nonce' => wp_create_nonce('wpacu_autocomplete_search_nonce'),
61
+ 'ajax_action' => WPACU_PLUGIN_ID . '_autocomplete_search',
62
+ 'post_type' => $forPostType,
63
+ 'redirect_to' => admin_url('admin.php?page=wpassetcleanup_assets_manager&wpacu_for='.$wpacuFor.'&wpacu_post_id=[post_id_here]')
64
+ ));
65
+
66
+ $wp_scripts = wp_scripts();
67
+ wp_enqueue_style('wpacu-jquery-ui-css',
68
+ '//ajax.googleapis.com/ajax/libs/jqueryui/' . $wp_scripts->registered['jquery-ui-autocomplete']->ver . '/themes/smoothness/jquery-ui.css',
69
+ false, null, false
70
+ );
71
+
72
+ $jqueryUiCustom = <<<CSS
73
+ #wpacu-search-form-assets-manager input[type=text].ui-autocomplete-loading {
74
+ background-position: 99% 6px;
75
+ }
76
+ CSS;
77
+ wp_add_inline_style('wpacu-jquery-ui-css', $jqueryUiCustom);
78
+ }
79
+
80
+ /**
81
+ *
82
+ */
83
+ public function wpAjaxSearch()
84
+ {
85
+ check_ajax_referer('wpacu_autocomplete_search_nonce', 'wpacu_security');
86
+
87
+ global $wpdb;
88
+
89
+ $search_term = isset($_REQUEST['wpacu_term']) ? $_REQUEST['wpacu_term'] : '';
90
+ $post_type = isset($_REQUEST['wpacu_post_type']) ? $_REQUEST['wpacu_post_type'] : '';
91
+
92
+ if ( $search_term === '' ) {
93
+ echo json_encode(array());
94
+ }
95
+
96
+ $results = array();
97
+
98
+ if ($post_type !== 'attachment') {
99
+ // 'post', 'page', custom post types
100
+ $queryDataByKeyword = array(
101
+ 'post_type' => $post_type,
102
+ 's' => $search_term,
103
+ 'post_status' => array( 'publish', 'private' ),
104
+ 'posts_per_page' => -1
105
+ );
106
+ } else {
107
+ // 'attachment'
108
+ $search = $wpdb->get_col( $wpdb->prepare( " SELECT DISTINCT ID FROM {$wpdb->posts} WHERE post_title = '%s' ", $search_term ) );
109
+ $queryDataByKeyword = array(
110
+ 'post_type' => 'attachment',
111
+ 'post_status' => 'inherit',
112
+ 'orderby' => 'date',
113
+ 'order' => 'DESC',
114
+ 'post__in' => $search,
115
+ );
116
+ }
117
+
118
+ // Standard search
119
+ $query = new \WP_Query($queryDataByKeyword);
120
+
121
+ // No results? Search by ID in case the admin put the post/page ID in the search box
122
+ if (! $query->have_posts()) {
123
+ // This one works for any post type, including 'attachment'
124
+ $queryDataByID = array(
125
+ 'post_type' => $post_type,
126
+ 'p' => $search_term,
127
+ 'posts_per_page' => -1
128
+ );
129
+
130
+ $query = new \WP_Query($queryDataByID);
131
+ }
132
+
133
+ if ($query->have_posts()) {
134
+ $pageOnFront = $pageForPosts = false;
135
+
136
+ if ($post_type === 'page' && get_option('show_on_front') === 'page') {
137
+ $pageOnFront = (int)get_option('page_on_front');
138
+ $pageForPosts = (int)get_option('page_for_posts');
139
+ }
140
+
141
+ while ($query->have_posts()) {
142
+ $query->the_post();
143
+ $resultPostId = get_the_ID();
144
+ $resultPostStatus = get_post_status($resultPostId);
145
+
146
+ $resultToShow = get_the_title() . ' / ID: '.$resultPostId;
147
+
148
+ if ($resultPostStatus === 'private') {
149
+ $iconPrivate = '<span class="dashicons dashicons-lock"></span>';
150
+ $resultToShow .= ' / '.$iconPrivate.' Private';
151
+ }
152
+
153
+ // This is a page and it was set as the homepage (point this out)
154
+ if ($pageOnFront === $resultPostId) {
155
+ $iconHome = '<span class="dashicons dashicons-admin-home"></span>';
156
+ $resultToShow .= ' / '.$iconHome.' Homepage';
157
+ }
158
+
159
+ if ($pageForPosts === $resultPostId) {
160
+ $iconPost = '<span class="dashicons dashicons-admin-post"></span>';
161
+ $resultToShow .= ' / '.$iconPost.' Posts page';
162
+ }
163
+
164
+ $results[] = array(
165
+ 'id' => $resultPostId,
166
+ 'label' => $resultToShow,
167
+ 'link' => get_the_permalink()
168
+ );
169
+ }
170
+ wp_reset_postdata();
171
+ }
172
+
173
+ if (empty($results)) {
174
+ echo 'no_results';
175
+ wp_die();
176
+ }
177
+
178
+ echo json_encode($results);
179
+ wp_die();
180
+ }
181
+ }
classes/AssetsPagesManager.php CHANGED
@@ -27,19 +27,27 @@ class AssetsPagesManager
27
  $this->data['page'] = $_GET['page'];
28
  }
29
 
30
- if (in_array($this->data['for'], array('homepage', 'pages', 'posts', 'custom-post-types'))) {
31
- $wpacuSettings = new Settings;
32
- $this->data['wpacu_settings'] = $wpacuSettings->getAll();
33
- $this->homepage();
 
 
 
 
 
 
 
 
34
  }
35
  }
36
 
37
  /**
38
  *
39
  */
40
- public function homepage()
41
  {
42
- $this->data['nonce_name'] = WPACU_PLUGIN_ID . '_home_page_update';
43
  $this->data['show_on_front'] = Misc::getShowOnFront();
44
 
45
  $isHomePageEdit = ( Misc::getVar('get', 'page') === WPACU_PLUGIN_ID . '_assets_manager'
@@ -90,9 +98,46 @@ class AssetsPagesManager
90
  }
91
 
92
  /**
93
- *
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  */
95
- public function page()
96
  {
97
  Main::instance()->parseTemplate('admin-page-assets-manager', $this->data, true);
98
  }
27
  $this->data['page'] = $_GET['page'];
28
  }
29
 
30
+ $wpacuSettings = new Settings;
31
+ $this->data['wpacu_settings'] = $wpacuSettings->getAll();
32
+
33
+ if (in_array($this->data['for'], array('homepage', 'pages', 'posts', 'custom-post-types', 'media-attachment'))) {
34
+ // e.g. It could be the homepage tab loading a singular page set as the homepage in "Settings" -> "Reading"
35
+ $anyPostId = (int)Misc::getVar('post', 'wpacu_manage_singular_page_id');
36
+
37
+ if ($this->data['for'] === 'homepage' && ! $anyPostId) {
38
+ $this->homepageActions(); // e.g. "Your homepage displays" set as "Your latest posts"
39
+ } else {
40
+ $this->singularPageActions();
41
+ }
42
  }
43
  }
44
 
45
  /**
46
  *
47
  */
48
+ public function homepageActions()
49
  {
50
+ $this->data['nonce_name'] = WPACU_PLUGIN_ID . '_dash_assets_page_update';
51
  $this->data['show_on_front'] = Misc::getShowOnFront();
52
 
53
  $isHomePageEdit = ( Misc::getVar('get', 'page') === WPACU_PLUGIN_ID . '_assets_manager'
98
  }
99
 
100
  /**
101
+ * Any post type, including the custom ones
102
+ */
103
+ public function singularPageActions()
104
+ {
105
+ $this->data['nonce_name'] = WPACU_PLUGIN_ID . '_dash_assets_page_update';
106
+
107
+ $postId = (int)Misc::getVar('post', 'wpacu_manage_singular_page_id');
108
+
109
+ $isSingularPageEdit = $postId > 0 &&
110
+ ( Misc::getVar('get', 'page') === WPACU_PLUGIN_ID . '_assets_manager' &&
111
+ in_array( $this->data['for'], array('homepage', 'pages', 'posts', 'custom-post-types', 'media-attachment' ) ) );
112
+
113
+ // Only continue if the form was submitted for a singular page
114
+ // e.g. a post, a page (could be the homepage), a WooCommerce product page, any public custom post type
115
+ if (! $isSingularPageEdit) {
116
+ return;
117
+ }
118
+
119
+ if (! empty($_POST)) {
120
+ // Update action?
121
+ $wpacuNoLoadAssets = Misc::getVar( 'post', WPACU_PLUGIN_ID, array() );
122
+ $wpacuSingularPageUpdate = Misc::getVar( 'post', 'wpacu_manage_singular_page_assets', false );
123
+
124
+ // Could Be an Empty Array as Well so just is_array() is enough to use
125
+ if ( is_array( $wpacuNoLoadAssets ) && $wpacuSingularPageUpdate ) {
126
+ check_admin_referer( $this->data['nonce_name'] );
127
+ $postObj = get_post($postId);
128
+
129
+ if ($postId > 0) {
130
+ $wpacuUpdate = new Update;
131
+ $wpacuUpdate->savePost($postId, $postObj);
132
+ }
133
+ }
134
+ }
135
+ }
136
+
137
+ /**
138
+ * Called in Menu.php (within "admin_menu" hook via "activeMenu" method)
139
  */
140
+ public function renderPage()
141
  {
142
  Main::instance()->parseTemplate('admin-page-assets-manager', $this->data, true);
143
  }
classes/Debug.php CHANGED
@@ -78,8 +78,10 @@ class Debug
78
  'wpacu_no_admin_bar' => 'Do not show the admin bar',
79
  'wpacu_no_html_changes' => 'Do not alter the HTML DOM (this will also load all assets non-minified and non-combined)',
80
  );
 
 
81
  ?>
82
- <style type="text/css">
83
  #wpacu-debug-options {
84
  background: white;
85
  width: 90%;
78
  'wpacu_no_admin_bar' => 'Do not show the admin bar',
79
  'wpacu_no_html_changes' => 'Do not alter the HTML DOM (this will also load all assets non-minified and non-combined)',
80
  );
81
+
82
+ $styleAttrType = Misc::getStyleTypeAttribute();
83
  ?>
84
+ <style <?php echo $styleAttrType; ?>>
85
  #wpacu-debug-options {
86
  background: white;
87
  width: 90%;
classes/ImportExport.php CHANGED
@@ -55,10 +55,12 @@ class ImportExport
55
  // Last important check
56
  \check_admin_referer('wpacu_do_export', 'wpacu_do_export_nonce');
57
 
58
- $exportComment = 'Exported via '.WPACU_PLUGIN_TITLE.' LITE (v'.WPACU_PLUGIN_VERSION.') - Timestamp: '.time();
59
 
60
  // "Settings" values (could be just default ones if none are found in the database)
61
  if ($wpacuExportFor === 'settings') {
 
 
62
  $settingsJson = $this->jsonSettings();
63
 
64
  $valuesArray = array(
@@ -68,6 +70,8 @@ class ImportExport
68
 
69
  $valuesJson = json_encode($valuesArray);
70
  } elseif ($wpacuExportFor === 'everything') {
 
 
71
  // "Settings"
72
  $settingsJson = $this->jsonSettings();
73
 
@@ -89,9 +93,9 @@ class ImportExport
89
  $globalDataListJson = get_option(WPACU_PLUGIN_ID . '_global_data');
90
  $globalDataArray = json_decode($globalDataListJson, ARRAY_A);
91
 
92
- // Pages, Posts, Custom Post Types: All Metas
93
  global $wpdb;
94
 
 
95
  $wpacuPostMetaKeys = array(
96
  '_' . WPACU_PLUGIN_ID . '_no_load', // All Unload Rules (CSS/JS Manager Meta Box)
97
  '_' . WPACU_PLUGIN_ID . '_page_options', // All Options (Side Meta Box)
@@ -130,8 +134,10 @@ SQL;
130
  $date = date('j-M-Y-H.i');
131
  $host = parse_url(site_url(), PHP_URL_HOST);
132
 
 
 
133
  header('Content-Type: application/json');
134
- header('Content-Disposition: attachment; filename="asset-cleanup-lite-exported-'.$wpacuExportFor.'-from-'.$host.'-'.$date.'.json"');
135
 
136
  echo $valuesJson;
137
  exit();
55
  // Last important check
56
  \check_admin_referer('wpacu_do_export', 'wpacu_do_export_nonce');
57
 
58
+ $exportComment = 'Exported [exported_text] via '.WPACU_PLUGIN_TITLE.' (v'.WPACU_PRO_PLUGIN_VERSION.') - Timestamp: '.time();
59
 
60
  // "Settings" values (could be just default ones if none are found in the database)
61
  if ($wpacuExportFor === 'settings') {
62
+ $exportComment = str_replace('[exported_text]', 'Settings', $exportComment);
63
+
64
  $settingsJson = $this->jsonSettings();
65
 
66
  $valuesArray = array(
70
 
71
  $valuesJson = json_encode($valuesArray);
72
  } elseif ($wpacuExportFor === 'everything') {
73
+ $exportComment = str_replace('[exported_text]', 'Everything', $exportComment);
74
+
75
  // "Settings"
76
  $settingsJson = $this->jsonSettings();
77
 
93
  $globalDataListJson = get_option(WPACU_PLUGIN_ID . '_global_data');
94
  $globalDataArray = json_decode($globalDataListJson, ARRAY_A);
95
 
 
96
  global $wpdb;
97
 
98
+ // Pages, Posts, Custom Post Types: All Metas
99
  $wpacuPostMetaKeys = array(
100
  '_' . WPACU_PLUGIN_ID . '_no_load', // All Unload Rules (CSS/JS Manager Meta Box)
101
  '_' . WPACU_PLUGIN_ID . '_page_options', // All Options (Side Meta Box)
134
  $date = date('j-M-Y-H.i');
135
  $host = parse_url(site_url(), PHP_URL_HOST);
136
 
137
+ $wpacuExportForPartOfFileName = str_replace('_', '-', $wpacuExportFor);
138
+
139
  header('Content-Type: application/json');
140
+ header('Content-Disposition: attachment; filename="asset-cleanup-lite-exported-'.$wpacuExportForPartOfFileName.'-from-'.$host.'-'.$date.'.json"');
141
 
142
  echo $valuesJson;
143
  exit();
classes/Main.php CHANGED
@@ -336,6 +336,8 @@ class Main
336
  add_action( 'wp_print_styles', array( $this, 'filterStyles' ), 100000 ); // Unload Styles - HEAD
337
  add_action( 'wp_print_scripts', array( $this, 'filterScripts' ), 100000 ); // Unload Scripts - HEAD
338
 
 
 
339
  // Unload Styles & Scripts - FOOTER
340
  // Needs to be triggered very soon as some old plugins/themes use wp_footer() to enqueue scripts
341
  // Sometimes styles are loaded in the BODY section of the page
@@ -373,6 +375,12 @@ class Main
373
  );
374
  }
375
 
 
 
 
 
 
 
376
  if ( Plugin::preventAnyFrontendOptimization() || self::isTestModeActive() ) {
377
  return $styleTag;
378
  }
@@ -855,15 +863,12 @@ SQL;
855
  $ignoreChildParentList = apply_filters('wpacu_ignore_child_parent_list', $this->getIgnoreChildren());
856
 
857
  foreach ($list as $handle) {
858
- if (array_key_exists('wpacu_debug', $_GET) || is_admin_bar_showing()) {
859
- $this->allUnloadedAssets['css'][] = $handle;
860
- }
861
-
862
  if (isset($ignoreChildParentList['styles'], $this->wpAllStyles['registered'][$handle]->src) && is_array($ignoreChildParentList['styles']) && array_key_exists($handle, $ignoreChildParentList['styles'])) {
863
  // Do not dequeue it as it's "children" will also be dequeued (ignore rule is applied)
864
  // It will be stripped by cleaning its LINK tag from the HTML Source
865
  $this->ignoreChildren['styles'][$handle] = $this->wpAllStyles['registered'][$handle]->src;
866
  $this->ignoreChildren['styles'][$handle.'_has_unload_rule'] = 1;
 
867
  continue;
868
  }
869
 
@@ -885,6 +890,8 @@ SQL;
885
  continue;
886
  }
887
 
 
 
888
  wp_deregister_style($handle);
889
  wp_dequeue_style($handle);
890
  }
@@ -988,6 +995,21 @@ SQL;
988
  });
989
  }, 1);
990
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
991
  /* [END] Styles Dequeue */
992
 
993
  /* [START] Scripts Dequeue */
@@ -1143,10 +1165,6 @@ SQL;
1143
  foreach ($list as $handle) {
1144
  $handle = trim($handle);
1145
 
1146
- if (array_key_exists('wpacu_debug', $_GET) || is_admin_bar_showing()) {
1147
- $this->allUnloadedAssets['js'][] = $handle;
1148
- }
1149
-
1150
  // Ignore auto generated handles for the hardcoded CSS as they were added for reference purposes
1151
  // They will get stripped later on via OptimizeCommon.php
1152
  // The handle is used just for reference for later stripping via altering the DOM
@@ -1188,9 +1206,12 @@ SQL;
1188
  // It will be stripped by cleaning its SCRIPT tag from the HTML Source
1189
  $this->ignoreChildren['scripts'][$handle] = $this->wpAllScripts['registered'][$handle]->src;
1190
  $this->ignoreChildren['scripts'][$handle.'_has_unload_rule'] = 1;
 
1191
  continue;
1192
  }
1193
 
 
 
1194
  wp_deregister_script($handle);
1195
  wp_dequeue_script($handle);
1196
  }
@@ -2190,7 +2211,7 @@ SQL;
2190
  )
2191
  ));
2192
 
2193
- $contents = (isset($wpRemotePost['body']) && (! is_wp_error($wpRemotePost))) ? $wpRemotePost['body'] : '';
2194
 
2195
  // Enqueued List
2196
  if ($contents
@@ -2346,6 +2367,8 @@ SQL;
2346
 
2347
  $data['ignore_child'] = $this->getIgnoreChildren();
2348
 
 
 
2349
  $this->parseTemplate('meta-box-loaded', $data, true);
2350
 
2351
  exit();
@@ -2598,7 +2621,7 @@ SQL;
2598
  $parentDir = isset($parts[1]) ? $parts[1] : '';
2599
 
2600
  // Loaded from WordPress directories (Core)
2601
- if (in_array($parentDir, array('wp-includes', 'wp-admin')) || strpos($obj->src, '/plugins/jquery-updater/js/jquery-') !== false) {
2602
  $data['all']['scripts'][$key]->wp = true;
2603
  $data['core_scripts_loaded'] = true;
2604
  }
@@ -2955,7 +2978,7 @@ SQL;
2955
  */
2956
  public function isSingularPage()
2957
  {
2958
- return (self::$vars['is_woo_shop_page'] || is_singular());
2959
  }
2960
 
2961
  /**
@@ -3240,6 +3263,11 @@ SQL;
3240
  return false;
3241
  }
3242
 
 
 
 
 
 
3243
  // The option is enabled, but there are show exceptions, check if the list should be hidden
3244
  if ($this->settings['frontend_show_exceptions']) {
3245
  $frontendShowExceptions = trim( $this->settings['frontend_show_exceptions'] );
@@ -3288,13 +3316,15 @@ SQL;
3288
  }
3289
 
3290
  $htmlCommentNote = sprintf(__('NOTE: These "%s: Page Speed Booster" messages are only shown to you, the HTML comment is not visible for the regular visitor.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
 
 
3291
  ?>
3292
  <!--
3293
  <?php echo $htmlCommentNote; ?>
3294
 
3295
  <?php echo $testModeNotice; ?>
3296
  -->
3297
- <script type="text/javascript" data-wpacu-own-inline-script="true">
3298
  console.log('<?php echo $consoleMessage; ?>');
3299
  </script>
3300
  <?php
336
  add_action( 'wp_print_styles', array( $this, 'filterStyles' ), 100000 ); // Unload Styles - HEAD
337
  add_action( 'wp_print_scripts', array( $this, 'filterScripts' ), 100000 ); // Unload Scripts - HEAD
338
 
339
+ add_action( 'wp_print_styles', array($this, 'printAnySpecialCss'), PHP_INT_MAX );
340
+
341
  // Unload Styles & Scripts - FOOTER
342
  // Needs to be triggered very soon as some old plugins/themes use wp_footer() to enqueue scripts
343
  // Sometimes styles are loaded in the BODY section of the page
375
  );
376
  }
377
 
378
+ // Irrelevant for Critical CSS as the top admin bar is for logged-in users
379
+ // and if it's not included in the critical CSS it would cause a flash of unstyled content which is not pleasant for the admin
380
+ if ( $tagHandle === 'admin-bar' ) {
381
+ $styleTag = str_replace( '<link ', '<link data-wpacu-skip-preload=\'1\' ', $styleTag );
382
+ }
383
+
384
  if ( Plugin::preventAnyFrontendOptimization() || self::isTestModeActive() ) {
385
  return $styleTag;
386
  }
863
  $ignoreChildParentList = apply_filters('wpacu_ignore_child_parent_list', $this->getIgnoreChildren());
864
 
865
  foreach ($list as $handle) {
 
 
 
 
866
  if (isset($ignoreChildParentList['styles'], $this->wpAllStyles['registered'][$handle]->src) && is_array($ignoreChildParentList['styles']) && array_key_exists($handle, $ignoreChildParentList['styles'])) {
867
  // Do not dequeue it as it's "children" will also be dequeued (ignore rule is applied)
868
  // It will be stripped by cleaning its LINK tag from the HTML Source
869
  $this->ignoreChildren['styles'][$handle] = $this->wpAllStyles['registered'][$handle]->src;
870
  $this->ignoreChildren['styles'][$handle.'_has_unload_rule'] = 1;
871
+ $this->allUnloadedAssets['css'][] = $handle;
872
  continue;
873
  }
874
 
890
  continue;
891
  }
892
 
893
+ $this->allUnloadedAssets['css'][] = $handle;
894
+
895
  wp_deregister_style($handle);
896
  wp_dequeue_style($handle);
897
  }
995
  });
996
  }, 1);
997
  }
998
+
999
+ /**
1000
+ *
1001
+ */
1002
+ public function printAnySpecialCss()
1003
+ {
1004
+ if (isset($this->allUnloadedAssets['css']) && ! empty($this->allUnloadedAssets['css'])) {
1005
+ if (in_array('photoswipe', $this->allUnloadedAssets['css'])) {
1006
+ ?>
1007
+ <!-- Asset CleanUp: "photoswipe" unloaded (avoid printing useless HTML) -->
1008
+ <style <?php echo Misc::getStyleTypeAttribute(); ?>>.pswp { display: none; }</style>
1009
+ <?php
1010
+ }
1011
+ }
1012
+ }
1013
  /* [END] Styles Dequeue */
1014
 
1015
  /* [START] Scripts Dequeue */
1165
  foreach ($list as $handle) {
1166
  $handle = trim($handle);
1167
 
 
 
 
 
1168
  // Ignore auto generated handles for the hardcoded CSS as they were added for reference purposes
1169
  // They will get stripped later on via OptimizeCommon.php
1170
  // The handle is used just for reference for later stripping via altering the DOM
1206
  // It will be stripped by cleaning its SCRIPT tag from the HTML Source
1207
  $this->ignoreChildren['scripts'][$handle] = $this->wpAllScripts['registered'][$handle]->src;
1208
  $this->ignoreChildren['scripts'][$handle.'_has_unload_rule'] = 1;
1209
+ $this->allUnloadedAssets['js'][] = $handle;
1210
  continue;
1211
  }
1212
 
1213
+ $this->allUnloadedAssets['js'][] = $handle;
1214
+
1215
  wp_deregister_script($handle);
1216
  wp_dequeue_script($handle);
1217
  }
2211
  )
2212
  ));
2213
 
2214
+ $contents = (is_array($wpRemotePost) && isset($wpRemotePost['body']) && (! is_wp_error($wpRemotePost))) ? $wpRemotePost['body'] : '';
2215
 
2216
  // Enqueued List
2217
  if ($contents
2367
 
2368
  $data['ignore_child'] = $this->getIgnoreChildren();
2369
 
2370
+ $data['is_for_singular'] = (Misc::getVar('post', 'is_for_singular') === 'true');
2371
+
2372
  $this->parseTemplate('meta-box-loaded', $data, true);
2373
 
2374
  exit();
2621
  $parentDir = isset($parts[1]) ? $parts[1] : '';
2622
 
2623
  // Loaded from WordPress directories (Core)
2624
+ if (in_array($parentDir, array('wp-includes', 'wp-admin')) || strpos($obj->src, '/'.Misc::getPluginsDir('dir_name').'/jquery-updater/js/jquery-') !== false) {
2625
  $data['all']['scripts'][$key]->wp = true;
2626
  $data['core_scripts_loaded'] = true;
2627
  }
2978
  */
2979
  public function isSingularPage()
2980
  {
2981
+ return (self::$vars['is_woo_shop_page'] || is_singular() || Misc::isBlogPage());
2982
  }
2983
 
2984
  /**
3263
  return false;
3264
  }
3265
 
3266
+ // Page loaded via Yellow Pencil Editor within an iframe? Do not show it as it's irrelevant there
3267
+ if (isset($_GET['yellow_pencil_frame'], $_GET['yp_page_type'])) {
3268
+ return false;
3269
+ }
3270
+
3271
  // The option is enabled, but there are show exceptions, check if the list should be hidden
3272
  if ($this->settings['frontend_show_exceptions']) {
3273
  $frontendShowExceptions = trim( $this->settings['frontend_show_exceptions'] );
3316
  }
3317
 
3318
  $htmlCommentNote = sprintf(__('NOTE: These "%s: Page Speed Booster" messages are only shown to you, the HTML comment is not visible for the regular visitor.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
3319
+
3320
+ $typeAttr = Misc::getScriptTypeAttribute();
3321
  ?>
3322
  <!--
3323
  <?php echo $htmlCommentNote; ?>
3324
 
3325
  <?php echo $testModeNotice; ?>
3326
  -->
3327
+ <script <?php echo $typeAttr; ?> data-wpacu-own-inline-script="true">
3328
  console.log('<?php echo $consoleMessage; ?>');
3329
  </script>
3330
  <?php
classes/Maintenance.php CHANGED
@@ -56,6 +56,17 @@ class Maintenance
56
  */
57
  public function scheduleTrigger()
58
  {
 
 
 
 
 
 
 
 
 
 
 
59
  if (Misc::doingCron()) {
60
  add_action('wpacu_daily_scheduled_events', array($this, 'triggerDailyScheduleEvents'));
61
  }
@@ -65,6 +76,16 @@ class Maintenance
65
  *
66
  */
67
  public static function triggerDailyScheduleEvents()
 
 
 
 
 
 
 
 
 
 
68
  {
69
  // WordPress Version below 5.5? Skip appending CSS/JS code to the combine CSS/JS list
70
  if ( ! Misc::isWpVersionAtLeast('5.5') ) {
@@ -74,21 +95,40 @@ class Maintenance
74
  '_combine_loaded_js_append_handle_extra' => ''
75
  );
76
  $settingsClass->updateOption(array_keys($optionsToUpdate), array_values($optionsToUpdate));
 
 
 
 
77
  } else {
78
  // Check if there are too many .css /.js combined files in the caching directory and change settings
79
  // to prevent the appending of the inline CSS/JS code that is likely the culprit of so many files
80
  $settingsClass = new Settings();
81
  $settings = $settingsClass->getAll( true );
82
- $settingsClass::toggleAppendInlineAssocCodeHiddenSettings( $settings, true );
83
  }
84
 
 
 
 
 
 
 
 
 
 
 
85
  // Clear caching if it wasn't cleared in the past 24 hours (e.g. the admin hasn't used the plugin for a while)
86
  $wpacuLastClearCache = get_transient('wpacu_last_clear_cache');
87
- if ($wpacuLastClearCache && (strtotime( '-1 days' ) > $wpacuLastClearCache)) {
88
- OptimizeCommon::clearCache();
 
89
  }
90
 
 
 
 
91
  }
 
92
 
93
  /**
94
  *
@@ -203,6 +243,30 @@ class Maintenance
203
  }
204
  }
205
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  global $wpdb;
207
 
208
  $wpacuPluginId = WPACU_PLUGIN_ID;
56
  */
57
  public function scheduleTrigger()
58
  {
59
+ // Debugging purposes: trigger directly the code meant to be scheduled
60
+ if (current_user_can('administrator')) {
61
+ if (isset($_GET['wpacu_toggle_inline_code_to_combined_assets'])) {
62
+ self::updateAppendOrNotInlineCodeToCombinedAssets(true);
63
+ }
64
+
65
+ if (isset($_GET['wpacu_clear_cache_conditionally'])) {
66
+ self::updateAppendOrNotInlineCodeToCombinedAssets(true);
67
+ }
68
+ }
69
+
70
  if (Misc::doingCron()) {
71
  add_action('wpacu_daily_scheduled_events', array($this, 'triggerDailyScheduleEvents'));
72
  }
76
  *
77
  */
78
  public static function triggerDailyScheduleEvents()
79
+ {
80
+ self::updateAppendOrNotInlineCodeToCombinedAssets();
81
+ self::clearCacheConditionally();
82
+
83
+ }
84
+
85
+ /**
86
+ * @param false $isDebug
87
+ */
88
+ public static function updateAppendOrNotInlineCodeToCombinedAssets($isDebug = false)
89
  {
90
  // WordPress Version below 5.5? Skip appending CSS/JS code to the combine CSS/JS list
91
  if ( ! Misc::isWpVersionAtLeast('5.5') ) {
95
  '_combine_loaded_js_append_handle_extra' => ''
96
  );
97
  $settingsClass->updateOption(array_keys($optionsToUpdate), array_values($optionsToUpdate));
98
+
99
+ if ($isDebug) {
100
+ echo 'The WordPress version is below 5.5, thus there is no appending of the inline CSS/JS code to the combine CSS/JS list';
101
+ }
102
  } else {
103
  // Check if there are too many .css /.js combined files in the caching directory and change settings
104
  // to prevent the appending of the inline CSS/JS code that is likely the culprit of so many files
105
  $settingsClass = new Settings();
106
  $settings = $settingsClass->getAll( true );
107
+ $settingsClass::toggleAppendInlineAssocCodeHiddenSettings( $settings, true, $isDebug );
108
  }
109
 
110
+ if ($isDebug) {
111
+ exit();
112
+ }
113
+ }
114
+
115
+ /**
116
+ * @param false $isDebug
117
+ */
118
+ public static function clearCacheConditionally($isDebug = false)
119
+ {
120
  // Clear caching if it wasn't cleared in the past 24 hours (e.g. the admin hasn't used the plugin for a while)
121
  $wpacuLastClearCache = get_transient('wpacu_last_clear_cache');
122
+
123
+ if ($isDebug) {
124
+ echo 'Cache cleared last time: '.$wpacuLastClearCache.'<br />';
125
  }
126
 
127
+ if ($wpacuLastClearCache && (strtotime( '-1 days' ) > $wpacuLastClearCache)) {
128
+ OptimizeCommon::clearCache();
129
+ echo 'The cache was just cleared as it was not cleared in the past 24 hours.<br />';
130
  }
131
+ }
132
 
133
  /**
134
  *
243
  }
244
  }
245
 
246
+ /*
247
+ * Any for all pages of a certain post type? (e.g. in all WooCommerce "product" pages)
248
+ */
249
+ $wpacuPostTypeLoadExceptions = get_option(WPACU_PLUGIN_ID . '_post_type_load_exceptions');
250
+
251
+ if ($wpacuPostTypeLoadExceptions) {
252
+ $wpacuPostTypeLoadExceptionsArray = @json_decode( $wpacuPostTypeLoadExceptions, ARRAY_A );
253
+
254
+ if (! empty($wpacuPostTypeLoadExceptionsArray)) {
255
+ foreach ($wpacuPostTypeLoadExceptionsArray as $dbPostType => $dbList) {
256
+ foreach ($dbList as $dbAssetType => $dbValues) {
257
+ if ($assetType === $dbAssetType && array_key_exists( $assetHandle, $dbValues ) ) {
258
+ unset($wpacuPostTypeLoadExceptionsArray[$dbPostType][$dbAssetType][$assetHandle]);
259
+ }
260
+ }
261
+ }
262
+ }
263
+
264
+ Misc::addUpdateOption(
265
+ WPACU_PLUGIN_ID . '_post_type_load_exceptions',
266
+ json_encode(Misc::filterList($wpacuPostTypeLoadExceptionsArray))
267
+ );
268
+ }
269
+
270
  global $wpdb;
271
 
272
  $wpacuPluginId = WPACU_PLUGIN_ID;
classes/Menu.php CHANGED
@@ -49,6 +49,9 @@ class Menu
49
  exit();
50
  }
51
 
 
 
 
52
  add_action('admin_page_access_denied', array($this, 'pluginPagesAccessDenied'));
53
  }
54
 
@@ -86,7 +89,7 @@ class Menu
86
  __('CSS/JS Manager', 'wp-asset-clean-up'),
87
  self::getAccessCapability(),
88
  WPACU_PLUGIN_ID . '_assets_manager',
89
- array(new AssetsPagesManager, 'page')
90
  );
91
 
92
  add_submenu_page(
@@ -196,6 +199,55 @@ class Menu
196
  return apply_filters('wpacu_access_role', self::$_capability);
197
  }
198
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  /**
200
  * Message to show if the user does not have self::$_capability role and tries to access a plugin's page
201
  */
49
  exit();
50
  }
51
 
52
+ add_filter( 'post_row_actions', array($this, 'editPostRowActions'), 10, 2 );
53
+ add_filter( 'page_row_actions', array($this, 'editPostRowActions'), 10, 2 );
54
+
55
  add_action('admin_page_access_denied', array($this, 'pluginPagesAccessDenied'));
56
  }
57
 
89
  __('CSS/JS Manager', 'wp-asset-clean-up'),
90
  self::getAccessCapability(),
91
  WPACU_PLUGIN_ID . '_assets_manager',
92
+ array(new AssetsPagesManager, 'renderPage')
93
  );
94
 
95
  add_submenu_page(
199
  return apply_filters('wpacu_access_role', self::$_capability);
200
  }
201
 
202
+ /**
203
+ * @param $actions
204
+ * @param $post
205
+ *
206
+ * @return mixed
207
+ */
208
+ public function editPostRowActions($actions, $post)
209
+ {
210
+ // Check for your post type.
211
+ if ( $post->post_type === 'post' ) {
212
+ $wpacuFor = 'posts';
213
+ } elseif ( $post->post_type === 'page' ) {
214
+ $wpacuFor = 'pages';
215
+ } elseif ( $post->post_type === 'attachment' ) {
216
+ $wpacuFor = 'media-attachment';
217
+ } else {
218
+ $wpacuFor = 'custom-post-types';
219
+ }
220
+
221
+ $postTypeObject = get_post_type_object($post->post_type);
222
+
223
+ if ( ! (isset($postTypeObject->public) && $postTypeObject->public == 1) ) {
224
+ return $actions;
225
+ }
226
+
227
+ // Build your links URL.
228
+ $url = admin_url( 'admin.php?page=wpassetcleanup_assets_manager' );
229
+
230
+ // Maybe put in some extra arguments based on the post status.
231
+ $edit_link = add_query_arg(
232
+ array(
233
+ 'wpacu_for' => $wpacuFor,
234
+ 'wpacu_post_id' => $post->ID
235
+ ), $url
236
+ );
237
+
238
+ /*
239
+ * You can reset the default $actions with your own array, or simply merge them
240
+ * here I want to rewrite my Edit link, remove the Quick-link, and introduce a
241
+ * new link 'Copy'
242
+ */
243
+ $actions['wpacu_manage_assets'] = sprintf( '<a href="%1$s">%2$s</a>',
244
+ esc_url( $edit_link ),
245
+ esc_html( __( 'Manage CSS &amp; JS', 'wp-asset-clean-up' ) )
246
+ );
247
+
248
+ return $actions;
249
+ }
250
+
251
  /**
252
  * Message to show if the user does not have self::$_capability role and tries to access a plugin's page
253
  */
classes/MetaBoxes.php CHANGED
@@ -126,7 +126,9 @@ class MetaBoxes
126
  */
127
  public function addPageOptionsMetaBox($postType)
128
  {
129
- if ($this->isMediaWithPermalinkDeactivated()) {
 
 
130
  return;
131
  }
132
 
@@ -169,7 +171,7 @@ class MetaBoxes
169
  $isListFetchable = false;
170
  }
171
 
172
- if ($this->isMediaWithPermalinkDeactivated()) {
173
  $isListFetchable = false;
174
  $data['status'] = 4; // "Redirect attachment URLs to the attachment itself?" is enabled in "Yoast SEO" -> "Media"
175
  }
@@ -278,14 +280,19 @@ class MetaBoxes
278
  }
279
 
280
  /**
 
 
281
  * @return bool
282
  */
283
- public function isMediaWithPermalinkDeactivated()
284
  {
285
- global $post;
 
 
 
 
286
 
287
- if (method_exists('WPSEO_Options', 'get')
288
- && 'attachment' === get_post_type($post->ID)) {
289
  try {
290
  if (\WPSEO_Options::get( 'disable-attachment' ) === true) {
291
  return true;
126
  */
127
  public function addPageOptionsMetaBox($postType)
128
  {
129
+ global $post;
130
+
131
+ if (self::isMediaWithPermalinkDeactivated($post)) {
132
  return;
133
  }
134
 
171
  $isListFetchable = false;
172
  }
173
 
174
+ if (self::isMediaWithPermalinkDeactivated($post)) {
175
  $isListFetchable = false;
176
  $data['status'] = 4; // "Redirect attachment URLs to the attachment itself?" is enabled in "Yoast SEO" -> "Media"
177
  }
280
  }
281
 
282
  /**
283
+ * @param string $post
284
+ *
285
  * @return bool
286
  */
287
+ public static function isMediaWithPermalinkDeactivated($post = '')
288
  {
289
+ if ($post === '') {
290
+ $postTypeToCheck = 'attachment';
291
+ } else {
292
+ $postTypeToCheck = get_post_type($post->ID);
293
+ }
294
 
295
+ if ('attachment' === $postTypeToCheck && method_exists('WPSEO_Options', 'get')) {
 
296
  try {
297
  if (\WPSEO_Options::get( 'disable-attachment' ) === true) {
298
  return true;
classes/Misc.php CHANGED
@@ -136,9 +136,9 @@ class Misc
136
  }
137
 
138
  // It's singular page: post, page, custom post type (e.g. 'product' from WooCommerce)
139
- if ($postId > 0) {
140
- return self::_filterPageUrl(get_permalink($postId));
141
- }
142
 
143
  // If it's not a singular page, nor the home page, continue...
144
  // It could be: Archive page (e.g. author, category, tag, date, custom taxonomy), Search page, 404 page etc.
@@ -181,6 +181,55 @@ class Misc
181
  return $postUrl;
182
  }
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  /**
185
  * @return bool
186
  */
@@ -258,7 +307,8 @@ class Misc
258
  // Otherwise, it will default to "Your latest posts", the other choice from "Your homepage displays"
259
 
260
  if (self::getShowOnFront() === 'page') {
261
- $pageOnFront = get_option('page_on_front');
 
262
 
263
  // "Homepage:" has a value
264
  if ($pageOnFront > 0 && is_front_page()) {
@@ -272,6 +322,11 @@ class Misc
272
  return true;
273
  }
274
 
 
 
 
 
 
275
  // Another scenario is when both 'Homepage:' and 'Posts page:' have values
276
  // If we are on the blog page (which is "Posts page:" value), then it will return false
277
  // As it's not the main page of the website
@@ -333,7 +388,7 @@ class Misc
333
 
334
  // Loaded from WordPress directories (Core)
335
  return in_array( $parentDir, array( 'wp-includes', 'wp-admin' ) ) || strpos( $handleData->src,
336
- '/plugins/jquery-updater/js/jquery-' ) !== false;
337
  }
338
 
339
  /**
@@ -818,6 +873,45 @@ SQL;
818
  return false;
819
  }
820
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
821
  /**
822
  * @param $src
823
  *
@@ -826,7 +920,8 @@ SQL;
826
  public static function maybeIsInactiveAsset($src)
827
  {
828
  // Quickest way
829
- preg_match_all('#/wp-content/plugins/(.*?)/#', $src, $matches, PREG_PATTERN_ORDER);
 
830
 
831
  if (isset($matches[1][0]) && $matches[1][0]) {
832
  $pluginDirName = $matches[1][0];
@@ -853,8 +948,8 @@ SQL;
853
 
854
  $relSrc = str_replace( site_url(), '', $srcAlt );
855
 
856
- if (strpos($relSrc, '/wp-content/plugins') !== false) {
857
- list (,$relSrc) = explode('/wp-content/plugins', $relSrc);
858
  }
859
 
860
  if (strpos($relSrc, $relPluginsUrl) !== false) {
@@ -1045,6 +1140,38 @@ SQL;
1045
  return '';
1046
  }
1047
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1048
  /**
1049
  * Triggers only in the front-end view (e.g. Homepage URL, /contact/, /about/ etc.)
1050
  * Except the situations below: no page builders edit mode etc.
136
  }
137
 
138
  // It's singular page: post, page, custom post type (e.g. 'product' from WooCommerce)
139
+ if ($postId > 0) {
140
+ return self::_filterPageUrl(get_permalink($postId));
141
+ }
142
 
143
  // If it's not a singular page, nor the home page, continue...
144
  // It could be: Archive page (e.g. author, category, tag, date, custom taxonomy), Search page, 404 page etc.
181
  return $postUrl;
182
  }
183
 
184
+ /**
185
+ * Note: If plugins are disabled via "Plugins Manager" -> "IN THE DASHBOARD /wp-admin/"
186
+ * where the target pages require this function, the list could be incomplete if those plugins registered custom post types
187
+ *
188
+ * @param $postTypes
189
+ *
190
+ * @return mixed
191
+ */
192
+ public static function filterCustomPostTypesList($postTypes)
193
+ {
194
+ foreach (array_keys($postTypes) as $postTypeKey) {
195
+ if (in_array($postTypeKey, array('post', 'page', 'attachment'))) {
196
+ unset($postTypes[$postTypeKey]); // no default post types
197
+ }
198
+
199
+ // Polish existing values
200
+ if ($postTypeKey === 'product' && self::isPluginActive('woocommerce/woocommerce.php')) {
201
+ $postTypes[$postTypeKey] = 'product &#10230; WooCommerce';
202
+ }
203
+
204
+ if ($postTypeKey === 'download' && self::isPluginActive('easy-digital-downloads/easy-digital-downloads.php')) {
205
+ $postTypes[$postTypeKey] = 'download &#10230; Easy Digital Downloads';
206
+ }
207
+ }
208
+
209
+ return $postTypes;
210
+ }
211
+
212
+ /**
213
+ * @param $postTypes
214
+ *
215
+ * @return mixed
216
+ */
217
+ public static function filterCustomTaxonomyList($taxonomyList)
218
+ {
219
+ foreach (array_keys($taxonomyList) as $taxonomy) {
220
+ if (in_array($taxonomy, array('category', 'post_tag', 'post_format'))) {
221
+ unset($taxonomyList[$taxonomy]); // no default post types
222
+ }
223
+
224
+ // Polish existing values
225
+ if ($taxonomy === 'product_cat' && Misc::isPluginActive('woocommerce/woocommerce.php')) {
226
+ $taxonomyList[$taxonomy] = 'product_cat &#10230; Product\'s Category in WooCommerce';
227
+ }
228
+ }
229
+
230
+ return $taxonomyList;
231
+ }
232
+
233
  /**
234
  * @return bool
235
  */
307
  // Otherwise, it will default to "Your latest posts", the other choice from "Your homepage displays"
308
 
309
  if (self::getShowOnFront() === 'page') {
310
+ $pageOnFront = get_option('page_on_front');
311
+ $pageForPosts = get_option('page_for_posts');
312
 
313
  // "Homepage:" has a value
314
  if ($pageOnFront > 0 && is_front_page()) {
322
  return true;
323
  }
324
 
325
+ // Both have values
326
+ if ($pageOnFront && $pageForPosts && ($pageOnFront !== $pageForPosts) && self::isBlogPage()) {
327
+ return false; // Blog posts page (but not home page)
328
+ }
329
+
330
  // Another scenario is when both 'Homepage:' and 'Posts page:' have values
331
  // If we are on the blog page (which is "Posts page:" value), then it will return false
332
  // As it's not the main page of the website
388
 
389
  // Loaded from WordPress directories (Core)
390
  return in_array( $parentDir, array( 'wp-includes', 'wp-admin' ) ) || strpos( $handleData->src,
391
+ '/'.self::getPluginsDir('dir_name').'/jquery-updater/js/jquery-' ) !== false;
392
  }
393
 
394
  /**
873
  return false;
874
  }
875
 
876
+ /**
877
+ * @param string $get
878
+ *
879
+ * @return false|string
880
+ */
881
+ public static function getPluginsDir($get = 'rel_path')
882
+ {
883
+ $return = '';
884
+ $relPath = trim( str_replace( ABSPATH, '', WP_PLUGIN_DIR ), '/' );
885
+
886
+ if ($get === 'rel_path') {
887
+ $return = $relPath;
888
+ } elseif ($get === 'dir_name') {
889
+ $return = substr(strrchr($relPath, '/'), 1);
890
+ }
891
+
892
+ return $return;
893
+ }
894
+
895
+ /**
896
+ * Needed when the plugins' directory is different than the default one: /wp-content/plugins/
897
+ *
898
+ * @param $values
899
+ *
900
+ * @return array
901
+ */
902
+ public static function replaceRelPluginPath($values)
903
+ {
904
+ $relPluginPath = self::getPluginsDir();
905
+
906
+ if ($relPluginPath !== 'wp-content/plugins') {
907
+ return array_filter( $values, function( $value ) use ( $relPluginPath ) {
908
+ return str_replace( '/wp-content/plugins/', '/' . $relPluginPath . '/', $value );
909
+ } );
910
+ }
911
+
912
+ return $values;
913
+ }
914
+
915
  /**
916
  * @param $src
917
  *
920
  public static function maybeIsInactiveAsset($src)
921
  {
922
  // Quickest way
923
+ $pluginsDirRel = self::getPluginsDir();
924
+ preg_match_all('#/'.$pluginsDirRel.'/(.*?)/#', $src, $matches, PREG_PATTERN_ORDER);
925
 
926
  if (isset($matches[1][0]) && $matches[1][0]) {
927
  $pluginDirName = $matches[1][0];
948
 
949
  $relSrc = str_replace( site_url(), '', $srcAlt );
950
 
951
+ if (strpos($relSrc, '/'.$pluginsDirRel) !== false) {
952
+ list (,$relSrc) = explode('/'.$pluginsDirRel, $relSrc);
953
  }
954
 
955
  if (strpos($relSrc, $relPluginsUrl) !== false) {
1140
  return '';
1141
  }
1142
 
1143
+ /**
1144
+ * @return string
1145
+ */
1146
+ public static function getStyleTypeAttribute()
1147
+ {
1148
+ $typeAttr = '';
1149
+
1150
+ if ( function_exists( 'is_admin' ) && ! is_admin() &&
1151
+ function_exists( 'current_theme_supports' ) && ! current_theme_supports( 'html5', 'style' )
1152
+ ) {
1153
+ $typeAttr = " type='text/css'";
1154
+ }
1155
+
1156
+ return $typeAttr;
1157
+ }
1158
+
1159
+ /**
1160
+ * @return string
1161
+ */
1162
+ public static function getScriptTypeAttribute()
1163
+ {
1164
+ $typeAttr = '';
1165
+
1166
+ if ( function_exists( 'is_admin' ) && ! is_admin() &&
1167
+ function_exists( 'current_theme_supports' ) && ! current_theme_supports( 'html5', 'script' )
1168
+ ) {
1169
+ $typeAttr = " type='text/javascript'";
1170
+ }
1171
+
1172
+ return $typeAttr;
1173
+ }
1174
+
1175
  /**
1176
  * Triggers only in the front-end view (e.g. Homepage URL, /contact/, /about/ etc.)
1177
  * Except the situations below: no page builders edit mode etc.
classes/ObjectCache.php CHANGED
@@ -88,7 +88,7 @@ class ObjectCache {
88
  * @since 2.0.8
89
  */
90
  public function __construct() {
91
- self::$objNotInitErrorMsg = __('Asset CleanUp\'s object cache is not valid.', 'wp-asset-clean-up');
92
 
93
  $this->multisite = is_multisite();
94
  $this->blog_prefix = $this->multisite ? get_current_blog_id() . ':' : '';
@@ -506,7 +506,6 @@ class ObjectCache {
506
  * @return bool True on success, false if cache key and group already exist.
507
  */
508
  public static function wpacu_cache_add( $key, $data, $group = '', $expire = 0 ) {
509
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
510
  global $wpacu_object_cache;
511
 
512
  return $wpacu_object_cache->add( $key, $data, $group, (int) $expire );
@@ -543,7 +542,7 @@ class ObjectCache {
543
  * @return int|false The item's new value on success, false on failure.
544
  */
545
  public static function wpacu_cache_decr( $key, $offset = 1, $group = '' ) {
546
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
547
  global $wpacu_object_cache;
548
 
549
  return $wpacu_object_cache->decr( $key, $offset, $group );
@@ -562,7 +561,7 @@ class ObjectCache {
562
  * @return bool True on successful removal, false on failure.
563
  */
564
  public static function wpacu_cache_delete( $key, $group = '' ) {
565
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
566
  global $wpacu_object_cache;
567
 
568
  return $wpacu_object_cache->delete( $key, $group );
@@ -579,7 +578,7 @@ class ObjectCache {
579
  * @return bool True on success, false on failure.
580
  */
581
  public static function wpacu_cache_flush() {
582
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
583
  global $wpacu_object_cache;
584
 
585
  return $wpacu_object_cache->flush();
@@ -603,7 +602,7 @@ class ObjectCache {
603
  * contents on success
604
  */
605
  public static function wpacu_cache_get( $key, $group = '', $force = false, &$found = null ) {
606
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
607
  global $wpacu_object_cache;
608
 
609
  return $wpacu_object_cache->get( $key, $group, $force, $found );
@@ -623,7 +622,7 @@ class ObjectCache {
623
  * @return int|false The item's new value on success, false on failure.
624
  */
625
  public static function wpacu_cache_incr( $key, $offset = 1, $group = '' ) {
626
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
627
  global $wpacu_object_cache;
628
 
629
  return $wpacu_object_cache->incr( $key, $offset, $group );
@@ -657,7 +656,7 @@ class ObjectCache {
657
  * @return bool False if original value does not exist, true if contents were replaced
658
  */
659
  public static function wpacu_cache_replace( $key, $data, $group = '', $expire = 0 ) {
660
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
661
  global $wpacu_object_cache;
662
 
663
  return $wpacu_object_cache->replace( $key, $data, $group, (int) $expire );
@@ -682,7 +681,6 @@ class ObjectCache {
682
  * @return bool True on success, false on failure.
683
  */
684
  public static function wpacu_cache_set( $key, $data, $group = '', $expire = 0 ) {
685
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
686
  global $wpacu_object_cache;
687
 
688
  return $wpacu_object_cache->set( $key, $data, $group, (int) $expire );
@@ -701,7 +699,6 @@ class ObjectCache {
701
  * @param int $blog_id Site ID.
702
  */
703
  public static function wpacu_cache_switch_to_blog( $blog_id ) {
704
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
705
  global $wpacu_object_cache;
706
 
707
  $wpacu_object_cache->switch_to_blog( $blog_id );
@@ -718,7 +715,6 @@ class ObjectCache {
718
  * @param string|array $groups A group or an array of groups to add.
719
  */
720
  public static function wpacu_cache_add_global_groups( $groups ) {
721
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
722
  global $wpacu_object_cache;
723
 
724
  $wpacu_object_cache->add_global_groups( $groups );
@@ -757,7 +753,7 @@ class ObjectCache {
757
  public static function wpacu_cache_reset() {
758
  _deprecated_function( __FUNCTION__, '3.5.0', 'ObjectCache::reset()' );
759
 
760
- if ( ! self::isValidObjectCache() ) { error_log(self::$objNotInitErrorMsg); return; }
761
  global $wpacu_object_cache;
762
 
763
  $wpacu_object_cache->reset();
88
  * @since 2.0.8
89
  */
90
  public function __construct() {
91
+ self::$objNotInitErrorMsg = __('Asset CleanUp\'s object cache is not valid (from method "[method]").', 'wp-asset-clean-up');
92
 
93
  $this->multisite = is_multisite();
94
  $this->blog_prefix = $this->multisite ? get_current_blog_id() . ':' : '';
506
  * @return bool True on success, false if cache key and group already exist.
507
  */
508
  public static function wpacu_cache_add( $key, $data, $group = '', $expire = 0 ) {
 
509
  global $wpacu_object_cache;
510
 
511
  return $wpacu_object_cache->add( $key, $data, $group, (int) $expire );
542
  * @return int|false The item's new value on success, false on failure.
543
  */
544
  public static function wpacu_cache_decr( $key, $offset = 1, $group = '' ) {
545
+ if ( ! self::isValidObjectCache() ) { error_log(str_replace('[method]', __METHOD__, self::$objNotInitErrorMsg)); return; }
546
  global $wpacu_object_cache;
547
 
548
  return $wpacu_object_cache->decr( $key, $offset, $group );
561
  * @return bool True on successful removal, false on failure.
562
  */
563
  public static function wpacu_cache_delete( $key, $group = '' ) {
564
+ if ( ! self::isValidObjectCache() ) { error_log(str_replace('[method]', __METHOD__, self::$objNotInitErrorMsg)); return; }
565
  global $wpacu_object_cache;
566
 
567
  return $wpacu_object_cache->delete( $key, $group );
578
  * @return bool True on success, false on failure.
579
  */
580
  public static function wpacu_cache_flush() {
581
+ if ( ! self::isValidObjectCache() ) { error_log(str_replace('[method]', __METHOD__, self::$objNotInitErrorMsg)); return; }
582
  global $wpacu_object_cache;
583
 
584
  return $wpacu_object_cache->flush();
602
  * contents on success
603
  */
604
  public static function wpacu_cache_get( $key, $group = '', $force = false, &$found = null ) {
605
+ if ( ! self::isValidObjectCache() ) { error_log(str_replace('[method]', __METHOD__, self::$objNotInitErrorMsg)); return; }
606
  global $wpacu_object_cache;
607
 
608
  return $wpacu_object_cache->get( $key, $group, $force, $found );
622
  * @return int|false The item's new value on success, false on failure.
623
  */
624
  public static function wpacu_cache_incr( $key, $offset = 1, $group = '' ) {
625
+ if ( ! self::isValidObjectCache() ) { error_log(str_replace('[method]', __METHOD__, self::$objNotInitErrorMsg)); return; }
626
  global $wpacu_object_cache;
627
 
628
  return $wpacu_object_cache->incr( $key, $offset, $group );
656
  * @return bool False if original value does not exist, true if contents were replaced
657
  */
658
  public static function wpacu_cache_replace( $key, $data, $group = '', $expire = 0 ) {
659
+ if ( ! self::isValidObjectCache() ) { error_log(str_replace('[method]', __METHOD__, self::$objNotInitErrorMsg)); return; }
660
  global $wpacu_object_cache;
661
 
662
  return $wpacu_object_cache->replace( $key, $data, $group, (int) $expire );
681
  * @return bool True on success, false on failure.
682
  */
683
  public static function wpacu_cache_set( $key, $data, $group = '', $expire = 0 ) {
 
684
  global $wpacu_object_cache;
685
 
686
  return $wpacu_object_cache->set( $key, $data, $group, (int) $expire );
699
  * @param int $blog_id Site ID.
700
  */
701
  public static function wpacu_cache_switch_to_blog( $blog_id ) {
 
702
  global $wpacu_object_cache;
703
 
704
  $wpacu_object_cache->switch_to_blog( $blog_id );
715
  * @param string|array $groups A group or an array of groups to add.
716
  */
717
  public static function wpacu_cache_add_global_groups( $groups ) {
 
718
  global $wpacu_object_cache;
719
 
720
  $wpacu_object_cache->add_global_groups( $groups );
753
  public static function wpacu_cache_reset() {
754
  _deprecated_function( __FUNCTION__, '3.5.0', 'ObjectCache::reset()' );
755
 
756
+ if ( ! self::isValidObjectCache() ) { error_log(str_replace('[method]', __METHOD__, self::$objNotInitErrorMsg)); return; }
757
  global $wpacu_object_cache;
758
 
759
  $wpacu_object_cache->reset();
classes/OptimiseAssets/CombineCss.php CHANGED
@@ -92,6 +92,11 @@ class CombineCss
92
  continue;
93
  }
94
 
 
 
 
 
 
95
  // Check if the CSS file has any 'data-wpacu-skip' attribute; if it does, do not alter it
96
  if (isset($linkAttributes['data-wpacu-skip']) || isset($scriptAttributes['data-wpacu-apply-media-query'])) {
97
  continue;
@@ -496,7 +501,7 @@ HTML;
496
  }
497
 
498
  if (trim($afterCssContent)) {
499
- if ( Main::instance()->settings['minify_loaded_css'] && Main::instance()->settings['minify_loaded_css_inline'] ) {
500
  $afterCssContent = MinifyCss::applyMinification( $afterCssContent );
501
  }
502
 
92
  continue;
93
  }
94
 
95
+ // e.g. for 'admin-bar' (keep it as standalone when critical CSS is used)
96
+ if (isset($linkAttributes['data-wpacu-skip-preload']) && has_filter('wpacu_critical_css')) {
97
+ continue;
98
+ }
99
+
100
  // Check if the CSS file has any 'data-wpacu-skip' attribute; if it does, do not alter it
101
  if (isset($linkAttributes['data-wpacu-skip']) || isset($scriptAttributes['data-wpacu-apply-media-query'])) {
102
  continue;
501
  }
502
 
503
  if (trim($afterCssContent)) {
504
+ if (MinifyCss::isMinifyCssEnabled() && in_array(Main::instance()->settings['minify_loaded_css_for'], array('inline', 'all'))) {
505
  $afterCssContent = MinifyCss::applyMinification( $afterCssContent );
506
  }
507
 
classes/OptimiseAssets/CombineJs.php CHANGED
@@ -70,7 +70,7 @@ class CombineJs
70
  $jQueryMigrateInBody = false;
71
  $jQueryLibInBodyCount = 0;
72
 
73
- $minifyJsInlineTagsIsNotEnabled = ! (MinifyJs::isMinifyJsEnabled() && Main::instance()->settings['minify_loaded_js_inline']);
74
 
75
  if ($minifyJsInlineTagsIsNotEnabled) {
76
  $domTag = new \DOMDocument();
@@ -86,6 +86,10 @@ class CombineJs
86
  $htmlSourceAlt = preg_replace( '@<form action="#wpacu_wrap_assets" method="post">.*?</form>@si', '', $htmlSourceAlt );
87
  }
88
 
 
 
 
 
89
  $domTag->loadHTML( $htmlSourceAlt );
90
  } else {
91
  $domTag = OptimizeCommon::getDomLoadedTag($htmlSource, 'combineJs');
@@ -364,6 +368,8 @@ class CombineJs
364
  $cdnUrls = OptimizeCommon::getAnyCdnUrls();
365
  $cdnUrlForJs = isset($cdnUrls['js']) ? $cdnUrls['js'] : false;
366
 
 
 
367
  foreach ( $finalCacheList as $docLocationScript => $cachedGroupsList ) {
368
  foreach ($cachedGroupsList as $groupNo => $cachedValues) {
369
  $htmlSourceBeforeGroupReplacement = $htmlSource;
@@ -389,7 +395,7 @@ class CombineJs
389
  }
390
 
391
  $finalJsTag = <<<HTML
392
- <script {$finalJsTagAttrsOutput} id='wpacu-combined-js-{$docLocationScript}-group-{$groupNo}' type='text/javascript' src='{$finalTagUrl}'></script>
393
  HTML;
394
  // In case one needs to alter it (e.g. developers that might want to add custom attributes such as data-cfasync="false")
395
  $finalJsTag = apply_filters(
@@ -437,8 +443,10 @@ HTML;
437
 
438
  if (isset($finalCacheList['body']) && (! empty($finalCacheList['body'])) && Main::instance()->settings['combine_loaded_js_defer_body']) {
439
  // CACHE RE-BUILT
 
 
440
  if ($isDeferAppliedOnBodyCombineGroupNo > 0 && $domTag = ObjectCache::wpacu_cache_get('wpacu_html_dom_body_tag_for_js')) {
441
- $strPart = "id='wpacu-combined-js-body-group-".$isDeferAppliedOnBodyCombineGroupNo."' type='text/javascript' ";
442
  list(,$htmlAfterFirstCombinedDeferScript) = explode($strPart, $htmlSource);
443
  $htmlAfterFirstCombinedDeferScriptMaybeChanged = $htmlAfterFirstCombinedDeferScript;
444
  $scriptTags = $domTag->getElementsByTagName('script');
@@ -456,7 +464,7 @@ HTML;
456
  return $htmlSource;
457
  }
458
 
459
- $strPart = "id='wpacu-combined-js-body-group-".$isDeferAppliedOnBodyCombineGroupNo."' type='text/javascript' ";
460
 
461
  $htmlAfterFirstCombinedDeferScriptMaybeChanged = false;
462
 
@@ -649,7 +657,7 @@ HTML;
649
  public static function appendToCombineJs($addItLocation, $localAssetsExtra, $assetHref, $pathToAssetDir)
650
  {
651
  $extraContentToAppend = '';
652
- $doJsMinifyInline = Main::instance()->settings['minify_loaded_js'] && Main::instance()->settings['minify_loaded_js_inline'];
653
 
654
  if ($addItLocation === 'before') {
655
  // [Before JS Content]
70
  $jQueryMigrateInBody = false;
71
  $jQueryLibInBodyCount = 0;
72
 
73
+ $minifyJsInlineTagsIsNotEnabled = ! (MinifyJs::isMinifyJsEnabled() && in_array(Main::instance()->settings['minify_loaded_js_for'], array('inline', 'all')));
74
 
75
  if ($minifyJsInlineTagsIsNotEnabled) {
76
  $domTag = new \DOMDocument();
86
  $htmlSourceAlt = preg_replace( '@<form action="#wpacu_wrap_assets" method="post">.*?</form>@si', '', $htmlSourceAlt );
87
  }
88
 
89
+ if ($htmlSourceAlt === '') {
90
+ $htmlSourceAlt = $htmlSource;
91
+ }
92
+
93
  $domTag->loadHTML( $htmlSourceAlt );
94
  } else {
95
  $domTag = OptimizeCommon::getDomLoadedTag($htmlSource, 'combineJs');
368
  $cdnUrls = OptimizeCommon::getAnyCdnUrls();
369
  $cdnUrlForJs = isset($cdnUrls['js']) ? $cdnUrls['js'] : false;
370
 
371
+ $typeAttr = Misc::getScriptTypeAttribute();
372
+
373
  foreach ( $finalCacheList as $docLocationScript => $cachedGroupsList ) {
374
  foreach ($cachedGroupsList as $groupNo => $cachedValues) {
375
  $htmlSourceBeforeGroupReplacement = $htmlSource;
395
  }
396
 
397
  $finalJsTag = <<<HTML
398
+ <script {$finalJsTagAttrsOutput} id='wpacu-combined-js-{$docLocationScript}-group-{$groupNo}' {$typeAttr} src='{$finalTagUrl}'></script>
399
  HTML;
400
  // In case one needs to alter it (e.g. developers that might want to add custom attributes such as data-cfasync="false")
401
  $finalJsTag = apply_filters(
443
 
444
  if (isset($finalCacheList['body']) && (! empty($finalCacheList['body'])) && Main::instance()->settings['combine_loaded_js_defer_body']) {
445
  // CACHE RE-BUILT
446
+ $typeAttr = Misc::getScriptTypeAttribute();
447
+
448
  if ($isDeferAppliedOnBodyCombineGroupNo > 0 && $domTag = ObjectCache::wpacu_cache_get('wpacu_html_dom_body_tag_for_js')) {
449
+ $strPart = "id='wpacu-combined-js-body-group-".$isDeferAppliedOnBodyCombineGroupNo."' $typeAttr ";
450
  list(,$htmlAfterFirstCombinedDeferScript) = explode($strPart, $htmlSource);
451
  $htmlAfterFirstCombinedDeferScriptMaybeChanged = $htmlAfterFirstCombinedDeferScript;
452
  $scriptTags = $domTag->getElementsByTagName('script');
464
  return $htmlSource;
465
  }
466
 
467
+ $strPart = "id='wpacu-combined-js-body-group-".$isDeferAppliedOnBodyCombineGroupNo."' $typeAttr ";
468
 
469
  $htmlAfterFirstCombinedDeferScriptMaybeChanged = false;
470
 
657
  public static function appendToCombineJs($addItLocation, $localAssetsExtra, $assetHref, $pathToAssetDir)
658
  {
659
  $extraContentToAppend = '';
660
+ $doJsMinifyInline = MinifyJs::isMinifyJsEnabled() && in_array(Main::instance()->settings['minify_loaded_js_for'], array('inline', 'all'));
661
 
662
  if ($addItLocation === 'before') {
663
  // [Before JS Content]
classes/OptimiseAssets/FontsGoogle.php CHANGED
@@ -269,9 +269,16 @@ class FontsGoogle
269
  */
270
  public static function alterGoogleFontLink($linkHrefOriginal, $escHtml = true, $alterFor = 'css')
271
  {
 
 
272
  // Some special filtering here as some hosting environments (at least staging) behave funny with // inside SCRIPT tags
273
  if ($alterFor === 'js') {
274
- $conditionOne = stripos($linkHrefOriginal, str_replace('//', '', self::$containsStr)) === false;
 
 
 
 
 
275
  } else { // css (default)
276
  $conditionOne = stripos($linkHrefOriginal, self::$containsStr) === false;
277
  }
@@ -287,6 +294,10 @@ class FontsGoogle
287
 
288
  $altLinkHref = str_replace('&#038;', '&', $linkHrefOriginal);
289
 
 
 
 
 
290
  $urlQuery = parse_url($altLinkHref, PHP_URL_QUERY);
291
  parse_str($urlQuery, $outputStr);
292
 
@@ -404,19 +415,13 @@ class FontsGoogle
404
  */
405
  public static function alterGoogleFontUrlFromJsContent($jsContent)
406
  {
407
- // Continue only if any of the needles (e.g. fonts.googleapis.com, WebFontConfig) are found in the haystack
408
- if (stripos($jsContent, 'fonts.googleapis.com') === false &&
409
- strpos($jsContent, 'WebFontConfig') === false) {
410
  return $jsContent;
411
  }
412
 
413
  $newJsOutput = $jsContent;
414
 
415
- preg_match_all(
416
- '#fonts.googleapis.com/(.*?)(["\'])#si',
417
- $jsContent,
418
- $matchesFromJsCode
419
- );
420
 
421
  if (isset($matchesFromJsCode[0]) && ! empty($matchesFromJsCode)) {
422
  foreach ($matchesFromJsCode[0] as $match) {
@@ -424,7 +429,6 @@ class FontsGoogle
424
  $googleApisUrl = trim($match, '"\' ');
425
 
426
  $newGoogleApisUrl = self::alterGoogleFontLink($googleApisUrl, false, 'js');
427
-
428
  if ($newGoogleApisUrl !== $googleApisUrl) {
429
  $newJsMatchOutput = str_replace($googleApisUrl, $newGoogleApisUrl, $matchRule);
430
  $newJsOutput = str_replace($matchRule, $newJsMatchOutput, $newJsOutput);
269
  */
270
  public static function alterGoogleFontLink($linkHrefOriginal, $escHtml = true, $alterFor = 'css')
271
  {
272
+ $isInVar = false; // The link is inside a variable with a JSON format
273
+
274
  // Some special filtering here as some hosting environments (at least staging) behave funny with // inside SCRIPT tags
275
  if ($alterFor === 'js') {
276
+ $containsStrNoSlashes = str_replace('/', '', self::$containsStr);
277
+ $conditionOne = stripos($linkHrefOriginal, $containsStrNoSlashes) === false;
278
+
279
+ if (strpos($linkHrefOriginal, '\/') !== false) {
280
+ $isInVar = true;
281
+ }
282
  } else { // css (default)
283
  $conditionOne = stripos($linkHrefOriginal, self::$containsStr) === false;
284
  }
294
 
295
  $altLinkHref = str_replace('&#038;', '&', $linkHrefOriginal);
296
 
297
+ if ($isInVar) {
298
+ $altLinkHref = str_replace('\/', '/', $altLinkHref);
299
+ }
300
+
301
  $urlQuery = parse_url($altLinkHref, PHP_URL_QUERY);
302
  parse_str($urlQuery, $outputStr);
303
 
415
  */
416
  public static function alterGoogleFontUrlFromJsContent($jsContent)
417
  {
418
+ if (stripos($jsContent, 'fonts.googleapis.com') === false) {
 
 
419
  return $jsContent;
420
  }
421
 
422
  $newJsOutput = $jsContent;
423
 
424
+ preg_match_all('#fonts.googleapis.com(.*?)(["\'])#si', $jsContent, $matchesFromJsCode);
 
 
 
 
425
 
426
  if (isset($matchesFromJsCode[0]) && ! empty($matchesFromJsCode)) {
427
  foreach ($matchesFromJsCode[0] as $match) {
429
  $googleApisUrl = trim($match, '"\' ');
430
 
431
  $newGoogleApisUrl = self::alterGoogleFontLink($googleApisUrl, false, 'js');
 
432
  if ($newGoogleApisUrl !== $googleApisUrl) {
433
  $newJsMatchOutput = str_replace($googleApisUrl, $newGoogleApisUrl, $matchRule);
434
  $newJsOutput = str_replace($matchRule, $newJsMatchOutput, $newJsOutput);
classes/OptimiseAssets/MinifyCss.php CHANGED
@@ -5,6 +5,7 @@ use WpAssetCleanUp\CleanUp;
5
  use WpAssetCleanUp\Main;
6
  use WpAssetCleanUp\Menu;
7
  use WpAssetCleanUp\MetaBoxes;
 
8
 
9
  /**
10
  * Class MinifyCss
@@ -122,6 +123,8 @@ class MinifyCss
122
 
123
  );
124
 
 
 
125
  if (Main::instance()->settings['minify_loaded_css_exceptions'] !== '') {
126
  $loadedCssExceptionsPatterns = trim(Main::instance()->settings['minify_loaded_css_exceptions']);
127
 
5
  use WpAssetCleanUp\Main;
6
  use WpAssetCleanUp\Menu;
7
  use WpAssetCleanUp\MetaBoxes;
8
+ use WpAssetCleanUp\Misc;
9
 
10
  /**
11
  * Class MinifyCss
123
 
124
  );
125
 
126
+ $regExps = Misc::replaceRelPluginPath($regExps);
127
+
128
  if (Main::instance()->settings['minify_loaded_css_exceptions'] !== '') {
129
  $loadedCssExceptionsPatterns = trim(Main::instance()->settings['minify_loaded_css_exceptions']);
130
 
classes/OptimiseAssets/MinifyJs.php CHANGED
@@ -5,6 +5,7 @@ use WpAssetCleanUp\CleanUp;
5
  use WpAssetCleanUp\Main;
6
  use WpAssetCleanUp\Menu;
7
  use WpAssetCleanUp\MetaBoxes;
 
8
 
9
  /**
10
  * Class MinifyJs
@@ -95,6 +96,8 @@ class MinifyJs
95
 
96
  );
97
 
 
 
98
  if (Main::instance()->settings['minify_loaded_js_exceptions'] !== '') {
99
  $loadedJsExceptionsPatterns = trim(Main::instance()->settings['minify_loaded_js_exceptions']);
100
 
5
  use WpAssetCleanUp\Main;
6
  use WpAssetCleanUp\Menu;
7
  use WpAssetCleanUp\MetaBoxes;
8
+ use WpAssetCleanUp\Misc;
9
 
10
  /**
11
  * Class MinifyJs
96
 
97
  );
98
 
99
+ $regExps = Misc::replaceRelPluginPath($regExps);
100
+
101
  if (Main::instance()->settings['minify_loaded_js_exceptions'] !== '') {
102
  $loadedJsExceptionsPatterns = trim(Main::instance()->settings['minify_loaded_js_exceptions']);
103
 
classes/OptimiseAssets/OptimizeCommon.php CHANGED
@@ -95,6 +95,10 @@ class OptimizeCommon
95
  });
96
 
97
  // Make sure HTML changes are applied to cached pages from "Cache Enabler" plugin
 
 
 
 
98
  add_filter('cache_enabler_page_contents_before_store', static function($htmlSource) {
99
  return self::alterHtmlSource($htmlSource);
100
  }, 1, 1);
@@ -435,7 +439,7 @@ class OptimizeCommon
435
  public static function doCombineIsRegularPage()
436
  {
437
  // In particular situations, do not process this
438
- if (strpos($_SERVER['REQUEST_URI'], '/wp-content/plugins/') !== false
439
  && strpos($_SERVER['REQUEST_URI'], '/wp-content/themes/') !== false) {
440
  return false;
441
  }
95
  });
96
 
97
  // Make sure HTML changes are applied to cached pages from "Cache Enabler" plugin
98
+ add_filter('cache_enabler_before_store', static function($htmlSource) {
99
+ return self::alterHtmlSource($htmlSource); // deprecated, include it in case other users have an older version of "Cache Enabler"
100
+ }, 1, 1);
101
+
102
  add_filter('cache_enabler_page_contents_before_store', static function($htmlSource) {
103
  return self::alterHtmlSource($htmlSource);
104
  }, 1, 1);
439
  public static function doCombineIsRegularPage()
440
  {
441
  // In particular situations, do not process this
442
+ if (strpos($_SERVER['REQUEST_URI'], '/'.Misc::getPluginsDir().'/') !== false
443
  && strpos($_SERVER['REQUEST_URI'], '/wp-content/themes/') !== false) {
444
  return false;
445
  }
classes/OptimiseAssets/OptimizeCss.php CHANGED
@@ -202,7 +202,9 @@ class OptimizeCss
202
 
203
  $doFileMinify = true;
204
 
205
- if (! MinifyCss::isMinifyCssEnabled()) {
 
 
206
  $doFileMinify = false;
207
  } elseif (MinifyCss::skipMinify($src, $value->handle)) {
208
  $doFileMinify = false;
@@ -496,7 +498,7 @@ class OptimizeCss
496
  /* [wpacu_timing] */ Misc::scriptExecTimer($wpacuTimingName, 'end'); /* [/wpacu_timing] */
497
  }
498
 
499
- if (! Main::instance()->preventAssetsSettings() && Main::instance()->settings['minify_loaded_css'] && Main::instance()->settings['minify_loaded_css_inline']) {
500
  /* [wpacu_timing] */ $wpacuTimingName = 'alter_html_source_for_minify_inline_style_tags'; Misc::scriptExecTimer($wpacuTimingName); /* [/wpacu_timing] */
501
  $htmlSource = MinifyCss::minifyInlineStyleTags($htmlSource);
502
  /* [wpacu_timing] */ Misc::scriptExecTimer($wpacuTimingName, 'end'); /* [/wpacu_timing] */
@@ -947,7 +949,7 @@ class OptimizeCss
947
  if ($cssContent && $cssContent !== '/**/') {
948
  $htmlSource = str_replace(
949
  $matchedTag,
950
- '<style type=\'text/css\' '.$mediaAttr.' data-wpacu-inline-css-file=\'1\'>'."\n".$cssContent."\n".'</style>',
951
  $htmlSource
952
  );
953
  } else {
@@ -1344,7 +1346,7 @@ class OptimizeCss
1344
  $styleExtraArray = $wpacuRegisteredStyles[$styleHandle]->extra;
1345
 
1346
  if (isset($styleExtraArray['after']) && ! empty($styleExtraArray['after'])) {
1347
- $styleExtraAfter .= "<style id='".$styleHandle."-inline-css' type='text/css'>\n";
1348
 
1349
  foreach ($styleExtraArray['after'] as $afterData) {
1350
  if (! is_bool($afterData)) {
@@ -1376,14 +1378,7 @@ class OptimizeCss
1376
  {
1377
  global $wp_styles;
1378
 
1379
- $typeAttr = '';
1380
-
1381
- if ( function_exists( 'is_admin' ) && ! is_admin()
1382
- &&
1383
- function_exists( 'current_theme_supports' ) && ! current_theme_supports( 'html5', 'style' )
1384
- ) {
1385
- $typeAttr = " type='text/css'";
1386
- }
1387
 
1388
  $output = '';
1389
 
202
 
203
  $doFileMinify = true;
204
 
205
+ $isMinifyCssFilesEnabled = MinifyCss::isMinifyCssEnabled() && in_array(Main::instance()->settings['minify_loaded_css_for'], array('href', 'all', ''));
206
+
207
+ if (! $isMinifyCssFilesEnabled) {
208
  $doFileMinify = false;
209
  } elseif (MinifyCss::skipMinify($src, $value->handle)) {
210
  $doFileMinify = false;
498
  /* [wpacu_timing] */ Misc::scriptExecTimer($wpacuTimingName, 'end'); /* [/wpacu_timing] */
499
  }
500
 
501
+ if (self::isWorthCheckingForOptimization() && ! Main::instance()->preventAssetsSettings() && (MinifyCss::isMinifyCssEnabled() && in_array(Main::instance()->settings['minify_loaded_css_for'], array('inline', 'all')))) {
502
  /* [wpacu_timing] */ $wpacuTimingName = 'alter_html_source_for_minify_inline_style_tags'; Misc::scriptExecTimer($wpacuTimingName); /* [/wpacu_timing] */
503
  $htmlSource = MinifyCss::minifyInlineStyleTags($htmlSource);
504
  /* [wpacu_timing] */ Misc::scriptExecTimer($wpacuTimingName, 'end'); /* [/wpacu_timing] */
949
  if ($cssContent && $cssContent !== '/**/') {
950
  $htmlSource = str_replace(
951
  $matchedTag,
952
+ '<style '.Misc::getStyleTypeAttribute().' '.$mediaAttr.' data-wpacu-inline-css-file=\'1\'>'."\n".$cssContent."\n".'</style>',
953
  $htmlSource
954
  );
955
  } else {
1346
  $styleExtraArray = $wpacuRegisteredStyles[$styleHandle]->extra;
1347
 
1348
  if (isset($styleExtraArray['after']) && ! empty($styleExtraArray['after'])) {
1349
+ $styleExtraAfter .= "<style id='".$styleHandle."-inline-css' ".Misc::getStyleTypeAttribute().">\n";
1350
 
1351
  foreach ($styleExtraArray['after'] as $afterData) {
1352
  if (! is_bool($afterData)) {
1378
  {
1379
  global $wp_styles;
1380
 
1381
+ $typeAttr = Misc::getStyleTypeAttribute();
 
 
 
 
 
 
 
1382
 
1383
  $output = '';
1384
 
classes/OptimiseAssets/OptimizeJs.php CHANGED
@@ -127,7 +127,9 @@ class OptimizeJs
127
 
128
  $doFileMinify = true;
129
 
130
- if (! MinifyJs::isMinifyJsEnabled()) {
 
 
131
  $doFileMinify = false;
132
  } elseif (MinifyJs::skipMinify($src, $value->handle)) {
133
  $doFileMinify = false;
@@ -704,7 +706,7 @@ class OptimizeJs
704
  }
705
  /* [wpacu_timing] */ Misc::scriptExecTimer($wpacuTimingName, 'end'); /* [/wpacu_timing] */
706
 
707
- if (self::isWorthCheckingForOptimization() && ! Main::instance()->preventAssetsSettings() && (MinifyJs::isMinifyJsEnabled() && Main::instance()->settings['minify_loaded_js_inline'])) {
708
  /* [wpacu_timing] */ $wpacuTimingName = 'alter_html_source_for_minify_inline_script_tags'; Misc::scriptExecTimer($wpacuTimingName); /* [/wpacu_timing] */
709
  $htmlSource = MinifyJs::minifyInlineScriptTags($htmlSource);
710
  /* [wpacu_timing] */ Misc::scriptExecTimer($wpacuTimingName, 'end'); /* [/wpacu_timing] */
@@ -1158,13 +1160,7 @@ class OptimizeJs
1158
  {
1159
  global $wp_scripts;
1160
 
1161
- $typeAttr = '';
1162
-
1163
- if ( function_exists( 'is_admin' ) && ! is_admin() &&
1164
- function_exists( 'current_theme_supports' ) && ! current_theme_supports( 'html5', 'script' )
1165
- ) {
1166
- $typeAttr = " type='text/javascript'";
1167
- }
1168
 
1169
  $output = '';
1170
 
127
 
128
  $doFileMinify = true;
129
 
130
+ $isMinifyJsFilesEnabled = MinifyJs::isMinifyJsEnabled() && in_array(Main::instance()->settings['minify_loaded_js_for'], array('src', 'all', ''));
131
+
132
+ if (! $isMinifyJsFilesEnabled) {
133
  $doFileMinify = false;
134
  } elseif (MinifyJs::skipMinify($src, $value->handle)) {
135
  $doFileMinify = false;
706
  }
707
  /* [wpacu_timing] */ Misc::scriptExecTimer($wpacuTimingName, 'end'); /* [/wpacu_timing] */
708
 
709
+ if (self::isWorthCheckingForOptimization() && ! Main::instance()->preventAssetsSettings() && (MinifyJs::isMinifyJsEnabled() && in_array(Main::instance()->settings['minify_loaded_js_for'], array('inline', 'all')))) {
710
  /* [wpacu_timing] */ $wpacuTimingName = 'alter_html_source_for_minify_inline_script_tags'; Misc::scriptExecTimer($wpacuTimingName); /* [/wpacu_timing] */
711
  $htmlSource = MinifyJs::minifyInlineScriptTags($htmlSource);
712
  /* [wpacu_timing] */ Misc::scriptExecTimer($wpacuTimingName, 'end'); /* [/wpacu_timing] */
1160
  {
1161
  global $wp_scripts;
1162
 
1163
+ $typeAttr = Misc::getScriptTypeAttribute();
 
 
 
 
 
 
1164
 
1165
  $output = '';
1166
 
classes/Overview.php CHANGED
@@ -423,6 +423,10 @@ SQL;
423
  $src = site_url() . $src;
424
  }
425
 
 
 
 
 
426
  $ver = $wp_version; // default
427
  if (isset($data['assets_info'][ $assetType ][ $handle ][$verKey] ) && $data['assets_info'][ $assetType ][ $handle ][$verKey] ) {
428
  $ver = is_array($data['assets_info'][ $assetType ][ $handle ][$verKey] )
@@ -896,9 +900,12 @@ HTML;
896
  }
897
 
898
  if (! $anyUnloadRule && $anyLoadExceptionRule) {
899
- $clearLoadExceptionsConfirmMsg = sprintf(esc_attr(__('This will clear all load exceptions for the `%s` CSS handle', 'wp-asset-clean-up')), $handleData['handle'])
900
- . esc_js("\n\n") . esc_js(__('Click `OK` to confirm the action', 'wp-asset-clean-up'));
 
901
  $wpacuNonceField = wp_nonce_field('wpacu_clear_load_exceptions', 'wpacu_clear_load_exceptions_nonce');
 
 
902
  $clearLoadExceptionsArea = <<<HTML
903
  <form method="post" action="" style="display: inline-block;">
904
  <input type="hidden" name="wpacu_action" value="clear_load_exceptions" />
@@ -906,9 +913,9 @@ HTML;
906
  <input type="hidden" name="wpacu_asset_type" value="{$handleData['asset_type']}" />
907
  {$wpacuNonceField}
908
  <script type="text/javascript">
909
- var wpacuClearLoadExceptionsConfirmMsg = '{$clearLoadExceptionsConfirmMsg}';
910
  </script>
911
- <button onclick="return confirm(wpacuClearLoadExceptionsConfirmMsg);" type="submit" class="button button-secondary clear-load-exceptions"><span class="dashicons dashicons-trash" style="vertical-align: text-bottom;"></span> Clear load exceptions for this handle</button>
912
  </form>
913
  HTML;
914
  $handleChangesOutput['load_exception_notice'] = '<div><em><small><strong>Note:</strong> Although a load exception rule is added, it is not relevant as there are no rules that would work together with it (e.g. unloaded site-wide, on all posts). This exception can be removed as the file is loaded anyway in all pages.</small></em>&nbsp;'.
423
  $src = site_url() . $src;
424
  }
425
 
426
+ if (strpos($src, '/wp-content/plugins/') !== false) {
427
+ $src = str_replace('/wp-content/plugins/', '/'.Misc::getPluginsDir().'/', $src);
428
+ }
429
+
430
  $ver = $wp_version; // default
431
  if (isset($data['assets_info'][ $assetType ][ $handle ][$verKey] ) && $data['assets_info'][ $assetType ][ $handle ][$verKey] ) {
432
  $ver = is_array($data['assets_info'][ $assetType ][ $handle ][$verKey] )
900
  }
901
 
902
  if (! $anyUnloadRule && $anyLoadExceptionRule) {
903
+ $handleType = ($handleData['asset_type'] === 'styles') ? 'CSS' : 'JS';
904
+ $clearLoadExceptionsConfirmMsg = sprintf( esc_attr(__('This will clear all load exceptions for the `%s` %s handle', 'wp-asset-clean-up')), $handleData['handle'], $handleType).'.'
905
+ . esc_js("\n\n") . esc_js(__('Click `OK` to confirm the action', 'wp-asset-clean-up')).'!';
906
  $wpacuNonceField = wp_nonce_field('wpacu_clear_load_exceptions', 'wpacu_clear_load_exceptions_nonce');
907
+
908
+ $uniqueDelimiter = md5($handleData['handle'].$handleData['asset_type']);
909
  $clearLoadExceptionsArea = <<<HTML
910
  <form method="post" action="" style="display: inline-block;">
911
  <input type="hidden" name="wpacu_action" value="clear_load_exceptions" />
913
  <input type="hidden" name="wpacu_asset_type" value="{$handleData['asset_type']}" />
914
  {$wpacuNonceField}
915
  <script type="text/javascript">
916
+ var wpacuClearLoadExceptionsConfirmMsg_{$uniqueDelimiter} = '{$clearLoadExceptionsConfirmMsg}';
917
  </script>
918
+ <button onclick="return confirm(wpacuClearLoadExceptionsConfirmMsg_{$uniqueDelimiter});" type="submit" class="button button-secondary clear-load-exceptions"><span class="dashicons dashicons-trash" style="vertical-align: text-bottom;"></span> Clear load exceptions for this handle</button>
919
  </form>
920
  HTML;
921
  $handleChangesOutput['load_exception_notice'] = '<div><em><small><strong>Note:</strong> Although a load exception rule is added, it is not relevant as there are no rules that would work together with it (e.g. unloaded site-wide, on all posts). This exception can be removed as the file is loaded anyway in all pages.</small></em>&nbsp;'.
classes/OwnAssets.php CHANGED
@@ -71,7 +71,7 @@ class OwnAssets
71
  'If you are positive this page does not require jQuery (very rare cases), then you can continue by pressing "OK"'."\n\n".
72
  'Otherwise, it is strongly recommended to keep this library loaded by pressing "Cancel" to avoid breaking the functionality of the website.';
73
  // js-cookie
74
- $wpacu_object_data['woo_js_cookie_unload_alert'] = 'Please be careful when unloading "js-cookie" as there are other JS files depending on it that will also be unloaded, including "wc-cart-fragments" which is required for the functionality of the WooCommerce mini cart.'."\n\n".
75
  'Click "OK" to continue or "Cancel" if you have any doubts about unloading this file';
76
 
77
  // wc-cart-fragments
@@ -141,7 +141,13 @@ class OwnAssets
141
  {
142
  if (is_admin_bar_showing()) {
143
  ?>
144
- <style type="text/css" data-wpacu-own-inline-style="true">
 
 
 
 
 
 
145
  #wp-admin-bar-assetcleanup-parent span.dashicons {
146
  width: 15px;
147
  height: 15px;
@@ -186,7 +192,7 @@ class OwnAssets
186
  public function inlineAdminHeadCode()
187
  {
188
  ?>
189
- <style type="text/css" data-wpacu-own-inline-style="true">
190
  <?php
191
  // For the main languages, leave the style it was always set as it worked well
192
  $applyDefaultStyleForCurrentLang = (strpos(get_locale(), 'en_') !== false)
@@ -198,11 +204,11 @@ class OwnAssets
198
  // This would also work well if the language is Arabic (the text shown right to left)
199
  ?>
200
  /* Compatibility with "Wordpress Admin Theme - WPShapere" plugin - make sure Asset CleanUp's icon is not misaligned */
201
- .menu-top.toplevel_page_wpassetcleanup_getting_started .wp-menu-image > img { width: 26px; }
202
  <?php
203
  } else {
204
  ?>
205
- .menu-top.toplevel_page_wpassetcleanup_getting_started .wp-menu-image > img { width: 26px; position: absolute; left: 8px; top: -4px; }
206
  <?php
207
  }
208
 
@@ -414,7 +420,7 @@ class OwnAssets
414
  private function enqueueAdminStyles()
415
  {
416
  $styleRelPath = '/assets/style.min.css';
417
- wp_enqueue_style( WPACU_PLUGIN_ID . '-style', plugins_url($styleRelPath, WPACU_PLUGIN_FILE), array(), $this->_assetVer($styleRelPath));
418
  }
419
 
420
  /**
@@ -424,21 +430,34 @@ class OwnAssets
424
  {
425
  global $post, $pagenow;
426
 
 
427
  $page = Misc::getVar('get', 'page');
428
  $pageRequestFor = Misc::getVar('get', 'wpacu_for') ?: 'homepage';
429
 
430
- // Is within the Dashboard (edit post/page mode)?
431
- $getPostId = (isset($_GET['post'], $_GET['action']) && $_GET['action'] === 'edit' && $pagenow === 'post.php') ? (int)$_GET['post'] : '';
 
432
 
433
- $postId = isset($post->ID) ? $post->ID : 0;
 
 
434
 
435
- if ($getPostId > 0 && $getPostId !== $postId) {
436
- $postId = $getPostId;
437
- }
438
 
439
- if (($page === WPACU_PLUGIN_ID . '_assets_manager' && $pageRequestFor === 'homepage') || $postId < 1) {
440
- $postId = 0; // for home page
441
- }
 
 
 
 
 
 
 
 
 
 
442
 
443
  $scriptRelPath = '/assets/script.min.js';
444
 
@@ -446,11 +465,15 @@ class OwnAssets
446
  WPACU_PLUGIN_ID . '-script',
447
  plugins_url($scriptRelPath, WPACU_PLUGIN_FILE),
448
  array('jquery'),
449
- $this->_assetVer($scriptRelPath)
450
  );
451
 
452
- // It can also be the front page URL
453
- $pageUrl = Misc::getPageUrl($postId);
 
 
 
 
454
 
455
  $svgReloadIcon = <<<HTML
456
  <svg aria-hidden="true" role="img" focusable="false" class="dashicon dashicons-cloud" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><path d="M14.9 9c1.8.2 3.1 1.7 3.1 3.5 0 1.9-1.6 3.5-3.5 3.5h-10C2.6 16 1 14.4 1 12.5 1 10.7 2.3 9.3 4.1 9 4 8.9 4 8.7 4 8.5 4 7.1 5.1 6 6.5 6c.3 0 .7.1.9.2C8.1 4.9 9.4 4 11 4c2.2 0 4 1.8 4 4 0 .4-.1.7-.1 1z"></path></svg>
@@ -485,7 +508,7 @@ HTML;
485
  // Dashboard pages such as "Homepage" from plugin's "CSS/JavaScript Load Manager" will fetch the list on load
486
  $wpacuObjectData['override_assets_list_load'] = false;
487
 
488
- if ($page === WPACU_PLUGIN_ID.'_assets_manager' && $pageRequestFor === 'homepage') {
489
  $wpacuObjectData['override_assets_list_load'] = true;
490
  }
491
 
@@ -603,58 +626,69 @@ JS;
603
  // [End] Chosen Script
604
  }
605
 
606
- if ($page === WPACU_PLUGIN_ID . '_assets_manager' || (Misc::getVar('get', 'post') && Misc::getVar('get', 'action') === 'edit')) {
 
 
 
 
607
  // [Start] SweetAlert
608
  wp_enqueue_style(
609
  WPACU_PLUGIN_ID . '-sweetalert2-style',
610
- plugins_url('/assets/sweetalert2/dist/sweetalert2.min.css', WPACU_PLUGIN_FILE),
611
  array(),
612
  1
613
  );
614
 
615
  add_action('admin_head', static function() {
616
  ?>
617
- <style type="text/css" data-wpacu-own-inline-style="true">
618
- .swal2-popup {
619
- width: 36em;
620
  }
621
- .swal2-overlay {
 
622
  z-index: 10000000;
623
  }
624
 
625
- .swal2-container {
626
  z-index: 100000000;
627
  }
628
 
629
- .swal2-html-container {
630
  line-height: 30px;
631
  }
632
 
633
- .swal2-text {
 
 
 
 
 
634
  line-height: 24px;
635
  }
636
 
637
- .swal2-footer {
638
  text-align: center;
639
  padding: 13px 16px 20px;
640
  }
641
 
642
- .swal2-button.swal2-button--confirm {
643
  background-color: #008f9c;
644
  }
645
 
646
- .swal2-button.swal2-button--confirm:hover {
647
  background-color: #006e78;
648
  }
649
  </style>
650
  <?php
651
  });
652
 
 
653
  wp_enqueue_script(
654
  WPACU_PLUGIN_ID . '-sweetalert2-js',
655
- plugins_url('/assets/sweetalert2/dist/sweetalert2.min.js', WPACU_PLUGIN_FILE),
656
  array('jquery'),
657
- 1
658
  );
659
 
660
  // [wpacu_lite]
@@ -666,7 +700,7 @@ jQuery(document).ready(function($) {
666
  /* [Hardcoded Assets] */
667
  $(document).on('click', '.wpacu-manage-hardcoded-assets-requires-pro-popup', function(e) {
668
  e.preventDefault();
669
- Swal.fire({
670
  text: "Managing hardcoded (non-enqueued) LINK/STYLE/SCRIPT tags is a feature available for Pro users.",
671
  icon: "info",
672
  showCancelButton: true,
@@ -683,7 +717,7 @@ jQuery(document).ready(function($) {
683
  /* [Media Query Load] */
684
  $(document).on('click', '.wpacu-media-query-load-requires-pro-popup', function(e) {
685
  e.preventDefault();
686
- Swal.fire({
687
  text: "Instructing the browser to load a file based on the screen size of the visitor's device (e.g. desktop or mobile view) is a feature available for Pro users.",
688
  icon: "info",
689
  showCancelButton: true,
@@ -735,7 +769,7 @@ JS;
735
  private function enqueuePublicStyles()
736
  {
737
  $styleRelPath = '/assets/style.min.css';
738
- wp_enqueue_style(WPACU_PLUGIN_ID . '-style', plugins_url($styleRelPath, WPACU_PLUGIN_FILE), array(), $this->_assetVer($styleRelPath));
739
  }
740
 
741
  /**
@@ -745,7 +779,7 @@ JS;
745
  {
746
  $scriptRelPath = '/assets/script.min.js';
747
 
748
- wp_register_script(WPACU_PLUGIN_ID . '-script', plugins_url($scriptRelPath, WPACU_PLUGIN_FILE), array('jquery'), $this->_assetVer($scriptRelPath), true);
749
 
750
  // [wpacu_pro]
751
  wp_localize_script(
@@ -769,7 +803,7 @@ JS;
769
  *
770
  * @return false|string
771
  */
772
- private function _assetVer($relativePath)
773
  {
774
  return @filemtime(dirname(WPACU_PLUGIN_FILE) . $relativePath) ?: date('dmYHi');
775
  }
71
  'If you are positive this page does not require jQuery (very rare cases), then you can continue by pressing "OK"'."\n\n".
72
  'Otherwise, it is strongly recommended to keep this library loaded by pressing "Cancel" to avoid breaking the functionality of the website.';
73
  // js-cookie
74
+ $wpacu_object_data['woo_js_cookie_unload_alert'] = 'Please be careful when unloading "js-cookie" as there are other JS files that depend on it which will also be unloaded, including "wc-cart-fragments" which is required for the functionality of the WooCommerce mini cart.'."\n\n".
75
  'Click "OK" to continue or "Cancel" if you have any doubts about unloading this file';
76
 
77
  // wc-cart-fragments
141
  {
142
  if (is_admin_bar_showing()) {
143
  ?>
144
+ <style <?php echo Misc::getStyleTypeAttribute(); ?> data-wpacu-own-inline-style="true">
145
+ #wp-admin-bar-assetcleanup-asset-unload-rules-css-default,
146
+ #wp-admin-bar-assetcleanup-asset-unload-rules-js-default {
147
+ overflow-y: auto;
148
+ max-height: calc(100vh - 250px);
149
+ }
150
+
151
  #wp-admin-bar-assetcleanup-parent span.dashicons {
152
  width: 15px;
153
  height: 15px;
192
  public function inlineAdminHeadCode()
193
  {
194
  ?>
195
+ <style <?php echo Misc::getStyleTypeAttribute(); ?> data-wpacu-own-inline-style="true">
196
  <?php
197
  // For the main languages, leave the style it was always set as it worked well
198
  $applyDefaultStyleForCurrentLang = (strpos(get_locale(), 'en_') !== false)
204
  // This would also work well if the language is Arabic (the text shown right to left)
205
  ?>
206
  /* Compatibility with "Wordpress Admin Theme - WPShapere" plugin - make sure Asset CleanUp's icon is not misaligned */
207
+ .menu-top.toplevel_page_wpassetcleanup_getting_started .wp-menu-image > img { width: 26px; height: auto; }
208
  <?php
209
  } else {
210
  ?>
211
+ .menu-top.toplevel_page_wpassetcleanup_getting_started .wp-menu-image > img { width: 26px; height: auto; position: absolute; left: 8px; top: -4px; }
212
  <?php
213
  }
214
 
420
  private function enqueueAdminStyles()
421
  {
422
  $styleRelPath = '/assets/style.min.css';
423
+ wp_enqueue_style( WPACU_PLUGIN_ID . '-style', plugins_url($styleRelPath, WPACU_PLUGIN_FILE), array(), self::assetVer($styleRelPath));
424
  }
425
 
426
  /**
430
  {
431
  global $post, $pagenow;
432
 
433
+ $postId = 0; // default
434
  $page = Misc::getVar('get', 'page');
435
  $pageRequestFor = Misc::getVar('get', 'wpacu_for') ?: 'homepage';
436
 
437
+ // The admin is in a page such as /wp-admin/post.php?post=[POST_ID_HERE]&action=edit
438
+ $isPostIdFromEditPostPage = (isset($_GET['post'], $_GET['action']) && $_GET['action'] === 'edit' && $pagenow === 'post.php') ? (int)$_GET['post'] : '';
439
+ $isDashAssetsManagerPage = ($page === WPACU_PLUGIN_ID . '_assets_manager');
440
 
441
+ if ($isDashAssetsManagerPage) {
442
+ if ( $pageRequestFor === 'homepage' ) {
443
+ $postId = 0; // default
444
 
445
+ // Homepage tab / Check if the home page is one of the singular pages
446
+ $pageOnFront = (int) get_option( 'page_on_front' );
 
447
 
448
+ if ( $pageOnFront && $pageOnFront > 0 ) {
449
+ $postId = $pageOnFront;
450
+ }
451
+ } elseif ( in_array( $pageRequestFor, array( 'posts', 'pages', 'custom-post-types', 'media-attachment' ) ) && isset( $_GET['wpacu_post_id'] ) && $_GET['wpacu_post_id'] ) {
452
+ $postId = Misc::getVar( 'get', 'wpacu_post_id' ) ?: 0;
453
+ }
454
+ } else {
455
+ $postId = isset($post->ID) ? $post->ID : 0;
456
+
457
+ if ($isPostIdFromEditPostPage > 0 && $isPostIdFromEditPostPage !== $postId) {
458
+ $postId = $isPostIdFromEditPostPage;
459
+ }
460
+ }
461
 
462
  $scriptRelPath = '/assets/script.min.js';
463
 
465
  WPACU_PLUGIN_ID . '-script',
466
  plugins_url($scriptRelPath, WPACU_PLUGIN_FILE),
467
  array('jquery'),
468
+ self::assetVer($scriptRelPath)
469
  );
470
 
471
+ if ($postId > 0) {
472
+ // It can also be the front page URL
473
+ $pageUrl = Misc::getPageUrl($postId);
474
+ } else {
475
+ $pageUrl = Misc::getPageUrl(0);
476
+ }
477
 
478
  $svgReloadIcon = <<<HTML
479
  <svg aria-hidden="true" role="img" focusable="false" class="dashicon dashicons-cloud" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><path d="M14.9 9c1.8.2 3.1 1.7 3.1 3.5 0 1.9-1.6 3.5-3.5 3.5h-10C2.6 16 1 14.4 1 12.5 1 10.7 2.3 9.3 4.1 9 4 8.9 4 8.7 4 8.5 4 7.1 5.1 6 6.5 6c.3 0 .7.1.9.2C8.1 4.9 9.4 4 11 4c2.2 0 4 1.8 4 4 0 .4-.1.7-.1 1z"></path></svg>
508
  // Dashboard pages such as "Homepage" from plugin's "CSS/JavaScript Load Manager" will fetch the list on load
509
  $wpacuObjectData['override_assets_list_load'] = false;
510
 
511
+ if ($page === WPACU_PLUGIN_ID.'_assets_manager' && in_array($pageRequestFor, array('homepage', 'pages', 'posts', 'custom-post-types', 'media-attachment'))) {
512
  $wpacuObjectData['override_assets_list_load'] = true;
513
  }
514
 
626
  // [End] Chosen Script
627
  }
628
 
629
+ global $pagenow;
630
+
631
+ $isEditPostArea = ($pagenow === 'post.php' && Misc::getVar('get', 'post') && Misc::getVar('get', 'action') === 'edit');
632
+
633
+ if ($page === WPACU_PLUGIN_ID . '_assets_manager' || $isEditPostArea) {
634
  // [Start] SweetAlert
635
  wp_enqueue_style(
636
  WPACU_PLUGIN_ID . '-sweetalert2-style',
637
+ plugins_url('/assets/sweetalert2/dist/sweetalert2.css', WPACU_PLUGIN_FILE),
638
  array(),
639
  1
640
  );
641
 
642
  add_action('admin_head', static function() {
643
  ?>
644
+ <style <?php echo Misc::getStyleTypeAttribute(); ?> data-wpacu-own-inline-style="true">
645
+ .wpacu-swal2-popup {
646
+ width: 36em !important;
647
  }
648
+
649
+ .wpacu-swal2-overlay {
650
  z-index: 10000000;
651
  }
652
 
653
+ .wpacu-swal2-container {
654
  z-index: 100000000;
655
  }
656
 
657
+ .wpacu-swal2-html-container {
658
  line-height: 30px;
659
  }
660
 
661
+ .wpacu-swal2-title {
662
+ margin: 0 0 20px;
663
+ font-size: 1.2em;
664
+ }
665
+
666
+ .wpacu-swal2-text {
667
  line-height: 24px;
668
  }
669
 
670
+ .wpacu-swal2-footer {
671
  text-align: center;
672
  padding: 13px 16px 20px;
673
  }
674
 
675
+ .wpacu-swal2-button.wpacu-swal2-button--confirm {
676
  background-color: #008f9c;
677
  }
678
 
679
+ .wpacu-swal2-button.wpacu-swal2-button--confirm:hover {
680
  background-color: #006e78;
681
  }
682
  </style>
683
  <?php
684
  });
685
 
686
+ // Changed "Swal" to "wpacuSwal" to avoid conflicts with other plugins using SweetAlert
687
  wp_enqueue_script(
688
  WPACU_PLUGIN_ID . '-sweetalert2-js',
689
+ plugins_url('/assets/sweetalert2/dist/sweetalert2.js', WPACU_PLUGIN_FILE),
690
  array('jquery'),
691
+ 1.1
692
  );
693
 
694
  // [wpacu_lite]
700
  /* [Hardcoded Assets] */
701
  $(document).on('click', '.wpacu-manage-hardcoded-assets-requires-pro-popup', function(e) {
702
  e.preventDefault();
703
+ wpacuSwal.fire({
704
  text: "Managing hardcoded (non-enqueued) LINK/STYLE/SCRIPT tags is a feature available for Pro users.",
705
  icon: "info",
706
  showCancelButton: true,
717
  /* [Media Query Load] */
718
  $(document).on('click', '.wpacu-media-query-load-requires-pro-popup', function(e) {
719
  e.preventDefault();
720
+ wpacuSwal.fire({
721
  text: "Instructing the browser to load a file based on the screen size of the visitor's device (e.g. desktop or mobile view) is a feature available for Pro users.",
722
  icon: "info",
723
  showCancelButton: true,
769
  private function enqueuePublicStyles()
770
  {
771
  $styleRelPath = '/assets/style.min.css';
772
+ wp_enqueue_style(WPACU_PLUGIN_ID . '-style', plugins_url($styleRelPath, WPACU_PLUGIN_FILE), array(), self::assetVer($styleRelPath));
773
  }
774
 
775
  /**
779
  {
780
  $scriptRelPath = '/assets/script.min.js';
781
 
782
+ wp_register_script(WPACU_PLUGIN_ID . '-script', plugins_url($scriptRelPath, WPACU_PLUGIN_FILE), array('jquery'), self::assetVer($scriptRelPath), true);
783
 
784
  // [wpacu_pro]
785
  wp_localize_script(
803
  *
804
  * @return false|string
805
  */
806
+ public static function assetVer($relativePath)
807
  {
808
  return @filemtime(dirname(WPACU_PLUGIN_FILE) . $relativePath) ?: date('dmYHi');
809
  }
classes/PluginReview.php CHANGED
@@ -94,7 +94,7 @@ class PluginReview
94
  public function noticeStyles()
95
  {
96
  ?>
97
- <style type="text/css">
98
  .wpacu-review-plugin-notice {
99
  border-left: 4px solid #008f9c;
100
  }
94
  public function noticeStyles()
95
  {
96
  ?>
97
+ <style <?php echo Misc::getStyleTypeAttribute(); ?>>
98
  .wpacu-review-plugin-notice {
99
  border-left: 4px solid #008f9c;
100
  }
classes/PluginTracking.php CHANGED
@@ -381,7 +381,7 @@ class PluginTracking
381
  public function notice_styles()
382
  {
383
  ?>
384
- <style type="text/css">
385
  .wpacu-tracking-notice {
386
  border-left-color: #008f9c;
387
  }
381
  public function notice_styles()
382
  {
383
  ?>
384
+ <style <?php echo Misc::getStyleTypeAttribute(); ?>>
385
  .wpacu-tracking-notice {
386
  border-left-color: #008f9c;
387
  }
classes/PluginsManager.php CHANGED
@@ -29,27 +29,29 @@ class PluginsManager
29
  * @return array
30
  */
31
  public static function getActivePlugins()
32
- {
33
- $activePluginsFinal = array();
 
 
 
34
 
35
- // Get active plugins and their basic information
36
- $activePlugins = array_unique(get_option('active_plugins', array()));
 
 
 
37
 
38
- foreach ($activePlugins as $plugin) {
39
- // Skip Asset CleanUp as it's obviously needed for the functionality
40
- if (strpos($plugin, 'wp-asset-clean-up') !== false) {
41
- continue;
42
- }
43
 
44
- $pluginData = get_plugin_data(WP_CONTENT_DIR . '/plugins/'.$plugin);
45
- $activePluginsFinal[] = array('title' => $pluginData['Name'], 'path' => $plugin);
46
- }
47
 
48
- usort($activePluginsFinal, static function($a, $b)
49
- {
50
- return strcmp($a['title'], $b['title']);
51
- });
52
 
53
- return $activePluginsFinal;
54
  }
55
  }
29
  * @return array
30
  */
31
  public static function getActivePlugins()
32
+ {
33
+ $activePluginsFinal = array();
34
+
35
+ // Get active plugins and their basic information
36
+ $activePlugins = wp_get_active_and_valid_plugins();
37
 
38
+ foreach ($activePlugins as $pluginPath) {
39
+ // Skip Asset CleanUp as it's obviously needed for the functionality
40
+ if (strpos($pluginPath, 'wp-asset-clean-up') !== false) {
41
+ continue;
42
+ }
43
 
44
+ $pluginRelPath = trim(str_replace(WP_PLUGIN_DIR, '', $pluginPath), '/');
 
 
 
 
45
 
46
+ $pluginData = get_plugin_data($pluginPath);
47
+ $activePluginsFinal[] = array('title' => $pluginData['Name'], 'path' => $pluginRelPath);
48
+ }
49
 
50
+ usort($activePluginsFinal, static function($a, $b)
51
+ {
52
+ return strcmp($a['title'], $b['title']);
53
+ });
54
 
55
+ return $activePluginsFinal;
56
  }
57
  }
classes/Settings.php CHANGED
@@ -97,12 +97,14 @@ class Settings
97
 
98
  // Minify each loaded CSS (remaining ones after unloading the useless ones)
99
  'minify_loaded_css',
100
- 'minify_loaded_css_inline',
 
101
  'minify_loaded_css_exceptions',
102
 
103
  // Minify each loaded JS (remaining ones after unloading the useless ones)
104
  'minify_loaded_js',
105
- 'minify_loaded_js_inline',
 
106
  'minify_loaded_js_exceptions',
107
 
108
  'cdn_rewrite_enable',
@@ -226,8 +228,11 @@ class Settings
226
  // "contracted" since 1.1.0.8 (Pro)
227
  'assets_list_inline_code_status' => 'contracted', // takes less space overall
228
 
229
- 'minify_loaded_css_exceptions' => '(.*?)\.min.css'. "\n". '/plugins/wd-instagram-feed/(.*?).css',
230
- 'minify_loaded_js_exceptions' => '(.*?)\.min.js' . "\n". '/plugins/wd-instagram-feed/(.*?).js',
 
 
 
231
 
232
  'inline_css_files_below_size' => '1', // Enabled by default
233
  'inline_css_files_below_size_input' => '3', // Size in KB
@@ -243,8 +248,8 @@ class Settings
243
  'combine_loaded_css_for' => 'guests',
244
  'combine_loaded_js_for' => 'guests',
245
 
246
- 'combine_loaded_css_exceptions' => '/plugins/wd-instagram-feed/(.*?).css',
247
- 'combine_loaded_js_exceptions' => '/plugins/wd-instagram-feed/(.*?).js',
248
 
249
  // [wpacu_pro]
250
  'defer_css_loaded_body' => 'moved',
@@ -533,6 +538,13 @@ class Settings
533
  = false;
534
  }
535
 
 
 
 
 
 
 
 
536
 
537
  // /?wpacu_skip_inline_css
538
  if (array_key_exists('wpacu_skip_inline_css_files', $_GET)) {
@@ -671,11 +683,12 @@ class Settings
671
 
672
  /**
673
  * @param $settings
674
- * @param false $doSettingUpdate (e.g. if called from a WP Cron)
675
- *
 
676
  * @return mixed
677
  */
678
- public static function toggleAppendInlineAssocCodeHiddenSettings($settings, $doSettingUpdate = false)
679
  {
680
  // Are there too many files in WP_CONTENT_DIR . WpAssetCleanUp\OptimiseAssets\OptimizeCommon::getRelPathPluginCacheDir() . '(css|js)/' directory?
681
  // Deactivate the appending of the inline CSS/JS code (extra, before or after)
@@ -693,6 +706,9 @@ class Settings
693
  $isCombineAssetsEnabled = isset($settings[$combineSettingsKey]) && $settings[$combineSettingsKey];
694
 
695
  if ( ! $isCombineAssetsEnabled ) {
 
 
 
696
  continue; // Only do the checking if combine CSS/JS is enabled
697
  }
698
 
@@ -704,12 +720,22 @@ class Settings
704
  '.' . $assetType
705
  );
706
 
707
- if ( isset( $wpacuPathToCombineDirSize['total_size_mb'] ) && $wpacuPathToCombineDirSize['total_size_mb'] > $mbLimit ) {
 
 
708
  $settings['_combine_loaded_'.$assetType.'_append_handle_extra'] = '';
709
  } else {
710
  $settings['_combine_loaded_'.$assetType.'_append_handle_extra'] = 1;
711
  }
712
 
 
 
 
 
 
 
 
 
713
  if ($doSettingUpdate) {
714
  $settingsClass->updateOption(
715
  '_combine_loaded_'.$assetType.'_append_handle_extra',
97
 
98
  // Minify each loaded CSS (remaining ones after unloading the useless ones)
99
  'minify_loaded_css',
100
+ 'minify_loaded_css_for',
101
+ 'minify_loaded_css_inline', // deprecated ("minify_loaded_css_for" is used instead)
102
  'minify_loaded_css_exceptions',
103
 
104
  // Minify each loaded JS (remaining ones after unloading the useless ones)
105
  'minify_loaded_js',
106
+ 'minify_loaded_js_for',
107
+ 'minify_loaded_js_inline', // deprecated ("minify_loaded_js_for" is used instead)
108
  'minify_loaded_js_exceptions',
109
 
110
  'cdn_rewrite_enable',
228
  // "contracted" since 1.1.0.8 (Pro)
229
  'assets_list_inline_code_status' => 'contracted', // takes less space overall
230
 
231
+ 'minify_loaded_css_for' => 'href',
232
+ 'minify_loaded_js_for' => 'src',
233
+
234
+ 'minify_loaded_css_exceptions' => '(.*?)\.min.css'. "\n". '/wd-instagram-feed/(.*?).css',
235
+ 'minify_loaded_js_exceptions' => '(.*?)\.min.js' . "\n". '/wd-instagram-feed/(.*?).js',
236
 
237
  'inline_css_files_below_size' => '1', // Enabled by default
238
  'inline_css_files_below_size_input' => '3', // Size in KB
248
  'combine_loaded_css_for' => 'guests',
249
  'combine_loaded_js_for' => 'guests',
250
 
251
+ 'combine_loaded_css_exceptions' => '/wd-instagram-feed/(.*?).css',
252
+ 'combine_loaded_js_exceptions' => '/wd-instagram-feed/(.*?).js',
253
 
254
  // [wpacu_pro]
255
  'defer_css_loaded_body' => 'moved',
538
  = false;
539
  }
540
 
541
+ if ($settings['minify_loaded_css_inline']) {
542
+ $settings['minify_loaded_css_for'] = 'all';
543
+ }
544
+
545
+ if ($settings['minify_loaded_js_inline']) {
546
+ $settings['minify_loaded_js_for'] = 'all';
547
+ }
548
 
549
  // /?wpacu_skip_inline_css
550
  if (array_key_exists('wpacu_skip_inline_css_files', $_GET)) {
683
 
684
  /**
685
  * @param $settings
686
+ * @param false $doSettingUpdate (e.g. 'true' if called from a WP Cron)
687
+ * @param false $isDebug (e.g. 'true' if requested via a query string such as 'wpacu_toggle_inline_code_to_combine_js' for debugging purposes)
688
+ *
689
  * @return mixed
690
  */
691
+ public static function toggleAppendInlineAssocCodeHiddenSettings($settings, $doSettingUpdate = false, $isDebug = false)
692
  {
693
  // Are there too many files in WP_CONTENT_DIR . WpAssetCleanUp\OptimiseAssets\OptimizeCommon::getRelPathPluginCacheDir() . '(css|js)/' directory?
694
  // Deactivate the appending of the inline CSS/JS code (extra, before or after)
706
  $isCombineAssetsEnabled = isset($settings[$combineSettingsKey]) && $settings[$combineSettingsKey];
707
 
708
  if ( ! $isCombineAssetsEnabled ) {
709
+ if ($isDebug) {
710
+ echo 'Combine '.strtoupper($assetType).' is not enabled.<br />';
711
+ }
712
  continue; // Only do the checking if combine CSS/JS is enabled
713
  }
714
 
720
  '.' . $assetType
721
  );
722
 
723
+ $preventAddingInlineCodeToCombinedAssets = isset( $wpacuPathToCombineDirSize['total_size_mb'] ) && $wpacuPathToCombineDirSize['total_size_mb'] > $mbLimit;
724
+
725
+ if ( $preventAddingInlineCodeToCombinedAssets ) {
726
  $settings['_combine_loaded_'.$assetType.'_append_handle_extra'] = '';
727
  } else {
728
  $settings['_combine_loaded_'.$assetType.'_append_handle_extra'] = 1;
729
  }
730
 
731
+ if ($isDebug) {
732
+ if ($preventAddingInlineCodeToCombinedAssets) {
733
+ echo 'Adding inline code to combined '.strtoupper($assetType).' has been deactivated as the total size of combined assets is '.$wpacuPathToCombineDirSize['total_size_mb'].' MB.<br />';
734
+ } else {
735
+ echo 'Adding inline code to combined '.strtoupper($assetType).' has been (re)activated as the total size of combined assets is '.$wpacuPathToCombineDirSize['total_size_mb'].' MB.<br />';
736
+ }
737
+ }
738
+
739
  if ($doSettingUpdate) {
740
  $settingsClass->updateOption(
741
  '_combine_loaded_'.$assetType.'_append_handle_extra',
classes/Sorting.php CHANGED
@@ -125,8 +125,8 @@ class Sorting
125
  } elseif ($pluginDir = self::matchesPluginCriteria($asset)) {
126
  // From plugins directory (usually /wp-content/plugins/)
127
  if ($pluginDir === 'n/a' && $src) {
128
- if (strpos($src, '/wp-content/plugins/') !== false) {
129
- $srcParts = explode('/wp-content/plugins/', $src);
130
  list ($pluginDir) = explode('/', $srcParts[1]);
131
  } else {
132
  $relSrc = str_replace($pluginsUrl, '', $src);
@@ -224,7 +224,7 @@ class Sorting
224
  $isElementorPlugin ||
225
  $isWooCommerceInline ||
226
  strpos( $src, plugins_url() ) !== false ||
227
- ((! empty($miscLocalSrc) && strpos($src, '/wp-content/plugins/') !== false) || strpos($src, '/wp-content/plugins/') === 0);
228
 
229
  if (! $isPlugin) {
230
  return false;
125
  } elseif ($pluginDir = self::matchesPluginCriteria($asset)) {
126
  // From plugins directory (usually /wp-content/plugins/)
127
  if ($pluginDir === 'n/a' && $src) {
128
+ if (strpos($src, '/'.Misc::getPluginsDir().'/') !== false) {
129
+ $srcParts = explode('/'.Misc::getPluginsDir().'/', $src);
130
  list ($pluginDir) = explode('/', $srcParts[1]);
131
  } else {
132
  $relSrc = str_replace($pluginsUrl, '', $src);
224
  $isElementorPlugin ||
225
  $isWooCommerceInline ||
226
  strpos( $src, plugins_url() ) !== false ||
227
+ ((! empty($miscLocalSrc) && strpos($src, '/'.Misc::getPluginsDir().'/') !== false) || strpos($src, '/'.Misc::getPluginsDir().'/') === 0);
228
 
229
  if (! $isPlugin) {
230
  return false;
classes/Update.php CHANGED
@@ -310,8 +310,8 @@ HTML;
310
  $this->updateEverywhereUnloads();
311
 
312
  // Any bulk unloads or removed? (e.g. all pages of a certain post type)
313
- $this->saveToBulkUnloads();
314
- $this->removeBulkUnloads($post->post_type);
315
 
316
  // "Contracted" or "Expanded" when managing the assets (for admin use only)
317
  self::updateHandleRowStatus();
@@ -328,6 +328,8 @@ HTML;
328
  // Any ignore deps
329
  self::updateIgnoreChild();
330
 
 
 
331
  self::clearTransients();
332
 
333
  // In case Combine CSS/JS was enabled and there are traces of JSON files in the caching directory
@@ -402,6 +404,18 @@ HTML;
402
  <?php
403
  }
404
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  /**
406
  * Lite: For Singular Page (Post, Page, Custom Post Type), Front Page (Home Page), On All Pages of a specific post type (post, page or custom)
407
  * Pro: 'for_pro' would trigger the actions from the premium extension (if available)
@@ -786,11 +800,13 @@ HTML;
786
  }
787
 
788
  /**
789
- *
790
  */
791
- public function saveToBulkUnloads()
792
  {
793
- global $post;
 
 
794
 
795
  $postType = isset( $post->post_type ) ? $post->post_type : false;
796
 
310
  $this->updateEverywhereUnloads();
311
 
312
  // Any bulk unloads or removed? (e.g. all pages of a certain post type)
313
+ $this->saveToBulkUnloads($post);
314
+ $this->removeBulkUnloads($post->post_type);
315
 
316
  // "Contracted" or "Expanded" when managing the assets (for admin use only)
317
  self::updateHandleRowStatus();
328
  // Any ignore deps
329
  self::updateIgnoreChild();
330
 
331
+ add_action('wpacu_admin_notices', array($this, 'pageUpdated'));
332
+
333
  self::clearTransients();
334
 
335
  // In case Combine CSS/JS was enabled and there are traces of JSON files in the caching directory
404
  <?php
405
  }
406
 
407
+ /**
408
+ *
409
+ */
410
+ public function pageUpdated()
411
+ {
412
+ ?>
413
+ <div class="updated notice wpacu-notice is-dismissible">
414
+ <p><?php echo $this->updateDoneMsg['page']; ?></p>
415
+ </div>
416
+ <?php
417
+ }
418
+
419
  /**
420
  * Lite: For Singular Page (Post, Page, Custom Post Type), Front Page (Home Page), On All Pages of a specific post type (post, page or custom)
421
  * Pro: 'for_pro' would trigger the actions from the premium extension (if available)
800
  }
801
 
802
  /**
803
+ * @param string $post
804
  */
805
+ public function saveToBulkUnloads($post = '')
806
  {
807
+ if ($post === '') {
808
+ global $post;
809
+ }
810
 
811
  $postType = isset( $post->post_type ) ? $post->post_type : false;
812
 
early-triggers.php CHANGED
@@ -39,7 +39,7 @@ if (! function_exists('assetCleanUpHasNoLoadMatches')) {
39
  $targetUri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; // Invalid request
40
  } else {
41
  // Passed from the Dashboard as an URL; Strip the prefix and hostname to keep only the URI
42
- $parseUrl = parse_url($targetUri);
43
  $targetUri = isset($parseUrl['path']) ? $parseUrl['path'] : '';
44
  }
45
 
@@ -215,11 +215,25 @@ if (! function_exists('assetCleanUpNoLoad')) {
215
  }
216
  }
217
 
218
- // "Divi" theme builder: Front-end View Edit Mode
219
- if ( (isset($_GET['et_fb']) && $_GET['et_fb']) || (isset($_SERVER['REQUEST_URI']) && strpos($_SERVER['REQUEST_URI'], 'et_fb=1') !== false) ) {
220
- define( 'WPACU_NO_LOAD_SET', true );
 
 
221
 
222
- return true;
 
 
 
 
 
 
 
 
 
 
 
 
223
  }
224
 
225
  // "Divi" theme builder: Do not trigger the plugin on AJAX calls
@@ -331,7 +345,7 @@ if (! function_exists('assetCleanUpNoLoad')) {
331
  }
332
 
333
  // Gravity Forms (called for uploading files)
334
- if ( ( ( isset($_GET['gf_page']) && $_GET['gf_page']) || isset($_GET['gf-download'], $_GET['form-id'] ) ) && is_file( WP_CONTENT_DIR . '/plugins/gravityforms/gravityforms.php' ) ) {
335
  define( 'WPACU_NO_LOAD_SET', true );
336
 
337
  return true;
@@ -368,29 +382,37 @@ if (! function_exists('assetCleanUpNoLoad')) {
368
 
369
  // REST Request
370
  if ( ( defined( 'REST_REQUEST' ) && REST_REQUEST )
371
- || ( strpos( $_SERVER['REQUEST_URI'], '/wp-json/wp/v2/' ) !== false )
372
- || ( strpos( $cleanRequestUri, '/wp-json/wc/' ) !== false )
373
  ) {
374
  define( 'WPACU_NO_LOAD_SET', true );
375
 
376
  return true;
377
  }
378
 
379
- $parseUrl = parse_url( get_site_url() );
380
- $parseUrlPath = isset( $parseUrl['path'] ) ? $parseUrl['path'] : '';
381
- $targetUriAfterSiteUrl = trim( str_replace( array( get_site_url(), $parseUrlPath ), '',
382
- $_SERVER['REQUEST_URI'] ), '/' );
 
 
 
383
 
384
  if ( strpos( $targetUriAfterSiteUrl, 'wp-json/' ) === 0 ) {
385
  // WooCommerce, Thrive Ovation
386
  if (strpos( $targetUriAfterSiteUrl, 'wp-json/wc/' ) === 0 || strpos( $targetUriAfterSiteUrl, 'wp-json/tvo/' ) === 0) {
387
  define( 'WPACU_NO_LOAD_SET', true );
 
388
  return true;
389
  }
390
 
391
  // Other plugins with a similar pattern
392
- if (preg_match('#/wp-json/(.*?)/v#', $targetUriAfterSiteUrl)) {
 
 
 
393
  define( 'WPACU_NO_LOAD_SET', true );
 
394
  return true;
395
  }
396
  }
39
  $targetUri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; // Invalid request
40
  } else {
41
  // Passed from the Dashboard as an URL; Strip the prefix and hostname to keep only the URI
42
+ $parseUrl = parse_url(rawurldecode($targetUri));
43
  $targetUri = isset($parseUrl['path']) ? $parseUrl['path'] : '';
44
  }
45
 
215
  }
216
  }
217
 
218
+ // If some users want to have Asset CleanUp loaded on Divi Builder to avoid loading certain plugins (for a faster page editor)
219
+ // they can do that by adding the following constant in wp-config.php
220
+ // define('WPACU_LOAD_ON_DIVI_BUILDER_EDIT', true);
221
+ $loadPluginOnDiviBuilderEdit = defined('WPACU_LOAD_ON_DIVI_BUILDER_EDIT') && WPACU_LOAD_ON_DIVI_BUILDER_EDIT;
222
+ $isDiviBuilderLoaded = ( isset( $_GET['et_fb'] ) && $_GET['et_fb'] ) || ( isset( $_SERVER['REQUEST_URI'] ) && strpos( $_SERVER['REQUEST_URI'], 'et_fb=1' ) !== false );
223
 
224
+ if ( ! $loadPluginOnDiviBuilderEdit ) {
225
+ // "Divi" theme builder: Front-end View Edit Mode
226
+ if ( $isDiviBuilderLoaded ) {
227
+ define( 'WPACU_NO_LOAD_SET', true );
228
+
229
+ return true;
230
+ }
231
+ } else {
232
+ // Since the user the constant WPACU_LOAD_ON_DIVI_BUILDER_EDIT, we'll check if the Divi Builder is ON
233
+ // And if it is set the constant WPACU_ALLOW_ONLY_UNLOAD_RULES to true which will allow only unload rules, but do not trigger any other ones such as preload/defer, etc.
234
+ if ( $isDiviBuilderLoaded && ! defined('WPACU_ALLOW_ONLY_UNLOAD_RULES') ) {
235
+ define( 'WPACU_ALLOW_ONLY_UNLOAD_RULES', true );
236
+ }
237
  }
238
 
239
  // "Divi" theme builder: Do not trigger the plugin on AJAX calls
345
  }
346
 
347
  // Gravity Forms (called for uploading files)
348
+ if ( ( ( isset($_GET['gf_page']) && $_GET['gf_page']) || isset($_GET['gf-download'], $_GET['form-id'] ) ) && is_file( WP_PLUGIN_DIR . '/gravityforms/gravityforms.php' ) ) {
349
  define( 'WPACU_NO_LOAD_SET', true );
350
 
351
  return true;
382
 
383
  // REST Request
384
  if ( ( defined( 'REST_REQUEST' ) && REST_REQUEST )
385
+ || ( isset($_SERVER['REQUEST_URI']) && strpos( $_SERVER['REQUEST_URI'], '/wp-json/wp/v2/' ) !== false )
386
+ || ( isset($_SERVER['REQUEST_URI']) && strpos( $cleanRequestUri, '/wp-json/wc/' ) !== false )
387
  ) {
388
  define( 'WPACU_NO_LOAD_SET', true );
389
 
390
  return true;
391
  }
392
 
393
+ $parseUrl = parse_url( get_site_url() );
394
+ $parseUrlPath = isset( $parseUrl['path'] ) ? $parseUrl['path'] : '';
395
+
396
+ // We want to make sure the RegEx rules will be working fine if certain characters (e.g. Thai ones) are used
397
+ $requestUriAsItIs = rawurldecode($_SERVER['REQUEST_URI']);
398
+
399
+ $targetUriAfterSiteUrl = trim( str_replace( array( get_site_url(), $parseUrlPath ), '', $requestUriAsItIs ), '/' ) ;
400
 
401
  if ( strpos( $targetUriAfterSiteUrl, 'wp-json/' ) === 0 ) {
402
  // WooCommerce, Thrive Ovation
403
  if (strpos( $targetUriAfterSiteUrl, 'wp-json/wc/' ) === 0 || strpos( $targetUriAfterSiteUrl, 'wp-json/tvo/' ) === 0) {
404
  define( 'WPACU_NO_LOAD_SET', true );
405
+
406
  return true;
407
  }
408
 
409
  // Other plugins with a similar pattern
410
+ if ($targetUriAfterSiteUrl === 'wp-json' ||
411
+ $targetUriAfterSiteUrl === 'wp-json/' ||
412
+ preg_match('#wp-json/(.*?)/v#', $targetUriAfterSiteUrl) ||
413
+ preg_match('#wp-json/(|\?)#', $targetUriAfterSiteUrl)) {
414
  define( 'WPACU_NO_LOAD_SET', true );
415
+
416
  return true;
417
  }
418
  }
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: gabelivan
3
  Tags: minify css, minify javascript, defer css javascript, page speed, dequeue, performance
4
  Donate link: https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=donate
5
  Requires at least: 4.5
6
- Tested up to: 5.7
7
- Stable tag: 1.3.7.7
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl.html
10
 
@@ -190,11 +190,30 @@ With the recently released "Test Mode" feature, you can safely unload assets on
190
  4. Homepage CSS & JS Management (List sorted by location)
191
 
192
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  = 1.3.7.7 =
194
  * The layout of a CSS/JS area is changed on the make exception area & a new option was added to make an exception from any unload rule on pages belonging to a specific post type (e.g. unload site-wide, but keep the asset loaded on all WooCommerce 'product' pages)
195
- * Oxygen plugin edit mode: Allow Asset CleanUp Pro to trigger plugin & CSS/JS unload rules when the page editor is on to make the editor load faster via define('WPACU_LOAD_ON_OXYGEN_BUILDER_EDIT', true); that can be set in wp-config.php
196
  * In specific DIVI powered websites, the "PageSpeed" parameter is appended to the URL from the client-side, thus make sure to only check for "et_fb" when detecting if the DIVI builder is on to avoid loading Asset CleanUp Pro there
197
  * Fix: Make sure that for languages such as Arabic where the Dashboard's menu is shown on the right side, the plugin's icon is not misaligned
 
198
 
199
  = 1.3.7.6 =
200
  * Fix: Make sure WP Rocket is fully triggered when the assets are fetched via Asset CleanUp, as the "Uncode" theme is calling get_rocket_option() without checking if the function exists
3
  Tags: minify css, minify javascript, defer css javascript, page speed, dequeue, performance
4
  Donate link: https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=donate
5
  Requires at least: 4.5
6
+ Tested up to: 5.7.2
7
+ Stable tag: 1.3.7.8
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl.html
10
 
190
  4. Homepage CSS & JS Management (List sorted by location)
191
 
192
  == Changelog ==
193
+ = 1.3.7.8 =
194
+ * New Option: Manage assets loading for posts, pages, and custom post types within "CSS & JS MANAGER" -> "MANAGE CSS/JS" without the need to go to edit post/page area which is often bulky and could have too many fields from the theme & other plugins leading to a higher number than the one set in php.ini for "max_input_vars"
195
+ * Higher accuracy in preventing the plugin from triggering when there are REST requests
196
+ * Improvement: Make sure "&display=" is added (if enabled) to Google Fonts links if their URL is changed to fit in JSON formats or JavaScript variables
197
+ * Divi builder edit mode: Allow Asset CleanUp Pro to trigger plugin & CSS/JS unload rules when the page editor is on to make the editor load faster via define('WPACU_LOAD_ON_DIVI_BUILDER_EDIT', true); that can be set in wp-config.php / read more: https://www.assetcleanup.com/docs/?p=1260
198
+ * Cache Enabler (compatibility with older versions): Make sure the deprecated "cache_enabler_before_store" hook is in use
199
+ * Unload "photoswipe" fix: If WooCommerce's PhotoSwipe was unloaded, empty dots were printed at the bottom of the page from unused/unneeded HTML (hide it by marking the DIV with the "pswp" class as hidden)
200
+ * Improvement: Only use 'type="text/css"' when it's needed (e.g. an older theme is used that doesn't support HTML5)
201
+ * Improvement: Make SweetAlert2 independent (styling, functionality) from other SweetAlert scripts that might be loaded from other plugins/themes (e.g. "WooCommerce Quickbooks Connector" export in an edit product page was not working)
202
+ * Minify CSS/JS improvement: From now on, the minification can be either applied to files, inline JS code, or both (before, the files minification had to be enabled to files first and then to inline JS code; sometimes, users just wanted to minify inline code and leave the files untouched)
203
+ * Fix: Clearing load exceptions from "Overview" didn't work for all pages of a certain post type
204
+ * Fix: Make sure the plugin works well (e.g. without any PHP errors) if the plugins' directory is changed (e.g. from "plugins" to "plugins-custom-name")
205
+ * Fix: Better detection for the homepage (e.g. the latest posts page was mistaken with the homepage in the front-end view of the CSS/JS manager)
206
+ * Fix: Better detection for the singular page; Make sure the latest posts page such as the "Blog" one is also checked)
207
+ * Fix: On some WordPress installations, the plugin's menu icon from the Dashboard's sidebar was not showing properly (the height was too large)
208
+ * Fix: If there are too many assets/plugins unloaded, when showing up in the top admin bar menu, the list was not scrollable (e.g. only 20 out of 40 assets were shown because the height of the browser's window wasn't large enough which can not be expanded on smaller devices)
209
+ * Fix: If the current theme supports HTML5, the 'type="text/javascript"' attribute is not added any more to altered SCRIPT tags by Asset CleanUp, thus avoiding any errors from W3C validators
210
+
211
  = 1.3.7.7 =
212
  * The layout of a CSS/JS area is changed on the make exception area & a new option was added to make an exception from any unload rule on pages belonging to a specific post type (e.g. unload site-wide, but keep the asset loaded on all WooCommerce 'product' pages)
213
+ * Oxygen plugin edit mode: Allow Asset CleanUp Pro to trigger plugin & CSS/JS unload rules when the page editor is on to make the editor load faster via define('WPACU_LOAD_ON_OXYGEN_BUILDER_EDIT', true); that can be set in wp-config.php / read more: https://www.assetcleanup.com/docs/?p=1200
214
  * In specific DIVI powered websites, the "PageSpeed" parameter is appended to the URL from the client-side, thus make sure to only check for "et_fb" when detecting if the DIVI builder is on to avoid loading Asset CleanUp Pro there
215
  * Fix: Make sure that for languages such as Arabic where the Dashboard's menu is shown on the right side, the plugin's icon is not misaligned
216
+ * Fix: When "Update" button is clicked on edit post/page (Gutenberg mode), while there's no CSS/JS list fetched ("Fetch the assets on a button click" is on), make sure the list is not fetched after the page is saved (it's only refreshed if it was loaded in the first place)
217
 
218
  = 1.3.7.6 =
219
  * Fix: Make sure WP Rocket is fully triggered when the assets are fetched via Asset CleanUp, as the "Uncode" theme is calling get_rocket_option() without checking if the function exists
templates/_admin-page-settings-plugin-areas/_fonts-google/_optimize-area.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- if (! isset($data)) {
3
  exit;
4
  }
5
  ?>
@@ -66,8 +66,9 @@ if ($data['google_fonts_remove']) {
66
  <li>
67
  <code>
68
  <?php
 
69
  $asyncWebFontLoaderSnippet = <<<HTML
70
- &lt;script id='wpacu-google-fonts-async-load' type='text/javascript'&gt;
71
  WebFontConfig = { google: { families: ['Droid+Sans', 'Inconsolata:bold'] } };
72
  (function(wpacuD) {
73
  &nbsp;&nbsp;var wpacuWf = wpacuD.createElement('script'), wpacuS = wpacuD.scripts[0];
@@ -103,7 +104,7 @@ HTML;
103
  <code>
104
  <?php
105
  $asyncPreloadSnippet = <<<HTML
106
- &lt;link rel="preload" as="style" onload="this.rel='stylesheet'" id="wpacu-combined-google-fonts-css-preload" href="https://fonts.googleapis.com/css?family=Droid+Sans|Inconsolata:bold"&gt;
107
  &lt;noscript&gt;&lt;link rel="stylesheet" id="wpacu-combined-google-fonts-css" href="https://fonts.googleapis.com/css?family=Droid+Sans|Inconsolata:bold"&gt;&lt;/noscript&gt;
108
  HTML;
109
 
1
  <?php
2
+ if (! isset($data, $ddOptions)) {
3
  exit;
4
  }
5
  ?>
66
  <li>
67
  <code>
68
  <?php
69
+ $typeAttr = \WpAssetCleanUp\Misc::getScriptTypeAttribute();
70
  $asyncWebFontLoaderSnippet = <<<HTML
71
+ &lt;script id='wpacu-google-fonts-async-load' {$typeAttr}&gt;
72
  WebFontConfig = { google: { families: ['Droid+Sans', 'Inconsolata:bold'] } };
73
  (function(wpacuD) {
74
  &nbsp;&nbsp;var wpacuWf = wpacuD.createElement('script'), wpacuS = wpacuD.scripts[0];
104
  <code>
105
  <?php
106
  $asyncPreloadSnippet = <<<HTML
107
+ &lt;link rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'" id="wpacu-combined-google-fonts-css-preload" href="https://fonts.googleapis.com/css?family=Droid+Sans|Inconsolata:bold"&gt;
108
  &lt;noscript&gt;&lt;link rel="stylesheet" id="wpacu-combined-google-fonts-css" href="https://fonts.googleapis.com/css?family=Droid+Sans|Inconsolata:bold"&gt;&lt;/noscript&gt;
109
  HTML;
110
 
templates/_admin-page-settings-plugin-areas/_optimize-css.php CHANGED
@@ -57,6 +57,7 @@ $availableForPro = '<a class="go-pro-link-no-style" target="_blank" href="' . WP
57
  value="1" /> <span class="wpacu_slider wpacu_round"></span> </label>
58
 
59
  &nbsp;<?php _e('This will take the remaining enqueued CSS files, minify them and load them from the cache.', 'wp-asset-clean-up'); ?>
 
60
 
61
  <?php
62
  if (! empty($data['is_optimize_css_enabled_by_other_party'])) {
@@ -73,13 +74,45 @@ $availableForPro = '<a class="go-pro-link-no-style" target="_blank" href="' . WP
73
  $minifyCssExceptionsAreaStyle = empty($data['is_optimize_css_enabled_by_other_party']) && ($data['minify_loaded_css'] == 1) ? 'opacity: 1;' : 'opacity: 0.4;';
74
  ?>
75
  <div id="wpacu_minify_css_area" style="<?php echo $minifyCssExceptionsAreaStyle; ?>">
76
- <div style="padding: 10px; background: #f2faf2;" class="wpacu-fancy-checkbox">
77
- <input id="minify_loaded_css_inline_checkbox"
78
- name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[minify_loaded_css_inline]"
79
- <?php echo (($data['minify_loaded_css_inline'] == 1) ? 'checked="checked"' : ''); ?>
80
- type="checkbox"
81
- value="1" />
82
- <label for="minify_loaded_css_inline_checkbox"> Minify inline CSS content within STYLE tags</label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  </div>
84
 
85
  <div id="wpacu_minify_css_exceptions_area">
57
  value="1" /> <span class="wpacu_slider wpacu_round"></span> </label>
58
 
59
  &nbsp;<?php _e('This will take the remaining enqueued CSS files, minify them and load them from the cache.', 'wp-asset-clean-up'); ?>
60
+ <?php _e('You might want to minify the local files, the inline CSS code within STYLE tags or both.', 'wp-asset-clean-up'); ?>
61
 
62
  <?php
63
  if (! empty($data['is_optimize_css_enabled_by_other_party'])) {
74
  $minifyCssExceptionsAreaStyle = empty($data['is_optimize_css_enabled_by_other_party']) && ($data['minify_loaded_css'] == 1) ? 'opacity: 1;' : 'opacity: 0.4;';
75
  ?>
76
  <div id="wpacu_minify_css_area" style="<?php echo $minifyCssExceptionsAreaStyle; ?>">
77
+ <!-- -->
78
+
79
+ <div style="margin-top: 8px; padding: 12px; background: #f2faf2; border-radius: 10px;">
80
+ <ul style="margin: 0;">
81
+ <li style="float: left; margin-right: 30px; margin-bottom: 0; line-height: 32px;" class="wpacu-fancy-radio">
82
+ <label for="minify_loaded_css_for_link_href_radio">
83
+ <input id="minify_loaded_css_for_link_href_radio"
84
+ style="margin: -1px 0 0;"
85
+ <?php echo (in_array($data['minify_loaded_css_for'], array('href', '')) ? 'checked="checked"' : ''); ?>
86
+ type="radio"
87
+ name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[minify_loaded_css_for]"
88
+ value="href" />
89
+ &nbsp;<?php _e('LINK tags with "href" attribute', 'wp-asset-clean-up'); ?> (<?php echo __('default', 'wp-asset-clean-up'); ?>)
90
+ </label>
91
+ </li>
92
+ <li style="float: left; margin-right: 30px; margin-bottom: 0; line-height: 32px;" class="wpacu-fancy-radio">
93
+ <label for="minify_loaded_css_for_style_inline_radio">
94
+ <input id="minify_loaded_css_for_style_inline_radio"
95
+ style="margin: -1px 0 0;"
96
+ <?php echo (($data['minify_loaded_css_for'] === 'inline') ? 'checked="checked"' : ''); ?>
97
+ type="radio"
98
+ name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[minify_loaded_css_for]"
99
+ value="inline" />
100
+ &nbsp;<?php _e('STYLE tags with inline CSS code ', 'wp-asset-clean-up'); ?>
101
+ </label>
102
+ </li>
103
+ <li style="float: left; margin-bottom: 0; line-height: 32px;" class="wpacu-fancy-radio">
104
+ <label for="minify_loaded_css_for_link_style_all_radio">
105
+ <input id="minify_loaded_css_for_link_style_all_radio"
106
+ style="margin: -1px 0 0;"
107
+ <?php echo (($data['minify_loaded_css_for'] === 'all') ? 'checked="checked"' : ''); ?>
108
+ type="radio"
109
+ name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[minify_loaded_css_for]"
110
+ value="all" />
111
+ &nbsp;<?php _e('All LINK &amp; STYLE tags', 'wp-asset-clean-up'); ?> * <small>both options</small>
112
+ </label>
113
+ </li>
114
+ </ul>
115
+ <div style="clear: both;"></div>
116
  </div>
117
 
118
  <div id="wpacu_minify_css_exceptions_area">
templates/_admin-page-settings-plugin-areas/_optimize-js.php CHANGED
@@ -51,9 +51,13 @@ $availableForProMoveScriptsToBody = '<a class="go-pro-link-no-style" target="_bl
51
  ?>
52
  name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[minify_loaded_js]"
53
  value="1" /> <span class="wpacu_slider wpacu_round"></span></label>
 
54
  &nbsp;&nbsp;<?php _e('This will take the remaining enqueued JavaScript files, minify them and load them from the cache.', 'wp-asset-clean-up'); ?>
 
55
 
56
- <?php
 
 
57
  if (! empty($data['is_optimize_js_enabled_by_other_party'])) {
58
  ?>
59
  <div style="border-left: 4px solid green; background: #f2faf2; padding: 10px; margin-top: 10px;">
@@ -68,14 +72,47 @@ $availableForProMoveScriptsToBody = '<a class="go-pro-link-no-style" target="_bl
68
  $minifyJsExceptionsAreaStyle = empty($data['is_optimize_js_enabled_by_other_party']) && ($data['minify_loaded_js'] == 1) ? 'opacity: 1;' : 'opacity: 0.4;';
69
  ?>
70
  <div id="wpacu_minify_js_area" style="<?php echo $minifyJsExceptionsAreaStyle; ?>">
71
- <div style="padding: 10px; background: #f2faf2;" class="wpacu-fancy-checkbox">
72
- <input id="minify_loaded_js_inline_checkbox"
73
- name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[minify_loaded_js_inline]"
74
- <?php echo (($data['minify_loaded_js_inline'] == 1) ? 'checked="checked"' : ''); ?>
75
- type="checkbox"
76
- value="1" />
77
- <label for="minify_loaded_js_inline_checkbox"> Minify inline JavaScript content within SCRIPT tags</label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  </div>
 
79
  <div id="wpacu_minify_js_exceptions_area">
80
  <div style="margin: 8px 0 6px;"><?php _e('Do not minify the JavaScript files matching the patterns below (one per line)', 'wp-asset-clean-up'); ?>:</div>
81
  <label for="wpacu_minify_js_exceptions">
51
  ?>
52
  name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[minify_loaded_js]"
53
  value="1" /> <span class="wpacu_slider wpacu_round"></span></label>
54
+
55
  &nbsp;&nbsp;<?php _e('This will take the remaining enqueued JavaScript files, minify them and load them from the cache.', 'wp-asset-clean-up'); ?>
56
+ <?php _e('You might want to minify the local files, the inline JS code within SCRIPT tags or both.', 'wp-asset-clean-up'); ?>
57
 
58
+ <div style="clear: both; margin-top: 12px;"></div>
59
+
60
+ <?php
61
  if (! empty($data['is_optimize_js_enabled_by_other_party'])) {
62
  ?>
63
  <div style="border-left: 4px solid green; background: #f2faf2; padding: 10px; margin-top: 10px;">
72
  $minifyJsExceptionsAreaStyle = empty($data['is_optimize_js_enabled_by_other_party']) && ($data['minify_loaded_js'] == 1) ? 'opacity: 1;' : 'opacity: 0.4;';
73
  ?>
74
  <div id="wpacu_minify_js_area" style="<?php echo $minifyJsExceptionsAreaStyle; ?>">
75
+ <!-- -->
76
+
77
+ <div style="margin-top: 8px; padding: 12px; background: #f2faf2; border-radius: 10px;">
78
+ <ul style="margin: 0;">
79
+ <li style="float: left; margin-right: 30px; margin-bottom: 0; line-height: 32px;" class="wpacu-fancy-radio">
80
+ <label for="minify_loaded_js_for_script_src_radio">
81
+ <input id="minify_loaded_js_for_script_src_radio"
82
+ style="margin: -1px 0 0;"
83
+ <?php echo (in_array($data['minify_loaded_js_for'], array('src', '')) ? 'checked="checked"' : ''); ?>
84
+ type="radio"
85
+ name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[minify_loaded_js_for]"
86
+ value="src" />
87
+ &nbsp;<?php _e('SCRIPT tags with "src" attribute', 'wp-asset-clean-up'); ?> (<?php echo __('default', 'wp-asset-clean-up'); ?>)
88
+ </label>
89
+ </li>
90
+ <li style="float: left; margin-right: 30px; margin-bottom: 0; line-height: 32px;" class="wpacu-fancy-radio">
91
+ <label for="minify_loaded_js_for_script_inline_radio">
92
+ <input id="minify_loaded_js_for_script_inline_radio"
93
+ style="margin: -1px 0 0;"
94
+ <?php echo (($data['minify_loaded_js_for'] === 'inline') ? 'checked="checked"' : ''); ?>
95
+ type="radio"
96
+ name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[minify_loaded_js_for]"
97
+ value="inline" />
98
+ &nbsp;<?php _e('SCRIPT tags with inline JS code ', 'wp-asset-clean-up'); ?>
99
+ </label>
100
+ </li>
101
+ <li style="float: left; margin-bottom: 0; line-height: 32px;" class="wpacu-fancy-radio">
102
+ <label for="minify_loaded_js_for_script_all_radio">
103
+ <input id="minify_loaded_js_for_script_all_radio"
104
+ style="margin: -1px 0 0;"
105
+ <?php echo (($data['minify_loaded_js_for'] === 'all') ? 'checked="checked"' : ''); ?>
106
+ type="radio"
107
+ name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[minify_loaded_js_for]"
108
+ value="all" />
109
+ &nbsp;<?php _e('All SCRIPT tags', 'wp-asset-clean-up'); ?> * <small>both options</small>
110
+ </label>
111
+ </li>
112
+ </ul>
113
+ <div style="clear: both;"></div>
114
  </div>
115
+
116
  <div id="wpacu_minify_js_exceptions_area">
117
  <div style="margin: 8px 0 6px;"><?php _e('Do not minify the JavaScript files matching the patterns below (one per line)', 'wp-asset-clean-up'); ?>:</div>
118
  <label for="wpacu_minify_js_exceptions">
templates/_admin-page-settings-plugin-areas/_plugin-usage-settings.php CHANGED
@@ -6,6 +6,8 @@ if (! isset($data, $selectedTabArea)) {
6
  exit;
7
  }
8
 
 
 
9
  $tabIdArea = 'wpacu-setting-plugin-usage-settings';
10
  $styleTabContent = ($selectedTabArea === $tabIdArea) ? 'style="display: table-cell;"' : '';
11
 
@@ -471,7 +473,7 @@ foreach (\WpAssetCleanUp\MetaBoxes::$noMetaBoxesForPostTypes as $noMetaBoxesForP
471
  </table>
472
  </div>
473
 
474
- <style type="text/css">
475
  #wpacu-show-tracked-data-list-modal {
476
  margin: 14px 0 0;
477
  }
6
  exit;
7
  }
8
 
9
+ use WpAssetCleanUp\Misc;
10
+
11
  $tabIdArea = 'wpacu-setting-plugin-usage-settings';
12
  $styleTabContent = ($selectedTabArea === $tabIdArea) ? 'style="display: table-cell;"' : '';
13
 
473
  </table>
474
  </div>
475
 
476
+ <style <?php echo Misc::getStyleTypeAttribute(); ?>>
477
  #wpacu-show-tracked-data-list-modal {
478
  margin: 14px 0 0;
479
  }
templates/_admin-pages-assets-manager/_author.php CHANGED
@@ -21,6 +21,6 @@ $lockedForPro = str_replace('[wpacu_chosen_page_type]', $baseNamePageType, $data
21
 
22
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
23
 
24
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Front-end?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled and you're logged in:</p>
25
  <p style="margin-top: 0;">Go to the author archive page and scroll to the bottom of the page where you will see the list.</p>
26
  </div>
21
 
22
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
23
 
24
+ <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes" style="color: green;"></span> If "Manage in the Front-end?" is enabled and you're logged in:</p>
25
  <p style="margin-top: 0;">Go to the author archive page and scroll to the bottom of the page where you will see the list.</p>
26
  </div>
templates/_admin-pages-assets-manager/_category.php CHANGED
@@ -19,9 +19,9 @@ $lockedForPro = str_replace('[wpacu_chosen_page_type]', $baseNamePageType, $data
19
 
20
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
21
 
22
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Dashboard?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled:</p>
23
- <p style="margin-top: 0;">Go to "Posts" -&gt; "Categories" -&gt; [Choose the category you want to manage the assets for and click on its name] -&gt; Scroll to "Asset CleanUp Pro" area where you will see the loaded CSS &amp; JavaScript files.</p>
24
  <hr />
25
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Front-end?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled and you're logged in:</p>
26
  <p style="margin-top: 0;">Go to the category's page permalink ("View" link under its name in the Dashboard list) such as <code>/www.yoursite.com/category/my-category-title/</code> where you want to manage the files and scroll to the bottom of the page where you will see the list.</p>
27
  </div>
19
 
20
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
21
 
22
+ <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes" style="color: green;"></span> If "Manage in the Dashboard?" is enabled:</p>
23
+ <p style="margin-top: 0;">Go to <a target="_blank" href="<?php echo admin_url('edit-tags.php?taxonomy=category'); ?>">"Posts" &#187; "Categories"</a> &#187; [Choose the category you want to manage the assets for and click on its name] -&gt; Scroll to "<?php echo WPACU_PLUGIN_TITLE; ?>" area where you will see the loaded CSS &amp; JavaScript files.</p>
24
  <hr />
25
+ <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes" style="color: green;"></span> If "Manage in the Front-end?" is enabled and you're logged in:</p>
26
  <p style="margin-top: 0;">Go to the category's page permalink ("View" link under its name in the Dashboard list) such as <code>/www.yoursite.com/category/my-category-title/</code> where you want to manage the files and scroll to the bottom of the page where you will see the list.</p>
27
  </div>
templates/_admin-pages-assets-manager/_custom-post-types.php CHANGED
@@ -26,15 +26,29 @@ if (! isset($data)) {
26
  </div>
27
  <?php
28
  }
29
- ?>
30
 
 
 
31
  <p>Popular examples: 'product' created by WooCommerce, 'download' created by Easy Digital Downloads etc. &#10230; <a target="_blank" href="https://wordpress.org/support/article/post-types/#custom-post-types"><?php _e('read more', 'wp-asset-clean-up'); ?></a></p>
 
 
 
 
 
 
 
 
32
 
33
- <strong>How to retrieve the loaded styles &amp; scripts?</strong>
 
 
 
 
 
 
 
 
34
 
35
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Dashboard?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled:</p>
36
- <p style="margin-top: 0;">Go to "Products" -&gt; "All Products" -&gt; [Choose the page you want to manage the assets for] -&gt; Scroll to "Asset CleanUp" meta box where you will see the loaded CSS &amp; JavaScript files</p>
37
- <hr />
38
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Front-end?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled and you're logged in:</p>
39
- <p style="margin-top: 0;">Go to the product page where you want to manage the files and scroll to the bottom of the page where you will see the list.</p>
40
  </div>
26
  </div>
27
  <?php
28
  }
 
29
 
30
+ $data['post_id'] = (isset($_GET['wpacu_post_id']) && $_GET['wpacu_post_id']) ? $_GET['wpacu_post_id'] : false;
31
+ ?>
32
  <p>Popular examples: 'product' created by WooCommerce, 'download' created by Easy Digital Downloads etc. &#10230; <a target="_blank" href="https://wordpress.org/support/article/post-types/#custom-post-types"><?php _e('read more', 'wp-asset-clean-up'); ?></a></p>
33
+ <?php
34
+ $data['dashboard_edit_not_allowed'] = false;
35
+
36
+ require_once __DIR__.'/common/_is-dashboard-edit-allowed.php';
37
+
38
+ if ($data['dashboard_edit_not_allowed']) {
39
+ return; // stop here as the message about the restricted access has been printed
40
+ }
41
 
42
+ if ($data['post_id']) {
43
+ // There's a POST ID requested in the URL / Show the assets
44
+ $data['post_type'] = get_post_type($data['post_id']);
45
+ do_action('wpacu_admin_notices');
46
+ require_once __DIR__.'/_singular-page.php';
47
+ } else {
48
+ // There's no POST ID requested
49
+ $data['post_type'] = '';
50
+ require_once '_singular-page-search-form.php';
51
 
52
+ }
53
+ ?>
 
 
 
54
  </div>
templates/_admin-pages-assets-manager/_custom-taxonomy.php CHANGED
@@ -19,9 +19,9 @@ $lockedForPro = str_replace('[wpacu_chosen_page_type]', $baseNamePageType, $data
19
 
20
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
21
 
22
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Dashboard?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled:</p>
23
  <p style="margin-top: 0;">Go to "Products" -&gt; "Categories" -&gt; [Choose the category you want to manage the assets for and click on its name] -&gt; Scroll to "Asset CleanUp Pro" area where you will see the loaded CSS &amp; JavaScript files.</p>
24
  <hr />
25
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Front-end?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled and you're logged in:</p>
26
  <p style="margin-top: 0;">Go to the product category's page permalink ("View" link under its name in the Dashboard list) such as <code>//www.yoursite.com/product-category/clothing/</code> where you want to manage the files and scroll to the bottom of the page where you will see the list.</p>
27
  </div>
19
 
20
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
21
 
22
+ <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes" style="color: green;"></span> If "Manage in the Dashboard?" is enabled:</p>
23
  <p style="margin-top: 0;">Go to "Products" -&gt; "Categories" -&gt; [Choose the category you want to manage the assets for and click on its name] -&gt; Scroll to "Asset CleanUp Pro" area where you will see the loaded CSS &amp; JavaScript files.</p>
24
  <hr />
25
+ <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes" style="color: green;"></span> If "Manage in the Front-end?" is enabled and you're logged in:</p>
26
  <p style="margin-top: 0;">Go to the product category's page permalink ("View" link under its name in the Dashboard list) such as <code>//www.yoursite.com/product-category/clothing/</code> where you want to manage the files and scroll to the bottom of the page where you will see the list.</p>
27
  </div>
templates/_admin-pages-assets-manager/_date.php CHANGED
@@ -21,6 +21,6 @@ $lockedForPro = str_replace('[wpacu_chosen_page_type]', $baseNamePageType, $data
21
 
22
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
23
 
24
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Front-end?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled and you're logged in:</p>
25
  <p style="margin-top: 0;">Go to the date archive page (any valid date you wish as the unload rules will apply to all date pages) and scroll to the bottom of the page where you will see the list.</p>
26
  </div>
21
 
22
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
23
 
24
+ <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes" style="color: green;"></span> If "Manage in the Front-end?" is enabled and you're logged in:</p>
25
  <p style="margin-top: 0;">Go to the date archive page (any valid date you wish as the unload rules will apply to all date pages) and scroll to the bottom of the page where you will see the list.</p>
26
  </div>
templates/_admin-pages-assets-manager/_homepage.php CHANGED
@@ -6,11 +6,8 @@ if (! isset($data)) {
6
  exit;
7
  }
8
  ?>
9
- <div style="margin: 30px 0 0;" class="cleafix"></div>
10
-
11
  <?php
12
- do_action('wpacu_admin_notices');
13
-
14
  if ( ! \WpAssetCleanUp\Main::instance()->currentUserCanViewAssetsList() ) {
15
  ?>
16
  <div class="error" style="padding: 10px;">
@@ -19,78 +16,49 @@ if ( ! \WpAssetCleanUp\Main::instance()->currentUserCanViewAssetsList() ) {
19
  return;
20
  }
21
 
22
- if ($data['wpacu_settings']['dashboard_show'] != 1) {
23
- ?>
24
- <div class="error" style="padding: 10px;"><?php echo sprintf(__('As "Manage in the Dashboard?" is not enabled in "%sSettings%s", you can not manage the assets from the Dashboard.', 'wp-asset-clean-up'), '<a target="_blank" href="'.admin_url('admin.php?page=wpassetcleanup_settings').'">', '</a>'); ?></div>
25
- <?php
26
- return;
 
27
  }
28
 
29
- if ($data['show_on_front'] === 'page') {
30
- $anyMetaBoxHidden = $data['wpacu_settings']['hide_assets_meta_box'] || $data['wpacu_settings']['hide_options_meta_box'];
31
 
32
- if ( $anyMetaBoxHidden ) {
33
- ?>
34
- <div class="wpacu-warning" style="width: 95%; margin: -10px 0 15px; padding: 10px; font-size: inherit;">
35
- <strong><span class="dashicons dashicons-warning" style="color: orange;"></span> Important
36
- Reminder:</strong> The following meta boxes were marked to be hidden in plugin's "Settings" &#187;
37
- "Plugin Usage Preferences":
38
- <ul style="margin-bottom: 0; list-style: circle; padding-left: 25px;">
39
- <?php if ( $data['wpacu_settings']['hide_assets_meta_box'] ) { ?>
40
- <li><strong><?php echo WPACU_PLUGIN_TITLE; ?>: CSS &amp; JavaScript Manager</strong> * <em>to see
41
- the CSS/JS list, you need to make the meta box visible again</em></li>
42
- <?php } ?>
43
-
44
- <?php if ( $data['wpacu_settings']['hide_options_meta_box'] ) { ?>
45
- <li><strong><?php echo WPACU_PLUGIN_TITLE; ?>: Options</strong> * <em>to prevent
46
- minify/combine/unload settings per page, you need to make the meta box visible again</em>
47
- </li>
48
- <?php } ?>
49
- </ul>
50
- </div>
51
- <?php
52
- }
53
  ?>
54
- <div class="wpacu-notice-info" style="width: 95%;">
55
- <p><?php _e( 'In "Settings" &#187; "Reading" you have selected a static page for "Front page displays" setting.',
56
- 'wp-asset-clean-up' ); ?></p>
57
- <p><?php _e( 'To manage the assets (.CSS &amp; .JS), use the button(s) below:', 'wp-asset-clean-up' ); ?></p>
58
-
59
- <table class="wp-list-table widefat fixed striped pages" style="margin-bottom: 4px;">
60
- <?php
61
- if ( $data['page_on_front'] ) {
62
- ?>
63
- <tr>
64
- <td style="width: 80px; vertical-align: middle;"><?php _e( 'Front page:',
65
- 'wp-asset-clean-up' ); ?></td>
66
- <td><a class="button button-secondary button-large"
67
- href="<?php echo admin_url( 'post.php?post=' . $data['page_on_front'] . '&action=edit#' . WPACU_PLUGIN_ID . '_asset_list' ); ?>"><span
68
- class="dashicons dashicons-admin-page" style="vertical-align: middle;"></span>
69
- <strong><?php echo $data['page_on_front_title']; ?></strong></a></td>
70
- </tr>
71
- <?php
72
- }
73
- ?>
74
- <?php
75
- if ( $data['page_for_posts'] ) {
76
- ?>
77
- <tr>
78
- <td style="width: 80px; vertical-align: middle;"><?php _e( 'Posts page:',
79
- 'wp-asset-clean-up' ); ?></td>
80
- <td><a class="button button-secondary button-large"
81
- href="<?php echo admin_url( 'post.php?post=' . $data['page_for_posts'] . '&action=edit#' . WPACU_PLUGIN_ID . '_asset_list' ); ?>"><span
82
- class="dashicons dashicons-admin-page" style="vertical-align: middle;"></span>
83
- <strong><?php echo $data['page_for_posts_title']; ?></strong></a></td>
84
- </tr>
85
- <?php
86
- }
87
- ?>
88
- </table>
89
  </div>
90
- <p><?php echo sprintf( __( 'To read more about creating a static front page in WordPress, %scheck the Codex%s.',
91
- 'wp-asset-clean-up' ),
92
- '<a target="_blank" href="https://codex.wordpress.org/Creating_a_Static_Front_Page">', '</a>' ); ?></p>
93
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  } elseif (assetCleanUpHasNoLoadMatches($data['site_url'])) { // Asset CleanUp Pro is set not to load for the front-page
95
  ?>
96
  <p class="wpacu_verified">
@@ -114,7 +82,7 @@ if ($data['show_on_front'] === 'page') {
114
 
115
  $wpacuAdminUrl = admin_url($strAdminUrl);
116
  ?>
117
- <form id="wpacu_home_page_form" method="post" action="<?php echo $wpacuAdminUrl; ?>">
118
  <input type="hidden"
119
  name="wpacu_manage_home_page_assets"
120
  value="1" />
@@ -169,4 +137,4 @@ if ($data['show_on_front'] === 'page') {
169
  </div>
170
  </form>
171
  <?php
172
- }
6
  exit;
7
  }
8
  ?>
9
+ <div style="margin: 18px 0 0;" class="clearfix"></div>
 
10
  <?php
 
 
11
  if ( ! \WpAssetCleanUp\Main::instance()->currentUserCanViewAssetsList() ) {
12
  ?>
13
  <div class="error" style="padding: 10px;">
16
  return;
17
  }
18
 
19
+ $data['dashboard_edit_not_allowed'] = false;
20
+
21
+ require_once __DIR__.'/common/_is-dashboard-edit-allowed.php';
22
+
23
+ if ($data['dashboard_edit_not_allowed']) {
24
+ return; // stop here as the message about the restricted access has been printed
25
  }
26
 
27
+ $anyMetaBoxHidden = $data['wpacu_settings']['hide_assets_meta_box'] || $data['wpacu_settings']['hide_options_meta_box'];
 
28
 
29
+ if ( $anyMetaBoxHidden ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  ?>
31
+ <div class="wpacu-warning" style="width: 95%; margin: -10px 0 15px; padding: 10px; font-size: inherit;">
32
+ <strong><span class="dashicons dashicons-warning" style="color: orange;"></span> Important
33
+ Reminder:</strong> The following meta boxes were marked to be hidden in plugin's "Settings" &#187;
34
+ "Plugin Usage Preferences":
35
+ <ul style="margin-bottom: 0; list-style: circle; padding-left: 25px;">
36
+ <?php if ( $data['wpacu_settings']['hide_assets_meta_box'] ) { ?>
37
+ <li><strong><?php echo WPACU_PLUGIN_TITLE; ?>: CSS &amp; JavaScript Manager</strong> * <em>to see
38
+ the CSS/JS list, you need to make the meta box visible again</em></li>
39
+ <?php } ?>
40
+
41
+ <?php if ( $data['wpacu_settings']['hide_options_meta_box'] ) { ?>
42
+ <li><strong><?php echo WPACU_PLUGIN_TITLE; ?>: Options</strong> * <em>to prevent
43
+ minify/combine/unload settings per page, you need to make the meta box visible again</em>
44
+ </li>
45
+ <?php } ?>
46
+ </ul>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  </div>
 
 
 
48
  <?php
49
+ }
50
+
51
+ if ($data['show_on_front'] === 'page' && $data['page_on_front']) {
52
+ ?>
53
+
54
+ <p><?php echo sprintf( __( 'To read more about creating a static front page in WordPress, %scheck the Codex%s.', 'wp-asset-clean-up' ), '<a target="_blank" href="https://codex.wordpress.org/Creating_a_Static_Front_Page">', '</a>' ); ?></p>
55
+
56
+ <?php
57
+ $data['is_homepage_tab'] = true;
58
+ $data['post_id'] = $data['page_on_front'];
59
+ $data['post_type'] = get_post_type($data['post_id']);
60
+ do_action('wpacu_admin_notices');
61
+ require_once __DIR__.'/_singular-page.php';
62
  } elseif (assetCleanUpHasNoLoadMatches($data['site_url'])) { // Asset CleanUp Pro is set not to load for the front-page
63
  ?>
64
  <p class="wpacu_verified">
82
 
83
  $wpacuAdminUrl = admin_url($strAdminUrl);
84
  ?>
85
+ <form id="wpacu_dash_assets_manager_form" method="post" action="<?php echo $wpacuAdminUrl; ?>">
86
  <input type="hidden"
87
  name="wpacu_manage_home_page_assets"
88
  value="1" />
137
  </div>
138
  </form>
139
  <?php
140
+ }
templates/_admin-pages-assets-manager/_media-attachment.php CHANGED
@@ -6,16 +6,59 @@ if (! isset($data)) {
6
  exit;
7
  }
8
  ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  <div style="margin: 25px 0 0;">
10
- <p>Post Type: 'attachment' (e.g. files from <a target="_blank" href="https://wordpress.org/support/article/media-library-screen/">"Media" &#187; "Library"</a>, the page loaded usually prints the image or other media type) &#10230; <a target="_blank" href="https://wordpress.org/support/article/edit-media/"><?php _e('read more', 'wp-asset-clean-up'); ?></a></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
- <p>Note: This is rarely used/needed and in some WordPress setups, the attachment's permalink redirects to the media file itself.</p>
 
 
13
 
14
- <strong>How to retrieve the loaded styles &amp; scripts?</strong>
 
 
 
 
 
 
 
 
 
15
 
16
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Dashboard?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled:</p>
17
- <p style="margin-top: 0;">Go to "Media" -&gt; "Library" -&gt; [Choose the media you want to manage the assets for] -&gt; Scroll to "Asset CleanUp" meta box where you will see the loaded CSS &amp; JavaScript files</p>
18
- <hr />
19
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Front-end?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled and you're logged in:</p>
20
- <p style="margin-top: 0;">Go to the media's permalink ("View" links in the media list) page where you want to manage the files and scroll to the bottom of the page where you will see the list.</p>
21
  </div>
6
  exit;
7
  }
8
  ?>
9
+ <div style="margin: 18px 0 0;" class="clearfix"></div>
10
+ <?php
11
+ if ( ! \WpAssetCleanUp\Main::instance()->currentUserCanViewAssetsList() ) {
12
+ ?>
13
+ <div class="error" style="padding: 10px;">
14
+ <?php echo sprintf(__('Only the administrators listed here can manage CSS/JS assets: %s"Settings" &#10141; "Plugin Usage Preferences" &#10141; "Allow managing assets to:"%s. If you believe you should have access to managing CSS/JS assets, you can add yourself to that list.', 'wp-asset-clean-up'), '<a target="_blank" href="'.admin_url('admin.php?page=wpassetcleanup_settings&wpacu_selected_tab_area=wpacu-setting-plugin-usage-settings').'">', '</a>'); ?></div>
15
+ <?php
16
+ return;
17
+ }
18
+
19
+ $data['post_id'] = (isset($_GET['wpacu_post_id']) && $_GET['wpacu_post_id']) ? $_GET['wpacu_post_id'] : false;
20
+ ?>
21
+ <p>Post Type: 'attachment' (e.g. files from <a target="_blank" href="https://wordpress.org/support/article/media-library-screen/">"Media" &#187; "Library"</a>, the page loaded usually prints the image or other media type) &#10230; <a target="_blank" href="https://wordpress.org/support/article/edit-media/"><?php _e('read more', 'wp-asset-clean-up'); ?></a></p>
22
+ <?php
23
+ $data['dashboard_edit_not_allowed'] = false;
24
+
25
+ require_once __DIR__.'/common/_is-dashboard-edit-allowed.php';
26
+
27
+ if ($data['dashboard_edit_not_allowed']) {
28
+ return; // stop here as the message about the restricted access has been printed
29
+ }
30
+ ?>
31
  <div style="margin: 25px 0 0;">
32
+ <?php
33
+ if (\WpAssetCleanUp\MetaBoxes::isMediaWithPermalinkDeactivated()) {
34
+ ?>
35
+ <div class="wpacu-notice-info" style="width: 95%; margin-bottom: 20px;">
36
+ <span class="dashicons dashicons-info"></span>
37
+ <?php
38
+ echo __('There are no CSS/JS to manage because <em>"Redirect attachment URLs to the attachment itself?"</em> is set to <em>"Yes"</em> in <em>"Search Appearance - Yoast SEO" - "Media"</em> tab).', 'wp-asset-clean-up');
39
+ ?>
40
+ </div>
41
+ <?php
42
+ } else {
43
+ $data['dashboard_edit_not_allowed'] = false;
44
+
45
+ require_once __DIR__.'/common/_is-dashboard-edit-allowed.php';
46
 
47
+ if ($data['dashboard_edit_not_allowed']) {
48
+ return; // stop here as the message about the restricted access has been printed
49
+ }
50
 
51
+ if ($data['post_id']) {
52
+ // There's a POST ID requested in the URL / Show the assets
53
+ $data['post_type'] = 'attachment';
54
+ do_action('wpacu_admin_notices');
55
+ require_once __DIR__.'/_singular-page.php';
56
+ } else {
57
+ // There's no POST ID requested
58
+ $data['post_type'] = 'attachment';
59
+ require_once '_singular-page-search-form.php';
60
+ }
61
 
62
+ }
63
+ ?>
 
 
 
64
  </div>
templates/_admin-pages-assets-manager/{_404-not-found.php → _not-found.php} RENAMED
File without changes
templates/_admin-pages-assets-manager/_pages.php CHANGED
@@ -26,14 +26,28 @@ if (! isset($data)) {
26
  </div>
27
  <?php
28
  }
 
 
29
  ?>
30
- <p>Post Type: 'page' (e.g. pages such as About, Contact etc.) &#10230; <a target="_blank" href="https://wordpress.org/support/article/pages-screen/"><?php _e('read more', 'wp-asset-clean-up'); ?></a></p>
 
 
 
 
31
 
32
- <strong>How to retrieve the loaded styles &amp; scripts?</strong>
 
 
33
 
34
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Dashboard?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled:</p>
35
- <p style="margin-top: 0;">Go to "Pages" -&gt; "All Pages" -&gt; [Choose the page you want to manage the assets for] -&gt; Scroll to "Asset CleanUp" meta box where you will see the loaded CSS &amp; JavaScript files</p>
36
- <hr />
37
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Front-end?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled and you're logged in:</p>
38
- <p style="margin-top: 0;">Go to the product page where you want to manage the files and scroll to the bottom of the page where you will see the list.</p>
 
 
 
 
 
 
39
  </div>
26
  </div>
27
  <?php
28
  }
29
+
30
+ $data['post_id'] = (isset($_GET['wpacu_post_id']) && $_GET['wpacu_post_id']) ? $_GET['wpacu_post_id'] : false;
31
  ?>
32
+ <p>Post Type: 'page' (e.g. pages such as About, Contact etc.) &#10230; <a target="_blank" href="https://wordpress.org/support/article/pages-screen/"><?php _e('read more', 'wp-asset-clean-up'); ?></a></p>
33
+ <?php
34
+ $data['dashboard_edit_not_allowed'] = false;
35
+
36
+ require_once __DIR__.'/common/_is-dashboard-edit-allowed.php';
37
 
38
+ if ($data['dashboard_edit_not_allowed']) {
39
+ return; // stop here as the message about the restricted access has been printed
40
+ }
41
 
42
+ if ($data['post_id']) {
43
+ // There's a POST ID requested in the URL / Show the assets
44
+ $data['post_type'] = get_post_type($data['post_id']);
45
+ do_action('wpacu_admin_notices');
46
+ require_once __DIR__.'/_singular-page.php';
47
+ } else {
48
+ // There's no POST ID requested
49
+ $data['post_type'] = 'page';
50
+ require_once '_singular-page-search-form.php';
51
+ }
52
+ ?>
53
  </div>
templates/_admin-pages-assets-manager/_posts.php CHANGED
@@ -26,16 +26,29 @@ if (! isset($data)) {
26
  </div>
27
  <?php
28
  }
29
- ?>
30
- <p>Post Type: 'post' (e.g. blog entries) &#10230; <a target="_blank" href="https://wordpress.org/support/article/writing-posts/"><?php _e('read more', 'wp-asset-clean-up'); ?></a></p>
31
 
32
- <strong>How to retrieve the loaded styles &amp; scripts?</strong>
 
 
 
 
 
33
 
34
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Dashboard?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled:</p>
35
- <p style="margin-top: 0;">Go to "Posts" -&gt; "All Posts" -&gt; [Choose the page you want to manage the assets for] -&gt; Scroll to "Asset CleanUp" meta box where you will see the loaded CSS &amp; JavaScript files</p>
36
 
37
- <hr />
 
 
38
 
39
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Front-end?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled and you're logged in:</p>
40
- <p style="margin-top: 0;">Go to the page where you want to manage the files and scroll to the bottom of the page where you will see the list.</p>
 
 
 
 
 
 
 
 
 
41
  </div>
26
  </div>
27
  <?php
28
  }
 
 
29
 
30
+ $data['post_id'] = (isset($_GET['wpacu_post_id']) && $_GET['wpacu_post_id']) ? $_GET['wpacu_post_id'] : false;
31
+ ?>
32
+ <p style="margin-bottom: 0;">Post Type: 'post' (e.g. blog entries) &#10230; <a target="_blank" href="https://wordpress.org/support/article/writing-posts/"><?php _e('read more', 'wp-asset-clean-up'); ?></a></p>
33
+ <div style="margin: 15px 0 0;" class="clearfix"></div>
34
+ <?php
35
+ $data['dashboard_edit_not_allowed'] = false;
36
 
37
+ require_once __DIR__.'/common/_is-dashboard-edit-allowed.php';
 
38
 
39
+ if ($data['dashboard_edit_not_allowed']) {
40
+ return; // stop here as the message about the restricted access has been printed
41
+ }
42
 
43
+ if ($data['post_id']) {
44
+ // There's a POST ID requested in the URL / Show the assets
45
+ $data['post_type'] = get_post_type($data['post_id']);
46
+ do_action('wpacu_admin_notices');
47
+ require_once __DIR__.'/_singular-page.php';
48
+ } else {
49
+ // There's no POST ID requested
50
+ $data['post_type'] = 'post';
51
+ require_once '_singular-page-search-form.php';
52
+ }
53
+ ?>
54
  </div>
templates/_admin-pages-assets-manager/_search.php CHANGED
@@ -22,6 +22,6 @@ $lockedForPro = str_replace('[wpacu_chosen_page_type]', $baseNamePageType, $data
22
 
23
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
24
 
25
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Front-end?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled and you're logged in:</p>
26
  <p style="margin-top: 0;">Go to the search results page (any search query as the managing will apply for any search term) and scroll to the bottom of the page where you will see the list.</p>
27
  </div>
22
 
23
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
24
 
25
+ <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes" style="color: green;"></span> If "Manage in the Front-end?" is enabled and you're logged in:</p>
26
  <p style="margin-top: 0;">Go to the search results page (any search query as the managing will apply for any search term) and scroll to the bottom of the page where you will see the list.</p>
27
  </div>
templates/_admin-pages-assets-manager/_singular-page-search-form.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * No direct access to this file
4
+ */
5
+ if (! isset($data)) {
6
+ exit;
7
+ }
8
+ ?>
9
+ <div style="margin: 0 0 15px;">
10
+ <?php
11
+ $searchPlaceholderText = sprintf(__('You can type a keyword or the ID to search the %s for which you want to manage its CSS/JS (e.g. unloading)', 'wp-asset-clean-up'), $data['post_type']);
12
+ ?>
13
+
14
+ <?php
15
+ // Anything that is not within the array, is a custom post type
16
+ if (isset($_GET['wpacu_for']) && $_GET['wpacu_for'] === 'custom-post-types') {
17
+ $postTypes = get_post_types( array( 'public' => true ) );
18
+ $postTypesList = \WpAssetCleanUp\Misc::filterCustomPostTypesList($postTypes);
19
+ ?>
20
+ After you choose the custom post type, you can then search within all the posts that are within your choice:
21
+ <select id="wpacu-custom-post-type-choice">
22
+ <?php foreach ($postTypesList as $listPostType => $listPostTypeLabel) { ?>
23
+ <option <?php if ($data['post_type'] === $listPostType) { echo 'selected="selected"'; } ?> value="<?php echo $listPostType; ?>"><?php echo $listPostTypeLabel; ?></option>
24
+ <?php } ?>
25
+ </select>
26
+ <div style="margin: 0 0 15px;"></div>
27
+ <?php
28
+ }
29
+ ?>
30
+
31
+ <form id="wpacu-search-form-assets-manager">
32
+ Load assets manager for:
33
+ <input type="text"
34
+ class="search-field"
35
+ value=""
36
+ placeholder="<?php echo $searchPlaceholderText ?>"
37
+ style="max-width: 800px; width: 100%; padding-right: 15px;" />
38
+ * <small>Once you choose the post, a new page will load with the CSS &amp; JS manager</small>
39
+ <div style="display: none; padding: 10px; color: #cc0000;" id="wpacu-search-form-assets-manager-no-results"><span class="dashicons dashicons-warning"></span> <?php echo __('There are no results based on your search', 'wp-asset-clean-up'); ?>. <?php echo sprintf(__('Remember that you can also use the %s ID in the input', 'wp-asset-clean-up'), $data['post_type']); ?>.</div>
40
+ </form>
41
+
42
+ <div style="display: none;" id="wpacu-post-chosen-loading-assets">
43
+ <img style="margin: 2px 0 4px;"
44
+ src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/loader-horizontal.svg?x=<?php echo time(); ?>"
45
+ align="top"
46
+ width="120"
47
+ alt="" />
48
+ </div>
49
+ </div>
templates/_admin-pages-assets-manager/_singular-page.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * No direct access to this file
4
+ */
5
+ if (! isset($data)) {
6
+ exit;
7
+ }
8
+ ?>
9
+ <div style="margin: 18px 0 0;" class="clearfix"></div>
10
+ <?php
11
+ if (isset($data['post_id']) && $data['post_id']) {
12
+ $data['fetch_url'] = \WpAssetCleanUp\Misc::getPageUrl( $data['post_id'] );
13
+ }
14
+
15
+ if (assetCleanUpHasNoLoadMatches($data['fetch_url'])) { // Asset CleanUp Pro is set not to load for the front-page
16
+ ?>
17
+ <p class="wpacu_verified">
18
+ <strong>Target URL:</strong> <a target="_blank" href="<?php echo $data['fetch_url']; ?>"><span><?php echo $data['fetch_url']; ?></span></a>
19
+ </p>
20
+ <?php
21
+ $msg = sprintf(__('This page\'s URI is matched by one of the RegEx rules you have in <strong>"Settings"</strong> -&gt; <strong>"Plugin Usage Preferences"</strong> -&gt; <strong>"Do not load the plugin on certain pages"</strong>, thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please remove the matching RegEx rule and reload this page.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
22
+ ?>
23
+ <p class="wpacu-warning"
24
+ style="margin: 15px 0 0; padding: 10px; font-size: inherit; width: 99%;">
25
+ <span style="color: red;"
26
+ class="dashicons dashicons-info"></span> <?php echo $msg; ?>
27
+ </p>
28
+ <?php
29
+ } else {
30
+ $strAdminUrl = 'admin.php?page='.WPACU_PLUGIN_ID.'_assets_manager&wpacu_for='.$data['for'];
31
+
32
+ if ( $data['for'] !== 'homepage' && isset($data['post_id']) && $data['post_id'] ) {
33
+ $strAdminUrl .= '&wpacu_post_id=' . $data['post_id'];
34
+ }
35
+
36
+ $strAdminUrl .= '&wpacu_rand='.uniqid(time(), true);
37
+
38
+ if (array_key_exists('wpacu_manage_dash', $_GET) || array_key_exists('force_manage_dash', $_REQUEST)) { // For debugging purposes
39
+ $strAdminUrl .= '&wpacu_manage_dash';
40
+ }
41
+
42
+ $wpacuAdminUrl = admin_url($strAdminUrl);
43
+
44
+ // Show the search form on tabs such as "Posts", "Pages", "Custom Post Types"
45
+ // Do not how it in the homepage (that was set to be a singular page) as it could confuse the admin
46
+ if ( ! (isset($data['is_homepage_tab']) && $data['is_homepage_tab']) ) {
47
+ require_once '_singular-page-search-form.php';
48
+ }
49
+ ?>
50
+ <form id="wpacu_dash_assets_manager_form" method="post" action="<?php echo $wpacuAdminUrl; ?>">
51
+ <input type="hidden"
52
+ id="wpacu_manage_singular_page_assets"
53
+ name="wpacu_manage_singular_page_assets"
54
+ value="1" />
55
+
56
+ <input type="hidden"
57
+ id="wpacu_manage_singular_page_id"
58
+ name="wpacu_manage_singular_page_id"
59
+ value="<?php echo $data['post_id']; ?>" />
60
+
61
+ <input type="hidden"
62
+ id="wpacu_ajax_fetch_assets_list_dashboard_view"
63
+ name="wpacu_ajax_fetch_assets_list_dashboard_view"
64
+ value="1" />
65
+
66
+ <?php
67
+ if (isset($data['post_type']) && $data['post_type']) {
68
+ $postTypeObject = get_post_type_object( $data['post_type'] );
69
+ $postTypeLabels = $postTypeObject->labels;
70
+ $postName = $postTypeLabels->singular_name;
71
+ }
72
+
73
+ if (isset($data['is_homepage_tab']) && $data['is_homepage_tab']) {
74
+ $pageUrlTitle = __('Homepage URL', 'wp-asset-clean-up');
75
+ } else {
76
+ $pageUrlTitle = __('Page URL', 'wp-asset-clean-up');
77
+ }
78
+ ?>
79
+ <div class="wpacu_verified">
80
+ <strong><?php echo $pageUrlTitle; ?>:</strong> <a target="_blank" href="<?php echo $data['fetch_url']; ?>"><span><?php echo $data['fetch_url']; ?></span></a>
81
+ | <strong><?php echo isset($postName) ? $postName : ''; ?> Title:</strong> <?php echo get_the_title($data['post_id']); ?> | <strong>Post ID:</strong> <?php echo $data['post_id']; ?>
82
+ </div>
83
+
84
+ <div id="wpacu_meta_box_content">
85
+ <?php
86
+ $wpacuLoadingSpinnerFetchAssets = '<img src="'.admin_url('images/spinner.gif').'" align="top" width="20" height="20" alt="" />';
87
+
88
+ // "Select a retrieval way:" is set to "Direct" (default one) in "Plugin Usage Preferences" -> "Manage in the Dashboard"
89
+ if ($data['wpacu_settings']['dom_get_type'] === 'direct') {
90
+ $wpacuDefaultFetchListStepDefaultStatus = '<img src="'.admin_url('images/spinner.gif').'" align="top" width="20" height="20" alt="" />&nbsp; Please wait...';
91
+ $wpacuDefaultFetchListStepCompletedStatus = '<span style="color: green;" class="dashicons dashicons-yes-alt"></span> Completed';
92
+ ?>
93
+ <div id="wpacu-list-step-default-status" style="display: none;"><?php echo $wpacuDefaultFetchListStepDefaultStatus; ?></div>
94
+ <div id="wpacu-list-step-completed-status" style="display: none;"><?php echo $wpacuDefaultFetchListStepCompletedStatus; ?></div>
95
+ <div>
96
+ <ul class="wpacu_meta_box_content_fetch_steps">
97
+ <li id="wpacu-fetch-list-step-1-wrap"><strong>Step 1</strong>: Fetch the assets from the targeted page... <span id="wpacu-fetch-list-step-1-status"><?php echo $wpacuDefaultFetchListStepDefaultStatus; ?></span></li>
98
+ <li id="wpacu-fetch-list-step-2-wrap"><strong>Step 2</strong>: Build the list of the fetched assets and print it... <span id="wpacu-fetch-list-step-2-status"></span></li>
99
+ </ul>
100
+ </div>
101
+ <?php
102
+ } else {
103
+ // "Select a retrieval way:" is set to "WP Remote Post" (one AJAX call) in "Plugin Usage Preferences" -> "Manage in the Dashboard"
104
+ ?>
105
+ <?php echo $wpacuLoadingSpinnerFetchAssets; ?>&nbsp;
106
+ <?php _e('Retrieving the loaded scripts and styles for the home page. Please wait...', 'wp-asset-clean-up');
107
+ }
108
+ ?>
109
+
110
+ <p><?php echo sprintf(
111
+ __('If you believe fetching the page takes too long and the assets should have loaded by now, I suggest you go to "Settings", make sure "Manage in front-end" is checked and then %smanage the assets in the front-end%s.', 'wp-asset-clean-up'),
112
+ '<a href="'.$data['fetch_url'].'#wpacu_wrap_assets">',
113
+ '</a>'
114
+ ); ?></p>
115
+ </div>
116
+
117
+ <?php
118
+ wp_nonce_field($data['nonce_name']);
119
+ ?>
120
+ <div id="wpacu-update-button-area" class="no-left-margin">
121
+ <p class="submit"><input type="submit" name="submit" id="submit" class="hidden button button-primary" value="<?php esc_attr_e('Update', 'wp-asset-clean-up'); ?>"></p>
122
+ <div id="wpacu-updating-settings" style="margin-left: 100px;">
123
+ <img src="<?php echo admin_url('images/spinner.gif'); ?>" align="top" width="20" height="20" alt="" />
124
+ </div>
125
+ </div>
126
+ </form>
127
+ <?php
128
+ }
templates/_admin-pages-assets-manager/_tag.php CHANGED
@@ -19,9 +19,9 @@ $lockedForPro = str_replace('[wpacu_chosen_page_type]', $baseNamePageType, $data
19
 
20
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
21
 
22
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Dashboard?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled:</p>
23
- <p style="margin-top: 0;">Go to "Posts" -&gt; "Tags" -&gt; [Choose the tag you want to manage the assets for and click on its name] -&gt; Scroll to "Asset CleanUp Pro" area where you will see the loaded CSS &amp; JavaScript files.</p>
24
  <hr />
25
- <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes"></span> If "Manage in the Front-end?" (<em>from "Settings" -&gt; "Plugin Usage Preferences"</em>) is enabled and you're logged in:</p>
26
  <p style="margin-top: 0;">Go to the category's page permalink ("View" link under its name in the Dashboard list) such as <code>//www.yoursite.com/blog/tag/the-tag-title-here/</code> where you want to manage the files and scroll to the bottom of the page where you will see the list.</p>
27
  </div>
19
 
20
  <strong>How to retrieve the loaded styles &amp; scripts?</strong>
21
 
22
+ <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes" style="color: green;"></span> If "Manage in the Dashboard?" is enabled:</p>
23
+ <p style="margin-top: 0;">Go to <a target="_blank" href="<?php echo admin_url('edit-tags.php?taxonomy=post_tag'); ?>">"Posts" &#187; "Tags"</a> &#187; [Choose the tag you want to manage the assets for and click on its name] -&gt; Scroll to "<?php echo WPACU_PLUGIN_TITLE; ?>" area where you will see the loaded CSS &amp; JavaScript files.</p>
24
  <hr />
25
+ <p style="margin-bottom: 0;"><span class="dashicons dashicons-yes" style="color: green;"></span> If "Manage in the Front-end?" is enabled and you're logged in:</p>
26
  <p style="margin-top: 0;">Go to the category's page permalink ("View" link under its name in the Dashboard list) such as <code>//www.yoursite.com/blog/tag/the-tag-title-here/</code> where you want to manage the files and scroll to the bottom of the page where you will see the list.</p>
27
  </div>
templates/_admin-pages-assets-manager/common/_is-dashboard-edit-allowed.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * No direct access to this file
4
+ */
5
+ if (! isset($data)) {
6
+ exit;
7
+ }
8
+
9
+ // Is managing the assets within the Dashboard allowed globally or for the current admin?
10
+ if ( ! \WpAssetCleanUp\Main::instance()->currentUserCanViewAssetsList() ) {
11
+ ?>
12
+ <div class="error" style="padding: 10px;">
13
+ <?php echo sprintf(__('Only the administrators listed here can manage CSS/JS assets: %s"Settings" &#10141; "Plugin Usage Preferences" &#10141; "Allow managing assets to:"%s. If you believe you should have access to managing CSS/JS assets, you can add yourself to that list.', 'wp-asset-clean-up'), '<a target="_blank" href="'.admin_url('admin.php?page=wpassetcleanup_settings&wpacu_selected_tab_area=wpacu-setting-plugin-usage-settings').'">', '</a>'); ?></div>
14
+ <?php
15
+ $data['dashboard_edit_not_allowed'] = true;
16
+ }
17
+
18
+ if ($data['wpacu_settings']['dashboard_show'] != 1) {
19
+ ?>
20
+ <div class="error" style="padding: 10px; margin-left: 0;"><?php echo sprintf(__('As "Manage in the Dashboard?" is not enabled in %s"Settings" &#187; "Plugin Usage Preferences"%s, you can not manage the assets from the Dashboard.', 'wp-asset-clean-up'), '<a target="_blank" href="'.admin_url('admin.php?page=wpassetcleanup_settings&wpacu_selected_tab_area=wpacu-setting-plugin-usage-settings').'">', '</a>'); ?></div>
21
+ <?php
22
+ $data['dashboard_edit_not_allowed'] = true;
23
+ }
templates/admin-page-assets-manager.php CHANGED
@@ -50,7 +50,7 @@ $data['locked_for_pro'] = '<span class="dashicons dashicons-info"></span> Managi
50
  } elseif ($data['for'] === 'date') {
51
  include_once '_admin-pages-assets-manager/_date.php';
52
  } elseif ($data['for'] === '404-not-found') {
53
- include_once '_admin-pages-assets-manager/_404-not-found.php';
54
  }
55
  ?>
56
  </div>
50
  } elseif ($data['for'] === 'date') {
51
  include_once '_admin-pages-assets-manager/_date.php';
52
  } elseif ($data['for'] === '404-not-found') {
53
+ include_once '_admin-pages-assets-manager/_not-found.php';
54
  }
55
  ?>
56
  </div>
templates/admin-page-tools.php CHANGED
@@ -6,6 +6,8 @@ if (! isset($data)) {
6
  exit;
7
  }
8
 
 
 
9
  include_once '_top-area.php';
10
 
11
  do_action('wpacu_admin_notices');
@@ -201,7 +203,7 @@ do_action('wpacu_admin_notices');
201
  </form>
202
  <hr />
203
  <div>There are situations when you might want to access a certain page as if <?php echo WPACU_PLUGIN_TITLE; ?> is deactivated or you wish to access the page with only a part of the plugin's settings (without going through the standard deactivation and re-activation process which takes time). To do that, you can use the following query strings:</div>
204
- <style type="text/css">
205
  ul.wpacu-debug-list-params li {
206
  margin-bottom: 15px;
207
  }
6
  exit;
7
  }
8
 
9
+ use WpAssetCleanUp\Misc;
10
+
11
  include_once '_top-area.php';
12
 
13
  do_action('wpacu_admin_notices');
203
  </form>
204
  <hr />
205
  <div>There are situations when you might want to access a certain page as if <?php echo WPACU_PLUGIN_TITLE; ?> is deactivated or you wish to access the page with only a part of the plugin's settings (without going through the standard deactivation and re-activation process which takes time). To do that, you can use the following query strings:</div>
206
+ <style <?php echo Misc::getStyleTypeAttribute(); ?>>
207
  ul.wpacu-debug-list-params li {
208
  margin-bottom: 15px;
209
  }
templates/meta-box-loaded-assets/_asset-script-single-row.php CHANGED
@@ -129,6 +129,6 @@ if (isset($data['handle_rows_contracted']['scripts'][$data['row']['obj']->handle
129
  include '_asset-script-single-row/_notes.php';
130
  ?>
131
  </div>
132
- <img style="display: none;" class="wpacu-ajax-loader" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
133
  </td>
134
  </tr>
129
  include '_asset-script-single-row/_notes.php';
130
  ?>
131
  </div>
132
+ <img style="display: none;" class="wpacu-ajax-loader" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="<?php echo __('Loading'); ?>..." />
133
  </td>
134
  </tr>
templates/meta-box-loaded-assets/_asset-style-single-row.php CHANGED
@@ -122,6 +122,6 @@ if (isset($data['handle_rows_contracted']['styles'][$data['row']['obj']->handle]
122
  include '_asset-style-single-row/_notes.php';
123
  ?>
124
  </div>
125
- <img style="display: none;" class="wpacu-ajax-loader" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
126
  </td>
127
  </tr>
122
  include '_asset-style-single-row/_notes.php';
123
  ?>
124
  </div>
125
+ <img style="display: none;" class="wpacu-ajax-loader" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="<?php echo __('Loading'); ?>..." />
126
  </td>
127
  </tr>
templates/meta-box-loaded-assets/_hardcoded/_asset-script-single-row-hardcoded.php CHANGED
@@ -134,6 +134,6 @@ if (isset($data['handle_rows_contracted']['scripts'][$data['row']['obj']->handle
134
  </div>
135
  <img style="display: none;"
136
  class="wpacu-ajax-loader"
137
- src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
138
  </td>
139
  </tr>
134
  </div>
135
  <img style="display: none;"
136
  class="wpacu-ajax-loader"
137
+ src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="<?php echo __('Loading'); ?>..." />
138
  </td>
139
  </tr>
templates/meta-box-loaded-assets/_hardcoded/_asset-style-single-row-hardcoded.php CHANGED
@@ -140,6 +140,6 @@ if (isset($data['handle_rows_contracted']['styles'][$data['row']['obj']->handle]
140
  </div>
141
  <img style="display: none;"
142
  class="wpacu-ajax-loader"
143
- src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
144
  </td>
145
  </tr>
140
  </div>
141
  <img style="display: none;"
142
  class="wpacu-ajax-loader"
143
+ src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="<?php echo __('Loading'); ?>..." />
144
  </td>
145
  </tr>
templates/meta-box-loaded.php CHANGED
@@ -43,19 +43,33 @@ if (! $metaBoxLoadedFine) {
43
  $tipsClass = new \WpAssetCleanUp\Tips();
44
  $data['tips'] = $tipsClass->list;
45
 
46
- if (\WpAssetCleanUp\Misc::isHomePage()) {
47
- ?>
48
- <p><strong><span style="color: #0f6cab;" class="dashicons dashicons-admin-home"></span> <?php _e('You are currently viewing the home page.', 'wp-asset-clean-up'); ?></strong></p>
49
- <?php
50
- }
51
-
52
- elseif (\WpAssetCleanUp\Misc::isBlogPage()) {
53
- ?>
54
- <p><strong><span style="color: #0f6cab;" class="dashicons dashicons-admin-post"></span> <?php _e('You are currently viewing the page that shows your latest posts.', 'wp-asset-clean-up'); ?></strong></p>
55
- <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  }
57
 
58
- elseif ($data['bulk_unloaded_type'] === 'post_type') {
59
  $isWooPage = $iconShown = false;
60
 
61
  if (
@@ -89,18 +103,19 @@ elseif ($data['bulk_unloaded_type'] === 'post_type') {
89
  <?php if ($isWooPage) { ?>
90
  <img src="<?php echo $iconShown; ?>" alt="" style="height: 40px !important; margin-top: -6px; margin-right: 5px;" align="middle" /> <strong>WooCommerce</strong>
91
  <?php } ?>
92
- <strong><?php if (! $iconShown) { ?><span style="color: #0f6cab;" class="dashicons dashicons-admin-<?php echo $dashIconPart; ?>"></span> <?php } ?> <u><?php echo $data['post_type']; ?></u> <?php if ($data['post_type'] !== 'post') { echo 'post'; } ?> type.</strong>
93
  </p>
94
  <?php
95
  }
96
 
97
  if (! is_404()) {
 
98
  ?>
99
- <p class="wpacu_verified">
100
- <strong>Page URL:</strong> <a target="_blank"
101
- href="<?php echo $data['fetch_url']; ?>"><span><?php echo $data['fetch_url']; ?></span></a>
102
- </p>
103
  <?php
 
104
  }
105
 
106
  if (isset($data['page_template'])) {
43
  $tipsClass = new \WpAssetCleanUp\Tips();
44
  $data['tips'] = $tipsClass->list;
45
 
46
+ if (is_admin()) {
47
+ // Dashboard edit view
48
+ if (get_option('show_on_front') === 'page') {
49
+ if (get_option('page_on_front') == $data['post_id']) {
50
+ ?>
51
+ <p><span style="color: #0f6cab;" class="dashicons dashicons-admin-home"></span> <?php echo sprintf(__('This page was set as the home page in %s"Settings" &#10141; "Reading"%s.', 'wp-asset-clean-up'), '<a target="_blank" href="'.admin_url('options-reading.php').'">', '</a>'); ?></p>
52
+ <?php
53
+ } elseif (get_option('page_for_posts') == $data['post_id']) {
54
+ ?>
55
+ <p><span style="color: #0f6cab;" class="dashicons dashicons-admin-post"></span> <?php echo sprintf(__('This page was set to show the latest posts in %s"Settings" &#10141; "Reading"%s.', 'wp-asset-clean-up'), '<a target="_blank" href="'.admin_url('options-reading.php').'">', '</a>'); ?></p>
56
+ <?php
57
+ }
58
+ }
59
+ } else {
60
+ // Front-end view
61
+ if (\WpAssetCleanUp\Misc::isBlogPage()) {
62
+ ?>
63
+ <p><span style="color: #0f6cab;" class="dashicons dashicons-admin-post"></span> <?php _e('You are currently viewing the page that shows your latest posts.', 'wp-asset-clean-up'); ?></p>
64
+ <?php
65
+ } elseif (\WpAssetCleanUp\Misc::isHomePage()) {
66
+ ?>
67
+ <p><span style="color: #0f6cab;" class="dashicons dashicons-admin-home"></span> <?php _e('You are currently viewing the home page.', 'wp-asset-clean-up'); ?></p>
68
+ <?php
69
+ }
70
  }
71
 
72
+ if ($data['bulk_unloaded_type'] === 'post_type') {
73
  $isWooPage = $iconShown = false;
74
 
75
  if (
103
  <?php if ($isWooPage) { ?>
104
  <img src="<?php echo $iconShown; ?>" alt="" style="height: 40px !important; margin-top: -6px; margin-right: 5px;" align="middle" /> <strong>WooCommerce</strong>
105
  <?php } ?>
106
+ <?php if (! $iconShown) { ?><span style="color: #0f6cab;" class="dashicons dashicons-admin-<?php echo $dashIconPart; ?>"></span> <?php } ?> <u><?php echo $data['post_type']; ?></u> <?php if ($data['post_type'] !== 'post') { echo 'post'; } ?> type.
107
  </p>
108
  <?php
109
  }
110
 
111
  if (! is_404()) {
112
+ if (isset($data['post_type']) && $data['post_type'] && ! (isset($data['is_for_singular']) && $data['is_for_singular'])) {
113
  ?>
114
+ <div class="wpacu_verified">
115
+ <strong>Page URL:</strong> <a target="_blank" href="<?php echo $data['fetch_url']; ?>"><span><?php echo $data['fetch_url']; ?></span></a>
116
+ </div>
 
117
  <?php
118
+ }
119
  }
120
 
121
  if (isset($data['page_template'])) {
templates/settings-frontend.php CHANGED
@@ -6,7 +6,7 @@ if (! isset($data)) {
6
  exit;
7
  }
8
  ?>
9
- <form action="#wpacu_wrap_assets" method="post">
10
  <div id="wpacu_wrap_assets">
11
  <?php
12
  if ($data['is_updateable']) {
6
  exit;
7
  }
8
  ?>
9
+ <form id="wpacu-frontend-form" action="#wpacu_wrap_assets" method="post">
10
  <div id="wpacu_wrap_assets">
11
  <?php
12
  if ($data['is_updateable']) {
wpacu-load.php CHANGED
@@ -94,6 +94,8 @@ if (is_admin()) {
94
 
95
  $wpacuTools = new \WpAssetCleanUp\Tools();
96
  $wpacuTools->init();
 
 
97
  } elseif (\WpAssetCleanUp\Misc::triggerFrontendOptimization()) {
98
  /*
99
  * Trigger the CSS & JS combination only in the front-end view in certain conditions (not within the Dashboard)
94
 
95
  $wpacuTools = new \WpAssetCleanUp\Tools();
96
  $wpacuTools->init();
97
+
98
+ new \WpAssetCleanUp\AjaxSearchAutocomplete();
99
  } elseif (\WpAssetCleanUp\Misc::triggerFrontendOptimization()) {
100
  /*
101
  * Trigger the CSS & JS combination only in the front-end view in certain conditions (not within the Dashboard)
wpacu.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  * Plugin Name: Asset CleanUp: Page Speed Booster
4
  * Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
5
- * Version: 1.3.7.7
6
  * Description: Unload Chosen Scripts & Styles from Posts/Pages to reduce HTTP Requests, Combine/Minify CSS/JS files
7
  * Author: Gabe Livan
8
  * Author URI: http://gabelivan.com/
@@ -27,7 +27,7 @@ if ( (defined('WPACU_PRO_NO_LITE_NEEDED') && WPACU_PRO_NO_LITE_NEEDED !== false
27
 
28
  // Is the Pro version triggered before the Lite one and are both plugins active?
29
  if (! defined('WPACU_PLUGIN_VERSION')) {
30
- define('WPACU_PLUGIN_VERSION', '1.3.7.7');
31
  }
32
 
33
  // Exit if accessed directly
2
  /*
3
  * Plugin Name: Asset CleanUp: Page Speed Booster
4
  * Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
5
+ * Version: 1.3.7.8
6
  * Description: Unload Chosen Scripts & Styles from Posts/Pages to reduce HTTP Requests, Combine/Minify CSS/JS files
7
  * Author: Gabe Livan
8
  * Author URI: http://gabelivan.com/
27
 
28
  // Is the Pro version triggered before the Lite one and are both plugins active?
29
  if (! defined('WPACU_PLUGIN_VERSION')) {
30
+ define('WPACU_PLUGIN_VERSION', '1.3.7.8');
31
  }
32
 
33
  // Exit if accessed directly