<?php namespace Elementor; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Elementor raw HTML control. * * A base control for creating raw HTML control. Displays HTML markup between * controls in the panel. * * @since 1.0.0 */ class Control_Raw_Html extends Base_UI_Control { /** * Get raw html control type. * * Retrieve the control type, in this case `raw_html`. * * @since 1.0.0 * @access public * * @return string Control type. */ public function get_type() { return 'raw_html'; } /** * Render raw html control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?> <# data.raw = elementor.compileTemplate( data.raw, { view } ); if ( data.label ) { #> <span class="elementor-control-title">{{{ data.label }}}</span> <# } #> <div class="elementor-control-raw-html {{ data.content_classes }}">{{{ data.raw }}}</div> <?php } /** * Get raw html control default settings. * * Retrieve the default settings of the raw html control. Used to return the * default settings while initializing the raw html control. * * @since 1.0.0 * @access protected * * @return array Control default settings. */ protected function get_default_settings() { return [ 'raw' => '', 'content_classes' => '', ]; } }