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

Version Description

  • Improvement: All sections in Style tab are now always visible for easier access to controls.
  • Improvement: Choice based fields build interface has been tidied up and made more coherent.
  • Improvement: Display of untitled forms in dashboard screen is now more consistent with WordPress display of untitled posts.
  • Improvement: Form styles are now packaged in a single bundle for better performance and cache friendliness.
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.17.0
Comparing to
See all releases

Code changes from version 1.16.1 to 1.17.0

bundles/css/frontend.css ADDED
@@ -0,0 +1 @@
 
1
+ :root{--happyforms-color-primary:#000;--happyforms-color-success-notice:#ebf9f0;--happyforms-color-success-notice-text:#1eb452;--happyforms-color-error:#f23000;--happyforms-color-error-notice:#ffeeea;--happyforms-color-error-notice-text:#f23000;--happyforms-color-notice-text:#454545;--happyforms-color-part-title:#000;--happyforms-color-part-value:#000;--happyforms-color-part-placeholder:#888888;--happyforms-color-part-description:#454545;--happyforms-color-part-border:#dbdbdb;--happyforms-color-part-border-focus:#7aa4ff;--happyforms-color-part-background:#fff;--happyforms-color-part-background-focus:#fff;--happyforms-color-submit-background:#000000;--happyforms-color-submit-background-hover:#000000;--happyforms-color-submit-border:transparent;--happyforms-color-submit-text:#fff;--happyforms-color-submit-text-hover:#fff;--happyforms-color-table-row-odd:#fcfcfc;--happyforms-color-table-row-even:#efefef;--happyforms-color-table-row-odd-text:#000;--happyforms-color-table-row-even-text:#000;--happyforms-color-choice-checkmark-bg:#fff;--happyforms-color-choice-checkmark-bg-focus:#000;--happyforms-color-choice-checkmark-color:#fff;--happyforms-color-dropdown-bg-color:#fff;--happyforms-color-dropdown-item-bg:#fff;--happyforms-color-dropdown-item-text:#000;--happyforms-color-dropdown-item-bg-hover:#f4f4f5;--happyforms-color-dropdown-item-text-hover:#000;--happyforms-form-title-font-size:32px;--happyforms-form-font-weight:normal;--happyforms-part-title-font-size:16px;--happyforms-part-description-font-size:12px;--happyforms-part-value-font-size:16px;--happyforms-submit-button-font-size:16px;--happyforms-transition-duration:0.25s}.happyforms-form.happyforms-styles form{font-weight:400;font-weight:var(--happyforms-form-font-weight);transition:opacity .25s ease-in-out;transition:opacity var(--happyforms-transition-duration) ease-in-out}.happyforms-styles h3.happyforms-form__title{font-weight:400;font-size:32px;font-size:var(--happyforms-form-title-font-size);color:#000;color:var(--happyforms-color-primary)}.happyforms-styles .happyforms-part__label{line-height:1;font-weight:400;font-size:16px;font-size:var(--happyforms-part-title-font-size);background-color:transparent;overflow-wrap:anywhere}.happyforms-styles .happyforms-part__label .happyforms-optional,.happyforms-styles .happyforms-part__label .label{font-weight:400;font-style:normal;font-size:16px;font-size:var(--happyforms-part-title-font-size);color:#000;color:var(--happyforms-color-part-title);background-color:transparent}.happyforms-styles .happyforms-part__description{line-height:1.4;font-size:14px;font-size:var(--happyforms-part-description-font-size);color:#454545;color:var(--happyforms-color-part-description);overflow-wrap:anywhere}.happyforms-styles .happyforms-part input[type=email],.happyforms-styles .happyforms-part input[type=number],.happyforms-styles .happyforms-part input[type=password],.happyforms-styles .happyforms-part input[type=range],.happyforms-styles .happyforms-part input[type=tel],.happyforms-styles .happyforms-part input[type=text],.happyforms-styles .happyforms-part select.happyforms-select,.happyforms-styles .happyforms-part textarea{margin:0;padding:10px;border-width:1px;border-style:solid;border-color:#dbdbdb!important;border-color:var(--happyforms-color-part-border)!important;border-radius:6px;border-radius:6px!important;box-shadow:none;box-sizing:border-box;font-style:normal;font-size:16px;font-size:var(--happyforms-part-value-font-size);background-color:#fff!important;background-color:var(--happyforms-color-part-background)!important;color:#000;color:var(--happyforms-color-part-value);transition-property:none;transition-duration:.1s;transition-duration:var(--happyforms-transition-duration);transition-timing-function:ease-in}.happyforms-styles .happyforms-part input[type=email],.happyforms-styles .happyforms-part input[type=number],.happyforms-styles .happyforms-part input[type=password],.happyforms-styles .happyforms-part input[type=range],.happyforms-styles .happyforms-part input[type=tel],.happyforms-styles .happyforms-part input[type=text],.happyforms-styles .happyforms-part select.happyforms-select{height:auto!important}.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=email],.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=number],.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=password],.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=range],.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=tel],.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=text],.happyforms-styles.happyforms-form--part-border-off .happyforms-part select.happyforms-select,.happyforms-styles.happyforms-form--part-border-off .happyforms-part textarea{border-color:transparent!important}.happyforms-styles .happyforms-part input[type=email]:focus,.happyforms-styles .happyforms-part input[type=number]:focus,.happyforms-styles .happyforms-part input[type=password]:focus,.happyforms-styles .happyforms-part input[type=tel]:focus,.happyforms-styles .happyforms-part input[type=text]:focus,.happyforms-styles .happyforms-part select.happyforms-select:focus,.happyforms-styles .happyforms-part textarea:focus{outline:0;border-color:#7aa4ff!important;border-color:var(--happyforms-color-part-border-focus)!important;color:#000;color:var(--happyforms-color-part-value);background-color:#fff!important;background-color:var(--happyforms-color-part-background-focus)!important;box-shadow:inset 0 0 0 1px #7aa4ff;box-shadow:inset 0 0 0 1px var(--happyforms-color-part-border-focus)}.happyforms-styles .happyforms-part select:focus{outline:0}.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=email]:focus,.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=number]:focus,.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=password]:focus,.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=tel]:focus,.happyforms-styles.happyforms-form--part-border-off .happyforms-part input[type=text]:focus,.happyforms-styles.happyforms-form--part-border-off .happyforms-part select.happyforms-select:focus,.happyforms-styles.happyforms-form--part-border-off .happyforms-part textarea:focus{border-color:transparent!important}.happyforms-styles .happyforms-part.happyforms-part--error input[type=email],.happyforms-styles .happyforms-part.happyforms-part--error input[type=number],.happyforms-styles .happyforms-part.happyforms-part--error input[type=password],.happyforms-styles .happyforms-part.happyforms-part--error input[type=range],.happyforms-styles .happyforms-part.happyforms-part--error input[type=tel],.happyforms-styles .happyforms-part.happyforms-part--error input[type=text],.happyforms-styles .happyforms-part.happyforms-part--error textarea{border-color:#f23000;border-color:var(--happyforms-color-error)}.happyforms-styles .happyforms-part.display-type--block .happyforms-part__el{width:100%}.happyforms-styles .happyforms-part ::-webkit-input-placeholder{font-weight:400;font-style:normal;color:#888;color:var(--happyforms-color-part-placeholder)!important}.happyforms-styles .happyforms-part ::-moz-placeholder{font-weight:400;font-style:normal;color:#888;color:var(--happyforms-color-part-placeholder)!important}.happyforms-styles .happyforms-part ::-ms-placeholder{font-weight:400;font-style:normal;color:#888;color:var(--happyforms-color-part-placeholder)!important}.happyforms-styles .happyforms-part ::placeholder{font-weight:400;font-style:normal;color:#888;color:var(--happyforms-color-part-placeholder)!important}.happyforms-styles .happyforms-part-el-wrap{position:relative}.happyforms-styles .happyforms-part-wrap{position:relative}.happyforms-styles .happyforms-part .option-label{border-radius:6px;line-height:1.3125;line-height:calc(var(--happyforms-part-value-font-size) * 1.3125);font-size:16px;font-size:var(--happyforms-part-value-font-size);overflow-wrap:anywhere}.happyforms-styles .happyforms-part .happyforms-part-option:last-of-type .option-label{margin-bottom:0}.happyforms-styles .option-label input[type=text]{position:relative;top:0;padding-top:1px;padding-bottom:1px;border:0;border-radius:0!important}.happyforms-styles .option-label input[type=text]:focus{border-top:0;border-right:0;border-left:0;box-shadow:none}.happyforms-styles .option-label input{top:3px}.happyforms-styles .happyforms-part--checkbox .happyforms-part-option,.happyforms-styles .happyforms-part--radio .happyforms-part-option{margin-bottom:10px}.happyforms-styles .happyforms-part--checkbox label.option-label,.happyforms-styles .happyforms-part--radio label.option-label{margin-bottom:0}.happyforms-part .option-label .happyforms-remaining-choice,.happyforms-styles .happyforms-part .option-label .label{font-weight:400;font-size:16px;font-size:var(--happyforms-part-value-font-size);color:#000;color:var(--happyforms-color-part-description)}.happyforms-styles .happyforms-part .option-label input:checked+.checkmark{background-color:#000;background-color:var(--happyforms-color-choice-checkmark-bg-focus)}.happyforms-styles .happyforms-part-option__description{font-size:var(--happyforms-part-description-font-size);color:#000;color:var(--happyforms-color-part-description)}.happyforms-styles .happyforms-part .happyforms-part-option label.heading-label{font-weight:400;font-style:normal;font-size:16px;font-size:var(--happyforms-part-value-font-size);color:#000;color:var(--happyforms-color-part-title)}.happyforms-styles .happyforms-part .checkmark{z-index:5;display:flex;align-items:center;justify-content:center;width:21px;min-width:21px;height:21px;margin:calc((var(--happyforms-part-value-font-size) * 1.3125 - 21px)/ 2) 0;border-radius:50%;border:1px solid;border-color:#dbdbdb;border-color:var(--happyforms-color-part-border);font-weight:700;font-size:14px;font-size:var(--happyforms-part-description-font-size);background-color:#fff;background-color:var(--happyforms-color-choice-checkmark-bg);color:#000;color:var(--happyforms-color-choice-checkmark-bg-focus)}.happyforms-styles .happyforms-part .checkmark svg{display:none;width:10px}.happyforms-styles .happyforms-part--checkbox .checkmark,.happyforms-styles .happyforms-part--legal .checkmark,.happyforms-styles .happyforms-part--table.happyforms-selection--multiple .checkmark{border-radius:6px}.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part--checkbox .checkmark,.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part--legal .checkmark,.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part--table.happyforms-selection--multiple .checkmark{border-radius:0}.happyforms-styles .happyforms-part .option-label input:checked+.checkmark{background-color:#000;background-color:var(--happyforms-color-choice-checkmark-bg-focus)}.happyforms-styles .happyforms-part .option-label input:focus+.checkmark{border-color:#7aa4ff;border-color:var(--happyforms-color-part-border-focus);box-shadow:inset 0 0 0 1px #7aa4ff;box-shadow:inset 0 0 0 1px var(--happyforms-color-part-border-focus)}.happyforms-styles .happyforms-part input:checked+.checkmark svg{display:block;color:#fff;color:var(--happyforms-color-choice-checkmark-color)}.happyforms-radio-circle{display:none;width:7px;height:7px;border-radius:50%;background-color:#fff;background-color:var(--happyforms-color-choice-checkmark-color)}.happyforms-styles .happyforms-part--poll input:checked+.checkmark .happyforms-radio-circle,.happyforms-styles .happyforms-part--radio input:checked+.checkmark .happyforms-radio-circle,.happyforms-styles .happyforms-part--table:not(.happyforms-selection--multiple) input:checked+.checkmark .happyforms-radio-circle{display:block}.happyforms-styles .happyforms-part input:checked+.checkmark svg{display:block;color:#fff;color:var(--happyforms-color-choice-checkmark-color)}.happyforms-styles .happyforms-part__select-bg{padding:1px 0 2px;border:1px solid;border-radius:6px;border-color:#dbdbdb;border-color:var(--happyforms-color-part-border);background-color:#fff;background-color:var(--happyforms-color-part-background)}.happyforms-styles .happyforms-part__select-wrap:after{border-top:6px solid #000;border-top-color:var(--happyforms-color-part-value)}.happyforms-styles .happyforms-part select.happyforms-select:invalid{color:var(--happyforms-color-part-placeholder)!important}.happyforms-styles .happyforms-part select.happyforms-select:focus{outline-width:1px;outline-color:#000;outline-color:var(--happyforms-color-part-value)}.happyforms-styles .happyforms-part-date__time-input .happyforms-spinner-arrow{border-top:6px solid #000;border-top:6px solid var(--happyforms-color-part-value);background-position:left top;background-size:cover}.happyforms-styles button[type=submit].happyforms-button--submit,.happyforms-styles button[type=submit][disabled].happyforms-button--submit{-webkit-appearance:none;height:auto;padding:15px 30px;border-radius:4px!important;border:1px solid transparent!important;border-color:var(--happyforms-color-submit-border)!important;font-weight:400;font-style:normal;font-size:16px;font-size:var(--happyforms-submit-button-font-size);color:#fff;color:var(--happyforms-color-submit-text);background-color:#000;background-color:var(--happyforms-color-submit-background);background:#000;background:var(--happyforms-color-submit-background);text-transform:none;transition-property:all;transition-duration:.25s;transition-duration:var(--happyforms-transition-duration);transition-timing-function:ease-in;white-space:normal;overflow-wrap:anywhere}.happyforms-styles button[type=submit]:not(:hover):not(:active):not(.has-background){background-color:#000;background-color:var(--happyforms-color-submit-background);background:#000;background:var(--happyforms-color-submit-background);color:#fff;color:var(--happyforms-color-submit-text)}.happyforms-styles button[type=submit].happyforms-button--submit:focus,.happyforms-styles button[type=submit].happyforms-button--submit:hover{cursor:pointer;border-radius:4px;border-color:transparent!important;border-color:var(--happyforms-color-submit-border)!important;background-color:#000;background-color:var(--happyforms-color-submit-background-hover);background:#000;background:var(--happyforms-color-submit-background-hover);text-transform:none;text-decoration:none;color:#fff;color:var(--happyforms-color-submit-text-hover)}.happyforms-styles button[type=submit][disabled].happyforms-button--submit:focus,.happyforms-styles button[type=submit][disabled].happyforms-button--submit:hover{cursor:default;background-color:#407fff;background-color:var(--happyforms-color-submit-background);background:#407fff;background:var(--happyforms-color-submit-background);color:#fff;color:var(--happyforms-color-submit-text)}.happyforms-styles .happyforms-visuallyhidden{position:absolute;border:0;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.happyforms-styles .happyforms-message-notices .happyforms-message-notice{padding:20px 15px;border-radius:6px;background-color:transparent;color:#454545}.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-message-notices .happyforms-message-notice{border-radius:0}.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-message-notices .happyforms-message-notice{padding:20px 25px;border-radius:25px}.happyforms-styles .happyforms-message-notices .success{background-color:#ebf9f0;background-color:var(--happyforms-color-success-notice)}.happyforms-styles .happyforms-message-notices .success h2{color:#1eb452!important;color:var(--happyforms-color-success-notice-text)!important}.happyforms-styles .happyforms-message-notices .error{background-color:#ffeeea;background-color:var(--happyforms-color-error-notice)}.happyforms-styles .happyforms-message-notices .error h2{color:#f23000!important;color:var(--happyforms-color-error-notice-text)!important}.happyforms-styles .happyforms-message-notices h2{margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;font-weight:400!important;font-size:16px!important}.happyforms-styles .happyforms-message-notices h2:before{display:none}.happyforms-styles .happyforms-message-notices h2 span{display:block;font-weight:400;font-size:14px}.happyforms-styles .happyforms-form__part .happyforms-message-notices h2{font-weight:400!important;font-size:16px!important;font-size:var(--happyforms-part-value-font-size)!important}.happyforms-styles .happyforms-form__part .happyforms-message-notice.error h2{color:#f23000;color:var(--happyforms-color-error)}.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part .happyforms-part__select-bg,.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part input[type=email],.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part input[type=number],.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part input[type=password],.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part input[type=tel],.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part input[type=text],.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part textarea,.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part:not(.happyforms-part--phone) select.happyforms-select{border-radius:0!important}.happyforms-styles.happyforms-form--part-border-radius-square .option-label{border-radius:0}.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part input[type=email],.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part input[type=number],.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part input[type=password],.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part input[type=tel],.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part input[type=text],.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part textarea,.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part:not(.happyforms-part--phone) select.happyforms-select{border-radius:25px!important;padding-left:25px;padding-right:25px}.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part textarea{padding:15px}.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part .happyforms-part__select-bg{border-radius:25px;padding-left:15px}.happyforms-styles.happyforms-form--part-border-radius-pill .option-label{border-radius:25px}.happyforms-styles.happyforms-form--part-placeholder-toggle .happyforms-part ::-webkit-input-placeholder{color:transparent!important;transition:color .25s;transition:color var(--happyforms-transition-duration)}.happyforms-styles.happyforms-form--part-placeholder-toggle .happyforms-part ::-moz-placeholder{color:transparent!important;transition:color .25s;transition:color var(--happyforms-transition-duration)}.happyforms-styles.happyforms-form--part-placeholder-toggle .happyforms-part ::-ms-placeholder{color:transparent!important;transition:color .25s;transition:color var(--happyforms-transition-duration)}.happyforms-styles.happyforms-form--part-placeholder-toggle .happyforms-part ::placeholder{color:transparent!important;transition:color .25s;transition:color var(--happyforms-transition-duration)}.happyforms-styles.happyforms-form--part-placeholder-toggle .happyforms-part input:focus::-webkit-input-placeholder{color:#888!important;color:var(--happyforms-color-part-placeholder)!important}.happyforms-styles.happyforms-form--part-placeholder-toggle .happyforms-part input:focus::-moz-placeholder{color:#888!important;color:var(--happyforms-color-part-placeholder)!important}.happyforms-styles.happyforms-form--part-placeholder-toggle .happyforms-part input:focus::-ms-placeholder{color:#888!important;color:var(--happyforms-color-part-placeholder)!important}.happyforms-styles.happyforms-form--part-placeholder-toggle .happyforms-part input:focus::placeholder{color:#888!important;color:var(--happyforms-color-part-placeholder)!important}.happyforms-styles .happyforms-part--label-inside label .label{font-weight:700;font-size:14px;color:#000;color:var(--happyforms-color-part-title)}.happyforms-styles.happyforms-form--part-borders-bottom-only .happyforms-part input[type=email],.happyforms-styles.happyforms-form--part-borders-bottom-only .happyforms-part input[type=number],.happyforms-styles.happyforms-form--part-borders-bottom-only .happyforms-part input[type=password],.happyforms-styles.happyforms-form--part-borders-bottom-only .happyforms-part input[type=text],.happyforms-styles.happyforms-form--part-borders-bottom-only .happyforms-part textarea,.happyforms-styles.happyforms-form--part-borders-bottom-only .happyforms-part:not(.happyforms-part--phone) select.happyforms-select{border-top-color:transparent!important;border-left-color:transparent!important;border-right-color:transparent!important;box-shadow:none!important}.happyforms-styles.happyforms-form--part-disable-transitions .happyforms-part input[type=email],.happyforms-styles.happyforms-form--part-disable-transitions .happyforms-part input[type=number],.happyforms-styles.happyforms-form--part-disable-transitions .happyforms-part input[type=password],.happyforms-styles.happyforms-form--part-disable-transitions .happyforms-part input[type=text],.happyforms-styles.happyforms-form--part-disable-transitions .happyforms-part textarea{transition-duration:0s}.happyforms-styles .happyforms-part input[type=email],.happyforms-styles .happyforms-part input[type=number],.happyforms-styles .happyforms-part input[type=password],.happyforms-styles .happyforms-part input[type=text],.happyforms-styles .happyforms-part textarea{transition:border-color .4s;transition:border-color var(--happyforms-transition-duration)}.happyforms-styles .happyforms-part--label-as_placeholder label{color:#888;color:var(--happyforms-color-part-placeholder);transition-duration:.4s;transition-duration:var(--happyforms-transition-duration)}.happyforms-styles .happyforms-part--label-as_placeholder .happyforms-part__label .label{color:#888;color:var(--happyforms-color-part-placeholder)}.happyforms-styles .happyforms-part--label-as_placeholder input:focus~.happyforms-part__label-container label .label,.happyforms-styles .happyforms-part--label-as_placeholder textarea:focus~.happyforms-part__label-container label .label,.happyforms-styles .happyforms-part--label-as_placeholder.happyforms-part--filled .happyforms-part__label-container label .label,.happyforms-styles .happyforms-part--select.happyforms-part--filled.happyforms-part--label-as_placeholder .label{font-weight:700;font-size:14px;color:#000;color:var(--happyforms-color-part-value)}.happyforms-styles.happyforms-form--submit-button-border-hide button[type=submit].happyforms-button--submit{border-width:0!important}.happyforms-styles.happyforms-form--submit-button-border-radius-square button[type=submit].happyforms-button--submit,.happyforms-styles.happyforms-form--submit-button-border-radius-square button[type=submit].happyforms-button--submit:hover{border-radius:0!important}.happyforms-styles.happyforms-form--submit-button-border-radius-pill button[type=submit].happyforms-button--submit,.happyforms-styles.happyforms-form--submit-button-border-radius-pill button[type=submit].happyforms-button--submit:hover{border-radius:60px!important}.happyforms-styles.happyforms-form--submit-button-bold .happyforms-part--submit button[type=submit]{font-weight:700}.happyforms-styles.happyforms-form--submit-button-disable-transitions button[type=submit]{transition-duration:0s!important}.happyforms-styles.happyforms-form--submit-button-padding-narrow button[type=submit].happyforms-button--submit{padding:10px 20px}.happyforms-styles.happyforms-form--submit-button-padding-wide button[type=submit].happyforms-button--submit{padding:20px 50px}.happyforms-styles.happyforms-form--submit-button-fullwidth button[type=submit].happyforms-button--submit{padding-left:0;padding-right:0;margin-right:0}.happyforms-styles.happyforms-form--part-title-font-weight-bold .happyforms-part__label .label{font-weight:700}.happyforms-styles .happyforms-custom-select input[readonly=readonly]{cursor:pointer}.happyforms-styles .happyforms-custom-select-dropdown{background-color:#fff;background-color:var(--happyforms-color-dropdown-bg-color);border:1px solid #dbdbdb;border:1px solid var(--happyforms-color-part-border);border-radius:6px}.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-custom-select-dropdown{border-radius:0}.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-custom-select-dropdown{border-radius:25px}.happyforms-styles .happyforms-custom-select-dropdown li{transition:background-color .2s ease-in;color:#000;color:var(--happyforms-color-dropdown-item-text);background-color:#fff;background-color:var(--happyforms-color-dropdown-item-bg);font-size:16px;font-size:var(--happyforms-part-value-font-size)}.happyforms-styles .happyforms-custom-select-dropdown li.happyforms-custom-select-dropdown__placeholder{color:#888;color:var(--happyforms-color-part-placeholder)}.happyforms-styles .happyforms-custom-select-dropdown li.happyforms-custom-select-dropdown__item.active,.happyforms-styles .happyforms-custom-select-dropdown li.happyforms-custom-select-dropdown__item:hover{color:#000;color:var(--happyforms-color-dropdown-item-text-hover);background-color:#f4f4f5;background-color:var(--happyforms-color-dropdown-item-bg-hover)}.happyforms-styles .happyforms-part-preview .happyforms-part__label .label{font-weight:700;color:#000;color:var(--happyforms-color-table-row-odd-text)}.happyforms-styles .happyforms-part-preview .happyforms-part__el-preview{font-size:16px;font-size:var(--happyforms-part-value-font-size)}.happyforms-styles .happyforms-part-preview{background-color:#fcfcfc;background-color:var(--happyforms-color-table-row-odd)}.happyforms-styles .happyforms-part-preview:nth-child(2n){background-color:#efefef;background-color:var(--happyforms-color-table-row-even)}.happyforms-styles .happyforms-part-preview:nth-child(2n) .happyforms-part__label .label{color:#000;color:var(--happyforms-color-table-row-even-text)}.happyforms-styles .happyforms-form-preview>p{font-size:16px;font-size:var(--happyforms-part-value-font-size)}.happyforms-part-error-notice p{font-size:16px;font-size:var(--happyforms-part-value-font-size);color:#f23000;color:var(--happyforms-color-error)}.happyforms-part-error-notice p svg{color:#f23000;color:var(--happyforms-color-error)}.happyforms-styles .happyforms-input-group__suffix a.happyforms-plain-button,.happyforms-styles .happyforms-input-group__suffix button.happyforms-plain-button{font-size:16px;font-size:var(--happyforms-part-value-font-size);color:var(--happyforms-color-part-value)}.happyforms-styles .happyforms-input-group__prefix,.happyforms-styles .happyforms-input-group__suffix{font-size:16px;font-size:var(--happyforms-part-value-font-size);background:#e8e8e8}.happyforms-styles.happyforms-form .happyforms-part .happyforms-input{position:relative;flex:1;width:100%}.happyforms-styles.happyforms-styles.happyforms-form--part-border-radius-square button.happyforms-pair-group__button{border-radius:0}.happyforms-styles.happyforms-styles.happyforms-form--part-border-radius-pill button.happyforms-pair-group__button{border-radius:25px}.happyforms-styles button.happyforms-pair-group__button:hover{background-color:#000;background-color:var(--happyforms-color-submit-background-hover)}.happyforms-styles.happyforms-form .happyforms-part .happyforms-input-group.with-prefix .happyforms-input>input{padding-left:10px;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.happyforms-styles.happyforms-form .happyforms-part .happyforms-input-group.with-suffix .happyforms-input>input{padding-right:10px;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-input-group__prefix{border-top-left-radius:0;border-bottom-left-radius:0}.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-input-group__prefix{border-top-left-radius:25px;border-bottom-left-radius:25px}.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-input-group__suffix{border-top-right-radius:0;border-bottom-right-radius:0}.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-input-group__suffix{border-top-right-radius:25px;border-bottom-right-radius:25px}.happyforms-part__char-counter{font-size:14px;font-size:var(--happyforms-part-description-font-size);color:#454545;color:var(--happyforms-color-part-description)}.happyforms-styles .happyforms-part--rich_text div.mce-toolbar-grp{border-radius:6px;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#fff;border-color:#dbdbdb!important;border-color:var(--happyforms-color-part-border)!important}.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part--rich_text div.mce-toolbar-grp{border-radius:0}.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part--rich_text div.mce-toolbar-grp{border-radius:25px;border-bottom-left-radius:0;border-bottom-right-radius:0}.happyforms-styles div.mce-inline-toolbar-grp.happyforms-editor-toolbar-link{border-color:#7aa4ff!important;border-color:var(--happyforms-color-part-border-focus)!important}.happyforms-styles .happyforms-editor-toolbar-link.mce-inline-toolbar-grp.mce-arrow-down:before{border-top-color:#7aa4ff;border-top-color:var(--happyforms-color-part-border-focus)}.happyforms-styles div.mce-inline-toolbar-grp.happyforms-editor-toolbar-link div.wp-link-input input::placeholder{color:#888;color:var(--happyforms-color-part-placeholder)!important}.happyforms-styles .happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn,.happyforms-styles .happyforms-part--rich_text .qt-dfw,.happyforms-styles .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn,.happyforms-styles .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary{padding:2px;background-color:#fff;border-color:#fff}.happyforms-styles .happyforms-part--rich_text .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus,.happyforms-styles .happyforms-part--rich_text .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary:hover,.happyforms-styles .happyforms-part--rich_text .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn:focus,.happyforms-styles .happyforms-part--rich_text .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn:hover,.happyforms-styles .happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn.mce-active,.happyforms-styles .happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn.mce-active:hover,.happyforms-styles .happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn:active,.happyforms-styles .happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn:focus,.happyforms-styles .happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn:hover,.happyforms-styles .happyforms-part--rich_text .qt-dfw.active,.happyforms-styles .happyforms-part--rich_text .qt-dfw.active:hover,.happyforms-styles .happyforms-part--rich_text .qt-dfw:focus,.happyforms-styles .happyforms-part--rich_text .qt-dfw:hover,.happyforms-styles .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary:hover,.happyforms-styles .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn:hover{border-color:transparent;border-radius:6px;background-color:#efefef}.happyforms-styles .happyforms-editor-toolbar-link svg,.happyforms-styles .happyforms-part--rich_text .mce-btn svg{fill:#000}.happyforms-styles .happyforms-part--rich_text .happyforms-visual-editor{padding-bottom:1.5px;border:0}.happyforms-styles .happyforms-part--rich_text .mce-edit-area{border-bottom-width:1.5px;border:1px solid #dbdbdb!important;border-radius:6px;border-top-left-radius:0;border-top-right-radius:0;transition:border-color .25s;transition:border-color var(--happyforms-transition-duration)}.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part--rich_text .mce-edit-area{border-radius:0}.happyforms-styles .happyforms-part--rich_text.focus .mce-edit-area{border-color:#7aa4ff!important;border-color:var(--happyforms-color-part-border-focus)!important;box-shadow:inset 0 0 0 1px #7aa4ff;box-shadow:inset 0 0 0 1px var(--happyforms-color-part-border-focus)}.happyforms-styles .happyforms-part--rich_text .mce-edit-area{background-color:#fff!important;background-color:var(--happyforms-color-part-background)!important}.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part--rich_text .mce-edit-area{border-bottom-left-radius:25px;border-bottom-right-radius:25px}.happyforms-styles .happyforms-part--rich_text.focus .mce-edit-area{background-color:#fff!important;background-color:var(--happyforms-color-part-background-focus)!important}.happyforms-styles .happyforms-part--rich_text .mce-statusbar{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.happyforms-styles .happyforms-part--rich_text .mce-statusbar .mce-path:first-child{display:none}.happyforms-styles.happyforms-form--part-border-radius-square .happyforms-part--rich_text .mce-statusbar{border-radius:0}.happyforms-styles.happyforms-form--part-border-radius-pill .happyforms-part--rich_text .mce-statusbar{border-bottom-left-radius:25px;border-bottom-right-radius:25px}.happyforms-styles.happyforms-form--part-border-off .happyforms-part--rich_text .happyforms-visual-editor{padding-bottom:1px}.happyforms-part--email_integration .option-label .label p,.happyforms-part--legal .option-label .label p,.happyforms-part--mailchimp .option-label .label p,.happyforms-part--signature .option-label .label p{margin-top:0}.happyforms-part--email_integration .option-label .label p:last-child,.happyforms-part--legal .option-label .label p:last-child,.happyforms-part--mailchimp .option-label .label p:last-child,.happyforms-part--signature .option-label .label p:last-child{margin-bottom:0}:root{--happyforms-form-width:100%}.happyforms-flex{display:flex;flex-flow:row wrap;align-items:flex-start;max-width:100%}.happyforms-form--hide-title .happyforms-flex{padding-top:0}.happyforms-form{max-width:100%;max-width:var(--happyforms-form-width);margin:0 auto;border-style:solid;border-width:0}.happyforms-form form{margin:0;padding:0;background-color:transparent}.happyforms-form.happyforms-form--padding-narrow{padding:1%}.happyforms-form.happyforms-form--padding-wide{padding:3.5%}.happyforms-form form.happyforms-form--submitting{opacity:.5}.happyforms-form--direction-rtl{direction:rtl}.happyforms-flex>input[type=checkbox]{display:none!important}h3.happyforms-form__title{margin:0;padding:0}.happyforms-form--hide-title h3.happyforms-form__title{display:none}.happyforms-form--title-text-align-right h3.happyforms-form__title{text-align:right}.happyforms-form--title-text-align-center h3.happyforms-form__title{text-align:center}.happyforms-form__part{position:relative;display:block;box-sizing:border-box;width:100%;margin-bottom:15px;padding:5px 1%}.happyforms-form__part:last-child{margin-bottom:0}@media screen and (min-width:800px){.happyforms-part--width-half{width:50%}.happyforms-part--width-third{width:33.333%}.happyforms-part--width-quarter{width:25%}}.happyforms-part--width-half,.happyforms-part--width-third{align-self:flex-start}.happyforms-part--width-auto{align-self:flex-start;flex-grow:1;width:auto;max-width:75%}.happyforms-part--width-auto+.happyforms-part--recaptcha,.happyforms-part--width-auto+.happyforms-part--recaptcha+.happyforms-part--submit,.happyforms-part--width-auto+.happyforms-part--submit{align-self:center;width:auto!important;margin-bottom:0!important;padding-top:5px;padding-bottom:0}.happyforms-form--part-outer-padding-narrow .happyforms-part--width-auto+.happyforms-part--recaptcha+.happyforms-part--submit,.happyforms-part--width-auto+.happyforms-part--recaptcha{top:-13px}.happyforms-form--part-outer-padding-narrow .happyforms-part--width-auto+.happyforms-part--submit{top:-10px}.happyforms-form--part-outer-padding-narrow .happyforms-part--width-auto+.happyforms-part--recaptcha{top:3px}.happyforms-form--part-outer-padding-wide .happyforms-part--width-auto+.happyforms-part--submit{top:-25px}.happyforms-form--part-outer-padding-wide .happyforms-part--width-auto+.happyforms-part--recaptcha{top:-23px}.happyforms-form--part-outer-padding-wide .happyforms-part--width-auto+.happyforms-part--recaptcha+.happyforms-part--submit{top:-45px}.happyforms-part--width-auto+.happyforms-part--recaptcha+.happyforms-part--submit button[type=submit],.happyforms-part--width-auto+.happyforms-part--submit button[type=submit]{width:100%;padding:17px 50px}.happyforms-form--submit-part-of-input .happyforms-part--width-auto+.happyforms-part--recaptcha+.happyforms-part--submit,.happyforms-form--submit-part-of-input .happyforms-part--width-auto+.happyforms-part--submit{left:-1.5%;padding-left:0;padding-right:0}.happyforms-form--submit-part-of-input.happyforms-form--part-outer-padding-wide .happyforms-part--width-auto+.happyforms-part--recaptcha+.happyforms-part--submit,.happyforms-form--submit-part-of-input.happyforms-form--part-outer-padding-wide .happyforms-part--width-auto+.happyforms-part--submit{left:-3.5%;padding-left:0}.happyforms-form--submit-part-of-input.happyforms-form--part-outer-padding-narrow .happyforms-part--width-auto+.happyforms-part--recaptcha+.happyforms-part--submit,.happyforms-form--submit-part-of-input.happyforms-form--part-outer-padding-narrow .happyforms-part--width-auto+.happyforms-part--submit{left:-1%;padding-left:0}.happyforms-form--submit-part-of-input .happyforms-part--width-auto+.happyforms-part--recaptcha+.happyforms-part--submit button[type=submit],.happyforms-form--submit-part-of-input .happyforms-part--width-auto+.happyforms-part--submit button[type=submit]{padding-top:8px;padding-bottom:9px;border-top-left-radius:0;border-bottom-left-radius:0}.happyforms-form--submit-part-of-input.happyforms-form--part-inner-padding-wide .happyforms-part--width-auto+.happyforms-part--recaptcha+.happyforms-part--submit button[type=submit],.happyforms-form--submit-part-of-input.happyforms-form--part-inner-padding-wide .happyforms-part--width-auto+.happyforms-part--submit button[type=submit]{padding-top:13px;padding-bottom:15px}.happyforms-form--submit-part-of-input.happyforms-form--part-inner-padding-narrow .happyforms-part--width-auto+.happyforms-part--recaptcha+.happyforms-part--submit button[type=submit],.happyforms-form--submit-part-of-input.happyforms-form--part-inner-padding-narrow .happyforms-part--width-auto+.happyforms-part--submit button[type=submit]{padding-top:3px;padding-bottom:4px}.happyforms-form--submit-part-of-input .happyforms-part--width-auto.happyforms-part--label-as_placeholder+.happyforms-part--recaptcha+.happyforms-part--submit button[type=submit],.happyforms-form--submit-part-of-input .happyforms-part--width-auto.happyforms-part--label-as_placeholder+.happyforms-part--submit button[type=submit],.happyforms-form--submit-part-of-input .happyforms-part--width-auto.happyforms-part--label-inside+.happyforms-part--recaptcha+.happyforms-part--submit button[type=submit],.happyforms-form--submit-part-of-input .happyforms-part--width-auto.happyforms-part--label-inside+.happyforms-part--submit button[type=submit]{padding-top:16px;padding-bottom:18px}.happyforms-part__label{display:inline-block;margin-bottom:15px}.happyforms-part__label .happyforms-optional,.happyforms-part__label .happyforms-required,.happyforms-part__label .label{padding:0;white-space:normal}.happyforms-form__part[data-happyforms-required] .happyforms-part__label .happyforms-optional{display:none}.happyforms-form__part .happyforms-part__label .happyforms-required{display:none}.happyforms-form__part[data-happyforms-required] .happyforms-part__label .happyforms-required{display:inline-block}.happyforms-part__description{display:block;margin:-3px 0 10px}.happyforms-part--focus-reveal-description .happyforms-part__description{display:none}.happyforms-form__part.focus .happyforms-part__description,.happyforms-part--focus-reveal-description input:focus+.happyforms-part__description,.happyforms-part--focus-reveal-description textarea:focus+.happyforms-part__description{display:block}.happyforms-form--part-description-text-align-center .happyforms-part__description{text-align:center}.happyforms-form--part-description-text-align-right .happyforms-part__description{text-align:right}.happyforms-part input[type=email],.happyforms-part input[type=number],.happyforms-part input[type=password],.happyforms-part input[type=range],.happyforms-part input[type=tel],.happyforms-part input[type=text],.happyforms-part textarea,.happyforms-part.happyforms-part select.happyforms-select{width:100%;box-sizing:border-box;max-width:none}.happyforms-part.happyforms-part select.happyforms-select{appearance:none!important;-moz-appearance:none!important;-webkit-appearance:none!important;background-image:none!important}.happyforms-part textarea{height:auto}.happyforms-form--part-value-text-align-center .happyforms-part input[type=email],.happyforms-form--part-value-text-align-center .happyforms-part input[type=number],.happyforms-form--part-value-text-align-center .happyforms-part input[type=password],.happyforms-form--part-value-text-align-center .happyforms-part input[type=tel],.happyforms-form--part-value-text-align-center .happyforms-part input[type=text],.happyforms-form--part-value-text-align-center .happyforms-part textarea,.happyforms-form--part-value-text-align-center .happyforms-part--choice .option-label{text-align:center}.happyforms-form--part-value-text-align-center .happyforms-part--choice .happyforms-part__el{justify-content:center}.happyforms-form--part-value-text-align-right .happyforms-part input[type=email],.happyforms-form--part-value-text-align-right .happyforms-part input[type=number],.happyforms-form--part-value-text-align-right .happyforms-part input[type=password],.happyforms-form--part-value-text-align-right .happyforms-part input[type=tel],.happyforms-form--part-value-text-align-right .happyforms-part input[type=text],.happyforms-form--part-value-text-align-right .happyforms-part textarea,.happyforms-form--part-value-text-align-right .happyforms-part--choice .option-label{text-align:right}.happyforms-form--part-value-text-align-right .happyforms-part--choice .happyforms-part__el{justify-content:flex-end}.happyforms-part.happyforms-part--error input[type=email],.happyforms-part.happyforms-part--error input[type=number],.happyforms-part.happyforms-part--error input[type=password],.happyforms-part.happyforms-part--error input[type=range],.happyforms-part.happyforms-part--error input[type=tel],.happyforms-part.happyforms-part--error input[type=text],.happyforms-part.happyforms-part--error textarea{border-color:#ff7550}.happyforms-part.display-type--block .happyforms-part__el{width:100%}.happyforms-part-el-wrap{position:relative}.happyforms-part-wrap{position:relative}.happyforms-part--label-below .happyforms-part-wrap{display:flex;flex-flow:row wrap-reverse;align-content:flex-end}.happyforms-part--label-below .happyforms-part__label{order:2;margin-top:10px;margin-bottom:5px}.happyforms-part--label-below .happyforms-part__description{order:1;margin-top:0}.happyforms-part--label-below.happyforms-part--date .happyforms-part__el{width:100%;order:2}.happyforms-part--date .happyforms-part__description{width:100%}.happyforms-part--label-left .happyforms-part__description{width:100%}.happyforms-part--label-left .happyforms-part-wrap{display:flex;flex-flow:row;flex-wrap:wrap}@media screen and (min-width:800px){.happyforms-part--label-left .happyforms-part-wrap>.happyforms-part__label-container{float:none;width:25%;margin-bottom:0;align-self:flex-start}}.happyforms-part--label-left .happyforms-part-wrap>.happyforms-part__el{width:75%}.happyforms-part--label-left.happyforms-part--date .happyforms-custom-select{width:100%}@media screen and (max-width:800px){.happyforms-part--label-left .happyforms-part-wrap{flex-flow:column}.happyforms-part--label-left .happyforms-part-wrap>.happyforms-part__label{align-self:flex-start}.happyforms-part--label-left .happyforms-custom-select,.happyforms-part--label-left .happyforms-part-wrap>.happyforms-part__el{width:100%}}.happyforms-part--label-hidden .happyforms-part-wrap .happyforms-part__label{display:none!important}.happyforms-part .option-label{display:flex;align-items:center;position:relative;cursor:pointer;padding:0 5px 5px 0}.happyforms-part--choice .option-label{margin-right:20px}.happyforms-part--choice.happyforms-part-options-width--full .option-label{margin-right:0}.happyforms-styles .happyforms-part .happyforms-part-option .option-label{align-items:flex-start}.happyforms-styles .happyforms-part .happyforms-part-option.disabled-option .option-label,.happyforms-styles .happyforms-part .happyforms-table__cell.disabled-option .option-label{cursor:default}@media screen and (max-width:800px){.happyforms-part--choice .option-label{margin-right:0}}.happyforms-part--choice .option-label input:focus{outline:0}.happyforms-part .option-label .label-wrap{position:relative;display:inline-block;padding:0 10px;white-space:normal;color:inherit}.happyforms-form--direction-rtl .happyforms-part--choice .option-label .label{margin-right:0}.happyforms-part-option:last-of-type{margin-bottom:0!important}.happyforms-part-option__description{display:block;width:auto;max-width:400px;margin-top:0;margin-left:31px;flex-basis:100%;font-weight:400;font-weight:var(--happyforms-form-font-weight);line-height:1.4}.happyforms-part--choice.display-type--block .happyforms-part-option__description{max-width:none}.happyforms-part.display-type--block .option-label{display:flex;margin-right:0;flex-wrap:wrap}.happyforms-part .happyforms-part-option.option-heading{width:100%}.happyforms-part--choice .happyforms-part__el{display:flex;flex-flow:row wrap}@media screen and (max-width:800px){.happyforms-part--choice .happyforms-part__el{flex-flow:column wrap}}.happyforms-part--choice{margin-bottom:0}.happyforms-part--choice.display-type--block{margin-bottom:15px}.happyforms-part--choice.happyforms-part-options-width--full .happyforms-part__option{width:100%}.happyforms-part--choice.happyforms-part-options-width--half .happyforms-part__el,.happyforms-part--choice.happyforms-part-options-width--quarter .happyforms-part__el,.happyforms-part--choice.happyforms-part-options-width--third .happyforms-part__el{margin:0 -1%}.happyforms-part--choice.happyforms-part-options-width--half .happyforms-part__option,.happyforms-part--choice.happyforms-part-options-width--quarter .happyforms-part__option,.happyforms-part--choice.happyforms-part-options-width--third .happyforms-part__option{padding:0 1%}.happyforms-part--choice.happyforms-part-options-width--half .happyforms-part__option label,.happyforms-part--choice.happyforms-part-options-width--quarter .happyforms-part__option label,.happyforms-part--choice.happyforms-part-options-width--third .happyforms-part__option label{margin-right:0}.happyforms-part--choice.happyforms-part-options-width--half .happyforms-part__option{width:50%}.happyforms-part--choice.happyforms-part-options-width--third .happyforms-part__option{width:33.333%}.happyforms-part--choice.happyforms-part-options-width--quarter .happyforms-part__option{width:25%}.happyforms-part--choice .happyforms-part__el .happyforms-part__description{flex:0 1 100%;width:100%;margin-top:-5px;margin-bottom:20px}.happyforms-part--choice.display-type--block .happyforms-part__el .happyforms-part__description{flex:0;width:auto;margin-top:5px;margin-bottom:0}@media screen and (max-width:800px){.happyforms-part--choice.happyforms-part-options-width--half .happyforms-part__option,.happyforms-part--choice.happyforms-part-options-width--quarter .happyforms-part__option,.happyforms-part--choice.happyforms-part-options-width--third .happyforms-part__option{width:100%}}.happyforms-part--choice.display-type--block .happyforms-part__el{display:flex!important;flex-flow:column wrap}.happyforms-part .checkmark svg{display:none}.happyforms-part--legal .option-label p:last-child{margin-bottom:0}.happyforms-part--label-below .happyforms-custom-select,.happyforms-part--label-below .happyforms-part__el,.happyforms-part--label-below input,.happyforms-part--label-below textarea{order:3}.happyforms-part--label-below .happyforms-custom-select,.happyforms-part--label-below .happyforms-part__el{width:100%}.happyforms-form--part-title-text-align-center .happyforms-part__label{text-align:center}.happyforms-form--part-title-text-align-center .happyforms-part--label-above .happyforms-part__label,.happyforms-form--part-title-text-align-center .happyforms-part--label-as_placeholder .happyforms-part__label,.happyforms-form--part-title-text-align-center .happyforms-part--label-below .happyforms-part__label,.happyforms-form--part-title-text-align-center .happyforms-part--label-inside .happyforms-part__label,.happyforms-form--part-title-text-align-center .happyforms-part--label-show .happyforms-part__label,.happyforms-form--part-title-text-align-right .happyforms-part--label-above .happyforms-part__label,.happyforms-form--part-title-text-align-right .happyforms-part--label-as_placeholder .happyforms-part__label,.happyforms-form--part-title-text-align-right .happyforms-part--label-show .happyforms-part__label{width:100%}.happyforms-form--part-title-text-align-right .happyforms-part--label-as_placeholder .happyforms-part__label,.happyforms-form--part-title-text-align-right .happyforms-part--label-inside .happyforms-part__label{width:calc(100% - 20px)}.happyforms-form--part-title-text-align-right.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder .happyforms-part__label{width:calc(100% - 30px)}.happyforms-form--part-title-text-align-center .happyforms-part--label-left .happyforms-part__label{align-self:flex-start}.happyforms-form--part-title-text-align-right .happyforms-part__label{text-align:right}.happyforms-form--part-title-text-align-right .happyforms-part--label-left .happyforms-part__label{align-self:flex-start;margin-bottom:10px;padding-right:15px}.happyforms-part--label-hidden .happyforms-part-wrap>.happyforms-part__label{display:none!important}.happyforms-part__select-wrap{position:relative;flex:1;padding:0 0 0 2%}.happyforms-part__select-wrap{height:100%}.happyforms-part__select-bg{padding:1px 0 2px;border:1px solid;border-color:#dbdbdb}.happyforms-part__select-wrap:first-of-type{padding-left:0!important}.happyforms-part__select-wrap:after{content:'';position:absolute;top:44%;right:15px;z-index:1;display:block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid}.happyforms-part select:focus{outline-width:1px;outline-color:#000}.happyforms-part__select-wrap:last-child{padding-right:0}.happyforms-part--submit{display:flex;flex-flow:row wrap;align-items:center;width:100%;margin-bottom:0;padding-top:10px}.happyforms-message-notices{padding:0 1%;margin:0 0 25px 0}form .happyforms-flex>.happyforms-message-notices .happyforms-message-notice{width:100%;box-sizing:border-box}form .happyforms-flex>.happyforms-message-notices .happyforms-message-notice a{border:0}.happyforms-flex>.happyforms-message-notices p:last-child{margin-bottom:0}.happyforms-form__part .happyforms-message-notice.error h2{color:#ff7550}.happyforms-form__title+.happyforms-message-notices{margin-top:25px}.happyforms-part--label-inside .happyforms-part__label-container{position:absolute;top:8px;left:10px;z-index:2;width:98%}.happyforms-part--label-as_placeholder input,.happyforms-part--label-as_placeholder textarea,.happyforms-part--label-inside input,.happyforms-part--label-inside textarea{padding-top:30px!important;padding-bottom:7px!important}.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder input,.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder textarea,.happyforms-form--part-inner-padding-narrow .happyforms-part--label-inside input,.happyforms-form--part-inner-padding-narrow .happyforms-part--label-inside textarea{padding-top:22px!important;padding-bottom:5px!important}.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder input,.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder textarea,.happyforms-form--part-inner-padding-wide .happyforms-part--label-inside input,.happyforms-form--part-inner-padding-wide .happyforms-part--label-inside textarea{padding-top:30px!important;padding-bottom:10px!important}.happyforms-part input[type=email],.happyforms-part input[type=number],.happyforms-part input[type=password],.happyforms-part input[type=text],.happyforms-part textarea{margin-bottom:0;transition:border-color .4s;transition:border-color var(--happyforms-transition-duration)}.happyforms-part--label-below .happyforms-part__label-container{width:100%}.happyforms-part--label-as_placeholder label{transition-duration:.4s}.happyforms-part--label-as_placeholder ::-webkit-input-placeholder{opacity:0}.happyforms-part--label-as_placeholder ::-moz-placeholder{opacity:0}.happyforms-part--label-as_placeholder ::-ms-placeholder{opacity:0}.happyforms-part--label-as_placeholder ::placeholder{opacity:0}.happyforms-part--label-as_placeholder label{position:absolute;left:11px;top:23px;z-index:5;transition-property:top}.happyforms-form--direction-rtl .happyforms-part--label-as_placeholder label{left:auto;right:11px}.happyforms-part--label-as_placeholder input:focus~.happyforms-part__label-container>label,.happyforms-part--label-as_placeholder textarea:focus~.happyforms-part__label-container>label,.happyforms-part--label-as_placeholder.happyforms-part--filled .happyforms-part__label-container label,.happyforms-part--select.happyforms-part--label-as_placeholder.happyforms-part--filled label{top:8px}.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder label{top:19px;left:5px}.happyforms-form--direction-rtl.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder label{right:5px;left:auto}.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder input:focus~.happyforms-part__label-container>label,.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder textarea:focus~.happyforms-part__label-container>label,.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder.happyforms-part--filled .happyforms-part__label-container label,.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder.happyforms-part--filled textarea~label{top:7px}.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder label{top:25px;left:15px}.happyforms-form--direction-rtl.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder label{right:15px;left:auto}.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder input:focus~.happyforms-part__label-container>label,.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder textarea:focus~.happyforms-part__label-container>label,.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder.happyforms-part--filled .happyforms-part__label-container label,.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder.happyforms-part--filled textarea~label{top:12px}.happyforms-form--part-outer-padding-narrow .happyforms-form__part{margin-bottom:5px;padding:0 .5%}.happyforms-form--part-outer-padding-narrow .happyforms-message-notices{padding-left:.5%;padding-right:.5%}.happyforms-form--part-outer-padding-narrow .happyforms-part__select-wrap{padding:0}.happyforms-form--part-outer-padding-narrow .happyforms-part-option{margin-right:-5px}.happyforms-form--part-outer-padding-narrow .happyforms-part.display-type--block .happyforms-part-option{margin-right:0;margin-bottom:5px}.happyforms-form--part-outer-padding-narrow .happyforms-part--choice .option-label{margin-right:15px}.happyforms-form--part-outer-padding-wide .happyforms-form__part{padding:20px 3%}.happyforms-form--part-outer-padding-wide .happyforms-message-notices{padding-left:3%;padding-right:3%}.happyforms-form--part-outer-padding-wide .happyforms-part .happyforms-part-option{margin-right:15px}.happyforms-form--part-outer-padding-wide .happyforms-part.display-type--block .happyforms-part-option{margin-right:0;margin-bottom:35px}.happyforms-form--part-inner-padding-narrow .happyforms-part .option-label,.happyforms-form--part-inner-padding-narrow .happyforms-part input[type=email],.happyforms-form--part-inner-padding-narrow .happyforms-part input[type=number],.happyforms-form--part-inner-padding-narrow .happyforms-part input[type=tel],.happyforms-form--part-inner-padding-narrow .happyforms-part input[type=text],.happyforms-form--part-inner-padding-narrow .happyforms-part textarea,.happyforms-form--part-inner-padding-narrow .happyforms-part:not(.happyforms-part--phone) select.happyforms-select{padding:5px}.happyforms-form--part-inner-padding-narrow .happyforms-part--placeholder .happyforms-part__el{padding:5px}.happyforms-form--part-inner-padding-narrow .happyforms-part--legal label{margin-left:5px}.happyforms-form--part-inner-padding-narrow .happyforms-part__label{margin-bottom:5px}.happyforms-form--part-inner-padding-narrow .happyforms-part--label-below .happyforms-part__label{margin-top:5px}.happyforms-form--part-inner-padding-wide .happyforms-part .option-label,.happyforms-form--part-inner-padding-wide .happyforms-part input[type=email],.happyforms-form--part-inner-padding-wide .happyforms-part input[type=number],.happyforms-form--part-inner-padding-wide .happyforms-part input[type=tel],.happyforms-form--part-inner-padding-wide .happyforms-part input[type=text],.happyforms-form--part-inner-padding-wide .happyforms-part textarea,.happyforms-form--part-inner-padding-wide .happyforms-part--placeholder .happyforms-part__el,.happyforms-form--part-inner-padding-wide .happyforms-part:not(.happyforms-part--phone) select.happyforms-select{padding:15px}.happyforms-form--part-inner-padding-wide .happyforms-part--legal .option-label{padding-left:0}.happyforms-form--part-inner-padding-wide .happyforms-part--legal .option-label .label{padding-left:20px}.happyforms-form--part-inner-padding-wide .happyforms-part .happyforms-part__select-wrap:after{top:45%}.happyforms-form--part-hide-labels .happyforms-part__label{display:none}.happyforms-form--submit-button-fullwidth button[type=submit].happyforms-button--submit{width:100%}button[type=submit][disabled].happyforms-button--submit{cursor:default}.happyforms-form--submit-button-align-center .happyforms-part--submit{text-align:center}.happyforms-form--submit-button-align-right .happyforms-part--submit{text-align:right}.happyforms-part--rating .happyforms-visuallyhidden,.ui-helper-hidden-accessible{position:absolute;border:0;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.widget button[type=submit].happyforms-button--submit,.widget button[type=submit][disabled].happyforms-button--submit,.widget button[type=submit][disabled].happyforms-button--submit:hover{width:100%}.happyforms-custom-select input[readonly=readonly]{cursor:pointer}.happyforms-custom-select-dropdown{display:none;position:absolute;top:calc(100% + 2px);left:0;z-index:10;list-style:none;margin:0!important;padding:5px 0!important;text-align:left;background-color:#fff;border:1px solid #dbdbdb;white-space:nowrap;width:100%;max-height:250px;overflow-y:scroll}.happyforms-custom-select .happyforms-part__select-wrap input[data-searchable=false]{cursor:pointer}.happyforms-part__select-wrap{cursor:pointer}.happyforms-custom-select-dropdown.active{display:block!important}.happyforms-custom-select-dropdown li{cursor:pointer;display:flex;align-items:center;margin:0;padding:5px 10px;min-height:35px;color:#000;background-color:#fff;white-space:normal;overflow-wrap:anywhere}.happyforms-custom-select-dropdown li.happyforms-custom-select-dropdown__placeholder{color:#888}.happyforms-custom-select-dropdown li.happyforms-custom-select-dropdown__not-found{display:none;cursor:default}.happyforms-custom-select-dropdown li.happyforms-custom-select-dropdown__item.active,.happyforms-custom-select-dropdown li.happyforms-custom-select-dropdown__item:hover{color:#000;background-color:#dbdbdb}.happyforms-part--with-autocomplete .happyforms-custom-select-dropdown li.happyforms-custom-select-dropdown__placeholder,.happyforms-part-date--required .happyforms-custom-select-dropdown li.happyforms-custom-select-dropdown__placeholder,.happyforms-part-select--required .happyforms-custom-select-dropdown li.happyforms-custom-select-dropdown__placeholder{display:none}.happyforms-part-preview .happyforms-part__label{cursor:default;margin-bottom:10px}.happyforms-part-preview .happyforms-part__label .label{font-weight:700}.happyforms-form-preview .happyforms-part--submit{margin-top:30px}.happyforms-part--submit *{margin-right:20px}.happyforms-form--submit-button-align-center .happyforms-part--submit,.happyforms-form--submit-button-fullwidth .happyforms-part--submit{flex-flow:column wrap;align-items:center}.happyforms-form--submit-button-align-center .happyforms-part--submit a,.happyforms-form--submit-button-fullwidth .happyforms-part--submit a{order:2;margin-top:10px;margin-right:0}.happyforms-form--submit-button-align-right .happyforms-part--submit{justify-content:flex-end}.happyforms-form--submit-button-align-center .happyforms-part--submit input,.happyforms-form--submit-button-align-right .happyforms-part--submit input{margin-right:0}.happyforms-form--submit-button-align-right .happyforms-part--submit input+a{margin-left:20px;margin-right:0}@media screen and (max-width:800px){.happyforms-form-preview .happyforms-part--submit{flex-flow:column wrap}.happyforms-form-preview .happyforms-part--submit input{margin-right:0}}.happyforms-hide{display:none}.happyforms-part-preview{margin-bottom:0;padding:10px 1%;margin:0}.happyforms-part-preview{background-color:#fcfcfc}.happyforms-part-preview+.happyforms-part--recaptcha{margin-top:20px}.happyforms-part-preview:nth-child(2n){background-color:#efefef}.happyforms-part-preview:nth-child(2n) .happyforms-part__label .label{color:#000}.happyforms-form-preview>p{padding:45px 1% 10px}.happyforms-part__char-counter{display:none;margin-top:5px;pointer-events:none}.happyforms-part .happyforms-remaining-choice,.happyforms-part__char-counter .counter-label{text-transform:lowercase}.happyforms-part--checkbox .option-label .label-wrap,.happyforms-part--radio .option-label .label-wrap{padding-right:5px;flex:1}.happyforms-custom-select-dropdown .happyforms-remaining-choice{padding-left:5px}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#eee;clip:auto!important;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.happyforms-part-error-notice,.happyforms-part-error-notice p{margin:0;padding:0}.happyforms-part-error-notice{margin:10px 0 0}.happyforms-part-error-notice p{display:flex;flex-flow:row nowrap;align-items:center;-moz-user-select:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;line-height:1.2}.happyforms-part-error-notice p svg{content:'';display:inline-block;width:17px;height:17px;margin:0 8px 0 0}.happyforms-input-group{display:flex;align-items:stretch;flex-flow:row wrap}.happyforms-form .happyforms-part .happyforms-input{position:relative;flex:1;width:100%;display:flex;align-items:stretch}.happyforms-form .happyforms-part .happyforms-input-group.with-prefix .happyforms-input>input{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.happyforms-form .happyforms-part .happyforms-input-group.with-suffix .happyforms-input>input{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.happyforms-input-group__prefix,.happyforms-input-group__suffix{display:flex;align-items:center;max-height:100%;padding:10px 15px;font-weight:400;border:1px solid #dbdbdb;border:1px solid var(--happyforms-color-part-border)!important;background:#e8e8e8;text-shadow:none}.happyforms-input-group__prefix{border-right:0!important;border-top-left-radius:6px;border-bottom-left-radius:6px}.happyforms-input-group__suffix{border-left:0!important;border-top-right-radius:6px;border-bottom-right-radius:6px}.happyforms-input-group__prefix span,.happyforms-input-group__suffix span{word-break:break-word}.happyforms-input-group__suffix.happyforms-input-group__suffix--button{position:relative;padding:0!important}.happyforms-input-group__suffix a.happyforms-plain-button,.happyforms-input-group__suffix button.happyforms-plain-button{outline:0;margin:0;padding:10px 15px;line-height:1;font-weight:400;box-shadow:none;border:0;background-color:transparent;text-transform:none}.happyforms-input-group input{width:100%}.happyforms-part--choice .happyforms-part-option--other input[type=text]{display:none;margin-top:10px!important}.happyforms-part--choice .happyforms-part-option--other input[type=text].hf-show{display:block}.happyforms-part--select .happyforms-part-option--other input[type=text]{display:none;margin-top:10px}.happyforms-part--select .happyforms-part-option--other input[type=text].hf-show{display:block}.happyforms-part--rich_text div.mce-toolbar-grp{position:relative;left:-1px;width:calc(100% - 2px);border:1px solid #dbdbdb!important;border-bottom:0!important}.happyforms-part--rich_text div.mce-panel{background:0 0!important}.happyforms-part--rich_text.focus div.mce-toolbar-grp{left:0}.happyforms-part--rich_text div.mce-toolbar-grp>div{padding:0 2px}.happyforms-part--rich_text.focus div.mce-toolbar-grp>div{padding:0 1px}.happyforms-part--rich_text .mce-top-part::before{box-shadow:none}div.mce-inline-toolbar-grp.happyforms-editor-toolbar-link{background-color:#fff;border-width:1px;box-shadow:none;border-radius:6px}.happyforms-editor-toolbar-link.mce-inline-toolbar-grp.mce-arrow-up:before{top:-11px;left:50%;border-width:0 11px 11px}.happyforms-editor-toolbar-link.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-10px;border-width:9px 9px 0}.happyforms-editor-toolbar-link.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-8px;left:50%;border-top-color:#fff}.happyforms-editor-toolbar-link.mce-inline-toolbar-grp.mce-arrow-left:before{left:18px}.happyforms-editor-toolbar-link.mce-inline-toolbar-grp.mce-arrow-left.mce-arrow-down:after{left:19px}.happyforms-editor-toolbar-link.mce-inline-toolbar-grp.mce-arrow-up.mce-arrow-right:before{left:auto;right:18px}.happyforms-editor-toolbar-link.mce-inline-toolbar-grp.mce-arrow-up:after{left:calc(50% + 0px);top:-10px;border-bottom-color:#fff;border-width:0 10px 10px 10px}.happyforms-editor-toolbar-link.mce-inline-toolbar-grp.mce-arrow-up.mce-arrow-left:after{left:19px}.happyforms-editor-toolbar-link.mce-inline-toolbar-grp.mce-arrow-right:after{left:auto;right:19px}.happyforms-editor-toolbar-link .mce-toolbar .mce-btn-group .mce-btn button,.happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn button{cursor:pointer!important;padding:0!important;background-color:transparent}div.mce-inline-toolbar-grp.happyforms-editor-toolbar-link div.wp-link-input input{margin:0;padding:5px;border:0;background-color:#fff}div.mce-inline-toolbar-grp.happyforms-editor-toolbar-link div.wp-link-preview{margin:7px 6px}div.mce-inline-toolbar-grp.happyforms-editor-toolbar-link div.wp-link-input input::placeholder{color:#888}div.mce-inline-toolbar-grp.happyforms-editor-toolbar-link .mce-btn,div.mce-inline-toolbar-grp.happyforms-editor-toolbar-link .mce-btn.mce-primary{border-color:transparent}div.mce-inline-toolbar-grp.happyforms-editor-toolbar-link .mce-btn:active,div.mce-inline-toolbar-grp.happyforms-editor-toolbar-link .mce-btn:hover{border-color:transparent!important;border-radius:6px;background-color:#efefef!important}.happyforms-part--rich_text .mce-panel{z-index:1!important}.happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn,.happyforms-part--rich_text .qt-dfw,.mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn,.mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary{padding:2px;background-color:transparent}.happyforms-part--rich_text .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus,.happyforms-part--rich_text .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary:hover,.happyforms-part--rich_text .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn:focus,.happyforms-part--rich_text .mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn:hover,.happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn.mce-active,.happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn.mce-active:hover,.happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn:active,.happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn:focus,.happyforms-part--rich_text .mce-toolbar .mce-btn-group .mce-btn:hover,.happyforms-part--rich_text .qt-dfw.active,.happyforms-part--rich_text .qt-dfw.active:hover,.happyforms-part--rich_text .qt-dfw:focus,.happyforms-part--rich_text .qt-dfw:hover,.mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary:hover,.mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn:hover{background:0 0;box-shadow:none;color:inherit}.mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn,.mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary,.mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary:focus,.mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn.mce-primary:hover,.mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn:focus,.mce-inline-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn:hover{box-shadow:none}.happyforms-part--rich_text .mce-btn svg{fill:currentColor}.happyforms-editor-toolbar-link svg{fill:#000}.happyforms-part--rich_text .mce-edit-area,.happyforms-part--rich_text .mce-statusbar .mce-container-body,.happyforms-part--rich_text div.mce-statusbar{border-width:0!important}.happyforms-part--rich_text div.mce-toolbar-grp{background-color:#fff!important}.happyforms-part--rich_text .mce-tinymce.mce-container{border:0;border-width:0!important;box-shadow:none}.happyforms-part--rich_text.focus .mce-tinymce.mce-container{overflow:hidden}.happyforms-part--rich_text .mce-statusbar{position:absolute;left:2px;bottom:2px;width:calc(100% - 4px);background-color:transparent!important}.happyforms-part--rich_text .happyforms-visual-editor{position:relative;overflow:hidden;padding:1px 1px 0;border:1px solid}.happyforms-part--rich_text.focus .happyforms-visual-editor{outline:0}.happyforms-form--part-border-off .happyforms-part--rich_text .happyforms-visual-editor{border-color:transparent}.happyforms-form--part-borders-bottom-only .happyforms-part--rich_text.focus .happyforms-visual-editor{border-bottom-width:1px}.happyforms-form--part-border-off .happyforms-part--rich_text .mce-statusbar .mce-container-body,.happyforms-form--part-border-off .happyforms-part--rich_text div.mce-toolbar-grp{border:0}.happyforms-form--part-borders-bottom-only .happyforms-part--rich_text .happyforms-visual-editor{box-shadow:none;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent}.happyforms-form--part-borders-bottom-only .happyforms-part--rich_text .mce-statusbar .mce-container-body{border-left:0;border-right:0}.happyforms-form--part-border-radius-square .happyforms-part--rich_text .happyforms-visual-editor,.happyforms-form--part-border-radius-square .happyforms-part--rich_text .mce-tinymce.mce-container{border-radius:0!important}.happyforms-form--part-border-radius-pill .happyforms-part--rich_text .happyforms-visual-editor,.happyforms-form--part-border-radius-pill .happyforms-part--rich_text .mce-tinymce.mce-container{border-radius:25px!important}.happyforms-form--part-border-radius-pill .happyforms-part--rich_text .mce-toolbar .mce-btn-group.mce-first{margin-left:10px}.happyforms-form--part-border-radius-pill .happyforms-part--rich_text .mce-container-body .mce-resizehandle{right:10px;bottom:3px}.happyforms-form--part-inner-padding-narrow .happyforms-part--rich_text .mce-content-body{margin-top:0;margin-bottom:0}.happyforms-part--rich_text .mce-edit-area{position:relative;left:-1px;padding:0;overflow:hidden}.happyforms-part--rich_text.focus .mce-edit-area{left:0}.happyforms-form--part-inner-padding-wide .happyforms-part--rich_text.focus .mce-edit-area{width:calc(100% - 10px)}.happyforms-part--rich_text.focus .mce-edit-area iframe{margin-left:-1px}.happyforms-part--rich_text .mce-edit-area iframe{position:relative;top:-5px}.happyforms-form--part-inner-padding-wide .happyforms-part--rich_text .mce-edit-area{padding:0 5px 5px}.happyforms-form--part-inner-padding-narrow .happyforms-part--rich_text .mce-edit-area iframe{top:-10px;left:-5px}.happyforms-part--rich_text .mce-container-body .mce-resizehandle{right:-1px;bottom:-1px;overflow-y:hidden;resize:horizontal}.happyforms-part--rich_text .mce-container-body .mce-resizehandle .mce-i-resize:before{resize:horizontal;overflow-y:scroll;color:transparent}
core/assets/css/customize.css CHANGED
@@ -651,7 +651,6 @@ a.happyforms-form-part-remove:hover {
651
  .show-msg-short-label #customize-control-message_too_short,
652
  .has-max-chars-label #customize-control-message_too_long,
653
  .has-max-words-label #customize-control-message_too_long,
654
- .has-select #customize-control-no_results_label,
655
  .has-number #customize-control-number_min_invalid,
656
  .has-number #customize-control-number_max_invalid,
657
  .has-show-submissions-left #customize-control-submissions_left_label {
@@ -857,17 +856,16 @@ body.adding-happyforms-parts #customize-preview iframe {
857
  display: block;
858
  }
859
 
860
- .happyforms-part-widget .options,
861
- .happyforms-part-widget .options-import {
862
- background-color: #fdfdfd;
863
- }
864
-
865
  .happyforms-part-widget .option-list,
866
  .happyforms-part-widget .column-list,
867
  .happyforms-part-widget .row-list {
868
  margin: 0;
869
  }
870
 
 
 
 
 
871
  .happyforms-part-widget .column-list li,
872
  .happyforms-part-widget .row-list li {
873
  margin: 0;
@@ -907,9 +905,9 @@ body.adding-happyforms-parts #customize-preview iframe {
907
  }
908
 
909
  .happyforms-part-widget .options > label {
910
- margin-top: 8px;
911
- margin-bottom: 10px;
912
- display: none;
913
  }
914
 
915
  .happyforms-part-widget .options p.no-options {
@@ -1162,10 +1160,6 @@ ul.happyforms-parts-list li[data-part-type="attachment_dummy"] .happyforms-parts
1162
  background-image: url(../svg/icons/file-upload.svg);
1163
  }
1164
 
1165
- ul.happyforms-parts-list li[data-part-type="poll_dummy"] .happyforms-parts-list-item-title:before {
1166
- background-image: url(../svg/icons/poll.svg);
1167
- }
1168
-
1169
  ul.happyforms-parts-list li[data-part-type="page_break_dummy"] .happyforms-parts-list-item-title:before {
1170
  background-image: url(../svg/icons/page-break.svg);
1171
  }
@@ -1373,7 +1367,8 @@ ul.happyforms-style-controls .customize-control.happyforms-divider-control h3 {
1373
  transform: translateX(100%);
1374
  }
1375
 
1376
- .control-section h3.accordion-section-title {
 
1377
  padding-right: 30px;
1378
  color: #3c434a;
1379
  background-color: #fff;
@@ -1384,7 +1379,8 @@ ul.happyforms-style-controls .customize-control.happyforms-divider-control h3 {
1384
  cursor: pointer;
1385
  }
1386
 
1387
- .control-section h3.accordion-section-title:after {
 
1388
  content: "\f345" !important;
1389
  font: normal 20px/1 dashicons;
1390
  speak: none;
@@ -1399,11 +1395,13 @@ ul.happyforms-style-controls .customize-control.happyforms-divider-control h3 {
1399
  color: #a0a5aa;
1400
  }
1401
 
1402
- .control-section h3.accordion-section-title:hover {
 
1403
  border-left-color: #0073aa;
1404
  }
1405
 
1406
- .control-section h3.accordion-section-title:hover:after {
 
1407
  color: #0073aa;
1408
  }
1409
 
@@ -1466,13 +1464,8 @@ li.customize-control.happyforms-range-control select.happyforms-unit-switch {
1466
  height: 90px;
1467
  }
1468
 
1469
- #customize-control-part_toggle_placeholders,
1470
  #customize-control-dropdowns,
1471
- #customize-control-checkboxes-radios,
1472
- #customize-control-rating,
1473
- #customize-control-tables,
1474
- #customize-control-dividers,
1475
- #customize-control-submit_button_part_of_last_input {
1476
  display: none;
1477
  }
1478
 
@@ -1724,6 +1717,16 @@ ul.happyforms-parts-list li[data-part-type="rank_order"] {
1724
  display: none;
1725
  }
1726
 
 
 
 
 
 
 
 
 
 
 
1727
  .happyforms-buttongroup-wrapper {
1728
  line-height: 1.5;
1729
  }
@@ -1889,3 +1892,8 @@ ul.happyforms-parts-list li[data-part-type="rank_order"] {
1889
  .happyforms-part-widget[data-part-type="radio"] .links.mode-import .button:first-child {
1890
  margin-right: 0px;
1891
  }
 
 
 
 
 
651
  .show-msg-short-label #customize-control-message_too_short,
652
  .has-max-chars-label #customize-control-message_too_long,
653
  .has-max-words-label #customize-control-message_too_long,
 
654
  .has-number #customize-control-number_min_invalid,
655
  .has-number #customize-control-number_max_invalid,
656
  .has-show-submissions-left #customize-control-submissions_left_label {
856
  display: block;
857
  }
858
 
 
 
 
 
 
859
  .happyforms-part-widget .option-list,
860
  .happyforms-part-widget .column-list,
861
  .happyforms-part-widget .row-list {
862
  margin: 0;
863
  }
864
 
865
+ .happyforms-part-widget ul.option-list {
866
+ margin-top: 1px;
867
+ }
868
+
869
  .happyforms-part-widget .column-list li,
870
  .happyforms-part-widget .row-list li {
871
  margin: 0;
905
  }
906
 
907
  .happyforms-part-widget .options > label {
908
+ font-size: 13px;
909
+ line-height: 1.6;
910
+ margin: 1em 0;
911
  }
912
 
913
  .happyforms-part-widget .options p.no-options {
1160
  background-image: url(../svg/icons/file-upload.svg);
1161
  }
1162
 
 
 
 
 
1163
  ul.happyforms-parts-list li[data-part-type="page_break_dummy"] .happyforms-parts-list-item-title:before {
1164
  background-image: url(../svg/icons/page-break.svg);
1165
  }
1367
  transform: translateX(100%);
1368
  }
1369
 
1370
+ .control-section h3.accordion-section-title,
1371
+ .control-section h3.accordion-section-title-dummy {
1372
  padding-right: 30px;
1373
  color: #3c434a;
1374
  background-color: #fff;
1379
  cursor: pointer;
1380
  }
1381
 
1382
+ .control-section h3.accordion-section-title:after,
1383
+ .control-section h3.accordion-section-title-dummy:after {
1384
  content: "\f345" !important;
1385
  font: normal 20px/1 dashicons;
1386
  speak: none;
1395
  color: #a0a5aa;
1396
  }
1397
 
1398
+ .control-section h3.accordion-section-title:hover,
1399
+ .control-section h3.accordion-section-title-dummy:hover {
1400
  border-left-color: #0073aa;
1401
  }
1402
 
1403
+ .control-section h3.accordion-section-title:hover,
1404
+ .control-section h3.accordion-section-title-dummy:hover {
1405
  color: #0073aa;
1406
  }
1407
 
1464
  height: 90px;
1465
  }
1466
 
 
1467
  #customize-control-dropdowns,
1468
+ #customize-control-tables {
 
 
 
 
1469
  display: none;
1470
  }
1471
 
1717
  display: none;
1718
  }
1719
 
1720
+ /**
1721
+ *
1722
+ * Poll field
1723
+ *
1724
+ */
1725
+ ul.happyforms-parts-list li[data-part-type="poll"] {
1726
+ display: none;
1727
+ }
1728
+
1729
+
1730
  .happyforms-buttongroup-wrapper {
1731
  line-height: 1.5;
1732
  }
1892
  .happyforms-part-widget[data-part-type="radio"] .links.mode-import .button:first-child {
1893
  margin-right: 0px;
1894
  }
1895
+
1896
+ .customize-control-panel_dummy .accordion-section-title-dummy {
1897
+ margin: 0;
1898
+ padding: 10px 10px 11px 14px;
1899
+ }
core/assets/svg/icons/poll.svg DELETED
@@ -1 +0,0 @@
1
- <svg enable-background="new 0 0 24 24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h24v24h-24z" fill="none"/><path d="m0 0h24v24h-24z" fill="none"/><path d="m18 13h-.7l-2 2h1.9l1.8 2h-14l1.8-2h2.1l-2-2h-.9l-3 3v4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-4zm1 7h-14v-1h14zm-7.7-5c.4.4 1 .4 1.4 0l6.4-6.4c.4-.4.4-1 0-1.4l-5-4.9c-.4-.4-1-.4-1.4 0l-6.3 6.4c-.4.4-.4 1 0 1.4 0 0 4.9 4.9 4.9 4.9zm2.2-10.6 3.5 3.5-4.9 4.9-3.6-3.4s5-5 5-5z" fill="#32373c"/></svg>
 
core/classes/class-block.php CHANGED
@@ -97,7 +97,7 @@ class HappyForms_Block {
97
 
98
  public function enqueue_scripts() {
99
  $asset_file = require( happyforms_get_core_folder() . '/assets/jsx/build/admin/block.asset.php' );
100
-
101
  wp_enqueue_script(
102
  'happyforms-block',
103
  happyforms_get_plugin_url() . 'core/assets/jsx/build/admin/block.js',
@@ -109,7 +109,7 @@ class HappyForms_Block {
109
  $forms = array_map( function ( $form ) {
110
  return array(
111
  'ID' => $form['ID'],
112
- 'post_title' => $form['post_title'],
113
  );
114
  }, $forms );
115
  $block_properties = $this->get_properties();
97
 
98
  public function enqueue_scripts() {
99
  $asset_file = require( happyforms_get_core_folder() . '/assets/jsx/build/admin/block.asset.php' );
100
+
101
  wp_enqueue_script(
102
  'happyforms-block',
103
  happyforms_get_plugin_url() . 'core/assets/jsx/build/admin/block.js',
109
  $forms = array_map( function ( $form ) {
110
  return array(
111
  'ID' => $form['ID'],
112
+ 'post_title' => ( happyforms_get_form_title( $form ) )
113
  );
114
  }, $forms );
115
  $block_properties = $this->get_properties();
core/classes/class-form-assets.php CHANGED
@@ -179,32 +179,38 @@ class HappyForms_Form_Assets {
179
  }
180
 
181
  public function print_frontend_styles( $form ) {
182
- wp_register_style(
183
- 'happyforms-color',
184
- happyforms_get_frontend_stylesheet_url( 'color.css' ),
185
- array(), happyforms_get_version()
186
- );
 
187
 
188
- $dependencies = apply_filters(
189
- 'happyforms_style_dependencies',
190
- array( 'happyforms-color' ), [ $form ]
191
- );
192
 
193
- wp_register_style(
194
- 'happyforms-layout',
195
- happyforms_get_frontend_stylesheet_url( 'layout.css' ),
196
- $dependencies, happyforms_get_version()
197
- );
198
 
199
- $dependencies[] = 'happyforms-layout';
200
 
201
- global $wp_styles;
202
 
203
- foreach( $dependencies as $dependency ) {
204
- if ( isset( $wp_styles->registered[$dependency] ) ) {
205
- $stylesheet_url = $wp_styles->registered[$dependency]->src;
206
- ?><link rel="stylesheet" property="stylesheet" href="<?php echo $stylesheet_url; ?>" /><?php
 
207
  }
 
 
 
 
208
  }
209
 
210
  do_action( 'happyforms_print_frontend_styles', $form );
179
  }
180
 
181
  public function print_frontend_styles( $form ) {
182
+ if ( ! happyforms_concatenate_styles() ) {
183
+ wp_register_style(
184
+ 'happyforms-color',
185
+ happyforms_get_frontend_stylesheet_url( 'color.css' ),
186
+ array(), happyforms_get_version()
187
+ );
188
 
189
+ $dependencies = apply_filters(
190
+ 'happyforms_style_dependencies',
191
+ array( 'happyforms-color' ), [ $form ]
192
+ );
193
 
194
+ wp_register_style(
195
+ 'happyforms-layout',
196
+ happyforms_get_frontend_stylesheet_url( 'layout.css' ),
197
+ $dependencies, happyforms_get_version()
198
+ );
199
 
200
+ $dependencies[] = 'happyforms-layout';
201
 
202
+ global $wp_styles;
203
 
204
+ foreach( $dependencies as $dependency ) {
205
+ if ( isset( $wp_styles->registered[$dependency] ) ) {
206
+ $stylesheet_url = $wp_styles->registered[$dependency]->src;
207
+ ?><link rel="stylesheet" property="stylesheet" href="<?php echo $stylesheet_url; ?>" /><?php
208
+ }
209
  }
210
+ } else {
211
+ ?>
212
+ <link rel="stylesheet" property="stylesheet" href="<?php echo happyforms_get_plugin_url() . 'bundles/css/frontend.css'; ?>" />
213
+ <?php
214
  }
215
 
216
  do_action( 'happyforms_print_frontend_styles', $form );
core/classes/class-form-controller.php CHANGED
@@ -530,9 +530,6 @@ class HappyForms_Form_Controller {
530
  * @return array
531
  */
532
  public function update( $form_data = array() ) {
533
- if ( empty( $form_data['post_title'] ) ) {
534
- $form_data['post_title'] = __( '(no title)', 'happyforms' );
535
- }
536
 
537
  $validated_data = $this->validate_fields( $form_data );
538
 
@@ -646,13 +643,13 @@ class HappyForms_Form_Controller {
646
 
647
  if ( ! is_wp_error( $duplicate_id ) ) {
648
  $form_meta = get_post_meta( $form->ID );
649
-
650
  $form_meta = array_map( function( $value ) {
651
  return $value[0];
652
  }, $form_meta );
653
-
654
  $form_meta = array_map( 'maybe_unserialize', $form_meta );
655
-
656
  foreach ( $form_meta as $key => $value ) {
657
  add_post_meta( $duplicate_id, $key, $value );
658
  }
@@ -792,17 +789,6 @@ class HappyForms_Form_Controller {
792
  return $has_browser_protection;
793
  }
794
 
795
- /**
796
- *
797
- * Get wether or not this form requires async validation of submissions.
798
- *
799
- */
800
- public function has_pending_submission( $form ) {
801
- $is_pending = apply_filters( 'happyforms_form_has_pending_submission', false, $form );
802
-
803
- return $is_pending;
804
- }
805
-
806
  /**
807
  * Get form-wide submission notice definitions.
808
  *
530
  * @return array
531
  */
532
  public function update( $form_data = array() ) {
 
 
 
533
 
534
  $validated_data = $this->validate_fields( $form_data );
535
 
643
 
644
  if ( ! is_wp_error( $duplicate_id ) ) {
645
  $form_meta = get_post_meta( $form->ID );
646
+
647
  $form_meta = array_map( function( $value ) {
648
  return $value[0];
649
  }, $form_meta );
650
+
651
  $form_meta = array_map( 'maybe_unserialize', $form_meta );
652
+
653
  foreach ( $form_meta as $key => $value ) {
654
  add_post_meta( $duplicate_id, $key, $value );
655
  }
789
  return $has_browser_protection;
790
  }
791
 
 
 
 
 
 
 
 
 
 
 
 
792
  /**
793
  * Get form-wide submission notice definitions.
794
  *
core/classes/class-form-styles.php CHANGED
@@ -434,18 +434,6 @@ class HappyForms_Form_Styles {
434
  'target' => 'css_var',
435
  'variable' => '--happyforms-color-submit-text-hover',
436
  ),
437
- 'color_rating_star' => array(
438
- 'default' => '#cccccc',
439
- 'sanitize' => 'sanitize_text_field',
440
- 'target' => 'css_var',
441
- 'variable' => '--happyforms-color-rating',
442
- ),
443
- 'color_rating_star_hover' => array(
444
- 'default' => '#000000',
445
- 'sanitize' => 'sanitize_text_field',
446
- 'target' => 'css_var',
447
- 'variable' => '--happyforms-color-rating-hover',
448
- ),
449
  'color_table_row_odd' => array(
450
  'default' => '#fcfcfc',
451
  'sanitize' => 'sanitize_text_field',
@@ -470,30 +458,6 @@ class HappyForms_Form_Styles {
470
  'target' => 'css_var',
471
  'variable' => '--happyforms-color-table-row-even-text',
472
  ),
473
- 'color_divider_hr' => array(
474
- 'default' => '#cccccc',
475
- 'sanitize' => 'sanitize_text_field',
476
- 'target' => 'css_var',
477
- 'variable' => '--happyforms-color-divider-hr',
478
- ),
479
- 'color_choice_checkmark_bg' => array(
480
- 'default' => '#ffffff',
481
- 'sanitize' => 'sanitize_text_field',
482
- 'target' => 'css_var',
483
- 'variable' => '--happyforms-color-choice-checkmark-bg',
484
- ),
485
- 'color_choice_checkmark_bg_focus' => array(
486
- 'default' => '#000000',
487
- 'sanitize' => 'sanitize_text_field',
488
- 'target' => 'css_var',
489
- 'variable' => '--happyforms-color-choice-checkmark-bg-focus',
490
- ),
491
- 'color_choice_checkmark_color' => array(
492
- 'default' => '#ffffff',
493
- 'sanitize' => 'sanitize_text_field',
494
- 'target' => 'css_var',
495
- 'variable' => '--happyforms-color-choice-checkmark-color',
496
- ),
497
  'color_dropdown_item_bg' => array(
498
  'default' => '#ffffff',
499
  'sanitize' => 'sanitize_text_field',
@@ -526,7 +490,9 @@ class HappyForms_Form_Styles {
526
  )
527
  );
528
 
529
- return apply_filters( 'happyforms_style_fields', $fields );
 
 
530
  }
531
 
532
  public function get_controls() {
@@ -761,41 +727,6 @@ class HappyForms_Form_Styles {
761
  'label' => __( 'Text focused', 'happyforms' ),
762
  'field' => 'color_dropdown_item_text_hover',
763
  ),
764
- 4400 => array(
765
- 'type' => 'divider',
766
- 'label' => __( 'Checkboxes & Radios', 'happyforms' ),
767
- 'id' => 'checkboxes-radios',
768
- ),
769
- 4500 => array(
770
- 'type' => 'color',
771
- 'label' => __( 'Background', 'happyforms' ),
772
- 'field' => 'color_choice_checkmark_bg',
773
- ),
774
- 4600 => array(
775
- 'type' => 'color',
776
- 'label' => __( 'Background on focus', 'happyforms' ),
777
- 'field' => 'color_choice_checkmark_bg_focus',
778
- ),
779
- 4700 => array(
780
- 'type' => 'color',
781
- 'label' => __( 'Checkmark', 'happyforms' ),
782
- 'field' => 'color_choice_checkmark_color',
783
- ),
784
- 4800 => array(
785
- 'type' => 'divider',
786
- 'label' => __( 'Rating', 'happyforms' ),
787
- 'id' => 'rating',
788
- ),
789
- 4900 => array(
790
- 'type' => 'color',
791
- 'label' => __( 'Rating star color', 'happyforms' ),
792
- 'field' => 'color_rating_star',
793
- ),
794
- 5000 => array(
795
- 'type' => 'color',
796
- 'label' => __( 'Rating star color on hover', 'happyforms' ),
797
- 'field' => 'color_rating_star_hover',
798
- ),
799
  5300 => array(
800
  'type' => 'divider',
801
  'label' => __( 'Tables', 'happyforms' ),
@@ -821,16 +752,6 @@ class HappyForms_Form_Styles {
821
  'label' => __( 'Even row secondary', 'happyforms' ),
822
  'field' => 'color_table_row_even_text',
823
  ),
824
- 5750 => array(
825
- 'type' => 'divider',
826
- 'label' => __( 'Separators', 'happyforms' ),
827
- 'id' => 'dividers',
828
- ),
829
- 5751 => array(
830
- 'type' => 'color',
831
- 'label' => __( 'Color', 'happyforms' ),
832
- 'field' => 'color_divider_hr',
833
- ),
834
  5800 => array(
835
  'type' => 'divider',
836
  'label' => __( 'Submit button', 'happyforms' ),
434
  'target' => 'css_var',
435
  'variable' => '--happyforms-color-submit-text-hover',
436
  ),
 
 
 
 
 
 
 
 
 
 
 
 
437
  'color_table_row_odd' => array(
438
  'default' => '#fcfcfc',
439
  'sanitize' => 'sanitize_text_field',
458
  'target' => 'css_var',
459
  'variable' => '--happyforms-color-table-row-even-text',
460
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
461
  'color_dropdown_item_bg' => array(
462
  'default' => '#ffffff',
463
  'sanitize' => 'sanitize_text_field',
490
  )
491
  );
492
 
493
+ $fields = apply_filters( 'happyforms_style_fields', $fields );
494
+
495
+ return $fields;
496
  }
497
 
498
  public function get_controls() {
727
  'label' => __( 'Text focused', 'happyforms' ),
728
  'field' => 'color_dropdown_item_text_hover',
729
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
730
  5300 => array(
731
  'type' => 'divider',
732
  'label' => __( 'Tables', 'happyforms' ),
752
  'label' => __( 'Even row secondary', 'happyforms' ),
753
  'field' => 'color_table_row_even_text',
754
  ),
 
 
 
 
 
 
 
 
 
 
755
  5800 => array(
756
  'type' => 'divider',
757
  'label' => __( 'Submit button', 'happyforms' ),
core/classes/class-happyforms-core.php CHANGED
@@ -214,6 +214,15 @@ class HappyForms_Core {
214
  apply_filters( 'happyforms_responses_page_method', '' )
215
  );
216
 
 
 
 
 
 
 
 
 
 
217
  add_submenu_page(
218
  'happyforms',
219
  __( 'Integrations', 'happyforms' ),
@@ -340,7 +349,7 @@ class HappyForms_Core {
340
  $form_data = array();
341
 
342
  foreach ( $forms as $form ) {
343
- array_push( $form_data, array( 'id' => $form['ID'], 'title' => $form['post_title'] ) );
344
  }
345
 
346
  return $form_data;
214
  apply_filters( 'happyforms_responses_page_method', '' )
215
  );
216
 
217
+ add_submenu_page(
218
+ 'happyforms',
219
+ __( 'Coupons', 'happyforms' ),
220
+ __( 'Coupons', 'happyforms' ),
221
+ apply_filters( 'happyforms_coupons_page_capabilities', 'manage_options' ),
222
+ apply_filters( 'happyforms_coupons_page_url', '#coupons' ),
223
+ apply_filters( 'happyforms_coupons_page_method', '' )
224
+ );
225
+
226
  add_submenu_page(
227
  'happyforms',
228
  __( 'Integrations', 'happyforms' ),
349
  $form_data = array();
350
 
351
  foreach ( $forms as $form ) {
352
+ array_push( $form_data, array( 'id' => $form['ID'], 'title' => happyforms_get_form_title( $form ) ) );
353
  }
354
 
355
  return $form_data;
core/classes/class-happyforms-widget.php CHANGED
@@ -88,7 +88,7 @@ class HappyForms_Widget extends WP_Widget {
88
  $forms = array_values( wp_list_filter( $forms, array( 'post_status' => 'publish' ) ) );
89
 
90
  foreach ( $forms as $form ) {
91
- echo '<option value="'. $form['ID'] .'" '. selected( (int) $instance['form_id'] === (int) $form['ID'] ) .'">'. $form['post_title'] .'</option>';
92
  }
93
  ?>
94
  </select>
88
  $forms = array_values( wp_list_filter( $forms, array( 'post_status' => 'publish' ) ) );
89
 
90
  foreach ( $forms as $form ) {
91
+ echo '<option value="'. $form['ID'] .'" '. selected( (int) $instance['form_id'] === (int) $form['ID'] ) .'">'. happyforms_get_form_title( $form ) .'</option>';
92
  }
93
  ?>
94
  </select>
core/helpers/helper-form-templates.php CHANGED
@@ -97,7 +97,7 @@ if ( ! function_exists( 'happyforms_message_notices' ) ):
97
  function happyforms_message_notices( $location = '' ) {
98
  $notices = happyforms_get_session()->get_messages( $location );
99
  $class = apply_filters( 'happyforms_message_notices_class', '' );
100
-
101
  happyforms_the_message_notices( $notices, $class );
102
  }
103
 
@@ -158,8 +158,10 @@ function happyforms_the_part_error_message( $notices = array(), $part_name = '',
158
  <?php
159
  $notice_id = "happyforms-error-{$part_name}";
160
  $notice_id = ( $component ) ? "{$notice_id}_{$component}" : $notice_id;
 
 
161
  ?>
162
- <div class="happyforms-part-error-notice" id="<?php echo $notice_id; ?>">
163
  <?php
164
  foreach( $notices as $notice ) :
165
  if ( is_array( $notice['message'] ) && isset( $notice['message'][$component] ) ) {
@@ -170,7 +172,7 @@ function happyforms_the_part_error_message( $notices = array(), $part_name = '',
170
  continue;
171
  }
172
  ?>
173
- <p><svg role="img" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z" class=""></path></svg><span><?php echo $message; ?></span></p>
174
  <?php endforeach; ?>
175
  </div>
176
  <?php
@@ -179,6 +181,16 @@ function happyforms_the_part_error_message( $notices = array(), $part_name = '',
179
 
180
  endif;
181
 
 
 
 
 
 
 
 
 
 
 
182
  if ( ! function_exists( 'happyforms_print_part_description' ) ):
183
  /**
184
  * Output description of the part.
@@ -454,6 +466,10 @@ if ( ! function_exists( 'happyforms_get_form_title' ) ):
454
  * @return string
455
  */
456
  function happyforms_get_form_title( $form ) {
 
 
 
 
457
  return esc_html( $form['post_title'] );
458
  }
459
 
97
  function happyforms_message_notices( $location = '' ) {
98
  $notices = happyforms_get_session()->get_messages( $location );
99
  $class = apply_filters( 'happyforms_message_notices_class', '' );
100
+
101
  happyforms_the_message_notices( $notices, $class );
102
  }
103
 
158
  <?php
159
  $notice_id = "happyforms-error-{$part_name}";
160
  $notice_id = ( $component ) ? "{$notice_id}_{$component}" : $notice_id;
161
+ $notice_class = 'happyforms-part-error-notice';
162
+ $notice_class = ( $component ) ? "{$notice_class} {$notice_class}__{$component}" : $notice_class;
163
  ?>
164
+ <div class="<?php echo $notice_class; ?>" id="<?php echo $notice_id; ?>">
165
  <?php
166
  foreach( $notices as $notice ) :
167
  if ( is_array( $notice['message'] ) && isset( $notice['message'][$component] ) ) {
172
  continue;
173
  }
174
  ?>
175
+ <p><?php echo happyforms_get_error_icon() ;?><span><?php echo $message; ?></span></p>
176
  <?php endforeach; ?>
177
  </div>
178
  <?php
181
 
182
  endif;
183
 
184
+ if ( ! function_exists( 'happyforms_get_error_icon' ) ):
185
+
186
+ function happyforms_get_error_icon() {
187
+ $icon = '<svg role="img" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z" class=""></path></svg>';
188
+
189
+ return $icon;
190
+ }
191
+
192
+ endif;
193
+
194
  if ( ! function_exists( 'happyforms_print_part_description' ) ):
195
  /**
196
  * Output description of the part.
466
  * @return string
467
  */
468
  function happyforms_get_form_title( $form ) {
469
+ if ( empty( $form['post_title'] ) ) {
470
+ return __( '(no title)', 'happyforms' );
471
+ }
472
+
473
  return esc_html( $form['post_title'] );
474
  }
475
 
core/helpers/helper-misc.php CHANGED
@@ -1055,6 +1055,18 @@ function happyforms_concatenate_scripts() {
1055
 
1056
  endif;
1057
 
 
 
 
 
 
 
 
 
 
 
 
 
1058
  if ( ! function_exists( 'happyforms_random_number' ) ) :
1059
 
1060
  function happyforms_random_number( $seed = '' ) {
1055
 
1056
  endif;
1057
 
1058
+ if ( ! function_exists( 'happyforms_concatenate_styles' ) ) :
1059
+
1060
+ function happyforms_concatenate_styles() {
1061
+ $is_debug = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG );
1062
+ $is_debug = $is_debug || happyforms_is_preview();
1063
+ $concatenate = apply_filters( 'happyforms_concatenate_styles', ! $is_debug );
1064
+
1065
+ return $concatenate;
1066
+ }
1067
+
1068
+ endif;
1069
+
1070
  if ( ! function_exists( 'happyforms_random_number' ) ) :
1071
 
1072
  function happyforms_random_number( $seed = '' ) {
core/helpers/helper-styles.php CHANGED
@@ -23,7 +23,7 @@ if ( ! function_exists( 'happyforms_get_frontend_stylesheet_url' ) ):
23
  return;
24
  }
25
 
26
- $stylesheets_url = happyforms_get_plugin_url() . 'core/assets/css';
27
  $stylesheets_url = apply_filters( 'happyforms_frontend_stylesheets_url', $stylesheets_url );
28
  $style_suffix = happyforms_get_version();
29
 
23
  return;
24
  }
25
 
26
+ $stylesheets_url = happyforms_get_plugin_url() . 'inc/assets/css/frontend';
27
  $stylesheets_url = apply_filters( 'happyforms_frontend_stylesheets_url', $stylesheets_url );
28
  $style_suffix = happyforms_get_version();
29
 
core/templates/parts/customize-checkbox.php CHANGED
@@ -24,9 +24,9 @@
24
  <?php do_action( 'happyforms_part_customize_checkbox_before_options' ); ?>
25
 
26
  <div class="options">
 
27
  <ul class="option-list"></ul>
28
- <label><?php _e( 'Choices', 'happyforms' ); ?>:</label>
29
- <p class="no-options description"><?php _e( 'It doesn\'t look like your field has any choices yet. Want to add one? Click the "Add Choice" button to start.', 'happyforms' ); ?></p>
30
  </div>
31
  <p class="options-import">
32
  <label for="<%= instance.id %>_bulk_choices"><?php _e( 'Choices', 'happyforms' ); ?></label>
24
  <?php do_action( 'happyforms_part_customize_checkbox_before_options' ); ?>
25
 
26
  <div class="options">
27
+ <label><?php _e( 'List', 'happyforms' ); ?>:</label>
28
  <ul class="option-list"></ul>
29
+ <p class="no-options description customize-control-description"><?php _e( 'It doesn\'t look like your field has any choices yet. Want to add one? Click the "Add Choice" button to start.', 'happyforms' ); ?></p>
 
30
  </div>
31
  <p class="options-import">
32
  <label for="<%= instance.id %>_bulk_choices"><?php _e( 'Choices', 'happyforms' ); ?></label>
core/templates/parts/customize-radio.php CHANGED
@@ -24,9 +24,9 @@
24
  <?php do_action( 'happyforms_part_customize_radio_before_options' ); ?>
25
 
26
  <div class="options">
 
27
  <ul class="option-list"></ul>
28
- <label><?php _e( 'Choices', 'happyforms' ); ?>:</label>
29
- <p class="no-options description"><?php _e( 'It doesn\'t look like your field has any choices yet. Want to add one?
30
  Click the "Add Choice" button to start.', 'happyforms' ); ?></p>
31
  </div>
32
  <p class="options-import">
24
  <?php do_action( 'happyforms_part_customize_radio_before_options' ); ?>
25
 
26
  <div class="options">
27
+ <label><?php _e( 'List', 'happyforms' ); ?>:</label>
28
  <ul class="option-list"></ul>
29
+ <p class="no-options description customize-control-description"><?php _e( 'It doesn\'t look like your field has any choices yet. Want to add one?
 
30
  Click the "Add Choice" button to start.', 'happyforms' ); ?></p>
31
  </div>
32
  <p class="options-import">
core/templates/parts/customize-select.php CHANGED
@@ -28,9 +28,9 @@
28
  <?php do_action( 'happyforms_part_customize_select_before_options' ); ?>
29
 
30
  <div class="options">
 
31
  <ul class="option-list"></ul>
32
- <label><?php _e( 'Choices', 'happyforms' ); ?>:</label>
33
- <p class="no-options description"><?php _e( 'It doesn\'t look like your field has any choices yet. Want to add one? Click the "Add Choice" button to start.', 'happyforms' ); ?></p>
34
  </div>
35
  <p class="options-import">
36
  <label for="<%= instance.id %>_bulk_choices"><?php _e( 'Choices', 'happyforms' ); ?></label>
28
  <?php do_action( 'happyforms_part_customize_select_before_options' ); ?>
29
 
30
  <div class="options">
31
+ <label><?php _e( 'List', 'happyforms' ); ?>:</label>
32
  <ul class="option-list"></ul>
33
+ <p class="no-options description customize-control-description"><?php _e( 'It doesn\'t look like your field has any choices yet. Want to add one? Click the "Add Choice" button to start.', 'happyforms' ); ?></p>
 
34
  </div>
35
  <p class="options-import">
36
  <label for="<%= instance.id %>_bulk_choices"><?php _e( 'Choices', 'happyforms' ); ?></label>
happyforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Plugin URI: https://happyforms.io
6
  * Description: We're changin' WordPress forms.
7
  * Author: Happyforms
8
- * Version: 1.16.1
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.16.1' );
26
 
27
  if ( ! function_exists( 'happyforms_get_version' ) ):
28
 
5
  * Plugin URI: https://happyforms.io
6
  * Description: We're changin' WordPress forms.
7
  * Author: Happyforms
8
+ * Version: 1.17.0
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.17.0' );
26
 
27
  if ( ! function_exists( 'happyforms_get_version' ) ):
28
 
inc/assets/css/admin.css CHANGED
@@ -118,4 +118,8 @@ button.hf-hide-pw .dashicons {
118
  width: 1.25rem;
119
  height: 1.25rem;
120
  font-size: 18px;
 
 
 
 
121
  }
118
  width: 1.25rem;
119
  height: 1.25rem;
120
  font-size: 18px;
121
+ }
122
+
123
+ .forms_page_happyforms-coupons #wpbody {
124
+ pointer-events: none;
125
  }
{core/assets/css → inc/assets/css/frontend}/color.css RENAMED
File without changes
{core/assets/css → inc/assets/css/frontend}/layout.css RENAMED
File without changes
inc/assets/js/admin/dashboard.js CHANGED
@@ -8,6 +8,7 @@
8
 
9
  $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#settings"]', this.openUpgradeModal );
10
  $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#integrations"]', this.openUpgradeModal );
 
11
  },
12
 
13
  openUpgradeModal: function( e ) {
8
 
9
  $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#settings"]', this.openUpgradeModal );
10
  $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#integrations"]', this.openUpgradeModal );
11
+ $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#coupons"]', this.openUpgradeModal );
12
  },
13
 
14
  openUpgradeModal: function( e ) {
inc/assets/js/customize.js CHANGED
@@ -2054,6 +2054,7 @@
2054
  'change [data-target="form_class"]': 'onFormClassChange',
2055
  'change [data-target="css_var"] input[type=radio]': 'onRadioChange',
2056
  'navigate-to-group': 'navigateToGroup',
 
2057
  } ),
2058
 
2059
  pointers: {},
2054
  'change [data-target="form_class"]': 'onFormClassChange',
2055
  'change [data-target="css_var"] input[type=radio]': 'onRadioChange',
2056
  'navigate-to-group': 'navigateToGroup',
2057
+ 'click .customize-control-panel_dummy': 'openUpgradeModal',
2058
  } ),
2059
 
2060
  pointers: {},
inc/classes/class-happyforms.php CHANGED
@@ -17,6 +17,7 @@ class HappyForms extends HappyForms_Core {
17
  add_action( 'happyforms_do_style_control', array( $this, 'do_control' ), 10, 3 );
18
  add_filter( 'happyforms_setup_controls', array( $this, 'add_dummy_setup_controls' ) );
19
  add_filter( 'happyforms_email_controls', array( $this, 'add_dummy_email_controls' ) );
 
20
  add_action( 'parse_request', array( $this, 'parse_archive_request' ) );
21
  add_action( 'admin_init', [ $this, 'register_modals' ] );
22
  add_action( 'load-plugins.php', array( $this, 'redirect_to_forms_page' ) );
@@ -40,9 +41,6 @@ class HappyForms extends HappyForms_Core {
40
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-attachment-dummy.php' );
41
  $part_library->register_part( 'HappyForms_Part_Attachment_Dummy', 6 );
42
 
43
- require_once( happyforms_get_include_folder() . '/classes/parts/class-part-poll-dummy.php' );
44
- $part_library->register_part( 'HappyForms_Part_Poll_Dummy', 10 );
45
-
46
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-phone-dummy.php' );
47
  $part_library->register_part( 'HappyForms_Part_Phone_Dummy', 11 );
48
 
@@ -181,6 +179,34 @@ class HappyForms extends HappyForms_Core {
181
  return $controls;
182
  }
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  public function do_control( $control, $field, $index ) {
185
  $type = $control['type'];
186
 
@@ -195,6 +221,10 @@ class HappyForms extends HappyForms_Core {
195
  if ( 'email-parts-list_dummy' === $type ) {
196
  require( happyforms_get_include_folder() . '/templates/customize-controls/email-parts-list-dummy.php' );
197
  }
 
 
 
 
198
  }
199
 
200
  public function admin_enqueue_scripts() {
@@ -339,7 +369,12 @@ class HappyForms extends HappyForms_Core {
339
  && 'happyforms-integrations' === $_GET['page']
340
  );
341
 
342
- if ( ! $is_activity_screen && ! $is_integrations_screen ) {
 
 
 
 
 
343
  return;
344
  }
345
 
17
  add_action( 'happyforms_do_style_control', array( $this, 'do_control' ), 10, 3 );
18
  add_filter( 'happyforms_setup_controls', array( $this, 'add_dummy_setup_controls' ) );
19
  add_filter( 'happyforms_email_controls', array( $this, 'add_dummy_email_controls' ) );
20
+ add_filter( 'happyforms_style_controls', array( $this, 'add_dummy_style_controls' ) );
21
  add_action( 'parse_request', array( $this, 'parse_archive_request' ) );
22
  add_action( 'admin_init', [ $this, 'register_modals' ] );
23
  add_action( 'load-plugins.php', array( $this, 'redirect_to_forms_page' ) );
41
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-attachment-dummy.php' );
42
  $part_library->register_part( 'HappyForms_Part_Attachment_Dummy', 6 );
43
 
 
 
 
44
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-phone-dummy.php' );
45
  $part_library->register_part( 'HappyForms_Part_Phone_Dummy', 11 );
46
 
179
  return $controls;
180
  }
181
 
182
+ public function add_dummy_style_controls( $controls ) {
183
+ $controls[5791] = array(
184
+ 'type' => 'panel_dummy',
185
+ 'dummy_id' => 'checkboxes_radios',
186
+ 'label' => __( 'Checkboxes & Radios', 'happyforms' ),
187
+ );
188
+
189
+ $controls[5792] = array(
190
+ 'type' => 'panel_dummy',
191
+ 'dummy_id' => 'rating',
192
+ 'label' => __( 'Rating', 'happyforms' ),
193
+ );
194
+
195
+ $controls[5793] = array(
196
+ 'type' => 'panel_dummy',
197
+ 'dummy_id' => 'separators',
198
+ 'label' => __( 'Separators', 'happyforms' ),
199
+ );
200
+
201
+ $controls[8560] = array(
202
+ 'type' => 'panel_dummy',
203
+ 'dummy_id' => 'multistep',
204
+ 'label' => __( 'Multi Step', 'happyforms' ),
205
+ );
206
+
207
+ return $controls;
208
+ }
209
+
210
  public function do_control( $control, $field, $index ) {
211
  $type = $control['type'];
212
 
221
  if ( 'email-parts-list_dummy' === $type ) {
222
  require( happyforms_get_include_folder() . '/templates/customize-controls/email-parts-list-dummy.php' );
223
  }
224
+
225
+ if ( 'panel_dummy' === $type ) {
226
+ require( happyforms_get_include_folder() . '/templates/customize-controls/panel_dummy.php' );
227
+ }
228
  }
229
 
230
  public function admin_enqueue_scripts() {
369
  && 'happyforms-integrations' === $_GET['page']
370
  );
371
 
372
+ $is_coupons_screen = (
373
+ isset( $_GET['page'] )
374
+ && 'happyforms-coupons' === $_GET['page']
375
+ );
376
+
377
+ if ( ! $is_activity_screen && ! $is_integrations_screen && ! $is_coupons_screen ) {
378
  return;
379
  }
380
 
inc/classes/parts/class-part-poll-dummy.php DELETED
@@ -1,12 +0,0 @@
1
- <?php
2
-
3
- class HappyForms_Part_Poll_Dummy extends HappyForms_Form_Part {
4
-
5
- public $type = 'poll_dummy';
6
-
7
- public function __construct() {
8
- $this->label = __( 'Poll', 'happyforms' );
9
- $this->description = __( 'For collecting opinions and showing published results in a bar chart.', 'happyforms' );
10
- }
11
-
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
inc/templates/customize-controls/panel_dummy.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php if ( $index > 0 ): ?></ul></li><?php endif; ?>
2
+ <li class="customize-control control-section happyforms-divider-control customize-control-divider customize-control-panel_dummy" id="customize-control-<?php echo $control['dummy_id']; ?>">
3
+ <h3 class="accordion-section-title-dummy"><?php echo $control['label']; ?> <span class="members-only"><?php _e( 'Members Only', 'happyforms') ?></span></h3>
4
+ </li>
5
+ <li class="happyforms-style-controls-group"><ul>
integrations/classes/class-integrations-page-controller.php CHANGED
@@ -15,8 +15,11 @@ class HappyForms_Integrations_Page_Controller {
15
  public function hook() {
16
  add_filter( 'happyforms_integrations_page_method', array( $this, 'set_admin_page_method' ) );
17
  add_filter( 'happyforms_integrations_page_url', array( $this, 'set_admin_page_url' ) );
 
 
18
  add_action( 'happyforms_add_meta_boxes', array( $this, 'set_metaboxes' ) );
19
  add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
 
20
  }
21
 
22
  public function set_metaboxes() {
@@ -67,6 +70,21 @@ class HappyForms_Integrations_Page_Controller {
67
  require_once( happyforms_get_integrations_folder() . '/templates/admin-integrations.php' );
68
  }
69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  public function admin_enqueue_scripts() {
71
  if ( ! isset( $_GET['page'] ) || 'happyforms-integrations' !== $_GET['page'] ) {
72
  return;
@@ -78,6 +96,12 @@ class HappyForms_Integrations_Page_Controller {
78
  );
79
  }
80
 
 
 
 
 
 
 
81
  }
82
 
83
  if ( ! function_exists( 'happyforms_get_integrations_page_controller' ) ):
15
  public function hook() {
16
  add_filter( 'happyforms_integrations_page_method', array( $this, 'set_admin_page_method' ) );
17
  add_filter( 'happyforms_integrations_page_url', array( $this, 'set_admin_page_url' ) );
18
+ add_filter( 'happyforms_coupons_page_method', array( $this, 'set_coupon_page_method' ) );
19
+ add_filter( 'happyforms_coupons_page_url', array( $this, 'set_coupon_page_url' ) );
20
  add_action( 'happyforms_add_meta_boxes', array( $this, 'set_metaboxes' ) );
21
  add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
22
+ add_filter( 'screen_options_show_screen', array( $this, 'coupons_add_screen_options' ), 20, 2 );
23
  }
24
 
25
  public function set_metaboxes() {
70
  require_once( happyforms_get_integrations_folder() . '/templates/admin-integrations.php' );
71
  }
72
 
73
+ public function set_coupon_page_method() {
74
+ return array( $this, 'coupons_page' );
75
+ }
76
+
77
+ public function set_coupon_page_url() {
78
+ return 'happyforms-coupons';
79
+ }
80
+
81
+ public function coupons_page() {
82
+ wp_enqueue_script( 'dashboard' );
83
+ add_filter( 'admin_footer_text', 'happyforms_admin_footer' );
84
+
85
+ require_once( happyforms_get_integrations_folder() . '/templates/admin-coupons.php' );
86
+ }
87
+
88
  public function admin_enqueue_scripts() {
89
  if ( ! isset( $_GET['page'] ) || 'happyforms-integrations' !== $_GET['page'] ) {
90
  return;
96
  );
97
  }
98
 
99
+ public function coupons_add_screen_options( $show, $screen ) {
100
+ return 'forms_page_happyforms-coupons' == $screen->id ? true : $show;
101
+ }
102
+
103
+
104
+
105
  }
106
 
107
  if ( ! function_exists( 'happyforms_get_integrations_page_controller' ) ):
integrations/templates/admin-coupons.php ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap nosubsub">
2
+ <h1 class="wp-heading-inline"><?php _e( 'Coupons', 'happyforms' ); ?></h1>
3
+ <hr class="wp-header-end">
4
+ <div id="ajax-response"></div>
5
+ <div id="col-container" class="wp-clearfix">
6
+ <div id="col-left">
7
+ <div class="col-wrap">
8
+ <div class="form-wrap">
9
+ <h2><?php _e( 'Add New Coupon', 'happyforms' ); ?></h2>
10
+ <div class="form-field form-required">
11
+ <label for="post_title"><?php _e( 'Name', 'happyforms' ); ?></label>
12
+ <input name="post_title" id="post_title" type="text" value="" size="40" aria-required="true" />
13
+ <p><?php _e( 'This is what will be applied by the submitter to receive a discount. The coupon must be unique and contain no spaces.', 'happyforms'); ?></p>
14
+ </div>
15
+ <div class="form-field form-required">
16
+ <label for=""><?php _e( 'Discount Type', 'happyforms' ); ?></label>
17
+ <span class="happyforms-buttongroup happyforms-buttongroup-field_width">
18
+ <label for="discount_type_fixed">
19
+ <input type="radio" id="discount_type_fixed" value="fixed" name="discount_type" checked="" disabled/>
20
+ <span><?php _e( 'Fixed', 'happyforms' ); ?></span>
21
+ </label>
22
+ <label for="discount_type_percentage">
23
+ <span><?php _e( 'Percentage', 'happyforms' ); ?></span>
24
+ </label>
25
+ </span>
26
+ </div>
27
+ <div class="form-field form-required">
28
+ <label class="labels-dicount_type-fixed" for="discount_amount"><?php _e( 'Discount Amount', 'happyforms' ); ?></label>
29
+ <input name="discount_amount" id="discount_amount" type="number" value="" size="40" aria-required="true" min="0" />
30
+ <p class="details-discount_type-fixed"><?php _e( 'This amount automatically converts to whatever currency the form uses. For example, if this amount is &#8220;5&#8221; and the form uses dollars, the discount is $5. If the form uses euro, the discount is €5.', 'happyforms' ); ?></p>
31
+ </div>
32
+ <div class="form-field">
33
+ <label for="description"><?php _e( 'Description', 'happyforms' ); ?></label>
34
+ <textarea name="description" id="description" rows="5" cols="40"></textarea>
35
+ <p><?php _e( 'This will not be seen by submitters.', 'happyforms' ); ?></p>
36
+ </div>
37
+ <p class="submit">
38
+ <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e( 'Add New Coupon', 'happyforms' ); ?>" /><span class="spinner"></span>
39
+ </p>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ <div id="col-right">
44
+ <div class="col-wrap">
45
+ <table class="wp-list-table widefat fixed striped table-view-list coupons">
46
+ <thead>
47
+ <tr>
48
+ <td id="cb" class="manage-column column-cb check-column">
49
+ <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
50
+ <input id="cb-select-all-1" type="checkbox">
51
+ </td>
52
+ <th scope="col" id="post_title" class="manage-column column-post_title column-primary sortable desc">
53
+ <a href="#"><span><?php _e( 'Name', 'happyforms' ); ?></span><span class="sorting-indicator"></span></a>
54
+ </th>
55
+ <th scope="col" id="description" class="manage-column column-description sortable desc">
56
+ <a href=""><span><?php _e( 'Description', 'happyforms' ); ?></span><span class="sorting-indicator"></span></a>
57
+ </th>
58
+ <th scope="col" id="redemptions" class="manage-column column-redemptions sortable desc">
59
+ <a href=""><span><?php _e( 'Redemptions', 'happyforms' ); ?></span><span class="sorting-indicator"></span></a>
60
+ </th>
61
+ </tr>
62
+ </thead>
63
+ <tbody id="the-list" data-wp-lists="list:coupon">
64
+ <tr class="no-items">
65
+ <td class="colspanchange" colspan="4"><?php _e( 'No coupons found.', 'happyforms' ); ?></td>
66
+ </tr>
67
+ </tbody>
68
+ <tfoot>
69
+ <tr>
70
+ <td id="cb" class="manage-column column-cb check-column">
71
+ <label class="screen-reader-text" for="cb-select-all-1">Select All</label>
72
+ <input id="cb-select-all-1" type="checkbox">
73
+ </td>
74
+ <th scope="col" id="post_title" class="manage-column column-post_title column-primary sortable desc">
75
+ <a href="#"><span><?php _e( 'Name', 'happyforms' ); ?></span><span class="sorting-indicator"></span></a>
76
+ </th>
77
+ <th scope="col" id="description" class="manage-column column-description sortable desc">
78
+ <a href=""><span><?php _e( 'Description', 'happyforms' ); ?></span><span class="sorting-indicator"></span></a>
79
+ </th>
80
+ <th scope="col" id="redemptions" class="manage-column column-redemptions sortable desc">
81
+ <a href=""><span><?php _e( 'Redemptions', 'happyforms' ); ?></span><span class="sorting-indicator"></span></a>
82
+ </th>
83
+ </tr>
84
+ </tfoot>
85
+
86
+ </table>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </div>
91
+ <style>
92
+ .column-redemptions {
93
+ width: 110px;
94
+ }
95
+ </style>
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.16.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-07-19T10:37:44+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"
@@ -149,11 +149,7 @@ msgstr ""
149
  msgid "All Forms"
150
  msgstr ""
151
 
152
- #: core/classes/class-form-controller.php:534
153
- msgid "(no title)"
154
- msgstr ""
155
-
156
- #: core/classes/class-form-controller.php:644
157
  msgid " Copy"
158
  msgstr ""
159
 
@@ -174,7 +170,7 @@ msgid "Email me a copy of each submission"
174
  msgstr ""
175
 
176
  #: core/classes/class-form-email.php:106
177
- #: inc/classes/class-happyforms.php:172
178
  msgid "To email address"
179
  msgstr ""
180
 
@@ -538,158 +534,156 @@ msgstr ""
538
  msgid "Full width"
539
  msgstr ""
540
 
541
- #: core/classes/class-form-styles.php:536
542
  msgid "General"
543
  msgstr ""
544
 
545
- #: core/classes/class-form-styles.php:541
546
- #: core/classes/class-form-styles.php:851
547
  #: core/templates/partials/customize-field-width.php:2
548
  msgid "Width"
549
  msgstr ""
550
 
551
- #: core/classes/class-form-styles.php:546
552
- #: core/classes/class-form-styles.php:856
553
  msgid "Padding"
554
  msgstr ""
555
 
556
- #: core/classes/class-form-styles.php:551
557
  msgid "Direction"
558
  msgstr ""
559
 
560
- #: core/classes/class-form-styles.php:557
561
- #: core/classes/class-form-styles.php:642
562
- #: core/classes/class-form-styles.php:712
563
- #: core/classes/class-form-styles.php:882
564
  msgid "Colors"
565
  msgstr ""
566
 
567
- #: core/classes/class-form-styles.php:561
568
  msgid "Primary"
569
  msgstr ""
570
 
571
- #: core/classes/class-form-styles.php:566
572
  msgid "Success message background"
573
  msgstr ""
574
 
575
- #: core/classes/class-form-styles.php:571
576
  msgid "Success message text"
577
  msgstr ""
578
 
579
- #: core/classes/class-form-styles.php:576
580
  msgid "Validation message text"
581
  msgstr ""
582
 
583
- #: core/classes/class-form-styles.php:581
584
  msgid "Error message background"
585
  msgstr ""
586
 
587
- #: core/classes/class-form-styles.php:586
588
  msgid "Error message text"
589
  msgstr ""
590
 
591
- #: core/classes/class-form-styles.php:591
592
  #: inc/classes/parts/class-part-title-dummy.php:8
593
  msgid "Title"
594
  msgstr ""
595
 
596
- #: core/classes/class-form-styles.php:596
597
  msgid "Display"
598
  msgstr ""
599
 
600
- #: core/classes/class-form-styles.php:601
601
- #: core/classes/class-form-styles.php:871
602
  msgid "Alignment"
603
  msgstr ""
604
 
605
- #: core/classes/class-form-styles.php:606
606
- #: core/classes/class-form-styles.php:861
607
  msgid "Font size"
608
  msgstr ""
609
 
610
- #: core/classes/class-form-styles.php:611
611
  msgid "Field borders & spacing"
612
  msgstr ""
613
 
614
- #: core/classes/class-form-styles.php:616
615
- #: core/classes/class-form-styles.php:646
616
- #: core/classes/class-form-styles.php:841
617
- #: core/classes/class-form-styles.php:896
618
  msgid "Border"
619
  msgstr ""
620
 
621
- #: core/classes/class-form-styles.php:621
622
  msgid "Border location"
623
  msgstr ""
624
 
625
- #: core/classes/class-form-styles.php:626
626
- #: core/classes/class-form-styles.php:846
627
  msgid "Border radius"
628
  msgstr ""
629
 
630
- #: core/classes/class-form-styles.php:631
631
  msgid "Outer spacing"
632
  msgstr ""
633
 
634
- #: core/classes/class-form-styles.php:636
635
  msgid "Inner spacing"
636
  msgstr ""
637
 
638
- #: core/classes/class-form-styles.php:651
639
  msgid "Border on focus"
640
  msgstr ""
641
 
642
- #: core/classes/class-form-styles.php:656
643
- #: core/classes/class-form-styles.php:746
644
- #: core/classes/class-form-styles.php:771
645
- #: core/classes/class-form-styles.php:886
646
  msgid "Background"
647
  msgstr ""
648
 
649
- #: core/classes/class-form-styles.php:661
650
- #: core/classes/class-form-styles.php:756
651
- #: core/classes/class-form-styles.php:776
652
- #: core/classes/class-form-styles.php:891
653
  msgid "Background on focus"
654
  msgstr ""
655
 
656
- #: core/classes/class-form-styles.php:666
657
  msgid "Field labels & text"
658
  msgstr ""
659
 
660
- #: core/classes/class-form-styles.php:671
661
  msgid "Toggle placeholder on field focus"
662
  msgstr ""
663
 
664
- #: core/classes/class-form-styles.php:676
665
  msgid "Label alignment"
666
  msgstr ""
667
 
668
- #: core/classes/class-form-styles.php:681
669
  msgid "Label font size"
670
  msgstr ""
671
 
672
- #: core/classes/class-form-styles.php:686
673
  msgid "Label font weight"
674
  msgstr ""
675
 
676
- #: core/classes/class-form-styles.php:691
677
  msgid "Hint alignment"
678
  msgstr ""
679
 
680
- #: core/classes/class-form-styles.php:696
681
  msgid "Hint font size"
682
  msgstr ""
683
 
684
- #: core/classes/class-form-styles.php:701
685
  msgid "Placeholder &amp; value alignment"
686
  msgstr ""
687
 
688
- #: core/classes/class-form-styles.php:706
689
  msgid "Value font size"
690
  msgstr ""
691
 
692
- #: core/classes/class-form-styles.php:716
693
  #: core/templates/parts/customize-checkbox.php:4
694
  #: core/templates/parts/customize-checkbox.php:139
695
  #: core/templates/parts/customize-checkbox.php:184
@@ -706,11 +700,11 @@ msgstr ""
706
  msgid "Label"
707
  msgstr ""
708
 
709
- #: core/classes/class-form-styles.php:721
710
  msgid "Value"
711
  msgstr ""
712
 
713
- #: core/classes/class-form-styles.php:726
714
  #: core/templates/parts/customize-email.php:20
715
  #: core/templates/parts/customize-multi-line-text.php:20
716
  #: core/templates/parts/customize-number.php:20
@@ -719,7 +713,7 @@ msgstr ""
719
  msgid "Placeholder"
720
  msgstr ""
721
 
722
- #: core/classes/class-form-styles.php:731
723
  #: core/templates/parts/customize-checkbox.php:20
724
  #: core/templates/parts/customize-checkbox.php:145
725
  #: core/templates/parts/customize-email.php:28
@@ -732,102 +726,74 @@ msgstr ""
732
  msgid "Hint"
733
  msgstr ""
734
 
735
- #: core/classes/class-form-styles.php:736
736
  msgid "Address dropdowns"
737
  msgstr ""
738
 
739
- #: core/classes/class-form-styles.php:742
740
  msgid "Items"
741
  msgstr ""
742
 
743
- #: core/classes/class-form-styles.php:751
744
- #: core/classes/class-form-styles.php:901
745
  #: core/classes/parts/class-part-single-line-text.php:8
746
  msgid "Text"
747
  msgstr ""
748
 
749
- #: core/classes/class-form-styles.php:761
750
  msgid "Text focused"
751
  msgstr ""
752
 
753
- #: core/classes/class-form-styles.php:766
754
- msgid "Checkboxes & Radios"
755
- msgstr ""
756
-
757
- #: core/classes/class-form-styles.php:781
758
- msgid "Checkmark"
759
- msgstr ""
760
-
761
- #: core/classes/class-form-styles.php:786
762
- msgid "Rating"
763
- msgstr ""
764
-
765
- #: core/classes/class-form-styles.php:791
766
- msgid "Rating star color"
767
- msgstr ""
768
-
769
- #: core/classes/class-form-styles.php:796
770
- msgid "Rating star color on hover"
771
- msgstr ""
772
-
773
- #: core/classes/class-form-styles.php:801
774
  msgid "Tables"
775
  msgstr ""
776
 
777
- #: core/classes/class-form-styles.php:806
778
  msgid "Odd row primary"
779
  msgstr ""
780
 
781
- #: core/classes/class-form-styles.php:811
782
  msgid "Odd row secondary"
783
  msgstr ""
784
 
785
- #: core/classes/class-form-styles.php:816
786
  msgid "Even row primary"
787
  msgstr ""
788
 
789
- #: core/classes/class-form-styles.php:821
790
  msgid "Even row secondary"
791
  msgstr ""
792
 
793
- #: core/classes/class-form-styles.php:826
794
- msgid "Separators"
795
- msgstr ""
796
-
797
- #: core/classes/class-form-styles.php:831
798
- msgid "Color"
799
- msgstr ""
800
-
801
- #: core/classes/class-form-styles.php:836
802
  msgid "Submit button"
803
  msgstr ""
804
 
805
- #: core/classes/class-form-styles.php:866
806
  msgid "Font weight"
807
  msgstr ""
808
 
809
- #: core/classes/class-form-styles.php:876
810
  msgid "Make button a field of last input"
811
  msgstr ""
812
 
813
- #: core/classes/class-form-styles.php:906
814
  msgid "Text on focus"
815
  msgstr ""
816
 
817
- #: core/classes/class-form-styles.php:918
818
  msgid "Add your own CSS code here to customize the appearance of your form."
819
  msgstr ""
820
 
821
- #: core/classes/class-form-styles.php:920
822
  msgid "For each rule you add, we'll prepend your form's HTML ID. This makes sure all styles added will only apply to this form. For example %s becomes %s."
823
  msgstr ""
824
 
825
- #: core/classes/class-form-styles.php:928
826
  msgid "The edit field automatically highlights code syntax. You can disable this in your <a href=\"%s\" class=\"%s\" target=\"_blank\">user profile</a> to work in plain text mode."
827
  msgstr ""
828
 
829
- #: core/classes/class-form-styles.php:936
830
- #: core/classes/class-form-styles.php:946
831
  msgid "Additional CSS"
832
  msgstr ""
833
 
@@ -839,17 +805,23 @@ msgstr ""
839
 
840
  #: core/classes/class-happyforms-core.php:219
841
  #: core/classes/class-happyforms-core.php:220
842
- #: integrations/templates/admin-integrations.php:3
843
- msgid "Integrations"
844
  msgstr ""
845
 
846
  #: core/classes/class-happyforms-core.php:228
847
  #: core/classes/class-happyforms-core.php:229
 
 
 
 
 
 
848
  #: core/assets/jsx/build/admin/block.js:173
849
  msgid "Settings"
850
  msgstr ""
851
 
852
- #: core/classes/class-happyforms-core.php:470
853
  msgid "Add Form"
854
  msgstr ""
855
 
@@ -1075,51 +1047,55 @@ msgstr ""
1075
  msgid "Leave this field blank"
1076
  msgstr ""
1077
 
1078
- #: core/helpers/helper-form-templates.php:981
 
 
 
 
1079
  msgid "January"
1080
  msgstr ""
1081
 
1082
- #: core/helpers/helper-form-templates.php:982
1083
  msgid "February"
1084
  msgstr ""
1085
 
1086
- #: core/helpers/helper-form-templates.php:983
1087
  msgid "March"
1088
  msgstr ""
1089
 
1090
- #: core/helpers/helper-form-templates.php:984
1091
  msgid "April"
1092
  msgstr ""
1093
 
1094
- #: core/helpers/helper-form-templates.php:985
1095
  msgid "May"
1096
  msgstr ""
1097
 
1098
- #: core/helpers/helper-form-templates.php:986
1099
  msgid "June"
1100
  msgstr ""
1101
 
1102
- #: core/helpers/helper-form-templates.php:987
1103
  msgid "July"
1104
  msgstr ""
1105
 
1106
- #: core/helpers/helper-form-templates.php:988
1107
  msgid "August"
1108
  msgstr ""
1109
 
1110
- #: core/helpers/helper-form-templates.php:989
1111
  msgid "September"
1112
  msgstr ""
1113
 
1114
- #: core/helpers/helper-form-templates.php:990
1115
  msgid "October"
1116
  msgstr ""
1117
 
1118
- #: core/helpers/helper-form-templates.php:991
1119
  msgid "November"
1120
  msgstr ""
1121
 
1122
- #: core/helpers/helper-form-templates.php:992
1123
  msgid "December"
1124
  msgstr ""
1125
 
@@ -2664,6 +2640,7 @@ msgstr ""
2664
  #: inc/templates/customize-controls/checkbox_dummy.php:7
2665
  #: inc/templates/customize-controls/email-parts-list-dummy.php:2
2666
  #: inc/templates/customize-controls/number_dummy.php:4
 
2667
  msgid "Members Only"
2668
  msgstr ""
2669
 
@@ -2802,13 +2779,10 @@ msgstr ""
2802
  msgid "Apply to all fields"
2803
  msgstr ""
2804
 
2805
- #: core/templates/parts/customize-checkbox.php:28
2806
- #: core/templates/parts/customize-checkbox.php:32
2807
- #: core/templates/parts/customize-radio.php:28
2808
- #: core/templates/parts/customize-radio.php:33
2809
- #: core/templates/parts/customize-select.php:32
2810
- #: core/templates/parts/customize-select.php:36
2811
- msgid "Choices"
2812
  msgstr ""
2813
 
2814
  #: core/templates/parts/customize-checkbox.php:29
@@ -2816,6 +2790,12 @@ msgstr ""
2816
  msgid "It doesn't look like your field has any choices yet. Want to add one? Click the \"Add Choice\" button to start."
2817
  msgstr ""
2818
 
 
 
 
 
 
 
2819
  #: core/templates/parts/customize-checkbox.php:37
2820
  #: core/templates/parts/customize-radio.php:38
2821
  #: core/templates/parts/customize-select.php:41
@@ -3003,7 +2983,7 @@ msgstr ""
3003
 
3004
  #: core/templates/parts/customize-radio.php:137
3005
  #: core/templates/parts/customize-select.php:122
3006
- #: inc/classes/class-happyforms.php:138
3007
  msgid "Max number of submissions"
3008
  msgstr ""
3009
 
@@ -3015,50 +2995,66 @@ msgstr ""
3015
  msgid "Max times the same answer is allowed"
3016
  msgstr ""
3017
 
3018
- #: inc/classes/class-happyforms.php:100
3019
  msgid "Upgrade"
3020
  msgstr ""
3021
 
3022
- #: inc/classes/class-happyforms.php:108
3023
  msgid "Shuffle order of fields"
3024
  msgstr ""
3025
 
3026
- #: inc/classes/class-happyforms.php:114
3027
  msgid "Use reCAPTCHA"
3028
  msgstr ""
3029
 
3030
- #: inc/classes/class-happyforms.php:120
3031
  msgid "Save incomplete and abandoned submissions"
3032
  msgstr ""
3033
 
3034
- #: inc/classes/class-happyforms.php:126
3035
  msgid "Let submitters save a draft for set number of days"
3036
  msgstr ""
3037
 
3038
- #: inc/classes/class-happyforms.php:132
3039
  msgid "Require submitters to review a submission"
3040
  msgstr ""
3041
 
3042
- #: inc/classes/class-happyforms.php:144
3043
  msgid "Erase submitter's personal data after set number of days"
3044
  msgstr ""
3045
 
3046
- #: inc/classes/class-happyforms.php:150
3047
  msgid "Show an error message if field contains words in Disallowed Comment Keys"
3048
  msgstr ""
3049
 
3050
- #: inc/classes/class-happyforms.php:160
3051
  msgid "Include reply link"
3052
  msgstr ""
3053
 
3054
- #: inc/classes/class-happyforms.php:166
3055
  msgid "Include referral web address"
3056
  msgstr ""
3057
 
3058
- #: inc/classes/class-happyforms.php:178
3059
  msgid "Send abandonment email"
3060
  msgstr ""
3061
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3062
  #: inc/classes/class-message-admin.php:59
3063
  #: inc/classes/class-message-controller.php:562
3064
  msgid "Submission"
@@ -3185,14 +3181,6 @@ msgstr ""
3185
  msgid "For adding helper text, notes and formatted messages."
3186
  msgstr ""
3187
 
3188
- #: inc/classes/parts/class-part-poll-dummy.php:8
3189
- msgid "Poll"
3190
- msgstr ""
3191
-
3192
- #: inc/classes/parts/class-part-poll-dummy.php:9
3193
- msgid "For collecting opinions and showing published results in a bar chart."
3194
- msgstr ""
3195
-
3196
  #: inc/classes/parts/class-part-rating-dummy.php:8
3197
  msgid "Rate"
3198
  msgstr ""
@@ -3245,70 +3233,124 @@ msgstr ""
3245
  msgid "For collecting formatted site or page addresses (URL)."
3246
  msgstr ""
3247
 
3248
- #: integrations/classes/class-integrations-page-controller.php:26
3249
  msgid "ActiveCampaign"
3250
  msgstr ""
3251
 
3252
- #: integrations/classes/class-integrations-page-controller.php:27
3253
  msgid "AWeber"
3254
  msgstr ""
3255
 
3256
- #: integrations/classes/class-integrations-page-controller.php:28
3257
  msgid "Constant Contact"
3258
  msgstr ""
3259
 
3260
- #: integrations/classes/class-integrations-page-controller.php:29
3261
  msgid "ConvertKit"
3262
  msgstr ""
3263
 
3264
- #: integrations/classes/class-integrations-page-controller.php:30
3265
  msgid "Mailchimp"
3266
  msgstr ""
3267
 
3268
- #: integrations/classes/class-integrations-page-controller.php:31
3269
  msgid "MailerLite"
3270
  msgstr ""
3271
 
3272
- #: integrations/classes/class-integrations-page-controller.php:32
3273
  msgid "SendFox"
3274
  msgstr ""
3275
 
3276
- #: integrations/classes/class-integrations-page-controller.php:33
3277
  msgid "SendGrid"
3278
  msgstr ""
3279
 
3280
- #: integrations/classes/class-integrations-page-controller.php:34
3281
  msgid "Sendinblue"
3282
  msgstr ""
3283
 
3284
- #: integrations/classes/class-integrations-page-controller.php:35
3285
  msgid "reCAPTCHA"
3286
  msgstr ""
3287
 
3288
- #: integrations/classes/class-integrations-page-controller.php:36
3289
  msgid "Stripe"
3290
  msgstr ""
3291
 
3292
- #: integrations/classes/class-integrations-page-controller.php:37
3293
  msgid "PayPal"
3294
  msgstr ""
3295
 
3296
- #: integrations/classes/class-integrations-page-controller.php:38
3297
  msgid "Zapier"
3298
  msgstr ""
3299
 
3300
- #: integrations/classes/class-integrations-page-controller.php:39
3301
  msgid "Integromat"
3302
  msgstr ""
3303
 
3304
- #: integrations/classes/class-integrations-page-controller.php:40
3305
  msgid "Integrately"
3306
  msgstr ""
3307
 
3308
- #: integrations/classes/class-integrations-page-controller.php:41
3309
  msgid "Google Analytics"
3310
  msgstr ""
3311
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3312
  #: integrations/templates/widget-active-campaign-dummy.php:5
3313
  #: integrations/templates/widget-constant-contact-dummy.php:5
3314
  msgid "API URL"
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.17.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-08-11T10:54:16+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"
149
  msgid "All Forms"
150
  msgstr ""
151
 
152
+ #: core/classes/class-form-controller.php:641
 
 
 
 
153
  msgid " Copy"
154
  msgstr ""
155
 
170
  msgstr ""
171
 
172
  #: core/classes/class-form-email.php:106
173
+ #: inc/classes/class-happyforms.php:170
174
  msgid "To email address"
175
  msgstr ""
176
 
534
  msgid "Full width"
535
  msgstr ""
536
 
537
+ #: core/classes/class-form-styles.php:502
538
  msgid "General"
539
  msgstr ""
540
 
541
+ #: core/classes/class-form-styles.php:507
542
+ #: core/classes/class-form-styles.php:772
543
  #: core/templates/partials/customize-field-width.php:2
544
  msgid "Width"
545
  msgstr ""
546
 
547
+ #: core/classes/class-form-styles.php:512
548
+ #: core/classes/class-form-styles.php:777
549
  msgid "Padding"
550
  msgstr ""
551
 
552
+ #: core/classes/class-form-styles.php:517
553
  msgid "Direction"
554
  msgstr ""
555
 
556
+ #: core/classes/class-form-styles.php:523
557
+ #: core/classes/class-form-styles.php:608
558
+ #: core/classes/class-form-styles.php:678
559
+ #: core/classes/class-form-styles.php:803
560
  msgid "Colors"
561
  msgstr ""
562
 
563
+ #: core/classes/class-form-styles.php:527
564
  msgid "Primary"
565
  msgstr ""
566
 
567
+ #: core/classes/class-form-styles.php:532
568
  msgid "Success message background"
569
  msgstr ""
570
 
571
+ #: core/classes/class-form-styles.php:537
572
  msgid "Success message text"
573
  msgstr ""
574
 
575
+ #: core/classes/class-form-styles.php:542
576
  msgid "Validation message text"
577
  msgstr ""
578
 
579
+ #: core/classes/class-form-styles.php:547
580
  msgid "Error message background"
581
  msgstr ""
582
 
583
+ #: core/classes/class-form-styles.php:552
584
  msgid "Error message text"
585
  msgstr ""
586
 
587
+ #: core/classes/class-form-styles.php:557
588
  #: inc/classes/parts/class-part-title-dummy.php:8
589
  msgid "Title"
590
  msgstr ""
591
 
592
+ #: core/classes/class-form-styles.php:562
593
  msgid "Display"
594
  msgstr ""
595
 
596
+ #: core/classes/class-form-styles.php:567
597
+ #: core/classes/class-form-styles.php:792
598
  msgid "Alignment"
599
  msgstr ""
600
 
601
+ #: core/classes/class-form-styles.php:572
602
+ #: core/classes/class-form-styles.php:782
603
  msgid "Font size"
604
  msgstr ""
605
 
606
+ #: core/classes/class-form-styles.php:577
607
  msgid "Field borders & spacing"
608
  msgstr ""
609
 
610
+ #: core/classes/class-form-styles.php:582
611
+ #: core/classes/class-form-styles.php:612
612
+ #: core/classes/class-form-styles.php:762
613
+ #: core/classes/class-form-styles.php:817
614
  msgid "Border"
615
  msgstr ""
616
 
617
+ #: core/classes/class-form-styles.php:587
618
  msgid "Border location"
619
  msgstr ""
620
 
621
+ #: core/classes/class-form-styles.php:592
622
+ #: core/classes/class-form-styles.php:767
623
  msgid "Border radius"
624
  msgstr ""
625
 
626
+ #: core/classes/class-form-styles.php:597
627
  msgid "Outer spacing"
628
  msgstr ""
629
 
630
+ #: core/classes/class-form-styles.php:602
631
  msgid "Inner spacing"
632
  msgstr ""
633
 
634
+ #: core/classes/class-form-styles.php:617
635
  msgid "Border on focus"
636
  msgstr ""
637
 
638
+ #: core/classes/class-form-styles.php:622
639
+ #: core/classes/class-form-styles.php:712
640
+ #: core/classes/class-form-styles.php:807
 
641
  msgid "Background"
642
  msgstr ""
643
 
644
+ #: core/classes/class-form-styles.php:627
645
+ #: core/classes/class-form-styles.php:722
646
+ #: core/classes/class-form-styles.php:812
 
647
  msgid "Background on focus"
648
  msgstr ""
649
 
650
+ #: core/classes/class-form-styles.php:632
651
  msgid "Field labels & text"
652
  msgstr ""
653
 
654
+ #: core/classes/class-form-styles.php:637
655
  msgid "Toggle placeholder on field focus"
656
  msgstr ""
657
 
658
+ #: core/classes/class-form-styles.php:642
659
  msgid "Label alignment"
660
  msgstr ""
661
 
662
+ #: core/classes/class-form-styles.php:647
663
  msgid "Label font size"
664
  msgstr ""
665
 
666
+ #: core/classes/class-form-styles.php:652
667
  msgid "Label font weight"
668
  msgstr ""
669
 
670
+ #: core/classes/class-form-styles.php:657
671
  msgid "Hint alignment"
672
  msgstr ""
673
 
674
+ #: core/classes/class-form-styles.php:662
675
  msgid "Hint font size"
676
  msgstr ""
677
 
678
+ #: core/classes/class-form-styles.php:667
679
  msgid "Placeholder &amp; value alignment"
680
  msgstr ""
681
 
682
+ #: core/classes/class-form-styles.php:672
683
  msgid "Value font size"
684
  msgstr ""
685
 
686
+ #: core/classes/class-form-styles.php:682
687
  #: core/templates/parts/customize-checkbox.php:4
688
  #: core/templates/parts/customize-checkbox.php:139
689
  #: core/templates/parts/customize-checkbox.php:184
700
  msgid "Label"
701
  msgstr ""
702
 
703
+ #: core/classes/class-form-styles.php:687
704
  msgid "Value"
705
  msgstr ""
706
 
707
+ #: core/classes/class-form-styles.php:692
708
  #: core/templates/parts/customize-email.php:20
709
  #: core/templates/parts/customize-multi-line-text.php:20
710
  #: core/templates/parts/customize-number.php:20
713
  msgid "Placeholder"
714
  msgstr ""
715
 
716
+ #: core/classes/class-form-styles.php:697
717
  #: core/templates/parts/customize-checkbox.php:20
718
  #: core/templates/parts/customize-checkbox.php:145
719
  #: core/templates/parts/customize-email.php:28
726
  msgid "Hint"
727
  msgstr ""
728
 
729
+ #: core/classes/class-form-styles.php:702
730
  msgid "Address dropdowns"
731
  msgstr ""
732
 
733
+ #: core/classes/class-form-styles.php:708
734
  msgid "Items"
735
  msgstr ""
736
 
737
+ #: core/classes/class-form-styles.php:717
738
+ #: core/classes/class-form-styles.php:822
739
  #: core/classes/parts/class-part-single-line-text.php:8
740
  msgid "Text"
741
  msgstr ""
742
 
743
+ #: core/classes/class-form-styles.php:727
744
  msgid "Text focused"
745
  msgstr ""
746
 
747
+ #: core/classes/class-form-styles.php:732
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
748
  msgid "Tables"
749
  msgstr ""
750
 
751
+ #: core/classes/class-form-styles.php:737
752
  msgid "Odd row primary"
753
  msgstr ""
754
 
755
+ #: core/classes/class-form-styles.php:742
756
  msgid "Odd row secondary"
757
  msgstr ""
758
 
759
+ #: core/classes/class-form-styles.php:747
760
  msgid "Even row primary"
761
  msgstr ""
762
 
763
+ #: core/classes/class-form-styles.php:752
764
  msgid "Even row secondary"
765
  msgstr ""
766
 
767
+ #: core/classes/class-form-styles.php:757
 
 
 
 
 
 
 
 
768
  msgid "Submit button"
769
  msgstr ""
770
 
771
+ #: core/classes/class-form-styles.php:787
772
  msgid "Font weight"
773
  msgstr ""
774
 
775
+ #: core/classes/class-form-styles.php:797
776
  msgid "Make button a field of last input"
777
  msgstr ""
778
 
779
+ #: core/classes/class-form-styles.php:827
780
  msgid "Text on focus"
781
  msgstr ""
782
 
783
+ #: core/classes/class-form-styles.php:839
784
  msgid "Add your own CSS code here to customize the appearance of your form."
785
  msgstr ""
786
 
787
+ #: core/classes/class-form-styles.php:841
788
  msgid "For each rule you add, we'll prepend your form's HTML ID. This makes sure all styles added will only apply to this form. For example %s becomes %s."
789
  msgstr ""
790
 
791
+ #: core/classes/class-form-styles.php:849
792
  msgid "The edit field automatically highlights code syntax. You can disable this in your <a href=\"%s\" class=\"%s\" target=\"_blank\">user profile</a> to work in plain text mode."
793
  msgstr ""
794
 
795
+ #: core/classes/class-form-styles.php:857
796
+ #: core/classes/class-form-styles.php:867
797
  msgid "Additional CSS"
798
  msgstr ""
799
 
805
 
806
  #: core/classes/class-happyforms-core.php:219
807
  #: core/classes/class-happyforms-core.php:220
808
+ #: integrations/templates/admin-coupons.php:2
809
+ msgid "Coupons"
810
  msgstr ""
811
 
812
  #: core/classes/class-happyforms-core.php:228
813
  #: core/classes/class-happyforms-core.php:229
814
+ #: integrations/templates/admin-integrations.php:3
815
+ msgid "Integrations"
816
+ msgstr ""
817
+
818
+ #: core/classes/class-happyforms-core.php:237
819
+ #: core/classes/class-happyforms-core.php:238
820
  #: core/assets/jsx/build/admin/block.js:173
821
  msgid "Settings"
822
  msgstr ""
823
 
824
+ #: core/classes/class-happyforms-core.php:479
825
  msgid "Add Form"
826
  msgstr ""
827
 
1047
  msgid "Leave this field blank"
1048
  msgstr ""
1049
 
1050
+ #: core/helpers/helper-form-templates.php:470
1051
+ msgid "(no title)"
1052
+ msgstr ""
1053
+
1054
+ #: core/helpers/helper-form-templates.php:997
1055
  msgid "January"
1056
  msgstr ""
1057
 
1058
+ #: core/helpers/helper-form-templates.php:998
1059
  msgid "February"
1060
  msgstr ""
1061
 
1062
+ #: core/helpers/helper-form-templates.php:999
1063
  msgid "March"
1064
  msgstr ""
1065
 
1066
+ #: core/helpers/helper-form-templates.php:1000
1067
  msgid "April"
1068
  msgstr ""
1069
 
1070
+ #: core/helpers/helper-form-templates.php:1001
1071
  msgid "May"
1072
  msgstr ""
1073
 
1074
+ #: core/helpers/helper-form-templates.php:1002
1075
  msgid "June"
1076
  msgstr ""
1077
 
1078
+ #: core/helpers/helper-form-templates.php:1003
1079
  msgid "July"
1080
  msgstr ""
1081
 
1082
+ #: core/helpers/helper-form-templates.php:1004
1083
  msgid "August"
1084
  msgstr ""
1085
 
1086
+ #: core/helpers/helper-form-templates.php:1005
1087
  msgid "September"
1088
  msgstr ""
1089
 
1090
+ #: core/helpers/helper-form-templates.php:1006
1091
  msgid "October"
1092
  msgstr ""
1093
 
1094
+ #: core/helpers/helper-form-templates.php:1007
1095
  msgid "November"
1096
  msgstr ""
1097
 
1098
+ #: core/helpers/helper-form-templates.php:1008
1099
  msgid "December"
1100
  msgstr ""
1101
 
2640
  #: inc/templates/customize-controls/checkbox_dummy.php:7
2641
  #: inc/templates/customize-controls/email-parts-list-dummy.php:2
2642
  #: inc/templates/customize-controls/number_dummy.php:4
2643
+ #: inc/templates/customize-controls/panel_dummy.php:3
2644
  msgid "Members Only"
2645
  msgstr ""
2646
 
2779
  msgid "Apply to all fields"
2780
  msgstr ""
2781
 
2782
+ #: core/templates/parts/customize-checkbox.php:27
2783
+ #: core/templates/parts/customize-radio.php:27
2784
+ #: core/templates/parts/customize-select.php:31
2785
+ msgid "List"
 
 
 
2786
  msgstr ""
2787
 
2788
  #: core/templates/parts/customize-checkbox.php:29
2790
  msgid "It doesn't look like your field has any choices yet. Want to add one? Click the \"Add Choice\" button to start."
2791
  msgstr ""
2792
 
2793
+ #: core/templates/parts/customize-checkbox.php:32
2794
+ #: core/templates/parts/customize-radio.php:33
2795
+ #: core/templates/parts/customize-select.php:36
2796
+ msgid "Choices"
2797
+ msgstr ""
2798
+
2799
  #: core/templates/parts/customize-checkbox.php:37
2800
  #: core/templates/parts/customize-radio.php:38
2801
  #: core/templates/parts/customize-select.php:41
2983
 
2984
  #: core/templates/parts/customize-radio.php:137
2985
  #: core/templates/parts/customize-select.php:122
2986
+ #: inc/classes/class-happyforms.php:136
2987
  msgid "Max number of submissions"
2988
  msgstr ""
2989
 
2995
  msgid "Max times the same answer is allowed"
2996
  msgstr ""
2997
 
2998
+ #: inc/classes/class-happyforms.php:98
2999
  msgid "Upgrade"
3000
  msgstr ""
3001
 
3002
+ #: inc/classes/class-happyforms.php:106
3003
  msgid "Shuffle order of fields"
3004
  msgstr ""
3005
 
3006
+ #: inc/classes/class-happyforms.php:112
3007
  msgid "Use reCAPTCHA"
3008
  msgstr ""
3009
 
3010
+ #: inc/classes/class-happyforms.php:118
3011
  msgid "Save incomplete and abandoned submissions"
3012
  msgstr ""
3013
 
3014
+ #: inc/classes/class-happyforms.php:124
3015
  msgid "Let submitters save a draft for set number of days"
3016
  msgstr ""
3017
 
3018
+ #: inc/classes/class-happyforms.php:130
3019
  msgid "Require submitters to review a submission"
3020
  msgstr ""
3021
 
3022
+ #: inc/classes/class-happyforms.php:142
3023
  msgid "Erase submitter's personal data after set number of days"
3024
  msgstr ""
3025
 
3026
+ #: inc/classes/class-happyforms.php:148
3027
  msgid "Show an error message if field contains words in Disallowed Comment Keys"
3028
  msgstr ""
3029
 
3030
+ #: inc/classes/class-happyforms.php:158
3031
  msgid "Include reply link"
3032
  msgstr ""
3033
 
3034
+ #: inc/classes/class-happyforms.php:164
3035
  msgid "Include referral web address"
3036
  msgstr ""
3037
 
3038
+ #: inc/classes/class-happyforms.php:176
3039
  msgid "Send abandonment email"
3040
  msgstr ""
3041
 
3042
+ #: inc/classes/class-happyforms.php:186
3043
+ msgid "Checkboxes & Radios"
3044
+ msgstr ""
3045
+
3046
+ #: inc/classes/class-happyforms.php:192
3047
+ msgid "Rating"
3048
+ msgstr ""
3049
+
3050
+ #: inc/classes/class-happyforms.php:198
3051
+ msgid "Separators"
3052
+ msgstr ""
3053
+
3054
+ #: inc/classes/class-happyforms.php:204
3055
+ msgid "Multi Step"
3056
+ msgstr ""
3057
+
3058
  #: inc/classes/class-message-admin.php:59
3059
  #: inc/classes/class-message-controller.php:562
3060
  msgid "Submission"
3181
  msgid "For adding helper text, notes and formatted messages."
3182
  msgstr ""
3183
 
 
 
 
 
 
 
 
 
3184
  #: inc/classes/parts/class-part-rating-dummy.php:8
3185
  msgid "Rate"
3186
  msgstr ""
3233
  msgid "For collecting formatted site or page addresses (URL)."
3234
  msgstr ""
3235
 
3236
+ #: integrations/classes/class-integrations-page-controller.php:29
3237
  msgid "ActiveCampaign"
3238
  msgstr ""
3239
 
3240
+ #: integrations/classes/class-integrations-page-controller.php:30
3241
  msgid "AWeber"
3242
  msgstr ""
3243
 
3244
+ #: integrations/classes/class-integrations-page-controller.php:31
3245
  msgid "Constant Contact"
3246
  msgstr ""
3247
 
3248
+ #: integrations/classes/class-integrations-page-controller.php:32
3249
  msgid "ConvertKit"
3250
  msgstr ""
3251
 
3252
+ #: integrations/classes/class-integrations-page-controller.php:33
3253
  msgid "Mailchimp"
3254
  msgstr ""
3255
 
3256
+ #: integrations/classes/class-integrations-page-controller.php:34
3257
  msgid "MailerLite"
3258
  msgstr ""
3259
 
3260
+ #: integrations/classes/class-integrations-page-controller.php:35
3261
  msgid "SendFox"
3262
  msgstr ""
3263
 
3264
+ #: integrations/classes/class-integrations-page-controller.php:36
3265
  msgid "SendGrid"
3266
  msgstr ""
3267
 
3268
+ #: integrations/classes/class-integrations-page-controller.php:37
3269
  msgid "Sendinblue"
3270
  msgstr ""
3271
 
3272
+ #: integrations/classes/class-integrations-page-controller.php:38
3273
  msgid "reCAPTCHA"
3274
  msgstr ""
3275
 
3276
+ #: integrations/classes/class-integrations-page-controller.php:39
3277
  msgid "Stripe"
3278
  msgstr ""
3279
 
3280
+ #: integrations/classes/class-integrations-page-controller.php:40
3281
  msgid "PayPal"
3282
  msgstr ""
3283
 
3284
+ #: integrations/classes/class-integrations-page-controller.php:41
3285
  msgid "Zapier"
3286
  msgstr ""
3287
 
3288
+ #: integrations/classes/class-integrations-page-controller.php:42
3289
  msgid "Integromat"
3290
  msgstr ""
3291
 
3292
+ #: integrations/classes/class-integrations-page-controller.php:43
3293
  msgid "Integrately"
3294
  msgstr ""
3295
 
3296
+ #: integrations/classes/class-integrations-page-controller.php:44
3297
  msgid "Google Analytics"
3298
  msgstr ""
3299
 
3300
+ #: integrations/templates/admin-coupons.php:9
3301
+ #: integrations/templates/admin-coupons.php:38
3302
+ msgid "Add New Coupon"
3303
+ msgstr ""
3304
+
3305
+ #: integrations/templates/admin-coupons.php:11
3306
+ #: integrations/templates/admin-coupons.php:53
3307
+ #: integrations/templates/admin-coupons.php:75
3308
+ msgid "Name"
3309
+ msgstr ""
3310
+
3311
+ #: integrations/templates/admin-coupons.php:13
3312
+ msgid "This is what will be applied by the submitter to receive a discount. The coupon must be unique and contain no spaces."
3313
+ msgstr ""
3314
+
3315
+ #: integrations/templates/admin-coupons.php:16
3316
+ msgid "Discount Type"
3317
+ msgstr ""
3318
+
3319
+ #: integrations/templates/admin-coupons.php:20
3320
+ msgid "Fixed"
3321
+ msgstr ""
3322
+
3323
+ #: integrations/templates/admin-coupons.php:23
3324
+ msgid "Percentage"
3325
+ msgstr ""
3326
+
3327
+ #: integrations/templates/admin-coupons.php:28
3328
+ msgid "Discount Amount"
3329
+ msgstr ""
3330
+
3331
+ #: integrations/templates/admin-coupons.php:30
3332
+ msgid "This amount automatically converts to whatever currency the form uses. For example, if this amount is &#8220;5&#8221; and the form uses dollars, the discount is $5. If the form uses euro, the discount is €5."
3333
+ msgstr ""
3334
+
3335
+ #: integrations/templates/admin-coupons.php:33
3336
+ #: integrations/templates/admin-coupons.php:56
3337
+ #: integrations/templates/admin-coupons.php:78
3338
+ msgid "Description"
3339
+ msgstr ""
3340
+
3341
+ #: integrations/templates/admin-coupons.php:35
3342
+ msgid "This will not be seen by submitters."
3343
+ msgstr ""
3344
+
3345
+ #: integrations/templates/admin-coupons.php:59
3346
+ #: integrations/templates/admin-coupons.php:81
3347
+ msgid "Redemptions"
3348
+ msgstr ""
3349
+
3350
+ #: integrations/templates/admin-coupons.php:65
3351
+ msgid "No coupons found."
3352
+ msgstr ""
3353
+
3354
  #: integrations/templates/widget-active-campaign-dummy.php:5
3355
  #: integrations/templates/widget-constant-contact-dummy.php:5
3356
  msgid "API URL"
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.16.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -13,8 +13,6 @@ The WordPress form builder you need to manage and respond to conversations with
13
 
14
  == Description ==
15
 
16
- https://www.youtube.com/watch?v=X1snk2vJbXI
17
-
18
  [Happyforms](https://happyforms.io/) is the simplest way for you to manage and respond to conversations with your website visitors. With over 10 years of experience here at The Theme Foundry, we’ve heard from nearly 1,000,000 businesses what they need from a contact form builder plugin! We've heard about the wasted time trying to set up tricky forms; the frustration of emails not being delivered; and the let down of not hearing from leads. That’s why we created Happyforms: Your free and friendly drag and drop form builder for creating contact forms, lead generation forms, feedback forms, quote forms, survey forms and more! Happyforms is optimized to increase conversations with your website visitors. Have peace of mind knowing messages to-and-from are getting delivered without the hassle of spam. You'll be set up and going in 5 minutes or less.
19
 
20
  [Discover all the benefits of upgrading.](https://happyforms.io/upgrade) 🚀
@@ -145,6 +143,12 @@ Aw, honestly, the thought that you're writing about our contact form builder is
145
 
146
  == Changelog ==
147
 
 
 
 
 
 
 
148
  = 1.16.1 =
149
  * New feature: "Bulk Add Choices" control for easily adding long lists of choices to Radio, Checkbox and Dropdown fields.
150
 
@@ -951,6 +955,9 @@ Aw, honestly, the thought that you're writing about our contact form builder is
951
 
952
  == Upgrade Notice ==
953
 
 
 
 
954
  = 1.16.1 =
955
  * New "Bulk Add Choices" control for Radio, Checkbox and Dropdown fields, miscellaneous improvements and bugfixes.
956
 
5
  Requires at least: 5.0
6
  Tested up to: 6.0
7
  Requires PHP: 7.0
8
+ Stable tag: 1.17.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
13
 
14
  == Description ==
15
 
 
 
16
  [Happyforms](https://happyforms.io/) is the simplest way for you to manage and respond to conversations with your website visitors. With over 10 years of experience here at The Theme Foundry, we’ve heard from nearly 1,000,000 businesses what they need from a contact form builder plugin! We've heard about the wasted time trying to set up tricky forms; the frustration of emails not being delivered; and the let down of not hearing from leads. That’s why we created Happyforms: Your free and friendly drag and drop form builder for creating contact forms, lead generation forms, feedback forms, quote forms, survey forms and more! Happyforms is optimized to increase conversations with your website visitors. Have peace of mind knowing messages to-and-from are getting delivered without the hassle of spam. You'll be set up and going in 5 minutes or less.
17
 
18
  [Discover all the benefits of upgrading.](https://happyforms.io/upgrade) 🚀
143
 
144
  == Changelog ==
145
 
146
+ = 1.17.0 =
147
+ * Improvement: All sections in Style tab are now always visible for easier access to controls.
148
+ * Improvement: Choice based fields build interface has been tidied up and made more coherent.
149
+ * Improvement: Display of untitled forms in dashboard screen is now more consistent with WordPress display of untitled posts.
150
+ * Improvement: Form styles are now packaged in a single bundle for better performance and cache friendliness.
151
+
152
  = 1.16.1 =
153
  * New feature: "Bulk Add Choices" control for easily adding long lists of choices to Radio, Checkbox and Dropdown fields.
154
 
955
 
956
  == Upgrade Notice ==
957
 
958
+ = 1.17.0 =
959
+ * Single-bundle frontend styles for better performance, builder interface improvements.
960
+
961
  = 1.16.1 =
962
  * New "Bulk Add Choices" control for Radio, Checkbox and Dropdown fields, miscellaneous improvements and bugfixes.
963