Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms - Version 1.19.1

Version Description

Plugin directory page improvements, miscellaneous improvements and fixes.

Download this release

Release Info

Developer happyforms
Plugin Icon 128x128 Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms
Version 1.19.1
Comparing to
See all releases

Code changes from version 1.19.0 to 1.19.1

core/assets/css/admin.css CHANGED
@@ -41,19 +41,19 @@ td.column-shortcode input {
41
  margin-bottom: 8px;
42
  }
43
 
44
- .happyforms-shortcode-clipboard {
45
  float: left;
46
  display: flex;
47
  align-items: center;
48
  min-width: 185px;
49
  }
50
 
51
- .happyforms-shortcode-clipboard span {
52
  color: #008a20;
53
  margin-left: 8px;
54
  }
55
 
56
- .happyforms-shortcode-clipboard span.hidden {
57
  display: none;
58
  }
59
 
41
  margin-bottom: 8px;
42
  }
43
 
44
+ .happyforms-clipboard {
45
  float: left;
46
  display: flex;
47
  align-items: center;
48
  min-width: 185px;
49
  }
50
 
51
+ .happyforms-clipboard span {
52
  color: #008a20;
53
  margin-left: 8px;
54
  }
55
 
56
+ .happyforms-clipboard span.hidden {
57
  display: none;
58
  }
59
 
core/assets/js/admin/dashboard.js CHANGED
@@ -11,7 +11,7 @@
11
  $( document ).on( 'click', '.happyforms-editor-button', this.onEditorButton.bind( this ) );
12
  $( '.happyforms-dialog__button' ).on( 'click', this.onDialogButton.bind( this ) );
13
  $( '.happyforms-notice:not(.one-time)' ).on( 'click', '.notice-dismiss', this.onNoticeDismiss.bind( this ) );
14
- $( document ).on( 'click', 'button.happyforms-shortcode-clipboard__button', this.copyShortcodeToClipboard );
15
  },
16
 
17
  onEditorButton: function( e ) {
@@ -87,12 +87,12 @@
87
  );
88
  },
89
 
90
- copyShortcodeToClipboard: function( e ) {
91
  var $target = $( e.target );
92
  var $success = $target.next();
93
  var $input = $( '<input>' );
94
 
95
- $input.val( $target.attr( 'data-shortcode' ) );
96
  $target.after( $input );
97
  $input.focus().select();
98
 
11
  $( document ).on( 'click', '.happyforms-editor-button', this.onEditorButton.bind( this ) );
12
  $( '.happyforms-dialog__button' ).on( 'click', this.onDialogButton.bind( this ) );
13
  $( '.happyforms-notice:not(.one-time)' ).on( 'click', '.notice-dismiss', this.onNoticeDismiss.bind( this ) );
14
+ $( document ).on( 'click', 'button.happyforms-clipboard__button', this.copyToClipboard );
15
  },
16
 
17
  onEditorButton: function( e ) {
87
  );
88
  },
89
 
90
+ copyToClipboard: function( e ) {
91
  var $target = $( e.target );
92
  var $success = $target.next();
93
  var $input = $( '<input>' );
94
 
95
+ $input.val( $target.attr( 'data-value' ) );
96
  $target.after( $input );
97
  $input.focus().select();
98
 
core/classes/class-form-admin.php CHANGED
@@ -331,8 +331,8 @@ class HappyForms_Form_Admin {
331
  $shortcode = happyforms_get_shortcode( $id );
332
  ?>
333
  <input type="text" size="15" readonly value="<?php echo esc_html( $shortcode ); ?>" />
334
- <div class="happyforms-shortcode-clipboard">
335
- <button type="button" class="button happyforms-shortcode-clipboard__button" data-shortcode="<?php echo esc_html( $shortcode ); ?>"><?php _e( 'Copy to clipboard', 'happyforms' ); ?></button><span aria-hidden="true" class="hidden"><?php _e( 'Copied!', 'happyforms' ); ?></span>
336
  </div>
337
  <?php
338
  break;
331
  $shortcode = happyforms_get_shortcode( $id );
332
  ?>
333
  <input type="text" size="15" readonly value="<?php echo esc_html( $shortcode ); ?>" />
334
+ <div class="happyforms-clipboard">
335
+ <button type="button" class="button happyforms-clipboard__button" data-value="<?php echo esc_html( $shortcode ); ?>"><?php _e( 'Copy to clipboard', 'happyforms' ); ?></button><span aria-hidden="true" class="hidden"><?php _e( 'Copied!', 'happyforms' ); ?></span>
336
  </div>
337
  <?php
338
  break;
core/classes/class-form-email.php CHANGED
@@ -45,7 +45,7 @@ class HappyForms_Form_Email {
45
  'sanitize' => 'sanitize_text_field',
46
  ),
47
  'alert_email_subject' => array(
48
- 'default' => __( 'You received a new message', 'happyforms' ),
49
  'sanitize' => 'sanitize_text_field',
50
  ),
51
  'alert_email_reply_to' => array(
@@ -124,7 +124,7 @@ class HappyForms_Form_Email {
124
  ),
125
  450 => array(
126
  'type' => 'text',
127
- 'label' => __( 'New submission to your form', 'happyforms' ),
128
  'field' => 'alert_email_subject',
129
  ),
130
  540 => array(
45
  'sanitize' => 'sanitize_text_field',
46
  ),
47
  'alert_email_subject' => array(
48
+ 'default' => __( 'New submission to your form', 'happyforms' ),
49
  'sanitize' => 'sanitize_text_field',
50
  ),
51
  'alert_email_reply_to' => array(
124
  ),
125
  450 => array(
126
  'type' => 'text',
127
+ 'label' => __( 'Email subject', 'happyforms' ),
128
  'field' => 'alert_email_subject',
129
  ),
130
  540 => array(
core/classes/class-form-messages.php CHANGED
@@ -220,6 +220,10 @@ class HappyForms_Form_Messages {
220
  $path = happyforms_get_core_folder() . '/templates/customize-controls/messages';
221
  require( "{$path}/{$type}.php" );
222
  break;
 
 
 
 
223
  case 'group_start':
224
  case 'group_end':
225
  $path = happyforms_get_core_folder() . '/templates/customize-controls/setup';
220
  $path = happyforms_get_core_folder() . '/templates/customize-controls/messages';
221
  require( "{$path}/{$type}.php" );
222
  break;
223
+ case 'escaped_text':
224
+ $path = happyforms_get_core_folder() . '/templates/customize-controls/messages';
225
+ require( "{$path}/{$type}.php" );
226
+ break;
227
  case 'group_start':
228
  case 'group_end':
229
  $path = happyforms_get_core_folder() . '/templates/customize-controls/setup';
core/classes/class-form-setup.php CHANGED
@@ -186,12 +186,12 @@ class HappyForms_Form_Setup {
186
  public function messages_controls( $controls ) {
187
  $message_controls = array(
188
  20 => array(
189
- 'type' => 'text',
190
  'label' => __( 'Form is successfully submitted', 'happyforms' ),
191
  'field' => 'confirmation_message',
192
  ),
193
  40 => array(
194
- 'type' => 'text',
195
  'label' => __( "Form can’t be submitted", 'happyforms' ),
196
  'field' => 'error_message',
197
  ),
186
  public function messages_controls( $controls ) {
187
  $message_controls = array(
188
  20 => array(
189
+ 'type' => 'escaped_text',
190
  'label' => __( 'Form is successfully submitted', 'happyforms' ),
191
  'field' => 'confirmation_message',
192
  ),
193
  40 => array(
194
+ 'type' => 'escaped_text',
195
  'label' => __( "Form can’t be submitted", 'happyforms' ),
196
  'field' => 'error_message',
197
  ),
core/helpers/helper-activation.php CHANGED
@@ -62,99 +62,35 @@ function happyforms_create_samples() {
62
  $form_data = $form_controller->get( $form->ID );
63
 
64
  $form_data['post_title'] = __( 'Sample Form', 'happyforms' );
65
- $form_data['submit_button_label'] = __( 'Get in touch', 'happyforms' );
66
 
67
  $form_parts = array(
68
  array(
69
  'type' => 'single_line_text',
70
- 'label' => __( 'Full name', 'happyforms' ),
71
- ),
72
- array(
73
- 'type' => 'email',
74
- 'label' => __( 'Work email', 'happyforms' ),
75
  'width' => 'half',
76
  ),
77
  array(
78
  'type' => 'single_line_text',
79
- 'label' => __( 'Job title', 'happyforms' ),
80
  'width' => 'half',
81
- 'required' => false,
82
  ),
83
  array(
84
- 'type' => 'single_line_text',
85
- 'label' => __( 'Company name', 'happyforms' ),
86
- 'width' => 'half',
87
- ),
88
- array(
89
- 'type' => 'select',
90
- 'label' => __( 'Industry', 'happyforms' ),
91
- 'width' => 'half',
92
- 'placeholder' => __( 'Choose from this list', 'happyforms' ),
93
- 'options' => array(
94
- array(
95
- 'label' => __( 'Agriculture, animals and food', 'happyforms' ),
96
- ),
97
- array(
98
- 'label' => __( 'Science, environment and construction', 'happyforms' ),
99
- ),
100
- array(
101
- 'label' => __( 'Healthcare, wellbeing and sport', 'happyforms' ),
102
- ),
103
- array(
104
- 'label' => __( 'Creative arts, fashion and media', 'happyforms' ),
105
- ),
106
- array(
107
- 'label' => __( 'Government, law and education', 'happyforms' ),
108
- ),
109
- array(
110
- 'label' => __( 'Accountancy, finance and insurance', 'happyforms' ),
111
- ),
112
- array(
113
- 'label' => __( 'Business, sales and tourism', 'happyforms' ),
114
- ),
115
- array(
116
- 'label' => __( 'Charity, social work and religion', 'happyforms' ),
117
- ),
118
- array(
119
- 'label' => __( 'Something else', 'happyforms' ),
120
- ),
121
- ),
122
  ),
123
  array(
124
  'type' => 'multi_line_text',
125
- 'label' => __( 'Tell us about your project', 'happyforms' ),
126
- 'rows' => 10,
127
- ),
128
- array(
129
- 'type' => 'radio',
130
- 'label' => __( 'How might you describe your company size?', 'happyforms' ),
131
- 'options' => array(
132
- array(
133
- 'label' => __( 'It\'s just me', 'happyforms' ),
134
- ),
135
- array(
136
- 'label' => __( 'There\'s two of us', 'happyforms' ),
137
- ),
138
- array(
139
- 'label' => __( 'We\'re a small group', 'happyforms' ),
140
- ),
141
- array(
142
- 'label' => __( 'We\'re a big team', 'happyforms' ),
143
- ),
144
- ),
145
- ),
146
- array(
147
- 'type' => 'single_line_text',
148
- 'label' => __( 'How did you hear about us?', 'happyforms' ),
149
- 'required' => false,
150
  ),
151
  array(
152
  'type' => 'checkbox',
153
- 'label' => __( 'Privacy compliance', 'happyforms' ),
154
  'label_placement' => 'hidden',
155
  'options' => array(
156
  array(
157
- 'label' => __( 'I agree to the storage and handling of my data by this website', 'happyforms' ),
158
  ),
159
  ),
160
  ),
62
  $form_data = $form_controller->get( $form->ID );
63
 
64
  $form_data['post_title'] = __( 'Sample Form', 'happyforms' );
65
+ $form_data['submit_button_label'] = __( 'Send my question', 'happyforms' );
66
 
67
  $form_parts = array(
68
  array(
69
  'type' => 'single_line_text',
70
+ 'label' => __( 'First name', 'happyforms' ),
 
 
 
 
71
  'width' => 'half',
72
  ),
73
  array(
74
  'type' => 'single_line_text',
75
+ 'label' => __( 'Last name', 'happyforms' ),
76
  'width' => 'half',
 
77
  ),
78
  array(
79
+ 'type' => 'email',
80
+ 'label' => __( 'Email address', 'happyforms' ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  ),
82
  array(
83
  'type' => 'multi_line_text',
84
+ 'label' => __( 'How can we help?', 'happyforms' ),
85
+ 'rows' => 5,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  ),
87
  array(
88
  'type' => 'checkbox',
89
+ 'label' => __( 'Agreement', 'happyforms' ),
90
  'label_placement' => 'hidden',
91
  'options' => array(
92
  array(
93
+ 'label' => __( 'I agree to allow this site to store and process the personal information submitted.', 'happyforms' ),
94
  ),
95
  ),
96
  ),
core/helpers/helper-misc.php CHANGED
@@ -12,14 +12,14 @@ if ( ! function_exists( 'happyforms_get_part_label' ) ):
12
  */
13
  function happyforms_get_part_label( $part ) {
14
  $label = isset( $part['label'] ) ? $part['label'] : '';
15
- $label = apply_filters( 'the_title', $label );
16
 
17
  if ( '' === $label ) {
18
  $label = __( '(no title)', 'happyforms' );
19
  }
20
 
21
  $label = apply_filters( 'happyforms_get_part_label', $label, $part );
22
-
23
  return $label;
24
  }
25
 
@@ -1161,12 +1161,12 @@ function happyforms_shuffle_array( $array, $seed = '' ) {
1161
 
1162
  endif;
1163
 
1164
- if ( ! function_exists( 'happyforms_capture_client_id' ) ) :
1165
 
1166
- function happyforms_capture_client_id() {
1167
- $capture_user_id = apply_filters( 'happyforms_capture_client_id', '__return_true' );
1168
 
1169
- return $capture_user_id;
1170
  }
1171
 
1172
  endif;
@@ -1183,4 +1183,4 @@ function happyforms_the_external_link_icon( $echo = true ) {
1183
  }
1184
  }
1185
 
1186
- endif;
12
  */
13
  function happyforms_get_part_label( $part ) {
14
  $label = isset( $part['label'] ) ? $part['label'] : '';
15
+ $label = apply_filters( 'the_title', $label, null );
16
 
17
  if ( '' === $label ) {
18
  $label = __( '(no title)', 'happyforms' );
19
  }
20
 
21
  $label = apply_filters( 'happyforms_get_part_label', $label, $part );
22
+
23
  return $label;
24
  }
25
 
1161
 
1162
  endif;
1163
 
1164
+ if ( ! function_exists( 'happyforms_capture_client_ip' ) ) :
1165
 
1166
+ function happyforms_capture_client_ip() {
1167
+ $capture_user_ip = apply_filters( 'happyforms_capture_client_ip', '__return_true' );
1168
 
1169
+ return $capture_user_ip;
1170
  }
1171
 
1172
  endif;
1183
  }
1184
  }
1185
 
1186
+ endif;
core/templates/customize-controls/messages/escaped_text.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="customize-control" id="customize-control-<?php echo $control['field']; ?>">
2
+ <?php do_action( "happyforms_setup_control_{$control['field']}_before", $control ); ?>
3
+
4
+ <label for="<?php echo $control['field']; ?>" class="customize-control-title"><?php echo $control['label']; ?></label>
5
+ <div class="customize-control-reset-wrap">
6
+ <input type="text" id="<?php echo $control['field']; ?>" value="<%= <?php echo $control['field']; ?> %>" data-attribute="<?php echo $control['field']; ?>" placeholder="<?php echo ( isset( $control['placeholder'] ) ) ? $control['placeholder'] : ''; ?>" data-pointer-target<?php echo ( isset( $control['autocomplete'] ) ) ? ' autocomplete="' . $control['autocomplete'] . '"' : ''; ?> />
7
+ <button type="button" class="reset-default button button-secondary" data-default="<?php echo $field['default']; ?>" data-reset="<?php echo $control['field']; ?>"><?php _e( 'Reset', 'happyforms' ); ?></button>
8
+ </div>
9
+
10
+ <?php do_action( "happyforms_setup_control_{$control['field']}_after", $control ); ?>
11
+ </div>
core/templates/customize-controls/messages/text.php CHANGED
@@ -3,7 +3,7 @@
3
 
4
  <label for="<?php echo $control['field']; ?>" class="customize-control-title"><?php echo $control['label']; ?></label>
5
  <div class="customize-control-reset-wrap">
6
- <input type="text" id="<?php echo $control['field']; ?>" value="<%= <?php echo $control['field']; ?> %>" data-attribute="<?php echo $control['field']; ?>" placeholder="<?php echo ( isset( $control['placeholder'] ) ) ? $control['placeholder'] : ''; ?>" data-pointer-target<?php echo ( isset( $control['autocomplete'] ) ) ? ' autocomplete="' . $control['autocomplete'] . '"' : ''; ?> />
7
  <button type="button" class="reset-default button button-secondary" data-default="<?php echo $field['default']; ?>" data-reset="<?php echo $control['field']; ?>"><?php _e( 'Reset', 'happyforms' ); ?></button>
8
  </div>
9
 
3
 
4
  <label for="<?php echo $control['field']; ?>" class="customize-control-title"><?php echo $control['label']; ?></label>
5
  <div class="customize-control-reset-wrap">
6
+ <input type="text" id="<?php echo $control['field']; ?>" value="<%- <?php echo $control['field']; ?> %>" data-attribute="<?php echo $control['field']; ?>" placeholder="<?php echo ( isset( $control['placeholder'] ) ) ? $control['placeholder'] : ''; ?>" data-pointer-target<?php echo ( isset( $control['autocomplete'] ) ) ? ' autocomplete="' . $control['autocomplete'] . '"' : ''; ?> />
7
  <button type="button" class="reset-default button button-secondary" data-default="<?php echo $field['default']; ?>" data-reset="<?php echo $control['field']; ?>"><?php _e( 'Reset', 'happyforms' ); ?></button>
8
  </div>
9
 
core/templates/customize-controls/setup/text.php CHANGED
@@ -2,7 +2,7 @@
2
  <?php do_action( "happyforms_setup_control_{$control['field']}_before", $control ); ?>
3
 
4
  <label for="<?php echo $control['field']; ?>" class="customize-control-title"><?php echo $control['label']; ?></label>
5
- <input type="text" id="<?php echo $control['field']; ?>" value="<%= <?php echo $control['field']; ?> %>" data-attribute="<?php echo $control['field']; ?>" placeholder="<?php echo ( isset( $control['placeholder'] ) ) ? $control['placeholder'] : ''; ?>" data-pointer-target<?php echo ( isset( $control['autocomplete'] ) ) ? ' autocomplete="' . $control['autocomplete'] . '"' : ''; ?> />
6
 
7
  <?php do_action( "happyforms_setup_control_{$control['field']}_after", $control ); ?>
8
  </div>
2
  <?php do_action( "happyforms_setup_control_{$control['field']}_before", $control ); ?>
3
 
4
  <label for="<?php echo $control['field']; ?>" class="customize-control-title"><?php echo $control['label']; ?></label>
5
+ <input type="text" id="<?php echo $control['field']; ?>" value="<%- <?php echo $control['field']; ?> %>" data-attribute="<?php echo $control['field']; ?>" placeholder="<?php echo ( isset( $control['placeholder'] ) ) ? $control['placeholder'] : ''; ?>" data-pointer-target<?php echo ( isset( $control['autocomplete'] ) ) ? ' autocomplete="' . $control['autocomplete'] . '"' : ''; ?> />
6
 
7
  <?php do_action( "happyforms_setup_control_{$control['field']}_after", $control ); ?>
8
  </div>
core/templates/customize-controls/style/text.php CHANGED
@@ -1,6 +1,6 @@
1
  <li class="customize-control <?php echo esc_attr( 'happyforms-' . $control['type'] . '-control' ); ?>" data-target="<?php echo esc_attr( $field['target'] ); ?>" id="customize-control-<?php echo $control['field']; ?>">
2
  <label class="customize-control-title" for="<?php echo $control['field']; ?>"><?php echo $control['label']; ?></label>
3
  <div class="customize-control-content" data-pointer-target>
4
- <input type="text" name="<?php echo $control['field']; ?>" id="<?php echo $control['field']; ?>" data-attribute="<?php echo $control['field']; ?>" value="<%= <?php echo $control['field']; ?> %>">
5
  </div>
6
  </li>
1
  <li class="customize-control <?php echo esc_attr( 'happyforms-' . $control['type'] . '-control' ); ?>" data-target="<?php echo esc_attr( $field['target'] ); ?>" id="customize-control-<?php echo $control['field']; ?>">
2
  <label class="customize-control-title" for="<?php echo $control['field']; ?>"><?php echo $control['label']; ?></label>
3
  <div class="customize-control-content" data-pointer-target>
4
+ <input type="text" name="<?php echo $control['field']; ?>" id="<?php echo $control['field']; ?>" data-attribute="<?php echo $control['field']; ?>" value="<%- <?php echo $control['field']; ?> %>">
5
  </div>
6
  </li>
core/templates/customize-form-build.php CHANGED
@@ -1,7 +1,7 @@
1
  <script type="text/template" id="happyforms-form-build-template">
2
  <div class="happyforms-stack-view">
3
  <div class="customize-control">
4
- <input type="text" name="post_title" value="<%= post_title %>" id="happyforms-form-name" placeholder="<?php _e( 'Add title', 'happyforms' ); ?>">
5
  </div>
6
 
7
  <div class="customize-control">
1
  <script type="text/template" id="happyforms-form-build-template">
2
  <div class="happyforms-stack-view">
3
  <div class="customize-control">
4
+ <input type="text" name="post_title" value="<%- post_title %>" id="happyforms-form-name" placeholder="<?php _e( 'Add title', 'happyforms' ); ?>">
5
  </div>
6
 
7
  <div class="customize-control">
core/templates/parts/customize-checkbox.php CHANGED
@@ -3,7 +3,7 @@
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
- <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
@@ -56,11 +56,11 @@
56
  <div class="happyforms-nested-settings" data-trigger="other_option" style="display: <%= ( instance.other_option ) ? 'block' : 'none' %>">
57
  <p>
58
  <label for="<%= instance.id %>_other_option_label"><?php _e( '\'Other\' label', 'happyforms' ); ?></label>
59
- <input type="text" id="<%= instance.id %>_other_option_label" maxlength="30" class="widefat title" value="<%= instance.other_option_label %>" data-bind="other_option_label" />
60
  </p>
61
  <p>
62
  <label for="<%= instance.id %>_other_option_placeholder"><?php _e( '\'Other\' placeholder', 'happyforms' ); ?></label>
63
- <input type="text" id="<%= instance.id %>_other_option_placeholder" maxlength="50" class="widefat title" value="<%= instance.other_option_placeholder %>" data-bind="other_option_placeholder" />
64
  </p>
65
  </div>
66
  <% } %>
@@ -109,7 +109,7 @@
109
 
110
  <p>
111
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
112
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
113
  </p>
114
 
115
  <div class="happyforms-part-logic-wrap">
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
+ <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%- instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
56
  <div class="happyforms-nested-settings" data-trigger="other_option" style="display: <%= ( instance.other_option ) ? 'block' : 'none' %>">
57
  <p>
58
  <label for="<%= instance.id %>_other_option_label"><?php _e( '\'Other\' label', 'happyforms' ); ?></label>
59
+ <input type="text" id="<%= instance.id %>_other_option_label" maxlength="30" class="widefat title" value="<%- instance.other_option_label %>" data-bind="other_option_label" />
60
  </p>
61
  <p>
62
  <label for="<%= instance.id %>_other_option_placeholder"><?php _e( '\'Other\' placeholder', 'happyforms' ); ?></label>
63
+ <input type="text" id="<%= instance.id %>_other_option_placeholder" maxlength="50" class="widefat title" value="<%- instance.other_option_placeholder %>" data-bind="other_option_placeholder" />
64
  </p>
65
  </div>
66
  <% } %>
109
 
110
  <p>
111
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
112
+ <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%- instance.css_class %>" data-bind="css_class" />
113
  </p>
114
 
115
  <div class="happyforms-part-logic-wrap">
core/templates/parts/customize-email.php CHANGED
@@ -3,7 +3,7 @@
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
- <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
@@ -18,11 +18,11 @@
18
  </p>
19
  <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
20
  <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
21
- <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
22
  </p>
23
  <p class="happyforms-default-value-option">
24
  <label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
25
- <input type="email" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%= instance.default_value %>" data-bind="default_value" />
26
  </p>
27
  <p>
28
  <label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
@@ -37,11 +37,11 @@
37
 
38
  <p>
39
  <label for="<%= instance.id %>_prefix"><?php _e( 'Prefix', 'happyforms' ); ?></label>
40
- <input type="text" id="<%= instance.id %>_prefix" class="widefat title" value="<%= instance.prefix %>" data-bind="prefix" maxlength="50" />
41
  </p>
42
  <p>
43
  <label for="<%= instance.id %>_suffix"><?php _e( 'Suffix', 'happyforms' ); ?></label>
44
- <input type="text" id="<%= instance.id %>_suffix" class="widefat title" value="<%= instance.suffix %>" data-bind="suffix" maxlength="50" />
45
  </p>
46
  <p>
47
  <label>
@@ -55,7 +55,7 @@
55
 
56
  <p>
57
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
58
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
59
  </p>
60
 
61
  <div class="happyforms-part-logic-wrap">
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
+ <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%- instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
18
  </p>
19
  <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
20
  <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
21
+ <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%- instance.placeholder %>" data-bind="placeholder" />
22
  </p>
23
  <p class="happyforms-default-value-option">
24
  <label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
25
+ <input type="email" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%- instance.default_value %>" data-bind="default_value" />
26
  </p>
27
  <p>
28
  <label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
37
 
38
  <p>
39
  <label for="<%= instance.id %>_prefix"><?php _e( 'Prefix', 'happyforms' ); ?></label>
40
+ <input type="text" id="<%= instance.id %>_prefix" class="widefat title" value="<%- instance.prefix %>" data-bind="prefix" maxlength="50" />
41
  </p>
42
  <p>
43
  <label for="<%= instance.id %>_suffix"><?php _e( 'Suffix', 'happyforms' ); ?></label>
44
+ <input type="text" id="<%= instance.id %>_suffix" class="widefat title" value="<%- instance.suffix %>" data-bind="suffix" maxlength="50" />
45
  </p>
46
  <p>
47
  <label>
55
 
56
  <p>
57
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
58
+ <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%- instance.css_class %>" data-bind="css_class" />
59
  </p>
60
 
61
  <div class="happyforms-part-logic-wrap">
core/templates/parts/customize-multi-line-text.php CHANGED
@@ -3,7 +3,7 @@
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
- <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
@@ -18,11 +18,11 @@
18
  </p>
19
  <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
20
  <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
21
- <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
22
  </p>
23
  <p class="happyforms-default-value-option">
24
  <label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
25
- <input type="text" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%= instance.default_value %>" data-bind="default_value" />
26
  </p>
27
  <p>
28
  <label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
@@ -68,7 +68,7 @@
68
 
69
  <p>
70
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
71
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
72
  </p>
73
 
74
  <div class="happyforms-part-logic-wrap">
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
+ <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%- instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
18
  </p>
19
  <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
20
  <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
21
+ <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%- instance.placeholder %>" data-bind="placeholder" />
22
  </p>
23
  <p class="happyforms-default-value-option">
24
  <label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
25
+ <input type="text" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%- instance.default_value %>" data-bind="default_value" />
26
  </p>
27
  <p>
28
  <label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
68
 
69
  <p>
70
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
71
+ <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%- instance.css_class %>" data-bind="css_class" />
72
  </p>
73
 
74
  <div class="happyforms-part-logic-wrap">
core/templates/parts/customize-number.php CHANGED
@@ -3,7 +3,7 @@
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
- <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
@@ -18,11 +18,11 @@
18
  </p>
19
  <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
20
  <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
21
- <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
22
  </p>
23
  <p class="happyforms-default-value-option">
24
  <label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
25
- <input type="number" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%= instance.default_value %>" data-bind="default_value" />
26
  </p>
27
  <p>
28
  <label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
@@ -56,20 +56,20 @@
56
  <div class="happyforms-nested-settings mask-wrapper number-options number-options--numeric" data-trigger="masked" style="display: <%= (instance.masked == 1) ? 'flex' : 'none' %>">
57
  <p>
58
  <label for="<%= instance.id %>_mask_numeric_thousands_delimiter"><?php _e( 'Grouping', 'happyforms' ); ?></label>
59
- <input type="text" id="<%= instance.id %>_mask_numeric_thousands_delimiter" class="widefat title" value="<%= instance.mask_numeric_thousands_delimiter %>" data-bind="mask_numeric_thousands_delimiter" />
60
  </p>
61
  <p>
62
  <label for="<%= instance.id %>_mask_numeric_decimal_mark"><?php _e( 'Decimal', 'happyforms' ); ?></label>
63
- <input type="text" id="<%= instance.id %>_mask_numeric_decimal_mark" class="widefat title" value="<%= instance.mask_numeric_decimal_mark %>" data-bind="mask_numeric_decimal_mark" />
64
  </p>
65
  </div>
66
  <p>
67
  <label for="<%= instance.id %>_mask_numeric_prefix"><?php _e( 'Prefix', 'happyforms' ); ?></label>
68
- <input type="text" id="<%= instance.id %>_mask_numeric_prefix" class="widefat title" value="<%= instance.mask_numeric_prefix %>" data-bind="mask_numeric_prefix" maxlength="50" />
69
  </p>
70
  <p>
71
  <label for="<%= instance.id %>_mask_numeric_suffix"><?php _e( 'Suffix', 'happyforms' ); ?></label>
72
- <input type="text" id="<%= instance.id %>_mask_numeric_suffix" class="widefat title" value="<%= instance.mask_numeric_suffix %>" data-bind="mask_numeric_suffix" maxlength="50" />
73
  </p>
74
  <p>
75
  <label>
@@ -81,7 +81,7 @@
81
 
82
  <p>
83
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
84
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
85
  </p>
86
 
87
  <?php do_action( 'happyforms_part_customize_number_after_advanced_options' ); ?>
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
+ <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%- instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
18
  </p>
19
  <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
20
  <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
21
+ <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%- instance.placeholder %>" data-bind="placeholder" />
22
  </p>
23
  <p class="happyforms-default-value-option">
24
  <label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
25
+ <input type="number" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%- instance.default_value %>" data-bind="default_value" />
26
  </p>
27
  <p>
28
  <label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
56
  <div class="happyforms-nested-settings mask-wrapper number-options number-options--numeric" data-trigger="masked" style="display: <%= (instance.masked == 1) ? 'flex' : 'none' %>">
57
  <p>
58
  <label for="<%= instance.id %>_mask_numeric_thousands_delimiter"><?php _e( 'Grouping', 'happyforms' ); ?></label>
59
+ <input type="text" id="<%= instance.id %>_mask_numeric_thousands_delimiter" class="widefat title" value="<%- instance.mask_numeric_thousands_delimiter %>" data-bind="mask_numeric_thousands_delimiter" />
60
  </p>
61
  <p>
62
  <label for="<%= instance.id %>_mask_numeric_decimal_mark"><?php _e( 'Decimal', 'happyforms' ); ?></label>
63
+ <input type="text" id="<%= instance.id %>_mask_numeric_decimal_mark" class="widefat title" value="<%- instance.mask_numeric_decimal_mark %>" data-bind="mask_numeric_decimal_mark" />
64
  </p>
65
  </div>
66
  <p>
67
  <label for="<%= instance.id %>_mask_numeric_prefix"><?php _e( 'Prefix', 'happyforms' ); ?></label>
68
+ <input type="text" id="<%= instance.id %>_mask_numeric_prefix" class="widefat title" value="<%- instance.mask_numeric_prefix %>" data-bind="mask_numeric_prefix" maxlength="50" />
69
  </p>
70
  <p>
71
  <label for="<%= instance.id %>_mask_numeric_suffix"><?php _e( 'Suffix', 'happyforms' ); ?></label>
72
+ <input type="text" id="<%= instance.id %>_mask_numeric_suffix" class="widefat title" value="<%- instance.mask_numeric_suffix %>" data-bind="mask_numeric_suffix" maxlength="50" />
73
  </p>
74
  <p>
75
  <label>
81
 
82
  <p>
83
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
84
+ <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%- instance.css_class %>" data-bind="css_class" />
85
  </p>
86
 
87
  <?php do_action( 'happyforms_part_customize_number_after_advanced_options' ); ?>
core/templates/parts/customize-radio.php CHANGED
@@ -3,7 +3,7 @@
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
- <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
@@ -57,11 +57,11 @@ Click the "Add Choice" button to start.', 'happyforms' ); ?></p>
57
  <div class="happyforms-nested-settings" data-trigger="other_option" style="display: <%= ( instance.other_option ) ? 'block' : 'none' %>">
58
  <p>
59
  <label for="<%= instance.id %>_other_option_label"><?php _e( '\'Other\' label', 'happyforms' ); ?></label>
60
- <input type="text" id="<%= instance.id %>_other_option_label" maxlength="30" class="widefat title" value="<%= instance.other_option_label %>" data-bind="other_option_label" />
61
  </p>
62
  <p>
63
  <label for="<%= instance.id %>_other_option_placeholder"><?php _e( '\'Other\' placeholder', 'happyforms' ); ?></label>
64
- <input type="text" id="<%= instance.id %>_other_option_placeholder" maxlength="50" class="widefat title" value="<%= instance.other_option_placeholder %>" data-bind="other_option_placeholder" />
65
  </p>
66
  </div>
67
  <% } %>
@@ -93,7 +93,7 @@ Click the "Add Choice" button to start.', 'happyforms' ); ?></p>
93
 
94
  <p>
95
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
96
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
97
  </p>
98
 
99
  <?php do_action( 'happyforms_part_customize_radio_after_advanced_options' ); ?>
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
+ <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%- instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
57
  <div class="happyforms-nested-settings" data-trigger="other_option" style="display: <%= ( instance.other_option ) ? 'block' : 'none' %>">
58
  <p>
59
  <label for="<%= instance.id %>_other_option_label"><?php _e( '\'Other\' label', 'happyforms' ); ?></label>
60
+ <input type="text" id="<%= instance.id %>_other_option_label" maxlength="30" class="widefat title" value="<%- instance.other_option_label %>" data-bind="other_option_label" />
61
  </p>
62
  <p>
63
  <label for="<%= instance.id %>_other_option_placeholder"><?php _e( '\'Other\' placeholder', 'happyforms' ); ?></label>
64
+ <input type="text" id="<%= instance.id %>_other_option_placeholder" maxlength="50" class="widefat title" value="<%- instance.other_option_placeholder %>" data-bind="other_option_placeholder" />
65
  </p>
66
  </div>
67
  <% } %>
93
 
94
  <p>
95
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
96
+ <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%- instance.css_class %>" data-bind="css_class" />
97
  </p>
98
 
99
  <?php do_action( 'happyforms_part_customize_radio_after_advanced_options' ); ?>
core/templates/parts/customize-select.php CHANGED
@@ -3,7 +3,7 @@
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
- <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
@@ -18,7 +18,7 @@
18
  </p>
19
  <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
20
  <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
21
- <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
22
  </p>
23
  <p>
24
  <label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
@@ -57,11 +57,11 @@
57
  <div class="happyforms-nested-settings" data-trigger="other_option" style="display: <%= ( instance.other_option ) ? 'block' : 'none' %>">
58
  <p>
59
  <label for="<%= instance.id %>_other_option_label"><?php _e( '\'Other\' label', 'happyforms' ); ?></label>
60
- <input type="text" id="<%= instance.id %>_other_option_label" maxlength="30" class="widefat title" value="<%= instance.other_option_label %>" data-bind="other_option_label" />
61
  </p>
62
  <p>
63
  <label for="<%= instance.id %>_other_option_placeholder"><?php _e( '\'Other\' placeholder', 'happyforms' ); ?></label>
64
- <input type="text" id="<%= instance.id %>_other_option_placeholder" maxlength="50" class="widefat title" value="<%= instance.other_option_placeholder %>" data-bind="other_option_placeholder" />
65
  </p>
66
  </div>
67
  <% } %>
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
+ <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%- instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
18
  </p>
19
  <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
20
  <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
21
+ <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%- instance.placeholder %>" data-bind="placeholder" />
22
  </p>
23
  <p>
24
  <label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
57
  <div class="happyforms-nested-settings" data-trigger="other_option" style="display: <%= ( instance.other_option ) ? 'block' : 'none' %>">
58
  <p>
59
  <label for="<%= instance.id %>_other_option_label"><?php _e( '\'Other\' label', 'happyforms' ); ?></label>
60
+ <input type="text" id="<%= instance.id %>_other_option_label" maxlength="30" class="widefat title" value="<%- instance.other_option_label %>" data-bind="other_option_label" />
61
  </p>
62
  <p>
63
  <label for="<%= instance.id %>_other_option_placeholder"><?php _e( '\'Other\' placeholder', 'happyforms' ); ?></label>
64
+ <input type="text" id="<%= instance.id %>_other_option_placeholder" maxlength="50" class="widefat title" value="<%- instance.other_option_placeholder %>" data-bind="other_option_placeholder" />
65
  </p>
66
  </div>
67
  <% } %>
core/templates/parts/customize-single-line-text.php CHANGED
@@ -3,7 +3,7 @@
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
- <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
@@ -18,11 +18,11 @@
18
  </p>
19
  <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
20
  <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
21
- <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
22
  </p>
23
  <p class="happyforms-default-value-option">
24
  <label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
25
- <input type="text" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%= instance.default_value %>" data-bind="default_value" />
26
  </p>
27
  <p>
28
  <label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
@@ -36,11 +36,11 @@
36
  <?php do_action( 'happyforms_part_customize_single_line_text_before_advanced_options' ); ?>
37
  <p>
38
  <label for="<%= instance.id %>_prefix"><?php _e( 'Prefix', 'happyforms' ); ?></label>
39
- <input type="text" id="<%= instance.id %>_prefix" class="widefat title" value="<%= instance.prefix %>" data-bind="prefix" maxlength="50" />
40
  </p>
41
  <p>
42
  <label for="<%= instance.id %>_suffix"><?php _e( 'Suffix', 'happyforms' ); ?></label>
43
- <input type="text" id="<%= instance.id %>_suffix" class="widefat title" value="<%= instance.suffix %>" data-bind="suffix" maxlength="50" />
44
  </p>
45
  <p>
46
  <label>
@@ -54,7 +54,7 @@
54
 
55
  <p>
56
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
57
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
58
  </p>
59
 
60
  <div class="happyforms-part-logic-wrap">
3
  <p class="label-field-group">
4
  <label for="<%= instance.id %>_title"><?php _e( 'Label', 'happyforms' ); ?></label>
5
  <div class="label-group">
6
+ <input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%- instance.label %>" data-bind="label" />
7
  <div class="happyforms-buttongroup">
8
  <label for="<%= instance.id %>-label_placement-show">
9
  <input type="radio" id="<%= instance.id %>-label_placement-show" value="show" name="<%= instance.id %>-label_placement" data-bind="label_placement" <%= ( instance.label_placement == 'show' ) ? 'checked' : '' %> />
18
  </p>
19
  <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
20
  <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
21
+ <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%- instance.placeholder %>" data-bind="placeholder" />
22
  </p>
23
  <p class="happyforms-default-value-option">
24
  <label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
25
+ <input type="text" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%- instance.default_value %>" data-bind="default_value" />
26
  </p>
27
  <p>
28
  <label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
36
  <?php do_action( 'happyforms_part_customize_single_line_text_before_advanced_options' ); ?>
37
  <p>
38
  <label for="<%= instance.id %>_prefix"><?php _e( 'Prefix', 'happyforms' ); ?></label>
39
+ <input type="text" id="<%= instance.id %>_prefix" class="widefat title" value="<%- instance.prefix %>" data-bind="prefix" maxlength="50" />
40
  </p>
41
  <p>
42
  <label for="<%= instance.id %>_suffix"><?php _e( 'Suffix', 'happyforms' ); ?></label>
43
+ <input type="text" id="<%= instance.id %>_suffix" class="widefat title" value="<%- instance.suffix %>" data-bind="suffix" maxlength="50" />
44
  </p>
45
  <p>
46
  <label>
54
 
55
  <p>
56
  <label for="<%= instance.id %>_css_class"><?php _e( 'Additional CSS class(es)', 'happyforms' ); ?></label>
57
+ <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%- instance.css_class %>" data-bind="css_class" />
58
  </p>
59
 
60
  <div class="happyforms-part-logic-wrap">
happyforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Plugin URI: https://happyforms.io
6
  * Description: Form builder to get in touch with visitors, grow your email list and collect payments.
7
  * Author: Happyforms
8
- * Version: 1.19.0
9
  * Author URI: https://happyforms.io
10
  * Upgrade URI: https://happyforms.io/upgrade
11
  */
@@ -22,7 +22,7 @@ if ( defined( 'HAPPYFORMS_UPGRADE_VERSION' ) ) {
22
  /**
23
  * The current version of the plugin.
24
  */
25
- define( 'HAPPYFORMS_VERSION', '1.19.0' );
26
 
27
  if ( ! function_exists( 'happyforms_get_version' ) ):
28
 
5
  * Plugin URI: https://happyforms.io
6
  * Description: Form builder to get in touch with visitors, grow your email list and collect payments.
7
  * Author: Happyforms
8
+ * Version: 1.19.1
9
  * Author URI: https://happyforms.io
10
  * Upgrade URI: https://happyforms.io/upgrade
11
  */
22
  /**
23
  * The current version of the plugin.
24
  */
25
+ define( 'HAPPYFORMS_VERSION', '1.19.1' );
26
 
27
  if ( ! function_exists( 'happyforms_get_version' ) ):
28
 
inc/classes/class-happyforms.php CHANGED
@@ -101,6 +101,7 @@ class HappyForms extends HappyForms_Core {
101
  'type' => 'text_dummy',
102
  'dummy_id' => 'redirect_url',
103
  'label' => __( 'Redirect to this page address (URL) after submission', 'happyforms' ),
 
104
  );
105
 
106
  $controls[1450] = array(
101
  'type' => 'text_dummy',
102
  'dummy_id' => 'redirect_url',
103
  'label' => __( 'Redirect to this page address (URL) after submission', 'happyforms' ),
104
+ 'placeholder' => __( 'Search or type URL', 'happyforms' ),
105
  );
106
 
107
  $controls[1450] = array(
inc/templates/customize-controls/text_dummy.php CHANGED
@@ -3,6 +3,6 @@
3
  <label for="max_entries" class="customize-control-title">
4
  <?php echo $control['label']; ?> <span class="members-only"><?php _e( 'Members Only', 'happyforms') ?></span>
5
  </label>
6
- <input type="text" />
7
  </div>
8
  </div>
3
  <label for="max_entries" class="customize-control-title">
4
  <?php echo $control['label']; ?> <span class="members-only"><?php _e( 'Members Only', 'happyforms') ?></span>
5
  </label>
6
+ <input type="text" placeholder="<?php echo ( isset( $control['placeholder'] ) ) ? $control['placeholder'] : ''; ?>"/>
7
  </div>
8
  </div>
integrations/assets/css/admin.css CHANGED
@@ -111,6 +111,40 @@
111
  display: block;
112
  }
113
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  #happyforms-integration-toolbar {
115
  margin-bottom: 15px;
116
  }
111
  display: block;
112
  }
113
 
114
+ .happyforms-stripe-webhook-endpoint-url {
115
+ margin: 0 0 1em;
116
+ }
117
+
118
+ .happyforms-stripe-webhook-endpoint-url-input-wrapper {
119
+ display: flex;
120
+ flex-wrap: wrap;
121
+ }
122
+
123
+ .happyforms-stripe-webhook-endpoint-url input[type="text"] {
124
+ flex: 1 0 auto;
125
+ margin-right: 8px;
126
+ }
127
+
128
+ @media only screen and (max-width: 800px) {
129
+ .happyforms-stripe-webhook-endpoint-url input[type="text"] {
130
+ margin: 0 0 8px;
131
+ }
132
+ }
133
+
134
+ @media only screen and (min-width: 800px) and (max-width: 1499px) {
135
+ .happyforms-stripe-webhook-endpoint-url input[type="text"] {
136
+ width: 100%;
137
+ margin: 0 0 8px;
138
+ }
139
+ }
140
+
141
+ @media only screen and (max-width: 799px) {
142
+ .happyforms-stripe-webhook-endpoint-url input[type="text"] {
143
+ width: 100%;
144
+ margin: 0 0 8px;
145
+ }
146
+ }
147
+
148
  #happyforms-integration-toolbar {
149
  margin-bottom: 15px;
150
  }
integrations/templates/widget-stripe-dummy.php CHANGED
@@ -14,7 +14,7 @@
14
  </div>
15
  </div>
16
 
17
- <div id="happyforms-service-recaptcha" class="happyforms-service-integration">
18
  <div class="widget-content">
19
  <label for=""><?php _e( 'Publishable key', 'happyforms' ); ?></label>
20
  <div class="hf-pwd">
@@ -30,6 +30,25 @@
30
  <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
31
  </button>
32
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  </div>
34
  </div>
35
 
14
  </div>
15
  </div>
16
 
17
+ <div id="happyforms-service-stripe" class="happyforms-service-integration">
18
  <div class="widget-content">
19
  <label for=""><?php _e( 'Publishable key', 'happyforms' ); ?></label>
20
  <div class="hf-pwd">
30
  <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
31
  </button>
32
  </div>
33
+ <div class="happyforms-stripe-webhook-endpoint-url">
34
+ <label for="credentials[stripe][webhook_endpoint_url]"><?php _e( 'Webhook endpoint URL', 'happyforms' ); ?></label>
35
+ <div class="happyforms-stripe-webhook-endpoint-url-input-wrapper">
36
+ <input type="text" readonly value="" class="happyforms-stripe-webhook" />
37
+ <div class="happyforms-clipboard">
38
+ <button type="button" class="button happyforms-clipboard__button" data-value=""><?php _e( 'Copy to clipboard', 'happyforms' ); ?></button>
39
+ <span aria-hidden="true" class="hidden"><?php _e( 'Copied!', 'happyforms' ); ?></span>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ <div class="happyforms-stripe-webhook-endpoint-secret-key happyforms-stripe-webhook-endpoint-secret-key-live">
44
+ <label for=""><?php _e( 'Webhook endpoint secret key', 'happyforms' ); ?></label>
45
+ <div class="hf-pwd">
46
+ <input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
47
+ <button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
48
+ <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
49
+ </button>
50
+ </div>
51
+ </div>
52
  </div>
53
  </div>
54
 
languages/happyforms.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the Happyforms (free) plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Happyforms (free) 1.19.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/happyforms/\n"
7
  "Last-Translator: The Theme Foundry\n"
8
  "Language-Team: The Theme Foundry\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-09-28T14:03:52+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: happyforms\n"
@@ -62,10 +62,12 @@ msgid "Date"
62
  msgstr ""
63
 
64
  #: core/classes/class-form-admin.php:335
 
65
  msgid "Copy to clipboard"
66
  msgstr ""
67
 
68
  #: core/classes/class-form-admin.php:335
 
69
  msgid "Copied!"
70
  msgstr ""
71
 
@@ -149,7 +151,7 @@ msgid " Copy"
149
  msgstr ""
150
 
151
  #: core/classes/class-form-email.php:48
152
- msgid "You received a new message"
153
  msgstr ""
154
 
155
  #: core/classes/class-form-email.php:72
@@ -165,7 +167,7 @@ msgid "Email me a copy of each submission"
165
  msgstr ""
166
 
167
  #: core/classes/class-form-email.php:102
168
- #: inc/classes/class-happyforms.php:155
169
  msgid "To email address"
170
  msgstr ""
171
 
@@ -189,17 +191,14 @@ msgid "Email display name"
189
  msgstr ""
190
 
191
  #: core/classes/class-form-email.php:127
192
- msgid "New submission to your form"
 
193
  msgstr ""
194
 
195
  #: core/classes/class-form-email.php:135
196
  msgid "Email submitter a copy of their reply"
197
  msgstr ""
198
 
199
- #: core/classes/class-form-email.php:159
200
- msgid "Email subject"
201
- msgstr ""
202
-
203
  #: core/classes/class-form-email.php:164
204
  msgid "Email content"
205
  msgstr ""
@@ -926,103 +925,33 @@ msgid "Sample Form"
926
  msgstr ""
927
 
928
  #: core/helpers/helper-activation.php:65
929
- msgid "Get in touch"
930
  msgstr ""
931
 
932
  #: core/helpers/helper-activation.php:70
933
- msgid "Full name"
934
- msgstr ""
935
-
936
- #: core/helpers/helper-activation.php:74
937
- msgid "Work email"
938
- msgstr ""
939
-
940
- #: core/helpers/helper-activation.php:79
941
- msgid "Job title"
942
- msgstr ""
943
-
944
- #: core/helpers/helper-activation.php:85
945
- msgid "Company name"
946
- msgstr ""
947
-
948
- #: core/helpers/helper-activation.php:90
949
- msgid "Industry"
950
- msgstr ""
951
-
952
- #: core/helpers/helper-activation.php:92
953
- msgid "Choose from this list"
954
- msgstr ""
955
-
956
- #: core/helpers/helper-activation.php:95
957
- msgid "Agriculture, animals and food"
958
- msgstr ""
959
-
960
- #: core/helpers/helper-activation.php:98
961
- msgid "Science, environment and construction"
962
- msgstr ""
963
-
964
- #: core/helpers/helper-activation.php:101
965
- msgid "Healthcare, wellbeing and sport"
966
- msgstr ""
967
-
968
- #: core/helpers/helper-activation.php:104
969
- msgid "Creative arts, fashion and media"
970
- msgstr ""
971
-
972
- #: core/helpers/helper-activation.php:107
973
- msgid "Government, law and education"
974
- msgstr ""
975
-
976
- #: core/helpers/helper-activation.php:110
977
- msgid "Accountancy, finance and insurance"
978
- msgstr ""
979
-
980
- #: core/helpers/helper-activation.php:113
981
- msgid "Business, sales and tourism"
982
- msgstr ""
983
-
984
- #: core/helpers/helper-activation.php:116
985
- msgid "Charity, social work and religion"
986
- msgstr ""
987
-
988
- #: core/helpers/helper-activation.php:119
989
- msgid "Something else"
990
- msgstr ""
991
-
992
- #: core/helpers/helper-activation.php:125
993
- msgid "Tell us about your project"
994
- msgstr ""
995
-
996
- #: core/helpers/helper-activation.php:130
997
- msgid "How might you describe your company size?"
998
- msgstr ""
999
-
1000
- #: core/helpers/helper-activation.php:133
1001
- msgid "It's just me"
1002
- msgstr ""
1003
-
1004
- #: core/helpers/helper-activation.php:136
1005
- msgid "There's two of us"
1006
  msgstr ""
1007
 
1008
- #: core/helpers/helper-activation.php:139
1009
- msgid "We're a small group"
1010
  msgstr ""
1011
 
1012
- #: core/helpers/helper-activation.php:142
1013
- msgid "We're a big team"
 
 
1014
  msgstr ""
1015
 
1016
- #: core/helpers/helper-activation.php:148
1017
- msgid "How did you hear about us?"
1018
  msgstr ""
1019
 
1020
- #: core/helpers/helper-activation.php:153
1021
- msgid "Privacy compliance"
1022
  msgstr ""
1023
 
1024
- #: core/helpers/helper-activation.php:157
1025
- msgid "I agree to the storage and handling of my data by this website"
1026
  msgstr ""
1027
 
1028
  #: core/helpers/helper-form-templates.php:62
@@ -2608,6 +2537,7 @@ msgstr ""
2608
  msgid "All Email fields"
2609
  msgstr ""
2610
 
 
2611
  #: core/templates/customize-controls/messages/text.php:7
2612
  msgid "Reset"
2613
  msgstr ""
@@ -2980,51 +2910,55 @@ msgstr ""
2980
  msgid "Redirect to this page address (URL) after submission"
2981
  msgstr ""
2982
 
2983
- #: inc/classes/class-happyforms.php:109
 
 
 
 
2984
  msgid "Shuffle order of fields"
2985
  msgstr ""
2986
 
2987
- #: inc/classes/class-happyforms.php:115
2988
  msgid "Use reCAPTCHA"
2989
  msgstr ""
2990
 
2991
- #: inc/classes/class-happyforms.php:121
2992
  msgid "Let submitters save a draft for set number of days"
2993
  msgstr ""
2994
 
2995
- #: inc/classes/class-happyforms.php:127
2996
  msgid "Require submitters to review a submission"
2997
  msgstr ""
2998
 
2999
- #: inc/classes/class-happyforms.php:133
3000
  msgid "Max number of submissions"
3001
  msgstr ""
3002
 
3003
- #: inc/classes/class-happyforms.php:139
3004
  msgid "Erase submitter's personal data after set number of days"
3005
  msgstr ""
3006
 
3007
- #: inc/classes/class-happyforms.php:145
3008
  msgid "Show an error message if field contains words in Disallowed Comment Keys"
3009
  msgstr ""
3010
 
3011
- #: inc/classes/class-happyforms.php:161
3012
  msgid "Send abandonment email"
3013
  msgstr ""
3014
 
3015
- #: inc/classes/class-happyforms.php:171
3016
  msgid "Checkboxes & Radios"
3017
  msgstr ""
3018
 
3019
- #: inc/classes/class-happyforms.php:177
3020
  msgid "Rating"
3021
  msgstr ""
3022
 
3023
- #: inc/classes/class-happyforms.php:183
3024
  msgid "Separators"
3025
  msgstr ""
3026
 
3027
- #: inc/classes/class-happyforms.php:189
3028
  msgid "Multi Step"
3029
  msgstr ""
3030
 
@@ -3343,6 +3277,7 @@ msgstr ""
3343
  #: integrations/templates/widget-sendinblue-dummy.php:8
3344
  #: integrations/templates/widget-stripe-dummy.php:22
3345
  #: integrations/templates/widget-stripe-dummy.php:29
 
3346
  #: integrations/templates/widget-zapier-dummy.php:8
3347
  msgid "Show credentials"
3348
  msgstr ""
@@ -3369,6 +3304,7 @@ msgstr ""
3369
  #: integrations/templates/widget-sendinblue-dummy.php:8
3370
  #: integrations/templates/widget-stripe-dummy.php:22
3371
  #: integrations/templates/widget-stripe-dummy.php:29
 
3372
  #: integrations/templates/widget-zapier-dummy.php:8
3373
  msgid "Hide credentials"
3374
  msgstr ""
@@ -3402,7 +3338,7 @@ msgstr ""
3402
  #: integrations/templates/widget-sendfox-dummy.php:16
3403
  #: integrations/templates/widget-sendgrid-dummy.php:16
3404
  #: integrations/templates/widget-sendinblue-dummy.php:16
3405
- #: integrations/templates/widget-stripe-dummy.php:39
3406
  #: integrations/templates/widget-zapier-dummy.php:16
3407
  msgid "Save Changes"
3408
  msgstr ""
@@ -3473,6 +3409,14 @@ msgstr ""
3473
  msgid "Publishable key"
3474
  msgstr ""
3475
 
 
 
 
 
 
 
 
 
3476
  #: core/assets/jsx/build/admin/block.js:127
3477
  msgid "Choose"
3478
  msgstr ""
@@ -3499,11 +3443,6 @@ msgstr ""
3499
  msgid "We'll occasionally send you emails about plugin updates. And don't sweat it, you can unsubscribe anytime."
3500
  msgstr ""
3501
 
3502
- #: inc/assets/jsx/build/admin/dashboard-modals.js:213
3503
- #: inc/assets/jsx/src/admin/dashboard-modals.js:49
3504
- msgid "Email address"
3505
- msgstr ""
3506
-
3507
  #: inc/assets/jsx/build/admin/dashboard-modals.js:223
3508
  #: inc/assets/jsx/src/admin/dashboard-modals.js:54
3509
  msgid "Continue"
2
  # This file is distributed under the same license as the Happyforms (free) plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Happyforms (free) 1.19.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/happyforms/\n"
7
  "Last-Translator: The Theme Foundry\n"
8
  "Language-Team: The Theme Foundry\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-10-14T07:49:18+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: happyforms\n"
62
  msgstr ""
63
 
64
  #: core/classes/class-form-admin.php:335
65
+ #: integrations/templates/widget-stripe-dummy.php:38
66
  msgid "Copy to clipboard"
67
  msgstr ""
68
 
69
  #: core/classes/class-form-admin.php:335
70
+ #: integrations/templates/widget-stripe-dummy.php:39
71
  msgid "Copied!"
72
  msgstr ""
73
 
151
  msgstr ""
152
 
153
  #: core/classes/class-form-email.php:48
154
+ msgid "New submission to your form"
155
  msgstr ""
156
 
157
  #: core/classes/class-form-email.php:72
167
  msgstr ""
168
 
169
  #: core/classes/class-form-email.php:102
170
+ #: inc/classes/class-happyforms.php:156
171
  msgid "To email address"
172
  msgstr ""
173
 
191
  msgstr ""
192
 
193
  #: core/classes/class-form-email.php:127
194
+ #: core/classes/class-form-email.php:159
195
+ msgid "Email subject"
196
  msgstr ""
197
 
198
  #: core/classes/class-form-email.php:135
199
  msgid "Email submitter a copy of their reply"
200
  msgstr ""
201
 
 
 
 
 
202
  #: core/classes/class-form-email.php:164
203
  msgid "Email content"
204
  msgstr ""
925
  msgstr ""
926
 
927
  #: core/helpers/helper-activation.php:65
928
+ msgid "Send my question"
929
  msgstr ""
930
 
931
  #: core/helpers/helper-activation.php:70
932
+ msgid "First name"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
933
  msgstr ""
934
 
935
+ #: core/helpers/helper-activation.php:75
936
+ msgid "Last name"
937
  msgstr ""
938
 
939
+ #: core/helpers/helper-activation.php:80
940
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:213
941
+ #: inc/assets/jsx/src/admin/dashboard-modals.js:49
942
+ msgid "Email address"
943
  msgstr ""
944
 
945
+ #: core/helpers/helper-activation.php:84
946
+ msgid "How can we help?"
947
  msgstr ""
948
 
949
+ #: core/helpers/helper-activation.php:89
950
+ msgid "Agreement"
951
  msgstr ""
952
 
953
+ #: core/helpers/helper-activation.php:93
954
+ msgid "I agree to allow this site to store and process the personal information submitted."
955
  msgstr ""
956
 
957
  #: core/helpers/helper-form-templates.php:62
2537
  msgid "All Email fields"
2538
  msgstr ""
2539
 
2540
+ #: core/templates/customize-controls/messages/escaped_text.php:7
2541
  #: core/templates/customize-controls/messages/text.php:7
2542
  msgid "Reset"
2543
  msgstr ""
2910
  msgid "Redirect to this page address (URL) after submission"
2911
  msgstr ""
2912
 
2913
+ #: inc/classes/class-happyforms.php:104
2914
+ msgid "Search or type URL"
2915
+ msgstr ""
2916
+
2917
+ #: inc/classes/class-happyforms.php:110
2918
  msgid "Shuffle order of fields"
2919
  msgstr ""
2920
 
2921
+ #: inc/classes/class-happyforms.php:116
2922
  msgid "Use reCAPTCHA"
2923
  msgstr ""
2924
 
2925
+ #: inc/classes/class-happyforms.php:122
2926
  msgid "Let submitters save a draft for set number of days"
2927
  msgstr ""
2928
 
2929
+ #: inc/classes/class-happyforms.php:128
2930
  msgid "Require submitters to review a submission"
2931
  msgstr ""
2932
 
2933
+ #: inc/classes/class-happyforms.php:134
2934
  msgid "Max number of submissions"
2935
  msgstr ""
2936
 
2937
+ #: inc/classes/class-happyforms.php:140
2938
  msgid "Erase submitter's personal data after set number of days"
2939
  msgstr ""
2940
 
2941
+ #: inc/classes/class-happyforms.php:146
2942
  msgid "Show an error message if field contains words in Disallowed Comment Keys"
2943
  msgstr ""
2944
 
2945
+ #: inc/classes/class-happyforms.php:162
2946
  msgid "Send abandonment email"
2947
  msgstr ""
2948
 
2949
+ #: inc/classes/class-happyforms.php:172
2950
  msgid "Checkboxes & Radios"
2951
  msgstr ""
2952
 
2953
+ #: inc/classes/class-happyforms.php:178
2954
  msgid "Rating"
2955
  msgstr ""
2956
 
2957
+ #: inc/classes/class-happyforms.php:184
2958
  msgid "Separators"
2959
  msgstr ""
2960
 
2961
+ #: inc/classes/class-happyforms.php:190
2962
  msgid "Multi Step"
2963
  msgstr ""
2964
 
3277
  #: integrations/templates/widget-sendinblue-dummy.php:8
3278
  #: integrations/templates/widget-stripe-dummy.php:22
3279
  #: integrations/templates/widget-stripe-dummy.php:29
3280
+ #: integrations/templates/widget-stripe-dummy.php:47
3281
  #: integrations/templates/widget-zapier-dummy.php:8
3282
  msgid "Show credentials"
3283
  msgstr ""
3304
  #: integrations/templates/widget-sendinblue-dummy.php:8
3305
  #: integrations/templates/widget-stripe-dummy.php:22
3306
  #: integrations/templates/widget-stripe-dummy.php:29
3307
+ #: integrations/templates/widget-stripe-dummy.php:47
3308
  #: integrations/templates/widget-zapier-dummy.php:8
3309
  msgid "Hide credentials"
3310
  msgstr ""
3338
  #: integrations/templates/widget-sendfox-dummy.php:16
3339
  #: integrations/templates/widget-sendgrid-dummy.php:16
3340
  #: integrations/templates/widget-sendinblue-dummy.php:16
3341
+ #: integrations/templates/widget-stripe-dummy.php:58
3342
  #: integrations/templates/widget-zapier-dummy.php:16
3343
  msgid "Save Changes"
3344
  msgstr ""
3409
  msgid "Publishable key"
3410
  msgstr ""
3411
 
3412
+ #: integrations/templates/widget-stripe-dummy.php:34
3413
+ msgid "Webhook endpoint URL"
3414
+ msgstr ""
3415
+
3416
+ #: integrations/templates/widget-stripe-dummy.php:44
3417
+ msgid "Webhook endpoint secret key"
3418
+ msgstr ""
3419
+
3420
  #: core/assets/jsx/build/admin/block.js:127
3421
  msgid "Choose"
3422
  msgstr ""
3443
  msgid "We'll occasionally send you emails about plugin updates. And don't sweat it, you can unsubscribe anytime."
3444
  msgstr ""
3445
 
 
 
 
 
 
3446
  #: inc/assets/jsx/build/admin/dashboard-modals.js:223
3447
  #: inc/assets/jsx/src/admin/dashboard-modals.js:54
3448
  msgid "Continue"
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: contact form, contact form plugin, forms, form builder, custom form, intak
5
  Requires at least: 5.0
6
  Tested up to: 6.0
7
  Requires PHP: 7.0
8
- Stable tag: 1.19.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -141,833 +141,1328 @@ Aw, honestly, the thought that you're writing about our contact form builder is
141
  * Happy Forms (incorrect)
142
  * Happy Form (incorrect)
143
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  == Changelog ==
145
 
146
- = 1.19.0 =
147
- * Improvement: "Include reply link" and "Include referral web address" have been replaced by default links in emails for better coherency with WordPress core behavior.
148
- * Improvement: Unlabeled fields are now displayed accordingly to WordPress core defaults for better readability.
149
- * Bugfix: Submitted values that included special characters were erroneously converted to HTML entities.
150
- * Removal: "Fill out this form again" link has been removed to avoid confusion upon successful submissions.
151
 
152
- = 1.18.1 =
153
- * Bugfix: On some setups, Dropdown field's default choices wouldn't be selected by default.
154
 
155
- = 1.18.0 =
156
- * Improvement: Forms are now automatically hidden after a successful submission, and a "Fill out this form again" link lets submitters submit again for better usability.
157
- * Improvement: Control labels in the builder have been reworded for better clarity.
 
 
158
 
159
- = 1.17.0 =
160
- * Improvement: All sections in Style tab are now always visible for easier access to controls.
161
- * Improvement: Choice based fields build interface has been tidied up and made more coherent.
162
- * Improvement: Display of untitled forms in dashboard screen is now more consistent with WordPress display of untitled posts.
163
- * Improvement: Form styles are now packaged in a single bundle for better performance and cache friendliness.
164
 
165
- = 1.16.1 =
166
- * New feature: "Bulk Add Choices" control for easily adding long lists of choices to Radio, Checkbox and Dropdown fields.
167
 
168
- = 1.16.0 =
169
- * Improvement: Reworded dashboard and builder labels to improve usability.
170
- * Improvement: Empty labels in emails now won't result in excessive whitespace.
 
171
 
172
- = 1.15.4 =
173
- * New feature: "To email address" control under "Email me a copy of each submission" allows for more granular control of email settings.
174
- * New feature: "Reply email address" control under "Email me a copy of each submission" for easier exchanges with submitting users.
175
- * Improvement: "Added to" column in Forms screen now lists templates and reusable blocks for better integration with WordPress.
176
- * Improvement: Interface of choices in all choice-based fields has been redesigned for better usability and clarity.
177
- * Bugfix: Display of fields with limited choices wasn't updating correctly in builder's preview screen.
178
 
179
- = 1.15.3 =
180
- * New feature: Submissions are checked against headless browsers for better antispam protection.
181
- * Improvement: Field choices preserves its shuffled state when a validation occurs on submission for better usability.
182
- * Improvement: Better wording and style fixes in the form builder.
183
 
184
- = 1.15.2 =
185
- * New feature: "Screen Options" tab now includes "View mode" for better consistency with core WordPress.
186
- * Improvement: Installation data is now deleted automatically on plugin removal for easier deactivation.
187
- * Improvement: Better linear spacing for all choice-based field controls.
188
 
189
- = 1.15.1 =
190
- * New feature: Checksum-based verification system against repeated spam submissions.
191
- * New feature: Added "Headings" for Radio, Checkbox, and Dropdown field choices.
192
- * Improvement: Happyforms block now displays a notice when a form published on page was trashed.
193
- * Improvement: Re-arranged the position of "Require an Answer" control for better consistency.
194
- * Improvement: Renamed "Limit submissions" control to "Max number of submissions" in all choice-type fields.
195
- * Improvement: Improved usability of "Min number" and "Max number" controls in Number field.
196
- * Improvement: In all choice-type fields, remaining submissions are now shown by default.
197
- * Bugfix: Validation error on optional field with min/max requirements.
198
 
199
- = 1.15.0 =
200
- * Improvement: All frontend scripts are now bundled in a single file for better performance and cache friendliness.
201
- * Bugfix: Duplicating a form would throw an error on PHP 8.0.
202
- * Bugfix: "Limit how many times this choice can be submitted" counters were being wrongly copied to duplicated forms.
203
 
204
- = 1.14.3 =
205
- * Improvement: Tidied up horizontal and vertical alignment of notices.
206
- * Improvement: Forms are now sorted by "last modified" date for easier management.
207
- * Improvement: All instances of a form's navigational controls have been turned into buttons for better accessibility.
208
 
209
- = 1.14.2 =
210
- * New feature: "Step Interval" control allows for fine tuning the incrementing interval of Number field.
211
- * Improvement: "Make this choice default" control now supports multiple choices in Checkbox field.
212
- * Bugfix: Dropdown field was ignoring some style settings.
213
 
214
- = 1.14.1 =
215
- * New feature: "Hint" control for adding descriptive text to Radio and Checkbox field choices.
216
- * Improvement: Nicer vertical alignment of choices spanning multiple lines in Radio and Checkbox fields.
217
- * Improvement: "Align choices" control is now a button group for better usability.
218
- * Improvement: Exhausted choices are now always tagged with "(0 remaining)" to avoid confusion.
219
- * Improvement: All instances of "submit" type inputs have been replaced with buttons for easier styling.
220
- * Improvement: All custom form dropdowns have been replaced with their native counterparts for better performance and accessibility.
221
 
222
- = 1.14.0 =
223
- * Improvement: Nonce checks have been removed for improved compatibility with cache plugins.
224
- * Removal: "Tooltip" styling for field hints has been deprecated to improve usability of forms.
225
- * Removal: "Add 'select all' choice" was redundant and has been deprecated.
226
- * Removal: Long Text field's more lightweight with "Add rich text editor toolbar" deprecation.
227
- * Bugfix: Form width was rendered incorrectly on specific PHP versions.
228
 
229
- = 1.13.12 =
230
- * Removal: Long Text field "Rows" behaved inconsistently and has been removed.
231
- * Removal: "Add other choice" control has been deprecated in favor of conditional logic.
232
 
233
- = 1.13.11 =
234
- * Improvement: Miscellaneous improvements to Forms screen.
235
- * Improvement: New filter allows finer control of assets loading.
236
 
237
- = 1.13.10 =
238
- * Bugfix: Email tab settings weren't correctly saved.
239
 
240
- = 1.13.9 =
241
- * Bugfix: A trailing comma was triggering errors on old versions of PHP.
242
 
243
- = 1.13.8 =
244
- * New feature: "All Forms" screen now shows where a form is being used.
245
- * Improvement: Better support for international emails and website addresses.
246
 
247
- = 1.13.7 =
248
- * New feature: Reset buttons allow for resetting fields to defaults in Messages tab.
249
- * Improvement: Redesigned the sample form to better showcase current features.
250
- * Improvement: Better forms actions notices.
251
- * Improvement: Simplified field naming.
252
- * Bugfix: Date-Time field validation was misbehaving.
253
- * Bugfix: Validation of fields with "Limit submissions" was misbehaving.
254
- * Bugfix: Deprecated controls were showing up in Style tab.
255
 
256
- = 1.13.6 =
257
- * Improvement: Legacy Forms widgets can now be transformed into blocks.
258
 
259
- = 1.13.5 =
260
- * Bugfix: Jetpack synchronization was triggering a fatal error.
261
 
262
- = 1.13.4 =
263
- * Removal: "Message location" control led to degraded usability.
264
- * Removal: "Title" section in "Style" tab added clutter and duplicated core functionality.
265
- * Improvement: Better selection and insertion of forms in block interface.
 
266
 
267
- = 1.13.3 =
268
- * Bugfix: A typo was causing errors on older PHP versions.
269
 
270
- = 1.13.2 =
271
- * Improvement: Faster preview of Layout Text changes.
272
- * Bugfix: Honeypot mechanism was triggering browser autocomplete, preventing submissions.
273
 
274
- = 1.13.1 =
275
- * New feature: HTML anchor on form block.
276
- * Bugfix: Dropdown item font size doesn't match form style setting.
277
- * Bugfix: Form width preview not updating.
278
 
279
- = 1.13.0 =
280
- * New feature: Long Answer field now supports rich-text editing.
281
- * New feature: Alphabetical choices, "other" choice, randomization, submission limiting support for Single Choice field.
282
- * New feature: Alphabetical choices, "other" choice, randomization, submission limiting support for Multiple Choice field.
283
- * New feature: "Other" choice, randomization, submission limiting support for Dropdown field.
284
- * Bugfix: Widget was misbehaving with new block-based Widgets screen.
285
- * Bugfix: Number field custom separators weren't working correctly.
286
- * Bugfix: Prefilled Long Answer field had styling glitches.
287
- * Bugfix: Long Answer field Limit words/characters controls had validation issues.
288
 
289
- = 1.12.12 =
290
- * Improvement: Fields with validation errors are now marked with a CSS class for easier styling.
291
- * Improvement: Browser autocompletion has been disabled everywhere for more consistent behavior.
292
- * Improvement: Forms now scroll to top only when partially out of the viewport.
293
- * Bugfix: "Add custom CSS classes to submit button" was misbehaving.
294
 
295
- = 1.12.11 =
296
- * Improvement: Deactivation popup allows for keeping or deleting saved data.
297
- * Improvement: Forms block now supports additional CSS classes.
298
- * Bugfix: Arrows in dropdowns were ignoring Style settings.
299
- * Bugfix: Duplicating and drag-dropping fields in the builder was scrolling the field list to the top.
300
 
301
- = 1.12.10 =
302
- * Improvement: More effective honeypot protection.
303
- * Improvement: Javascript dependencies for tooltips are now loaded only when necessary.
304
- * Improvement: Restored `happyforms_enqueue_style` filter for completely disabling frontend styles.
305
- * Bugfix: "Additional CSS" screen was stripping slashes from CSS code.
306
- * Bugfix: Error notices were ignoring color settings.
307
 
308
- = 1.12.9 =
309
- * Bugfix: Jetpack synchronization was triggering a fatal error.
310
 
311
- = 1.12.8 =
312
- * Improvement: Safer builder controls internal API.
 
 
 
 
 
 
313
 
314
- = 1.12.7 =
315
- * Improvements: Dashboard element colors have been brought in line with core.
316
- * Improvement: Hints are now shown below field labels.
317
- * Improvement: Date column in "All forms" screen now shows the last modified date.
318
- * Improvement: Empty titles and labels are now displayed as placeholders in the builder.
319
- * Bugfix: Onboarding overlay could cause an infinite redirect loop in some scenarios.
320
- * Bugfix: Dropdowns weren't working correctly when long-pressing on choices.
321
- * Bugfix: Some options in Messages tab weren't saving correctly.
322
 
323
- = 1.12.6 =
324
- * Bugfix: A missing file error was being thrown right after update.
325
 
326
- = 1.12.5 =
327
- * Improvement: Style tab "Additional CSS" section now triggers real-time updates.
328
- * Improvement: Better keyboard navigation in dropdown-based fields.
329
- * Improvement: New control allows for setting a label for required fields.
330
 
331
- = 1.12.4 =
332
- * Bugfix: Hiding labels was changing fields width.
333
 
334
- = 1.12.3 =
335
- * New feature: Labels can now be toggled on a per-field basis.
336
- * Improvement: Better support for Elementor popups.
337
- * Improvement: Long Answer field now suppports a minimum of 2 rows.
338
- * Bugfix: Screen reader styles were causing glitches on some themes.
339
 
340
- = 1.12.2 =
341
- * Improvement: All dropdowns become searchable automatically with more than 6 choices.
342
- * Bugfix: "Add Media" button in Email tab wasn't working.
343
- * Bugfix: Submit button styles were misbehaving.
344
- * Bugfix: Restored forms were getting stuck in "draft" state.
345
- * Bugfix: Searchable dropdowns were misbehaving.
346
 
347
- = 1.12.1 =
348
- * Improvement: Better compatibility with 3rd party popups.
349
- * Bugfix: Form couldn't be added to ACF rich text editor fields.
350
- * Bugfix: Trashed and deleted forms where showing up in form widget.
351
 
352
- = 1.12.0 =
353
- * Improvement: Removed jQuery deprecations.
354
 
355
- = 1.11.1 =
356
- * Bugfix: Form title "Display" control wasn't working.
 
357
 
358
- = 1.11.0 =
359
- * Improvement: Better support for 3rd party popup plugins.
360
- * Improvement: Better support for tab navigation in Dropdown field.
361
- * Bugfix: Dropdown field searchable functionality was misbehaving.
362
- * Bugfix: Form title "Display" control wasn't working.
363
- * Bugfix: Validation of optional Long Answer fields with character counting was misbehaving.
364
 
365
- = 1.10.0 =
366
- * New feature: Messages tab in Edit Form screen allows for complete language customization.
367
- * New feature: Prefill control for setting a default value on Short Text, Long Text, Email Address and Number fields.
368
- * Bugfix: "Email respondent a copy of their submission" → "Include submitted" feature was misbehaving.
369
 
370
- = 1.9.30 =
371
- * Improvement: Better styling control for choice fields option labels.
 
 
 
 
372
 
373
- = 1.9.29 =
374
- * Meta: updated FAQs and contributors.
375
 
376
- = 1.9.28 =
377
- * Improvement: Better naming of form class attributes.
378
- * Bugfix: Edit Form screen wouldn't work with custom Site Address settings.
379
 
380
- = 1.9.27 =
381
- * Improvement: Form title is not rendered at all when set to "hidden".
382
- * Bugfix: Fields with prefix and suffix support where being validated as always filled.
 
 
383
 
384
- = 1.9.26 =
385
- * Improvement: Style → Additional CSS now updates preview in realtime.
386
- * Improvement: Added filter to force style output for compatibility with 3rd party plugins.
387
- * Bugfix: Hidden form title was being displayed in widget previews.
388
 
389
- = 1.9.25 =
390
- * Bugfix: "Fields Borders & Spacing" → "Inner Spacing" control was unresponsive.
391
- * Improvement: Added "Prefix" control to Email field.
392
- * Improvement: Better refresh performance of "Fields Labels & Text" → "Label display" control.
393
 
394
- = 1.9.24 =
395
- * Bugfix: Setting "Label display" to "Hidden" was hiding the form in the block editor.
396
- * Bugfix: A missing trailing slash in Edit Form preview frame was causing issues on some server configurations.
397
 
398
- = 1.9.23 =
399
- * Improvement: "Label display" control was made global and moved to Style step.
400
- * Improvement: "Description display" control was made global and moved to Style step.
401
- * Improvement: Empty labels were triggering usability errors on common usability check tools.
402
- * Bugfix: Happyforms block wasn't remembering the selected form.
403
- * Bugfix: Email messages were being sent with empty headers in some cases.
404
- * Bugfix: Single Choice "Make this choice default" was misbehaving.
405
- * Bugfix: Archived and trashed forms were being displayed in shortcode/block form selection dropdown.
406
- * Bugfix: Output buffering was causing errors in Oxygen Builder.
407
 
408
- = 1.9.22 =
409
- * Bugfix: Rich text editors in field configuration widgets were misbehaving after a drag and drop operation.
410
- * Bugfix: A Block Editor block parameter was triggering errors on WordPress >= 5.5.
411
 
412
- = 1.9.21 =
413
- * Improvement: better usability of various elements of Edit Form screen.
414
 
415
- = 1.9.20 =
416
- * Bugfix: Fixed wrapping glitches with long labels and descriptions.
417
 
418
- = 1.9.19 =
419
- * Bugfix: Centered labels weren't working when set to 'Below'.
420
- * Bugfix: Description tooltips were rendering twice in the same field.
421
- * Bugfix: `--happyforms-form-width` was missing a default unit.
422
- * Bugfix: 'Show a thank you message' setting wasn't working.
423
 
424
- = 1.9.18 =
425
- * New feature: New "Email display name" control allows for custom email display name in email alerts.
426
- * Bugfix: Shortcode script was causing issues with Advanced Custom Fields frontend forms.
427
- * Bugfix: Email confirmation controls were being toggled under wrong conditions.
428
- * Bugfix: Long Answer field was generating excessive whitespace in emails and dashboard screens.
429
 
430
- = 1.9.17 =
431
- * Improvement: Improved tooltip display with collision detection.
432
 
433
- = 1.9.16 =
434
- * Bugfix: Style tab in form builder was not loading.
435
 
436
- = 1.9.15 =
437
- * Improvement: Tooltip icon now displays next to label instead of inside field input and inherits label color.
438
- * Improvement: Various improvements to form styles and UI.
439
- * Bugfix: Stale Unique ID field was triggering errors in email alerts.
440
 
441
- = 1.9.14 =
442
- * Bugfix: Masked Number field had wrong type HTML attribute and was not accepting more than four digits.
443
 
444
- = 1.9.13 =
445
- * New feature: Rows control added to Long Answer field.
446
- * Improvement: New icons for form fields in form builder.
447
- * Improvement: Various improvements to form builder and front-end styles.
448
- * Bugfix: Sorting fields in form builder made the container always scroll to top instead of preserving its scrolling position.
449
- * Bugfix: When suffix was set on a field with tooltip, the tooltip icon and suffix were overlapping.
450
 
451
- = 1.9.12 =
452
- * Improvement: Updated part icons.
453
- * Improvement: Various style improvements to form builder and front-end.
454
 
455
- = 1.9.11 =
456
- * Improvement: Improved form builder compatibility with various plugins and themes, including Oxygen Builder.
457
- * Improvement: Various improvements to form builder UI and front-end styles.
458
 
459
- = 1.9.10 =
460
- * Improvement: Various improvements to form builder screen.
461
- * Bugfix: Multiple dropdown parts were causing JS error in multi-step forms.
462
 
463
- = 1.9.9 =
464
- * Improvement: Improved compatibility with latest version of Divi.
465
- * Bugfix: Fixed appearance of Submit button when displayed in line with form part.
466
- * Bugfix: Fixed double border issue in Style step.
467
- * Bugfix: Fixed "Reveal on focus" description mode in parts that support Prefix and Suffix.
 
 
468
 
469
- = 1.9.8 =
470
- * Improvement: Improved appearance and available tools in visual editors.
471
- * Bugfix: Fixed Email part which was not allowing empty value even when marked as optional part.
472
- * Bugfix: Fixed font size sliders in Style tab that were not updating preview.
473
- * Bugfix: Fixed broken appearance of inputs when "Label display" setting was set to "Inside".
474
 
475
- = 1.9.7 =
476
- * Improvement: New “Confirm submission” control in Setup step.
477
- * Improvement: Various improvements to Happyforms UI.
478
- * Improvement: Compatibility with WordPress 5.4.
479
- * Bugfix: Form width slider in Style tab → General was not updating value in preview.
480
 
481
- = 1.9.6 =
482
- * Improvement: When searching for specific choice in Dropdown part, a configurable "No results" message is shown if no choice is found.
483
- * Improvement: Custom HTML ID of the form using "Form HTML ID" control can now be toggled by checking "Use custom HTML ID" control.
484
- * Bugfix: Form ID used as a prefix for all selectors in Additional CSS section in Style tab was using ID of child element instead of parent.
485
- * Bugfix: Number part was returning an error when 0 was submitted even if when it was in specified range of min and max value.
486
- * Bugfix: Various fixes related to front-end and form builder UI styles.
487
 
488
- = 1.9.5 =
489
- * New feature: Added support for prefix and suffix in Short Text, Email, and Number part inputs.
490
- * New feature: Added support for input placeholder in confirmation fields.
491
- * Improvement: Various improvements to front-end styles and form builder UI.
492
 
493
- = 1.9.4 =
494
- * Improvement: Various improvements to general look and feel of validation messages.
495
- * Improvement: Improved accessibility of validation messages.
496
 
497
- = 1.9.3 =
498
- * Bugfix: Choices marked checked as default were displaying checked HTML attribute on front-end.
499
 
500
- = 1.9.2 =
501
- * New feature: Additional CSS section in Style tab allowing to write custom styles for each individual form.
502
 
503
- = 1.9.1 =
504
- * New feature: Quarter width setting for parts and part choices.
505
- * Improvement: Various improvements to Happyforms UI styles.
506
- * Improvement: Improved compatibility of form part styles with some themes.
507
- * Bugfix: Fixed choice parts not saving "Checked by default" setting.
508
 
509
- = 1.9.0 =
510
- * New feature: Date filter on All Forms screen now allows you to filter forms by date added.
511
- * Improvement: Email controls are now grouped in a dedicated step.
512
- * Improvement: Additional email controls for sender and reply-to addresses.
513
- * Improvement: Various improvements to UI styles, wording, and default values of parts.
514
 
515
- = 1.8.22 =
516
- * Improvement: Improved plugin's text domain for better management of translations.
517
- * Improvement: Various improvements to Happyforms UI styles and frontend.
518
 
519
- = 1.8.21 =
520
- * New feature: Added Help tab to all Happyforms screens, providing easy access to help guide and our email support.
521
- * Improvement: All Forms screen improvements.
522
 
523
- = 1.8.20 =
524
- * Improvement: Various improvements related to builder and front-end styles.
525
- * Improvement: Compatibility with WordPress 5.3.
526
 
527
- = 1.8.19 =
528
- * New feature: Added new control "Hide form on submission" to Step 2.
529
- * Improvement: Various improvements to styles and wording in form builder UI.
530
 
531
- = 1.8.18 =
532
- * Bugfix: Fix bug with submitted values not displaying in email notifications.
533
 
534
- = 1.8.17 =
535
- * New feature: Choices width control to allow for multi-column layouts in Single Choice and Multiple Choice part.
536
 
537
- = 1.8.16 =
538
- * Improvement: Happyforms form builder styles update.
539
 
540
- = 1.8.15 =
541
- * Bugfix: Fix admin notices.
542
 
543
- = 1.8.14 =
544
- * New feature: Form error message and required field label are now easy to edit in Step 2.
 
545
 
546
- = 1.8.13 =
547
- * Bugfix: Fixed error caused by admin notices during Wp Cron task execution.
548
 
549
- = 1.8.12 =
550
- * Bugfix: Fixed error caused by admin notices class not available in some contexts.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
551
 
552
- = 1.8.11 =
553
  * Update: Moved various features to the upgraded plan.
554
 
555
- = 1.8.10 =
556
- * Bugfix: Fixed fatal error when visiting Appearance -> Customize screen.
557
 
558
- = 1.8.9 =
559
- * New feature: New 'Google reCAPTCHA theme' setting in Style step.
560
- * Improvement: Various improvements to styles in Happyforms UI.
561
- * Bugfix: Email part with confirmation value didn't work with 'Fade submit until valid' option.
562
- * Bugfix: Date & Time part did not reflect EU date format in preview step and email.
563
 
564
- = 1.8.8 =
565
- * Bugfix: Some parts caused notices in Customizer screen.
566
- * Bugfix: Small fixes related to styles.
567
 
568
- = 1.8.7 =
569
- * Improvement: Small fixes and improvements related to styles and form builder UI.
570
- * Bugfix: Setting Scale part to multirange mode broke appearance of its sliders.
571
- * Bugfix: Email subject was ignoring parts configured to populate it.
572
 
573
- = 1.8.6 =
574
- * Bugfix: Avoid database cleanup for upgraded users.
575
 
576
- = 1.8.5 =
577
- * Improvement: Added label to HoneyPot input along with screen reader text for better accessibility compliance.
578
- * Bugfix: Reply-to email handling was misbehaving.
579
- * Bugfix: Sample form wasn't being installed on activation.
580
- * Bugfix: Overlays' display: none rule was ignored on some setups.
581
 
582
- = 1.8.4 =
583
- * Bugfix: Migrations were triggering errors during activation.
584
- * Bugfix: Reply-to email handling had been deactivated.
585
 
586
- = 1.8.3 =
587
- * Bugfix: A typo in helper file was preventing submissions from completing.
588
 
589
- = 1.8.2 =
590
- * Bugfix: Wrong email template path was preventing submissions from completing.
591
 
592
- = 1.8.1 =
593
- * Bugfix: A typo in helper file was preventing submissions from completing.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
594
 
595
- = 1.8.0 =
596
  * Removed: Responses
597
 
598
- = 1.7.10 =
599
- * New feature: Added 'Include submitted values' option in Step 2 that allows you to send submitted data in a confirmation email sent to a user.
600
- * Improvement: Multi-line and Text Editor parts now support minimium and maximum character and word counter.
601
- * Bugfix: Long Text part was ignoring new lines when displaying submitted value in email.
602
 
603
- = 1.7.9 =
604
- * Bugfix: Redirect URL feature could cause fatal error in some environments.
605
- * Bugfix: Alignment fixes in form preview step.
606
 
607
- = 1.7.8 =
608
- * New feature: It's now possible to configure Bcc addresses for email alerts.
609
- * New feature: Narrative part now supports input placeholders between brackets.
610
- * New feature: Open redirect link in a new tab.
611
- * Improvement: Better sample forms and responses created when activating plugin for the first time.
612
- * Improvement: Various improvements to form styles and alignment.
613
- * Bugfix: Forms created in 1.6.x versions weren't working because of a data format error.
614
 
615
- = 1.7.7 =
616
- * Bugfix: Form was scrolling to the top of the page after a submission.
617
 
618
- = 1.7.6 =
619
- * Bugfix: Legal part was throwing a notice when there was a part before and after it.
620
- * Bugfix: Part padding set to Narrow caused no gutter between parts.
621
- * Bugfix: Long Text part kept submit button disabled even when value was valid.
622
- * Bugfix: Long Text part with title set to Display as placeholder was not collapsing label correctly after filling the value.
623
- * Bugfix: Remove unneeded editor.js dependency in Long Text part.
624
 
625
- = 1.7.5 =
626
- * New feature: Realtime character counter for Long Text and Text Editor parts.
627
- * New feature: New styles and style controls for form notices.
628
- * Improvement: New `happyforms_get_honorifics` filter allows for custom honorific titles.
629
 
630
- = 1.7.4 =
631
- * Bugfix: Submit button styles in Style step were not applying to submit button due to wrong selector.
632
- * Bugfix: `happyforms_enqueue_style` filter for disabling styles were not taken to consideration when loading color.css.
633
 
634
- = 1.7.3 =
635
- * New feature: 'Select All' option added to Multiple Choice part that can be set in part's Advanced options.
636
- * Improvement: Better styles for disabled Submit button.
637
- * Improvement: Removed responses now get trashed instead of getting completely destroyed.
638
- * Improvement: Duplicating a part now places it right after the original part.
639
- * Bugfix: Improved behavior of Dropdowns on focus, blur, and when using down facing caret to trigger dropdown.
640
 
641
- = 1.7.2 =
642
- * Improvement: Added date days filter.
643
- * Improvement: Easier filtering of email message fields.
644
- * Bugfix: Phone part wasn't showing correct country flag when same prefix is used by more than one country.
 
 
645
 
646
- = 1.7.1 =
647
- * Improvement: A Javascript event is triggered after a form submission.
648
- * Improvement: Notices font family and weight are now theme independent.
649
- * Bugfix: Query caching was causing issues on some hosts.
650
- * Bugfix: A Javascript error was triggered when no notices are shown after a form submit.
651
 
652
- = 1.7.0 =
653
- * New feature: Added new control to Step 2 for adding custom HTML class to submit button.
654
- * Improvement: ReCaptcha now loads language based on site locale settings.
655
- * Improvement: Long forms now work beyond server max_input_vars limitation.
656
- * Improvement: Better handling of email message carbon copy addresses and more powerful filters.
657
- * Improvement: Empty optional parts are now hidden in notification email.
658
- * Improvement: Better styles for left titled forms and improved behavior of Title alignment control in Style step.
659
- * Improvement: Moved 'Form HTML ID' and 'Disable submit button until valid' from Style step to Build step for better context.
660
- * Improvement: Added configurable label for ReCaptcha to improve accessibility.
661
- * Improvement: Various other improvements to UI and form styles.
662
- * Bugfix: Forms were scrolling to the wrong position with notices appearing below.
663
- * Bugfix: Phone part didn't allow to pick country from dropdown after Email part was filled.
664
- * Bugfix: Phone part was retaining previous country code when switching countries.
665
 
666
- = 1.6.22 =
667
- * Improvement: Improvements to admin notices behavior and styles.
668
- * Bugfix: Fix Legal part's undefined offset error in HTML class.
669
 
670
- = 1.6.21 =
671
- * Bugfix: Fix dismissible form preview notices for new forms.
672
- * Bugfix: Email part with confirmation field prevented form submits when "Preview values before submission" was checked.
673
 
674
- = 1.6.20 =
675
- * Improvement: Better support for emails display name.
676
- * Improvement: Form title now highlights when Build step is opened for easier renaming.
677
- * Improvement: Optional part label is only displayed when some part is made optional.
678
- * Improvement: Updated copy and labels of some options in Setup and Style step.
679
- * Improvement: Updated readme and screenshots.
680
- * Bugfix: Expand / Collapse all button was not working properly on existing forms.
681
- * Bugfix: Phone part was not displaying correctly in certain padding and border configurations.
682
- * Bugfix: Minor bugfixes related to styles.
683
 
684
- = 1.6.19 =
685
- * Bugfix: Phone country dropdown was not opening after other dropdown part was focused.
 
 
 
686
 
687
- = 1.6.18 =
688
- * Improvement: Various CSS tweaks to improve responsive behavior, and colors set in Happyforms style step.
689
- * Bugfix: Number spinners in font size controls were not updating value in preview pane.
690
- * Bugfix: Placeholder part was always showing (optional) label.
691
- * Bugfix: Story part with no inputs was throwing an error.
692
 
693
- = 1.6.17 =
694
- * Bugfix: Address part was preventing forms from working correctly.
695
 
696
- = 1.6.16 =
697
- * New feature: It's now possible to tweak wording for "optional" part label.
698
- * Improvement: New filter that allows for customization of form submission response json.
699
- * Improvement: Various labels were missing localization.
700
- * Bugfix: Responses pagination was misbehaving.
701
- * Bugfix: Response previous/next links and mark as read were misbehaving.
702
- * Bugfix: Email part title placement set to "Display as placeholder" was not preserving that setting on input blur event.
703
 
704
- = 1.6.15 =
705
- * Improvement: Updated "tested up to" tag.
706
 
707
- = 1.6.14 =
708
- * Improvement: Happyforms custom fields are now prefixed and hidden to stop polluting posts custom fields dropdown.
709
- * Improvement: Added filter to stop enqueueing of Happyforms defaults style file.
710
- * Improvement: New filter allows setting custom HTML attributes on a form element.
711
- * Improvement: Responses tracking number is now included in CSV exports.
712
- * Improvement: Better output of multiline and rich text values in CSV exports.
713
 
714
- = 1.6.13 =
715
- * Improvement: Smoother preview response time for Checkboxes and Radio after last item is added.
716
- * Bugfix: Email part has been showing a notice related to wrong variable name used in condition.
717
- * Bugfix: Various fixes related to form styles.
718
-
719
- = 1.6.12 =
720
- * Improvement: Added filters to control CSV header and row values.
721
- * Bugfix: HTML entities were encoded in CSV export files.
722
-
723
- = 1.6.11 =
724
- * New feature: Autocomplete for Email part that suggests common email domains when "@" is typed.
725
- * New feature: Form padding style control for adding more space between form parts and its container.
726
- * New feature: It's now possible to set a custom HTML ID on form elements.
727
- * New feature: New style control allows for notices above or below form elements.
728
- * Improvement: Better keyboard navigation for dropdowns.
729
- * Improvement: CSV exports now includes column headers.
730
- * Improvement: Duplicated forms now have current date of duplication.
731
- * Bugfix: Phone flags were not showing when international number format was checked in Phone part.
732
- * Bugfix: Title placement applied globally sometimes resulted in newly added parts inheriting the value even when not available for that part.
733
- * Bugfix: Various fixes related to styles and form parts preview.
734
 
735
- = 1.6.10 =
736
- * New feature: Gutenberg block allowing you to add Happyforms to your content in Gutenberg editor.
737
- * New feature: Style control for submit button padding.
738
- * New feature: Checkbox to allow toggling 'Mark as read and reply' link in submission alert emails.
739
 
740
- = 1.6.9 =
741
- * New feature: New Text Editor part for formatting text, code blocks, lists and more.
742
- * Improvement: New parts automatically inherit options when "Apply to all parts" is on.
743
- * Improvement: Custom Happyforms dropdowns refactor with lots of improvements in code.
744
- * Bugfix: Form updates weren't getting applied if the preview frame was not fully loaded.
745
- * Bugfix: Submit button appeared unstyled on iOS devices.
746
- * Bugfix: Title font weight style setting couldn't be set to Bold due to wrong default value.
747
 
748
- = 1.6.8 =
749
- * New feature: Easily add options and rows to single and multiple choice, dropdown and table parts.
750
- * Bugfix: Form title links in All Forms screen were broken.
751
- * Bugfix: Saving a new form was creating copies of that form over and over.
752
- * Bugfix: Long text part wasn't vertically resizable.
753
- * Bugfix: Placeholder text color was being overwritten by theme styles.
754
 
755
- = 1.6.7 =
756
- * New feature: Added support for placeholder value in Dropdown part along with new option to set title as a placeholder.
757
- * New feature: New looks of Multiple Choice part allowing to add description for each option.
758
- * New feature: Added three new modes to Date & Time part: Month & Year, Month only, Year only.
759
- * New feature: Part title can now be hidden per each individual part.
760
- * Improvement: Number part now allows for minimum and maximum value setting even when the part input is formatted with prefix and thousands separators.
761
- * Improvement: Added labels for optional parts, removed asterisks for required parts.
762
- * Improvement: Various UX improvements to form builder.
763
- * Improvement: Form configuration steps are now directly reachable from the form list table.
764
- * Bugfix: Phone part displayed wrong country flag in the case where two countries share same phone prefix.
765
- * Bugfix: Date & Time part layout didn't adapt well when set to Half and Third width setting.
766
- * Bugfix: Saved form width value was reverting to default in Style step.
767
 
768
- = 1.6.6 =
769
- * Bugfix: Fix the issue with Number and Address part calling an undefined JS method.
770
- * Bugfix: Fix appearance of international Phone field in various title placement configurations.
771
 
772
- = 1.6.5 =
773
- * Bugfix: Dropdown part was not displaying correct values when containing options with numeric values.
774
- * Bugfix: Dropdown part was not submitting default value correctly.
775
- * Bugfix: Titles set to display as a placeholder were not adjusting their position when coming back to form using browser's back button.
776
 
777
- = 1.6.4 =
778
- * New feature: Responses can now be tagged with a unique incremental ID (think receipts).
779
- * New feature: Labels for Rating part options when using Smileys / Thumbs as Rating Visuals.
780
- * New feature: Reveal description on focus for text input parts.
781
- * Improvement: Better part title appearance when placement is set to 'Left'.
782
- * Improvement: Better alignment of Legal part when parts around it use 'Left' setting for Title placement.
783
- * Improvement: Various improvements in parts UI and CSS.
784
- * Improvement: Labels and values in email messages can now be filtered.
785
- * Bugfix: Fixed issue when adding multiple Rating parts to same form only displayed first one.
786
- * Bugfix: Single and multiple choice, Dropdown and Table parts had issues with validation.
787
 
788
- = 1.6.3 =
789
- * Improvement: minor rewordings in form Customize screen.
790
- * Bugfix: Date part validation and value storage were misbehaving.
791
 
792
- = 1.6.2 =
793
- * Bugfix: Date part validation was preventing valid submissions.
794
- * Bugfix: Number part was erroneously preventing valid empty submissions.
 
795
 
796
- = 1.6.1 =
797
- * New feature: Single Line Text part can now be used as a subject of admin email notification.
798
- * New feature: Owner email alerts now include a "Reply and mark as read" link for easier lead followup.
799
- * Improvement: Added custom capabilities for fine grained access control of forms and responses.
800
- * Bugfix: Some parts didn't allow to submit an empty value even when not required.
801
 
802
- = 1.6.0 =
803
- * New feature: Story part for adding fill-in-the-blank style inputs to a paragraph of text.
804
- * New feature: Rating part got new styles and options. It now features emoji scale and a new No / Yes rating type.
805
- * New feature: New field in Setup step that allows adding a textual name for the From header in user email notifications.
806
- * New feature: Submit button can now be configured to display within an input that's set to 'Auto' width setting.
807
- * Improvement: better CC and Reply To email use allows for easier lead follow up.
808
- * Improvement: the URL the form was submitted from is now available in hooks for easier 3rd party integrations.
809
- * Bugfix: Part background color on focus style control was hidden.
810
- * Bugfix: Various alignment issues and style fixes.
811
 
812
- = 1.5.11 =
813
- * New feature: Added a new option "Auto" for Width setting of all form parts to allow for a single line form layouts.
814
- * Improvement: Better, configurable styles for form submission preview.
815
- * Improvement: Better formatting of submission alert emails.
816
- * Improvement: Legal part now doesn't automatically prevent form submission.
817
- * Improvement: Table part now inherits checkbox and radio styling.
818
- * Bugfix: Table part default options were misbehaving.
819
- * Bugfix: Dropdown part color settings were not saving.
820
- * Bugfix: Dropdown part marked as required stopped submit button from working in some scenarios.
821
- * Bugfix: Special characters were misinterpreted during submission.
822
- * Bugfix: Some parts were submitting undefined data.
823
- * Bugfix: Dropdown part was ignoring a default option setting.
824
 
825
- = 1.5.10 =
826
- * Bugfix: email alert and confirmation options were being ignored.
827
 
828
- = 1.5.9 =
829
- * Bugfix: A division-by-zero bug prevented table part from working correctly.
830
 
831
- = 1.5.8 =
832
- * Bugfix: form serialized data missed URI encoding.
833
 
834
- = 1.5.7 =
835
- * Bugfix: a missing parameter was causing an error upon activation.
836
 
837
- = 1.5.6 =
838
- * New feature: Forms can now show an additional Review step before final submission.
839
- * Improvement: Previous / Next buttons in form builder got more descriptive labels.
840
- * Bug fix: Number part didn't allow zero value even when 0 was set as a minimum required value.
841
- * Bug fix: Email part didn't allow an empty value submitted even when field was not required.
842
- * Bug fix: Fixes for multiple style issues across all parts in CSS.
843
- * Bug fix: Welcome screen appearance on RTL layouts.
844
- * Bug fix: Forms and Responses were appearing in public searches and queries.
845
 
846
- = 1.5.5 =
847
- * New feature: Redesigned dropdowns and a new setting to make Dropdown part searchable.
848
- * New feature: Redesigned Phone part now with country flags and a new searchable country dropdown.
849
- * Improvement: New shortcode view allows to directly edit a form from the editor.
850
- * Bug fix: Date & Time part set to show current date and time didn't consider timezone and showed incorrect date in some cases.
851
 
852
- = 1.5.4 =
853
- * Improvement: Form assets now get loaded only on pages containing forms.
854
- * Improvement: Forms now work when displayed inside the Dashboard.
855
 
856
- = 1.5.3 =
857
- * Improvement: New default styles to provide even better visual experience.
858
- * Improvement: Clearer display of email alerts and confirmations in Step 2 of form configuration.
859
- * Bug fix: Confirmation message and Confirmation email message fields were not saving with HTML formatting.
860
- * Bug fix: When Legal part was present, it allowed sending empty forms without further validation.
861
- * Bug fix: Font size sliders in Style step were not working on a new empty form.
862
- * Bug fix: Various CSS fixes.
863
- * Bug fix: First characters in Phone values were being stripped.
864
- * Bug fix: forms loaded in the footer were missing required Javascript logic.
865
- * Bug fix: Date & Time part was showing incorrect year in the End At field when Show option was changed.
866
 
867
- = 1.5.2 =
868
- * Bug fix: Phone number region country in masked Phone part was defaulting to first option on every load of form builder.
 
 
 
 
 
 
869
 
870
- = 1.5.1 =
871
- * New feature: Table part.
872
- * Improvement: Legal part now accepts formatting with visual editor, including links and lists.
873
- * Improvement: Part specific styles were moved to standalone sections in Style step.
874
- * Improvement: Various improvements to parts CSS and compatibility with themes.
875
- * Bug fix: Some links in Customize screen sidebar were breaking step-by-step navigation.
876
- * Bug fix: Checkbox part was accepting invalid submission values.
877
- * Bug fix: Happyforms link in admin menu bar was returning 404.
878
 
879
- = 1.5.0 =
880
- * Improvement: Forms are now submitted without page refresh.
881
- * Improvement: Submitted values are preserved after an unsuccessful submission.
882
- * Improvement: Added new filters for greater part rendering customization.
883
- * Improvement: Added new actions for integration with third party plugins and tools.
884
- * Improvement: Scale part now support range selection.
885
- * Improvement: Better management of years displayed in Date & Time part.
886
- * Improvement: Order of month and day fields in Date & Time part now defaults to a date format setting in WordPress.
887
- * Improvement: Month names in Date & Time part have been moved to an array and are now easy to translate.
888
- * Bug fix: Various UI glitches affected form previews in Customize screen.
889
- * Bug fix: Various UI glitches affected part rendering of labels and preset values.
890
 
891
- = 1.4.6 =
892
- * Improvement: scripts and styles are now versioned to avoid cache problems after an update.
893
- * Bug fix: Permalinks are now flushed upon activation to avoid 404 errors.
894
- * Bug fix: Dropdown arrows were not clickable and didn't reflect part value color set in Style step.
895
 
896
- = 1.4.5 =
897
- * Improvement: Submit button state is now connected to reCaptcha result and remains disabled until reCaptcha is filled.
898
- * Improvement: Better compatibility with various themes.
899
- * Improvement: Scale part now has a colored tracker and accepts color settings for labels and value output set in Style step.
900
- * Improvement: Scripts are now loaded only when a form is actually present.
901
- * Improvement: Form and responses admin pages are now clean from any third-party plugin effects.
902
- * Bug fix: Add Happyforms overlay was not showing up in some page builders.
903
- * Bug fix: Submit button styles were changing to defaults on hover.
904
- * Bug fix: Various fixes related to styles.
905
 
906
- = 1.4.4 =
907
- * Improvement: New Advanced link to reveal more advanced settings for each part and achieve cleaner look when part is first opened in form builder.
908
- * Improvement: Better compatibility with themes.
909
- * Improvement: Current user's email address is now pre-filled in Your email address field in Step 2.
910
- * Bug fix: Front end placeholder behavior when "Display as placeholder" title placement is selected.
911
- * Bug fix: Responses screen was showing just the first letter of each submitted part.
912
- * Bug fix: PHP notices when Happyforms widget was added to a page in Customizer.
913
 
914
- = 1.4.3 =
915
- * Improvement: Date part is renamed to Date & Time and offers a lot more options, including minimum and maximum value for year and hour inputs, and an option to set inputs to current date and time by default.
916
- * Improvement: Added option to specify the subject of email alerts sent to site owners.
917
- * Improvement: Email alerts now support From, Reply To and multiple CC email addresses.
918
- * Improvement: Address part now lets users grab their current location automatically.
919
- * Bug fix: Responsive behavior of Address and Date & Time form parts.
920
- * Bug fix: Updated code to support versions of PHP down to 5.2.4.
921
 
922
- = 1.4.2 =
923
- * Bug fix: Part widget toggle buttons didn't work on Firefox.
924
- * Bug fix: Part column widths were misbehaving on some themes.
925
 
926
- = 1.4.1 =
927
- * New feature: Form width style control, allowing to set form width in % or px.
928
- * New feature: Text alignment style control to allow for changing text align in various places in forms.
929
- * New feature: Added support for RTL languages with Text direction control in Style step.
930
- * Improvement: Added filters to control default part values and success/error submission actions.
931
- * Bug fix: array_column wasn't available on PHP versions prior to 5.5 and was causing a fatal error.
932
 
933
- = 1.4.0 =
934
- * Bug fix: Powered By Happyforms appearance.
935
 
936
- = 1.3.0 =
937
- * New feature: Parts duplication.
938
- * New feature: “Title placement” setting now features options for displaying title as a placeholder with smooth transition, and place the title directly in the input field.
939
- * New feature: Google ReCaptcha support.
940
- * Improved: Better templates and filter coverage.
941
- * Improved: Modal for adding a form to a content has been redesigned and refactored.
942
- * Improved: Saving a form now displays an extended “Form saved” notice that contains a guide on how to insert form to a content. This message is dismissible.
943
- * Improved: Parts in the Form Builder now show part title for better navigation.
944
- * Improved: Dropdown part with lots of options now only reveals first 5 options on load with the option to reveal them all.
945
- * Improved: Redesigned Style step with lots of new settings to make your forms even better looking.
946
 
947
- = 1.2.0 =
948
- * Bug fix: an error during the example form creation was preventing plugin activation.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
949
 
950
- = 1.1.0 =
951
- * New feature: New form parts - Title, Legal, Scale.
952
- * New feature: Show part description in a tooltip.
953
- * New feature: Button for expanding and collapsing all parts in Form Builder.
954
- * New feature: Added “Add Happyforms” button above visual editor for easier form embeds in page content.
955
- * New feature: Added new fields to Single Choice part to allow for part option descriptions.
956
- * Improved: Better message management.
957
- * Improved: Country part is now Address and supports autocompletion.
958
- * Improved: More controls and better organization of form style options.
959
- * Improved: General form styles.
960
- * Improved: Visual editors now support hyperlinks.
961
- * Improved: Title placement and Width part settings can now be applied to all parts by checking a checkbox.
962
- * Improved: Phone is now a standalone part with improved masking.
963
- * Improved: Number part now supports min and max value attributes.
964
- * Improved: Date part now displays inputs as dropdowns and also allows for time inputs.
965
-
966
- = 1.0.0 =
967
  * Initial release.
968
 
969
  == Upgrade Notice ==
970
 
 
 
 
971
  = 1.19.0 =
972
  * Better display of unlabeled fields, email improvements, miscellaneous bugfixes.
973
 
@@ -1425,7 +1920,7 @@ Aw, honestly, the thought that you're writing about our contact form builder is
1425
  * Tons of new features, improvements and bugfixes.
1426
 
1427
  = 1.2.0 =
1428
- * Bug fix: an error during the example form creation was preventing plugin activation.
1429
 
1430
  = 1.1.0 =
1431
  * Tons of new features and improvements.
5
  Requires at least: 5.0
6
  Tested up to: 6.0
7
  Requires PHP: 7.0
8
+ Stable tag: 1.19.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
141
  * Happy Forms (incorrect)
142
  * Happy Form (incorrect)
143
 
144
+ == Installation ==
145
+
146
+ Getting your plugin up and working takes just a few clicks:
147
+
148
+ 1. Head over to **Plugins** in WordPress dashboard and click **Add New**.
149
+ 2. In the "Search plugins…" field, type “Happyforms”.
150
+ 3. Find Happyforms in the search results, hover over it, and click **Install**.
151
+ 4. Once it is installed, click **Activate**.
152
+
153
+ That's it! It's ready to go. Nicely done.
154
+
155
+ WordPress is also really bad a sending emails. So if you haven't already, we always recommend you [set up a free SMTP plugin](https://wordpress.org/plugins/search/smtp/).
156
+
157
+ If you ever have questions, [just ask us](https://wordpress.org/support/plugin/happyforms/). We’ve swept the nacho crumbs from our keyboards, refilled our ginger beers and are ready to help.
158
+
159
+ And so you know, we don't outsource support. You can expect plain-talkin' help from someone who has a hand in making Happyforms.
160
+
161
  == Changelog ==
162
 
163
+ = October 14, 2022 =
 
 
 
 
164
 
165
+ Version 1.19.1 changelog:
 
166
 
167
+ * Added: Installation tab with common starting tips has been added to Happyforms' plugin page on the WordPress.org directory.
168
+ * Changed: Sample form created on activation has been simplified for better reusability.
169
+ * Changed: Changelog format has been improved to show release dates and more uniform entry types.
170
+ * Fixed: Quotes in Messages tab were incorrectly handled and caused data loss.
171
+ * Fixed: An incorrect call to `the_title` filter was causing compatibility issues with third-party themes and plugins.
172
 
173
+ = September 28, 2022 =
 
 
 
 
174
 
175
+ Version 1.19.0 changelog:
 
176
 
177
+ * Changed: "Include reply link" and "Include referral web address" have been replaced by default links in emails for better coherency with WordPress core behavior.
178
+ * Changed: Unlabeled fields are now displayed accordingly to WordPress core defaults for better readability.
179
+ * Removed: "Fill out this form again" link has been removed to avoid confusion upon successful submissions.
180
+ * Fixed: Submitted values that included special characters were erroneously converted to HTML entities.
181
 
182
+ = September 2, 2022 =
 
 
 
 
 
183
 
184
+ Version 1.18.1 changelog:
 
 
 
185
 
186
+ * Fixed: On some setups, Dropdown field's default choices wouldn't be selected by default.
 
 
 
187
 
188
+ = August 31, 2022 =
 
 
 
 
 
 
 
 
189
 
190
+ Version 1.18.0 changelog:
 
 
 
191
 
192
+ * Changed: Forms are now automatically hidden after a successful submission, and a "Fill out this form again" link lets submitters submit again for better usability.
193
+ * Changed: Control labels in the builder have been reworded for better clarity.
 
 
194
 
195
+ = August 11, 2022 =
 
 
 
196
 
197
+ Version 1.17.0 changelog:
 
 
 
 
 
 
198
 
199
+ * Changed: All sections in Style tab are now always visible for easier access to controls.
200
+ * Changed: Choice based fields build interface has been tidied up and made more coherent.
201
+ * Changed: Display of untitled forms in dashboard screen is now more consistent with WordPress display of untitled posts.
202
+ * Changed: Form styles are now packaged in a single bundle for better performance and cache friendliness.
 
 
203
 
204
+ = July 19, 2022 =
 
 
205
 
206
+ Version 1.16.1 changelog:
 
 
207
 
208
+ * Added: "Bulk Add Choices" control for easily adding long lists of choices to Radio, Checkbox and Dropdown fields.
 
209
 
210
+ = June 30, 2022 =
 
211
 
212
+ Version 1.16.0 changelog:
 
 
213
 
214
+ * Changed: Reworded dashboard and builder labels to improve usability.
215
+ * Changed: Empty labels in emails now won't result in excessive whitespace.
 
 
 
 
 
 
216
 
217
+ = June 13, 2022 =
 
218
 
219
+ Version 1.15.4 changelog:
 
220
 
221
+ * Added: "To email address" control under "Email me a copy of each submission" allows for more granular control of email settings.
222
+ * Added: "Reply email address" control under "Email me a copy of each submission" for easier exchanges with submitting users.
223
+ * Changed: "Added to" column in Forms screen now lists templates and reusable blocks for better integration with WordPress.
224
+ * Changed: Interface of choices in all choice-based fields has been redesigned for better usability and clarity.
225
+ * Fixed: Display of fields with limited choices wasn't updating correctly in builder's preview screen.
226
 
227
+ = May 24, 2022 =
 
228
 
229
+ Version 1.15.3 changelog:
 
 
230
 
231
+ * Added: Submissions are checked against headless browsers for better antispam protection.
232
+ * Changed: Field choices preserves its shuffled state when a validation occurs on submission for better usability.
233
+ * Changed: Better wording and style fixes in the form builder.
 
234
 
235
+ = May 10, 2022 =
 
 
 
 
 
 
 
 
236
 
237
+ Version 1.15.2 changelog:
 
 
 
 
238
 
239
+ * Added: "Screen Options" tab now includes "View mode" for better consistency with core WordPress.
240
+ * Changed: Installation data is now deleted automatically on plugin removal for easier deactivation.
241
+ * Changed: Better linear spacing for all choice-based field controls.
 
 
242
 
243
+ = April 25, 2022 =
 
 
 
 
 
244
 
245
+ Version 1.15.1 changelog:
 
246
 
247
+ * Added: Checksum-based verification system against repeated spam submissions.
248
+ * Added: Added "Headings" for Radio, Checkbox, and Dropdown field choices.
249
+ * Changed: Happyforms block now displays a notice when a form published on page was trashed.
250
+ * Changed: Re-arranged the position of "Require an Answer" control for better consistency.
251
+ * Changed: Renamed "Limit submissions" control to "Max number of submissions" in all choice-type fields.
252
+ * Changed: Improved usability of "Min number" and "Max number" controls in Number field.
253
+ * Changed: In all choice-type fields, remaining submissions are now shown by default.
254
+ * Fixed: Validation error on optional field with min/max requirements.
255
 
256
+ = April 4, 2022 =
 
 
 
 
 
 
 
257
 
258
+ Version 1.15.0 changelog:
 
259
 
260
+ * Changed: All frontend scripts are now bundled in a single file for better performance and cache friendliness.
261
+ * Fixed: Duplicating a form would throw an error on PHP 8.0.
262
+ * Fixed: "Limit how many times this choice can be submitted" counters were being wrongly copied to duplicated forms.
 
263
 
264
+ = March 21, 2022 =
 
265
 
266
+ Version 1.14.3 changelog:
 
 
 
 
267
 
268
+ * Changed: Tidied up horizontal and vertical alignment of notices.
269
+ * Changed: Forms are now sorted by "last modified" date for easier management.
270
+ * Changed: All instances of a form's navigational controls have been turned into buttons for better accessibility.
 
 
 
271
 
272
+ = February 28, 2022 =
 
 
 
273
 
274
+ Version 1.14.2 changelog:
 
275
 
276
+ * Added: "Step Interval" control allows for fine tuning the incrementing interval of Number field.
277
+ * Changed: "Make this choice default" control now supports multiple choices in Checkbox field.
278
+ * Fixed: Dropdown field was ignoring some style settings.
279
 
280
+ = February 15, 2022 =
 
 
 
 
 
281
 
282
+ Version 1.14.1 changelog:
 
 
 
283
 
284
+ * Added: "Hint" control for adding descriptive text to Radio and Checkbox field choices.
285
+ * Changed: Nicer vertical alignment of choices spanning multiple lines in Radio and Checkbox fields.
286
+ * Changed: "Align choices" control is now a button group for better usability.
287
+ * Changed: Exhausted choices are now always tagged with "(0 remaining)" to avoid confusion.
288
+ * Changed: All instances of "submit" type inputs have been replaced with buttons for easier styling.
289
+ * Changed: All custom form dropdowns have been replaced with their native counterparts for better performance and accessibility.
290
 
291
+ = January 24, 2022 =
 
292
 
293
+ Version 1.14.0 changelog:
 
 
294
 
295
+ * Changed: Nonce checks have been removed for improved compatibility with cache plugins.
296
+ * Removed: "Tooltip" styling for field hints has been deprecated to improve usability of forms.
297
+ * Removed: "Add 'select all' choice" was redundant and has been deprecated.
298
+ * Removed: Long Text field's more lightweight with "Add rich text editor toolbar" deprecation.
299
+ * Fixed: Form width was rendered incorrectly on specific PHP versions.
300
 
301
+ = January 6, 2022 =
 
 
 
302
 
303
+ Version 1.13.12 changelog:
 
 
 
304
 
305
+ * Removed: Long Text field "Rows" behaved inconsistently and has been removed.
306
+ * Removed: "Add other choice" control has been deprecated in favor of conditional logic.
 
307
 
308
+ = December 14, 2022 =
 
 
 
 
 
 
 
 
309
 
310
+ Version 1.13.11 changelog:
 
 
311
 
312
+ * Changed: Miscellaneous improvements to Forms screen.
313
+ * Changed: New filter allows finer control of assets loading.
314
 
315
+ = December 4, 2022 =
 
316
 
317
+ Version 1.13.10 changelog:
 
 
 
 
318
 
319
+ * Fixed: Email tab settings weren't correctly saved.
 
 
 
 
320
 
321
+ = November 29, 2021 =
 
322
 
323
+ Version 1.13.9 changelog:
 
324
 
325
+ * Fixed: A trailing comma was triggering errors on old versions of PHP.
 
 
 
326
 
327
+ = November 29, 2021 =
 
328
 
329
+ Version 1.13.8 changelog:
 
 
 
 
 
330
 
331
+ * Added: "All Forms" screen now shows where a form is being used.
332
+ * Changed: Better support for international emails and website addresses.
 
333
 
334
+ = November 9, 2021 =
 
 
335
 
336
+ Version 1.13.7 changelog:
 
 
337
 
338
+ * Added: Reset buttons allow for resetting fields to defaults in Messages tab.
339
+ * Changed: Redesigned the sample form to better showcase current features.
340
+ * Changed: Better forms actions notices.
341
+ * Changed: Simplified field naming.
342
+ * Fixed: Date-Time field validation was misbehaving.
343
+ * Fixed: Validation of fields with "Limit submissions" was misbehaving.
344
+ * Fixed: Deprecated controls were showing up in Style tab.
345
 
346
+ = October 20, 2021 =
 
 
 
 
347
 
348
+ Version 1.13.6 changelog:
 
 
 
 
349
 
350
+ * Changed: Legacy Forms widgets can now be transformed into blocks.
 
 
 
 
 
351
 
352
+ = October 12, 2021 =
 
 
 
353
 
354
+ Version 1.13.5 changelog:
 
 
355
 
356
+ * Fixed: Jetpack synchronization was triggering a fatal error.
 
357
 
358
+ = October 6, 2021 =
 
359
 
360
+ Version 1.13.4 changelog:
 
 
 
 
361
 
362
+ * Changed: Better selection and insertion of forms in block interface.
363
+ * Removed: "Message location" control led to degraded usability.
364
+ * Removed: "Title" section in "Style" tab added clutter and duplicated core functionality.
 
 
365
 
366
+ = September 27, 2021 =
 
 
367
 
368
+ Version 1.13.3 changelog:
 
 
369
 
370
+ * Fixed: A typo was causing errors on older PHP versions.
 
 
371
 
372
+ = September 23, 2021 =
 
 
373
 
374
+ Version 1.13.2 changelog:
 
375
 
376
+ * Changed: Faster preview of Layout Text changes.
377
+ * Fixed: Honeypot mechanism was triggering browser autocomplete, preventing submissions.
378
 
379
+ = September 7, 2021 =
 
380
 
381
+ Version 1.13.1 changelog:
 
382
 
383
+ * Added: HTML anchor on form block.
384
+ * Fixed: Dropdown item font size doesn't match form style setting.
385
+ * Fixed: Form width preview not updating.
386
 
387
+ = August 11, 2021 =
 
388
 
389
+ Version 1.13.0 changelog:
390
+
391
+ * Added: Long Answer field now supports rich-text editing.
392
+ * Added: Alphabetical choices, "other" choice, randomization, submission limiting support for Single Choice field.
393
+ * Added: Alphabetical choices, "other" choice, randomization, submission limiting support for Multiple Choice field.
394
+ * Added: "Other" choice, randomization, submission limiting support for Dropdown field.
395
+ * Fixed: Widget was misbehaving with new block-based Widgets screen.
396
+ * Fixed: Number field custom separators weren't working correctly.
397
+ * Fixed: Prefilled Long Answer field had styling glitches.
398
+ * Fixed: Long Answer field Limit words/characters controls had validation issues.
399
+
400
+ = July 20, 2021 =
401
+
402
+ Version 1.12.12 changelog:
403
+
404
+ * Changed: Fields with validation errors are now marked with a CSS class for easier styling.
405
+ * Changed: Browser autocompletion has been disabled everywhere for more consistent behavior.
406
+ * Changed: Forms now scroll to top only when partially out of the viewport.
407
+ * Fixed: "Add custom CSS classes to submit button" was misbehaving.
408
+
409
+ = July 5, 2021 =
410
+
411
+ Version 1.12.11 changelog:
412
+
413
+ * Changed: Deactivation popup allows for keeping or deleting saved data.
414
+ * Changed: Forms block now supports additional CSS classes.
415
+ * Fixed: Arrows in dropdowns were ignoring Style settings.
416
+ * Fixed: Duplicating and drag-dropping fields in the builder was scrolling the field list to the top.
417
+
418
+ = June 15, 2021 =
419
+
420
+ Version 1.12.10 changelog:
421
+
422
+ * Changed: More effective honeypot protection.
423
+ * Changed: Javascript dependencies for tooltips are now loaded only when necessary.
424
+ * Changed: Restored `happyforms_enqueue_style` filter for completely disabling frontend styles.
425
+ * Fixed: "Additional CSS" screen was stripping slashes from CSS code.
426
+ * Fixed: Error notices were ignoring color settings.
427
+
428
+ = May 26, 2021 =
429
+
430
+ Version 1.12.9 changelog:
431
+
432
+ * Fixed: Jetpack synchronization was triggering a fatal error.
433
+
434
+ = May 24, 2021 =
435
+
436
+ Version 1.12.8 changelog:
437
+
438
+ * Changed: Safer builder controls internal API.
439
+
440
+ = May 19, 2021 =
441
+
442
+ Version 1.12.7 changelog:
443
+
444
+ * Changed: Dashboard element colors have been brought in line with core.
445
+ * Changed: Hints are now shown below field labels.
446
+ * Changed: Date column in "All forms" screen now shows the last modified date.
447
+ * Changed: Empty titles and labels are now displayed as placeholders in the builder.
448
+ * Fixed: Onboarding overlay could cause an infinite redirect loop in some scenarios.
449
+ * Fixed: Dropdowns weren't working correctly when long-pressing on choices.
450
+ * Fixed: Some options in Messages tab weren't saving correctly.
451
+
452
+ = April 29, 2021 =
453
+
454
+ Version 1.12.6 changelog:
455
+
456
+ * Fixed: A missing file error was being thrown right after update.
457
+
458
+ = April 28, 2021 =
459
+
460
+ Version 1.12.5 changelog:
461
+
462
+ * Changed: Style tab "Additional CSS" section now triggers real-time updates.
463
+ * Changed: Better keyboard navigation in dropdown-based fields.
464
+ * Changed: New control allows for setting a label for required fields.
465
+
466
+ = April 13, 2021 =
467
+
468
+ Version 1.12.4 changelog:
469
+
470
+ * Fixed: Hiding labels was changing fields width.
471
+
472
+ = April 12, 2021 =
473
+
474
+ Version 1.12.3 changelog:
475
+
476
+ * Added: Labels can now be toggled on a per-field basis.
477
+ * Changed: Better support for Elementor popups.
478
+ * Changed: Long Answer field now suppports a minimum of 2 rows.
479
+ * Fixed: Screen reader styles were causing glitches on some themes.
480
+
481
+ = April 1, 2021 =
482
+
483
+ Version 1.12.2 changelog:
484
+
485
+ * Changed: All dropdowns become searchable automatically with more than 6 choices.
486
+ * Fixed: "Add Media" button in Email tab wasn't working.
487
+ * Fixed: Submit button styles were misbehaving.
488
+ * Fixed: Restored forms were getting stuck in "draft" state.
489
+ * Fixed: Searchable dropdowns were misbehaving.
490
+
491
+ = March 20, 2021 =
492
+
493
+ Version 1.12.1 changelog:
494
+
495
+ * Changed: Better compatibility with 3rd party popups.
496
+ * Fixed: Form couldn't be added to ACF rich text editor fields.
497
+ * Fixed: Trashed and deleted forms where showing up in form widget.
498
+
499
+ = March 9, 2021 =
500
+
501
+ Version 1.12.0 changelog:
502
+
503
+ * Changed: Removed jQuery deprecations.
504
+
505
+ = March 4, 2021 =
506
+
507
+ Version 1.11.1 changelog:
508
+
509
+ * Fixed: Form title "Display" control wasn't working.
510
+
511
+ = March 3, 2021 =
512
+
513
+ Version 1.11.0 changelog:
514
+
515
+ * Changed: Better support for 3rd party popup plugins.
516
+ * Changed: Better support for tab navigation in Dropdown field.
517
+ * Fixed: Dropdown field searchable functionality was misbehaving.
518
+ * Fixed: Form title "Display" control wasn't working.
519
+ * Fixed: Validation of optional Long Answer fields with character counting was misbehaving.
520
+
521
+ = February 16, 2021 =
522
+
523
+ Version 1.10.0 changelog:
524
+
525
+ * Added: Messages tab in Edit Form screen allows for complete language customization.
526
+ * Added: Prefill control for setting a default value on Short Text, Long Text, Email Address and Number fields.
527
+ * Fixed: "Email respondent a copy of their submission" → "Include submitted" feature was misbehaving.
528
+
529
+ = February 1, 2021 =
530
+
531
+ Version 1.9.30 changelog:
532
+
533
+ * Changed: Better styling control for choice fields option labels.
534
+
535
+ = February 1, 2021 =
536
+
537
+ Version 1.9.29 changelog:
538
+
539
+ * Changed: updated FAQs and contributors.
540
+
541
+ = January 11, 2021 =
542
+
543
+ Version 1.9.28 changelog:
544
+
545
+ * Changed: Better naming of form class attributes.
546
+ * Fixed: Edit Form screen wouldn't work with custom Site Address settings.
547
+
548
+ = December 18, 2021 =
549
+
550
+ Version 1.9.27 changelog:
551
+
552
+ * Changed: Form title is not rendered at all when set to "hidden".
553
+ * Fixed: Fields with prefix and suffix support where being validated as always filled.
554
+
555
+ = December 2, 2021 =
556
+
557
+ Version 1.9.26 changelog:
558
+
559
+ * Changed: Style → Additional CSS now updates preview in realtime.
560
+ * Changed: Added filter to force style output for compatibility with 3rd party plugins.
561
+ * Fixed: Hidden form title was being displayed in widget previews.
562
+
563
+ = November 13, 2020 =
564
+
565
+ Version 1.9.25 changelog:
566
+
567
+ * Changed: Added "Prefix" control to Email field.
568
+ * Changed: Better refresh performance of "Fields Labels & Text" → "Label display" control.
569
+ * Fixed: "Fields Borders & Spacing" → "Inner Spacing" control was unresponsive.
570
+
571
+ = October 30, 2020 =
572
+
573
+ Version 1.9.24 changelog:
574
+
575
+ * Fixed: Setting "Label display" to "Hidden" was hiding the form in the block editor.
576
+ * Fixed: A missing trailing slash in Edit Form preview frame was causing issues on some server configurations.
577
+
578
+ = October 15, 2020 =
579
+
580
+ Version 1.9.23 changelog:
581
+
582
+ * Changed: "Label display" control was made global and moved to Style step.
583
+ * Changed: "Description display" control was made global and moved to Style step.
584
+ * Changed: Empty labels were triggering usability errors on common usability check tools.
585
+ * Fixed: Happyforms block wasn't remembering the selected form.
586
+ * Fixed: Email messages were being sent with empty headers in some cases.
587
+ * Fixed: Single Choice "Make this choice default" was misbehaving.
588
+ * Fixed: Archived and trashed forms were being displayed in shortcode/block form selection dropdown.
589
+ * Fixed: Output buffering was causing errors in Oxygen Builder.
590
+
591
+ = October 6, 2020 =
592
+
593
+ Version 1.9.22 changelog:
594
+
595
+ * Fixed: Rich text editors in field configuration widgets were misbehaving after a drag and drop operation.
596
+ * Fixed: A Block Editor block parameter was triggering errors on WordPress >= 5.5.
597
+
598
+ = October 2, 2020 =
599
+
600
+ Version 1.9.21 changelog:
601
+
602
+ * Changed: better usability of various elements of Edit Form screen.
603
+
604
+ = September 18, 2020 =
605
+
606
+ Version 1.9.20 changelog:
607
+
608
+ * Fixed: Fixed wrapping glitches with long labels and descriptions.
609
+
610
+ = September 4, 2020 =
611
+
612
+ Version 1.9.19 changelog:
613
+
614
+ * Fixed: Centered labels weren't working when set to 'Below'.
615
+ * Fixed: Description tooltips were rendering twice in the same field.
616
+ * Fixed: `--happyforms-form-width` was missing a default unit.
617
+ * Fixed: 'Show a thank you message' setting wasn't working.
618
+
619
+ = August 11, 2020 =
620
+
621
+ Version 1.9.18 changelog:
622
+
623
+ * Added: New "Email display name" control allows for custom email display name in email alerts.
624
+ * Fixed: Shortcode script was causing issues with Advanced Custom Fields frontend forms.
625
+ * Fixed: Email confirmation controls were being toggled under wrong conditions.
626
+ * Fixed: Long Answer field was generating excessive whitespace in emails and dashboard screens.
627
+
628
+ = July 29, 2020 =
629
+
630
+ Version 1.9.17 changelog:
631
+
632
+ * Changed: Improved tooltip display with collision detection.
633
+
634
+ = July 20, 2020 =
635
+
636
+ Version 1.9.16 changelog:
637
+
638
+ * Fixed: Style tab in form builder was not loading.
639
+
640
+ = July 17, 2020 =
641
+
642
+ Version 1.9.15 changelog:
643
+
644
+ * Changed: Tooltip icon now displays next to label instead of inside field input and inherits label color.
645
+ * Changed: Various improvements to form styles and UI.
646
+ * Fixed: Stale Unique ID field was triggering errors in email alerts.
647
+
648
+ = July 3, 2020 =
649
+
650
+ Version 1.9.14 changelog:
651
+
652
+ * Fixed: Masked Number field had wrong type HTML attribute and was not accepting more than four digits.
653
+
654
+ = July 1, 2020 =
655
+
656
+ Version 1.9.13 changelog:
657
+
658
+ * Added: Rows control added to Long Answer field.
659
+ * Changed: New icons for form fields in form builder.
660
+ * Changed: Various improvements to form builder and front-end styles.
661
+ * Fixed: Sorting fields in form builder made the container always scroll to top instead of preserving its scrolling position.
662
+ * Fixed: When suffix was set on a field with tooltip, the tooltip icon and suffix were overlapping.
663
+
664
+ = June 13, 2020 =
665
+
666
+ Version 1.9.12 changelog:
667
+
668
+ * Changed: Updated part icons.
669
+ * Changed: Various style improvements to form builder and front-end.
670
+
671
+ = May 29, 2020 =
672
+
673
+ Version 1.9.11 changelog:
674
+
675
+ * Changed: Improved form builder compatibility with various plugins and themes, including Oxygen Builder.
676
+ * Changed: Various improvements to form builder UI and front-end styles.
677
+
678
+ = May 12, 2020 =
679
+
680
+ Version 1.9.10 changelog:
681
+
682
+ * Changed: Various improvements to form builder screen.
683
+ * Fixed: Multiple dropdown parts were causing JS error in multi-step forms.
684
+
685
+ = April 30, 2020 =
686
+
687
+ Version 1.9.9 changelog:
688
+
689
+ * Changed: Improved compatibility with latest version of Divi.
690
+ * Fixed: Fixed appearance of Submit button when displayed in line with form part.
691
+ * Fixed: Fixed double border issue in Style step.
692
+ * Fixed: Fixed "Reveal on focus" description mode in parts that support Prefix and Suffix.
693
+
694
+ = April 14, 2020 =
695
+
696
+ Version 1.9.8 changelog:
697
+
698
+ * Changed: Improved appearance and available tools in visual editors.
699
+ * Fixed: Fixed Email part which was not allowing empty value even when marked as optional part.
700
+ * Fixed: Fixed font size sliders in Style tab that were not updating preview.
701
+ * Fixed: Fixed broken appearance of inputs when "Label display" setting was set to "Inside".
702
+
703
+ = March 27, 2020 =
704
+
705
+ Version 1.9.7 changelog:
706
+
707
+ * Changed: New “Confirm submission” control in Setup step.
708
+ * Changed: Various improvements to Happyforms UI.
709
+ * Changed: Compatibility with WordPress 5.4.
710
+ * Fixed: Form width slider in Style tab → General was not updating value in preview.
711
+
712
+ = March 11, 2020 =
713
+
714
+ Version 1.9.6 changelog:
715
+
716
+ * Changed: When searching for specific choice in Dropdown part, a configurable "No results" message is shown if no choice is found.
717
+ * Changed: Custom HTML ID of the form using "Form HTML ID" control can now be toggled by checking "Use custom HTML ID" control.
718
+ * Fixed: Form ID used as a prefix for all selectors in Additional CSS section in Style tab was using ID of child element instead of parent.
719
+ * Fixed: Number part was returning an error when 0 was submitted even if when it was in specified range of min and max value.
720
+ * Fixed: Various fixes related to front-end and form builder UI styles.
721
+
722
+ = February 21, 2020 =
723
+
724
+ Version 1.9.5 changelog:
725
+
726
+ * Added: Added support for prefix and suffix in Short Text, Email, and Number part inputs.
727
+ * Added: Added support for input placeholder in confirmation fields.
728
+ * Changed: Various improvements to front-end styles and form builder UI.
729
+
730
+ = February 7, 2020 =
731
+
732
+ Version 1.9.4 changelog:
733
+
734
+ * Changed: Various improvements to general look and feel of validation messages.
735
+ * Changed: Improved accessibility of validation messages.
736
+
737
+ = February 5, 2020 =
738
+
739
+ Version 1.9.3 changelog:
740
+
741
+ * Fixed: Choices marked checked as default were displaying checked HTML attribute on front-end.
742
+
743
+ = January 23, 2020 =
744
+
745
+ Version 1.9.2 changelog:
746
+
747
+ * Added: Additional CSS section in Style tab allowing to write custom styles for each individual form.
748
+
749
+ = January 10, 2020 =
750
+
751
+ Version 1.9.1 changelog:
752
+
753
+ * Added: Quarter width setting for parts and part choices.
754
+ * Changed: Various improvements to Happyforms UI styles.
755
+ * Changed: Improved compatibility of form part styles with some themes.
756
+ * Fixed: Fixed choice parts not saving "Checked by default" setting.
757
+
758
+ = December 19, 2020 =
759
+
760
+ Version 1.9.0 changelog:
761
+
762
+ * Added: Date filter on All Forms screen now allows you to filter forms by date added.
763
+ * Changed: Email controls are now grouped in a dedicated step.
764
+ * Changed: Additional email controls for sender and reply-to addresses.
765
+ * Changed: Various improvements to UI styles, wording, and default values of parts.
766
+
767
+ = December 3, 2020 =
768
+
769
+ Version 1.8.22 changelog:
770
+
771
+ * Changed: Improved plugin's text domain for better management of translations.
772
+ * Changed: Various improvements to Happyforms UI styles and frontend.
773
+
774
+ = November 21, 2019 =
775
+
776
+ Version 1.8.21 changelog:
777
+
778
+ * Added: Added Help tab to all Happyforms screens, providing easy access to help guide and our email support.
779
+ * Changed: All Forms screen improvements.
780
+
781
+ = November 5, 2019 =
782
+
783
+ Version 1.8.20 changelog:
784
+
785
+ * Changed: Various improvements related to builder and front-end styles.
786
+ * Changed: Compatibility with WordPress 5.3.
787
+
788
+ = October 25, 2019 =
789
+
790
+ Version 1.8.19 changelog:
791
+
792
+ * Added: Added new control "Hide form on submission" to Step 2.
793
+ * Changed: Various improvements to styles and wording in form builder UI.
794
+
795
+ = October 15, 2019 =
796
+
797
+ Version 1.8.18 changelog:
798
+
799
+ * Fixed: Fix bug with submitted values not displaying in email notifications.
800
+
801
+ = October 12, 2019 =
802
+
803
+ Version 1.8.17 changelog:
804
+
805
+ * Added: Choices width control to allow for multi-column layouts in Single Choice and Multiple Choice part.
806
+
807
+ = September 25, 2019 =
808
+
809
+ Version 1.8.16 changelog:
810
+
811
+ * Changed: Happyforms form builder styles update.
812
+
813
+ = August 29, 2019 =
814
+
815
+ Version 1.8.15 changelog:
816
+
817
+ * Fixed: Fix admin notices.
818
+
819
+ = August 15, 2019 =
820
+
821
+ Version 1.8.14 changelog:
822
+
823
+ * Added: Form error message and required field label are now easy to edit in Step 2.
824
+
825
+ = August 1, 2019 =
826
+
827
+ Version 1.8.13 changelog:
828
+
829
+ * Fixed: Fixed error caused by admin notices during Wp Cron task execution.
830
+
831
+ = July 30, 2019 =
832
+
833
+ Version 1.8.12 changelog:
834
+
835
+ * Fixed: Fixed error caused by admin notices class not available in some contexts.
836
+
837
+ = July 26, 2019 =
838
+
839
+ Version 1.8.11 changelog:
840
 
 
841
  * Update: Moved various features to the upgraded plan.
842
 
843
+ = July 4, 2019 =
 
844
 
845
+ Version 1.8.10 changelog:
 
 
 
 
846
 
847
+ * Fixed: Fixed fatal error when visiting Appearance -> Customize screen.
 
 
848
 
849
+ = July 3, 2019 =
 
 
 
850
 
851
+ Version 1.8.9 changelog:
 
852
 
853
+ * Added: New 'Google reCAPTCHA theme' setting in Style step.
854
+ * Changed: Various improvements to styles in Happyforms UI.
855
+ * Fixed: Email part with confirmation value didn't work with 'Fade submit until valid' option.
856
+ * Fixed: Date & Time part did not reflect EU date format in preview step and email.
 
857
 
858
+ = May 29, 2019 =
 
 
859
 
860
+ Version 1.8.8 changelog:
 
861
 
862
+ * Fixed: Some parts caused notices in Customizer screen.
863
+ * Fixed: Small fixes related to styles.
864
 
865
+ = May 17, 2019 =
866
+
867
+ Version 1.8.7 changelog:
868
+
869
+ * Changed: Small fixes and improvements related to styles and form builder UI.
870
+ * Fixed: Setting Scale part to multirange mode broke appearance of its sliders.
871
+ * Fixed: Email subject was ignoring parts configured to populate it.
872
+
873
+ = May 9, 2019 =
874
+
875
+ Version 1.8.6 changelog:
876
+
877
+ * Fixed: Avoid database cleanup for upgraded users.
878
+
879
+ = May 9, 2019 =
880
+
881
+ Version 1.8.5 changelog:
882
+
883
+ * Changed: Added label to HoneyPot input along with screen reader text for better accessibility compliance.
884
+ * Fixed: Reply-to email handling was misbehaving.
885
+ * Fixed: Sample form wasn't being installed on activation.
886
+ * Fixed: Overlays' display: none rule was ignored on some setups.
887
+
888
+ = May 4, 2019 =
889
+
890
+ Version 1.8.4 changelog:
891
+
892
+ * Fixed: Migrations were triggering errors during activation.
893
+ * Fixed: Reply-to email handling had been deactivated.
894
+
895
+ = May 2, 2019 =
896
+
897
+ Version 1.8.3 changelog:
898
+
899
+ * Fixed: A typo in helper file was preventing submissions from completing.
900
+
901
+ = May 2, 2019 =
902
+
903
+ Version 1.8.2 changelog:
904
+
905
+ * Fixed: Wrong email template path was preventing submissions from completing.
906
+
907
+ = May 2, 2019 =
908
+
909
+ Version 1.8.1 changelog:
910
+
911
+ * Fixed: A typo in helper file was preventing submissions from completing.
912
+
913
+ = May 2, 2019 =
914
+
915
+ Version 1.8.0 changelog:
916
 
 
917
  * Removed: Responses
918
 
919
+ = April 25, 2019 =
 
 
 
920
 
921
+ Version 1.7.10 changelog:
 
 
922
 
923
+ * Added: Added 'Include submitted values' option in Step 2 that allows you to send submitted data in a confirmation email sent to a user.
924
+ * Changed: Multi-line and Text Editor parts now support minimium and maximum character and word counter.
925
+ * Fixed: Long Text part was ignoring new lines when displaying submitted value in email.
 
 
 
 
926
 
927
+ = April 16, 2019 =
 
928
 
929
+ Version 1.7.9 changelog:
 
 
 
 
 
930
 
931
+ * Fixed: Redirect URL feature could cause fatal error in some environments.
932
+ * Fixed: Alignment fixes in form preview step.
 
 
933
 
934
+ = April 11, 2019 =
 
 
935
 
936
+ Version 1.7.8 changelog:
 
 
 
 
 
937
 
938
+ * Added: It's now possible to configure Bcc addresses for email alerts.
939
+ * Added: Narrative part now supports input placeholders between brackets.
940
+ * Added: Open redirect link in a new tab.
941
+ * Changed: Better sample forms and responses created when activating plugin for the first time.
942
+ * Changed: Various improvements to form styles and alignment.
943
+ * Fixed: Forms created in 1.6.x versions weren't working because of a data format error.
944
 
945
+ = April 2, 2019 =
 
 
 
 
946
 
947
+ Version 1.7.7 changelog:
 
 
 
 
 
 
 
 
 
 
 
 
948
 
949
+ * Fixed: Form was scrolling to the top of the page after a submission.
 
 
950
 
951
+ = March 30, 2019 =
 
 
952
 
953
+ Version 1.7.6 changelog:
 
 
 
 
 
 
 
 
954
 
955
+ * Fixed: Legal part was throwing a notice when there was a part before and after it.
956
+ * Fixed: Part padding set to Narrow caused no gutter between parts.
957
+ * Fixed: Long Text part kept submit button disabled even when value was valid.
958
+ * Fixed: Long Text part with title set to Display as placeholder was not collapsing label correctly after filling the value.
959
+ * Fixed: Remove unneeded editor.js dependency in Long Text part.
960
 
961
+ = March 27, 2019 =
 
 
 
 
962
 
963
+ Version 1.7.5 changelog:
 
964
 
965
+ * Added: Realtime character counter for Long Text and Text Editor parts.
966
+ * Added: New styles and style controls for form notices.
967
+ * Changed: New `happyforms_get_honorifics` filter allows for custom honorific titles.
 
 
 
 
968
 
969
+ = March 15, 2019 =
 
970
 
971
+ Version 1.7.4 changelog:
 
 
 
 
 
972
 
973
+ * Fixed: Submit button styles in Style step were not applying to submit button due to wrong selector.
974
+ * Fixed: `happyforms_enqueue_style` filter for disabling styles were not taken to consideration when loading color.css.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
975
 
976
+ = March 13, 2019 =
 
 
 
977
 
978
+ Version 1.7.3 changelog:
 
 
 
 
 
 
979
 
980
+ * Added: 'Select All' option added to Multiple Choice part that can be set in part's Advanced options.
981
+ * Changed: Better styles for disabled Submit button.
982
+ * Changed: Removed responses now get trashed instead of getting completely destroyed.
983
+ * Changed: Duplicating a part now places it right after the original part.
984
+ * Fixed: Improved behavior of Dropdowns on focus, blur, and when using down facing caret to trigger dropdown.
 
985
 
986
+ = February 28, 2019 =
 
 
 
 
 
 
 
 
 
 
 
987
 
988
+ Version 1.7.2 changelog:
 
 
989
 
990
+ * Changed: Added date days filter.
991
+ * Changed: Easier filtering of email message fields.
992
+ * Fixed: Phone part wasn't showing correct country flag when same prefix is used by more than one country.
 
993
 
994
+ = February 27, 2019 =
 
 
 
 
 
 
 
 
 
995
 
996
+ Version 1.7.1 changelog:
 
 
997
 
998
+ * Changed: A Javascript event is triggered after a form submission.
999
+ * Changed: Notices font family and weight are now theme independent.
1000
+ * Fixed: Query caching was causing issues on some hosts.
1001
+ * Fixed: A Javascript error was triggered when no notices are shown after a form submit.
1002
 
1003
+ = February 22, 2019 =
 
 
 
 
1004
 
1005
+ Version 1.7.0 changelog:
 
 
 
 
 
 
 
 
1006
 
1007
+ * Added: Added new control to Step 2 for adding custom HTML class to submit button.
1008
+ * Changed: ReCaptcha now loads language based on site locale settings.
1009
+ * Changed: Long forms now work beyond server max_input_vars limitation.
1010
+ * Changed: Better handling of email message carbon copy addresses and more powerful filters.
1011
+ * Changed: Empty optional parts are now hidden in notification email.
1012
+ * Changed: Better styles for left titled forms and improved behavior of Title alignment control in Style step.
1013
+ * Changed: Moved 'Form HTML ID' and 'Disable submit button until valid' from Style step to Build step for better context.
1014
+ * Changed: Added configurable label for ReCaptcha to improve accessibility.
1015
+ * Changed: Various other improvements to UI and form styles.
1016
+ * Fixed: Forms were scrolling to the wrong position with notices appearing below.
1017
+ * Fixed: Phone part didn't allow to pick country from dropdown after Email part was filled.
1018
+ * Fixed: Phone part was retaining previous country code when switching countries.
1019
 
1020
+ = February 16, 2019 =
 
1021
 
1022
+ Version 1.6.22 changelog:
 
1023
 
1024
+ * Changed: Improvements to admin notices behavior and styles.
1025
+ * Fixed: Fix Legal part's undefined offset error in HTML class.
1026
 
1027
+ = February 13, 2019 =
 
1028
 
1029
+ Version 1.6.21 changelog:
 
 
 
 
 
 
 
1030
 
1031
+ * Fixed: Fix dismissible form preview notices for new forms.
1032
+ * Fixed: Email part with confirmation field prevented form submits when "Preview values before submission" was checked.
 
 
 
1033
 
1034
+ = February 12, 2019 =
 
 
1035
 
1036
+ Version 1.6.20 changelog:
 
 
 
 
 
 
 
 
 
1037
 
1038
+ * Changed: Better support for emails display name.
1039
+ * Changed: Form title now highlights when Build step is opened for easier renaming.
1040
+ * Changed: Optional part label is only displayed when some part is made optional.
1041
+ * Changed: Updated copy and labels of some options in Setup and Style step.
1042
+ * Changed: Updated readme and screenshots.
1043
+ * Fixed: Expand / Collapse all button was not working properly on existing forms.
1044
+ * Fixed: Phone part was not displaying correctly in certain padding and border configurations.
1045
+ * Fixed: Minor bugfixes related to styles.
1046
 
1047
+ = January 25, 2019 =
 
 
 
 
 
 
 
1048
 
1049
+ Version 1.6.19 changelog:
 
 
 
 
 
 
 
 
 
 
1050
 
1051
+ * Fixed: Phone country dropdown was not opening after other dropdown part was focused.
 
 
 
1052
 
1053
+ = January 18, 2019 =
 
 
 
 
 
 
 
 
1054
 
1055
+ Version 1.6.18 changelog:
 
 
 
 
 
 
1056
 
1057
+ * Changed: Various CSS tweaks to improve responsive behavior, and colors set in Happyforms style step.
1058
+ * Fixed: Number spinners in font size controls were not updating value in preview pane.
1059
+ * Fixed: Placeholder part was always showing (optional) label.
1060
+ * Fixed: Story part with no inputs was throwing an error.
 
 
 
1061
 
1062
+ = January 5, 2019 =
 
 
1063
 
1064
+ Version 1.6.17 changelog:
 
 
 
 
 
1065
 
1066
+ * Fixed: Address part was preventing forms from working correctly.
 
1067
 
1068
+ = January 4, 2019 =
 
 
 
 
 
 
 
 
 
1069
 
1070
+ Version 1.6.16 changelog:
1071
+
1072
+ * Added: It's now possible to tweak wording for "optional" part label.
1073
+ * Changed: New filter that allows for customization of form submission response json.
1074
+ * Changed: Various labels were missing localization.
1075
+ * Fixed: Responses pagination was misbehaving.
1076
+ * Fixed: Response previous/next links and mark as read were misbehaving.
1077
+ * Fixed: Email part title placement set to "Display as placeholder" was not preserving that setting on input blur event.
1078
+
1079
+ = December 18, 2019 =
1080
+
1081
+ Version 1.6.15 changelog:
1082
+
1083
+ * Changed: Updated "tested up to" tag.
1084
+
1085
+ = December 18, 2019 =
1086
+
1087
+ Version 1.6.14 changelog:
1088
+
1089
+ * Changed: Happyforms custom fields are now prefixed and hidden to stop polluting posts custom fields dropdown.
1090
+ * Changed: Added filter to stop enqueueing of Happyforms defaults style file.
1091
+ * Changed: New filter allows setting custom HTML attributes on a form element.
1092
+ * Changed: Responses tracking number is now included in CSV exports.
1093
+ * Changed: Better output of multiline and rich text values in CSV exports.
1094
+
1095
+ = December 6, 2019 =
1096
+
1097
+ Version 1.6.13 changelog:
1098
+
1099
+ * Changed: Smoother preview response time for Checkboxes and Radio after last item is added.
1100
+ * Fixed: Email part has been showing a notice related to wrong variable name used in condition.
1101
+ * Fixed: Various fixes related to form styles.
1102
+
1103
+ = November 30, 2018 =
1104
+
1105
+ Version 1.6.12 changelog:
1106
+
1107
+ * Changed: Added filters to control CSV header and row values.
1108
+ * Fixed: HTML entities were encoded in CSV export files.
1109
+
1110
+ = November 28, 2018 =
1111
+
1112
+ Version 1.6.11 changelog:
1113
+
1114
+ * Added: Autocomplete for Email part that suggests common email domains when "@" is typed.
1115
+ * Added: Form padding style control for adding more space between form parts and its container.
1116
+ * Added: It's now possible to set a custom HTML ID on form elements.
1117
+ * Added: New style control allows for notices above or below form elements.
1118
+ * Changed: Better keyboard navigation for dropdowns.
1119
+ * Changed: CSV exports now includes column headers.
1120
+ * Changed: Duplicated forms now have current date of duplication.
1121
+ * Fixed: Phone flags were not showing when international number format was checked in Phone part.
1122
+ * Fixed: Title placement applied globally sometimes resulted in newly added parts inheriting the value even when not available for that part.
1123
+ * Fixed: Various fixes related to styles and form parts preview.
1124
+
1125
+ = November 15, 2018 =
1126
+
1127
+ Version 1.6.10 changelog:
1128
+
1129
+ * Added: Gutenberg block allowing you to add Happyforms to your content in Gutenberg editor.
1130
+ * Added: Style control for submit button padding.
1131
+ * Added: Checkbox to allow toggling 'Mark as read and reply' link in submission alert emails.
1132
+
1133
+ = November 1, 2018 =
1134
+
1135
+ Version 1.6.9 changelog:
1136
+
1137
+ * Added: New Text Editor part for formatting text, code blocks, lists and more.
1138
+ * Changed: New parts automatically inherit options when "Apply to all parts" is on.
1139
+ * Changed: Custom Happyforms dropdowns refactor with lots of improvements in code.
1140
+ * Fixed: Form updates weren't getting applied if the preview frame was not fully loaded.
1141
+ * Fixed: Submit button appeared unstyled on iOS devices.
1142
+ * Fixed: Title font weight style setting couldn't be set to Bold due to wrong default value.
1143
+
1144
+ = October 19, 2018 =
1145
+
1146
+ Version 1.6.8 changelog:
1147
+
1148
+ * Added: Easily add options and rows to single and multiple choice, dropdown and table parts.
1149
+ * Fixed: Form title links in All Forms screen were broken.
1150
+ * Fixed: Saving a new form was creating copies of that form over and over.
1151
+ * Fixed: Long text part wasn't vertically resizable.
1152
+ * Fixed: Placeholder text color was being overwritten by theme styles.
1153
+
1154
+ = October 12, 2018 =
1155
+
1156
+ Version 1.6.7 changelog:
1157
+
1158
+ * Added: Added support for placeholder value in Dropdown part along with new option to set title as a placeholder.
1159
+ * Added: New looks of Multiple Choice part allowing to add description for each option.
1160
+ * Added: Added three new modes to Date & Time part: Month & Year, Month only, Year only.
1161
+ * Added: Part title can now be hidden per each individual part.
1162
+ * Changed: Number part now allows for minimum and maximum value setting even when the part input is formatted with prefix and thousands separators.
1163
+ * Changed: Added labels for optional parts, removed asterisks for required parts.
1164
+ * Changed: Various UX improvements to form builder.
1165
+ * Changed: Form configuration steps are now directly reachable from the form list table.
1166
+ * Fixed: Phone part displayed wrong country flag in the case where two countries share same phone prefix.
1167
+ * Fixed: Date & Time part layout didn't adapt well when set to Half and Third width setting.
1168
+ * Fixed: Saved form width value was reverting to default in Style step.
1169
+
1170
+ = September 26, 2018 =
1171
+
1172
+ Version 1.6.6 changelog:
1173
+
1174
+ * Fixed: Fix the issue with Number and Address part calling an undefined JS method.
1175
+ * Fixed: Fix appearance of international Phone field in various title placement configurations.
1176
+
1177
+ = September 25, 2018 =
1178
+
1179
+ Version 1.6.5 changelog:
1180
+
1181
+ * Fixed: Dropdown part was not displaying correct values when containing options with numeric values.
1182
+ * Fixed: Dropdown part was not submitting default value correctly.
1183
+ * Fixed: Titles set to display as a placeholder were not adjusting their position when coming back to form using browser's back button.
1184
+
1185
+ = September 22, 2018 =
1186
+
1187
+ Version 1.6.4 changelog:
1188
+
1189
+ * Added: Responses can now be tagged with a unique incremental ID (think receipts).
1190
+ * Added: Labels for Rating part options when using Smileys / Thumbs as Rating Visuals.
1191
+ * Added: Reveal description on focus for text input parts.
1192
+ * Changed: Better part title appearance when placement is set to 'Left'.
1193
+ * Changed: Better alignment of Legal part when parts around it use 'Left' setting for Title placement.
1194
+ * Changed: Various improvements in parts UI and CSS.
1195
+ * Changed: Labels and values in email messages can now be filtered.
1196
+ * Fixed: Fixed issue when adding multiple Rating parts to same form only displayed first one.
1197
+ * Fixed: Single and multiple choice, Dropdown and Table parts had issues with validation.
1198
+
1199
+ = September 13, 2018 =
1200
+
1201
+ Version 1.6.3 changelog:
1202
+
1203
+ * Changed: minor rewordings in form Customize screen.
1204
+ * Fixed: Date part validation and value storage were misbehaving.
1205
+
1206
+ = September 12, 2018 =
1207
+
1208
+ Version 1.6.2 changelog:
1209
+
1210
+ * Fixed: Date part validation was preventing valid submissions.
1211
+ * Fixed: Number part was erroneously preventing valid empty submissions.
1212
+
1213
+ = September 11, 2018 =
1214
+
1215
+ Version 1.6.1 changelog:
1216
+
1217
+ * Added: Single Line Text part can now be used as a subject of admin email notification.
1218
+ * Added: Owner email alerts now include a "Reply and mark as read" link for easier lead followup.
1219
+ * Changed: Added custom capabilities for fine grained access control of forms and responses.
1220
+ * Fixed: Some parts didn't allow to submit an empty value even when not required.
1221
+
1222
+ = September 8, 2018 =
1223
+
1224
+ Version 1.6.0 changelog:
1225
+
1226
+ * Added: Story part for adding fill-in-the-blank style inputs to a paragraph of text.
1227
+ * Added: Rating part got new styles and options. It now features emoji scale and a new No / Yes rating type.
1228
+ * Added: New field in Setup step that allows adding a textual name for the From header in user email notifications.
1229
+ * Added: Submit button can now be configured to display within an input that's set to 'Auto' width setting.
1230
+ * Changed: better CC and Reply To email use allows for easier lead follow up.
1231
+ * Changed: the URL the form was submitted from is now available in hooks for easier 3rd party integrations.
1232
+ * Fixed: Part background color on focus style control was hidden.
1233
+ * Fixed: Various alignment issues and style fixes.
1234
+
1235
+ = August 28, 2018 =
1236
+
1237
+ Version 1.5.11 changelog:
1238
+
1239
+ * Added: Added a new option "Auto" for Width setting of all form parts to allow for a single line form layouts.
1240
+ * Changed: Better, configurable styles for form submission preview.
1241
+ * Changed: Better formatting of submission alert emails.
1242
+ * Changed: Legal part now doesn't automatically prevent form submission.
1243
+ * Changed: Table part now inherits checkbox and radio styling.
1244
+ * Fixed: Table part default options were misbehaving.
1245
+ * Fixed: Dropdown part color settings were not saving.
1246
+ * Fixed: Dropdown part marked as required stopped submit button from working in some scenarios.
1247
+ * Fixed: Special characters were misinterpreted during submission.
1248
+ * Fixed: Some parts were submitting undefined data.
1249
+ * Fixed: Dropdown part was ignoring a default option setting.
1250
+
1251
+ = August 21, 2018 =
1252
+
1253
+ Version 1.5.10 changelog:
1254
+
1255
+ * Fixed: email alert and confirmation options were being ignored.
1256
+
1257
+ = August 21, 2018 =
1258
+
1259
+ Version 1.5.9 changelog:
1260
+
1261
+ * Fixed: A division-by-zero bug prevented table part from working correctly.
1262
+
1263
+ = August 17, 2018 =
1264
+
1265
+ Version 1.5.8 changelog:
1266
+
1267
+ * Fixed: form serialized data missed URI encoding.
1268
+
1269
+ = August 15, 2018 =
1270
+
1271
+ Version 1.5.7 changelog:
1272
+
1273
+ * Fixed: a missing parameter was causing an error upon activation.
1274
+
1275
+ = August 14, 2018 =
1276
+
1277
+ Version 1.5.6 changelog:
1278
+
1279
+ * Added: Forms can now show an additional Review step before final submission.
1280
+ * Changed: Previous / Next buttons in form builder got more descriptive labels.
1281
+ * Fixed: Number part didn't allow zero value even when 0 was set as a minimum required value.
1282
+ * Fixed: Email part didn't allow an empty value submitted even when field was not required.
1283
+ * Fixed: Fixes for multiple style issues across all parts in CSS.
1284
+ * Fixed: Welcome screen appearance on RTL layouts.
1285
+ * Fixed: Forms and Responses were appearing in public searches and queries.
1286
+
1287
+ = August 3, 2018 =
1288
+
1289
+ Version 1.5.5 changelog:
1290
+
1291
+ * Added: Redesigned dropdowns and a new setting to make Dropdown part searchable.
1292
+ * Added: Redesigned Phone part now with country flags and a new searchable country dropdown.
1293
+ * Changed: New shortcode view allows to directly edit a form from the editor.
1294
+ * Fixed: Date & Time part set to show current date and time didn't consider timezone and showed incorrect date in some cases.
1295
+
1296
+ = July 25, 2018 =
1297
+
1298
+ Version 1.5.4 changelog:
1299
+
1300
+ * Changed: Form assets now get loaded only on pages containing forms.
1301
+ * Changed: Forms now work when displayed inside the Dashboard.
1302
+
1303
+ = July 19, 2018 =
1304
+
1305
+ Version 1.5.3 changelog:
1306
+
1307
+ * Changed: New default styles to provide even better visual experience.
1308
+ * Changed: Clearer display of email alerts and confirmations in Step 2 of form configuration.
1309
+ * Fixed: Confirmation message and Confirmation email message fields were not saving with HTML formatting.
1310
+ * Fixed: When Legal part was present, it allowed sending empty forms without further validation.
1311
+ * Fixed: Font size sliders in Style step were not working on a new empty form.
1312
+ * Fixed: Various CSS fixes.
1313
+ * Fixed: First characters in Phone values were being stripped.
1314
+ * Fixed: forms loaded in the footer were missing required Javascript logic.
1315
+ * Fixed: Date & Time part was showing incorrect year in the End At field when Show option was changed.
1316
+
1317
+ = July 11, 2018 =
1318
+
1319
+ Version 1.5.2 changelog:
1320
+
1321
+ * Fixed: Phone number region country in masked Phone part was defaulting to first option on every load of form builder.
1322
+
1323
+ = July 10, 2018 =
1324
+
1325
+ Version 1.5.1 changelog:
1326
+
1327
+ * Added: Table part.
1328
+ * Changed: Legal part now accepts formatting with visual editor, including links and lists.
1329
+ * Changed: Part specific styles were moved to standalone sections in Style step.
1330
+ * Changed: Various improvements to parts CSS and compatibility with themes.
1331
+ * Fixed: Some links in Customize screen sidebar were breaking step-by-step navigation.
1332
+ * Fixed: Checkbox part was accepting invalid submission values.
1333
+ * Fixed: Happyforms link in admin menu bar was returning 404.
1334
+
1335
+ = June 21, 2018 =
1336
+
1337
+ Version 1.5.0 changelog:
1338
+
1339
+ * Changed: Forms are now submitted without page refresh.
1340
+ * Changed: Submitted values are preserved after an unsuccessful submission.
1341
+ * Changed: Added new filters for greater part rendering customization.
1342
+ * Changed: Added new actions for integration with third party plugins and tools.
1343
+ * Changed: Scale part now support range selection.
1344
+ * Changed: Better management of years displayed in Date & Time part.
1345
+ * Changed: Order of month and day fields in Date & Time part now defaults to a date format setting in WordPress.
1346
+ * Changed: Month names in Date & Time part have been moved to an array and are now easy to translate.
1347
+ * Fixed: Various UI glitches affected form previews in Customize screen.
1348
+ * Fixed: Various UI glitches affected part rendering of labels and preset values.
1349
+
1350
+ = June 7, 2018 =
1351
+
1352
+ Version 1.4.6 changelog:
1353
+
1354
+ * Changed: scripts and styles are now versioned to avoid cache problems after an update.
1355
+ * Fixed: Permalinks are now flushed upon activation to avoid 404 errors.
1356
+ * Fixed: Dropdown arrows were not clickable and didn't reflect part value color set in Style step.
1357
+
1358
+ = June 5, 2018 =
1359
+
1360
+ Version 1.4.5 changelog:
1361
+
1362
+ * Changed: Submit button state is now connected to reCaptcha result and remains disabled until reCaptcha is filled.
1363
+ * Changed: Better compatibility with various themes.
1364
+ * Changed: Scale part now has a colored tracker and accepts color settings for labels and value output set in Style step.
1365
+ * Changed: Scripts are now loaded only when a form is actually present.
1366
+ * Changed: Form and responses admin pages are now clean from any third-party plugin effects.
1367
+ * Fixed: Add Happyforms overlay was not showing up in some page builders.
1368
+ * Fixed: Submit button styles were changing to defaults on hover.
1369
+ * Fixed: Various fixes related to styles.
1370
+
1371
+ = May 24, 2018 =
1372
+
1373
+ Version 1.4.4 changelog:
1374
+
1375
+ * Changed: New Advanced link to reveal more advanced settings for each part and achieve cleaner look when part is first opened in form builder.
1376
+ * Changed: Better compatibility with themes.
1377
+ * Changed: Current user's email address is now pre-filled in Your email address field in Step 2.
1378
+ * Fixed: Front end placeholder behavior when "Display as placeholder" title placement is selected.
1379
+ * Fixed: Responses screen was showing just the first letter of each submitted part.
1380
+ * Fixed: PHP notices when Happyforms widget was added to a page in Customizer.
1381
+
1382
+ = May 19, 2018 =
1383
+
1384
+ Version 1.4.3 changelog:
1385
+
1386
+ * Changed: Date part is renamed to Date & Time and offers a lot more options, including minimum and maximum value for year and hour inputs, and an option to set inputs to current date and time by default.
1387
+ * Changed: Added option to specify the subject of email alerts sent to site owners.
1388
+ * Changed: Email alerts now support From, Reply To and multiple CC email addresses.
1389
+ * Changed: Address part now lets users grab their current location automatically.
1390
+ * Fixed: Responsive behavior of Address and Date & Time form parts.
1391
+ * Fixed: Updated code to support versions of PHP down to 5.2.4.
1392
+
1393
+ = May 10, 2018 =
1394
+
1395
+ Version 1.4.2 changelog:
1396
+
1397
+ * Fixed: Part widget toggle buttons didn't work on Firefox.
1398
+ * Fixed: Part column widths were misbehaving on some themes.
1399
+
1400
+ = May 10, 2018 =
1401
+
1402
+ Version 1.4.1 changelog:
1403
+
1404
+ * Added: Form width style control, allowing to set form width in % or px.
1405
+ * Added: Text alignment style control to allow for changing text align in various places in forms.
1406
+ * Added: Added support for RTL languages with Text direction control in Style step.
1407
+ * Changed: Added filters to control default part values and success/error submission actions.
1408
+ * Fixed: array_column wasn't available on PHP versions prior to 5.5 and was causing a fatal error.
1409
+
1410
+ = May 7, 2018 =
1411
+
1412
+ Version 1.4.0 changelog:
1413
+
1414
+ * Fixed: Powered By Happyforms appearance.
1415
+
1416
+ = May 2, 2018 =
1417
+
1418
+ Version 1.3.0 changelog:
1419
+
1420
+ * Added: Parts duplication.
1421
+ * Added: “Title placement” setting now features options for displaying title as a placeholder with smooth transition, and place the title directly in the input field.
1422
+ * Added: Google ReCaptcha support.
1423
+ * Changed: Better templates and filter coverage.
1424
+ * Changed: Modal for adding a form to a content has been redesigned and refactored.
1425
+ * Changed: Saving a form now displays an extended “Form saved” notice that contains a guide on how to insert form to a content. This message is dismissible.
1426
+ * Changed: Parts in the Form Builder now show part title for better navigation.
1427
+ * Changed: Dropdown part with lots of options now only reveals first 5 options on load with the option to reveal them all.
1428
+ * Changed: Redesigned Style step with lots of new settings to make your forms even better looking.
1429
+
1430
+ = April 7, 2018 =
1431
+
1432
+ Version 1.2.2 changelog:
1433
+
1434
+ * Fixed: an error during the example form creation was preventing plugin activation.
1435
+
1436
+ = March 14, 2018 =
1437
+
1438
+ Version 1.2.0 changelog:
1439
+
1440
+ * Added: New form parts - Title, Legal, Scale.
1441
+ * Added: Show part description in a tooltip.
1442
+ * Added: Button for expanding and collapsing all parts in Form Builder.
1443
+ * Added: Added “Add Happyforms” button above visual editor for easier form embeds in page content.
1444
+ * Added: Added new fields to Single Choice part to allow for part option descriptions.
1445
+ * Changed: Better message management.
1446
+ * Changed: Country part is now Address and supports autocompletion.
1447
+ * Changed: More controls and better organization of form style options.
1448
+ * Changed: General form styles.
1449
+ * Changed: Visual editors now support hyperlinks.
1450
+ * Changed: Title placement and Width part settings can now be applied to all parts by checking a checkbox.
1451
+ * Changed: Phone is now a standalone part with improved masking.
1452
+ * Changed: Number part now supports min and max value attributes.
1453
+ * Changed: Date part now displays inputs as dropdowns and also allows for time inputs.
1454
+
1455
+ = Febryary 27, 2018 =
1456
+
1457
+ Version 1.0.0 changelog:
1458
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1459
  * Initial release.
1460
 
1461
  == Upgrade Notice ==
1462
 
1463
+ = 1.19.1 =
1464
+ Plugin directory page improvements, miscellaneous improvements and fixes.
1465
+
1466
  = 1.19.0 =
1467
  * Better display of unlabeled fields, email improvements, miscellaneous bugfixes.
1468
 
1920
  * Tons of new features, improvements and bugfixes.
1921
 
1922
  = 1.2.0 =
1923
+ * Fixed: an error during the example form creation was preventing plugin activation.
1924
 
1925
  = 1.1.0 =
1926
  * Tons of new features and improvements.