Advertisement
hmbashar

Add fields for Image Accoridant on ElementsKit

Jul 6th, 2024 (edited)
857
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 48.39 KB | None | 0 0
  1. <?php
  2. namespace Elementor;
  3.  
  4. use \Elementor\ElementsKit_Widget_Image_Accordion_Handler as Handler;
  5. use \ElementsKit_Lite\Modules\Controls\Controls_Manager as ElementsKit_Controls_Manager;
  6.  
  7. if ( ! defined( 'ABSPATH' ) ) exit;
  8.  
  9.  
  10. class ElementsKit_Widget_Image_Accordion extends Widget_Base {
  11.     use \ElementsKit_Lite\Widgets\Widget_Notice;
  12.  
  13.     public $base;
  14.  
  15.     public function get_name() {
  16.         return Handler::get_name();
  17.     }
  18.  
  19.     public function get_title() {
  20.         return Handler::get_title();
  21.     }
  22.  
  23.     public function get_icon() {
  24.         return Handler::get_icon();
  25.     }
  26.  
  27.     public function get_categories() {
  28.         return Handler::get_categories();
  29.     }
  30.  
  31.     public function get_keywords() {
  32.         return Handler::get_keywords();
  33.     }
  34.  
  35.     public function get_help_url() {
  36.         return 'https://wpmet.com/doc/image-accordion/';
  37.     }
  38.  
  39.     protected function register_controls() {
  40.  
  41.         $this->start_controls_section(
  42.             'ekit_img_accordion_content_tab',
  43.             [
  44.                 'label' => esc_html__('Content', 'elementskit-lite'),
  45.                 'tab' => Controls_Manager::TAB_CONTENT,
  46.             ]
  47.         );
  48.             $repeater = new \Elementor\Repeater();
  49.  
  50.             $repeater->add_control(
  51.                 'ekit_img_accordion_active',
  52.                 [
  53.                     'label'     => esc_html__('Active ? ', 'elementskit-lite'),
  54.                     'type'      => Controls_Manager::SWITCHER,
  55.                     'default'   => 'no',
  56.                     'label_on'  => esc_html__( 'Yes', 'elementskit-lite' ),
  57.                     'label_off' => esc_html__( 'No', 'elementskit-lite' ),
  58.                 ]
  59.             );
  60.  
  61.             $repeater->add_control(
  62.                 'ekit_img_accordion_bg',
  63.                 [
  64.                     'label'     => esc_html__( 'Background Image', 'elementskit-lite' ),
  65.                     'type'      => Controls_Manager::MEDIA,
  66.                     'dynamic'   => [
  67.                         'active' => true,
  68.                     ],
  69.                     'default'   => [
  70.                         'url' => Utils::get_placeholder_image_src(),
  71.                         'id'    => -1
  72.                     ],
  73.                 ]
  74.             );
  75.  
  76.             $repeater->add_control(
  77.                 'ekit_img_accordion_title',
  78.                 [
  79.                     'label'         => esc_html__('Title', 'elementskit-lite'),
  80.                     'type'          => Controls_Manager::TEXT,
  81.                     'dynamic'       => [
  82.                         'active' => true,
  83.                     ],
  84.                     'label_block'   => true,
  85.                     'default'       => esc_html__('Image accordion Title', 'elementskit-lite'),
  86.                 ]
  87.             );
  88.  
  89.             $repeater->add_control(
  90.                 'ekit_img_accordion_subtitle',
  91.                 [
  92.                     'label'         => esc_html__('Subtitle', 'elementskit-lite'),
  93.                     'type'          => Controls_Manager::TEXT,
  94.                     'dynamic'       => [
  95.                         'active' => true,
  96.                     ],
  97.                     'label_block'   => true,
  98.                     'default'       => esc_html__('Image accordion Subtitle', 'elementskit-lite'),
  99.                 ]
  100.             );
  101.  
  102.             $repeater->add_control(
  103.                 'ekit_img_accordion_enable_icon',
  104.                 [
  105.                     'label'         => esc_html__( 'Enable Icon', 'elementskit-lite' ),
  106.                     'type'          => Controls_Manager::SWITCHER,
  107.                     'label_on'      => esc_html__( 'Yes', 'elementskit-lite' ),
  108.                     'label_off'     => esc_html__( 'No', 'elementskit-lite' ),
  109.                     'return_value'  => 'yes',
  110.                     'default'       => '',
  111.                 ]
  112.             );
  113.  
  114.             $repeater->add_control(
  115.                 'ekit_img_accordion_title_icons',
  116.                 [
  117.                     'label'             => esc_html__('Icon for title', 'elementskit-lite'),
  118.                     'type'              => Controls_Manager::ICONS,
  119.                     'fa4compatibility'  => 'ekit_img_accordion_title_icon',
  120.                     'default'           => [
  121.                         'value' => '',
  122.                     ],
  123.                     'condition'         => [
  124.                         'ekit_img_accordion_enable_icon' => 'yes',
  125.                     ]
  126.                 ]
  127.             );
  128.  
  129.             $repeater->add_control(
  130.                 'ekit_img_accordion_title_icon_position',
  131.                 [
  132.                     'label'     => esc_html__( 'Icon Position', 'elementskit-lite' ),
  133.                     'type'      => Controls_Manager::SELECT,
  134.                     'default'   => 'left',
  135.                     'options'   => [
  136.                         'left'      => esc_html__( 'Before', 'elementskit-lite' ),
  137.                         'right'     => esc_html__( 'After', 'elementskit-lite' ),
  138.                     ],
  139.                     'condition' => [
  140.                         'ekit_img_accordion_title_icons!' => '',
  141.                         'ekit_img_accordion_enable_icon' => 'yes',
  142.                     ],
  143.                 ]
  144.             );
  145.  
  146.             $repeater->add_control(
  147.                 'ekit_img_accordion_enable_wrap_link',
  148.                 [
  149.                     'label'         => esc_html__( 'Enable Wrap Link', 'elementskit-lite' ),
  150.                     'type'          => Controls_Manager::SWITCHER,
  151.                     'label_on'      => esc_html__( 'Yes', 'elementskit-lite' ),
  152.                     'label_off'     => esc_html__( 'No', 'elementskit-lite' ),
  153.                     'return_value'  => 'yes',
  154.                     'default'       => 'no',
  155.                     'separator'     => 'before',
  156.                 ]
  157.             );
  158.  
  159.             $repeater->add_control(
  160.                 'ekit_img_accordion_wrap_link_url',
  161.                 [
  162.                     'label'     => esc_html__('Wrap URL', 'elementskit-lite'),
  163.                     'type'      => Controls_Manager::URL,
  164.                     'dynamic'   => [
  165.                         'active' => true,
  166.                     ],
  167.                     'condition' => [
  168.                         'ekit_img_accordion_enable_wrap_link' => 'yes',
  169.                     ],
  170.                 ]
  171.             );
  172.  
  173.             $repeater->add_control(
  174.                 'ekit_img_accordion_enable_button',
  175.                 [
  176.                     'label'         => esc_html__( 'Enable Button', 'elementskit-lite' ),
  177.                     'type'          => Controls_Manager::SWITCHER,
  178.                     'label_on'      => esc_html__( 'Yes', 'elementskit-lite' ),
  179.                     'label_off'     => esc_html__( 'No', 'elementskit-lite' ),
  180.                     'return_value'  => 'yes',
  181.                     'default'       => 'yes',
  182.                     'separator'     => 'before',
  183.                 ]
  184.             );
  185.             $repeater->add_control(
  186.                 'ekit_img_accordion_button_icon',
  187.                 [
  188.                     'label' => esc_html__( 'Button Icon', 'elementskit-lit' ),
  189.                     'type' => \Elementor\Controls_Manager::ICONS,
  190.                     'condition'     => [
  191.                         'ekit_img_accordion_enable_button' => 'yes',
  192.                     ],
  193.                 ]
  194.             );
  195.  
  196.             $repeater->add_control(
  197.                 'ekit_img_accordion_button_label',
  198.                 [
  199.                     'label'         => esc_html__('Button Label', 'elementskit-lite'),
  200.                     'type'          => Controls_Manager::TEXT,
  201.                     'dynamic'       => [
  202.                         'active' => true,
  203.                     ],
  204.                     'label_block'   => true,
  205.                     'default'       => esc_html__('Read More','elementskit-lite'),
  206.                     'condition'     => [
  207.                         'ekit_img_accordion_enable_button' => 'yes',
  208.                     ],
  209.                 ]
  210.             );
  211.  
  212.             $repeater->add_control(
  213.                 'ekit_img_accordion_button_url',
  214.                 [
  215.                     'label'     => esc_html__('Button URL', 'elementskit-lite'),
  216.                     'type'      => Controls_Manager::URL,
  217.                     'dynamic'   => [
  218.                         'active' => true,
  219.                     ],
  220.                     'condition' => [
  221.                         'ekit_img_accordion_enable_button' => 'yes',
  222.                     ],
  223.                 ]
  224.             );
  225.  
  226.             $repeater->add_control(
  227.                 'ekit_img_accordion_enable_pupup',
  228.                 [
  229.                     'label'         => esc_html__( 'Enable Popup', 'elementskit-lite' ),
  230.                     'type'          => Controls_Manager::SWITCHER,
  231.                     'label_on'      => esc_html__( 'Yes', 'elementskit-lite' ),
  232.                     'label_off'     => esc_html__( 'No', 'elementskit-lite' ),
  233.                     'return_value'  => 'yes',
  234.                     'default'       => '',
  235.                     'separator'     => 'before',
  236.                 ]
  237.             );
  238.  
  239.             $repeater->add_control(
  240.                 'ekit_img_accordion_pup_up_icons',
  241.                 [
  242.                     'label'             => esc_html__('Pupup Icon', 'elementskit-lite'),
  243.                     'type'              => Controls_Manager::ICONS,
  244.                     'fa4compatibility'  => 'ekit_img_accordion_pup_up_icon',
  245.                     'default'           => [
  246.                         'value'     => 'icon icon-plus',
  247.                         'library'   => 'ekiticons'
  248.                     ],
  249.                     'label_block'       => true,
  250.                     'condition'         => [
  251.                         'ekit_img_accordion_enable_pupup' => 'yes'
  252.                     ]
  253.                 ]
  254.             );
  255.  
  256.             $repeater->add_control(
  257.                 'ekit_img_accordion_enable_project_link',
  258.                 [
  259.                     'label'         => esc_html__( 'Enable Project Link', 'elementskit-lite' ),
  260.                     'type'          => Controls_Manager::SWITCHER,
  261.                     'label_on'      => esc_html__( 'Yes', 'elementskit-lite' ),
  262.                     'label_off'     => esc_html__( 'No', 'elementskit-lite' ),
  263.                     'return_value'  => 'yes',
  264.                     'separator'     => 'before',
  265.                 ]
  266.             );
  267.  
  268.             $repeater->add_control(
  269.                 'ekit_img_accordion_project_link',
  270.                 [
  271.                     'label'         => esc_html__( 'Project Link', 'elementskit-lite' ),
  272.                     'type'          => Controls_Manager::URL,
  273.                     'dynamic'       => [
  274.                         'active' => true,
  275.                     ],
  276.                     'placeholder'   => esc_html__( 'https://wpmet.com', 'elementskit-lite' ),
  277.                     'condition'     => [
  278.                         'ekit_img_accordion_enable_project_link' => 'yes'
  279.                     ],
  280.                 ]
  281.             );
  282.  
  283.             $repeater->add_control(
  284.                 'ekit_img_accordion_project_link_icons',
  285.                 [
  286.                     'label'             => esc_html__('Project Link Icon', 'elementskit-lite'),
  287.                     'type'              => Controls_Manager::ICONS,
  288.                     'fa4compatibility'  => 'ekit_img_accordion_project_link_icon',
  289.                     'default'           => [
  290.                         'value' => 'icon icon icon-link',
  291.                         'library'   => 'ekiticons'
  292.                     ],
  293.                     'label_block'       => true,
  294.                     'condition'         => [
  295.                         'ekit_img_accordion_enable_project_link' => 'yes'
  296.                     ],
  297.                 ]
  298.             );
  299.  
  300.             $this->add_control(
  301.                 'ekit_img_accordion_items',
  302.                 [
  303.                     'label' => esc_html__('Accordion Items', 'elementskit-lite'),
  304.                     'type' => Controls_Manager::REPEATER,
  305.                     'default' => [
  306.                         [ 'ekit_img_accordion_title' => esc_html__('This is title','elementskit-lite') ],
  307.                         [ 'ekit_img_accordion_icon' => esc_attr('icon icon-minus') ],
  308.                         [ 'ekit_img_accordion_link' => esc_url('#') ],
  309.                         [ 'ekit_img_accordion_button_label' => esc_html__('Read More','elementskit-lite') ],
  310.                     ],
  311.                     'fields' => $repeater->get_controls(),
  312.                     'title_field' => '{{ ekit_img_accordion_title }}',
  313.                 ]
  314.             );
  315.  
  316.             $this->add_responsive_control(
  317.                 'items_style',
  318.                 [
  319.                     'label'         => esc_html__('Style', 'elementskit-lite'),
  320.                     'type'          => Controls_Manager::SELECT,
  321.                     'options'       => [
  322.                         ''              => esc_html__('Default', 'elementskit-lite'),
  323.                         'horizontal'    => esc_html__('Horizontal', 'elementskit-lite'),
  324.                         'vertical'      => esc_html__('Vertical', 'elementskit-lite'),
  325.                     ],
  326.                     'default'       => 'horizontal',
  327.                     'prefix_class'  => 'ekit-image-accordion%s-',
  328.                 ]
  329.             );
  330.  
  331.             $this->add_control(
  332.                 'active_behavior',
  333.                 [
  334.                     'label'         => esc_html__('Active Behaivor', 'elementskit-lite'),
  335.                     'type'          => Controls_Manager::SELECT,
  336.                     'options'       => [
  337.                         'click' => esc_html__('Click', 'elementskit-lite'),
  338.                         'hover' => esc_html__('Hover', 'elementskit-lite'),
  339.                     ],
  340.                     'default'       => 'click',
  341.                     'prefix_class'  => 'ekit-image-accordion-',
  342.                 ]
  343.             );
  344.         $this->end_controls_section();
  345.  
  346.         /** Tab Style (Image accordion General Style) */
  347.       $this->start_controls_section(
  348.         'ekit_img_accordion_general_settings',
  349.         [
  350.           'label' => esc_html__( 'General', 'elementskit-lite' ),
  351.           'tab' => Controls_Manager::TAB_STYLE
  352.         ]
  353.       );
  354.  
  355.       $this->add_responsive_control(
  356.         'ekit_img_accordion_min_height',
  357.         [
  358.             'label' => esc_html__( 'Min Height', 'elementskit-lite' ),
  359.             'type' => Controls_Manager::SLIDER,
  360.             'size_units' => [ 'px' ],
  361.  
  362.             'range' => [
  363.                 'px' => [
  364.                     'min' => 0,
  365.                     'max' => 1000,
  366.                 ],
  367.             ],
  368.             'default' => [
  369.                 'unit' => 'px',
  370.                 'size' => 460,
  371.             ],
  372.             'selectors' => [
  373.                 '{{WRAPPER}} .elementskit-single-image-accordion' => 'min-height: {{SIZE}}{{UNIT}};',
  374.                 '{{WRAPPER}} .elementskit-image-accordion-wraper' => 'height: {{SIZE}}{{UNIT}};',
  375.             ],
  376.         ]
  377.     );
  378.  
  379.  
  380.       $this->add_responsive_control(
  381.         'ekit_img_accordion_gutter',
  382.         [
  383.           'label' => esc_html__( 'Gutter', 'elementskit-lite' ),
  384.           'type' => Controls_Manager::SLIDER,
  385.           'range' => [
  386.             'px' => [
  387.                 'min' => 0,
  388.                 'max' => 100,
  389.             ],
  390.           ],
  391.           'selectors' => [
  392.               '{{WRAPPER}} .elementskit-image-accordion-wraper .elementskit-single-image-accordion' => 'margin-left: {{SIZE}}{{UNIT}}; margin-right: {{SIZE}}{{UNIT}};',
  393.               '{{WRAPPER}} .elementskit-image-accordion-wraper' => 'margin-left: -{{SIZE}}{{UNIT}}; margin-right: -{{SIZE}}{{UNIT}};',
  394.           ],
  395.         ]
  396.       );
  397.      
  398.        $this->add_control(
  399.         'ekit_img_accordion_active_background_text',
  400.         [
  401.           'label' => esc_html__( 'Active Item Background', 'elementskit-lite' ),
  402.           'type' => Controls_Manager::HEADING,
  403.           'separator' => 'before'
  404.         ]
  405.       );
  406.  
  407.       $this->add_group_control(
  408.         Group_Control_Background::get_type(),
  409.             array(
  410.                 'name'     => 'ekit_img_accordion_bg_active_color',
  411.                 'selector' => '{{WRAPPER}} .elementskit-single-image-accordion:before',
  412.             )
  413.         );
  414.       $this->add_responsive_control(
  415.         'ekit_img_accordion_container_padding',
  416.         [
  417.           'label' => esc_html__( 'Padding', 'elementskit-lite' ),
  418.           'type' => Controls_Manager::DIMENSIONS,
  419.           'size_units' => [ 'px', 'em', '%' ],
  420.           'separator' => 'before',
  421.           'selectors' => [
  422.               '{{WRAPPER}} .elementskit-image-accordion-wraper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  423.           ],
  424.         ]
  425.       );
  426.  
  427.       $this->add_responsive_control(
  428.         'ekit_img_accordion_container_margin',
  429.         [
  430.           'label' => esc_html__( 'Margin', 'elementskit-lite' ),
  431.           'type' => Controls_Manager::DIMENSIONS,
  432.           'size_units' => [ 'px', 'em', '%' ],
  433.           'selectors' => [
  434.               '{{WRAPPER}} .elementskit-image-accordion-wraper' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  435.           ],
  436.         ]
  437.       );
  438.       $this->add_group_control(
  439.         Group_Control_Border::get_type(),
  440.         [
  441.           'name' => 'ekit_img_accordion_border_group',
  442.           'label' => esc_html__( 'Border', 'elementskit-lite' ),
  443.           'selector' => '{{WRAPPER}} .elementskit-image-accordion-wraper',
  444.         ]
  445.       );
  446.  
  447.       $this->add_control(
  448.         'ekit_img_accordion_border_radius',
  449.         [
  450.           'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
  451.           'type' => Controls_Manager::SLIDER,
  452.           'range' => [
  453.             'px' => [
  454.               'max' => 500,
  455.             ],
  456.           ],
  457.           'selectors' => [
  458.             '{{WRAPPER}} .elementskit-image-accordion-wraper' => 'border-radius: {{SIZE}}px;',
  459.           ],
  460.         ]
  461.       );
  462.       $this->add_group_control(
  463.         Group_Control_Box_Shadow::get_type(),
  464.         [
  465.           'name' => 'ekit_img_accordion_shadow',
  466.           'selector' => '{{WRAPPER}} .elementskit-image-accordion-wraper',
  467.         ]
  468.       );
  469.  
  470.       $this->end_controls_section();
  471.  
  472.  
  473.         /** Tab Style (Image accordion Content Style) */
  474.         $this->start_controls_section(
  475.             'ekit_img_accordion_section_img_accordion_title_settings',
  476.             [
  477.             'label' => esc_html__( 'Title', 'elementskit-lite' ),
  478.             'tab' => Controls_Manager::TAB_STYLE
  479.             ]
  480.         );
  481.  
  482.         $this->add_control(
  483.             'ekit_img_accordion_section_img_accordion_icon_title',
  484.             [
  485.                 'label' => esc_html_x( 'Margin', 'Border Control', 'elementskit-lite' ),
  486.                 'type' => Controls_Manager::DIMENSIONS,
  487.                 'default' => [
  488.                     'top' => '0',
  489.                     'bottom' => '20',
  490.                     'left' => '0',
  491.                     'right' => '0',
  492.                     'unit' => 'px',
  493.                 ],
  494.                 'selectors' => [
  495.                     '{{WRAPPER}} .elementskit-single-image-accordion .elementskit-accordion-title-wraper' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  496.                 ],
  497.             ]
  498.         );
  499.         $this->add_control(
  500.             'ekit_img_accordion_section_img_accordion_title_icon_spacing',
  501.             [
  502.                 'label' => esc_html_x( 'Title Icon Spacing', 'Border Control', 'elementskit-lite' ),
  503.                 'type' => Controls_Manager::DIMENSIONS,
  504.                 'selectors' => [
  505.                     '{{WRAPPER}} .elementskit-single-image-accordion .elementskit-accordion-title-wraper .icon-title > i, {{WRAPPER}} .elementskit-single-image-accordion .elementskit-accordion-title-wraper .icon-title > svg' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  506.                 ],
  507.             ]
  508.         );
  509.         $this->add_control(
  510.             'ekit_img_accordion_title_color',
  511.             [
  512.               'label' => esc_html__( 'Color', 'elementskit-lite' ),
  513.               'type' => Controls_Manager::COLOR,
  514.               'default' => '#fff',
  515.               'selectors' => [
  516.                 '{{WRAPPER}} .elementskit-image-accordion-wraper .elementskit-accordion-title-wraper .elementskit-accordion-title ' => 'color: {{VALUE}};',
  517.                 '{{WRAPPER}} .elementskit-image-accordion-wraper .elementskit-accordion-title-wraper .elementskit-accordion-title svg path' => 'stroke: {{VALUE}}; fill: {{VALUE}};',
  518.               ],
  519.             ]
  520.           );
  521.          
  522.           $this->add_responsive_control(
  523.             'ekit_img_accordion_title_icon_size',
  524.             [
  525.                 'label' => esc_html__( 'Icon Size', 'elementskit-lite' ),
  526.                 'type' => Controls_Manager::SLIDER,
  527.                 'size_units' => [ 'px', '%' ],
  528.                 'range' => [
  529.                     'px' => [
  530.                         'min' => 1,
  531.                         'max' => 100,
  532.                         'step' => 5,
  533.                     ],
  534.                     '%' => [
  535.                         'min' => 1,
  536.                         'max' => 100,
  537.                     ],
  538.                 ],
  539.                 'selectors' => [
  540.                     '{{WRAPPER}} .elementskit-image-accordion-wraper .elementskit-accordion-title-wraper .elementskit-accordion-title i' => 'font-size: {{SIZE}}{{UNIT}};',
  541.                     '{{WRAPPER}} .elementskit-image-accordion-wraper .elementskit-accordion-title-wraper .elementskit-accordion-title svg' => 'max-width: {{SIZE}}{{UNIT}}; height: auto',
  542.                 ],
  543.             ]
  544.         );
  545.  
  546.           $this->add_group_control(
  547.             Group_Control_Typography::get_type(),
  548.             [
  549.               'name' => 'ekit_img_accordion_title_typography_group',
  550.               'selector' => '{{WRAPPER}} .elementskit-image-accordion-wraper .elementskit-accordion-title-wraper .elementskit-accordion-title',
  551.             ]
  552.           );
  553.  
  554.  
  555.         $this->add_control(
  556.             'ekit_img_accordion_sub_title_color',
  557.             [
  558.                 'label' => esc_html__( 'Subtitle Color', 'elementskit-lite' ),
  559.                 'type' => Controls_Manager::COLOR,                
  560.                 'selectors' => [
  561.                     '{{WRAPPER}} #bashar-elementskit-accordion-title.elementskit-accordion-title.bashar-elementskit-accordion-title' => 'color: {{VALUE}};',
  562.                 ],
  563.             ]
  564.         );
  565.        
  566.         $this->add_group_control(
  567.             Group_Control_Typography::get_type(),
  568.             [
  569.                 'name' => 'ekit_img_accordion_sub_title_typography_group',
  570.                 'label' => esc_html__( 'Subtitle Typography', 'elementskit-lite' ),
  571.                 'selector' => '{{WRAPPER}} #bashar-elementskit-accordion-title.elementskit-accordion-title.bashar-elementskit-accordion-title',
  572.             ]
  573.         );
  574.  
  575.       $this->end_controls_section();
  576.  
  577.         /** Tab Style (Image accordion Content Style) */
  578.         $this->start_controls_section(
  579.             'ekit_img_accordion_section_img_accordion_content_settings',
  580.             [
  581.             'label' => esc_html__( 'Content', 'elementskit-lite' ),
  582.             'tab' => Controls_Manager::TAB_STYLE
  583.             ]
  584.         );
  585.         $this->add_responsive_control(
  586.             'ekit_img_accordion_section_img_accordion_content_align',
  587.             [
  588.                 'label' =>esc_html__( 'Alignment', 'elementskit-lite' ),
  589.                 'type' => Controls_Manager::CHOOSE,
  590.                 'options' => [
  591.                     'left'    => [
  592.                         'title' =>esc_html__( 'Left', 'elementskit-lite' ),
  593.                         'icon' => 'eicon-text-align-left',
  594.                     ],
  595.                     'center' => [
  596.                         'title' =>esc_html__( 'Center', 'elementskit-lite' ),
  597.                         'icon' => 'eicon-text-align-center',
  598.                     ],
  599.                     'right' => [
  600.                         'title' =>esc_html__( 'Right', 'elementskit-lite' ),
  601.                         'icon' => 'eicon-text-align-right',
  602.                     ],
  603.                 ],
  604.                 'selectors' => [
  605.                     '{{WRAPPER}} .elementskit-single-image-accordion .elementskit-accordion-content' => 'text-align: {{VALUE}};'
  606.                 ],
  607.                 'default' => 'center',
  608.             ]
  609.         );
  610.         $this->add_responsive_control(
  611.             'ekit_img_accordion_section_img_accordion_content_padding',
  612.             [
  613.                 'label' =>esc_html__( 'Padding', 'elementskit-lite' ),
  614.                 'type' => Controls_Manager::DIMENSIONS,
  615.                 'size_units' => [ 'px', 'em', '%' ],
  616.                 'selectors' => [
  617.                     '{{WRAPPER}} .elementskit-single-image-accordion .elementskit-accordion-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  618.                 ],
  619.             ]
  620.         );
  621.  
  622.         $this->add_responsive_control(
  623.             'ekit_img_accordion_section_img_accordion_content_position',
  624.             [
  625.                 'label' => esc_html__( 'Vertical Position', 'elementskit-lite' ),
  626.                 'type' => Controls_Manager::CHOOSE,
  627.                 'label_block' => false,
  628.                 'options' => [
  629.                     'flex-start' => [
  630.                         'title' => esc_html__( 'Top', 'elementskit-lite' ),
  631.                         'icon' => 'eicon-v-align-top',
  632.                     ],
  633.                     'center' => [
  634.                         'title' => esc_html__( 'Center', 'elementskit-lite' ),
  635.                         'icon' => 'eicon-v-align-middle',
  636.                     ],
  637.                     'flex-end' => [
  638.                         'title' => esc_html__( 'Bottom', 'elementskit-lite' ),
  639.                         'icon' => 'eicon-v-align-bottom',
  640.                     ],
  641.                 ],
  642.                 'default' => 'center',
  643.                 'selectors' => [
  644.                     '{{WRAPPER}} .elementskit-image-accordion-wraper .elementskit-single-image-accordion' => 'align-items: {{VALUE}}',
  645.                 ],
  646.             ]
  647.         );
  648.  
  649.  
  650.       $this->end_controls_section();
  651.  
  652.         // Button
  653.         $this->start_controls_section(
  654.             'ekit_img_accordion_button_style_settings',
  655.             [
  656.                 'label' => esc_html__( 'Button', 'elementskit-lite' ),
  657.                 'tab' => Controls_Manager::TAB_STYLE,
  658.             ]
  659.         );
  660.  
  661.  
  662.         $this->add_responsive_control(
  663.             'ekit_img_accordion_button_icon_size',
  664.             [
  665.                 'label' => esc_html__( 'Icon Size', 'elementskit-lite' ),
  666.                 'type' => Controls_Manager::SLIDER,
  667.                 'size_units' => ['px'],
  668.                 'selectors' => [
  669.                     '{{WRAPPER}} .elementskit-accordion-content a.bashar-elements-kits-btn-icon svg' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}}; max-width: {{SIZE}}{{UNIT}}; max-height: {{SIZE}}{{UNIT}};',
  670.                     '{{WRAPPER}} .elementskit-accordion-content a.bashar-elements-kits-btn-icon i' => 'font-size: {{SIZE}}{{UNIT}}',
  671.                 ],
  672.             ]
  673.         );
  674.  
  675.        
  676.        
  677.         $this->add_responsive_control(
  678.             'ekit_img_accordion_text_padding',
  679.             [
  680.                 'label' =>esc_html__( 'Padding', 'elementskit-lite' ),
  681.                 'type' => Controls_Manager::DIMENSIONS,
  682.                 'size_units' => [ 'px', 'em', '%' ],
  683.                 'default' => [
  684.                     'top' => 15,
  685.                     'right' => 20,
  686.                     'bottom' => 15,
  687.                     'left' => 20,
  688.                     'unit' => 'px',
  689.                     'isLinked' => true,
  690.                 ],
  691.                 'selectors' => [
  692.                     '{{WRAPPER}} .elementskit-accordion-content .elementskit-btn' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  693.                 ],
  694.             ]
  695.         );
  696.  
  697.         $this->add_group_control(
  698.             Group_Control_Typography::get_type(),
  699.             [
  700.                 'name' => 'ekit_img_accordion_btn_typography',
  701.                 'label' =>esc_html__( 'Typography', 'elementskit-lite' ),
  702.                 'selector' => '{{WRAPPER}} .elementskit-accordion-content .elementskit-btn',
  703.             ]
  704.         );
  705.  
  706.         $this->start_controls_tabs( 'ekit_img_accordion_tabs_button_style' );
  707.  
  708.         $this->start_controls_tab(
  709.             'ekit_img_accordion_tab_button_normal',
  710.             [
  711.                 'label' =>esc_html__( 'Normal', 'elementskit-lite' ),
  712.             ]
  713.         );
  714.  
  715.         $this->add_control(
  716.             'ekit_img_accordion_button_icon_color',
  717.             [
  718.                 'label' => esc_html__( 'Icon Color', 'elementskit-lite' ),
  719.                 'type' => Controls_Manager::COLOR,
  720.                 'default' => '',
  721.                 'selectors' => [
  722.                     '{{WRAPPER}} .elementskit-accordion-content a.bashar-elements-kits-btn-icon svg *' => 'stroke: {{VALUE}}; fill: {{VALUE}};',
  723.                     '{{WRAPPER}} .elementskit-accordion-content a.bashar-elements-kits-btn-icon i' => 'color: {{VALUE}}',
  724.                 ],
  725.             ]
  726.         );
  727.  
  728.  
  729.         $this->add_control(
  730.             'ekit_img_accordion_btn_text_color',
  731.             [
  732.                 'label' =>esc_html__( 'Text Color', 'elementskit-lite' ),
  733.                 'type' => Controls_Manager::COLOR,
  734.                 'default' => '#ffffff',
  735.                 'selectors' => [
  736.                     '{{WRAPPER}} .elementskit-accordion-content .elementskit-btn' => 'color: {{VALUE}};',
  737.                 ],
  738.             ]
  739.         );
  740.         $this->add_group_control(
  741.             Group_Control_Background::get_type(),
  742.             array(
  743.                 'name'     => 'ekit_img_accordion_btn_bg_color_group',
  744.                 'label' => esc_html__( 'Background', 'elementskit-lite' ),
  745.                 'selector' => '{{WRAPPER}} .elementskit-accordion-content .elementskit-btn',
  746.                 'fields_options' => [
  747.                     'background' => [
  748.                         'color' => [
  749.                                 'default' => '#fff'
  750.                             ],
  751.                     ],
  752.  
  753.                 ],
  754.  
  755.             )
  756.         );
  757.  
  758.         $this->add_control(
  759.             'ekit_img_accordion_btn_border_color',
  760.             [
  761.                 'label' => esc_html__( 'Border', 'elementskit-lite' ),
  762.                 'type' => Controls_Manager::HEADING,
  763.                 'separator' => 'before',
  764.  
  765.             ]
  766.         );
  767.  
  768.         $this->add_group_control(
  769.             Group_Control_Border::get_type(),
  770.             [
  771.                 'name' => 'ekit_img_accordion_btn_border_group',
  772.                 'label' => esc_html__( 'Border', 'elementskit-lite' ),
  773.                 'selector' => '{{WRAPPER}} .elementskit-accordion-content .elementskit-btn',
  774.                 'fields_options' => [
  775.                     'border' => [
  776.                         'default' => 'solid',
  777.                     ],
  778.                     'width' => [
  779.                         'default' => [
  780.                             'top' => '1',
  781.                             'right' => '1',
  782.                             'bottom' => '1',
  783.                             'left' => '1',
  784.                             'unit' => 'px'
  785.                         ],
  786.                     ],
  787.                     'color' => [
  788.                         'default' => '#ffffff',
  789.                     ],
  790.                 ],
  791.             ]
  792.         );
  793.         $this->add_control(
  794.             'ekit_img_accordion_btn_border_radius',
  795.             [
  796.                 'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
  797.                 'type' => Controls_Manager::DIMENSIONS,
  798.                 'size_units' => [ 'px', '%' ],
  799.                 'default' => ['top' => '5', 'bottom' => '5', 'left' => '5', 'right' => '5', 'unit' => 'px'],
  800.                 'selectors' => [
  801.                     '{{WRAPPER}} .elementskit-accordion-content .elementskit-btn' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  802.                 ],
  803.             ]
  804.         );
  805.  
  806.         $this->end_controls_tab();
  807.  
  808.         $this->start_controls_tab(
  809.             'ekit_img_accordion_btn_tab_button_hover',
  810.             [
  811.                 'label' =>esc_html__( 'Hover', 'elementskit-lite' ),
  812.             ]
  813.         );
  814.         $this->add_control(
  815.             'ekit_img_accordion_button_icon_hover_color',
  816.             [
  817.                 'label' => esc_html__( 'Icon Color', 'elementskit-lite' ),
  818.                 'type' => Controls_Manager::COLOR,
  819.                 'default' => '',
  820.                 'selectors' => [
  821.                     '{{WRAPPER}} .elementskit-accordion-content:hover a.bashar-elements-kits-btn-icon svg *' => 'stroke: {{VALUE}}; fill: {{VALUE}};',
  822.                     '{{WRAPPER}} .elementskit-accordion-content:hover a.bashar-elements-kits-btn-icon i' => 'color: {{VALUE}}',
  823.                 ],
  824.             ]
  825.         );
  826.  
  827.         $this->add_control(
  828.             'ekit_img_accordion_btn_hover_color',
  829.             [
  830.                 'label' =>esc_html__( 'Text Color', 'elementskit-lite' ),
  831.                 'type' => Controls_Manager::COLOR,
  832.                 'default' => '#fff',
  833.                 'selectors' => [
  834.                     '{{WRAPPER}} .elementskit-accordion-content .elementskit-btn:hover' => 'color: {{VALUE}};',
  835.                 ],
  836.             ]
  837.         );
  838.  
  839.         $this->add_group_control(
  840.             Group_Control_Background::get_type(),
  841.             array(
  842.                 'name'     => 'ekit_img_accordion_btn_bg_hover_color_group',
  843.                 'selector' => '{{WRAPPER}} .elementskit-accordion-content .elementskit-btn:hover',
  844.             )
  845.         );
  846.         $this->add_control(
  847.             'ekit_img_accordion_btn_border_color_hover',
  848.             [
  849.                 'label' => esc_html__( 'Border', 'elementskit-lite' ),
  850.                 'type' => Controls_Manager::HEADING,
  851.                 'separator' => 'before',
  852.             ]
  853.         );
  854.  
  855.         $this->add_group_control(
  856.             Group_Control_Border::get_type(),
  857.             [
  858.                 'name' => 'ekit_img_accordion_btn_border_hover_group',
  859.                 'label' => esc_html__( 'Border', 'elementskit-lite' ),
  860.                 'selector' => '{{WRAPPER}} .elementskit-accordion-content .elementskit-btn:hover',
  861.             ]
  862.         );
  863.         $this->add_control(
  864.             'btn_border_radius_hover',
  865.             [
  866.                 'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
  867.                 'type' => Controls_Manager::DIMENSIONS,
  868.                 'size_units' => [ 'px', '%' ],
  869.                 'selectors' => [
  870.                     '{{WRAPPER}} .elementskit-accordion-content .elementskit-btn:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  871.                 ],
  872.             ]
  873.         );
  874.         $this->end_controls_tab();
  875.         $this->end_controls_tabs();
  876.         $this->end_controls_section();
  877.         // PopUp
  878.  
  879.         $this->start_controls_section(
  880.             'ekit_img_accordion_style_section',
  881.             [
  882.                 'label' => esc_html__( 'Action Icon', 'elementskit-lite' ),
  883.                 'tab' => Controls_Manager::TAB_STYLE,
  884.             ]
  885.         );
  886.  
  887.         $this->add_control(
  888.             'actions_width',
  889.             [
  890.                 'label'     => esc_html__( 'Width', 'elementskit-lite' ),
  891.                 'type'      => Controls_Manager::SLIDER,
  892.                 'selectors' => [
  893.                     '{{WRAPPER}} .ekit-image-accordion-actions > a' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
  894.                 ]
  895.             ]
  896.         );
  897.  
  898.         $this->add_control(
  899.             'ekit_img_accordion_section_img_accordion_icon_left_spacing',
  900.             [
  901.                 'label' => esc_html__( 'Icon Left Spacing', 'elementskit-lite' ),
  902.                 'type' => Controls_Manager::SLIDER,
  903.                 'range' => [
  904.                     'px' => [
  905.                         'min' => 0,
  906.                         'max' => 100,
  907.                     ],
  908.                 ],
  909.                 'selectors' => [
  910.                     '{{WRAPPER}} .elementskit-single-image-accordion .elementskit-icon-wraper > a:not(:last-child)' => 'margin-right: {{SIZE}}px',
  911.                 ],
  912.             ]
  913.         );
  914.  
  915.         $this->add_control(
  916.             'ekit_img_accordion_section_img_accordion_icon_spacing',
  917.             [
  918.                 'label' => esc_html_x( 'Icon Container Spacing', 'Border Control', 'elementskit-lite' ),
  919.                 'type' => Controls_Manager::DIMENSIONS,
  920.                 'selectors' => [
  921.                     '{{WRAPPER}} .elementskit-single-image-accordion .elementskit-icon-wraper' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  922.                 ],
  923.             ]
  924.         );
  925.  
  926.         $this->add_control(
  927.             'actions_border_width',
  928.             [
  929.                 'label'         => esc_html__( 'Border Width', 'elementskit-lite' ),
  930.                 'type'          => Controls_Manager::NUMBER,
  931.                 'placeholder'   => '1',
  932.                 'selectors'     => [
  933.                     '{{WRAPPER}} .ekit-image-accordion-actions > a' => 'border-width: {{VALUE}}px;',
  934.                 ],
  935.             ]
  936.         );
  937.  
  938.         $this->start_controls_tabs('ekit_img_accordion_pup_up_style_tabs');
  939.  
  940.         $this->start_controls_tab(
  941.             'ekit_img_accordion_pupup_normal_tab',
  942.             [
  943.                 'label' => esc_html__( 'Normal', 'elementskit-lite' ),
  944.             ]
  945.         );
  946.         $this->add_control(
  947.             'ekit_img_accordion_pup_up_icon_color',
  948.             [
  949.                 'label' => esc_html__( 'Popup Icon Color', 'elementskit-lite' ),
  950.                 'type' => Controls_Manager::COLOR,
  951.                 'selectors' => [
  952.                     '{{WRAPPER}} .elementskit-icon-wraper a:first-child' => 'color: {{VALUE}};',
  953.                     '{{WRAPPER}} .elementskit-icon-wraper a:first-child svg path' => 'fill: {{VALUE}};',
  954.                 ],
  955.             ]
  956.         );
  957.  
  958.         $this->add_control(
  959.             'ekit_img_accordion_pup_up_project_color',
  960.             [
  961.                 'label' => esc_html__( 'Link Icon Color', 'elementskit-lite' ),
  962.                 'type' => Controls_Manager::COLOR,
  963.                 'selectors' => [
  964.                     '{{WRAPPER}} .elementskit-icon-wraper a:last-child' => 'color: {{VALUE}};',
  965.                     '{{WRAPPER}} .elementskit-icon-wraper a:last-child svg path'   => 'fill: {{VALUE}};',
  966.                 ],
  967.             ]
  968.         );
  969.  
  970.             $this->add_control(
  971.                 'action_btn_bg',
  972.                 [
  973.                     'label'     => esc_html__( 'Background Color', 'elementskit-lite' ),
  974.                     'type'      => Controls_Manager::COLOR,
  975.                     'selectors' => [
  976.                         '{{WRAPPER}} .ekit-image-accordion-actions > a' => 'background-color: {{VALUE}}; border-color: {{VALUE}};',
  977.                     ],
  978.                 ]
  979.             );
  980.  
  981.         $this->end_controls_tab();
  982.  
  983.         $this->start_controls_tab(
  984.             'ekit_img_accordion_pup_up_hover_tab',
  985.             [
  986.                 'label' => esc_html__( 'Hover', 'elementskit-lite' ),
  987.             ]
  988.         );
  989.  
  990.         $this->add_control(
  991.             'ekit_img_accordion_pup_up_icon_color_hover',
  992.             [
  993.                 'label' => esc_html__( 'Popup Icon color', 'elementskit-lite' ),
  994.                 'type' => Controls_Manager::COLOR,
  995.                 'selectors' => [
  996.                     '{{WRAPPER}} .elementskit-icon-wraper a:first-child:hover' => 'color: {{VALUE}}',
  997.                     '{{WRAPPER}} .elementskit-icon-wraper a:first-child:hover svg path'   => 'fill: {{VALUE}};',
  998.                 ],
  999.             ]
  1000.         );
  1001.  
  1002.         $this->add_control(
  1003.             'ekit_img_accordion_pup_up_project_color_hover',
  1004.             [
  1005.                 'label' => esc_html__( 'Link Icon color', 'elementskit-lite' ),
  1006.                 'type' => Controls_Manager::COLOR,
  1007.                 'selectors' => [
  1008.                     '{{WRAPPER}} .elementskit-icon-wraper a:last-child:hover' => 'color: {{VALUE}};',
  1009.                     '{{WRAPPER}} .elementskit-icon-wraper a:last-child:hover svg path'   => 'fill: {{VALUE}};',
  1010.                 ],
  1011.             ]
  1012.         );
  1013.  
  1014.             $this->add_control(
  1015.                 'action_btn_bg_hover',
  1016.                 [
  1017.                     'label'     => esc_html__( 'Background Color (Hover)', 'elementskit-lite' ),
  1018.                     'type'      => Controls_Manager::COLOR,
  1019.                     'selectors' => [
  1020.                         '{{WRAPPER}} .ekit-image-accordion-actions > a:hover' => 'background-color: {{VALUE}}; border-color: {{VALUE}};',
  1021.                     ],
  1022.                 ]
  1023.             );
  1024.  
  1025.         $this->end_controls_tab();
  1026.  
  1027.         $this->end_controls_tabs();
  1028.  
  1029.       $this->end_controls_section();
  1030.  
  1031.       $this->insert_pro_message();
  1032.     }
  1033.  
  1034.     protected function render( ) {
  1035.         echo '<div class="ekit-wid-con" >';
  1036.             $this->render_raw();
  1037.         echo '</div>';
  1038.     }
  1039.  
  1040.     protected function render_raw( ) {
  1041.         $settings = $this->get_settings_for_display();
  1042.         extract($settings);
  1043.         ?>
  1044.         <div class="ekit-image-accordion elementskit-image-accordion-wraper">
  1045.             <?php foreach ( $ekit_img_accordion_items as $key => $item ) :
  1046.  
  1047.                 $this->add_render_attribute( 'wrap-input-' . $key,[
  1048.                     'type' => 'radio',
  1049.                     'name' => 'ekit_ia_' . $this->get_id(),
  1050.                     'id' => 'ekit_ia_' . $this->get_id() .'_'. $key,
  1051.                     'class' => 'elementskit-single-image-accordion--input',
  1052.                 ] );
  1053.  
  1054.                 if($item['ekit_img_accordion_active'] == 'yes') {
  1055.                     $this->add_render_attribute( 'wrap-input-' . $key, 'checked', 'checked' );
  1056.                 }
  1057.  
  1058.                 $this->add_render_attribute( 'wrap-link-' . $key, [
  1059.                     'for' => 'ekit_ia_' . $this->get_id() .'_'. $key,
  1060.                     'class' => 'elementskit-single-image-accordion ekit-image-accordion-item',
  1061.                     'style' => 'background-image: url('.esc_url($item['ekit_img_accordion_bg']['url']).')',
  1062.                 ] );
  1063.  
  1064.                 // enabling wrap link
  1065.                 if(isset($item['ekit_img_accordion_enable_wrap_link']) && $item['ekit_img_accordion_enable_wrap_link'] == 'yes') {
  1066.                     $wrap_link = $item['ekit_img_accordion_wrap_link_url'] ?? [];
  1067.                     $wrap_link['url'] = !empty($wrap_link['url']) ? esc_url($wrap_link['url']) : '';
  1068.  
  1069.                     $this->add_render_attribute( 'wrap-link-' . $key, 'data-link', wp_json_encode($wrap_link) );
  1070.                     $this->add_render_attribute( 'wrap-link-' . $key, 'data-behavior', $active_behavior );
  1071.                     $this->add_render_attribute( 'wrap-link-' . $key, 'data-active', $item['ekit_img_accordion_active'] );
  1072.                 }
  1073.                 ?>
  1074.                 <input <?php $this->print_render_attribute_string( 'wrap-input-' . $key ); ?> hidden>
  1075.                 <label <?php $this->print_render_attribute_string( 'wrap-link-' . $key ); ?>>
  1076.                    
  1077.                     <span class="elementskit-accordion-content">
  1078.                         <?php if($item['ekit_img_accordion_enable_pupup'] == 'yes' || $item['ekit_img_accordion_enable_project_link'] == 'yes') {
  1079.                             if (!empty($item['ekit_img_accordion_project_link']['url'])) {
  1080.                                 $this->add_link_attributes( 'projectlink', $item['ekit_img_accordion_project_link'] );
  1081.                             }
  1082.                             ?>
  1083.                             <span class="elementskit-icon-wraper ekit-image-accordion-actions">
  1084.                             <?php if($item['ekit_img_accordion_enable_pupup'] == 'yes') {
  1085.  
  1086.                                 $this->add_lightbox_data_attributes( 'link' . $key,
  1087.                                     $item['ekit_img_accordion_bg']['id'],
  1088.                                     $item['ekit_img_accordion_enable_pupup'],
  1089.                                     $this->get_id()
  1090.                                 );
  1091.  
  1092.                                 $this->add_render_attribute( 'link' . $key,
  1093.                                     [
  1094.                                         'href' =>  esc_url($item['ekit_img_accordion_bg']['url']),
  1095.                                         'aria-label' => "pupup-button",
  1096.                                         'class' => "icon-outline circle",
  1097.                                     ]
  1098.                                 );
  1099.                                 ?>
  1100.                                     <a <?php $this->print_render_attribute_string( 'link' . $key ); ?>>
  1101.                                     <?php
  1102.                                         $migrated = isset( $item['__fa4_migrated']['ekit_img_accordion_pup_up_icons'] );
  1103.                                         // Check if its a new widget without previously selected icon using the old Icon control
  1104.                                         $is_new = empty( $item['ekit_img_accordion_pup_up_icon'] );
  1105.                                         if ( $is_new || $migrated ) {
  1106.  
  1107.                                             // new icon
  1108.                                             Icons_Manager::render_icon( $item['ekit_img_accordion_pup_up_icons'], [ 'aria-hidden' => 'true'] );
  1109.                                         } else {
  1110.                                             ?>
  1111.                                             <i class="<?php echo esc_attr($item['ekit_img_accordion_pup_up_icon']); ?>" aria-hidden="true"></i>
  1112.                                             <?php
  1113.                                         }
  1114.                                     ?>
  1115.                                     </a>
  1116.                             <?php } ?>
  1117.                             <?php if($item['ekit_img_accordion_enable_project_link'] == 'yes') {
  1118.                                     if ( ! empty( $item['ekit_img_accordion_project_link']['url'] ) ) {
  1119.                                         $this->add_link_attributes( 'button-2' . $key, $item['ekit_img_accordion_project_link'] );
  1120.                                         $this->add_render_attribute( 'button-2' . $key, ['role' => "link", 'aria-label' => "button-link"] );
  1121.                                     }
  1122.                                 ?>
  1123.                                     <a <?php $this->print_render_attribute_string( 'button-2' . esc_attr($key) ); ?> class="icon-outline circle">
  1124.                                     <?php
  1125.                                         $migrated = isset( $item['__fa4_migrated']['ekit_img_accordion_project_link_icons'] );
  1126.                                         // Check if its a new widget without previously selected icon using the old Icon control
  1127.                                         $is_new = empty( $item['ekit_img_accordion_project_link_icon'] );
  1128.                                         if ( $is_new || $migrated ) {
  1129.  
  1130.                                             // new icon
  1131.                                             Icons_Manager::render_icon( $item['ekit_img_accordion_project_link_icons'], [ 'aria-hidden' => 'true'] );
  1132.                                         } else {
  1133.                                             ?>
  1134.                                             <i class="<?php echo esc_attr($item['ekit_img_accordion_project_link_icon']); ?>" aria-hidden="true"></i>
  1135.                                             <?php
  1136.                                         }
  1137.                                     ?>
  1138.                                     </a>
  1139.                                 <?php } ?>
  1140.                             </span>
  1141.                             <?php } ?>
  1142.                             <span class="elementskit-accordion-title-wraper">
  1143.                                 <span class="elementskit-accordion-title <?php echo esc_attr($item['ekit_img_accordion_title_icons'] != '') ? 'icon-title' : ''?>">
  1144.                                 <?php if($item['ekit_img_accordion_enable_icon']  == 'yes'): ?>
  1145.                                     <?php if($item['ekit_img_accordion_title_icon_position'] == 'left'): ?>
  1146.                                         <!-- same-1 -->
  1147.                                         <?php
  1148.  
  1149.                                             $migrated = isset( $item['__fa4_migrated']['ekit_img_accordion_title_icons'] );
  1150.                                             // Check if its a new widget without previously selected icon using the old Icon control
  1151.                                             $is_new = empty( $item['ekit_img_accordion_title_icon'] );
  1152.                                             if ( $is_new || $migrated ) {
  1153.  
  1154.                                                 // new icon
  1155.                                                 Icons_Manager::render_icon( $item['ekit_img_accordion_title_icons'], [ 'aria-hidden' => 'true'] );
  1156.                                             } else {
  1157.                                                 ?>
  1158.                                                 <i class="<?php echo esc_attr($item['ekit_img_accordion_title_icon']); ?>" aria-hidden="true"></i>
  1159.                                                 <?php
  1160.                                             }
  1161.                                         ?>
  1162.                                     <?php endif; ?>
  1163.                                 <?php endif; ?>
  1164.  
  1165.                                 <?php echo esc_html($item['ekit_img_accordion_title']); ?>
  1166.                                
  1167.                                 <?php if($item['ekit_img_accordion_enable_icon']  == 'yes'): ?>
  1168.                                     <?php if($item['ekit_img_accordion_title_icon_position'] == 'right'): ?>
  1169.                                         <!-- same-1 -->
  1170.                                         <?php
  1171.  
  1172.                                             $migrated = isset( $item['__fa4_migrated']['ekit_img_accordion_title_icons'] );
  1173.                                             // Check if its a new widget without previously selected icon using the old Icon control
  1174.                                             $is_new = empty( $item['ekit_img_accordion_title_icon'] );
  1175.                                             if ( $is_new || $migrated ) {
  1176.  
  1177.                                                 // new icon
  1178.                                                 Icons_Manager::render_icon( $item['ekit_img_accordion_title_icons'], [ 'aria-hidden' => 'true'] );
  1179.                                             } else {
  1180.                                                 ?>
  1181.                                                 <i class="<?php echo esc_attr($item['ekit_img_accordion_title_icon']); ?>" aria-hidden="true"></i>
  1182.                                                 <?php
  1183.                                             }
  1184.                                         ?>
  1185.                                     <?php endif; ?>
  1186.                                 <?php endif; ?>
  1187.                                 </span>
  1188.                                 <span class="elementskit-accordion-title bashar-elementskit-accordion-title" id="bashar-elementskit-accordion-title">
  1189.                                     <?php echo esc_html($item['ekit_img_accordion_subtitle']); ?>
  1190.                                 </span>
  1191.                             </span>
  1192.                             <?php if($item['ekit_img_accordion_enable_button'] == 'yes') :
  1193.                             if ( ! empty( $item['ekit_img_accordion_button_url']['url'] ) ) {
  1194.                                 $this->add_link_attributes( 'button-' . $key, $item['ekit_img_accordion_button_url'] );
  1195.                             }
  1196.                             ?>
  1197.                             <span class="elementskit-btn-wraper">
  1198.                                 <a class="ekit-image-accordion--btn elementskit-btn whitespace--normal bashar-elements-kits-btn-icon" <?php $this->print_render_attribute_string( 'button-' . esc_attr($key) ); ?>>
  1199.                                 <?php \Elementor\Icons_Manager::render_icon( $item['ekit_img_accordion_button_icon'], [ 'aria-hidden' => 'true' ] ); ?>
  1200.                                     <?php echo esc_html($item['ekit_img_accordion_button_label']); ?>
  1201.                                 </a>
  1202.                             </span>
  1203.                         <?php endif; ?>
  1204.                     </span>
  1205.                 </label>
  1206.             <?php endforeach; ?>
  1207.         </div>
  1208.     <?php }
  1209. }
  1210.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement