register_presets_control( 'Team_Member', $this ); $this->render_team_member_content_control(); $this->register_content_separator(); $this->register_content_social_icons_controls(); $this->register_helpful_information(); /* Style */ $this->register_style_team_member_image(); $this->register_style_team_member_content(); $this->register_style_team_member_name(); $this->register_style_team_member_designation(); $this->register_style_team_member_desc(); $this->register_style_team_member_icon(); $this->register_content_spacing_control(); } /** * Register Team Member controls. * * @since 1.16.0 * @access protected */ protected function render_team_member_content_control() { $this->start_controls_section( 'section_team_member', array( 'label' => __( 'General', 'uael' ), 'tab' => Controls_Manager::TAB_CONTENT, ) ); $this->add_control( 'image', array( 'label' => __( 'Image', 'uael' ), 'type' => Controls_Manager::MEDIA, 'default' => array( 'url' => Utils::get_placeholder_image_src(), ), 'dynamic' => array( 'active' => true, ), ) ); $this->add_group_control( Group_Control_Image_Size::get_type(), array( 'name' => 'image', 'default' => 'medium', 'separator' => 'none', ) ); $this->add_responsive_control( 'member_image_size', array( 'label' => __( 'Width', 'uael' ), 'type' => Controls_Manager::SLIDER, 'size_units' => array( 'px', 'em', 'rem', '%' ), 'range' => array( 'px' => array( 'min' => 1, 'max' => 2000, ), ), 'default' => array( 'size' => 150, 'unit' => 'px', ), 'selectors' => array( '{{WRAPPER}} .uael-team-member-image img' => 'width: {{SIZE}}{{UNIT}};', ), ) ); $this->add_responsive_control( 'member_image_height', array( 'label' => __( 'Height', 'uael' ), 'type' => Controls_Manager::SLIDER, 'size_units' => array( 'px', 'em', 'rem', '%' ), 'range' => array( 'px' => array( 'min' => 1, 'max' => 2000, ), ), 'selectors' => array( '{{WRAPPER}} .uael-team-member-image img' => 'height: {{SIZE}}{{UNIT}};', ), ) ); $this->add_control( 'team_member_name', array( 'label' => __( 'Name', 'uael' ), 'type' => Controls_Manager::TEXT, 'dynamic' => array( 'active' => true, ), 'placeholder' => __( 'Enter Name', 'uael' ), 'default' => __( 'John Doe', 'uael' ), ) ); $this->add_control( 'show_team_member_desig', array( 'label' => __( 'Show Designation', 'uael' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => __( 'Yes', 'uael' ), 'label_off' => __( 'No', 'uael' ), 'return_value' => 'yes', 'default' => 'yes', ) ); $this->add_control( 'team_member_desig', array( 'label' => __( 'Designation', 'uael' ), 'type' => Controls_Manager::TEXT, 'dynamic' => array( 'active' => true, ), 'placeholder' => __( 'Enter Designation', 'uael' ), 'default' => __( 'CEO', 'uael' ), 'condition' => array( 'show_team_member_desig' => 'yes', ), ) ); $this->add_control( 'show_team_member_desc', array( 'label' => __( 'Show Description', 'uael' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => __( 'Yes', 'uael' ), 'label_off' => __( 'No', 'uael' ), 'return_value' => 'yes', 'default' => 'yes', ) ); $this->add_control( 'team_member_desc', array( 'label' => __( 'Description', 'uael' ), 'type' => Controls_Manager::TEXTAREA, 'dynamic' => array( 'active' => true, ), 'placeholder' => __( 'Describe here', 'uael' ), 'default' => __( 'Enter description text here.Lorem ipsum dolor sit amet consectetur adipiscing.', 'uael' ), 'condition' => array( 'show_team_member_desc' => 'yes', ), ) ); $this->end_controls_section(); } /** * Register Team member separator style and controls. * * @since 1.16.0 * @access protected */ protected function register_content_separator() { $this->start_controls_section( 'section_separator', array( 'label' => __( 'Separator', 'uael' ), 'tab' => Controls_Manager::TAB_CONTENT, ) ); $this->add_control( 'separator_settings', array( 'label' => __( 'Separator', 'uael' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => __( 'Show', 'uael' ), 'label_off' => __( 'Hide', 'uael' ), 'return_value' => 'yes', 'default' => 'yes', ) ); $this->add_control( 'separator_position', array( 'label' => __( 'Position', 'uael' ), 'type' => Controls_Manager::SELECT, 'default' => 'below_desig', 'options' => array( 'below_name' => __( 'Below Name', 'uael' ), 'below_desig' => __( 'Below Designation', 'uael' ), 'below_desc' => __( 'Below Description', 'uael' ), ), 'condition' => array( 'separator_settings' => 'yes', ), ) ); $this->add_responsive_control( 'separator_size', array( 'label' => __( 'Width', 'uael' ), 'type' => Controls_Manager::SLIDER, 'size_units' => array( 'px', '%' ), 'range' => array( 'px' => array( 'min' => 0, 'max' => 1000, ), '%' => array( 'min' => 0, 'max' => 100, ), ), 'default' => array( 'size' => '20', 'unit' => '%', ), 'selectors' => array( '{{WRAPPER}} .uael-separator ' => 'width: {{SIZE}}{{UNIT}};', ), 'condition' => array( 'separator_settings' => 'yes', ), ) ); $this->add_responsive_control( 'separator_thickness', array( 'label' => __( 'Thickness', 'uael' ), 'type' => Controls_Manager::SLIDER, 'size_units' => array( 'px', 'em', 'rem' ), 'range' => array( 'px' => array( 'min' => 1, 'max' => 10, ), ), 'default' => array( 'size' => 2, 'unit' => 'px', ), 'condition' => array( 'separator_settings' => 'yes', ), 'selectors' => array( '{{WRAPPER}} .uael-separator' => 'border-top-width: {{SIZE}}{{UNIT}};', ), ) ); $this->add_control( 'separator_color', array( 'label' => __( 'Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'global' => array( 'default' => Global_Colors::COLOR_ACCENT, ), 'default' => '', 'selectors' => array( '{{WRAPPER}} .uael-separator' => 'border-top-color: {{VALUE}};', ), 'condition' => array( 'separator_settings' => 'yes', ), ) ); $this->end_controls_section(); } /** * Register social icons controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since 1.16.0 * @access protected */ protected function register_content_social_icons_controls() { $this->start_controls_section( 'section_social_icon', array( 'label' => 'Social Icons', ) ); $this->add_control( 'social_icons_settings', array( 'label' => __( 'Social Icons', 'uael' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => __( 'Show', 'uael' ), 'label_off' => __( 'Hide', 'uael' ), 'return_value' => 'yes', 'default' => 'yes', ) ); $repeater = new Repeater(); if ( UAEL_Helper::is_elementor_updated() ) { $repeater->add_control( 'new_social', array( 'label' => __( 'Icon', 'uael' ), 'type' => Controls_Manager::ICONS, 'fa4compatibility' => 'social', 'label_block' => true, 'default' => array( 'value' => 'fab fa-wordpress', 'library' => 'fa-brands', ), 'recommended' => array( 'fa-brands' => array( 'android', 'apple', 'behance', 'bitbucket', 'codepen', 'delicious', 'deviantart', 'digg', 'dribbble', 'elementor', 'facebook', 'flickr', 'foursquare', 'free-code-camp', 'github', 'gitlab', 'globe', 'google-plus', 'houzz', 'instagram', 'jsfiddle', 'linkedin', 'medium', 'meetup', 'mixcloud', 'odnoklassniki', 'pinterest', 'product-hunt', 'reddit', 'shopping-cart', 'skype', 'slideshare', 'snapchat', 'soundcloud', 'spotify', 'stack-overflow', 'steam', 'stumbleupon', 'telegram', 'thumb-tack', 'tripadvisor', 'tumblr', 'twitch', 'twitter', 'viber', 'vimeo', 'vk', 'weibo', 'weixin', 'whatsapp', 'wordpress', 'xing', 'yelp', 'youtube', '500px', ), 'fa-solid' => array( 'envelope', 'link', 'rss', ), ), ) ); } else { $repeater->add_control( 'social', array( 'label' => __( 'Icon', 'uael' ), 'type' => Controls_Manager::ICON, 'label_block' => true, 'default' => 'fa fa-wordpress', 'include' => array( 'fa fa-android', 'fa fa-apple', 'fa fa-behance', 'fa fa-bitbucket', 'fa fa-codepen', 'fa fa-delicious', 'fa fa-deviantart', 'fa fa-digg', 'fa fa-dribbble', 'fa fa-envelope', 'fa fa-facebook', 'fa fa-flickr', 'fa fa-foursquare', 'fa fa-free-code-camp', 'fa fa-github', 'fa fa-gitlab', 'fa fa-google-plus', 'fa fa-houzz', 'fa fa-instagram', 'fa fa-jsfiddle', 'fa fa-linkedin', 'fa fa-medium', 'fa fa-meetup', 'fa fa-mixcloud', 'fa fa-odnoklassniki', 'fa fa-pinterest', 'fa fa-product-hunt', 'fa fa-reddit', 'fa fa-rss', 'fa fa-shopping-cart', 'fa fa-skype', 'fa fa-slideshare', 'fa fa-snapchat', 'fa fa-soundcloud', 'fa fa-spotify', 'fa fa-stack-overflow', 'fa fa-steam', 'fa fa-stumbleupon', 'fa fa-telegram', 'fa fa-thumb-tack', 'fa fa-tripadvisor', 'fa fa-tumblr', 'fa fa-twitch', 'fa fa-twitter', 'fa fa-vimeo', 'fa fa-vk', 'fa fa-weibo', 'fa fa-weixin', 'fa fa-whatsapp', 'fa fa-wordpress', 'fa fa-xing', 'fa fa-yelp', 'fa fa-youtube', 'fa fa-500px', ), ) ); } $repeater->add_control( 'link', array( 'label' => __( 'Link', 'uael' ), 'type' => Controls_Manager::URL, 'label_block' => true, 'default' => array( 'is_external' => 'true', ), 'placeholder' => __( 'https://your-link.com', 'uael' ), ) ); $this->add_control( 'social_icon_list', array( 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => array( array( 'new_social' => array( 'value' => 'fab fa-facebook', 'library' => 'fa-brands', ), ), array( 'new_social' => array( 'value' => 'fab fa-x-twitter', 'library' => 'fa-brands', ), ), array( 'new_social' => array( 'value' => 'fab fa-google-plus', 'library' => 'fa-brands', ), ), ), 'condition' => array( 'social_icons_settings' => 'yes', ), 'title_field' => '<# var migrated = "undefined" !== typeof __fa4_migrated, social = ( "undefined" === typeof social ) ? false : social; #>{{{ elementor.helpers.getSocialNetworkNameFromIcon( new_social, social, true, migrated, true ) }}}', //phpcs:ignore WordPressVIPMinimum.Security.Mustache.OutputNotation ) ); $this->add_control( 'shape', array( 'label' => __( 'Shape', 'uael' ), 'type' => Controls_Manager::SELECT, 'default' => 'square', 'options' => array( 'square' => __( 'Square', 'uael' ), 'rounded' => __( 'Rounded', 'uael' ), 'circle' => __( 'Circle', 'uael' ), ), 'prefix_class' => 'elementor-shape-', 'condition' => array( 'social_icons_settings' => 'yes', ), 'default' => 'rounded', ) ); $this->add_control( 'social_icons_border_radius', array( 'label' => __( 'Border Radius', 'uael' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => array( 'px', '%' ), 'default' => array( 'top' => '10', 'unit' => '%', 'right' => '10', 'unit' => '%', 'bottom' => '10', 'unit' => '%', 'left' => '10', 'unit' => '%', ), 'selectors' => array( '{{WRAPPER}} .elementor-social-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ), 'condition' => array( 'shape' => array( 'rounded' ), 'social_icons_settings' => 'yes', ), ) ); $this->end_controls_section(); } /** * Helpful Information. * * @since 1.16.0 * @access protected */ protected function register_helpful_information() { $help_link_1 = UAEL_DOMAIN . 'docs/team-member-widget/?utm_source=uael-pro-dashboard&utm_medium=uael-editor-screen&utm_campaign=uael-pro-plugin'; if ( parent::is_internal_links() ) { $this->start_controls_section( 'section_helpful_info', array( 'label' => __( 'Helpful Information', 'uael' ), ) ); $this->add_control( 'help_doc_1', array( 'type' => Controls_Manager::RAW_HTML, /* translators: %1$s Doc Link */ 'raw' => sprintf( __( '%1$s Getting started article ยป %2$s', 'uael' ), '', '' ), 'content_classes' => 'uael-editor-doc', ) ); $this->end_controls_section(); } } /** * Register team member image style. * * @since 1.16.0 * @access protected */ protected function register_style_team_member_image() { $this->start_controls_section( 'section_team_member_image_style', array( 'label' => __( 'Image', 'uael' ), 'tab' => Controls_Manager::TAB_STYLE, ) ); $this->add_control( 'image_position', array( 'label' => __( 'Image Position', 'uael' ), 'type' => Controls_Manager::SELECT, 'default' => 'above', 'options' => array( 'above' => __( 'Top', 'uael' ), 'left' => __( 'Left', 'uael' ), 'right' => __( 'Right', 'uael' ), ), 'prefix_class' => 'uael-member-image-pos-', ) ); $this->add_control( 'member_mob_view', array( 'label' => __( 'Responsive Support', 'uael' ), 'description' => __( 'Choose the breakpoint you want the layout will stack.', 'uael' ), 'type' => Controls_Manager::SELECT, 'default' => 'none', 'options' => array( 'none' => __( 'No', 'uael' ), 'tablet' => __( 'For Tablet & Mobile ', 'uael' ), 'mobile' => __( 'For Mobile Only', 'uael' ), ), 'condition' => array( 'image_position' => array( 'left', 'right' ), ), ) ); $this->add_control( 'member_image_valign', array( 'label' => __( 'Vertical Alignment', 'uael' ), 'type' => Controls_Manager::CHOOSE, 'label_block' => false, 'options' => array( 'top' => array( 'title' => __( 'Top', 'uael' ), 'icon' => 'eicon-v-align-top', ), 'middle' => array( 'title' => __( 'Middle', 'uael' ), 'icon' => 'eicon-v-align-middle', ), ), 'default' => 'top', 'condition' => array( 'image_position' => array( 'left', 'right' ), ), ) ); $this->add_control( 'image_shape', array( 'label' => __( 'Shape', 'uael' ), 'type' => Controls_Manager::SELECT, 'default' => 'square', 'options' => array( 'square' => __( 'Default', 'uael' ), 'rounded' => __( 'Rounded', 'uael' ), 'circle' => __( 'Circle', 'uael' ), ), 'prefix_class' => 'uael-shape-', ) ); $this->add_control( 'team_member_image_border_radius', array( 'label' => __( 'Border Radius', 'uael' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => array( 'px', '%' ), 'default' => array( 'top' => '10', 'unit' => '%', 'right' => '10', 'unit' => '%', 'bottom' => '10', 'unit' => '%', 'left' => '10', 'unit' => '%', ), 'selectors' => array( '{{WRAPPER}} .uael-team-member-image img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ), 'condition' => array( 'image_shape' => array( 'rounded' ), ), ) ); $this->add_control( 'image_border', array( 'label' => __( 'Border Style', 'uael' ), 'type' => Controls_Manager::SELECT, 'default' => 'none', 'label_block' => false, 'options' => array( 'none' => __( 'None', 'uael' ), 'solid' => __( 'Solid', 'uael' ), 'double' => __( 'Double', 'uael' ), 'dotted' => __( 'Dotted', 'uael' ), 'dashed' => __( 'Dashed', 'uael' ), ), 'selectors' => array( '{{WRAPPER}} .uael-team-member-image img' => 'border-style: {{VALUE}};', ), ) ); $this->add_control( 'image_border_size', array( 'label' => __( 'Border Width', 'uael' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => array( 'px' ), 'default' => array( 'top' => '1', 'bottom' => '1', 'left' => '1', 'right' => '1', 'unit' => 'px', ), 'condition' => array( 'image_border!' => 'none', ), 'selectors' => array( '{{WRAPPER}} .uael-team-member-image img' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}; box-sizing:border-box;', ), ) ); $this->add_control( 'image_border_color', array( 'label' => __( 'Border Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'global' => array( 'default' => Global_Colors::COLOR_PRIMARY, ), 'condition' => array( 'image_border!' => 'none', ), 'default' => '', 'selectors' => array( '{{WRAPPER}} .uael-team-member-image img' => 'border-color: {{VALUE}};', ), ) ); $this->add_control( 'image_border_hover_color', array( 'label' => __( 'Border Hover Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'global' => array( 'default' => Global_Colors::COLOR_SECONDARY, ), 'default' => '', 'selectors' => array( '{{WRAPPER}} .uael-team-member-image img:hover' => 'border-color: {{VALUE}};', ), 'condition' => array( 'image_border!' => 'none', ), ) ); $this->add_control( 'hover_animation', array( 'label' => __( 'Hover Animation', 'uael' ), 'type' => Controls_Manager::HOVER_ANIMATION, ) ); $this->end_controls_section(); } /** * Register team member content style. * * @since 1.33.0 * @access protected */ protected function register_style_team_member_content() { $this->start_controls_section( 'section_team_member_content_style', array( 'label' => __( 'Content', 'uael' ), 'tab' => Controls_Manager::TAB_STYLE, ) ); $this->add_responsive_control( 'align_team_member', array( 'label' => __( 'Overall Alignment', 'uael' ), 'type' => Controls_Manager::CHOOSE, 'options' => array( 'left' => array( 'title' => __( 'Left', 'uael' ), 'icon' => 'fa fa-align-left', ), 'center' => array( 'title' => __( 'Center', 'uael' ), 'icon' => 'fa fa-align-center', ), 'right' => array( 'title' => __( 'Right', 'uael' ), 'icon' => 'fa fa-align-right', ), ), 'condition' => array( 'image_position' => 'above', ), 'default' => 'center', 'prefix_class' => 'uael%s-team-member-align-', ) ); $this->add_responsive_control( 'content_padding', array( 'label' => __( 'Padding', 'uael' ), 'type' => Controls_Manager::DIMENSIONS, 'selectors' => array( '{{WRAPPER}} .uael-team-member-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ), ) ); $this->end_controls_section(); } /** * Register Team member Name style. * * @since 1.16.0 * @access protected */ protected function register_style_team_member_name() { $this->start_controls_section( 'section_team_member_name_style', array( 'label' => __( 'Name', 'uael' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => array( 'team_member_name!' => '', ), ) ); $this->add_control( 'name_size', array( 'label' => __( 'HTML Tag', 'uael' ), 'type' => Controls_Manager::SELECT, 'options' => array( 'h1' => 'H1', 'h2' => 'H2', 'h3' => 'H3', 'h4' => 'H4', 'h5' => 'H5', 'h6' => 'H6', 'div' => 'div', 'span' => 'span', 'p' => 'p', ), 'default' => 'h3', ) ); $this->add_group_control( Group_Control_Typography::get_type(), array( 'name' => 'name_typography', 'global' => array( 'default' => Global_Typography::TYPOGRAPHY_PRIMARY, ), 'selector' => '{{WRAPPER}} .uael-team-name', ) ); $this->add_control( 'name_color', array( 'label' => __( 'Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'global' => array( 'default' => Global_Colors::COLOR_PRIMARY, ), 'default' => '', 'selectors' => array( '{{WRAPPER}} .uael-team-name' => 'color: {{VALUE}};', ), ) ); $this->end_controls_section(); } /** * Register Team member designation style. * * @since 1.16.0 * @access protected */ protected function register_style_team_member_designation() { $this->start_controls_section( 'section_team_member_designation_style', array( 'label' => __( 'Designation', 'uael' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => array( 'show_team_member_desig' => 'yes', ), ) ); $this->add_group_control( Group_Control_Typography::get_type(), array( 'name' => 'designation_typography', 'global' => array( 'default' => Global_Typography::TYPOGRAPHY_TEXT, ), 'selector' => '{{WRAPPER}} .uael-team-desig', ) ); $this->add_control( 'designation_color', array( 'label' => __( 'Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'global' => array( 'default' => Global_Colors::COLOR_SECONDARY, ), 'default' => '', 'selectors' => array( '{{WRAPPER}} .uael-team-desig' => 'color: {{VALUE}};', ), ) ); $this->end_controls_section(); } /** * Register Team member description style. * * @since 1.16.0 * @access protected */ protected function register_style_team_member_desc() { $this->start_controls_section( 'section_team_member_desc_style', array( 'label' => __( 'Description', 'uael' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => array( 'show_team_member_desc' => 'yes', ), ) ); $this->add_group_control( Group_Control_Typography::get_type(), array( 'name' => 'desc_typography', 'global' => array( 'default' => Global_Typography::TYPOGRAPHY_TEXT, ), 'selector' => '{{WRAPPER}} .uael-team-desc', ) ); $this->add_control( 'desc_color', array( 'label' => __( 'Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'global' => array( 'default' => Global_Colors::COLOR_TEXT, ), 'default' => '', 'selectors' => array( '{{WRAPPER}} .uael-team-desc' => 'color: {{VALUE}};', ), ) ); $this->end_controls_section(); } /** * Register social icons style. * * @since 1.16.0 * @access protected */ protected function register_style_team_member_icon() { $this->start_controls_section( 'section_social_style', array( 'label' => __( 'Social Icons', 'uael' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => array( 'social_icons_settings' => 'yes', ), ) ); $this->add_responsive_control( 'icon_size', array( 'label' => __( 'Icon Size', 'uael' ), 'type' => Controls_Manager::SLIDER, 'range' => array( 'px' => array( 'min' => 6, 'max' => 50, ), ), 'selectors' => array( '{{WRAPPER}} .elementor-social-icon' => 'font-size: {{SIZE}}{{UNIT}};', '{{WRAPPER}} .elementor-social-icon svg' => 'height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}};', ), ) ); $this->add_responsive_control( 'icon_bg_size', array( 'label' => __( 'Icon Background Size', 'uael' ), 'type' => Controls_Manager::SLIDER, 'range' => array( 'px' => array( 'min' => 0, 'max' => 100, ), ), 'selectors' => array( '{{WRAPPER}} .elementor-social-icon, {{WRAPPER}} .elementor-social-icon svg' => 'height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}}; line-height: {{SIZE}}{{UNIT}};', ), ) ); $this->add_responsive_control( 'icon_padding', array( 'label' => __( 'Padding', 'uael' ), 'type' => Controls_Manager::SLIDER, 'selectors' => array( '{{WRAPPER}} .elementor-social-icon' => 'padding: {{SIZE}}{{UNIT}};', ), 'tablet_default' => array( 'unit' => 'em', ), 'mobile_default' => array( 'unit' => 'em', ), 'range' => array( 'em' => array( 'min' => 0, 'max' => 5, ), ), ) ); $icon_spacing = is_rtl() ? 'margin-left: {{SIZE}}{{UNIT}};' : 'margin-right: {{SIZE}}{{UNIT}};'; $this->add_responsive_control( 'icon_spacing', array( 'label' => __( 'Spacing', 'uael' ), 'type' => Controls_Manager::SLIDER, 'range' => array( 'px' => array( 'min' => 0, 'max' => 100, ), ), 'selectors' => array( '{{WRAPPER}} .elementor-social-icon:not(:last-child)' => $icon_spacing, ), 'separator' => 'after', ) ); $this->add_control( 'icon_color', array( 'label' => __( 'Color', 'uael' ), 'type' => Controls_Manager::SELECT, 'default' => 'default', 'options' => array( 'default' => __( 'Official Color', 'uael' ), 'custom' => __( 'Custom', 'uael' ), ), ) ); $this->start_controls_tabs( 'icon_style_tabs' ); $this->start_controls_tab( 'icon_style_normal_tab', array( 'label' => __( 'Normal', 'uael' ), 'condition' => array( 'icon_color' => 'custom', ), ) ); $this->add_control( 'icon_primary_color_normal', array( 'label' => __( 'Background Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'condition' => array( 'icon_color' => 'custom', ), 'selectors' => array( '{{WRAPPER}} .elementor-social-icon:not(:hover), {{WRAPPER}} .elementor-social-icon:not(:hover) svg' => 'background-color: {{VALUE}};', ), ) ); $this->add_control( 'icon_secondary_color_normal', array( 'label' => __( 'Icon Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'condition' => array( 'icon_color' => 'custom', ), 'selectors' => array( '{{WRAPPER}} .elementor-social-icon:not(:hover) i' => 'color: {{VALUE}};', '{{WRAPPER}} .elementor-social-icon:not(:hover) svg' => 'fill: {{VALUE}};', ), ) ); $this->end_controls_tab(); $this->start_controls_tab( 'icon_style_hover_tab', array( 'label' => __( 'Hover', 'uael' ), 'condition' => array( 'icon_color' => 'custom', ), ) ); $this->add_control( 'icon_primary_color_hover', array( 'label' => __( 'Background Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'condition' => array( 'icon_color' => 'custom', ), 'selectors' => array( '{{WRAPPER}} .elementor-social-icon:hover, {{WRAPPER}} .elementor-social-icon:hover svg' => 'background-color: {{VALUE}};', ), ) ); $this->add_control( 'icon_secondary_color_hover', array( 'label' => __( 'Icon Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'condition' => array( 'icon_color' => 'custom', ), 'selectors' => array( '{{WRAPPER}} .elementor-social-icon:hover i' => 'color: {{VALUE}};', '{{WRAPPER}} .elementor-social-icon:hover svg' => 'fill: {{VALUE}};', ), ) ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->add_control( 'social_icon_border', array( 'label' => __( 'Border Style', 'uael' ), 'type' => Controls_Manager::SELECT, 'default' => 'none', 'label_block' => false, 'options' => array( 'none' => __( 'None', 'uael' ), 'solid' => __( 'Solid', 'uael' ), 'double' => __( 'Double', 'uael' ), 'dotted' => __( 'Dotted', 'uael' ), 'dashed' => __( 'Dashed', 'uael' ), ), 'selectors' => array( '{{WRAPPER}} .elementor-social-icon' => 'border-style: {{VALUE}};', ), ) ); $this->add_control( 'social_icon_border_size', array( 'label' => __( 'Border Width', 'uael' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => array( 'px' ), 'default' => array( 'top' => '1', 'bottom' => '1', 'left' => '1', 'right' => '1', 'unit' => 'px', ), 'condition' => array( 'social_icon_border!' => 'none', ), 'selectors' => array( '{{WRAPPER}} .elementor-social-icon' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}; box-sizing:content-box;', ), ) ); $this->add_control( 'social_icon_border_color', array( 'label' => __( 'Border Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'global' => array( 'default' => Global_Colors::COLOR_PRIMARY, ), 'condition' => array( 'social_icon_border!' => 'none', ), 'default' => '', 'selectors' => array( '{{WRAPPER}} .elementor-social-icon' => 'border-color: {{VALUE}};', ), ) ); $this->add_control( 'social_icon_border_hover_color', array( 'label' => __( 'Border Hover Color', 'uael' ), 'type' => Controls_Manager::COLOR, 'global' => array( 'default' => Global_Colors::COLOR_SECONDARY, ), 'default' => '', 'selectors' => array( '{{WRAPPER}} .elementor-social-icon:hover' => 'border-color: {{VALUE}};', ), 'condition' => array( 'social_icon_border!' => 'none', ), ) ); $this->add_control( 'icon_hover_animation', array( 'label' => __( 'Hover Animation', 'uael' ), 'type' => Controls_Manager::HOVER_ANIMATION, ) ); $this->end_controls_section(); } /** * Register Team Member spacing controls. * * @since 1.16.0 * @access protected */ protected function register_content_spacing_control() { $this->start_controls_section( 'section_content_spacing', array( 'label' => __( 'Spacing', 'uael' ), 'tab' => Controls_Manager::TAB_STYLE, ) ); $this->add_responsive_control( 'image_margin_bottom', array( 'label' => __( 'Image Spacing', 'uael' ), 'type' => Controls_Manager::SLIDER, 'range' => array( 'px' => array( 'min' => 0, 'max' => 100, 'step' => 1, ), ), 'size_units' => array( 'px', 'em', '%' ), 'selectors' => array( '{{WRAPPER}}.uael-member-image-pos-above .uael-team-member-image' => 'margin-bottom: {{SIZE}}{{UNIT}};', '{{WRAPPER}}.uael-member-image-pos-left .uael-team-member-image' => 'margin-right: {{SIZE}}{{UNIT}};', '{{WRAPPER}}.uael-member-image-pos-right .uael-team-member-image' => 'margin-left: {{SIZE}}{{UNIT}};', '(tablet){{WRAPPER}}.uael-member-image-pos-right .uael-member-stacked-tablet .uael-team-member-image' => 'margin-bottom: {{SIZE}}{{UNIT}};margin-left:0;', '(tablet){{WRAPPER}}.uael-member-image-pos-left .uael-member-stacked-tablet .uael-team-member-image' => 'margin-bottom: {{SIZE}}{{UNIT}};margin-right:0;', '(mobile){{WRAPPER}}.uael-member-image-pos-right .uael-member-stacked-mobile .uael-team-member-image' => 'margin-bottom: {{SIZE}}{{UNIT}};margin-left:0;', '(mobile){{WRAPPER}}.uael-member-image-pos-left .uael-member-stacked-mobile .uael-team-member-image' => 'margin-bottom: {{SIZE}}{{UNIT}};margin-right:0;', ), ) ); $this->add_responsive_control( 'name_margin', array( 'label' => __( 'Name Bottom Spacing', 'uael' ), 'type' => Controls_Manager::SLIDER, 'range' => array( 'px' => array( 'min' => 0, 'max' => 100, 'step' => 1, ), ), 'size_units' => array( 'px', 'em', '%' ), 'selectors' => array( '{{WRAPPER}} .uael-team-name' => 'margin-bottom:{{SIZE}}{{UNIT}};', ), 'condition' => array( 'team_member_name!' => '', ), ) ); $this->add_responsive_control( 'desig_margin', array( 'label' => __( 'Designation Bottom Spacing', 'uael' ), 'type' => Controls_Manager::SLIDER, 'range' => array( 'px' => array( 'min' => 0, 'max' => 100, 'step' => 1, ), ), 'size_units' => array( 'px', 'em', '%' ), 'selectors' => array( '{{WRAPPER}} .uael-team-desig' => 'margin-bottom:{{SIZE}}{{UNIT}};', ), 'condition' => array( 'show_team_member_desig' => 'yes', ), ) ); $this->add_responsive_control( 'separator_margin', array( 'label' => __( 'Separator Bottom Spacing', 'uael' ), 'type' => Controls_Manager::SLIDER, 'range' => array( 'px' => array( 'min' => 0, 'max' => 100, 'step' => 1, ), ), 'size_units' => array( 'px', 'em', '%' ), 'selectors' => array( '{{WRAPPER}} .uael-separator-wrapper' => 'padding-bottom:{{SIZE}}{{UNIT}};', ), 'condition' => array( 'separator_settings' => 'yes', ), ) ); $this->add_responsive_control( 'desc_margin', array( 'label' => __( 'Description Bottom Spacing', 'uael' ), 'type' => Controls_Manager::SLIDER, 'range' => array( 'px' => array( 'min' => 0, 'max' => 100, 'step' => 1, ), ), 'size_units' => array( 'px', 'em', '%' ), 'selectors' => array( '{{WRAPPER}} .uael-team-desc' => 'margin-bottom:{{SIZE}}{{UNIT}};', ), 'condition' => array( 'show_team_member_desc' => 'yes', ), ) ); } /** * Get the position of Separator. * * @since 1.16.0 * @access protected */ protected function get_separator_position() { ?>