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

Version Description

  • New feature: Gutenberg block allowing you to add HappyForms to your content in Gutenberg editor.
  • New feature: Style control for submit button padding.
  • New feature: Checkbox to allow toggling 'Mark as read and reply' link in submission alert emails.
Download this release

Release Info

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

Code changes from version 1.6.9 to 1.6.10

assets/css/frontend.css CHANGED
@@ -227,7 +227,8 @@ h3.happyforms-form__title {
227
  background-color: transparent;
228
  }
229
 
230
- .happyforms-part__label .label {
 
231
  padding: 0;
232
  font-weight: normal;
233
  font-style: normal;
@@ -1709,7 +1710,7 @@ input[type=submit].happyforms-button--submit,
1709
  input[type=submit][disabled].happyforms-button--submit {
1710
  -webkit-appearance: none;
1711
  height: auto;
1712
- padding: 20px 50px;
1713
  border-radius: 4px;
1714
  border: 1px solid transparent !important;
1715
  border-color: var(--happyforms-color-submit-border) !important;
@@ -2045,7 +2046,7 @@ form > .happyforms-message-notices .error {
2045
  font-weight: bold;
2046
  font-size: 14px;
2047
  color: #000;
2048
- color: var(--happyforms-color-part-title);
2049
  }
2050
 
2051
  .happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder label {
@@ -2179,7 +2180,7 @@ form > .happyforms-message-notices .error {
2179
 
2180
  .happyforms-form--submit-button-border-radius-pill input[type=submit].happyforms-button--submit,
2181
  .happyforms-form--submit-button-border-radius-pill input[type=submit].happyforms-button--submit:hover {
2182
- border-radius: 30px;
2183
  }
2184
 
2185
  .happyforms-form--submit-button-fullwidth input[type=submit].happyforms-button--submit {
@@ -2202,6 +2203,19 @@ form > .happyforms-message-notices .error {
2202
  transition-duration: 0s !important;
2203
  }
2204
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2205
  .happyforms-form--part-title-font-weight-bold .happyforms-part__label .label {
2206
  font-weight: bold;
2207
  }
227
  background-color: transparent;
228
  }
229
 
230
+ .happyforms-part__label .label,
231
+ .happyforms-part__label .happyforms-optional {
232
  padding: 0;
233
  font-weight: normal;
234
  font-style: normal;
1710
  input[type=submit][disabled].happyforms-button--submit {
1711
  -webkit-appearance: none;
1712
  height: auto;
1713
+ padding: 20px 40px;
1714
  border-radius: 4px;
1715
  border: 1px solid transparent !important;
1716
  border-color: var(--happyforms-color-submit-border) !important;
2046
  font-weight: bold;
2047
  font-size: 14px;
2048
  color: #000;
2049
+ color: var(--happyforms-color-part-value);
2050
  }
2051
 
2052
  .happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder label {
2180
 
2181
  .happyforms-form--submit-button-border-radius-pill input[type=submit].happyforms-button--submit,
2182
  .happyforms-form--submit-button-border-radius-pill input[type=submit].happyforms-button--submit:hover {
2183
+ border-radius: 60px;
2184
  }
2185
 
2186
  .happyforms-form--submit-button-fullwidth input[type=submit].happyforms-button--submit {
2203
  transition-duration: 0s !important;
2204
  }
2205
 
2206
+ .happyforms-form--submit-button-padding-narrow input[type=submit].happyforms-button--submit {
2207
+ padding: 10px 20px;
2208
+ }
2209
+
2210
+ .happyforms-form--submit-button-padding-wide input[type=submit].happyforms-button--submit {
2211
+ padding: 30px 60px;
2212
+ }
2213
+
2214
+ .happyforms-form--submit-button-fullwidth input[type=submit].happyforms-button--submit {
2215
+ padding-left: 0;
2216
+ padding-right: 0;
2217
+ }
2218
+
2219
  .happyforms-form--part-title-font-weight-bold .happyforms-part__label .label {
2220
  font-weight: bold;
2221
  }
assets/css/preview.css CHANGED
@@ -4,8 +4,8 @@ body.happyforms-preview {
4
  }
5
 
6
  body::before, body::after {
7
- content: '';
8
- display: none;
9
  }
10
 
11
  .happyforms-block-editable {
4
  }
5
 
6
  body::before, body::after {
7
+ content: '' !important;
8
+ display: none !important;
9
  }
10
 
11
  .happyforms-block-editable {
assets/js/admin/block.js ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( element, blocks, components, editor, settings ) {
2
+
3
+ var el = wp.element.createElement;
4
+ var registerBlockType = wp.blocks.registerBlockType;
5
+ var ServerSideRender = wp.components.ServerSideRender;
6
+ var PanelBody = wp.components.PanelBody;
7
+ var SelectControl = wp.components.SelectControl;
8
+ var Placeholder = wp.components.Placeholder;
9
+ var Button = wp.components.Button;
10
+ var Icon = wp.components.Icon;
11
+ var InspectorControls = wp.editor.InspectorControls;
12
+
13
+ var blockID = 'thethemefoundry/happyforms';
14
+ var options = Object
15
+ .keys( settings.forms )
16
+ .map( function( key ) {
17
+ return { label: settings.forms[key], value: key };
18
+ } )
19
+ options.reverse().unshift( { label: settings.i18n.select_default, value: '' } );
20
+
21
+ var getEditLink = function( id ) {
22
+ var returnUrl = encodeURIComponent( document.location.href );
23
+ var link = settings.editLink.replace( 'ID', id ).replace( 'URL', returnUrl );
24
+
25
+ return link;
26
+ }
27
+
28
+ var ComponentPlaceholder = function( props ) {
29
+ var component =
30
+ el( Placeholder, {
31
+ icon: settings.icon,
32
+ label: settings.i18n.placeholder_text,
33
+ },
34
+ el( SelectControl, {
35
+ value: '',
36
+ options: options,
37
+ onChange: function( value ) {
38
+ props.setAttributes( { id: value } );
39
+ }
40
+ } )
41
+ );
42
+
43
+ return component;
44
+ };
45
+
46
+ var ComponentForm = function( props ) {
47
+ var component = [
48
+ el( ServerSideRender, {
49
+ block: blockID,
50
+ attributes: props.attributes,
51
+ } ),
52
+ ];
53
+
54
+ return component;
55
+ };
56
+
57
+ var ComponentInspector = function( props ) {
58
+ var component =
59
+ el( InspectorControls, {},
60
+ el( PanelBody, { title: settings.i18n.settings_title },
61
+ el( SelectControl, {
62
+ value: props.attributes.id,
63
+ options: options,
64
+ onChange: function( value ) {
65
+ props.setAttributes( { id: value } );
66
+ },
67
+ } ),
68
+
69
+ props.attributes.id && el( Button, {
70
+ href: getEditLink( props.attributes.id ),
71
+ isLink: true,
72
+ icon: 'external'
73
+ }, settings.i18n.edit_form, el( Icon, { icon: 'external' } ) )
74
+ ),
75
+ );
76
+
77
+ return component;
78
+ };
79
+
80
+ registerBlockType( blockID, {
81
+ title: settings.block.title,
82
+ description: settings.block.description,
83
+ category: settings.block.category,
84
+ icon: settings.block.icon,
85
+ keywords: settings.block.keywords,
86
+ supports: {
87
+ html: false
88
+ },
89
+
90
+ edit: function( props ) {
91
+ if ( props.attributes.id ) {
92
+ return [ ComponentForm( props ), ComponentInspector( props ) ];
93
+ }
94
+
95
+ return [ ComponentPlaceholder( props ), ComponentInspector( props ) ];
96
+ },
97
+
98
+ save: function() {
99
+ return null;
100
+ },
101
+ } );
102
+
103
+ } )(
104
+ window.wp.element,
105
+ window.wp.blocks,
106
+ window.wp.components,
107
+ window.wp.editor,
108
+ _happyFormsBlockSettings,
109
+ );
happyforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Plugin URI: https://happyforms.me
6
  * Description: Your friendly drag and drop contact form builder for creating contact forms, lead generation forms, feedback forms, quote forms, survey forms and more!
7
  * Author: The Theme Foundry
8
- * Version: 1.6.9
9
  * Author URI: https://thethemefoundry.com
10
  * Upgrade URI: https://thethemefoundry.com
11
  */
@@ -13,7 +13,7 @@
13
  /**
14
  * The current version of the plugin.
15
  */
16
- define( 'HAPPYFORMS_VERSION', '1.6.9' );
17
 
18
  if ( ! function_exists( 'happyforms_plugin_file' ) ):
19
  /**
5
  * Plugin URI: https://happyforms.me
6
  * Description: Your friendly drag and drop contact form builder for creating contact forms, lead generation forms, feedback forms, quote forms, survey forms and more!
7
  * Author: The Theme Foundry
8
+ * Version: 1.6.10
9
  * Author URI: https://thethemefoundry.com
10
  * Upgrade URI: https://thethemefoundry.com
11
  */
13
  /**
14
  * The current version of the plugin.
15
  */
16
+ define( 'HAPPYFORMS_VERSION', '1.6.10' );
17
 
18
  if ( ! function_exists( 'happyforms_plugin_file' ) ):
19
  /**
inc/classes/class-block.php ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Block {
4
+
5
+ /**
6
+ * The singleton instance.
7
+ *
8
+ * @var HappyForms_Block
9
+ */
10
+ private static $instance;
11
+
12
+ /**
13
+ * The singleton constructor.
14
+ *
15
+ * @return HappyForms_Block
16
+ */
17
+ public static function instance() {
18
+ if ( is_null( self::$instance ) ) {
19
+ self::$instance = new self();
20
+ }
21
+
22
+ self::$instance->hook();
23
+
24
+ return self::$instance;
25
+ }
26
+
27
+ /**
28
+ * Register hooks.
29
+ *
30
+ * @return void
31
+ */
32
+ public function hook() {
33
+ add_action( 'init', array( $this, 'register' ) );
34
+ add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_scripts' ) );
35
+ }
36
+
37
+ private function get_attributes() {
38
+ $attributes = array(
39
+ 'id' => array(
40
+ 'type' => 'int',
41
+ )
42
+ );
43
+
44
+ return $attributes;
45
+ }
46
+
47
+ private function get_properties() {
48
+ $properties = array(
49
+ 'title' => __( 'HappyForms', 'happyforms' ),
50
+ 'description' => __( 'Contact form to manage and respond to conversations with customers.', 'happyforms' ),
51
+ 'category' => 'widgets',
52
+ 'icon' => 'format-status',
53
+ 'keywords' => array(
54
+ 'form', 'contact', 'email',
55
+ ),
56
+ );
57
+
58
+ return $properties;
59
+ }
60
+
61
+ public function register() {
62
+ register_block_type( 'thethemefoundry/happyforms', array(
63
+ 'attributes' => $this->get_attributes(),
64
+ 'editor_script' => 'happyforms-block',
65
+ 'render_callback' => array( $this, 'render' ),
66
+ ) );
67
+ }
68
+
69
+ public function render( $attrs ) {
70
+ return HappyForms()->handle_shortcode( $attrs );
71
+ }
72
+
73
+ public function enqueue_scripts() {
74
+ wp_enqueue_script(
75
+ 'happyforms-block',
76
+ happyforms_get_plugin_url() . 'assets/js/admin/block.js',
77
+ array( 'wp-blocks', 'wp-element', 'wp-components', 'wp-editor' )
78
+ );
79
+
80
+ $forms = happyforms_get_form_controller()->get();
81
+ $forms = wp_list_pluck( $forms, 'post_title', 'ID' );
82
+ $edit_link = admin_url( happyforms_get_form_edit_link( 'ID', 'URL' ) );
83
+ $block_properties = $this->get_properties();
84
+ $data = array(
85
+ 'forms' => $forms,
86
+ 'editLink' => $edit_link,
87
+ 'block' => $block_properties,
88
+ 'i18n' => array(
89
+ 'select_default' => __( 'Select', 'happyforms' ),
90
+ 'placeholder_text' => __( 'Which form would you like to add here?', 'happyforms' ),
91
+ 'settings_title' => __( 'HappyForms Settings', 'happyforms' ),
92
+ 'edit_form' => __( 'Edit Form', 'happyforms' )
93
+ )
94
+ );
95
+
96
+ wp_localize_script( 'happyforms-block', '_happyFormsBlockSettings', $data );
97
+ }
98
+
99
+ }
100
+
101
+ if ( ! function_exists( 'happyforms_get_block' ) ):
102
+ /**
103
+ * Get the HappyForms_Block class instance.
104
+ *
105
+ * @return HappyForms_Block
106
+ */
107
+ function happyforms_get_block() {
108
+ return HappyForms_Block::instance();
109
+ }
110
+
111
+ endif;
112
+
113
+ /**
114
+ * Initialize the HappyForms_Block class immediately.
115
+ */
116
+ happyforms_get_block();
inc/classes/class-form-controller.php CHANGED
@@ -305,6 +305,10 @@ class HappyForms_Form_Controller {
305
  'default' => '',
306
  'sanitize' => 'sanitize_text_field',
307
  ),
 
 
 
 
308
  );
309
 
310
  /**
@@ -754,6 +758,14 @@ class HappyForms_Form_Controller {
754
  happyforms_get_message_controller()->update_badge_transient();
755
  }
756
 
 
 
 
 
 
 
 
 
757
  /**
758
  * Return the first part with the given type found in a form.
759
  *
305
  'default' => '',
306
  'sanitize' => 'sanitize_text_field',
307
  ),
308
+ 'email_mark_and_reply' => array(
309
+ 'default' => 1,
310
+ 'sanitize' => 'happyforms_sanitize_checkbox',
311
+ ),
312
  );
313
 
314
  /**
758
  happyforms_get_message_controller()->update_badge_transient();
759
  }
760
 
761
+ public function get_latest() {
762
+ $forms = get_posts( "post_type={$this->post_type}&numberposts=1" );
763
+ $form_id = $forms[0]->ID;
764
+ $form = $this->get( $form_id );
765
+
766
+ return $form;
767
+ }
768
+
769
  /**
770
  * Return the first part with the given type found in a form.
771
  *
inc/classes/class-form-styles.php CHANGED
@@ -250,6 +250,16 @@ class HappyForms_Form_Styles {
250
  'target' => 'form_class',
251
  'sanitize' => 'sanitize_text_field'
252
  ),
 
 
 
 
 
 
 
 
 
 
253
  'submit_button_font_size' => array(
254
  'default' => 18,
255
  'unit' => 'px',
@@ -774,6 +784,11 @@ class HappyForms_Form_Styles {
774
  'label' => __( 'Width', 'happyforms' ),
775
  'field' => 'submit_button_width',
776
  ),
 
 
 
 
 
777
  array(
778
  'type' => 'range',
779
  'label' => __( 'Font Size', 'happyforms' ),
250
  'target' => 'form_class',
251
  'sanitize' => 'sanitize_text_field'
252
  ),
253
+ 'submit_button_padding' => array(
254
+ 'default' => '',
255
+ 'options' => array(
256
+ 'happyforms-form--submit-button-padding-narrow' => __( 'Narrow', 'happyforms' ),
257
+ '' => __( 'Default', 'happyforms' ),
258
+ 'happyforms-form--submit-button-padding-wide' => __( 'Wide', 'happyforms' )
259
+ ),
260
+ 'target' => 'form_class',
261
+ 'sanitize' => 'sanitize_text_field'
262
+ ),
263
  'submit_button_font_size' => array(
264
  'default' => 18,
265
  'unit' => 'px',
784
  'label' => __( 'Width', 'happyforms' ),
785
  'field' => 'submit_button_width',
786
  ),
787
+ array(
788
+ 'type' => 'buttonset',
789
+ 'label' => __( 'Padding', 'happyforms' ),
790
+ 'field' => 'submit_button_padding',
791
+ ),
792
  array(
793
  'type' => 'range',
794
  'label' => __( 'Font Size', 'happyforms' ),
inc/classes/class-happyforms-plugin.php CHANGED
@@ -70,6 +70,12 @@ class HappyForms_Plugin {
70
  require_once( happyforms_get_include_folder() . '/classes/class-session.php' );
71
  require_once( happyforms_get_include_folder() . '/classes/class-happyforms-widget.php' );
72
  require_once( happyforms_get_include_folder() . '/helpers/helper-form-templates.php' );
 
 
 
 
 
 
73
 
74
  // Admin hooks
75
  add_action( 'admin_head', array( $this, 'admin_head' ) );
@@ -167,7 +173,6 @@ class HappyForms_Plugin {
167
  happyforms_get_form_edit_link( 0 )
168
  );
169
 
170
-
171
  add_submenu_page(
172
  'happyforms',
173
  __( 'Responses', 'happyforms' ),
@@ -480,6 +485,10 @@ class HappyForms_Plugin {
480
  return;
481
  }
482
 
 
 
 
 
483
  $dependencies = apply_filters(
484
  'happyforms_frontend_dependencies',
485
  array( 'jquery' ), $this->current_forms
70
  require_once( happyforms_get_include_folder() . '/classes/class-session.php' );
71
  require_once( happyforms_get_include_folder() . '/classes/class-happyforms-widget.php' );
72
  require_once( happyforms_get_include_folder() . '/helpers/helper-form-templates.php' );
73
+ require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
74
+
75
+ // Gutenberg block
76
+ if ( happyforms_is_gutenberg() ) {
77
+ require_once( happyforms_get_include_folder() . '/classes/class-block.php' );
78
+ }
79
 
80
  // Admin hooks
81
  add_action( 'admin_head', array( $this, 'admin_head' ) );
173
  happyforms_get_form_edit_link( 0 )
174
  );
175
 
 
176
  add_submenu_page(
177
  'happyforms',
178
  __( 'Responses', 'happyforms' ),
485
  return;
486
  }
487
 
488
+ if ( is_admin() && happyforms_is_gutenberg() ) {
489
+ return;
490
+ }
491
+
492
  $dependencies = apply_filters(
493
  'happyforms_frontend_dependencies',
494
  array( 'jquery' ), $this->current_forms
inc/classes/class-message-controller.php CHANGED
@@ -748,7 +748,7 @@ class HappyForms_Message_Controller {
748
  $content_lines = array();
749
 
750
  foreach ( $form['parts'] as $part_data ) {
751
- $visible = apply_filters( 'happyforms_message_part_visible', true, $part_data );
752
 
753
  if ( ! $visible ) {
754
  continue;
@@ -782,11 +782,13 @@ class HappyForms_Message_Controller {
782
  $from = happyforms_get_message_part_value( $message['parts'][$part_id] );
783
 
784
  // Reply and mark as read link
785
- $content_lines[] = sprintf(
786
- '<a href="%s">%s</a>',
787
- happyforms_get_reply_and_mark_link( $message['ID'] ),
788
- __( 'Reply to this message and mark it as read', 'happyforms' )
789
- );
 
 
790
 
791
  $email_message->set_reply_to( $from );
792
  }
748
  $content_lines = array();
749
 
750
  foreach ( $form['parts'] as $part_data ) {
751
+ $visible = apply_filters( 'happyforms_message_part_visible', true, $part_data, $form, $message );
752
 
753
  if ( ! $visible ) {
754
  continue;
782
  $from = happyforms_get_message_part_value( $message['parts'][$part_id] );
783
 
784
  // Reply and mark as read link
785
+ if ( 1 === intval( $form['email_mark_and_reply'] ) ) {
786
+ $content_lines[] = sprintf(
787
+ '<a href="%s">%s</a>',
788
+ happyforms_get_reply_and_mark_link( $message['ID'] ),
789
+ __( 'Reply to this message and mark it as read', 'happyforms' )
790
+ );
791
+ }
792
 
793
  $email_message->set_reply_to( $from );
794
  }
inc/classes/parts/class-part-rich-text.php CHANGED
@@ -83,7 +83,11 @@ class HappyForms_Part_RichText extends HappyForms_Form_Part {
83
  $part = wp_parse_args( $part_data, $this->get_customize_defaults() );
84
  $form = $form_data;
85
 
86
- include( happyforms_get_include_folder() . '/templates/parts/frontend-rich-text.php' );
 
 
 
 
87
  }
88
 
89
  /**
83
  $part = wp_parse_args( $part_data, $this->get_customize_defaults() );
84
  $form = $form_data;
85
 
86
+ if ( ! happyforms_is_block_context() ) {
87
+ include( happyforms_get_include_folder() . '/templates/parts/frontend-rich-text.php' );
88
+ } else {
89
+ include( happyforms_get_include_folder() . '/templates/parts/block-rich-text.php' );
90
+ }
91
  }
92
 
93
  /**
inc/helpers/helper-form-templates.php CHANGED
@@ -1244,3 +1244,15 @@ function happyforms_get_narrative_tokens( $format ) {
1244
  }
1245
 
1246
  endif;
 
 
 
 
 
 
 
 
 
 
 
 
1244
  }
1245
 
1246
  endif;
1247
+
1248
+ if ( ! function_exists( 'happyforms_submit_enabled' ) ) :
1249
+
1250
+ function happyforms_submit_enabled( $form ) {
1251
+ $disabled = happyforms_get_form_property( $form, 'disable_submit_until_valid' );
1252
+ $preview = happyforms_is_preview_context();
1253
+
1254
+ return $disabled || $preview;
1255
+ }
1256
+
1257
+ endif;
1258
+
inc/helpers/helper-misc.php CHANGED
@@ -590,3 +590,38 @@ function happyforms_get_email_part_value( $message, $part = array(), $form = arr
590
  }
591
 
592
  endif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
590
  }
591
 
592
  endif;
593
+
594
+ if ( ! function_exists( 'happyforms_is_preview_context' ) ) :
595
+
596
+ function happyforms_is_preview_context() {
597
+ $preview = is_customize_preview();
598
+ $block = happyforms_is_block_context();
599
+
600
+ return $preview || $block;
601
+ }
602
+
603
+ endif;
604
+
605
+ if ( ! function_exists( 'happyforms_is_block_context' ) ) :
606
+
607
+ function happyforms_is_block_context() {
608
+ $is_block = defined( 'REST_REQUEST' ) && REST_REQUEST;
609
+
610
+ return $is_block;
611
+ }
612
+
613
+ endif;
614
+
615
+ if ( ! function_exists( 'happyforms_is_gutenberg' ) ):
616
+
617
+ function happyforms_is_gutenberg() {
618
+ global $wp_version;
619
+
620
+ $is_50 = version_compare( $wp_version, '5.0-alpha', '>=' );
621
+ $is_plugin = is_plugin_active( 'gutenberg/gutenberg.php' );
622
+ $is_gutenberg = $is_50 || $is_plugin;
623
+
624
+ return $is_gutenberg;
625
+ }
626
+
627
+ endif;
inc/templates/customize-form-setup.php CHANGED
@@ -21,6 +21,12 @@
21
  <label for="form_alert_email_subject" class="customize-control-title"><?php _e( 'Email subject', 'happyforms' ); ?> <i class="fa fa-question-circle" aria-hidden="true" data-pointer="alert_email_subject"></i></label>
22
  <input type="text" id="form_alert_email_subject" value="<%= alert_email_subject %>" data-attribute="alert_email_subject" data-pointer-target />
23
  </div>
 
 
 
 
 
 
24
  </div>
25
  <div class="customize-control customize-control-checkbox">
26
  <div class="customize-inside-control-row">
@@ -155,4 +161,7 @@
155
  <script type="text/template" id="happyforms-pointer-unique_id_start_from">
156
  <?php _e( 'Your next submission will be tagged with this identifier.', 'happyforms' ); ?>
157
  </script>
 
 
 
158
 
21
  <label for="form_alert_email_subject" class="customize-control-title"><?php _e( 'Email subject', 'happyforms' ); ?> <i class="fa fa-question-circle" aria-hidden="true" data-pointer="alert_email_subject"></i></label>
22
  <input type="text" id="form_alert_email_subject" value="<%= alert_email_subject %>" data-attribute="alert_email_subject" data-pointer-target />
23
  </div>
24
+ <div class="customize-control customize-control-checkbox">
25
+ <div class="customize-inside-control-row" data-pointer-target>
26
+ <input type="checkbox" value="1" id="happyforms-email-mark-and-reply" <% if ( email_mark_and_reply ) { %>checked="checked"<% } %> data-attribute="email_mark_and_reply" />
27
+ <label for="happyforms-email-mark-and-reply"><?php _e( 'Include mark and reply link', 'happyforms' ); ?> <i class="fa fa-question-circle" aria-hidden="true" data-pointer="email_mark_and_reply"></i></label>
28
+ </div>
29
+ </div>
30
  </div>
31
  <div class="customize-control customize-control-checkbox">
32
  <div class="customize-inside-control-row">
161
  <script type="text/template" id="happyforms-pointer-unique_id_start_from">
162
  <?php _e( 'Your next submission will be tagged with this identifier.', 'happyforms' ); ?>
163
  </script>
164
+ <script type="text/template" id="happyforms-pointer-email_mark_and_reply">
165
+ <?php _e( 'Reply to your users and mark their submission as read in one click.', 'happyforms' ); ?>
166
+ </script>
167
 
inc/templates/partials/form-submit-preview.php CHANGED
@@ -1,3 +1,3 @@
1
  <div class="happyforms-form__part happyforms-part happyforms-part--submit">
2
- <input type="submit" class="happyforms-submit happyforms-button--submit" value="<?php echo esc_attr( happyforms_get_form_property( $form, 'review_button_label' ) ); ?>" <?php if ( happyforms_get_form_property( $form, 'disable_submit_until_valid' ) ) : ?> disabled<?php endif; ?>>
3
  </div>
1
  <div class="happyforms-form__part happyforms-part happyforms-part--submit">
2
+ <input type="submit" class="happyforms-submit happyforms-button--submit" value="<?php echo esc_attr( happyforms_get_form_property( $form, 'review_button_label' ) ); ?>" <?php if ( happyforms_submit_enabled( $form ) ) : ?> disabled<?php endif; ?>>
3
  </div>
inc/templates/partials/form-submit.php CHANGED
@@ -1,3 +1,3 @@
1
  <div class="happyforms-form__part happyforms-part happyforms-part--submit">
2
- <input type="submit" class="happyforms-submit happyforms-button--submit" value="<?php echo esc_attr( happyforms_get_form_property( $form, 'submit_button_label' ) ); ?>" <?php if ( happyforms_get_form_property( $form, 'disable_submit_until_valid' ) ) : ?> disabled<?php endif; ?>>
3
  </div>
1
  <div class="happyforms-form__part happyforms-part happyforms-part--submit">
2
+ <input type="submit" class="happyforms-submit happyforms-button--submit" value="<?php echo esc_attr( happyforms_get_form_property( $form, 'submit_button_label' ) ); ?>" <?php if ( happyforms_submit_enabled( $form ) ) : ?> disabled<?php endif; ?>>
3
  </div>
inc/templates/parts/block-rich-text.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="<?php happyforms_the_part_class( $part, $form ); ?>" id="<?php happyforms_the_part_id( $part, $form ); ?>-part" <?php happyforms_the_part_data_attributes( $part, $form ); ?>>
2
+ <div class="happyforms-part-wrap">
3
+ <?php if ( 'as_placeholder' !== $part['label_placement'] ) : ?>
4
+ <?php happyforms_the_part_label( $part, $form ); ?>
5
+ <?php endif; ?>
6
+
7
+ <div class="happyforms-part__el">
8
+ <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
9
+
10
+ <textarea id="<?php happyforms_the_part_id( $part, $form ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>" rows="5" <?php happyforms_the_part_attributes( $part, $form ); ?>><?php happyforms_the_part_value( $part, $form ); ?></textarea>
11
+
12
+ <?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
13
+ <?php happyforms_the_part_label( $part, $form ); ?>
14
+ <?php endif; ?>
15
+
16
+ <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
17
+
18
+ <?php happyforms_print_part_description( $part ); ?>
19
+
20
+ <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
21
+ </div>
22
+ </div>
23
+ </div>
languages/happyforms.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the HappyForms package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: HappyForms 1.6.9\n"
6
  "Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
7
- "POT-Creation-Date: 2018-11-01 14:43:17+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -13,6 +13,30 @@ msgstr ""
13
  "Language-Team: The Theme Foundry\n"
14
  "X-Generator: grunt-wp-i18n 0.4.9\n"
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  #: inc/classes/class-form-admin.php:155
17
  #: inc/classes/class-form-controller.php:96
18
  msgid "View form"
@@ -140,8 +164,8 @@ msgstr ""
140
 
141
  #: inc/classes/class-form-controller.php:91
142
  #: inc/classes/class-form-controller.php:101
143
- #: inc/classes/class-happyforms-plugin.php:156
144
- #: inc/classes/class-happyforms-plugin.php:157
145
  msgid "All Forms"
146
  msgstr ""
147
 
@@ -203,14 +227,14 @@ msgstr ""
203
  msgid "Review submission"
204
  msgstr ""
205
 
206
- #: inc/classes/class-form-controller.php:810
207
  #: inc/classes/class-message-controller.php:291
208
  #: inc/classes/class-message-controller.php:391
209
  #: inc/classes/class-message-controller.php:426
210
  msgid "Your submission contains errors."
211
  msgstr ""
212
 
213
- #: inc/classes/class-form-controller.php:968
214
  msgid "Please review your submission..."
215
  msgstr ""
216
 
@@ -248,7 +272,7 @@ msgstr ""
248
 
249
  #: inc/classes/class-form-styles.php:85 inc/classes/class-form-styles.php:159
250
  #: inc/classes/class-form-styles.php:188 inc/classes/class-form-styles.php:208
251
- #: inc/classes/class-form-styles.php:275
252
  #: inc/templates/parts/customize-address.php:11
253
  #: inc/templates/parts/customize-checkbox.php:11
254
  #: inc/templates/parts/customize-date.php:11
@@ -272,13 +296,13 @@ msgstr ""
272
 
273
  #: inc/classes/class-form-styles.php:86 inc/classes/class-form-styles.php:160
274
  #: inc/classes/class-form-styles.php:189 inc/classes/class-form-styles.php:209
275
- #: inc/classes/class-form-styles.php:276
276
  msgid "Center"
277
  msgstr ""
278
 
279
  #: inc/classes/class-form-styles.php:87 inc/classes/class-form-styles.php:161
280
  #: inc/classes/class-form-styles.php:190 inc/classes/class-form-styles.php:210
281
- #: inc/classes/class-form-styles.php:277
282
  msgid "Right"
283
  msgstr ""
284
 
@@ -303,23 +327,25 @@ msgid "Pill"
303
  msgstr ""
304
 
305
  #: inc/classes/class-form-styles.php:133 inc/classes/class-form-styles.php:143
 
306
  msgid "Narrow"
307
  msgstr ""
308
 
309
  #: inc/classes/class-form-styles.php:134 inc/classes/class-form-styles.php:144
310
- #: inc/classes/class-form-styles.php:247
311
  msgid "Default"
312
  msgstr ""
313
 
314
  #: inc/classes/class-form-styles.php:135 inc/classes/class-form-styles.php:145
 
315
  msgid "Wide"
316
  msgstr ""
317
 
318
- #: inc/classes/class-form-styles.php:179 inc/classes/class-form-styles.php:266
319
  msgid "Normal"
320
  msgstr ""
321
 
322
- #: inc/classes/class-form-styles.php:180 inc/classes/class-form-styles.php:267
323
  msgid "Bold"
324
  msgstr ""
325
 
@@ -327,126 +353,126 @@ msgstr ""
327
  msgid "Full width"
328
  msgstr ""
329
 
330
- #: inc/classes/class-form-styles.php:483
331
  msgid "General"
332
  msgstr ""
333
 
334
- #: inc/classes/class-form-styles.php:487
335
  msgid "Form width"
336
  msgstr ""
337
 
338
- #: inc/classes/class-form-styles.php:492
339
  msgid "Direction"
340
  msgstr ""
341
 
342
- #: inc/classes/class-form-styles.php:497
343
  msgid "Disable submit button until form is valid"
344
  msgstr ""
345
 
346
- #: inc/classes/class-form-styles.php:502 inc/classes/class-form-styles.php:569
347
- #: inc/classes/class-form-styles.php:637 inc/classes/class-form-styles.php:800
348
  msgid "Colors"
349
  msgstr ""
350
 
351
- #: inc/classes/class-form-styles.php:506
352
  msgid "Primary"
353
  msgstr ""
354
 
355
- #: inc/classes/class-form-styles.php:511
356
  msgid "Success"
357
  msgstr ""
358
 
359
- #: inc/classes/class-form-styles.php:516
360
  msgid "Error"
361
  msgstr ""
362
 
363
- #: inc/classes/class-form-styles.php:521 inc/classes/class-form-styles.php:525
364
  msgid "Form title"
365
  msgstr ""
366
 
367
- #: inc/classes/class-form-styles.php:530 inc/classes/class-form-styles.php:789
368
  msgid "Alignment"
369
  msgstr ""
370
 
371
- #: inc/classes/class-form-styles.php:535
372
  msgid "Font size"
373
  msgstr ""
374
 
375
- #: inc/classes/class-form-styles.php:540
376
  msgid "Part borders & spacing"
377
  msgstr ""
378
 
379
- #: inc/classes/class-form-styles.php:544 inc/classes/class-form-styles.php:573
380
- #: inc/classes/class-form-styles.php:764 inc/classes/class-form-styles.php:814
381
  msgid "Border"
382
  msgstr ""
383
 
384
- #: inc/classes/class-form-styles.php:549
385
  msgid "Border location"
386
  msgstr ""
387
 
388
- #: inc/classes/class-form-styles.php:554 inc/classes/class-form-styles.php:769
389
  msgid "Border radius"
390
  msgstr ""
391
 
392
- #: inc/classes/class-form-styles.php:559
393
  msgid "Outer padding"
394
  msgstr ""
395
 
396
- #: inc/classes/class-form-styles.php:564
397
  msgid "Inner padding"
398
  msgstr ""
399
 
400
- #: inc/classes/class-form-styles.php:578
401
  msgid "Border on focus"
402
  msgstr ""
403
 
404
- #: inc/classes/class-form-styles.php:583 inc/classes/class-form-styles.php:661
405
- #: inc/classes/class-form-styles.php:670 inc/classes/class-form-styles.php:804
406
  msgid "Background"
407
  msgstr ""
408
 
409
- #: inc/classes/class-form-styles.php:588
410
  msgid "Background on focus"
411
  msgstr ""
412
 
413
- #: inc/classes/class-form-styles.php:593
414
  msgid "Part labels & text"
415
  msgstr ""
416
 
417
- #: inc/classes/class-form-styles.php:597
418
  msgid "Toggle placeholder on part focus"
419
  msgstr ""
420
 
421
- #: inc/classes/class-form-styles.php:602
422
  msgid "Title alignment"
423
  msgstr ""
424
 
425
- #: inc/classes/class-form-styles.php:607
426
  msgid "Title font size"
427
  msgstr ""
428
 
429
- #: inc/classes/class-form-styles.php:612
430
  msgid "Title font weight"
431
  msgstr ""
432
 
433
- #: inc/classes/class-form-styles.php:617
434
  msgid "Description alignment"
435
  msgstr ""
436
 
437
- #: inc/classes/class-form-styles.php:622
438
  msgid "Description font size"
439
  msgstr ""
440
 
441
- #: inc/classes/class-form-styles.php:627
442
  msgid "Placeholder &amp; Value alignment"
443
  msgstr ""
444
 
445
- #: inc/classes/class-form-styles.php:632
446
  msgid "Value font size"
447
  msgstr ""
448
 
449
- #: inc/classes/class-form-styles.php:641
450
  #: inc/classes/parts/class-part-title.php:8
451
  #: inc/classes/parts/class-part-title.php:30
452
  #: inc/templates/parts/customize-address.php:4
@@ -470,11 +496,11 @@ msgstr ""
470
  msgid "Title"
471
  msgstr ""
472
 
473
- #: inc/classes/class-form-styles.php:646
474
  msgid "Value"
475
  msgstr ""
476
 
477
- #: inc/classes/class-form-styles.php:651
478
  #: inc/classes/parts/class-part-placeholder.php:8
479
  #: inc/templates/parts/customize-address.php:36
480
  #: inc/templates/parts/customize-email.php:36
@@ -488,15 +514,15 @@ msgstr ""
488
  msgid "Placeholder"
489
  msgstr ""
490
 
491
- #: inc/classes/class-form-styles.php:656
492
  msgid "Dropdowns"
493
  msgstr ""
494
 
495
- #: inc/classes/class-form-styles.php:666
496
  msgid "Items"
497
  msgstr ""
498
 
499
- #: inc/classes/class-form-styles.php:675 inc/classes/class-form-styles.php:819
500
  #: inc/classes/parts/class-part-multi-line-text.php:29
501
  #: inc/classes/parts/class-part-rich-text.php:31
502
  #: inc/classes/parts/class-part-single-line-text.php:29
@@ -504,77 +530,77 @@ msgstr ""
504
  msgid "Text"
505
  msgstr ""
506
 
507
- #: inc/classes/class-form-styles.php:680 inc/classes/class-form-styles.php:809
508
  msgid "Background focused"
509
  msgstr ""
510
 
511
- #: inc/classes/class-form-styles.php:685 inc/classes/class-form-styles.php:824
512
  msgid "Text focused"
513
  msgstr ""
514
 
515
- #: inc/classes/class-form-styles.php:690
516
  msgid "Checkboxes & Radios"
517
  msgstr ""
518
 
519
- #: inc/classes/class-form-styles.php:695
520
  msgid "Checkbox & Radio background"
521
  msgstr ""
522
 
523
- #: inc/classes/class-form-styles.php:700
524
  msgid "Checkbox & Radio background focused"
525
  msgstr ""
526
 
527
- #: inc/classes/class-form-styles.php:705
528
  msgid "Checkbox & Radio checkmark"
529
  msgstr ""
530
 
531
- #: inc/classes/class-form-styles.php:710
532
  #: inc/classes/parts/class-part-rating.php:9
533
  #: inc/classes/parts/class-part-rating.php:31
534
  msgid "Rating"
535
  msgstr ""
536
 
537
- #: inc/classes/class-form-styles.php:715
538
  msgid "Rating star color"
539
  msgstr ""
540
 
541
- #: inc/classes/class-form-styles.php:720
542
  msgid "Rating star color on hover"
543
  msgstr ""
544
 
545
- #: inc/classes/class-form-styles.php:725
546
  msgid "Item background"
547
  msgstr ""
548
 
549
- #: inc/classes/class-form-styles.php:730
550
  msgid "Item background on hover"
551
  msgstr ""
552
 
553
- #: inc/classes/class-form-styles.php:735
554
  msgid "Tables"
555
  msgstr ""
556
 
557
- #: inc/classes/class-form-styles.php:740
558
  msgid "Odd row primary"
559
  msgstr ""
560
 
561
- #: inc/classes/class-form-styles.php:745
562
  msgid "Odd row secondary"
563
  msgstr ""
564
 
565
- #: inc/classes/class-form-styles.php:750
566
  msgid "Even row primary"
567
  msgstr ""
568
 
569
- #: inc/classes/class-form-styles.php:755
570
  msgid "Even row secondary"
571
  msgstr ""
572
 
573
- #: inc/classes/class-form-styles.php:760
574
  msgid "Submit button"
575
  msgstr ""
576
 
577
- #: inc/classes/class-form-styles.php:774
578
  #: inc/templates/parts/customize-address.php:78
579
  #: inc/templates/parts/customize-checkbox.php:67
580
  #: inc/templates/parts/customize-date.php:103
@@ -597,54 +623,54 @@ msgstr ""
597
  msgid "Width"
598
  msgstr ""
599
 
600
- #: inc/classes/class-form-styles.php:779
 
 
 
 
601
  msgid "Font Size"
602
  msgstr ""
603
 
604
- #: inc/classes/class-form-styles.php:784
605
  msgid "Font Weight"
606
  msgstr ""
607
 
608
- #: inc/classes/class-form-styles.php:795
609
  msgid "Make button a part of last input"
610
  msgstr ""
611
 
612
- #: inc/classes/class-happyforms-plugin.php:145
613
  msgid "HappyForms Index"
614
  msgstr ""
615
 
616
- #. Plugin Name of the plugin/theme
617
- msgid "HappyForms"
618
- msgstr ""
619
-
620
- #: inc/classes/class-happyforms-plugin.php:164
621
- #: inc/classes/class-happyforms-plugin.php:165
622
  msgid "Add New"
623
  msgstr ""
624
 
625
- #: inc/classes/class-happyforms-plugin.php:173
626
- #: inc/classes/class-happyforms-plugin.php:174
627
  msgid "Responses"
628
  msgstr ""
629
 
630
- #: inc/classes/class-happyforms-plugin.php:185
631
- #: inc/classes/class-happyforms-plugin.php:186
632
  msgid "Welcome"
633
  msgstr ""
634
 
635
- #: inc/classes/class-happyforms-plugin.php:282
636
  msgid "HappyForm"
637
  msgstr ""
638
 
639
- #: inc/classes/class-happyforms-plugin.php:286
640
  msgid "New HappyForm"
641
  msgstr ""
642
 
643
- #: inc/classes/class-happyforms-plugin.php:419
644
  msgid "Insert HappyForm"
645
  msgstr ""
646
 
647
- #: inc/classes/class-happyforms-plugin.php:419
648
  msgid "Add HappyForms"
649
  msgstr ""
650
 
@@ -751,7 +777,7 @@ msgstr ""
751
  #: inc/classes/class-message-admin.php:369
752
  #: inc/classes/class-message-controller.php:613
753
  #: inc/classes/class-message-controller.php:771
754
- #: inc/classes/class-message-controller.php:836
755
  #: inc/templates/admin-message-edit.php:24
756
  msgid "Tracking number"
757
  msgstr ""
@@ -839,7 +865,7 @@ msgstr ""
839
  msgid "No response found in Trash"
840
  msgstr ""
841
 
842
- #: inc/classes/class-message-controller.php:788
843
  msgid "Reply to this message and mark it as read"
844
  msgstr ""
845
 
@@ -951,7 +977,7 @@ msgstr ""
951
  #: inc/classes/parts/class-part-phone.php:165
952
  #: inc/classes/parts/class-part-radio.php:167
953
  #: inc/classes/parts/class-part-rating.php:152
954
- #: inc/classes/parts/class-part-rich-text.php:181
955
  #: inc/classes/parts/class-part-scale.php:163
956
  #: inc/classes/parts/class-part-select.php:170
957
  #: inc/classes/parts/class-part-single-line-text.php:129
@@ -2522,146 +2548,154 @@ msgid "Receive submission alerts"
2522
  msgstr ""
2523
 
2524
  #: inc/templates/customize-form-setup.php:21
2525
- #: inc/templates/customize-form-setup.php:37
2526
  msgid "Email subject"
2527
  msgstr ""
2528
 
2529
- #: inc/templates/customize-form-setup.php:28
 
 
 
 
2530
  msgid "Send confirmation email"
2531
  msgstr ""
2532
 
2533
- #: inc/templates/customize-form-setup.php:33
2534
  msgid "Email display name"
2535
  msgstr ""
2536
 
2537
- #: inc/templates/customize-form-setup.php:41
2538
  msgid "Email content"
2539
  msgstr ""
2540
 
2541
- #: inc/templates/customize-form-setup.php:48
2542
  msgid "On complete redirect link"
2543
  msgstr ""
2544
 
2545
- #: inc/templates/customize-form-setup.php:52
2546
  msgid "Submit button label"
2547
  msgstr ""
2548
 
2549
- #: inc/templates/customize-form-setup.php:58
2550
  msgid "Spam prevention"
2551
  msgstr ""
2552
 
2553
- #: inc/templates/customize-form-setup.php:64
2554
  msgid "Use"
2555
  msgstr ""
2556
 
2557
- #: inc/templates/customize-form-setup.php:64
2558
  msgid "Google ReCaptcha"
2559
  msgstr ""
2560
 
2561
- #: inc/templates/customize-form-setup.php:68
2562
  msgid "ReCaptcha site key"
2563
  msgstr ""
2564
 
2565
- #: inc/templates/customize-form-setup.php:72
2566
  msgid "ReCaptcha secret key"
2567
  msgstr ""
2568
 
2569
- #: inc/templates/customize-form-setup.php:80
2570
  msgid "Save messages for this form"
2571
  msgstr ""
2572
 
2573
- #: inc/templates/customize-form-setup.php:86
2574
  msgid "Add identifying number to messages"
2575
  msgstr ""
2576
 
2577
- #: inc/templates/customize-form-setup.php:91
2578
  msgid "Start counter from"
2579
  msgstr ""
2580
 
2581
- #: inc/templates/customize-form-setup.php:96
2582
  #: inc/templates/parts/customize-number.php:72
2583
  msgid "Prefix"
2584
  msgstr ""
2585
 
2586
- #: inc/templates/customize-form-setup.php:100
2587
  msgid "Suffix"
2588
  msgstr ""
2589
 
2590
- #: inc/templates/customize-form-setup.php:108
2591
  msgid "Preview values before submission"
2592
  msgstr ""
2593
 
2594
- #: inc/templates/customize-form-setup.php:113
2595
  msgid "Review button text"
2596
  msgstr ""
2597
 
2598
- #: inc/templates/customize-form-setup.php:120
2599
  msgid ""
2600
  "This is the message your users will see after succesfully submitting your "
2601
  "form."
2602
  msgstr ""
2603
 
2604
- #: inc/templates/customize-form-setup.php:123
2605
  msgid ""
2606
  "Add your email address here to receive a confirmation email for each form "
2607
  "response. You can add multiple email addresses by separating each address "
2608
  "with a comma."
2609
  msgstr ""
2610
 
2611
- #: inc/templates/customize-form-setup.php:126
2612
  msgid ""
2613
  "Each time a user submits a message, you'll receive an email with this "
2614
  "subject."
2615
  msgstr ""
2616
 
2617
- #: inc/templates/customize-form-setup.php:129
2618
  msgid ""
2619
  "If your form contains an email field, recipients will receive an email with "
2620
  "this content."
2621
  msgstr ""
2622
 
2623
- #: inc/templates/customize-form-setup.php:132
2624
  msgid ""
2625
  "If your form contains an email field, recipients will receive an email with "
2626
  "this sender name."
2627
  msgstr ""
2628
 
2629
- #: inc/templates/customize-form-setup.php:135
2630
  msgid ""
2631
  "If your form contains an email field, recipients will receive an email with "
2632
  "this subject."
2633
  msgstr ""
2634
 
2635
- #: inc/templates/customize-form-setup.php:138
2636
  msgid ""
2637
  "By default, recipients will be redirected to the post or page displaying "
2638
  "this form. To set a custom redirect webpage, add a link here."
2639
  msgstr ""
2640
 
2641
- #: inc/templates/customize-form-setup.php:141
2642
  msgid "Protect your form against bots by using HoneyPot security."
2643
  msgstr ""
2644
 
2645
- #: inc/templates/customize-form-setup.php:144
2646
  msgid "Protect your form against bots using your Google ReCaptcha credentials."
2647
  msgstr ""
2648
 
2649
- #: inc/templates/customize-form-setup.php:147
2650
  msgid "Keep recipients responses stored in your WordPress database."
2651
  msgstr ""
2652
 
2653
- #: inc/templates/customize-form-setup.php:150
2654
  msgid "Let your users review their submission before confirming it."
2655
  msgstr ""
2656
 
2657
- #: inc/templates/customize-form-setup.php:153
2658
  msgid "Tag responses with a unique, incremental identifier."
2659
  msgstr ""
2660
 
2661
- #: inc/templates/customize-form-setup.php:156
2662
  msgid "Your next submission will be tagged with this identifier."
2663
  msgstr ""
2664
 
 
 
 
 
2665
  #: inc/templates/customize-form-steps.php:23
2666
  msgid "Save & Close"
2667
  msgstr ""
2
  # This file is distributed under the same license as the HappyForms package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: HappyForms 1.6.10\n"
6
  "Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
7
+ "POT-Creation-Date: 2018-11-15 13:48:44+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
13
  "Language-Team: The Theme Foundry\n"
14
  "X-Generator: grunt-wp-i18n 0.4.9\n"
15
 
16
+ #. Plugin Name of the plugin/theme
17
+ msgid "HappyForms"
18
+ msgstr ""
19
+
20
+ #: inc/classes/class-block.php:50
21
+ msgid "Contact form to manage and respond to conversations with customers."
22
+ msgstr ""
23
+
24
+ #: inc/classes/class-block.php:89
25
+ msgid "Select"
26
+ msgstr ""
27
+
28
+ #: inc/classes/class-block.php:90
29
+ msgid "Which form would you like to add here?"
30
+ msgstr ""
31
+
32
+ #: inc/classes/class-block.php:91
33
+ msgid "HappyForms Settings"
34
+ msgstr ""
35
+
36
+ #: inc/classes/class-block.php:92
37
+ msgid "Edit Form"
38
+ msgstr ""
39
+
40
  #: inc/classes/class-form-admin.php:155
41
  #: inc/classes/class-form-controller.php:96
42
  msgid "View form"
164
 
165
  #: inc/classes/class-form-controller.php:91
166
  #: inc/classes/class-form-controller.php:101
167
+ #: inc/classes/class-happyforms-plugin.php:162
168
+ #: inc/classes/class-happyforms-plugin.php:163
169
  msgid "All Forms"
170
  msgstr ""
171
 
227
  msgid "Review submission"
228
  msgstr ""
229
 
230
+ #: inc/classes/class-form-controller.php:822
231
  #: inc/classes/class-message-controller.php:291
232
  #: inc/classes/class-message-controller.php:391
233
  #: inc/classes/class-message-controller.php:426
234
  msgid "Your submission contains errors."
235
  msgstr ""
236
 
237
+ #: inc/classes/class-form-controller.php:980
238
  msgid "Please review your submission..."
239
  msgstr ""
240
 
272
 
273
  #: inc/classes/class-form-styles.php:85 inc/classes/class-form-styles.php:159
274
  #: inc/classes/class-form-styles.php:188 inc/classes/class-form-styles.php:208
275
+ #: inc/classes/class-form-styles.php:285
276
  #: inc/templates/parts/customize-address.php:11
277
  #: inc/templates/parts/customize-checkbox.php:11
278
  #: inc/templates/parts/customize-date.php:11
296
 
297
  #: inc/classes/class-form-styles.php:86 inc/classes/class-form-styles.php:160
298
  #: inc/classes/class-form-styles.php:189 inc/classes/class-form-styles.php:209
299
+ #: inc/classes/class-form-styles.php:286
300
  msgid "Center"
301
  msgstr ""
302
 
303
  #: inc/classes/class-form-styles.php:87 inc/classes/class-form-styles.php:161
304
  #: inc/classes/class-form-styles.php:190 inc/classes/class-form-styles.php:210
305
+ #: inc/classes/class-form-styles.php:287
306
  msgid "Right"
307
  msgstr ""
308
 
327
  msgstr ""
328
 
329
  #: inc/classes/class-form-styles.php:133 inc/classes/class-form-styles.php:143
330
+ #: inc/classes/class-form-styles.php:256
331
  msgid "Narrow"
332
  msgstr ""
333
 
334
  #: inc/classes/class-form-styles.php:134 inc/classes/class-form-styles.php:144
335
+ #: inc/classes/class-form-styles.php:247 inc/classes/class-form-styles.php:257
336
  msgid "Default"
337
  msgstr ""
338
 
339
  #: inc/classes/class-form-styles.php:135 inc/classes/class-form-styles.php:145
340
+ #: inc/classes/class-form-styles.php:258
341
  msgid "Wide"
342
  msgstr ""
343
 
344
+ #: inc/classes/class-form-styles.php:179 inc/classes/class-form-styles.php:276
345
  msgid "Normal"
346
  msgstr ""
347
 
348
+ #: inc/classes/class-form-styles.php:180 inc/classes/class-form-styles.php:277
349
  msgid "Bold"
350
  msgstr ""
351
 
353
  msgid "Full width"
354
  msgstr ""
355
 
356
+ #: inc/classes/class-form-styles.php:493
357
  msgid "General"
358
  msgstr ""
359
 
360
+ #: inc/classes/class-form-styles.php:497
361
  msgid "Form width"
362
  msgstr ""
363
 
364
+ #: inc/classes/class-form-styles.php:502
365
  msgid "Direction"
366
  msgstr ""
367
 
368
+ #: inc/classes/class-form-styles.php:507
369
  msgid "Disable submit button until form is valid"
370
  msgstr ""
371
 
372
+ #: inc/classes/class-form-styles.php:512 inc/classes/class-form-styles.php:579
373
+ #: inc/classes/class-form-styles.php:647 inc/classes/class-form-styles.php:815
374
  msgid "Colors"
375
  msgstr ""
376
 
377
+ #: inc/classes/class-form-styles.php:516
378
  msgid "Primary"
379
  msgstr ""
380
 
381
+ #: inc/classes/class-form-styles.php:521
382
  msgid "Success"
383
  msgstr ""
384
 
385
+ #: inc/classes/class-form-styles.php:526
386
  msgid "Error"
387
  msgstr ""
388
 
389
+ #: inc/classes/class-form-styles.php:531 inc/classes/class-form-styles.php:535
390
  msgid "Form title"
391
  msgstr ""
392
 
393
+ #: inc/classes/class-form-styles.php:540 inc/classes/class-form-styles.php:804
394
  msgid "Alignment"
395
  msgstr ""
396
 
397
+ #: inc/classes/class-form-styles.php:545
398
  msgid "Font size"
399
  msgstr ""
400
 
401
+ #: inc/classes/class-form-styles.php:550
402
  msgid "Part borders & spacing"
403
  msgstr ""
404
 
405
+ #: inc/classes/class-form-styles.php:554 inc/classes/class-form-styles.php:583
406
+ #: inc/classes/class-form-styles.php:774 inc/classes/class-form-styles.php:829
407
  msgid "Border"
408
  msgstr ""
409
 
410
+ #: inc/classes/class-form-styles.php:559
411
  msgid "Border location"
412
  msgstr ""
413
 
414
+ #: inc/classes/class-form-styles.php:564 inc/classes/class-form-styles.php:779
415
  msgid "Border radius"
416
  msgstr ""
417
 
418
+ #: inc/classes/class-form-styles.php:569
419
  msgid "Outer padding"
420
  msgstr ""
421
 
422
+ #: inc/classes/class-form-styles.php:574
423
  msgid "Inner padding"
424
  msgstr ""
425
 
426
+ #: inc/classes/class-form-styles.php:588
427
  msgid "Border on focus"
428
  msgstr ""
429
 
430
+ #: inc/classes/class-form-styles.php:593 inc/classes/class-form-styles.php:671
431
+ #: inc/classes/class-form-styles.php:680 inc/classes/class-form-styles.php:819
432
  msgid "Background"
433
  msgstr ""
434
 
435
+ #: inc/classes/class-form-styles.php:598
436
  msgid "Background on focus"
437
  msgstr ""
438
 
439
+ #: inc/classes/class-form-styles.php:603
440
  msgid "Part labels & text"
441
  msgstr ""
442
 
443
+ #: inc/classes/class-form-styles.php:607
444
  msgid "Toggle placeholder on part focus"
445
  msgstr ""
446
 
447
+ #: inc/classes/class-form-styles.php:612
448
  msgid "Title alignment"
449
  msgstr ""
450
 
451
+ #: inc/classes/class-form-styles.php:617
452
  msgid "Title font size"
453
  msgstr ""
454
 
455
+ #: inc/classes/class-form-styles.php:622
456
  msgid "Title font weight"
457
  msgstr ""
458
 
459
+ #: inc/classes/class-form-styles.php:627
460
  msgid "Description alignment"
461
  msgstr ""
462
 
463
+ #: inc/classes/class-form-styles.php:632
464
  msgid "Description font size"
465
  msgstr ""
466
 
467
+ #: inc/classes/class-form-styles.php:637
468
  msgid "Placeholder &amp; Value alignment"
469
  msgstr ""
470
 
471
+ #: inc/classes/class-form-styles.php:642
472
  msgid "Value font size"
473
  msgstr ""
474
 
475
+ #: inc/classes/class-form-styles.php:651
476
  #: inc/classes/parts/class-part-title.php:8
477
  #: inc/classes/parts/class-part-title.php:30
478
  #: inc/templates/parts/customize-address.php:4
496
  msgid "Title"
497
  msgstr ""
498
 
499
+ #: inc/classes/class-form-styles.php:656
500
  msgid "Value"
501
  msgstr ""
502
 
503
+ #: inc/classes/class-form-styles.php:661
504
  #: inc/classes/parts/class-part-placeholder.php:8
505
  #: inc/templates/parts/customize-address.php:36
506
  #: inc/templates/parts/customize-email.php:36
514
  msgid "Placeholder"
515
  msgstr ""
516
 
517
+ #: inc/classes/class-form-styles.php:666
518
  msgid "Dropdowns"
519
  msgstr ""
520
 
521
+ #: inc/classes/class-form-styles.php:676
522
  msgid "Items"
523
  msgstr ""
524
 
525
+ #: inc/classes/class-form-styles.php:685 inc/classes/class-form-styles.php:834
526
  #: inc/classes/parts/class-part-multi-line-text.php:29
527
  #: inc/classes/parts/class-part-rich-text.php:31
528
  #: inc/classes/parts/class-part-single-line-text.php:29
530
  msgid "Text"
531
  msgstr ""
532
 
533
+ #: inc/classes/class-form-styles.php:690 inc/classes/class-form-styles.php:824
534
  msgid "Background focused"
535
  msgstr ""
536
 
537
+ #: inc/classes/class-form-styles.php:695 inc/classes/class-form-styles.php:839
538
  msgid "Text focused"
539
  msgstr ""
540
 
541
+ #: inc/classes/class-form-styles.php:700
542
  msgid "Checkboxes & Radios"
543
  msgstr ""
544
 
545
+ #: inc/classes/class-form-styles.php:705
546
  msgid "Checkbox & Radio background"
547
  msgstr ""
548
 
549
+ #: inc/classes/class-form-styles.php:710
550
  msgid "Checkbox & Radio background focused"
551
  msgstr ""
552
 
553
+ #: inc/classes/class-form-styles.php:715
554
  msgid "Checkbox & Radio checkmark"
555
  msgstr ""
556
 
557
+ #: inc/classes/class-form-styles.php:720
558
  #: inc/classes/parts/class-part-rating.php:9
559
  #: inc/classes/parts/class-part-rating.php:31
560
  msgid "Rating"
561
  msgstr ""
562
 
563
+ #: inc/classes/class-form-styles.php:725
564
  msgid "Rating star color"
565
  msgstr ""
566
 
567
+ #: inc/classes/class-form-styles.php:730
568
  msgid "Rating star color on hover"
569
  msgstr ""
570
 
571
+ #: inc/classes/class-form-styles.php:735
572
  msgid "Item background"
573
  msgstr ""
574
 
575
+ #: inc/classes/class-form-styles.php:740
576
  msgid "Item background on hover"
577
  msgstr ""
578
 
579
+ #: inc/classes/class-form-styles.php:745
580
  msgid "Tables"
581
  msgstr ""
582
 
583
+ #: inc/classes/class-form-styles.php:750
584
  msgid "Odd row primary"
585
  msgstr ""
586
 
587
+ #: inc/classes/class-form-styles.php:755
588
  msgid "Odd row secondary"
589
  msgstr ""
590
 
591
+ #: inc/classes/class-form-styles.php:760
592
  msgid "Even row primary"
593
  msgstr ""
594
 
595
+ #: inc/classes/class-form-styles.php:765
596
  msgid "Even row secondary"
597
  msgstr ""
598
 
599
+ #: inc/classes/class-form-styles.php:770
600
  msgid "Submit button"
601
  msgstr ""
602
 
603
+ #: inc/classes/class-form-styles.php:784
604
  #: inc/templates/parts/customize-address.php:78
605
  #: inc/templates/parts/customize-checkbox.php:67
606
  #: inc/templates/parts/customize-date.php:103
623
  msgid "Width"
624
  msgstr ""
625
 
626
+ #: inc/classes/class-form-styles.php:789
627
+ msgid "Padding"
628
+ msgstr ""
629
+
630
+ #: inc/classes/class-form-styles.php:794
631
  msgid "Font Size"
632
  msgstr ""
633
 
634
+ #: inc/classes/class-form-styles.php:799
635
  msgid "Font Weight"
636
  msgstr ""
637
 
638
+ #: inc/classes/class-form-styles.php:810
639
  msgid "Make button a part of last input"
640
  msgstr ""
641
 
642
+ #: inc/classes/class-happyforms-plugin.php:151
643
  msgid "HappyForms Index"
644
  msgstr ""
645
 
646
+ #: inc/classes/class-happyforms-plugin.php:170
647
+ #: inc/classes/class-happyforms-plugin.php:171
 
 
 
 
648
  msgid "Add New"
649
  msgstr ""
650
 
651
+ #: inc/classes/class-happyforms-plugin.php:178
652
+ #: inc/classes/class-happyforms-plugin.php:179
653
  msgid "Responses"
654
  msgstr ""
655
 
656
+ #: inc/classes/class-happyforms-plugin.php:190
657
+ #: inc/classes/class-happyforms-plugin.php:191
658
  msgid "Welcome"
659
  msgstr ""
660
 
661
+ #: inc/classes/class-happyforms-plugin.php:287
662
  msgid "HappyForm"
663
  msgstr ""
664
 
665
+ #: inc/classes/class-happyforms-plugin.php:291
666
  msgid "New HappyForm"
667
  msgstr ""
668
 
669
+ #: inc/classes/class-happyforms-plugin.php:424
670
  msgid "Insert HappyForm"
671
  msgstr ""
672
 
673
+ #: inc/classes/class-happyforms-plugin.php:424
674
  msgid "Add HappyForms"
675
  msgstr ""
676
 
777
  #: inc/classes/class-message-admin.php:369
778
  #: inc/classes/class-message-controller.php:613
779
  #: inc/classes/class-message-controller.php:771
780
+ #: inc/classes/class-message-controller.php:838
781
  #: inc/templates/admin-message-edit.php:24
782
  msgid "Tracking number"
783
  msgstr ""
865
  msgid "No response found in Trash"
866
  msgstr ""
867
 
868
+ #: inc/classes/class-message-controller.php:789
869
  msgid "Reply to this message and mark it as read"
870
  msgstr ""
871
 
977
  #: inc/classes/parts/class-part-phone.php:165
978
  #: inc/classes/parts/class-part-radio.php:167
979
  #: inc/classes/parts/class-part-rating.php:152
980
+ #: inc/classes/parts/class-part-rich-text.php:185
981
  #: inc/classes/parts/class-part-scale.php:163
982
  #: inc/classes/parts/class-part-select.php:170
983
  #: inc/classes/parts/class-part-single-line-text.php:129
2548
  msgstr ""
2549
 
2550
  #: inc/templates/customize-form-setup.php:21
2551
+ #: inc/templates/customize-form-setup.php:43
2552
  msgid "Email subject"
2553
  msgstr ""
2554
 
2555
+ #: inc/templates/customize-form-setup.php:27
2556
+ msgid "Include mark and reply link"
2557
+ msgstr ""
2558
+
2559
+ #: inc/templates/customize-form-setup.php:34
2560
  msgid "Send confirmation email"
2561
  msgstr ""
2562
 
2563
+ #: inc/templates/customize-form-setup.php:39
2564
  msgid "Email display name"
2565
  msgstr ""
2566
 
2567
+ #: inc/templates/customize-form-setup.php:47
2568
  msgid "Email content"
2569
  msgstr ""
2570
 
2571
+ #: inc/templates/customize-form-setup.php:54
2572
  msgid "On complete redirect link"
2573
  msgstr ""
2574
 
2575
+ #: inc/templates/customize-form-setup.php:58
2576
  msgid "Submit button label"
2577
  msgstr ""
2578
 
2579
+ #: inc/templates/customize-form-setup.php:64
2580
  msgid "Spam prevention"
2581
  msgstr ""
2582
 
2583
+ #: inc/templates/customize-form-setup.php:70
2584
  msgid "Use"
2585
  msgstr ""
2586
 
2587
+ #: inc/templates/customize-form-setup.php:70
2588
  msgid "Google ReCaptcha"
2589
  msgstr ""
2590
 
2591
+ #: inc/templates/customize-form-setup.php:74
2592
  msgid "ReCaptcha site key"
2593
  msgstr ""
2594
 
2595
+ #: inc/templates/customize-form-setup.php:78
2596
  msgid "ReCaptcha secret key"
2597
  msgstr ""
2598
 
2599
+ #: inc/templates/customize-form-setup.php:86
2600
  msgid "Save messages for this form"
2601
  msgstr ""
2602
 
2603
+ #: inc/templates/customize-form-setup.php:92
2604
  msgid "Add identifying number to messages"
2605
  msgstr ""
2606
 
2607
+ #: inc/templates/customize-form-setup.php:97
2608
  msgid "Start counter from"
2609
  msgstr ""
2610
 
2611
+ #: inc/templates/customize-form-setup.php:102
2612
  #: inc/templates/parts/customize-number.php:72
2613
  msgid "Prefix"
2614
  msgstr ""
2615
 
2616
+ #: inc/templates/customize-form-setup.php:106
2617
  msgid "Suffix"
2618
  msgstr ""
2619
 
2620
+ #: inc/templates/customize-form-setup.php:114
2621
  msgid "Preview values before submission"
2622
  msgstr ""
2623
 
2624
+ #: inc/templates/customize-form-setup.php:119
2625
  msgid "Review button text"
2626
  msgstr ""
2627
 
2628
+ #: inc/templates/customize-form-setup.php:126
2629
  msgid ""
2630
  "This is the message your users will see after succesfully submitting your "
2631
  "form."
2632
  msgstr ""
2633
 
2634
+ #: inc/templates/customize-form-setup.php:129
2635
  msgid ""
2636
  "Add your email address here to receive a confirmation email for each form "
2637
  "response. You can add multiple email addresses by separating each address "
2638
  "with a comma."
2639
  msgstr ""
2640
 
2641
+ #: inc/templates/customize-form-setup.php:132
2642
  msgid ""
2643
  "Each time a user submits a message, you'll receive an email with this "
2644
  "subject."
2645
  msgstr ""
2646
 
2647
+ #: inc/templates/customize-form-setup.php:135
2648
  msgid ""
2649
  "If your form contains an email field, recipients will receive an email with "
2650
  "this content."
2651
  msgstr ""
2652
 
2653
+ #: inc/templates/customize-form-setup.php:138
2654
  msgid ""
2655
  "If your form contains an email field, recipients will receive an email with "
2656
  "this sender name."
2657
  msgstr ""
2658
 
2659
+ #: inc/templates/customize-form-setup.php:141
2660
  msgid ""
2661
  "If your form contains an email field, recipients will receive an email with "
2662
  "this subject."
2663
  msgstr ""
2664
 
2665
+ #: inc/templates/customize-form-setup.php:144
2666
  msgid ""
2667
  "By default, recipients will be redirected to the post or page displaying "
2668
  "this form. To set a custom redirect webpage, add a link here."
2669
  msgstr ""
2670
 
2671
+ #: inc/templates/customize-form-setup.php:147
2672
  msgid "Protect your form against bots by using HoneyPot security."
2673
  msgstr ""
2674
 
2675
+ #: inc/templates/customize-form-setup.php:150
2676
  msgid "Protect your form against bots using your Google ReCaptcha credentials."
2677
  msgstr ""
2678
 
2679
+ #: inc/templates/customize-form-setup.php:153
2680
  msgid "Keep recipients responses stored in your WordPress database."
2681
  msgstr ""
2682
 
2683
+ #: inc/templates/customize-form-setup.php:156
2684
  msgid "Let your users review their submission before confirming it."
2685
  msgstr ""
2686
 
2687
+ #: inc/templates/customize-form-setup.php:159
2688
  msgid "Tag responses with a unique, incremental identifier."
2689
  msgstr ""
2690
 
2691
+ #: inc/templates/customize-form-setup.php:162
2692
  msgid "Your next submission will be tagged with this identifier."
2693
  msgstr ""
2694
 
2695
+ #: inc/templates/customize-form-setup.php:165
2696
+ msgid "Reply to your users and mark their submission as read in one click."
2697
+ msgstr ""
2698
+
2699
  #: inc/templates/customize-form-steps.php:23
2700
  msgid "Save & Close"
2701
  msgstr ""
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: contact, contact form, email, feedback form, form, form builder, custom fo
5
  Requires at least: 4.8
6
  Tested up to: 4.9.7
7
  Requires PHP: 5.2.4
8
- Stable tag: 1.6.9
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -28,7 +28,7 @@ HappyForms is the simplest way for you to manage and respond to conversations wi
28
 
29
  = Popular HappyForms Features: =
30
 
31
- * Drag and drop form builder.
32
  * Live preview forms as you create them.
33
  * Easily add forms anywhere to your pages, posts and widget areas.
34
  * Add multiple forms to the same page.
@@ -60,7 +60,7 @@ HappyForms is the simplest way for you to manage and respond to conversations wi
60
  * Date & Time — Includes date dropdowns and time input spinners.
61
  * Address — A dropdown listing all available countries.
62
  * Scale — Collect opinions using a numeric slider.
63
- * Text Editor - For formatting text, code blocks, lists and more.
64
  * Title — Include personal honorific list.
65
  * Legal — Required fine print before form submission.
66
  * Rating — Collect opinions using a zero to five star range.
@@ -80,6 +80,11 @@ Absolutely! HappyForms gets out of the way and is designed to work with any them
80
 
81
  == Changelog ==
82
 
 
 
 
 
 
83
  = 1.6.9 =
84
  * New feature: New Text Editor part for formatting text, code blocks, lists and more.
85
  * Improvement: New parts automatically inherit options when "Apply to all parts" is on.
@@ -311,6 +316,9 @@ Absolutely! HappyForms gets out of the way and is designed to work with any them
311
 
312
  == Upgrade Notice ==
313
 
 
 
 
314
  = 1.6.9 =
315
  * New Text Editor part, better dropdowns and global options, bugfixes.
316
 
5
  Requires at least: 4.8
6
  Tested up to: 4.9.7
7
  Requires PHP: 5.2.4
8
+ Stable tag: 1.6.10
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
28
 
29
  = Popular HappyForms Features: =
30
 
31
+ * Drag and drop form builder (Gutenberg ready).
32
  * Live preview forms as you create them.
33
  * Easily add forms anywhere to your pages, posts and widget areas.
34
  * Add multiple forms to the same page.
60
  * Date & Time — Includes date dropdowns and time input spinners.
61
  * Address — A dropdown listing all available countries.
62
  * Scale — Collect opinions using a numeric slider.
63
+ * Text Editor For formatting text, code blocks, lists and more.
64
  * Title — Include personal honorific list.
65
  * Legal — Required fine print before form submission.
66
  * Rating — Collect opinions using a zero to five star range.
80
 
81
  == Changelog ==
82
 
83
+ = 1.6.10 =
84
+ * New feature: Gutenberg block allowing you to add HappyForms to your content in Gutenberg editor.
85
+ * New feature: Style control for submit button padding.
86
+ * New feature: Checkbox to allow toggling 'Mark as read and reply' link in submission alert emails.
87
+
88
  = 1.6.9 =
89
  * New feature: New Text Editor part for formatting text, code blocks, lists and more.
90
  * Improvement: New parts automatically inherit options when "Apply to all parts" is on.
316
 
317
  == Upgrade Notice ==
318
 
319
+ = 1.6.10 =
320
+ * Gutenberg support, new style control and improvements.
321
+
322
  = 1.6.9 =
323
  * New Text Editor part, better dropdowns and global options, bugfixes.
324