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