PluginProbe
Elementor Website Builder – more than just a page builder / 3.0.6
Elementor Website Builder – more than just a page builder v3.0.6
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 +93 -658 4.2.23.0.6 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>
19 - <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>
23 - <span class="elementor-screen-only"><?php echo esc_html__( 'Save', 'elementor' ); ?></span>
24 - </button>
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 __( '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>
15 + <span class="elementor-screen-only"><?php echo __( 'Sync Library', 'elementor' ); ?></span>
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>
19 + <span class="elementor-screen-only"><?php echo __( 'Save', 'elementor' ); ?></span>
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 __( '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">
@@ -62,9 +46,9 @@
62 46 <div class="elementor-loader-box"></div>
63 47 <div class="elementor-loader-box"></div>
64 48 </div>
65 49 </div>
66 - <div class="elementor-loading-title"><?php echo esc_html__( 'Loading', 'elementor' ); ?></div>
50 + <div class="elementor-loading-title"><?php echo __( 'Loading', 'elementor' ); ?></div>
67 51 </div>
68 52 </script>
69 53
70 54 <script type="text/template" id="tmpl-elementor-template-library-templates">
@@ -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 ) { #>
@@ -85,15 +62,15 @@
85 62 <div id="elementor-template-library-filter-toolbar-remote" class="elementor-template-library-filter-toolbar">
86 63 <# if ( 'page' === activeType ) { #>
87 64 <div id="elementor-template-library-order">
88 65 <input type="radio" id="elementor-template-library-order-new" class="elementor-template-library-order-input" name="elementor-template-library-order" value="date">
89 - <label for="elementor-template-library-order-new" class="elementor-template-library-order-label"><?php echo esc_html__( 'New', 'elementor' ); ?></label>
66 + <label for="elementor-template-library-order-new" class="elementor-template-library-order-label"><?php echo __( 'New', 'elementor' ); ?></label>
90 67 <input type="radio" id="elementor-template-library-order-trend" class="elementor-template-library-order-input" name="elementor-template-library-order" value="trendIndex">
91 - <label for="elementor-template-library-order-trend" class="elementor-template-library-order-label"><?php echo esc_html__( 'Trend', 'elementor' ); ?></label>
68 + <label for="elementor-template-library-order-trend" class="elementor-template-library-order-label"><?php echo __( '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 - <label for="elementor-template-library-order-popular" class="elementor-template-library-order-label"><?php echo esc_html__( 'Popular', 'elementor' ); ?></label>
70 + <label for="elementor-template-library-order-popular" class="elementor-template-library-order-label"><?php echo __( '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">
@@ -111,164 +88,59 @@
111 88 <# var checked = elementor.templates.getFilter( 'favorite' ) ? ' checked' : ''; #>
112 89 <input id="elementor-template-library-filter-my-favorites" type="checkbox"{{{ checked }}}>
113 90 <label id="elementor-template-library-filter-my-favorites-label" for="elementor-template-library-filter-my-favorites">
114 91 <i class="eicon" aria-hidden="true"></i>
115 - <?php echo esc_html__( 'My Favorites', 'elementor' ); ?>
92 + <?php echo __( 'My Favorites', 'elementor' ); ?>
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 __( '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 - <label for="elementor-template-library-order-local-title" class="elementor-template-library-order-label"><?php echo esc_html__( 'Name', 'elementor' ); ?></label>
109 + <label for="elementor-template-library-order-local-title" class="elementor-template-library-order-label"><?php echo __( 'Name', 'elementor' ); ?></label>
222 110 </div>
223 111 <div class="elementor-template-library-local-column-2">
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 - <label for="elementor-template-library-order-local-type" class="elementor-template-library-order-label"><?php echo esc_html__( 'Type', 'elementor' ); ?></label>
113 + <label for="elementor-template-library-order-local-type" class="elementor-template-library-order-label"><?php echo __( '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 - <# } #>
231 - <label for="elementor-template-library-order-local-author" class="elementor-template-library-order-label"><?php echo esc_html__( 'Created By', 'elementor' ); ?></label>
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">
117 + <label for="elementor-template-library-order-local-author" class="elementor-template-library-order-label"><?php echo __( '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">
235 - <label for="elementor-template-library-order-local-date" class="elementor-template-library-order-label"><?php echo esc_html__( 'Creation Date', 'elementor' ); ?></label>
121 + <label for="elementor-template-library-order-local-date" class="elementor-template-library-order-label"><?php echo __( 'Creation Date', 'elementor' ); ?></label>
236 122 </div>
237 123 <div class="elementor-template-library-local-column-5">
238 - <div class="elementor-template-library-order-label"><?php echo esc_html__( 'Actions', 'elementor' ); ?></div>
124 + <div class="elementor-template-library-order-label"><?php echo __( '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 - <img class="elementor-nerd-box-icon" src="<?php
246 - Utils::print_unescaped_internal_string( ELEMENTOR_ASSETS_URL . 'images/information.svg' );
247 - ?>" loading="lazy" alt="<?php echo esc_attr__( 'Elementor', 'elementor' ); ?>" />
248 - <div class="elementor-excerpt"><?php echo esc_html__( 'Stay tuned! More awesome templates coming real soon.', 'elementor' ); ?></div>
131 + <img class="elementor-nerd-box-icon" src="<?php echo ELEMENTOR_ASSETS_URL . 'images/information.svg'; ?>" />
132 + <div class="elementor-excerpt"><?php echo __( 'Stay tuned! More awesome templates coming real soon.', 'elementor' ); ?></div>
249 133 </div>
250 134 <# } #>
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 135 </script>
255 136
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 137 <script type="text/template" id="tmpl-elementor-template-library-template-remote">
265 138 <div class="elementor-template-library-template-body">
266 - <?php // 'lp' stands for Landing Pages Library type. ?>
267 - <# 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>
139 + <# if ( 'page' === type ) { #>
140 + <div class="elementor-template-library-template-screenshot" style="background-image: url({{ thumbnail }});"></div>
269 141 <# } else { #>
270 - <img src="{{ thumbnail }}" loading="lazy" alt="<?php echo esc_attr__( 'Preview of template', 'elementor' ); ?> {{{ title }}}">
142 + <img src="{{ thumbnail }}">
271 143 <# } #>
272 144 <div class="elementor-template-library-template-preview">
273 145 <i class="eicon-zoom-in-bold" aria-hidden="true"></i>
274 146 </div>
@@ -279,9 +151,9 @@
279 151 <div class="elementor-template-library-favorite">
280 152 <input id="elementor-template-library-template-{{ template_id }}-favorite-input" class="elementor-template-library-template-favorite-input" type="checkbox"{{ favorite ? " checked" : "" }}>
281 153 <label for="elementor-template-library-template-{{ template_id }}-favorite-input" class="elementor-template-library-template-favorite-label">
282 154 <i class="eicon-heart-o" aria-hidden="true"></i>
283 - <span class="elementor-screen-only"><?php echo esc_html__( 'Favorite', 'elementor' ); ?></span>
155 + <span class="elementor-screen-only"><?php echo __( 'Favorite', 'elementor' ); ?></span>
284 156 </label>
285 157 </div>
286 158 </div>
287 159 </script>
@@ -286,451 +158,103 @@
286 158 </div>
287 159 </script>
288 160
289 161 <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>
162 + <div class="elementor-template-library-template-name elementor-template-library-local-column-1">{{{ title }}}</div>
163 + <div class="elementor-template-library-template-meta elementor-template-library-template-type elementor-template-library-local-column-2">{{{ elementor.translate( type ) }}}</div>
164 + <div class="elementor-template-library-template-meta elementor-template-library-template-author elementor-template-library-local-column-3">{{{ author }}}</div>
165 + <div class="elementor-template-library-template-meta elementor-template-library-template-date elementor-template-library-local-column-4">{{{ human_date }}}</div>
166 + <div class="elementor-template-library-template-controls elementor-template-library-local-column-5">
167 + <div class="elementor-template-library-template-preview">
168 + <i class="eicon-preview-medium" aria-hidden="true"></i>
169 + <span class="elementor-template-library-template-control-title"><?php echo __( 'Preview', 'elementor' ); ?></span>
308 170 </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>
171 + <button class="elementor-template-library-template-action elementor-template-library-template-insert elementor-button elementor-button-success">
172 + <i class="eicon-file-download" aria-hidden="true"></i>
173 + <span class="elementor-button-title"><?php echo __( 'Insert', 'elementor' ); ?></span>
326 174 </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>
330 - <span class="elementor-button-title"><?php echo esc_html__( 'Insert', 'elementor' ); ?></span>
331 - </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 }}}">
175 + <div class="elementor-template-library-template-more-toggle">
334 176 <i class="eicon-ellipsis-h" aria-hidden="true"></i>
335 - <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>
177 + <span class="elementor-screen-only"><?php echo __( 'More actions', 'elementor' ); ?></span>
378 178 </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>
390 - <span class="elementor-template-library-template-control-title"><?php echo esc_html__( 'Export', 'elementor' ); ?></span>
179 + <div class="elementor-template-library-template-more">
180 + <div class="elementor-template-library-template-delete">
181 + <i class="eicon-trash-o" aria-hidden="true"></i>
182 + <span class="elementor-template-library-template-control-title"><?php echo __( 'Delete', 'elementor' ); ?></span>
183 + </div>
184 + <div class="elementor-template-library-template-export">
185 + <a href="{{ export_link }}">
186 + <i class="eicon-sign-out" aria-hidden="true"></i>
187 + <span class="elementor-template-library-template-control-title"><?php echo __( 'Export', 'elementor' ); ?></span>
391 188 </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 189 </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 - <# } } #>
190 + </div>
191 + </div>
475 192 </script>
476 193
477 194 <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">
195 + <a class="elementor-template-library-template-action elementor-template-library-template-insert elementor-button">
486 196 <i class="eicon-file-download" aria-hidden="true"></i>
487 - <span class="elementor-button-title"><?php echo esc_html__( 'Apply', 'elementor' ); ?></span>
197 + <span class="elementor-button-title"><?php echo __( 'Insert', 'elementor' ); ?></span>
488 198 </a>
489 199 </script>
490 200
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 - <span class="elementor-button-title"><?php echo esc_html__( 'Insert', 'elementor' ); ?></span>
201 +<script type="text/template" id="tmpl-elementor-template-library-get-pro-button">
202 + <a class="elementor-template-library-template-action elementor-button elementor-go-pro" href="<?php echo Utils::get_pro_link( 'https://elementor.com/pro/?utm_source=panel-library&utm_campaign=gopro&utm_medium=wp-dash' ); ?>" target="_blank">
203 + <i class="eicon-external-link-square" aria-hidden="true"></i>
204 + <span class="elementor-button-title"><?php echo __( 'Go Pro', 'elementor' ); ?></span>
495 205 </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 206 </script>
501 207
502 -<script type="text/template" id="tmpl-elementor-template-library-upgrade-plan-button">
503 - <a
504 - class="elementor-template-library-template-action elementor-button go-pro"
505 - href="{{{ promotionLink }}}"
506 - target="_blank"
507 - >
508 - <span class="elementor-button-title">{{{ promotionText }}}</span>
509 - </a>
510 -</script>
511 -
512 208 <script type="text/template" id="tmpl-elementor-template-library-save-template">
513 209 <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 - #>
518 - <span class="elementor-screen-only"><?php echo esc_html__( 'Save', 'elementor' ); ?></span>
210 + <i class="eicon-library-save" aria-hidden="true"></i>
211 + <span class="elementor-screen-only"><?php echo __( 'Save', 'elementor' ); ?></span>
519 212 </div>
520 213 <div class="elementor-template-library-blank-title">{{{ title }}}</div>
521 214 <div class="elementor-template-library-blank-message">{{{ description }}}</div>
522 215 <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 ) { #>
216 + <input type="hidden" name="post_id" value="<?php echo get_the_ID(); ?>">
525 217 <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">
218 + <button id="elementor-template-library-save-template-submit" class="elementor-button elementor-button-success">
527 219 <span class="elementor-state-icon">
528 220 <i class="eicon-loading eicon-animation-spin" aria-hidden="true"></i>
529 221 </span>
530 - <?php echo esc_html__( 'Save', 'elementor' ); ?>
222 + <?php echo __( 'Save', 'elementor' ); ?>
531 223 </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 224 </form>
593 225 <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>
226 + <?php echo __( 'Want to learn more about the Elementor library?', 'elementor' ); ?>
227 + <a class="elementor-template-library-blank-footer-link" href="https://go.elementor.com/docs-library/" target="_blank"><?php echo __( 'Click here', 'elementor' ); ?></a>
596 228 </div>
597 229 </script>
598 230
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 231 <script type="text/template" id="tmpl-elementor-template-library-import">
707 232 <form id="elementor-template-library-import-form">
708 233 <div class="elementor-template-library-blank-icon">
709 234 <i class="eicon-library-upload" aria-hidden="true"></i>
710 235 </div>
711 - <div class="elementor-template-library-blank-title"><?php echo esc_html__( 'Import Template to Your Library', 'elementor' ); ?></div>
712 - <div class="elementor-template-library-blank-message"><?php echo esc_html__( 'Drag & drop your .JSON or .zip template file', 'elementor' ); ?></div>
713 - <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>
236 + <div class="elementor-template-library-blank-title"><?php echo __( 'Import Template to Your Library', 'elementor' ); ?></div>
237 + <div class="elementor-template-library-blank-message"><?php echo __( 'Drag & drop your .JSON or .zip template file', 'elementor' ); ?></div>
238 + <div id="elementor-template-library-import-form-or"><?php echo __( 'or', 'elementor' ); ?></div>
239 + <label for="elementor-template-library-import-form-input" id="elementor-template-library-import-form-label" class="elementor-button elementor-button-success"><?php echo __( 'Select File', 'elementor' ); ?></label>
715 240 <input id="elementor-template-library-import-form-input" type="file" name="file" accept=".json,.zip" required/>
716 241 <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>
242 + <?php echo __( 'Want to learn more about the Elementor library?', 'elementor' ); ?>
243 + <a class="elementor-template-library-blank-footer-link" href="https://go.elementor.com/docs-library/" target="_blank"><?php echo __( 'Click here', 'elementor' ); ?></a>
719 244 </div>
720 245 </form>
721 246 </script>
722 247
723 248 <script type="text/template" id="tmpl-elementor-template-library-templates-empty">
724 - <div class="elementor-template-library-blank-icon"></div>
249 + <div class="elementor-template-library-blank-icon">
250 + <img src="<?php echo ELEMENTOR_ASSETS_URL . 'images/no-search-results.svg'; ?>" class="elementor-template-library-no-results" />
251 + </div>
725 252 <div class="elementor-template-library-blank-title"></div>
726 253 <div class="elementor-template-library-blank-message"></div>
727 -
728 - <div class="elementor-template-library-cloud-empty__button"></div>
729 -
730 254 <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>
255 + <?php echo __( 'Want to learn more about the Elementor library?', 'elementor' ); ?>
256 + <a class="elementor-template-library-blank-footer-link" href="https://go.elementor.com/docs-library/" target="_blank"><?php echo __( 'Click here', 'elementor' ); ?></a>
733 257 </div>
734 258 </script>
735 259
736 260 <script type="text/template" id="tmpl-elementor-template-library-preview">
@@ -746,17 +270,10 @@
746 270 </div>
747 271 <div class="elementor-template-library-blank-message">
748 272 {{{ message }}}
749 273 </div>
750 - <?php
751 - $url = Plugin::$instance->common->get_component( 'connect' )->get_app( 'library' )->get_admin_url( 'authorize', [
752 - 'utm_source' => 'template-library',
753 - 'utm_medium' => 'wp-dash',
754 - 'utm_campaign' => 'library-connect',
755 - 'utm_content' => '%%template_type%%', // will be replaced in the frontend
756 - ] );
757 - ?>
758 - <a id="elementor-template-library-connect__button" class="elementor-button e-primary" href="<?php echo esc_url( $url ); ?>">
274 + <?php $url = Plugin::$instance->common->get_component( 'connect' )->get_app( 'library' )->get_admin_url( 'authorize' ); ?>
275 + <a id="elementor-template-library-connect__button" class="elementor-button elementor-button-success" href="<?php echo esc_attr( $url ); ?>">
759 276 {{{ button }}}
760 277 </a>
761 278 <?php
762 279 $base_images_url = $this->get_assets_base_url() . '/assets/images/library-connect/';
@@ -763,89 +280,7 @@
763 280
764 281 $images = [ 'left-1', 'left-2', 'right-1', 'right-2' ];
765 282
766 283 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" />
284 + <img id="elementor-template-library-connect__background-image-<?php echo $image; ?>" class="elementor-template-library-connect__background-image" src="<?php echo $base_images_url . $image; ?>.png" draggable="false"/>
768 285 <?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 286 </script>