PluginProbe
UiCore Elements – Free widgets and templates for Elementor / 1.3.17
UiCore Elements – Free widgets and templates for Elementor v1.3.17
1.3.17 1.3.16 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 All 41 releases
← All changes | includes/class-assets.php +149 -43 1.0.51.3.17 View file →
@@ -1,19 +1,24 @@
1 1 <?php
2 +
2 3 namespace UiCoreElements;
3 4
5 +use Elementor\Plugin;
6 +
4 7 /**
5 8 * Scripts and Styles Class
6 9 */
7 -class Assets {
10 +class Assets
11 +{
8 12
9 - function __construct() {
10 - if ( is_admin() ) {
11 - add_action( 'admin_enqueue_scripts', [ $this, 'register' ], 5 );
13 + function __construct()
14 + {
15 + if (is_admin()) {
16 + add_action('admin_enqueue_scripts', [$this, 'register'], 5);
17 + add_action('elementor/editor/after_enqueue_scripts', [$this, 'enqueue'], 5);
12 18 } else {
13 - add_action( 'wp_enqueue_scripts', [ $this, 'register' ], 5 );
19 + add_action('wp_enqueue_scripts', [$this, 'register'], 5);
14 20 }
15 - add_action( 'elementor/editor/after_enqueue_scripts', [ $this, 'register' ], 1 );
16 21 }
17 22
18 23 /**
19 24 * Register our app scripts and styles
@@ -19,14 +24,27 @@
19 24 * Register our app scripts and styles
20 25 *
21 26 * @return void
22 27 */
23 - public function register() {
24 - $this->register_scripts( $this->get_scripts() );
25 - $this->register_styles( $this->get_styles() );
28 + public function register()
29 + {
30 + $this->register_scripts($this->get_scripts());
31 + $this->register_styles($this->get_styles());
26 32 }
27 33
28 34 /**
35 + * Enqueue our app scripts directly in the Elementor editor
36 + *
37 + * @return void
38 + */
39 + public function enqueue()
40 + {
41 + if (Plugin::instance()->editor->is_edit_mode()) {
42 + wp_enqueue_script('ui-nested-elements', UICORE_ELEMENTS_ASSETS . '/js/components/nested-elements.js', ['nested-elements', 'elementor-editor', 'elementor-common'], UICORE_ELEMENTS_VERSION, true);
43 + }
44 + }
45 +
46 + /**
29 47 * Register scripts
30 48 *
31 49 * @param array $scripts
32 50 *
@@ -31,15 +49,16 @@
31 49 * @param array $scripts
32 50 *
33 51 * @return void
34 52 */
35 - private function register_scripts( $scripts ) {
36 - foreach ( $scripts as $handle => $script ) {
37 - $deps = isset( $script['deps'] ) ? $script['deps'] : false;
38 - $in_footer = isset( $script['in_footer'] ) ? $script['in_footer'] : false;
39 - $version = isset( $script['version'] ) ? $script['version'] : UICORE_ELEMENTS_VERSION;
53 + private function register_scripts($scripts)
54 + {
55 + foreach ($scripts as $handle => $script) {
56 + $deps = isset($script['deps']) ? $script['deps'] : false;
57 + $in_footer = isset($script['in_footer']) ? $script['in_footer'] : false;
58 + $version = isset($script['version']) ? $script['version'] : UICORE_ELEMENTS_VERSION;
40 59
41 - wp_register_script( $handle, $script['src'], $deps, $version, $in_footer );
60 + wp_register_script($handle, $script['src'], $deps, $version, $in_footer);
42 61 }
43 62 }
44 63
45 64 /**
@@ -48,13 +67,14 @@
48 67 * @param array $styles
49 68 *
50 69 * @return void
51 70 */
52 - public function register_styles( $styles ) {
53 - foreach ( $styles as $handle => $style ) {
54 - $deps = isset( $style['deps'] ) ? $style['deps'] : false;
71 + public function register_styles($styles)
72 + {
73 + foreach ($styles as $handle => $style) {
74 + $deps = isset($style['deps']) ? $style['deps'] : false;
55 75
56 - wp_register_style( $handle, $style['src'], $deps, UICORE_ELEMENTS_VERSION );
76 + wp_register_style($handle, $style['src'], $deps, UICORE_ELEMENTS_VERSION);
57 77 }
58 78 }
59 79
60 80 /**
@@ -61,13 +81,14 @@
61 81 * Get all registered scripts
62 82 *
63 83 * @return array
64 84 */
65 - public function get_scripts() {
66 - $prefix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
85 + public function get_scripts()
86 + {
87 + $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
67 88
68 89 $scripts = [
69 - // libs
90 + // Libs that extend current scripts
70 91 'ui-e-countup' => [
71 92 'src' => UICORE_ELEMENTS_ASSETS . '/js/lib/countUp.umd.js',
72 93 'version' => UICORE_ELEMENTS_VERSION,
73 94 'in_footer' => true
@@ -76,19 +97,31 @@
76 97 'src' => UICORE_ELEMENTS_ASSETS . '/js/lib/odometer.js',
77 98 'version' => UICORE_ELEMENTS_VERSION,
78 99 'in_footer' => true
79 100 ],
80 - // utils
81 - 'ui-e-entrance' => [
82 - 'src' => UICORE_ELEMENTS_ASSETS . '/js/utils/global-entrances.js',
101 + // TODO: update swiper version when loop bug is fixed (last checked on 11.2.6)
102 + 'ui-e-swiper' => [
103 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/lib/swiper.js',
104 + 'version' => '11.2.1-ui',
105 + 'in_footer' => true
106 + ],
107 + 'ui-e-special-effects' => [
108 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/lib/carousel-effects/special-effects.js',
83 109 'version' => UICORE_ELEMENTS_VERSION,
84 110 'in_footer' => true
85 111 ],
86 - 'ui-e-ajax-request' => [
87 - 'src' => UICORE_ELEMENTS_ASSETS . '/js/utils/ajax-request.js',
112 + 'ui-e-circular-avatar-carousel' => [
113 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/lib/carousel-effects/circular_avatar.js',
88 114 'version' => UICORE_ELEMENTS_VERSION,
89 115 'in_footer' => true
90 116 ],
117 + 'ui-e-stacked-carousel' => [
118 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/lib/carousel-effects/stacked.js',
119 + 'version' => UICORE_ELEMENTS_VERSION,
120 + 'in_footer' => true
121 + ],
122 +
123 + // Utils and non-compiled assets
91 124 'ui-e-recaptcha' => [
92 125 'src' => 'https://www.google.com/recaptcha/api.js?render=explicit',
93 126 'version' => UICORE_ELEMENTS_VERSION,
94 127 'in_footer' => false
@@ -97,26 +130,48 @@
97 130 'src' => 'https://www.google.com/recaptcha/api.js?render=' . get_option('uicore_elements_recaptcha_site_key'),
98 131 'version' => UICORE_ELEMENTS_VERSION,
99 132 'in_footer' => false
100 133 ],
101 - 'ui-e-repeater-custom-key' => [
102 - 'src' => UICORE_ELEMENTS_ASSETS . '/js/utils/repeater-custom-key.js',
134 +
135 + // Components compiled for enqueue
136 + 'ui-e-entrance' => [
137 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/global-entrances.js',
103 138 'version' => UICORE_ELEMENTS_VERSION,
104 139 'in_footer' => true
105 140 ],
106 - // components
141 + 'ui-e-masonry' => [
142 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/global-masonry.js',
143 + 'version' => UICORE_ELEMENTS_VERSION,
144 + 'in_footer' => true
145 + ],
146 + 'ui-e-ajax-request' => [
147 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/ajax-request.js',
148 + 'version' => UICORE_ELEMENTS_VERSION,
149 + 'in_footer' => true
150 + ],
107 151 'ui-e-counter' => [
108 - 'src' => UICORE_ELEMENTS_ASSETS . '/js/utils/global-counter.js',
152 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/global-counter.js',
109 153 'version' => UICORE_ELEMENTS_VERSION,
110 154 'deps' => ['ui-e-countup'],
111 155 'in_footer' => true
112 156 ],
113 157 'ui-e-carousel' => [
114 - 'src' => UICORE_ELEMENTS_ASSETS . '/js/utils/global-carousel.js',
158 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/global-carousel.js',
115 159 'version' => UICORE_ELEMENTS_VERSION,
116 - 'deps' => ['elementor-frontend'],
160 + 'deps' => ['ui-e-swiper'],
117 161 'in_footer' => true
118 162 ],
163 + 'ui-e-repeater-custom-key' => [
164 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/repeater-custom-key.js',
165 + 'version' => UICORE_ELEMENTS_VERSION,
166 + 'in_footer' => true
167 + ],
168 + 'ui-e-testimonial' => [
169 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/global-testimonial.js',
170 + 'version' => UICORE_ELEMENTS_VERSION,
171 + 'in_footer' => true
172 + ],
173 +
119 174 ];
120 175
121 176 return $scripts;
122 177 }
@@ -125,25 +180,76 @@
125 180 * Get registered styles
126 181 *
127 182 * @return array
128 183 */
129 - public function get_styles() {
184 + public function get_styles()
185 + {
130 186
187 + // Singular files widgets may enqueue
131 188 $styles = [
189 + // Animation related
132 190 'ui-e-animation' => [
133 - 'src' => UICORE_ELEMENTS_ASSETS . '/css/utils/global-animations.css'
191 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/global-animations.css'
134 192 ],
135 193 'ui-e-entrance' => [
136 - 'src' => UICORE_ELEMENTS_ASSETS . '/css/utils/global-entrances.css'
194 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/global-entrances.css'
137 195 ],
138 - // 'uicore_animate-settings' => [
139 - // 'src' => UICORE_ELEMENTS_ASSETS . '/css/settings.css'
140 - // ],
141 - // 'uicore_animate-admin' => [
142 - // 'src' => UICORE_ELEMENTS_ASSETS . '/css/admin.css'
143 - // ],
196 +
197 + // Layout related
198 + 'ui-e-grid' => [
199 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/grid.css'
200 + ],
201 + 'ui-e-legacy-grid' => [
202 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/legacy-grid.css'
203 + ],
204 + 'ui-e-carousel' => [
205 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/carousel.css',
206 + 'deps' => ['swiper', 'e-swiper'],
207 + ],
208 +
209 + // Specifics
210 + 'ui-e-post-meta' => [
211 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/meta.css'
212 + ],
213 + 'ui-e-filters' => [
214 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/filters.css'
215 + ],
216 + 'ui-e-counter-motion' => [
217 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/counter-motion.css'
218 + ],
219 +
220 + // Advanced Menu
221 + 'ui-e-advanced-menu-editor' => [
222 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/advanced-menu/editor.css'
223 + ],
224 + 'ui-e-advanced-menu-fullscreen-layout' => [
225 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/advanced-menu/fullscreen-layout.css'
226 + ],
227 + 'ui-e-advanced-menu-website-blur' => [
228 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/advanced-menu/website-blur.css'
229 + ],
230 + 'ui-e-advanced-menu-canvas-dropdown-expand' => [
231 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/advanced-menu/canvas-expand.css'
232 + ],
233 + 'ui-e-advanced-menu-canvas-dropdown-slide' => [
234 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/advanced-menu/canvas-slide.css'
235 + ],
236 + 'ui-e-advanced-menu-hover-underline' => [
237 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/advanced-menu/hover-underline.css'
238 + ],
239 + 'ui-e-advanced-menu-hover-button' => [
240 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/advanced-menu/hover-button.css'
241 + ],
242 + 'ui-e-advanced-menu-hover-magnet' => [
243 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/advanced-menu/hover-magnet.css'
244 + ],
245 + 'ui-e-advanced-menu-hover-focus' => [
246 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/advanced-menu/hover-focus.css'
247 + ],
248 + 'ui-e-advanced-menu-hover-text_flip' => [
249 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/advanced-menu/hover-text-flip.css'
250 + ],
144 251 ];
145 252
146 253 return $styles;
147 254 }
148 -
149 255 }