Changeset 2977861
- Timestamp:
- 10/12/2023 12:13:32 AM (2 years ago)
- Location:
- gum-elementor-addon
- Files:
-
- 45 added
- 10 edited
-
tags/1.3.0 (added)
-
tags/1.3.0/css (added)
-
tags/1.3.0/css/index.html (added)
-
tags/1.3.0/css/owl.carousel.css (added)
-
tags/1.3.0/css/style.css (added)
-
tags/1.3.0/gum-elementor-addon.php (added)
-
tags/1.3.0/helper.php (added)
-
tags/1.3.0/index.html (added)
-
tags/1.3.0/js (added)
-
tags/1.3.0/js/allscripts.js (added)
-
tags/1.3.0/js/index.html (added)
-
tags/1.3.0/js/jquery.easing.1.3.js (added)
-
tags/1.3.0/js/jquery.superslides.js (added)
-
tags/1.3.0/js/owl.carousel.min.js (added)
-
tags/1.3.0/js/price-table.js (added)
-
tags/1.3.0/languages (added)
-
tags/1.3.0/languages/gum-elementor-addon.pot (added)
-
tags/1.3.0/languages/index.html (added)
-
tags/1.3.0/readme.txt (added)
-
tags/1.3.0/widgets (added)
-
tags/1.3.0/widgets/accordion.php (added)
-
tags/1.3.0/widgets/blog_grid.php (added)
-
tags/1.3.0/widgets/blog_image.php (added)
-
tags/1.3.0/widgets/blog_lists.php (added)
-
tags/1.3.0/widgets/blog_pagination.php (added)
-
tags/1.3.0/widgets/blog_post_adjacent.php (added)
-
tags/1.3.0/widgets/blog_post_meta.php (added)
-
tags/1.3.0/widgets/blog_post_related.php (added)
-
tags/1.3.0/widgets/blog_post_share.php (added)
-
tags/1.3.0/widgets/blog_term.php (added)
-
tags/1.3.0/widgets/button.php (added)
-
tags/1.3.0/widgets/carousel_ibox.php (added)
-
tags/1.3.0/widgets/counter.php (added)
-
tags/1.3.0/widgets/heading.php (added)
-
tags/1.3.0/widgets/icon_list.php (added)
-
tags/1.3.0/widgets/index.html (added)
-
tags/1.3.0/widgets/popover_btn.php (added)
-
tags/1.3.0/widgets/post_slider.php (added)
-
tags/1.3.0/widgets/pricetable.php (added)
-
tags/1.3.0/widgets/progress.php (added)
-
tags/1.3.0/widgets/section.php (added)
-
tags/1.3.0/widgets/site_navigation.php (added)
-
tags/1.3.0/widgets/slideshow.php (added)
-
tags/1.3.0/widgets/toggle_period.php (added)
-
tags/1.3.0/widgets/totop_btn.php (added)
-
trunk/css/style.css (modified) (1 diff)
-
trunk/gum-elementor-addon.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/widgets/blog_grid.php (modified) (2 diffs)
-
trunk/widgets/counter.php (modified) (3 diffs)
-
trunk/widgets/icon_list.php (modified) (3 diffs)
-
trunk/widgets/pricetable.php (modified) (13 diffs)
-
trunk/widgets/progress.php (modified) (2 diffs)
-
trunk/widgets/section.php (modified) (18 diffs)
-
trunk/widgets/toggle_period.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
gum-elementor-addon/trunk/css/style.css
r2967404 r2977861 356 356 .elementor-widget-accordion .elementor-accordion-title i,.elementor-widget-accordion .elementor-accordion-title svg{ margin-right: 1em; order: -1;} 357 357 358 /* counter widget */ 359 .elementor-widget-counter.counter-align_left .elementor-counter-number-prefix, 360 .elementor-widget-counter.counter-align_right .elementor-counter-number-suffix, 361 [data-elementor-device-mode=mobile] .elementor-widget-counter.counter-mobile-align_left .elementor-counter-number-prefix, 362 [data-elementor-device-mode=tablet] .elementor-widget-counter.counter-tablet-align_left .elementor-counter-number-prefix, 363 [data-elementor-device-mode=mobile] .elementor-widget-counter.counter-mobile-align_right .elementor-counter-number-suffix, 364 [data-elementor-device-mode=tablet] .elementor-widget-counter.counter-tablet-align_right .elementor-counter-number-suffix{ flex-grow:0;} 365 [data-elementor-device-mode=mobile] .elementor-widget-counter.counter-mobile-align_center .elementor-counter-number-suffix, 366 [data-elementor-device-mode=tablet] .elementor-widget-counter.counter-tablet-align_center .elementor-counter-number-suffix, 367 [data-elementor-device-mode=mobile] .elementor-widget-counter.counter-mobile-align_left .elementor-counter-number-suffix, 368 [data-elementor-device-mode=tablet] .elementor-widget-counter.counter-tablet-align_left .elementor-counter-number-suffix, 369 [data-elementor-device-mode=mobile] .elementor-widget-counter.counter-mobile-align_center .elementor-counter-number-prefix, 370 [data-elementor-device-mode=tablet] .elementor-widget-counter.counter-tablet-align_center .elementor-counter-number-prefix, 371 [data-elementor-device-mode=mobile] .elementor-widget-counter.counter-mobile-align_right .elementor-counter-number-prefix, 372 [data-elementor-device-mode=tablet] .elementor-widget-counter.counter-tablet-align_right .elementor-counter-number-prefix{ flex-grow:1;} 373 374 358 375 /* headig widget */ 359 376 .elementor-widget-gum_heading .section-main-title{ position: relative;z-index: 1;} -
gum-elementor-addon/trunk/gum-elementor-addon.php
r2967404 r2977861 5 5 * Plugin URI: http://themegum.com/ 6 6 * Description: Addon widget for Elementor. Slideshow, pricing table, icon list, recent post, blog term, post term, post share, post meta, post related, post adjacent, blog grid, post slider,navigation menu, image box, popover and to top button 7 * Version: 1. 2.267 * Version: 1.3.0 8 8 * Author: TemeGUM 9 9 * Author URI: http://themegum.com … … 11 11 * Text Domain: gum-elementor-addon 12 12 * Requires at least: 3.7 13 * Tested up to: 6. 1.114 * Elementor tested up to: 3.1 5.213 * Tested up to: 6.3.1 14 * Elementor tested up to: 3.16.4 15 15 */ 16 16 -
gum-elementor-addon/trunk/readme.txt
r2967404 r2977861 4 4 Tags: elementor, blog, slideshow, slider, popover, pricing, table, spot, post meta, post related, menu 5 5 Requires at least: 3.7 6 Tested up to: 6. 1.16 Tested up to: 6.3.1 7 7 Requires PHP: 5.0 8 8 Stable tag: 4.4 9 9 License: GPLv3 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-3.0.html 11 12 Addon widget for Elementor. Slideshow, pricing table, popover and special option.13 11 14 12 == Description == … … 70 68 5. Three colors heading 71 69 72 73 70 == Changelog == 71 = 1.3.0 = 72 * Improvement: Compatible with flex container widget 73 74 = 1.2.27 = 75 * Improvement: Adding title vertical margin ( native progress bar widget ) 76 * Improvement: Adding counter align option ( native counter widget ) 77 74 78 = 1.2.26 = 75 79 * Bug Fixing: Related post widget -
gum-elementor-addon/trunk/widgets/blog_grid.php
r2967404 r2977861 2204 2204 2205 2205 $this->add_responsive_control( 2206 'meta_list_margin', 2207 [ 2208 'label' => esc_html__( 'Margin', 'gum-elementor-addon' ), 2209 'type' => Controls_Manager::DIMENSIONS, 2210 'size_units' => [ 'px', '%', 'em' ], 2211 'placeholder' => [ 2212 'top' => '', 2213 'right' => '', 2214 'bottom' => '', 2215 'left' => '', 2216 ], 2217 'selectors' => [ 2218 '{{WRAPPER}} .posts-meta' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', 2219 ], 2220 ] 2221 ); 2222 2223 $this->add_responsive_control( 2206 2224 'meta_list_padding', 2207 2225 [ … … 2370 2388 [ 2371 2389 'name' => 'typography_datemeta', 2372 'label' =>' sdsd',2390 'label' =>'Typography', 2373 2391 'selector' => '{{WRAPPER}} .list-meta.date_meta a,{{WRAPPER}} .list-meta.date_meta .meta-text', 2374 2392 ] -
gum-elementor-addon/trunk/widgets/counter.php
r2822754 r2977861 19 19 add_action( 'elementor/element/counter/section_title/after_section_end', array( $this, 'register_section_title_controls') , 999 ); 20 20 21 add_action( 'elementor/element/counter/section_counter/after_section_end', array( $this, 'register_section_counter_controls') , 999 ); 21 22 } 22 23 … … 60 61 $element->end_injection(); 61 62 62 63 63 } 64 64 65 65 public function register_section_number_controls( Controls_Stack $element ) { 66 67 66 68 67 $element->start_injection( [ … … 82 81 } 83 82 83 public function register_section_counter_controls( Controls_Stack $element ){ 84 85 $element->start_injection( [ 86 'of' => 'section_counter', 87 ] ); 88 89 90 $element->add_responsive_control( 91 'section_counter_align', 92 [ 93 'label' => esc_html__( 'Align', 'gum-elementor-addon' ), 94 'type' => Controls_Manager::CHOOSE, 95 'options' => [ 96 'left' => [ 97 'title' => esc_html__( 'Left', 'gum-elementor-addon' ), 98 'icon' => 'eicon-h-align-left', 99 ], 100 'center' => [ 101 'title' => esc_html__( 'Center', 'gum-elementor-addon' ), 102 'icon' => 'eicon-h-align-center', 103 ], 104 'right' => [ 105 'title' => esc_html__( 'Right', 'gum-elementor-addon' ), 106 'icon' => 'eicon-h-align-right', 107 ], 108 ], 109 'default' => '', 110 'prefix_class' => 'counter%s-align_', 111 'selectors' => [ 112 '{{WRAPPER}} .elementor-counter-title' => 'text-align: {{VALUE}};', 113 ], 114 ] 115 ); 116 117 $element->end_injection(); 118 } 119 84 120 } 85 121 -
gum-elementor-addon/trunk/widgets/icon_list.php
r2964684 r2977861 237 237 '{{WRAPPER}} .elementor-image-box-title' => 'margin-bottom: {{SIZE}}{{UNIT}};margin-top: 0;', 238 238 ], 239 ] 240 ); 239 'condition' => [ 240 'title_inline[value]!' => 'inline', 241 ], 242 ] 243 ); 244 245 $element->start_injection( [ 246 'of' => 'title_bottom_space', 247 ] ); 248 249 $element->add_responsive_control( 250 'title_right_space', 251 [ 252 'label' => esc_html__( 'Spacing', 'gum-elementor-addon' ), 253 'type' => Controls_Manager::SLIDER, 254 'range' => [ 255 'px' => [ 256 'min' => 0, 257 'max' => 100, 258 ], 259 'em' => [ 260 'min' => 0, 261 'max' => 10, 262 ], 263 ], 264 'selectors' => [ 265 '{{WRAPPER}} .elementor-icon-box-title' => 'margin-right: {{SIZE}}{{UNIT}};margin-top: 0;', 266 '{{WRAPPER}} .elementor-image-box-title' => 'margin-right: {{SIZE}}{{UNIT}};margin-top: 0;', 267 ], 268 'size_units' => [ 'px' ,'em' ], 269 'default'=>['size'=>'0.5','unit'=>'em'], 270 'condition' => [ 271 'title_inline[value]' => 'inline', 272 ], 273 ] 274 ); 275 276 $element->end_injection(); 241 277 242 278 … … 245 281 ] ); 246 282 247 248 283 $element->add_control( 249 284 'title_hover_color', 250 285 [ 251 'label' => esc_html__( 'Hover ', 'gum-elementor-addon' ),286 'label' => esc_html__( 'Hover Color', 'gum-elementor-addon' ), 252 287 'type' => Controls_Manager::COLOR, 253 288 'default' => '', … … 420 455 421 456 $element->add_control( 457 'title_inline', 458 [ 459 'label' => esc_html__( 'Title Display', 'gum-elementor-addon' ), 460 'type' => Controls_Manager::SELECT, 461 'options' => [ 462 '' => esc_html__( 'Default', 'gum-elementor-addon' ), 463 'inline' => esc_html__( 'Inline', 'gum-elementor-addon' ), 464 ], 465 'selectors' => [ 466 '{{WRAPPER}} .elementor-icon-box-title,{{WRAPPER}} .elementor-image-box-title' => 'display: {{VALUE}}', 467 '{{WRAPPER}} .elementor-icon-box-description,{{WRAPPER}} .elementor-image-box-description' => 'display: {{VALUE}}', 468 ], 469 ] 470 ); 471 472 $element->add_control( 422 473 'box_strech', 423 474 [ 424 475 'label' => esc_html__( 'Stretch Box', 'gum-elementor-addon' ), 425 476 'type' => Controls_Manager::SWITCHER, 426 'label_on' => esc_html__( ' No', 'gum-elementor-addon' ),427 'label_off' => esc_html__( ' Yes', 'gum-elementor-addon' ),477 'label_on' => esc_html__( 'Yes', 'gum-elementor-addon' ), 478 'label_off' => esc_html__( 'No', 'gum-elementor-addon' ), 428 479 'default' => '', 429 480 'prefix_class' => 'elementor-boxstretch-', -
gum-elementor-addon/trunk/widgets/pricetable.php
r2964684 r2977861 381 381 ); 382 382 383 383 $this->add_control( 384 'show_list', 385 [ 386 'label' => esc_html__( 'Price Items', 'gum-elementor-addon' ), 387 'type' => Controls_Manager::SWITCHER, 388 'label_off' => esc_html__( 'Hide', 'gum-elementor-addon' ), 389 'label_on' => esc_html__( 'Show', 'gum-elementor-addon' ), 390 'default' => 'yes', 391 'style_transfer' => true, 392 ] 393 ); 384 394 385 395 $this->add_control( 386 396 'lists', 387 397 [ 388 'label' => esc_html__( ' PriceItems', 'gum-elementor-addon' ),398 'label' => esc_html__( 'Items', 'gum-elementor-addon' ), 389 399 'type' => Controls_Manager::REPEATER, 390 400 'fields' => $repeater->get_controls(), … … 401 411 ], 402 412 'title_field' => '{{{ list_content }}}', 413 'condition' => ['show_list[value]' => 'yes'], 403 414 ] 404 415 ); … … 1188 1199 'label' => esc_html__( 'Price Items', 'gum-elementor-addon' ), 1189 1200 'tab' => Controls_Manager::TAB_STYLE, 1201 'condition' => ['show_list[value]' => 'yes'], 1190 1202 ] 1191 1203 ); 1204 1205 1206 $this->add_group_control( 1207 Group_Control_Typography::get_type(), 1208 [ 1209 'name' => 'typography_list_title', 1210 'selector' => '{{WRAPPER}} .price-features li', 1211 ] 1212 ); 1192 1213 1193 1214 … … 1217 1238 ] 1218 1239 ); 1219 1220 $this->add_responsive_control( 1221 'table_list_padding', 1222 [ 1223 'label' => esc_html__( 'Padding', 'gum-elementor-addon' ), 1224 'type' => Controls_Manager::DIMENSIONS, 1225 'size_units' => [ 'px', 'em', '%' ], 1226 'selectors' => [ 1227 '{{WRAPPER}} .price-block-inner .price-features' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', 1228 ], 1229 ] 1230 ); 1231 1240 1232 1241 $this->add_responsive_control( 1233 1242 'table_list_align', … … 1281 1290 ); 1282 1291 1292 1293 $this->add_responsive_control( 1294 'table_list_padding', 1295 [ 1296 'label' => esc_html__( 'Padding', 'gum-elementor-addon' ), 1297 'type' => Controls_Manager::DIMENSIONS, 1298 'size_units' => [ 'px', 'em', '%' ], 1299 'selectors' => [ 1300 '{{WRAPPER}} .price-block-inner .price-features' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', 1301 ], 1302 ] 1303 ); 1304 1283 1305 $this->add_group_control( 1284 Group_Control_Typography::get_type(), 1285 [ 1286 'name' => 'typography_list_title', 1287 'selector' => '{{WRAPPER}} .price-features li', 1288 ] 1289 ); 1290 1306 Group_Control_Border::get_type(), 1307 [ 1308 'name' => 'table_list_border', 1309 'selector' => '{{WRAPPER}} .price-block-inner .features', 1310 ] 1311 ); 1312 1313 $this->add_control( 1314 'table_list_radius', 1315 [ 1316 'label' => esc_html__( 'Border Radius', 'month-annual-pricetable-elementor' ), 1317 'type' => Controls_Manager::DIMENSIONS, 1318 'size_units' => [ 'px', '%' ], 1319 'selectors' => [ 1320 '{{WRAPPER}} .price-block-inner .features' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', 1321 ] 1322 ] 1323 ); 1291 1324 1292 1325 … … 1326 1359 ); 1327 1360 1361 $this->add_control( 1362 'list_odd_bgcolor', 1363 [ 1364 'label' => esc_html__( 'Odd Row Background', 'gum-elementor-addon' ), 1365 'type' => Controls_Manager::COLOR, 1366 'default' => '', 1367 'selectors' => [ 1368 '{{WRAPPER}} .price-features li:nth-child(2n)' => 'background-color: {{VALUE}};', 1369 ] 1370 ] 1371 ); 1372 1373 $this->add_control( 1374 'list_even_bgcolor', 1375 [ 1376 'label' => esc_html__( 'Even Row Background', 'gum-elementor-addon' ), 1377 'type' => Controls_Manager::COLOR, 1378 'default' => '', 1379 'selectors' => [ 1380 '{{WRAPPER}} .price-features li:nth-child(2n+1)' => 'background-color: {{VALUE}};', 1381 ] 1382 ] 1383 ); 1328 1384 1329 1385 $this->end_controls_tab(); … … 1350 1406 1351 1407 $this->add_control( 1408 'list_hover_icon_color', 1409 [ 1410 'label' => esc_html__( 'Icon Color', 'gum-elementor-addon' ), 1411 'type' => Controls_Manager::COLOR, 1412 'default' => '', 1413 'selectors' => [ 1414 '{{WRAPPER}} .price-block-inner:hover .price-features li i' => 'color: {{VALUE}};', 1415 ] 1416 ] 1417 ); 1418 1419 1420 $this->add_control( 1352 1421 'list_hover_bgcolor', 1353 1422 [ … … 1361 1430 ); 1362 1431 1363 $this->add_control( 1364 'list_hover_icon_color', 1365 [ 1366 'label' => esc_html__( 'Icon Color', 'gum-elementor-addon' ), 1367 'type' => Controls_Manager::COLOR, 1368 'default' => '', 1369 'selectors' => [ 1370 '{{WRAPPER}} .price-block-inner:hover .price-features li i' => 'color: {{VALUE}};', 1432 1433 $this->add_control( 1434 'list_odd_hover_bgcolor', 1435 [ 1436 'label' => esc_html__( 'Odd Row Background', 'gum-elementor-addon' ), 1437 'type' => Controls_Manager::COLOR, 1438 'default' => '', 1439 'selectors' => [ 1440 '{{WRAPPER}} .price-block-inner:hover .price-features li:nth-child(2n)' => 'background-color: {{VALUE}};', 1441 ] 1442 ] 1443 ); 1444 1445 $this->add_control( 1446 'list_even_hover_bgcolor', 1447 [ 1448 'label' => esc_html__( 'Even Row Background', 'gum-elementor-addon' ), 1449 'type' => Controls_Manager::COLOR, 1450 'default' => '', 1451 'selectors' => [ 1452 '{{WRAPPER}} .price-block-inner:hover .price-features li:nth-child(2n+1)' => 'background-color: {{VALUE}};', 1371 1453 ] 1372 1454 ] … … 1821 1903 1822 1904 extract( $settings ); 1823 1824 if(!count($lists)) return;1825 1905 1826 1906 $allowed_tags = array('h1','h2','h3','h4','h5','h6','div'); … … 1912 1992 1913 1993 $compile .= '</div>'; 1994 1995 if( isset($lists) && count($lists) && $show_list =='yes'){ 1996 1914 1997 $compile .= '<ul class="price-features">'; 1915 1998 … … 1932 2015 1933 2016 $compile .= '</ul>'; 2017 2018 } 1934 2019 1935 2020 if($show_footer=='yes'){ … … 2087 2172 <# } #> 2088 2173 </div> 2174 <# 2175 if ( settings.lists && settings.show_list == 'yes') { #> 2089 2176 <ul class="price-features"> 2090 2177 <# 2091 if ( settings.lists ) {2092 2178 2093 2179 _.each( settings.lists, function( list, index) { … … 2104 2190 } #> 2105 2191 <span {{{ view.getRenderAttributeString( repeater_setting_key ) }}}>{{{ list.list_content }}}</span></li> 2106 <# }); 2107 } 2192 <# }); #> 2193 </ul> 2194 <# } 2108 2195 #> 2109 </ul>2110 2196 <# if ( settings.show_footer =='yes' ){ 2111 2197 -
gum-elementor-addon/trunk/widgets/progress.php
r2760691 r2977861 17 17 18 18 add_action( 'elementor/element/progress/section_progress_style/after_section_end', array( $this, 'register_section_progress_style_controls') , 999 ); 19 20 add_action( 'elementor/element/progress/section_title/after_section_end', array( $this, 'register_section_title_controls') , 999 ); 21 19 22 } 20 23 … … 87 90 $element->end_injection(); 88 91 92 } 93 94 public function register_section_title_controls( Controls_Stack $element ) { 95 96 97 $element->start_injection( [ 98 'of' => 'section_title', 99 ] ); 100 101 $element->add_responsive_control( 102 'section_title_padding', 103 [ 104 'label' => esc_html__( 'Spacing', 'gum-elementor-addon' ), 105 'type' => Controls_Manager::SLIDER, 106 'size_units' => [ 'px', 'em' ], 107 'selectors' => [ 108 '{{WRAPPER}} .elementor-title' => 'margin-bottom: {{SIZE}}{{UNIT}}; display: block;', 109 ] 110 ] 111 ); 112 113 $element->end_injection(); 89 114 90 115 } -
gum-elementor-addon/trunk/widgets/section.php
r2964684 r2977861 23 23 add_action( 'elementor/element/image/section_style_image/after_section_end', array( $this, 'register_widget_image_style_controls') , 999 ); 24 24 25 26 /* since 1.3.0 */ 27 add_action( 'elementor/element/container/section_background_overlay/after_section_end', array( $this, 'register_container_controls') , 999 ); 28 29 25 30 } 26 31 27 public function register_co lumn_controls( Controls_Stack $element ) {32 public function register_container_controls( Controls_Stack $element ) { 28 33 29 34 … … 131 136 ] 132 137 ); 133 138 139 $element->update_control( 140 'background_overlay_color_stop', 141 [ 142 'label' => esc_html__( 'Location', 'elementor' ), 143 'type' => Controls_Manager::SLIDER, 144 'size_units' => [ '%', 'custom' ], 145 'default' => [ 146 'unit' => '%', 147 'size' => 0, 148 ], 149 'range' => [ 150 '%' => [ 151 'min' => -100, 152 'max' => 200, 153 ], 154 ], 155 'render_type' => 'ui', 156 'condition' => [ 157 'background_overlay_background' => [ 'gradient' ], 158 ], 159 'of_type' => 'gradient', 160 ] 161 ); 162 163 164 $element->update_control( 165 'background_overlay_color_b_stop', 166 [ 167 'label' => esc_html__( 'Location', 'elementor' ), 168 'type' => Controls_Manager::SLIDER, 169 'size_units' => [ '%', 'custom' ], 170 'default' => [ 171 'unit' => '%', 172 'size' => 100, 173 ], 174 'range' => [ 175 '%' => [ 176 'min' => -100, 177 'max' => 200, 178 ], 179 ], 180 'render_type' => 'ui', 181 'condition' => [ 182 'background_overlay_background' => [ 'gradient' ], 183 ], 184 'of_type' => 'gradient', 185 ] 186 ); 187 188 189 $element->update_control( 190 'background_overlay_hover_color_stop', 191 [ 192 'label' => esc_html__( 'Location', 'elementor' ), 193 'type' => Controls_Manager::SLIDER, 194 'size_units' => [ '%', 'custom' ], 195 'default' => [ 196 'unit' => '%', 197 'size' => 0, 198 ], 199 'range' => [ 200 '%' => [ 201 'min' => -100, 202 'max' => 200, 203 ], 204 ], 205 'render_type' => 'ui', 206 'condition' => [ 207 'background_overlay_hover_background' => [ 'gradient' ], 208 ], 209 'of_type' => 'gradient', 210 ] 211 ); 212 213 $element->update_control( 214 'background_overlay_hover_color_b_stop', 215 [ 216 'label' => esc_html__( 'Location', 'elementor' ), 217 'type' => Controls_Manager::SLIDER, 218 'size_units' => [ '%', 'custom' ], 219 'default' => [ 220 'unit' => '%', 221 'size' => 100, 222 ], 223 'range' => [ 224 '%' => [ 225 'min' => -100, 226 'max' => 200, 227 ], 228 ], 229 'render_type' => 'ui', 230 'condition' => [ 231 'background_overlay_hover_background' => [ 'gradient' ], 232 ], 233 'of_type' => 'gradient', 234 ] 235 ); 134 236 $element->start_injection( [ 135 237 'of' => 'overlay_blend_mode', … … 146 248 'condition' => [ 147 249 'background_overlay_background' => [ 'classic', 'gradient' ], 148 'background_overlay_maskimage[url]!' => '',149 250 ], 150 251 ] … … 162 263 'active' => true, 163 264 ], 164 'selectors' => [ 165 '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-image: url("{{URL}}");', 265 'selectors' => [ '{{WRAPPER}}::before' => '-webkit-mask-image: url("{{URL}}");', 166 266 ], 167 267 'render_type' => 'template', … … 184 284 ], 185 285 'default' => 'contain', 186 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-size: {{VALUE}};' ],286 'selectors' => [ '{{WRAPPER}}::before' => '-webkit-mask-size: {{VALUE}};' ], 187 287 'condition' => [ 188 288 'background_overlay_maskimage[url]!' => '', … … 219 319 'size' => 100, 220 320 ], 221 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-size: {{SIZE}}{{UNIT}};' ],321 'selectors' => [ '{{WRAPPER}}::before' => '-webkit-mask-size: {{SIZE}}{{UNIT}};' ], 222 322 'condition' => [ 223 323 'background_overlay_maskimage[url]!' => '', … … 246 346 ], 247 347 'default' => 'center center', 248 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-position: {{VALUE}};' ],348 'selectors' => [ '{{WRAPPER}}::before' => '-webkit-mask-position: {{VALUE}};' ], 249 349 'condition' => [ 250 350 'background_overlay_maskimage[url]!' => '', … … 282 382 'size' => 0, 283 383 ], 284 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-position-x: {{SIZE}}{{UNIT}};' ],384 'selectors' => [ '{{WRAPPER}}::before' => '-webkit-mask-position-x: {{SIZE}}{{UNIT}};' ], 285 385 'condition' => [ 286 386 'background_overlay_maskimage[url]!' => '', … … 318 418 'size' => 0, 319 419 ], 320 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-position-y: {{SIZE}}{{UNIT}};' ],420 'selectors' => [ '{{WRAPPER}}::before' => '-webkit-mask-position-y: {{SIZE}}{{UNIT}};' ], 321 421 'condition' => [ 322 422 'background_overlay_maskimage[url]!' => '', … … 341 441 ], 342 442 'default' => 'no-repeat', 343 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-repeat: {{VALUE}};' ],443 'selectors' => [ '{{WRAPPER}}::before' => '-webkit-mask-repeat: {{VALUE}};' ], 344 444 'condition' => [ 345 445 'background_overlay_maskimage[url]!' => '', … … 349 449 ); 350 450 351 352 451 $element->end_injection(); 452 353 453 354 454 } 355 455 356 public function register_ section_controls( Controls_Stack $element ) {456 public function register_column_controls( Controls_Stack $element ) { 357 457 358 458 359 459 /** 360 * - Add inner section width option like top section 361 * Change range from px only to px, vh, and vw 362 * 363 * - position option like common widget 460 * - Adding image mask background 461 * @since 1.2.11 462 * 364 463 */ 464 365 465 366 466 $element->update_control( … … 460 560 ] 461 561 ); 462 463 $element->update_responsive_control( 464 'custom_height_inner', 465 [ 466 'label' => esc_html__( 'Minimum Height', 'elementor' ), 467 'type' => Controls_Manager::SLIDER, 468 'default' => [ 469 'size' => 400, 470 ], 471 'range' => [ 472 'px' => [ 473 'min' => 0, 474 'max' => 1440, 475 ], 476 'vh' => [ 477 'min' => 0, 478 'max' => 100, 479 ], 480 'vw' => [ 481 'min' => 0, 482 'max' => 100, 483 ], 484 ], 485 'size_units' => [ 'px', 'vh', 'vw' ], 486 'selectors' => [ 487 '{{WRAPPER}} > .elementor-container' => 'min-height: {{SIZE}}{{UNIT}};', 488 ], 489 'condition' => [ 490 'height_inner' => [ 'min-height' ], 491 ], 492 'hide_in_top' => true, 493 ] 494 ); 495 496 $element->start_controls_section( 497 '_section_position', 498 [ 499 'label' => esc_html__( 'Positioning', 'elementor' ), 500 'tab' => Controls_Manager::TAB_ADVANCED, 501 'hide_in_top' => true, 502 ] 503 ); 504 505 $element->add_responsive_control( 506 '_element_width', 507 [ 508 'label' => esc_html__( 'Width', 'elementor' ), 509 'type' => Controls_Manager::SELECT, 510 'default' => '', 511 'options' => [ 512 '' => esc_html__( 'Default', 'elementor' ), 513 'inherit' => esc_html__( 'Full Width', 'elementor' ) . ' (100%)', 514 'auto' => esc_html__( 'Inline', 'elementor' ) . ' (auto)', 515 'initial' => esc_html__( 'Custom', 'elementor' ), 516 ], 517 'selectors_dictionary' => [ 518 'inherit' => '100%', 519 ], 520 'prefix_class' => 'elementor-widget%s__width-', 521 'selectors' => [ 522 '{{WRAPPER}}' => 'width: {{VALUE}}; max-width: {{VALUE}}', 523 ], 524 ] 525 ); 526 527 $element->add_responsive_control( 528 '_element_custom_width', 529 [ 530 'label' => esc_html__( 'Custom Width', 'elementor' ), 531 'type' => Controls_Manager::SLIDER, 532 'range' => [ 533 'px' => [ 534 'max' => 2000, 535 'step' => 1, 536 ], 537 '%' => [ 538 'max' => 100, 539 'step' => 1, 540 ], 541 ], 542 'condition' => [ 543 '_element_width' => 'initial', 544 ], 545 'size_units' => [ 'px', '%', 'vw' ], 546 'selectors' => [ 547 '{{WRAPPER}}' => 'width: {{SIZE}}{{UNIT}}; max-width: {{SIZE}}{{UNIT}}', 548 ], 549 ] 550 ); 551 552 $element->add_responsive_control( 553 '_element_vertical_align', 554 [ 555 'label' => esc_html__( 'Vertical Align', 'elementor' ), 556 'type' => Controls_Manager::CHOOSE, 557 'options' => [ 558 'flex-start' => [ 559 'title' => esc_html__( 'Start', 'elementor' ), 560 'icon' => 'eicon-v-align-top', 561 ], 562 'center' => [ 563 'title' => esc_html__( 'Center', 'elementor' ), 564 'icon' => 'eicon-v-align-middle', 565 ], 566 'flex-end' => [ 567 'title' => esc_html__( 'End', 'elementor' ), 568 'icon' => 'eicon-v-align-bottom', 569 ], 570 ], 571 'condition' => [ 572 '_element_width!' => '', 573 '_position' => '', 574 ], 575 'selectors' => [ 576 '{{WRAPPER}}' => 'align-self: {{VALUE}}', 577 ], 578 ] 579 ); 580 581 $element->add_control( 582 '_position_description', 583 [ 584 'raw' => '<strong>' . esc_html__( 'Please note!', 'elementor' ) . '</strong> ' . esc_html__( 'Custom positioning is not considered best practice for responsive web design and should not be used too frequently.', 'elementor' ), 585 'type' => Controls_Manager::RAW_HTML, 586 'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning', 587 'render_type' => 'ui', 588 'condition' => [ 589 '_position!' => '', 590 ], 591 ] 592 ); 593 594 $element->add_control( 595 '_position', 596 [ 597 'label' => esc_html__( 'Position', 'elementor' ), 598 'type' => Controls_Manager::SELECT, 599 'default' => '', 600 'options' => [ 601 '' => esc_html__( 'Default', 'elementor' ), 602 'absolute' => esc_html__( 'Absolute', 'elementor' ), 603 'fixed' => esc_html__( 'Fixed', 'elementor' ), 604 ], 605 'prefix_class' => 'elementor-', 606 'frontend_available' => true, 607 ] 608 ); 609 610 $start = is_rtl() ? esc_html__( 'Right', 'elementor' ) : esc_html__( 'Left', 'elementor' ); 611 $end = ! is_rtl() ? esc_html__( 'Right', 'elementor' ) : esc_html__( 'Left', 'elementor' ); 612 613 $element->add_control( 614 '_offset_orientation_h', 615 [ 616 'label' => esc_html__( 'Horizontal Orientation', 'elementor' ), 617 'type' => Controls_Manager::CHOOSE, 618 'toggle' => false, 619 'default' => 'start', 620 'options' => [ 621 'start' => [ 622 'title' => $start, 623 'icon' => 'eicon-h-align-left', 624 ], 625 'end' => [ 626 'title' => $end, 627 'icon' => 'eicon-h-align-right', 628 ], 629 ], 630 'classes' => 'elementor-control-start-end', 631 'render_type' => 'ui', 632 'condition' => [ 633 '_position!' => '', 634 ], 635 ] 636 ); 637 638 $element->add_responsive_control( 639 '_offset_x', 640 [ 641 'label' => esc_html__( 'Offset', 'elementor' ), 642 'type' => Controls_Manager::SLIDER, 643 'range' => [ 644 'px' => [ 645 'min' => -1000, 646 'max' => 1000, 647 'step' => 1, 648 ], 649 '%' => [ 650 'min' => -200, 651 'max' => 200, 652 ], 653 'vw' => [ 654 'min' => -200, 655 'max' => 200, 656 ], 657 'vh' => [ 658 'min' => -200, 659 'max' => 200, 660 ], 661 ], 662 'default' => [ 663 'size' => '0', 664 ], 665 'size_units' => [ 'px', '%', 'vw', 'vh' ], 666 'selectors' => [ 667 'body:not(.rtl) {{WRAPPER}}' => 'left: {{SIZE}}{{UNIT}}', 668 'body.rtl {{WRAPPER}}' => 'right: {{SIZE}}{{UNIT}}', 669 ], 670 'condition' => [ 671 '_offset_orientation_h!' => 'end', 672 '_position!' => '', 673 ], 674 ] 675 ); 676 677 $element->add_responsive_control( 678 '_offset_x_end', 679 [ 680 'label' => esc_html__( 'Offset', 'elementor' ), 681 'type' => Controls_Manager::SLIDER, 682 'range' => [ 683 'px' => [ 684 'min' => -1000, 685 'max' => 1000, 686 'step' => 0.1, 687 ], 688 '%' => [ 689 'min' => -200, 690 'max' => 200, 691 ], 692 'vw' => [ 693 'min' => -200, 694 'max' => 200, 695 ], 696 'vh' => [ 697 'min' => -200, 698 'max' => 200, 699 ], 700 ], 701 'default' => [ 702 'size' => '0', 703 ], 704 'size_units' => [ 'px', '%', 'vw', 'vh' ], 705 'selectors' => [ 706 'body:not(.rtl) {{WRAPPER}}' => 'right: {{SIZE}}{{UNIT}}', 707 'body.rtl {{WRAPPER}}' => 'left: {{SIZE}}{{UNIT}}', 708 ], 709 'condition' => [ 710 '_offset_orientation_h' => 'end', 711 '_position!' => '', 712 ], 713 ] 714 ); 715 716 $element->add_control( 717 '_offset_orientation_v', 718 [ 719 'label' => esc_html__( 'Vertical Orientation', 'elementor' ), 720 'type' => Controls_Manager::CHOOSE, 721 'toggle' => false, 722 'default' => 'start', 723 'options' => [ 724 'start' => [ 725 'title' => esc_html__( 'Top', 'elementor' ), 726 'icon' => 'eicon-v-align-top', 727 ], 728 'end' => [ 729 'title' => esc_html__( 'Bottom', 'elementor' ), 730 'icon' => 'eicon-v-align-bottom', 731 ], 732 ], 733 'render_type' => 'ui', 734 'condition' => [ 735 '_position!' => '', 736 ], 737 ] 738 ); 739 740 $element->add_responsive_control( 741 '_offset_y', 742 [ 743 'label' => esc_html__( 'Offset', 'elementor' ), 744 'type' => Controls_Manager::SLIDER, 745 'range' => [ 746 'px' => [ 747 'min' => -1000, 748 'max' => 1000, 749 'step' => 1, 750 ], 751 '%' => [ 752 'min' => -200, 753 'max' => 200, 754 ], 755 'vh' => [ 756 'min' => -200, 757 'max' => 200, 758 ], 759 'vw' => [ 760 'min' => -200, 761 'max' => 200, 762 ], 763 ], 764 'size_units' => [ 'px', '%', 'vh', 'vw' ], 765 'default' => [ 766 'size' => '0', 767 ], 768 'selectors' => [ 769 '{{WRAPPER}}' => 'top: {{SIZE}}{{UNIT}}', 770 ], 771 'condition' => [ 772 '_offset_orientation_v!' => 'end', 773 '_position!' => '', 774 ], 775 ] 776 ); 777 778 $element->add_responsive_control( 779 '_offset_y_end', 780 [ 781 'label' => esc_html__( 'Offset', 'elementor' ), 782 'type' => Controls_Manager::SLIDER, 783 'range' => [ 784 'px' => [ 785 'min' => -1000, 786 'max' => 1000, 787 'step' => 1, 788 ], 789 '%' => [ 790 'min' => -200, 791 'max' => 200, 792 ], 793 'vh' => [ 794 'min' => -200, 795 'max' => 200, 796 ], 797 'vw' => [ 798 'min' => -200, 799 'max' => 200, 800 ], 801 ], 802 'size_units' => [ 'px', '%', 'vh', 'vw' ], 803 'default' => [ 804 'size' => '0', 805 ], 806 'selectors' => [ 807 '{{WRAPPER}}' => 'bottom: {{SIZE}}{{UNIT}}', 808 ], 809 'condition' => [ 810 '_offset_orientation_v' => 'end', 811 '_position!' => '', 812 ], 813 ] 814 ); 815 816 $element->end_controls_section(); 817 818 $element->start_controls_section( 819 '_section_transform', 820 [ 821 'label' => esc_html__( 'Transform', 'elementor' ), 822 'tab' => Controls_Manager::TAB_ADVANCED, 823 'hide_in_top' => true, 824 ] 825 ); 826 827 828 $element->add_control( 829 "_transform_rotate_popover", 830 [ 831 'label' => esc_html__( 'Rotate', 'elementor' ), 832 'type' => Controls_Manager::POPOVER_TOGGLE, 833 'prefix_class' => 'e-', 834 'return_value' => 'transform', 835 ] 836 ); 837 838 $element->start_popover(); 839 840 $element->add_responsive_control( 841 "_transform_rotateZ_effect", 842 [ 843 'label' => esc_html__( 'Rotate', 'elementor' ), 844 'type' => Controls_Manager::SLIDER, 845 'range' => [ 846 'px' => [ 847 'min' => -360, 848 'max' => 360, 849 ], 850 ], 851 'selectors' => [ 852 "{{WRAPPER}}" => '--e-transform-rw-rotateZ: {{SIZE}}deg', 853 ], 854 'condition' => [ 855 "_transform_rotate_popover!" => '', 856 ], 857 'frontend_available' => true, 858 ] 859 ); 860 861 $element->add_control( 862 "_transform_rotate_3d", 863 [ 864 'label' => esc_html__( '3D Rotate', 'elementor' ), 865 'type' => Controls_Manager::SWITCHER, 866 'label_on' => esc_html__( 'On', 'elementor' ), 867 'label_off' => esc_html__( 'Off', 'elementor' ), 868 'selectors' => [ 869 "{{WRAPPER}}" => '--e-transform-rw-rotateX: 1deg; --e-transform-rw-perspective: 20px;', 870 ], 871 'condition' => [ 872 "_transform_rotate_popover!" => '', 873 ], 874 ] 875 ); 876 877 $element->add_responsive_control( 878 "_transform_rotateX_effect", 879 [ 880 'label' => esc_html__( 'Rotate X', 'elementor' ), 881 'type' => Controls_Manager::SLIDER, 882 'range' => [ 883 'px' => [ 884 'min' => -360, 885 'max' => 360, 886 ], 887 ], 888 'condition' => [ 889 "_transform_rotate_3d!" => '', 890 "_transform_rotate_popover!" => '', 891 ], 892 'selectors' => [ 893 "{{WRAPPER}}" => '--e-transform-rw-rotateX: {{SIZE}}deg;', 894 ], 895 'frontend_available' => true, 896 ] 897 ); 898 899 $element->add_responsive_control( 900 "_transform_rotateY_effect", 901 [ 902 'label' => esc_html__( 'Rotate Y', 'elementor' ), 903 'type' => Controls_Manager::SLIDER, 904 'range' => [ 905 'px' => [ 906 'min' => -360, 907 'max' => 360, 908 ], 909 ], 910 'condition' => [ 911 "_transform_rotate_3d!" => '', 912 "_transform_rotate_popover!" => '', 913 ], 914 'selectors' => [ 915 "{{WRAPPER}}" => '--e-transform-rw-rotateY: {{SIZE}}deg;', 916 ], 917 'frontend_available' => true, 918 ] 919 ); 920 921 $element->add_responsive_control( 922 "_transform_perspective_effect", 923 [ 924 'label' => esc_html__( 'Perspective', 'elementor' ), 925 'type' => Controls_Manager::SLIDER, 926 'range' => [ 927 'px' => [ 928 'min' => 0, 929 'max' => 1000, 930 ], 931 ], 932 'condition' => [ 933 "_transform_rotate_popover!" => '', 934 "_transform_rotate_3d!" => '', 935 ], 936 'selectors' => [ 937 "{{WRAPPER}}" => '--e-transform-rw-perspective: {{SIZE}}px', 938 ], 939 'frontend_available' => true, 940 ] 941 ); 942 $element->end_popover(); 943 944 945 $element->add_control( 946 "_transform_translate_popover", 947 [ 948 'label' => esc_html__( 'Offset', 'elementor' ), 949 'type' => Controls_Manager::POPOVER_TOGGLE, 950 'prefix_class' => 'e-', 951 'return_value' => 'transform', 952 ] 953 ); 954 955 956 $element->start_popover(); 957 958 $element->add_responsive_control( 959 "_transform_translateX_effect", 960 [ 961 'label' => esc_html__( 'Offset X', 'elementor' ), 962 'type' => Controls_Manager::SLIDER, 963 'size_units' => [ '%', 'px' ], 964 'range' => [ 965 '%' => [ 966 'min' => -100, 967 'max' => 100, 968 ], 969 'px' => [ 970 'min' => -1000, 971 'max' => 1000, 972 ], 973 ], 974 'condition' => [ 975 "_transform_translate_popover!" => '', 976 ], 977 'selectors' => [ 978 "{{WRAPPER}}" => '--e-transform-rw-translateX: {{SIZE}}{{UNIT}};', 979 ], 980 'frontend_available' => true, 981 ] 982 ); 983 984 $element->add_responsive_control( 985 "_transform_translateY_effect", 986 [ 987 'label' => esc_html__( 'Offset Y', 'elementor' ), 988 'type' => Controls_Manager::SLIDER, 989 'size_units' => [ '%', 'px' ], 990 'range' => [ 991 '%' => [ 992 'min' => -100, 993 'max' => 100, 994 ], 995 'px' => [ 996 'min' => -1000, 997 'max' => 1000, 998 ], 999 ], 1000 'condition' => [ 1001 "_transform_translate_popover!" => '', 1002 ], 1003 'selectors' => [ 1004 "{{WRAPPER}}" => '--e-transform-rw-translateY: {{SIZE}}{{UNIT}};', 1005 ], 1006 'frontend_available' => true, 1007 ] 1008 ); 1009 1010 $element->end_popover(); 1011 1012 $element->add_control( 1013 "_transform_scale_popover", 1014 [ 1015 'label' => esc_html__( 'Scale', 'elementor' ), 1016 'type' => Controls_Manager::POPOVER_TOGGLE, 1017 'prefix_class' => 'e-', 1018 'return_value' => 'transform', 1019 ] 1020 ); 1021 1022 1023 $element->start_popover(); 1024 1025 $element->add_control( 1026 "_transform_keep_proportions", 1027 [ 1028 'label' => esc_html__( 'Keep Proportions', 'elementor' ), 1029 'type' => Controls_Manager::SWITCHER, 1030 'label_on' => esc_html__( 'On', 'elementor' ), 1031 'label_off' => esc_html__( 'Off', 'elementor' ), 1032 'default' => 'yes', 1033 ] 1034 ); 1035 1036 $element->add_responsive_control( 1037 "_transform_scale_effect", 1038 [ 1039 'label' => esc_html__( 'Scale', 'elementor' ), 1040 'type' => Controls_Manager::SLIDER, 1041 'range' => [ 1042 'px' => [ 1043 'min' => 0, 1044 'max' => 2, 1045 'step' => 0.1, 1046 ], 1047 ], 1048 'condition' => [ 1049 "_transform_scale_popover!" => '', 1050 "_transform_keep_proportions!" => '', 1051 ], 1052 'selectors' => [ 1053 "{{WRAPPER}}" => '--e-transform-rw-scale: {{SIZE}};', 1054 ], 1055 'frontend_available' => true, 1056 ] 1057 ); 1058 1059 $element->add_responsive_control( 1060 "_transform_scaleX_effect", 1061 [ 1062 'label' => esc_html__( 'Scale X', 'elementor' ), 1063 'type' => Controls_Manager::SLIDER, 1064 'range' => [ 1065 'px' => [ 1066 'min' => 0, 1067 'max' => 2, 1068 'step' => 0.1, 1069 ], 1070 ], 1071 'condition' => [ 1072 "_transform_scale_popover!" => '', 1073 "_transform_keep_proportions" => '', 1074 ], 1075 'selectors' => [ 1076 "{{WRAPPER}}" => '--e-transform-rw-scaleX: {{SIZE}};', 1077 ], 1078 'frontend_available' => true, 1079 ] 1080 ); 1081 1082 $element->add_responsive_control( 1083 "_transform_scaleY_effect", 1084 [ 1085 'label' => esc_html__( 'Scale Y', 'elementor' ), 1086 'type' => Controls_Manager::SLIDER, 1087 'range' => [ 1088 'px' => [ 1089 'min' => 0, 1090 'max' => 2, 1091 'step' => 0.1, 1092 ], 1093 ], 1094 'condition' => [ 1095 "_transform_scale_popover!" => '', 1096 "_transform_keep_proportions" => '', 1097 ], 1098 'selectors' => [ 1099 "{{WRAPPER}}" => '--e-transform-rw-scaleY: {{SIZE}};', 1100 ], 1101 'frontend_available' => true, 1102 ] 1103 ); 1104 1105 $element->end_popover(); 1106 1107 $element->end_controls_section(); 1108 1109 1110 $element->start_injection( [ 'of' => 'overlay_blend_mode' ] ); 562 563 $element->start_injection( [ 564 'of' => 'overlay_blend_mode', 565 ] ); 566 567 1111 568 $element->add_control( 1112 569 '_overlay_maskimage_description', … … 1118 575 'condition' => [ 1119 576 'background_overlay_background' => [ 'classic', 'gradient' ], 1120 'background_overlay_maskimage!' => '',1121 577 ], 1122 578 ] … … 1135 591 ], 1136 592 'selectors' => [ 1137 '{{WRAPPER}} > .elementor- background-overlay' => '-webkit-mask-image: url("{{URL}}");',593 '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-image: url("{{URL}}");', 1138 594 ], 1139 595 'render_type' => 'template', … … 1143 599 ] 1144 600 ); 1145 1146 601 1147 602 … … 1157 612 ], 1158 613 'default' => 'contain', 1159 'selectors' => [ '{{WRAPPER}} > .elementor- background-overlay' => '-webkit-mask-size: {{VALUE}};' ],614 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-size: {{VALUE}};' ], 1160 615 'condition' => [ 1161 616 'background_overlay_maskimage[url]!' => '', … … 1192 647 'size' => 100, 1193 648 ], 1194 'selectors' => [ '{{WRAPPER}} > .elementor- background-overlay' => '-webkit-mask-size: {{SIZE}}{{UNIT}};' ],649 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-size: {{SIZE}}{{UNIT}};' ], 1195 650 'condition' => [ 1196 651 'background_overlay_maskimage[url]!' => '', … … 1219 674 ], 1220 675 'default' => 'center center', 676 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-position: {{VALUE}};' ], 677 'condition' => [ 678 'background_overlay_maskimage[url]!' => '', 679 ], 680 ] 681 ); 682 683 684 $element->add_responsive_control( 685 'overlay_mask_position_x', 686 [ 687 'label' => esc_html__( 'Mask X Position', 'gum-elementor-addon' ), 688 'type' => Controls_Manager::SLIDER, 689 'size_units' => [ 'px', 'em', '%', 'vw' ], 690 'range' => [ 691 'px' => [ 692 'min' => -500, 693 'max' => 500, 694 ], 695 'em' => [ 696 'min' => -100, 697 'max' => 100, 698 ], 699 '%' => [ 700 'min' => -100, 701 'max' => 100, 702 ], 703 'vw' => [ 704 'min' => -100, 705 'max' => 100, 706 ], 707 ], 708 'default' => [ 709 'unit' => '%', 710 'size' => 0, 711 ], 712 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-position-x: {{SIZE}}{{UNIT}};' ], 713 'condition' => [ 714 'background_overlay_maskimage[url]!' => '', 715 'overlay_mask_position' => 'custom', 716 ], 717 ] 718 ); 719 720 $element->add_responsive_control( 721 'overlay_mask_position_y', 722 [ 723 'label' => esc_html__( 'Mask Y Position', 'gum-elementor-addon' ), 724 'type' => Controls_Manager::SLIDER, 725 'size_units' => [ 'px', 'em', '%', 'vw' ], 726 'range' => [ 727 'px' => [ 728 'min' => -500, 729 'max' => 500, 730 ], 731 'em' => [ 732 'min' => -100, 733 'max' => 100, 734 ], 735 '%' => [ 736 'min' => -100, 737 'max' => 100, 738 ], 739 'vw' => [ 740 'min' => -100, 741 'max' => 100, 742 ], 743 ], 744 'default' => [ 745 'unit' => '%', 746 'size' => 0, 747 ], 748 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-position-y: {{SIZE}}{{UNIT}};' ], 749 'condition' => [ 750 'background_overlay_maskimage[url]!' => '', 751 'overlay_mask_position' => 'custom', 752 ], 753 ] 754 ); 755 756 757 $element->add_responsive_control( 758 'overlay_mask_repeat', 759 [ 760 'label' => esc_html__( 'Mask Repeat', 'gum-elementor-addon' ), 761 'type' => Controls_Manager::SELECT, 762 'options' => [ 763 'no-repeat' => esc_html__( 'No-Repeat', 'elementor' ), 764 'repeat' => esc_html__( 'Repeat', 'elementor' ), 765 'repeat-x' => esc_html__( 'Repeat-X', 'elementor' ), 766 'repeat-Y' => esc_html__( 'Repeat-Y', 'elementor' ), 767 'round' => esc_html__( 'Round', 'elementor' ), 768 'space' => esc_html__( 'Space', 'elementor' ), 769 ], 770 'default' => 'no-repeat', 771 'selectors' => [ '{{WRAPPER}} > .elementor-element-populated > .elementor-background-overlay' => '-webkit-mask-repeat: {{VALUE}};' ], 772 'condition' => [ 773 'background_overlay_maskimage[url]!' => '', 774 'overlay_mask_size!' => 'cover', 775 ], 776 ] 777 ); 778 779 780 $element->end_injection(); 781 782 } 783 784 public function register_section_controls( Controls_Stack $element ) { 785 786 787 /** 788 * - Add inner section width option like top section 789 * Change range from px only to px, vh, and vw 790 * 791 * - position option like common widget 792 */ 793 794 $element->update_control( 795 'background_color_stop', 796 [ 797 'label' => esc_html__( 'Location', 'elementor' ), 798 'type' => Controls_Manager::SLIDER, 799 'size_units' => [ '%', 'custom' ], 800 'default' => [ 801 'unit' => '%', 802 'size' => 0, 803 ], 804 'range' => [ 805 '%' => [ 806 'min' => -100, 807 'max' => 200, 808 ], 809 ], 810 'render_type' => 'ui', 811 'condition' => [ 812 'background_background' => [ 'gradient' ], 813 ], 814 'of_type' => 'gradient', 815 ] 816 ); 817 818 $element->update_control( 819 'background_color_b_stop', 820 [ 821 'label' => esc_html__( 'Location', 'elementor' ), 822 'type' => Controls_Manager::SLIDER, 823 'size_units' => [ '%', 'custom' ], 824 'default' => [ 825 'unit' => '%', 826 'size' => 100, 827 ], 828 'range' => [ 829 '%' => [ 830 'min' => -100, 831 'max' => 200, 832 ], 833 ], 834 'render_type' => 'ui', 835 'condition' => [ 836 'background_background' => [ 'gradient' ], 837 ], 838 'of_type' => 'gradient', 839 ] 840 ); 841 842 843 $element->update_control( 844 'background_hover_color_stop', 845 [ 846 'label' => esc_html__( 'Location', 'elementor' ), 847 'type' => Controls_Manager::SLIDER, 848 'size_units' => [ '%', 'custom' ], 849 'default' => [ 850 'unit' => '%', 851 'size' => 0, 852 ], 853 'range' => [ 854 '%' => [ 855 'min' => -100, 856 'max' => 200, 857 ], 858 ], 859 'render_type' => 'ui', 860 'condition' => [ 861 'background_hover_background' => [ 'gradient' ], 862 ], 863 'of_type' => 'gradient', 864 ] 865 ); 866 867 $element->update_control( 868 'background_hover_color_b_stop', 869 [ 870 'label' => esc_html__( 'Location', 'elementor' ), 871 'type' => Controls_Manager::SLIDER, 872 'size_units' => [ '%', 'custom' ], 873 'default' => [ 874 'unit' => '%', 875 'size' => 100, 876 ], 877 'range' => [ 878 '%' => [ 879 'min' => -100, 880 'max' => 200, 881 ], 882 ], 883 'render_type' => 'ui', 884 'condition' => [ 885 'background_hover_background' => [ 'gradient' ], 886 ], 887 'of_type' => 'gradient', 888 ] 889 ); 890 891 $element->update_responsive_control( 892 'custom_height_inner', 893 [ 894 'label' => esc_html__( 'Minimum Height', 'elementor' ), 895 'type' => Controls_Manager::SLIDER, 896 'default' => [ 897 'size' => 400, 898 ], 899 'range' => [ 900 'px' => [ 901 'min' => 0, 902 'max' => 1440, 903 ], 904 'vh' => [ 905 'min' => 0, 906 'max' => 100, 907 ], 908 'vw' => [ 909 'min' => 0, 910 'max' => 100, 911 ], 912 ], 913 'size_units' => [ 'px', 'vh', 'vw' ], 914 'selectors' => [ 915 '{{WRAPPER}} > .elementor-container' => 'min-height: {{SIZE}}{{UNIT}};', 916 ], 917 'condition' => [ 918 'height_inner' => [ 'min-height' ], 919 ], 920 'hide_in_top' => true, 921 ] 922 ); 923 924 $element->start_controls_section( 925 '_section_position', 926 [ 927 'label' => esc_html__( 'Positioning', 'elementor' ), 928 'tab' => Controls_Manager::TAB_ADVANCED, 929 'hide_in_top' => true, 930 ] 931 ); 932 933 $element->add_responsive_control( 934 '_element_width', 935 [ 936 'label' => esc_html__( 'Width', 'elementor' ), 937 'type' => Controls_Manager::SELECT, 938 'default' => '', 939 'options' => [ 940 '' => esc_html__( 'Default', 'elementor' ), 941 'inherit' => esc_html__( 'Full Width', 'elementor' ) . ' (100%)', 942 'auto' => esc_html__( 'Inline', 'elementor' ) . ' (auto)', 943 'initial' => esc_html__( 'Custom', 'elementor' ), 944 ], 945 'selectors_dictionary' => [ 946 'inherit' => '100%', 947 ], 948 'prefix_class' => 'elementor-widget%s__width-', 949 'selectors' => [ 950 '{{WRAPPER}}' => 'width: {{VALUE}}; max-width: {{VALUE}}', 951 ], 952 ] 953 ); 954 955 $element->add_responsive_control( 956 '_element_custom_width', 957 [ 958 'label' => esc_html__( 'Custom Width', 'elementor' ), 959 'type' => Controls_Manager::SLIDER, 960 'range' => [ 961 'px' => [ 962 'max' => 2000, 963 'step' => 1, 964 ], 965 '%' => [ 966 'max' => 100, 967 'step' => 1, 968 ], 969 ], 970 'condition' => [ 971 '_element_width' => 'initial', 972 ], 973 'size_units' => [ 'px', '%', 'vw' ], 974 'selectors' => [ 975 '{{WRAPPER}}' => 'width: {{SIZE}}{{UNIT}}; max-width: {{SIZE}}{{UNIT}}', 976 ], 977 ] 978 ); 979 980 $element->add_responsive_control( 981 '_element_vertical_align', 982 [ 983 'label' => esc_html__( 'Vertical Align', 'elementor' ), 984 'type' => Controls_Manager::CHOOSE, 985 'options' => [ 986 'flex-start' => [ 987 'title' => esc_html__( 'Start', 'elementor' ), 988 'icon' => 'eicon-v-align-top', 989 ], 990 'center' => [ 991 'title' => esc_html__( 'Center', 'elementor' ), 992 'icon' => 'eicon-v-align-middle', 993 ], 994 'flex-end' => [ 995 'title' => esc_html__( 'End', 'elementor' ), 996 'icon' => 'eicon-v-align-bottom', 997 ], 998 ], 999 'condition' => [ 1000 '_element_width!' => '', 1001 '_position' => '', 1002 ], 1003 'selectors' => [ 1004 '{{WRAPPER}}' => 'align-self: {{VALUE}}', 1005 ], 1006 ] 1007 ); 1008 1009 $element->add_control( 1010 '_position_description', 1011 [ 1012 'raw' => '<strong>' . esc_html__( 'Please note!', 'elementor' ) . '</strong> ' . esc_html__( 'Custom positioning is not considered best practice for responsive web design and should not be used too frequently.', 'elementor' ), 1013 'type' => Controls_Manager::RAW_HTML, 1014 'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning', 1015 'render_type' => 'ui', 1016 'condition' => [ 1017 '_position!' => '', 1018 ], 1019 ] 1020 ); 1021 1022 $element->add_control( 1023 '_position', 1024 [ 1025 'label' => esc_html__( 'Position', 'elementor' ), 1026 'type' => Controls_Manager::SELECT, 1027 'default' => '', 1028 'options' => [ 1029 '' => esc_html__( 'Default', 'elementor' ), 1030 'absolute' => esc_html__( 'Absolute', 'elementor' ), 1031 'fixed' => esc_html__( 'Fixed', 'elementor' ), 1032 ], 1033 'prefix_class' => 'elementor-', 1034 'frontend_available' => true, 1035 ] 1036 ); 1037 1038 $start = is_rtl() ? esc_html__( 'Right', 'elementor' ) : esc_html__( 'Left', 'elementor' ); 1039 $end = ! is_rtl() ? esc_html__( 'Right', 'elementor' ) : esc_html__( 'Left', 'elementor' ); 1040 1041 $element->add_control( 1042 '_offset_orientation_h', 1043 [ 1044 'label' => esc_html__( 'Horizontal Orientation', 'elementor' ), 1045 'type' => Controls_Manager::CHOOSE, 1046 'toggle' => false, 1047 'default' => 'start', 1048 'options' => [ 1049 'start' => [ 1050 'title' => $start, 1051 'icon' => 'eicon-h-align-left', 1052 ], 1053 'end' => [ 1054 'title' => $end, 1055 'icon' => 'eicon-h-align-right', 1056 ], 1057 ], 1058 'classes' => 'elementor-control-start-end', 1059 'render_type' => 'ui', 1060 'condition' => [ 1061 '_position!' => '', 1062 ], 1063 ] 1064 ); 1065 1066 $element->add_responsive_control( 1067 '_offset_x', 1068 [ 1069 'label' => esc_html__( 'Offset', 'elementor' ), 1070 'type' => Controls_Manager::SLIDER, 1071 'range' => [ 1072 'px' => [ 1073 'min' => -1000, 1074 'max' => 1000, 1075 'step' => 1, 1076 ], 1077 '%' => [ 1078 'min' => -200, 1079 'max' => 200, 1080 ], 1081 'vw' => [ 1082 'min' => -200, 1083 'max' => 200, 1084 ], 1085 'vh' => [ 1086 'min' => -200, 1087 'max' => 200, 1088 ], 1089 ], 1090 'default' => [ 1091 'size' => '0', 1092 ], 1093 'size_units' => [ 'px', '%', 'vw', 'vh' ], 1094 'selectors' => [ 1095 'body:not(.rtl) {{WRAPPER}}' => 'left: {{SIZE}}{{UNIT}}', 1096 'body.rtl {{WRAPPER}}' => 'right: {{SIZE}}{{UNIT}}', 1097 ], 1098 'condition' => [ 1099 '_offset_orientation_h!' => 'end', 1100 '_position!' => '', 1101 ], 1102 ] 1103 ); 1104 1105 $element->add_responsive_control( 1106 '_offset_x_end', 1107 [ 1108 'label' => esc_html__( 'Offset', 'elementor' ), 1109 'type' => Controls_Manager::SLIDER, 1110 'range' => [ 1111 'px' => [ 1112 'min' => -1000, 1113 'max' => 1000, 1114 'step' => 0.1, 1115 ], 1116 '%' => [ 1117 'min' => -200, 1118 'max' => 200, 1119 ], 1120 'vw' => [ 1121 'min' => -200, 1122 'max' => 200, 1123 ], 1124 'vh' => [ 1125 'min' => -200, 1126 'max' => 200, 1127 ], 1128 ], 1129 'default' => [ 1130 'size' => '0', 1131 ], 1132 'size_units' => [ 'px', '%', 'vw', 'vh' ], 1133 'selectors' => [ 1134 'body:not(.rtl) {{WRAPPER}}' => 'right: {{SIZE}}{{UNIT}}', 1135 'body.rtl {{WRAPPER}}' => 'left: {{SIZE}}{{UNIT}}', 1136 ], 1137 'condition' => [ 1138 '_offset_orientation_h' => 'end', 1139 '_position!' => '', 1140 ], 1141 ] 1142 ); 1143 1144 $element->add_control( 1145 '_offset_orientation_v', 1146 [ 1147 'label' => esc_html__( 'Vertical Orientation', 'elementor' ), 1148 'type' => Controls_Manager::CHOOSE, 1149 'toggle' => false, 1150 'default' => 'start', 1151 'options' => [ 1152 'start' => [ 1153 'title' => esc_html__( 'Top', 'elementor' ), 1154 'icon' => 'eicon-v-align-top', 1155 ], 1156 'end' => [ 1157 'title' => esc_html__( 'Bottom', 'elementor' ), 1158 'icon' => 'eicon-v-align-bottom', 1159 ], 1160 ], 1161 'render_type' => 'ui', 1162 'condition' => [ 1163 '_position!' => '', 1164 ], 1165 ] 1166 ); 1167 1168 $element->add_responsive_control( 1169 '_offset_y', 1170 [ 1171 'label' => esc_html__( 'Offset', 'elementor' ), 1172 'type' => Controls_Manager::SLIDER, 1173 'range' => [ 1174 'px' => [ 1175 'min' => -1000, 1176 'max' => 1000, 1177 'step' => 1, 1178 ], 1179 '%' => [ 1180 'min' => -200, 1181 'max' => 200, 1182 ], 1183 'vh' => [ 1184 'min' => -200, 1185 'max' => 200, 1186 ], 1187 'vw' => [ 1188 'min' => -200, 1189 'max' => 200, 1190 ], 1191 ], 1192 'size_units' => [ 'px', '%', 'vh', 'vw' ], 1193 'default' => [ 1194 'size' => '0', 1195 ], 1196 'selectors' => [ 1197 '{{WRAPPER}}' => 'top: {{SIZE}}{{UNIT}}', 1198 ], 1199 'condition' => [ 1200 '_offset_orientation_v!' => 'end', 1201 '_position!' => '', 1202 ], 1203 ] 1204 ); 1205 1206 $element->add_responsive_control( 1207 '_offset_y_end', 1208 [ 1209 'label' => esc_html__( 'Offset', 'elementor' ), 1210 'type' => Controls_Manager::SLIDER, 1211 'range' => [ 1212 'px' => [ 1213 'min' => -1000, 1214 'max' => 1000, 1215 'step' => 1, 1216 ], 1217 '%' => [ 1218 'min' => -200, 1219 'max' => 200, 1220 ], 1221 'vh' => [ 1222 'min' => -200, 1223 'max' => 200, 1224 ], 1225 'vw' => [ 1226 'min' => -200, 1227 'max' => 200, 1228 ], 1229 ], 1230 'size_units' => [ 'px', '%', 'vh', 'vw' ], 1231 'default' => [ 1232 'size' => '0', 1233 ], 1234 'selectors' => [ 1235 '{{WRAPPER}}' => 'bottom: {{SIZE}}{{UNIT}}', 1236 ], 1237 'condition' => [ 1238 '_offset_orientation_v' => 'end', 1239 '_position!' => '', 1240 ], 1241 ] 1242 ); 1243 1244 $element->end_controls_section(); 1245 1246 $element->start_controls_section( 1247 '_section_transform', 1248 [ 1249 'label' => esc_html__( 'Transform', 'elementor' ), 1250 'tab' => Controls_Manager::TAB_ADVANCED, 1251 'hide_in_top' => true, 1252 ] 1253 ); 1254 1255 1256 $element->add_control( 1257 "_transform_rotate_popover", 1258 [ 1259 'label' => esc_html__( 'Rotate', 'elementor' ), 1260 'type' => Controls_Manager::POPOVER_TOGGLE, 1261 'prefix_class' => 'e-', 1262 'return_value' => 'transform', 1263 ] 1264 ); 1265 1266 $element->start_popover(); 1267 1268 $element->add_responsive_control( 1269 "_transform_rotateZ_effect", 1270 [ 1271 'label' => esc_html__( 'Rotate', 'elementor' ), 1272 'type' => Controls_Manager::SLIDER, 1273 'range' => [ 1274 'px' => [ 1275 'min' => -360, 1276 'max' => 360, 1277 ], 1278 ], 1279 'selectors' => [ 1280 "{{WRAPPER}}" => '--e-transform-rw-rotateZ: {{SIZE}}deg', 1281 ], 1282 'condition' => [ 1283 "_transform_rotate_popover!" => '', 1284 ], 1285 'frontend_available' => true, 1286 ] 1287 ); 1288 1289 $element->add_control( 1290 "_transform_rotate_3d", 1291 [ 1292 'label' => esc_html__( '3D Rotate', 'elementor' ), 1293 'type' => Controls_Manager::SWITCHER, 1294 'label_on' => esc_html__( 'On', 'elementor' ), 1295 'label_off' => esc_html__( 'Off', 'elementor' ), 1296 'selectors' => [ 1297 "{{WRAPPER}}" => '--e-transform-rw-rotateX: 1deg; --e-transform-rw-perspective: 20px;', 1298 ], 1299 'condition' => [ 1300 "_transform_rotate_popover!" => '', 1301 ], 1302 ] 1303 ); 1304 1305 $element->add_responsive_control( 1306 "_transform_rotateX_effect", 1307 [ 1308 'label' => esc_html__( 'Rotate X', 'elementor' ), 1309 'type' => Controls_Manager::SLIDER, 1310 'range' => [ 1311 'px' => [ 1312 'min' => -360, 1313 'max' => 360, 1314 ], 1315 ], 1316 'condition' => [ 1317 "_transform_rotate_3d!" => '', 1318 "_transform_rotate_popover!" => '', 1319 ], 1320 'selectors' => [ 1321 "{{WRAPPER}}" => '--e-transform-rw-rotateX: {{SIZE}}deg;', 1322 ], 1323 'frontend_available' => true, 1324 ] 1325 ); 1326 1327 $element->add_responsive_control( 1328 "_transform_rotateY_effect", 1329 [ 1330 'label' => esc_html__( 'Rotate Y', 'elementor' ), 1331 'type' => Controls_Manager::SLIDER, 1332 'range' => [ 1333 'px' => [ 1334 'min' => -360, 1335 'max' => 360, 1336 ], 1337 ], 1338 'condition' => [ 1339 "_transform_rotate_3d!" => '', 1340 "_transform_rotate_popover!" => '', 1341 ], 1342 'selectors' => [ 1343 "{{WRAPPER}}" => '--e-transform-rw-rotateY: {{SIZE}}deg;', 1344 ], 1345 'frontend_available' => true, 1346 ] 1347 ); 1348 1349 $element->add_responsive_control( 1350 "_transform_perspective_effect", 1351 [ 1352 'label' => esc_html__( 'Perspective', 'elementor' ), 1353 'type' => Controls_Manager::SLIDER, 1354 'range' => [ 1355 'px' => [ 1356 'min' => 0, 1357 'max' => 1000, 1358 ], 1359 ], 1360 'condition' => [ 1361 "_transform_rotate_popover!" => '', 1362 "_transform_rotate_3d!" => '', 1363 ], 1364 'selectors' => [ 1365 "{{WRAPPER}}" => '--e-transform-rw-perspective: {{SIZE}}px', 1366 ], 1367 'frontend_available' => true, 1368 ] 1369 ); 1370 $element->end_popover(); 1371 1372 1373 $element->add_control( 1374 "_transform_translate_popover", 1375 [ 1376 'label' => esc_html__( 'Offset', 'elementor' ), 1377 'type' => Controls_Manager::POPOVER_TOGGLE, 1378 'prefix_class' => 'e-', 1379 'return_value' => 'transform', 1380 ] 1381 ); 1382 1383 1384 $element->start_popover(); 1385 1386 $element->add_responsive_control( 1387 "_transform_translateX_effect", 1388 [ 1389 'label' => esc_html__( 'Offset X', 'elementor' ), 1390 'type' => Controls_Manager::SLIDER, 1391 'size_units' => [ '%', 'px' ], 1392 'range' => [ 1393 '%' => [ 1394 'min' => -100, 1395 'max' => 100, 1396 ], 1397 'px' => [ 1398 'min' => -1000, 1399 'max' => 1000, 1400 ], 1401 ], 1402 'condition' => [ 1403 "_transform_translate_popover!" => '', 1404 ], 1405 'selectors' => [ 1406 "{{WRAPPER}}" => '--e-transform-rw-translateX: {{SIZE}}{{UNIT}};', 1407 ], 1408 'frontend_available' => true, 1409 ] 1410 ); 1411 1412 $element->add_responsive_control( 1413 "_transform_translateY_effect", 1414 [ 1415 'label' => esc_html__( 'Offset Y', 'elementor' ), 1416 'type' => Controls_Manager::SLIDER, 1417 'size_units' => [ '%', 'px' ], 1418 'range' => [ 1419 '%' => [ 1420 'min' => -100, 1421 'max' => 100, 1422 ], 1423 'px' => [ 1424 'min' => -1000, 1425 'max' => 1000, 1426 ], 1427 ], 1428 'condition' => [ 1429 "_transform_translate_popover!" => '', 1430 ], 1431 'selectors' => [ 1432 "{{WRAPPER}}" => '--e-transform-rw-translateY: {{SIZE}}{{UNIT}};', 1433 ], 1434 'frontend_available' => true, 1435 ] 1436 ); 1437 1438 $element->end_popover(); 1439 1440 $element->add_control( 1441 "_transform_scale_popover", 1442 [ 1443 'label' => esc_html__( 'Scale', 'elementor' ), 1444 'type' => Controls_Manager::POPOVER_TOGGLE, 1445 'prefix_class' => 'e-', 1446 'return_value' => 'transform', 1447 ] 1448 ); 1449 1450 1451 $element->start_popover(); 1452 1453 $element->add_control( 1454 "_transform_keep_proportions", 1455 [ 1456 'label' => esc_html__( 'Keep Proportions', 'elementor' ), 1457 'type' => Controls_Manager::SWITCHER, 1458 'label_on' => esc_html__( 'On', 'elementor' ), 1459 'label_off' => esc_html__( 'Off', 'elementor' ), 1460 'default' => 'yes', 1461 ] 1462 ); 1463 1464 $element->add_responsive_control( 1465 "_transform_scale_effect", 1466 [ 1467 'label' => esc_html__( 'Scale', 'elementor' ), 1468 'type' => Controls_Manager::SLIDER, 1469 'range' => [ 1470 'px' => [ 1471 'min' => 0, 1472 'max' => 2, 1473 'step' => 0.1, 1474 ], 1475 ], 1476 'condition' => [ 1477 "_transform_scale_popover!" => '', 1478 "_transform_keep_proportions!" => '', 1479 ], 1480 'selectors' => [ 1481 "{{WRAPPER}}" => '--e-transform-rw-scale: {{SIZE}};', 1482 ], 1483 'frontend_available' => true, 1484 ] 1485 ); 1486 1487 $element->add_responsive_control( 1488 "_transform_scaleX_effect", 1489 [ 1490 'label' => esc_html__( 'Scale X', 'elementor' ), 1491 'type' => Controls_Manager::SLIDER, 1492 'range' => [ 1493 'px' => [ 1494 'min' => 0, 1495 'max' => 2, 1496 'step' => 0.1, 1497 ], 1498 ], 1499 'condition' => [ 1500 "_transform_scale_popover!" => '', 1501 "_transform_keep_proportions" => '', 1502 ], 1503 'selectors' => [ 1504 "{{WRAPPER}}" => '--e-transform-rw-scaleX: {{SIZE}};', 1505 ], 1506 'frontend_available' => true, 1507 ] 1508 ); 1509 1510 $element->add_responsive_control( 1511 "_transform_scaleY_effect", 1512 [ 1513 'label' => esc_html__( 'Scale Y', 'elementor' ), 1514 'type' => Controls_Manager::SLIDER, 1515 'range' => [ 1516 'px' => [ 1517 'min' => 0, 1518 'max' => 2, 1519 'step' => 0.1, 1520 ], 1521 ], 1522 'condition' => [ 1523 "_transform_scale_popover!" => '', 1524 "_transform_keep_proportions" => '', 1525 ], 1526 'selectors' => [ 1527 "{{WRAPPER}}" => '--e-transform-rw-scaleY: {{SIZE}};', 1528 ], 1529 'frontend_available' => true, 1530 ] 1531 ); 1532 1533 $element->end_popover(); 1534 1535 $element->end_controls_section(); 1536 1537 1538 $element->start_injection( [ 'of' => 'overlay_blend_mode' ] ); 1539 $element->add_control( 1540 '_overlay_maskimage_description', 1541 [ 1542 'raw' => '<strong>' . esc_html__( 'Please note!', 'elementor' ) . '</strong> ' . esc_html__( 'Image mask only actived when overlay color background not empty.', 'gum-elementor-addon' ), 1543 'type' => Controls_Manager::RAW_HTML, 1544 'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning', 1545 'render_type' => 'ui', 1546 'condition' => [ 1547 'background_overlay_background' => [ 'classic', 'gradient' ], 1548 ], 1549 ] 1550 ); 1551 1552 $element->add_control( 1553 'background_overlay_maskimage', 1554 [ 1555 'label' => esc_html__( 'Image Mask', 'gum-elementor-addon' ), 1556 'type' => Controls_Manager::MEDIA, 1557 'media_type' => 'image', 1558 'should_include_svg_inline_option' => true, 1559 'library_type' => 'image/svg+xml', 1560 'dynamic' => [ 1561 'active' => true, 1562 ], 1563 'selectors' => [ 1564 '{{WRAPPER}} > .elementor-background-overlay' => '-webkit-mask-image: url("{{URL}}");', 1565 ], 1566 'render_type' => 'template', 1567 'condition' => [ 1568 'background_overlay_background' => [ 'classic', 'gradient' ], 1569 ], 1570 ] 1571 ); 1572 1573 1574 1575 $element->add_responsive_control( 1576 'overlay_mask_size', 1577 [ 1578 'label' => esc_html__( 'Mask Size', 'gum-elementor-addon' ), 1579 'type' => Controls_Manager::SELECT, 1580 'options' => [ 1581 'contain' => esc_html__( 'Fit', 'elementor' ), 1582 'cover' => esc_html__( 'Fill', 'elementor' ), 1583 'custom' => esc_html__( 'Custom', 'elementor' ), 1584 ], 1585 'default' => 'contain', 1586 'selectors' => [ '{{WRAPPER}} > .elementor-background-overlay' => '-webkit-mask-size: {{VALUE}};' ], 1587 'condition' => [ 1588 'background_overlay_maskimage[url]!' => '', 1589 ], 1590 ] 1591 ); 1592 1593 $element->add_responsive_control( 1594 'overlay_mask_size_scale', 1595 [ 1596 'label' => esc_html__( 'Mask Scale', 'gum-elementor-addon' ), 1597 'type' => Controls_Manager::SLIDER, 1598 'size_units' => [ 'px', 'em', '%', 'vw' ], 1599 'range' => [ 1600 'px' => [ 1601 'min' => 0, 1602 'max' => 500, 1603 ], 1604 'em' => [ 1605 'min' => 0, 1606 'max' => 100, 1607 ], 1608 '%' => [ 1609 'min' => 0, 1610 'max' => 200, 1611 ], 1612 'vw' => [ 1613 'min' => 0, 1614 'max' => 100, 1615 ], 1616 ], 1617 'default' => [ 1618 'unit' => '%', 1619 'size' => 100, 1620 ], 1621 'selectors' => [ '{{WRAPPER}} > .elementor-background-overlay' => '-webkit-mask-size: {{SIZE}}{{UNIT}};' ], 1622 'condition' => [ 1623 'background_overlay_maskimage[url]!' => '', 1624 'overlay_mask_size' => 'custom', 1625 ], 1626 ] 1627 ); 1628 1629 1630 $element->add_responsive_control( 1631 'overlay_mask_position', 1632 [ 1633 'label' => esc_html__( 'Mask Position', 'gum-elementor-addon' ), 1634 'type' => Controls_Manager::SELECT, 1635 'options' => [ 1636 'center center' => esc_html__( 'Center Center', 'elementor' ), 1637 'center left' => esc_html__( 'Center Left', 'elementor' ), 1638 'center right' => esc_html__( 'Center Right', 'elementor' ), 1639 'top center' => esc_html__( 'Top Center', 'elementor' ), 1640 'top left' => esc_html__( 'Top Left', 'elementor' ), 1641 'top right' => esc_html__( 'Top Right', 'elementor' ), 1642 'bottom center' => esc_html__( 'Bottom Center', 'elementor' ), 1643 'bottom left' => esc_html__( 'Bottom Left', 'elementor' ), 1644 'bottom right' => esc_html__( 'Bottom Right', 'elementor' ), 1645 'custom' => esc_html__( 'Custom', 'elementor' ), 1646 ], 1647 'default' => 'center center', 1221 1648 'selectors' => [ '{{WRAPPER}} > .elementor-background-overlay' => '-webkit-mask-position: {{VALUE}};' ], 1222 1649 'condition' => [ -
gum-elementor-addon/trunk/widgets/toggle_period.php
r2964684 r2977861 241 241 242 242 243 $this->add_control( 244 'period_border_radius', 245 [ 246 'label' => esc_html__( 'Border Radius', 'gum-elementor-addon' ), 247 'type' => Controls_Manager::DIMENSIONS, 248 'size_units' => [ 'px', '%' ], 249 'selectors' => [ 250 '{{WRAPPER}} .price-period-switch .period.regular-period' => 'border-radius: {{TOP}}{{UNIT}} 0px 0px {{LEFT}}{{UNIT}};', 251 '{{WRAPPER}} .price-period-switch .period.anual-period' => 'border-radius: 0px {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} 0px;', 252 ] 253 ] 254 ); 255 256 257 $this->add_control( 258 'mainperiod', 259 [ 260 'label' => esc_html__( '1st Period', 'gum-elementor-addon' ), 261 'type' => Controls_Manager::HEADING, 262 'separator' => 'before' 263 ] 264 ); 265 243 266 $this->add_responsive_control( 244 267 'main_padding', 245 268 [ 246 'label' => esc_html__( ' 1st PeriodPadding', 'gum-elementor-addon' ),269 'label' => esc_html__( 'Padding', 'gum-elementor-addon' ), 247 270 'type' => Controls_Manager::DIMENSIONS, 248 271 'size_units' => [ 'px', 'em', '%' ], … … 261 284 262 285 263 286 $this->add_control( 287 'mainperiod_radius', 288 [ 289 'label' => esc_html__( 'Border Radius', 'gum-elementor-addon' ), 290 'type' => Controls_Manager::DIMENSIONS, 291 'size_units' => [ 'px', '%' ], 292 'description' => esc_html__( 'Warning: This style will remove next version. Please use radius on each period style', 'gum-elementor-addon' ), 293 'selectors' => [ 294 '{{WRAPPER}} .price-period-switch .period.regular-period' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{LEFT}}{{UNIT}} {{LEFT}}{{UNIT}};', 295 ] 296 ] 297 ); 298 299 $this->add_control( 300 'anualperiod', 301 [ 302 'label' => esc_html__( '2nd Period', 'gum-elementor-addon' ), 303 'type' => Controls_Manager::HEADING, 304 'separator' => 'before' 305 ] 306 ); 307 264 308 $this->add_responsive_control( 265 309 'anual_padding', 266 310 [ 267 'label' => esc_html__( ' 2nd PeriodPadding', 'gum-elementor-addon' ),311 'label' => esc_html__( 'Padding', 'gum-elementor-addon' ), 268 312 'type' => Controls_Manager::DIMENSIONS, 269 313 'size_units' => [ 'px', 'em', '%' ], … … 283 327 284 328 $this->add_control( 285 ' period_border_radius',329 'anualperiod_radius', 286 330 [ 287 331 'label' => esc_html__( 'Border Radius', 'gum-elementor-addon' ), … … 289 333 'size_units' => [ 'px', '%' ], 290 334 'selectors' => [ 291 '{{WRAPPER}} .price-period-switch .period.regular-period' => 'border-radius: {{TOP}}{{UNIT}} 0px 0px {{LEFT}}{{UNIT}};', 292 '{{WRAPPER}} .price-period-switch .period.anual-period' => 'border-radius: 0px {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} 0px;', 335 '{{WRAPPER}} .price-period-switch .period.anual-period' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{LEFT}}{{UNIT}} {{LEFT}}{{UNIT}};', 293 336 ] 294 337 ] … … 297 340 298 341 299 $this->start_controls_tabs( 'period_styles' );342 $this->start_controls_tabs( 'period_styles',['separator' => 'before'] ); 300 343 301 344 $this->start_controls_tab(
Note: See TracChangeset
for help on using the changeset viewer.