et_core_intentionally_unescaped( $disable_sort_logic, 'fixed_string' ),
et_core_intentionally_unescaped( $disable_global_sort_logic, 'fixed_string' ),
et_core_esc_previously( $insert_first_row_button )
$row_settings_button = sprintf(
'<%% if ( ( typeof et_pb_template_type === \'undefined\' || et_pb_template_type !== \'module\' )%3$s ) { %%>
<a href="#" class="et-pb-settings et-pb-settings-row" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Settings', 'et_builder' ),
esc_html__( 'Settings', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? ' && ( typeof et_pb_global_module === "undefined" || "" === et_pb_global_module ) && ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent )' : '' // do not display settings button on global rows if not allowed for current user.
$row_clone_button = sprintf(
<a href="#" class="et-pb-clone et-pb-clone-row" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Clone Row', 'et_builder' ),
esc_html__( 'Clone Row', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? '<% if ( ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent ) && ' . $builder_button_ab_testing_conditional . ' ) { %>' : '<% if ( ' . $builder_button_ab_testing_conditional . ' ) { %>', // do not display clone button on rows within global sections if not allowed for current user.
$row_remove_button = sprintf(
<a href="#" class="et-pb-remove et-pb-remove-row" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Delete Row', 'et_builder' ),
esc_html__( 'Delete Row', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? '<% if ( ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent ) && ' . $builder_button_ab_testing_conditional . ') { %>' : '<% if ( ' . $builder_button_ab_testing_conditional . ' ) { %>', // do not display clone button on rows within global sections if not allowed for current user.
$row_change_structure_button = sprintf(
<a href="#" class="et-pb-change-structure" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Change Structure', 'et_builder' ),
esc_html__( 'Change Structure', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? '<% if ( ( typeof et_pb_global_module === "undefined" || "" === et_pb_global_module ) && ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent ) ) { %>' : '', // do not display change structure button on global rows if not allowed for current user.
! et_pb_is_allowed( 'edit_global_library' ) ? '<% } %>' : ''
$row_unlock_button = sprintf(
'<a href="#" class="et-pb-unlock" title="%1$s"><span>%2$s</span></a>',
esc_attr__( 'Unlock Row', 'et_builder' ),
esc_html__( 'Unlock Row', 'et_builder' )
'<div class="et-pb-controls">
<%% if ( typeof et_pb_template_type === \'undefined\' || \'section\' === et_pb_template_type ) { %%>
if ( typeof et_pb_template_type === \'undefined\' || et_pb_template_type !== \'module\' ) { %%>
if ( typeof et_pb_template_type === \'undefined\' || \'section\' === et_pb_template_type ) { %%>
<a href="#" class="et-pb-expand" title="%5$s"><span>%6$s</span></a>
et_pb_is_allowed( 'edit_module' ) && ( et_pb_is_allowed( 'general_settings' ) || et_pb_is_allowed( 'advanced_settings' ) || et_pb_is_allowed( 'custom_css_settings' ) ) ? $row_settings_button : '',
et_pb_is_allowed( 'add_module' ) ? $row_clone_button : '',
et_pb_is_allowed( 'add_module' ) ? $row_remove_button : '',
et_pb_is_allowed( 'edit_module' ) && ( et_pb_is_allowed( 'general_settings' ) || et_pb_is_allowed( 'advanced_settings' ) || et_pb_is_allowed( 'custom_css_settings' ) ) ? $row_change_structure_button : '',
esc_attr__( 'Expand Row', 'et_builder' ),
esc_html__( 'Expand Row', 'et_builder' ),
et_pb_is_allowed( 'lock_module' ) ? $row_unlock_button : ''
$settings = apply_filters( 'et_builder_row_settings_controls', $settings );
'class="et-pb-row-content et-pb-data-cid%1$s%2$s <%%= typeof et_pb_template_type !== \'undefined\' && \'module\' === et_pb_template_type ? \' et_pb_hide_insert\' : \'\' %%>"',
! et_pb_is_allowed( 'move_module' ) ? ' et-pb-disable-sort' : '',
! et_pb_is_allowed( 'edit_global_library' )
? sprintf( '<%%= typeof et_pb_global_parent !== \'undefined\' || typeof et_pb_global_module !== \'undefined\' ? \' et-pb-disable-sort\' : \'\' %%>' )
$data_skip = 'data-skip="<%= typeof( et_pb_skip_module ) === \'undefined\' ? \'false\' : \'true\' %>"';
$add_row_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<%% if ( ( typeof et_pb_template_type === \'undefined\' || \'section\' === et_pb_template_type )%2$s ) { %%>
<a href="#" class="et-pb-row-add">
esc_html__( 'Add Row', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? ' && typeof et_pb_global_parent === "undefined"' : '' // do not display add row buton on global sections if not allowed for current user.
$insert_column_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<a href="#" class="et-pb-insert-column">
esc_html__( 'Insert Column(s)', 'et_builder' )
'<script type="text/template" id="et-builder-row-template">
<div class="et-pb-right-click-trigger-overlay"></div>
<div data-cid="<%%= cid %%>" %2$s %3$s>
<div class="et-pb-row-container"></div>
<div class="et-pb-locked-overlay et-pb-locked-overlay-row"></div>
<span class="et-pb-row-title"><%%= admin_label.replace( /%%22/g, """ ).replace( /%%91/g, "[" ).replace( /%%93/g, "]" ) %%></span>
et_core_esc_previously( $settings ),
et_core_intentionally_unescaped( $row_class, 'fixed_string' ),
et_core_intentionally_unescaped( $data_skip, 'fixed_string' ),
et_core_esc_previously( $insert_column_button ),
et_core_esc_previously( $add_row_button )
// Module Block Template.
$clone_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<%% if ( ( typeof et_pb_template_type === \'undefined\' || et_pb_template_type !== \'module\' )%3$s && _.contains(%4$s, module_type) && ' . $builder_button_ab_testing_conditional . ' ) { %%>
<a href="#" class="et-pb-clone et-pb-clone-module" title="%1$s">
esc_attr__( 'Clone Module', 'et_builder' ),
esc_html__( 'Clone Module', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? ' && ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent )' : '',
et_pb_allowed_modules_list()
$remove_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<%% if ( ( typeof et_pb_template_type === \'undefined\' || et_pb_template_type !== \'module\' )%3$s && (_.contains(%4$s, module_type) || "removed" === component_status) && ' . $builder_button_ab_testing_conditional . ' ) { %%>
<a href="#" class="et-pb-remove et-pb-remove-module" title="%1$s">
esc_attr__( 'Remove Module', 'et_builder' ),
esc_html__( 'Remove Module', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? ' && ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent )' : '',
et_pb_allowed_modules_list()
$unlock_button = et_pb_is_allowed( 'lock_module' ) ? sprintf(
'<%% if ( typeof et_pb_template_type === \'undefined\' || et_pb_template_type !== \'module\' ) { %%>
<a href="#" class="et-pb-unlock" title="%1$s">
esc_html__( 'Unlock Module', 'et_builder' ),
esc_attr__( 'Unlock Module', 'et_builder' )
$settings_button = et_pb_is_allowed( 'edit_module' ) && ( et_pb_is_allowed( 'general_settings' ) || et_pb_is_allowed( 'advanced_settings' ) || et_pb_is_allowed( 'custom_css_settings' ) ) ? sprintf(
'<%% if (%3$s _.contains( %4$s, module_type ) ) { %%>
<a href="#" class="et-pb-settings" title="%1$s">
esc_attr__( 'Module Settings', 'et_builder' ),
esc_html__( 'Module Settings', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? ' ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent ) && ( typeof et_pb_global_module === "undefined" || "" === et_pb_global_module ) &&' : '',
et_pb_allowed_modules_list()
'<script type="text/template" id="et-builder-block-module-template">
<span class="et-pb-module-title"><%%= admin_label.replace( /%%22/g, """ ).replace( /%%91/g, "[" ).replace( /%%93/g, "]" ) %%></span>
et_core_esc_previously( $settings_button ),
et_core_esc_previously( $clone_button ),
et_core_esc_previously( $remove_button ),
et_core_esc_previously( $unlock_button )
$can_edit_or_has_modal_view_tab = et_pb_is_allowed( 'edit_module' ) && ( et_pb_is_allowed( 'general_settings' ) || et_pb_is_allowed( 'advanced_settings' ) || et_pb_is_allowed( 'custom_css_settings' ) );
$save_exit_button = $can_edit_or_has_modal_view_tab ? sprintf(
'<a href="#" class="et-pb-modal-save button button-primary">
esc_html__( 'Save & Exit', 'et_builder' )
$save_template_button = et_pb_is_allowed( 'divi_library' ) && et_pb_is_allowed( 'save_library' ) ? sprintf(
'<%% if ( typeof et_pb_template_type === \'undefined\' || \'\' === et_pb_template_type ) { %%>
<a href="#" class="et-pb-modal-save-template button">
esc_html__( 'Save & Add To Library', 'et_builder' )
$preview_template_button = sprintf(
'<a href="#" class="et-pb-modal-preview-template button">
<span class="icon"></span>
<span class="label">%1$s</span>
esc_html__( 'Preview', 'et_builder' )
$single_button_class = ! et_pb_is_allowed( 'divi_library' ) || ! et_pb_is_allowed( 'save_library' ) ? ' et_pb_single_button' : '';
$no_editing_class = $can_edit_or_has_modal_view_tab ? '' : ' et_pb_no_editing';
'<script type="text/template" id="et-builder-modal-template">
<div class="et-pb-modal-container%6$s">
<a href="#" class="et-pb-modal-close">
<%% if ( ! ( typeof open_view !== \'undefined\' && open_view === \'column_specialty_settings\' ) && typeof type !== \'undefined\' && ( type === \'module\' || type === \'section\' || type === \'row_inner\' || ( type === \'row\' && typeof open_view === \'undefined\' ) ) ) { %%>
<div class="et-pb-modal-bottom-container%4$s">
et_builder_i18n( 'Cancel' ),
et_core_esc_previously( $save_template_button ),
et_core_esc_previously( $save_exit_button ),
et_core_intentionally_unescaped( $single_button_class, 'fixed_string' ),
et_core_esc_previously( $preview_template_button ),
et_core_intentionally_unescaped( $no_editing_class, 'fixed_string' )
// Column Settings Template.
'<% if ( view.model.attributes.specialty_columns === 3 ) { %>
$data_specialty_columns = sprintf(
'<%% if ( typeof view !== \'undefined\' && typeof view.model.attributes.specialty_columns !== \'undefined\' ) { %%>
data-specialty_columns="%1$s"
$saved_row_tab = et_pb_is_allowed( 'divi_library' ) && et_pb_is_allowed( 'add_library' ) ? sprintf(
'<li class="et-pb-saved-module" data-open_tab="et-pb-saved-modules-tab">
esc_html__( 'Add From Library', 'et_builder' )
$saved_row_container = et_pb_is_allowed( 'divi_library' ) && et_pb_is_allowed( 'add_library' )
? '<% if ( ( typeof change_structure === \'undefined\' || \'true\' !== change_structure ) && ( typeof et_pb_specialty === \'undefined\' || et_pb_specialty !== \'on\' ) ) { %>
<div class="et-pb-main-settings et-pb-main-settings-full et-pb-saved-modules-tab"></div>
'<script type="text/template" id="et-builder-column-settings-template">
<h3 class="et-pb-settings-heading" data-current_row="<%%= cid %%>">%1$s</h3>
<%% if ( ( typeof change_structure === \'undefined\' || \'true\' !== change_structure ) && ( typeof et_pb_specialty === \'undefined\' || et_pb_specialty !== \'on\' ) ) { %%>
<ul class="et-pb-options-tabs-links et-pb-saved-modules-switcher" %2$s>
<li class="et-pb-saved-module et-pb-options-tabs-links-active" data-open_tab="et-pb-new-modules-tab" data-content_loaded="true">
<div class="et-pb-main-settings et-pb-main-settings-full et-pb-new-modules-tab active-container">
<ul class="et-pb-column-layouts">
esc_html__( 'Insert Columns', 'et_builder' ),
et_core_intentionally_unescaped( $data_specialty_columns, 'fixed_string' ),
esc_html__( 'New Row', 'et_builder' ),
et_core_esc_previously( $saved_row_tab ),
et_core_intentionally_unescaped( et_builder_get_columns_layout(), 'fixed_string' ),
et_core_intentionally_unescaped( $saved_row_container, 'fixed_string' )
'<% if ( typeof module.fullwidth_only !== \'undefined\' && module.fullwidth_only === \'on\' ) { %> et_pb_fullwidth_only_module<% } %>';
$saved_modules_tab = et_pb_is_allowed( 'divi_library' ) && et_pb_is_allowed( 'add_library' ) ? sprintf(
'<li class="et-pb-saved-module" data-open_tab="et-pb-saved-modules-tab">
esc_html__( 'Add From Library', 'et_builder' )
$saved_modules_container = et_pb_is_allowed( 'divi_library' ) && et_pb_is_allowed( 'add_library' )
? '<div class="et-pb-main-settings et-pb-main-settings-full et-pb-saved-modules-tab"></div>'
'<script type="text/template" id="et-builder-modules-template">
<h3 class="et-pb-settings-heading">%1$s</h3>
<ul class="et-pb-options-tabs-links et-pb-saved-modules-switcher">
<li class="et-pb-new-module et-pb-options-tabs-links-active" data-open_tab="et-pb-all-modules-tab">
<div class="et-pb-main-settings et-pb-main-settings-full et-pb-all-modules-tab active-container">
<ul class="et-pb-all-modules">
<%% _.each(modules, function(module) { %%>
<%% if ( "et_pb_row" !== module.label && "et_pb_section" !== module.label && "et_pb_column" !== module.label && "et_pb_row_inner" !== module.label && _.contains(%6$s, module.label ) ) { %%>
<li class="<%%= module.label %%>%4$s">
<span class="et_module_title"><%%= module.title %%></span>
esc_html__( 'Insert Module', 'et_builder' ),
esc_html__( 'New Module', 'et_builder' ),
et_core_esc_previously( $saved_modules_tab ),
et_core_intentionally_unescaped( $fullwidth_class, 'fixed_string' ),
et_core_intentionally_unescaped( $saved_modules_container, 'fixed_string' ),
et_core_esc_previously( et_pb_allowed_modules_list() )
'<script type="text/template" id="et-builder-load_layout-template">
<h3 class="et-pb-settings-heading">%1$s</h3>
<%% if ( typeof display_switcher !== \'undefined\' && display_switcher === \'on\' ) { %%>
<ul class="et-pb-options-tabs-links et-pb-saved-modules-switcher">
<li class="et-pb-new-module et-pb-options-tabs-links-active" data-open_tab="et-pb-all-modules-tab">
<li class="et-pb-saved-module" data-open_tab="et-pb-saved-modules-tab">
<%% if (!_.isEmpty(et_pb_options.library_custom_tabs)) { %%>
<%% _.each(et_pb_options.library_custom_tabs, function(tab_name, tab_id) { %%>
<li class="et-pb-saved-module" data-open_tab="et-pb-<%%= tab_id %%>-tab" data-custom_tab_id="<%%= tab_id %%>">
<a href="#"><%%= tab_name %%></a>
<%% if ( typeof display_switcher !== \'undefined\' && display_switcher === \'on\' ) { %%>
<div class="et-pb-main-settings et-pb-main-settings-full et-pb-all-modules-tab active-container"></div>
<div class="et-pb-main-settings et-pb-main-settings-full et-pb-saved-modules-tab" style="display: none;"></div>
<%% if (!_.isEmpty(et_pb_options.library_custom_tabs)) { %%>
<%% _.each(et_pb_options.library_custom_tabs, function(tab_name, tab_id) { %%>
<div class="et-pb-main-settings et-pb-main-settings-full et-pb-<%%= tab_id %%>-tab" style="display: none;"></div>
<div class="et-pb-main-settings et-pb-main-settings-full et-pb-saved-modules-tab active-container"></div>
esc_html__( 'Load Layout', 'et_builder' ),
esc_html__( 'Premade Layouts', 'et_builder' ),
esc_html__( 'Your Saved Layouts', 'et_builder' )
// Library Account Status Error.
$library_i18n = require ET_BUILDER_DIR . 'frontend-builder/i18n/library.php';
<script type="text/template" id="et-builder-library-account-status-error-template">
<div class="et-pb-library-account-status-error">
<div class="et-pb-option et-pb-option--text">
<label for="et_username">%5$s</label>
<div class="et-pb-option-container et-pb-option-container--text">
<input id="et_username" type="text" class="regular-text" value="" />
<p class="description">%6$s</p>
<div class="et-pb-option et-pb-option--text">
<label for="et_api_key">%7$s</label>
<div class="et-pb-option-container et-pb-option-container--text">
<input id="et_api_key" type="text" class="regular-text" value="" />
<p class="description">%8$s</p>
<div class="et-pb-option-container">
<a href="#" class="button">%9$s</a>
et_core_esc_previously( $library_i18n['Uh Oh!'] ),
et_core_esc_previously( $library_i18n['$expiredAccount'] ),
et_core_esc_previously( $library_i18n['Authentication Required'] ),
et_core_esc_previously( $library_i18n['$noAccount'] ),
et_core_esc_previously( $library_i18n['Username'] ),
et_core_esc_previously( $library_i18n['$usernameHelp'] ),
et_core_esc_previously( $library_i18n['API Key'] ),
et_core_esc_previously( $library_i18n['$apiKeyHelp'] ),
et_core_esc_previously( $library_i18n['Submit'] )
<script type="text/template" id="et-builder-library-back-button-template">
<div class="et-pb-library-back-button" aria-role="button" aria-label="Back To Layouts List">
<svg viewBox="0 0 28 28" preserveAspectRatio="xMidYMid meet"shapeRendering="geometricPrecision">
<path d="M14.988 10.963h-3v-2.52a.393.393 0 0 0-.63-.361l-5.2 4.5a.491.491 0 0 0 0 .72l5.2 4.5a.393.393 0 0 0 .63-.36v-2.52h2.99a2.992 2.992 0 0 1 2.99 2.972v1.287a.7.7 0 0 0 .7.694h2.59a.7.7 0 0 0 .7-.694v-1.3a6.948 6.948 0 0 0-6.97-6.918z" fillRule="evenodd" />
$insert_module_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
<a href="#" class="et-pb-insert-module<%%= typeof et_pb_template_type === \'undefined\' || \'module\' !== et_pb_template_type ? \'\' : \' et_pb_hidden_button\' %%>">
esc_html__( 'Insert Module(s)', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? '<% if ( typeof et_pb_global_parent === "undefined" ) { %>' : '',
! et_pb_is_allowed( 'edit_global_library' ) ? '<% } %>' : ''
'<script type="text/template" id="et-builder-column-template">
et_core_esc_previously( $insert_module_button )
$insert_row_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<a href="#" class="et-pb-insert-row">
esc_html__( 'Insert Row(s)', 'et_builder' )
'<script type="text/template" id="et-builder-specialty-column-template">
et_core_esc_previously( $insert_row_button )
// Advanced Settings Buttons Module.
'<script type="text/template" id="et-builder-advanced-setting">
<%% if ( \'et_pb_column\' !== module_type && \'et_pb_column_inner\' !== module_type ) { %%>
<a href="#" class="et-pb-advanced-setting-remove">
<a href="#" class="et-pb-advanced-setting-options">
<%% if ( \'et_pb_column\' !== module_type && \'et_pb_column_inner\' !== module_type ) { %%>
<a href="#" class="et-pb-clone et-pb-advanced-setting-clone">
esc_html__( 'Delete', 'et_builder' ),
esc_html__( 'Settings', 'et_builder' ),
esc_html__( 'Clone Module', 'et_builder' )