PluginProbe
Elementor Website Builder – more than just a page builder / 3.9.0
Elementor Website Builder – more than just a page builder v3.9.0
4.3.0-beta3 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 All 452 releases
← All changes | includes/editor-templates/templates.php +66 -617 4.2.13.9.0 View file →
@@ -1,43 +1,29 @@
1 1 <?php
2 2 namespace Elementor;
3 3
4 -use Elementor\Plugin;
5 -
6 4 if ( ! defined( 'ABSPATH' ) ) {
7 5 exit; // Exit if accessed directly.
8 6 }
9 7 ?>
10 8 <script type="text/template" id="tmpl-elementor-template-library-header-actions">
11 - <?php if ( User::is_current_user_can_upload_json() ) { ?>
12 - <button type="button" id="elementor-template-library-header-import" class="elementor-templates-modal__header__item" aria-label="<?php echo esc_attr__( 'Import Template', 'elementor' ); ?>">
13 - <i class="eicon-upload-circle-o" aria-hidden="true"></i>
14 - <span class="elementor-screen-only"><?php echo esc_html__( 'Import Template', 'elementor' ); ?></span>
15 - </button>
16 - <?php } ?>
17 - <button type="button" id="elementor-template-library-header-sync" class="elementor-templates-modal__header__item" aria-label="<?php echo esc_attr__( 'Sync Library', 'elementor' ); ?>">
18 - <i class="eicon-sync" aria-hidden="true"></i>
9 + <div id="elementor-template-library-header-import" class="elementor-templates-modal__header__item">
10 + <i class="eicon-upload-circle-o" aria-hidden="true" title="<?php esc_attr_e( 'Import Template', 'elementor' ); ?>"></i>
11 + <span class="elementor-screen-only"><?php echo esc_html__( 'Import Template', 'elementor' ); ?></span>
12 + </div>
13 + <div id="elementor-template-library-header-sync" class="elementor-templates-modal__header__item">
14 + <i class="eicon-sync" aria-hidden="true" title="<?php esc_attr_e( 'Sync Library', 'elementor' ); ?>"></i>
19 15 <span class="elementor-screen-only"><?php echo esc_html__( 'Sync Library', 'elementor' ); ?></span>
20 - </button>
21 - <button type="button" id="elementor-template-library-header-save" class="elementor-templates-modal__header__item" aria-label="<?php echo esc_attr__( 'Save', 'elementor' ); ?>">
22 - <i class="eicon-save-o" aria-hidden="true"></i>
16 + </div>
17 + <div id="elementor-template-library-header-save" class="elementor-templates-modal__header__item">
18 + <i class="eicon-save-o" aria-hidden="true" title="<?php esc_attr_e( 'Save', 'elementor' ); ?>"></i>
23 19 <span class="elementor-screen-only"><?php echo esc_html__( 'Save', 'elementor' ); ?></span>
24 - </button>
20 + </div>
25 21 </script>
26 22
27 23 <script type="text/template" id="tmpl-elementor-template-library-header-menu">
28 24 <# jQuery.each( tabs, ( tab, args ) => { #>
29 - <button
30 - role="tab"
31 - id="tab-{{{ tab }}}"
32 - aria-controls="elementor-template-library-templates-container"
33 - aria-selected="false"
34 - tabindex="-1"
35 - class="elementor-component-tab elementor-template-library-menu-item"
36 - data-tab="{{{ tab }}}"
37 - >
38 - {{{ args.title }}}
39 - </button>
25 + <div class="elementor-component-tab elementor-template-library-menu-item" data-tab="{{{ tab }}}">{{{ args.title }}}</div>
40 26 <# } ); #>
41 27 </script>
42 28
43 29 <script type="text/template" id="tmpl-elementor-template-library-header-preview">
@@ -46,12 +32,10 @@
46 32 </div>
47 33 </script>
48 34
49 35 <script type="text/template" id="tmpl-elementor-template-library-header-back">
50 - <button type="button" class="elementor-template-library-header-back-button" aria-label="<?php echo esc_attr__( 'Back to Library', 'elementor' ); ?>">
51 - <i class="eicon-chevron-left" aria-hidden="true"></i>
52 - <span><?php echo esc_html__( 'Back to Library', 'elementor' ); ?></span>
53 - </button>
36 + <i class="eicon-" aria-hidden="true"></i>
37 + <span><?php echo esc_html__( 'Back to Library', 'elementor' ); ?></span>
54 38 </script>
55 39
56 40 <script type="text/template" id="tmpl-elementor-template-library-loading">
57 41 <div class="elementor-loader-wrapper">
@@ -69,18 +53,11 @@
69 53
70 54 <script type="text/template" id="tmpl-elementor-template-library-templates">
71 55 <#
72 56 var activeSource = elementor.templates.getFilter('source');
73 - /**
74 - * Filter template source.
75 - *
76 - * @param bool isRemote - If `true` the source is a remote source.
77 - * @param string activeSource - The current template source.
78 - */
79 - const isRemote = elementor.hooks.applyFilters( 'templates/source/is-remote', activeSource === 'remote', activeSource );
80 57 #>
81 58 <div id="elementor-template-library-toolbar">
82 - <# if ( isRemote ) {
59 + <# if ( 'remote' === activeSource ) {
83 60 var activeType = elementor.templates.getFilter('type');
84 61 #>
85 62 <div id="elementor-template-library-filter-toolbar-remote" class="elementor-template-library-filter-toolbar">
86 63 <# if ( 'page' === activeType ) { #>
@@ -91,9 +68,9 @@
91 68 <label for="elementor-template-library-order-trend" class="elementor-template-library-order-label"><?php echo esc_html__( 'Trend', 'elementor' ); ?></label>
92 69 <input type="radio" id="elementor-template-library-order-popular" class="elementor-template-library-order-input" name="elementor-template-library-order" value="popularityIndex">
93 70 <label for="elementor-template-library-order-popular" class="elementor-template-library-order-label"><?php echo esc_html__( 'Popular', 'elementor' ); ?></label>
94 71 </div>
95 - <# } else if ( 'lb' !== activeType ) {
72 + <# } else {
96 73 var config = elementor.templates.getConfig( activeType );
97 74 if ( config.categories ) { #>
98 75 <div id="elementor-template-library-filter">
99 76 <select id="elementor-template-library-filter-subtype" class="elementor-template-library-filter-select" data-elementor-filter="subtype">
@@ -116,108 +93,19 @@
116 93 </label>
117 94 </div>
118 95 </div>
119 96 <# } else { #>
120 - <div id="elementor-template-library-filter-toolbar-local" class="elementor-template-library-filter-toolbar">
121 - <div id="elementor-template-library-filter">
122 - <div class="elementor-template-library-filter-select-source" role="radiogroup" aria-label="<?php echo esc_attr__( 'Template source', 'elementor' ); ?>">
123 - <div class="source-option<# if ( activeSource === 'local' ) { #> selected<# } #>" data-source="local" role="radio" aria-checked="<# if ( activeSource === 'local' ) { #>true<# } else { #>false<# } #>" tabindex="<# if ( activeSource === 'local' ) { #>0<# } else { #>-1<# } #>">
124 - <i class="eicon-header" aria-hidden="true"></i>
125 - <?php echo esc_html__( 'Site templates', 'elementor' ); ?>
126 - </div>
127 - <div class="source-option<# if ( activeSource === 'cloud' ) { #> selected<# } #>" data-source="cloud" role="radio" aria-checked="<# if ( activeSource === 'cloud' ) { #>true<# } else { #>false<# } #>" tabindex="<# if ( activeSource === 'cloud' ) { #>0<# } else { #>-1<# } #>">
128 - <i class="eicon-library-cloud-empty" aria-hidden="true"></i>
129 - <?php echo esc_html__( 'Cloud templates', 'elementor' ); ?>
130 - <#
131 - const tabIcon = elementor.templates.hasCloudLibraryQuota()
132 - ? '<span class="new-badge"><?php echo esc_html__( 'New', 'elementor' ); ?></span>'
133 - : '<span class="new-badge"><i class="eicon-upgrade-crown" style="margin-inline-end: 0;"></i> <?php echo esc_html__( 'Pro', 'elementor' ); ?></span>';
134 -
135 - print( tabIcon );
136 - #>
137 - </div>
138 - </div>
139 - </div>
140 - </div>
141 - <span class="source-option-badge site-badge variant-b-only" style="display: none;">
142 - <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false" aria-hidden="true">
143 - <path d="M7.33301 9.5C8.17286 9.5 8.9784 9.83387 9.57227 10.4277C10.1661 11.0216 10.5 11.8271 10.5 12.667V14C10.5 14.2761 10.2761 14.5 10 14.5H2C1.72386 14.5 1.5 14.2761 1.5 14V12.667C1.5 11.8271 1.83387 11.0216 2.42773 10.4277C3.0216 9.83387 3.82714 9.5 4.66699 9.5H7.33301ZM11.833 9.5C12.6729 9.5 13.4784 9.83387 14.0723 10.4277C14.6661 11.0216 15 11.8271 15 12.667V14C15 14.2761 14.7761 14.5 14.5 14.5H11.5C11.7761 14.5 12 14.2761 12 14V12.667C12 11.8271 11.6661 11.0216 11.0723 10.4277C10.5178 9.87327 9.77915 9.54493 9 9.50391C9.05536 9.50099 9.11128 9.5 9.16699 9.5H11.833ZM6 1.5C6.83985 1.5 7.64539 1.83387 8.23926 2.42773C8.83302 3.02158 9.16699 3.82722 9.16699 4.66699C9.16691 5.50673 8.83305 6.31246 8.23926 6.90625C7.64541 7.50001 6.83978 7.83301 6 7.83301C5.16022 7.83301 4.35459 7.50001 3.76074 6.90625C3.16695 6.31246 2.83309 5.50673 2.83301 4.66699C2.83301 3.82722 3.16698 3.02158 3.76074 2.42773C4.35461 1.83387 5.16015 1.5 6 1.5ZM11 1.5C12.6569 1.5 14 2.84315 14 4.5C14 6.15685 12.6569 7.5 11 7.5C10.4529 7.5 9.94164 7.35059 9.5 7.09473C10.3958 6.57577 11 5.60972 11 4.5C11 3.3901 10.396 2.42319 9.5 1.9043C9.94155 1.64858 10.453 1.5 11 1.5Z" fill="#B15211" />
144 - </svg>
145 - <?php echo esc_html__( 'Anyone on this site', 'elementor' ); ?>
146 - </span>
147 - <span class="source-option-badge cloud-badge variant-b-only" style="display: none;">
148 - <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false" aria-hidden="true">
149 - <path fill-rule="evenodd" clip-rule="evenodd" d="M7.83317 2.33331C7.25853 2.33331 6.70743 2.56159 6.30111 2.96791C5.89478 3.37424 5.6665 3.92534 5.6665 4.49998V6.66665H9.99984V4.49998C9.99984 3.92534 9.77156 3.37424 9.36524 2.96791C8.95891 2.56159 8.40781 2.33331 7.83317 2.33331ZM10.9998 6.66665V4.49998C10.9998 3.66013 10.6662 2.85467 10.0723 2.26081C9.47848 1.66694 8.67302 1.33331 7.83317 1.33331C6.99332 1.33331 6.18786 1.66694 5.594 2.26081C5.00013 2.85467 4.6665 3.66013 4.6665 4.49998V6.66665H4.49984C4.01361 6.66665 3.54729 6.8598 3.20347 7.20362C2.85966 7.54743 2.6665 8.01375 2.6665 8.49998V12.5C2.6665 12.9862 2.85966 13.4525 3.20347 13.7963C3.54729 14.1402 4.01361 14.3333 4.49984 14.3333H11.1665C11.6527 14.3333 12.119 14.1402 12.4629 13.7963C12.8067 13.4525 12.9998 12.9862 12.9998 12.5V8.49998C12.9998 8.01375 12.8067 7.54743 12.4629 7.20362C12.119 6.8598 11.6527 6.66665 11.1665 6.66665H10.9998Z" fill="#1945A4" />
150 - </svg>
151 - <?php echo esc_html__( 'My Elementor account', 'elementor' ); ?>
152 - </span>
97 + <div id="elementor-template-library-filter-toolbar-local" class="elementor-template-library-filter-toolbar"></div>
153 98 <# } #>
154 -
155 - <div class="elementor-template-library-filter-toolbar-side-actions">
156 - <# if ( 'cloud' === activeSource ) { #>
157 - <button type="button" id="elementor-template-library-add-new-folder" class="elementor-template-library-action-item" aria-label="<?php echo esc_attr__( 'Create new folder', 'elementor' ); ?>">
158 - <i class="eicon-folder-plus" aria-hidden="true"></i>
159 - <span class="elementor-screen-only"><?php echo esc_html__( 'Create a New Folder', 'elementor' ); ?></span>
160 - </button>
161 - <span class="divider"></span>
162 - <button type="button" id="elementor-template-library-view-grid" class="elementor-template-library-action-item" aria-label="<?php echo esc_attr__( 'Change view to grid', 'elementor' ); ?>">
163 - <i class="eicon-library-grid" aria-hidden="true"></i>
164 - <span class="elementor-screen-only"><?php echo esc_html__( 'Grid view', 'elementor' ); ?></span>
165 - </button>
166 - <button type="button" id="elementor-template-library-view-list" class="elementor-template-library-action-item" aria-label="<?php echo esc_attr__( 'Change view to list', 'elementor' ); ?>">
167 - <i class="eicon-library-list" aria-hidden="true"></i>
168 - <span class="elementor-screen-only"><?php echo esc_html__( 'List view', 'elementor' ); ?></span>
169 - </button>
170 - <# } #>
171 - <div id="elementor-template-library-filter-text-wrapper">
172 - <label for="elementor-template-library-filter-text" class="elementor-screen-only"><?php echo esc_html__( 'Search Templates:', 'elementor' ); ?></label>
173 - <input type="search" id="elementor-template-library-filter-text" placeholder="<?php echo esc_attr__( 'Search', 'elementor' ); ?>">
174 - <i class="eicon-search" aria-hidden="true"></i>
175 - </div>
99 + <div id="elementor-template-library-filter-text-wrapper">
100 + <label for="elementor-template-library-filter-text" class="elementor-screen-only"><?php echo esc_html__( 'Search Templates:', 'elementor' ); ?></label>
101 + <input id="elementor-template-library-filter-text" placeholder="<?php echo esc_attr__( 'Search', 'elementor' ); ?>">
102 + <i class="eicon-search"></i>
176 103 </div>
177 104 </div>
178 - <div class="elementor-screen-only" aria-live="polite" id="elementor-template-library-sort-status" aria-atomic="true"></div>
179 - <div class="elementor-screen-only" aria-live="polite" id="elementor-template-library-load-status" aria-atomic="true"></div>
180 - <# if ( 'local' === activeSource || 'cloud' === activeSource ) { #>
181 - <div class="toolbar-container">
182 - <section class="bulk-selection-action-bar" role="region" aria-label="<?php echo esc_attr__( 'Bulk actions', 'elementor' ); ?>">
183 - <button type="button" class="clear-bulk-selections" aria-label="<?php echo esc_attr__( 'Deselect all and close bulk selection', 'elementor' ); ?>">
184 - <i class="eicon-editor-close" aria-hidden="true"></i>
185 - </button>
186 - <span class="selected-count" aria-live="polite"></span>
187 - <# if ( elementor.templates.hasCloudLibraryQuota() && ! elementor.templates.cloudLibraryIsDeactivated() ) { #>
188 - <button type="button" class="bulk-copy" aria-label="<?php echo esc_attr__( 'Copy selected templates', 'elementor' ); ?>">
189 - <i class="eicon-library-copy" aria-hidden="true"></i>
190 - </button>
191 - <button type="button" class="bulk-move" aria-label="<?php echo esc_attr__( 'Move selected templates', 'elementor' ); ?>">
192 - <i class="eicon-library-move" aria-hidden="true"></i>
193 - </button>
194 - <# } #>
195 - <button type="button" class="bulk-delete" aria-label="<?php echo esc_attr__( 'Delete selected templates', 'elementor' ); ?>">
196 - <i class="eicon-library-delete" aria-hidden="true"></i>
197 - </button>
198 - </section>
199 - <div id="elementor-template-library-navigation-container"></div>
200 -
201 - <# if ( 'cloud' === activeSource ) { #>
202 - <div class="quota-progress-container" tabindex="0" role="group" aria-label="<?php echo esc_attr__( 'Cloud library usage', 'elementor' ); ?>">
203 - <span class="quota-progress-info">
204 - <?php echo esc_html__( 'Usage', 'elementor' ); ?>
205 - </span>
206 - <div class="progress-bar-container">
207 - <div class="quota-progress-bar quota-progress-bar-normal" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" aria-label="<?php echo esc_attr__( 'Cloud library usage', 'elementor' ); ?>">
208 - <div class="quota-progress-bar-fill"></div>
209 - </div>
210 - <span class="quota-warning"></span>
211 - </div>
212 - <div class="quota-progress-bar-value"></div>
213 - <span class="elementor-screen-only" id="elementor-template-library-quota-status" role="status" aria-live="polite" aria-atomic="true"></span>
214 - </div>
215 - <# } #>
216 - </div>
105 + <# if ( 'local' === activeSource ) { #>
217 106 <div id="elementor-template-library-order-toolbar-local">
218 107 <div class="elementor-template-library-local-column-1">
219 - <input type="checkbox" id="bulk-select-all">
220 108 <input type="radio" id="elementor-template-library-order-local-title" class="elementor-template-library-order-input" name="elementor-template-library-order-local" value="title" data-default-ordering-direction="asc">
221 109 <label for="elementor-template-library-order-local-title" class="elementor-template-library-order-label"><?php echo esc_html__( 'Name', 'elementor' ); ?></label>
222 110 </div>
223 111 <div class="elementor-template-library-local-column-2">
@@ -224,11 +112,9 @@
224 112 <input type="radio" id="elementor-template-library-order-local-type" class="elementor-template-library-order-input" name="elementor-template-library-order-local" value="type" data-default-ordering-direction="asc">
225 113 <label for="elementor-template-library-order-local-type" class="elementor-template-library-order-label"><?php echo esc_html__( 'Type', 'elementor' ); ?></label>
226 114 </div>
227 115 <div class="elementor-template-library-local-column-3">
228 - <# if ( 'cloud' !== activeSource ) { #>
229 - <input type="radio" id="elementor-template-library-order-local-author" class="elementor-template-library-order-input" name="elementor-template-library-order-local" value="author" data-default-ordering-direction="asc">
230 - <# } #>
116 + <input type="radio" id="elementor-template-library-order-local-author" class="elementor-template-library-order-input" name="elementor-template-library-order-local" value="author" data-default-ordering-direction="asc">
231 117 <label for="elementor-template-library-order-local-author" class="elementor-template-library-order-label"><?php echo esc_html__( 'Created By', 'elementor' ); ?></label>
232 118 </div>
233 119 <div class="elementor-template-library-local-column-4">
234 120 <input type="radio" id="elementor-template-library-order-local-date" class="elementor-template-library-order-input" name="elementor-template-library-order-local" value="date">
@@ -238,37 +124,26 @@
238 124 <div class="elementor-template-library-order-label"><?php echo esc_html__( 'Actions', 'elementor' ); ?></div>
239 125 </div>
240 126 </div>
241 127 <# } #>
242 - <div id="elementor-template-library-templates-container" role="tabpanel"></div>
243 - <# if ( isRemote ) { #>
128 + <div id="elementor-template-library-templates-container"></div>
129 + <# if ( 'remote' === activeSource ) { #>
244 130 <div id="elementor-template-library-footer-banner">
245 131 <img class="elementor-nerd-box-icon" src="<?php
246 132 Utils::print_unescaped_internal_string( ELEMENTOR_ASSETS_URL . 'images/information.svg' );
247 - ?>" loading="lazy" alt="<?php echo esc_attr__( 'Elementor', 'elementor' ); ?>" />
133 + ?>" />
248 134 <div class="elementor-excerpt"><?php echo esc_html__( 'Stay tuned! More awesome templates coming real soon.', 'elementor' ); ?></div>
249 135 </div>
250 136 <# } #>
251 - <# if ( 'cloud' === activeSource ) { #>
252 - <div id="elementor-template-library-load-more-anchor" class="elementor-visibility-hidden"><i class="eicon-loading eicon-animation-spin"></i></div>
253 - <# } #>
254 137 </script>
255 138
256 -<script type="text/template" id="tmpl-elementor-template-library-navigation-container">
257 - <button class="elementor-template-library-navigation-back-button elementor-button e-button">
258 - <i class="eicon-chevron-left"></i>
259 - <?php echo esc_html__( 'Back', 'elementor' ); ?>
260 - </button>
261 - <span class="elementor-template-library-current-folder-title"></span>
262 -</script>
263 -
264 139 <script type="text/template" id="tmpl-elementor-template-library-template-remote">
265 140 <div class="elementor-template-library-template-body">
266 141 <?php // 'lp' stands for Landing Pages Library type. ?>
267 142 <# if ( 'page' === type || 'lp' === type ) { #>
268 - <div class="elementor-template-library-template-screenshot" style="background-image: url({{ thumbnail }});" role="img" aria-label="<?php echo esc_attr__( 'Preview of template', 'elementor' ); ?> {{{ title }}}"></div>
143 + <div class="elementor-template-library-template-screenshot" style="background-image: url({{ thumbnail }});"></div>
269 144 <# } else { #>
270 - <img src="{{ thumbnail }}" loading="lazy" alt="<?php echo esc_attr__( 'Preview of template', 'elementor' ); ?> {{{ title }}}">
145 + <img src="{{ thumbnail }}">
271 146 <# } #>
272 147 <div class="elementor-template-library-template-preview">
273 148 <i class="eicon-zoom-in-bold" aria-hidden="true"></i>
274 149 </div>
@@ -286,226 +161,54 @@
286 161 </div>
287 162 </script>
288 163
289 164 <script type="text/template" id="tmpl-elementor-template-library-template-local">
290 - <#
291 - const activeSource = elementor.templates.getFilter('source');
292 - const view = elementor.templates.getFilter('view') ?? elementor.templates.getViewSelection() ?? 'list';
293 -
294 - if ( ( 'cloud' === activeSource && view === 'list' ) || 'local' === activeSource ) {
295 - #>
296 - <div class="elementor-template-library-template-name elementor-template-library-local-column-1">
297 - <input type="checkbox" class="bulk-selection-item-checkbox" data-template_id="{{ template_id }}" data-type="{{ type }}" data-status="{{ status }}" aria-label="<?php echo esc_attr__( 'Select template', 'elementor' ); ?> {{{ title }}}" aria-checked="false">
298 - <# if ( 'cloud' === activeSource ) {
299 - const sourceIcon = typeof subType !== 'undefined' && 'FOLDER' === subType
300 - ? '<i class="eicon-library-folder" aria-hidden="true"></i>'
301 - : 'locked' === status
302 - ? '<i class="eicon-lock-outline" aria-hidden="true" title="<?php esc_attr_e( 'Upgrade to get more storage space or delete old templates to make room.', 'elementor' ); ?>"></i>'
303 - : '<i class="eicon-global-colors" aria-hidden="true"></i>';
304 -
305 - print( sourceIcon );
306 - } #>
307 - <span>{{ title }}</span>
165 + <div class="elementor-template-library-template-name elementor-template-library-local-column-1">{{ title }}</div>
166 + <div class="elementor-template-library-template-meta elementor-template-library-template-type elementor-template-library-local-column-2">{{{ elementor.translate( type ) }}}</div>
167 + <div class="elementor-template-library-template-meta elementor-template-library-template-author elementor-template-library-local-column-3">{{{ author }}}</div>
168 + <div class="elementor-template-library-template-meta elementor-template-library-template-date elementor-template-library-local-column-4">{{{ human_date }}}</div>
169 + <div class="elementor-template-library-template-controls elementor-template-library-local-column-5">
170 + <div class="elementor-template-library-template-preview">
171 + <i class="eicon-preview-medium" aria-hidden="true"></i>
172 + <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Preview', 'elementor' ); ?></span>
308 173 </div>
309 - <div class="elementor-template-library-template-meta elementor-template-library-template-type elementor-template-library-local-column-2">{{{ elementor.translate( type ) }}}</div>
310 - <div class="elementor-template-library-template-meta elementor-template-library-template-author elementor-template-library-local-column-3">{{{ author }}}</div>
311 - <div class="elementor-template-library-template-meta elementor-template-library-template-date elementor-template-library-local-column-4">{{{ human_date }}}</div>
312 - <div class="elementor-template-library-template-controls elementor-template-library-local-column-5">
313 - <#
314 - const previewClass = typeof subType !== 'undefined' && 'FOLDER' !== subType
315 - ? 'elementor-hidden'
316 - : '';
317 - #>
318 - <button type="button" class="elementor-template-library-template-preview elementor-button e-btn-txt {{{previewClass}}}">
319 - <#
320 - const actionText = typeof subType === 'undefined' || 'FOLDER' !== subType
321 - ? '<?php echo esc_html__( 'Preview', 'elementor' ); ?>'
322 - : '<?php echo esc_html__( 'Open', 'elementor' ); ?>';
323 - #>
324 - <i class="eicon-preview-medium" aria-hidden="true"></i>
325 - <span class="elementor-template-library-template-control-title">{{{ actionText }}}</span>
326 - </button>
327 - <# if ( typeof subType === 'undefined' || 'FOLDER' !== subType ) { #>
328 - <button class="elementor-template-library-template-action elementor-template-library-template-insert elementor-button e-primary e-btn-txt">
329 - <i class="eicon-library-download" aria-hidden="true"></i>
174 + <button class="elementor-template-library-template-action elementor-template-library-template-insert elementor-button elementor-button-success">
175 + <i class="eicon-file-download" aria-hidden="true"></i>
330 176 <span class="elementor-button-title"><?php echo esc_html__( 'Insert', 'elementor' ); ?></span>
331 177 </button>
332 - <# } #>
333 - <button type="button" class="elementor-template-library-template-more-toggle" aria-haspopup="menu" aria-expanded="false" aria-label="<?php echo esc_attr__( 'More actions for template', 'elementor' ); ?> {{{ title }}}">
178 + <div class="elementor-template-library-template-more-toggle">
334 179 <i class="eicon-ellipsis-h" aria-hidden="true"></i>
335 180 <span class="elementor-screen-only"><?php echo esc_html__( 'More actions', 'elementor' ); ?></span>
336 - </button>
337 - <ul class="elementor-template-library-template-more" role="menu" aria-label="<?php echo esc_attr__( 'More actions for template', 'elementor' ); ?> {{{ title }}}">
338 - <# if ( ( typeof subType === 'undefined' || 'FOLDER' !== subType ) && elementor.templates.hasCloudLibraryQuota() && ! elementor.templates.cloudLibraryIsDeactivated() ) { #>
339 - <li role="menuitem">
340 - <button type="button" class="elementor-template-library-template-move">
341 - <i class="eicon-library-move" aria-hidden="true"></i>
342 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Move to', 'elementor' ); ?></span>
343 - </button>
344 - </li>
345 - <li role="menuitem">
346 - <button type="button" class="elementor-template-library-template-copy">
347 - <i class="eicon-library-copy" aria-hidden="true"></i>
348 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Copy to', 'elementor' ); ?></span>
349 - </button>
350 - </li>
351 - <# } #>
352 - <li role="menuitem">
353 - <a href="{{ export_link }}" class="elementor-template-library-template-export">
354 - <i class="eicon-library-download" aria-hidden="true"></i>
355 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Export', 'elementor' ); ?></span>
356 - </a>
357 - </li>
358 - <li role="menuitem">
359 - <button type="button" class="elementor-template-library-template-rename">
360 - <i class="eicon-library-edit" aria-hidden="true"></i>
361 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Rename', 'elementor' ); ?></span>
362 - </button>
363 - </li>
364 - <li role="menuitem">
365 - <button type="button" class="elementor-template-library-template-delete">
366 - <i class="eicon-library-delete" aria-hidden="true"></i>
367 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Delete', 'elementor' ); ?></span>
368 - </button>
369 - </li>
370 - </ul>
371 - </div>
372 - <# } else {
373 - if ( typeof subType !== 'undefined' && 'FOLDER' === subType ) {
374 - #>
375 - <div class="elementor-template-library-template-type-icon">
376 - <i class="eicon-library-folder-view" aria-hidden="true"></i>
377 - <span class="elementor-screen-only"><?php echo esc_html__( 'Folder', 'elementor' ); ?></span>
378 181 </div>
379 - <div class="elementor-template-library-template-name">
380 - <span>{{ title }}</span>
381 - </div>
382 - <button type="button" class="elementor-template-library-template-more-toggle" aria-haspopup="menu" aria-expanded="false" aria-label="<?php echo esc_attr__( 'More actions for template', 'elementor' ); ?> {{{ title }}}">
383 - <i class="eicon-ellipsis-v" aria-hidden="true"></i>
384 - <span class="elementor-screen-only"><?php echo esc_html__( 'More actions', 'elementor' ); ?></span>
385 - </button>
386 - <ul class="elementor-template-library-template-more" role="menu" aria-label="<?php echo esc_attr__( 'More actions for template', 'elementor' ); ?> {{{ title }}}" style="display: none;">
387 - <li role="menuitem">
388 - <a href="{{ export_link }}" class="elementor-template-library-template-export">
389 - <i class="eicon-library-download" aria-hidden="true"></i>
182 + <div class="elementor-template-library-template-more">
183 + <div class="elementor-template-library-template-delete">
184 + <i class="eicon-trash-o" aria-hidden="true"></i>
185 + <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Delete', 'elementor' ); ?></span>
186 + </div>
187 + <div class="elementor-template-library-template-export">
188 + <a href="{{ export_link }}">
189 + <i class="eicon-sign-out" aria-hidden="true"></i>
390 190 <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Export', 'elementor' ); ?></span>
391 191 </a>
392 - </li>
393 - <li role="menuitem">
394 - <button type="button" class="elementor-template-library-template-rename">
395 - <i class="eicon-library-edit" aria-hidden="true"></i>
396 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Rename', 'elementor' ); ?></span>
397 - </button>
398 - </li>
399 - <li role="menuitem">
400 - <button type="button" class="elementor-template-library-template-delete">
401 - <i class="eicon-library-delete" aria-hidden="true"></i>
402 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Delete', 'elementor' ); ?></span>
403 - </button>
404 - </li>
405 - </ul>
406 - <# } else { #>
407 - <#
408 - const imageSource = preview_url || '<?php echo esc_html( ELEMENTOR_ASSETS_URL . 'images/placeholder-cloud-grid.png' ); ?>';
409 - const hasPreview = preview_url;
410 - const altText = hasPreview
411 - ? '<?php echo esc_attr__( 'Preview of template', 'elementor' ); ?> {{{ title }}}'
412 - : '<?php echo esc_attr__( 'No preview available for template', 'elementor' ); ?> {{{ title }}}';
413 - #>
414 - <div class="elementor-template-library-template-thumbnail">
415 - <img src="{{{ imageSource }}}" alt="{{{ altText }}}"/>
416 - <div class="elementor-template-library-template-preview"></div>
417 192 </div>
418 - <div class="elementor-template-library-card-footer">
419 - <div class="elementor-template-library-template-name">
420 - <# if ( 'locked' === status ) { #>
421 - <i class="eicon-lock-outline" aria-hidden="true" title="<?php esc_attr_e( 'Upgrade to get more storage space or delete old templates to make room.', 'elementor' ); ?>"></i>
422 - <# } #>
423 - <span>{{ title }}</span>
424 - </div>
425 - <div class="elementor-template-library-template-card-footer-overlay">
426 - <button class="elementor-template-library-template-action elementor-template-library-template-insert elementor-button e-primary">
427 - <i class="eicon-library-download" aria-hidden="true"></i>
428 - <span class="elementor-button-title"><?php echo esc_html__( 'Insert', 'elementor' ); ?></span>
429 - </button>
430 - <div class="elementor-template-library-template-card-footer-overlay-info">
431 - <div class="elementor-template-library-template-meta">{{{ author }}}</div>
432 - <div class="elementor-template-library-template-meta">{{{ human_date }}}</div>
433 - </div>
434 - </div>
435 - <button type="button" class="elementor-template-library-template-more-toggle" aria-haspopup="menu" aria-expanded="false" aria-label="<?php echo esc_attr__( 'More actions for template', 'elementor' ); ?> {{{ title }}}">
436 - <i class="eicon-ellipsis-v" aria-hidden="true"></i>
437 - <span class="elementor-screen-only"><?php echo esc_html__( 'More actions', 'elementor' ); ?></span>
438 - </button>
439 - <ul class="elementor-template-library-template-more" role="menu" aria-label="<?php echo esc_attr__( 'More actions for template', 'elementor' ); ?> {{{ title }}}" style="display: none;">
440 - <# if ( elementor.templates.hasCloudLibraryQuota() && ! elementor.templates.cloudLibraryIsDeactivated() ) { #>
441 - <li role="menuitem">
442 - <button type="button" class="elementor-template-library-template-move">
443 - <i class="eicon-library-move" aria-hidden="true"></i>
444 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Move to', 'elementor' ); ?></span>
445 - </button>
446 - </li>
447 - <li role="menuitem">
448 - <button type="button" class="elementor-template-library-template-copy">
449 - <i class="eicon-library-copy" aria-hidden="true"></i>
450 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Copy to', 'elementor' ); ?></span>
451 - </button>
452 - </li>
453 - <# } #>
454 - <li role="menuitem">
455 - <a href="{{ export_link }}" class="elementor-template-library-template-export">
456 - <i class="eicon-library-download" aria-hidden="true"></i>
457 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Export', 'elementor' ); ?></span>
458 - </a>
459 - </li>
460 - <li role="menuitem">
461 - <button type="button" class="elementor-template-library-template-rename">
462 - <i class="eicon-library-edit" aria-hidden="true"></i>
463 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Rename', 'elementor' ); ?></span>
464 - </button>
465 - </li>
466 - <li role="menuitem">
467 - <button type="button" class="elementor-template-library-template-delete">
468 - <i class="eicon-library-delete" aria-hidden="true"></i>
469 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Delete', 'elementor' ); ?></span>
470 - </button>
471 - </li>
472 - </ul>
473 - </div>
474 - <# } } #>
193 + </div>
194 + </div>
475 195 </script>
476 196
477 197 <script type="text/template" id="tmpl-elementor-template-library-insert-button">
478 - <a class="elementor-template-library-template-action elementor-template-library-template-insert elementor-button e-primary" role="button" tabindex="0">
479 - <i class="eicon-library-download" aria-hidden="true"></i>
480 - <span class="elementor-button-title"><?php echo esc_html__( 'Insert', 'elementor' ); ?></span>
481 - </a>
482 -</script>
483 -
484 -<script type="text/template" id="tmpl-elementor-template-library-apply-ai-button">
485 - <a class="elementor-template-library-template-action elementor-template-library-template-apply-ai elementor-button e-primary">
198 + <a class="elementor-template-library-template-action elementor-template-library-template-insert elementor-button">
486 199 <i class="eicon-file-download" aria-hidden="true"></i>
487 - <span class="elementor-button-title"><?php echo esc_html__( 'Apply', 'elementor' ); ?></span>
488 - </a>
489 -</script>
490 -
491 -<script type="text/template" id="tmpl-elementor-template-library-insert-and-ai-variations-buttons">
492 - <a class="elementor-template-library-template-action elementor-template-library-template-insert elementor-button e-primary" role="button" tabindex="0">
493 - <i class="eicon-library-download" aria-hidden="true"></i>
494 200 <span class="elementor-button-title"><?php echo esc_html__( 'Insert', 'elementor' ); ?></span>
495 201 </a>
496 - <a class="elementor-template-library-template-action elementor-template-library-template-generate-variation elementor-button e-btn-txt e-btn-txt-border" role="button" tabindex="0">
497 - <i class="eicon-ai" aria-hidden="true"></i>
498 - <span class="elementor-button-title"><?php echo esc_html__( 'Generate Variations', 'elementor' ); ?></span>
499 - </a>
500 202 </script>
501 203
502 204 <script type="text/template" id="tmpl-elementor-template-library-upgrade-plan-button">
503 205 <a
504 - class="elementor-template-library-template-action elementor-button go-pro"
206 + class="elementor-template-library-template-action elementor-button elementor-go-pro"
505 207 href="{{{ promotionLink }}}"
506 208 target="_blank"
507 209 >
210 + <i class="eicon-external-link-square" aria-hidden="true"></i>
508 211 <span class="elementor-button-title">{{{ promotionText }}}</span>
509 212 </a>
510 213 </script>
511 214
@@ -510,200 +213,29 @@
510 213 </script>
511 214
512 215 <script type="text/template" id="tmpl-elementor-template-library-save-template">
513 216 <div class="elementor-template-library-blank-icon">
514 - <#
515 - const templateIcon = typeof icon === 'undefined' ? '<i class="eicon-library-upload" aria-hidden="true"></i>' : icon;
516 - print( templateIcon );
517 - #>
217 + <i class="eicon-library-save" aria-hidden="true"></i>
518 218 <span class="elementor-screen-only"><?php echo esc_html__( 'Save', 'elementor' ); ?></span>
519 219 </div>
520 220 <div class="elementor-template-library-blank-title">{{{ title }}}</div>
521 221 <div class="elementor-template-library-blank-message">{{{ description }}}</div>
522 222 <form id="elementor-template-library-save-template-form">
523 - <input type="hidden" name="post_id" value="<?php echo esc_attr( get_the_ID() ); ?>">
524 - <# if ( typeof canSaveToCloud === 'undefined' || ! canSaveToCloud ) { #>
223 + <input type="hidden" name="post_id" value="<?php echo get_the_ID(); ?>">
525 224 <input id="elementor-template-library-save-template-name" name="title" placeholder="<?php echo esc_attr__( 'Enter Template Name', 'elementor' ); ?>" required>
526 - <button id="elementor-template-library-save-template-submit" class="elementor-button e-primary">
225 + <button id="elementor-template-library-save-template-submit" class="elementor-button elementor-button-success">
527 226 <span class="elementor-state-icon">
528 227 <i class="eicon-loading eicon-animation-spin" aria-hidden="true"></i>
529 228 </span>
530 229 <?php echo esc_html__( 'Save', 'elementor' ); ?>
531 230 </button>
532 - <# } else { #>
533 - <div class="cloud-library-form-inputs">
534 - <input id="elementor-template-library-save-template-name" name="title" placeholder="<?php echo esc_attr__( 'Give your template a name', 'elementor' ); ?>" required>
535 - <div class="source-selections">
536 - <div class="cloud-folder-selection-dropdown">
537 - <div class="cloud-folder-selection-dropdown-list"></div>
538 - </div>
539 - <div class="source-selections-input cloud">
540 - <input type="checkbox" id="cloud" name="cloud" value="cloud">
541 - <label for="cloud"> <?php echo esc_html__( 'Cloud Templates', 'elementor' ); ?></label> <span class="divider">/</span> <button type="button" class="ellipsis-container" aria-label="<?php echo esc_attr__( 'Select folder', 'elementor' ); ?>" aria-haspopup="listbox" aria-expanded="false"><i class="eicon-ellipsis-h" aria-hidden="true"></i></button>
542 - <span class="selected-folder">
543 - <span class="selected-folder-text"></span>
544 - <i class="eicon-editor-close" aria-hidden="true"></i>
545 - </span>
546 - <# if ( elementor.config.library_connect.is_connected ) { #>
547 - <#
548 - const goLink = elementor.templates.hasCloudLibraryQuota()
549 - ? 'https://go.elementor.com/go-pro-cloud-templates-save-to-100-usage-badge'
550 - : 'https://go.elementor.com/go-pro-cloud-templates-save-to-free-badge/';
551 - #>
552 - <span class="upgrade-badge">
553 - <a href="{{{ goLink }}}" target="_blank">
554 - <i class="eicon-upgrade-crown-full"></i><?php echo esc_html__( 'Upgrade', 'elementor' ); ?>
555 - </a>
556 - </span>
557 - <i class="eicon-info upgrade-tooltip" aria-hidden="true"></i>
558 - <# } else { #>
559 - <span class="connect-badge">
560 - <span class="connect-divider">|</span>
561 - <a id="elementor-template-library-connect__badge" href="{{{ elementorAppConfig?.[ 'cloud-library' ]?.library_connect_url }}}">
562 - <?php echo esc_html__( 'Connect', 'elementor' ); ?>
563 - </a>
564 - </span>
565 - <# } #>
566 - </div>
567 - <div class="source-selections-input local">
568 - <input type="checkbox" id="local" name="local" value="local">
569 - <label for="local"> <?php echo esc_html__( 'Site Templates', 'elementor' ); ?></label><br>
570 - </div>
571 - <input type="hidden" name="parentId" id="parentId" />
572 - </div>
573 - <div class="quota-cta">
574 - <p>
575 - <?php echo esc_html__( 'You’ve saved 100% of the templates in your plan.', 'elementor' ); ?>
576 - <br>
577 - <?php printf(
578 - /* translators: %s is the "Upgrade now" link */
579 - esc_html__( 'To get more space %s', 'elementor' ),
580 - '<a href="https://go.elementor.com/go-pro-cloud-templates-save-to-100-usage-notice">' . esc_html__( 'Upgrade now', 'elementor' ) . '</a>'
581 - ); ?>
582 - </p>
583 - </div>
584 - <button id="elementor-template-library-save-template-submit" class="elementor-button e-primary">
585 - <span class="elementor-state-icon">
586 - <i class="eicon-loading eicon-animation-spin" aria-hidden="true"></i>
587 - </span>
588 - {{{ saveBtnText }}}
589 - </button>
590 - </div>
591 - <# } #>
592 231 </form>
593 232 <div class="elementor-template-library-blank-footer">
594 - <?php echo esc_html__( 'Learn more about the', 'elementor' ); ?>
595 - <a class="elementor-template-library-blank-footer-link" href="https://go.elementor.com/docs-library/" target="_blank"><?php echo esc_html__( 'Template Library', 'elementor' ); ?></a>
233 + <?php echo esc_html__( 'Want to learn more about the Elementor library?', 'elementor' ); ?>
234 + <a class="elementor-template-library-blank-footer-link" href="https://go.elementor.com/docs-library/" target="_blank"><?php echo esc_html__( 'Click here', 'elementor' ); ?></a>
596 235 </div>
597 236 </script>
598 237
599 -<script type="text/template" id="tmpl-elementor-template-library-save-template-variant-b">
600 - <div class="elementor-template-library-blank-icon">
601 - <#
602 - const templateIcon = typeof icon === 'undefined' ? '<i class="eicon-library-upload" aria-hidden="true"></i>' : icon;
603 - print( templateIcon );
604 - #>
605 - <span class="elementor-screen-only"><?php echo esc_html__( 'Save', 'elementor' ); ?></span>
606 - </div>
607 - <div class="elementor-template-library-blank-title">{{{ title }}}</div>
608 - <div class="elementor-template-library-blank-message">{{{ description }}}</div>
609 - <form id="elementor-template-library-save-template-form">
610 - <input type="hidden" name="post_id" value="<?php echo esc_attr( get_the_ID() ); ?>">
611 - <# if ( typeof canSaveToCloud === 'undefined' || ! canSaveToCloud ) { #>
612 - <input id="elementor-template-library-save-template-name" name="title" placeholder="<?php echo esc_attr__( 'Enter Template Name', 'elementor' ); ?>" required>
613 - <button id="elementor-template-library-save-template-submit" class="elementor-button e-primary">
614 - <span class="elementor-state-icon">
615 - <i class="eicon-loading eicon-animation-spin" aria-hidden="true"></i>
616 - </span>
617 - <?php echo esc_html__( 'Save', 'elementor' ); ?>
618 - </button>
619 - <# } else { #>
620 - <div class="cloud-library-form-inputs variant-b">
621 - <label class="template-name-label">{{{ nameLabel }}}</label>
622 - <input id="elementor-template-library-save-template-name" name="title" placeholder="{{ namePlaceholder }}" required>
623 - <div class="source-selections variant-b">
624 - <label class="save-location-label">{{{ saveLocationLabel }}}</label>
625 - <div class="cloud-folder-selection-dropdown">
626 - <div class="cloud-folder-selection-dropdown-list"></div>
627 - </div>
628 - <div class="source-selections-input cloud variant-b">
629 - <input type="checkbox" id="cloud-variant-b" name="cloud" value="cloud">
630 - <svg xmlns="http://www.w3.org/2000/svg" width="32" height="21" viewBox="0 0 32 21" fill="none" aria-hidden="true" focusable="false">
631 - <path d="M14.4766 0.65332C15.6012 0.448538 16.725 0.448538 17.8496 0.65332L17.8506 0.654297C18.999 0.859231 20.0519 1.25664 21.0117 1.8457L21.0186 1.84961C21.977 2.41518 22.7715 3.12436 23.4062 3.97754V3.97852C23.9513 4.72146 24.3483 5.52984 24.5977 6.40625L24.5986 6.40918C24.8464 7.25779 24.9249 8.11532 24.835 8.98438L24.7773 9.53613H25.9482C26.6783 9.53618 27.3861 9.67837 28.0752 9.96484C28.7666 10.2523 29.3641 10.6478 29.8721 11.1514C30.3801 11.655 30.7789 12.2473 31.0684 12.9316C31.3568 13.6137 31.5 14.3141 31.5 15.0361C31.5 15.7562 31.3572 16.4544 31.0703 17.1348C30.7812 17.7963 30.3807 18.3918 29.8672 18.9238C29.361 19.4246 28.767 19.8189 28.0791 20.1055C27.3899 20.3687 26.6806 20.5 25.9482 20.5H7.86426C6.88609 20.5 5.94391 20.3314 5.03516 19.9941C4.15289 19.634 3.36155 19.1289 2.65918 18.4775C1.96133 17.8303 1.42329 17.0862 1.04102 16.2432C0.680199 15.3703 0.500051 14.4663 0.5 13.5273C0.5 12.5875 0.680313 11.6958 1.04004 10.8486L1.03906 10.8477C1.4212 10.0044 1.96042 9.26071 2.6582 8.61328C3.29259 8.02931 4.00501 7.56929 4.79785 7.23242L4.80859 7.22754C5.60006 6.86884 6.43718 6.65539 7.32227 6.58789L7.66406 6.5625L7.7627 6.23438C7.99951 5.45187 8.36595 4.71876 8.86523 4.03418L9.08789 3.74414C9.72608 2.97736 10.4771 2.33393 11.3438 1.81348C12.3064 1.24543 13.3497 0.858543 14.4766 0.65332Z" stroke="var(--e-a-color-txt)"/>
632 - </svg>
633 - <label for="cloud-variant-b"><?php echo esc_html__( 'Cloud Templates', 'elementor' ); ?></label>
634 - <span class="divider">/</span>
635 - <button type="button" class="ellipsis-container" aria-label="<?php echo esc_attr__( 'Select folder', 'elementor' ); ?>" aria-haspopup="listbox" aria-expanded="false">
636 - <?php echo esc_html__( 'Select folder', 'elementor' ); ?>
637 - </button>
638 - <span class="selected-folder">
639 - <span class="selected-folder-text"></span>
640 - <i class="eicon-editor-close" aria-hidden="true"></i>
641 - </span>
642 - <# if ( elementor.config.library_connect.is_connected ) { #>
643 - <#
644 - const goLink = elementor.templates.hasCloudLibraryQuota()
645 - ? 'https://go.elementor.com/go-pro-cloud-templates-save-to-100-usage-badge'
646 - : 'https://go.elementor.com/go-pro-cloud-templates-save-to-free-badge/';
647 - #>
648 - <span class="upgrade-badge">
649 - <a href="{{{ goLink }}}" target="_blank">
650 - <i class="eicon-upgrade-crown-full"></i><?php echo esc_html__( 'Upgrade', 'elementor' ); ?>
651 - </a>
652 - </span>
653 - <# } else { #>
654 - <span class="connect-badge">
655 - <a id="elementor-template-library-connect__badge-variant-b" href="{{{ elementorAppConfig?.[ 'cloud-library' ]?.library_connect_url }}}">
656 - <?php echo esc_html__( 'Connect account', 'elementor' ); ?>
657 - </a>
658 - </span>
659 - <# } #>
660 - <span class="account-badge cloud-account-badge" type="button" id="elementor-template-library-connect__badge-variant-b-button" aria-hidden="true">
661 - <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false" aria-hidden="true">
662 - <path fill-rule="evenodd" clip-rule="evenodd" d="M7.83317 2.33331C7.25853 2.33331 6.70743 2.56159 6.30111 2.96791C5.89478 3.37424 5.6665 3.92534 5.6665 4.49998V6.66665H9.99984V4.49998C9.99984 3.92534 9.77156 3.37424 9.36524 2.96791C8.95891 2.56159 8.40781 2.33331 7.83317 2.33331ZM10.9998 6.66665V4.49998C10.9998 3.66013 10.6662 2.85467 10.0723 2.26081C9.47848 1.66694 8.67302 1.33331 7.83317 1.33331C6.99332 1.33331 6.18786 1.66694 5.594 2.26081C5.00013 2.85467 4.6665 3.66013 4.6665 4.49998V6.66665H4.49984C4.01361 6.66665 3.54729 6.8598 3.20347 7.20362C2.85966 7.54743 2.6665 8.01375 2.6665 8.49998V12.5C2.6665 12.9862 2.85966 13.4525 3.20347 13.7963C3.54729 14.1402 4.01361 14.3333 4.49984 14.3333H11.1665C11.6527 14.3333 12.119 14.1402 12.4629 13.7963C12.8067 13.4525 12.9998 12.9862 12.9998 12.5V8.49998C12.9998 8.01375 12.8067 7.54743 12.4629 7.20362C12.119 6.8598 11.6527 6.66665 11.1665 6.66665H10.9998Z" fill="#1945A4"/>
663 - </svg>
664 - <?php echo esc_html__( 'My Elementor account', 'elementor' ); ?>
665 - </span>
666 - </div>
667 - <div class="source-selections-input local variant-b">
668 - <input type="checkbox" id="local-variant-b" name="local" value="local">
669 - <i class="eicon-header" aria-hidden="true"></i>
670 - <label for="local-variant-b"><?php echo esc_html__( 'Site Templates', 'elementor' ); ?></label>
671 - <span class="account-badge site-account-badge" type="button" aria-hidden="true">
672 - <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false" aria-hidden="true">
673 - <path d="M7.33301 9.5C8.17286 9.5 8.9784 9.83387 9.57227 10.4277C10.1661 11.0216 10.5 11.8271 10.5 12.667V14C10.5 14.2761 10.2761 14.5 10 14.5H2C1.72386 14.5 1.5 14.2761 1.5 14V12.667C1.5 11.8271 1.83387 11.0216 2.42773 10.4277C3.0216 9.83387 3.82714 9.5 4.66699 9.5H7.33301ZM11.833 9.5C12.6729 9.5 13.4784 9.83387 14.0723 10.4277C14.6661 11.0216 15 11.8271 15 12.667V14C15 14.2761 14.7761 14.5 14.5 14.5H11.5C11.7761 14.5 12 14.2761 12 14V12.667C12 11.8271 11.6661 11.0216 11.0723 10.4277C10.5178 9.87327 9.77915 9.54493 9 9.50391C9.05536 9.50099 9.11128 9.5 9.16699 9.5H11.833ZM6 1.5C6.83985 1.5 7.64539 1.83387 8.23926 2.42773C8.83302 3.02158 9.16699 3.82722 9.16699 4.66699C9.16691 5.50673 8.83305 6.31246 8.23926 6.90625C7.64541 7.50001 6.83978 7.83301 6 7.83301C5.16022 7.83301 4.35459 7.50001 3.76074 6.90625C3.16695 6.31246 2.83309 5.50673 2.83301 4.66699C2.83301 3.82722 3.16698 3.02158 3.76074 2.42773C4.35461 1.83387 5.16015 1.5 6 1.5ZM11 1.5C12.6569 1.5 14 2.84315 14 4.5C14 6.15685 12.6569 7.5 11 7.5C10.4529 7.5 9.94164 7.35059 9.5 7.09473C10.3958 6.57577 11 5.60972 11 4.5C11 3.3901 10.396 2.42319 9.5 1.9043C9.94155 1.64858 10.453 1.5 11 1.5Z" fill="#B15211"/>
674 - </svg>
675 - <?php echo esc_html__( 'Anyone on this site', 'elementor' ); ?>
676 - </span>
677 - </div>
678 - <input type="hidden" name="parentId" id="parentId" />
679 - </div>
680 - <div class="quota-cta">
681 - <p>
682 - <?php echo esc_html__( 'You’ve saved 100% of the templates in your plan.', 'elementor' ); ?>
683 - <br>
684 - <?php printf(
685 - /* translators: %s is the "Upgrade now" link */
686 - esc_html__( 'To get more space %s', 'elementor' ),
687 - '<a href="https://go.elementor.com/go-pro-cloud-templates-save-to-100-usage-notice">' . esc_html__( 'Upgrade now', 'elementor' ) . '</a>'
688 - ); ?>
689 - </p>
690 - </div>
691 - <button id="elementor-template-library-save-template-submit" class="elementor-button e-primary" disabled>
692 - <span class="elementor-state-icon">
693 - <i class="eicon-loading eicon-animation-spin" aria-hidden="true"></i>
694 - </span>
695 - {{{ saveBtnText }}}
696 - </button>
697 - </div>
698 - <# } #>
699 - </form>
700 - <div class="elementor-template-library-blank-footer">
701 - <?php echo esc_html__( 'Learn more about the', 'elementor' ); ?>
702 - <a class="elementor-template-library-blank-footer-link" href="https://go.elementor.com/docs-library/" target="_blank"><?php echo esc_html__( 'Template Library', 'elementor' ); ?></a>
703 - </div>
704 -</script>
705 -
706 238 <script type="text/template" id="tmpl-elementor-template-library-import">
707 239 <form id="elementor-template-library-import-form">
708 240 <div class="elementor-template-library-blank-icon">
709 241 <i class="eicon-library-upload" aria-hidden="true"></i>
@@ -710,27 +242,26 @@
710 242 </div>
711 243 <div class="elementor-template-library-blank-title"><?php echo esc_html__( 'Import Template to Your Library', 'elementor' ); ?></div>
712 244 <div class="elementor-template-library-blank-message"><?php echo esc_html__( 'Drag & drop your .JSON or .zip template file', 'elementor' ); ?></div>
713 245 <div id="elementor-template-library-import-form-or"><?php echo esc_html__( 'or', 'elementor' ); ?></div>
714 - <label for="elementor-template-library-import-form-input" id="elementor-template-library-import-form-label" class="elementor-button e-primary"><?php echo esc_html__( 'Select File', 'elementor' ); ?></label>
246 + <label for="elementor-template-library-import-form-input" id="elementor-template-library-import-form-label" class="elementor-button elementor-button-success"><?php echo esc_html__( 'Select File', 'elementor' ); ?></label>
715 247 <input id="elementor-template-library-import-form-input" type="file" name="file" accept=".json,.zip" required/>
716 248 <div class="elementor-template-library-blank-footer">
717 - <?php echo esc_html__( 'Learn more about the', 'elementor' ); ?>
718 - <a class="elementor-template-library-blank-footer-link" href="https://go.elementor.com/docs-library/" target="_blank"><?php echo esc_html__( 'Template Library', 'elementor' ); ?></a>
249 + <?php echo esc_html__( 'Want to learn more about the Elementor library?', 'elementor' ); ?>
250 + <a class="elementor-template-library-blank-footer-link" href="https://go.elementor.com/docs-library/" target="_blank"><?php echo esc_html__( 'Click here', 'elementor' ); ?></a>
719 251 </div>
720 252 </form>
721 253 </script>
722 254
723 255 <script type="text/template" id="tmpl-elementor-template-library-templates-empty">
724 - <div class="elementor-template-library-blank-icon"></div>
256 + <div class="elementor-template-library-blank-icon">
257 + <img src="<?php Utils::print_unescaped_internal_string( ELEMENTOR_ASSETS_URL . 'images/no-search-results.svg' ); ?>" class="elementor-template-library-no-results" />
258 + </div>
725 259 <div class="elementor-template-library-blank-title"></div>
726 260 <div class="elementor-template-library-blank-message"></div>
727 -
728 - <div class="elementor-template-library-cloud-empty__button"></div>
729 -
730 261 <div class="elementor-template-library-blank-footer">
731 - <?php echo esc_html__( 'Learn more about the', 'elementor' ); ?>
732 - <a class="elementor-template-library-blank-footer-link" href="https://go.elementor.com/docs-library/" target="_blank"><?php echo esc_html__( 'Template Library', 'elementor' ); ?></a>
262 + <?php echo esc_html__( 'Want to learn more about the Elementor library?', 'elementor' ); ?>
263 + <a class="elementor-template-library-blank-footer-link" href="https://go.elementor.com/docs-library/" target="_blank"><?php echo esc_html__( 'Click here', 'elementor' ); ?></a>
733 264 </div>
734 265 </script>
735 266
736 267 <script type="text/template" id="tmpl-elementor-template-library-preview">
@@ -754,9 +285,9 @@
754 285 'utm_campaign' => 'library-connect',
755 286 'utm_content' => '%%template_type%%', // will be replaced in the frontend
756 287 ] );
757 288 ?>
758 - <a id="elementor-template-library-connect__button" class="elementor-button e-primary" href="<?php echo esc_url( $url ); ?>">
289 + <a id="elementor-template-library-connect__button" class="elementor-button elementor-button-success" href="<?php echo esc_attr( $url ); ?>">
759 290 {{{ button }}}
760 291 </a>
761 292 <?php
762 293 $base_images_url = $this->get_assets_base_url() . '/assets/images/library-connect/';
@@ -763,89 +294,7 @@
763 294
764 295 $images = [ 'left-1', 'left-2', 'right-1', 'right-2' ];
765 296
766 297 foreach ( $images as $image ) : ?>
767 - <img id="elementor-template-library-connect__background-image-<?php Utils::print_unescaped_internal_string( $image ); ?>" class="elementor-template-library-connect__background-image" src="<?php Utils::print_unescaped_internal_string( $base_images_url . $image ); ?>.png" draggable="false" loading="lazy" />
298 + <img id="elementor-template-library-connect__background-image-<?php Utils::print_unescaped_internal_string( $image ); ?>" class="elementor-template-library-connect__background-image" src="<?php Utils::print_unescaped_internal_string( $base_images_url . $image ); ?>.png" draggable="false"/>
768 299 <?php endforeach; ?>
769 -</script>
770 -
771 -<script type="text/template" id="tmpl-elementor-template-library-connect-states">
772 - <#
773 - const activeSource = elementor.templates.getFilter( 'source' );
774 - #>
775 - <div id="elementor-template-library-filter-toolbar-local" class="elementor-template-library-filter-toolbar" style="padding-block-end:80px;">
776 - <div id="elementor-template-library-filter">
777 - <div class="elementor-template-library-filter-select-source" role="radiogroup" aria-label="<?php echo esc_attr__( 'Template source', 'elementor' ); ?>">
778 - <div class="source-option<# if ( activeSource === 'local' ) { #> selected<# } #>" data-source="local" role="radio" aria-checked="<# if ( activeSource === 'local' ) { #>true<# } else { #>false<# } #>" tabindex="<# if ( activeSource === 'local' ) { #>0<# } else { #>-1<# } #>">
779 - <i class="eicon-header" aria-hidden="true"></i>
780 - <?php echo esc_html__( 'Site templates', 'elementor' ); ?>
781 - </div>
782 - <div class="source-option<# if ( activeSource === 'cloud' ) { #> selected<# } #>" data-source="cloud" role="radio" aria-checked="<# if ( activeSource === 'cloud' ) { #>true<# } else { #>false<# } #>" tabindex="<# if ( activeSource === 'cloud' ) { #>0<# } else { #>-1<# } #>">
783 - <i class="eicon-library-cloud-empty" aria-hidden="true"></i>
784 - <?php echo esc_html__( 'Cloud templates', 'elementor' ); ?>
785 - <#
786 - const tabIcon = elementor.templates.hasCloudLibraryQuota()
787 - ? '<span class="new-badge"><?php echo esc_html__( 'New', 'elementor' ); ?></span>'
788 - : '<span class="new-badge"><i class="eicon-upgrade-crown" style="margin-inline-end: 0;"></i> <?php echo esc_html__( 'Pro', 'elementor' ); ?></span>';
789 -
790 - print( tabIcon );
791 - #>
792 - </div>
793 - </div>
794 - </div>
795 - <div class="elementor-template-library-connect-states-badge">
796 - <span class="source-option-badge cloud-badge">
797 - <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false" aria-hidden="true">
798 - <path fill-rule="evenodd" clip-rule="evenodd" d="M7.83317 2.33331C7.25853 2.33331 6.70743 2.56159 6.30111 2.96791C5.89478 3.37424 5.6665 3.92534 5.6665 4.49998V6.66665H9.99984V4.49998C9.99984 3.92534 9.77156 3.37424 9.36524 2.96791C8.95891 2.56159 8.40781 2.33331 7.83317 2.33331ZM10.9998 6.66665V4.49998C10.9998 3.66013 10.6662 2.85467 10.0723 2.26081C9.47848 1.66694 8.67302 1.33331 7.83317 1.33331C6.99332 1.33331 6.18786 1.66694 5.594 2.26081C5.00013 2.85467 4.6665 3.66013 4.6665 4.49998V6.66665H4.49984C4.01361 6.66665 3.54729 6.8598 3.20347 7.20362C2.85966 7.54743 2.6665 8.01375 2.6665 8.49998V12.5C2.6665 12.9862 2.85966 13.4525 3.20347 13.7963C3.54729 14.1402 4.01361 14.3333 4.49984 14.3333H11.1665C11.6527 14.3333 12.119 14.1402 12.4629 13.7963C12.8067 13.4525 12.9998 12.9862 12.9998 12.5V8.49998C12.9998 8.01375 12.8067 7.54743 12.4629 7.20362C12.119 6.8598 11.6527 6.66665 11.1665 6.66665H10.9998Z" fill="#1945A4" />
799 - </svg>
800 - <?php echo esc_html__( 'My Elementor account', 'elementor' ); ?>
801 - </span>
802 - </div>
803 - </div>
804 - <div class="elementor-template-library-blank-icon"></div>
805 - <div class="elementor-template-library-blank-title"></div>
806 - <div class="elementor-template-library-blank-message"></div>
807 -
808 - <div class="elementor-template-library-cloud-empty__button"></div>
809 -</script>
810 -
811 -<script type="text/template" id="tmpl-elementor-global-styles-dialog">
812 - <div class="elementor-global-styles-dialog">
813 - <div class="elementor-global-styles-dialog__header">
814 - <h2><?php echo esc_html__( 'Choose how to apply styles', 'elementor' ); ?></h2>
815 - <p><?php echo esc_html__( 'This affects page settings, classes, and variables.', 'elementor' ); ?></p>
816 - </div>
817 - <div class="elementor-global-styles-dialog__options">
818 - <label class="elementor-global-styles-dialog__radio-card">
819 - <input type="radio" name="elementor-global-styles-mode" id="elementor-global-styles-match" value="match_site" checked>
820 - <div class="elementor-global-styles-dialog__radio-card-content">
821 - <div class="elementor-global-styles-dialog__radio-label"><?php echo esc_html__( 'Use this site’s style', 'elementor' ); ?></div>
822 - <div class="elementor-global-styles-dialog__radio-description">
823 - <?php echo esc_html__( 'Apply your site styles to the imported template.', 'elementor' ); ?>
824 - </div>
825 - </div>
826 - </label>
827 - <label class="elementor-global-styles-dialog__radio-card elementor-global-styles-dialog__radio-card--keep">
828 - <input type="radio" name="elementor-global-styles-mode" id="elementor-global-styles-keep" value="keep">
829 - <div class="elementor-global-styles-dialog__radio-card-content">
830 - <div class="elementor-global-styles-dialog__radio-label"><?php echo esc_html__( 'Keep the template styles', 'elementor' ); ?></div>
831 - <div class="elementor-global-styles-dialog__radio-description">
832 - <?php echo esc_html__( 'The template will keep its original design.', 'elementor' ); ?>
833 - </div>
834 - </div>
835 - </label>
836 - <div class="elementor-global-styles-dialog__checkbox-container" style="display: none;">
837 - <label class="elementor-global-styles-dialog__checkbox-option">
838 - <input type="checkbox" id="elementor-global-styles-create" checked>
839 - <span class="elementor-global-styles-dialog__checkbox-label">
840 - <?php echo esc_html__( 'Add the template’s classes and variables to my site.', 'elementor' ); ?>
841 - <a href="<?php echo esc_url( 'https://elementor.com/help/variables-manager/' ); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html__( 'Learn more', 'elementor' ); ?></a>
842 - </span>
843 - </label>
844 - </div>
845 - </div>
846 - <div class="elementor-global-styles-dialog__footer">
847 - <button type="button" class="elementor-global-styles-dialog__button-cancel" id="elementor-global-styles-cancel"><?php echo esc_html__( 'Cancel', 'elementor' ); ?></button>
848 - <button type="button" class="elementor-global-styles-dialog__button-insert" id="elementor-global-styles-insert"><?php echo esc_html__( 'Insert', 'elementor' ); ?></button>
849 - </div>
850 - </div>
851 300 </script>