<# } #>
[],
'toggle' => true,
];
}
}
textarea.php 0000666 00000003720 15214147304 0007101 0 ustar 00 true,
'rows' => 5,
'placeholder' => '',
'dynamic' => [
'categories' => [ TagsModule::TEXT_CATEGORY ],
],
];
}
/**
* Render textarea 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() {
$control_uid = $this->get_control_uid();
?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
'',
'description' => '',
'show_label' => true,
'label_block' => false,
'separator' => 'default',
];
/**
* Get features.
*
* Retrieve the list of all the available features. Currently Elementor uses only
* the `UI` feature.
*
* @since 1.5.0
* @access public
* @static
*
* @return array Features array.
*/
public static function get_features() {
return [];
}
/**
* Get control type.
*
* Retrieve the control type.
*
* @since 1.5.0
* @access public
* @abstract
*/
abstract public function get_type();
/**
* Control base constructor.
*
* Initializing the control base class.
*
* @since 1.5.0
* @access public
*/
public function __construct() {
$this->set_settings( array_merge( $this->_base_settings, $this->get_default_settings() ) );
$this->set_settings( 'features', static::get_features() );
}
/**
* Enqueue control scripts and styles.
*
* Used to register and enqueue custom scripts and styles used by the control.
*
* @since 1.5.0
* @access public
*/
public function enqueue() {}
/**
* Control content template.
*
* Used to generate the control HTML in the editor using Underscore JS
* template. The variables for the class are available using `data` JS
* object.
*
* Note that the content template is wrapped by Base_Control::print_template().
*
* @since 1.5.0
* @access public
* @abstract
*/
abstract public function content_template();
/**
* Print control template.
*
* 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.5.0
* @access public
*/
final public function print_template() {
?>
[],
'title_field' => '',
'prevent_empty' => true,
'is_repeater' => true,
'item_actions' => [
'add' => true,
'duplicate' => true,
'remove' => true,
'sort' => true,
],
];
}
/**
* Get repeater control value.
*
* Retrieve the value of the repeater control from a specific Controls_Stack.
*
* @since 1.0.0
* @access public
*
* @param array $control Control
* @param array $settings Controls_Stack settings
*
* @return mixed Control values.
*/
public function get_value( $control, $settings ) {
$value = parent::get_value( $control, $settings );
if ( ! empty( $value ) ) {
foreach ( $value as &$item ) {
foreach ( $control['fields'] as $field ) {
$control_obj = Plugin::$instance->controls_manager->get_control( $field['type'] );
// Prior to 1.5.0 the fields may contains non-data controls.
if ( ! $control_obj instanceof Base_Data_Control ) {
continue;
}
$item[ $field['name'] ] = $control_obj->get_value( $field, $item );
}
}
}
return $value;
}
/**
* Import repeater.
*
* Used as a wrapper method for inner controls while importing Elementor
* template JSON file, and replacing the old data.
*
* @since 1.8.0
* @access public
*
* @param array $settings Control settings.
* @param array $control_data Optional. Control data. Default is an empty array.
*
* @return array Control settings.
*/
public function on_import( $settings, $control_data = [] ) {
if ( empty( $settings ) || empty( $control_data['fields'] ) ) {
return $settings;
}
$method = 'on_import';
foreach ( $settings as &$item ) {
foreach ( $control_data['fields'] as $field ) {
if ( empty( $field['name'] ) || empty( $item[ $field['name'] ] ) ) {
continue;
}
$control_obj = Plugin::$instance->controls_manager->get_control( $field['type'] );
if ( ! $control_obj ) {
continue;
}
if ( method_exists( $control_obj, $method ) ) {
$item[ $field['name'] ] = $control_obj->{$method}( $item[ $field['name'] ], $field );
}
}
}
return $settings;
}
/**
* Render repeater 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() {
?>
<# if ( itemActions.add ) { #>
<# } #>
'',
'id' => '',
];
}
/**
* Import media images.
*
* Used to import media control files from external sites while importing
* Elementor template JSON file, and replacing the old data.
*
* @since 1.0.0
* @access public
*
* @param array $settings Control settings
*
* @return array Control settings.
*/
public function on_import( $settings ) {
if ( empty( $settings['url'] ) ) {
return $settings;
}
$settings = Plugin::$instance->templates_manager->get_import_images_instance()->import( $settings );
if ( ! $settings ) {
$settings = [
'id' => '',
'url' => Utils::get_placeholder_image_src(),
];
}
return $settings;
}
/**
* Enqueue media control scripts and styles.
*
* Used to register and enqueue custom scripts and styles used by the media
* control.
*
* @since 1.0.0
* @access public
*/
public function enqueue() {
global $wp_version;
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
wp_enqueue_media();
wp_enqueue_style(
'media',
admin_url( '/css/media' . $suffix . '.css' ),
[],
$wp_version
);
wp_register_script(
'image-edit',
'/wp-admin/js/image-edit' . $suffix . '.js',
[
'jquery',
'json2',
'imgareaselect',
],
$wp_version,
true
);
wp_enqueue_script( 'image-edit' );
}
/**
* Render media 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() {
?>
true,
'media_type' => 'image',
'dynamic' => [
'categories' => [ TagsModule::IMAGE_CATEGORY ],
'returnType' => 'object',
],
];
}
/**
* Get media control image title.
*
* Retrieve the `title` of the image selected by the media control.
*
* @since 1.0.0
* @access public
* @static
*
* @param array $attachment Media attachment.
*
* @return string Image title.
*/
public static function get_image_title( $attachment ) {
if ( empty( $attachment['id'] ) ) {
return '';
}
return get_the_title( $attachment['id'] );
}
/**
* Get media control image alt.
*
* Retrieve the `alt` value of the image selected by the media control.
*
* @since 1.0.0
* @access public
* @static
*
* @param array $instance Media attachment.
*
* @return string Image alt.
*/
public static function get_image_alt( $instance ) {
if ( empty( $instance['id'] ) ) {
return '';
}
$attachment_id = $instance['id'];
if ( ! $attachment_id ) {
return '';
}
$attachment = get_post( $attachment_id );
if ( ! $attachment ) {
return '';
}
$alt = get_post_meta( $attachment_id, '_wp_attachment_image_alt', true );
if ( ! $alt ) {
$alt = $attachment->post_excerpt;
if ( ! $alt ) {
$alt = $attachment->post_title;
}
}
return trim( strip_tags( $alt ) );
}
}
tabs.php 0000666 00000002437 15214147304 0006221 0 ustar 00 start_controls_tabs()`
* and in the end `$widget->end_controls_tabs()`.
*
* @since 1.0.0
*/
class Control_Tabs extends Base_UI_Control {
/**
* Get tabs control type.
*
* Retrieve the control type, in this case `tabs`.
*
* @since 1.0.0
* @access public
*
* @return string Control type.
*/
public function get_type() {
return 'tabs';
}
/**
* Render tabs 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() {}
/**
* Get tabs control default settings.
*
* Retrieve the default settings of the tabs control. Used to return the
* default settings while initializing the tabs control.
*
* @since 1.0.0
* @access protected
*
* @return array Control default settings.
*/
protected function get_default_settings() {
return [
'separator' => 'none',
];
}
}
base-multiple.php 0000666 00000004037 15214147304 0010031 0 ustar 00 value` array.
*
* @since 1.0.0
* @abstract
*/
abstract class Control_Base_Multiple extends Base_Data_Control {
/**
* Get multiple control default value.
*
* Retrieve the default value of the multiple control. Used to return the default
* values while initializing the multiple control.
*
* @since 1.0.0
* @access public
*
* @return array Control default value.
*/
public function get_default_value() {
return [];
}
/**
* Get multiple control value.
*
* Retrieve the value of the multiple control from a specific Controls_Stack settings.
*
* @since 1.0.0
* @access public
*
* @param array $control Control
* @param array $settings Settings
*
* @return mixed Control values.
*/
public function get_value( $control, $settings ) {
$value = parent::get_value( $control, $settings );
if ( empty( $control['default'] ) ) {
$control['default'] = [];
}
if ( ! is_array( $value ) ) {
$value = [];
}
$control['default'] = array_merge(
$this->get_default_value(),
$control['default']
);
return array_merge(
$control['default'],
$value
);
}
/**
* Get multiple control style value.
*
* Retrieve the style of the control. Used when adding CSS rules to the control
* while extracting CSS from the `selectors` data argument.
*
* @since 1.0.5
* @since 2.3.3 New `$control_data` parameter added.
* @access public
*
* @param string $css_property CSS property.
* @param array $control_value Control value.
* @param array $control_data Control Data.
*
* @return array Control style value.
*/
public function get_style_value( $css_property, $control_value, array $control_data ) {
return $control_value[ strtolower( $css_property ) ];
}
}
section.php 0000666 00000003273 15214147304 0006733 0 ustar 00 start_controls_section()`
* and `$widget->end_controls_section()` to wrap a set of controls.
*
* @since 1.0.0
*/
class Control_Section extends Base_UI_Control {
/**
* Get section control type.
*
* Retrieve the control type, in this case `section`.
*
* @since 1.0.0
* @access public
*
* @return string Control type.
*/
public function get_type() {
return 'section';
}
/**
* Render section 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.label }}}
'none',
];
}
}
code.php 0000666 00000003451 15214147304 0006177 0 ustar 00 true,
'language' => 'html', // html/css
'rows' => 10,
];
}
/**
* Render code 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() {
$control_uid = $this->get_control_uid();
?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
'',
'height' => '',
];
}
/**
* Get image dimensions control default settings.
*
* Retrieve the default settings of the image dimensions control. Used to return
* the default settings while initializing the image dimensions control.
*
* @since 1.0.0
* @access protected
*
* @return array Control default settings.
*/
protected function get_default_settings() {
return [
'show_label' => false,
'label_block' => true,
];
}
/**
* Render image dimensions 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() {
if ( ! $this->is_image_editor_supports() ) : ?>
<#
var morePresets = getMorePresets();
if ( morePresets.length ) { #>
<# _.each( morePresets, function( preset ) { #>
{{{ preset.preset.join( ', ' ) }}}
<# } ); #>
<# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
'none',
'label_block' => true,
'show_label' => false,
];
}
}
url.php 0000666 00000011371 15214147304 0006067 0 ustar 00 '',
'is_external' => '',
'nofollow' => '',
'custom_attributes' => '',
];
}
/**
* Get url control default settings.
*
* Retrieve the default settings of the url control. Used to return the default
* settings while initializing the url control.
*
* @since 1.0.0
* @access protected
*
* @return array Control default settings.
*/
protected function get_default_settings() {
return [
'label_block' => true,
'placeholder' => __( 'Paste URL or type', 'elementor' ),
'autocomplete' => true,
'options' => [ 'is_external', 'nofollow', 'custom_attributes' ],
'dynamic' => [
'categories' => [ TagsModule::URL_CATEGORY ],
'property' => 'url',
],
'custom_attributes_description' => __( 'Set custom attributes for the link element. Separate attribute keys from values using the | (pipe) character. Separate key-value pairs with a comma.', 'elementor' ),
];
}
/**
* Render url 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() {
$control_uid = $this->get_control_uid();
$is_external_control_uid = $this->get_control_uid( 'is_external' );
$nofollow_control_uid = $this->get_control_uid( 'nofollow' );
$custom_attributes_uid = $this->get_control_uid( 'custom_attributes' );
?>
true,
'scheme' => '',
'dynamic' => [
'categories' => [
TagsModule::COLOR_CATEGORY,
],
'active' => true,
],
];
}
}
gallery.php 0000666 00000007053 15214147304 0006726 0 ustar 00 templates_manager->get_import_images_instance()->import( $attachment );
}
// Filter out attachments that don't exist
$settings = array_filter( $settings );
return $settings;
}
/**
* Render gallery 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.label }}}
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
true,
'separator' => 'none',
'dynamic' => [
'categories' => [ TagsModule::GALLERY_CATEGORY ],
'returnType' => 'object',
],
];
}
/**
* Get gallery control default values.
*
* Retrieve the default value of the gallery control. Used to return the default
* values while initializing the gallery control.
*
* @since 1.0.0
* @access public
*
* @return array Control default value.
*/
public function get_default_value() {
return [];
}
}
date-time.php 0000666 00000003532 15214147304 0007136 0 ustar 00 true,
'picker_options' => [],
];
}
/**
* Render date time 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() {
$control_uid = $this->get_control_uid();
?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
0,
'vertical' => 0,
'blur' => 10,
'spread' => 0,
'color' => 'rgba(0,0,0,0.5)',
];
}
/**
* Get box shadow control sliders.
*
* Retrieve the sliders of the box shadow control. Sliders are used while
* rendering the control output in the editor.
*
* @since 1.0.0
* @access public
*
* @return array Control sliders.
*/
public function get_sliders() {
return [
'horizontal' => [
'label' => __( 'Horizontal', 'elementor' ),
'min' => -100,
'max' => 100,
],
'vertical' => [
'label' => __( 'Vertical', 'elementor' ),
'min' => -100,
'max' => 100,
],
'blur' => [
'label' => __( 'Blur', 'elementor' ),
'min' => 0,
'max' => 100,
],
'spread' => [
'label' => __( 'Spread', 'elementor' ),
'min' => -100,
'max' => 100,
],
];
}
/**
* Render box shadow 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() {
?>
'',
'event' => '',
'button_type' => 'default',
];
}
/**
* Render button 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.9.0
* @access public
*/
public function content_template() {
?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
'none',
];
}
/**
* Render divider 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 2.0.0
* @access public
*/
public function content_template() {}
}
dimensions.php 0000666 00000007724 15214147304 0007444 0 ustar 00 '',
'right' => '',
'bottom' => '',
'left' => '',
'isLinked' => true,
]
);
}
/**
* Get dimensions control default settings.
*
* Retrieve the default settings of the dimensions control. Used to return the
* default settings while initializing the dimensions control.
*
* @since 1.0.0
* @access protected
*
* @return array Control default settings.
*/
protected function get_default_settings() {
return array_merge(
parent::get_default_settings(), [
'label_block' => true,
'allowed_dimensions' => 'all',
'placeholder' => '',
]
);
}
/**
* Render dimensions 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() {
$dimensions = [
'top' => __( 'Top', 'elementor' ),
'right' => __( 'Right', 'elementor' ),
'bottom' => __( 'Bottom', 'elementor' ),
'left' => __( 'Left', 'elementor' ),
];
?>
<# } #>
start_controls_tab()`
* and in the end `$widget->end_controls_tab()`.
*
* @since 1.0.0
*/
class Control_Tab extends Base_UI_Control {
/**
* Get tab control type.
*
* Retrieve the control type, in this case `tab`.
*
* @since 1.0.0
* @access public
*
* @return string Control type.
*/
public function get_type() {
return 'tab';
}
/**
* Render tab 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.label }}}
'none',
];
}
}
select.php 0000666 00000004751 15214147304 0006550 0 ustar 00 [],
];
}
/**
* Render select 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() {
$control_uid = $this->get_control_uid();
?>
<# if ( data.label ) {#>
<# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
get_control_uid();
?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
__( 'No', 'elementor' ),
'label_on' => __( 'Yes', 'elementor' ),
'return_value' => 'yes',
];
}
}
base-units.php 0000666 00000004340 15214147304 0007335 0 ustar 00 'px',
];
}
/**
* Get units control default settings.
*
* Retrieve the default settings of the units control. Used to return the default
* settings while initializing the units control.
*
* @since 1.0.0
* @access protected
*
* @return array Control default settings.
*/
protected function get_default_settings() {
return [
'size_units' => [ 'px' ],
'range' => [
'px' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
'em' => [
'min' => 0.1,
'max' => 10,
'step' => 0.1,
],
'rem' => [
'min' => 0.1,
'max' => 10,
'step' => 0.1,
],
'%' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
'deg' => [
'min' => 0,
'max' => 360,
'step' => 1,
],
'vh' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
'vw' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
],
];
}
/**
* Print units control settings.
*
* Used to generate the units control template in the editor.
*
* @since 1.0.0
* @access protected
*/
protected function print_units_template() {
?>
<# if ( data.size_units && data.size_units.length > 1 ) { #>
'',
'content_classes' => '',
];
}
}
number.php 0000666 00000004150 15214147305 0006553 0 ustar 00 '',
'max' => '',
'step' => '',
'placeholder' => '',
'title' => '',
'dynamic' => [
'categories' => [ TagsModule::NUMBER_CATEGORY ],
],
];
}
/**
* Render number 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() {
$control_uid = $this->get_control_uid();
?>
<# } #>
Fonts::get_font_groups(),
'options' => Fonts::get_fonts(),
];
}
/**
* Render font 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() {
$control_uid = $this->get_control_uid();
?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
'',
'sizes' => [],
]
);
}
/**
* Get slider control default settings.
*
* Retrieve the default settings of the slider control. Used to return the
* default settings while initializing the slider control.
*
* @since 1.0.0
* @access protected
*
* @return array Control default settings.
*/
protected function get_default_settings() {
return array_merge(
parent::get_default_settings(), [
'label_block' => true,
'labels' => [],
'scales' => 0,
'handles' => 'default',
'dynamic' => [
'categories' => [ TagsModule::NUMBER_CATEGORY ],
'property' => 'size',
],
]
);
}
/**
* Render slider 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() {
$control_uid = $this->get_control_uid();
?>
<# for ( var i = 0; i < data.scales; i++ ) { #>
<# } #>
<# } #>
<# } #>
<# if ( ! isMultiple ) { #>
<# } #>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
get_default_value();
}
if ( isset( $settings[ $control['name'] ] ) ) {
$value = $settings[ $control['name'] ];
} else {
$value = $control['default'];
}
return $value;
}
/**
* Parse dynamic tags.
*
* Iterates through all the controls and renders all the dynamic tags.
*
* @since 2.0.0
* @access public
*
* @param string $dynamic_value The dynamic tag text.
* @param array $dynamic_settings The dynamic tag settings.
*
* @return string|string[]|mixed A string or an array of strings with the
* return value from each tag callback function.
*/
public function parse_tags( $dynamic_value, $dynamic_settings ) {
$current_dynamic_settings = $this->get_settings( 'dynamic' );
if ( is_array( $current_dynamic_settings ) ) {
$dynamic_settings = array_merge( $current_dynamic_settings, $dynamic_settings );
}
return Plugin::$instance->dynamic_tags->parse_tags_text( $dynamic_value, $dynamic_settings, [ Plugin::$instance->dynamic_tags, 'get_tag_data_content' ] );
}
/**
* Get data control style value.
*
* Retrieve the style of the control. Used when adding CSS rules to the control
* while extracting CSS from the `selectors` data argument.
*
* @since 1.5.0
* @since 2.3.3 New `$control_data` parameter added.
* @access public
*
* @param string $css_property CSS property.
* @param string $control_value Control value.
* @param array $control_data Control Data.
*
* @return string Control style value.
*/
public function get_style_value( $css_property, $control_value, array $control_data ) {
if ( 'DEFAULT' === $css_property ) {
return $control_data['default'];
}
return $control_value;
}
/**
* Get data control unique ID.
*
* Retrieve the unique ID of the control. Used to set a uniq CSS ID for the
* element.
*
* @since 1.5.0
* @access protected
*
* @param string $input_type Input type. Default is 'default'.
*
* @return string Unique ID.
*/
protected function get_control_uid( $input_type = 'default' ) {
return 'elementor-control-' . $input_type . '-{{{ data._cid }}}';
}
}
select2.php 0000666 00000005046 15214147305 0006631 0 ustar 00 [],
'multiple' => false,
'select2options' => [],
];
}
/**
* Render select2 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() {
$control_uid = $this->get_control_uid();
?>
<# } #>
[
'fadeIn' => 'Fade In',
'fadeInDown' => 'Fade In Down',
'fadeInLeft' => 'Fade In Left',
'fadeInRight' => 'Fade In Right',
'fadeInUp' => 'Fade In Up',
],
'Zooming' => [
'zoomIn' => 'Zoom In',
'zoomInDown' => 'Zoom In Down',
'zoomInLeft' => 'Zoom In Left',
'zoomInRight' => 'Zoom In Right',
'zoomInUp' => 'Zoom In Up',
],
'Bouncing' => [
'bounceIn' => 'Bounce In',
'bounceInDown' => 'Bounce In Down',
'bounceInLeft' => 'Bounce In Left',
'bounceInRight' => 'Bounce In Right',
'bounceInUp' => 'Bounce In Up',
],
'Sliding' => [
'slideInDown' => 'Slide In Down',
'slideInLeft' => 'Slide In Left',
'slideInRight' => 'Slide In Right',
'slideInUp' => 'Slide In Up',
],
'Rotating' => [
'rotateIn' => 'Rotate In',
'rotateInDownLeft' => 'Rotate In Down Left',
'rotateInDownRight' => 'Rotate In Down Right',
'rotateInUpLeft' => 'Rotate In Up Left',
'rotateInUpRight' => 'Rotate In Up Right',
],
'Attention Seekers' => [
'bounce' => 'Bounce',
'flash' => 'Flash',
'pulse' => 'Pulse',
'rubberBand' => 'Rubber Band',
'shake' => 'Shake',
'headShake' => 'Head Shake',
'swing' => 'Swing',
'tada' => 'Tada',
'wobble' => 'Wobble',
'jello' => 'Jello',
],
'Light Speed' => [
'lightSpeedIn' => 'Light Speed In',
],
'Specials' => [
'rollIn' => 'Roll In',
],
];
/**
* Element appearance animations list.
*
* @since 2.4.0
*
* @param array $additional_animations Additional Animations array.
*/
$additional_animations = apply_filters( 'elementor/controls/animations/additional_animations', [] );
return array_merge( $animations, $additional_animations );
}
/**
* Render animations control template.
*
* 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() {
$control_uid = $this->get_control_uid();
?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
'Grow',
'shrink' => 'Shrink',
'pulse' => 'Pulse',
'pulse-grow' => 'Pulse Grow',
'pulse-shrink' => 'Pulse Shrink',
'push' => 'Push',
'pop' => 'Pop',
'bounce-in' => 'Bounce In',
'bounce-out' => 'Bounce Out',
'rotate' => 'Rotate',
'grow-rotate' => 'Grow Rotate',
'float' => 'Float',
'sink' => 'Sink',
'bob' => 'Bob',
'hang' => 'Hang',
'skew' => 'Skew',
'skew-forward' => 'Skew Forward',
'skew-backward' => 'Skew Backward',
'wobble-vertical' => 'Wobble Vertical',
'wobble-horizontal' => 'Wobble Horizontal',
'wobble-to-bottom-right' => 'Wobble To Bottom Right',
'wobble-to-top-right' => 'Wobble To Top Right',
'wobble-top' => 'Wobble Top',
'wobble-bottom' => 'Wobble Bottom',
'wobble-skew' => 'Wobble Skew',
'buzz' => 'Buzz',
'buzz-out' => 'Buzz Out',
];
$additional_animations = [];
/**
* Element hover animations list.
*
* @since 2.4.0
*
* @param array $additional_animations Additional Animations array.
*/
$additional_animations = apply_filters( 'elementor/controls/hover_animations/additional_animations', $additional_animations );
self::$_animations = array_merge( self::$_animations, $additional_animations );
}
return self::$_animations;
}
/**
* Render hover animation 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() {
$control_uid = $this->get_control_uid();
?>
<# if ( data.description ) { #>
{{{ data.description }}}
<# } #>
true,
];
}
}
text-shadow.php 0000666 00000006201 15214147305 0007531 0 ustar 00 0,
'vertical' => 0,
'blur' => 10,
'color' => 'rgba(0,0,0,0.3)',
];
}
/**
* Get text shadow control sliders.
*
* Retrieve the sliders of the text shadow control. Sliders are used while
* rendering the control output in the editor.
*
* @since 1.6.0
* @access public
*
* @return array Control sliders.
*/
public function get_sliders() {
return [
'blur' => [
'label' => __( 'Blur', 'elementor' ),
'min' => 0,
'max' => 100,
],
'horizontal' => [
'label' => __( 'Horizontal', 'elementor' ),
'min' => -100,
'max' => 100,
],
'vertical' => [
'label' => __( 'Vertical', 'elementor' ),
'min' => -100,
'max' => 100,
],
];
}
/**
* Render text shadow 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.6.0
* @access public
*/
public function content_template() {
?>
true,
];
}
/**
* Render heading 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() {
?>