├── LICENSE.txt ├── a3-lazy-load.php ├── admin ├── a3-lazy-load-admin.php ├── admin-init.php ├── admin-interface.php ├── admin-pages │ └── admin-settings-page.php ├── admin-ui.php ├── assets │ ├── css │ │ ├── a3_admin_metabox.css │ │ ├── a3_admin_metabox.rtl.css │ │ ├── a3_admin_metabox.rtl.less │ │ ├── a3_admin_metabox.rtl.min.css │ │ ├── admin-flat-ui-style.css │ │ ├── admin-flat-ui-style.min.css │ │ ├── admin-ui-style.css │ │ ├── admin-ui-style.min.css │ │ ├── admin-ui-style.rtl.css │ │ ├── admin-ui-style.rtl.less │ │ ├── admin-ui-style.rtl.min.css │ │ ├── jquery.datetimepicker.css │ │ ├── mixins.less │ │ ├── modal.css │ │ ├── modal.min.css │ │ ├── popover.css │ │ └── popover.min.css │ ├── fonts │ │ ├── a3-metabox-plugin-framework.eot │ │ ├── a3-metabox-plugin-framework.svg │ │ ├── a3-metabox-plugin-framework.ttf │ │ ├── a3-metabox-plugin-framework.woff │ │ ├── a3-plugin-framework.eot │ │ ├── a3-plugin-framework.svg │ │ ├── a3-plugin-framework.ttf │ │ └── a3-plugin-framework.woff │ ├── images │ │ ├── a3-plugins.png │ │ ├── help.png │ │ ├── ico-delete.png │ │ ├── ico-preview.png │ │ ├── ico-refresh.png │ │ ├── loading-bottom.gif │ │ ├── play_video.png │ │ ├── slider-bg-disable.png │ │ ├── slider-bg-range.png │ │ ├── slider-bg-track1.png │ │ ├── slider-bg.png │ │ ├── slider-bg1.jpg │ │ ├── slider-container-end-disable.png │ │ ├── slider-container-end.png │ │ ├── slider-container-start-disable.png │ │ ├── slider-container-start.png │ │ ├── slider-handle-disable.png │ │ ├── slider-handle.png │ │ ├── slider-handle1.png │ │ └── slider-handle2.png │ ├── js │ │ ├── a3rev-settings-preview.js │ │ ├── a3rev-typography-preview.js │ │ ├── admin-ui-script.js │ │ ├── bootstrap │ │ │ ├── modal.js │ │ │ ├── modal.min.js │ │ │ ├── popover.js │ │ │ ├── popover.min.js │ │ │ ├── popper.min.js │ │ │ ├── tooltip.js │ │ │ ├── tooltip.min.js │ │ │ ├── util.js │ │ │ └── util.min.js │ │ ├── chosen │ │ │ ├── chosen-sprite.png │ │ │ ├── chosen-sprite@2x.png │ │ │ ├── chosen.ajaxify.js │ │ │ ├── chosen.css │ │ │ ├── chosen.jquery.js │ │ │ ├── chosen.jquery.min.js │ │ │ └── chosen.min.css │ │ ├── data-meta-boxes.js │ │ ├── datetimepicker │ │ │ └── jquery.datetimepicker.js │ │ ├── iphone-style-checkboxes.js │ │ ├── iphone-style-checkboxes.rtl.js │ │ ├── rwdImageMaps │ │ │ └── jquery.rwdImageMaps.min.js │ │ └── ui-slider │ │ │ ├── jquery.ui.slider.rtl.js │ │ │ └── jquery.ui.slider.rtl.min.js │ └── webfonts │ │ └── webfonts.json ├── includes │ ├── fonts_face.php │ └── uploader │ │ ├── class-uploader.php │ │ ├── delete.png │ │ ├── mixins.less │ │ ├── uploader-script.js │ │ ├── uploader.css │ │ ├── uploader.rtl.css │ │ └── uploader.rtl.less ├── less │ ├── assets │ │ └── css │ │ │ ├── mixins.less │ │ │ ├── style.css │ │ │ ├── style.less │ │ │ └── style.min.css │ ├── compile_less_sass_class.php │ ├── index.html │ ├── lib │ │ ├── cssmin.inc.php │ │ ├── less.js │ │ └── lessc.inc.php │ └── sass.php ├── settings │ └── template-settings │ │ └── global-settings.php └── tabs │ └── template-settings │ └── global-settings-tab.php ├── assets ├── banner-772x250.png ├── css │ ├── a3.lazyload.addons.admin.css │ ├── a3.lazyload.addons.admin.less │ ├── a3.lazyload.addons.admin.rtl.css │ ├── a3.lazyload.addons.admin.rtl.less │ ├── a3_wp_admin.css │ ├── a3_wp_admin.min.css │ ├── admin_sidebar_menu.css │ ├── admin_sidebar_menu.min.css │ ├── jquery.lazyloadxt.fadein.css │ ├── jquery.lazyloadxt.spinner.css │ ├── loading.gif │ └── mixins.less ├── fonts │ ├── a3-sidebar-menu.eot │ ├── a3-sidebar-menu.svg │ ├── a3-sidebar-menu.ttf │ └── a3-sidebar-menu.woff ├── icon-128x128.png ├── icon-256x256.png ├── icon.svg ├── images │ ├── _blank.gif │ ├── a-5-star-rating-would-be-appreciated.png │ ├── ajax-loader.gif │ ├── chosen-sprite.png │ ├── follow-facebook.png │ ├── follow-twitter.png │ ├── free-woocommerce-plugins.png │ ├── free-wordpress-plugins.png │ ├── go-to-support-forum.png │ ├── key.png │ ├── lazy_placeholder.gif │ ├── loading-black.gif │ ├── loading.gif │ ├── placeholder.gif │ └── video.jpg ├── js │ ├── jquery.lazyloadxt.extend.js │ ├── jquery.lazyloadxt.extra.js │ ├── jquery.lazyloadxt.extra.min.js │ ├── jquery.lazyloadxt.srcset.js │ └── jquery.lazyloadxt.srcset.min.js └── screenshot-1.jpg ├── classes ├── addons │ └── class-a3-lazy-load-addons-page.php ├── class-a3-lazy-load-excludes.php ├── class-a3-lazy-load-filter.php ├── class-a3-lazy-load.php └── classes-backwards-compatibility.php ├── includes ├── customized_style.php └── updates │ └── a3-lazy-load-update-1.1.0.php ├── languages ├── a3-lazy-load.mo ├── a3-lazy-load.po └── a3-lazy-load.pot ├── readme.txt ├── uninstall.php └── vendor ├── autoload.php └── composer ├── ClassLoader.php ├── LICENSE ├── autoload_classmap.php ├── autoload_namespaces.php ├── autoload_psr4.php ├── autoload_real.php └── autoload_static.php /a3-lazy-load.php: -------------------------------------------------------------------------------- 1 | 21 | =' ) ) { 40 | require __DIR__ . '/vendor/autoload.php'; 41 | 42 | /** 43 | * Plugin Framework init 44 | */ 45 | $GLOBALS[A3_LAZY_LOAD_PREFIX.'admin_interface'] = new FrameWork\Admin_Interface(); 46 | 47 | global $a3_lazy_load_settings_page; 48 | $a3_lazy_load_settings_page = new FrameWork\Pages\Settings(); 49 | 50 | $GLOBALS[A3_LAZY_LOAD_PREFIX.'admin_init'] = new FrameWork\Admin_Init(); 51 | 52 | $GLOBALS[A3_LAZY_LOAD_PREFIX.'less'] = new FrameWork\Less_Sass(); 53 | 54 | // End - Plugin Framework init 55 | 56 | 57 | global $a3_lazy_load_excludes; 58 | $a3_lazy_load_excludes = new \A3Rev\LazyLoad\Excludes(); 59 | 60 | } else { 61 | return; 62 | } 63 | 64 | /** 65 | * Load Localisation files. 66 | * 67 | * Note: the first-loaded translation file overrides any following ones if the same translation is present. 68 | * 69 | * Locales found in: 70 | * - WP_LANG_DIR/a3-lazy-load/a3-lazy-load-LOCALE.mo 71 | * - WP_LANG_DIR/plugins/a3-lazy-load-LOCALE.mo 72 | * - /wp-content/plugins/a3-lazy-load/languages/a3-lazy-load-LOCALE.mo (which if not found falls back to) 73 | */ 74 | function a3_lazy_load_plugin_textdomain() { 75 | $locale = apply_filters( 'plugin_locale', get_locale(), 'a3-lazy-load' ); 76 | 77 | load_textdomain( 'a3-lazy-load', WP_LANG_DIR . '/a3-lazy-load/a3-lazy-load-' . $locale . '.mo' ); 78 | load_plugin_textdomain( 'a3-lazy-load', false, A3_LAZY_LOAD_FOLDER.'/languages' ); 79 | } 80 | 81 | // Disable for load new google font faces 82 | add_filter( A3_LAZY_LOAD_KEY . '_new_google_fonts_enable', '__return_false' ); 83 | 84 | // Backwards compatibility for 3rd party plugin use functions from this plugin 85 | include( 'classes/classes-backwards-compatibility.php' ); 86 | 87 | include( 'admin/a3-lazy-load-admin.php' ); 88 | 89 | // Defined this function for check Lazy Load is enabled that 3rd party plugins or theme can use to check 90 | $a3_lazy_load_global_settings = get_option( 'a3_lazy_load_global_settings', array( 'a3l_apply_lazyloadxt' => 1, 'a3l_wpcore_lazyload' => 1, 'a3l_apply_to_images' => 1, 'a3l_apply_to_videos' => 1 ) ); 91 | if ( 1 == $a3_lazy_load_global_settings['a3l_apply_lazyloadxt'] && !is_admin() && ( 1 == $a3_lazy_load_global_settings['a3l_apply_to_images'] || 1 == $a3_lazy_load_global_settings['a3l_apply_to_videos'] ) ) { 92 | function a3_lazy_load_enable() { 93 | return true; 94 | } 95 | } 96 | if ( 1 == $a3_lazy_load_global_settings['a3l_apply_lazyloadxt'] && !is_admin() && 1 == $a3_lazy_load_global_settings['a3l_apply_to_images'] ) { 97 | function a3_lazy_load_image_enable() { 98 | return true; 99 | } 100 | } 101 | if ( 1 == $a3_lazy_load_global_settings['a3l_apply_lazyloadxt'] && !is_admin() && 1 == $a3_lazy_load_global_settings['a3l_apply_to_videos'] ) { 102 | function a3_lazy_load_video_enable() { 103 | return true; 104 | } 105 | } 106 | if ( !is_admin() && isset( $a3_lazy_load_global_settings['a3l_wpcore_lazyload'] ) && 0 == $a3_lazy_load_global_settings['a3l_wpcore_lazyload'] ) { 107 | add_filter( 'wp_lazy_loading_enabled', '__return_false' ); 108 | } 109 | 110 | /** 111 | * Call when the plugin is activated 112 | */ 113 | register_activation_hook(__FILE__, 'a3_lazy_load_activated'); 114 | -------------------------------------------------------------------------------- /admin/a3-lazy-load-admin.php: -------------------------------------------------------------------------------- 1 | plugin_name . '-' . 'plugin_framework_global_box' . '-' . 'opened', '', true ); 7 | 8 | update_option('a3_lazy_load_just_installed', true); 9 | } 10 | 11 | /** 12 | * Load languages file 13 | */ 14 | function a3_lazy_load_init() { 15 | 16 | if ( get_option( 'a3_lazy_load_just_installed' ) ) { 17 | delete_option( 'a3_lazy_load_just_installed' ); 18 | 19 | // Set Settings Default from Admin Init 20 | $GLOBALS[A3_LAZY_LOAD_PREFIX.'admin_init']->set_default_settings(); 21 | } 22 | 23 | a3_lazy_load_plugin_textdomain(); 24 | 25 | a3_lazy_load_upgrade_plugin(); 26 | } 27 | 28 | $GLOBALS[A3_LAZY_LOAD_PREFIX.'admin_init']->init(); 29 | 30 | // Add upgrade notice to Dashboard pages 31 | add_filter( $GLOBALS[A3_LAZY_LOAD_PREFIX.'admin_init']->plugin_name . '_plugin_extension_boxes', array( '\A3Rev\LazyLoad\Hook_Filter', 'plugin_extension_box' ) ); 32 | 33 | // Add language 34 | add_action('init', 'a3_lazy_load_init', 105); 35 | 36 | // Add custom style to dashboard 37 | add_action( 'admin_enqueue_scripts', array( '\A3Rev\LazyLoad\Hook_Filter', 'a3_wp_admin' ) ); 38 | 39 | // Add extra link on left of Deactivate link on Plugin manager page 40 | add_action( 'plugin_action_links_'.A3_LAZY_LOAD_NAME, array( '\A3Rev\LazyLoad\Hook_Filter', 'settings_plugin_links' ) ); 41 | 42 | // Add text on right of Visit the plugin on Plugin manager page 43 | add_filter( 'plugin_row_meta', array( '\A3Rev\LazyLoad\Hook_Filter', 'plugin_extra_links'), 10, 2 ); 44 | 45 | // Add admin sidebar menu css 46 | add_action( 'admin_enqueue_scripts', array( '\A3Rev\LazyLoad\Hook_Filter', 'admin_sidebar_menu_css' ) ); 47 | 48 | // Init lazy load Instance 49 | add_action( 'wp', 'a3_lazy_load_instance', 10, 0 ); 50 | function a3_lazy_load_instance() { 51 | $allow_instance = true; 52 | 53 | if ( is_feed() ) { 54 | $allow_instance = false; 55 | } 56 | 57 | if ( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) { 58 | $allow_instance = false; 59 | } 60 | 61 | // Compatibility with Better AMP plugin 62 | if ( function_exists( 'is_better_amp' ) && is_better_amp() ) { 63 | $allow_instance = false; 64 | } 65 | 66 | if ( $allow_instance ) { 67 | \A3Rev\LazyLoad::_instance(); 68 | } 69 | } 70 | 71 | // Check upgrade functions 72 | function a3_lazy_load_upgrade_plugin() { 73 | 74 | if (version_compare(get_option('a3_lazy_load_version'), '1.1.0') === -1) { 75 | update_option('a3_lazy_load_version', '1.1.0'); 76 | include( A3_LAZY_LOAD_DIR. '/includes/updates/a3-lazy-load-update-1.1.0.php' ); 77 | } 78 | 79 | // Upgrade to 1.7.0 80 | if ( version_compare(get_option('a3_lazy_load_version'), '1.7.0') === -1 ) { 81 | update_option('a3_lazy_load_version', '1.7.0'); 82 | update_option('a3_lazy_load_style_version', time() ); 83 | } 84 | 85 | update_option('a3_lazy_load_version', A3_LAZY_VERSION ); 86 | } 87 | -------------------------------------------------------------------------------- /admin/admin-pages/admin-settings-page.php: -------------------------------------------------------------------------------- 1 | page_init(); 46 | $this->tabs_include(); 47 | } 48 | 49 | /*-----------------------------------------------------------------------------------*/ 50 | /* page_init() */ 51 | /* Page Init */ 52 | /*-----------------------------------------------------------------------------------*/ 53 | public function page_init() { 54 | add_filter( $this->plugin_name . '_add_admin_menu', array( $this, 'add_admin_menu' ) ); 55 | } 56 | 57 | /*-----------------------------------------------------------------------------------*/ 58 | /* page_data() */ 59 | /* Get Page Data */ 60 | /*-----------------------------------------------------------------------------------*/ 61 | public function page_data() { 62 | 63 | $page_data = array( 64 | 'type' => 'submenu', 65 | 'parent_slug' => 'options-general.php', 66 | 'page_title' => __('a3 Lazy Load','a3-lazy-load' ), 67 | 'menu_title' => __('a3 Lazy Load','a3-lazy-load' ), 68 | 'capability' => 'manage_options', 69 | 'menu_slug' => $this->menu_slug, 70 | 'function' => 'a3_lazy_load_settings_page_show', 71 | 'admin_url' => 'options-general.php', 72 | 'callback_function' => 'callback_a3_lazy_load_settings_page_show', 73 | 'script_function' => '', 74 | 'view_doc' => '', 75 | ); 76 | 77 | if ( $this->page_data ) return $this->page_data; 78 | return $this->page_data = $page_data; 79 | 80 | } 81 | 82 | /*-----------------------------------------------------------------------------------*/ 83 | /* add_admin_menu() */ 84 | /* Add This page to menu on left sidebar */ 85 | /*-----------------------------------------------------------------------------------*/ 86 | public function add_admin_menu( $admin_menu ) { 87 | 88 | if ( ! is_array( $admin_menu ) ) $admin_menu = array(); 89 | $admin_menu[] = $this->page_data(); 90 | 91 | return $admin_menu; 92 | } 93 | 94 | /*-----------------------------------------------------------------------------------*/ 95 | /* tabs_include() */ 96 | /* Include all tabs into this page 97 | /*-----------------------------------------------------------------------------------*/ 98 | public function tabs_include() { 99 | global $a3_lazy_load_global_settings_tab; 100 | $a3_lazy_load_global_settings_tab = new FrameWork\Tabs\Global_Settings(); 101 | } 102 | 103 | /*-----------------------------------------------------------------------------------*/ 104 | /* admin_settings_page() */ 105 | /* Show Settings Page */ 106 | /*-----------------------------------------------------------------------------------*/ 107 | public function admin_settings_page() { 108 | 109 | $GLOBALS[$this->plugin_prefix.'admin_init']->admin_settings_page( $this->page_data() ); 110 | 111 | //$my_page_data = $this->page_data(); 112 | //$my_page_data = array_values( $my_page_data ); 113 | //$GLOBALS[$this->plugin_prefix.'admin_init']->admin_settings_page( $my_page_data[1] ); 114 | } 115 | 116 | /*-----------------------------------------------------------------------------------*/ 117 | /* admin_settings_page() */ 118 | /* Show Settings Page */ 119 | /*-----------------------------------------------------------------------------------*/ 120 | public function callback_admin_settings_page() { 121 | global $a3_lazy_load_global_settings_panel; 122 | 123 | $this->plugin_extension_start(); 124 | $a3_lazy_load_global_settings_panel->settings_form(); 125 | $this->plugin_extension_end(); 126 | } 127 | 128 | } 129 | 130 | } 131 | 132 | // global code 133 | namespace { 134 | 135 | /** 136 | * a3_lazy_load_settings_page_show() 137 | * Define the callback function to show page content 138 | */ 139 | function a3_lazy_load_settings_page_show() { 140 | global $a3_lazy_load_settings_page; 141 | $a3_lazy_load_settings_page->admin_settings_page(); 142 | } 143 | 144 | function callback_a3_lazy_load_settings_page_show() { 145 | global $a3_lazy_load_settings_page; 146 | $a3_lazy_load_settings_page->callback_admin_settings_page(); 147 | } 148 | 149 | } 150 | -------------------------------------------------------------------------------- /admin/assets/css/a3_admin_metabox.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: "a3-metabox-plugin-framework"; 3 | src:url("../fonts/a3-metabox-plugin-framework.eot"); 4 | src:url("../fonts/a3-metabox-plugin-framework.eot?#iefix") format("embedded-opentype"), 5 | url("../fonts/a3-metabox-plugin-framework.woff") format("woff"), 6 | url("../fonts/a3-metabox-plugin-framework.ttf") format("truetype"), 7 | url("../fonts/a3-metabox-plugin-framework.svg#a3-metabox-plugin-framework") format("svg"); 8 | font-weight: normal; 9 | font-style: normal; 10 | 11 | } 12 | 13 | .a3-metabox-panel-wrap .a3-metabox-icon:before { 14 | font-family: "a3-metabox-plugin-framework" !important; 15 | font-style: normal !important; 16 | font-weight: normal !important; 17 | font-variant: normal !important; 18 | text-transform: none !important; 19 | speak: none; 20 | line-height: 1; 21 | -webkit-font-smoothing: antialiased; 22 | -moz-osx-font-smoothing: grayscale; 23 | } 24 | .a3-metabox-wrapper .expand_all:before, .a3-metabox-wrapper .close_all:before { 25 | font-size: 12px; 26 | color: #aaa; 27 | font-weight: bold !important; 28 | margin-right: 5px; 29 | } 30 | .a3-metabox-wrapper .expand_all:before { 31 | content: "\e000"; 32 | } 33 | .a3-metabox-wrapper .close_all:before { 34 | content: "\e002"; 35 | } 36 | .a3-metabox-wrapper .a3-metabox-item .handlediv:before { 37 | font-size: 16px !important; 38 | } 39 | .a3-metabox-wrapper .a3-metabox-item.closed .handlediv:before { 40 | content: "\e005"!important; 41 | } 42 | .a3-metabox-wrapper .a3-metabox-item.open .handlediv:before { 43 | content: "\e004"!important; 44 | } 45 | 46 | .a3-metabox-panel-wrap { 47 | background: #fff; 48 | padding-left: 146px; 49 | box-sizing: border-box; 50 | } 51 | .a3-metabox-wrapper, .a3-metabox-options-panel { 52 | float: right; 53 | width: 100%; 54 | } 55 | .a3-metabox-wrapper p.toolbar, 56 | .a3-metabox-options-panel .a3-metabox-items, 57 | .a3-metabox-options-panel p.toolbar { 58 | padding-left: 15px!important; 59 | padding-right: 15px!important; 60 | } 61 | .a3-metabox-tabs-back { 62 | position: absolute; 63 | top: 0; 64 | left: 0; 65 | bottom: 0; 66 | background: #f5f5f5; 67 | width: 145px; 68 | border-right: 1px solid #DFDFDF; 69 | } 70 | ul.a3-metabox-data-tabs { 71 | background: #f5f5f5; 72 | line-height: 1em; 73 | float: left; 74 | width: 145px; 75 | margin: 0 0 0 -146px; 76 | position: relative; 77 | padding: 0 0 10px; 78 | } 79 | ul.a3-metabox-data-tabs li { 80 | display: block; 81 | padding: 0; 82 | margin: 0; 83 | } 84 | ul.a3-metabox-data-tabs li a { 85 | padding: 10px; 86 | line-height: 18px!important; 87 | margin: 0; 88 | display: block; 89 | background: #f5f5f5; 90 | text-decoration: none; 91 | border-bottom: 1px solid #f5f5f5; 92 | border-top: 1px solid #eaeaea; 93 | } 94 | ul.a3-metabox-data-tabs li:first-child a { 95 | border-top: 0 !important; 96 | } 97 | ul.a3-metabox-data-tabs li.active a { 98 | border-color: #DFDFDF; 99 | position: relative; 100 | background-color: #fff; 101 | color: #555; 102 | margin: 0 -1px 0 0; 103 | } 104 | .a3-metabox-panel, .a3-metabox-options-panel { 105 | padding: 0; 106 | color: #555 107 | } 108 | .a3-metabox-panel table.form-table td label, 109 | .a3-metabox-panel table.form-table td span, 110 | .a3-metabox-panel table.form-table td a, 111 | .a3-metabox-panel table.form-table td input, 112 | .a3-metabox-panel table.form-table td select, 113 | .a3-metabox-panel table.form-table td *, 114 | .a3-metabox-panel table.form-table td, 115 | .a3-metabox-panel * { 116 | font-size: 13px; 117 | } 118 | .a3-metabox-panel table td { 119 | padding: 10px 15px; 120 | } 121 | 122 | .a3-metabox-wrapper .toolbar { 123 | margin: 0!important; 124 | border-top: 1px solid #fff; 125 | border-bottom: 1px solid #DFDFDF; 126 | padding: 9px 15px!important; 127 | } 128 | .a3-metabox-wrapper .toolbar:first-child { 129 | border-top: 0 130 | } 131 | .a3-metabox-wrapper .toolbar:last-child { 132 | border-bottom: 0 133 | } 134 | .a3-metabox-wrapper p.toolbar { 135 | overflow: hidden; 136 | zoom: 1; 137 | } 138 | .a3-metabox-wrapper .a3-metabox-items { 139 | border-bottom: 1px solid #DFDFDF; 140 | } 141 | .a3-metabox-wrapper .a3-metabox-item-sortable-placeholder { 142 | border-color: #bbb; 143 | background-color: #f5f5f5; 144 | margin-bottom: 9px; 145 | border-width: 1px; 146 | border-style: dashed; 147 | } 148 | .a3-metabox-wrapper .a3-metabox-item { 149 | background: #fff; 150 | border-bottom: 1px solid #DFDFDF; 151 | margin: 0!important; 152 | } 153 | .a3-metabox-wrapper .a3-metabox-item:last-of-type { 154 | border-bottom: 0 none; 155 | } 156 | .a3-metabox-wrapper .a3-metabox-item .handlediv:before { 157 | line-height: 1!important; 158 | } 159 | .a3-metabox-wrapper .a3-metabox-item.closed h3 { 160 | border: 0; 161 | } 162 | .a3-metabox-wrapper .a3-metabox-item h3 { 163 | margin: 0!important; 164 | padding: 10px 15px !important; 165 | font-size: 1em!important; 166 | overflow: hidden; 167 | zoom: 1; 168 | cursor: move; 169 | position: relative; 170 | } 171 | .a3-metabox-wrapper .a3-metabox-item h3 span { 172 | font-weight: 400; 173 | } 174 | .a3-metabox-wrapper .a3-metabox-item.open h3 { 175 | cursor: ne-resize; 176 | } 177 | .a3-metabox-wrapper .a3-metabox-item.closed h3 { 178 | cursor: sw-resize; 179 | } 180 | .a3-metabox-wrapper .a3-metabox-item h3 button { 181 | float: right; 182 | } 183 | .a3-metabox-wrapper .a3-metabox-item h3 strong { 184 | line-height: 1; 185 | } 186 | .a3-metabox-wrapper .a3-metabox-item h3 .handlediv { 187 | background-position: 6px 5px!important; 188 | height: 24px; 189 | width: 24px; 190 | position: absolute; 191 | z-index: 1000; 192 | right: 0; 193 | } 194 | .a3-metabox-wrapper .a3-metabox-item h3.fixed { 195 | cursor: pointer!important; 196 | } 197 | .a3-metabox-wrapper .a3-metabox-item h3:hover .handlediv { 198 | display: block; 199 | } 200 | .a3-metabox-wrapper .a3-metabox-item table { 201 | width: 100%; 202 | position: relative; 203 | background: #fff; 204 | padding: 0px; 205 | margin: 0px; 206 | } 207 | .a3-metabox-wrapper .a3-metabox-item h3 table { 208 | margin: 0; 209 | } 210 | .a3-metabox-wrapper .a3-metabox-item h3 table td:first-child { 211 | width: 27%; 212 | } 213 | .a3-metabox-panel table tr td:first-child { 214 | width: 27%; 215 | } 216 | .a3-metabox-wrapper .a3-metabox-item table td { 217 | text-align: left; 218 | vertical-align: top; 219 | border: 0 220 | } 221 | .a3-metabox-wrapper .a3-metabox-item h3 table td { 222 | padding: 0; 223 | } 224 | .a3-metabox-wrapper .a3-metabox-item table td label { 225 | text-align: left; 226 | display: block; 227 | line-height: 21px; 228 | } 229 | .a3-metabox-wrapper .close_all, .a3-metabox-wrapper .expand_all { 230 | float: right; 231 | margin-left: 14px; 232 | line-height: 22px; 233 | text-decoration: none 234 | } 235 | @media only screen and (max-width: 900px) { 236 | .a3-metabox-panel-wrap { 237 | padding-left: 35px; 238 | } 239 | .a3-metabox-tabs-back { 240 | position: absolute; 241 | top: 0; 242 | left: 0; 243 | bottom: 0; 244 | width: 28px; 245 | border-right: 1px solid #DFDFDF; 246 | } 247 | ul.a3-metabox-data-tabs { 248 | width: 28px; 249 | margin-left: -35px; 250 | } 251 | ul.a3-metabox-data-tabs li a { 252 | overflow: hidden; 253 | white-space: nowrap; 254 | } 255 | .a3-metabox-tabs-back, ul.a3-metabox-data-tabs { 256 | width: 40px; 257 | } 258 | ul.a3-metabox-data-tabs li a { 259 | position: relative; 260 | text-indent: -999px; 261 | padding: 10px; 262 | } 263 | ul.a3-metabox-data-tabs li a:before { 264 | position: absolute; 265 | top: 0; 266 | right: 0; 267 | bottom: 0; 268 | left: 0; 269 | text-indent: 0; 270 | text-align: center; 271 | line-height: 40px; 272 | width: 40px; 273 | height: 40px; 274 | } 275 | .a3-metabox-wrapper, .a3-metabox-options-panel { 276 | width: 98%; 277 | } 278 | } 279 | -------------------------------------------------------------------------------- /admin/assets/css/a3_admin_metabox.rtl.css: -------------------------------------------------------------------------------- 1 | .clear { 2 | clear: both; 3 | } 4 | .nobr { 5 | white-space: nowrap; 6 | } 7 | .a3-metabox-panel-wrap { 8 | padding-left: 0px; 9 | padding-right: 146px; 10 | } 11 | .a3-metabox-panel-wrap .a3-metabox-tabs-back { 12 | left: auto; 13 | right: 0; 14 | border-left: 1px solid #DFDFDF; 15 | border-right: none; 16 | } 17 | .a3-metabox-panel-wrap ul.a3-metabox-data-tabs { 18 | float: right; 19 | margin: 0 -146px 0 0; 20 | } 21 | .a3-metabox-panel-wrap ul.a3-metabox-data-tabs li.active a { 22 | margin: 0 0 0 -1px; 23 | } 24 | .a3-metabox-wrapper, 25 | .a3-metabox-options-panel { 26 | float: left; 27 | } 28 | .a3-metabox-wrapper .a3-metabox-items, 29 | .a3-metabox-wrapper p.toolbar, 30 | .a3-metabox-options-panel .a3-metabox-items, 31 | .a3-metabox-options-panel p.toolbar { 32 | padding-left: 20px !important; 33 | padding-right: 12px !important; 34 | } 35 | .a3-metabox-wrapper .close_all, 36 | .a3-metabox-wrapper .expand_all { 37 | float: left; 38 | margin-left: 0px; 39 | margin-right: 14px; 40 | } 41 | .a3-metabox-wrapper .a3-metabox-item table td { 42 | text-align: right; 43 | } 44 | .a3-metabox-wrapper .a3-metabox-item table td label { 45 | text-align: right; 46 | } 47 | .a3-metabox-wrapper .a3-metabox-item h3 .handlediv { 48 | left: 0; 49 | right: auto; 50 | } 51 | @media only screen and (max-width: 900px) { 52 | .a3-metabox-panel-wrap { 53 | padding-left: 0px; 54 | padding-right: 35px; 55 | } 56 | .a3-metabox-panel-wrap .a3-metabox-tabs-back { 57 | left: auto; 58 | left: 0; 59 | border-left: 1px solid #DFDFDF; 60 | border-right: none; 61 | } 62 | .a3-metabox-panel-wrap ul.a3-metabox-data-tabs { 63 | margin-left: 0px; 64 | margin-right: -35px; 65 | } 66 | .a3-metabox-panel-wrap ul.a3-metabox-data-tabs li a:after { 67 | position: absolute; 68 | top: 0; 69 | right: 0; 70 | bottom: 0; 71 | left: 0; 72 | text-indent: 0; 73 | text-align: center; 74 | line-height: 40px; 75 | width: 40px; 76 | height: 40px; 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /admin/assets/css/a3_admin_metabox.rtl.less: -------------------------------------------------------------------------------- 1 | @import "mixins.less"; 2 | 3 | /*-------------------------------------------------------------------------------------------*/ 4 | /* A3rev Admin Metabox RTL UI */ 5 | /*-------------------------------------------------------------------------------------------*/ 6 | 7 | .a3-metabox-panel-wrap { 8 | padding-left: 0px; 9 | padding-right: 146px; 10 | 11 | .a3-metabox-tabs-back { 12 | left: auto; 13 | right: 0; 14 | border-left: 1px solid #DFDFDF; 15 | border-right: none; 16 | } 17 | 18 | ul { 19 | &.a3-metabox-data-tabs { 20 | float: right; 21 | margin: 0 -146px 0 0; 22 | 23 | li { 24 | &.active { 25 | a { 26 | margin: 0 0 0 -1px; 27 | } 28 | } 29 | } 30 | } 31 | } 32 | } 33 | 34 | .a3-metabox-wrapper, .a3-metabox-options-panel { 35 | float: left; 36 | 37 | .a3-metabox-items, p.toolbar { 38 | padding-left: 20px !important; 39 | padding-right: 12px !important; 40 | } 41 | } 42 | 43 | .a3-metabox-wrapper { 44 | .close_all, .expand_all { 45 | float: left; 46 | margin-left: 0px; 47 | margin-right: 14px; 48 | } 49 | 50 | .a3-metabox-item { 51 | table { 52 | td { 53 | text-align: right; 54 | 55 | label { 56 | text-align: right; 57 | } 58 | } 59 | } 60 | h3 { 61 | .handlediv { 62 | left: 0; 63 | right: auto; 64 | 65 | } 66 | } 67 | } 68 | } 69 | 70 | @media only screen and (max-width: 900px) { 71 | .a3-metabox-panel-wrap { 72 | padding-left: 0px; 73 | padding-right: 35px; 74 | 75 | .a3-metabox-tabs-back { 76 | left: auto; 77 | left: 0; 78 | border-left: 1px solid #DFDFDF; 79 | border-right: none; 80 | } 81 | 82 | ul { 83 | &.a3-metabox-data-tabs { 84 | margin-left: 0px; 85 | margin-right: -35px; 86 | 87 | li { 88 | a { 89 | &:after { 90 | position: absolute; 91 | top: 0; 92 | right: 0; 93 | bottom: 0; 94 | left: 0; 95 | text-indent: 0; 96 | text-align: center; 97 | line-height: 40px; 98 | width: 40px; 99 | height: 40px; 100 | } 101 | } 102 | } 103 | } 104 | } 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /admin/assets/css/a3_admin_metabox.rtl.min.css: -------------------------------------------------------------------------------- 1 | .clear{clear:both}.nobr{white-space:nowrap}.a3-metabox-panel-wrap{padding-left:0px;padding-right:146px}.a3-metabox-panel-wrap .a3-metabox-tabs-back{left:auto;right:0;border-left:1px solid #DFDFDF;border-right:none}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs{float:right;margin:0 -146px 0 0}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs li.active a{margin:0 0 0 -1px}.a3-metabox-wrapper,.a3-metabox-options-panel{float:left}.a3-metabox-wrapper .a3-metabox-items,.a3-metabox-wrapper p.toolbar,.a3-metabox-options-panel .a3-metabox-items,.a3-metabox-options-panel p.toolbar{padding-left:20px !important;padding-right:12px !important}.a3-metabox-wrapper .close_all,.a3-metabox-wrapper .expand_all{float:left;margin-left:0px;margin-right:14px}.a3-metabox-wrapper .a3-metabox-item table td{text-align:right}.a3-metabox-wrapper .a3-metabox-item table td label{text-align:right}.a3-metabox-wrapper .a3-metabox-item h3 .handlediv{left:0;right:auto}@media only screen and (max-width: 900px){.a3-metabox-panel-wrap{padding-left:0px;padding-right:35px}.a3-metabox-panel-wrap .a3-metabox-tabs-back{left:auto;left:0;border-left:1px solid #DFDFDF;border-right:none}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs{margin-left:0px;margin-right:-35px}.a3-metabox-panel-wrap ul.a3-metabox-data-tabs li a:after{position:absolute;top:0;right:0;bottom:0;left:0;text-indent:0;text-align:center;line-height:40px;width:40px;height:40px}} -------------------------------------------------------------------------------- /admin/assets/css/admin-flat-ui-style.css: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------------------------------------*/ 2 | /* A3rev Panel UI FLAT */ 3 | /*-------------------------------------------------------------------------------------------*/ 4 | @charset "UTF-8"; 5 | 6 | .a3rev_panel_container input[type="text"], .a3rev_panel_container input[type="email"] , .a3rev_panel_container input[type="number"], .a3rev_panel_container input[type="password"] { height:auto !important; } 7 | 8 | /* Font Control */ 9 | .a3rev_panel_container .a3rev-ui-typography-preview { height:24px; margin-top: 1px; vertical-align: top; } 10 | 11 | /* Color Control */ 12 | .a3rev_panel_container .wp-picker-container, .a3rev_panel_container .wp-picker-container:active { vertical-align:bottom; } 13 | .a3rev_panel_container .wp-color-result { top:1px !important; vertical-align: top !important; } 14 | .a3rev_panel_container input.a3rev-color-picker { font-family: open sans !important; margin-top: 1px !important;} 15 | .a3rev_panel_container input.wp-picker-default { margin-top: 1px !important; vertical-align:top; } 16 | 17 | /* Settings Preview */ 18 | .a3rev_panel_container .a3rev-ui-settings-preview { height:24px; margin-top: 1px; vertical-align: top; } 19 | 20 | /* Border Rounded Corner Control */ 21 | .a3rev_panel_container .a3rev-ui-border_corner-span { float:left; width:150px; } 22 | .a3rev_panel_container .forminp-border_corner .iPhoneCheckContainer .iPhoneCheckLabelOff, .a3rev_panel_container .forminp-border_corner .iOSCheckContainer .iOSCheckLabelOff { 23 | background: #569aef !important; 24 | box-shadow: none !important; 25 | -webkit-box-shadow: none !important; 26 | border: 1px solid #666666; 27 | border-radius: 5px; 28 | -webkit-border-radius: 5px 5px 5px 5px; 29 | -moz-border-radius: 5px 5px 5px 5px; 30 | 31 | color: #FFFFFF !important; 32 | text-shadow: none !important; 33 | } 34 | 35 | /* Box Shadow Control */ 36 | .a3rev_panel_container .forminp-box_shadow .a3rev-ui-settings-control .iPhoneCheckContainer, .a3rev_panel_container .forminp-box_shadow .a3rev-ui-settings-control .iOSCheckContainer { top:0px; vertical-align:top; } 37 | .a3rev_panel_container .forminp-box_shadow .a3rev-ui-settings-control .iPhoneCheckContainer .iPhoneCheckLabelOff, .a3rev_panel_container .forminp-box_shadow .a3rev-ui-settings-control .iOSCheckContainer .iOSCheckLabelOff { 38 | background: #569aef !important; 39 | box-shadow: none !important; 40 | -webkit-box-shadow: none !important; 41 | border: 1px solid #666666; 42 | border-radius: 5px; 43 | -webkit-border-radius: 5px 5px 5px 5px; 44 | -moz-border-radius: 5px 5px 5px 5px; 45 | 46 | color: #FFFFFF !important; 47 | text-shadow: none !important; 48 | } 49 | 50 | /* SLIDER Control */ 51 | .a3rev_panel_container .a3rev-ui-slide { 52 | background: #ededed !important; 53 | border: 1px solid #666 !important; 54 | border-radius: 3px; 55 | -webkit-border-radius: 3px 3px 3px 3px; 56 | -moz-border-radius: 3px 3px 3px 3px; 57 | 58 | height: 10px; 59 | width: 220px; 60 | position:relative; 61 | float:left; 62 | margin-top:4px; 63 | } 64 | .a3rev_panel_container .a3rev-ui-slide .ui-slider-handle { 65 | background: #666 !important; 66 | box-shadow: none !important; 67 | -webkit-box-shadow: none !important; 68 | border: 1px solid #666 !important; 69 | border-radius: 3px; 70 | -webkit-border-radius: 3px 3px 3px 3px; 71 | -moz-border-radius: 3px 3px 3px 3px; 72 | 73 | position: absolute; 74 | z-index: 2; 75 | width: 22px; 76 | height: 23px; 77 | cursor: pointer; 78 | font-weight: bold; 79 | color: #1C94C4; 80 | outline: none; 81 | top: -8px; 82 | margin-left: -11px; 83 | } 84 | .a3rev_panel_container .a3rev-ui-slide .ui-slider-range { 85 | background: #569aef !important; 86 | box-shadow: none !important; 87 | -webkit-box-shadow: none !important; 88 | border: 1px solid #666 !important; 89 | border-left:none !important; 90 | border-radius: 3px; 91 | -webkit-border-radius: 3px 3px 3px 3px; 92 | -moz-border-radius: 3px 3px 3px 3px; 93 | 94 | position: absolute; 95 | top: -1px; 96 | height: 100%; 97 | } 98 | 99 | /* OnOff Radio Control */ 100 | .a3rev_panel_container .forminp-onoff_radio li .iPhoneCheckContainer label { 101 | margin:0 !important; 102 | } 103 | 104 | /* OnOff Checkbox & Radio Control */ 105 | .a3rev_panel_container .iPhoneCheckContainer label, .a3rev_panel_container .iOSCheckContainer label { 106 | white-space: nowrap; 107 | font-size: 14px; 108 | line-height: 23px; 109 | font-weight: bold; 110 | font-family: inherit !important; 111 | cursor: pointer; 112 | display: block; 113 | position: absolute; 114 | width: auto; 115 | top: 0; 116 | overflow: hidden; 117 | user-select: none; 118 | -moz-user-select: none; 119 | -khtml-user-select: none; 120 | } 121 | .a3rev_panel_container label.iPhoneCheckLabelOff, .a3rev_panel_container label.iOSCheckLabelOff { 122 | background: #ededed !important; 123 | box-shadow: none !important; 124 | -webkit-box-shadow: none !important; 125 | border: 1px solid #666; 126 | border-radius: 5px; 127 | -webkit-border-radius: 5px 5px 5px 5px; 128 | -moz-border-radius: 5px 5px 5px 5px; 129 | 130 | height: 23px; 131 | color: #000 !important; 132 | text-shadow: none !important; 133 | text-align: right; 134 | right: 0; 135 | } 136 | .a3rev_panel_container label.iPhoneCheckLabelOn, .a3rev_panel_container label.iOSCheckLabelOn { 137 | background: #569aef !important; 138 | box-shadow: none !important; 139 | -webkit-box-shadow: none !important; 140 | border: 1px solid #666; 141 | border-radius: 5px; 142 | -webkit-border-radius: 5px 5px 5px 5px; 143 | -moz-border-radius: 5px 5px 5px 5px; 144 | 145 | height: 23px; 146 | text-align:left; 147 | color: #FFFFFF; 148 | text-shadow: none !important; 149 | left: 0; 150 | } 151 | .a3rev_panel_container .iPhoneCheckHandle, .a3rev_panel_container .iOSCheckHandle { 152 | background: #666 !important; 153 | box-shadow: none !important; 154 | -webkit-box-shadow: none !important; 155 | border: 1px solid #666; 156 | border-radius: 5px; 157 | -webkit-border-radius: 5px 5px 5px 5px; 158 | -moz-border-radius: 5px 5px 5px 5px; 159 | 160 | display: block; 161 | cursor: pointer; 162 | position: absolute; 163 | top: 0px; 164 | left: -1px; 165 | width: 35px; 166 | height:23px; 167 | } 168 | 169 | /* Switcher Checkbox Control */ 170 | .a3rev_panel_container .forminp-switcher_checkbox .iPhoneCheckContainer .iPhoneCheckLabelOff, .a3rev_panel_container .forminp-switcher_checkbox .iOSCheckContainer .iOSCheckLabelOff { 171 | background: #569aef !important; 172 | box-shadow: none !important; 173 | -webkit-box-shadow: none !important; 174 | border: 1px solid #666666; 175 | border-radius: 5px; 176 | -webkit-border-radius: 5px 5px 5px 5px; 177 | -moz-border-radius: 5px 5px 5px 5px; 178 | 179 | color: #FFFFFF !important; 180 | text-shadow: none !important; 181 | } 182 | 183 | /* Style for Chosen lib */ 184 | .chosen-container-single .chosen-single { 185 | background: #FFF !important; 186 | } 187 | .chosen-container-active .chosen-single-with-drop { 188 | background: #FFF !important; 189 | } 190 | .chosen-container-multi .chosen-choices .search-choice { 191 | background: #e4e4e4 !important; 192 | -webkit-box-shadow: none !important; 193 | -moz-box-shadow : none !important; 194 | box-shadow : none !important; 195 | } 196 | 197 | /* Thickbox of Uploader */ 198 | #media-upload .ui-sortable .media-item { 199 | clear:both; 200 | } 201 | 202 | @media screen and ( max-width: 782px ) { 203 | #media-items { 204 | width:100%; 205 | } 206 | .media-item .describe input[type="text"], .media-item .describe textarea { 207 | width:100%; 208 | } 209 | } 210 | -------------------------------------------------------------------------------- /admin/assets/css/admin-flat-ui-style.min.css: -------------------------------------------------------------------------------- 1 | .a3rev_panel_container input[type="text"],.a3rev_panel_container input[type="email"],.a3rev_panel_container input[type="number"],.a3rev_panel_container input[type="password"]{height:auto !important} 2 | .a3rev_panel_container .a3rev-ui-typography-preview{height:24px;margin-top:1px;vertical-align:top} 3 | .a3rev_panel_container .wp-picker-container,.a3rev_panel_container .wp-picker-container:active{vertical-align:bottom} 4 | .a3rev_panel_container .wp-color-result{top:1px !important;vertical-align:top !important} 5 | .a3rev_panel_container input.a3rev-color-picker{font-family:open sans !important;margin-top:1px !important} 6 | .a3rev_panel_container input.wp-picker-default{margin-top:1px !important;vertical-align:top} 7 | .a3rev_panel_container .a3rev-ui-settings-preview{height:24px;margin-top:1px;vertical-align:top} 8 | .a3rev_panel_container .a3rev-ui-border_corner-span{float:left;width:150px} 9 | .a3rev_panel_container .forminp-border_corner .iPhoneCheckContainer .iPhoneCheckLabelOff,.a3rev_panel_container .forminp-border_corner .iOSCheckContainer .iOSCheckLabelOff{background:#569aef !important;box-shadow:none !important;-webkit-box-shadow:none !important;border:1px solid #666;border-radius:5px;-webkit-border-radius:5px 5px 5px 5px;-moz-border-radius:5px 5px 5px 5px;color:#fff !important;text-shadow:none !important} 10 | .a3rev_panel_container .forminp-box_shadow .a3rev-ui-settings-control .iPhoneCheckContainer,.a3rev_panel_container .forminp-box_shadow .a3rev-ui-settings-control .iOSCheckContainer{top:0;vertical-align:top} 11 | .a3rev_panel_container .forminp-box_shadow .a3rev-ui-settings-control .iPhoneCheckContainer .iPhoneCheckLabelOff,.a3rev_panel_container .forminp-box_shadow .a3rev-ui-settings-control .iOSCheckContainer .iOSCheckLabelOff{background:#569aef !important;box-shadow:none !important;-webkit-box-shadow:none !important;border:1px solid #666;border-radius:5px;-webkit-border-radius:5px 5px 5px 5px;-moz-border-radius:5px 5px 5px 5px;color:#fff !important;text-shadow:none !important} 12 | .a3rev_panel_container .a3rev-ui-slide{background:#ededed !important;border:1px solid #666 !important;border-radius:3px;-webkit-border-radius:3px 3px 3px 3px;-moz-border-radius:3px 3px 3px 3px;height:10px;width:220px;position:relative;float:left;margin-top:4px} 13 | .a3rev_panel_container .a3rev-ui-slide .ui-slider-handle{background:#666 !important;box-shadow:none !important;-webkit-box-shadow:none !important;border:1px solid #666 !important;border-radius:3px;-webkit-border-radius:3px 3px 3px 3px;-moz-border-radius:3px 3px 3px 3px;position:absolute;z-index:2;width:22px;height:23px;cursor:pointer;font-weight:bold;color:#1c94c4;outline:0;top:-8px;margin-left:-11px} 14 | .a3rev_panel_container .a3rev-ui-slide .ui-slider-range{background:#569aef !important;box-shadow:none !important;-webkit-box-shadow:none !important;border:1px solid #666 !important;border-left:none !important;border-radius:3px;-webkit-border-radius:3px 3px 3px 3px;-moz-border-radius:3px 3px 3px 3px;position:absolute;top:-1px;height:100%} 15 | .a3rev_panel_container .forminp-onoff_radio li .iPhoneCheckContainer label{margin:0 !important} 16 | .a3rev_panel_container .iPhoneCheckContainer label,.a3rev_panel_container .iOSCheckContainer label{white-space:nowrap;font-size:14px;line-height:23px;font-weight:bold;font-family:inherit !important;cursor:pointer;display:block;position:absolute;width:auto;top:0;overflow:hidden;user-select:none;-moz-user-select:none;-khtml-user-select:none} 17 | .a3rev_panel_container label.iPhoneCheckLabelOff,.a3rev_panel_container label.iOSCheckLabelOff{background:#ededed !important;box-shadow:none !important;-webkit-box-shadow:none !important;border:1px solid #666;border-radius:5px;-webkit-border-radius:5px 5px 5px 5px;-moz-border-radius:5px 5px 5px 5px;height:23px;color:#000 !important;text-shadow:none !important;text-align:right;right:0} 18 | .a3rev_panel_container label.iPhoneCheckLabelOn,.a3rev_panel_container label.iOSCheckLabelOn{background:#569aef !important;box-shadow:none !important;-webkit-box-shadow:none !important;border:1px solid #666;border-radius:5px;-webkit-border-radius:5px 5px 5px 5px;-moz-border-radius:5px 5px 5px 5px;height:23px;text-align:left;color:#fff;text-shadow:none !important;left:0} 19 | .a3rev_panel_container .iPhoneCheckHandle,.a3rev_panel_container .iOSCheckHandle{background:#666 !important;box-shadow:none !important;-webkit-box-shadow:none !important;border:1px solid #666;border-radius:5px;-webkit-border-radius:5px 5px 5px 5px;-moz-border-radius:5px 5px 5px 5px;display:block;cursor:pointer;position:absolute;top:0;left:-1px;width:35px;height:23px} 20 | .a3rev_panel_container .forminp-switcher_checkbox .iPhoneCheckContainer .iPhoneCheckLabelOff,.a3rev_panel_container .forminp-switcher_checkbox .iOSCheckContainer .iOSCheckLabelOff{background:#569aef !important;box-shadow:none !important;-webkit-box-shadow:none !important;border:1px solid #666;border-radius:5px;-webkit-border-radius:5px 5px 5px 5px;-moz-border-radius:5px 5px 5px 5px;color:#fff !important;text-shadow:none !important} 21 | .chosen-container-single .chosen-single{background:#FFF !important} 22 | .chosen-container-active .chosen-single-with-drop{background:#FFF !important} 23 | .chosen-container-multi .chosen-choices .search-choice{background:#e4e4e4 !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important;box-shadow:none !important} 24 | #media-upload .ui-sortable .media-item{clear:both} 25 | @media screen and (max-width:782px){#media-items{width:100%} 26 | .media-item .describe input[type="text"],.media-item .describe textarea{width:100%} 27 | } -------------------------------------------------------------------------------- /admin/assets/css/admin-ui-style.rtl.css: -------------------------------------------------------------------------------- 1 | .clear { 2 | clear: both; 3 | } 4 | .nobr { 5 | white-space: nowrap; 6 | } 7 | body.rtl .a3rev_panel_container { 8 | font-family: "Open Sans", sans-serif; 9 | } 10 | .a3rev_panel_container .a3rev_panel_box_handle { 11 | padding: 8px 38px 8px 12px; 12 | } 13 | .a3rev_panel_container .a3rev_panel_box_handle .pro_feature_top_message { 14 | text-align: right; 15 | } 16 | .a3rev_panel_container .a3-plugin-ui-panel-box:before { 17 | left: auto; 18 | right: 10px; 19 | } 20 | .a3rev_panel_container code { 21 | float: right; 22 | } 23 | .a3rev_panel_container .chosen-container { 24 | margin-right: 0px; 25 | margin-left: 2px; 26 | } 27 | .a3rev_panel_container .chosen-container .chosen-drop { 28 | left: auto; 29 | right: -9999px; 30 | } 31 | .a3rev_panel_container .chosen-container.chosen-with-drop .chosen-drop { 32 | left: auto; 33 | right: 0; 34 | } 35 | .a3rev_panel_container .chosen-container.chosen-container-multi .chosen-choices li.search-choice { 36 | margin-left: 0px; 37 | margin-right: 5px; 38 | float: left; 39 | padding-left: 20px; 40 | padding-right: 5px; 41 | } 42 | .a3rev_panel_container .chosen-container.chosen-container-multi .chosen-choices li.search-choice .search-choice-close { 43 | left: 3px; 44 | right: auto; 45 | } 46 | .a3rev_panel_container span.description { 47 | margin-right: 5px; 48 | } 49 | .a3rev_panel_container .typography-preview-container .preview_remove, 50 | .a3rev_panel_container .settings-preview-container .preview_remove { 51 | left: -10px; 52 | right: auto; 53 | } 54 | .a3rev_panel_container .a3rev-ui-settings-preview-button { 55 | float: right; 56 | } 57 | .a3rev_panel_container .forminp-border_corner .iPhoneCheckContainer { 58 | margin-left: 30px; 59 | margin-right: 0px; 60 | } 61 | .a3rev_panel_container .forminp-border_corner .a3rev-ui-border-corner-value-container { 62 | float: right; 63 | } 64 | .a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-top_left, 65 | .a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-top_right, 66 | .a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-bottom_left, 67 | .a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-bottom_right { 68 | float: right; 69 | } 70 | .a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-span { 71 | float: right; 72 | } 73 | .a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-px { 74 | float: right; 75 | margin-left: 10px; 76 | margin-right: 0px; 77 | } 78 | .a3rev_panel_container .a3rev-ui-slide-container { 79 | float: right; 80 | } 81 | .a3rev_panel_container .a3rev-ui-slide-container-start { 82 | padding-left: 20px; 83 | margin-right: 12px; 84 | float: right; 85 | } 86 | .a3rev_panel_container .a3rev-ui-slide-result-container { 87 | float: right; 88 | } 89 | .a3rev_panel_container .a3rev-ui-slider { 90 | float: right; 91 | } 92 | .a3rev_panel_container .a3rev-ui-slide { 93 | float: right; 94 | } 95 | .a3rev_panel_container .forminp-onoff_radio ul, 96 | .a3rev_panel_container .forminp-onoff_radio li { 97 | float: right; 98 | } 99 | .a3rev_panel_container .iPhoneCheckContainer, 100 | .a3rev_panel_container .iOSCheckContainer { 101 | margin-left: 10px; 102 | margin-right: 0px; 103 | float: right; 104 | } 105 | .a3rev_panel_container label.iPhoneCheckLabelOff, 106 | .a3rev_panel_container label.iOSCheckLabelOff { 107 | text-align: left; 108 | left: 0; 109 | right: auto; 110 | } 111 | .a3rev_panel_container label.iPhoneCheckLabelOff span, 112 | .a3rev_panel_container label.iOSCheckLabelOff span { 113 | padding-right: 0px; 114 | padding-left: 10px; 115 | } 116 | .a3rev_panel_container label.iPhoneCheckLabelOn, 117 | .a3rev_panel_container label.iOSCheckLabelOn { 118 | text-align: right; 119 | left: auto; 120 | right: 0; 121 | } 122 | .a3rev_panel_container label.iPhoneCheckLabelOn span, 123 | .a3rev_panel_container label.iOSCheckLabelOn span { 124 | padding-left: 0px; 125 | padding-right: 10px; 126 | } 127 | .a3rev_panel_container .iPhoneCheckHandle, 128 | .a3rev_panel_container .iOSCheckHandle { 129 | left: auto; 130 | right: -1px; 131 | } 132 | .a3rev_panel_container .a3rev-ui-array_textfields-container label { 133 | float: right; 134 | margin-left: 5px; 135 | } 136 | .a3rev_panel_container table.form-table th img.help_tip { 137 | float: left; 138 | margin: 0 0 0 -12px; 139 | } 140 | .a3rev_panel_container table.form-table img.help_tip { 141 | margin: -4px 5px 0 0; 142 | } 143 | #a3_plugin_panel_fields { 144 | padding-left: 280px; 145 | padding-right: 0px; 146 | } 147 | #a3_plugin_panel_upgrade_area { 148 | padding-left: 0px; 149 | padding-right: 20px; 150 | float: left; 151 | } 152 | .a3-plugin-ui-help-icon { 153 | float: left; 154 | margin-left: -15px; 155 | margin-right: 0px; 156 | } 157 | -------------------------------------------------------------------------------- /admin/assets/css/admin-ui-style.rtl.less: -------------------------------------------------------------------------------- 1 | @import "mixins.less"; 2 | 3 | /*-------------------------------------------------------------------------------------------*/ 4 | /* A3rev Panel RTL UI */ 5 | /*-------------------------------------------------------------------------------------------*/ 6 | 7 | body.rtl { 8 | .a3rev_panel_container { 9 | font-family: "Open Sans",sans-serif; 10 | } 11 | } 12 | .a3rev_panel_container { 13 | 14 | .a3rev_panel_box_handle { 15 | padding: 8px 38px 8px 12px; 16 | 17 | .pro_feature_top_message { 18 | text-align: right; 19 | } 20 | } 21 | 22 | .a3-plugin-ui-panel-box { 23 | &:before { 24 | left: auto; 25 | right: 10px; 26 | } 27 | } 28 | 29 | code { 30 | float: right; 31 | } 32 | 33 | /* Chosen RTL */ 34 | .chosen-container { 35 | margin-right: 0px; 36 | margin-left: 2px; 37 | 38 | .chosen-drop { 39 | left: auto; 40 | right: -9999px; 41 | } 42 | &.chosen-with-drop { 43 | .chosen-drop { 44 | left: auto; 45 | right: 0; 46 | } 47 | } 48 | &.chosen-container-multi { 49 | .chosen-choices { 50 | li.search-choice { 51 | margin-left: 0px; 52 | margin-right: 5px; 53 | float: left; 54 | padding-left: 20px; 55 | padding-right: 5px; 56 | 57 | .search-choice-close { 58 | left: 3px; 59 | right: auto; 60 | } 61 | } 62 | } 63 | } 64 | } 65 | 66 | /* Description */ 67 | span.description { 68 | margin-right: 5px; 69 | } 70 | 71 | /* Preview Remove Button */ 72 | .typography-preview-container, .settings-preview-container { 73 | .preview_remove { 74 | left: -10px; 75 | right: auto; 76 | } 77 | 78 | } 79 | .a3rev-ui-settings-preview-button { 80 | float: right; 81 | } 82 | 83 | /* Border Rounded Corner Control */ 84 | .forminp-border_corner { 85 | .iPhoneCheckContainer { 86 | margin-left: 30px; 87 | margin-right: 0px; 88 | } 89 | 90 | .a3rev-ui-border-corner-value-container { 91 | float: right; 92 | } 93 | 94 | .a3rev-ui-border_corner-top_left, .a3rev-ui-border_corner-top_right, .a3rev-ui-border_corner-bottom_left, .a3rev-ui-border_corner-bottom_right { 95 | float: right; 96 | } 97 | 98 | .a3rev-ui-border_corner-span { 99 | float: right; 100 | } 101 | 102 | .a3rev-ui-border_corner-px { 103 | float: right; 104 | margin-left: 10px; 105 | margin-right: 0px; 106 | } 107 | } 108 | 109 | /* SLIDER Control */ 110 | .a3rev-ui-slide-container { 111 | float: right; 112 | } 113 | .a3rev-ui-slide-container-start { 114 | padding-left: 20px; 115 | margin-right: 12px; 116 | float: right; 117 | } 118 | .a3rev-ui-slide-result-container { 119 | float: right; 120 | } 121 | .a3rev-ui-slider { 122 | float: right; 123 | } 124 | .a3rev-ui-slide { 125 | float: right; 126 | } 127 | 128 | /* OnOff Radio Control */ 129 | .forminp-onoff_radio { 130 | ul, li { 131 | float: right; 132 | } 133 | } 134 | 135 | /* OnOff Checkbox & Radio Control */ 136 | .iPhoneCheckContainer, .iOSCheckContainer { 137 | margin-left: 10px; 138 | margin-right: 0px; 139 | float: right; 140 | } 141 | label.iPhoneCheckLabelOff, label.iOSCheckLabelOff { 142 | text-align: left; 143 | left: 0; 144 | right: auto; 145 | 146 | span { 147 | padding-right: 0px; 148 | padding-left: 10px; 149 | } 150 | } 151 | label.iPhoneCheckLabelOn, label.iOSCheckLabelOn { 152 | text-align: right; 153 | left: auto; 154 | right: 0; 155 | 156 | span { 157 | padding-left: 0px; 158 | padding-right: 10px; 159 | } 160 | } 161 | 162 | .iPhoneCheckHandle, .iOSCheckHandle { 163 | left: auto; 164 | right: -1px; 165 | } 166 | 167 | /* TextFields */ 168 | .a3rev-ui-array_textfields-container { 169 | label { 170 | float: right; 171 | margin-left: 5px; 172 | } 173 | } 174 | 175 | /* Help Tip */ 176 | table { 177 | &.form-table { 178 | th { 179 | img.help_tip { 180 | float: left; 181 | margin: 0 0 0 -12px; 182 | } 183 | } 184 | 185 | img.help_tip { 186 | margin: -4px 5px 0 0; 187 | } 188 | } 189 | } 190 | } 191 | 192 | /* Style for yellow box about Pro or Ultimate version */ 193 | #a3_plugin_panel_fields { 194 | padding-left: 280px; 195 | padding-right: 0px; 196 | } 197 | #a3_plugin_panel_upgrade_area { 198 | padding-left: 0px; 199 | padding-right:20px; 200 | float: left; 201 | } 202 | 203 | /* Custom for each element web icons font */ 204 | .a3-plugin-ui-help-icon { 205 | float: left; 206 | margin-left: -15px; 207 | margin-right: 0px; 208 | } -------------------------------------------------------------------------------- /admin/assets/css/admin-ui-style.rtl.min.css: -------------------------------------------------------------------------------- 1 | .clear{clear:both}.nobr{white-space:nowrap}body.rtl .a3rev_panel_container{font-family:"Open Sans", sans-serif}.a3rev_panel_container .a3rev_panel_box_handle{padding:8px 38px 8px 12px}.a3rev_panel_container .a3rev_panel_box_handle .pro_feature_top_message{text-align:right}.a3rev_panel_container .a3-plugin-ui-panel-box:before{left:auto;right:10px}.a3rev_panel_container code{float:right}.a3rev_panel_container .chosen-container{margin-right:0px;margin-left:2px}.a3rev_panel_container .chosen-container .chosen-drop{left:auto;right:-9999px}.a3rev_panel_container .chosen-container.chosen-with-drop .chosen-drop{left:auto;right:0}.a3rev_panel_container .chosen-container.chosen-container-multi .chosen-choices li.search-choice{margin-left:0px;margin-right:5px;float:left;padding-left:20px;padding-right:5px}.a3rev_panel_container .chosen-container.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{left:3px;right:auto}.a3rev_panel_container span.description{margin-right:5px}.a3rev_panel_container .typography-preview-container .preview_remove,.a3rev_panel_container .settings-preview-container .preview_remove{left:-10px;right:auto}.a3rev_panel_container .a3rev-ui-settings-preview-button{float:right}.a3rev_panel_container .forminp-border_corner .iPhoneCheckContainer{margin-left:30px;margin-right:0px}.a3rev_panel_container .forminp-border_corner .a3rev-ui-border-corner-value-container{float:right}.a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-top_left,.a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-top_right,.a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-bottom_left,.a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-bottom_right{float:right}.a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-span{float:right}.a3rev_panel_container .forminp-border_corner .a3rev-ui-border_corner-px{float:right;margin-left:10px;margin-right:0px}.a3rev_panel_container .a3rev-ui-slide-container{float:right}.a3rev_panel_container .a3rev-ui-slide-container-start{padding-left:20px;margin-right:12px;float:right}.a3rev_panel_container .a3rev-ui-slide-result-container{float:right}.a3rev_panel_container .a3rev-ui-slider{float:right}.a3rev_panel_container .a3rev-ui-slide{float:right}.a3rev_panel_container .forminp-onoff_radio ul,.a3rev_panel_container .forminp-onoff_radio li{float:right}.a3rev_panel_container .iPhoneCheckContainer,.a3rev_panel_container .iOSCheckContainer{margin-left:10px;margin-right:0px;float:right}.a3rev_panel_container label.iPhoneCheckLabelOff,.a3rev_panel_container label.iOSCheckLabelOff{text-align:left;left:0;right:auto}.a3rev_panel_container label.iPhoneCheckLabelOff span,.a3rev_panel_container label.iOSCheckLabelOff span{padding-right:0px;padding-left:10px}.a3rev_panel_container label.iPhoneCheckLabelOn,.a3rev_panel_container label.iOSCheckLabelOn{text-align:right;left:auto;right:0}.a3rev_panel_container label.iPhoneCheckLabelOn span,.a3rev_panel_container label.iOSCheckLabelOn span{padding-left:0px;padding-right:10px}.a3rev_panel_container .iPhoneCheckHandle,.a3rev_panel_container .iOSCheckHandle{left:auto;right:-1px}.a3rev_panel_container .a3rev-ui-array_textfields-container label{float:right;margin-left:5px}.a3rev_panel_container table.form-table th img.help_tip{float:left;margin:0 0 0 -12px}.a3rev_panel_container table.form-table img.help_tip{margin:-4px 5px 0 0}#a3_plugin_panel_fields{padding-left:280px;padding-right:0px}#a3_plugin_panel_upgrade_area{padding-left:0px;padding-right:20px;float:left}.a3-plugin-ui-help-icon{float:left;margin-left:-15px;margin-right:0px} -------------------------------------------------------------------------------- /admin/assets/css/mixins.less: -------------------------------------------------------------------------------- 1 | @green: green; 2 | @red: red; 3 | @orange: orange; 4 | @blue: blue; 5 | @yellow: yellow; 6 | @white: white; 7 | @black: black; 8 | 9 | .clearfix() { 10 | *zoom:1; 11 | &:before, 12 | &:after { 13 | content: " "; 14 | display: table; 15 | } 16 | &:after { 17 | clear: both; 18 | } 19 | } 20 | .border_radius(@radius:4px) { 21 | -webkit-border-radius:@radius; 22 | border-radius:@radius; 23 | } 24 | .border_radius_corner(@topleft:4px, @topright:4px, @bottomleft:4px, @bottomright:4px) { 25 | -webkit-border-top-left-radius: @topleft; 26 | border-top-left-radius: @topleft; 27 | -webkit-border-top-right-radius: @topright; 28 | border-top-right-radius: @topright; 29 | -webkit-border-bottom-left-radius: @bottomleft; 30 | border-bottom-left-radius: @bottomleft; 31 | -webkit-border-bottom-right-radius: @bottomright; 32 | border-bottom-right-radius: @bottomright; 33 | } 34 | 35 | .border_radius_top_left(@radius:4px) { 36 | -webkit-border-top-left-radius: @radius; 37 | border-top-left-radius: @radius; 38 | } 39 | .border_radius_top_right(@radius:4px) { 40 | -webkit-border-top-right-radius: @radius; 41 | border-top-right-radius: @radius; 42 | } 43 | .border_radius_bottom_left(@radius:4px) { 44 | -webkit-border-bottom-left-radius: @radius; 45 | border-bottom-left-radius: @radius; 46 | } 47 | .border_radius_bottom_right(@radius:4px) { 48 | -webkit-border-bottom-right-radius: @radius; 49 | border-bottom-right-radius: @radius; 50 | } 51 | 52 | .border_radius_right(@radius:4px) { 53 | -webkit-border-top-right-radius: @radius; 54 | -webkit-border-bottom-right-radius: @radius; 55 | border-top-right-radius: @radius; 56 | border-bottom-right-radius: @radius; 57 | } 58 | .border_radius_left(@radius:4px) { 59 | -webkit-border-top-left-radius: @radius; 60 | -webkit-border-bottom-left-radius: @radius; 61 | border-top-left-radius: @radius; 62 | border-bottom-left-radius: @radius; 63 | } 64 | .border_radius_bottom(@radius:4px) { 65 | -webkit-border-bottom-left-radius: @radius; 66 | -webkit-border-bottom-right-radius: @radius; 67 | border-bottom-left-radius: @radius; 68 | border-bottom-right-radius: @radius; 69 | } 70 | .border_radius_top(@radius:4px) { 71 | -webkit-border-top-left-radius: @radius; 72 | -webkit-border-top-right-radius: @radius; 73 | border-top-left-radius: @radius; 74 | border-top-right-radius: @radius; 75 | } 76 | .opacity(@opacity:0.75) { 77 | filter:~"alpha(opacity=@opacity * 100)"; 78 | -moz-opacity:@opacity; 79 | -khtml-opacity: @opacity; 80 | opacity: @opacity; 81 | } 82 | .box_shadow_none() { 83 | box-shadow: none; 84 | -moz-box-shadow: none; 85 | -webkit-box-shadow: none; 86 | } 87 | .box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { 88 | box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 89 | -webkit-box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 90 | } 91 | .inset_box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { 92 | box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 93 | -webkit-box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 94 | } 95 | .text_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_color:#fff) { 96 | text-shadow:@shadow_x @shadow_y @shadow_rad @shadow_color; 97 | } 98 | .vertical_gradient(@from: #000, @to: #FFF) { 99 | background: @from; 100 | background: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); 101 | background: -webkit-linear-gradient(@from, @to); 102 | background: -moz-linear-gradient(center top, @from 0%, @to 100%); 103 | background: -moz-gradient(center top, @from 0%, @to 100%); 104 | } 105 | .transition(@selector:all, @animation:ease-in-out, @duration:.2s) { 106 | -webkit-transition:@selector @animation @duration; 107 | -moz-transition:@selector @animation @duration; 108 | -o-transition:@selector @animation @duration; 109 | transition:@selector @animation @duration; 110 | } 111 | 112 | .scale(@ratio:1.5){ 113 | -webkit-transform:scale(@ratio); 114 | -moz-transform:scale(@ratio); 115 | -ms-transform:scale(@ratio); 116 | -o-transform:scale(@ratio); 117 | transform:scale(@ratio); 118 | } 119 | 120 | .borderbox () { 121 | -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ 122 | -moz-box-sizing: border-box; /* Firefox, other Gecko */ 123 | box-sizing: border-box; /* Opera/IE 8+ */ 124 | } 125 | 126 | .clear { clear: both; } 127 | .nobr { white-space: nowrap; } 128 | 129 | .darkorlighttextshadow ( @a, @opacity: 0.8 ) when (lightness(@a) >= 65%) { .text_shadow( 0, -1px, 0, rgba(0,0,0,@opacity) ); } 130 | .darkorlighttextshadow ( @a, @opacity: 0.8 ) when (lightness(@a) < 65%) { .text_shadow( 0, 1px, 0, rgba(255,255,255,@opacity) ); } 131 | 132 | /** 133 | * Objects 134 | */ 135 | .menu() { 136 | .clearfix; 137 | li { 138 | display: inline-block; 139 | } 140 | } 141 | .mediaright() { 142 | .clearfix; 143 | img { 144 | float:right; 145 | height:auto; 146 | } 147 | } 148 | .medialeft() { 149 | .clearfix; 150 | img { 151 | float:right; 152 | height:auto; 153 | } 154 | } 155 | .ir() { 156 | display: block; 157 | text-indent: -9999px; 158 | position: relative; 159 | height:1em; 160 | width:1em; 161 | } 162 | 163 | .margin( @top:0, @right:0px, @bottom:0px , @left:0 ){ 164 | margin-top: @top; 165 | margin-right: @right; 166 | margin-bottom: @bottom; 167 | margin-left: @left; 168 | } 169 | 170 | .margin_left( @left:0 ){ 171 | margin-left: @left; 172 | } 173 | .margin_right( @right:0 ){ 174 | margin-right: @right; 175 | } 176 | .margin_top( @top:0 ){ 177 | margin-top: @top; 178 | } 179 | .margin_bottom( @bottom:0 ){ 180 | margin-bottom: @bottom; 181 | } 182 | 183 | .padding( @top:0, @right:0px, @bottom:0px , @left:0 ){ 184 | padding-top: @top; 185 | padding-right: @right; 186 | padding-bottom: @bottom; 187 | padding-left: @left; 188 | } 189 | 190 | .padding_left( @left:0 ){ 191 | padding-left: @left; 192 | } 193 | .padding_right( @right:0 ){ 194 | padding-right: @right; 195 | } 196 | .padding_top( @top:0 ){ 197 | padding-top: @top; 198 | } 199 | .padding_bottom( @bottom:0 ){ 200 | padding-bottom: @bottom; 201 | } 202 | 203 | .background( @url, @repeat:no-repeat, @hoz:0, @ver:0, @color ){ 204 | background: url(@url) @repeat @hoz @ver @color; 205 | } -------------------------------------------------------------------------------- /admin/assets/css/modal.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v4.1.1 (https://getbootstrap.com/) 3 | * Copyright 2011-2018 The Bootstrap Authors 4 | * Copyright 2011-2018 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | .modal .close { 9 | float: right; 10 | font-size: 1.5rem; 11 | font-weight: 700; 12 | line-height: 1; 13 | color: #000; 14 | text-shadow: 0 1px 0 #fff; 15 | opacity: .5; 16 | } 17 | 18 | .modal .close:hover, .modal .close:focus { 19 | color: #000; 20 | text-decoration: none; 21 | opacity: .75; 22 | } 23 | 24 | .modal .close:not(:disabled):not(.disabled) { 25 | cursor: pointer; 26 | } 27 | 28 | .modal button.close { 29 | padding: 0; 30 | background-color: transparent; 31 | border: 0; 32 | -webkit-appearance: none; 33 | } 34 | 35 | .modal-open { 36 | overflow: hidden; 37 | } 38 | 39 | .modal { 40 | position: fixed; 41 | top: 0; 42 | right: 0; 43 | bottom: 0; 44 | left: 0; 45 | z-index: 1050; 46 | display: none; 47 | overflow: hidden; 48 | outline: 0; 49 | } 50 | 51 | .modal-open .modal { 52 | overflow-x: hidden; 53 | overflow-y: auto; 54 | } 55 | 56 | .modal-dialog { 57 | position: relative; 58 | width: auto; 59 | margin: 0.5rem; 60 | pointer-events: none; 61 | } 62 | 63 | .modal.fade{ 64 | opacity: 1; 65 | } 66 | 67 | .modal.fade .modal-dialog { 68 | transition: -webkit-transform 0.3s ease-out; 69 | transition: transform 0.3s ease-out; 70 | transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; 71 | -webkit-transform: translate(0, -25%); 72 | transform: translate(0, -25%); 73 | } 74 | 75 | @media screen and (prefers-reduced-motion: reduce) { 76 | .modal.fade .modal-dialog { 77 | transition: none; 78 | } 79 | } 80 | 81 | .modal.show .modal-dialog { 82 | -webkit-transform: translate(0, 0); 83 | transform: translate(0, 0); 84 | } 85 | 86 | .modal-dialog-centered { 87 | display: -ms-flexbox; 88 | display: flex; 89 | -ms-flex-align: center; 90 | align-items: center; 91 | min-height: calc(100% - (0.5rem * 2)); 92 | } 93 | 94 | .modal-content { 95 | position: relative; 96 | display: -ms-flexbox; 97 | display: flex; 98 | -ms-flex-direction: column; 99 | flex-direction: column; 100 | width: 100%; 101 | pointer-events: auto; 102 | background-color: #fff; 103 | background-clip: padding-box; 104 | border: 1px solid rgba(0, 0, 0, 0.2); 105 | border-radius: 0.3rem; 106 | outline: 0; 107 | } 108 | 109 | .modal-backdrop { 110 | position: fixed; 111 | top: 0; 112 | right: 0; 113 | bottom: 0; 114 | left: 0; 115 | z-index: 1040; 116 | background-color: #000; 117 | } 118 | 119 | .modal-backdrop.fade { 120 | opacity: 0; 121 | } 122 | 123 | .modal-backdrop.show { 124 | opacity: 0.5; 125 | } 126 | 127 | .modal-header { 128 | display: -ms-flexbox; 129 | display: flex; 130 | -ms-flex-align: start; 131 | align-items: flex-start; 132 | -ms-flex-pack: justify; 133 | justify-content: space-between; 134 | padding: 1rem; 135 | border-bottom: 1px solid #e9ecef; 136 | border-top-left-radius: 0.3rem; 137 | border-top-right-radius: 0.3rem; 138 | } 139 | 140 | .modal-header .close { 141 | padding: 1rem; 142 | margin: -1rem -1rem -1rem auto; 143 | } 144 | 145 | .modal-title { 146 | margin-bottom: 0; 147 | line-height: 1.5; 148 | } 149 | 150 | .modal-body { 151 | position: relative; 152 | -ms-flex: 1 1 auto; 153 | flex: 1 1 auto; 154 | padding: 1rem; 155 | } 156 | 157 | .modal-footer { 158 | display: -ms-flexbox; 159 | display: flex; 160 | -ms-flex-align: center; 161 | align-items: center; 162 | -ms-flex-pack: end; 163 | justify-content: flex-end; 164 | padding: 1rem; 165 | border-top: 1px solid #e9ecef; 166 | } 167 | 168 | .modal-footer > :not(:first-child) { 169 | margin-left: .25rem; 170 | } 171 | 172 | .modal-footer > :not(:last-child) { 173 | margin-right: .25rem; 174 | } 175 | 176 | .modal-scrollbar-measure { 177 | position: absolute; 178 | top: -9999px; 179 | width: 50px; 180 | height: 50px; 181 | overflow: scroll; 182 | } 183 | 184 | @media (min-width: 576px) { 185 | .modal-dialog { 186 | max-width: 500px; 187 | margin: 1.75rem auto; 188 | } 189 | .modal-dialog-centered { 190 | min-height: calc(100% - (1.75rem * 2)); 191 | } 192 | .modal-sm { 193 | max-width: 300px; 194 | } 195 | } 196 | 197 | @media (min-width: 992px) { 198 | .modal-lg { 199 | max-width: 800px; 200 | } 201 | } -------------------------------------------------------------------------------- /admin/assets/css/modal.min.css: -------------------------------------------------------------------------------- 1 | .modal .close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.modal .close:hover,.modal .close:focus{color:#000;text-decoration:none;opacity:.75}.modal .close:not(:disabled):not(.disabled){cursor:pointer}.modal button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:0.5rem;pointer-events:none}.modal.fade{opacity:1}.modal.fade .modal-dialog{transition:-webkit-transform 0.3s ease-out;transition:transform 0.3s ease-out;transition:transform 0.3s ease-out,-webkit-transform 0.3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (0.5rem * 2))}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:0.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:0.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:0.3rem;border-top-right-radius:0.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer >:not(:first-child){margin-left:.25rem}.modal-footer >:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}} 2 | -------------------------------------------------------------------------------- /admin/assets/css/popover.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v4.1.1 (https://getbootstrap.com/) 3 | * Copyright 2011-2018 The Bootstrap Authors 4 | * Copyright 2011-2018 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | .popover { 9 | position: absolute; 10 | top: 0; 11 | left: 0; 12 | z-index: 1060; 13 | display: block; 14 | max-width: 276px; 15 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 16 | font-style: normal; 17 | font-weight: 400; 18 | line-height: 1.5; 19 | text-align: left; 20 | text-align: start; 21 | text-decoration: none; 22 | text-shadow: none; 23 | text-transform: none; 24 | letter-spacing: normal; 25 | word-break: normal; 26 | word-spacing: normal; 27 | white-space: normal; 28 | line-break: auto; 29 | font-size: 0.875rem; 30 | word-wrap: break-word; 31 | background-color: #fff; 32 | background-clip: padding-box; 33 | border: 1px solid rgba(0, 0, 0, 0.2); 34 | border-radius: 0.3rem; 35 | } 36 | 37 | .popover .arrow { 38 | position: absolute; 39 | display: block; 40 | width: 1rem; 41 | height: 0.5rem; 42 | margin: 0 0.3rem; 43 | } 44 | 45 | .popover .arrow::before, .popover .arrow::after { 46 | position: absolute; 47 | display: block; 48 | content: ""; 49 | border-color: transparent; 50 | border-style: solid; 51 | } 52 | 53 | .bs-popover-top, .bs-popover-auto[x-placement^="top"] { 54 | margin-bottom: 0.5rem; 55 | } 56 | 57 | .bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow { 58 | bottom: calc((0.5rem + 1px) * -1); 59 | } 60 | 61 | .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before, 62 | .bs-popover-top .arrow::after, 63 | .bs-popover-auto[x-placement^="top"] .arrow::after { 64 | border-width: 0.5rem 0.5rem 0; 65 | } 66 | 67 | .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before { 68 | bottom: 0; 69 | border-top-color: rgba(0, 0, 0, 0.25); 70 | } 71 | 72 | 73 | .bs-popover-top .arrow::after, 74 | .bs-popover-auto[x-placement^="top"] .arrow::after { 75 | bottom: 1px; 76 | border-top-color: #fff; 77 | } 78 | 79 | .bs-popover-right, .bs-popover-auto[x-placement^="right"] { 80 | margin-left: 0.5rem; 81 | } 82 | 83 | .bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow { 84 | left: calc((0.5rem + 1px) * -1); 85 | width: 0.5rem; 86 | height: 1rem; 87 | margin: 0.3rem 0; 88 | } 89 | 90 | .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before, 91 | .bs-popover-right .arrow::after, 92 | .bs-popover-auto[x-placement^="right"] .arrow::after { 93 | border-width: 0.5rem 0.5rem 0.5rem 0; 94 | } 95 | 96 | .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before { 97 | left: 0; 98 | border-right-color: rgba(0, 0, 0, 0.25); 99 | } 100 | 101 | 102 | .bs-popover-right .arrow::after, 103 | .bs-popover-auto[x-placement^="right"] .arrow::after { 104 | left: 1px; 105 | border-right-color: #fff; 106 | } 107 | 108 | .bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { 109 | margin-top: 0.5rem; 110 | } 111 | 112 | .bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow { 113 | top: calc((0.5rem + 1px) * -1); 114 | } 115 | 116 | .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before, 117 | .bs-popover-bottom .arrow::after, 118 | .bs-popover-auto[x-placement^="bottom"] .arrow::after { 119 | border-width: 0 0.5rem 0.5rem 0.5rem; 120 | } 121 | 122 | .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before { 123 | top: 0; 124 | border-bottom-color: rgba(0, 0, 0, 0.25); 125 | } 126 | 127 | 128 | .bs-popover-bottom .arrow::after, 129 | .bs-popover-auto[x-placement^="bottom"] .arrow::after { 130 | top: 1px; 131 | border-bottom-color: #fff; 132 | } 133 | 134 | .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { 135 | position: absolute; 136 | top: 0; 137 | left: 50%; 138 | display: block; 139 | width: 1rem; 140 | margin-left: -0.5rem; 141 | content: ""; 142 | border-bottom: 1px solid #f7f7f7; 143 | } 144 | 145 | .bs-popover-left, .bs-popover-auto[x-placement^="left"] { 146 | margin-right: 0.5rem; 147 | } 148 | 149 | .bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow { 150 | right: calc((0.5rem + 1px) * -1); 151 | width: 0.5rem; 152 | height: 1rem; 153 | margin: 0.3rem 0; 154 | } 155 | 156 | .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before, 157 | .bs-popover-left .arrow::after, 158 | .bs-popover-auto[x-placement^="left"] .arrow::after { 159 | border-width: 0.5rem 0 0.5rem 0.5rem; 160 | } 161 | 162 | .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before { 163 | right: 0; 164 | border-left-color: rgba(0, 0, 0, 0.25); 165 | } 166 | 167 | 168 | .bs-popover-left .arrow::after, 169 | .bs-popover-auto[x-placement^="left"] .arrow::after { 170 | right: 1px; 171 | border-left-color: #fff; 172 | } 173 | 174 | .popover-header { 175 | padding: 0.5rem 0.75rem; 176 | margin-bottom: 0; 177 | font-size: 1rem; 178 | color: inherit; 179 | background-color: #f7f7f7; 180 | border-bottom: 1px solid #ebebeb; 181 | border-top-left-radius: calc(0.3rem - 1px); 182 | border-top-right-radius: calc(0.3rem - 1px); 183 | } 184 | 185 | .popover-header:empty { 186 | display: none; 187 | } 188 | 189 | .popover-body { 190 | padding: 0.5rem 0.75rem; 191 | color: #212529; 192 | } -------------------------------------------------------------------------------- /admin/assets/css/popover.min.css: -------------------------------------------------------------------------------- 1 | .popover,.popover .arrow{position:absolute;display:block}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529} -------------------------------------------------------------------------------- /admin/assets/fonts/a3-metabox-plugin-framework.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/fonts/a3-metabox-plugin-framework.eot -------------------------------------------------------------------------------- /admin/assets/fonts/a3-metabox-plugin-framework.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by Fontastic.me 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /admin/assets/fonts/a3-metabox-plugin-framework.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/fonts/a3-metabox-plugin-framework.ttf -------------------------------------------------------------------------------- /admin/assets/fonts/a3-metabox-plugin-framework.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/fonts/a3-metabox-plugin-framework.woff -------------------------------------------------------------------------------- /admin/assets/fonts/a3-plugin-framework.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/fonts/a3-plugin-framework.eot -------------------------------------------------------------------------------- /admin/assets/fonts/a3-plugin-framework.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/fonts/a3-plugin-framework.ttf -------------------------------------------------------------------------------- /admin/assets/fonts/a3-plugin-framework.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/fonts/a3-plugin-framework.woff -------------------------------------------------------------------------------- /admin/assets/images/a3-plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/a3-plugins.png -------------------------------------------------------------------------------- /admin/assets/images/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/help.png -------------------------------------------------------------------------------- /admin/assets/images/ico-delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/ico-delete.png -------------------------------------------------------------------------------- /admin/assets/images/ico-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/ico-preview.png -------------------------------------------------------------------------------- /admin/assets/images/ico-refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/ico-refresh.png -------------------------------------------------------------------------------- /admin/assets/images/loading-bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/loading-bottom.gif -------------------------------------------------------------------------------- /admin/assets/images/play_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/play_video.png -------------------------------------------------------------------------------- /admin/assets/images/slider-bg-disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-bg-disable.png -------------------------------------------------------------------------------- /admin/assets/images/slider-bg-range.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-bg-range.png -------------------------------------------------------------------------------- /admin/assets/images/slider-bg-track1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-bg-track1.png -------------------------------------------------------------------------------- /admin/assets/images/slider-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-bg.png -------------------------------------------------------------------------------- /admin/assets/images/slider-bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-bg1.jpg -------------------------------------------------------------------------------- /admin/assets/images/slider-container-end-disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-container-end-disable.png -------------------------------------------------------------------------------- /admin/assets/images/slider-container-end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-container-end.png -------------------------------------------------------------------------------- /admin/assets/images/slider-container-start-disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-container-start-disable.png -------------------------------------------------------------------------------- /admin/assets/images/slider-container-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-container-start.png -------------------------------------------------------------------------------- /admin/assets/images/slider-handle-disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-handle-disable.png -------------------------------------------------------------------------------- /admin/assets/images/slider-handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-handle.png -------------------------------------------------------------------------------- /admin/assets/images/slider-handle1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-handle1.png -------------------------------------------------------------------------------- /admin/assets/images/slider-handle2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/assets/images/slider-handle2.png -------------------------------------------------------------------------------- /admin/assets/js/a3rev-settings-preview.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A3revThemes Settings Live Preview 3 | * 2011-10-07. 4 | * 5 | * @description The code below is designed to generate a live preview using the 6 | * setting specified in a "custom settings" field in the ResponsiFramework. 7 | * 8 | * @since 4.7.0 9 | */ 10 | 11 | (function ($) { 12 | 13 | a3revButtonPreview = { 14 | 15 | /** 16 | * loadPreviewButtons() 17 | * 18 | * @description Setup a "preview" button next to each type field. 19 | * @since 4.7.0 20 | */ 21 | 22 | loadPreviewButtons: function () { 23 | 24 | // Register event handlers. 25 | a3revButtonPreview.handleEvents(); 26 | 27 | }, // End loadPreviewButtons() 28 | 29 | /** 30 | * handleEvents() 31 | * 32 | * @description Handle the events. 33 | * @since 4.7.0 34 | */ 35 | 36 | handleEvents: function () { 37 | $(document).on( 'click', 'a.a3rev-ui-border-preview-button', function () { 38 | a3revButtonPreview.generateBorderPreview( $( this ) ); 39 | return false; 40 | }); 41 | 42 | $(document).on( 'click', 'a.a3rev-ui-box_shadow-preview-button', function () { 43 | a3revButtonPreview.generateBoxShadowPreview( $( this ) ); 44 | return false; 45 | }); 46 | 47 | $(document).on( 'click', 'a.preview_remove', function () { 48 | a3revButtonPreview.closePreview( $( this ) ); 49 | return false; 50 | }); 51 | }, 52 | 53 | /** 54 | * closePreview() 55 | * 56 | * @description Close the preview. 57 | * @since 4.7.0 58 | */ 59 | 60 | closePreview: function ( target ) { 61 | target.parents( '.section' ).find( '.a3rev-ui-settings-preview-button .refresh' ).removeClass( 'refresh' ); 62 | target.parents( '.settings-preview-container' ).remove(); 63 | }, 64 | 65 | 66 | /** 67 | * generateBorderPreview() 68 | * 69 | * @description Generate the border preview. 70 | * @since 4.7.0 71 | */ 72 | 73 | generateBorderPreview: function ( target ) { 74 | var previewText = '
Grumpy wizards make toxic brew for the evil Queen and Jack.
'; 75 | var previewHTML = ''; 76 | var previewStyles = ''; 77 | 78 | // Get the control parent element. 79 | var controls = target.parents( '.a3rev-ui-settings-control' ); 80 | 81 | var borderSize = controls.find( '.a3rev-ui-border_styles-width' ).val(); 82 | var borderStyle = controls.find( '.a3rev-ui-border_styles-style' ).val(); 83 | var borderColor = controls.find( '.a3rev-ui-border_styles-color' ).val(); 84 | var borderRoundedCorner = 0; 85 | if ( controls.find( '.a3rev-ui-border-corner' ).is(":checked") ) { 86 | borderRoundedCorner = 1; 87 | } 88 | var borderTopLeft = controls.find( '.a3rev-ui-border_top_left_corner' ).val(); 89 | var borderTopRight = controls.find( '.a3rev-ui-border_top_right_corner' ).val(); 90 | var borderBottomLeft = controls.find( '.a3rev-ui-border_bottom_left_corner' ).val(); 91 | var borderBottomRight = controls.find( '.a3rev-ui-border_bottom_right_corner' ).val(); 92 | 93 | // Remove "current" class from previously modified border field. 94 | $( '.settings-preview' ).removeClass( 'current' ); 95 | 96 | // Construct styles. 97 | previewStyles += 'border: ' + borderSize + ' ' + borderStyle + ' ' + borderColor + ';'; 98 | if ( borderRoundedCorner == 1 ) { 99 | previewStyles += ' border-radius: ' + borderTopLeft + 'px ' + borderTopRight + 'px ' + borderBottomRight + 'px ' + borderBottomLeft + 'px ;'; 100 | previewStyles += ' -webkit-border-radius: ' + borderTopLeft + 'px ' + borderTopRight + 'px ' + borderBottomRight + 'px ' + borderBottomLeft + 'px ;'; 101 | previewStyles += ' -moz-border-radius: ' + borderTopLeft + 'px ' + borderTopRight + 'px ' + borderBottomRight + 'px ' + borderBottomLeft + 'px ;'; 102 | } 103 | 104 | // Construct preview HTML. 105 | var previewHTMLInner = $( '
' ).addClass( 'current' ).addClass( 'settings-preview' ).html( previewText ); 106 | 107 | previewHTML = $( '
' ).addClass( 'settings-preview-container' ).html( previewHTMLInner ).append( ' ' ); 108 | 109 | // If no preview display is present, add one. 110 | if ( ! controls.next( '.settings-preview-container' ).length ) { 111 | previewHTML.find( '.settings-apply-preview' ).attr( 'style', previewStyles ); 112 | controls.after( previewHTML ); 113 | } else { 114 | // Otherwise, just update the styles of the existing preview. 115 | controls.next( '.settings-preview-container' ).find( '.settings-apply-preview' ).attr( 'style', previewStyles ); 116 | } 117 | 118 | // Set the button to "refresh" mode. 119 | controls.find( '.a3rev-ui-settings-preview-button span' ).addClass( 'refresh' ); 120 | }, 121 | 122 | /** 123 | * generateBoxShadowPreview() 124 | * 125 | * @description Generate the border preview. 126 | * @since 4.7.0 127 | */ 128 | 129 | generateBoxShadowPreview: function ( target ) { 130 | var previewText = '
Grumpy wizards make toxic brew for the evil Queen and Jack.
'; 131 | var previewHTML = ''; 132 | var previewStyles = ''; 133 | var customStyles = ''; 134 | 135 | // Get the control parent element. 136 | var controls = target.parents( '.a3rev-ui-settings-control' ); 137 | 138 | var hShadow = controls.find( '.a3rev-ui-box_shadow-h_shadow' ).val(); 139 | var vShadow = controls.find( '.a3rev-ui-box_shadow-v_shadow' ).val(); 140 | var blurSize = controls.find( '.a3rev-ui-box_shadow-blur' ).val(); 141 | var spreadSize = controls.find( '.a3rev-ui-box_shadow-spread' ).val(); 142 | var shadowColor = controls.find( '.a3rev-ui-box_shadow-color' ).val(); 143 | var insetShadow = ''; 144 | if ( controls.find( '.a3rev-ui-box_shadow-inset' ).is(":checked") ) { 145 | insetShadow = 'inset'; 146 | } 147 | 148 | // Remove "current" class from previously modified border field. 149 | $( '.settings-preview' ).removeClass( 'current' ); 150 | 151 | // Construct styles. 152 | customStyles += hShadow + ' ' + vShadow + ' ' + blurSize + ' ' + spreadSize + ' ' + shadowColor + ' ' + insetShadow ; 153 | previewStyles += ' box-shadow: ' + customStyles + ';'; 154 | previewStyles += ' -moz-box-shadow: ' + customStyles + ';'; 155 | previewStyles += ' -webkit-box-shadow: ' + customStyles + ';'; 156 | 157 | // Construct preview HTML. 158 | var previewHTMLInner = $( '
' ).addClass( 'current' ).addClass( 'settings-preview' ).html( previewText ); 159 | 160 | previewHTML = $( '
' ).addClass( 'settings-preview-container' ).html( previewHTMLInner ).append( ' ' ); 161 | 162 | // If no preview display is present, add one. 163 | if ( ! controls.next( '.settings-preview-container' ).length ) { 164 | previewHTML.find( '.settings-apply-preview' ).attr( 'style', previewStyles ); 165 | controls.after( previewHTML ); 166 | } else { 167 | // Otherwise, just update the styles of the existing preview. 168 | controls.next( '.settings-preview-container' ).find( '.settings-apply-preview' ).attr( 'style', previewStyles ); 169 | } 170 | 171 | // Set the button to "refresh" mode. 172 | controls.find( '.a3rev-ui-settings-preview-button span' ).addClass( 'refresh' ); 173 | } 174 | 175 | 176 | }; // End a3revButtonPreview Object // Don't remove this, or the sky will fall on your head. 177 | 178 | /*-----------------------------------------------------------------------------------*/ 179 | /* Execute the above methods in the a3revButtonPreview object. 180 | /*-----------------------------------------------------------------------------------*/ 181 | 182 | $(document).ready(function () { 183 | 184 | a3revButtonPreview.loadPreviewButtons(); 185 | 186 | }); 187 | 188 | })(jQuery); -------------------------------------------------------------------------------- /admin/assets/js/a3rev-typography-preview.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A3revThemes Typography Live Preview 3 | * 2011-10-07. 4 | * 5 | * @description The code below is designed to generate a live preview using the 6 | * setting specified in a "custom typography" field in the ResponsiFramework. 7 | * 8 | * @since 4.7.0 9 | */ 10 | 11 | (function ($) { 12 | 13 | a3revTypographyPreview = { 14 | 15 | /** 16 | * loadPreviewButtons() 17 | * 18 | * @description Setup a "preview" button next to each typography field. 19 | * @since 4.7.0 20 | */ 21 | 22 | loadPreviewButtons: function () { 23 | 24 | // Register event handlers. 25 | a3revTypographyPreview.handleEvents(); 26 | 27 | }, // End loadPreviewButtons() 28 | 29 | /** 30 | * handleEvents() 31 | * 32 | * @description Handle the events. 33 | * @since 4.7.0 34 | */ 35 | 36 | handleEvents: function () { 37 | $(document).on( 'click', 'a.a3rev-ui-typography-preview-button', function () { 38 | a3revTypographyPreview.generatePreview( $( this ) ); 39 | return false; 40 | }); 41 | 42 | $(document).on( 'click', 'a.preview_remove', function () { 43 | a3revTypographyPreview.closePreview( $( this ) ); 44 | return false; 45 | }); 46 | }, 47 | 48 | /** 49 | * closePreview() 50 | * 51 | * @description Close the preview. 52 | * @since 4.7.0 53 | */ 54 | 55 | closePreview: function ( target ) { 56 | target.parents( '.section' ).find( '.a3rev-ui-typography-preview-button .refresh' ).removeClass( 'refresh' ); 57 | target.parents( '.typography-preview-container' ).remove(); 58 | }, 59 | 60 | /** 61 | * generatePreview() 62 | * 63 | * @description Generate the typography preview. 64 | * @since 4.7.0 65 | */ 66 | 67 | generatePreview: function ( target ) { 68 | var previewText = 'Grumpy wizards make toxic brew for the evil Queen and Jack.'; 69 | var previewHTML = ''; 70 | var previewStyles = ''; 71 | 72 | // Get the control parent element. 73 | var controls = target.parents( '.a3rev-ui-typography-control' ); 74 | 75 | var sizeSelector = '.a3rev-ui-typography-size'; 76 | 77 | var fontSize = controls.find( sizeSelector ).val(); 78 | 79 | var fontFace = controls.find( '.a3rev-ui-typography-face' ).val(); 80 | var fontStyle = controls.find( '.a3rev-ui-typography-style' ).val(); 81 | var fontColor = controls.find( '.a3rev-ui-typography-color' ).val(); 82 | var lineHeight = controls.find( '.a3rev-ui-typography-line_height' ).val(); 83 | 84 | // Generate array of non-Google fonts. 85 | var nonGoogleFonts = new Array( 86 | 'Arial, sans-serif', 87 | 'Verdana, Geneva, sans-serif', 88 | 'Trebuchet MS, Tahoma, sans-serif', 89 | 'Georgia, serif', 90 | 'Times New Roman, serif', 91 | 'Tahoma, Geneva, Verdana, sans-serif', 92 | 'Palatino, Palatino Linotype, serif', 93 | 'Helvetica Neue, Helvetica, sans-serif', 94 | 'Calibri, Candara, Segoe, Optima, sans-serif', 95 | 'Myriad Pro, Myriad, sans-serif', 96 | 'Lucida Grande, Lucida Sans Unicode, Lucida Sans, sans-serif', 97 | 'Arial Black, sans-serif', 98 | 'Gill Sans, Gill Sans MT, Calibri, sans-serif', 99 | 'Geneva, Tahoma, Verdana, sans-serif', 100 | 'Impact, Charcoal, sans-serif', 101 | 'Courier, Courier New, monospace', 102 | 'Century Gothic, sans-serif' 103 | ); 104 | 105 | // Remove "current" class from previously modified typography field. 106 | $( '.typography-preview' ).removeClass( 'current' ); 107 | 108 | // Prepare selected fontFace for testing. 109 | var fontFaceTest = fontFace.replace( /"/g, '"' ); 110 | 111 | // Load Google WebFonts, if we need to. 112 | if ( jQuery.inArray( fontFaceTest, nonGoogleFonts ) == -1 ) { // -1 is returned if the item is not found in the array. 113 | 114 | // Prepare fontFace for use in the WebFont loader. 115 | var fontFaceString = fontFace; 116 | 117 | // Handle fonts that require specific weights when being included. 118 | switch ( fontFaceString ) { 119 | case 'Allan': 120 | case 'Cabin Sketch': 121 | case 'Corben': 122 | case 'UnifrakturCook': 123 | fontFaceString += ':700'; 124 | break; 125 | 126 | case 'Buda': 127 | case 'Open Sans Condensed': 128 | fontFaceString += ':300'; 129 | break; 130 | 131 | case 'Coda': 132 | case 'Sniglet': 133 | fontFaceString += ':800'; 134 | break; 135 | 136 | case 'Raleway': 137 | fontFaceString += ':100'; 138 | break; 139 | } 140 | 141 | 142 | fontFaceString += '::latin'; 143 | fontFaceString = fontFaceString.replace( / /g, '+' ); 144 | 145 | // Add the fontFace in quotes for use in the style declaration, if the selected font has a number in it. 146 | var specificFonts = new Array( 'Goudy Bookletter 1911' ); 147 | 148 | if ( jQuery.inArray( fontFace, specificFonts ) > -1 ) { 149 | var fontFace = "'" + fontFace + "'"; 150 | } 151 | 152 | WebFontConfig = { 153 | google: { families: [ fontFaceString ] } 154 | }; 155 | 156 | if ( $( 'script.google-webfonts-script' ).length ) { $( 'script.google-webfonts-script' ).remove(); WebFont.load({ google: {families: [ fontFaceString ]} }); } 157 | 158 | (function() { 159 | var wf = document.createElement( 'script' ); 160 | wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + 161 | '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; 162 | wf.type = 'text/javascript'; 163 | wf.async = 'true'; 164 | var s = document.getElementsByTagName( 'script' )[0]; 165 | s.parentNode.insertBefore( wf, s ); 166 | 167 | $( wf ).addClass( 'google-webfonts-script' ); 168 | 169 | })(); 170 | 171 | } 172 | 173 | // Construct styles. 174 | previewStyles += 'font: ' + fontStyle + ' ' + fontSize + '/' + lineHeight + ' ' + fontFace + ';'; 175 | if ( fontColor ) { previewStyles += ' color: ' + fontColor + ';'; } 176 | 177 | // Construct preview HTML. 178 | var previewHTMLInner = $( '
' ).addClass( 'current' ).addClass( 'typography-preview' ).text( previewText ); 179 | 180 | previewHTML = $( '
' ).addClass( 'typography-preview-container' ).html( previewHTMLInner ).append( ' ' ); 181 | 182 | // If no preview display is present, add one. 183 | if ( ! controls.next( '.typography-preview-container' ).length ) { 184 | previewHTML.find( '.typography-preview' ).attr( 'style', previewStyles ); 185 | controls.after( previewHTML ); 186 | } else { 187 | // Otherwise, just update the styles of the existing preview. 188 | controls.next( '.typography-preview-container' ).find( '.typography-preview' ).attr( 'style', previewStyles ); 189 | } 190 | 191 | // Set the button to "refresh" mode. 192 | controls.find( '.a3rev-ui-typography-preview-button span' ).addClass( 'refresh' ); 193 | } 194 | 195 | 196 | }; // End a3revTypographyPreview Object // Don't remove this, or the sky will fall on your head. 197 | 198 | /*-----------------------------------------------------------------------------------*/ 199 | /* Execute the above methods in the a3revTypographyPreview object. 200 | /*-----------------------------------------------------------------------------------*/ 201 | 202 | $(document).ready(function () { 203 | 204 | a3revTypographyPreview.loadPreviewButtons(); 205 | 206 | }); 207 | 208 | })(jQuery); -------------------------------------------------------------------------------- /admin/assets/js/bootstrap/popover.js: -------------------------------------------------------------------------------- 1 | function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } 2 | 3 | function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 4 | 5 | function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } 6 | 7 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } 8 | 9 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 10 | 11 | /** 12 | * -------------------------------------------------------------------------- 13 | * Bootstrap (v4.1.1): popover.js 14 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 15 | * -------------------------------------------------------------------------- 16 | */ 17 | var Popover = function ($) { 18 | /** 19 | * ------------------------------------------------------------------------ 20 | * Constants 21 | * ------------------------------------------------------------------------ 22 | */ 23 | var NAME = 'popover'; 24 | var VERSION = '4.1.1'; 25 | var DATA_KEY = 'bs.popover'; 26 | var EVENT_KEY = "." + DATA_KEY; 27 | var JQUERY_NO_CONFLICT = $.fn[NAME]; 28 | var CLASS_PREFIX = 'bs-popover'; 29 | var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); 30 | 31 | var Default = _objectSpread({}, Tooltip.Default, { 32 | placement: 'right', 33 | trigger: 'click', 34 | content: '', 35 | template: '' 36 | }); 37 | 38 | var DefaultType = _objectSpread({}, Tooltip.DefaultType, { 39 | content: '(string|element|function)' 40 | }); 41 | 42 | var ClassName = { 43 | FADE: 'fade', 44 | SHOW: 'show' 45 | }; 46 | var Selector = { 47 | TITLE: '.popover-header', 48 | CONTENT: '.popover-body' 49 | }; 50 | var Event = { 51 | HIDE: "hide" + EVENT_KEY, 52 | HIDDEN: "hidden" + EVENT_KEY, 53 | SHOW: "show" + EVENT_KEY, 54 | SHOWN: "shown" + EVENT_KEY, 55 | INSERTED: "inserted" + EVENT_KEY, 56 | CLICK: "click" + EVENT_KEY, 57 | FOCUSIN: "focusin" + EVENT_KEY, 58 | FOCUSOUT: "focusout" + EVENT_KEY, 59 | MOUSEENTER: "mouseenter" + EVENT_KEY, 60 | MOUSELEAVE: "mouseleave" + EVENT_KEY 61 | /** 62 | * ------------------------------------------------------------------------ 63 | * Class Definition 64 | * ------------------------------------------------------------------------ 65 | */ 66 | 67 | }; 68 | 69 | var Popover = 70 | /*#__PURE__*/ 71 | function (_Tooltip) { 72 | _inheritsLoose(Popover, _Tooltip); 73 | 74 | function Popover() { 75 | return _Tooltip.apply(this, arguments) || this; 76 | } 77 | 78 | var _proto = Popover.prototype; 79 | 80 | // Overrides 81 | _proto.isWithContent = function isWithContent() { 82 | return this.getTitle() || this._getContent(); 83 | }; 84 | 85 | _proto.addAttachmentClass = function addAttachmentClass(attachment) { 86 | $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); 87 | }; 88 | 89 | _proto.getTipElement = function getTipElement() { 90 | this.tip = this.tip || $(this.config.template)[0]; 91 | return this.tip; 92 | }; 93 | 94 | _proto.setContent = function setContent() { 95 | var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events 96 | 97 | this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); 98 | 99 | var content = this._getContent(); 100 | 101 | if (typeof content === 'function') { 102 | content = content.call(this.element); 103 | } 104 | 105 | this.setElementContent($tip.find(Selector.CONTENT), content); 106 | $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); 107 | }; // Private 108 | 109 | 110 | _proto._getContent = function _getContent() { 111 | return this.element.getAttribute('data-content') || this.config.content; 112 | }; 113 | 114 | _proto._cleanTipClass = function _cleanTipClass() { 115 | var $tip = $(this.getTipElement()); 116 | var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); 117 | 118 | if (tabClass !== null && tabClass.length > 0) { 119 | $tip.removeClass(tabClass.join('')); 120 | } 121 | }; // Static 122 | 123 | 124 | Popover._jQueryInterface = function _jQueryInterface(config) { 125 | return this.each(function () { 126 | var data = $(this).data(DATA_KEY); 127 | 128 | var _config = typeof config === 'object' ? config : null; 129 | 130 | if (!data && /destroy|hide/.test(config)) { 131 | return; 132 | } 133 | 134 | if (!data) { 135 | data = new Popover(this, _config); 136 | $(this).data(DATA_KEY, data); 137 | } 138 | 139 | if (typeof config === 'string') { 140 | if (typeof data[config] === 'undefined') { 141 | throw new TypeError("No method named \"" + config + "\""); 142 | } 143 | 144 | data[config](); 145 | } 146 | }); 147 | }; 148 | 149 | _createClass(Popover, null, [{ 150 | key: "VERSION", 151 | // Getters 152 | get: function get() { 153 | return VERSION; 154 | } 155 | }, { 156 | key: "Default", 157 | get: function get() { 158 | return Default; 159 | } 160 | }, { 161 | key: "NAME", 162 | get: function get() { 163 | return NAME; 164 | } 165 | }, { 166 | key: "DATA_KEY", 167 | get: function get() { 168 | return DATA_KEY; 169 | } 170 | }, { 171 | key: "Event", 172 | get: function get() { 173 | return Event; 174 | } 175 | }, { 176 | key: "EVENT_KEY", 177 | get: function get() { 178 | return EVENT_KEY; 179 | } 180 | }, { 181 | key: "DefaultType", 182 | get: function get() { 183 | return DefaultType; 184 | } 185 | }]); 186 | 187 | return Popover; 188 | }(Tooltip); 189 | /** 190 | * ------------------------------------------------------------------------ 191 | * jQuery 192 | * ------------------------------------------------------------------------ 193 | */ 194 | 195 | 196 | $.fn[NAME] = Popover._jQueryInterface; 197 | $.fn[NAME].Constructor = Popover; 198 | 199 | $.fn[NAME].noConflict = function () { 200 | $.fn[NAME] = JQUERY_NO_CONFLICT; 201 | return Popover._jQueryInterface; 202 | }; 203 | 204 | return Popover; 205 | }(jQuery); -------------------------------------------------------------------------------- /admin/assets/js/bootstrap/popover.min.js: -------------------------------------------------------------------------------- 1 | function _defineProperties(b,a){for(var c=0;c

'}),h=_objectSpread({},Tooltip.DefaultType,{content:"(string|element|function)"}),k={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover", 4 | CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},g=function(a){function e(){return a.apply(this,arguments)||this}_inheritsLoose(e,a);var f=e.prototype;f.isWithContent=function(){return this.getTitle()||this._getContent()};f.addAttachmentClass=function(a){b(this.getTipElement()).addClass("bs-popover-"+a)};f.getTipElement=function(){return this.tip=this.tip||b(this.config.template)[0]};f.setContent= 5 | function(){var a=b(this.getTipElement());this.setElementContent(a.find(".popover-header"),this.getTitle());var c=this._getContent();"function"===typeof c&&(c=c.call(this.element));this.setElementContent(a.find(".popover-body"),c);a.removeClass("fade show")};f._getContent=function(){return this.element.getAttribute("data-content")||this.config.content};f._cleanTipClass=function(){var a=b(this.getTipElement()),d=a.attr("class").match(c);null!==d&&0 0 ? selector : null; 81 | } catch (err) { 82 | return null; 83 | } 84 | }, 85 | getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { 86 | if (!element) { 87 | return 0; 88 | } // Get transition-duration of the element 89 | 90 | 91 | var transitionDuration = $(element).css('transition-duration'); 92 | var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found 93 | 94 | if (!floatTransitionDuration) { 95 | return 0; 96 | } // If multiple durations are defined, take the first 97 | 98 | 99 | transitionDuration = transitionDuration.split(',')[0]; 100 | return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER; 101 | }, 102 | reflow: function reflow(element) { 103 | return element.offsetHeight; 104 | }, 105 | triggerTransitionEnd: function triggerTransitionEnd(element) { 106 | $(element).trigger(TRANSITION_END); 107 | }, 108 | // TODO: Remove in v5 109 | supportsTransitionEnd: function supportsTransitionEnd() { 110 | return Boolean(TRANSITION_END); 111 | }, 112 | isElement: function isElement(obj) { 113 | return (obj[0] || obj).nodeType; 114 | }, 115 | typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { 116 | for (var property in configTypes) { 117 | if (Object.prototype.hasOwnProperty.call(configTypes, property)) { 118 | var expectedTypes = configTypes[property]; 119 | var value = config[property]; 120 | var valueType = value && Util.isElement(value) ? 'element' : toType(value); 121 | 122 | if (!new RegExp(expectedTypes).test(valueType)) { 123 | throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); 124 | } 125 | } 126 | } 127 | } 128 | }; 129 | setTransitionEndSupport(); 130 | return Util; 131 | }(jQuery); -------------------------------------------------------------------------------- /admin/assets/js/bootstrap/util.min.js: -------------------------------------------------------------------------------- 1 | var Util=function(b){var f={TRANSITION_END:"bsTransitionEnd",getUID:function(a){do a+=~~(1E6*Math.random());while(document.getElementById(a));return a},getSelectorFromElement:function(a){var c=a.getAttribute("data-target");c&&"#"!==c||(c=a.getAttribute("href")||"");try{return 0").on('load',function(){var g="width",m="height",n=d.attr(g),j=d.attr(m);if(!n||!j){var o=new Image();o.src=d.attr("src");if(!n){n=o.width}if(!j){j=o.height}}var f=d.width()/100,k=d.height()/100,i=d.attr("usemap").replace("#",""),l="coords";a('map[name="'+i+'"]').find("area").each(function(){var r=a(this);if(!r.data(l)){r.data(l,r.attr(l))}var q=r.data(l).split(","),p=new Array(q.length);for(var h=0;hplugin_name . '_init_scripts', array( $this, 'uploader_script' ) ); 43 | 44 | // include styles to Admin UI Interface 45 | add_action( $this->plugin_name . '_init_styles', array( $this, 'uploader_style' ) ); 46 | } 47 | 48 | } 49 | 50 | /*-----------------------------------------------------------------------------------*/ 51 | /* admin_uploader_url */ 52 | /*-----------------------------------------------------------------------------------*/ 53 | public function admin_uploader_url() { 54 | if ( $this->admin_uploader_url ) return $this->admin_uploader_url; 55 | return $this->admin_uploader_url = untrailingslashit( plugins_url( '/', __FILE__ ) ); 56 | } 57 | 58 | public function uploader_script() { 59 | add_action( 'admin_enqueue_scripts', array( $this, 'uploader_js' ) ); 60 | } 61 | 62 | /*-----------------------------------------------------------------------------------*/ 63 | /* Include Uploader Script */ 64 | /*-----------------------------------------------------------------------------------*/ 65 | public function uploader_js () { 66 | wp_enqueue_script( 'a3-uploader-script', $this->admin_uploader_url() . '/uploader-script.js', array( 'jquery', 'thickbox' ), $this->framework_version ); 67 | if ( function_exists( 'wp_enqueue_media' ) ) { 68 | wp_enqueue_media(); 69 | } else { 70 | wp_enqueue_script('media-upload'); 71 | } 72 | } 73 | 74 | /*-----------------------------------------------------------------------------------*/ 75 | /* Include Uploader Style */ 76 | /*-----------------------------------------------------------------------------------*/ 77 | public function uploader_style () { 78 | wp_enqueue_style( 'thickbox' ); 79 | wp_enqueue_style( 'a3-uploader-style', $this->admin_uploader_url() . '/uploader.css', array(), $this->framework_version ); 80 | if ( is_rtl() ) { 81 | wp_enqueue_style( 'a3-uploader-style-rtl', $this->admin_uploader_url() . '/uploader.rtl.css', array(), $this->framework_version ); 82 | } 83 | } 84 | 85 | /*-----------------------------------------------------------------------------------*/ 86 | /* Get Upload Input Field */ 87 | /*-----------------------------------------------------------------------------------*/ 88 | public function upload_input ( $name_attribute, $id_attribute = '', $value = '', $attachment_id = 0, $default_value = '', $field_name = '', $class = '', $css = '', $description = '', $strip_methods = true, $size = 'original' ) { 89 | $output = ''; 90 | 91 | if ( trim( $value ) == '' ) $value = trim( $default_value ); 92 | 93 | if ( strstr( $name_attribute, ']' ) ) { 94 | $attachment_id_name_attribute = substr_replace( $name_attribute, '_attachment_id', -1, 0 ); 95 | 96 | $attachment_size_name_attribute = substr_replace( $name_attribute, '_attachment_size', -1, 0 ); 97 | 98 | } else { 99 | $attachment_id_name_attribute = $name_attribute.'_attachment_id'; 100 | 101 | $attachment_size_name_attribute = $name_attribute.'_attachment_size'; 102 | } 103 | 104 | if ( $strip_methods === false ) { 105 | $strip_methods = 0; 106 | } else { 107 | $strip_methods = 1; 108 | } 109 | 110 | $output .= ''; 111 | $output .= ''; 112 | $output .= ' '; 113 | $output .= ' '.$description; 114 | 115 | $output .= '
'; 116 | 117 | if ( $value != '' ) { 118 | $remove = ' '; 119 | 120 | $image = preg_match( '/(^.*\.jpg|jpeg|png|gif|ico*)/i', $value ); 121 | 122 | if ( $image ) { 123 | $output .= ''.$remove.''; 124 | } else { 125 | $parts = explode( "/", $value ); 126 | 127 | for( $i = 0; $i < sizeof( $parts ); ++$i ) { 128 | $title = $parts[$i]; 129 | } 130 | 131 | $output .= ''; 132 | 133 | $title = __( 'View File', 'a3-lazy-load' ); 134 | 135 | $output .= '
'.$title.''.$remove.'
'; 136 | 137 | } 138 | } 139 | 140 | $output .= '
'; 141 | 142 | return $output; 143 | } 144 | } 145 | 146 | } 147 | -------------------------------------------------------------------------------- /admin/includes/uploader/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/includes/uploader/delete.png -------------------------------------------------------------------------------- /admin/includes/uploader/mixins.less: -------------------------------------------------------------------------------- 1 | @green: green; 2 | @red: red; 3 | @orange: orange; 4 | @blue: blue; 5 | @yellow: yellow; 6 | @white: white; 7 | @black: black; 8 | 9 | .clearfix() { 10 | *zoom:1; 11 | &:before, 12 | &:after { 13 | content: " "; 14 | display: table; 15 | } 16 | &:after { 17 | clear: both; 18 | } 19 | } 20 | .border_radius(@radius:4px) { 21 | -webkit-border-radius:@radius; 22 | border-radius:@radius; 23 | } 24 | .border_radius_corner(@topleft:4px, @topright:4px, @bottomleft:4px, @bottomright:4px) { 25 | -webkit-border-top-left-radius: @topleft; 26 | border-top-left-radius: @topleft; 27 | -webkit-border-top-right-radius: @topright; 28 | border-top-right-radius: @topright; 29 | -webkit-border-bottom-left-radius: @bottomleft; 30 | border-bottom-left-radius: @bottomleft; 31 | -webkit-border-bottom-right-radius: @bottomright; 32 | border-bottom-right-radius: @bottomright; 33 | } 34 | 35 | .border_radius_top_left(@radius:4px) { 36 | -webkit-border-top-left-radius: @radius; 37 | border-top-left-radius: @radius; 38 | } 39 | .border_radius_top_right(@radius:4px) { 40 | -webkit-border-top-right-radius: @radius; 41 | border-top-right-radius: @radius; 42 | } 43 | .border_radius_bottom_left(@radius:4px) { 44 | -webkit-border-bottom-left-radius: @radius; 45 | border-bottom-left-radius: @radius; 46 | } 47 | .border_radius_bottom_right(@radius:4px) { 48 | -webkit-border-bottom-right-radius: @radius; 49 | border-bottom-right-radius: @radius; 50 | } 51 | 52 | .border_radius_right(@radius:4px) { 53 | -webkit-border-top-right-radius: @radius; 54 | -webkit-border-bottom-right-radius: @radius; 55 | border-top-right-radius: @radius; 56 | border-bottom-right-radius: @radius; 57 | } 58 | .border_radius_left(@radius:4px) { 59 | -webkit-border-top-left-radius: @radius; 60 | -webkit-border-bottom-left-radius: @radius; 61 | border-top-left-radius: @radius; 62 | border-bottom-left-radius: @radius; 63 | } 64 | .border_radius_bottom(@radius:4px) { 65 | -webkit-border-bottom-left-radius: @radius; 66 | -webkit-border-bottom-right-radius: @radius; 67 | border-bottom-left-radius: @radius; 68 | border-bottom-right-radius: @radius; 69 | } 70 | .border_radius_top(@radius:4px) { 71 | -webkit-border-top-left-radius: @radius; 72 | -webkit-border-top-right-radius: @radius; 73 | border-top-left-radius: @radius; 74 | border-top-right-radius: @radius; 75 | } 76 | .opacity(@opacity:0.75) { 77 | filter:~"alpha(opacity=@opacity * 100)"; 78 | -moz-opacity:@opacity; 79 | -khtml-opacity: @opacity; 80 | opacity: @opacity; 81 | } 82 | .box_shadow_none() { 83 | box-shadow: none; 84 | -moz-box-shadow: none; 85 | -webkit-box-shadow: none; 86 | } 87 | .box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { 88 | box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 89 | -webkit-box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 90 | } 91 | .inset_box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { 92 | box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 93 | -webkit-box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 94 | } 95 | .text_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_color:#fff) { 96 | text-shadow:@shadow_x @shadow_y @shadow_rad @shadow_color; 97 | } 98 | .vertical_gradient(@from: #000, @to: #FFF) { 99 | background: @from; 100 | background: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); 101 | background: -webkit-linear-gradient(@from, @to); 102 | background: -moz-linear-gradient(center top, @from 0%, @to 100%); 103 | background: -moz-gradient(center top, @from 0%, @to 100%); 104 | } 105 | .transition(@selector:all, @animation:ease-in-out, @duration:.2s) { 106 | -webkit-transition:@selector @animation @duration; 107 | -moz-transition:@selector @animation @duration; 108 | -o-transition:@selector @animation @duration; 109 | transition:@selector @animation @duration; 110 | } 111 | 112 | .scale(@ratio:1.5){ 113 | -webkit-transform:scale(@ratio); 114 | -moz-transform:scale(@ratio); 115 | -ms-transform:scale(@ratio); 116 | -o-transform:scale(@ratio); 117 | transform:scale(@ratio); 118 | } 119 | 120 | .borderbox () { 121 | -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ 122 | -moz-box-sizing: border-box; /* Firefox, other Gecko */ 123 | box-sizing: border-box; /* Opera/IE 8+ */ 124 | } 125 | 126 | .clear { clear: both; } 127 | .nobr { white-space: nowrap; } 128 | 129 | .darkorlighttextshadow ( @a, @opacity: 0.8 ) when (lightness(@a) >= 65%) { .text_shadow( 0, -1px, 0, rgba(0,0,0,@opacity) ); } 130 | .darkorlighttextshadow ( @a, @opacity: 0.8 ) when (lightness(@a) < 65%) { .text_shadow( 0, 1px, 0, rgba(255,255,255,@opacity) ); } 131 | 132 | /** 133 | * Objects 134 | */ 135 | .menu() { 136 | .clearfix; 137 | li { 138 | display: inline-block; 139 | } 140 | } 141 | .mediaright() { 142 | .clearfix; 143 | img { 144 | float:right; 145 | height:auto; 146 | } 147 | } 148 | .medialeft() { 149 | .clearfix; 150 | img { 151 | float:right; 152 | height:auto; 153 | } 154 | } 155 | .ir() { 156 | display: block; 157 | text-indent: -9999px; 158 | position: relative; 159 | height:1em; 160 | width:1em; 161 | } 162 | 163 | .margin( @top:0, @right:0px, @bottom:0px , @left:0 ){ 164 | margin-top: @top; 165 | margin-right: @right; 166 | margin-bottom: @bottom; 167 | margin-left: @left; 168 | } 169 | 170 | .margin_left( @left:0 ){ 171 | margin-left: @left; 172 | } 173 | .margin_right( @right:0 ){ 174 | margin-right: @right; 175 | } 176 | .margin_top( @top:0 ){ 177 | margin-top: @top; 178 | } 179 | .margin_bottom( @bottom:0 ){ 180 | margin-bottom: @bottom; 181 | } 182 | 183 | .padding( @top:0, @right:0px, @bottom:0px , @left:0 ){ 184 | padding-top: @top; 185 | padding-right: @right; 186 | padding-bottom: @bottom; 187 | padding-left: @left; 188 | } 189 | 190 | .padding_left( @left:0 ){ 191 | padding-left: @left; 192 | } 193 | .padding_right( @right:0 ){ 194 | padding-right: @right; 195 | } 196 | .padding_top( @top:0 ){ 197 | padding-top: @top; 198 | } 199 | .padding_bottom( @bottom:0 ){ 200 | padding-bottom: @bottom; 201 | } 202 | 203 | .background( @url, @repeat:no-repeat, @hoz:0, @ver:0, @color ){ 204 | background: url(@url) @repeat @hoz @ver @color; 205 | } -------------------------------------------------------------------------------- /admin/includes/uploader/uploader-script.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | 3 | a3Uploader = { 4 | 5 | /*-----------------------------------------------------------------------------------*/ 6 | /* Remove file when the "remove" button is clicked. 7 | /*-----------------------------------------------------------------------------------*/ 8 | 9 | removeFile: function () { 10 | $(document).on( 'click', '.a3_uploader_remove', function(event) { 11 | $(this).hide(); 12 | $(this).parents().parents().children('.a3_upload').val( '' ).trigger('change'); 13 | $(this).parents().parents().children('.a3_upload_attachment_id').val(0); 14 | $(this).parents( '.a3_screenshot').slideUp(); 15 | 16 | return false; 17 | }); 18 | }, 19 | 20 | /*-----------------------------------------------------------------------------------*/ 21 | /* Use a custom function when working with the Media Uploads popup. 22 | /* Requires jQuery, Media Upload and Thickbox JavaScripts. 23 | /*-----------------------------------------------------------------------------------*/ 24 | 25 | mediaUpload: function () { 26 | $.noConflict(); 27 | 28 | var formfield, file_frame, formID, upload_title, insertImage, btnContent = true; 29 | 30 | $(document).on( 'click', 'input.a3_upload_button', function (e) { 31 | e.preventDefault(); 32 | 33 | formfield = $(this).prev( 'input').attr( 'id' ); 34 | formID = $(this).attr( 'rel' ); 35 | upload_title = $(this).prev( 'input').attr( 'rel' ); 36 | 37 | var insertImage = wp.media.controller.Library.extend({ 38 | defaults : _.defaults({ 39 | id: 'a3-insert-image', 40 | title: upload_title, 41 | filterable: 'uploaded', 42 | allowLocalEdits: true, 43 | displaySettings: true, 44 | displayUserSettings: true, 45 | multiple : false, 46 | type : 'image' 47 | }, wp.media.controller.Library.prototype.defaults ) 48 | }); 49 | 50 | /* 51 | if ( file_frame ) { 52 | file_frame.open(); 53 | return; 54 | } 55 | */ 56 | 57 | file_frame = wp.media.frames.file_frame = wp.media({ 58 | title: 'Select Image', 59 | button: { 60 | text: 'Use as ' + upload_title, 61 | }, 62 | state : 'a3-insert-image', 63 | states : [ 64 | new insertImage() 65 | ], 66 | multiple: false 67 | }); 68 | 69 | file_frame.open(); 70 | 71 | file_frame.on( 'select', function() { 72 | var selection = file_frame.state().get('selection'); 73 | var size = $('.attachment-display-settings .size').val(); 74 | var attachment = selection.first().toJSON(); 75 | if ( !size ) { 76 | attachment.url = attachment.url; 77 | } else { 78 | attachment.url = attachment.sizes[size].url; 79 | } 80 | var image = /(^.*\.jpg|jpeg|png|gif|ico*)/gi; 81 | var document = /(^.*\.pdf|doc|docx|ppt|pptx|odt*)/gi; 82 | var audio = /(^.*\.mp3|m4a|ogg|wav*)/gi; 83 | var video = /(^.*\.mp4|m4v|mov|wmv|avi|mpg|ogv|3gp|3g2*)/gi; 84 | 85 | if (attachment.url.match(image)) { 86 | btnContent = ' '; 87 | } else { 88 | html = 'View File'; 89 | btnContent = '
'+html+' 
'; 90 | } 91 | var strip_methods = $( '#' + formfield).data('strip-methods'); 92 | if ( strip_methods === 0 ) { 93 | $( '#' + formfield).val(attachment.url).trigger('change'); 94 | } else { 95 | $( '#' + formfield).val(attachment.url.replace(/http:|https:/, '' )).trigger('change'); 96 | } 97 | $( '#' + formfield + '_attachment_id').val(attachment.id); 98 | $( '#' + formfield).siblings( '.a3_screenshot').slideDown().html(btnContent); 99 | $('.media-modal-close').trigger('click'); 100 | }); 101 | 102 | return false; 103 | 104 | }); 105 | } 106 | }; 107 | 108 | $(document).ready(function () { 109 | 110 | a3Uploader.removeFile(); 111 | a3Uploader.mediaUpload(); 112 | 113 | }); 114 | 115 | })(jQuery); 116 | -------------------------------------------------------------------------------- /admin/includes/uploader/uploader.css: -------------------------------------------------------------------------------- 1 | .a3_screenshot { 2 | float:left; 3 | position:relative; 4 | border-color: #CCCCCC #EEEEEE #EEEEEE #CCCCCC; 5 | border-style: solid; 6 | border-width: 1px; 7 | background:#FAFAFA; 8 | padding:5px; 9 | margin-top:15px; 10 | margin-right:15px; 11 | } 12 | .a3_uploader_remove { 13 | background:#EEEEEE; 14 | border: 1px solid #DDDDDD; 15 | border-radius: 2px 2px 2px 2px; 16 | -webkit-border-radius: 2px 2px 2px 2px; 17 | -moz-border-radius: 2px 2px 2px 2px; 18 | cursor: pointer; 19 | height: 10px; 20 | padding: 2px; 21 | position: absolute; 22 | right: -10px; 23 | top: -10px; 24 | width: 10px; 25 | text-decoration:none !important; 26 | } 27 | .a3_uploader_image { 28 | border:none; 29 | background:none; 30 | padding:0; 31 | margin:0; 32 | float:left; 33 | max-width:225px; 34 | width:100%; 35 | } 36 | -------------------------------------------------------------------------------- /admin/includes/uploader/uploader.rtl.css: -------------------------------------------------------------------------------- 1 | .clear { 2 | clear: both; 3 | } 4 | .nobr { 5 | white-space: nowrap; 6 | } 7 | .a3rev_panel_container .a3_screenshot { 8 | float: right; 9 | margin-left: 15px; 10 | margin-right: 0px; 11 | } 12 | .a3rev_panel_container .a3_uploader_remove { 13 | left: -10px; 14 | right: auto; 15 | } 16 | .a3rev_panel_container .a3_uploader_image { 17 | float: right; 18 | } 19 | -------------------------------------------------------------------------------- /admin/includes/uploader/uploader.rtl.less: -------------------------------------------------------------------------------- 1 | @import "mixins.less"; 2 | 3 | /*-------------------------------------------------------------------------------------------*/ 4 | /* A3rev Uploader RTL UI */ 5 | /*-------------------------------------------------------------------------------------------*/ 6 | 7 | .a3rev_panel_container { 8 | 9 | .a3_screenshot { 10 | float: right; 11 | margin-left:15px; 12 | margin-right:0px; 13 | } 14 | 15 | .a3_uploader_remove { 16 | left: -10px; 17 | right: auto; 18 | } 19 | 20 | .a3_uploader_image { 21 | float:right; 22 | } 23 | } -------------------------------------------------------------------------------- /admin/less/assets/css/mixins.less: -------------------------------------------------------------------------------- 1 | @green: green; 2 | @red: red; 3 | @orange: orange; 4 | @blue: blue; 5 | @yellow: yellow; 6 | @white: white; 7 | @black: black; 8 | 9 | .clearfix() { 10 | *zoom:1; 11 | &:before, 12 | &:after { 13 | content: " "; 14 | display: table; 15 | } 16 | &:after { 17 | clear: both; 18 | } 19 | } 20 | .border_radius(@radius:4px) { 21 | -webkit-border-radius:@radius; 22 | border-radius:@radius; 23 | } 24 | .border_radius_corner(@topleft:4px, @topright:4px, @bottomleft:4px, @bottomright:4px) { 25 | -webkit-border-top-left-radius: @topleft; 26 | border-top-left-radius: @topleft; 27 | -webkit-border-top-right-radius: @topright; 28 | border-top-right-radius: @topright; 29 | -webkit-border-bottom-left-radius: @bottomleft; 30 | border-bottom-left-radius: @bottomleft; 31 | -webkit-border-bottom-right-radius: @bottomright; 32 | border-bottom-right-radius: @bottomright; 33 | 34 | } 35 | 36 | .border_radius_top_left(@radius:4px) { 37 | -webkit-border-top-left-radius: @radius; 38 | border-top-left-radius: @radius; 39 | } 40 | .border_radius_top_right(@radius:4px) { 41 | -webkit-border-top-right-radius: @radius; 42 | border-top-right-radius: @radius; 43 | } 44 | .border_radius_bottom_left(@radius:4px) { 45 | -webkit-border-bottom-left-radius: @radius; 46 | border-bottom-left-radius: @radius; 47 | } 48 | .border_radius_bottom_right(@radius:4px) { 49 | -webkit-border-bottom-right-radius: @radius; 50 | border-bottom-right-radius: @radius; 51 | } 52 | 53 | .border_radius_right(@radius:4px) { 54 | -webkit-border-top-right-radius: @radius; 55 | -webkit-border-bottom-right-radius: @radius; 56 | border-top-right-radius: @radius; 57 | border-bottom-right-radius: @radius; 58 | } 59 | .border_radius_left(@radius:4px) { 60 | -webkit-border-top-left-radius: @radius; 61 | -webkit-border-bottom-left-radius: @radius; 62 | border-top-left-radius: @radius; 63 | border-bottom-left-radius: @radius; 64 | } 65 | .border_radius_bottom(@radius:4px) { 66 | -webkit-border-bottom-left-radius: @radius; 67 | -webkit-border-bottom-right-radius: @radius; 68 | border-bottom-left-radius: @radius; 69 | border-bottom-right-radius: @radius; 70 | } 71 | .border_radius_top(@radius:4px) { 72 | -webkit-border-top-left-radius: @radius; 73 | -webkit-border-top-right-radius: @radius; 74 | border-top-left-radius: @radius; 75 | border-top-right-radius: @radius; 76 | } 77 | .opacity(@opacity:0.75) { 78 | filter:~"alpha(opacity=@opacity * 100)"; 79 | -moz-opacity:@opacity; 80 | -khtml-opacity: @opacity; 81 | opacity: @opacity; 82 | } 83 | .box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { 84 | box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color @inset; 85 | -webkit-box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 86 | } 87 | .inset_box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { 88 | box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 89 | -webkit-box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 90 | } 91 | .text_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_color:#fff) { 92 | text-shadow:@shadow_x @shadow_y @shadow_rad @shadow_color; 93 | } 94 | .vertical_gradient(@from: #000, @to: #FFF) { 95 | background: @from; 96 | background: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); 97 | background: -webkit-linear-gradient(@from, @to); 98 | background: -moz-linear-gradient(center top, @from 0%, @to 100%); 99 | background: -moz-gradient(center top, @from 0%, @to 100%); 100 | } 101 | .transition(@selector:all, @animation:ease-in-out, @duration:.2s) { 102 | -webkit-transition:@selector @animation @duration; 103 | -moz-transition:@selector @animation @duration; 104 | -o-transition:@selector @animation @duration; 105 | transition:@selector @animation @duration; 106 | } 107 | 108 | .scale(@ratio:1.5){ 109 | -webkit-transform:scale(@ratio); 110 | -moz-transform:scale(@ratio); 111 | -ms-transform:scale(@ratio); 112 | -o-transform:scale(@ratio); 113 | transform:scale(@ratio); 114 | } 115 | 116 | .borderbox () { 117 | -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ 118 | -moz-box-sizing: border-box; /* Firefox, other Gecko */ 119 | box-sizing: border-box; /* Opera/IE 8+ */ 120 | } 121 | 122 | .clear { clear: both; } 123 | .nobr { white-space: nowrap; } 124 | 125 | .darkorlighttextshadow ( @a, @opacity: 0.8 ) when (lightness(@a) >= 65%) { .text_shadow( 0, -1px, 0, rgba(0,0,0,@opacity) ); } 126 | .darkorlighttextshadow ( @a, @opacity: 0.8 ) when (lightness(@a) < 65%) { .text_shadow( 0, 1px, 0, rgba(255,255,255,@opacity) ); } 127 | 128 | /** 129 | * Objects 130 | */ 131 | .menu() { 132 | .clearfix; 133 | li { 134 | display: inline-block; 135 | } 136 | } 137 | .mediaright() { 138 | .clearfix; 139 | img { 140 | float:right; 141 | height:auto; 142 | } 143 | } 144 | .medialeft() { 145 | .clearfix; 146 | img { 147 | float:right; 148 | height:auto; 149 | } 150 | } 151 | .ir() { 152 | display: block; 153 | text-indent: -9999px; 154 | position: relative; 155 | height:1em; 156 | width:1em; 157 | } 158 | 159 | .margin( @top:0, @right:0px, @bottom:0px , @left:0 ){ 160 | margin-top: @top; 161 | margin-right: @right; 162 | margin-bottom: @bottom; 163 | margin-left: @left; 164 | } 165 | 166 | .margin_left( @left:0 ){ 167 | margin-left: @left; 168 | } 169 | .margin_right( @right:0 ){ 170 | margin-right: @right; 171 | } 172 | .margin_top( @top:0 ){ 173 | margin-top: @top; 174 | } 175 | .margin_bottom( @bottom:0 ){ 176 | margin-bottom: @bottom; 177 | } 178 | 179 | .padding( @top:0, @right:0px, @bottom:0px , @left:0 ){ 180 | padding-top: @top; 181 | padding-right: @right; 182 | padding-bottom: @bottom; 183 | padding-left: @left; 184 | } 185 | 186 | .padding_left( @left:0 ){ 187 | padding-left: @left; 188 | } 189 | .padding_right( @right:0 ){ 190 | padding-right: @right; 191 | } 192 | .padding_top( @top:0 ){ 193 | padding-top: @top; 194 | } 195 | .padding_bottom( @bottom:0 ){ 196 | padding-bottom: @bottom; 197 | } 198 | 199 | .background( @url, @repeat:no-repeat, @hoz:0, @ver:0, @color ){ 200 | background: url(@url) @repeat @hoz @ver @color; 201 | } -------------------------------------------------------------------------------- /admin/less/assets/css/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/less/assets/css/style.css -------------------------------------------------------------------------------- /admin/less/assets/css/style.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/less/assets/css/style.less -------------------------------------------------------------------------------- /admin/less/assets/css/style.min.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/admin/less/assets/css/style.min.css -------------------------------------------------------------------------------- /admin/less/compile_less_sass_class.php: -------------------------------------------------------------------------------- 1 | init(); 12 | } 13 | public function init(){ 14 | } 15 | 16 | public function compileLessFile( $less_file = '', $css_file = '', $css_min_file = '' ){ 17 | global $wp_filesystem; 18 | 19 | if( empty( $less_file ) ) 20 | $less_file = dirname( __FILE__ ) . '/assets/css/style.less'; 21 | if( empty( $css_file ) ) 22 | $css_file = dirname( __FILE__ ) . '/assets/css/style.css'; 23 | if( empty( $css_min_file ) ) 24 | $css_min_file = dirname( __FILE__ ) . '/assets/css/style.min.css'; 25 | 26 | // Write less file 27 | if ( is_writable( $css_file ) && is_writable( $css_min_file ) ) { 28 | 29 | if ( ! class_exists( 'a3_lessc' ) ){ 30 | include( dirname( __FILE__ ) . '/lib/lessc.inc.php' ); 31 | } 32 | if ( ! class_exists( 'a3_CSSmin' ) ){ 33 | include( dirname( __FILE__ ) . '/lib/cssmin.inc.php' ); 34 | } 35 | 36 | try { 37 | 38 | $less = new a3_lessc(); 39 | 40 | $compiled_css = $less->compileFile( $less_file ); 41 | 42 | if ( $compiled_css != '' ){ 43 | $wp_filesystem->put_contents( $css_file, $compiled_css ); 44 | 45 | $compressor = new a3_CSSmin(); 46 | $compressor->set_memory_limit( '512M' ); 47 | $compressor->set_max_execution_time( 120 ); 48 | 49 | $compiled_css_min = $compressor->run( $compiled_css ); 50 | if ( $compiled_css_min != '' ) 51 | $wp_filesystem->put_contents( $css_min_file, $compiled_css_min ); 52 | } 53 | 54 | } catch ( exception $ex ) { 55 | 56 | //echo ( __( 'Could not compile .less:', 'sass' ) . ' ' . $ex->getMessage() ); 57 | } 58 | } 59 | 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /admin/less/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SASS JS 6 | 7 | 24 | 25 | 26 | 27 | 28 | 29 |

3,894 total views, 1 views today

30 | 31 | -------------------------------------------------------------------------------- /admin/less/sass.php: -------------------------------------------------------------------------------- 1 | plugin_name.'_after_settings_save_reset', array ($this, 'plugin_build_sass') ); 22 | add_action( 'wp_enqueue_scripts', array ($this, 'apply_style_css_fontend') , 12 ); 23 | } 24 | 25 | public function register_dynamic_style_file() 26 | { 27 | $_upload_dir = wp_upload_dir(); 28 | if ( file_exists( $_upload_dir['basedir'] . '/sass/' . $this->css_file_name . '.min.css' ) ) { 29 | wp_register_style( 'a3' . $this->css_file_name, str_replace( array('http:','https:'), '', $_upload_dir['baseurl'] ) . '/sass/' . $this->css_file_name . '.min.css', array(), $this->get_css_file_version() ); 30 | 31 | return true; 32 | } 33 | 34 | return false; 35 | } 36 | 37 | public function apply_style_css_fontend() 38 | { 39 | if ( $this->register_dynamic_style_file() ) { 40 | wp_enqueue_style( 'a3' . $this->css_file_name ); 41 | } 42 | } 43 | 44 | public function plugin_build_sass() 45 | { 46 | $sass = $this->sass_content_data(); 47 | $this->plugin_compile_less_mincss( $sass ); 48 | $this->set_css_file_version(); 49 | } 50 | public function custom_filesystem_method( $method = '') { 51 | return 'direct'; 52 | } 53 | 54 | public function plugin_compile_less_mincss( $sass, $css_file_name = '' ) 55 | { 56 | // just filter when compile less file 57 | add_filter( 'filesystem_method', array( $this, 'custom_filesystem_method' ) ); 58 | 59 | $form_url = wp_nonce_url( esc_url( add_query_arg( 'compile-sass', 'true' ) ), 'compile-sass' ); 60 | 61 | if ( ! function_exists( 'request_filesystem_credentials' ) ) { 62 | require_once( ABSPATH . 'wp-admin/includes/file.php' ); 63 | } 64 | 65 | if ( false === ( $creds = request_filesystem_credentials( $form_url, '', false, false, null ) ) ) { 66 | return true; 67 | } 68 | 69 | if ( ! WP_Filesystem( $creds ) ) { 70 | // our credentials were no good, ask the user for them again 71 | request_filesystem_credentials( $form_url, '', true ); 72 | return true; 73 | } 74 | 75 | global $wp_filesystem; 76 | 77 | $_upload_dir = wp_upload_dir(); 78 | if (! $wp_filesystem->is_dir($_upload_dir['basedir'] . '/sass')) { 79 | $wp_filesystem->mkdir($_upload_dir['basedir'] . '/sass', 0755); 80 | } 81 | 82 | if ( trim( $css_file_name ) == '' ) $css_file_name = $this->css_file_name; 83 | 84 | if ( $css_file_name == '' ) 85 | return; 86 | 87 | if ( $this->plugin_folder == '' ) 88 | return; 89 | 90 | $filename = $css_file_name; 91 | 92 | if (!file_exists($_upload_dir['basedir'] . '/sass/' . $filename . '.less')) { 93 | $wp_filesystem->put_contents($_upload_dir['basedir'] . '/sass/' . $filename . '.less', '', 0644 ); 94 | $wp_filesystem->put_contents($_upload_dir['basedir'] . '/sass/' . $filename . '.css', '', 0644); 95 | $wp_filesystem->put_contents($_upload_dir['basedir'] . '/sass/' . $filename . '.min.css', '', 0644); 96 | } 97 | 98 | $mixins = $this->css_file_name . '_mixins'; 99 | if( !file_exists( $_upload_dir['basedir'].'/sass/'.$mixins.'.less' ) ){ 100 | $mixinsless = $this->plugin_dir.'/admin/less/assets/css/mixins.less'; 101 | $a3rev_mixins_less = $_upload_dir['basedir'].'/sass/'.$mixins.'.less'; 102 | $wp_filesystem->copy($mixinsless, $a3rev_mixins_less, true ); 103 | } 104 | 105 | $sass_data = ''; 106 | 107 | if ($sass != '') { 108 | 109 | $sass_data = '@import "'.$mixins.'.less";' . "\n"; 110 | 111 | $sass_data .= $sass; 112 | 113 | $sass_data = str_replace(':;', ': transparent;', $sass_data); 114 | $sass_data = str_replace(': ;', ': transparent;', $sass_data); 115 | $sass_data = str_replace(': !important', ': transparent !important', $sass_data); 116 | $sass_data = str_replace(':px', ':0px', $sass_data); 117 | $sass_data = str_replace(': px', ': 0px', $sass_data); 118 | 119 | $less_file = $_upload_dir['basedir'] . '/sass/' . $filename . '.less'; 120 | if (is_writable($less_file)) { 121 | 122 | if (!class_exists('Compile_Less_Sass')) 123 | include( dirname( __FILE__ ) . '/compile_less_sass_class.php'); 124 | $wp_filesystem->put_contents($less_file, $sass_data, 0644); 125 | $css_file = $_upload_dir['basedir'] . '/sass/' . $filename . '.css'; 126 | $css_min_file = $_upload_dir['basedir'] . '/sass/' . $filename . '.min.css'; 127 | $compile = new \Compile_Less_Sass; 128 | $compile->compileLessFile($less_file, $css_file, $css_min_file); 129 | } 130 | } 131 | } 132 | 133 | public function sass_content_data() 134 | { 135 | do_action($this->plugin_name . '_get_all_settings'); 136 | 137 | ob_start(); 138 | include( $this->plugin_dir. '/includes/customized_style.php' ); 139 | $sass = ob_get_clean(); 140 | $sass = str_replace( '', '', $sass ) ); 141 | $sass = str_replace( '', '', $sass ) ); 142 | 143 | // Start Less 144 | $sass_ext = ''; 145 | 146 | $sass_ext = apply_filters( $this->plugin_name.'_build_sass', $sass_ext ); 147 | 148 | if ($sass_ext != '') 149 | $sass .= "\n" . $sass_ext; 150 | 151 | return $sass; 152 | } 153 | 154 | public function set_css_file_version( $css_file_name = '' ) { 155 | if ( trim( $css_file_name ) == '' ) { 156 | $css_file_name = $this->css_file_name; 157 | } 158 | 159 | if ( $css_file_name == '' ) { 160 | return false; 161 | } 162 | 163 | update_option( $css_file_name . '_style_version', time() ); 164 | } 165 | 166 | public function get_css_file_version( $css_file_name = '' ) { 167 | if ( trim( $css_file_name ) == '' ) { 168 | $css_file_name = $this->css_file_name; 169 | } 170 | 171 | if ( $css_file_name == '' ) { 172 | return false; 173 | } 174 | 175 | $version_number = get_option( $css_file_name . '_style_version', time() ); 176 | 177 | return $version_number; 178 | } 179 | } 180 | 181 | } 182 | 183 | -------------------------------------------------------------------------------- /admin/tabs/template-settings/global-settings-tab.php: -------------------------------------------------------------------------------- 1 | settings_include(); 54 | //$this->tab_init(); 55 | } 56 | 57 | /*-----------------------------------------------------------------------------------*/ 58 | /* tab_init() */ 59 | /* Tab Init */ 60 | /*-----------------------------------------------------------------------------------*/ 61 | public function tab_init() { 62 | 63 | add_filter( $this->plugin_name . '-' . $this->parent_page . '_settings_tabs_array', array( $this, 'add_tab' ), $this->position ); 64 | 65 | } 66 | 67 | /** 68 | * tab_data() 69 | * Get Tab Data 70 | * ============================================= 71 | * array ( 72 | * 'name' => 'my_tab_name' : (required) Enter your tab name that you want to set for this tab 73 | * 'label' => 'My Tab Name' : (required) Enter the tab label 74 | * 'callback_function' => 'my_callback_function' : (required) The callback function is called to show content of this tab 75 | * ) 76 | * 77 | */ 78 | public function tab_data() { 79 | 80 | $tab_data = array( 81 | 'name' => 'global-settings', 82 | 'label' => __( 'Global Settings', 'a3-lazy-load' ), 83 | 'callback_function' => 'a3_lazy_load_global_settings_tab_manager', 84 | ); 85 | 86 | if ( $this->tab_data ) return $this->tab_data; 87 | return $this->tab_data = $tab_data; 88 | 89 | } 90 | 91 | /*-----------------------------------------------------------------------------------*/ 92 | /* add_tab() */ 93 | /* Add tab to Admin Init and Parent Page 94 | /*-----------------------------------------------------------------------------------*/ 95 | public function add_tab( $tabs_array ) { 96 | 97 | if ( ! is_array( $tabs_array ) ) $tabs_array = array(); 98 | $tabs_array[] = $this->tab_data(); 99 | 100 | return $tabs_array; 101 | } 102 | 103 | /*-----------------------------------------------------------------------------------*/ 104 | /* panels_include() */ 105 | /* Include form settings panels 106 | /*-----------------------------------------------------------------------------------*/ 107 | public function settings_include() { 108 | 109 | // Includes Settings file 110 | global $a3_lazy_load_global_settings_panel; 111 | $a3_lazy_load_global_settings_panel = new FrameWork\Settings\Global_Panel(); 112 | 113 | } 114 | 115 | /*-----------------------------------------------------------------------------------*/ 116 | /* tab_manager() */ 117 | /* Call tab layout from Admin Init 118 | /*-----------------------------------------------------------------------------------*/ 119 | public function tab_manager() { 120 | global $a3_lazy_load_global_settings_panel; 121 | 122 | $this->plugin_extension_start(); 123 | $a3_lazy_load_global_settings_panel->settings_form(); 124 | $this->plugin_extension_end(); 125 | 126 | //$GLOBALS[$this->plugin_prefix.'admin_init']->admin_settings_tab( $this->parent_page, $this->tab_data() ); 127 | 128 | } 129 | } 130 | 131 | } 132 | 133 | namespace { 134 | 135 | /** 136 | * people_contact_grid_view_tab_manager() 137 | * Define the callback function to show tab content 138 | */ 139 | function a3_lazy_load_global_settings_tab_manager() { 140 | global $a3_lazy_load_global_settings_tab; 141 | $a3_lazy_load_global_settings_tab->tab_manager(); 142 | } 143 | 144 | } 145 | -------------------------------------------------------------------------------- /assets/banner-772x250.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/banner-772x250.png -------------------------------------------------------------------------------- /assets/css/a3.lazyload.addons.admin.css: -------------------------------------------------------------------------------- 1 | .clear{clear:both}.nobr{white-space:nowrap}.a3-lazyload-addons-tab-wrap .extension-card{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:300px;height:230px;margin:10px 20px 10px 0;border:1px solid #ccc;background-color:#fff;position:relative;}.a3-lazyload-addons-tab-wrap .extension-card p{margin:0;padding:10px}.a3-lazyload-addons-tab-wrap .extension-card .extension-card-header{position:relative}.a3-lazyload-addons-tab-wrap .extension-card h3{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:110px;margin:0;padding:20px 10px 0 120px;border-bottom:1px solid #ccc;background:#fff no-repeat left bottom;background-size:contain;position:relative}.a3-lazyload-addons-tab-wrap .extension-card h3 span.extension-title{background-color:#000;color:#fff;filter:alpha(opacity=@opacity * 100);-moz-opacity:0.8;-khtml-opacity:0.8;opacity:0.8;padding:5px 10px;display:block;-webkit-border-radius:5px;border-radius:5px;position:absolute;max-width:65%;left:10px;bottom:10px;font-size:16px}.a3-lazyload-addons-tab-wrap .extension-card a{text-decoration:none}.a3-lazyload-addons-tab-wrap .extension-card button.installed{border-color:#00a000;background-color:#00a000;cursor:default}.a3-lazyload-addons-tab-wrap .extension-card .free-extension{background:none repeat scroll 0 0 #d54e21;color:#fff;-webkit-border-radius:50px;border-radius:50px;display:inline-block;font-size:14px;font-weight:bold;width:45px;height:45px;line-height:45px;position:absolute;bottom:10px;right:10px;text-align:center;text-transform:uppercase;}.a3-lazyload-addons-tab-wrap .no-extension{font-style:italic;color:#0074a2;font-size:20px;margin-top:10px;} -------------------------------------------------------------------------------- /assets/css/a3.lazyload.addons.admin.less: -------------------------------------------------------------------------------- 1 | @import "mixins.less"; 2 | 3 | .a3-lazyload-addons-tab-wrap { 4 | .extension-card { 5 | float: left; 6 | .borderbox(); 7 | width: 300px; 8 | height: 230px; 9 | margin: 10px 20px 10px 0; 10 | border: 1px solid #ccc; 11 | background-color: #fff; 12 | position: relative; 13 | 14 | p { 15 | margin: 0; 16 | padding: 10px; 17 | } 18 | 19 | .extension-card-header { 20 | position: relative; 21 | } 22 | 23 | h3 { 24 | .borderbox(); 25 | height: 110px; 26 | margin: 0; 27 | padding: 20px 10px 0 120px; 28 | border-bottom: 1px solid #ccc; 29 | background: #fff no-repeat left bottom; 30 | background-size: contain; 31 | position: relative; 32 | 33 | span.extension-title { 34 | background-color: #000; 35 | color: #fff; 36 | .opacity(0.8); 37 | padding: 5px 10px; 38 | display: block; 39 | .border_radius(5px); 40 | position: absolute; 41 | max-width: 65%; 42 | left: 10px; 43 | bottom: 10px; 44 | font-size: 16px; 45 | } 46 | } 47 | 48 | a { 49 | text-decoration: none; 50 | } 51 | 52 | button.installed { 53 | border-color: #00a000; 54 | background-color: #00a000; 55 | cursor: default; 56 | } 57 | 58 | .free-extension { 59 | background: none repeat scroll 0 0 #d54e21; 60 | color: #fff; 61 | .border_radius(50px); 62 | display: inline-block; 63 | font-size: 14px; 64 | font-weight: bold; 65 | width: 45px; 66 | height: 45px; 67 | line-height: 45px; 68 | position: absolute; 69 | bottom: 10px; 70 | right: 10px; 71 | text-align: center; 72 | text-transform: uppercase; 73 | } 74 | } 75 | 76 | .no-extension { 77 | font-style: italic; 78 | color: #0074a2; 79 | font-size: 20px; 80 | margin-top: 10px; 81 | } 82 | } -------------------------------------------------------------------------------- /assets/css/a3.lazyload.addons.admin.rtl.css: -------------------------------------------------------------------------------- 1 | .clear { 2 | clear: both; 3 | } 4 | .nobr { 5 | white-space: nowrap; 6 | } 7 | .a3-lazyload-addons-tab-wrap .extension-card { 8 | float: right; 9 | margin: 10px 0 10px 20px; 10 | } 11 | .a3-lazyload-addons-tab-wrap .extension-card h3 { 12 | padding: 20px 120px 0 10px; 13 | } 14 | .a3-lazyload-addons-tab-wrap .extension-card h3 span.extension-title { 15 | left: auto; 16 | right: 10px; 17 | } 18 | .a3-lazyload-addons-tab-wrap .extension-card .free-extension { 19 | bottom: 10px; 20 | left: 10px; 21 | right: auto; 22 | } -------------------------------------------------------------------------------- /assets/css/a3.lazyload.addons.admin.rtl.less: -------------------------------------------------------------------------------- 1 | @import "mixins.less"; 2 | 3 | .a3-lazyload-addons-tab-wrap { 4 | .extension-card { 5 | float: right; 6 | margin: 10px 0 10px 20px; 7 | 8 | h3 { 9 | padding: 20px 120px 0 10px; 10 | 11 | span.extension-title { 12 | left: auto; 13 | right: 10px; 14 | } 15 | } 16 | 17 | .free-extension { 18 | bottom: 10px; 19 | left: 10px; 20 | right: auto; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /assets/css/a3_wp_admin.css: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------------------------------------*/ 2 | /* WP Admin */ 3 | /*-------------------------------------------------------------------------------------------*/ 4 | @charset "UTF-8"; 5 | 6 | @font-face { 7 | font-family: "a3-sidebar-menu"; 8 | src:url("../fonts/a3-sidebar-menu.eot"); 9 | src:url("../fonts/a3-sidebar-menu.eot?#iefix") format("embedded-opentype"), 10 | url("../fonts/a3-sidebar-menu.woff") format("woff"), 11 | url("../fonts/a3-sidebar-menu.ttf") format("truetype"), 12 | url("../fonts/a3-sidebar-menu.svg#a3-sidebar-menu") format("svg"); 13 | font-weight: normal; 14 | font-style: normal; 15 | 16 | } 17 | 18 | #media-upload .ui-sortable .media-item { 19 | clear:both; 20 | } 21 | 22 | @media screen and ( max-width: 782px ) { 23 | #media-items { 24 | width:100%; 25 | } 26 | .media-item .describe input[type="text"], .media-item .describe textarea { 27 | width:100%; 28 | } 29 | } -------------------------------------------------------------------------------- /assets/css/a3_wp_admin.min.css: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------------------------------------*/ 2 | /* WP Admin */ 3 | /*-------------------------------------------------------------------------------------------*/ 4 | @charset "UTF-8"; 5 | 6 | @font-face { 7 | font-family: "a3-sidebar-menu"; 8 | src:url("../fonts/a3-sidebar-menu.eot"); 9 | src:url("../fonts/a3-sidebar-menu.eot?#iefix") format("embedded-opentype"), 10 | url("../fonts/a3-sidebar-menu.woff") format("woff"), 11 | url("../fonts/a3-sidebar-menu.ttf") format("truetype"), 12 | url("../fonts/a3-sidebar-menu.svg#a3-sidebar-menu") format("svg"); 13 | font-weight: normal; 14 | font-style: normal; 15 | 16 | } 17 | 18 | #media-upload .ui-sortable .media-item { 19 | clear:both; 20 | } 21 | 22 | @media screen and ( max-width: 782px ) { 23 | #media-items { 24 | width:100%; 25 | } 26 | .media-item .describe input[type="text"], .media-item .describe textarea { 27 | width:100%; 28 | } 29 | } -------------------------------------------------------------------------------- /assets/css/admin_sidebar_menu.css: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------------------------------------*/ 2 | /* WP Admin */ 3 | /*-------------------------------------------------------------------------------------------*/ 4 | @charset "UTF-8"; 5 | 6 | #toplevel_page_a3-lazy-load .wp-menu-image:before { 7 | font-family: "a3-sidebar-menu" !important; 8 | font-style: normal !important; 9 | font-weight: normal !important; 10 | font-variant: normal !important; 11 | text-transform: none !important; 12 | speak: none; 13 | line-height: 1; 14 | -webkit-font-smoothing: antialiased; 15 | -moz-osx-font-smoothing: grayscale; 16 | display:inline-block; 17 | font-size:17px !important; 18 | font-weight:400; 19 | height: 36px; 20 | padding: 8px 0; 21 | transition: all 0.1s ease-in-out 0s; 22 | width: 20px; 23 | content: "\a3" !important; 24 | } 25 | #toplevel_page_a3-lazy-load .wp-menu-image { 26 | text-align:center; 27 | background:none; 28 | } 29 | 30 | @media screen and ( max-width: 782px ) { 31 | .auto-fold #adminmenu #toplevel_page_a3-lazy-load a.menu-top { 32 | height:auto; 33 | } 34 | } 35 | @media only screen and (max-width: 479px){ 36 | } 37 | -------------------------------------------------------------------------------- /assets/css/admin_sidebar_menu.min.css: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------------------------------------*/ 2 | /* WP Admin */ 3 | /*-------------------------------------------------------------------------------------------*/ 4 | @charset "UTF-8"; 5 | 6 | #toplevel_page_a3-lazy-load .wp-menu-image:before { 7 | font-family: "a3-sidebar-menu" !important; 8 | font-style: normal !important; 9 | font-weight: normal !important; 10 | font-variant: normal !important; 11 | text-transform: none !important; 12 | speak: none; 13 | line-height: 1; 14 | -webkit-font-smoothing: antialiased; 15 | -moz-osx-font-smoothing: grayscale; 16 | display:inline-block; 17 | font-size:17px !important; 18 | font-weight:400; 19 | height: 36px; 20 | padding: 8px 0; 21 | transition: all 0.1s ease-in-out 0s; 22 | width: 20px; 23 | content: "\a3" !important; 24 | } 25 | #toplevel_page_a3-lazy-load .wp-menu-image { 26 | text-align:center; 27 | background:none; 28 | } 29 | 30 | @media screen and ( max-width: 782px ) { 31 | .auto-fold #adminmenu #toplevel_page_a3-lazy-load a.menu-top { 32 | height:auto; 33 | } 34 | } 35 | @media only screen and (max-width: 479px){ 36 | } 37 | -------------------------------------------------------------------------------- /assets/css/jquery.lazyloadxt.fadein.css: -------------------------------------------------------------------------------- 1 | .lazy-hidden,.entry img.lazy-hidden, img.thumbnail.lazy-hidden { 2 | opacity: 0.2; 3 | background-color: #ffffff; 4 | } 5 | figure.wp-block-image img.lazy-hidden { 6 | min-width: 150px; 7 | } 8 | .lazy-loaded { 9 | -webkit-transition: opacity 0.3s; 10 | -moz-transition: opacity 0.3s; 11 | -ms-transition: opacity 0.3s; 12 | -o-transition: opacity 0.3s; 13 | transition: opacity 0.3s; 14 | opacity: 1 !important; 15 | } 16 | picture source[type="image/webp"] { 17 | display: block; 18 | } -------------------------------------------------------------------------------- /assets/css/jquery.lazyloadxt.spinner.css: -------------------------------------------------------------------------------- 1 | .lazy-hidden,.entry img.lazy-hidden, img.thumbnail.lazy-hidden { 2 | background-color: #ffffff; 3 | background-image: url('loading.gif'); 4 | background-repeat: no-repeat; 5 | background-position: 50% 50%; 6 | } 7 | figure.wp-block-image img.lazy-hidden { 8 | min-width: 150px; 9 | } 10 | picture source[type="image/webp"] { 11 | display: block; 12 | } -------------------------------------------------------------------------------- /assets/css/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/css/loading.gif -------------------------------------------------------------------------------- /assets/css/mixins.less: -------------------------------------------------------------------------------- 1 | @green: green; 2 | @red: red; 3 | @orange: orange; 4 | @blue: blue; 5 | @yellow: yellow; 6 | @white: white; 7 | @black: black; 8 | 9 | .clearfix() { 10 | *zoom:1; 11 | &:before, 12 | &:after { 13 | content: " "; 14 | display: table; 15 | } 16 | &:after { 17 | clear: both; 18 | } 19 | } 20 | .border_radius(@radius:4px) { 21 | -webkit-border-radius:@radius; 22 | border-radius:@radius; 23 | } 24 | .border_radius_corner(@topleft:4px, @topright:4px, @bottomleft:4px, @bottomright:4px) { 25 | -webkit-border-top-left-radius: @topleft; 26 | border-top-left-radius: @topleft; 27 | -webkit-border-top-right-radius: @topright; 28 | border-top-right-radius: @topright; 29 | -webkit-border-bottom-left-radius: @bottomleft; 30 | border-bottom-left-radius: @bottomleft; 31 | -webkit-border-bottom-right-radius: @bottomright; 32 | border-bottom-right-radius: @bottomright; 33 | } 34 | 35 | .border_radius_top_left(@radius:4px) { 36 | -webkit-border-top-left-radius: @radius; 37 | border-top-left-radius: @radius; 38 | } 39 | .border_radius_top_right(@radius:4px) { 40 | -webkit-border-top-right-radius: @radius; 41 | border-top-right-radius: @radius; 42 | } 43 | .border_radius_bottom_left(@radius:4px) { 44 | -webkit-border-bottom-left-radius: @radius; 45 | border-bottom-left-radius: @radius; 46 | } 47 | .border_radius_bottom_right(@radius:4px) { 48 | -webkit-border-bottom-right-radius: @radius; 49 | border-bottom-right-radius: @radius; 50 | } 51 | 52 | .border_radius_right(@radius:4px) { 53 | -webkit-border-top-right-radius: @radius; 54 | -webkit-border-bottom-right-radius: @radius; 55 | border-top-right-radius: @radius; 56 | border-bottom-right-radius: @radius; 57 | } 58 | .border_radius_left(@radius:4px) { 59 | -webkit-border-top-left-radius: @radius; 60 | -webkit-border-bottom-left-radius: @radius; 61 | border-top-left-radius: @radius; 62 | border-bottom-left-radius: @radius; 63 | } 64 | .border_radius_bottom(@radius:4px) { 65 | -webkit-border-bottom-left-radius: @radius; 66 | -webkit-border-bottom-right-radius: @radius; 67 | border-bottom-left-radius: @radius; 68 | border-bottom-right-radius: @radius; 69 | } 70 | .border_radius_top(@radius:4px) { 71 | -webkit-border-top-left-radius: @radius; 72 | -webkit-border-top-right-radius: @radius; 73 | border-top-left-radius: @radius; 74 | border-top-right-radius: @radius; 75 | } 76 | .opacity(@opacity:0.75) { 77 | filter:~"alpha(opacity=@opacity * 100)"; 78 | -moz-opacity:@opacity; 79 | -khtml-opacity: @opacity; 80 | opacity: @opacity; 81 | } 82 | .box_shadow_none() { 83 | box-shadow: none; 84 | -moz-box-shadow: none; 85 | -webkit-box-shadow: none; 86 | } 87 | .box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { 88 | box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 89 | -webkit-box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 90 | } 91 | .inset_box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) { 92 | box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 93 | -webkit-box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color; 94 | } 95 | .text_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_color:#fff) { 96 | text-shadow:@shadow_x @shadow_y @shadow_rad @shadow_color; 97 | } 98 | .vertical_gradient(@from: #000, @to: #FFF) { 99 | background: @from; 100 | background: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to)); 101 | background: -webkit-linear-gradient(@from, @to); 102 | background: -moz-linear-gradient(center top, @from 0%, @to 100%); 103 | background: -moz-gradient(center top, @from 0%, @to 100%); 104 | } 105 | .transition(@selector:all, @animation:ease-in-out, @duration:.2s) { 106 | -webkit-transition:@selector @animation @duration; 107 | -moz-transition:@selector @animation @duration; 108 | -o-transition:@selector @animation @duration; 109 | transition:@selector @animation @duration; 110 | } 111 | 112 | .scale(@ratio:1.5){ 113 | -webkit-transform:scale(@ratio); 114 | -moz-transform:scale(@ratio); 115 | -ms-transform:scale(@ratio); 116 | -o-transform:scale(@ratio); 117 | transform:scale(@ratio); 118 | } 119 | 120 | .borderbox () { 121 | -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ 122 | -moz-box-sizing: border-box; /* Firefox, other Gecko */ 123 | box-sizing: border-box; /* Opera/IE 8+ */ 124 | } 125 | 126 | .clear { clear: both; } 127 | .nobr { white-space: nowrap; } 128 | 129 | .darkorlighttextshadow ( @a, @opacity: 0.8 ) when (lightness(@a) >= 65%) { .text_shadow( 0, -1px, 0, rgba(0,0,0,@opacity) ); } 130 | .darkorlighttextshadow ( @a, @opacity: 0.8 ) when (lightness(@a) < 65%) { .text_shadow( 0, 1px, 0, rgba(255,255,255,@opacity) ); } 131 | 132 | /** 133 | * Objects 134 | */ 135 | .menu() { 136 | .clearfix; 137 | li { 138 | display: inline-block; 139 | } 140 | } 141 | .mediaright() { 142 | .clearfix; 143 | img { 144 | float:right; 145 | height:auto; 146 | } 147 | } 148 | .medialeft() { 149 | .clearfix; 150 | img { 151 | float:right; 152 | height:auto; 153 | } 154 | } 155 | .ir() { 156 | display: block; 157 | text-indent: -9999px; 158 | position: relative; 159 | height:1em; 160 | width:1em; 161 | } 162 | 163 | .margin( @top:0, @right:0px, @bottom:0px , @left:0 ){ 164 | margin-top: @top; 165 | margin-right: @right; 166 | margin-bottom: @bottom; 167 | margin-left: @left; 168 | } 169 | 170 | .margin_left( @left:0 ){ 171 | margin-left: @left; 172 | } 173 | .margin_right( @right:0 ){ 174 | margin-right: @right; 175 | } 176 | .margin_top( @top:0 ){ 177 | margin-top: @top; 178 | } 179 | .margin_bottom( @bottom:0 ){ 180 | margin-bottom: @bottom; 181 | } 182 | 183 | .padding( @top:0, @right:0px, @bottom:0px , @left:0 ){ 184 | padding-top: @top; 185 | padding-right: @right; 186 | padding-bottom: @bottom; 187 | padding-left: @left; 188 | } 189 | 190 | .padding_left( @left:0 ){ 191 | padding-left: @left; 192 | } 193 | .padding_right( @right:0 ){ 194 | padding-right: @right; 195 | } 196 | .padding_top( @top:0 ){ 197 | padding-top: @top; 198 | } 199 | .padding_bottom( @bottom:0 ){ 200 | padding-bottom: @bottom; 201 | } 202 | 203 | .background( @url, @repeat:no-repeat, @hoz:0, @ver:0, @color ){ 204 | background: url(@url) @repeat @hoz @ver @color; 205 | } -------------------------------------------------------------------------------- /assets/fonts/a3-sidebar-menu.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/fonts/a3-sidebar-menu.eot -------------------------------------------------------------------------------- /assets/fonts/a3-sidebar-menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by Fontastic.me 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /assets/fonts/a3-sidebar-menu.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/fonts/a3-sidebar-menu.ttf -------------------------------------------------------------------------------- /assets/fonts/a3-sidebar-menu.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/fonts/a3-sidebar-menu.woff -------------------------------------------------------------------------------- /assets/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/icon-128x128.png -------------------------------------------------------------------------------- /assets/icon-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/icon-256x256.png -------------------------------------------------------------------------------- /assets/images/_blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/_blank.gif -------------------------------------------------------------------------------- /assets/images/a-5-star-rating-would-be-appreciated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/a-5-star-rating-would-be-appreciated.png -------------------------------------------------------------------------------- /assets/images/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/ajax-loader.gif -------------------------------------------------------------------------------- /assets/images/chosen-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/chosen-sprite.png -------------------------------------------------------------------------------- /assets/images/follow-facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/follow-facebook.png -------------------------------------------------------------------------------- /assets/images/follow-twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/follow-twitter.png -------------------------------------------------------------------------------- /assets/images/free-woocommerce-plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/free-woocommerce-plugins.png -------------------------------------------------------------------------------- /assets/images/free-wordpress-plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/free-wordpress-plugins.png -------------------------------------------------------------------------------- /assets/images/go-to-support-forum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/go-to-support-forum.png -------------------------------------------------------------------------------- /assets/images/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/key.png -------------------------------------------------------------------------------- /assets/images/lazy_placeholder.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/lazy_placeholder.gif -------------------------------------------------------------------------------- /assets/images/loading-black.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/loading-black.gif -------------------------------------------------------------------------------- /assets/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/loading.gif -------------------------------------------------------------------------------- /assets/images/placeholder.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/placeholder.gif -------------------------------------------------------------------------------- /assets/images/video.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/images/video.jpg -------------------------------------------------------------------------------- /assets/js/jquery.lazyloadxt.extend.js: -------------------------------------------------------------------------------- 1 | jQuery.lazyLoadXT.updateEvent = 'load orientationchange resize scroll touchmove focus click customlazyloadxtevent'; 2 | jQuery.lazyLoadXT.edgeY = a3_lazyload_extend_params.edgeY; 3 | jQuery.lazyLoadXT.srcsetExtended = false; 4 | if ( typeof a3_lazyload_extend_params.horizontal_container_classnames !== 'undefined' && '' !== a3_lazyload_extend_params.horizontal_container_classnames ) { 5 | jQuery.lazyLoadXT.scrollContainer = a3_lazyload_extend_params.horizontal_container_classnames; 6 | } 7 | 8 | jQuery( document ).ready( function( $ ) { 9 | jQuery(document).on( 'mouseenter', '.site-header-cart', function() { 10 | jQuery(document).trigger('customlazyloadxtevent'); 11 | }); 12 | jQuery(document).on( 'mouseenter', '.widget_shopping_cart', function() { 13 | jQuery(document).trigger('customlazyloadxtevent'); 14 | }); 15 | jQuery(document).on( 'mouseover', '#wp-admin-bar-top-secondary', function() { 16 | jQuery(document).trigger('customlazyloadxtevent'); 17 | }); 18 | }); 19 | 20 | jQuery(document).ajaxComplete( function() { 21 | setTimeout(function() { 22 | jQuery(window).lazyLoadXT(); 23 | }, 1000 ); 24 | }); -------------------------------------------------------------------------------- /assets/js/jquery.lazyloadxt.extra.min.js: -------------------------------------------------------------------------------- 1 | /* Lazy Load XT 1.1.0 | MIT License */ 2 | !function(m,y,e,o){var p="lazyLoadXT",w="lazied",z="load error",t="lazy-hidden",C=e.documentElement||e.body,b={autoInit:!0,selector:"img[data-src]",blankImage:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",throttle:99,forceLoad:y.onscroll===o||!!y.operamini||!C.getBoundingClientRect,loadEvent:"pageshow",updateEvent:"load orientationchange resize scroll touchmove focus",forceEvent:"lazyloadall",oninit:{removeClass:"lazy"},onshow:{addClass:t},onload:{removeClass:t,addClass:"lazy-loaded"},onerror:{removeClass:t},checkDuplicates:!0},n={srcAttr:"data-src",edgeX:0,edgeY:0,visibleOnly:!0},a=m(y),d=m.extend,E=m.data||function(e,t){return m(e).data(t)},T=[],L=0,r=0;function c(e,t){return e[t]===o?b[t]:e[t]}function I(){var e=y.pageYOffset;return e===o?C.scrollTop:e}function X(e,t){var o=b["on"+e];o&&("function"==typeof o?o.call(t[0]):(o.addClass&&t.addClass(o.addClass),o.removeClass&&t.removeClass(o.removeClass))),t.trigger("lazy"+e,[t]),u()}function B(e){X(e.type,m(this).off(z,B))}function i(e){if(T.length){e=e||b.forceLoad,L=1/0;for(var t=I(),o=y.innerHeight||C.clientHeight,n=y.innerWidth||C.clientWidth,a=0,r=T.length;a-s&&i.left<=n+l&&i.right>-l),g?(f.on(z,B),X("show",f),(u="function"==typeof(c=v.srcAttr)?c(f):h.getAttribute(c))&&(h.src=u),A=!0):d=I()||(r||setTimeout(l,0),r=2))}function s(){a.lazyLoadXT()}function f(){i(!0)}m[p]=d(b,n,m[p]),m.fn[p]=function(a){var e,r=c(a=a||{},"blankImage"),i=c(a,"checkDuplicates"),t=c(a,"scrollContainer"),l=c(a,"show"),s={};for(e in m(t).on("scroll",u),n)s[e]=c(a,e);return this.each(function(e,t){if(t===y)m(b.selector).lazyLoadXT(a);else{var o=i&&E(t,w),n=m(t).data(w,l?-1:1);if(o)return void u();r&&"IMG"===t.tagName&&!t.src&&(t.src=r),n[p]=d({},s),X("init",n),T.push(n),u()}})},m(e).ready(function(){X("start",a),a.on(b.updateEvent,u).on(b.forceEvent,f),m(e).on(b.updateEvent,u),b.autoInit&&(a.on(b.loadEvent,s),s())})}(window.jQuery||window.Zepto||window.$,window,document),function(l){var o=l.lazyLoadXT;o.selector+=",video,iframe[data-src],embed[data-src]",o.videoPoster="data-poster",l(document).on("lazyshow","video",function(e,t){var a=t.lazyLoadXT.srcAttr,r="function"==typeof a,i=!1;t.attr("poster",t.attr(o.videoPoster)),t.children("source,track").each(function(e,t){var o=l(t),n=r?a(o):o.attr(a);n&&(o.attr("src",n),i=!0)}),i&&void 0!==l(this).attr("preload")&&"none"!=l(this).attr("preload")&&this.load(),l(this).removeClass("lazy-hidden")}),l(document).on("lazyshow","embed",function(e,t){l(this).removeClass("lazy-hidden")})}(window.jQuery||window.Zepto||window.$); -------------------------------------------------------------------------------- /assets/js/jquery.lazyloadxt.srcset.js: -------------------------------------------------------------------------------- 1 | /*! Lazy Load XT v1.1.0 2016-01-12 2 | * http://ressio.github.io/lazy-load-xt 3 | * (C) 2016 RESS.io 4 | * Licensed under MIT */ 5 | 6 | (function ($, window, document, undefined) { 7 | var options = $.lazyLoadXT, 8 | srcsetSupport = (function () { 9 | return 'srcset' in (new Image()); 10 | })(), 11 | reUrl = /^\s*(\S*)/, 12 | reWidth = /\S\s+(\d+)w/, 13 | reHeight = /\S\s+(\d+)h/, 14 | reDpr = /\S\s+([\d\.]+)x/, 15 | infty = [0, Infinity], 16 | one = [0, 1], 17 | srcsetOptions = { 18 | srcsetAttr: 'data-srcset', 19 | srcsetExtended: true, 20 | srcsetBaseAttr: 'data-srcset-base', 21 | srcsetExtAttr: 'data-srcset-ext' 22 | }, 23 | viewport = { 24 | w: 0, 25 | h: 0, 26 | x: 0 27 | }, 28 | property, 29 | limit; 30 | 31 | for (property in srcsetOptions) { 32 | if (options[property] === undefined) { 33 | options[property] = srcsetOptions[property]; 34 | } 35 | } 36 | options.selector += ',img[' + options.srcsetAttr + '],source[' + options.srcsetAttr + ']'; 37 | 38 | function mathFilter(array, action) { 39 | return Math[action].apply(null, $.map(array, function (item) { 40 | return item[property]; 41 | })); 42 | } 43 | 44 | function compareMax(item) { 45 | return item[property] >= viewport[property] || item[property] === limit; 46 | } 47 | 48 | function compareMin(item) { 49 | return item[property] === limit; 50 | } 51 | 52 | function parseSrcset($el) { 53 | var srcset = $el.attr(options.srcsetAttr); 54 | 55 | if (!srcset) { 56 | return false; 57 | } 58 | 59 | var list = $.map(srcset.replace(/(\s[\d.]+[whx]),/g, '$1 @,@ ').split(' @,@ '), function (item) { 60 | return { 61 | url: reUrl.exec(item)[1], 62 | w: parseFloat((reWidth.exec(item) || infty)[1]), 63 | h: parseFloat((reHeight.exec(item) || infty)[1]), 64 | x: parseFloat((reDpr.exec(item) || one)[1]) 65 | }; 66 | }); 67 | 68 | if (!list.length) { 69 | return false; 70 | } 71 | 72 | var documentElement = document.documentElement, 73 | whx, 74 | src; 75 | 76 | viewport = { 77 | w: window.innerWidth || documentElement.clientWidth, 78 | h: window.innerHeight || documentElement.clientHeight, 79 | x: window.devicePixelRatio || 1 80 | }; 81 | 82 | // Notice for DOMtastic users: currently $.grep method is not implemented in DOMtastic 83 | 84 | for (whx in viewport) { 85 | property = whx; 86 | limit = mathFilter(list, 'max'); 87 | list = $.grep(list, compareMax); 88 | } 89 | 90 | for (whx in viewport) { 91 | property = whx; 92 | limit = mathFilter(list, 'min'); 93 | list = $.grep(list, compareMin); 94 | } 95 | 96 | src = list[0].url; 97 | 98 | if (options.srcsetExtended) { 99 | src = ($el.attr(options.srcsetBaseAttr) || '') + src + ($el.attr(options.srcsetExtAttr) || ''); 100 | } 101 | 102 | return src; 103 | } 104 | 105 | $(document).on('lazyshow', 'img', function (e, $el) { 106 | var srcset = $el.attr(options.srcsetAttr); 107 | 108 | if (srcset) { 109 | if (!options.srcsetExtended && srcsetSupport) { 110 | $el.attr('srcset', srcset); 111 | $el.attr('data-srcset', ''); 112 | } else { 113 | $el.lazyLoadXT.srcAttr = parseSrcset; 114 | } 115 | } 116 | }); 117 | 118 | $(document).on('lazyshow', 'source', function (e, $el) { 119 | $(this).removeClass('lazy-hidden'); 120 | 121 | var srcset = $el.attr(options.srcsetAttr); 122 | 123 | if (srcset) { 124 | if (!options.srcsetExtended && srcsetSupport) { 125 | $el.attr('srcset', srcset); 126 | $el.attr('data-srcset', ''); 127 | } else { 128 | $el.lazyLoadXT.srcAttr = parseSrcset; 129 | } 130 | } 131 | }); 132 | 133 | })(window.jQuery || window.Zepto || window.$, window, document); 134 | -------------------------------------------------------------------------------- /assets/js/jquery.lazyloadxt.srcset.min.js: -------------------------------------------------------------------------------- 1 | /* Lazy Load XT 1.1.0 | MIT License */ 2 | !function(t,r,e,s){var n,a,c=t.lazyLoadXT,i="srcset"in new Image,o=/^\s*(\S*)/,d=/\S\s+(\d+)w/,u=/\S\s+(\d+)h/,l=/\S\s+([\d\.]+)x/,x=[0,1/0],w=[0,1],h={srcsetAttr:"data-srcset",srcsetExtended:!0,srcsetBaseAttr:"data-srcset-base",srcsetExtAttr:"data-srcset-ext"},f={w:0,h:0,x:0};for(n in h)void 0===c[n]&&(c[n]=h[n]);function p(r,e){return Math[e].apply(null,t.map(r,function(t){return t[n]}))}function A(t){return t[n]>=f[n]||t[n]===a}function m(t){return t[n]===a}function g(s){var i=s.attr(c.srcsetAttr);if(!i)return!1;var h=t.map(i.replace(/(\s[\d.]+[whx]),/g,"$1 @,@ ").split(" @,@ "),function(t){return{url:o.exec(t)[1],w:parseFloat((d.exec(t)||x)[1]),h:parseFloat((u.exec(t)||x)[1]),x:parseFloat((l.exec(t)||w)[1])}});if(!h.length)return!1;var g,v,y=e.documentElement;for(g in f={w:r.innerWidth||y.clientWidth,h:r.innerHeight||y.clientHeight,x:r.devicePixelRatio||1})n=g,a=p(h,"max"),h=t.grep(h,A);for(g in f)n=g,a=p(h,"min"),h=t.grep(h,m);return v=h[0].url,c.srcsetExtended&&(v=(s.attr(c.srcsetBaseAttr)||"")+v+(s.attr(c.srcsetExtAttr)||"")),v}c.selector+=",img["+c.srcsetAttr+"],source["+c.srcsetAttr+"]",t(e).on("lazyshow","img",function(t,r){var e=r.attr(c.srcsetAttr);e&&(!c.srcsetExtended&&i?(r.attr("srcset",e),r.attr("data-srcset","")):r.lazyLoadXT.srcAttr=g)}),t(e).on("lazyshow","source",function(r,e){t(this).removeClass("lazy-hidden");var s=e.attr(c.srcsetAttr);s&&(!c.srcsetExtended&&i?(e.attr("srcset",s),e.attr("data-srcset","")):e.lazyLoadXT.srcAttr=g)})}(window.jQuery||window.Zepto||window.$,window,document); 3 | -------------------------------------------------------------------------------- /assets/screenshot-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a3rev/a3-lazy-load/7f95753e518933fec124e9b5ec35b585d159a32f/assets/screenshot-1.jpg -------------------------------------------------------------------------------- /classes/class-a3-lazy-load-excludes.php: -------------------------------------------------------------------------------- 1 | __( 'Home Page', 'a3-lazy-load' ), 20 | 'front' => __( 'Front Page', 'a3-lazy-load' ), 21 | 'post' => __( 'Posts', 'a3-lazy-load' ), 22 | 'page' => __( 'Pages', 'a3-lazy-load' ), 23 | 'category' => __( 'Post Categories', 'a3-lazy-load' ), 24 | 'tag' => __( 'Post Tags', 'a3-lazy-load' ), 25 | 'search' => __( 'Search Page', 'a3-lazy-load' ), 26 | 'author' => __( 'Author Pages', 'a3-lazy-load' ), 27 | 'archive' => __( 'Archive Pages', 'a3-lazy-load' ), 28 | ); 29 | 30 | return $objects_list; 31 | } 32 | 33 | public function get_post_types_list() { 34 | 35 | $objects_list = array(); 36 | $post_types = get_post_types( array( 'public' => true, '_builtin' => false ) , 'objects' ); 37 | 38 | if ( $post_types ) { 39 | foreach ( $post_types as $post_type => $post_type_data ) { 40 | $objects_list[$post_type] = '"' . $post_type_data->labels->name . '" Post Type'; 41 | } 42 | } 43 | 44 | return $objects_list; 45 | } 46 | 47 | public function init_global_a3lz_query_vars() { 48 | global $a3lz_query; 49 | 50 | if ( is_home() ) $a3lz_query[ 'is_home' ] = 1; 51 | 52 | if ( is_front_page() ) $a3lz_query[ 'is_front' ] = 1; 53 | 54 | if ( is_search() ) $a3lz_query[ 'is_search' ] = 1; 55 | 56 | if ( is_author() ) $a3lz_query[ 'is_author' ] = 1; 57 | 58 | if ( is_singular( 'post' ) ) $a3lz_query[ 'is_post' ] = 1; 59 | 60 | if ( is_page() ) $a3lz_query[ 'is_page' ] = 1; 61 | 62 | if ( is_category() ) $a3lz_query[ 'is_category' ] = 1; 63 | 64 | if ( is_tag() ) $a3lz_query[ 'is_tag' ] = 1; 65 | 66 | if ( is_archive() && ! is_category() && ! is_tag() && ! is_author() ) $a3lz_query[ 'is_archive' ] = 1; 67 | 68 | // Custom Post Types 69 | $post_types_list = $this->get_post_types_list(); 70 | if ( ! empty( $post_types_list ) ) { 71 | foreach ( $post_types_list as $post_type => $post_type_name ) { 72 | if ( is_singular( $post_type ) ) { 73 | $a3lz_query[ 'is_' . $post_type ] = 1; 74 | break; 75 | } 76 | } 77 | } 78 | 79 | // REST API 80 | if ( ( defined( 'REST_REQUEST' ) && REST_REQUEST ) || ( defined( 'JSON_REQUEST' ) && JSON_REQUEST ) || ( defined( 'WC_API_REQUEST' ) && WC_API_REQUEST ) 81 | ) $a3lz_query[ 'is_rest' ] = 1; 82 | 83 | if ( get_query_var( 'sitemap' ) || get_query_var( 'xsl' ) || get_query_var( 'xml_sitemap' ) ) { 84 | $a3lz_query[ 'is_sitemap' ] = 1; 85 | } elseif ( is_robots() ) { 86 | $a3lz_query[ 'is_robots' ] = 1; 87 | } 88 | 89 | // Reset everything if it's 404 90 | if ( is_404() ) $a3lz_query = array( 'is_404' => 1 ); 91 | 92 | return $a3lz_query; 93 | } 94 | 95 | public function check_excluded() { 96 | 97 | // Check for URI is excluded 98 | $is_excluded = $this->is_uri_excluded( add_query_arg( 'a3lz' , false ) ); 99 | if ( $is_excluded ) { 100 | return true; 101 | } 102 | 103 | // Check for Object is excluded 104 | $is_excluded = $this->is_object_excluded(); 105 | if ( $is_excluded ) { 106 | return true; 107 | } 108 | 109 | return false; 110 | } 111 | 112 | public function is_uri_excluded( $uri ) { 113 | global $a3_lazy_load_global_settings; 114 | 115 | if ( empty( $a3_lazy_load_global_settings[ 'a3l_uris_exclude' ] ) ) { 116 | return false; 117 | } 118 | 119 | $uris_exclude = explode( "\n", $a3_lazy_load_global_settings[ 'a3l_uris_exclude' ] ); 120 | if ( empty( $uris_exclude ) ) { 121 | return false; 122 | } 123 | 124 | $uris_exclude = array_map( 'trim', $uris_exclude ); 125 | 126 | foreach ( $uris_exclude as $expr ) { 127 | if ( '' !== $expr && @preg_match( "~$expr~", $uri ) ) { 128 | return true; 129 | } 130 | } 131 | 132 | return false; 133 | } 134 | 135 | public function is_object_excluded() { 136 | global $a3_lazy_load_global_settings; 137 | 138 | if ( empty( $a3_lazy_load_global_settings[ 'a3l_objects_exclude' ] ) ) { 139 | return false; 140 | } 141 | 142 | $objects_exclude = $a3_lazy_load_global_settings[ 'a3l_objects_exclude' ]; 143 | 144 | global $a3lz_query; 145 | if ( empty( $a3lz_query ) ) { 146 | $a3lz_query = $this->init_global_a3lz_query_vars(); 147 | } 148 | 149 | $objects_list = $this->get_hard_objects_list(); 150 | $post_types_list = $this->get_post_types_list(); 151 | $objects_list = array_merge( $objects_list, $post_types_list ); 152 | 153 | if ( ! empty( $objects_list ) ) { 154 | foreach ( $objects_list as $object_key => $object_name ) { 155 | if ( isset( $objects_exclude[ $object_key ] ) && 1 == $objects_exclude[ $object_key ] && isset( $a3lz_query[ 'is_' . $object_key ] ) ) return true; 156 | } 157 | } 158 | 159 | if ( isset( $a3lz_query[ 'is_404' ] ) || isset( $a3lz_query[ 'is_rest' ] ) || isset( $a3lz_query[ 'is_sitemap' ] ) || isset( $a3lz_query[ 'is_robots' ] ) ) { 160 | return true; 161 | } 162 | 163 | return false; 164 | } 165 | 166 | public function has_skip_lazy_attribute( $html ) { 167 | $has_skip_lazy = false; 168 | 169 | if ( stristr( $html, ' data-skip-lazy ' ) !== false || stristr( $html, ' data-skip-lazy=' ) !== false || stristr( $html, ' data-skip-lazy/>' ) !== false || stristr( $html, ' data-skip-lazy>' ) !== false ) { 170 | $has_skip_lazy = true; 171 | } 172 | 173 | return $has_skip_lazy; 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /classes/class-a3-lazy-load-filter.php: -------------------------------------------------------------------------------- 1 | '; 21 | $boxes[] = array( 22 | 'content' => $support_box, 23 | 'css' => 'border: none; padding: 0; background: none;' 24 | ); 25 | 26 | $first_box = ''; 27 | 28 | $boxes[] = array( 29 | 'content' => $first_box, 30 | 'css' => 'border: none; padding: 0; background: none;' 31 | ); 32 | 33 | $second_box = ''; 34 | 35 | $boxes[] = array( 36 | 'content' => $second_box, 37 | 'css' => 'border: none; padding: 0; background: none;' 38 | ); 39 | 40 | $third_box = '
' . __('Is this plugin is just what you needed? If so', 'a3-lazy-load' ) . '
'; 41 | $third_box .= ''; 42 | 43 | $boxes[] = array( 44 | 'content' => $third_box, 45 | 'css' => 'border: none; padding: 0; background: none;' 46 | ); 47 | 48 | $four_box = '
' . __('Connect with us via','a3-lazy-load' ) . '
'; 49 | $four_box .= ' '; 50 | $four_box .= ''; 51 | 52 | $boxes[] = array( 53 | 'content' => $four_box, 54 | 'css' => 'border-color: #3a5795;' 55 | ); 56 | 57 | return $boxes; 58 | } 59 | 60 | public static function plugin_extra_links($links, $plugin_name) { 61 | if ( $plugin_name != A3_LAZY_LOAD_NAME) { 62 | return $links; 63 | } 64 | $links[] = ''.__('Support', 'a3-lazy-load' ).''; 65 | return $links; 66 | } 67 | 68 | public static function settings_plugin_links( $actions ) { 69 | $actions = array_merge( array( 'settings' => '' . __( 'Settings', 'a3-lazy-load' ) . '' ), $actions ); 70 | 71 | return $actions; 72 | } 73 | 74 | } 75 | -------------------------------------------------------------------------------- /classes/classes-backwards-compatibility.php: -------------------------------------------------------------------------------- 1 | 2 | 16 | -------------------------------------------------------------------------------- /includes/updates/a3-lazy-load-update-1.1.0.php: -------------------------------------------------------------------------------- 1 | $baseDir . '/classes/class-a3-lazy-load.php', 10 | 'A3Rev\\LazyLoad\\Addons' => $baseDir . '/classes/addons/class-a3-lazy-load-addons-page.php', 11 | 'A3Rev\\LazyLoad\\Excludes' => $baseDir . '/classes/class-a3-lazy-load-excludes.php', 12 | 'A3Rev\\LazyLoad\\FrameWork\\Admin_Init' => $baseDir . '/admin/admin-init.php', 13 | 'A3Rev\\LazyLoad\\FrameWork\\Admin_Interface' => $baseDir . '/admin/admin-interface.php', 14 | 'A3Rev\\LazyLoad\\FrameWork\\Admin_UI' => $baseDir . '/admin/admin-ui.php', 15 | 'A3Rev\\LazyLoad\\FrameWork\\Fonts_Face' => $baseDir . '/admin/includes/fonts_face.php', 16 | 'A3Rev\\LazyLoad\\FrameWork\\Less_Sass' => $baseDir . '/admin/less/sass.php', 17 | 'A3Rev\\LazyLoad\\FrameWork\\Pages\\Settings' => $baseDir . '/admin/admin-pages/admin-settings-page.php', 18 | 'A3Rev\\LazyLoad\\FrameWork\\Settings\\Global_Panel' => $baseDir . '/admin/settings/template-settings/global-settings.php', 19 | 'A3Rev\\LazyLoad\\FrameWork\\Tabs\\Global_Settings' => $baseDir . '/admin/tabs/template-settings/global-settings-tab.php', 20 | 'A3Rev\\LazyLoad\\FrameWork\\Uploader' => $baseDir . '/admin/includes/uploader/class-uploader.php', 21 | 'A3Rev\\LazyLoad\\Hook_Filter' => $baseDir . '/classes/class-a3-lazy-load-filter.php', 22 | ); 23 | -------------------------------------------------------------------------------- /vendor/composer/autoload_namespaces.php: -------------------------------------------------------------------------------- 1 | array($baseDir . '/classes', $baseDir . '/admin'), 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/composer/autoload_real.php: -------------------------------------------------------------------------------- 1 | = 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); 27 | if ($useStaticLoader) { 28 | require_once __DIR__ . '/autoload_static.php'; 29 | 30 | call_user_func(\Composer\Autoload\ComposerStaticInit77a467d5323ba7825007e91ddb8ae762::getInitializer($loader)); 31 | } else { 32 | $map = require __DIR__ . '/autoload_namespaces.php'; 33 | foreach ($map as $namespace => $path) { 34 | $loader->set($namespace, $path); 35 | } 36 | 37 | $map = require __DIR__ . '/autoload_psr4.php'; 38 | foreach ($map as $namespace => $path) { 39 | $loader->setPsr4($namespace, $path); 40 | } 41 | 42 | $classMap = require __DIR__ . '/autoload_classmap.php'; 43 | if ($classMap) { 44 | $loader->addClassMap($classMap); 45 | } 46 | } 47 | 48 | $loader->register(true); 49 | 50 | return $loader; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /vendor/composer/autoload_static.php: -------------------------------------------------------------------------------- 1 | 11 | array ( 12 | 'A3Rev\\' => 6, 13 | ), 14 | ); 15 | 16 | public static $prefixDirsPsr4 = array ( 17 | 'A3Rev\\' => 18 | array ( 19 | 0 => __DIR__ . '/../..' . '/classes', 20 | 1 => __DIR__ . '/../..' . '/admin', 21 | ), 22 | ); 23 | 24 | public static $classMap = array ( 25 | 'A3Rev\\LazyLoad' => __DIR__ . '/../..' . '/classes/class-a3-lazy-load.php', 26 | 'A3Rev\\LazyLoad\\Addons' => __DIR__ . '/../..' . '/classes/addons/class-a3-lazy-load-addons-page.php', 27 | 'A3Rev\\LazyLoad\\Excludes' => __DIR__ . '/../..' . '/classes/class-a3-lazy-load-excludes.php', 28 | 'A3Rev\\LazyLoad\\FrameWork\\Admin_Init' => __DIR__ . '/../..' . '/admin/admin-init.php', 29 | 'A3Rev\\LazyLoad\\FrameWork\\Admin_Interface' => __DIR__ . '/../..' . '/admin/admin-interface.php', 30 | 'A3Rev\\LazyLoad\\FrameWork\\Admin_UI' => __DIR__ . '/../..' . '/admin/admin-ui.php', 31 | 'A3Rev\\LazyLoad\\FrameWork\\Fonts_Face' => __DIR__ . '/../..' . '/admin/includes/fonts_face.php', 32 | 'A3Rev\\LazyLoad\\FrameWork\\Less_Sass' => __DIR__ . '/../..' . '/admin/less/sass.php', 33 | 'A3Rev\\LazyLoad\\FrameWork\\Pages\\Settings' => __DIR__ . '/../..' . '/admin/admin-pages/admin-settings-page.php', 34 | 'A3Rev\\LazyLoad\\FrameWork\\Settings\\Global_Panel' => __DIR__ . '/../..' . '/admin/settings/template-settings/global-settings.php', 35 | 'A3Rev\\LazyLoad\\FrameWork\\Tabs\\Global_Settings' => __DIR__ . '/../..' . '/admin/tabs/template-settings/global-settings-tab.php', 36 | 'A3Rev\\LazyLoad\\FrameWork\\Uploader' => __DIR__ . '/../..' . '/admin/includes/uploader/class-uploader.php', 37 | 'A3Rev\\LazyLoad\\Hook_Filter' => __DIR__ . '/../..' . '/classes/class-a3-lazy-load-filter.php', 38 | ); 39 | 40 | public static function getInitializer(ClassLoader $loader) 41 | { 42 | return \Closure::bind(function () use ($loader) { 43 | $loader->prefixLengthsPsr4 = ComposerStaticInit77a467d5323ba7825007e91ddb8ae762::$prefixLengthsPsr4; 44 | $loader->prefixDirsPsr4 = ComposerStaticInit77a467d5323ba7825007e91ddb8ae762::$prefixDirsPsr4; 45 | $loader->classMap = ComposerStaticInit77a467d5323ba7825007e91ddb8ae762::$classMap; 46 | 47 | }, null, ClassLoader::class); 48 | } 49 | } 50 | --------------------------------------------------------------------------------