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 +158 -42 1.0.41.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,37 +97,81 @@
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
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',
109 + 'version' => UICORE_ELEMENTS_VERSION,
110 + 'in_footer' => true
111 + ],
112 + 'ui-e-circular-avatar-carousel' => [
113 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/lib/carousel-effects/circular_avatar.js',
114 + 'version' => UICORE_ELEMENTS_VERSION,
115 + 'in_footer' => true
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
124 + 'ui-e-recaptcha' => [
125 + 'src' => 'https://www.google.com/recaptcha/api.js?render=explicit',
126 + 'version' => UICORE_ELEMENTS_VERSION,
127 + 'in_footer' => false
128 + ],
129 + 'ui-e-recaptcha-v3' => [
130 + 'src' => 'https://www.google.com/recaptcha/api.js?render=' . get_option('uicore_elements_recaptcha_site_key'),
131 + 'version' => UICORE_ELEMENTS_VERSION,
132 + 'in_footer' => false
133 + ],
134 +
135 + // Components compiled for enqueue
81 136 'ui-e-entrance' => [
82 - 'src' => UICORE_ELEMENTS_ASSETS . '/js/utils/global-entrances.js',
137 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/global-entrances.js',
83 138 'version' => UICORE_ELEMENTS_VERSION,
84 139 'in_footer' => true
85 140 ],
141 + 'ui-e-masonry' => [
142 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/global-masonry.js',
143 + 'version' => UICORE_ELEMENTS_VERSION,
144 + 'in_footer' => true
145 + ],
86 146 'ui-e-ajax-request' => [
87 - 'src' => UICORE_ELEMENTS_ASSETS . '/js/utils/ajax-request.js',
147 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/ajax-request.js',
88 148 'version' => UICORE_ELEMENTS_VERSION,
89 149 'in_footer' => true
90 150 ],
91 - // components
92 151 'ui-e-counter' => [
93 - 'src' => UICORE_ELEMENTS_ASSETS . '/js/utils/global-counter.js',
152 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/global-counter.js',
94 153 'version' => UICORE_ELEMENTS_VERSION,
95 154 'deps' => ['ui-e-countup'],
96 155 'in_footer' => true
97 156 ],
98 - 'ui-e-testimonial' => [
99 - 'src' => UICORE_ELEMENTS_ASSETS . '/js/utils/global-testimonial.js',
157 + 'ui-e-carousel' => [
158 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/global-carousel.js',
100 159 'version' => UICORE_ELEMENTS_VERSION,
160 + 'deps' => ['ui-e-swiper'],
101 161 'in_footer' => true
102 162 ],
103 - 'ui-e-carousel' => [
104 - 'src' => UICORE_ELEMENTS_ASSETS . '/js/utils/global-carousel.js',
163 + 'ui-e-repeater-custom-key' => [
164 + 'src' => UICORE_ELEMENTS_ASSETS . '/js/components/repeater-custom-key.js',
105 165 'version' => UICORE_ELEMENTS_VERSION,
106 - 'deps' => ['elementor-frontend'],
107 166 'in_footer' => true
108 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 +
109 174 ];
110 175
111 176 return $scripts;
112 177 }
@@ -115,25 +180,76 @@
115 180 * Get registered styles
116 181 *
117 182 * @return array
118 183 */
119 - public function get_styles() {
184 + public function get_styles()
185 + {
120 186
187 + // Singular files widgets may enqueue
121 188 $styles = [
189 + // Animation related
122 190 'ui-e-animation' => [
123 - 'src' => UICORE_ELEMENTS_ASSETS . '/css/utils/global-animations.css'
191 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/global-animations.css'
124 192 ],
125 193 'ui-e-entrance' => [
126 - 'src' => UICORE_ELEMENTS_ASSETS . '/css/utils/global-entrances.css'
194 + 'src' => UICORE_ELEMENTS_ASSETS . '/css/components/global-entrances.css'
127 195 ],
128 - // 'uicore_animate-settings' => [
129 - // 'src' => UICORE_ELEMENTS_ASSETS . '/css/settings.css'
130 - // ],
131 - // 'uicore_animate-admin' => [
132 - // 'src' => UICORE_ELEMENTS_ASSETS . '/css/admin.css'
133 - // ],
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 + ],
134 251 ];
135 252
136 253 return $styles;
137 254 }
138 -
139 255 }