protected function render()
{
$settings = $this->get_settings();
$this->add_render_attribute('icon', 'class', ['elementor-icon', 'elementor-animation-' . $settings['hover_animation']]);
$icon_tag = 'span';
if (!empty($settings['link']['url'])) {
$this->add_render_attribute('link', 'href', $settings['link']['url']);
$icon_tag = 'a';
if (!empty($settings['link']['is_external'])) {
$this->add_render_attribute('link', 'target', '_blank');
}
}
$this->add_render_attribute('i', 'class', $settings['icon']);
$icon_attributes = $this->get_render_attribute_string('icon');
$link_attributes = $this->get_render_attribute_string('link');
?>
<div class="elementor-icon-box-wrapper">
<div class="elementor-icon-box-icon">
<<?php
echo implode(' ', [$icon_tag, $icon_attributes, $link_attributes]);
?>
>
<i <?php
echo $this->get_render_attribute_string('i');
?>
></i>
</<?php
echo $icon_tag;
?>
>
</div>
<div class="elementor-icon-box-content">
<<?php
echo $settings['title_size'];
?>
class="elementor-icon-box-title">
<<?php
echo implode(' ', [$icon_tag, $link_attributes]);
?>
><?php
echo $settings['title_text'];
?>
</<?php
echo $icon_tag;
?>
>
</<?php
echo $settings['title_size'];
?>
>
<p class="elementor-icon-box-description"><?php
echo $settings['description_text'];
?>
</p>
</div>
</div>
<?php
}