Formidable Forms – Form Builder for WordPress - Version 5.4.1

Version Description

  • New: Fields using the "Placeholder inside the field" Label Position setting will now use an animated label that moves to the top of the field when focused.
  • New: Added a new frm_after_destroy_entry filter that can be used to update caching after a Formidable entry is deleted.
  • Fix: An unexpected empty broken application template was appearing for expired licenses.
Download this release

Release Info

Developer formidableforms
Plugin Icon 128x128 Formidable Forms – Form Builder for WordPress
Version 5.4.1
Comparing to
See all releases

Code changes from version 5.4 to 5.4.1

classes/controllers/FrmApplicationsController.php CHANGED
@@ -106,7 +106,12 @@ class FrmApplicationsController {
106
 
107
  $unlocked_templates = array();
108
  $locked_templates = array();
109
- foreach ( $applications as $application ) {
 
 
 
 
 
110
  if ( ! empty( $application['url'] ) ) {
111
  $unlocked_templates[] = $application;
112
  } else {
106
 
107
  $unlocked_templates = array();
108
  $locked_templates = array();
109
+ foreach ( $applications as $key => $application ) {
110
+ if ( ! is_numeric( $key ) ) {
111
+ // Skip "error" or any other non-numeric key.
112
+ continue;
113
+ }
114
+
115
  if ( ! empty( $application['url'] ) ) {
116
  $unlocked_templates[] = $application;
117
  } else {
classes/controllers/FrmFieldsController.php CHANGED
@@ -570,18 +570,15 @@ class FrmFieldsController {
570
  }
571
 
572
  /**
573
- * @param array $field
 
 
 
 
574
  * @return string
575
  */
576
  private static function prepare_placeholder( $field ) {
577
- $placeholder = isset( $field['placeholder'] ) ? $field['placeholder'] : '';
578
- $placeholder_is_blank = empty( $placeholder ) && '0' !== $placeholder;
579
- $is_placeholder_field = FrmFieldsHelper::is_placeholder_field_type( $field['type'] );
580
- $is_combo_field = in_array( $field['type'], array( 'address', 'credit_card' ), true );
581
-
582
- if ( $placeholder_is_blank && $is_placeholder_field && ! $is_combo_field ) {
583
- $placeholder = self::get_default_value_from_name( $field );
584
- }
585
 
586
  return $placeholder;
587
  }
@@ -591,23 +588,14 @@ class FrmFieldsController {
591
  * get the label to use as the placeholder
592
  *
593
  * @since 2.05
 
594
  *
595
  * @param array $field
596
  *
597
  * @return string
598
  */
599
  public static function get_default_value_from_name( $field ) {
600
- $position = FrmField::get_option( $field, 'label' );
601
- if ( $position == 'inside' ) {
602
- $default_value = $field['name'];
603
- if ( FrmField::is_required( $field ) ) {
604
- $default_value .= ' ' . $field['required_indicator'];
605
- }
606
- } else {
607
- $default_value = '';
608
- }
609
-
610
- return $default_value;
611
  }
612
 
613
  /**
570
  }
571
 
572
  /**
573
+ * Prepares field placeholder.
574
+ *
575
+ * @since 5.4 This doesn't call `FrmFieldsController::get_default_value_from_name()` anymore.
576
+ *
577
+ * @param array $field Field array.
578
  * @return string
579
  */
580
  private static function prepare_placeholder( $field ) {
581
+ $placeholder = isset( $field['placeholder'] ) ? $field['placeholder'] : '';
 
 
 
 
 
 
 
582
 
583
  return $placeholder;
584
  }
588
  * get the label to use as the placeholder
589
  *
590
  * @since 2.05
591
+ * @since 5.4 Remove the logic code for "inside" label position.
592
  *
593
  * @param array $field
594
  *
595
  * @return string
596
  */
597
  public static function get_default_value_from_name( $field ) {
598
+ return '';
 
 
 
 
 
 
 
 
 
 
599
  }
600
 
601
  /**
classes/controllers/FrmFormsController.php CHANGED
@@ -1126,22 +1126,24 @@ class FrmFormsController {
1126
  'icon' => 'frm_icon_font frm_mail_bulk_icon',
1127
  ),
1128
  'permissions' => array(
1129
- 'name' => __( 'Form Permissions', 'formidable' ),
1130
- 'icon' => 'frm_icon_font frm_lock_icon',
1131
- 'html_class' => 'frm_show_upgrade frm_noallow',
1132
- 'data' => array(
1133
- 'medium' => 'permissions',
1134
- 'upgrade' => __( 'Form Permissions', 'formidable' ),
1135
- 'message' => __( 'Allow editing, protect forms and files, limit entries, and save drafts. Upgrade to get form and entry permissions.', 'formidable' ),
 
1136
  ),
1137
  ),
1138
  'scheduling' => array(
1139
- 'name' => __( 'Form Scheduling', 'formidable' ),
1140
- 'icon' => 'frm_icon_font frm_calendar_icon',
1141
- 'html_class' => 'frm_show_upgrade frm_noallow',
1142
- 'data' => array(
1143
- 'medium' => 'scheduling',
1144
- 'upgrade' => __( 'Form scheduling settings', 'formidable' ),
 
1145
  ),
1146
  ),
1147
  'buttons' => array(
@@ -1153,18 +1155,19 @@ class FrmFormsController {
1153
  'landing' => array(
1154
  'name' => __( 'Form Landing Page', 'formidable' ),
1155
  'icon' => 'frm_icon_font frm_file_text_icon',
1156
- 'html_class' => 'frm_show_upgrade frm_noallow',
1157
  'data' => FrmAppHelper::get_landing_page_upgrade_data_params(),
1158
  ),
1159
  'chat' => array(
1160
  'name' => __( 'Conversational Forms', 'formidable' ),
1161
  'icon' => 'frm_icon_font frm_chat_forms_icon',
1162
- 'html_class' => 'frm_show_upgrade frm_noallow',
1163
  'data' => FrmAppHelper::get_upgrade_data_params(
1164
  'chat',
1165
  array(
1166
- 'upgrade' => __( 'Conversational Forms', 'formidable' ),
1167
- 'message' => __( 'Ask one question at a time for automated conversations.', 'formidable' ),
 
1168
  )
1169
  ),
1170
  ),
1126
  'icon' => 'frm_icon_font frm_mail_bulk_icon',
1127
  ),
1128
  'permissions' => array(
1129
+ 'name' => __( 'Form Permissions', 'formidable' ),
1130
+ 'icon' => 'frm_icon_font frm_lock_icon',
1131
+ 'html_class' => 'frm_show_upgrade_tab frm_noallow',
1132
+ 'data' => array(
1133
+ 'medium' => 'permissions',
1134
+ 'upgrade' => __( 'Form Permissions', 'formidable' ),
1135
+ 'message' => __( 'Allow editing, protect forms and files, limit entries, and save drafts. Upgrade to get form and entry permissions.', 'formidable' ),
1136
+ 'screenshot' => 'permissions.png',
1137
  ),
1138
  ),
1139
  'scheduling' => array(
1140
+ 'name' => __( 'Form Scheduling', 'formidable' ),
1141
+ 'icon' => 'frm_icon_font frm_calendar_icon',
1142
+ 'html_class' => 'frm_show_upgrade_tab frm_noallow',
1143
+ 'data' => array(
1144
+ 'medium' => 'scheduling',
1145
+ 'upgrade' => __( 'Form scheduling settings', 'formidable' ),
1146
+ 'screenshot' => 'scheduling.png',
1147
  ),
1148
  ),
1149
  'buttons' => array(
1155
  'landing' => array(
1156
  'name' => __( 'Form Landing Page', 'formidable' ),
1157
  'icon' => 'frm_icon_font frm_file_text_icon',
1158
+ 'html_class' => 'frm_show_upgrade_tab frm_noallow',
1159
  'data' => FrmAppHelper::get_landing_page_upgrade_data_params(),
1160
  ),
1161
  'chat' => array(
1162
  'name' => __( 'Conversational Forms', 'formidable' ),
1163
  'icon' => 'frm_icon_font frm_chat_forms_icon',
1164
+ 'html_class' => 'frm_show_upgrade_tab frm_noallow',
1165
  'data' => FrmAppHelper::get_upgrade_data_params(
1166
  'chat',
1167
  array(
1168
+ 'upgrade' => __( 'Conversational Forms', 'formidable' ),
1169
+ 'message' => __( 'Ask one question at a time for automated conversations.', 'formidable' ),
1170
+ 'screenshot' => 'chat.png',
1171
  )
1172
  ),
1173
  ),
classes/controllers/FrmSettingsController.php CHANGED
@@ -60,19 +60,21 @@ class FrmSettingsController {
60
  'white_label' => array(
61
  'name' => __( 'White Labeling', 'formidable' ),
62
  'icon' => 'frm_icon_font frm_ghost_icon',
63
- 'html_class' => 'frm_show_upgrade frm_noallow',
64
  'data' => array(
65
- 'medium' => 'white-label',
66
- 'upgrade' => __( 'White labeling options', 'formidable' ),
 
67
  ),
68
  ),
69
  'inbox' => array(
70
  'name' => __( 'Inbox', 'formidable' ),
71
  'icon' => 'frm_icon_font frm_email_icon',
72
- 'html_class' => 'frm_show_upgrade frm_noallow',
73
  'data' => array(
74
- 'medium' => 'inbox-settings',
75
- 'upgrade' => __( 'Inbox settings', 'formidable' ),
 
76
  ),
77
  ),
78
  );
60
  'white_label' => array(
61
  'name' => __( 'White Labeling', 'formidable' ),
62
  'icon' => 'frm_icon_font frm_ghost_icon',
63
+ 'html_class' => 'frm_show_upgrade_tab frm_noallow',
64
  'data' => array(
65
+ 'medium' => 'white-label',
66
+ 'upgrade' => __( 'White labeling options', 'formidable' ),
67
+ 'screenshot' => 'white-label.png',
68
  ),
69
  ),
70
  'inbox' => array(
71
  'name' => __( 'Inbox', 'formidable' ),
72
  'icon' => 'frm_icon_font frm_email_icon',
73
+ 'html_class' => 'frm_show_upgrade_tab frm_noallow',
74
  'data' => array(
75
+ 'medium' => 'inbox-settings',
76
+ 'upgrade' => __( 'Inbox settings', 'formidable' ),
77
+ 'screenshot' => 'inbox.png',
78
  ),
79
  ),
80
  );
classes/helpers/FrmAppHelper.php CHANGED
@@ -16,7 +16,7 @@ class FrmAppHelper {
16
  /**
17
  * @since 2.0
18
  */
19
- public static $plug_version = '5.4';
20
 
21
  /**
22
  * @since 1.07.02
@@ -2539,6 +2539,10 @@ class FrmAppHelper {
2539
  }
2540
 
2541
  $frm_action = self::simple_get( 'frm_action', 'sanitize_title' );
 
 
 
 
2542
  if ( empty( $action ) || ( ! empty( $frm_action ) && in_array( $frm_action, $action ) ) ) {
2543
  echo ' class="current_page"';
2544
  }
@@ -3321,9 +3325,10 @@ class FrmAppHelper {
3321
  */
3322
  public static function get_landing_page_upgrade_data_params( $medium = 'landing' ) {
3323
  $params = array(
3324
- 'medium' => $medium,
3325
- 'upgrade' => __( 'Form Landing Pages', 'formidable' ),
3326
- 'message' => __( 'Easily manage a landing page for your form. Upgrade to get form landing pages.', 'formidable' ),
 
3327
  );
3328
  return self::get_upgrade_data_params( 'landing', $params );
3329
  }
16
  /**
17
  * @since 2.0
18
  */
19
+ public static $plug_version = '5.4.1';
20
 
21
  /**
22
  * @since 1.07.02
2539
  }
2540
 
2541
  $frm_action = self::simple_get( 'frm_action', 'sanitize_title' );
2542
+ if ( 'lite-reports' === $frm_action ) {
2543
+ $frm_action = 'reports';
2544
+ }
2545
+
2546
  if ( empty( $action ) || ( ! empty( $frm_action ) && in_array( $frm_action, $action ) ) ) {
2547
  echo ' class="current_page"';
2548
  }
3325
  */
3326
  public static function get_landing_page_upgrade_data_params( $medium = 'landing' ) {
3327
  $params = array(
3328
+ 'medium' => $medium,
3329
+ 'upgrade' => __( 'Form Landing Pages', 'formidable' ),
3330
+ 'message' => __( 'Easily manage a landing page for your form. Upgrade to get form landing pages.', 'formidable' ),
3331
+ 'screenshot' => 'landing.png',
3332
  );
3333
  return self::get_upgrade_data_params( 'landing', $params );
3334
  }
classes/helpers/FrmTipsHelper.php CHANGED
@@ -221,6 +221,9 @@ class FrmTipsHelper {
221
  return $tips;
222
  }
223
 
 
 
 
224
  public static function get_styling_tip() {
225
  $tips = array(
226
  array(
@@ -242,9 +245,9 @@ class FrmTipsHelper {
242
  array(
243
  'link' => array(
244
  'content' => 'style',
245
- 'param' => 'bg-image-style-settings',
246
  ),
247
- 'tip' => __( 'Want to set a color with an alpha slider?', 'formidable' ),
248
  'call' => __( 'Upgrade to Pro.', 'formidable' ),
249
  ),
250
  );
221
  return $tips;
222
  }
223
 
224
+ /**
225
+ * @return array
226
+ */
227
  public static function get_styling_tip() {
228
  $tips = array(
229
  array(
245
  array(
246
  'link' => array(
247
  'content' => 'style',
248
+ 'param' => 'duplicate-style',
249
  ),
250
+ 'tip' => __( 'Want to duplicate a style?', 'formidable' ),
251
  'call' => __( 'Upgrade to Pro.', 'formidable' ),
252
  ),
253
  );
classes/models/FrmEntry.php CHANGED
@@ -251,6 +251,12 @@ class FrmEntry {
251
  return $query_results;
252
  }
253
 
 
 
 
 
 
 
254
  public static function destroy( $id ) {
255
  global $wpdb;
256
  $id = (int) $id;
@@ -258,10 +264,15 @@ class FrmEntry {
258
  $entry = self::getOne( $id );
259
  if ( ! $entry ) {
260
  $result = false;
261
-
262
  return $result;
263
  }
264
 
 
 
 
 
 
 
265
  do_action( 'frm_before_destroy_entry', $id, $entry );
266
 
267
  $wpdb->query( $wpdb->prepare( 'DELETE FROM ' . $wpdb->prefix . 'frm_item_metas WHERE item_id=%d', $id ) );
@@ -269,6 +280,17 @@ class FrmEntry {
269
 
270
  self::clear_cache();
271
 
 
 
 
 
 
 
 
 
 
 
 
272
  return $result;
273
  }
274
 
251
  return $query_results;
252
  }
253
 
254
+ /**
255
+ * Delete an entry.
256
+ *
257
+ * @param string|int $id
258
+ * @return bool True on success, false if nothing was deleted.
259
+ */
260
  public static function destroy( $id ) {
261
  global $wpdb;
262
  $id = (int) $id;
264
  $entry = self::getOne( $id );
265
  if ( ! $entry ) {
266
  $result = false;
 
267
  return $result;
268
  }
269
 
270
+ /**
271
+ * Trigger an action to run custom logic before the entry is deleted.
272
+ *
273
+ * @param int $id The id of the entry that was destroyed.
274
+ * @param stdClass $entry The entry object.
275
+ */
276
  do_action( 'frm_before_destroy_entry', $id, $entry );
277
 
278
  $wpdb->query( $wpdb->prepare( 'DELETE FROM ' . $wpdb->prefix . 'frm_item_metas WHERE item_id=%d', $id ) );
280
 
281
  self::clear_cache();
282
 
283
+ /**
284
+ * Trigger an action to run custom logic after the entry is deleted.
285
+ * Use this hook if you need to update caching after an entry is deleted.
286
+ *
287
+ * @since 5.4.1
288
+ *
289
+ * @param int $id The id of the entry that was destroyed.
290
+ * @param stdClass $entry The entry object.
291
+ */
292
+ do_action( 'frm_after_destroy_entry', $id, $entry );
293
+
294
  return $result;
295
  }
296
 
classes/models/FrmFieldFormHtml.php CHANGED
@@ -130,7 +130,6 @@ class FrmFieldFormHtml {
130
  $this->replace_required_class();
131
  $this->maybe_replace_description_shortcode( false );
132
  $this->replace_error_shortcode();
133
- $this->add_class_to_label();
134
  $this->add_field_div_classes();
135
 
136
  $this->replace_entry_key();
@@ -453,7 +452,13 @@ class FrmFieldFormHtml {
453
  // Add label position class
454
  $settings = $this->field_obj->display_field_settings();
455
  if ( isset( $settings['label_position'] ) && $settings['label_position'] ) {
456
- $classes .= ' frm_' . $this->field_obj->get_field_column( 'label' ) . '_container';
 
 
 
 
 
 
457
  }
458
 
459
  // Add CSS layout classes
130
  $this->replace_required_class();
131
  $this->maybe_replace_description_shortcode( false );
132
  $this->replace_error_shortcode();
 
133
  $this->add_field_div_classes();
134
 
135
  $this->replace_entry_key();
452
  // Add label position class
453
  $settings = $this->field_obj->display_field_settings();
454
  if ( isset( $settings['label_position'] ) && $settings['label_position'] ) {
455
+ $label_position = $this->field_obj->get_field_column( 'label' );
456
+ $classes .= ' frm_' . $label_position . '_container';
457
+
458
+ // Add class if field has value, to be used for floating label styling.
459
+ if ( 'inside' === $label_position && $this->field_obj->get_field_column( 'value' ) ) {
460
+ $classes .= ' frm_label_float_top';
461
+ }
462
  }
463
 
464
  // Add CSS layout classes
classes/views/shared/reports-info.php CHANGED
@@ -15,7 +15,6 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  );
16
  ?>
17
  <div class="frmcenter" style="margin-top:10vh">
18
- <img src="<?php echo esc_attr( FrmAppHelper::plugin_url() . '/images/reports.svg' ); ?>" alt="<?php esc_attr_e( 'View reports', 'formidable' ); ?>" height="243" />
19
  <h2><?php esc_html_e( 'Get Live Graphs and Reports', 'formidable' ); ?></h2>
20
  <p style="max-width:400px;margin:20px auto">
21
  <?php esc_html_e( 'Get more insight for surveys, polls, daily contacts, and more.', 'formidable' ); ?>
@@ -23,6 +22,17 @@ if ( ! defined( 'ABSPATH' ) ) {
23
  <a class="button button-primary frm-button-primary" href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( 'reports-info' ) ); ?>" target="_blank" rel="noopener">
24
  <?php esc_html_e( 'Upgrade Now', 'formidable' ); ?>
25
  </a>
 
 
 
 
 
 
 
 
 
 
 
26
  </div>
27
  </div>
28
  </div>
15
  );
16
  ?>
17
  <div class="frmcenter" style="margin-top:10vh">
 
18
  <h2><?php esc_html_e( 'Get Live Graphs and Reports', 'formidable' ); ?></h2>
19
  <p style="max-width:400px;margin:20px auto">
20
  <?php esc_html_e( 'Get more insight for surveys, polls, daily contacts, and more.', 'formidable' ); ?>
22
  <a class="button button-primary frm-button-primary" href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( 'reports-info' ) ); ?>" target="_blank" rel="noopener">
23
  <?php esc_html_e( 'Upgrade Now', 'formidable' ); ?>
24
  </a>
25
+ <div class="frm-settings-screenshot-wrapper" style="margin-top: 30px;">
26
+ <div class="frm-settings-screenshot-toolbar">
27
+ <div class="frm-minmax-icon" style="background-color: #ED8181"></div>
28
+ <div class="frm-minmax-icon" style="background-color: #EDE06A"></div>
29
+ <div class="frm-minmax-icon" style="background-color: #80BE30"></div>
30
+ <img src="<?php echo esc_url( FrmAppHelper::plugin_url() . '/images/tab.svg' ); ?>" />
31
+ </div>
32
+ <div>
33
+ <img src="<?php echo esc_attr( FrmAppHelper::plugin_url() . '/images/screenshots/reports.png' ); ?>" alt="<?php esc_attr_e( 'View reports', 'formidable' ); ?>" height="243" />
34
+ </div>
35
+ </div>
36
  </div>
37
  </div>
38
  </div>
classes/views/shared/upgrade_overlay.php CHANGED
@@ -15,9 +15,11 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  <h2>
16
  <?php
17
  printf(
18
- /* translators: %s: Feature name */
19
- esc_html__( '%s are not installed', 'formidable' ),
20
- '<span class="frm_feature_label"></span>'
 
 
21
  );
22
  ?>
23
  </h2>
15
  <h2>
16
  <?php
17
  printf(
18
+ /* translators: %$1s: Feature name, %$2s: open span tag, %$3s: close span tag. */
19
+ esc_html__( '%1$s %2$sare not installed%3$s', 'formidable' ),
20
+ '<span class="frm_feature_label"></span>',
21
+ '<span class="frm_are_not_installed">',
22
+ '</span>'
23
  );
24
  ?>
25
  </h2>
classes/views/styles/_upsell-multiple-styles.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ die( 'You are not allowed to call this page directly.' );
4
+ }
5
+ ?>
6
+ <?php
7
+ $multiple_styles_title = __( 'You are currently limited to 1 style template', 'formidable' );
8
+ $multiple_styles_message = __( 'Upgrade to create and manage as many form styles as you need.', 'formidable' );
9
+ ?>
10
+ <a href="#" class="button button-secondary frm-button-secondary frm-with-plus frm_noallow" data-upgrade="<?php echo esc_attr( $multiple_styles_title ); ?>" data-message="<?php echo esc_attr( $multiple_styles_message ); ?>" data-image="styles-upsell.svg">
11
+ <?php FrmAppHelper::icon_by_class( 'frmfont frm_plus_icon frm_svg15' ); ?>
12
+ <?php esc_html_e( 'New Style', 'formidable' ); ?>
13
+ </a>
14
+ <a href="#" class="button button-secondary frm-button-secondary alignright frm_noallow" data-upgrade="<?php echo esc_attr( $multiple_styles_title ); ?>" data-message="<?php echo esc_attr( $multiple_styles_message ); ?>" data-image="styles-upsell.svg">
15
+ <?php esc_html_e( 'Duplicate', 'formidable' ); ?>
16
+ </a>
classes/views/styles/show.php CHANGED
@@ -44,7 +44,17 @@ if ( ! defined( 'ABSPATH' ) ) {
44
  <?php esc_html_e( 'Make this the default style', 'formidable' ); ?></span>
45
  </label>
46
  </p>
47
- <?php do_action( 'frm_style_settings_top', $style ); ?>
 
 
 
 
 
 
 
 
 
 
48
  </div>
49
  <?php FrmStylesController::do_accordion_sections( FrmStylesController::$screen, 'side', compact( 'style', 'frm_style' ) ); ?>
50
  </div>
44
  <?php esc_html_e( 'Make this the default style', 'formidable' ); ?></span>
45
  </label>
46
  </p>
47
+
48
+ <?php
49
+ if ( ! class_exists( 'FrmProStylesController' ) ) {
50
+ require dirname( __FILE__ ) . '/_upsell-multiple-styles.php';
51
+ }
52
+
53
+ /**
54
+ * @param WP_Post $style
55
+ */
56
+ do_action( 'frm_style_settings_top', $style );
57
+ ?>
58
  </div>
59
  <?php FrmStylesController::do_accordion_sections( FrmStylesController::$screen, 'side', compact( 'style', 'frm_style' ) ); ?>
60
  </div>
css/custom_theme.css.php CHANGED
@@ -435,16 +435,98 @@ legend.frm_hidden{
435
  white-space:nowrap;
436
  }
437
 
438
- .with_frm_style .frm_inside_container .frm_primary_label{
439
- opacity:0;
440
- transition: opacity 0.1s linear;
441
- }
442
-
443
- .with_frm_style .frm_inside_container label.frm_visible,
444
  .frm_visible{
445
  opacity:1;
446
  }
447
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
448
  .with_frm_style .frm_description{
449
  clear:both;
450
  }
435
  white-space:nowrap;
436
  }
437
 
 
 
 
 
 
 
438
  .frm_visible{
439
  opacity:1;
440
  }
441
 
442
+ /* Floating labels */
443
+ .with_frm_style .frm_inside_container {
444
+ position: relative;
445
+ padding-top: 27px;
446
+ padding-top: calc(0.85 * var(--field-height));
447
+ }
448
+
449
+ .with_frm_style .frm_inside_container > input,
450
+ .with_frm_style .frm_inside_container > select,
451
+ .with_frm_style .frm_inside_container > textarea {
452
+ display: block;
453
+ }
454
+
455
+ /* These do not work if they are combined */
456
+ .with_frm_style .frm_inside_container > input::-moz-placeholder,
457
+ .with_frm_style .frm_inside_container > textarea::-moz-placeholder {
458
+ opacity: 0 !important;
459
+ transition: opacity 0.3s ease-in;
460
+ }
461
+
462
+ .with_frm_style .frm_inside_container > input:-ms-input-placeholder,
463
+ .with_frm_style .frm_inside_container > textarea:-ms-input-placeholder {
464
+ opacity: 0;
465
+ transition: opacity 0.3s ease-in;
466
+ }
467
+
468
+ .with_frm_style .frm_inside_container > input::placeholder,
469
+ .with_frm_style .frm_inside_container > textarea::placeholder {
470
+ opacity: 0;
471
+ transition: opacity 0.3s ease-in;
472
+ }
473
+
474
+ .with_frm_style .frm_inside_container > label {
475
+ transition: all 0.3s ease-in;
476
+
477
+ position: absolute;
478
+ top: 28px;
479
+ top: calc(1px + 0.85 * var(--field-height));
480
+ left: 3px;
481
+ width: 100%;
482
+
483
+ line-height: 1.3;
484
+ text-overflow: ellipsis;
485
+ overflow: hidden;
486
+ white-space: nowrap;
487
+
488
+ padding: 6px 10px;
489
+ padding: var(--field-pad);
490
+
491
+ font-size: 14px;
492
+ font-size: var(--field-font-size);
493
+ font-weight: normal;
494
+ font-weight: var(--field-weight);
495
+
496
+ -ms-pointer-events: none;
497
+ pointer-events: none;
498
+ }
499
+
500
+ .with_frm_style.frm_style_lines-no-boxes .frm_inside_container > label {
501
+ line-height: 1;
502
+ }
503
+
504
+ .with_frm_style .frm_inside_container.frm_label_float_top > label {
505
+ top: 0;
506
+ left: 0;
507
+ font-size: 12px;
508
+ font-size: calc(0.85 * var(--field-font-size));
509
+ }
510
+
511
+ /* These do not work if they are combined */
512
+ .with_frm_style .frm_inside_container.frm_label_float_top > input::-moz-placeholder,
513
+ .with_frm_style .frm_inside_container.frm_label_float_top > textarea::-moz-placeholder {
514
+ opacity: 1 !important;
515
+ transition: opacity 0.3s ease-in;
516
+ }
517
+
518
+ .with_frm_style .frm_inside_container.frm_label_float_top > input:-ms-input-placeholder,
519
+ .with_frm_style .frm_inside_container.frm_label_float_top > textarea:-ms-input-placeholder {
520
+ opacity: 1;
521
+ transition: opacity 0.3s ease-in;
522
+ }
523
+
524
+ .with_frm_style .frm_inside_container.frm_label_float_top > input::placeholder,
525
+ .with_frm_style .frm_inside_container.frm_label_float_top > textarea::placeholder {
526
+ opacity: 1;
527
+ transition: opacity 0.3s ease-in;
528
+ }
529
+
530
  .with_frm_style .frm_description{
531
  clear:both;
532
  }
css/frm_admin.css CHANGED
@@ -348,7 +348,10 @@ ul.frm_form_nav > li:last-of-type {
348
  .frm_form_nav > li > a {
349
  font-size: 13px;
350
  text-transform: uppercase;
351
- opacity: .8;
 
 
 
352
  }
353
 
354
  .frm_form_nav > li > a:hover {
@@ -7218,6 +7221,57 @@ li.frm_noallow.button.frm_show_upgrade {
7218
  color: inherit;
7219
  }
7220
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7221
  .frm-dialog {
7222
  z-index: 100;
7223
  padding: 0 !important;
348
  .frm_form_nav > li > a {
349
  font-size: 13px;
350
  text-transform: uppercase;
351
+ }
352
+
353
+ .frm_form_nav > li > a:not(.frm_noallow) {
354
+ opacity: 0.8;
355
  }
356
 
357
  .frm_form_nav > li > a:hover {
7221
  color: inherit;
7222
  }
7223
 
7224
+ #frm_upgrade_modal_image {
7225
+ max-width: 200px;
7226
+ }
7227
+
7228
+ .frm-tab-message {
7229
+ max-width: 600px;
7230
+ margin: 20px auto;
7231
+ color: rgba(63, 75, 91, 0.8);
7232
+ }
7233
+
7234
+ .frm-settings-screenshot-toolbar {
7235
+ min-height: 39px;
7236
+ display: flex;
7237
+ }
7238
+
7239
+ .frm-settings-screenshot-toolbar .frm-minmax-icon {
7240
+ height: 8px;
7241
+ width: 8px;
7242
+ border-radius: 50%;
7243
+ align-self: center;
7244
+ margin-left: 10px;
7245
+ }
7246
+
7247
+ .frm-settings-screenshot-toolbar .frm-minmax-icon:first-of-type {
7248
+ margin-left: 20px;
7249
+ }
7250
+
7251
+ .frm-settings-screenshot-toolbar img {
7252
+ object-fit: contain;
7253
+ align-self: flex-end;
7254
+ margin-left: 25px;
7255
+ }
7256
+
7257
+ .frm-settings-screenshot-toolbar + div {
7258
+ background: #fff;
7259
+ padding-top: 25px;
7260
+ border-radius: 0 0 16px 16px;
7261
+ }
7262
+
7263
+ .frm-settings-screenshot-toolbar + div img {
7264
+ max-width: calc( 100% - 40px );
7265
+ }
7266
+
7267
+ .frm-settings-screenshot-wrapper {
7268
+ max-width: 700px;
7269
+ margin: 50px auto 0;
7270
+ box-shadow: 0px 4px 4px rgba(189, 196, 205, 0.25), 0px 12px 56px rgba(42, 57, 75, 0.25);
7271
+ border-radius: 16px;
7272
+ background: #EBECF1;
7273
+ }
7274
+
7275
  .frm-dialog {
7276
  z-index: 100;
7277
  padding: 0 !important;
formidable.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Formidable Forms
4
  Description: Quickly and easily create drag-and-drop forms
5
- Version: 5.4
6
  Plugin URI: https://formidableforms.com/
7
  Author URI: https://formidableforms.com/
8
  Author: Strategy11
2
  /*
3
  Plugin Name: Formidable Forms
4
  Description: Quickly and easily create drag-and-drop forms
5
+ Version: 5.4.1
6
  Plugin URI: https://formidableforms.com/
7
  Author URI: https://formidableforms.com/
8
  Author: Strategy11
images/reports.svg DELETED
@@ -1 +0,0 @@
1
- <svg width="477" height="326" viewBox="0 0 477 326" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d)"><rect x="63" y="46" width="331.7" height="238.7" rx="10.1" fill="#fff"/><rect x="77.4" y="60.9" width="289.5" height="16.4" rx="8.2" fill="#9EA9B8" fill-opacity=".7"/><rect x="77.4" y="85.7" width="160.1" height="8.7" rx="4.3" fill="#9AA6B5" fill-opacity=".5"/><path d="M98.2 184.9L81 213.2v52.4h294.7V144.9c0-.6-.9-1-1.3-.4l-15.8 19.5a7.2 7.2 0 01-11.2 0L337 151a7.2 7.2 0 00-11.9 1l-13.4 23.6a7.2 7.2 0 01-10.6 2.2l-9-6.8a7.2 7.2 0 00-11 2.7L269.8 198a7.2 7.2 0 01-13.3-.7l-12.7-34.8a7.2 7.2 0 00-12-2.4l-8.6 9.3a7.2 7.2 0 01-11.3-.8L199.2 150a7.2 7.2 0 00-11-1L178 159.3a7.2 7.2 0 01-11.2-1.2l-9.4-14.8a7.2 7.2 0 00-13 1.8l-14.1 46.5c-1.7 5.6-9 7-12.6 2.4l-7.7-9.8a7.2 7.2 0 00-11.8.7z" fill="url(#paint0_linear)"/><path d="M81 213l17.2-28.4a7.2 7.2 0 0111.8-.7l7.7 9.8a7.2 7.2 0 0012.6-2.4l14-46.3c1.9-5.9 9.8-7 13-1.8l9.5 14.8c2.5 3.9 8 4.5 11.2 1.2l10.2-10.3a7.2 7.2 0 0111 1l12.7 18.4a7.2 7.2 0 0011.2.8l8.5-9.2a7.2 7.2 0 0112.1 2.4l12.7 34.6a7.2 7.2 0 0013.3.7l11.5-24c2-4.2 7.2-5.5 10.8-2.8l9.1 6.8a7.2 7.2 0 0010.6-2.2L325 152c2.5-4.4 8.7-5 11.9-1l10.4 12.9a7.2 7.2 0 0011.2 0l17-21" stroke="#4278C1" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></g><g filter="url(#filter1_d)"><rect x="252" y="160" width="200.1" height="144" rx="6.1" fill="#fff"/></g><path d="M402 232a50 50 0 00-50-50v28.4a21.6 21.6 0 0121.6 21.6H402z" fill="#4278C0"/><path d="M402 233.3a50 50 0 01-79.3 39.2l16.6-23a21.6 21.6 0 0034.3-17l28.4.8z" fill="#EEF3FA"/><path d="M321.3 271.5A50 50 0 01351 182l.6 28.4a21.6 21.6 0 00-12.8 38.7l-17.4 22.4z" fill="#3F4B5B"/><defs><filter id="filter0_d" x="22.5" y=".4" width="412.8" height="319.7" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="-5.1"/><feGaussianBlur stdDeviation="20.3"/><feColorMatrix values="0 0 0 0 0.164706 0 0 0 0 0.223529 0 0 0 0 0.294118 0 0 0 0.21 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter1_d" x="227.6" y="132.5" width="249" height="192.9" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="-3.1"/><feGaussianBlur stdDeviation="12.2"/><feColorMatrix values="0 0 0 0 0.164706 0 0 0 0 0.223529 0 0 0 0 0.294118 0 0 0 0.21 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><linearGradient id="paint0_linear" x1="228.3" y1="130.1" x2="228.3" y2="265.7" gradientUnits="userSpaceOnUse"><stop stop-color="#4278C1" stop-opacity=".4"/><stop offset="1" stop-color="#7CADF0" stop-opacity=".1"/></linearGradient></defs></svg>
 
images/screenshots/chat.png ADDED
Binary file
images/screenshots/inbox.png ADDED
Binary file
images/screenshots/landing.png ADDED
Binary file
images/screenshots/permissions.png ADDED
Binary file
images/screenshots/reports.png ADDED
Binary file
images/screenshots/scheduling.png ADDED
Binary file
images/screenshots/white-label.png ADDED
Binary file
images/styles-upsell.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg width="263" height="200" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#a)"><path d="M41.05 16.413A4.413 4.413 0 0 1 45.463 12h188.388a4.413 4.413 0 0 1 4.413 4.413v142.491a4.413 4.413 0 0 1-4.413 4.413H45.463a4.413 4.413 0 0 1-4.413-4.413V16.414Z" fill="#fff"/></g><path opacity=".3" d="M45.352 18.98a2.677 2.677 0 0 1 2.677-2.677h182.537a2.677 2.677 0 0 1 2.677 2.676v127.318a2.677 2.677 0 0 1-2.677 2.677H48.029a2.677 2.677 0 0 1-2.677-2.677V18.979Z" fill="#fff" fill-opacity=".3"/><circle cx="199.156" cy="23.389" r="3.5" fill="#BCC4CE"/><circle cx="210.629" cy="23.389" r="3.5" fill="#BCC4CE"/><circle cx="222.102" cy="23.389" r="3.5" fill="#BCC4CE"/><rect x="84" y="39" width="106" height="16" rx="1.502" fill="#8F99A6" fill-opacity=".16"/><rect x="84" y="67" width="106" height="16" rx="1.502" fill="#8F99A6" fill-opacity=".16"/><rect x="84" y="95" width="106" height="16" rx="1.502" fill="#8F99A6" fill-opacity=".16"/><rect x="84" y="123" width="48" height="16" rx="1.502" fill="#8F99A6" fill-opacity=".16"/><rect x="142" y="123" width="48" height="16" rx="1.502" fill="#8F99A6" fill-opacity=".16"/><g filter="url(#b)"><rect x="87.5" y="28" width="44" height="149" rx="8" transform="rotate(30 87.5 28)" fill="#fff"/></g><rect x="88.964" y="33.464" width="36" height="20" rx="4" transform="rotate(30 88.964 33.464)" fill="#B9C1CC"/><rect opacity=".8" x="77.464" y="53.383" width="36" height="20" rx="4" transform="rotate(30 77.464 53.383)" fill="#B9C1CC"/><rect opacity=".6" x="65.964" y="73.301" width="36" height="20" rx="4" transform="rotate(30 65.964 73.301)" fill="#B9C1CC"/><rect opacity=".4" x="54.465" y="93.22" width="36" height="20" rx="4" transform="rotate(30 54.465 93.22)" fill="#B9C1CC"/><rect opacity=".2" x="42.961" y="113.138" width="36" height="20" rx="4" transform="rotate(30 42.961 113.138)" fill="#B9C1CC"/><g filter="url(#c)"><rect x="50.563" y="18" width="44" height="149" rx="8" transform="rotate(15 50.563 18)" fill="#fff"/></g><rect x="53.391" y="22.899" width="36" height="20" rx="4" transform="rotate(15 53.39 22.899)" fill="#B9C1CC"/><rect opacity=".8" x="47.438" y="45.115" width="36" height="20" rx="4" transform="rotate(15 47.438 45.115)" fill="#B9C1CC"/><rect opacity=".6" x="41.485" y="67.332" width="36" height="20" rx="4" transform="rotate(15 41.485 67.332)" fill="#B9C1CC"/><rect opacity=".4" x="35.531" y="89.548" width="36" height="20" rx="4" transform="rotate(15 35.531 89.548)" fill="#B9C1CC"/><rect opacity=".2" x="29.578" y="111.764" width="36" height="20" rx="4" transform="rotate(15 29.578 111.764)" fill="#B9C1CC"/><g filter="url(#d)"><rect x="15" y="18" width="44" height="149" rx="8" fill="#fff"/></g><rect x="19" y="22" width="36" height="20" rx="4" fill="#4278C0"/><rect opacity=".8" x="19" y="45" width="36" height="20" rx="4" fill="#4278C0"/><rect opacity=".6" x="19" y="68" width="36" height="20" rx="4" fill="#4278C0"/><rect opacity=".4" x="19" y="91" width="36" height="20" rx="4" fill="#4278C0"/><rect opacity=".2" x="19" y="114" width="36" height="20" rx="4" fill="#4278C0"/><g filter="url(#e)"><circle cx="37" cy="152" r="6" fill="#fff"/></g><defs><filter id="a" x="17.05" y="0" width="245.214" height="199.317" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="12"/><feGaussianBlur stdDeviation="12"/><feColorMatrix values="0 0 0 0 0.139288 0 0 0 0 0.192514 0 0 0 0 0.295833 0 0 0 0.22 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_104_2591"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_104_2591" result="shape"/></filter><filter id="b" x="2.593" y="20.72" width="133.418" height="171.851" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3.126"/><feGaussianBlur stdDeviation="6.667"/><feColorMatrix values="0 0 0 0 0.139288 0 0 0 0 0.192514 0 0 0 0 0.295833 0 0 0 0.15 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_104_2591"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_104_2591" result="shape"/></filter><filter id="c" x=".461" y="9.589" width="104.14" height="178.386" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3.126"/><feGaussianBlur stdDeviation="6.667"/><feColorMatrix values="0 0 0 0 0.139288 0 0 0 0 0.192514 0 0 0 0 0.295833 0 0 0 0.15 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_104_2591"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_104_2591" result="shape"/></filter><filter id="d" x="1.667" y="7.793" width="70.667" height="175.667" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3.126"/><feGaussianBlur stdDeviation="6.667"/><feColorMatrix values="0 0 0 0 0.139288 0 0 0 0 0.192514 0 0 0 0 0.295833 0 0 0 0.15 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_104_2591"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_104_2591" result="shape"/></filter><filter id="e" x="31" y="146" width="12" height="16" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="4"/><feGaussianBlur stdDeviation="2"/><feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/><feColorMatrix values="0 0 0 0 0.8 0 0 0 0 0.811765 0 0 0 0 0.835294 0 0 0 1 0"/><feBlend in2="shape" result="effect1_innerShadow_104_2591"/></filter></defs></svg>
images/tab.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg width="172" height="29" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 6a6 6 0 0 1 6-6h160a6 6 0 0 1 6 6v23H0V6Z" fill="#fff"/><g clip-path="url(#a)"><path d="M15.743 15.974h3.29v1.735h-3.29v-1.735Z" fill="#F15A24"/><path d="M18.345 10.41H13.68a.744.744 0 0 0-.748.742v.993h6.103V10.41h-.689Zm-.06 2.752h-5.348v4.547h1.735v-2.812h3.626a.754.754 0 0 0 .706-.496.582.582 0 0 0 .035-.21v-1.029h-.753ZM16 21a7 7 0 1 1 .008-14.002A7 7 0 0 1 16 21Zm0-13.073a6.072 6.072 0 0 0-4.296 10.369 6.075 6.075 0 1 0 6.621-9.908A6.031 6.031 0 0 0 16 7.933v-.006Z" fill="#686666"/></g><path d="M32.168 19h-.996v-8.566h4.77v.879h-3.774v3.14h3.545v.873h-3.545V19Zm10.594-3.223c0 .528-.069.998-.205 1.412a2.892 2.892 0 0 1-.592 1.05c-.258.284-.57.503-.938.655a3.243 3.243 0 0 1-1.236.223 3.07 3.07 0 0 1-1.184-.223 2.672 2.672 0 0 1-.925-.656 3.033 3.033 0 0 1-.604-1.049 4.381 4.381 0 0 1-.21-1.412c0-.703.118-1.3.357-1.793a2.547 2.547 0 0 1 1.02-1.13c.445-.262.974-.393 1.587-.393.586 0 1.098.13 1.535.393.442.261.783.64 1.026 1.136.246.492.369 1.088.369 1.787Zm-4.887 0c0 .516.068.963.205 1.342.137.379.348.672.633.879.285.207.652.31 1.102.31.445 0 .81-.103 1.095-.31.29-.207.502-.5.639-.879.136-.379.205-.826.205-1.342 0-.511-.069-.953-.205-1.324-.137-.375-.348-.664-.633-.867-.285-.203-.654-.305-1.107-.305-.668 0-1.159.221-1.471.662-.309.442-.463 1.053-.463 1.834Zm9.486-3.316c.13 0 .264.008.405.023.14.012.265.03.375.053l-.123.902a3.032 3.032 0 0 0-.715-.088 1.74 1.74 0 0 0-.733.159c-.226.101-.425.25-.597.445a2.072 2.072 0 0 0-.405.697c-.097.27-.146.57-.146.903V19h-.979v-6.422h.809l.105 1.184h.041c.133-.239.293-.455.48-.65.188-.2.405-.358.651-.475.25-.117.528-.176.832-.176Zm8.965 0c.707 0 1.24.185 1.6.557.36.367.539.959.539 1.775V19h-.961v-4.16c0-.52-.113-.908-.34-1.166-.223-.262-.555-.393-.996-.393-.621 0-1.072.18-1.353.54-.282.359-.422.888-.422 1.587V19h-.967v-4.16c0-.348-.051-.637-.153-.867a1.036 1.036 0 0 0-.445-.516c-.195-.117-.443-.176-.744-.176-.426 0-.768.088-1.025.264-.258.176-.446.437-.563.785-.113.344-.17.768-.17 1.272V19h-.973v-6.422h.786l.146.908h.053c.129-.222.29-.41.486-.562.196-.152.414-.268.657-.346.242-.078.5-.117.773-.117.488 0 .896.092 1.224.275.332.18.573.455.721.826h.053c.21-.37.5-.646.867-.826.367-.183.77-.275 1.207-.275Zm5.11.117V19h-.973v-6.422h.972Zm-.475-2.402a.58.58 0 0 1 .41.158c.117.101.176.262.176.48 0 .215-.059.376-.176.48a.58.58 0 0 1-.41.16.595.595 0 0 1-.422-.16c-.11-.104-.164-.265-.164-.48 0-.218.055-.379.164-.48a.595.595 0 0 1 .422-.158Zm4.822 8.941c-.812 0-1.457-.277-1.933-.832-.473-.555-.71-1.379-.71-2.473 0-1.105.243-1.939.727-2.502.485-.566 1.13-.85 1.934-.85.34 0 .636.046.89.136a2.2 2.2 0 0 1 1.12.873h.07a9.621 9.621 0 0 1-.047-.498 7.288 7.288 0 0 1-.023-.516V9.883h.972V19h-.785l-.146-.914h-.041a2.23 2.23 0 0 1-1.126.896c-.253.09-.554.135-.902.135Zm.153-.808c.687 0 1.173-.196 1.458-.586.286-.391.428-.971.428-1.74v-.176c0-.817-.136-1.444-.41-1.881-.27-.438-.762-.656-1.477-.656-.597 0-1.044.23-1.341.69-.297.458-.446 1.083-.446 1.876 0 .789.147 1.398.44 1.828.297.43.746.645 1.348.645Zm7.312-5.836c.766 0 1.334.171 1.705.515s.557.893.557 1.647V19h-.71l-.187-.95h-.047c-.18.235-.367.432-.562.593a2.091 2.091 0 0 1-.68.357 3.227 3.227 0 0 1-.937.117c-.39 0-.739-.068-1.043-.205-.301-.137-.54-.344-.715-.621-.172-.277-.258-.629-.258-1.055 0-.64.254-1.133.762-1.476.508-.344 1.281-.531 2.32-.563l1.108-.047v-.392c0-.555-.12-.943-.358-1.166-.238-.223-.574-.334-1.008-.334-.336 0-.656.049-.96.146a6.58 6.58 0 0 0-.868.346l-.299-.738a5.35 5.35 0 0 1 .996-.381 4.35 4.35 0 0 1 1.184-.158Zm1.3 3.363-.978.041c-.8.031-1.365.162-1.693.393-.328.23-.492.556-.492.978 0 .367.111.639.334.814.222.176.517.264.885.264.57 0 1.037-.158 1.4-.474.363-.317.545-.791.545-1.424v-.592Zm3.938-5.953v2.28c0 .26-.008.515-.023.76l-.03.575h.053c.176-.289.43-.533.762-.732.332-.2.756-.3 1.271-.3.805 0 1.446.28 1.922.839.48.554.721 1.38.721 2.478 0 .723-.11 1.332-.328 1.828-.219.496-.527.871-.926 1.125-.398.254-.869.381-1.412.381-.508 0-.926-.094-1.254-.281a2.197 2.197 0 0 1-.75-.697h-.076l-.2.861h-.702V9.883h.972Zm1.875 3.398c-.465 0-.834.092-1.107.276-.273.18-.47.453-.592.82-.117.363-.176.824-.176 1.383v.053c0 .808.135 1.427.405 1.857.27.426.76.639 1.47.639.598 0 1.045-.22 1.342-.657.3-.437.451-1.062.451-1.875 0-.828-.148-1.45-.445-1.869-.293-.418-.742-.627-1.348-.627ZM85.84 19h-.979V9.883h.979V19Zm4.53-6.54c.546 0 1.015.122 1.405.364.391.242.69.582.897 1.02.207.433.31.941.31 1.523v.604h-4.435c.012.754.2 1.328.562 1.722.364.395.875.592 1.535.592.407 0 .766-.037 1.079-.111.312-.074.636-.184.972-.328v.855c-.324.145-.646.25-.966.317-.317.066-.692.1-1.126.1-.617 0-1.156-.126-1.617-.376a2.623 2.623 0 0 1-1.066-1.113c-.254-.488-.38-1.086-.38-1.793 0-.691.114-1.29.345-1.793.234-.508.562-.898.984-1.172.426-.273.926-.41 1.5-.41Zm-.013.798c-.52 0-.933.17-1.242.51-.308.34-.492.814-.55 1.423h3.398a2.745 2.745 0 0 0-.182-1.007 1.415 1.415 0 0 0-.521-.68c-.235-.164-.535-.246-.903-.246ZM95.777 19h-.996v-8.566h4.77v.879h-3.774v3.14h3.545v.873h-3.545V19Zm10.594-3.223c0 .528-.068.998-.205 1.412a2.895 2.895 0 0 1-.592 1.05c-.258.284-.57.503-.937.655a3.25 3.25 0 0 1-1.237.223c-.429 0-.824-.074-1.183-.223a2.67 2.67 0 0 1-.926-.656 3.02 3.02 0 0 1-.603-1.049 4.37 4.37 0 0 1-.211-1.412c0-.703.119-1.3.357-1.793a2.543 2.543 0 0 1 1.02-1.13c.445-.262.974-.393 1.587-.393.586 0 1.098.13 1.536.393.441.261.783.64 1.025 1.136.246.492.369 1.088.369 1.787Zm-4.887 0c0 .516.069.963.205 1.342.137.379.348.672.633.879.285.207.653.31 1.102.31.445 0 .81-.103 1.096-.31.289-.207.501-.5.638-.879s.205-.826.205-1.342c0-.511-.068-.953-.205-1.324-.137-.375-.347-.664-.633-.867-.285-.203-.654-.305-1.107-.305-.668 0-1.158.221-1.471.662-.308.442-.463 1.053-.463 1.834Zm9.487-3.316c.129 0 .263.008.404.023.141.012.266.03.375.053l-.123.902a3.033 3.033 0 0 0-.715-.088c-.258 0-.502.053-.732.159-.227.101-.426.25-.598.445a2.06 2.06 0 0 0-.404.697c-.098.27-.147.57-.147.903V19h-.978v-6.422h.808l.106 1.184h.041a3.17 3.17 0 0 1 .48-.65c.188-.2.405-.358.651-.475.25-.117.527-.176.832-.176Zm8.965 0c.707 0 1.24.185 1.599.557.36.367.539.959.539 1.775V19h-.961v-4.16c0-.52-.113-.908-.34-1.166-.222-.262-.554-.393-.996-.393-.621 0-1.072.18-1.353.54-.281.359-.422.888-.422 1.587V19h-.967v-4.16c0-.348-.051-.637-.152-.867a1.039 1.039 0 0 0-.445-.516c-.196-.117-.444-.176-.745-.176-.425 0-.767.088-1.025.264-.258.176-.445.437-.563.785-.113.344-.169.768-.169 1.272V19h-.973v-6.422h.785l.147.908h.052c.129-.222.291-.41.487-.562a2.11 2.11 0 0 1 .656-.346c.242-.078.5-.117.773-.117.489 0 .897.092 1.225.275.332.18.572.455.721.826h.052c.211-.37.5-.646.868-.826a2.659 2.659 0 0 1 1.207-.275Zm8.291 4.781c0 .41-.104.756-.311 1.037-.203.278-.496.487-.879.627-.379.14-.832.211-1.359.211-.449 0-.838-.035-1.166-.105a3.382 3.382 0 0 1-.862-.3v-.896c.262.13.575.247.938.352.363.105.734.158 1.113.158.555 0 .957-.09 1.207-.27a.855.855 0 0 0 .375-.732.744.744 0 0 0-.152-.463c-.098-.136-.264-.267-.498-.392a7.42 7.42 0 0 0-.973-.422c-.41-.156-.765-.31-1.066-.463a1.99 1.99 0 0 1-.692-.568c-.16-.223-.24-.512-.24-.868 0-.543.219-.958.656-1.248.442-.293 1.02-.44 1.735-.44.386 0 .748.04 1.084.118.34.074.656.176.949.305l-.328.78a6.03 6.03 0 0 0-.85-.288 3.645 3.645 0 0 0-.92-.117c-.449 0-.795.074-1.037.223-.238.148-.357.351-.357.609 0 .2.054.363.164.492.113.129.293.25.539.363.246.114.57.246.973.399.402.148.75.303 1.042.463.293.156.518.347.674.574.16.223.241.51.241.861Z" fill="#4A4A4A"/><defs><clipPath id="a"><path fill="#fff" transform="translate(9 7)" d="M0 0h14v14H0z"/></clipPath></defs></svg>
js/formidable.js CHANGED
@@ -11,16 +11,40 @@ function frmFrontFormJS() {
11
  var action = '';
12
  var jsErrors = [];
13
 
14
- function maybeShowLabel() {
15
- /*jshint validthis:true */
16
- var $field = jQuery( this ),
17
- $label = $field.closest( '.frm_inside_container' ).find( '.frm_primary_label' ),
18
- val = $field.val();
 
 
 
 
 
19
 
20
- if ( val !== null && val.length > 0 ) {
21
- $label.addClass( 'frm_visible' );
22
- } else {
23
- $label.removeClass( 'frm_visible' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  }
25
  }
26
 
@@ -1135,8 +1159,161 @@ function frmFrontFormJS() {
1135
  } while ( element.previousSibling );
1136
  }
1137
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1138
  return {
1139
  init: function() {
 
 
1140
  jQuery( document ).off( 'submit.formidable', '.frm-show-form' );
1141
  jQuery( document ).on( 'submit.formidable', '.frm-show-form', frmFrontForm.submitForm );
1142
 
@@ -1153,7 +1330,6 @@ function frmFrontFormJS() {
1153
  jQuery( document.getElementById( 'frm_resend_email' ) ).on( 'click', resendEmail );
1154
 
1155
  jQuery( document ).on( 'change', '.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]', frmFrontForm.fieldValueChanged );
1156
- jQuery( document ).on( 'change keyup', '.frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea', maybeShowLabel );
1157
 
1158
  jQuery( document ).on( 'change', '[id^=frm_email_]', onHoneypotFieldChange );
1159
 
@@ -1170,6 +1346,8 @@ function frmFrontFormJS() {
1170
  addTrimFallbackForIE8();
1171
  addFilterFallbackForIE8();
1172
  addKeysFallbackForIE8();
 
 
1173
  },
1174
 
1175
  getFieldId: function( field, fullID ) {
11
  var action = '';
12
  var jsErrors = [];
13
 
14
+ /**
15
+ * Maybe add polyfills.
16
+ *
17
+ * @since 5.4
18
+ */
19
+ function maybeAddPolyfills() {
20
+ if ( ! Element.prototype.matches ) {
21
+ // IE9 supports matches but as msMatchesSelector instead.
22
+ Element.prototype.matches = Element.prototype.msMatchesSelector;
23
+ }
24
 
25
+ if ( ! Element.prototype.closest ) {
26
+ Element.prototype.closest = function( s ) {
27
+ var el = this;
28
+
29
+ do {
30
+ if ( el.matches( s ) ) {
31
+ return el;
32
+ }
33
+ el = el.parentElement || el.parentNode;
34
+ } while ( el !== null && el.nodeType === 1 );
35
+
36
+ return null;
37
+ };
38
+ }
39
+
40
+ // NodeList.forEach().
41
+ if ( window.NodeList && ! NodeList.prototype.forEach ) {
42
+ NodeList.prototype.forEach = function( callback, thisArg ) {
43
+ thisArg = thisArg || window;
44
+ for ( var i = 0; i < this.length; i++ ) {
45
+ callback.call( thisArg, this[ i ], i, this );
46
+ }
47
+ };
48
  }
49
  }
50
 
1159
  } while ( element.previousSibling );
1160
  }
1161
 
1162
+ /**
1163
+ * Checks if is on IE browser.
1164
+ *
1165
+ * @since 5.4
1166
+ *
1167
+ * @return {Boolean}
1168
+ */
1169
+ function isIE() {
1170
+ return navigator.userAgent.indexOf( 'MSIE' ) > -1 || navigator.userAgent.indexOf( 'Trident' ) > -1;
1171
+ }
1172
+
1173
+ /**
1174
+ * Does the same as jQuery( document ).on( 'event', 'selector', handler ).
1175
+ *
1176
+ * @since 5.4
1177
+ *
1178
+ * @param {String} event Event name.
1179
+ * @param {String} selector Selector.
1180
+ * @param {Function} handler Handler.
1181
+ * @param {Boolean|Object} options Options to be added to `addEventListener()` method. Default is `false`.
1182
+ */
1183
+ function documentOn( event, selector, handler, options ) {
1184
+ if ( 'undefined' === typeof options ) {
1185
+ options = false;
1186
+ }
1187
+
1188
+ document.addEventListener( event, function( e ) {
1189
+ var target;
1190
+
1191
+ // loop parent nodes from the target to the delegation node.
1192
+ for ( target = e.target; target && target != this; target = target.parentNode ) {
1193
+ if ( target.matches( selector ) ) {
1194
+ handler.call( target, e );
1195
+ break;
1196
+ }
1197
+ }
1198
+ }, options );
1199
+ }
1200
+
1201
+ function initFloatingLabels() {
1202
+ var checkFloatLabel, checkDropdownLabel, checkPlaceholderIE, runOnLoad, selector, floatClass;
1203
+
1204
+ selector = '.frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea';
1205
+ floatClass = 'frm_label_float_top';
1206
+
1207
+ checkFloatLabel = function( input ) {
1208
+ var container, shouldFloatTop, firstOpt;
1209
+
1210
+ container = input.closest( '.frm_inside_container' );
1211
+ shouldFloatTop = input.value || document.activeElement === input;
1212
+
1213
+ container.classList.toggle( floatClass, shouldFloatTop );
1214
+
1215
+ if ( 'SELECT' === input.tagName ) {
1216
+ firstOpt = input.querySelector( 'option:first-child' );
1217
+
1218
+ if ( shouldFloatTop ) {
1219
+ if ( firstOpt.getAttribute( 'data-label' ) ) {
1220
+ firstOpt.text = firstOpt.getAttribute( 'data-label' );
1221
+ firstOpt.removeAttribute( 'data-label' );
1222
+ }
1223
+ } else {
1224
+ if ( firstOpt.text ) {
1225
+ firstOpt.setAttribute( 'data-label', firstOpt.text );
1226
+ firstOpt.text = '';
1227
+ }
1228
+ }
1229
+ } else if ( isIE() ) {
1230
+ checkPlaceholderIE( input );
1231
+ }
1232
+ };
1233
+
1234
+ checkDropdownLabel = function() {
1235
+ document.querySelectorAll( '.frm-show-form .frm_inside_container:not(.' + floatClass + ') select' ).forEach( function( input ) {
1236
+ var firstOpt = input.querySelector( 'option:first-child' );
1237
+
1238
+ if ( firstOpt.text ) {
1239
+ firstOpt.setAttribute( 'data-label', firstOpt.text );
1240
+ firstOpt.text = '';
1241
+ }
1242
+ });
1243
+ };
1244
+
1245
+ checkPlaceholderIE = function( input ) {
1246
+ if ( input.value ) {
1247
+ // Don't need to handle this case because placeholder isn't shown.
1248
+ return;
1249
+ }
1250
+
1251
+ if ( document.activeElement === input ) {
1252
+ if ( input.getAttribute( 'data-placeholder' ) ) {
1253
+ input.placeholder = input.getAttribute( 'data-placeholder' );
1254
+ input.removeAttribute( 'data-placeholder' );
1255
+ }
1256
+ } else {
1257
+ if ( input.placeholder ) {
1258
+ input.setAttribute( 'data-placeholder', input.placeholder );
1259
+ input.placeholder = '';
1260
+ }
1261
+ }
1262
+ };
1263
+
1264
+ [ 'focus', 'blur', 'change' ].forEach( function( eventName ) {
1265
+ documentOn(
1266
+ eventName,
1267
+ selector,
1268
+ function( event ) {
1269
+ checkFloatLabel( event.target );
1270
+ },
1271
+ true
1272
+ );
1273
+ });
1274
+
1275
+ jQuery( document ).on( 'change', selector, function( event ) {
1276
+ checkFloatLabel( event.target );
1277
+ });
1278
+
1279
+ runOnLoad = function( firstLoad ) {
1280
+ if ( firstLoad && document.activeElement && -1 !== [ 'INPUT', 'SELECT', 'TEXTAREA' ].indexOf( document.activeElement.tagName ) ) {
1281
+ checkFloatLabel( document.activeElement );
1282
+ } else if ( firstLoad ) {
1283
+ document.querySelectorAll( '.frm_inside_container' ).forEach(
1284
+ function( container ) {
1285
+ var input = container.querySelector( 'input, select, textarea' );
1286
+ if ( input && '' !== input.value ) {
1287
+ checkFloatLabel( input );
1288
+ }
1289
+ }
1290
+ );
1291
+ }
1292
+
1293
+ checkDropdownLabel();
1294
+
1295
+ if ( isIE() ) {
1296
+ document.querySelectorAll( selector ).forEach( function( input ) {
1297
+ checkPlaceholderIE( input );
1298
+ });
1299
+ }
1300
+ };
1301
+
1302
+ runOnLoad( true );
1303
+
1304
+ jQuery( document ).on( 'frmPageChanged', function( event ) {
1305
+ runOnLoad();
1306
+ });
1307
+
1308
+ document.addEventListener( 'frm_after_start_over', function( event ) {
1309
+ runOnLoad();
1310
+ });
1311
+ }
1312
+
1313
  return {
1314
  init: function() {
1315
+ maybeAddPolyfills();
1316
+
1317
  jQuery( document ).off( 'submit.formidable', '.frm-show-form' );
1318
  jQuery( document ).on( 'submit.formidable', '.frm-show-form', frmFrontForm.submitForm );
1319
 
1330
  jQuery( document.getElementById( 'frm_resend_email' ) ).on( 'click', resendEmail );
1331
 
1332
  jQuery( document ).on( 'change', '.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]', frmFrontForm.fieldValueChanged );
 
1333
 
1334
  jQuery( document ).on( 'change', '[id^=frm_email_]', onHoneypotFieldChange );
1335
 
1346
  addTrimFallbackForIE8();
1347
  addFilterFallbackForIE8();
1348
  addKeysFallbackForIE8();
1349
+
1350
+ initFloatingLabels();
1351
  },
1352
 
1353
  getFieldId: function( field, fullID ) {
js/formidable.min.js CHANGED
@@ -1,62 +1,68 @@
1
  var frmFrontForm;
2
- function frmFrontFormJS(){var action="";var jsErrors=[];function maybeShowLabel(){var $field=jQuery(this),$label=$field.closest(".frm_inside_container").find(".frm_primary_label"),val=$field.val();if(val!==null&&val.length>0)$label.addClass("frm_visible");else $label.removeClass("frm_visible")}function getFieldId(field,fullID){var nameParts,fieldId,isRepeating=false,fieldName="";if(field instanceof jQuery)fieldName=field.attr("name");else fieldName=field.name;if(typeof fieldName==="undefined")fieldName=
3
- "";if(fieldName===""){if(field instanceof jQuery)fieldName=field.data("name");else fieldName=field.getAttribute("data-name");if(typeof fieldName==="undefined")fieldName="";if(fieldName!==""&&fieldName)return fieldName;return 0}nameParts=fieldName.replace("item_meta[","").replace("[]","").split("]");if(nameParts.length<1)return 0;nameParts=nameParts.filter(function(n){return n!==""});fieldId=nameParts[0];if(nameParts.length===1)return fieldId;if(nameParts[1]==="[form"||nameParts[1]==="[row_ids")return 0;
4
- if(jQuery('input[name="item_meta['+fieldId+'][form]"]').length){fieldId=nameParts[2].replace("[","");isRepeating=true}if("other"===fieldId)if(isRepeating)fieldId=nameParts[3].replace("[","");else fieldId=nameParts[1].replace("[","");if(fullID===true)if(fieldId===nameParts[0])fieldId=fieldId+"-"+nameParts[1].replace("[","");else fieldId=fieldId+"-"+nameParts[0]+"-"+nameParts[1].replace("[","");return fieldId}function disableSubmitButton($form){$form.find('input[type="submit"], input[type="button"], button[type="submit"]').attr("disabled",
5
- "disabled")}function enableSubmitButton($form){$form.find('input[type="submit"], input[type="button"], button[type="submit"]').prop("disabled",false)}function disableSaveDraft($form){$form.find("a.frm_save_draft").css("pointer-events","none")}function enableSaveDraft($form){$form.find("a.frm_save_draft").css("pointer-events","")}function validateForm(object){var r,rl,n,nl,fields,field,value,requiredFields,errors=[];requiredFields=jQuery(object).find(".frm_required_field:visible input, .frm_required_field:visible select, .frm_required_field:visible textarea").filter(":not(.frm_optional)");
6
- if(requiredFields.length)for(r=0,rl=requiredFields.length;r<rl;r++){if(hasClass(requiredFields[r],"ed_button"))continue;errors=checkRequiredField(requiredFields[r],errors)}fields=jQuery(object).find("input,select,textarea");if(fields.length)for(n=0,nl=fields.length;n<nl;n++){field=fields[n];value=field.value;if(value!=="")if(field.type==="hidden");else if(field.type==="number")errors=checkNumberField(field,errors);else if(field.type==="email")errors=checkEmailField(field,errors);else if(field.type===
7
- "password")errors=checkPasswordField(field,errors);else if(field.type==="url")errors=checkUrlField(field,errors);else if(field.pattern!==null)errors=checkPatternField(field,errors)}errors=validateRecaptcha(object,errors);return errors}function hasClass(element,targetClass){var className=" "+element.className+" ";return-1!==className.indexOf(" "+targetClass+" ")}function maybeValidateChange(field){if(field.type==="url")maybeAddHttpToUrl(field);if(jQuery(field).closest("form").hasClass("frm_js_validate"))validateField(field)}
8
- function maybeAddHttpToUrl(field){var url=field.value;var matches=url.match(/^(https?|ftps?|mailto|news|feed|telnet):/);if(field.value!==""&&matches===null)field.value="http://"+url}function validateField(field){var key,errors=[],$fieldCont=jQuery(field).closest(".frm_form_field");if($fieldCont.hasClass("frm_required_field")&&!jQuery(field).hasClass("frm_optional"))errors=checkRequiredField(field,errors);if(errors.length<1)if(field.type==="email")errors=checkEmailField(field,errors);else if(field.type===
9
- "password")errors=checkPasswordField(field,errors);else if(field.type==="number")errors=checkNumberField(field,errors);else if(field.type==="url")errors=checkUrlField(field,errors);else if(field.pattern!==null)errors=checkPatternField(field,errors);removeFieldError($fieldCont);if(Object.keys(errors).length>0)for(key in errors)addFieldError($fieldCont,key,errors)}function checkRequiredField(field,errors){var checkGroup,tempVal,i,placeholder,val="",fieldID="",fileID=field.getAttribute("data-frmfile");
10
- if(field.type==="hidden"&&fileID===null&&!isAppointmentField(field)&&!isInlineDatepickerField(field))return errors;if(field.type==="checkbox"||field.type==="radio"){checkGroup=jQuery('input[name="'+field.name+'"]').closest(".frm_required_field").find("input:checked");jQuery(checkGroup).each(function(){val=this.value})}else if(field.type==="file"||fileID){if(typeof fileID==="undefined"){fileID=getFieldId(field,true);fileID=fileID.replace("file","")}if(typeof errors[fileID]==="undefined")val=getFileVals(fileID);
11
- fieldID=fileID}else{if(hasClass(field,"frm_pos_none"))return errors;val=jQuery(field).val();if(val===null)val="";else if(typeof val!=="string"){tempVal=val;val="";for(i=0;i<tempVal.length;i++)if(tempVal[i]!=="")val=tempVal[i]}if(hasClass(field,"frm_other_input")){fieldID=getFieldId(field,false);if(val==="")field=document.getElementById(field.id.replace("-otext",""))}else fieldID=getFieldId(field,true);if(hasClass(field,"frm_time_select"))fieldID=fieldID.replace("-H","").replace("-m","");else if(isSignatureField(field)){if(val===
12
- "")val=jQuery(field).closest(".frm_form_field").find('[name="'+field.getAttribute("name").replace("[typed]","[output]")+'"]').val();fieldID=fieldID.replace("-typed","")}placeholder=field.getAttribute("data-frmplaceholder");if(placeholder!==null&&val===placeholder)val=""}if(val===""){if(fieldID==="")fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-reqmsg")}return errors}function isSignatureField(field){var name=field.getAttribute("name");
13
- return"string"===typeof name&&"[typed]"===name.substr(-7)}function isAppointmentField(field){return hasClass(field,"ssa_appointment_form_field_appointment_id")}function isInlineDatepickerField(field){return"hidden"===field.type&&"_alt"===field.id.substr(-4)&&hasClass(field.nextElementSibling,"frm_date_inline")}function getFileVals(fileID){var val="",fileFields=jQuery('input[name="file'+fileID+'"], input[name="file'+fileID+'[]"], input[name^="item_meta['+fileID+']"]');fileFields.each(function(){if(val===
14
- "")val=this.value});return val}function checkUrlField(field,errors){var fieldID,url=field.value;if(url!==""&&!/^http(s)?:\/\/(?:localhost|(?:[\da-z\.-]+\.[\da-z\.-]+))/i.test(url)){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}return errors}function checkEmailField(field,errors){var fieldID=getFieldId(field,true),pattern=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i;
15
- if(""!==field.value&&pattern.test(field.value)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg");confirmField(field,errors);return errors}function checkPasswordField(field,errors){confirmField(field,errors);return errors}function confirmField(field,errors){var value,confirmValue,firstField,fieldID=getFieldId(field,true),strippedId=field.id.replace("conf_",""),strippedFieldID=fieldID.replace("conf_",""),confirmField=document.getElementById(strippedId.replace("field_","field_conf_"));
16
- if(confirmField===null||typeof errors["conf_"+strippedFieldID]!=="undefined")return;if(fieldID!==strippedFieldID){firstField=document.getElementById(strippedId);value=firstField.value;confirmValue=confirmField.value;if(""!==value&&""!==confirmValue&&value!==confirmValue)errors["conf_"+strippedFieldID]=getFieldValidationMessage(confirmField,"data-confmsg")}else validateField(confirmField)}function checkNumberField(field,errors){var fieldID,number=field.value;if(number!==""&&isNaN(number/1)!==false){fieldID=
17
- getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}return errors}function checkPatternField(field,errors){var fieldID,text=field.value,format=getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){fieldID=getFieldId(field,true);if(!(fieldID in errors)){format=new RegExp("^"+format+"$","i");if(format.test(text)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}return errors}function hasInvisibleRecaptcha(object){var recaptcha,
18
- recaptchaID,alreadyChecked;if(isGoingToPrevPage(object))return false;recaptcha=jQuery(object).find('.frm-g-recaptcha[data-size="invisible"], .g-recaptcha[data-size="invisible"]');if(recaptcha.length){recaptchaID=recaptcha.data("rid");alreadyChecked=grecaptcha.getResponse(recaptchaID);if(alreadyChecked.length===0)return recaptcha;else return false}else return false}function executeInvisibleRecaptcha(invisibleRecaptcha){var recaptchaID=invisibleRecaptcha.data("rid");grecaptcha.reset(recaptchaID);grecaptcha.execute(recaptchaID)}
19
- function validateRecaptcha(form,errors){var recaptchaID,response,fieldContainer,fieldID,$recaptcha=jQuery(form).find(".frm-g-recaptcha");if($recaptcha.length){recaptchaID=$recaptcha.data("rid");try{response=grecaptcha.getResponse(recaptchaID)}catch(e){if(jQuery(form).find('input[name="recaptcha_checked"]').length)return errors;else response=""}if(response.length===0){fieldContainer=$recaptcha.closest(".frm_form_field");fieldID=fieldContainer.attr("id").replace("frm_field_","").replace("_container",
20
- "");errors[fieldID]=""}}return errors}function getFieldValidationMessage(field,messageType){var msg,errorHtml;msg=field.getAttribute(messageType);if(null===msg)msg="";if(""!==msg&&shouldWrapErrorHtmlAroundMessageType(messageType)){errorHtml=field.getAttribute("data-error-html");if(null!==errorHtml){errorHtml=errorHtml.replace(/\+/g,"%20");msg=decodeURIComponent(errorHtml).replace("[error]",msg);msg=msg.replace("[key]",getFieldId(field,false))}}return msg}function shouldWrapErrorHtmlAroundMessageType(type){return"pattern"!==
21
- type}function shouldJSValidate(object){var validate=jQuery(object).hasClass("frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){var fieldset,data,success,error;if(typeof action==="undefined")jQuery(object).find('input[name="frm_action"]').val();fieldset=jQuery(object).find(".frm_form_field");fieldset.addClass("frm_doing_ajax");data=jQuery(object).serialize()+
22
- "&action=frm_entries_"+action+"&nonce="+frm_js.nonce;success=function(response){var formID,replaceContent,pageOrder,formReturned,contSubmit,delay,$fieldCont,key,inCollapsedSection,frmTrigger,defaultResponse={"content":"","errors":{},"pass":false};if(response===null)response=defaultResponse;response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=JSON.parse(response);else response=defaultResponse;if(typeof response.redirect!=="undefined"){jQuery(document).trigger("frmBeforeFormRedirect",
23
- [object,response]);window.location=response.redirect}else if(response.content!==""){removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);formID=jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);delay=maybeSlideOut(replaceContent,response.content);setTimeout(function(){var container,
24
- input,previousInput;replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){pageOrder=jQuery('input[name="frm_page_order_'+formID+'"]').val();formReturned=jQuery(response.content).find('input[name="form_id"]').val();frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}if(typeof response.recaptcha!=="undefined"){container=jQuery("#frm_form_"+formID+"_container").find(".frm_fields_container");input='<input type="hidden" name="recaptcha_checked" value="'+
25
- response.recaptcha+'">';previousInput=container.find('input[name="recaptcha_checked"]');if(previousInput.length)previousInput.replaceWith(input);else container.append(input)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),"enable");contSubmit=true;removeAllErrors();$fieldCont=null;for(key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length){if(!$fieldCont.is(":visible")){inCollapsedSection=
26
- $fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.trigger("click")}}if($fieldCont.is(":visible")){addFieldError($fieldCont,key,response.errors);contSubmit=false}}}jQuery(object).find(".frm-g-recaptcha, .g-recaptcha").each(function(){var $recaptcha=jQuery(this),recaptchaID=$recaptcha.data("rid");if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);
27
- else grecaptcha.reset()});jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");scrollToFirstField(object);if(contSubmit)object.submit();else{jQuery(object).prepend(response.error_message);checkForErrorsAndMaybeSetFocus()}}else{showFileLoading(object);object.submit()}};error=function(){jQuery(object).find('input[type="submit"], input[type="button"]').prop("disabled",false);object.submit()};postToAjaxUrl(object,data,success,error)}function postToAjaxUrl(form,
28
- data,success,error){var ajaxUrl,action,ajaxParams;ajaxUrl=frm_js.ajax_url;action=form.getAttribute("action");if("string"===typeof action&&-1!==action.indexOf("?action=frm_forms_preview"))ajaxUrl=action.split("?action=frm_forms_preview")[0];ajaxParams={type:"POST",url:ajaxUrl,data:data,success:success};if("function"===typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function afterFormSubmitted(object,response){var formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",
29
- [object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function removeAddedScripts(formContainer,formID){var endReplace=jQuery(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}}function maybeSlideOut(oldContent,newContent){var c,newClass="frm_slideout";if(newContent.indexOf(" frm_slide")!==-1){c=oldContent.children();if(newContent.indexOf(" frm_going_back")!==-1)newClass+=" frm_going_back";c.removeClass("frm_going_back");
30
- c.addClass(newClass);return 300}return 0}function addUrlParam(response){var url;if(history.pushState&&typeof response.page!=="undefined"){url=addQueryVar("frm_page",response.page);window.history.pushState({"html":response.html},"","?"+url)}}function addQueryVar(key,value){var kvp,i,x;key=encodeURI(key);value=encodeURI(value);kvp=document.location.search.substr(1).split("&");i=kvp.length;while(i--){x=kvp[i].split("=");if(x[0]==key){x[1]=value;kvp[i]=x.join("=");break}}if(i<0)kvp[kvp.length]=[key,value].join("=");
31
- return kvp.join("&")}function addFieldError($fieldCont,key,jsErrors){var input,id,describedBy,roleString;if($fieldCont.length&&$fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");input=$fieldCont.find("input, select, textarea");id="frm_error_field_"+key;describedBy=input.attr("aria-describedby");if(typeof frmThemeOverride_frmPlaceError==="function")frmThemeOverride_frmPlaceError(key,jsErrors);else{if(-1!==jsErrors[key].indexOf("<div"))$fieldCont.append(jsErrors[key]);else{roleString=
32
- frm_js.include_alert_role?'role="alert"':"";$fieldCont.append('<div class="frm_error" '+roleString+' id="'+id+'">'+jsErrors[key]+"</div>")}if(typeof describedBy==="undefined")describedBy=id;else if(describedBy.indexOf(id)===-1)describedBy=describedBy+" "+id;input.attr("aria-describedby",describedBy)}input.attr("aria-invalid",true);jQuery(document).trigger("frmAddFieldError",[$fieldCont,key,jsErrors])}}function removeFieldError($fieldCont){var errorMessage=$fieldCont.find(".frm_error"),errorId=errorMessage.attr("id"),
33
- input=$fieldCont.find("input, select, textarea"),describedBy=input.attr("aria-describedby");$fieldCont.removeClass("frm_blank_field has-error");errorMessage.remove();input.attr("aria-invalid",false);input.removeAttr("aria-describedby");if(typeof describedBy!=="undefined"){describedBy=describedBy.replace(errorId,"");input.attr("aria-describedby",describedBy)}}function removeAllErrors(){jQuery(".form-field").removeClass("frm_blank_field has-error");jQuery(".form-field .frm_error").replaceWith("");jQuery(".frm_error_style").remove()}
34
- function scrollToFirstField(object){var field=jQuery(object).find(".frm_blank_field").first();if(field.length)frmFrontForm.scrollMsg(field,object,true)}function showSubmitLoading($object){showLoadingIndicator($object);disableSubmitButton($object);disableSaveDraft($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&&!$object.hasClass("frm_loading_prev")){addLoadingClass($object);$object.trigger("frmStartFormLoading")}}function addLoadingClass($object){var loadingClass=
35
- isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loadingClass)}function isGoingToPrevPage($object){return typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading($object,enable,processesRunning){var loadingForm;if(processesRunning>0)return;loadingForm=jQuery(".frm_loading_form");loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");loadingForm.trigger("frmEndFormLoading");if(enable==="enable"){enableSubmitButton(loadingForm);
36
- enableSaveDraft(loadingForm)}}function showFileLoading(object){var fileval,loading=document.getElementById("frm_loading");if(loading!==null){fileval=jQuery(object).find("input[type=file]").val();if(typeof fileval!=="undefined"&&fileval!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function clearDefault(){toggleDefault(jQuery(this),"clear")}function replaceDefault(){toggleDefault(jQuery(this),"replace")}function toggleDefault($thisField,e){var thisVal,v=$thisField.data("frmval").replace(/(\n|\r\n)/g,
37
- "\r");if(v===""||typeof v==="undefined")return false;thisVal=$thisField.val().replace(/(\n|\r\n)/g,"\r");if("replace"===e){if(thisVal==="")$thisField.addClass("frm_default").val(v)}else if(thisVal==v)$thisField.removeClass("frm_default").val("")}function resendEmail(){var $link=jQuery(this),entryId=this.getAttribute("data-eid"),formId=this.getAttribute("data-fid"),label=$link.find(".frm_link_label");if(label.length<1)label=$link;label.append('<span class="frm-wait"></span>');jQuery.ajax({type:"POST",
38
- url:frm_js.ajax_url,data:{action:"frm_entries_send_email",entry_id:entryId,form_id:formId,nonce:frm_js.nonce},success:function(msg){var admin=document.getElementById("wpbody");if(admin===null)label.html(msg);else{label.html("");$link.after(msg)}}});return false}function confirmClick(){var message=jQuery(this).data("frmconfirm");return confirm(message)}function toggleDiv(){var div=jQuery(this).data("frmtoggle");if(jQuery(div).is(":visible"))jQuery(div).slideUp("fast");else jQuery(div).slideDown("fast");
39
- return false}function addIndexOfFallbackForIE8(){var len,from;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(elt){len=this.length>>>0;from=Number(arguments[1])||0;from=from<0?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++)if(from in this&&this[from]===elt)return from;return-1}}function addTrimFallbackForIE8(){if(typeof String.prototype.trim!=="function")String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}}function addFilterFallbackForIE8(){var t,
40
- len,res,thisp,i,val;if(!Array.prototype.filter)Array.prototype.filter=function(fun){if(this===void 0||this===null)throw new TypeError;t=Object(this);len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;res=[];thisp=arguments[1];for(i=0;i<len;i++)if(i in t){val=t[i];if(fun.call(thisp,val,i,t))res.push(val)}return res}}function addKeysFallbackForIE8(){var keys,i;if(!Object.keys)Object.keys=function(obj){keys=[];for(i in obj)if(obj.hasOwnProperty(i))keys.push(i);return keys}}function onHoneypotFieldChange(){var css=
41
- jQuery(this).css("box-shadow");if(css.match(/inset/))this.parentNode.removeChild(this)}function changeFocusWhenClickComboFieldLabel(){var label;var comboInputsContainer=document.querySelectorAll(".frm_combo_inputs_container");comboInputsContainer.forEach(function(inputsContainer){if(!inputsContainer.closest(".frm_form_field"))return;label=inputsContainer.closest(".frm_form_field").querySelector(".frm_primary_label");if(!label)return;label.addEventListener("click",function(e){inputsContainer.querySelector(".frm_form_field:first-child input, .frm_form_field:first-child select, .frm_form_field:first-child textarea").focus()})})}
 
42
  function checkForErrorsAndMaybeSetFocus(){var errors,element,timeoutCallback;if(!frm_js.focus_first_error)return;errors=document.querySelectorAll(".frm_form_field .frm_error");if(!errors.length)return;element=errors[0];do{element=element.previousSibling;if(-1!==["input","select","textarea"].indexOf(element.nodeName.toLowerCase())){element.focus();break}if("undefined"!==typeof element.classList){if(element.classList.contains("html-active"))timeoutCallback=function(){var textarea=element.querySelector("textarea");
43
- if(null!==textarea)textarea.focus()};else if(element.classList.contains("tmce-active"))timeoutCallback=function(){tinyMCE.activeEditor.focus()};if("function"===typeof timeoutCallback){setTimeout(timeoutCallback,0);break}}}while(element.previousSibling)}return{init:function(){jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.formidable",".frm-show-form",frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()===
44
- "")jQuery(this).trigger("blur")});jQuery(document).on("focus",".frm_toggle_default",clearDefault);jQuery(document).on("blur",".frm_toggle_default",replaceDefault);jQuery(".frm_toggle_default").trigger("blur");jQuery(document.getElementById("frm_resend_email")).on("click",resendEmail);jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',frmFrontForm.fieldValueChanged);jQuery(document).on("change keyup",
45
- ".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea",maybeShowLabel);jQuery(document).on("change","[id^=frm_email_]",onHoneypotFieldChange);jQuery(document).on("click","a[data-frmconfirm]",confirmClick);jQuery("a[data-frmtoggle]").on("click",toggleDiv);checkForErrorsAndMaybeSetFocus();changeFocusWhenClickComboFieldLabel();addIndexOfFallbackForIE8();addTrimFallbackForIE8();addFilterFallbackForIE8();addKeysFallbackForIE8()},
46
- getFieldId:function(field,fullID){return getFieldId(field,fullID)},renderRecaptcha:function(captcha){var formID,recaptchaID,size=captcha.getAttribute("data-size"),rendered=captcha.getAttribute("data-rid")!==null,params={"sitekey":captcha.getAttribute("data-sitekey"),"size":size,"theme":captcha.getAttribute("data-theme")};if(rendered)return;if(size==="invisible"){formID=jQuery(captcha).closest("form").find('input[name="form_id"]').val();jQuery(captcha).closest(".frm_form_field .frm_primary_label").hide();
47
- params.callback=function(token){frmFrontForm.afterRecaptcha(token,formID)}}recaptchaID=grecaptcha.render(captcha.id,params);captcha.setAttribute("data-rid",recaptchaID)},afterSingleRecaptcha:function(){var object=jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},afterRecaptcha:function(token,formID){var object=jQuery("#frm_form_"+formID+"_container form")[0];frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e,this)},
48
- submitFormManual:function(e,object){var isPro,errors,invisibleRecaptcha=hasInvisibleRecaptcha(object),classList=object.className.trim().split(/\s+/gi);if(classList&&invisibleRecaptcha.length<1){isPro=classList.indexOf("frm_pro_form")>-1;if(!isPro)return}if(jQuery("body").hasClass("wp-admin")&&jQuery(object).closest(".frmapi-form").length<1)return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function")if(!frmProForm.submitAllowed(object))return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));
49
- executeInvisibleRecaptcha(invisibleRecaptcha)}else{errors=frmFrontForm.validateFormSubmit(object);if(Object.keys(errors).length===0){showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object,classList)}}},submitFormNow:function(object){var hasFileFields,antispamInput,classList=object.className.trim().split(/\s+/gi);if(object.hasAttribute("data-token")&&null===object.querySelector('[name="antispam_token"]')){antispamInput=document.createElement("input");antispamInput.type="hidden";antispamInput.name=
50
- "antispam_token";antispamInput.value=object.getAttribute("data-token");object.appendChild(antispamInput)}if(classList.indexOf("frm_ajax_submit")>-1){hasFileFields=jQuery(object).find('input[type="file"]').filter(function(){return!!this.value}).length;if(hasFileFields<1){action=jQuery(object).find('input[name="frm_action"]').val();frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave();
51
- jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},getAjaxFormErrors:function(object){var customErrors,key;jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){action=jQuery(object).find('input[name="frm_action"]').val();customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(key in customErrors)jsErrors[key]=customErrors[key]}return jsErrors},
52
- addAjaxFormErrors:function(object){var key,$fieldCont;removeAllErrors();for(key in jsErrors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length)addFieldError($fieldCont,key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object);checkForErrorsAndMaybeSetFocus()},checkFormErrors:function(object,action){getFormErrors(object,action)},checkRequiredField:function(field,errors){return checkRequiredField(field,errors)},showSubmitLoading:function($object){showSubmitLoading($object)},
53
- removeSubmitLoading:function($object,enable,processesRunning){removeSubmitLoading($object,enable,processesRunning)},scrollToID:function(id){var object=jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){var newPos,m,b,screenTop,screenBottom,scrollObj="";if(typeof object==="undefined"){scrollObj=jQuery(document.getElementById("frm_form_"+id+"_container"));if(scrollObj.length<1)return}else if(typeof id==="string")scrollObj=jQuery(object).find("#frm_field_"+
54
- id+"_container");else scrollObj=id;jQuery(scrollObj).trigger("focus");newPos=scrollObj.offset().top;if(!newPos||frm_js.offset==="-1")return;newPos=newPos-frm_js.offset;m=jQuery("html").css("margin-top");b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){screenTop=document.documentElement.scrollTop||document.body.scrollTop;screenBottom=screenTop+window.innerHeight;if(newPos>screenBottom||newPos<screenTop){if(typeof animate==="undefined")jQuery(window).scrollTop(newPos);
55
- else jQuery("html,body").animate({scrollTop:newPos},500);return false}}},fieldValueChanged:function(e){var fieldId=frmFrontForm.getFieldId(this,false);if(!fieldId||typeof fieldId==="undefined")return;if(e.frmTriggered&&e.frmTriggered==fieldId)return;jQuery(document).trigger("frmFieldChanged",[this,fieldId,e]);if(e.selfTriggered!==true)maybeValidateChange(this)},savingDraft:function(object){console.warn("DEPRECATED: function frmFrontForm.savingDraft in v3.0 use frmProForm.savingDraft");if(typeof frmProForm!==
56
- "undefined")return frmProForm.savingDraft(object)},goingToPreviousPage:function(object){console.warn("DEPRECATED: function frmFrontForm.goingToPreviousPage in v3.0 use frmProForm.goingToPreviousPage");if(typeof frmProForm!=="undefined")return frmProForm.goingToPreviousPage(object)},hideOrShowFields:function(){console.warn("DEPRECATED: function frmFrontForm.hideOrShowFields in v3.0 use frmProForm.hideOrShowFields");if(typeof frmProForm!=="undefined")frmProForm.hideOrShowFields()},hidePreviouslyHiddenFields:function(){console.warn("DEPRECATED: function frmFrontForm.hidePreviouslyHiddenFields in v3.0 use frmProForm.hidePreviouslyHiddenFields");
57
- if(typeof frmProForm!=="undefined")frmProForm.hidePreviouslyHiddenFields()},checkDependentDynamicFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentDynamicFields in v3.0 use frmProForm.checkDependentDynamicFields");if(typeof frmProForm!=="undefined")frmProForm.checkDependentDynamicFields(ids)},checkDependentLookupFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentLookupFields in v3.0 use frmProForm.checkDependentLookupFields");if(typeof frmProForm!==
58
- "undefined")frmProForm.checkDependentLookupFields(ids)},loadGoogle:function(){console.warn("DEPRECATED: function frmFrontForm.loadGoogle in v3.0 use frmProForm.loadGoogle");frmProForm.loadGoogle()},escapeHtml:function(text){return text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")},invisible:function(classes){jQuery(classes).css("visibility","hidden")},visible:function(classes){jQuery(classes).css("visibility","visible")}}}
59
- frmFrontForm=frmFrontFormJS();jQuery(document).ready(function(){frmFrontForm.init()});function frmRecaptcha(){var c,cl,captchas=jQuery(".frm-g-recaptcha");for(c=0,cl=captchas.length;c<cl;c++)frmFrontForm.renderRecaptcha(captchas[c])}function frmAfterRecaptcha(token){frmFrontForm.afterSingleRecaptcha(token)}
 
 
 
 
 
60
  function frmUpdateField(entryId,fieldId,value,message,num){jQuery(document.getElementById("frm_update_field_"+entryId+"_"+fieldId+"_"+num)).html('<span class="frm-loading-img"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_update_field_ajax",entry_id:entryId,field_id:fieldId,value:value,nonce:frm_js.nonce},success:function(){if(message.replace(/^\s+|\s+$/g,"")==="")jQuery(document.getElementById("frm_update_field_"+entryId+"_"+fieldId+"_"+num)).fadeOut("slow");else jQuery(document.getElementById("frm_update_field_"+
61
  entryId+"_"+fieldId+"_"+num)).replaceWith(message)}})}
62
  function frmDeleteEntry(entryId,prefix){console.warn("DEPRECATED: function frmDeleteEntry in v2.0.13 use frmFrontForm.deleteEntry");jQuery(document.getElementById("frm_delete_"+entryId)).replaceWith('<span class="frm-loading-img" id="frm_delete_'+entryId+'"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_destroy",entry:entryId,nonce:frm_js.nonce},success:function(html){if(html.replace(/^\s+|\s+$/g,"")==="success")jQuery(document.getElementById(prefix+entryId)).fadeOut("slow");
1
  var frmFrontForm;
2
+ function frmFrontFormJS(){var action="";var jsErrors=[];function maybeAddPolyfills(){if(!Element.prototype.matches)Element.prototype.matches=Element.prototype.msMatchesSelector;if(!Element.prototype.closest)Element.prototype.closest=function(s){var el=this;do{if(el.matches(s))return el;el=el.parentElement||el.parentNode}while(el!==null&&el.nodeType===1);return null};if(window.NodeList&&!NodeList.prototype.forEach)NodeList.prototype.forEach=function(callback,thisArg){thisArg=thisArg||window;for(var i=
3
+ 0;i<this.length;i++)callback.call(thisArg,this[i],i,this)}}function getFieldId(field,fullID){var nameParts,fieldId,isRepeating=false,fieldName="";if(field instanceof jQuery)fieldName=field.attr("name");else fieldName=field.name;if(typeof fieldName==="undefined")fieldName="";if(fieldName===""){if(field instanceof jQuery)fieldName=field.data("name");else fieldName=field.getAttribute("data-name");if(typeof fieldName==="undefined")fieldName="";if(fieldName!==""&&fieldName)return fieldName;return 0}nameParts=
4
+ fieldName.replace("item_meta[","").replace("[]","").split("]");if(nameParts.length<1)return 0;nameParts=nameParts.filter(function(n){return n!==""});fieldId=nameParts[0];if(nameParts.length===1)return fieldId;if(nameParts[1]==="[form"||nameParts[1]==="[row_ids")return 0;if(jQuery('input[name="item_meta['+fieldId+'][form]"]').length){fieldId=nameParts[2].replace("[","");isRepeating=true}if("other"===fieldId)if(isRepeating)fieldId=nameParts[3].replace("[","");else fieldId=nameParts[1].replace("[","");
5
+ if(fullID===true)if(fieldId===nameParts[0])fieldId=fieldId+"-"+nameParts[1].replace("[","");else fieldId=fieldId+"-"+nameParts[0]+"-"+nameParts[1].replace("[","");return fieldId}function disableSubmitButton($form){$form.find('input[type="submit"], input[type="button"], button[type="submit"]').attr("disabled","disabled")}function enableSubmitButton($form){$form.find('input[type="submit"], input[type="button"], button[type="submit"]').prop("disabled",false)}function disableSaveDraft($form){$form.find("a.frm_save_draft").css("pointer-events",
6
+ "none")}function enableSaveDraft($form){$form.find("a.frm_save_draft").css("pointer-events","")}function validateForm(object){var r,rl,n,nl,fields,field,value,requiredFields,errors=[];requiredFields=jQuery(object).find(".frm_required_field:visible input, .frm_required_field:visible select, .frm_required_field:visible textarea").filter(":not(.frm_optional)");if(requiredFields.length)for(r=0,rl=requiredFields.length;r<rl;r++){if(hasClass(requiredFields[r],"ed_button"))continue;errors=checkRequiredField(requiredFields[r],
7
+ errors)}fields=jQuery(object).find("input,select,textarea");if(fields.length)for(n=0,nl=fields.length;n<nl;n++){field=fields[n];value=field.value;if(value!=="")if(field.type==="hidden");else if(field.type==="number")errors=checkNumberField(field,errors);else if(field.type==="email")errors=checkEmailField(field,errors);else if(field.type==="password")errors=checkPasswordField(field,errors);else if(field.type==="url")errors=checkUrlField(field,errors);else if(field.pattern!==null)errors=checkPatternField(field,
8
+ errors)}errors=validateRecaptcha(object,errors);return errors}function hasClass(element,targetClass){var className=" "+element.className+" ";return-1!==className.indexOf(" "+targetClass+" ")}function maybeValidateChange(field){if(field.type==="url")maybeAddHttpToUrl(field);if(jQuery(field).closest("form").hasClass("frm_js_validate"))validateField(field)}function maybeAddHttpToUrl(field){var url=field.value;var matches=url.match(/^(https?|ftps?|mailto|news|feed|telnet):/);if(field.value!==""&&matches===
9
+ null)field.value="http://"+url}function validateField(field){var key,errors=[],$fieldCont=jQuery(field).closest(".frm_form_field");if($fieldCont.hasClass("frm_required_field")&&!jQuery(field).hasClass("frm_optional"))errors=checkRequiredField(field,errors);if(errors.length<1)if(field.type==="email")errors=checkEmailField(field,errors);else if(field.type==="password")errors=checkPasswordField(field,errors);else if(field.type==="number")errors=checkNumberField(field,errors);else if(field.type==="url")errors=
10
+ checkUrlField(field,errors);else if(field.pattern!==null)errors=checkPatternField(field,errors);removeFieldError($fieldCont);if(Object.keys(errors).length>0)for(key in errors)addFieldError($fieldCont,key,errors)}function checkRequiredField(field,errors){var checkGroup,tempVal,i,placeholder,val="",fieldID="",fileID=field.getAttribute("data-frmfile");if(field.type==="hidden"&&fileID===null&&!isAppointmentField(field)&&!isInlineDatepickerField(field))return errors;if(field.type==="checkbox"||field.type===
11
+ "radio"){checkGroup=jQuery('input[name="'+field.name+'"]').closest(".frm_required_field").find("input:checked");jQuery(checkGroup).each(function(){val=this.value})}else if(field.type==="file"||fileID){if(typeof fileID==="undefined"){fileID=getFieldId(field,true);fileID=fileID.replace("file","")}if(typeof errors[fileID]==="undefined")val=getFileVals(fileID);fieldID=fileID}else{if(hasClass(field,"frm_pos_none"))return errors;val=jQuery(field).val();if(val===null)val="";else if(typeof val!=="string"){tempVal=
12
+ val;val="";for(i=0;i<tempVal.length;i++)if(tempVal[i]!=="")val=tempVal[i]}if(hasClass(field,"frm_other_input")){fieldID=getFieldId(field,false);if(val==="")field=document.getElementById(field.id.replace("-otext",""))}else fieldID=getFieldId(field,true);if(hasClass(field,"frm_time_select"))fieldID=fieldID.replace("-H","").replace("-m","");else if(isSignatureField(field)){if(val==="")val=jQuery(field).closest(".frm_form_field").find('[name="'+field.getAttribute("name").replace("[typed]","[output]")+
13
+ '"]').val();fieldID=fieldID.replace("-typed","")}placeholder=field.getAttribute("data-frmplaceholder");if(placeholder!==null&&val===placeholder)val=""}if(val===""){if(fieldID==="")fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-reqmsg")}return errors}function isSignatureField(field){var name=field.getAttribute("name");return"string"===typeof name&&"[typed]"===name.substr(-7)}function isAppointmentField(field){return hasClass(field,"ssa_appointment_form_field_appointment_id")}
14
+ function isInlineDatepickerField(field){return"hidden"===field.type&&"_alt"===field.id.substr(-4)&&hasClass(field.nextElementSibling,"frm_date_inline")}function getFileVals(fileID){var val="",fileFields=jQuery('input[name="file'+fileID+'"], input[name="file'+fileID+'[]"], input[name^="item_meta['+fileID+']"]');fileFields.each(function(){if(val==="")val=this.value});return val}function checkUrlField(field,errors){var fieldID,url=field.value;if(url!==""&&!/^http(s)?:\/\/(?:localhost|(?:[\da-z\.-]+\.[\da-z\.-]+))/i.test(url)){fieldID=
15
+ getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}return errors}function checkEmailField(field,errors){var fieldID=getFieldId(field,true),pattern=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i;if(""!==field.value&&pattern.test(field.value)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg");confirmField(field,errors);
16
+ return errors}function checkPasswordField(field,errors){confirmField(field,errors);return errors}function confirmField(field,errors){var value,confirmValue,firstField,fieldID=getFieldId(field,true),strippedId=field.id.replace("conf_",""),strippedFieldID=fieldID.replace("conf_",""),confirmField=document.getElementById(strippedId.replace("field_","field_conf_"));if(confirmField===null||typeof errors["conf_"+strippedFieldID]!=="undefined")return;if(fieldID!==strippedFieldID){firstField=document.getElementById(strippedId);
17
+ value=firstField.value;confirmValue=confirmField.value;if(""!==value&&""!==confirmValue&&value!==confirmValue)errors["conf_"+strippedFieldID]=getFieldValidationMessage(confirmField,"data-confmsg")}else validateField(confirmField)}function checkNumberField(field,errors){var fieldID,number=field.value;if(number!==""&&isNaN(number/1)!==false){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}return errors}function checkPatternField(field,
18
+ errors){var fieldID,text=field.value,format=getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){fieldID=getFieldId(field,true);if(!(fieldID in errors)){format=new RegExp("^"+format+"$","i");if(format.test(text)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}return errors}function hasInvisibleRecaptcha(object){var recaptcha,recaptchaID,alreadyChecked;if(isGoingToPrevPage(object))return false;recaptcha=jQuery(object).find('.frm-g-recaptcha[data-size="invisible"], .g-recaptcha[data-size="invisible"]');
19
+ if(recaptcha.length){recaptchaID=recaptcha.data("rid");alreadyChecked=grecaptcha.getResponse(recaptchaID);if(alreadyChecked.length===0)return recaptcha;else return false}else return false}function executeInvisibleRecaptcha(invisibleRecaptcha){var recaptchaID=invisibleRecaptcha.data("rid");grecaptcha.reset(recaptchaID);grecaptcha.execute(recaptchaID)}function validateRecaptcha(form,errors){var recaptchaID,response,fieldContainer,fieldID,$recaptcha=jQuery(form).find(".frm-g-recaptcha");if($recaptcha.length){recaptchaID=
20
+ $recaptcha.data("rid");try{response=grecaptcha.getResponse(recaptchaID)}catch(e){if(jQuery(form).find('input[name="recaptcha_checked"]').length)return errors;else response=""}if(response.length===0){fieldContainer=$recaptcha.closest(".frm_form_field");fieldID=fieldContainer.attr("id").replace("frm_field_","").replace("_container","");errors[fieldID]=""}}return errors}function getFieldValidationMessage(field,messageType){var msg,errorHtml;msg=field.getAttribute(messageType);if(null===msg)msg="";if(""!==
21
+ msg&&shouldWrapErrorHtmlAroundMessageType(messageType)){errorHtml=field.getAttribute("data-error-html");if(null!==errorHtml){errorHtml=errorHtml.replace(/\+/g,"%20");msg=decodeURIComponent(errorHtml).replace("[error]",msg);msg=msg.replace("[key]",getFieldId(field,false))}}return msg}function shouldWrapErrorHtmlAroundMessageType(type){return"pattern"!==type}function shouldJSValidate(object){var validate=jQuery(object).hasClass("frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||
22
+ frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){var fieldset,data,success,error;if(typeof action==="undefined")jQuery(object).find('input[name="frm_action"]').val();fieldset=jQuery(object).find(".frm_form_field");fieldset.addClass("frm_doing_ajax");data=jQuery(object).serialize()+"&action=frm_entries_"+action+"&nonce="+frm_js.nonce;success=function(response){var formID,replaceContent,pageOrder,formReturned,contSubmit,delay,$fieldCont,key,
23
+ inCollapsedSection,frmTrigger,defaultResponse={"content":"","errors":{},"pass":false};if(response===null)response=defaultResponse;response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=JSON.parse(response);else response=defaultResponse;if(typeof response.redirect!=="undefined"){jQuery(document).trigger("frmBeforeFormRedirect",[object,response]);window.location=response.redirect}else if(response.content!==""){removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),
24
+ false);formID=jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);delay=maybeSlideOut(replaceContent,response.content);setTimeout(function(){var container,input,previousInput;replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){pageOrder=jQuery('input[name="frm_page_order_'+
25
+ formID+'"]').val();formReturned=jQuery(response.content).find('input[name="form_id"]').val();frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}if(typeof response.recaptcha!=="undefined"){container=jQuery("#frm_form_"+formID+"_container").find(".frm_fields_container");input='<input type="hidden" name="recaptcha_checked" value="'+response.recaptcha+'">';previousInput=container.find('input[name="recaptcha_checked"]');if(previousInput.length)previousInput.replaceWith(input);
26
+ else container.append(input)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),"enable");contSubmit=true;removeAllErrors();$fieldCont=null;for(key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length){if(!$fieldCont.is(":visible")){inCollapsedSection=$fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=
27
+ frmTrigger.prev(".frm_trigger");frmTrigger.trigger("click")}}if($fieldCont.is(":visible")){addFieldError($fieldCont,key,response.errors);contSubmit=false}}}jQuery(object).find(".frm-g-recaptcha, .g-recaptcha").each(function(){var $recaptcha=jQuery(this),recaptchaID=$recaptcha.data("rid");if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset()});jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");
28
+ scrollToFirstField(object);if(contSubmit)object.submit();else{jQuery(object).prepend(response.error_message);checkForErrorsAndMaybeSetFocus()}}else{showFileLoading(object);object.submit()}};error=function(){jQuery(object).find('input[type="submit"], input[type="button"]').prop("disabled",false);object.submit()};postToAjaxUrl(object,data,success,error)}function postToAjaxUrl(form,data,success,error){var ajaxUrl,action,ajaxParams;ajaxUrl=frm_js.ajax_url;action=form.getAttribute("action");if("string"===
29
+ typeof action&&-1!==action.indexOf("?action=frm_forms_preview"))ajaxUrl=action.split("?action=frm_forms_preview")[0];ajaxParams={type:"POST",url:ajaxUrl,data:data,success:success};if("function"===typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function afterFormSubmitted(object,response){var formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,
30
+ response])}function removeAddedScripts(formContainer,formID){var endReplace=jQuery(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}}function maybeSlideOut(oldContent,newContent){var c,newClass="frm_slideout";if(newContent.indexOf(" frm_slide")!==-1){c=oldContent.children();if(newContent.indexOf(" frm_going_back")!==-1)newClass+=" frm_going_back";c.removeClass("frm_going_back");c.addClass(newClass);return 300}return 0}function addUrlParam(response){var url;
31
+ if(history.pushState&&typeof response.page!=="undefined"){url=addQueryVar("frm_page",response.page);window.history.pushState({"html":response.html},"","?"+url)}}function addQueryVar(key,value){var kvp,i,x;key=encodeURI(key);value=encodeURI(value);kvp=document.location.search.substr(1).split("&");i=kvp.length;while(i--){x=kvp[i].split("=");if(x[0]==key){x[1]=value;kvp[i]=x.join("=");break}}if(i<0)kvp[kvp.length]=[key,value].join("=");return kvp.join("&")}function addFieldError($fieldCont,key,jsErrors){var input,
32
+ id,describedBy,roleString;if($fieldCont.length&&$fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");input=$fieldCont.find("input, select, textarea");id="frm_error_field_"+key;describedBy=input.attr("aria-describedby");if(typeof frmThemeOverride_frmPlaceError==="function")frmThemeOverride_frmPlaceError(key,jsErrors);else{if(-1!==jsErrors[key].indexOf("<div"))$fieldCont.append(jsErrors[key]);else{roleString=frm_js.include_alert_role?'role="alert"':"";$fieldCont.append('<div class="frm_error" '+
33
+ roleString+' id="'+id+'">'+jsErrors[key]+"</div>")}if(typeof describedBy==="undefined")describedBy=id;else if(describedBy.indexOf(id)===-1)describedBy=describedBy+" "+id;input.attr("aria-describedby",describedBy)}input.attr("aria-invalid",true);jQuery(document).trigger("frmAddFieldError",[$fieldCont,key,jsErrors])}}function removeFieldError($fieldCont){var errorMessage=$fieldCont.find(".frm_error"),errorId=errorMessage.attr("id"),input=$fieldCont.find("input, select, textarea"),describedBy=input.attr("aria-describedby");
34
+ $fieldCont.removeClass("frm_blank_field has-error");errorMessage.remove();input.attr("aria-invalid",false);input.removeAttr("aria-describedby");if(typeof describedBy!=="undefined"){describedBy=describedBy.replace(errorId,"");input.attr("aria-describedby",describedBy)}}function removeAllErrors(){jQuery(".form-field").removeClass("frm_blank_field has-error");jQuery(".form-field .frm_error").replaceWith("");jQuery(".frm_error_style").remove()}function scrollToFirstField(object){var field=jQuery(object).find(".frm_blank_field").first();
35
+ if(field.length)frmFrontForm.scrollMsg(field,object,true)}function showSubmitLoading($object){showLoadingIndicator($object);disableSubmitButton($object);disableSaveDraft($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&&!$object.hasClass("frm_loading_prev")){addLoadingClass($object);$object.trigger("frmStartFormLoading")}}function addLoadingClass($object){var loadingClass=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loadingClass)}
36
+ function isGoingToPrevPage($object){return typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading($object,enable,processesRunning){var loadingForm;if(processesRunning>0)return;loadingForm=jQuery(".frm_loading_form");loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");loadingForm.trigger("frmEndFormLoading");if(enable==="enable"){enableSubmitButton(loadingForm);enableSaveDraft(loadingForm)}}function showFileLoading(object){var fileval,
37
+ loading=document.getElementById("frm_loading");if(loading!==null){fileval=jQuery(object).find("input[type=file]").val();if(typeof fileval!=="undefined"&&fileval!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function clearDefault(){toggleDefault(jQuery(this),"clear")}function replaceDefault(){toggleDefault(jQuery(this),"replace")}function toggleDefault($thisField,e){var thisVal,v=$thisField.data("frmval").replace(/(\n|\r\n)/g,"\r");if(v===""||typeof v==="undefined")return false;
38
+ thisVal=$thisField.val().replace(/(\n|\r\n)/g,"\r");if("replace"===e){if(thisVal==="")$thisField.addClass("frm_default").val(v)}else if(thisVal==v)$thisField.removeClass("frm_default").val("")}function resendEmail(){var $link=jQuery(this),entryId=this.getAttribute("data-eid"),formId=this.getAttribute("data-fid"),label=$link.find(".frm_link_label");if(label.length<1)label=$link;label.append('<span class="frm-wait"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_send_email",
39
+ entry_id:entryId,form_id:formId,nonce:frm_js.nonce},success:function(msg){var admin=document.getElementById("wpbody");if(admin===null)label.html(msg);else{label.html("");$link.after(msg)}}});return false}function confirmClick(){var message=jQuery(this).data("frmconfirm");return confirm(message)}function toggleDiv(){var div=jQuery(this).data("frmtoggle");if(jQuery(div).is(":visible"))jQuery(div).slideUp("fast");else jQuery(div).slideDown("fast");return false}function addIndexOfFallbackForIE8(){var len,
40
+ from;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(elt){len=this.length>>>0;from=Number(arguments[1])||0;from=from<0?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++)if(from in this&&this[from]===elt)return from;return-1}}function addTrimFallbackForIE8(){if(typeof String.prototype.trim!=="function")String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}}function addFilterFallbackForIE8(){var t,len,res,thisp,i,val;if(!Array.prototype.filter)Array.prototype.filter=
41
+ function(fun){if(this===void 0||this===null)throw new TypeError;t=Object(this);len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;res=[];thisp=arguments[1];for(i=0;i<len;i++)if(i in t){val=t[i];if(fun.call(thisp,val,i,t))res.push(val)}return res}}function addKeysFallbackForIE8(){var keys,i;if(!Object.keys)Object.keys=function(obj){keys=[];for(i in obj)if(obj.hasOwnProperty(i))keys.push(i);return keys}}function onHoneypotFieldChange(){var css=jQuery(this).css("box-shadow");if(css.match(/inset/))this.parentNode.removeChild(this)}
42
+ function changeFocusWhenClickComboFieldLabel(){var label;var comboInputsContainer=document.querySelectorAll(".frm_combo_inputs_container");comboInputsContainer.forEach(function(inputsContainer){if(!inputsContainer.closest(".frm_form_field"))return;label=inputsContainer.closest(".frm_form_field").querySelector(".frm_primary_label");if(!label)return;label.addEventListener("click",function(e){inputsContainer.querySelector(".frm_form_field:first-child input, .frm_form_field:first-child select, .frm_form_field:first-child textarea").focus()})})}
43
  function checkForErrorsAndMaybeSetFocus(){var errors,element,timeoutCallback;if(!frm_js.focus_first_error)return;errors=document.querySelectorAll(".frm_form_field .frm_error");if(!errors.length)return;element=errors[0];do{element=element.previousSibling;if(-1!==["input","select","textarea"].indexOf(element.nodeName.toLowerCase())){element.focus();break}if("undefined"!==typeof element.classList){if(element.classList.contains("html-active"))timeoutCallback=function(){var textarea=element.querySelector("textarea");
44
+ if(null!==textarea)textarea.focus()};else if(element.classList.contains("tmce-active"))timeoutCallback=function(){tinyMCE.activeEditor.focus()};if("function"===typeof timeoutCallback){setTimeout(timeoutCallback,0);break}}}while(element.previousSibling)}function isIE(){return navigator.userAgent.indexOf("MSIE")>-1||navigator.userAgent.indexOf("Trident")>-1}function documentOn(event,selector,handler,options){if("undefined"===typeof options)options=false;document.addEventListener(event,function(e){var target;
45
+ for(target=e.target;target&&target!=this;target=target.parentNode)if(target.matches(selector)){handler.call(target,e);break}},options)}function initFloatingLabels(){var checkFloatLabel,checkDropdownLabel,checkPlaceholderIE,runOnLoad,selector,floatClass;selector=".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea";floatClass="frm_label_float_top";checkFloatLabel=function(input){var container,shouldFloatTop,firstOpt;
46
+ container=input.closest(".frm_inside_container");shouldFloatTop=input.value||document.activeElement===input;container.classList.toggle(floatClass,shouldFloatTop);if("SELECT"===input.tagName){firstOpt=input.querySelector("option:first-child");if(shouldFloatTop){if(firstOpt.getAttribute("data-label")){firstOpt.text=firstOpt.getAttribute("data-label");firstOpt.removeAttribute("data-label")}}else if(firstOpt.text){firstOpt.setAttribute("data-label",firstOpt.text);firstOpt.text=""}}else if(isIE())checkPlaceholderIE(input)};
47
+ checkDropdownLabel=function(){document.querySelectorAll(".frm-show-form .frm_inside_container:not(."+floatClass+") select").forEach(function(input){var firstOpt=input.querySelector("option:first-child");if(firstOpt.text){firstOpt.setAttribute("data-label",firstOpt.text);firstOpt.text=""}})};checkPlaceholderIE=function(input){if(input.value)return;if(document.activeElement===input){if(input.getAttribute("data-placeholder")){input.placeholder=input.getAttribute("data-placeholder");input.removeAttribute("data-placeholder")}}else if(input.placeholder){input.setAttribute("data-placeholder",
48
+ input.placeholder);input.placeholder=""}};["focus","blur","change"].forEach(function(eventName){documentOn(eventName,selector,function(event){checkFloatLabel(event.target)},true)});jQuery(document).on("change",selector,function(event){checkFloatLabel(event.target)});runOnLoad=function(firstLoad){if(firstLoad&&document.activeElement&&-1!==["INPUT","SELECT","TEXTAREA"].indexOf(document.activeElement.tagName))checkFloatLabel(document.activeElement);else if(firstLoad)document.querySelectorAll(".frm_inside_container").forEach(function(container){var input=
49
+ container.querySelector("input, select, textarea");if(input&&""!==input.value)checkFloatLabel(input)});checkDropdownLabel();if(isIE())document.querySelectorAll(selector).forEach(function(input){checkPlaceholderIE(input)})};runOnLoad(true);jQuery(document).on("frmPageChanged",function(event){runOnLoad()});document.addEventListener("frm_after_start_over",function(event){runOnLoad()})}return{init:function(){maybeAddPolyfills();jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.formidable",
50
+ ".frm-show-form",frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()==="")jQuery(this).trigger("blur")});jQuery(document).on("focus",".frm_toggle_default",clearDefault);jQuery(document).on("blur",".frm_toggle_default",replaceDefault);jQuery(".frm_toggle_default").trigger("blur");jQuery(document.getElementById("frm_resend_email")).on("click",resendEmail);jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',
51
+ frmFrontForm.fieldValueChanged);jQuery(document).on("change","[id^=frm_email_]",onHoneypotFieldChange);jQuery(document).on("click","a[data-frmconfirm]",confirmClick);jQuery("a[data-frmtoggle]").on("click",toggleDiv);checkForErrorsAndMaybeSetFocus();changeFocusWhenClickComboFieldLabel();addIndexOfFallbackForIE8();addTrimFallbackForIE8();addFilterFallbackForIE8();addKeysFallbackForIE8();initFloatingLabels()},getFieldId:function(field,fullID){return getFieldId(field,fullID)},renderRecaptcha:function(captcha){var formID,
52
+ recaptchaID,size=captcha.getAttribute("data-size"),rendered=captcha.getAttribute("data-rid")!==null,params={"sitekey":captcha.getAttribute("data-sitekey"),"size":size,"theme":captcha.getAttribute("data-theme")};if(rendered)return;if(size==="invisible"){formID=jQuery(captcha).closest("form").find('input[name="form_id"]').val();jQuery(captcha).closest(".frm_form_field .frm_primary_label").hide();params.callback=function(token){frmFrontForm.afterRecaptcha(token,formID)}}recaptchaID=grecaptcha.render(captcha.id,
53
+ params);captcha.setAttribute("data-rid",recaptchaID)},afterSingleRecaptcha:function(){var object=jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},afterRecaptcha:function(token,formID){var object=jQuery("#frm_form_"+formID+"_container form")[0];frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e,this)},submitFormManual:function(e,object){var isPro,errors,invisibleRecaptcha=hasInvisibleRecaptcha(object),classList=object.className.trim().split(/\s+/gi);
54
+ if(classList&&invisibleRecaptcha.length<1){isPro=classList.indexOf("frm_pro_form")>-1;if(!isPro)return}if(jQuery("body").hasClass("wp-admin")&&jQuery(object).closest(".frmapi-form").length<1)return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function")if(!frmProForm.submitAllowed(object))return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));executeInvisibleRecaptcha(invisibleRecaptcha)}else{errors=frmFrontForm.validateFormSubmit(object);
55
+ if(Object.keys(errors).length===0){showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object,classList)}}},submitFormNow:function(object){var hasFileFields,antispamInput,classList=object.className.trim().split(/\s+/gi);if(object.hasAttribute("data-token")&&null===object.querySelector('[name="antispam_token"]')){antispamInput=document.createElement("input");antispamInput.type="hidden";antispamInput.name="antispam_token";antispamInput.value=object.getAttribute("data-token");object.appendChild(antispamInput)}if(classList.indexOf("frm_ajax_submit")>
56
+ -1){hasFileFields=jQuery(object).find('input[type="file"]').filter(function(){return!!this.value}).length;if(hasFileFields<1){action=jQuery(object).find('input[name="frm_action"]').val();frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},
57
+ getAjaxFormErrors:function(object){var customErrors,key;jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){action=jQuery(object).find('input[name="frm_action"]').val();customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(key in customErrors)jsErrors[key]=customErrors[key]}return jsErrors},addAjaxFormErrors:function(object){var key,$fieldCont;removeAllErrors();for(key in jsErrors){$fieldCont=jQuery(object).find("#frm_field_"+key+
58
+ "_container");if($fieldCont.length)addFieldError($fieldCont,key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object);checkForErrorsAndMaybeSetFocus()},checkFormErrors:function(object,action){getFormErrors(object,action)},checkRequiredField:function(field,errors){return checkRequiredField(field,errors)},showSubmitLoading:function($object){showSubmitLoading($object)},removeSubmitLoading:function($object,enable,processesRunning){removeSubmitLoading($object,enable,processesRunning)},scrollToID:function(id){var object=
59
+ jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){var newPos,m,b,screenTop,screenBottom,scrollObj="";if(typeof object==="undefined"){scrollObj=jQuery(document.getElementById("frm_form_"+id+"_container"));if(scrollObj.length<1)return}else if(typeof id==="string")scrollObj=jQuery(object).find("#frm_field_"+id+"_container");else scrollObj=id;jQuery(scrollObj).trigger("focus");newPos=scrollObj.offset().top;if(!newPos||frm_js.offset==="-1")return;
60
+ newPos=newPos-frm_js.offset;m=jQuery("html").css("margin-top");b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){screenTop=document.documentElement.scrollTop||document.body.scrollTop;screenBottom=screenTop+window.innerHeight;if(newPos>screenBottom||newPos<screenTop){if(typeof animate==="undefined")jQuery(window).scrollTop(newPos);else jQuery("html,body").animate({scrollTop:newPos},500);return false}}},fieldValueChanged:function(e){var fieldId=
61
+ frmFrontForm.getFieldId(this,false);if(!fieldId||typeof fieldId==="undefined")return;if(e.frmTriggered&&e.frmTriggered==fieldId)return;jQuery(document).trigger("frmFieldChanged",[this,fieldId,e]);if(e.selfTriggered!==true)maybeValidateChange(this)},savingDraft:function(object){console.warn("DEPRECATED: function frmFrontForm.savingDraft in v3.0 use frmProForm.savingDraft");if(typeof frmProForm!=="undefined")return frmProForm.savingDraft(object)},goingToPreviousPage:function(object){console.warn("DEPRECATED: function frmFrontForm.goingToPreviousPage in v3.0 use frmProForm.goingToPreviousPage");
62
+ if(typeof frmProForm!=="undefined")return frmProForm.goingToPreviousPage(object)},hideOrShowFields:function(){console.warn("DEPRECATED: function frmFrontForm.hideOrShowFields in v3.0 use frmProForm.hideOrShowFields");if(typeof frmProForm!=="undefined")frmProForm.hideOrShowFields()},hidePreviouslyHiddenFields:function(){console.warn("DEPRECATED: function frmFrontForm.hidePreviouslyHiddenFields in v3.0 use frmProForm.hidePreviouslyHiddenFields");if(typeof frmProForm!=="undefined")frmProForm.hidePreviouslyHiddenFields()},
63
+ checkDependentDynamicFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentDynamicFields in v3.0 use frmProForm.checkDependentDynamicFields");if(typeof frmProForm!=="undefined")frmProForm.checkDependentDynamicFields(ids)},checkDependentLookupFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentLookupFields in v3.0 use frmProForm.checkDependentLookupFields");if(typeof frmProForm!=="undefined")frmProForm.checkDependentLookupFields(ids)},loadGoogle:function(){console.warn("DEPRECATED: function frmFrontForm.loadGoogle in v3.0 use frmProForm.loadGoogle");
64
+ frmProForm.loadGoogle()},escapeHtml:function(text){return text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")},invisible:function(classes){jQuery(classes).css("visibility","hidden")},visible:function(classes){jQuery(classes).css("visibility","visible")}}}frmFrontForm=frmFrontFormJS();jQuery(document).ready(function(){frmFrontForm.init()});
65
+ function frmRecaptcha(){var c,cl,captchas=jQuery(".frm-g-recaptcha");for(c=0,cl=captchas.length;c<cl;c++)frmFrontForm.renderRecaptcha(captchas[c])}function frmAfterRecaptcha(token){frmFrontForm.afterSingleRecaptcha(token)}
66
  function frmUpdateField(entryId,fieldId,value,message,num){jQuery(document.getElementById("frm_update_field_"+entryId+"_"+fieldId+"_"+num)).html('<span class="frm-loading-img"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_update_field_ajax",entry_id:entryId,field_id:fieldId,value:value,nonce:frm_js.nonce},success:function(){if(message.replace(/^\s+|\s+$/g,"")==="")jQuery(document.getElementById("frm_update_field_"+entryId+"_"+fieldId+"_"+num)).fadeOut("slow");else jQuery(document.getElementById("frm_update_field_"+
67
  entryId+"_"+fieldId+"_"+num)).replaceWith(message)}})}
68
  function frmDeleteEntry(entryId,prefix){console.warn("DEPRECATED: function frmDeleteEntry in v2.0.13 use frmFrontForm.deleteEntry");jQuery(document.getElementById("frm_delete_"+entryId)).replaceWith('<span class="frm-loading-img" id="frm_delete_'+entryId+'"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_destroy",entry:entryId,nonce:frm_js.nonce},success:function(html){if(html.replace(/^\s+|\s+$/g,"")==="success")jQuery(document.getElementById(prefix+entryId)).fadeOut("slow");
js/formidable_admin.js CHANGED
@@ -317,7 +317,7 @@ function frmAdminBuildJS() {
317
 
318
  /*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */
319
 
320
- const { tag, div, span, a, svg } = frmDom;
321
  const { doJsonFetch } = frmDom.ajax;
322
 
323
  var $newFields = jQuery( document.getElementById( 'frm-show-fields' ) ),
@@ -5661,67 +5661,211 @@ function frmAdminBuildJS() {
5661
  }
5662
 
5663
  function initUpgradeModal() {
5664
- var $info = initModal( '#frm_upgrade_modal' );
5665
  if ( $info === false ) {
5666
  return;
5667
  }
5668
 
5669
- jQuery( document ).on( 'click', '[data-upgrade]', function( event ) {
5670
- var upgradeLabel, requires, button, link, content;
5671
 
5672
- event.preventDefault();
5673
- upgradeLabel = this.getAttribute( 'data-upgrade' );
 
 
 
 
 
 
 
 
 
5674
 
5675
- if ( '' === upgradeLabel ) {
5676
- // if the upgrade level is empty, it's because this upgrade is already active.
 
 
 
5677
  return;
5678
  }
5679
 
5680
- jQuery( '#frm_upgrade_modal .frm_lock_icon' ).removeClass( 'frm_lock_open_icon' );
5681
- jQuery( '#frm_upgrade_modal .frm_lock_icon use' ).attr( 'xlink:href', '#frm_lock_icon' );
5682
 
5683
- requires = this.getAttribute( 'data-requires' );
5684
- if ( typeof requires === 'undefined' || requires === null || requires === '' ) {
5685
- requires = 'Pro';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5686
  }
5687
- jQuery( '.license-level' ).text( requires );
5688
 
5689
  // If one click upgrade, hide other content
5690
- addOneClickModal( this );
5691
 
5692
- jQuery( '.frm_feature_label' ).text( upgradeLabel );
5693
- jQuery( '#frm_upgrade_modal h2' ).show();
 
5694
 
5695
  $info.dialog( 'open' );
5696
 
5697
  // set the utm medium
5698
- button = $info.find( '.button-primary:not(#frm-oneclick-button)' );
5699
- link = button.attr( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + this.getAttribute( 'data-medium' ) );
5700
- content = this.getAttribute( 'data-content' );
5701
  if ( content === null ) {
5702
  content = '';
5703
  }
5704
  link = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );
5705
- button.attr( 'href', link );
5706
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5707
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5708
  }
5709
 
5710
  /**
5711
  * Allow addons to be installed from the upgrade modal.
5712
  */
5713
- function addOneClickModal( link ) {
5714
  var oneclickMessage = document.getElementById( 'frm-oneclick' ),
5715
  oneclick = link.getAttribute( 'data-oneclick' ),
5716
  customLink = link.getAttribute( 'data-link' ),
5717
- showLink = document.getElementById( 'frm-upgrade-modal-link' ),
5718
  upgradeMessage = document.getElementById( 'frm-upgrade-message' ),
5719
  newMessage = link.getAttribute( 'data-message' ),
5720
- button = document.getElementById( 'frm-oneclick-button' ),
5721
  showIt = 'block',
5722
  showMsg = 'block',
5723
  hideIt = 'none';
5724
 
 
 
 
 
 
 
 
5725
  // If one click upgrade, hide other content.
5726
  if ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {
5727
  if ( newMessage === null ) {
@@ -7879,6 +8023,10 @@ function frmAdminBuildJS() {
7879
  jQuery( document ).on( 'click', '.frm-trigger-new-form-modal', triggerNewFormModal );
7880
  $modal = initModal( '#frm_new_form_modal', '600px' );
7881
 
 
 
 
 
7882
  setTimeout(
7883
  function() {
7884
  $modal.get( 0 ).querySelector( '.postbox' ).style.display = 'block'; // Fixes pro issue #3508, prevent a conflict that hides the postbox in modal.
@@ -8939,10 +9087,17 @@ function frmAdminBuildJS() {
8939
  // tabs
8940
  jQuery( document ).on( 'click', '#frm-nav-tabs a', clickNewTab );
8941
  jQuery( '.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a' ).on( 'click', function() {
8942
- if ( ! this.classList.contains( 'frm_noallow' ) ) {
8943
- clickTab( this );
8944
- return false;
8945
  }
 
 
 
 
 
 
 
8946
  });
8947
  clickTab( jQuery( '.starttab a' ), 'auto' );
8948
 
317
 
318
  /*global jQuery:false, frm_admin_js, frmGlobal, ajaxurl, fromDom */
319
 
320
+ const { tag, div, span, a, svg, img } = frmDom;
321
  const { doJsonFetch } = frmDom.ajax;
322
 
323
  var $newFields = jQuery( document.getElementById( 'frm-show-fields' ) ),
5661
  }
5662
 
5663
  function initUpgradeModal() {
5664
+ const $info = initModal( '#frm_upgrade_modal' );
5665
  if ( $info === false ) {
5666
  return;
5667
  }
5668
 
5669
+ document.addEventListener( 'click', handleUpgradeClick );
 
5670
 
5671
+ function handleUpgradeClick( event ) {
5672
+ let element, upgradeLabel, link, content;
5673
+
5674
+ element = event.target;
5675
+ upgradeLabel = element.dataset.upgrade;
5676
+
5677
+ if ( ! upgradeLabel ) {
5678
+ const parent = element.closest( '[data-upgrade]' );
5679
+ if ( ! parent ) {
5680
+ return;
5681
+ }
5682
 
5683
+ element = parent;
5684
+ upgradeLabel = parent.dataset.upgrade;
5685
+ }
5686
+
5687
+ if ( ! upgradeLabel || element.classList.contains( 'frm_show_upgrade_tab' ) ) {
5688
  return;
5689
  }
5690
 
5691
+ event.preventDefault();
 
5692
 
5693
+ const modal = $info.get( 0 );
5694
+ const lockIcon = modal.querySelector( '.frm_lock_icon' );
5695
+
5696
+ if ( lockIcon ) {
5697
+ lockIcon.style.display = 'block';
5698
+ lockIcon.classList.remove( 'frm_lock_open_icon' );
5699
+ lockIcon.querySelector( 'use' ).setAttribute( 'href', '#frm_lock_icon' );
5700
+ }
5701
+
5702
+ const upgradeImageId = 'frm_upgrade_modal_image';
5703
+ const oldImage = document.getElementById( upgradeImageId );
5704
+ if ( oldImage ) {
5705
+ oldImage.remove();
5706
+ }
5707
+
5708
+ if ( element.dataset.image ) {
5709
+ if ( lockIcon ) {
5710
+ lockIcon.style.display = 'none';
5711
+ }
5712
+ lockIcon.parentNode.insertBefore( img({ id: upgradeImageId, src: frmGlobal.url + '/images/' + element.dataset.image }), lockIcon );
5713
+ }
5714
+
5715
+ const level = modal.querySelector( '.license-level' );
5716
+ if ( level ) {
5717
+ level.textContent = getRequiredLicenseFromTrigger( element );
5718
  }
 
5719
 
5720
  // If one click upgrade, hide other content
5721
+ addOneClickModal( element );
5722
 
5723
+ modal.querySelector( '.frm_are_not_installed' ).style.display = element.dataset.image ? 'none' : 'block';
5724
+ modal.querySelector( '.frm_feature_label' ).textContent = upgradeLabel;
5725
+ modal.querySelector( 'h2' ).style.display = 'block';
5726
 
5727
  $info.dialog( 'open' );
5728
 
5729
  // set the utm medium
5730
+ const button = modal.querySelector( '.button-primary:not(#frm-oneclick-button)' );
5731
+ link = button.getAttribute( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + element.getAttribute( 'data-medium' ) );
5732
+ content = element.getAttribute( 'data-content' );
5733
  if ( content === null ) {
5734
  content = '';
5735
  }
5736
  link = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );
5737
+ button.setAttribute( 'href', link );
5738
+ }
5739
+ }
5740
+
5741
+ function getRequiredLicenseFromTrigger( element ) {
5742
+ if ( element.dataset.requires ) {
5743
+ return element.dataset.requires;
5744
+ }
5745
+ return 'Pro';
5746
+ }
5747
+
5748
+ function populateUpgradeTab( element ) {
5749
+ const title = element.dataset.upgrade;
5750
+ let message = element.dataset.message;
5751
+
5752
+ if ( ! message ) {
5753
+ message = document.getElementById( 'frm-upgrade-message' ).dataset.default;
5754
+ message = message.replace( '<span class="frm_feature_label"></span>', title );
5755
+ }
5756
+
5757
+ const tab = element.getAttribute( 'href' ).replace( '#', '' );
5758
+ const container = document.querySelector( '.frm_' + tab ) || document.querySelector( '.' + tab );
5759
+
5760
+ if ( ! container ) {
5761
+ return;
5762
+ }
5763
+
5764
+ if ( container.querySelector( '.frm-tab-message' ) ) {
5765
+ // Tab has already been populated.
5766
+ return;
5767
+ }
5768
+
5769
+ const h2 = container.querySelector( 'h2' );
5770
+ h2.style.borderBottom = 'none';
5771
+
5772
+ /* translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). */
5773
+ h2.textContent = __( '%s are not installed' ).replace( '%s', title );
5774
+
5775
+ container.classList.add( 'frmcenter' );
5776
+ container.appendChild(
5777
+ tag(
5778
+ 'p',
5779
+ {
5780
+ className: 'frm-tab-message',
5781
+ text: message
5782
+ }
5783
+ )
5784
+ );
5785
+
5786
+ const upgradeModalLink = document.getElementById( 'frm-upgrade-modal-link' );
5787
+
5788
+ // Borrow the call to action from the Upgrade modal which should exist on the settings page (it is still used for other upgrades including Actions).
5789
+ if ( upgradeModalLink ) {
5790
+ const upgradeButton = upgradeModalLink.cloneNode( true );
5791
+ upgradeButton.id = 'frm_upgrade_link_' + getAutoId();
5792
+
5793
+ const level = upgradeButton.querySelector( '.license-level' );
5794
+
5795
+ if ( level ) {
5796
+ level.textContent = getRequiredLicenseFromTrigger( element );
5797
+ }
5798
+
5799
+ container.appendChild( upgradeButton );
5800
+
5801
+ // Maybe append the secondary "Already purchased?" link from the modal as well.
5802
+ if ( upgradeModalLink.nextElementSibling && upgradeModalLink.nextElementSibling.querySelector( '.frm-link-secondary' ) ) {
5803
+ container.appendChild( upgradeModalLink.nextElementSibling.cloneNode( true ) );
5804
+ }
5805
+
5806
+ const oneClickButton = document.getElementById( 'frm-oneclick-button' ).cloneNode( true );
5807
+ oneClickButton.id = 'frm_one_click_' + getAutoId();
5808
+ container.appendChild( oneClickButton );
5809
+ addOneClickModal( element, oneClickButton, upgradeButton );
5810
+ }
5811
+
5812
+ if ( element.dataset.screenshot ) {
5813
+ container.appendChild( getScreenshotWrapper( element.dataset.screenshot ) );
5814
+ }
5815
+ }
5816
+
5817
+ function getScreenshotWrapper( screenshot ) {
5818
+ const folderUrl = frmGlobal.url + '/images/screenshots/';
5819
+ const wrapper = div({
5820
+ className: 'frm-settings-screenshot-wrapper',
5821
+ children: [
5822
+ getToolbar(),
5823
+ div({ child: img({ src: folderUrl + screenshot }) })
5824
+ ]
5825
  });
5826
+
5827
+ function getToolbar() {
5828
+ const children = getColorIcons();
5829
+ children.push( img({ src: frmGlobal.url + '/images/tab.svg' }) );
5830
+ return div({
5831
+ className: 'frm-settings-screenshot-toolbar',
5832
+ children
5833
+ });
5834
+ }
5835
+
5836
+ function getColorIcons() {
5837
+ return [ '#ED8181', '#EDE06A', '#80BE30' ].map(
5838
+ color => {
5839
+ const circle = div({ className: 'frm-minmax-icon' });
5840
+ circle.style.backgroundColor = color;
5841
+ return circle;
5842
+ }
5843
+ );
5844
+ }
5845
+
5846
+ return wrapper;
5847
  }
5848
 
5849
  /**
5850
  * Allow addons to be installed from the upgrade modal.
5851
  */
5852
+ function addOneClickModal( link, button, showLink ) {
5853
  var oneclickMessage = document.getElementById( 'frm-oneclick' ),
5854
  oneclick = link.getAttribute( 'data-oneclick' ),
5855
  customLink = link.getAttribute( 'data-link' ),
 
5856
  upgradeMessage = document.getElementById( 'frm-upgrade-message' ),
5857
  newMessage = link.getAttribute( 'data-message' ),
 
5858
  showIt = 'block',
5859
  showMsg = 'block',
5860
  hideIt = 'none';
5861
 
5862
+ if ( undefined === button ) {
5863
+ button = document.getElementById( 'frm-oneclick-button' );
5864
+ }
5865
+ if ( undefined === showLink ) {
5866
+ showLink = document.getElementById( 'frm-upgrade-modal-link' );
5867
+ }
5868
+
5869
  // If one click upgrade, hide other content.
5870
  if ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {
5871
  if ( newMessage === null ) {
8023
  jQuery( document ).on( 'click', '.frm-trigger-new-form-modal', triggerNewFormModal );
8024
  $modal = initModal( '#frm_new_form_modal', '600px' );
8025
 
8026
+ if ( false === $modal ) {
8027
+ return;
8028
+ }
8029
+
8030
  setTimeout(
8031
  function() {
8032
  $modal.get( 0 ).querySelector( '.postbox' ).style.display = 'block'; // Fixes pro issue #3508, prevent a conflict that hides the postbox in modal.
9087
  // tabs
9088
  jQuery( document ).on( 'click', '#frm-nav-tabs a', clickNewTab );
9089
  jQuery( '.post-type-frm_display .frm-nav-tabs a, .frm-category-tabs a' ).on( 'click', function() {
9090
+ const showUpgradeTab = this.classList.contains( 'frm_show_upgrade_tab' );
9091
+ if ( this.classList.contains( 'frm_noallow' ) && ! showUpgradeTab ) {
9092
+ return;
9093
  }
9094
+
9095
+ if ( showUpgradeTab ) {
9096
+ populateUpgradeTab( this );
9097
+ }
9098
+
9099
+ clickTab( this );
9100
+ return false;
9101
  });
9102
  clickTab( jQuery( '.starttab a' ), 'auto' );
9103
 
js/formidable_blocks.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=5)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateAttribute=function(e,t,n){n(function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n;return e}({},e,t))},t.setTextAttribute=function(e,t){if(e)return" "+t+'="'+e+'"';return""},t.getSubDir=function(){var e=window.location.pathname,t=e.indexOf("wp-admin"),n="/";t>-1&&(n=e.substr(0,t));return n};t.cssHideAdvancedSettings="\n .components-panel__body.editor-block-inspector__advanced {\n display:none;\n }\n"},function(e,t,n){e.exports=n(8)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0);function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var a=function(e){function t(){return l(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){return wp.element.createElement("div",null,"[formidable",(e=this.props,t=e.formId,n=e.title,r=e.description,l=e.minimize,i="",i+=(0,o.setTextAttribute)(t,"id"),i+=(0,o.setTextAttribute)(n,"title"),i+=(0,o.setTextAttribute)(r,"description"),i+=(0,o.setTextAttribute)(l,"minimize")),"]");var e,t,n,r,l,i}}]),t}(wp.element.Component);t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=i(n(10)),l=i(n(1));function i(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var u=wp.i18n.__,s=function(e){function t(){return a(this,t),c(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){var e=this.props,t=e.formId,n=e.setAttributes,r=e.forms;return wp.element.createElement(o.default,{selected:t,itemName:u("form","formidable"),itemNamePlural:u("forms","formidable"),items:r,onChange:function(e){n({formId:e})}})}}]),t}(wp.element.Component);t.default=s,s.propTypes={formId:l.default.string,setAttributes:l.default.func.isRequired}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var i=wp.element.Component,a=wp.components.Dashicon,c=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){return"svg"!==formidable_form_selector.icon?wp.element.createElement(a,{icon:formidable_form_selector.icon,size:"120"}):wp.element.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 599.68 601.37",width:"120",height:"120"},wp.element.createElement("path",{className:"cls-1 orange",d:"M289.6 384h140v76h-140z"}),wp.element.createElement("path",{className:"cls-1",d:"M400.2 147h-200c-17 0-30.6 12.2-30.6 29.3V218h260v-71zM397.9 264H169.6v196h75V340H398a32.2 32.2 0 0 0 30.1-21.4 24.3 24.3 0 0 0 1.7-8.7V264z"}),wp.element.createElement("path",{className:"cls-1",d:"M299.8 601.4A300.3 300.3 0 0 1 0 300.7a299.8 299.8 0 1 1 511.9 212.6 297.4 297.4 0 0 1-212 88zm0-563A262 262 0 0 0 38.3 300.7a261.6 261.6 0 1 0 446.5-185.5 259.5 259.5 0 0 0-185-76.8z"}))}}]),t}(i);t.default=c},function(e,t,n){"use strict";n(6),n(11)},function(e,t,n){"use strict";var r=c(n(2)),o=c(n(7)),l=c(n(4)),i=c(n(3)),a=n(0);function c(e){return e&&e.__esModule?e:{default:e}}var u=wp.element.Fragment,s=wp.i18n.__,f=wp.blocks.registerBlockType,p=wp.components,m=p.ServerSideRender,d=p.Notice;f("formidable/simple-form",{title:formidable_form_selector.name,description:s("Display a Form","formidable"),icon:l.default,category:"widgets",keywords:[s("contact forms","formidable"),"formidable"],edit:function(e){var t=e.setAttributes,n=e.attributes,r=e.isSelected,c=n.formId,f=formidable_form_selector.forms;return 0===f.length?wp.element.createElement(d,{status:"warning",isDismissible:!1},s("This site does not have any forms.","formidable")):c?wp.element.createElement(u,null,wp.element.createElement(o.default,{attributes:n,setAttributes:t,forms:f}),r&&wp.element.createElement("style",null,a.cssHideAdvancedSettings),wp.element.createElement(m,{block:"formidable/simple-form",attributes:n})):wp.element.createElement("div",{className:"frm-block-intro-screen"},wp.element.createElement("div",{className:"frm-block-intro-content"},wp.element.createElement(l.default,null),wp.element.createElement("div",{className:"frm-block-title"},formidable_form_selector.name),wp.element.createElement("div",{className:"frm-block-selector-screen"},wp.element.createElement(i.default,{formId:c,setAttributes:t,forms:f}))))},save:function(e){var t=e.attributes;return void 0===t.formId?"":wp.element.createElement(u,null,wp.element.createElement(r.default,t))}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=c(n(1)),l=c(n(3)),i=c(n(2)),a=n(0);function c(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var f=wp.i18n.__,p=wp.element.Component,m=wp.blockEditor.InspectorControls,d=wp.components,b=d.PanelBody,y=d.PanelRow,w=d.ToggleControl,h=d.ExternalLink,v=function(e){function t(){return u(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){var e=this.props,t=e.setAttributes,n=e.attributes,r=e.forms,o=n.formId,c=n.title,u=n.description,s=n.minimize;return wp.element.createElement(m,null,wp.element.createElement(b,{title:f("Select Form","formidable"),initialOpen:!0},wp.element.createElement(y,null,wp.element.createElement(l.default,{formId:o,setAttributes:t,forms:r})),o&&wp.element.createElement(y,null,wp.element.createElement(h,{href:(0,a.getSubDir)()+"wp-admin/admin.php?page=formidable&frm_action=edit&id="+o},f("Go to form","formidable")))),wp.element.createElement(b,{title:f("Options","formidable"),initialOpen:!1},wp.element.createElement(w,{label:f("Show Form Title","formidable"),checked:c,onChange:function(e){(0,a.updateAttribute)("title",e?"1":"",t)}}),wp.element.createElement(w,{label:f("Show Form Description","formidable"),checked:u,onChange:function(e){(0,a.updateAttribute)("description",e?"1":"",t)}}),wp.element.createElement(w,{label:f("Minimize HTML","formidable"),checked:s,onChange:function(e){(0,a.updateAttribute)("minimize",e?"1":"",t)}})),wp.element.createElement(b,{title:f("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(y,null,wp.element.createElement(i.default,this.props.attributes))))}}]),t}(p);t.default=v,v.propTypes={attributes:o.default.object,setAttributes:o.default.func}},function(e,t,n){"use strict";var r=n(9);function o(){}e.exports=function(){function e(e,t,n,o,l,i){if(i!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),i=(r=l)&&r.__esModule?r:{default:r};function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var u=wp.i18n,s=u.__,f=u.sprintf,p=wp.element.Component,m=wp.components.SelectControl,d=function(e){function t(){return a(this,t),c(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"createOptions",value:function(e,t){var n=e.map((function(e){return{label:e.label,value:e.value}}));return[{label:f(s("Select a %s","formidable"),t),value:""}].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(n))}},{key:"render",value:function(){var e=this.props,t=e.selected,n=e.items,r=e.onChange,o=e.itemName,l=e.itemNamePlural,i=e.label,a=e.help;return n&&0!==n.length?wp.element.createElement(m,{value:t,options:this.createOptions(n,o),label:i,help:a,onChange:r}):wp.element.createElement("p",{className:"frm-block-select-no-items"},f(s("Currently, there are no %s","formidable"),l))}}]),t}(p);t.default=d,d.defaultProps={itemName:"item",itemNamePlural:"items"},d.propTypes={selected:i.default.oneOfType([i.default.string,i.default.number]),items:i.default.array,onChange:i.default.func,itemName:i.default.string,itemNamePlural:i.default.string,label:i.default.string,help:i.default.string}},function(e,t,n){"use strict";var r,o=n(4),l=(r=o)&&r.__esModule?r:{default:r};var i=wp.i18n.__,a=wp.blocks.registerBlockType,c=wp.components.Notice,u=wp.element.createElement("svg",{width:20,height:20},wp.element.createElement("path",{d:"M16.9 0H3a2 2 0 0 0-1.9 1.9V18a2 2 0 0 0 2 1.9h13.7a2 2 0 0 0 1.9-1.9V2a2 2 0 0 0-2-1.9zm0 18.1H3v-10H17v10zm0-11.9H3V2H17v4.3zM5.5 12.6H7c.3 0 .5-.3.5-.5v-1.5c0-.3-.3-.5-.5-.5H5.5c-.3 0-.5.3-.5.5V12c0 .3.3.5.5.5zm7.5 3.8h1.5c.3 0 .5-.3.5-.6v-5.2c0-.3-.3-.5-.5-.5H13c-.3 0-.5.3-.5.5v5.3c0 .2.3.4.5.4zm-7.5 0H7c.3 0 .5-.3.5-.6v-1.4c0-.3-.3-.6-.5-.6H5.5c-.3 0-.5.3-.5.6v1.4c0 .3.3.6.5.6zm3.8-3.8h1.4c.3 0 .6-.3.6-.5v-1.5c0-.3-.3-.5-.6-.5H9.3c-.3 0-.6.3-.6.5V12c0 .3.3.5.6.5zm0 3.8h1.4c.3 0 .6-.3.6-.6v-1.4c0-.3-.3-.6-.6-.6H9.3c-.3 0-.6.3-.6.6v1.4c0 .3.3.6.6.6z"}));a("formidable/calculator",{title:i("Calculator Form","formidable"),description:i("Display a Calculator Form","formidable"),icon:u,category:"widgets",keywords:["calculation","formidable"],edit:function(e){e.setAttributes,e.attributes.formId;return 0===formidable_form_selector.forms.length?wp.element.createElement(c,{status:"warning",isDismissible:!1},i("This site does not have any forms.","formidable")):wp.element.createElement("div",{className:"frm-block-intro-screen"},wp.element.createElement("div",{className:"frm-block-intro-content"},wp.element.createElement(l.default,null),wp.element.createElement("div",{className:"frm-block-title"},i("Calculator Form","formidable")),wp.element.createElement("div",{className:"frm-block-selector-screen frm_pro_tip"},wp.element.createElement(c,{status:"warning",isDismissible:!1},i("This site does not have any calculator forms.","formidable"),wp.element.createElement("br",null),wp.element.createElement("a",{href:formidable_form_selector.link,target:"_blank"},i("Upgrade Formidable Forms.","formidable"))),wp.element.createElement("img",{src:formidable_form_selector.url+"/images/conversion-calc.jpg",alt:i("Calculator Form","formidable")}))))}})}]);
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=5)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateAttribute=function(e,t,n){n(function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n;return e}({},e,t))},t.setTextAttribute=function(e,t){if(e)return" "+t+'="'+e+'"';return""},t.getSubDir=function(){var e=window.location.pathname,t=e.indexOf("wp-admin"),n="/";t>-1&&(n=e.substr(0,t));return n};t.cssHideAdvancedSettings="\n .components-panel__body.editor-block-inspector__advanced {\n display:none;\n }\n"},function(e,t,n){e.exports=n(8)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0);function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var a=function(e){function t(){return i(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){return wp.element.createElement("div",null,"[formidable",(e=this.props,t=e.formId,n=e.title,r=e.description,i=e.minimize,l="",l+=(0,o.setTextAttribute)(t,"id"),l+=(0,o.setTextAttribute)(n,"title"),l+=(0,o.setTextAttribute)(r,"description"),l+=(0,o.setTextAttribute)(i,"minimize")),"]");var e,t,n,r,i,l}}]),t}(wp.element.Component);t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=l(n(10)),i=l(n(1));function l(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var u=wp.i18n.__,s=function(e){function t(){return a(this,t),c(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){var e=this.props,t=e.formId,n=e.setAttributes,r=e.forms;return wp.element.createElement(o.default,{selected:t,itemName:u("form","formidable"),itemNamePlural:u("forms","formidable"),items:r,onChange:function(e){n({formId:e})}})}}]),t}(wp.element.Component);t.default=s,s.propTypes={formId:i.default.string,setAttributes:i.default.func.isRequired}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var l=wp.element.Component,a=wp.components.Dashicon,c=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){return"svg"!==formidable_form_selector.icon?wp.element.createElement(a,{icon:formidable_form_selector.icon,size:"120"}):wp.element.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 599.68 601.37",width:"120",height:"120"},wp.element.createElement("path",{className:"cls-1 orange",d:"M289.6 384h140v76h-140z"}),wp.element.createElement("path",{className:"cls-1",d:"M400.2 147h-200c-17 0-30.6 12.2-30.6 29.3V218h260v-71zM397.9 264H169.6v196h75V340H398a32.2 32.2 0 0 0 30.1-21.4 24.3 24.3 0 0 0 1.7-8.7V264z"}),wp.element.createElement("path",{className:"cls-1",d:"M299.8 601.4A300.3 300.3 0 0 1 0 300.7a299.8 299.8 0 1 1 511.9 212.6 297.4 297.4 0 0 1-212 88zm0-563A262 262 0 0 0 38.3 300.7a261.6 261.6 0 1 0 446.5-185.5 259.5 259.5 0 0 0-185-76.8z"}))}}]),t}(l);t.default=c},function(e,t,n){"use strict";n(6),n(11)},function(e,t,n){"use strict";var r=c(n(2)),o=c(n(7)),i=c(n(4)),l=c(n(3)),a=n(0);function c(e){return e&&e.__esModule?e:{default:e}}var u=wp.element.Fragment,s=wp.i18n.__,f=wp.blocks.registerBlockType,p=wp.components,m=p.ServerSideRender,b=p.Notice;f("formidable/simple-form",{title:formidable_form_selector.name,description:s("Display a Form","formidable"),icon:i.default,category:"widgets",keywords:[s("contact forms","formidable"),"formidable"],edit:function(e){var t=e.setAttributes,n=e.attributes,r=e.isSelected,c=n.formId,f=formidable_form_selector.forms;return 0===f.length?wp.element.createElement(b,{status:"warning",isDismissible:!1},s("This site does not have any forms.","formidable")):c?wp.element.createElement(u,null,wp.element.createElement(o.default,{attributes:n,setAttributes:t,forms:f}),r&&wp.element.createElement("style",null,a.cssHideAdvancedSettings),wp.element.createElement(m,{block:"formidable/simple-form",attributes:n})):wp.element.createElement("div",{className:"frm-block-intro-screen"},wp.element.createElement("div",{className:"frm-block-intro-content"},wp.element.createElement(i.default,null),wp.element.createElement("div",{className:"frm-block-title"},formidable_form_selector.name),wp.element.createElement("div",{className:"frm-block-selector-screen"},wp.element.createElement(l.default,{formId:c,setAttributes:t,forms:f}))))},save:function(e){var t=e.attributes;return void 0===t.formId?"":wp.element.createElement(u,null,wp.element.createElement(r.default,t))}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=c(n(1)),i=c(n(3)),l=c(n(2)),a=n(0);function c(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var f=wp.i18n.__,p=wp.element.Component,m=wp.blockEditor.InspectorControls,b=wp.components,d=b.PanelBody,y=b.PanelRow,w=b.ToggleControl,h=b.ExternalLink,v=function(e){function t(){return u(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){var e=this.props,t=e.setAttributes,n=e.attributes,r=e.forms,o=n.formId,c=n.title,u=n.description,s=n.minimize;return wp.element.createElement(m,null,wp.element.createElement(d,{title:f("Select Form","formidable"),initialOpen:!0},wp.element.createElement(y,null,wp.element.createElement(i.default,{formId:o,setAttributes:t,forms:r})),o&&wp.element.createElement(y,null,wp.element.createElement(h,{href:(0,a.getSubDir)()+"wp-admin/admin.php?page=formidable&frm_action=edit&id="+o},f("Go to form","formidable")))),wp.element.createElement(d,{title:f("Options","formidable"),initialOpen:!1},wp.element.createElement(w,{label:f("Show Form Title","formidable"),checked:c,onChange:function(e){(0,a.updateAttribute)("title",e?"1":"",t)}}),wp.element.createElement(w,{label:f("Show Form Description","formidable"),checked:u,onChange:function(e){(0,a.updateAttribute)("description",e?"1":"",t)}}),wp.element.createElement(w,{label:f("Minimize HTML","formidable"),checked:s,onChange:function(e){(0,a.updateAttribute)("minimize",e?"1":"",t)}})),wp.element.createElement(d,{title:f("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(y,null,wp.element.createElement(l.default,this.props.attributes))))}}]),t}(p);t.default=v,v.propTypes={attributes:o.default.object,setAttributes:o.default.func}},function(e,t,n){"use strict";var r=n(9);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,l){if(l!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(1),l=(r=i)&&r.__esModule?r:{default:r};function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var u=wp.i18n,s=u.__,f=u.sprintf,p=wp.element.Component,m=wp.components.SelectControl,b=function(e){function t(){return a(this,t),c(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"createOptions",value:function(e,t){var n=e.map((function(e){return{label:e.label,value:e.value}}));return[{label:f(s("Select a %s","formidable"),t),value:""}].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(n))}},{key:"render",value:function(){var e=this.props,t=e.selected,n=e.items,r=e.onChange,o=e.itemName,i=e.itemNamePlural,l=e.label,a=e.help;return n&&0!==n.length?wp.element.createElement(m,{value:t,options:this.createOptions(n,o),label:l,help:a,onChange:r}):wp.element.createElement("p",{className:"frm-block-select-no-items"},f(s("Currently, there are no %s","formidable"),i))}}]),t}(p);t.default=b,b.defaultProps={itemName:"item",itemNamePlural:"items"},b.propTypes={selected:l.default.oneOfType([l.default.string,l.default.number]),items:l.default.array,onChange:l.default.func,itemName:l.default.string,itemNamePlural:l.default.string,label:l.default.string,help:l.default.string}},function(e,t,n){"use strict";var r,o=n(4),i=(r=o)&&r.__esModule?r:{default:r};var l=wp.i18n.__,a=wp.blocks.registerBlockType,c=wp.components.Notice,u=wp.element.createElement("svg",{width:20,height:20},wp.element.createElement("path",{d:"M16.9 0H3a2 2 0 0 0-1.9 1.9V18a2 2 0 0 0 2 1.9h13.7a2 2 0 0 0 1.9-1.9V2a2 2 0 0 0-2-1.9zm0 18.1H3v-10H17v10zm0-11.9H3V2H17v4.3zM5.5 12.6H7c.3 0 .5-.3.5-.5v-1.5c0-.3-.3-.5-.5-.5H5.5c-.3 0-.5.3-.5.5V12c0 .3.3.5.5.5zm7.5 3.8h1.5c.3 0 .5-.3.5-.6v-5.2c0-.3-.3-.5-.5-.5H13c-.3 0-.5.3-.5.5v5.3c0 .2.3.4.5.4zm-7.5 0H7c.3 0 .5-.3.5-.6v-1.4c0-.3-.3-.6-.5-.6H5.5c-.3 0-.5.3-.5.6v1.4c0 .3.3.6.5.6zm3.8-3.8h1.4c.3 0 .6-.3.6-.5v-1.5c0-.3-.3-.5-.6-.5H9.3c-.3 0-.6.3-.6.5V12c0 .3.3.5.6.5zm0 3.8h1.4c.3 0 .6-.3.6-.6v-1.4c0-.3-.3-.6-.6-.6H9.3c-.3 0-.6.3-.6.6v1.4c0 .3.3.6.6.6z"}));a("formidable/calculator",{title:l("Calculator Form","formidable"),description:l("Display a Calculator Form","formidable"),icon:u,category:"widgets",keywords:["calculation","formidable"],edit:function(e){e.setAttributes,e.attributes.formId;return 0===formidable_form_selector.forms.length?wp.element.createElement(c,{status:"warning",isDismissible:!1},l("This site does not have any forms.","formidable")):wp.element.createElement("div",{className:"frm-block-intro-screen"},wp.element.createElement("div",{className:"frm-block-intro-content"},wp.element.createElement(i.default,null),wp.element.createElement("div",{className:"frm-block-title"},l("Calculator Form","formidable")),wp.element.createElement("div",{className:"frm-block-selector-screen frm_pro_tip"},wp.element.createElement(c,{status:"warning",isDismissible:!1},l("This site does not have any calculator forms.","formidable"),wp.element.createElement("br",null),wp.element.createElement("a",{href:formidable_form_selector.link,target:"_blank"},l("Upgrade Formidable Forms.","formidable"))),wp.element.createElement("img",{src:formidable_form_selector.url+"/images/conversion-calc.jpg",alt:l("Calculator Form","formidable")}))))}})}]);
languages/formidable.pot CHANGED
@@ -2,16 +2,16 @@
2
  # This file is distributed under the same license as the Formidable Forms plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Formidable Forms 5.4\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/formidable\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-06-22T14:58:50+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
- "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: formidable\n"
16
 
17
  #: js/src/common/components/itemselect.js:26
@@ -153,7 +153,7 @@ msgid "Installed"
153
  msgstr ""
154
 
155
  #: classes/controllers/FrmAddonsController.php:638
156
- #: classes/helpers/FrmAppHelper.php:2815
157
  msgid "Active"
158
  msgstr ""
159
 
@@ -181,7 +181,7 @@ msgstr ""
181
  #: classes/controllers/FrmAddonsController.php:1198
182
  #: classes/controllers/FrmWelcomeController.php:141
183
  #: classes/views/frm-forms/new-form-overlay.php:105
184
- #: classes/views/shared/reports-info.php:24
185
  #: js/admin/applications.js:390
186
  msgid "Upgrade Now"
187
  msgstr ""
@@ -233,7 +233,7 @@ msgid "Applications"
233
  msgstr ""
234
 
235
  #: classes/controllers/FrmEntriesController.php:79
236
- #: classes/controllers/FrmFormsController.php:1393
237
  #: classes/views/frm-entries/form.php:63
238
  #: classes/views/frm-entries/sidebar-shared.php:57
239
  msgid "Entry Key"
@@ -510,148 +510,148 @@ msgstr ""
510
  msgid "Allow editing, protect forms and files, limit entries, and save drafts. Upgrade to get form and entry permissions."
511
  msgstr ""
512
 
513
- #: classes/controllers/FrmFormsController.php:1139
514
  msgid "Form Scheduling"
515
  msgstr ""
516
 
517
- #: classes/controllers/FrmFormsController.php:1144
518
  msgid "Form scheduling settings"
519
  msgstr ""
520
 
521
- #: classes/controllers/FrmFormsController.php:1148
522
  msgid "Styling & Buttons"
523
  msgstr ""
524
 
525
- #: classes/controllers/FrmFormsController.php:1154
526
  msgid "Form Landing Page"
527
  msgstr ""
528
 
529
- #: classes/controllers/FrmFormsController.php:1160
530
- #: classes/controllers/FrmFormsController.php:1166
531
  msgid "Conversational Forms"
532
  msgstr ""
533
 
534
- #: classes/controllers/FrmFormsController.php:1167
535
  msgid "Ask one question at a time for automated conversations."
536
  msgstr ""
537
 
538
- #: classes/controllers/FrmFormsController.php:1172
539
  msgid "Customize HTML"
540
  msgstr ""
541
 
542
- #: classes/controllers/FrmFormsController.php:1308
543
  msgid "Customize field values with the following parameters."
544
  msgstr ""
545
 
546
- #: classes/controllers/FrmFormsController.php:1346
547
  msgid "Separator"
548
  msgstr ""
549
 
550
- #: classes/controllers/FrmFormsController.php:1347
551
  msgid "Use a different separator for checkbox fields"
552
  msgstr ""
553
 
554
- #: classes/controllers/FrmFormsController.php:1350
555
  msgid "Date Format"
556
  msgstr ""
557
 
558
- #: classes/controllers/FrmFormsController.php:1353
559
  #: classes/views/frm-fields/back-end/settings.php:27
560
  msgid "Field Label"
561
  msgstr ""
562
 
563
- #: classes/controllers/FrmFormsController.php:1356
564
  msgid "No Auto P"
565
  msgstr ""
566
 
567
- #: classes/controllers/FrmFormsController.php:1357
568
  msgid "Do not automatically add any paragraphs or line breaks"
569
  msgstr ""
570
 
571
- #: classes/controllers/FrmFormsController.php:1372
572
  #: classes/models/FrmField.php:62
573
  msgid "User ID"
574
  msgstr ""
575
 
576
- #: classes/controllers/FrmFormsController.php:1373
577
  msgid "First Name"
578
  msgstr ""
579
 
580
- #: classes/controllers/FrmFormsController.php:1374
581
  msgid "Last Name"
582
  msgstr ""
583
 
584
- #: classes/controllers/FrmFormsController.php:1375
585
  msgid "Display Name"
586
  msgstr ""
587
 
588
- #: classes/controllers/FrmFormsController.php:1376
589
  msgid "User Login"
590
  msgstr ""
591
 
592
- #: classes/controllers/FrmFormsController.php:1377
593
  #: classes/models/FrmField.php:34
594
  msgid "Email"
595
  msgstr ""
596
 
597
- #: classes/controllers/FrmFormsController.php:1378
598
  msgid "Avatar"
599
  msgstr ""
600
 
601
- #: classes/controllers/FrmFormsController.php:1379
602
  msgid "Author Link"
603
  msgstr ""
604
 
605
- #: classes/controllers/FrmFormsController.php:1392
606
  #: classes/views/frm-entries/sidebar-shared.php:51
607
  msgid "Entry ID"
608
  msgstr ""
609
 
610
- #: classes/controllers/FrmFormsController.php:1394
611
  msgid "Post ID"
612
  msgstr ""
613
 
614
- #: classes/controllers/FrmFormsController.php:1395
615
  msgid "User IP"
616
  msgstr ""
617
 
618
- #: classes/controllers/FrmFormsController.php:1396
619
  msgid "Entry created"
620
  msgstr ""
621
 
622
- #: classes/controllers/FrmFormsController.php:1397
623
  msgid "Entry updated"
624
  msgstr ""
625
 
626
- #: classes/controllers/FrmFormsController.php:1399
627
  msgid "Site URL"
628
  msgstr ""
629
 
630
- #: classes/controllers/FrmFormsController.php:1400
631
  msgid "Site Name"
632
  msgstr ""
633
 
634
- #: classes/controllers/FrmFormsController.php:1408
635
  msgid "Default Msg"
636
  msgstr ""
637
 
638
- #: classes/controllers/FrmFormsController.php:1409
639
  msgid "Default HTML"
640
  msgstr ""
641
 
642
- #: classes/controllers/FrmFormsController.php:1410
643
  msgid "Default Plain"
644
  msgstr ""
645
 
646
- #: classes/controllers/FrmFormsController.php:1513
647
  msgid "No forms were specified"
648
  msgstr ""
649
 
650
- #: classes/controllers/FrmFormsController.php:1627
651
  msgid "Abnormal HTML characters prevented your form from saving correctly"
652
  msgstr ""
653
 
654
- #: classes/controllers/FrmFormsController.php:1742
655
  #: classes/helpers/FrmFormsHelper.php:57
656
  #: classes/helpers/FrmFormsHelper.php:112
657
  #: classes/helpers/FrmFormsHelper.php:166
@@ -664,28 +664,28 @@ msgstr ""
664
  msgid "(no title)"
665
  msgstr ""
666
 
667
- #: classes/controllers/FrmFormsController.php:1808
668
- #: classes/controllers/FrmFormsController.php:1830
669
  msgid "Please select a valid form"
670
  msgstr ""
671
 
672
- #: classes/controllers/FrmFormsController.php:2064
673
  msgid "Please wait while you are redirected."
674
  msgstr ""
675
 
676
  #. translators: %1$s: Start link HTML, %2$s: End link HTML
677
- #: classes/controllers/FrmFormsController.php:2099
678
  msgid "%1$sClick here%2$s if you are not automatically redirected."
679
  msgstr ""
680
 
681
- #: classes/controllers/FrmFormsController.php:2459
682
  #: classes/helpers/FrmAppHelper.php:1359
683
  #: classes/views/frm-forms/settings-advanced.php:93
684
  msgid "Select a Page"
685
  msgstr ""
686
 
687
  #: classes/controllers/FrmInboxController.php:16
688
- #: classes/controllers/FrmSettingsController.php:70
689
  #: classes/views/inbox/list.php:11
690
  msgid "Inbox"
691
  msgstr ""
@@ -727,25 +727,25 @@ msgstr ""
727
  msgid "White labeling options"
728
  msgstr ""
729
 
730
- #: classes/controllers/FrmSettingsController.php:75
731
  msgid "Inbox settings"
732
  msgstr ""
733
 
734
- #: classes/controllers/FrmSettingsController.php:95
735
  msgid "Plugin Licenses"
736
  msgstr ""
737
 
738
- #: classes/controllers/FrmSettingsController.php:104
739
  #: classes/views/frm-forms/settings-advanced.php:176
740
  msgid "Miscellaneous"
741
  msgstr ""
742
 
743
- #: classes/controllers/FrmSettingsController.php:227
744
- #: classes/controllers/FrmSettingsController.php:230
745
  msgid "Settings Saved"
746
  msgstr ""
747
 
748
- #: classes/controllers/FrmSettingsController.php:249
749
  #: classes/helpers/FrmStylesHelper.php:73
750
  #: classes/views/frm-forms/add_field_links.php:173
751
  #: classes/views/frm-forms/edit.php:28
@@ -756,63 +756,63 @@ msgstr ""
756
  msgid "Update"
757
  msgstr ""
758
 
759
- #: classes/controllers/FrmSettingsController.php:276
760
  msgid "Extra form features like file uploads, pagination, etc"
761
  msgstr ""
762
 
763
- #: classes/controllers/FrmSettingsController.php:277
764
  msgid "Repeaters & cascading fields for advanced forms"
765
  msgstr ""
766
 
767
- #: classes/controllers/FrmSettingsController.php:278
768
  msgid "Flexibly view, search, edit, and delete entries anywhere"
769
  msgstr ""
770
 
771
- #: classes/controllers/FrmSettingsController.php:279
772
  msgid "Display entries with virtually limitless Formidable views"
773
  msgstr ""
774
 
775
- #: classes/controllers/FrmSettingsController.php:280
776
  msgid "Create surveys & polls"
777
  msgstr ""
778
 
779
- #: classes/controllers/FrmSettingsController.php:281
780
  msgid "WordPress user registration and login forms"
781
  msgstr ""
782
 
783
- #: classes/controllers/FrmSettingsController.php:282
784
  msgid "Create Stripe, PayPal or Authorize.net payment forms"
785
  msgstr ""
786
 
787
- #: classes/controllers/FrmSettingsController.php:283
788
  msgid "Powerful conditional logic for smart forms"
789
  msgstr ""
790
 
791
- #: classes/controllers/FrmSettingsController.php:284
792
  msgid "Integrations with 1000+ marketing & payment services"
793
  msgstr ""
794
 
795
- #: classes/controllers/FrmSettingsController.php:285
796
  msgid "Collect digital signatures"
797
  msgstr ""
798
 
799
- #: classes/controllers/FrmSettingsController.php:286
800
  msgid "Accept user-submitted content with Post submissions"
801
  msgstr ""
802
 
803
- #: classes/controllers/FrmSettingsController.php:287
804
  msgid "Email routing"
805
  msgstr ""
806
 
807
- #: classes/controllers/FrmSettingsController.php:288
808
  msgid "Create calculator forms"
809
  msgstr ""
810
 
811
- #: classes/controllers/FrmSettingsController.php:289
812
  msgid "Save draft entries and return later"
813
  msgstr ""
814
 
815
- #: classes/controllers/FrmSettingsController.php:290
816
  msgid "Analyze form data with graphs & stats"
817
  msgstr ""
818
 
@@ -878,9 +878,9 @@ msgid "Install WP Mail SMTP"
878
  msgstr ""
879
 
880
  #: classes/controllers/FrmSMTPController.php:305
881
- #: classes/helpers/FrmAppHelper.php:2814
882
  #: classes/helpers/FrmFormMigratorsHelper.php:131
883
- #: classes/views/shared/upgrade_overlay.php:32
884
  msgid "Install"
885
  msgstr ""
886
 
@@ -1169,71 +1169,71 @@ msgstr ""
1169
  msgid "If you leave the subject blank, the default will be used: %1$s Form submitted on %2$s"
1170
  msgstr ""
1171
 
1172
- #: classes/helpers/FrmAppHelper.php:2713
1173
- #: classes/helpers/FrmAppHelper.php:2796
1174
  msgid "Please wait while your site updates."
1175
  msgstr ""
1176
 
1177
- #: classes/helpers/FrmAppHelper.php:2714
1178
  msgid "Are you sure you want to deauthorize Formidable Forms on this site?"
1179
  msgstr ""
1180
 
1181
- #: classes/helpers/FrmAppHelper.php:2719
1182
- #: classes/helpers/FrmAppHelper.php:2748
1183
  msgid "Loading&hellip;"
1184
  msgstr ""
1185
 
1186
- #: classes/helpers/FrmAppHelper.php:2749
1187
  msgid "Remove"
1188
  msgstr ""
1189
 
1190
- #: classes/helpers/FrmAppHelper.php:2752
1191
  #: classes/helpers/FrmCSVExportHelper.php:348
1192
  #: classes/views/shared/mb_adv_info.php:95
1193
  msgid "ID"
1194
  msgstr ""
1195
 
1196
- #: classes/helpers/FrmAppHelper.php:2753
1197
  msgid "No results match"
1198
  msgstr ""
1199
 
1200
- #: classes/helpers/FrmAppHelper.php:2754
1201
  msgid "That file looks like Spam."
1202
  msgstr ""
1203
 
1204
- #: classes/helpers/FrmAppHelper.php:2755
1205
  msgid "There is an error in the calculation in the field with key"
1206
  msgstr ""
1207
 
1208
- #: classes/helpers/FrmAppHelper.php:2756
1209
  msgid "Please complete the preceding required fields before uploading a file."
1210
  msgstr ""
1211
 
1212
- #: classes/helpers/FrmAppHelper.php:2769
1213
  msgid "(Click to add description)"
1214
  msgstr ""
1215
 
1216
- #: classes/helpers/FrmAppHelper.php:2770
1217
  msgid "(Blank)"
1218
  msgstr ""
1219
 
1220
- #: classes/helpers/FrmAppHelper.php:2771
1221
  msgid "(no label)"
1222
  msgstr ""
1223
 
1224
- #: classes/helpers/FrmAppHelper.php:2772
1225
  msgid "Saving"
1226
  msgstr ""
1227
 
1228
- #: classes/helpers/FrmAppHelper.php:2773
1229
  msgid "Saved"
1230
  msgstr ""
1231
 
1232
- #: classes/helpers/FrmAppHelper.php:2774
1233
  msgid "OK"
1234
  msgstr ""
1235
 
1236
- #: classes/helpers/FrmAppHelper.php:2775
1237
  #: classes/views/frm-forms/new-form-overlay.php:33
1238
  #: classes/views/frm-forms/new-form-overlay.php:93
1239
  #: classes/views/frm-forms/new-form-overlay.php:102
@@ -1246,428 +1246,428 @@ msgstr ""
1246
  msgid "Cancel"
1247
  msgstr ""
1248
 
1249
- #: classes/helpers/FrmAppHelper.php:2776
1250
  #: classes/views/frm-fields/back-end/settings.php:280
1251
  msgid "Default"
1252
  msgstr ""
1253
 
1254
- #: classes/helpers/FrmAppHelper.php:2777
1255
  msgid "Clear default value when typing"
1256
  msgstr ""
1257
 
1258
- #: classes/helpers/FrmAppHelper.php:2778
1259
  msgid "Do not clear default value when typing"
1260
  msgstr ""
1261
 
1262
- #: classes/helpers/FrmAppHelper.php:2779
1263
  msgid "Default value will pass form validation"
1264
  msgstr ""
1265
 
1266
- #: classes/helpers/FrmAppHelper.php:2780
1267
  msgid "Default value will NOT pass form validation"
1268
  msgstr ""
1269
 
1270
- #: classes/helpers/FrmAppHelper.php:2781
1271
  #: classes/helpers/FrmListHelper.php:412
1272
  #: js/formidable_admin.js:4066
1273
  msgid "Heads up"
1274
  msgstr ""
1275
 
1276
- #: classes/helpers/FrmAppHelper.php:2782
1277
  #: classes/views/shared/confirm-overlay.php:15
1278
  #: classes/views/shared/info-overlay.php:15
1279
  msgid "Are you sure?"
1280
  msgstr ""
1281
 
1282
- #: classes/helpers/FrmAppHelper.php:2783
1283
  msgid "Are you sure you want to delete this field and all data associated with it?"
1284
  msgstr ""
1285
 
1286
- #: classes/helpers/FrmAppHelper.php:2784
1287
  msgid "All fields inside this Section will be deleted along with their data. Are you sure you want to delete this group of fields?"
1288
  msgstr ""
1289
 
1290
- #: classes/helpers/FrmAppHelper.php:2785
1291
  msgid "Warning: If you have entries with multiple rows, all but the first row will be lost."
1292
  msgstr ""
1293
 
1294
- #: classes/helpers/FrmAppHelper.php:2787
1295
  #: classes/helpers/FrmFieldsHelper.php:284
1296
  msgid "The entered values do not match"
1297
  msgstr ""
1298
 
1299
- #: classes/helpers/FrmAppHelper.php:2788
1300
  msgid "Enter Email"
1301
  msgstr ""
1302
 
1303
- #: classes/helpers/FrmAppHelper.php:2789
1304
  msgid "Confirm Email"
1305
  msgstr ""
1306
 
1307
- #: classes/helpers/FrmAppHelper.php:2790
1308
  #: classes/views/shared/mb_adv_info.php:166
1309
  msgid "Conditional content here"
1310
  msgstr ""
1311
 
1312
- #: classes/helpers/FrmAppHelper.php:2791
1313
  #: classes/helpers/FrmFieldsHelper.php:456
1314
  #: classes/helpers/FrmFieldsHelper.php:457
1315
  msgid "New Option"
1316
  msgstr ""
1317
 
1318
- #: classes/helpers/FrmAppHelper.php:2792
1319
  msgid "In certain browsers (e.g. Firefox) text will not display correctly if the field height is too small relative to the field padding and text size. Please increase your field height or decrease your field padding."
1320
  msgstr ""
1321
 
1322
- #: classes/helpers/FrmAppHelper.php:2793
1323
  msgid "Enter Password"
1324
  msgstr ""
1325
 
1326
- #: classes/helpers/FrmAppHelper.php:2794
1327
  msgid "Confirm Password"
1328
  msgstr ""
1329
 
1330
- #: classes/helpers/FrmAppHelper.php:2795
1331
  msgid "Import Complete"
1332
  msgstr ""
1333
 
1334
- #: classes/helpers/FrmAppHelper.php:2797
1335
  msgid "Warning: There is no way to retrieve unsaved entries."
1336
  msgstr ""
1337
 
1338
- #: classes/helpers/FrmAppHelper.php:2798
1339
  msgid "Private"
1340
  msgstr ""
1341
 
1342
- #: classes/helpers/FrmAppHelper.php:2801
1343
  msgid "No new licenses were found"
1344
  msgstr ""
1345
 
1346
- #: classes/helpers/FrmAppHelper.php:2802
1347
  msgid "This calculation has at least one unmatched ( ) { } [ ]."
1348
  msgstr ""
1349
 
1350
- #: classes/helpers/FrmAppHelper.php:2803
1351
  msgid "This calculation may have shortcodes that work in Views but not forms."
1352
  msgstr ""
1353
 
1354
- #: classes/helpers/FrmAppHelper.php:2804
1355
  msgid "This calculation may have shortcodes that work in text calculations but not numeric calculations."
1356
  msgstr ""
1357
 
1358
- #: classes/helpers/FrmAppHelper.php:2805
1359
  msgid "This form action is limited to one per form. Please edit the existing form action."
1360
  msgstr ""
1361
 
1362
  #. Translators: %s is the name of a Detail Page Slug that is a reserved word.
1363
- #: classes/helpers/FrmAppHelper.php:2808
1364
  msgid "The Detail Page Slug \"%s\" is reserved by WordPress. This may cause problems. Is this intentional?"
1365
  msgstr ""
1366
 
1367
  #. Translators: %s is the name of a parameter that is a reserved word. More than one word could be listed here, though that would not be common.
1368
- #: classes/helpers/FrmAppHelper.php:2810
1369
  msgid "The parameter \"%s\" is reserved by WordPress. This may cause problems when included in the URL. Is this intentional? "
1370
  msgstr ""
1371
 
1372
- #: classes/helpers/FrmAppHelper.php:2811
1373
  #: classes/helpers/FrmFormsHelper.php:1543
1374
  msgid "See the list of reserved words in WordPress."
1375
  msgstr ""
1376
 
1377
- #: classes/helpers/FrmAppHelper.php:2812
1378
  msgid "Please enter a Repeat Limit that is greater than 1."
1379
  msgstr ""
1380
 
1381
- #: classes/helpers/FrmAppHelper.php:2813
1382
  msgid "Please select a limit between 0 and 200."
1383
  msgstr ""
1384
 
1385
- #: classes/helpers/FrmAppHelper.php:2816
1386
  #: classes/views/shared/mb_adv_info.php:113
1387
  #: classes/views/shared/mb_adv_info.php:127
1388
  msgid "Select a Field"
1389
  msgstr ""
1390
 
1391
- #: classes/helpers/FrmAppHelper.php:2817
1392
  #: classes/helpers/FrmListHelper.php:262
1393
  msgid "No items found."
1394
  msgstr ""
1395
 
1396
- #: classes/helpers/FrmAppHelper.php:2867
1397
  msgid "You are running an outdated version of Formidable. This plugin may not work correctly if you do not update Formidable."
1398
  msgstr ""
1399
 
1400
- #: classes/helpers/FrmAppHelper.php:2894
1401
  msgid "You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro."
1402
  msgstr ""
1403
 
1404
- #: classes/helpers/FrmAppHelper.php:2922
1405
  msgid "The version of PHP on your server is too low. If this is not corrected, you may see issues with Formidable Forms. Please contact your web host and ask to be updated to PHP 7.0+."
1406
  msgstr ""
1407
 
1408
- #: classes/helpers/FrmAppHelper.php:2928
1409
  msgid "You are using an outdated browser that is not compatible with Formidable Forms. Please update to a more current browser (we recommend Chrome)."
1410
  msgstr ""
1411
 
1412
- #: classes/helpers/FrmAppHelper.php:2942
1413
  msgid "English"
1414
  msgstr ""
1415
 
1416
- #: classes/helpers/FrmAppHelper.php:2943
1417
  msgid "Afrikaans"
1418
  msgstr ""
1419
 
1420
- #: classes/helpers/FrmAppHelper.php:2944
1421
  msgid "Albanian"
1422
  msgstr ""
1423
 
1424
- #: classes/helpers/FrmAppHelper.php:2945
1425
  msgid "Arabic"
1426
  msgstr ""
1427
 
1428
- #: classes/helpers/FrmAppHelper.php:2946
1429
  msgid "Armenian"
1430
  msgstr ""
1431
 
1432
- #: classes/helpers/FrmAppHelper.php:2947
1433
  msgid "Azerbaijani"
1434
  msgstr ""
1435
 
1436
- #: classes/helpers/FrmAppHelper.php:2948
1437
  msgid "Basque"
1438
  msgstr ""
1439
 
1440
- #: classes/helpers/FrmAppHelper.php:2949
1441
  msgid "Bosnian"
1442
  msgstr ""
1443
 
1444
- #: classes/helpers/FrmAppHelper.php:2950
1445
  msgid "Bulgarian"
1446
  msgstr ""
1447
 
1448
- #: classes/helpers/FrmAppHelper.php:2951
1449
  msgid "Catalan"
1450
  msgstr ""
1451
 
1452
- #: classes/helpers/FrmAppHelper.php:2952
1453
  msgid "Chinese Hong Kong"
1454
  msgstr ""
1455
 
1456
- #: classes/helpers/FrmAppHelper.php:2953
1457
  msgid "Chinese Simplified"
1458
  msgstr ""
1459
 
1460
- #: classes/helpers/FrmAppHelper.php:2954
1461
  msgid "Chinese Traditional"
1462
  msgstr ""
1463
 
1464
- #: classes/helpers/FrmAppHelper.php:2955
1465
  msgid "Croatian"
1466
  msgstr ""
1467
 
1468
- #: classes/helpers/FrmAppHelper.php:2956
1469
  msgid "Czech"
1470
  msgstr ""
1471
 
1472
- #: classes/helpers/FrmAppHelper.php:2957
1473
  msgid "Danish"
1474
  msgstr ""
1475
 
1476
- #: classes/helpers/FrmAppHelper.php:2958
1477
  msgid "Dutch"
1478
  msgstr ""
1479
 
1480
- #: classes/helpers/FrmAppHelper.php:2959
1481
  msgid "English/UK"
1482
  msgstr ""
1483
 
1484
- #: classes/helpers/FrmAppHelper.php:2960
1485
  msgid "Esperanto"
1486
  msgstr ""
1487
 
1488
- #: classes/helpers/FrmAppHelper.php:2961
1489
  msgid "Estonian"
1490
  msgstr ""
1491
 
1492
- #: classes/helpers/FrmAppHelper.php:2962
1493
  msgid "Faroese"
1494
  msgstr ""
1495
 
1496
- #: classes/helpers/FrmAppHelper.php:2963
1497
  msgid "Farsi/Persian"
1498
  msgstr ""
1499
 
1500
- #: classes/helpers/FrmAppHelper.php:2964
1501
  msgid "Filipino"
1502
  msgstr ""
1503
 
1504
- #: classes/helpers/FrmAppHelper.php:2965
1505
  msgid "Finnish"
1506
  msgstr ""
1507
 
1508
- #: classes/helpers/FrmAppHelper.php:2966
1509
  msgid "French"
1510
  msgstr ""
1511
 
1512
- #: classes/helpers/FrmAppHelper.php:2967
1513
  msgid "French/Canadian"
1514
  msgstr ""
1515
 
1516
- #: classes/helpers/FrmAppHelper.php:2968
1517
  msgid "French/Swiss"
1518
  msgstr ""
1519
 
1520
- #: classes/helpers/FrmAppHelper.php:2969
1521
  msgid "German"
1522
  msgstr ""
1523
 
1524
- #: classes/helpers/FrmAppHelper.php:2970
1525
  msgid "German/Austria"
1526
  msgstr ""
1527
 
1528
- #: classes/helpers/FrmAppHelper.php:2971
1529
  msgid "German/Switzerland"
1530
  msgstr ""
1531
 
1532
- #: classes/helpers/FrmAppHelper.php:2972
1533
  msgid "Greek"
1534
  msgstr ""
1535
 
1536
- #: classes/helpers/FrmAppHelper.php:2973
1537
- #: classes/helpers/FrmAppHelper.php:2974
1538
  msgid "Hebrew"
1539
  msgstr ""
1540
 
1541
- #: classes/helpers/FrmAppHelper.php:2975
1542
  msgid "Hindi"
1543
  msgstr ""
1544
 
1545
- #: classes/helpers/FrmAppHelper.php:2976
1546
  msgid "Hungarian"
1547
  msgstr ""
1548
 
1549
- #: classes/helpers/FrmAppHelper.php:2977
1550
  msgid "Icelandic"
1551
  msgstr ""
1552
 
1553
- #: classes/helpers/FrmAppHelper.php:2978
1554
  msgid "Indonesian"
1555
  msgstr ""
1556
 
1557
- #: classes/helpers/FrmAppHelper.php:2979
1558
  msgid "Italian"
1559
  msgstr ""
1560
 
1561
- #: classes/helpers/FrmAppHelper.php:2980
1562
  msgid "Japanese"
1563
  msgstr ""
1564
 
1565
- #: classes/helpers/FrmAppHelper.php:2981
1566
  msgid "Korean"
1567
  msgstr ""
1568
 
1569
- #: classes/helpers/FrmAppHelper.php:2982
1570
  msgid "Latvian"
1571
  msgstr ""
1572
 
1573
- #: classes/helpers/FrmAppHelper.php:2983
1574
  msgid "Lithuanian"
1575
  msgstr ""
1576
 
1577
- #: classes/helpers/FrmAppHelper.php:2984
1578
  msgid "Malaysian"
1579
  msgstr ""
1580
 
1581
- #: classes/helpers/FrmAppHelper.php:2985
1582
  msgid "Norwegian"
1583
  msgstr ""
1584
 
1585
- #: classes/helpers/FrmAppHelper.php:2986
1586
  msgid "Polish"
1587
  msgstr ""
1588
 
1589
- #: classes/helpers/FrmAppHelper.php:2987
1590
  msgid "Portuguese"
1591
  msgstr ""
1592
 
1593
- #: classes/helpers/FrmAppHelper.php:2988
1594
  msgid "Portuguese/Brazilian"
1595
  msgstr ""
1596
 
1597
- #: classes/helpers/FrmAppHelper.php:2989
1598
  msgid "Portuguese/Portugal"
1599
  msgstr ""
1600
 
1601
- #: classes/helpers/FrmAppHelper.php:2990
1602
  msgid "Romanian"
1603
  msgstr ""
1604
 
1605
- #: classes/helpers/FrmAppHelper.php:2991
1606
  msgid "Russian"
1607
  msgstr ""
1608
 
1609
- #: classes/helpers/FrmAppHelper.php:2992
1610
- #: classes/helpers/FrmAppHelper.php:2993
1611
  msgid "Serbian"
1612
  msgstr ""
1613
 
1614
- #: classes/helpers/FrmAppHelper.php:2994
1615
  msgid "Slovak"
1616
  msgstr ""
1617
 
1618
- #: classes/helpers/FrmAppHelper.php:2995
1619
  msgid "Slovenian"
1620
  msgstr ""
1621
 
1622
- #: classes/helpers/FrmAppHelper.php:2996
1623
  msgid "Spanish"
1624
  msgstr ""
1625
 
1626
- #: classes/helpers/FrmAppHelper.php:2997
1627
  msgid "Spanish/Latin America"
1628
  msgstr ""
1629
 
1630
- #: classes/helpers/FrmAppHelper.php:2998
1631
  msgid "Swedish"
1632
  msgstr ""
1633
 
1634
- #: classes/helpers/FrmAppHelper.php:2999
1635
  msgid "Tamil"
1636
  msgstr ""
1637
 
1638
- #: classes/helpers/FrmAppHelper.php:3000
1639
  msgid "Thai"
1640
  msgstr ""
1641
 
1642
- #: classes/helpers/FrmAppHelper.php:3001
1643
  msgid "Turkish"
1644
  msgstr ""
1645
 
1646
- #: classes/helpers/FrmAppHelper.php:3002
1647
  msgid "Ukrainian"
1648
  msgstr ""
1649
 
1650
- #: classes/helpers/FrmAppHelper.php:3003
1651
  msgid "Vietnamese"
1652
  msgstr ""
1653
 
1654
- #: classes/helpers/FrmAppHelper.php:3325
1655
  msgid "Form Landing Pages"
1656
  msgstr ""
1657
 
1658
- #: classes/helpers/FrmAppHelper.php:3326
1659
  msgid "Easily manage a landing page for your form. Upgrade to get form landing pages."
1660
  msgstr ""
1661
 
1662
- #: classes/helpers/FrmAppHelper.php:3427
1663
  msgid "Your account has expired"
1664
  msgstr ""
1665
 
1666
- #: classes/helpers/FrmAppHelper.php:3430
1667
  msgid "Renew Now"
1668
  msgstr ""
1669
 
1670
- #: classes/helpers/FrmAppHelper.php:3446
1671
  msgid "NEW"
1672
  msgstr ""
1673
 
@@ -3467,10 +3467,10 @@ msgstr ""
3467
  #: classes/helpers/FrmTipsHelper.php:91
3468
  #: classes/helpers/FrmTipsHelper.php:153
3469
  #: classes/helpers/FrmTipsHelper.php:161
3470
- #: classes/helpers/FrmTipsHelper.php:240
3471
- #: classes/helpers/FrmTipsHelper.php:248
3472
- #: classes/helpers/FrmTipsHelper.php:271
3473
- #: classes/helpers/FrmTipsHelper.php:295
3474
  msgid "Upgrade to Pro."
3475
  msgstr ""
3476
 
@@ -3507,7 +3507,7 @@ msgid "Fill out forms automatically!"
3507
  msgstr ""
3508
 
3509
  #: classes/helpers/FrmTipsHelper.php:113
3510
- #: classes/helpers/FrmTipsHelper.php:278
3511
  msgid "A site with dynamic, user-generated content is within reach."
3512
  msgstr ""
3513
 
@@ -3600,63 +3600,63 @@ msgstr ""
3600
  msgid "Send an SMS message when a form is submitted."
3601
  msgstr ""
3602
 
3603
- #: classes/helpers/FrmTipsHelper.php:231
3604
  msgid "Make your sidebar and footer forms stand out."
3605
  msgstr ""
3606
 
3607
- #: classes/helpers/FrmTipsHelper.php:232
3608
  msgid "Use multiple style templates."
3609
  msgstr ""
3610
 
3611
- #: classes/helpers/FrmTipsHelper.php:239
3612
  msgid "Want to add a background image?"
3613
  msgstr ""
3614
 
3615
- #: classes/helpers/FrmTipsHelper.php:247
3616
- msgid "Want to set a color with an alpha slider?"
3617
  msgstr ""
3618
 
3619
- #: classes/helpers/FrmTipsHelper.php:262
3620
  msgid "Want to edit form submissions?"
3621
  msgstr ""
3622
 
3623
- #: classes/helpers/FrmTipsHelper.php:263
3624
  msgid "Add entry management."
3625
  msgstr ""
3626
 
3627
- #: classes/helpers/FrmTipsHelper.php:270
3628
  msgid "Want to search submitted entries?"
3629
  msgstr ""
3630
 
3631
- #: classes/helpers/FrmTipsHelper.php:279
3632
  msgid "Display form data with Views."
3633
  msgstr ""
3634
 
3635
- #: classes/helpers/FrmTipsHelper.php:294
3636
  msgid "Want to import entries into your forms?"
3637
  msgstr ""
3638
 
3639
- #: classes/helpers/FrmTipsHelper.php:309
3640
  msgid "Looking for more ways to get professional results?"
3641
  msgstr ""
3642
 
3643
- #: classes/helpers/FrmTipsHelper.php:310
3644
  msgid "Take your forms to the next level."
3645
  msgstr ""
3646
 
3647
- #: classes/helpers/FrmTipsHelper.php:317
3648
  msgid "Increase conversions in long forms."
3649
  msgstr ""
3650
 
3651
- #: classes/helpers/FrmTipsHelper.php:318
3652
  msgid "Add conditional logic, page breaks, and section headings."
3653
  msgstr ""
3654
 
3655
- #: classes/helpers/FrmTipsHelper.php:325
3656
  msgid "Automate your business and increase revenue."
3657
  msgstr ""
3658
 
3659
- #: classes/helpers/FrmTipsHelper.php:326
3660
  msgid "Collect instant payments, and send leads to MailChimp."
3661
  msgstr ""
3662
 
@@ -4348,6 +4348,7 @@ msgid "Looks like you may not have a current subscription for this solution. Ple
4348
  msgstr ""
4349
 
4350
  #: classes/models/FrmStyle.php:27
 
4351
  msgid "New Style"
4352
  msgstr ""
4353
 
@@ -4534,7 +4535,7 @@ msgstr ""
4534
  #: classes/views/frm-fields/back-end/inline-modal.php:7
4535
  #: classes/views/frm-fields/back-end/inline-modal.php:8
4536
  #: classes/views/shared/admin-header.php:19
4537
- #: js/formidable_admin.js:7819
4538
  msgid "Close"
4539
  msgstr ""
4540
 
@@ -4772,12 +4773,12 @@ msgstr ""
4772
 
4773
  #. translators: %s: Feature name
4774
  #: classes/views/frm-fields/back-end/smart-values.php:10
4775
- #: classes/views/shared/upgrade_overlay.php:41
4776
  msgid "%s are not available on your plan. Did you know you can upgrade to PRO to unlock more awesome features?"
4777
  msgstr ""
4778
 
4779
  #: classes/views/frm-fields/back-end/smart-values.php:20
4780
- #: classes/views/shared/upgrade_overlay.php:71
4781
  msgid "Already purchased?"
4782
  msgstr ""
4783
 
@@ -4826,6 +4827,7 @@ msgid "Conditional emails"
4826
  msgstr ""
4827
 
4828
  #: classes/views/frm-form-actions/form_action.php:21
 
4829
  #: js/formidable_admin.js:2068
4830
  msgid "Duplicate"
4831
  msgstr ""
@@ -5746,17 +5748,17 @@ msgid "Click to Insert"
5746
  msgstr ""
5747
 
5748
  #: classes/views/shared/reports-info.php:18
5749
- msgid "View reports"
5750
- msgstr ""
5751
-
5752
- #: classes/views/shared/reports-info.php:19
5753
  msgid "Get Live Graphs and Reports"
5754
  msgstr ""
5755
 
5756
- #: classes/views/shared/reports-info.php:21
5757
  msgid "Get more insight for surveys, polls, daily contacts, and more."
5758
  msgstr ""
5759
 
 
 
 
 
5760
  #: classes/views/shared/review.php:11
5761
  msgid "Are you enjoying Formidable Forms?"
5762
  msgstr ""
@@ -5785,23 +5787,23 @@ msgstr ""
5785
  msgid "Sorry to hear you aren't enjoying building with Formidable. We would love a chance to improve. Could you take a minute and let us know what we can do better?"
5786
  msgstr ""
5787
 
5788
- #. translators: %s: Feature name
5789
  #: classes/views/shared/upgrade_overlay.php:19
5790
- msgid "%s are not installed"
5791
  msgstr ""
5792
 
5793
- #: classes/views/shared/upgrade_overlay.php:27
5794
  msgid "That add-on is not installed. Would you like to install it now?"
5795
  msgstr ""
5796
 
5797
  #. translators: %s: Feature name
5798
- #: classes/views/shared/upgrade_overlay.php:38
5799
  msgid "%s are not available on your plan. Please upgrade or renew your license to unlock more awesome features."
5800
  msgstr ""
5801
 
5802
  #. translators: %s: Plan name
5803
- #: classes/views/shared/upgrade_overlay.php:53
5804
- #: classes/views/shared/upgrade_overlay.php:63
5805
  msgid "Upgrade to %s"
5806
  msgstr ""
5807
 
@@ -6200,6 +6202,14 @@ msgstr ""
6200
  msgid "SAMPLE:"
6201
  msgstr ""
6202
 
 
 
 
 
 
 
 
 
6203
  #: classes/views/welcome/show.php:20
6204
  msgid "Welcome to Formidable Forms!"
6205
  msgstr ""
@@ -6531,14 +6541,14 @@ msgstr ""
6531
  msgid "Are you sure you want to delete these %1$s selected fields?"
6532
  msgstr ""
6533
 
6534
- #: js/formidable_admin.js:7151
6535
  msgid "Ready Made Solution"
6536
  msgstr ""
6537
 
6538
- #: js/formidable_admin.js:7154
6539
  msgid "Check all applications"
6540
  msgstr ""
6541
 
6542
- #: js/formidable_admin.js:7811
6543
  msgid "Save and Reload"
6544
  msgstr ""
2
  # This file is distributed under the same license as the Formidable Forms plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Formidable Forms 5.4.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/formidable\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-07-07T16:22:17+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
+ "X-Generator: WP-CLI 2.6.0\n"
15
  "X-Domain: formidable\n"
16
 
17
  #: js/src/common/components/itemselect.js:26
153
  msgstr ""
154
 
155
  #: classes/controllers/FrmAddonsController.php:638
156
+ #: classes/helpers/FrmAppHelper.php:2819
157
  msgid "Active"
158
  msgstr ""
159
 
181
  #: classes/controllers/FrmAddonsController.php:1198
182
  #: classes/controllers/FrmWelcomeController.php:141
183
  #: classes/views/frm-forms/new-form-overlay.php:105
184
+ #: classes/views/shared/reports-info.php:23
185
  #: js/admin/applications.js:390
186
  msgid "Upgrade Now"
187
  msgstr ""
233
  msgstr ""
234
 
235
  #: classes/controllers/FrmEntriesController.php:79
236
+ #: classes/controllers/FrmFormsController.php:1396
237
  #: classes/views/frm-entries/form.php:63
238
  #: classes/views/frm-entries/sidebar-shared.php:57
239
  msgid "Entry Key"
510
  msgid "Allow editing, protect forms and files, limit entries, and save drafts. Upgrade to get form and entry permissions."
511
  msgstr ""
512
 
513
+ #: classes/controllers/FrmFormsController.php:1140
514
  msgid "Form Scheduling"
515
  msgstr ""
516
 
517
+ #: classes/controllers/FrmFormsController.php:1145
518
  msgid "Form scheduling settings"
519
  msgstr ""
520
 
521
+ #: classes/controllers/FrmFormsController.php:1150
522
  msgid "Styling & Buttons"
523
  msgstr ""
524
 
525
+ #: classes/controllers/FrmFormsController.php:1156
526
  msgid "Form Landing Page"
527
  msgstr ""
528
 
529
+ #: classes/controllers/FrmFormsController.php:1162
530
+ #: classes/controllers/FrmFormsController.php:1168
531
  msgid "Conversational Forms"
532
  msgstr ""
533
 
534
+ #: classes/controllers/FrmFormsController.php:1169
535
  msgid "Ask one question at a time for automated conversations."
536
  msgstr ""
537
 
538
+ #: classes/controllers/FrmFormsController.php:1175
539
  msgid "Customize HTML"
540
  msgstr ""
541
 
542
+ #: classes/controllers/FrmFormsController.php:1311
543
  msgid "Customize field values with the following parameters."
544
  msgstr ""
545
 
546
+ #: classes/controllers/FrmFormsController.php:1349
547
  msgid "Separator"
548
  msgstr ""
549
 
550
+ #: classes/controllers/FrmFormsController.php:1350
551
  msgid "Use a different separator for checkbox fields"
552
  msgstr ""
553
 
554
+ #: classes/controllers/FrmFormsController.php:1353
555
  msgid "Date Format"
556
  msgstr ""
557
 
558
+ #: classes/controllers/FrmFormsController.php:1356
559
  #: classes/views/frm-fields/back-end/settings.php:27
560
  msgid "Field Label"
561
  msgstr ""
562
 
563
+ #: classes/controllers/FrmFormsController.php:1359
564
  msgid "No Auto P"
565
  msgstr ""
566
 
567
+ #: classes/controllers/FrmFormsController.php:1360
568
  msgid "Do not automatically add any paragraphs or line breaks"
569
  msgstr ""
570
 
571
+ #: classes/controllers/FrmFormsController.php:1375
572
  #: classes/models/FrmField.php:62
573
  msgid "User ID"
574
  msgstr ""
575
 
576
+ #: classes/controllers/FrmFormsController.php:1376
577
  msgid "First Name"
578
  msgstr ""
579
 
580
+ #: classes/controllers/FrmFormsController.php:1377
581
  msgid "Last Name"
582
  msgstr ""
583
 
584
+ #: classes/controllers/FrmFormsController.php:1378
585
  msgid "Display Name"
586
  msgstr ""
587
 
588
+ #: classes/controllers/FrmFormsController.php:1379
589
  msgid "User Login"
590
  msgstr ""
591
 
592
+ #: classes/controllers/FrmFormsController.php:1380
593
  #: classes/models/FrmField.php:34
594
  msgid "Email"
595
  msgstr ""
596
 
597
+ #: classes/controllers/FrmFormsController.php:1381
598
  msgid "Avatar"
599
  msgstr ""
600
 
601
+ #: classes/controllers/FrmFormsController.php:1382
602
  msgid "Author Link"
603
  msgstr ""
604
 
605
+ #: classes/controllers/FrmFormsController.php:1395
606
  #: classes/views/frm-entries/sidebar-shared.php:51
607
  msgid "Entry ID"
608
  msgstr ""
609
 
610
+ #: classes/controllers/FrmFormsController.php:1397
611
  msgid "Post ID"
612
  msgstr ""
613
 
614
+ #: classes/controllers/FrmFormsController.php:1398
615
  msgid "User IP"
616
  msgstr ""
617
 
618
+ #: classes/controllers/FrmFormsController.php:1399
619
  msgid "Entry created"
620
  msgstr ""
621
 
622
+ #: classes/controllers/FrmFormsController.php:1400
623
  msgid "Entry updated"
624
  msgstr ""
625
 
626
+ #: classes/controllers/FrmFormsController.php:1402
627
  msgid "Site URL"
628
  msgstr ""
629
 
630
+ #: classes/controllers/FrmFormsController.php:1403
631
  msgid "Site Name"
632
  msgstr ""
633
 
634
+ #: classes/controllers/FrmFormsController.php:1411
635
  msgid "Default Msg"
636
  msgstr ""
637
 
638
+ #: classes/controllers/FrmFormsController.php:1412
639
  msgid "Default HTML"
640
  msgstr ""
641
 
642
+ #: classes/controllers/FrmFormsController.php:1413
643
  msgid "Default Plain"
644
  msgstr ""
645
 
646
+ #: classes/controllers/FrmFormsController.php:1516
647
  msgid "No forms were specified"
648
  msgstr ""
649
 
650
+ #: classes/controllers/FrmFormsController.php:1630
651
  msgid "Abnormal HTML characters prevented your form from saving correctly"
652
  msgstr ""
653
 
654
+ #: classes/controllers/FrmFormsController.php:1745
655
  #: classes/helpers/FrmFormsHelper.php:57
656
  #: classes/helpers/FrmFormsHelper.php:112
657
  #: classes/helpers/FrmFormsHelper.php:166
664
  msgid "(no title)"
665
  msgstr ""
666
 
667
+ #: classes/controllers/FrmFormsController.php:1811
668
+ #: classes/controllers/FrmFormsController.php:1833
669
  msgid "Please select a valid form"
670
  msgstr ""
671
 
672
+ #: classes/controllers/FrmFormsController.php:2067
673
  msgid "Please wait while you are redirected."
674
  msgstr ""
675
 
676
  #. translators: %1$s: Start link HTML, %2$s: End link HTML
677
+ #: classes/controllers/FrmFormsController.php:2102
678
  msgid "%1$sClick here%2$s if you are not automatically redirected."
679
  msgstr ""
680
 
681
+ #: classes/controllers/FrmFormsController.php:2462
682
  #: classes/helpers/FrmAppHelper.php:1359
683
  #: classes/views/frm-forms/settings-advanced.php:93
684
  msgid "Select a Page"
685
  msgstr ""
686
 
687
  #: classes/controllers/FrmInboxController.php:16
688
+ #: classes/controllers/FrmSettingsController.php:71
689
  #: classes/views/inbox/list.php:11
690
  msgid "Inbox"
691
  msgstr ""
727
  msgid "White labeling options"
728
  msgstr ""
729
 
730
+ #: classes/controllers/FrmSettingsController.php:76
731
  msgid "Inbox settings"
732
  msgstr ""
733
 
734
+ #: classes/controllers/FrmSettingsController.php:97
735
  msgid "Plugin Licenses"
736
  msgstr ""
737
 
738
+ #: classes/controllers/FrmSettingsController.php:106
739
  #: classes/views/frm-forms/settings-advanced.php:176
740
  msgid "Miscellaneous"
741
  msgstr ""
742
 
743
+ #: classes/controllers/FrmSettingsController.php:229
744
+ #: classes/controllers/FrmSettingsController.php:232
745
  msgid "Settings Saved"
746
  msgstr ""
747
 
748
+ #: classes/controllers/FrmSettingsController.php:251
749
  #: classes/helpers/FrmStylesHelper.php:73
750
  #: classes/views/frm-forms/add_field_links.php:173
751
  #: classes/views/frm-forms/edit.php:28
756
  msgid "Update"
757
  msgstr ""
758
 
759
+ #: classes/controllers/FrmSettingsController.php:278
760
  msgid "Extra form features like file uploads, pagination, etc"
761
  msgstr ""
762
 
763
+ #: classes/controllers/FrmSettingsController.php:279
764
  msgid "Repeaters & cascading fields for advanced forms"
765
  msgstr ""
766
 
767
+ #: classes/controllers/FrmSettingsController.php:280
768
  msgid "Flexibly view, search, edit, and delete entries anywhere"
769
  msgstr ""
770
 
771
+ #: classes/controllers/FrmSettingsController.php:281
772
  msgid "Display entries with virtually limitless Formidable views"
773
  msgstr ""
774
 
775
+ #: classes/controllers/FrmSettingsController.php:282
776
  msgid "Create surveys & polls"
777
  msgstr ""
778
 
779
+ #: classes/controllers/FrmSettingsController.php:283
780
  msgid "WordPress user registration and login forms"
781
  msgstr ""
782
 
783
+ #: classes/controllers/FrmSettingsController.php:284
784
  msgid "Create Stripe, PayPal or Authorize.net payment forms"
785
  msgstr ""
786
 
787
+ #: classes/controllers/FrmSettingsController.php:285
788
  msgid "Powerful conditional logic for smart forms"
789
  msgstr ""
790
 
791
+ #: classes/controllers/FrmSettingsController.php:286
792
  msgid "Integrations with 1000+ marketing & payment services"
793
  msgstr ""
794
 
795
+ #: classes/controllers/FrmSettingsController.php:287
796
  msgid "Collect digital signatures"
797
  msgstr ""
798
 
799
+ #: classes/controllers/FrmSettingsController.php:288
800
  msgid "Accept user-submitted content with Post submissions"
801
  msgstr ""
802
 
803
+ #: classes/controllers/FrmSettingsController.php:289
804
  msgid "Email routing"
805
  msgstr ""
806
 
807
+ #: classes/controllers/FrmSettingsController.php:290
808
  msgid "Create calculator forms"
809
  msgstr ""
810
 
811
+ #: classes/controllers/FrmSettingsController.php:291
812
  msgid "Save draft entries and return later"
813
  msgstr ""
814
 
815
+ #: classes/controllers/FrmSettingsController.php:292
816
  msgid "Analyze form data with graphs & stats"
817
  msgstr ""
818
 
878
  msgstr ""
879
 
880
  #: classes/controllers/FrmSMTPController.php:305
881
+ #: classes/helpers/FrmAppHelper.php:2818
882
  #: classes/helpers/FrmFormMigratorsHelper.php:131
883
+ #: classes/views/shared/upgrade_overlay.php:34
884
  msgid "Install"
885
  msgstr ""
886
 
1169
  msgid "If you leave the subject blank, the default will be used: %1$s Form submitted on %2$s"
1170
  msgstr ""
1171
 
1172
+ #: classes/helpers/FrmAppHelper.php:2717
1173
+ #: classes/helpers/FrmAppHelper.php:2800
1174
  msgid "Please wait while your site updates."
1175
  msgstr ""
1176
 
1177
+ #: classes/helpers/FrmAppHelper.php:2718
1178
  msgid "Are you sure you want to deauthorize Formidable Forms on this site?"
1179
  msgstr ""
1180
 
1181
+ #: classes/helpers/FrmAppHelper.php:2723
1182
+ #: classes/helpers/FrmAppHelper.php:2752
1183
  msgid "Loading&hellip;"
1184
  msgstr ""
1185
 
1186
+ #: classes/helpers/FrmAppHelper.php:2753
1187
  msgid "Remove"
1188
  msgstr ""
1189
 
1190
+ #: classes/helpers/FrmAppHelper.php:2756
1191
  #: classes/helpers/FrmCSVExportHelper.php:348
1192
  #: classes/views/shared/mb_adv_info.php:95
1193
  msgid "ID"
1194
  msgstr ""
1195
 
1196
+ #: classes/helpers/FrmAppHelper.php:2757
1197
  msgid "No results match"
1198
  msgstr ""
1199
 
1200
+ #: classes/helpers/FrmAppHelper.php:2758
1201
  msgid "That file looks like Spam."
1202
  msgstr ""
1203
 
1204
+ #: classes/helpers/FrmAppHelper.php:2759
1205
  msgid "There is an error in the calculation in the field with key"
1206
  msgstr ""
1207
 
1208
+ #: classes/helpers/FrmAppHelper.php:2760
1209
  msgid "Please complete the preceding required fields before uploading a file."
1210
  msgstr ""
1211
 
1212
+ #: classes/helpers/FrmAppHelper.php:2773
1213
  msgid "(Click to add description)"
1214
  msgstr ""
1215
 
1216
+ #: classes/helpers/FrmAppHelper.php:2774
1217
  msgid "(Blank)"
1218
  msgstr ""
1219
 
1220
+ #: classes/helpers/FrmAppHelper.php:2775
1221
  msgid "(no label)"
1222
  msgstr ""
1223
 
1224
+ #: classes/helpers/FrmAppHelper.php:2776
1225
  msgid "Saving"
1226
  msgstr ""
1227
 
1228
+ #: classes/helpers/FrmAppHelper.php:2777
1229
  msgid "Saved"
1230
  msgstr ""
1231
 
1232
+ #: classes/helpers/FrmAppHelper.php:2778
1233
  msgid "OK"
1234
  msgstr ""
1235
 
1236
+ #: classes/helpers/FrmAppHelper.php:2779
1237
  #: classes/views/frm-forms/new-form-overlay.php:33
1238
  #: classes/views/frm-forms/new-form-overlay.php:93
1239
  #: classes/views/frm-forms/new-form-overlay.php:102
1246
  msgid "Cancel"
1247
  msgstr ""
1248
 
1249
+ #: classes/helpers/FrmAppHelper.php:2780
1250
  #: classes/views/frm-fields/back-end/settings.php:280
1251
  msgid "Default"
1252
  msgstr ""
1253
 
1254
+ #: classes/helpers/FrmAppHelper.php:2781
1255
  msgid "Clear default value when typing"
1256
  msgstr ""
1257
 
1258
+ #: classes/helpers/FrmAppHelper.php:2782
1259
  msgid "Do not clear default value when typing"
1260
  msgstr ""
1261
 
1262
+ #: classes/helpers/FrmAppHelper.php:2783
1263
  msgid "Default value will pass form validation"
1264
  msgstr ""
1265
 
1266
+ #: classes/helpers/FrmAppHelper.php:2784
1267
  msgid "Default value will NOT pass form validation"
1268
  msgstr ""
1269
 
1270
+ #: classes/helpers/FrmAppHelper.php:2785
1271
  #: classes/helpers/FrmListHelper.php:412
1272
  #: js/formidable_admin.js:4066
1273
  msgid "Heads up"
1274
  msgstr ""
1275
 
1276
+ #: classes/helpers/FrmAppHelper.php:2786
1277
  #: classes/views/shared/confirm-overlay.php:15
1278
  #: classes/views/shared/info-overlay.php:15
1279
  msgid "Are you sure?"
1280
  msgstr ""
1281
 
1282
+ #: classes/helpers/FrmAppHelper.php:2787
1283
  msgid "Are you sure you want to delete this field and all data associated with it?"
1284
  msgstr ""
1285
 
1286
+ #: classes/helpers/FrmAppHelper.php:2788
1287
  msgid "All fields inside this Section will be deleted along with their data. Are you sure you want to delete this group of fields?"
1288
  msgstr ""
1289
 
1290
+ #: classes/helpers/FrmAppHelper.php:2789
1291
  msgid "Warning: If you have entries with multiple rows, all but the first row will be lost."
1292
  msgstr ""
1293
 
1294
+ #: classes/helpers/FrmAppHelper.php:2791
1295
  #: classes/helpers/FrmFieldsHelper.php:284
1296
  msgid "The entered values do not match"
1297
  msgstr ""
1298
 
1299
+ #: classes/helpers/FrmAppHelper.php:2792
1300
  msgid "Enter Email"
1301
  msgstr ""
1302
 
1303
+ #: classes/helpers/FrmAppHelper.php:2793
1304
  msgid "Confirm Email"
1305
  msgstr ""
1306
 
1307
+ #: classes/helpers/FrmAppHelper.php:2794
1308
  #: classes/views/shared/mb_adv_info.php:166
1309
  msgid "Conditional content here"
1310
  msgstr ""
1311
 
1312
+ #: classes/helpers/FrmAppHelper.php:2795
1313
  #: classes/helpers/FrmFieldsHelper.php:456
1314
  #: classes/helpers/FrmFieldsHelper.php:457
1315
  msgid "New Option"
1316
  msgstr ""
1317
 
1318
+ #: classes/helpers/FrmAppHelper.php:2796
1319
  msgid "In certain browsers (e.g. Firefox) text will not display correctly if the field height is too small relative to the field padding and text size. Please increase your field height or decrease your field padding."
1320
  msgstr ""
1321
 
1322
+ #: classes/helpers/FrmAppHelper.php:2797
1323
  msgid "Enter Password"
1324
  msgstr ""
1325
 
1326
+ #: classes/helpers/FrmAppHelper.php:2798
1327
  msgid "Confirm Password"
1328
  msgstr ""
1329
 
1330
+ #: classes/helpers/FrmAppHelper.php:2799
1331
  msgid "Import Complete"
1332
  msgstr ""
1333
 
1334
+ #: classes/helpers/FrmAppHelper.php:2801
1335
  msgid "Warning: There is no way to retrieve unsaved entries."
1336
  msgstr ""
1337
 
1338
+ #: classes/helpers/FrmAppHelper.php:2802
1339
  msgid "Private"
1340
  msgstr ""
1341
 
1342
+ #: classes/helpers/FrmAppHelper.php:2805
1343
  msgid "No new licenses were found"
1344
  msgstr ""
1345
 
1346
+ #: classes/helpers/FrmAppHelper.php:2806
1347
  msgid "This calculation has at least one unmatched ( ) { } [ ]."
1348
  msgstr ""
1349
 
1350
+ #: classes/helpers/FrmAppHelper.php:2807
1351
  msgid "This calculation may have shortcodes that work in Views but not forms."
1352
  msgstr ""
1353
 
1354
+ #: classes/helpers/FrmAppHelper.php:2808
1355
  msgid "This calculation may have shortcodes that work in text calculations but not numeric calculations."
1356
  msgstr ""
1357
 
1358
+ #: classes/helpers/FrmAppHelper.php:2809
1359
  msgid "This form action is limited to one per form. Please edit the existing form action."
1360
  msgstr ""
1361
 
1362
  #. Translators: %s is the name of a Detail Page Slug that is a reserved word.
1363
+ #: classes/helpers/FrmAppHelper.php:2812
1364
  msgid "The Detail Page Slug \"%s\" is reserved by WordPress. This may cause problems. Is this intentional?"
1365
  msgstr ""
1366
 
1367
  #. Translators: %s is the name of a parameter that is a reserved word. More than one word could be listed here, though that would not be common.
1368
+ #: classes/helpers/FrmAppHelper.php:2814
1369
  msgid "The parameter \"%s\" is reserved by WordPress. This may cause problems when included in the URL. Is this intentional? "
1370
  msgstr ""
1371
 
1372
+ #: classes/helpers/FrmAppHelper.php:2815
1373
  #: classes/helpers/FrmFormsHelper.php:1543
1374
  msgid "See the list of reserved words in WordPress."
1375
  msgstr ""
1376
 
1377
+ #: classes/helpers/FrmAppHelper.php:2816
1378
  msgid "Please enter a Repeat Limit that is greater than 1."
1379
  msgstr ""
1380
 
1381
+ #: classes/helpers/FrmAppHelper.php:2817
1382
  msgid "Please select a limit between 0 and 200."
1383
  msgstr ""
1384
 
1385
+ #: classes/helpers/FrmAppHelper.php:2820
1386
  #: classes/views/shared/mb_adv_info.php:113
1387
  #: classes/views/shared/mb_adv_info.php:127
1388
  msgid "Select a Field"
1389
  msgstr ""
1390
 
1391
+ #: classes/helpers/FrmAppHelper.php:2821
1392
  #: classes/helpers/FrmListHelper.php:262
1393
  msgid "No items found."
1394
  msgstr ""
1395
 
1396
+ #: classes/helpers/FrmAppHelper.php:2871
1397
  msgid "You are running an outdated version of Formidable. This plugin may not work correctly if you do not update Formidable."
1398
  msgstr ""
1399
 
1400
+ #: classes/helpers/FrmAppHelper.php:2898
1401
  msgid "You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro."
1402
  msgstr ""
1403
 
1404
+ #: classes/helpers/FrmAppHelper.php:2926
1405
  msgid "The version of PHP on your server is too low. If this is not corrected, you may see issues with Formidable Forms. Please contact your web host and ask to be updated to PHP 7.0+."
1406
  msgstr ""
1407
 
1408
+ #: classes/helpers/FrmAppHelper.php:2932
1409
  msgid "You are using an outdated browser that is not compatible with Formidable Forms. Please update to a more current browser (we recommend Chrome)."
1410
  msgstr ""
1411
 
1412
+ #: classes/helpers/FrmAppHelper.php:2946
1413
  msgid "English"
1414
  msgstr ""
1415
 
1416
+ #: classes/helpers/FrmAppHelper.php:2947
1417
  msgid "Afrikaans"
1418
  msgstr ""
1419
 
1420
+ #: classes/helpers/FrmAppHelper.php:2948
1421
  msgid "Albanian"
1422
  msgstr ""
1423
 
1424
+ #: classes/helpers/FrmAppHelper.php:2949
1425
  msgid "Arabic"
1426
  msgstr ""
1427
 
1428
+ #: classes/helpers/FrmAppHelper.php:2950
1429
  msgid "Armenian"
1430
  msgstr ""
1431
 
1432
+ #: classes/helpers/FrmAppHelper.php:2951
1433
  msgid "Azerbaijani"
1434
  msgstr ""
1435
 
1436
+ #: classes/helpers/FrmAppHelper.php:2952
1437
  msgid "Basque"
1438
  msgstr ""
1439
 
1440
+ #: classes/helpers/FrmAppHelper.php:2953
1441
  msgid "Bosnian"
1442
  msgstr ""
1443
 
1444
+ #: classes/helpers/FrmAppHelper.php:2954
1445
  msgid "Bulgarian"
1446
  msgstr ""
1447
 
1448
+ #: classes/helpers/FrmAppHelper.php:2955
1449
  msgid "Catalan"
1450
  msgstr ""
1451
 
1452
+ #: classes/helpers/FrmAppHelper.php:2956
1453
  msgid "Chinese Hong Kong"
1454
  msgstr ""
1455
 
1456
+ #: classes/helpers/FrmAppHelper.php:2957
1457
  msgid "Chinese Simplified"
1458
  msgstr ""
1459
 
1460
+ #: classes/helpers/FrmAppHelper.php:2958
1461
  msgid "Chinese Traditional"
1462
  msgstr ""
1463
 
1464
+ #: classes/helpers/FrmAppHelper.php:2959
1465
  msgid "Croatian"
1466
  msgstr ""
1467
 
1468
+ #: classes/helpers/FrmAppHelper.php:2960
1469
  msgid "Czech"
1470
  msgstr ""
1471
 
1472
+ #: classes/helpers/FrmAppHelper.php:2961
1473
  msgid "Danish"
1474
  msgstr ""
1475
 
1476
+ #: classes/helpers/FrmAppHelper.php:2962
1477
  msgid "Dutch"
1478
  msgstr ""
1479
 
1480
+ #: classes/helpers/FrmAppHelper.php:2963
1481
  msgid "English/UK"
1482
  msgstr ""
1483
 
1484
+ #: classes/helpers/FrmAppHelper.php:2964
1485
  msgid "Esperanto"
1486
  msgstr ""
1487
 
1488
+ #: classes/helpers/FrmAppHelper.php:2965
1489
  msgid "Estonian"
1490
  msgstr ""
1491
 
1492
+ #: classes/helpers/FrmAppHelper.php:2966
1493
  msgid "Faroese"
1494
  msgstr ""
1495
 
1496
+ #: classes/helpers/FrmAppHelper.php:2967
1497
  msgid "Farsi/Persian"
1498
  msgstr ""
1499
 
1500
+ #: classes/helpers/FrmAppHelper.php:2968
1501
  msgid "Filipino"
1502
  msgstr ""
1503
 
1504
+ #: classes/helpers/FrmAppHelper.php:2969
1505
  msgid "Finnish"
1506
  msgstr ""
1507
 
1508
+ #: classes/helpers/FrmAppHelper.php:2970
1509
  msgid "French"
1510
  msgstr ""
1511
 
1512
+ #: classes/helpers/FrmAppHelper.php:2971
1513
  msgid "French/Canadian"
1514
  msgstr ""
1515
 
1516
+ #: classes/helpers/FrmAppHelper.php:2972
1517
  msgid "French/Swiss"
1518
  msgstr ""
1519
 
1520
+ #: classes/helpers/FrmAppHelper.php:2973
1521
  msgid "German"
1522
  msgstr ""
1523
 
1524
+ #: classes/helpers/FrmAppHelper.php:2974
1525
  msgid "German/Austria"
1526
  msgstr ""
1527
 
1528
+ #: classes/helpers/FrmAppHelper.php:2975
1529
  msgid "German/Switzerland"
1530
  msgstr ""
1531
 
1532
+ #: classes/helpers/FrmAppHelper.php:2976
1533
  msgid "Greek"
1534
  msgstr ""
1535
 
1536
+ #: classes/helpers/FrmAppHelper.php:2977
1537
+ #: classes/helpers/FrmAppHelper.php:2978
1538
  msgid "Hebrew"
1539
  msgstr ""
1540
 
1541
+ #: classes/helpers/FrmAppHelper.php:2979
1542
  msgid "Hindi"
1543
  msgstr ""
1544
 
1545
+ #: classes/helpers/FrmAppHelper.php:2980
1546
  msgid "Hungarian"
1547
  msgstr ""
1548
 
1549
+ #: classes/helpers/FrmAppHelper.php:2981
1550
  msgid "Icelandic"
1551
  msgstr ""
1552
 
1553
+ #: classes/helpers/FrmAppHelper.php:2982
1554
  msgid "Indonesian"
1555
  msgstr ""
1556
 
1557
+ #: classes/helpers/FrmAppHelper.php:2983
1558
  msgid "Italian"
1559
  msgstr ""
1560
 
1561
+ #: classes/helpers/FrmAppHelper.php:2984
1562
  msgid "Japanese"
1563
  msgstr ""
1564
 
1565
+ #: classes/helpers/FrmAppHelper.php:2985
1566
  msgid "Korean"
1567
  msgstr ""
1568
 
1569
+ #: classes/helpers/FrmAppHelper.php:2986
1570
  msgid "Latvian"
1571
  msgstr ""
1572
 
1573
+ #: classes/helpers/FrmAppHelper.php:2987
1574
  msgid "Lithuanian"
1575
  msgstr ""
1576
 
1577
+ #: classes/helpers/FrmAppHelper.php:2988
1578
  msgid "Malaysian"
1579
  msgstr ""
1580
 
1581
+ #: classes/helpers/FrmAppHelper.php:2989
1582
  msgid "Norwegian"
1583
  msgstr ""
1584
 
1585
+ #: classes/helpers/FrmAppHelper.php:2990
1586
  msgid "Polish"
1587
  msgstr ""
1588
 
1589
+ #: classes/helpers/FrmAppHelper.php:2991
1590
  msgid "Portuguese"
1591
  msgstr ""
1592
 
1593
+ #: classes/helpers/FrmAppHelper.php:2992
1594
  msgid "Portuguese/Brazilian"
1595
  msgstr ""
1596
 
1597
+ #: classes/helpers/FrmAppHelper.php:2993
1598
  msgid "Portuguese/Portugal"
1599
  msgstr ""
1600
 
1601
+ #: classes/helpers/FrmAppHelper.php:2994
1602
  msgid "Romanian"
1603
  msgstr ""
1604
 
1605
+ #: classes/helpers/FrmAppHelper.php:2995
1606
  msgid "Russian"
1607
  msgstr ""
1608
 
1609
+ #: classes/helpers/FrmAppHelper.php:2996
1610
+ #: classes/helpers/FrmAppHelper.php:2997
1611
  msgid "Serbian"
1612
  msgstr ""
1613
 
1614
+ #: classes/helpers/FrmAppHelper.php:2998
1615
  msgid "Slovak"
1616
  msgstr ""
1617
 
1618
+ #: classes/helpers/FrmAppHelper.php:2999
1619
  msgid "Slovenian"
1620
  msgstr ""
1621
 
1622
+ #: classes/helpers/FrmAppHelper.php:3000
1623
  msgid "Spanish"
1624
  msgstr ""
1625
 
1626
+ #: classes/helpers/FrmAppHelper.php:3001
1627
  msgid "Spanish/Latin America"
1628
  msgstr ""
1629
 
1630
+ #: classes/helpers/FrmAppHelper.php:3002
1631
  msgid "Swedish"
1632
  msgstr ""
1633
 
1634
+ #: classes/helpers/FrmAppHelper.php:3003
1635
  msgid "Tamil"
1636
  msgstr ""
1637
 
1638
+ #: classes/helpers/FrmAppHelper.php:3004
1639
  msgid "Thai"
1640
  msgstr ""
1641
 
1642
+ #: classes/helpers/FrmAppHelper.php:3005
1643
  msgid "Turkish"
1644
  msgstr ""
1645
 
1646
+ #: classes/helpers/FrmAppHelper.php:3006
1647
  msgid "Ukrainian"
1648
  msgstr ""
1649
 
1650
+ #: classes/helpers/FrmAppHelper.php:3007
1651
  msgid "Vietnamese"
1652
  msgstr ""
1653
 
1654
+ #: classes/helpers/FrmAppHelper.php:3329
1655
  msgid "Form Landing Pages"
1656
  msgstr ""
1657
 
1658
+ #: classes/helpers/FrmAppHelper.php:3330
1659
  msgid "Easily manage a landing page for your form. Upgrade to get form landing pages."
1660
  msgstr ""
1661
 
1662
+ #: classes/helpers/FrmAppHelper.php:3432
1663
  msgid "Your account has expired"
1664
  msgstr ""
1665
 
1666
+ #: classes/helpers/FrmAppHelper.php:3435
1667
  msgid "Renew Now"
1668
  msgstr ""
1669
 
1670
+ #: classes/helpers/FrmAppHelper.php:3451
1671
  msgid "NEW"
1672
  msgstr ""
1673
 
3467
  #: classes/helpers/FrmTipsHelper.php:91
3468
  #: classes/helpers/FrmTipsHelper.php:153
3469
  #: classes/helpers/FrmTipsHelper.php:161
3470
+ #: classes/helpers/FrmTipsHelper.php:243
3471
+ #: classes/helpers/FrmTipsHelper.php:251
3472
+ #: classes/helpers/FrmTipsHelper.php:274
3473
+ #: classes/helpers/FrmTipsHelper.php:298
3474
  msgid "Upgrade to Pro."
3475
  msgstr ""
3476
 
3507
  msgstr ""
3508
 
3509
  #: classes/helpers/FrmTipsHelper.php:113
3510
+ #: classes/helpers/FrmTipsHelper.php:281
3511
  msgid "A site with dynamic, user-generated content is within reach."
3512
  msgstr ""
3513
 
3600
  msgid "Send an SMS message when a form is submitted."
3601
  msgstr ""
3602
 
3603
+ #: classes/helpers/FrmTipsHelper.php:234
3604
  msgid "Make your sidebar and footer forms stand out."
3605
  msgstr ""
3606
 
3607
+ #: classes/helpers/FrmTipsHelper.php:235
3608
  msgid "Use multiple style templates."
3609
  msgstr ""
3610
 
3611
+ #: classes/helpers/FrmTipsHelper.php:242
3612
  msgid "Want to add a background image?"
3613
  msgstr ""
3614
 
3615
+ #: classes/helpers/FrmTipsHelper.php:250
3616
+ msgid "Want to duplicate a style?"
3617
  msgstr ""
3618
 
3619
+ #: classes/helpers/FrmTipsHelper.php:265
3620
  msgid "Want to edit form submissions?"
3621
  msgstr ""
3622
 
3623
+ #: classes/helpers/FrmTipsHelper.php:266
3624
  msgid "Add entry management."
3625
  msgstr ""
3626
 
3627
+ #: classes/helpers/FrmTipsHelper.php:273
3628
  msgid "Want to search submitted entries?"
3629
  msgstr ""
3630
 
3631
+ #: classes/helpers/FrmTipsHelper.php:282
3632
  msgid "Display form data with Views."
3633
  msgstr ""
3634
 
3635
+ #: classes/helpers/FrmTipsHelper.php:297
3636
  msgid "Want to import entries into your forms?"
3637
  msgstr ""
3638
 
3639
+ #: classes/helpers/FrmTipsHelper.php:312
3640
  msgid "Looking for more ways to get professional results?"
3641
  msgstr ""
3642
 
3643
+ #: classes/helpers/FrmTipsHelper.php:313
3644
  msgid "Take your forms to the next level."
3645
  msgstr ""
3646
 
3647
+ #: classes/helpers/FrmTipsHelper.php:320
3648
  msgid "Increase conversions in long forms."
3649
  msgstr ""
3650
 
3651
+ #: classes/helpers/FrmTipsHelper.php:321
3652
  msgid "Add conditional logic, page breaks, and section headings."
3653
  msgstr ""
3654
 
3655
+ #: classes/helpers/FrmTipsHelper.php:328
3656
  msgid "Automate your business and increase revenue."
3657
  msgstr ""
3658
 
3659
+ #: classes/helpers/FrmTipsHelper.php:329
3660
  msgid "Collect instant payments, and send leads to MailChimp."
3661
  msgstr ""
3662
 
4348
  msgstr ""
4349
 
4350
  #: classes/models/FrmStyle.php:27
4351
+ #: classes/views/styles/_upsell-multiple-styles.php:12
4352
  msgid "New Style"
4353
  msgstr ""
4354
 
4535
  #: classes/views/frm-fields/back-end/inline-modal.php:7
4536
  #: classes/views/frm-fields/back-end/inline-modal.php:8
4537
  #: classes/views/shared/admin-header.php:19
4538
+ #: js/formidable_admin.js:7963
4539
  msgid "Close"
4540
  msgstr ""
4541
 
4773
 
4774
  #. translators: %s: Feature name
4775
  #: classes/views/frm-fields/back-end/smart-values.php:10
4776
+ #: classes/views/shared/upgrade_overlay.php:43
4777
  msgid "%s are not available on your plan. Did you know you can upgrade to PRO to unlock more awesome features?"
4778
  msgstr ""
4779
 
4780
  #: classes/views/frm-fields/back-end/smart-values.php:20
4781
+ #: classes/views/shared/upgrade_overlay.php:73
4782
  msgid "Already purchased?"
4783
  msgstr ""
4784
 
4827
  msgstr ""
4828
 
4829
  #: classes/views/frm-form-actions/form_action.php:21
4830
+ #: classes/views/styles/_upsell-multiple-styles.php:15
4831
  #: js/formidable_admin.js:2068
4832
  msgid "Duplicate"
4833
  msgstr ""
5748
  msgstr ""
5749
 
5750
  #: classes/views/shared/reports-info.php:18
 
 
 
 
5751
  msgid "Get Live Graphs and Reports"
5752
  msgstr ""
5753
 
5754
+ #: classes/views/shared/reports-info.php:20
5755
  msgid "Get more insight for surveys, polls, daily contacts, and more."
5756
  msgstr ""
5757
 
5758
+ #: classes/views/shared/reports-info.php:33
5759
+ msgid "View reports"
5760
+ msgstr ""
5761
+
5762
  #: classes/views/shared/review.php:11
5763
  msgid "Are you enjoying Formidable Forms?"
5764
  msgstr ""
5787
  msgid "Sorry to hear you aren't enjoying building with Formidable. We would love a chance to improve. Could you take a minute and let us know what we can do better?"
5788
  msgstr ""
5789
 
5790
+ #. translators: %$1s: Feature name, %$2s: open span tag, %$3s: close span tag.
5791
  #: classes/views/shared/upgrade_overlay.php:19
5792
+ msgid "%1$s %2$sare not installed%3$s"
5793
  msgstr ""
5794
 
5795
+ #: classes/views/shared/upgrade_overlay.php:29
5796
  msgid "That add-on is not installed. Would you like to install it now?"
5797
  msgstr ""
5798
 
5799
  #. translators: %s: Feature name
5800
+ #: classes/views/shared/upgrade_overlay.php:40
5801
  msgid "%s are not available on your plan. Please upgrade or renew your license to unlock more awesome features."
5802
  msgstr ""
5803
 
5804
  #. translators: %s: Plan name
5805
+ #: classes/views/shared/upgrade_overlay.php:55
5806
+ #: classes/views/shared/upgrade_overlay.php:65
5807
  msgid "Upgrade to %s"
5808
  msgstr ""
5809
 
6202
  msgid "SAMPLE:"
6203
  msgstr ""
6204
 
6205
+ #: classes/views/styles/_upsell-multiple-styles.php:7
6206
+ msgid "You are currently limited to 1 style template"
6207
+ msgstr ""
6208
+
6209
+ #: classes/views/styles/_upsell-multiple-styles.php:8
6210
+ msgid "Upgrade to create and manage as many form styles as you need."
6211
+ msgstr ""
6212
+
6213
  #: classes/views/welcome/show.php:20
6214
  msgid "Welcome to Formidable Forms!"
6215
  msgstr ""
6541
  msgid "Are you sure you want to delete these %1$s selected fields?"
6542
  msgstr ""
6543
 
6544
+ #: js/formidable_admin.js:7295
6545
  msgid "Ready Made Solution"
6546
  msgstr ""
6547
 
6548
+ #: js/formidable_admin.js:7298
6549
  msgid "Check all applications"
6550
  msgstr ""
6551
 
6552
+ #: js/formidable_admin.js:7955
6553
  msgid "Save and Reload"
6554
  msgstr ""
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: forms, contact form, form builder, survey, free, form maker, form creator,
5
  Requires at least: 5.2
6
  Tested up to: 6.0
7
  Requires PHP: 5.6
8
- Stable tag: 5.4
9
 
10
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quizzes, and more.
11
 
@@ -438,6 +438,11 @@ Using our Zapier integration, you can easily connect Formidable with over 1000+
438
  See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zapier Integrations</a>.
439
 
440
  == Changelog ==
 
 
 
 
 
441
  = 5.4 =
442
  * New: Added a new frm_new_form_values filter for customizing the default values of new forms.
443
  * New: Added a new frm_ajax_loaded_field event for listening for loaded fields loaded via AJAX on long forms in the form builder.
@@ -450,11 +455,4 @@ See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zap
450
  = 5.3.2 =
451
  * New: RGB and RGBA color values will now be fixed automatically on save if incomplete to avoid broken CSS.
452
 
453
- = 5.3.1 =
454
- * New: Unlocked application templates now appear at the top of the list of templates.
455
- * New: Improved the responsiveness of the cards on the Application dashboard page.
456
- * Fix: Prevent a conflict with All in One SEO that was preventing CSS from loading at all when the only on applicable pages setting is selected.
457
- * Fix: An unexpected add new button was appearing on a few pages and has been removed.
458
- * Fix: Prevent a fatal error in PHP8 that happens on sites with an unexpected empty string gmt_offset option set.
459
-
460
  <a href="https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt">See changelog for all versions</a>
5
  Requires at least: 5.2
6
  Tested up to: 6.0
7
  Requires PHP: 5.6
8
+ Stable tag: 5.4.1
9
 
10
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quizzes, and more.
11
 
438
  See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zapier Integrations</a>.
439
 
440
  == Changelog ==
441
+ = 5.4.1 =
442
+ * New: Fields using the "Placeholder inside the field" Label Position setting will now use an animated label that moves to the top of the field when focused.
443
+ * New: Added a new frm_after_destroy_entry filter that can be used to update caching after a Formidable entry is deleted.
444
+ * Fix: An unexpected empty broken application template was appearing for expired licenses.
445
+
446
  = 5.4 =
447
  * New: Added a new frm_new_form_values filter for customizing the default values of new forms.
448
  * New: Added a new frm_ajax_loaded_field event for listening for loaded fields loaded via AJAX on long forms in the form builder.
455
  = 5.3.2 =
456
  * New: RGB and RGBA color values will now be fixed automatically on save if incomplete to avoid broken CSS.
457
 
 
 
 
 
 
 
 
458
  <a href="https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt">See changelog for all versions</a>