PluginProbe
Elementor Website Builder – more than just a page builder / 4.2.2
Elementor Website Builder – more than just a page builder v4.2.2
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / includes / editor-templates / panel-elements.php

panel-elements.php in Elementor Website Builder – more than just a page builder 4.2.2, at includes/editor-templates/panel-elements.php

131 lines 6.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Elementor;
3
4 use Elementor\Core\Utils\Hints;
5 use Elementor\Core\Utils\Promotions\Filtered_Promotions_Manager;
6 use Elementor\Utils;
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit; // Exit if accessed directly.
10 }
11 ?>
12 <script type="text/template" id="tmpl-elementor-panel-elements">
13 <# if ( $e.components.get( 'document/elements' ).utils.allowAddingWidgets()) { #>
14 <div id="elementor-panel-elements-navigation" class="elementor-panel-navigation">
15 <button class="elementor-component-tab elementor-panel-navigation-tab" data-tab="categories"><?php echo esc_html__( 'Elements', 'elementor' ); ?></button>
16 <button class="elementor-component-tab elementor-panel-navigation-tab" data-tab="global"><?php echo esc_html__( 'Globals', 'elementor' ); ?></button>
17 </div>
18 <# } #>
19 <div id="elementor-panel-elements-search-area"></div>
20 <div id="elementor-panel-elements-notice-area"></div>
21 <div id="elementor-panel-elements-wrapper"></div>
22 <div id="elementor-panel-elements-widget-creation-area"></div>
23 </script>
24
25 <script type="text/template" id="tmpl-elementor-panel-categories">
26 <div id="elementor-panel-categories"></div>
27 <?php
28 $has_pro = Utils::has_pro();
29 $get_pro_details = apply_filters( 'elementor/editor/panel/get_pro_details', [
30 'link' => 'https://go.elementor.com/pro-widgets/',
31 'message' => __( 'Get more with Elementor Pro', 'elementor' ),
32 'button_text' => __( 'Upgrade Now', 'elementor' ),
33 'show_banner' => ! $has_pro,
34 ] );
35 $promotion_data_sticky = Filtered_Promotions_Manager::get_editor_panel_sticky_promotion();
36 ?>
37 <?php if ( $get_pro_details['show_banner'] ) : ?>
38 <div id="elementor-panel-get-pro-elements" class="elementor-nerd-box">
39 <img class="elementor-nerd-box-icon" src="<?php echo ELEMENTOR_ASSETS_URL . 'images/go-pro.svg'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>" loading="lazy" alt="<?php echo esc_attr__( 'Upgrade', 'elementor' ); ?>" />
40 <div class="elementor-nerd-box-message"><?php echo esc_html( $get_pro_details['message'] ); ?></div>
41 <a class="elementor-button go-pro" target="_blank" href="<?php echo esc_url( $get_pro_details['link'] ); ?>"><?php echo esc_html( $get_pro_details['button_text'] ); ?></a>
42 </div>
43 <?php endif; ?>
44 <?php if ( ! $has_pro ) : ?>
45 <?php require __DIR__ . '/panel-elements-sticky-promotion.php'; ?>
46 <?php endif; ?>
47 </script>
48
49 <script type="text/template" id="tmpl-elementor-panel-element-sticky-promotion">
50 <?php if ( ! $has_pro ) : ?>
51 <?php require __DIR__ . '/panel-elements-sticky-promotion.php'; ?>
52 <?php endif; ?>
53 </script>
54
55 <script type="text/template" id="tmpl-elementor-panel-elements-category">
56 <button class="elementor-panel-heading elementor-panel-category-title">
57 <span class="elementor-panel-heading-toggle">
58 <i class="eicon-caret-right" aria-hidden="true"></i>
59 </span>
60 <span class="elementor-panel-heading-title">{{{ title }}}</span>
61 <?php do_action( 'elementor/editor/templates/panel/category' ); ?>
62 <# if ( 'undefined' !== typeof promotion && promotion ) { #>
63 <span class="elementor-panel-heading-promotion">
64 <a href="{{{ promotion.url }}}" target="_blank">
65 <i class="eicon-upgrade-crown-full"></i>{{{ promotion.text || <?php echo wp_json_encode( __( 'Upgrade', 'elementor' ) ); ?> }}}
66 </a>
67 </span>
68 <# } #>
69 </button>
70 <div class="elementor-panel-category-items elementor-responsive-panel">
71 <?php do_action( 'elementor/editor/templates/panel/category/content' ); ?>
72 </div>
73 </script>
74
75 <script type="text/template" id="tmpl-elementor-panel-element-search">
76 <label for="elementor-panel-elements-search-input" class="screen-reader-text"><?php echo esc_html__( 'Search Widget:', 'elementor' ); ?></label>
77 <input type="search" id="elementor-panel-elements-search-input" placeholder="<?php esc_attr_e( 'Search Widget...', 'elementor' ); ?>" autocomplete="off"/>
78 <i class="eicon-search-bold" aria-hidden="true"></i>
79 </script>
80
81 <script type="text/template" id="tmpl-elementor-element-library-element">
82 <# const v4Categories = ['v4-elements', 'atomic-form']; #>
83 <button class="elementor-element" data-library-element-type="{{ elType === 'widget' ? widgetType : elType }}">
84 <# if ( obj.integration ) { #>
85 <i class="eicon-plug"></i>
86 <# } else if ( false === obj.editable ) { #>
87 <i class="eicon-upgrade-crown-full"></i>
88 <# } else if ( obj.categories.some( category => v4Categories.includes( category ) ) ) { #>
89 <i class="eicon-atomic"></i>
90 <# } #>
91 <div class="icon">
92 <i class="{{ icon }}" aria-hidden="true"></i>
93 </div>
94 <div class="title-wrapper">
95 <div class="title">{{{ title }}}</div>
96 </div>
97 </button>
98 </script>
99
100 <?php if ( Plugin::$instance->experiments->is_feature_active( Modules\WidgetCreation\Module::EXPERIMENT_NAME ) ) : ?>
101 <?php
102 $widget_creation_cta_text = Hints::is_plugin_active( 'angie' )
103 ? __( 'Create custom widget', 'elementor' )
104 : __( 'Try for free', 'elementor' );
105 ?>
106 <script type="text/template" id="tmpl-elementor-panel-elements-widget-creation-empty-state">
107 <div class="elementor-panel-elements-widget-creation__title"><?php echo esc_html__( 'No widget found for', 'elementor' ); ?> "{{{ searchTerm }}}"</div>
108 <div class="elementor-panel-elements-widget-creation__message"><?php echo esc_html__( 'Build a custom widget with Angie by describing what you need.', 'elementor' ); ?></div>
109 <?php if ( current_user_can( 'manage_options' ) ) : ?>
110 <button type="button" class="elementor-panel-elements-widget-creation__cta"><?php echo esc_html( $widget_creation_cta_text ); ?></button>
111 <?php endif; ?>
112 </script>
113
114 <script type="text/template" id="tmpl-elementor-panel-elements-widget-creation-search-footer">
115 <div class="elementor-panel-elements-widget-creation__title"><?php echo esc_html__( "Couldn't find what you're looking for?", 'elementor' ); ?></div>
116 <div class="elementor-panel-elements-widget-creation__message"><?php echo esc_html__( 'Build a custom widget with Angie by describing what you need.', 'elementor' ); ?></div>
117 <?php if ( current_user_can( 'manage_options' ) ) : ?>
118 <button type="button" class="elementor-panel-elements-widget-creation__cta"><?php echo esc_html( $widget_creation_cta_text ); ?></button>
119 <?php endif; ?>
120 </script>
121 <?php endif; ?>
122
123 <script type="text/template" id="tmpl-elementor-panel-global">
124 <div class="elementor-nerd-box">
125 <img class="elementor-nerd-box-icon" src="<?php echo ELEMENTOR_ASSETS_URL . 'images/information.svg'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>" loading="lazy" alt="<?php echo esc_attr__( 'Elementor', 'elementor' ); ?>" />
126 <div class="elementor-nerd-box-title"><?php echo esc_html__( 'Meet Our Global Widget', 'elementor' ); ?></div>
127 <div class="elementor-nerd-box-message"><?php echo esc_html__( 'With this feature, you can save a widget as global, then add it to multiple areas. All areas will be editable from one single place.', 'elementor' ); ?></div>
128 <a class="elementor-button go-pro" target="_blank" href="https://go.elementor.com/pro-global/"><?php echo esc_html__( 'Upgrade Now', 'elementor' ); ?></a>
129 </div>
130 </script>
131