Current Path : /storage/v11800/affypharma/public_html/wp-content/plugins/auxin-elements/includes/elementor/widgets/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/affypharma/public_html/wp-content/plugins/auxin-elements/includes/elementor/widgets/custom-list.php |
<?php
namespace Auxin\Plugin\CoreElements\Elementor\Elements;
use Elementor\Plugin;
use Elementor\Widget_Base;
use Elementor\Controls_Manager;
use Elementor\Group_Control_Typography;
use Elementor\Core\Schemes\Typography;
use Elementor\Group_Control_Border;
use Elementor\Group_Control_Box_Shadow;
use Elementor\Group_Control_Background;
use Elementor\Repeater;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* Elementor 'Custom List' widget.
*
* Elementor widget that displays an 'Custom List' with lightbox.
*
* @since 1.0.0
*/
class CustomList extends Widget_Base {
/**
* Get widget name.
*
* Retrieve 'Custom List' widget name.
*
* @since 1.0.0
* @access public
*
* @return string Widget name.
*/
public function get_name() {
return 'aux_icon_list';
}
/**
* Get widget title.
*
* Retrieve 'Custom List' widget title.
*
* @since 1.0.0
* @access public
*
* @return string Widget title.
*/
public function get_title() {
return __('Flexible List', 'auxin-elements' );
}
/**
* Get widget icon.
*
* Retrieve 'Custom List' widget icon.
*
* @since 1.0.0
* @access public
*
* @return string Widget icon.
*/
public function get_icon() {
return 'eicon-bullet-list auxin-badge';
}
/**
* Get widget categories.
*
* Retrieve 'Custom List' widget icon.
*
* @since 1.0.0
* @access public
*
* @return string Widget icon.
*/
public function get_categories() {
return array( 'auxin-core' );
}
/**
* Register 'Custom List' widget controls.
*
* Adds different input fields to allow the user to change and customize the widget settings.
*
* @since 1.0.0
* @access protected
*/
protected function register_controls() {
/*-----------------------------------------------------------------------------------*/
/* Content TAB
/*-----------------------------------------------------------------------------------*/
$this->start_controls_section(
'list_items_section',
array(
'label' => __('Content', 'auxin-elements' ),
)
);
$repeater = new Repeater();
$repeater->add_control(
'text_primary',
array(
'label' => __( 'Text', 'auxin-elements' ),
'type' => Controls_Manager::TEXT,
'default' => 'List Item',
'label_block' => true
)
);
$repeater->add_control(
'aux_custom_list_icon',
array(
'label' => __( 'Icon', 'auxin-elements' ),
'type' => Controls_Manager::ICONS
)
);
$repeater->add_control(
'text_secondary',
array(
'label' => __( 'Secondary Text', 'auxin-elements' ),
'type' => Controls_Manager::TEXT,
'default' => '',
'label_block' => true
)
);
$repeater->add_control(
'link',
array(
'label' => __('Link','auxin-elements' ),
'type' => Controls_Manager::URL,
'placeholder' => '',
'show_external' => true,
'label_block' => true,
'dynamic' => [
'active' => true
]
)
);
$repeater->add_control(
'display_advanced',
array(
'label' => __( 'Customize this item', 'auxin-elements' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'On', 'auxin-elements' ),
'label_off' => __( 'Off', 'auxin-elements' ),
'return_value' => 'yes',
'default' => 'no'
)
);
$repeater->add_responsive_control(
'icon_custom_style_heading',
array(
'label' => __( 'Icon Styles:', 'auxin-elements' ),
'type' => Controls_Manager::HEADING,
'condition' => array(
'display_advanced' => 'yes'
),
'separator' => 'before'
)
);
$repeater->add_responsive_control(
'icon_color',
array(
'label' => __( 'Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} {{CURRENT_ITEM}} .aux-icon-list-icon' => 'color: {{VALUE}};',
),
'condition' => array(
'display_advanced' => 'yes'
)
)
);
$repeater->add_responsive_control(
'icon_background_color',
array(
'label' => __( 'Background Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} {{CURRENT_ITEM}} .aux-icon-list-icon' => 'background-color: {{VALUE}};',
),
'condition' => array(
'display_advanced' => 'yes'
)
)
);
$repeater->add_responsive_control(
'icon_item_margin',
array(
'label' => __( 'Margin', 'auxin-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', 'em' ),
'selectors' => array(
'{{WRAPPER}} {{CURRENT_ITEM}} .aux-icon-list-icon' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
),
'condition' => array(
'display_advanced' => 'yes'
),
'separator'=> 'after'
)
);
$repeater->add_responsive_control(
'text_custom_style_heading',
array(
'label' => __( 'Text Styles:', 'auxin-elements' ),
'type' => Controls_Manager::HEADING,
'condition' => array(
'display_advanced' => 'yes'
),
'separator' => 'before'
)
);
$repeater->add_responsive_control(
'text_primary_color',
array(
'label' => __( 'Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} {{CURRENT_ITEM}} .aux-icon-list-text' => 'color: {{VALUE}};',
),
'condition' => array(
'display_advanced' => 'yes'
)
)
);
$repeater->add_group_control(
Group_Control_Typography::get_type(),
array(
'name' => 'text_primary_typography',
'scheme' => Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} {{CURRENT_ITEM}} .aux-icon-list-text',
'condition'=> array(
'display_advanced' => 'yes'
)
)
);
$repeater->add_responsive_control(
'text_primary_margin',
array(
'label' => __( 'Margin', 'auxin-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', 'em' ),
'selectors' => array(
'{{WRAPPER}} {{CURRENT_ITEM}} .aux-icon-list-text' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
),
'condition' => array(
'display_advanced' => 'yes'
)
)
);
$repeater->add_control(
'text_tag',
array(
'label' => __( 'Text HTML Tag', 'auxin-elements' ),
'type' => Controls_Manager::SELECT,
'options' => array(
'span' => 'span',
'p' => 'p',
'h1' => 'H1',
'h2' => 'H2',
'h3' => 'H3',
'h4' => 'H4',
'h5' => 'H5',
'h6' => 'H6'
),
'default' => 'span',
'condition' => array(
'display_advanced' => 'yes'
),
'separator' => 'after'
)
);
$repeater->add_responsive_control(
'text_secondary_color',
array(
'label' => __( 'Secondary Text Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} {{CURRENT_ITEM}} .aux-icon-list-text2' => 'color: {{VALUE}};',
),
'condition' => array(
'display_advanced' => 'yes',
'text_secondary!' => ''
)
)
);
$repeater->add_group_control(
Group_Control_Typography::get_type(),
array(
'name' => 'text_secondary_typography',
'scheme' => Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} {{CURRENT_ITEM}} .aux-icon-list-text2',
'condition'=> array(
'display_advanced' => 'yes',
'text_secondary!' => ''
)
)
);
$repeater->add_responsive_control(
'text_secondary_margin',
array(
'label' => __( 'Secondary Text Margin', 'auxin-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', 'em' ),
'selectors' => array(
'{{WRAPPER}} {{CURRENT_ITEM}} .aux-icon-list-text2' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
),
'condition' => array(
'display_advanced' => 'yes',
'text_secondary!' => ''
),
'separator'=> 'after'
)
);
$this->add_control(
'list',
array(
'label' => __( 'List Items', 'auxin-elements' ),
'type' => Controls_Manager::REPEATER,
'default' => array(
array(
'text_primary' => 'List Item #1',
'icon' => 'check-1'
),
array(
'text_primary' => 'List Item #2',
'icon' => 'check-1'
),
array(
'text_primary' => 'List Item #3',
'icon' => 'check-1'
)
),
'fields' => $repeater->get_controls(),
'title_field' => '{{{ text_primary }}}'
)
);
$this->end_controls_section();
/*-----------------------------------------------------------------------------------*/
/* Style TAB
/*-----------------------------------------------------------------------------------*/
/* List Section
/*-------------------------------------*/
$this->start_controls_section(
'list_layout_section',
array(
'label' => __( 'Layout', 'auxin-elements' ),
'tab' => Controls_Manager::TAB_LAYOUT
)
);
$this->add_control(
'direction',
array(
'label' => __( 'Direction', 'auxin-elements' ),
'type' => Controls_Manager::SELECT,
'options' => array(
'default' => __( 'Default' , 'auxin-elements' ),
'vertical' => __( 'Vertical' , 'auxin-elements' ),
'horizontal' => __( 'Horizontal', 'auxin-elements' )
),
'default' => 'default'
)
);
$this->add_responsive_control(
'list_height',
array(
'label' => __( 'Height', 'auxin-elements' ),
'type' => Controls_Manager::SLIDER,
'size_units' => array( 'px', 'em' ),
'range' => array(
'px' => array(
'max' => 1000
),
'em' => array(
'max' => 30
)
),
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-items' => 'max-height: {{SIZE}}{{UNIT}};',
),
'condition' => array(
'direction' => 'vertical'
)
)
);
$this->add_responsive_control(
'list_width',
array(
'label' => __( 'Width', 'auxin-elements' ),
'type' => Controls_Manager::SLIDER,
'size_units' => array( 'px', 'em', '%' ),
'range' => array(
'px' => array(
'max' => 1000
),
'em' => array(
'max' => 30
),
'%' => array(
'max' => 100
)
),
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item' => 'min-width: {{SIZE}}{{UNIT}};',
),
'condition' => array(
'direction' => 'horizontal'
)
)
);
$this->add_responsive_control(
'list_column_gutter',
array(
'label' => __( 'Space Between Columns', 'auxin-elements' ),
'type' => Controls_Manager::SLIDER,
'size_units' => array( 'px', 'em' ),
'range' => array(
'px' => array(
'max' => 100
),
'em' => array(
'max' => 10
)
),
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item' => 'margin-right: {{SIZE}}{{UNIT}};',
'{{WRAPPER}} .aux-direction-horizontal .aux-icon-list-item:after' => 'right: calc(-{{SIZE}}{{UNIT}}/2);',
),
'condition' => array(
'direction!' => 'default'
)
)
);
$this->add_responsive_control(
'align',
array(
'label' => __('Horizontal Align','auxin-elements'),
'type' => Controls_Manager::CHOOSE,
'options' => array(
'flex-start' => array(
'title' => __( 'Left', 'auxin-elements' ),
'icon' => 'eicon-text-align-left',
),
'center' => array(
'title' => __( 'Center', 'auxin-elements' ),
'icon' => 'eicon-text-align-center',
),
'flex-end' => array(
'title' => __( 'Right', 'auxin-elements' ),
'icon' => 'eicon-text-align-right',
),
),
'default' => 'center',
'toggle' => true,
'selectors_dictionary' => [
'flex-start' => 'flex-start; text-align:left;',
'center' => 'center; text-align:center;',
'flex-end' => 'flex-end;text-align:right;'
],
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item, {{WRAPPER}} .aux-icon-list-items' => 'justify-content: {{VALUE}}',
)
)
);
$this->add_responsive_control(
'align_vertical',
array(
'label' => __('Vertical Align','auxin-elements'),
'type' => Controls_Manager::CHOOSE,
'options' => array(
'flex-start' => array(
'title' => __( 'Left', 'auxin-elements' ),
'icon' => 'eicon-v-align-top',
),
'center' => array(
'title' => __( 'Center', 'auxin-elements' ),
'icon' => 'eicon-v-align-middle',
),
'flex-end' => array(
'title' => __( 'Right', 'auxin-elements' ),
'icon' => 'eicon-v-align-bottom',
)
),
'default' => '',
'toggle' => true,
'selectors' => array(
'{{WRAPPER}} .aux-direction-horizontal' => 'align-items: {{VALUE}}',
'{{WRAPPER}} .aux-icon-list-item' => 'align-items: {{VALUE}}'
)
)
);
$this->end_controls_section();
/*-----------------------------------------------------------------------------------*/
/* Style TAB
/*-----------------------------------------------------------------------------------*/
/* List Section
/*-------------------------------------*/
$this->start_controls_section(
'list_style_section',
array(
'label' => __( 'List', 'auxin-elements' ),
'tab' => Controls_Manager::TAB_STYLE
)
);
$this->add_responsive_control(
'list_items_space',
array(
'label' => __( 'Space Between Rows', 'auxin-elements' ),
'type' => Controls_Manager::SLIDER,
'size_units' => array( 'px', 'em' ),
'range' => array(
'px' => array(
'max' => 25
)
),
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item:not(:last-child)' => 'padding-bottom: {{SIZE}}{{UNIT}};',
'{{WRAPPER}} .aux-icon-list-item:not(:first-child)' => 'margin-top: {{SIZE}}{{UNIT}};'
)
)
);
$this->add_control(
'connector',
array(
'label' => __( 'Display Connector', 'auxin-elements' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'On', 'auxin-elements' ),
'label_off' => __( 'Off', 'auxin-elements' ),
'return_value' => 'yes',
'default' => 'yes',
'separator' => 'before'
)
);
$this->add_control(
'connector_style',
array(
'label' => __( 'Style', 'auxin-elements' ),
'type' => Controls_Manager::SELECT,
'options' => array(
'solid' => __( 'Solid', 'auxin-elements' ),
'double' => __( 'Double', 'auxin-elements' ),
'dotted' => __( 'Dotted', 'auxin-elements' ),
'dashed' => __( 'Dashed', 'auxin-elements' ),
),
'default' => 'dashed',
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item .aux-list-connector' => 'border-bottom-style: {{VALUE}};',
),
'condition' => array(
'connector' => 'yes'
)
)
);
$this->add_responsive_control(
'connector_weight',
array(
'label' => __( 'Weight', 'auxin-elements' ),
'type' => Controls_Manager::SLIDER,
'range' => array(
'px' => array(
'max' => 10
)
),
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item .aux-list-connector' => 'border-bottom-width: {{SIZE}}{{UNIT}};',
),
'condition' => array(
'connector' => 'yes'
)
)
);
$this->add_responsive_control(
'connector_margin_left',
array(
'label' => __( 'Left Space', 'auxin-elements' ),
'type' => Controls_Manager::SLIDER,
'range' => array(
'px' => array(
'max' => 20
)
),
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item .aux-list-connector' => 'margin-left: {{SIZE}}{{UNIT}};',
),
'condition' => array(
'connector' => 'yes'
)
)
);
$this->add_responsive_control(
'connector_color',
array(
'label' => __( 'Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item .aux-list-connector' => 'border-bottom-color: {{VALUE}};'
),
'condition' => array(
'connector' => 'yes'
)
)
);
$this->add_control(
'divider',
array(
'label' => __( 'Display Divider', 'auxin-elements' ),
'type' => Controls_Manager::SWITCHER,
'label_on' => __( 'On', 'auxin-elements' ),
'label_off' => __( 'Off', 'auxin-elements' ),
'return_value' => 'yes',
'default' => 'no',
'separator' => 'before'
)
);
$this->add_control(
'divider_style',
array(
'label' => __( 'Style', 'auxin-elements' ),
'type' => Controls_Manager::SELECT,
'options' => array(
'solid' => __( 'Solid', 'auxin-elements' ),
'double' => __( 'Double', 'auxin-elements' ),
'dotted' => __( 'Dotted', 'auxin-elements' ),
'dashed' => __( 'Dashed', 'auxin-elements' ),
),
'default' => 'solid',
'selectors' => array(
'{{WRAPPER}} .aux-direction-vertical .aux-icon-list-item:not(:last-child):after' => 'border-bottom-style: {{VALUE}};',
'{{WRAPPER}} .aux-direction-horizontal .aux-icon-list-item:after' => 'border-right-style: {{VALUE}};'
),
'condition' => array(
'divider' => 'yes'
)
)
);
$this->add_responsive_control(
'divider_weight',
array(
'label' => __( 'Weight', 'auxin-elements' ),
'type' => Controls_Manager::SLIDER,
'size_units' => array( 'px' ),
'range' => array(
'px' => array(
'max' => 10
)
),
'selectors' => array(
'{{WRAPPER}} .aux-direction-vertical .aux-icon-list-item:not(:last-child):after' => 'border-bottom-width: {{SIZE}}{{UNIT}};',
'{{WRAPPER}} .aux-direction-horizontal .aux-icon-list-item:after' => 'border-right-width: {{SIZE}}{{UNIT}};'
),
'condition' => array(
'divider' => 'yes'
)
)
);
$this->add_responsive_control(
'divider_width',
array(
'label' => __( 'Width', 'auxin-elements' ),
'type' => Controls_Manager::SLIDER,
'size_units' => array( 'px', '%' ),
'range' => array(
'px' => array(
'min' => 1,
'max' => 1200
),
'%' => array(
'min' => 1,
'max' => 100
)
),
'selectors' => array(
'{{WRAPPER}} .aux-direction-vertical .aux-icon-list-item:after' => 'width: {{SIZE}}{{UNIT}};'
),
'condition' => array(
'divider' => 'yes',
'direction!' => 'horizontal'
)
)
);
$this->add_responsive_control(
'divider_color',
array(
'label' => __( 'Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-divider .aux-icon-list-item:not(:last-child):after' => 'border-bottom-color: {{VALUE}};'
),
'selectors' => array(
'{{WRAPPER}} .aux-direction-vertical .aux-icon-list-item:not(:last-child):after' => 'border-bottom-color: {{VALUE}};',
'{{WRAPPER}} .aux-direction-horizontal .aux-icon-list-item:after' => 'border-right-color: {{VALUE}};'
),
'condition' => array(
'divider' => 'yes'
)
)
);
$this->end_controls_section();
/* Text Style Section
/*-------------------------------------*/
$this->start_controls_section(
'text_style_section',
array(
'label' => __( 'Text', 'auxin-elements' ),
'tab' => Controls_Manager::TAB_STYLE
)
);
$this->add_control(
'text_style_heading',
array(
'label' => __( 'Text', 'auxin-elements' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before'
)
);
$this->add_responsive_control(
'text1_color',
array(
'label' => __( 'Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-text' => 'color: {{VALUE}};'
)
)
);
$this->add_responsive_control(
'text1_hover_color',
array(
'label' => __( 'Hover Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item:hover .aux-icon-list-text' => 'color: {{VALUE}};',
)
)
);
$this->add_group_control(
Group_Control_Typography::get_type(),
array(
'name' => 'text1_typography',
'scheme' => Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} .aux-icon-list-text'
)
);
$this->add_responsive_control(
'text1_margin',
array(
'label' => __( 'Text Margin', 'auxin-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', 'em' ),
'allowed_dimensions' => 'all',
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-text' => 'margin:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
)
)
);
/* Text2 Style Section
/*-------------------------------------*/
$this->add_control(
'text2_style_heading',
array(
'label' => __( 'Secondary Text', 'auxin-elements' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
)
);
$this->add_responsive_control(
'text2_color',
array(
'label' => __( 'Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-text2' => 'color: {{VALUE}};'
)
)
);
$this->add_responsive_control(
'text2_hover_color',
array(
'label' => __( 'Hover Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item:hover .aux-icon-list-text2' => 'color: {{VALUE}};',
)
)
);
$this->add_group_control(
Group_Control_Typography::get_type(),
array(
'name' => 'text2_typography',
'scheme' => Typography::TYPOGRAPHY_1,
'selector' => '{{WRAPPER}} .aux-icon-list-text2'
)
);
$this->add_responsive_control(
'text2_margin',
array(
'label' => __( 'Text Margin', 'auxin-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', 'em' ),
'allowed_dimensions' => 'all',
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-text2' => 'margin:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
)
)
);
$this->end_controls_section();
/* Icon Style Section
/*-------------------------------------*/
$this->start_controls_section(
'icon_style_section',
array(
'label' => __( 'Icon', 'auxin-elements' ),
'tab' => Controls_Manager::TAB_STYLE
)
);
$this->start_controls_tabs( 'icon_style_tabs' );
$this->start_controls_tab(
'icon_style_normal',
array(
'label' => __( 'Normal' , 'auxin-elements' )
)
);
$this->add_responsive_control(
'icon_color',
array(
'label' => __( 'Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'default' => '#24af29',
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-icon' => 'color: {{VALUE}};'
)
)
);
$this->add_group_control(
Group_Control_Background::get_type(),
array(
'name' => 'icon_background',
'selector' => '{{WRAPPER}} .aux-icon-list-item'
)
);
$this->end_controls_tab();
$this->start_controls_tab(
'icon_style_hover',
array(
'label' => __( 'Hover' , 'auxin-elements' )
)
);
$this->add_responsive_control(
'icon_hover_color',
array(
'label' => __( 'Color', 'auxin-elements' ),
'type' => Controls_Manager::COLOR,
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item:hover .aux-icon-list-icon' => 'color: {{VALUE}};',
)
)
);
$this->add_group_control(
Group_Control_Background::get_type(),
array(
'name' => 'icon_background_hover',
'selector' => '{{WRAPPER}} .aux-icon-list-item:hover'
)
);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->add_responsive_control(
'icon_size',
array(
'label' => __( 'Size', 'auxin-elements' ),
'type' => Controls_Manager::SLIDER,
'size_units' => array( 'px', 'em' ),
'range' => array(
'px' => array(
'max' => 100
),
'em' => array(
'max' => 10
)
),
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-icon' => 'font-size: {{SIZE}}{{UNIT}};',
),
'separator' => 'before'
)
);
$this->add_responsive_control(
'icon_margin',
array(
'label' => __( 'Margin', 'auxin-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', 'em' ),
'allowed_dimensions' => 'all',
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-icon' => 'margin:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
)
)
);
$this->add_responsive_control(
'icon_padding',
array(
'label' => __( 'Padding', 'auxin-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', 'em' ),
'allowed_dimensions' => 'all',
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-icon' => 'padding:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}; line-height:0;'
)
)
);
$this->end_controls_section();
/* List Item Style Section
/*-------------------------------------*/
$this->start_controls_section(
'list_item_style_section',
array(
'label' => __( 'List Item', 'auxin-elements' ),
'tab' => Controls_Manager::TAB_STYLE
)
);
$this->add_responsive_control(
'list_padding',
array(
'label' => __( 'Padding', 'auxin-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', 'em', '%' ),
'separator' => 'before',
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
)
)
);
$this->add_responsive_control(
'list_margin',
array(
'label' => __( 'Margin', 'auxin-elements' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => array( 'px', 'em' ),
'allowed_dimensions' => 'all',
'selectors' => array(
'{{WRAPPER}} .aux-icon-list-item' => 'margin:{{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
),
'separator' => 'after'
)
);
$this->start_controls_tabs( 'list_colors' );
$this->start_controls_tab(
'list_status_normal',
array(
'label' => __( 'Normal' , 'auxin-elements' )
)
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
array(
'name' => 'list_boxshadow_normal',
'label' => __( 'Box Shadow Normal', 'auxin-elements' ),
'selector' => '{{WRAPPER}} .aux-icon-list-item',
'separator' => 'none'
)
);
$this->add_group_control(
Group_Control_Border::get_type(),
array(
'name' => 'list_border_normal',
'selector' => '{{WRAPPER}} .aux-icon-list-item',
'separator' => 'none'
)
);
$this->add_group_control(
Group_Control_Background::get_type(),
array(
'name' => 'list_background_normal',
'selector' => '{{WRAPPER}} .aux-icon-list-item',
'separator' => 'none'
)
);
$this->end_controls_tab();
$this->start_controls_tab(
'list_status_hover',
array(
'label' => __( 'Hover' , 'auxin-elements' )
)
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
array(
'name' => 'list_boxshadow_hover',
'label' => __( 'Box Shadow Hover', 'auxin-elements' ),
'selector' => '{{WRAPPER}} .aux-icon-list-item:hover',
'separator' => 'none'
)
);
$this->add_group_control(
Group_Control_Border::get_type(),
array(
'name' => 'list_border_hover',
'selector' => '{{WRAPPER}} .aux-icon-list-item:hover',
'separator' => 'none'
)
);
$this->add_group_control(
Group_Control_Background::get_type(),
array(
'name' => 'list_background_hover',
'selector' => '{{WRAPPER}} .aux-icon-list-item:hover',
'separator' => 'none'
)
);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->end_controls_section();
}
/**
* Render 'Custom List' widget output on the frontend.
*
* Written in PHP and used to generate the final HTML.
*
* @since 1.0.0
* @access protected
*/
protected function render() {
$settings = $this->get_settings_for_display();
foreach ( $settings['list'] as $key => $list_item ) {
$settings['list'][$key]['icon'] = ! empty( $list_item['aux_custom_list_icon']['value'] ) ? $list_item['aux_custom_list_icon']['value'] : ( ! empty( $list_item['icon'] ) ? $list_item['icon'] : '' ) ;
}
$args = array(
'list' => $settings['list'], // repeater items
'direction' => $settings['direction'],
'connector' => $settings['connector'], // A line that connects primary and secondary text
'divider' => $settings['divider'], // A line between list items
'item_class_prefix' => '' // Default class prefix for each repeater item
);
// pass the args through the corresponding shortcode callback
echo auxin_widget_list_callback( $args );
}
}