Contact Form by WPForms – Drag & Drop Form Builder for WordPress - Version 1.2.1

Version Description

  • Added: Drag and drop field buttons - simply drag the desired field to the form!
  • Added: Choice Layout option for Checkboxes and Multiple Choice fields (under Advanced Options)
  • Added: Full and expanded column class/grid support
  • Changed: Refactored CSS column classes, previous classes are deprecated
  • Fixed: Form ending with column classes not closing correctly
  • Fixed: reCAPTCHA button overlaying submit button preventing it from being clicked
Download this release

Release Info

Developer jaredatch
Plugin Icon 128x128 Contact Form by WPForms – Drag & Drop Form Builder for WordPress
Version 1.2.1
Comparing to
See all releases

Code changes from version 1.2.0.1 to 1.2.1

assets/css/admin-builder-fields.css CHANGED
@@ -50,7 +50,8 @@
50
  position: fixed;
51
  top: 125px;
52
  left: 95px;
53
- width: 400px
 
54
  }
55
 
56
  #wpforms-panel-fields .wpforms-tabs li {
@@ -264,6 +265,21 @@
264
  font-size: 12px;
265
  }
266
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
267
  /* Field Option groups (Basic, Advanced, Conditionals, etc) */
268
  #wpforms-panel-fields .wpforms-field-option-group-toggle {
269
  color: #444;
@@ -415,12 +431,6 @@
415
  display: none;
416
  }
417
 
418
- /* Pagebreak */
419
-
420
- #wpforms-panel-fields .wpforms-field-option-pagebreak.first .wpforms-field-option-row-prev {
421
- display: none
422
- }
423
-
424
  /* Payment Multiple Items */
425
 
426
  #wpforms-panel-fields .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices li input[type=text] {
@@ -462,11 +472,15 @@
462
  #wpforms-panel-fields .wpforms-field {
463
  border: 1px solid #fff;
464
  padding: 10px;
465
- margin: 0 0 10px 0;
466
  font-size:14px;
467
  position: relative;
468
  }
469
 
 
 
 
 
470
  #wpforms-panel-fields .wpforms-field .wpforms-field-row {
471
  margin: 0 0 10px 0;
472
  position: relative;
@@ -519,6 +533,11 @@
519
  opacity: 1;
520
  }
521
 
 
 
 
 
 
522
  #wpforms-panel-fields .wpforms-field input[readonly],
523
  #wpforms-panel-fields .wpforms-field input[disabled],
524
  #wpforms-panel-fields .wpforms-field textarea[readonly],
@@ -797,12 +816,12 @@
797
  }
798
 
799
  /* Page break field */
800
- #wpforms-panel-fields .wpforms-pagebreak-buttons {
801
  text-align: center;
802
- margin: 0 0 30px 0;
803
  }
804
 
805
- #wpforms-panel-fields .wpforms-pagebreak-button {
806
  font-size: 14px;
807
  background: #ddd;
808
  border: none;
@@ -813,39 +832,38 @@
813
  display: inline-block;
814
  }
815
 
 
 
 
 
 
 
816
  #wpforms-panel-fields .wpforms-field-pagebreak .line {
817
  display: block;
818
  border-top: 1px dashed #aaa;
819
- margin: 20px 0;
 
 
 
820
  }
821
 
822
  #wpforms-panel-fields .wpforms-field-pagebreak.active .pagebreak-label {
823
  background-color: #f6f9fc;
824
  }
825
 
826
- #wpforms-panel-fields .wpforms-field-pagebreak.first .wpforms-pagebreak-prev {
827
- display: none;
828
- }
829
-
830
  #wpforms-panel-fields .wpforms-field-pagebreak .pagebreak-label {
831
- position: absolute;
832
- left: 50%;
833
- margin-left: -50px;
834
- top: -10px;
835
- width: 100px;
836
- text-align: center;
837
  font-size: 14px;
838
  font-weight: 600;
839
  background-color: #fff;
 
 
 
 
840
  }
841
 
842
- #wpforms-panel-fields .wpforms-field-pagebreak-last {
843
- text-align: center;
844
- display: none;
845
- }
846
-
847
- #wpforms-panel-fields .wpforms-field-pagebreak-last button {
848
- cursor: pointer;
849
  }
850
 
851
  /* Payment single field */
@@ -887,8 +905,6 @@
887
  width: 100%;
888
  }
889
 
890
-
891
-
892
  #wpforms-panel-fields .wpforms-field-credit-card .format-selected,
893
  #wpforms-panel-fields .wpforms-field-credit-card.size-medium .format-selected {
894
  width: 65%;
@@ -938,6 +954,32 @@
938
  padding-top: 8px;
939
  }
940
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
941
 
942
  /* Captchas and submit */
943
  #wpforms-panel-fields .wpforms-field-recaptcha {
@@ -957,4 +999,43 @@
957
  padding: 8px 20px;
958
  color: #000;
959
  cursor: pointer;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
960
  }
50
  position: fixed;
51
  top: 125px;
52
  left: 95px;
53
+ width: 400px;
54
+ z-index: 10;
55
  }
56
 
57
  #wpforms-panel-fields .wpforms-tabs li {
265
  font-size: 12px;
266
  }
267
 
268
+ /* Color picker */
269
+ #wpforms-panel-fields .wpforms-field-option-row.color-picker-row {
270
+ overflow: visible;
271
+ }
272
+
273
+ #wpforms-panel-fields .wpforms-field-option-row .wpforms-color-picker {
274
+ height: auto;
275
+ padding-left: 30px !important;
276
+ }
277
+
278
+ #wpforms-panel-fields .color-picker-row .minicolors-theme-default .minicolors-swatch {
279
+ height: 24px
280
+ }
281
+
282
+
283
  /* Field Option groups (Basic, Advanced, Conditionals, etc) */
284
  #wpforms-panel-fields .wpforms-field-option-group-toggle {
285
  color: #444;
431
  display: none;
432
  }
433
 
 
 
 
 
 
 
434
  /* Payment Multiple Items */
435
 
436
  #wpforms-panel-fields .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices li input[type=text] {
472
  #wpforms-panel-fields .wpforms-field {
473
  border: 1px solid #fff;
474
  padding: 10px;
475
+ margin: 0 0 5px 0;
476
  font-size:14px;
477
  position: relative;
478
  }
479
 
480
+ #wpforms-panel-fields .wpforms-field.wpforms-field-stick {
481
+ cursor: default;
482
+ }
483
+
484
  #wpforms-panel-fields .wpforms-field .wpforms-field-row {
485
  margin: 0 0 10px 0;
486
  position: relative;
533
  opacity: 1;
534
  }
535
 
536
+ #wpforms-panel-fields .wpforms-field.wpforms-field-stick .wpforms-field-delete,
537
+ #wpforms-panel-fields .wpforms-field.wpforms-field-stick .wpforms-field-helper {
538
+ display: none !important;
539
+ }
540
+
541
  #wpforms-panel-fields .wpforms-field input[readonly],
542
  #wpforms-panel-fields .wpforms-field input[disabled],
543
  #wpforms-panel-fields .wpforms-field textarea[readonly],
816
  }
817
 
818
  /* Page break field */
819
+ #wpforms-panel-fields .wpforms-field-pagebreak .wpforms-pagebreak-buttons {
820
  text-align: center;
821
+ margin: 0 0 22px 0;
822
  }
823
 
824
+ #wpforms-panel-fields .wpforms-field-pagebreak .wpforms-pagebreak-button {
825
  font-size: 14px;
826
  background: #ddd;
827
  border: none;
832
  display: inline-block;
833
  }
834
 
835
+ #wpforms-panel-fields .wpforms-field-pagebreak .wpforms-pagebreak-divider {
836
+ position: relative;
837
+ height: 30px;
838
+ text-align: center;
839
+ }
840
+
841
  #wpforms-panel-fields .wpforms-field-pagebreak .line {
842
  display: block;
843
  border-top: 1px dashed #aaa;
844
+ position: absolute;
845
+ top: 50%;
846
+ left: 0;
847
+ width: 100%;
848
  }
849
 
850
  #wpforms-panel-fields .wpforms-field-pagebreak.active .pagebreak-label {
851
  background-color: #f6f9fc;
852
  }
853
 
 
 
 
 
854
  #wpforms-panel-fields .wpforms-field-pagebreak .pagebreak-label {
 
 
 
 
 
 
855
  font-size: 14px;
856
  font-weight: 600;
857
  background-color: #fff;
858
+ position: relative;
859
+ padding: 5px 10px;
860
+ display: inline-block;
861
+ z-index: 2;
862
  }
863
 
864
+ #wpforms-panel-fields .wpforms-field-pagebreak .wpforms-pagebreak-title {
865
+ font-weight: 400;
866
+ color: #999;
 
 
 
 
867
  }
868
 
869
  /* Payment single field */
905
  width: 100%;
906
  }
907
 
 
 
908
  #wpforms-panel-fields .wpforms-field-credit-card .format-selected,
909
  #wpforms-panel-fields .wpforms-field-credit-card.size-medium .format-selected {
910
  width: 65%;
954
  padding-top: 8px;
955
  }
956
 
957
+ /* Choice input layouts */
958
+ #wpforms-panel-fields ul.primary-input {
959
+ margin-bottom: 0;
960
+ }
961
+
962
+ #wpforms-panel-fields .wpforms-list-2-columns ul {
963
+ -webkit-column-count: 2;
964
+ -moz-column-count: 2;
965
+ column-count: 2;
966
+ }
967
+
968
+ #wpforms-panel-fields .wpforms-list-3-columns ul {
969
+ -webkit-column-count: 3;
970
+ -moz-column-count: 3;
971
+ column-count: 3;
972
+ }
973
+
974
+ #wpforms-panel-fields .wpforms-list-2-columns ul li,
975
+ #wpforms-panel-fields .wpforms-list-3-columns ul li {
976
+ -webkit-column-break-inside: avoid;
977
+ page-break-inside: avoid; /* Firefox */
978
+ break-inside: avoid; /* IE 10+ */
979
+ width: 100%;
980
+ float: left;
981
+ }
982
+
983
 
984
  /* Captchas and submit */
985
  #wpforms-panel-fields .wpforms-field-recaptcha {
999
  padding: 8px 20px;
1000
  color: #000;
1001
  cursor: pointer;
1002
+ }
1003
+
1004
+ /* Drag and Drop */
1005
+
1006
+ #wpforms-panel-fields .wpforms-field-dragging {
1007
+ background-color: #f5f5f5;
1008
+ }
1009
+
1010
+ #wpforms-panel-fields .wpforms-field-drag-out {
1011
+ display: block;
1012
+ width: 48%;
1013
+ margin: 0;
1014
+ background: #0e6cad;
1015
+ border: none;
1016
+ color: #fff;
1017
+ padding: 12px 5px 12px 18px;
1018
+ border-radius: 2px;
1019
+ text-align: left;
1020
+ }
1021
+
1022
+ #wpforms-panel-fields .wpforms-field-drag-over {
1023
+ border: 1px dashed #ddd;
1024
+ padding: 20px 10px;
1025
+ margin: 0 0 10px 0;
1026
+ font-size: 14px;
1027
+ width: 100%;
1028
+ color: #444;
1029
+ text-align: center;
1030
+ }
1031
+
1032
+ #wpforms-panel-fields .wpforms-field-drag-pending {
1033
+ background-color: #f6f9fc;
1034
+ border: 1px solid #eee;
1035
+ }
1036
+
1037
+ #wpforms-panel-fields .wpforms-field-drag-pending .fa {
1038
+ margin-left: 8px;
1039
+ font-size: 18px;
1040
+ color: #666;
1041
  }
assets/css/admin-builder-settings.css CHANGED
@@ -7,8 +7,4 @@
7
 
8
  #wpforms-panel-settings .wpforms-panel-sidebar {
9
  /**/
10
- }
11
-
12
- #wpforms-panel-field-settings-pagebreak_prev-wrap {
13
- display: none;
14
  }
7
 
8
  #wpforms-panel-settings .wpforms-panel-sidebar {
9
  /**/
 
 
 
 
10
  }
assets/css/jquery.minicolors.css ADDED
@@ -0,0 +1,327 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .minicolors {
2
+ position: relative;
3
+ }
4
+
5
+ .minicolors-sprite {
6
+ background-image: url(data:image/png;base64,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);
7
+ }
8
+
9
+ .minicolors-no-data-uris .minicolors-sprite {
10
+ background-image: url(jquery.minicolors.png);
11
+ }
12
+
13
+ .minicolors-swatch {
14
+ position: absolute;
15
+ vertical-align: middle;
16
+ background-position: -80px 0;
17
+ border: solid 1px #ccc;
18
+ cursor: text;
19
+ padding: 0;
20
+ margin: 0;
21
+ display: inline-block;
22
+ }
23
+
24
+ .minicolors-swatch-color {
25
+ position: absolute;
26
+ top: 0;
27
+ left: 0;
28
+ right: 0;
29
+ bottom: 0;
30
+ }
31
+
32
+ .minicolors input[type=hidden] + .minicolors-swatch {
33
+ width: 28px;
34
+ position: static;
35
+ cursor: pointer;
36
+ }
37
+
38
+ .minicolors input[type=hidden][disabled] + .minicolors-swatch {
39
+ cursor: default;
40
+ }
41
+
42
+ /* Panel */
43
+ .minicolors-panel {
44
+ position: absolute;
45
+ width: 173px;
46
+ height: 152px;
47
+ background: white;
48
+ border: solid 1px #CCC;
49
+ box-shadow: 0 0 20px rgba(0, 0, 0, .2);
50
+ z-index: 99999;
51
+ box-sizing: content-box;
52
+ display: none;
53
+ }
54
+
55
+ .minicolors-panel.minicolors-with-swatches {
56
+ height: 182px;
57
+ }
58
+
59
+ .minicolors-panel.minicolors-visible {
60
+ display: block;
61
+ }
62
+
63
+ /* Panel positioning */
64
+ .minicolors-position-top .minicolors-panel {
65
+ top: -154px;
66
+ }
67
+
68
+ .minicolors-position-right .minicolors-panel {
69
+ right: 0;
70
+ }
71
+
72
+ .minicolors-position-bottom .minicolors-panel {
73
+ top: auto;
74
+ }
75
+
76
+ .minicolors-position-left .minicolors-panel {
77
+ left: 0;
78
+ }
79
+
80
+ .minicolors-with-opacity .minicolors-panel {
81
+ width: 194px;
82
+ }
83
+
84
+ .minicolors .minicolors-grid {
85
+ position: absolute;
86
+ top: 1px;
87
+ left: 1px;
88
+ width: 150px;
89
+ height: 150px;
90
+ background-position: -120px 0;
91
+ cursor: crosshair;
92
+ }
93
+
94
+ .minicolors .minicolors-grid-inner {
95
+ position: absolute;
96
+ top: 0;
97
+ left: 0;
98
+ width: 150px;
99
+ height: 150px;
100
+ }
101
+
102
+ .minicolors-slider-saturation .minicolors-grid {
103
+ background-position: -420px 0;
104
+ }
105
+
106
+ .minicolors-slider-saturation .minicolors-grid-inner {
107
+ background-position: -270px 0;
108
+ background-image: inherit;
109
+ }
110
+
111
+ .minicolors-slider-brightness .minicolors-grid {
112
+ background-position: -570px 0;
113
+ }
114
+
115
+ .minicolors-slider-brightness .minicolors-grid-inner {
116
+ background-color: black;
117
+ }
118
+
119
+ .minicolors-slider-wheel .minicolors-grid {
120
+ background-position: -720px 0;
121
+ }
122
+
123
+ .minicolors-slider,
124
+ .minicolors-opacity-slider {
125
+ position: absolute;
126
+ top: 1px;
127
+ left: 152px;
128
+ width: 20px;
129
+ height: 150px;
130
+ background-color: white;
131
+ background-position: 0 0;
132
+ cursor: row-resize;
133
+ }
134
+
135
+ .minicolors-slider-saturation .minicolors-slider {
136
+ background-position: -60px 0;
137
+ }
138
+
139
+ .minicolors-slider-brightness .minicolors-slider {
140
+ background-position: -20px 0;
141
+ }
142
+
143
+ .minicolors-slider-wheel .minicolors-slider {
144
+ background-position: -20px 0;
145
+ }
146
+
147
+ .minicolors-opacity-slider {
148
+ left: 173px;
149
+ background-position: -40px 0;
150
+ display: none;
151
+ }
152
+
153
+ .minicolors-with-opacity .minicolors-opacity-slider {
154
+ display: block;
155
+ }
156
+
157
+ /* Pickers */
158
+ .minicolors-grid .minicolors-picker {
159
+ position: absolute;
160
+ top: 70px;
161
+ left: 70px;
162
+ width: 12px;
163
+ height: 12px;
164
+ border: solid 1px black;
165
+ border-radius: 10px;
166
+ margin-top: -6px;
167
+ margin-left: -6px;
168
+ background: none;
169
+ }
170
+
171
+ .minicolors-grid .minicolors-picker > div {
172
+ position: absolute;
173
+ top: 0;
174
+ left: 0;
175
+ width: 8px;
176
+ height: 8px;
177
+ border-radius: 8px;
178
+ border: solid 2px white;
179
+ box-sizing: content-box;
180
+ }
181
+
182
+ .minicolors-picker {
183
+ position: absolute;
184
+ top: 0;
185
+ left: 0;
186
+ width: 18px;
187
+ height: 2px;
188
+ background: white;
189
+ border: solid 1px black;
190
+ margin-top: -2px;
191
+ box-sizing: content-box;
192
+ }
193
+
194
+ /* Swatches */
195
+ .minicolors-swatches,.minicolors-swatches li {
196
+ margin: 0;
197
+ padding: 0;
198
+ list-style: none;
199
+ overflow: hidden;
200
+ position: absolute;
201
+ top: 157px;
202
+ left: 5px;
203
+ }
204
+
205
+ .minicolors-swatches .minicolors-swatch {
206
+ position: relative;
207
+ float: left;
208
+ cursor: pointer;
209
+ margin:0 4px 0 0;
210
+ }
211
+
212
+ .minicolors-with-opacity .minicolors-swatches .minicolors-swatch {
213
+ margin-right:7px;
214
+ }
215
+
216
+ .minicolors-swatch.selected {
217
+ border-color:#000;
218
+ }
219
+
220
+ /* Inline controls */
221
+ .minicolors-inline {
222
+ display: inline-block;
223
+ }
224
+
225
+ .minicolors-inline .minicolors-input {
226
+ display: none !important;
227
+ }
228
+
229
+ .minicolors-inline .minicolors-panel {
230
+ position: relative;
231
+ top: auto;
232
+ left: auto;
233
+ box-shadow: none;
234
+ z-index: auto;
235
+ display: inline-block;
236
+ }
237
+
238
+ /* Default theme */
239
+ .minicolors-theme-default .minicolors-swatch {
240
+ top: 5px;
241
+ left: 5px;
242
+ width: 18px;
243
+ height: 18px;
244
+ }
245
+ .minicolors-theme-default .minicolors-swatches .minicolors-swatch {
246
+ top: 0;
247
+ left: 0;
248
+ width: 18px;
249
+ height: 18px;
250
+ }
251
+ .minicolors-theme-default .minicolors-swatches {
252
+ height: 20px;
253
+ }
254
+ .minicolors-theme-default.minicolors-position-right .minicolors-swatch {
255
+ left: auto;
256
+ right: 5px;
257
+ }
258
+ .minicolors-theme-default.minicolors {
259
+ width: auto;
260
+ display: inline-block;
261
+ }
262
+ .minicolors-theme-default .minicolors-input {
263
+ height: 20px;
264
+ width: auto;
265
+ display: inline-block;
266
+ padding-left: 26px;
267
+ }
268
+ .minicolors-theme-default.minicolors-position-right .minicolors-input {
269
+ padding-right: 26px;
270
+ padding-left: inherit;
271
+ }
272
+
273
+ /* Bootstrap theme */
274
+ .minicolors-theme-bootstrap .minicolors-swatch {
275
+ z-index: 2;
276
+ top: 3px;
277
+ left: 3px;
278
+ width: 28px;
279
+ height: 28px;
280
+ border-radius: 3px;
281
+ }
282
+ .minicolors-theme-bootstrap .minicolors-swatches .minicolors-swatch {
283
+ top: 0;
284
+ left: 0;
285
+ width: 20px;
286
+ height: 20px;
287
+ }
288
+ .minicolors-theme-bootstrap .minicolors-swatch-color {
289
+ border-radius: inherit;
290
+ }
291
+ .minicolors-theme-bootstrap.minicolors-position-right .minicolors-swatch {
292
+ left: auto;
293
+ right: 3px;
294
+ }
295
+ .minicolors-theme-bootstrap .minicolors-input {
296
+ float: none;
297
+ padding-left: 44px;
298
+ }
299
+ .minicolors-theme-bootstrap.minicolors-position-right .minicolors-input {
300
+ padding-right: 44px;
301
+ padding-left: 12px;
302
+ }
303
+ .minicolors-theme-bootstrap .minicolors-input.input-lg + .minicolors-swatch {
304
+ top: 4px;
305
+ left: 4px;
306
+ width: 37px;
307
+ height: 37px;
308
+ border-radius: 5px;
309
+ }
310
+ .minicolors-theme-bootstrap .minicolors-input.input-sm + .minicolors-swatch {
311
+ width: 24px;
312
+ height: 24px;
313
+ }
314
+ .input-group .minicolors-theme-bootstrap:not(:first-child) .minicolors-input {
315
+ border-top-left-radius: 0;
316
+ border-bottom-left-radius: 0;
317
+ }
318
+
319
+ /* Semantic Ui theme */
320
+ .minicolors-theme-semanticui .minicolors-swatch {
321
+ top: 0;
322
+ left: 0;
323
+ padding: 18px;
324
+ }
325
+ .minicolors-theme-semanticui input {
326
+ text-indent: 30px;
327
+ }
assets/css/wpforms-base.css CHANGED
@@ -21,6 +21,7 @@
21
  list-style: none;
22
  }
23
 
 
24
  /* Basic Field proprties
25
  ----------------------------------------------------------------------------- */
26
 
@@ -99,6 +100,7 @@
99
  font-weight: normal;
100
  }
101
 
 
102
  /* Rows (multi-line fields: address, credit card, etc)
103
  ----------------------------------------------------------------------------- */
104
 
@@ -122,42 +124,82 @@
122
  display: table;
123
  }
124
 
 
125
  /* Columns
126
  ----------------------------------------------------------------------------- */
127
 
128
  /* User column classes */
129
- .wpforms-container .wpforms-first-half {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  float: left;
131
- width: 48%;
132
- clear: both;
133
  }
134
-
135
- .wpforms-container .wpforms-second-half,
136
- .wpforms-container .wpforms-last-half {
137
- float: right;
138
  width: 48%;
139
- clear: none;
140
  }
141
-
142
- .wpforms-container .wpforms-first-third {
143
- float: left;
144
- width: 30.666666667%;
145
- clear: both;
146
  }
147
-
148
- .wpforms-container .wpforms-middle-third,
149
- .wpforms-container .wpforms-second-third {
150
- float: left;
151
- width: 30.666666667%;
152
- margin-left: 4%;
153
- clear: none;
154
  }
155
-
156
- .wpforms-container .wpforms-last-third,
157
- .wpforms-container .wpforms-third-third {
158
- float: right;
159
- width: 30.666666667%;
160
- clear: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  }
162
 
163
  /* User list column classes */
@@ -191,29 +233,39 @@
191
  }
192
 
193
  /* Private */
194
- .wpforms-container .wpforms-one-half {
195
  float: left;
196
  width: 48%;
197
- margin-right: 2%;
198
  }
199
-
200
- .wpforms-container .wpforms-two-fifths {
 
 
 
 
201
  float: left;
202
- width: 37%;
203
- margin-right: 4%;
204
  }
205
-
206
- .wpforms-container .wpforms-one-fifth {
207
  float: left;
208
- width: 18%;
209
- margin-right: 4%;
 
210
  }
211
-
212
- .wpforms-container div.wpforms-last {
213
  float: right;
214
- margin-right: 0;
 
 
 
 
 
 
215
  }
216
 
 
217
  /* Set Styles
218
  ----------------------------------------------------------------------------- */
219
 
@@ -286,13 +338,16 @@
286
  margin: 0 0 10px 0;
287
  }
288
 
 
289
  /* reCAPTCHA Area
290
  ----------------------------------------------------------------------------- */
291
 
292
  .wpforms-container .wpforms-recaptcha-container {
293
  padding: 10px 0 20px 0;
 
294
  }
295
 
 
296
  /* Form Header area
297
  ----------------------------------------------------------------------------- */
298
 
@@ -305,16 +360,117 @@
305
  margin: 0 0 10px 0;
306
  }
307
 
 
308
  /* Form Footer area
309
  ----------------------------------------------------------------------------- */
310
 
311
  .wpforms-container .wpforms-submit-container {
312
  padding: 10px 0 0 0;
 
313
  }
314
 
315
  .wpforms-container button[type=submit] {
316
  }
317
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
318
  /* Misc
319
  ----------------------------------------------------------------------------- */
320
 
@@ -323,7 +479,6 @@
323
  }
324
 
325
  /* Honeypot Area */
326
-
327
  .wpforms-container .wpforms-field-hp {
328
  display: none !important;
329
  position: absolute !important;
@@ -372,4 +527,26 @@
372
  .wpforms-container .wpforms-list-3-columns ul li {
373
  float: none;
374
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
375
  }
21
  list-style: none;
22
  }
23
 
24
+
25
  /* Basic Field proprties
26
  ----------------------------------------------------------------------------- */
27
 
100
  font-weight: normal;
101
  }
102
 
103
+
104
  /* Rows (multi-line fields: address, credit card, etc)
105
  ----------------------------------------------------------------------------- */
106
 
124
  display: table;
125
  }
126
 
127
+
128
  /* Columns
129
  ----------------------------------------------------------------------------- */
130
 
131
  /* User column classes */
132
+ .wpforms-container .wpforms-five-sixths,
133
+ .wpforms-container .wpforms-four-sixths,
134
+ .wpforms-container .wpforms-four-fifths,
135
+ .wpforms-container .wpforms-one-fifth,
136
+ .wpforms-container .wpforms-one-fourth,
137
+ .wpforms-container .wpforms-one-half,
138
+ .wpforms-container .wpforms-one-sixth,
139
+ .wpforms-container .wpforms-one-third,
140
+ .wpforms-container .wpforms-three-fourths,
141
+ .wpforms-container .wpforms-three-fifths,
142
+ .wpforms-container .wpforms-three-sixths,
143
+ .wpforms-container .wpforms-two-fourths,
144
+ .wpforms-container .wpforms-two-fifths,
145
+ .wpforms-container .wpforms-two-sixths,
146
+ .wpforms-container .wpforms-two-thirds {
147
  float: left;
148
+ margin-left: 4%;
149
+ clear: none;
150
  }
151
+
152
+ .wpforms-container .wpforms-one-half,
153
+ .wpforms-container .wpforms-three-sixths,
154
+ .wpforms-container .wpforms-two-fourths {
155
  width: 48%;
 
156
  }
157
+
158
+ .wpforms-container .wpforms.one-third,
159
+ .wpforms-container .wpforms.two-sixths {
160
+ width: 30.6666666667%;
 
161
  }
162
+
163
+ .wpforms-container .wpforms-four-sixths,
164
+ .wpforms-container .wpforms-two-thirds {
165
+ width: 65.3333333333%;
 
 
 
166
  }
167
+
168
+ .wpforms-container .wpforms-one-fourth {
169
+ width: 22%;
170
+ }
171
+
172
+ .wpforms-container .wpforms-three-fourths {
173
+ width: 74%;
174
+ }
175
+
176
+ .wpforms-container .wpforms-one-fifth {
177
+ width: 16.8%;
178
+ }
179
+
180
+ .wpforms-container .wpforms-two-fifths {
181
+ width: 37.6%;
182
+ }
183
+
184
+ .wpforms-container .wpforms-three-fifths {
185
+ width: 58.4%;
186
+ }
187
+
188
+ .wpforms-container .wpforms-four-fifths {
189
+ width: 79.2%;
190
+ }
191
+
192
+ .wpforms-container .wpforms-one-sixth {
193
+ width: 13.3333333333%;
194
+ }
195
+
196
+ .wpforms-container .wpforms-five-sixths {
197
+ width: 82.6666666667%;
198
+ }
199
+
200
+ .wpforms-container .wpforms-first {
201
+ clear: both !important;
202
+ margin-left: 0 !important;
203
  }
204
 
205
  /* User list column classes */
233
  }
234
 
235
  /* Private */
236
+ .wpforms-container .wpforms-first-half {
237
  float: left;
238
  width: 48%;
239
+ clear: both;
240
  }
241
+ .wpforms-container .wpforms-last-half {
242
+ float: right;
243
+ width: 48%;
244
+ clear: none;
245
+ }
246
+ .wpforms-container .wpforms-first-third {
247
  float: left;
248
+ width: 30.666666667%;
249
+ clear: both;
250
  }
251
+ .wpforms-container .wpforms-middle-third {
 
252
  float: left;
253
+ width: 30.666666667%;
254
+ margin-left: 4%;
255
+ clear: none;
256
  }
257
+ .wpforms-container .wpforms-last-third {
 
258
  float: right;
259
+ width: 30.666666667%;
260
+ clear: none;
261
+ }
262
+ .wpforms-container .wpforms-last {
263
+ float: right !important;
264
+ margin-right: 0 !important;
265
+ clear: none;
266
  }
267
 
268
+
269
  /* Set Styles
270
  ----------------------------------------------------------------------------- */
271
 
338
  margin: 0 0 10px 0;
339
  }
340
 
341
+
342
  /* reCAPTCHA Area
343
  ----------------------------------------------------------------------------- */
344
 
345
  .wpforms-container .wpforms-recaptcha-container {
346
  padding: 10px 0 20px 0;
347
+ clear: both;
348
  }
349
 
350
+
351
  /* Form Header area
352
  ----------------------------------------------------------------------------- */
353
 
360
  margin: 0 0 10px 0;
361
  }
362
 
363
+
364
  /* Form Footer area
365
  ----------------------------------------------------------------------------- */
366
 
367
  .wpforms-container .wpforms-submit-container {
368
  padding: 10px 0 0 0;
369
+ position: relative;
370
  }
371
 
372
  .wpforms-container button[type=submit] {
373
  }
374
 
375
+
376
+ /* Page Indicator themes
377
+ ----------------------------------------------------------------------------- */
378
+
379
+ .wpforms-container .wpforms-page-indicator {
380
+ margin: 0 0 20px 0;
381
+ overflow: auto;
382
+ }
383
+
384
+ /** Circles theme **/
385
+ .wpforms-container .wpforms-page-indicator.circles {
386
+ border-top: 1px solid #dfdfdf;
387
+ border-bottom: 1px solid #dfdfdf;
388
+ padding: 15px 10px;
389
+ }
390
+
391
+ .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page {
392
+ float: left;
393
+ margin: 0 20px 0 0;
394
+ }
395
+
396
+ .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page:last-of-type {
397
+ margin: 0;
398
+ }
399
+
400
+ .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page-number {
401
+ height: 40px;
402
+ width: 40px;
403
+ border-radius: 50%;
404
+ display: inline-block;
405
+ margin: 0 10px 0 0;
406
+ line-height: 40px;
407
+ text-align: center;
408
+ background-color: #ddd;
409
+ color: #666;
410
+ }
411
+
412
+ .wpforms-container .wpforms-page-indicator.circles .active .wpforms-page-indicator-page-number {
413
+ color: #fff;
414
+ }
415
+
416
+ /* Connector theme */
417
+ .wpforms-container .wpforms-page-indicator.connector .wpforms-page-indicator-page {
418
+ float: left;
419
+ text-align: center;
420
+ line-height: 1.2;
421
+ }
422
+
423
+ .wpforms-container .wpforms-page-indicator.connector .wpforms-page-indicator-page-number {
424
+ display: block;
425
+ text-indent: -9999px;
426
+ height: 6px;
427
+ background-color: #ddd;
428
+ margin: 0 0 16px 0;
429
+ position: relative;
430
+ }
431
+
432
+ .wpforms-container .wpforms-page-indicator.connector .wpforms-page-indicator-page-triangle {
433
+ position: absolute;
434
+ top: 100%;
435
+ left: 50%;
436
+ width: 0;
437
+ height: 0;
438
+ margin-left: -5px;
439
+ border-style: solid;
440
+ border-width: 6px 5px 0 5px;
441
+ border-color: transparent transparent transparent transparent;
442
+ }
443
+
444
+ .wpforms-container .wpforms-page-indicator.connector .wpforms-page-indicator-page-title {
445
+ display: inline-block;
446
+ padding: 0 15px;
447
+ font-size: 16px;
448
+ }
449
+
450
+ /* Progress theme */
451
+ .wpforms-container .wpforms-page-indicator.progress {
452
+ font-size: 18px;
453
+ }
454
+
455
+ .wpforms-container .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress-wrap {
456
+ display: block;
457
+ width: 100%;
458
+ background-color: #ddd;
459
+ height: 18px;
460
+ border-radius: 10px;
461
+ overflow: hidden;
462
+ position: relative;
463
+ margin: 5px 0 0;
464
+ }
465
+
466
+ .wpforms-container .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress {
467
+ height: 18px;
468
+ position: absolute;
469
+ left: 0;
470
+ top: 0;
471
+ }
472
+
473
+
474
  /* Misc
475
  ----------------------------------------------------------------------------- */
476
 
479
  }
480
 
481
  /* Honeypot Area */
 
482
  .wpforms-container .wpforms-field-hp {
483
  display: none !important;
484
  position: absolute !important;
527
  .wpforms-container .wpforms-list-3-columns ul li {
528
  float: none;
529
  }
530
+
531
+ /* Page indicator */
532
+ .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page {
533
+ float: none;
534
+ display: block;
535
+ margin: 0 0 10px 0;
536
+ }
537
+ .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page-number {
538
+ width: 30px;
539
+ height: 30px;
540
+ line-height: 30px;
541
+ }
542
+ .wpforms-container .wpforms-page-indicator.connector .wpforms-page-indicator-page {
543
+ width: 100% !important;
544
+ padding: 5px 10px;
545
+ }
546
+ .wpforms-container .wpforms-page-indicator.connector .wpforms-page-indicator-page.active {
547
+ font-weight: 700;
548
+ }
549
+ .wpforms-container .wpforms-page-indicator.connector .wpforms-page-indicator-page-number {
550
+ display: none;
551
+ }
552
  }
assets/css/wpforms-full.css CHANGED
@@ -13,6 +13,7 @@
13
  display: table;
14
  }
15
 
 
16
  /* Resets
17
  ----------------------------------------------------------------------------- */
18
 
@@ -87,6 +88,7 @@ div.wpforms-container-full .wpforms-form ul li:last-of-type {
87
  margin-bottom: 0 !important;
88
  }
89
 
 
90
  /* Basic Field proprties
91
  ----------------------------------------------------------------------------- */
92
 
@@ -176,6 +178,7 @@ div.wpforms-container-full .wpforms-form .wpforms-required-label {
176
  font-weight: 400;
177
  }
178
 
 
179
  /* Rows (multi-line fields: address, credit card, etc)
180
  ----------------------------------------------------------------------------- */
181
 
@@ -200,42 +203,82 @@ div.wpforms-container-full .wpforms-form .wpforms-field-row:after {
200
  display: table;
201
  }
202
 
 
203
  /* Columns
204
  ----------------------------------------------------------------------------- */
205
 
206
  /* User column classes */
207
- div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-first-half {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
  float: left;
209
- width: 48%;
210
- clear: both;
211
  }
212
-
213
- div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-second-half,
214
- div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-last-half {
215
- float: right;
216
  width: 48%;
217
- clear: none;
218
  }
219
-
220
- div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-first-third {
221
- float: left;
222
- width: 30.666666667%;
223
- clear: both;
224
  }
225
-
226
- div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-middle-third,
227
- div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-second-third {
228
- float: left;
229
- width: 30.666666667%;
230
- margin-left: 4%;
231
- clear: none;
232
  }
233
-
234
- div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-last-third,
235
- div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-third-third {
236
- float: right;
237
- width: 30.666666667%;
238
- clear: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  }
240
 
241
  /* User list column classes */
@@ -268,30 +311,40 @@ div.wpforms-container-full .wpforms-form .wpforms-list-3-columns ul li {
268
  float: left;
269
  }
270
 
271
- /* Private */
272
- div.wpforms-container-full .wpforms-form .wpforms-one-half {
273
  float: left;
274
  width: 48%;
275
- margin-right: 2%;
276
  }
277
-
278
- div.wpforms-container-full .wpforms-form .wpforms-two-fifths {
 
 
 
 
279
  float: left;
280
- width: 37%;
281
- margin-right: 4%;
282
  }
283
-
284
- div.wpforms-container-full .wpforms-form .wpforms-one-fifth {
285
  float: left;
286
- width: 18%;
287
- margin-right: 4%;
 
288
  }
289
-
290
- div.wpforms-container-full .wpforms-form div.wpforms-last {
291
  float: right;
292
- margin-right: 0;
 
 
 
 
 
 
293
  }
294
 
 
295
  /* Set Styles
296
  ----------------------------------------------------------------------------- */
297
 
@@ -362,6 +415,7 @@ div.wpforms-container-full .wpforms-form .wpforms-page-button {
362
  font-size: 0.9em;
363
  font-weight: 400;
364
  margin: 0 5px;
 
365
  }
366
 
367
  div.wpforms-container-full .wpforms-form input[type=submit]:hover,
@@ -381,6 +435,7 @@ div.wpforms-container-full .wpforms-form select:focus {
381
  border: 1px solid #999;
382
  }
383
 
 
384
  /* Errors, Warnings, etc
385
  ----------------------------------------------------------------------------- */
386
 
@@ -416,6 +471,7 @@ div.wpforms-container-full .wpforms-form .wpforms-error-alert {
416
  margin: 0 0 10px 0;
417
  }
418
 
 
419
  /* Confirmation
420
  ----------------------------------------------------------------------------- */
421
 
@@ -431,13 +487,16 @@ div.wpforms-container-full .wpforms-form .wpforms-error-alert {
431
  margin: 0;
432
  }
433
 
 
434
  /* reCAPTCHA Area
435
  ----------------------------------------------------------------------------- */
436
 
437
  div.wpforms-container-full .wpforms-form .wpforms-recaptcha-container {
438
  padding: 10px 0 20px 0;
 
439
  }
440
 
 
441
  /* Form Header area
442
  ----------------------------------------------------------------------------- */
443
 
@@ -450,12 +509,14 @@ div.wpforms-container-full .wpforms-form .wpforms-description {
450
  margin: 0 0 10px 0;
451
  }
452
 
 
453
  /* Form Footer area
454
  ----------------------------------------------------------------------------- */
455
 
456
  div.wpforms-container-full .wpforms-form .wpforms-submit-container {
457
  padding: 10px 0 0 0;
458
  clear: both;
 
459
  }
460
 
461
  div.wpforms-container-full .wpforms-form button[type=submit] {
@@ -465,6 +526,7 @@ div.wpforms-container-full .wpforms-form .wpforms-field-pagebreak {
465
  text-align: center;
466
  }
467
 
 
468
  /* Credit Card field
469
  ----------------------------------------------------------------------------- */
470
 
@@ -504,11 +566,110 @@ div.wpforms-container-full .wpforms-form .wpforms-field-credit-card-expiration s
504
  }
505
 
506
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
507
  /* Misc
508
  ----------------------------------------------------------------------------- */
509
 
510
- .wpforms-container-full {
511
- margin-bottom: 26px;
512
  }
513
 
514
  div.wpforms-container-full .wpforms-form h3 {
@@ -516,7 +677,6 @@ div.wpforms-container-full .wpforms-form h3 {
516
  }
517
 
518
  /* Honeypot Area */
519
-
520
  div.wpforms-container-full .wpforms-form .wpforms-field-hp {
521
  display: none !important;
522
  position: absolute !important;
@@ -532,6 +692,7 @@ div.wpforms-container-full .wpforms-form .wpforms-recaptcha-container iframe {
532
  width: inherit;
533
  }
534
 
 
535
  /* Media Queries
536
  ----------------------------------------------------------------------------- */
537
 
@@ -570,4 +731,26 @@ div.wpforms-container-full .wpforms-form .wpforms-recaptcha-container iframe {
570
  div.wpforms-container-full .wpforms-form .wpforms-list-3-columns ul li {
571
  float: none;
572
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
573
  }
13
  display: table;
14
  }
15
 
16
+
17
  /* Resets
18
  ----------------------------------------------------------------------------- */
19
 
88
  margin-bottom: 0 !important;
89
  }
90
 
91
+
92
  /* Basic Field proprties
93
  ----------------------------------------------------------------------------- */
94
 
178
  font-weight: 400;
179
  }
180
 
181
+
182
  /* Rows (multi-line fields: address, credit card, etc)
183
  ----------------------------------------------------------------------------- */
184
 
203
  display: table;
204
  }
205
 
206
+
207
  /* Columns
208
  ----------------------------------------------------------------------------- */
209
 
210
  /* User column classes */
211
+ div.wpforms-container-full .wpforms-form .wpforms-five-sixths,
212
+ div.wpforms-container-full .wpforms-form .wpforms-four-sixths,
213
+ div.wpforms-container-full .wpforms-form .wpforms-four-fifths,
214
+ div.wpforms-container-full .wpforms-form .wpforms-one-fifth,
215
+ div.wpforms-container-full .wpforms-form .wpforms-one-fourth,
216
+ div.wpforms-container-full .wpforms-form .wpforms-one-half,
217
+ div.wpforms-container-full .wpforms-form .wpforms-one-sixth,
218
+ div.wpforms-container-full .wpforms-form .wpforms-one-third,
219
+ div.wpforms-container-full .wpforms-form .wpforms-three-fourths,
220
+ div.wpforms-container-full .wpforms-form .wpforms-three-fifths,
221
+ div.wpforms-container-full .wpforms-form .wpforms-three-sixths,
222
+ div.wpforms-container-full .wpforms-form .wpforms-two-fourths,
223
+ div.wpforms-container-full .wpforms-form .wpforms-two-fifths,
224
+ div.wpforms-container-full .wpforms-form .wpforms-two-sixths,
225
+ div.wpforms-container-full .wpforms-form .wpforms-two-thirds {
226
  float: left;
227
+ margin-left: 4%;
228
+ clear: none;
229
  }
230
+
231
+ div.wpforms-container-full .wpforms-form .wpforms-one-half,
232
+ div.wpforms-container-full .wpforms-form .wpforms-three-sixths,
233
+ div.wpforms-container-full .wpforms-form .wpforms-two-fourths {
234
  width: 48%;
 
235
  }
236
+
237
+ div.wpforms-container-full .wpforms-form .wpforms.one-third,
238
+ div.wpforms-container-full .wpforms-form .wpforms.two-sixths {
239
+ width: 30.6666666667%;
 
240
  }
241
+
242
+ div.wpforms-container-full .wpforms-form .wpforms-four-sixths,
243
+ div.wpforms-container-full .wpforms-form .wpforms-two-thirds {
244
+ width: 65.3333333333%;
 
 
 
245
  }
246
+
247
+ div.wpforms-container-full .wpforms-form .wpforms-one-fourth {
248
+ width: 22%;
249
+ }
250
+
251
+ div.wpforms-container-full .wpforms-form .wpforms-three-fourths {
252
+ width: 74%;
253
+ }
254
+
255
+ div.wpforms-container-full .wpforms-form .wpforms-one-fifth {
256
+ width: 16.8%;
257
+ }
258
+
259
+ div.wpforms-container-full .wpforms-form .wpforms-two-fifths {
260
+ width: 37.6%;
261
+ }
262
+
263
+ div.wpforms-container-full .wpforms-form .wpforms-three-fifths {
264
+ width: 58.4%;
265
+ }
266
+
267
+ div.wpforms-container-full .wpforms-form .wpforms-four-fifths {
268
+ width: 79.2%;
269
+ }
270
+
271
+ div.wpforms-container-full .wpforms-form .wpforms-one-sixth {
272
+ width: 13.3333333333%;
273
+ }
274
+
275
+ div.wpforms-container-full .wpforms-form .wpforms-five-sixths {
276
+ width: 82.6666666667%;
277
+ }
278
+
279
+ div.wpforms-container-full .wpforms-form .wpforms-first {
280
+ clear: both !important;
281
+ margin-left: 0 !important;
282
  }
283
 
284
  /* User list column classes */
311
  float: left;
312
  }
313
 
314
+ /* Legacy, for BC */
315
+ div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-first-half {
316
  float: left;
317
  width: 48%;
318
+ clear: both;
319
  }
320
+ div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-last-half {
321
+ float: right;
322
+ width: 48%;
323
+ clear: none;
324
+ }
325
+ div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-first-third {
326
  float: left;
327
+ width: 30.666666667%;
328
+ clear: both;
329
  }
330
+ div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-middle-third {
 
331
  float: left;
332
+ width: 30.666666667%;
333
+ margin-left: 4%;
334
+ clear: none;
335
  }
336
+ div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-last-third {
 
337
  float: right;
338
+ width: 30.666666667%;
339
+ clear: none;
340
+ }
341
+ div.wpforms-container-full .wpforms-form div.wpforms-last {
342
+ float: right !important;
343
+ margin-right: 0 !important;
344
+ clear: none;
345
  }
346
 
347
+
348
  /* Set Styles
349
  ----------------------------------------------------------------------------- */
350
 
415
  font-size: 0.9em;
416
  font-weight: 400;
417
  margin: 0 5px;
418
+ min-width: 90px;
419
  }
420
 
421
  div.wpforms-container-full .wpforms-form input[type=submit]:hover,
435
  border: 1px solid #999;
436
  }
437
 
438
+
439
  /* Errors, Warnings, etc
440
  ----------------------------------------------------------------------------- */
441
 
471
  margin: 0 0 10px 0;
472
  }
473
 
474
+
475
  /* Confirmation
476
  ----------------------------------------------------------------------------- */
477
 
487
  margin: 0;
488
  }
489
 
490
+
491
  /* reCAPTCHA Area
492
  ----------------------------------------------------------------------------- */
493
 
494
  div.wpforms-container-full .wpforms-form .wpforms-recaptcha-container {
495
  padding: 10px 0 20px 0;
496
+ clear: both;
497
  }
498
 
499
+
500
  /* Form Header area
501
  ----------------------------------------------------------------------------- */
502
 
509
  margin: 0 0 10px 0;
510
  }
511
 
512
+
513
  /* Form Footer area
514
  ----------------------------------------------------------------------------- */
515
 
516
  div.wpforms-container-full .wpforms-form .wpforms-submit-container {
517
  padding: 10px 0 0 0;
518
  clear: both;
519
+ position: relative;
520
  }
521
 
522
  div.wpforms-container-full .wpforms-form button[type=submit] {
526
  text-align: center;
527
  }
528
 
529
+
530
  /* Credit Card field
531
  ----------------------------------------------------------------------------- */
532
 
566
  }
567
 
568
 
569
+ /* Page Indicator themes
570
+ ----------------------------------------------------------------------------- */
571
+
572
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator {
573
+ margin: 0 0 20px 0;
574
+ overflow: auto;
575
+ }
576
+
577
+ /** Circles theme **/
578
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles {
579
+ border-top: 1px solid #dfdfdf;
580
+ border-bottom: 1px solid #dfdfdf;
581
+ padding: 15px 10px;
582
+ }
583
+
584
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page {
585
+ float: left;
586
+ margin: 0 20px 0 0;
587
+ }
588
+
589
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page:last-of-type {
590
+ margin: 0;
591
+ }
592
+
593
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page-number {
594
+ height: 40px;
595
+ width: 40px;
596
+ border-radius: 50%;
597
+ display: inline-block;
598
+ margin: 0 10px 0 0;
599
+ line-height: 40px;
600
+ text-align: center;
601
+ background-color: #ddd;
602
+ color: #666;
603
+ }
604
+
605
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .active .wpforms-page-indicator-page-number {
606
+ color: #fff;
607
+ }
608
+
609
+ /* Connector theme */
610
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page {
611
+ float: left;
612
+ text-align: center;
613
+ font-style: 16px;
614
+ line-height: 1.2;
615
+ }
616
+
617
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page-number {
618
+ display: block;
619
+ text-indent: -9999px;
620
+ height: 6px;
621
+ background-color: #ddd;
622
+ margin: 0 0 16px 0;
623
+ position: relative;
624
+ }
625
+
626
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page-triangle {
627
+ position: absolute;
628
+ top: 100%;
629
+ left: 50%;
630
+ width: 0;
631
+ height: 0;
632
+ margin-left: -5px;
633
+ border-style: solid;
634
+ border-width: 6px 5px 0 5px;
635
+ border-color: transparent transparent transparent transparent;
636
+ }
637
+
638
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page-title {
639
+ display: inline-block;
640
+ padding: 0 15px;
641
+ font-size: 16px;
642
+ }
643
+
644
+ /* Progress theme */
645
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress {
646
+ font-size: 18px;
647
+ }
648
+
649
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress-wrap {
650
+ display: block;
651
+ width: 100%;
652
+ background-color: #ddd;
653
+ height: 18px;
654
+ border-radius: 10px;
655
+ overflow: hidden;
656
+ position: relative;
657
+ margin: 5px 0 0;
658
+ }
659
+
660
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress {
661
+ height: 18px;
662
+ position: absolute;
663
+ left: 0;
664
+ top: 0;
665
+ }
666
+
667
+
668
  /* Misc
669
  ----------------------------------------------------------------------------- */
670
 
671
+ div.wpforms-container-full {
672
+ margin-bottom: 24px;
673
  }
674
 
675
  div.wpforms-container-full .wpforms-form h3 {
677
  }
678
 
679
  /* Honeypot Area */
 
680
  div.wpforms-container-full .wpforms-form .wpforms-field-hp {
681
  display: none !important;
682
  position: absolute !important;
692
  width: inherit;
693
  }
694
 
695
+
696
  /* Media Queries
697
  ----------------------------------------------------------------------------- */
698
 
731
  div.wpforms-container-full .wpforms-form .wpforms-list-3-columns ul li {
732
  float: none;
733
  }
734
+
735
+ /* Page indicator */
736
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page {
737
+ float: none;
738
+ display: block;
739
+ margin: 0 0 10px 0;
740
+ }
741
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.circles .wpforms-page-indicator-page-number {
742
+ width: 30px;
743
+ height: 30px;
744
+ line-height: 30px;
745
+ }
746
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page {
747
+ width: 100% !important;
748
+ padding: 5px 10px;
749
+ }
750
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page.active {
751
+ font-weight: 700;
752
+ }
753
+ div.wpforms-container-full .wpforms-form .wpforms-page-indicator.connector .wpforms-page-indicator-page-number {
754
+ display: none;
755
+ }
756
  }
assets/js/admin-builder.js CHANGED
@@ -5,7 +5,9 @@
5
  var WPFormsBuilder = {
6
 
7
  settings: {
8
- spinner: '<i class="fa fa-spinner fa-spin"></i>'
 
 
9
  },
10
 
11
  /**
@@ -64,8 +66,10 @@
64
  }
65
 
66
  // Setup/cache some vars not available before
67
- s.formID = $('#wpforms-builder-form').data('id');
68
- s.formData = $('#wpforms-builder-form').serializeObject();
 
 
69
 
70
  wpforms_builder.saved_state = $('#wpforms-builder-form').serializeJSON();
71
 
@@ -108,8 +112,8 @@
108
  // Load Tooltips
109
  WPFormsBuilder.loadTooltips();
110
 
111
- // Hide/Show Pagebreak options
112
- WPFormsBuilder.pagebreakToggle();
113
 
114
  // Hide/Show reCAPTCHA in form
115
  WPFormsBuilder.recaptchaToggle();
@@ -593,11 +597,6 @@
593
  $('#wpforms-field-'+id).find('.wpforms-'+subfield).toggleClass('wpforms-hide');
594
  });
595
 
596
- // Toggle pagebreak options
597
- $(document).on('wpformsFieldAdd', WPFormsBuilder.pagebreakToggle);
598
- $(document).on('wpformsFieldDelete', WPFormsBuilder.pagebreakToggle);
599
- $(document).on('wpformsFieldMove', WPFormsBuilder.pagebreakToggle);
600
-
601
  // Real-time updates for "Show Label" field option
602
  $(document).on('input', '.wpforms-field-option-row-label input', function(e) {
603
  var $this = $(this),
@@ -671,13 +670,33 @@
671
  var $this = $(this),
672
  value = $this.val(),
673
  id = $this.parent().data('field-id');
674
- $('#wpforms-field-'+id).find('.wpforms-pagebreak-next').text(value);
 
 
 
 
675
  });
676
  $(document).on('input', '.wpforms-field-option-row-prev input', function(e) {
677
  var $this = $(this),
678
  value = $this.val(),
679
  id = $this.parent().data('field-id');
680
- $('#wpforms-field-'+id).find('.wpforms-pagebreak-prev').text(value);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
681
  });
682
 
683
  // Real-time updates for Single Item field "Item Price" option
@@ -705,6 +724,24 @@
705
  subfield = $this.data('subfield');
706
  $('#wpforms-field-'+id).find('.wpforms-'+ subfield+' input' ).attr('placeholder', value);
707
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
708
  },
709
 
710
  /**
@@ -755,7 +792,8 @@
755
  */
756
  fieldDelete: function(id) {
757
 
758
- var $field = $('#wpforms-field-'+id);
 
759
 
760
  if ($field.hasClass('no-delete')) {
761
  $.alert({
@@ -770,11 +808,13 @@
770
  backgroundDismiss: false,
771
  closeIcon: false,
772
  confirm: function(){
773
- $('#wpforms-field-'+id).remove();
774
- $('#wpforms-field-option-'+id).remove();
775
- $('.wpforms-field, .wpforms-title-desc').removeClass('active');
776
- WPFormsBuilder.fieldTabToggle('add-fields');
777
- $(document).trigger('wpformsFieldDelete', id);
 
 
778
  }
779
  });
780
  }
@@ -785,26 +825,98 @@
785
  *
786
  * @since 1.0.0
787
  */
788
- fieldAdd: function(type) {
 
 
 
 
 
 
 
 
789
 
790
  var data = {
791
- action: 'wpforms_new_field_'+type,
792
- id : s.formID,
793
- type : type,
794
- nonce : wpforms_builder.nonce
 
795
  }
796
- $.post(wpforms_builder.ajax_url, data, function(res) {
797
  if (res.success) {
798
- $('.wpforms-field-wrap').append(res.data.preview);
799
- $('.wpforms-field-options').append(res.data.options);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
800
  $('#wpforms-builder-form .no-fields, #wpforms-builder-form .no-fields-preview').remove();
801
  $('#wpforms-field-id').val(res.data.field.id+1);
 
802
  WPFormsBuilder.loadTooltips();
803
- $(document).trigger('wpformsFieldAdd', [res.data.field.id, type ]);
804
 
805
- // Scroll preivew panel to the bottom (where new field will show)
806
- var $previewContent = $('#wpforms-panel-fields .wpforms-panel-content-wrap');
807
- $previewContent.animate({ scrollTop: $previewContent.prop('scrollHeight') - $previewContent.height() }, 1000);
808
  } else {
809
  console.log(res);
810
  }
@@ -821,16 +933,17 @@
821
  fieldSortable: function() {
822
 
823
  var fieldOptions = $('.wpforms-field-options'),
 
824
  fieldIndex,
825
  fieldIndexNew,
826
  field,
827
  fieldNew;
828
-
829
  $('.wpforms-field-wrap').sortable({
830
- items : '> .wpforms-field',
831
  axis : 'y',
832
  delay : 100,
833
- opacity: 0.6,
834
  start:function(e,ui){
835
  fieldIndex = ui.item.index();
836
  field = fieldOptions[0].children[fieldIndex];
@@ -844,9 +957,58 @@
844
  $(fieldNew).before(field);
845
  }
846
  $(document).trigger('wpformsFieldMove', ui);
 
847
  },
848
- update:function(e,ui){
849
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
850
  });
851
  },
852
 
@@ -1003,6 +1165,96 @@
1003
  }
1004
  },
1005
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1006
  //--------------------------------------------------------------------//
1007
  // Settings Panel
1008
  //--------------------------------------------------------------------//
@@ -1072,35 +1324,6 @@
1072
  });
1073
  },
1074
 
1075
-
1076
- /**
1077
- * Toggle displaying/setup Pagebreak fields and settings.
1078
- *
1079
- * @since 1.0.0
1080
- */
1081
- pagebreakToggle: function() {
1082
-
1083
- if ($('.wpforms-field-pagebreak').length) {
1084
-
1085
- var $fields = $('.wpforms-field-pagebreak'),
1086
- $field = $fields.first(),
1087
- fieldID = $field.data('field-id'),
1088
- $options = $('.wpforms-field-option-pagebreak'),
1089
- $option = $('#wpforms-field-option-'+fieldID);
1090
-
1091
- $('#wpforms-panel-field-settings-pagebreak_prev-wrap').show();
1092
- $('.wpforms-field-pagebreak-last').show();
1093
-
1094
- $fields.removeClass('first');
1095
- $options.removeClass('first');
1096
- $field.addClass('first');
1097
- $option.addClass('first');
1098
- } else {
1099
- $('#wpforms-panel-field-settings-pagebreak_prev-wrap').hide();
1100
- $('.wpforms-field-pagebreak-last').hide();
1101
- }
1102
- },
1103
-
1104
  /**
1105
  * Toggle displaying the ReCAPTCHA.
1106
  *
@@ -1449,6 +1672,15 @@
1449
  multiple: true
1450
  });
1451
  },
 
 
 
 
 
 
 
 
 
1452
  };
1453
 
1454
  WPFormsBuilder.init();
5
  var WPFormsBuilder = {
6
 
7
  settings: {
8
+ spinner: '<i class="fa fa-spinner fa-spin"></i>',
9
+ pagebreakTop: false,
10
+ pagebreakBottom: false
11
  },
12
 
13
  /**
66
  }
67
 
68
  // Setup/cache some vars not available before
69
+ s.formID = $('#wpforms-builder-form').data('id');
70
+ s.formData = $('#wpforms-builder-form').serializeObject();
71
+ s.pagebreakTop = $('.wpforms-pagebreak-top').length;
72
+ s.pagebreakBottom = $('.wpforms-pagebreak-bottom').length;
73
 
74
  wpforms_builder.saved_state = $('#wpforms-builder-form').serializeJSON();
75
 
112
  // Load Tooltips
113
  WPFormsBuilder.loadTooltips();
114
 
115
+ // Load Tooltips
116
+ WPFormsBuilder.loadColorPickers();
117
 
118
  // Hide/Show reCAPTCHA in form
119
  WPFormsBuilder.recaptchaToggle();
597
  $('#wpforms-field-'+id).find('.wpforms-'+subfield).toggleClass('wpforms-hide');
598
  });
599
 
 
 
 
 
 
600
  // Real-time updates for "Show Label" field option
601
  $(document).on('input', '.wpforms-field-option-row-label input', function(e) {
602
  var $this = $(this),
670
  var $this = $(this),
671
  value = $this.val(),
672
  id = $this.parent().data('field-id');
673
+ if (value) {
674
+ $('#wpforms-field-'+id).find('.wpforms-pagebreak-next').css('display','inline-block').text(value);
675
+ } else {
676
+ $('#wpforms-field-'+id).find('.wpforms-pagebreak-next').css('display','none').empty();
677
+ }
678
  });
679
  $(document).on('input', '.wpforms-field-option-row-prev input', function(e) {
680
  var $this = $(this),
681
  value = $this.val(),
682
  id = $this.parent().data('field-id');
683
+ if (value) {
684
+ $('#wpforms-field-'+id).find('.wpforms-pagebreak-prev').css('display','inline-block').text(value);
685
+ } else {
686
+ $('#wpforms-field-'+id).find('.wpforms-pagebreak-prev').css('display','none').empty();
687
+ }
688
+ });
689
+
690
+ // Real-time updates for "Page Title" pagebreak field option
691
+ $(document).on('input', '.wpforms-field-option-row-title input', function(e) {
692
+ var $this = $(this),
693
+ value = $this.val(),
694
+ id = $this.parent().data('field-id');
695
+ if (value) {
696
+ $('#wpforms-field-'+id).find('.wpforms-pagebreak-title').text('('+value+')');
697
+ } else {
698
+ $('#wpforms-field-'+id).find('.wpforms-pagebreak-title').empty();
699
+ }
700
  });
701
 
702
  // Real-time updates for Single Item field "Item Price" option
724
  subfield = $this.data('subfield');
725
  $('#wpforms-field-'+id).find('.wpforms-'+ subfield+' input' ).attr('placeholder', value);
726
  });
727
+
728
+ // Toggle Choice Layout advanced field option
729
+ $(document).on('change', '.wpforms-field-option-row-input_columns select', function(e) {
730
+ var $this = $(this),
731
+ value = $this.val(),
732
+ cls = '',
733
+ id = $this.parent().data('field-id');
734
+ if ( value === '2' ) {
735
+ cls = 'wpforms-list-2-columns';
736
+ } else if ( value === '3' ) {
737
+ cls = 'wpforms-list-3-columns';
738
+ }
739
+ $('#wpforms-field-'+id).removeClass('wpforms-list-2-columns wpforms-list-3-columns').addClass(cls);
740
+ });
741
+
742
+ // Watch for pagebreak field being added and deleted
743
+ $(document).on('wpformsFieldAdd', WPFormsBuilder.fieldPagebreakAdd);
744
+ $(document).on('wpformsFieldDelete', WPFormsBuilder.fieldPagebreakDelete);
745
  },
746
 
747
  /**
792
  */
793
  fieldDelete: function(id) {
794
 
795
+ var $field = $('#wpforms-field-'+id),
796
+ type = $field.data('field-type');
797
 
798
  if ($field.hasClass('no-delete')) {
799
  $.alert({
808
  backgroundDismiss: false,
809
  closeIcon: false,
810
  confirm: function(){
811
+ $('#wpforms-field-'+id).fadeOut(400, function(){
812
+ $(this).remove();
813
+ $('#wpforms-field-option-'+id).remove();
814
+ $('.wpforms-field, .wpforms-title-desc').removeClass('active');
815
+ WPFormsBuilder.fieldTabToggle('add-fields');
816
+ $(document).trigger('wpformsFieldDelete', [id, type ]);
817
+ });
818
  }
819
  });
820
  }
825
  *
826
  * @since 1.0.0
827
  */
828
+ fieldAdd: function(type, options) {
829
+
830
+ var defaults = {
831
+ position : 'bottom',
832
+ placeholder: false,
833
+ scroll : true,
834
+ defaults : false,
835
+ };
836
+ options = $.extend( {}, defaults, options);
837
 
838
  var data = {
839
+ action : 'wpforms_new_field_'+type,
840
+ id : s.formID,
841
+ type : type,
842
+ defaults: options.defaults,
843
+ nonce : wpforms_builder.nonce
844
  }
845
+ return $.post(wpforms_builder.ajax_url, data, function(res) {
846
  if (res.success) {
847
+
848
+ var totalFields = $('.wpforms-field').length,
849
+ $preview = $('#wpforms-panel-fields .wpforms-panel-content-wrap'),
850
+ $lastField = $('.wpforms-field').last(),
851
+ $newField = $(res.data.preview),
852
+ $newOptions = $(res.data.options);
853
+
854
+ $newField.css('display', 'none');
855
+
856
+ if (options.placeholder) {
857
+ options.placeholder.remove();
858
+ }
859
+
860
+ // Determine where field gets placed
861
+ if ( 'bottom' === options.position ) {
862
+
863
+ if ( $lastField.length && $lastField.hasClass('wpforms-field-stick')) {
864
+ // Check to see if the last field we have is configured to
865
+ // be stuck to the bottom, if so add the field above it.
866
+ $('.wpforms-field-wrap').children(':eq('+(totalFields-1)+')').before($newField);
867
+ $('.wpforms-field-options').children(':eq('+(totalFields-1)+')').before($newOptions);
868
+
869
+ } else {
870
+ // Add field to bottom
871
+ $('.wpforms-field-wrap').append($newField);
872
+ $('.wpforms-field-options').append($newOptions);
873
+ }
874
+
875
+ if (options.scroll) {
876
+ $preview.animate({ scrollTop: $preview.prop('scrollHeight') - $preview.height() }, 1000);
877
+ }
878
+
879
+ } else if ( 'top' === options.position ) {
880
+
881
+ // Add field to top, scroll to
882
+ $('.wpforms-field-wrap').prepend($newField);
883
+ $('.wpforms-field-options').prepend($newOptions);
884
+
885
+ if (options.scroll) {
886
+ $preview.animate({ scrollTop: 0 }, 1000);
887
+ }
888
+
889
+ } else {
890
+
891
+ if ( options.position === totalFields && $lastField.length && $lastField.hasClass('wpforms-field-stick') ) {
892
+ // Check to see if the user tried to add the field at
893
+ // the end BUT the last field we have is configured to
894
+ // be stuck to the bottom, if so add the field above it.
895
+ $('.wpforms-field-wrap').children(':eq('+(totalFields-1)+')').before($newField);
896
+ $('.wpforms-field-options').children(':eq('+(totalFields-1)+')').before($newOptions);
897
+
898
+ } else if ($('.wpforms-field-wrap').children(':eq('+options.position+')').length) {
899
+ // Add field to a specific location
900
+ $('.wpforms-field-wrap').children(':eq('+options.position+')').before($newField);
901
+ $('.wpforms-field-options').children(':eq('+options.position+')').before($newOptions);
902
+
903
+ } else {
904
+ // Something's wrong, just add the field. This should never occur.
905
+ $('.wpforms-field-wrap').append($newField);
906
+ $('.wpforms-field-options').append($newOptions);
907
+ }
908
+ }
909
+
910
+ $newField.fadeIn();
911
+
912
  $('#wpforms-builder-form .no-fields, #wpforms-builder-form .no-fields-preview').remove();
913
  $('#wpforms-field-id').val(res.data.field.id+1);
914
+
915
  WPFormsBuilder.loadTooltips();
916
+ WPFormsBuilder.loadColorPickers();
917
 
918
+ $(document).trigger('wpformsFieldAdd', [res.data.field.id, type ]);
919
+
 
920
  } else {
921
  console.log(res);
922
  }
933
  fieldSortable: function() {
934
 
935
  var fieldOptions = $('.wpforms-field-options'),
936
+ fieldReceived = false,
937
  fieldIndex,
938
  fieldIndexNew,
939
  field,
940
  fieldNew;
941
+
942
  $('.wpforms-field-wrap').sortable({
943
+ items : '> .wpforms-field:not(.wpforms-field-stick)',
944
  axis : 'y',
945
  delay : 100,
946
+ opacity: 0.75,
947
  start:function(e,ui){
948
  fieldIndex = ui.item.index();
949
  field = fieldOptions[0].children[fieldIndex];
957
  $(fieldNew).before(field);
958
  }
959
  $(document).trigger('wpformsFieldMove', ui);
960
+ fieldReceived = false;
961
  },
962
+ over: function(e, ui){
963
+ var $el = ui.item.first();
964
+ $el.addClass('wpforms-field-dragging');
965
+
966
+ if ( $el.hasClass('wpforms-field-drag')){
967
+ var width = $('.wpforms-field').first().outerWidth();
968
+ $el.addClass('wpforms-field-drag-over').removeClass('wpforms-field-drag-out').css('width', width).css('height', 'auto');
969
+ }
970
+ },
971
+ out: function(e, ui){
972
+ var $el = ui.item.first();
973
+ $el.removeClass('wpforms-field-dragging');
974
+
975
+ if ( !fieldReceived ) {
976
+ var width = $el.attr('data-original-width');
977
+ if ( $el.hasClass('wpforms-field-drag')){
978
+ $el.addClass('wpforms-field-drag-out').removeClass('wpforms-field-drag-over').css('width', width);
979
+ }
980
+ }
981
+ },
982
+ receive: function(e, ui) {
983
+ fieldReceived = true;
984
+
985
+ var pos = $(this).data('ui-sortable').currentItem.index();
986
+ $el = ui.helper,
987
+ type = $el.attr('data-field-type');
988
+
989
+ $el.addClass('wpforms-field-drag-over wpforms-field-drag-pending').removeClass('wpforms-field-drag-out').css('width', '100%');
990
+ $el.append('<i class="fa fa-cog fa-spin"></i>');
991
+
992
+ WPFormsBuilder.fieldAdd(type, {position: pos, placeholder: $el});
993
+ }
994
+ });
995
+
996
+ $('.wpforms-add-fields-button').draggable({
997
+ connectToSortable: '.wpforms-field-wrap',
998
+ delay: 200,
999
+ helper: function(event) {
1000
+ var $this = $(this),
1001
+ width = $this.outerWidth(),
1002
+ text = $this.html(),
1003
+ type = $this.data('field-type'),
1004
+ $el = $('<div class="wpforms-field-drag-out wpforms-field-drag">');
1005
+ return $el.html(text).css('width',width).attr('data-original-width',width).attr('data-field-type',type);
1006
+ },
1007
+ revert: 'invalid',
1008
+ cancel: false,
1009
+ scroll: false,
1010
+ opacity: 0.75,
1011
+ containment: 'document'
1012
  });
1013
  },
1014
 
1165
  }
1166
  },
1167
 
1168
+ /**
1169
+ * Watches fields being added and listens for a pagebreak field.
1170
+ *
1171
+ * If a pagebreak field is added, and it's the first one, then we
1172
+ * automatically add the top and bottom pagebreak elements to the
1173
+ * builder.
1174
+ *
1175
+ * @since 1.2.1
1176
+ */
1177
+ fieldPagebreakAdd: function(event, id, type) {
1178
+
1179
+ if ( 'pagebreak' !== type )
1180
+ return;
1181
+
1182
+ if ( ! s.pagebreakTop ) {
1183
+
1184
+ s.pagebreakTop = true;
1185
+ var options = {
1186
+ position: 'top',
1187
+ scroll: false,
1188
+ defaults: {
1189
+ position: 'top'
1190
+ }
1191
+ }
1192
+ WPFormsBuilder.fieldAdd('pagebreak', options).done(function(res){
1193
+ s.pagebreakTop = res.data.field.id;
1194
+ //console.log( 'PB top is ' + res.data.field.id);
1195
+ var $preview = $('#wpforms-field-'+res.data.field.id),
1196
+ $options = $('#wpforms-field-option-'+res.data.field.id);
1197
+
1198
+ $options.find('.wpforms-field-option-group').addClass('wpforms-pagebreak-top');
1199
+ $preview.addClass('wpforms-field-stick wpforms-pagebreak-top');
1200
+ });
1201
+
1202
+ } else if ( ! s.pagebreakBottom ) {
1203
+
1204
+ s.pagebreakBottom = true;
1205
+ var options = {
1206
+ position: 'bottom',
1207
+ scroll: false,
1208
+ defaults: {
1209
+ position: 'bottom'
1210
+ }
1211
+ }
1212
+ WPFormsBuilder.fieldAdd('pagebreak', options).done(function(res){
1213
+ s.pagebreakBottom = res.data.field.id;
1214
+ //console.log( 'PB bottom is ' + res.data.field.id);
1215
+ var $preview = $('#wpforms-field-'+res.data.field.id),
1216
+ $options = $('#wpforms-field-option-'+res.data.field.id);
1217
+
1218
+ $options.find('.wpforms-field-option-group').addClass('wpforms-pagebreak-bottom');
1219
+ $preview.addClass('wpforms-field-stick wpforms-pagebreak-bottom');
1220
+ });
1221
+ }
1222
+ },
1223
+
1224
+ /**
1225
+ * Watches fields being deleted and listens for a pagebreak field.
1226
+ *
1227
+ * If a pagebreak field is added, and it's the first one, then we
1228
+ * automatically add the top and bottom pagebreak elements to the
1229
+ * builder.
1230
+ *
1231
+ * @since 1.2.1
1232
+ */
1233
+ fieldPagebreakDelete: function(event, id, type) {
1234
+
1235
+ if ( 'pagebreak' !== type )
1236
+ return;
1237
+
1238
+ var pagebreaksRemaining = $('.wpforms-field-pagebreak').not('.wpforms-pagebreak-top, .wpforms-pagebreak-bottom').length;
1239
+
1240
+ // All pagebreaks, excluding top/bottom, are gone so we need to
1241
+ // remove the top and bottom pagebreak
1242
+ if ( !pagebreaksRemaining ) {
1243
+ var $top = $('.wpforms-preview-wrap').find('.wpforms-pagebreak-top'),
1244
+ topID = $top.data('field-id'),
1245
+ $bottom = $('.wpforms-preview-wrap').find('.wpforms-pagebreak-bottom'),
1246
+ bottomID = $bottom.data('field-id');
1247
+
1248
+ // Remove
1249
+ $top.remove();
1250
+ $('#wpforms-field-option-'+topID).remove();
1251
+ s.pagebreakTop = false;
1252
+ $bottom.remove();
1253
+ $('#wpforms-field-option-'+bottomID).remove();
1254
+ s.pagebreakBottom = false;
1255
+ }
1256
+ },
1257
+
1258
  //--------------------------------------------------------------------//
1259
  // Settings Panel
1260
  //--------------------------------------------------------------------//
1324
  });
1325
  },
1326
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1327
  /**
1328
  * Toggle displaying the ReCAPTCHA.
1329
  *
1672
  multiple: true
1673
  });
1674
  },
1675
+
1676
+ /**
1677
+ * Load or refresh tooltips.
1678
+ *
1679
+ * @since 1.2.1
1680
+ */
1681
+ loadColorPickers: function() {
1682
+ $('.wpforms-color-picker').minicolors();
1683
+ }
1684
  };
1685
 
1686
  WPFormsBuilder.init();
assets/js/jquery.minicolors.min.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery MiniColors: A tiny color picker built on jQuery
3
+ *
4
+ * Copyright: Cory LaViska for A Beautiful Site, LLC: http://www.abeautifulsite.net/
5
+ *
6
+ * Contribute: https://github.com/claviska/jquery-minicolors
7
+ *
8
+ * @license: http://opensource.org/licenses/MIT
9
+ *
10
+ */
11
+ !function(i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function($){"use strict";function i(i,t){var o=$('<div class="minicolors" />'),s=$.minicolors.defaults,a,n,r,c,l;if(!i.data("minicolors-initialized")){if(t=$.extend(!0,{},s,t),o.addClass("minicolors-theme-"+t.theme).toggleClass("minicolors-with-opacity",t.opacity).toggleClass("minicolors-no-data-uris",t.dataUris!==!0),void 0!==t.position&&$.each(t.position.split(" "),function(){o.addClass("minicolors-position-"+this)}),a="rgb"===t.format?t.opacity?"25":"20":t.keywords?"11":"7",i.addClass("minicolors-input").data("minicolors-initialized",!1).data("minicolors-settings",t).prop("size",a).wrap(o).after('<div class="minicolors-panel minicolors-slider-'+t.control+'"><div class="minicolors-slider minicolors-sprite"><div class="minicolors-picker"></div></div><div class="minicolors-opacity-slider minicolors-sprite"><div class="minicolors-picker"></div></div><div class="minicolors-grid minicolors-sprite"><div class="minicolors-grid-inner"></div><div class="minicolors-picker"><div></div></div></div></div>'),t.inline||(i.after('<span class="minicolors-swatch minicolors-sprite minicolors-input-swatch"><span class="minicolors-swatch-color"></span></span>'),i.next(".minicolors-input-swatch").on("click",function(t){t.preventDefault(),i.focus()})),c=i.parent().find(".minicolors-panel"),c.on("selectstart",function(){return!1}).end(),t.swatches&&0!==t.swatches.length)for(t.swatches.length>7&&(t.swatches.length=7),c.addClass("minicolors-with-swatches"),n=$('<ul class="minicolors-swatches"></ul>').appendTo(c),l=0;l<t.swatches.length;++l)r=t.swatches[l],r=f(r)?u(r,!0):x(p(r,!0)),$('<li class="minicolors-swatch minicolors-sprite"><span class="minicolors-swatch-color"></span></li>').appendTo(n).data("swatch-color",t.swatches[l]).find(".minicolors-swatch-color").css({backgroundColor:y(r),opacity:r.a}),t.swatches[l]=r;t.inline&&i.parent().addClass("minicolors-inline"),e(i,!1),i.data("minicolors-initialized",!0)}}function t(i){var t=i.parent();i.removeData("minicolors-initialized").removeData("minicolors-settings").removeProp("size").removeClass("minicolors-input"),t.before(i).remove()}function o(i){var t=i.parent(),o=t.find(".minicolors-panel"),a=i.data("minicolors-settings");!i.data("minicolors-initialized")||i.prop("disabled")||t.hasClass("minicolors-inline")||t.hasClass("minicolors-focus")||(s(),t.addClass("minicolors-focus"),o.stop(!0,!0).fadeIn(a.showSpeed,function(){a.show&&a.show.call(i.get(0))}))}function s(){$(".minicolors-focus").each(function(){var i=$(this),t=i.find(".minicolors-input"),o=i.find(".minicolors-panel"),s=t.data("minicolors-settings");o.fadeOut(s.hideSpeed,function(){s.hide&&s.hide.call(t.get(0)),i.removeClass("minicolors-focus")})})}function a(i,t,o){var s=i.parents(".minicolors").find(".minicolors-input"),a=s.data("minicolors-settings"),r=i.find("[class$=-picker]"),e=i.offset().left,c=i.offset().top,l=Math.round(t.pageX-e),h=Math.round(t.pageY-c),d=o?a.animationSpeed:0,p,u,g,m;t.originalEvent.changedTouches&&(l=t.originalEvent.changedTouches[0].pageX-e,h=t.originalEvent.changedTouches[0].pageY-c),0>l&&(l=0),0>h&&(h=0),l>i.width()&&(l=i.width()),h>i.height()&&(h=i.height()),i.parent().is(".minicolors-slider-wheel")&&r.parent().is(".minicolors-grid")&&(p=75-l,u=75-h,g=Math.sqrt(p*p+u*u),m=Math.atan2(u,p),0>m&&(m+=2*Math.PI),g>75&&(g=75,l=75-75*Math.cos(m),h=75-75*Math.sin(m)),l=Math.round(l),h=Math.round(h)),i.is(".minicolors-grid")?r.stop(!0).animate({top:h+"px",left:l+"px"},d,a.animationEasing,function(){n(s,i)}):r.stop(!0).animate({top:h+"px"},d,a.animationEasing,function(){n(s,i)})}function n(i,t){function o(i,t){var o,s;return i.length&&t?(o=i.offset().left,s=i.offset().top,{x:o-t.offset().left+i.outerWidth()/2,y:s-t.offset().top+i.outerHeight()/2}):null}var s,a,n,e,l,h,d,p=i.val(),u=i.attr("data-opacity"),g=i.parent(),f=i.data("minicolors-settings"),v=g.find(".minicolors-input-swatch"),b=g.find(".minicolors-grid"),w=g.find(".minicolors-slider"),y=g.find(".minicolors-opacity-slider"),k=b.find("[class$=-picker]"),M=w.find("[class$=-picker]"),x=y.find("[class$=-picker]"),I=o(k,b),S=o(M,w),z=o(x,y);if(t.is(".minicolors-grid, .minicolors-slider, .minicolors-opacity-slider")){switch(f.control){case"wheel":e=b.width()/2-I.x,l=b.height()/2-I.y,h=Math.sqrt(e*e+l*l),d=Math.atan2(l,e),0>d&&(d+=2*Math.PI),h>75&&(h=75,I.x=69-75*Math.cos(d),I.y=69-75*Math.sin(d)),a=m(h/.75,0,100),s=m(180*d/Math.PI,0,360),n=m(100-Math.floor(S.y*(100/w.height())),0,100),p=C({h:s,s:a,b:n}),w.css("backgroundColor",C({h:s,s:a,b:100}));break;case"saturation":s=m(parseInt(I.x*(360/b.width()),10),0,360),a=m(100-Math.floor(S.y*(100/w.height())),0,100),n=m(100-Math.floor(I.y*(100/b.height())),0,100),p=C({h:s,s:a,b:n}),w.css("backgroundColor",C({h:s,s:100,b:n})),g.find(".minicolors-grid-inner").css("opacity",a/100);break;case"brightness":s=m(parseInt(I.x*(360/b.width()),10),0,360),a=m(100-Math.floor(I.y*(100/b.height())),0,100),n=m(100-Math.floor(S.y*(100/w.height())),0,100),p=C({h:s,s:a,b:n}),w.css("backgroundColor",C({h:s,s:a,b:100})),g.find(".minicolors-grid-inner").css("opacity",1-n/100);break;default:s=m(360-parseInt(S.y*(360/w.height()),10),0,360),a=m(Math.floor(I.x*(100/b.width())),0,100),n=m(100-Math.floor(I.y*(100/b.height())),0,100),p=C({h:s,s:a,b:n}),b.css("backgroundColor",C({h:s,s:100,b:100}))}u=f.opacity?parseFloat(1-z.y/y.height()).toFixed(2):1,r(i,p,u)}else v.find("span").css({backgroundColor:p,opacity:u}),c(i,p,u)}function r(i,t,o){var s,a=i.parent(),n=i.data("minicolors-settings"),r=a.find(".minicolors-input-swatch");n.opacity&&i.attr("data-opacity",o),"rgb"===n.format?(s=f(t)?u(t,!0):x(p(t,!0)),o=""===i.attr("data-opacity")?1:m(parseFloat(i.attr("data-opacity")).toFixed(2),0,1),(isNaN(o)||!n.opacity)&&(o=1),t=i.minicolors("rgbObject").a<=1&&s&&n.opacity?"rgba("+s.r+", "+s.g+", "+s.b+", "+parseFloat(o)+")":"rgb("+s.r+", "+s.g+", "+s.b+")"):(f(t)&&(t=w(t)),t=d(t,n.letterCase)),i.val(t),r.find("span").css({backgroundColor:t,opacity:o}),c(i,t,o)}function e(i,t){var o,s,a,n,r,e,l,h,b,y,M=i.parent(),x=i.data("minicolors-settings"),I=M.find(".minicolors-input-swatch"),S=M.find(".minicolors-grid"),z=M.find(".minicolors-slider"),F=M.find(".minicolors-opacity-slider"),D=S.find("[class$=-picker]"),T=z.find("[class$=-picker]"),j=F.find("[class$=-picker]");switch(f(i.val())?(o=w(i.val()),r=m(parseFloat(v(i.val())).toFixed(2),0,1),r&&i.attr("data-opacity",r)):o=d(p(i.val(),!0),x.letterCase),o||(o=d(g(x.defaultValue,!0),x.letterCase)),s=k(o),n=x.keywords?$.map(x.keywords.split(","),function(i){return $.trim(i.toLowerCase())}):[],e=""!==i.val()&&$.inArray(i.val().toLowerCase(),n)>-1?d(i.val()):f(i.val())?u(i.val()):o,t||i.val(e),x.opacity&&(a=""===i.attr("data-opacity")?1:m(parseFloat(i.attr("data-opacity")).toFixed(2),0,1),isNaN(a)&&(a=1),i.attr("data-opacity",a),I.find("span").css("opacity",a),h=m(F.height()-F.height()*a,0,F.height()),j.css("top",h+"px")),"transparent"===i.val().toLowerCase()&&I.find("span").css("opacity",0),I.find("span").css("backgroundColor",o),x.control){case"wheel":b=m(Math.ceil(.75*s.s),0,S.height()/2),y=s.h*Math.PI/180,l=m(75-Math.cos(y)*b,0,S.width()),h=m(75-Math.sin(y)*b,0,S.height()),D.css({top:h+"px",left:l+"px"}),h=150-s.b/(100/S.height()),""===o&&(h=0),T.css("top",h+"px"),z.css("backgroundColor",C({h:s.h,s:s.s,b:100}));break;case"saturation":l=m(5*s.h/12,0,150),h=m(S.height()-Math.ceil(s.b/(100/S.height())),0,S.height()),D.css({top:h+"px",left:l+"px"}),h=m(z.height()-s.s*(z.height()/100),0,z.height()),T.css("top",h+"px"),z.css("backgroundColor",C({h:s.h,s:100,b:s.b})),M.find(".minicolors-grid-inner").css("opacity",s.s/100);break;case"brightness":l=m(5*s.h/12,0,150),h=m(S.height()-Math.ceil(s.s/(100/S.height())),0,S.height()),D.css({top:h+"px",left:l+"px"}),h=m(z.height()-s.b*(z.height()/100),0,z.height()),T.css("top",h+"px"),z.css("backgroundColor",C({h:s.h,s:s.s,b:100})),M.find(".minicolors-grid-inner").css("opacity",1-s.b/100);break;default:l=m(Math.ceil(s.s/(100/S.width())),0,S.width()),h=m(S.height()-Math.ceil(s.b/(100/S.height())),0,S.height()),D.css({top:h+"px",left:l+"px"}),h=m(z.height()-s.h/(360/z.height()),0,z.height()),T.css("top",h+"px"),S.css("backgroundColor",C({h:s.h,s:100,b:100}))}i.data("minicolors-initialized")&&c(i,e,a)}function c(i,t,o){var s=i.data("minicolors-settings"),a=i.data("minicolors-lastChange"),n,r,e;if(!a||a.value!==t||a.opacity!==o){if(i.data("minicolors-lastChange",{value:t,opacity:o}),s.swatches&&0!==s.swatches.length){for(n=f(t)?u(t,!0):x(t),r=-1,e=0;e<s.swatches.length;++e)if(n.r===s.swatches[e].r&&n.g===s.swatches[e].g&&n.b===s.swatches[e].b&&n.a===s.swatches[e].a){r=e;break}i.parent().find(".minicolors-swatches .minicolors-swatch").removeClass("selected"),-1!==e&&i.parent().find(".minicolors-swatches .minicolors-swatch").eq(e).addClass("selected")}s.change&&(s.changeDelay?(clearTimeout(i.data("minicolors-changeTimeout")),i.data("minicolors-changeTimeout",setTimeout(function(){s.change.call(i.get(0),t,o)},s.changeDelay))):s.change.call(i.get(0),t,o)),i.trigger("change").trigger("input")}}function l(i){var t=p($(i).val(),!0),o=x(t),s=$(i).attr("data-opacity");return o?(void 0!==s&&$.extend(o,{a:parseFloat(s)}),o):null}function h(i,t){var o=p($(i).val(),!0),s=x(o),a=$(i).attr("data-opacity");return s?(void 0===a&&(a=1),t?"rgba("+s.r+", "+s.g+", "+s.b+", "+parseFloat(a)+")":"rgb("+s.r+", "+s.g+", "+s.b+")"):null}function d(i,t){return"uppercase"===t?i.toUpperCase():i.toLowerCase()}function p(i,t){return i=i.replace(/^#/g,""),i.match(/^[A-F0-9]{3,6}/gi)?3!==i.length&&6!==i.length?"":(3===i.length&&t&&(i=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]),"#"+i):""}function u(i,t){var o=i.replace(/[^\d,.]/g,""),s=o.split(",");return s[0]=m(parseInt(s[0],10),0,255),s[1]=m(parseInt(s[1],10),0,255),s[2]=m(parseInt(s[2],10),0,255),s[3]&&(s[3]=m(parseFloat(s[3],10),0,1)),t?{r:s[0],g:s[1],b:s[2],a:s[3]?s[3]:null}:"undefined"!=typeof s[3]&&s[3]<=1?"rgba("+s[0]+", "+s[1]+", "+s[2]+", "+s[3]+")":"rgb("+s[0]+", "+s[1]+", "+s[2]+")"}function g(i,t){return f(i)?u(i):p(i,t)}function m(i,t,o){return t>i&&(i=t),i>o&&(i=o),i}function f(i){var t=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);return t&&4===t.length?!0:!1}function v(i){return i=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+(\.\d{1,2})?|\.\d{1,2})[\s+]?/i),i&&6===i.length?i[4]:"1"}function b(i){var t={},o=Math.round(i.h),s=Math.round(255*i.s/100),a=Math.round(255*i.b/100);if(0===s)t.r=t.g=t.b=a;else{var n=a,r=(255-s)*a/255,e=(n-r)*(o%60)/60;360===o&&(o=0),60>o?(t.r=n,t.b=r,t.g=r+e):120>o?(t.g=n,t.b=r,t.r=n-e):180>o?(t.g=n,t.r=r,t.b=r+e):240>o?(t.b=n,t.r=r,t.g=n-e):300>o?(t.b=n,t.g=r,t.r=r+e):360>o?(t.r=n,t.g=r,t.b=n-e):(t.r=0,t.g=0,t.b=0)}return{r:Math.round(t.r),g:Math.round(t.g),b:Math.round(t.b)}}function w(i){return i=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i),i&&4===i.length?"#"+("0"+parseInt(i[1],10).toString(16)).slice(-2)+("0"+parseInt(i[2],10).toString(16)).slice(-2)+("0"+parseInt(i[3],10).toString(16)).slice(-2):""}function y(i){var t=[i.r.toString(16),i.g.toString(16),i.b.toString(16)];return $.each(t,function(i,o){1===o.length&&(t[i]="0"+o)}),"#"+t.join("")}function C(i){return y(b(i))}function k(i){var t=M(x(i));return 0===t.s&&(t.h=360),t}function M(i){var t={h:0,s:0,b:0},o=Math.min(i.r,i.g,i.b),s=Math.max(i.r,i.g,i.b),a=s-o;return t.b=s,t.s=0!==s?255*a/s:0,0!==t.s?i.r===s?t.h=(i.g-i.b)/a:i.g===s?t.h=2+(i.b-i.r)/a:t.h=4+(i.r-i.g)/a:t.h=-1,t.h*=60,t.h<0&&(t.h+=360),t.s*=100/255,t.b*=100/255,t}function x(i){return i=parseInt(i.indexOf("#")>-1?i.substring(1):i,16),{r:i>>16,g:(65280&i)>>8,b:255&i}}$.minicolors={defaults:{animationSpeed:50,animationEasing:"swing",change:null,changeDelay:0,control:"hue",dataUris:!0,defaultValue:"",format:"hex",hide:null,hideSpeed:100,inline:!1,keywords:"",letterCase:"lowercase",opacity:!1,position:"bottom left",show:null,showSpeed:100,theme:"default",swatches:[]}},$.extend($.fn,{minicolors:function(a,n){switch(a){case"destroy":return $(this).each(function(){t($(this))}),$(this);case"hide":return s(),$(this);case"opacity":return void 0===n?$(this).attr("data-opacity"):($(this).each(function(){e($(this).attr("data-opacity",n))}),$(this));case"rgbObject":return l($(this),"rgbaObject"===a);case"rgbString":case"rgbaString":return h($(this),"rgbaString"===a);case"settings":return void 0===n?$(this).data("minicolors-settings"):($(this).each(function(){var i=$(this).data("minicolors-settings")||{};t($(this)),$(this).minicolors($.extend(!0,i,n))}),$(this));case"show":return o($(this).eq(0)),$(this);case"value":return void 0===n?$(this).val():($(this).each(function(){"object"==typeof n?(n.opacity&&$(this).attr("data-opacity",m(n.opacity,0,1)),n.color&&$(this).val(n.color)):$(this).val(n),e($(this))}),$(this));default:return"create"!==a&&(n=a),$(this).each(function(){i($(this),n)}),$(this)}}}),$(document).on("mousedown.minicolors touchstart.minicolors",function(i){$(i.target).parents().add(i.target).hasClass("minicolors")||s()}).on("mousedown.minicolors touchstart.minicolors",".minicolors-grid, .minicolors-slider, .minicolors-opacity-slider",function(i){var t=$(this);i.preventDefault(),$(document).data("minicolors-target",t),a(t,i,!0)}).on("mousemove.minicolors touchmove.minicolors",function(i){var t=$(document).data("minicolors-target");t&&a(t,i)}).on("mouseup.minicolors touchend.minicolors",function(){$(this).removeData("minicolors-target")}).on("click.minicolors",".minicolors-swatches li",function(i){i.preventDefault();var t=$(this),o=t.parents(".minicolors").find(".minicolors-input"),s=t.data("swatch-color");r(o,s,v(s)),e(o)}).on("mousedown.minicolors touchstart.minicolors",".minicolors-input-swatch",function(i){var t=$(this).parent().find(".minicolors-input");i.preventDefault(),o(t)}).on("focus.minicolors",".minicolors-input",function(){var i=$(this);i.data("minicolors-initialized")&&o(i)}).on("blur.minicolors",".minicolors-input",function(){var i=$(this),t=i.data("minicolors-settings"),o,s,a,n,r;i.data("minicolors-initialized")&&(o=t.keywords?$.map(t.keywords.split(","),function(i){return $.trim(i.toLowerCase())}):[],""!==i.val()&&$.inArray(i.val().toLowerCase(),o)>-1?r=i.val():(f(i.val())?a=u(i.val(),!0):(s=p(i.val(),!0),a=s?x(s):null),r=null===a?t.defaultValue:"rgb"===t.format?u(t.opacity?"rgba("+a.r+","+a.g+","+a.b+","+i.attr("data-opacity")+")":"rgb("+a.r+","+a.g+","+a.b+")"):y(a)),n=t.opacity?i.attr("data-opacity"):1,"transparent"===r.toLowerCase()&&(n=0),i.closest(".minicolors").find(".minicolors-input-swatch > span").css("opacity",n),i.val(r),""===i.val()&&i.val(g(t.defaultValue,!0)),i.val(d(i.val(),t.letterCase)))}).on("keydown.minicolors",".minicolors-input",function(i){var t=$(this);if(t.data("minicolors-initialized"))switch(i.keyCode){case 9:s();break;case 13:case 27:s(),t.blur()}}).on("keyup.minicolors",".minicolors-input",function(){var i=$(this);i.data("minicolors-initialized")&&e(i,!0)}).on("paste.minicolors",".minicolors-input",function(){var i=$(this);i.data("minicolors-initialized")&&setTimeout(function(){e(i,!0)},1)})});
assets/js/wpforms.js CHANGED
@@ -154,17 +154,20 @@
154
  $(document).on('click', '.wpforms-page-button', function(event) {
155
  event.preventDefault();
156
 
157
- var $this = $(this),
158
- valid = true,
159
- action = $(this).data('action'),
160
- page = $this.data('page'),
161
- next = page+1,
162
- prev = page-1,
163
- formID = $this.data('formid'),
164
- $form = $this.closest('.wpforms-form'),
165
- $page = $form.find('.wpforms-page-'+page),
166
- $submit = $form.find('.wpforms-submit-container');
 
 
167
 
 
168
  if ( action == 'next' ){
169
  // Validate
170
  if(typeof $.fn.validate !== 'undefined') {
@@ -178,6 +181,7 @@
178
  }
179
  // Move to next page
180
  if (valid) {
 
181
  $page.hide();
182
  var $nextPage = $form.find('.wpforms-page-'+next);
183
  $nextPage.show();
@@ -191,6 +195,7 @@
191
  }
192
  } else if ( action == 'prev' ) {
193
  // Move to prev page
 
194
  $page.hide();
195
  $form.find('.wpforms-page-'+prev).show();
196
  $submit.hide();
@@ -199,6 +204,35 @@
199
  scrollTop: $form.offset().top-75
200
  }, 1000);
201
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
  });
203
 
204
  /**
154
  $(document).on('click', '.wpforms-page-button', function(event) {
155
  event.preventDefault();
156
 
157
+ var $this = $(this),
158
+ valid = true,
159
+ action = $(this).data('action'),
160
+ page = $this.data('page'),
161
+ page2 = page;
162
+ next = page+1,
163
+ prev = page-1,
164
+ formID = $this.data('formid'),
165
+ $form = $this.closest('.wpforms-form'),
166
+ $page = $form.find('.wpforms-page-'+page),
167
+ $submit = $form.find('.wpforms-submit-container');
168
+ $indicator = $form.find('.wpforms-page-indicator');
169
 
170
+ // Toggling between pages
171
  if ( action == 'next' ){
172
  // Validate
173
  if(typeof $.fn.validate !== 'undefined') {
181
  }
182
  // Move to next page
183
  if (valid) {
184
+ page2 = next;
185
  $page.hide();
186
  var $nextPage = $form.find('.wpforms-page-'+next);
187
  $nextPage.show();
195
  }
196
  } else if ( action == 'prev' ) {
197
  // Move to prev page
198
+ page2 = prev;
199
  $page.hide();
200
  $form.find('.wpforms-page-'+prev).show();
201
  $submit.hide();
204
  scrollTop: $form.offset().top-75
205
  }, 1000);
206
  }
207
+
208
+ if ( $indicator ) {
209
+ var theme = $indicator.data('indicator'),
210
+ color = $indicator.data('indicator-color');
211
+ if ('connector' === theme || 'circles' === theme) {
212
+ $indicator.find('.wpforms-page-indicator-page').removeClass('active');
213
+ $indicator.find('.wpforms-page-indicator-page-'+page2).addClass('active');
214
+ $indicator.find('.wpforms-page-indicator-page-number').removeAttr('style');
215
+ $indicator.find('.active .wpforms-page-indicator-page-number').css('background-color', color);
216
+ if ( 'connector' == theme) {
217
+ $indicator.find('.wpforms-page-indicator-page-triangle').removeAttr('style');
218
+ $indicator.find('.active .wpforms-page-indicator-page-triangle').css('border-top-color', color);
219
+ }
220
+ } else if ('progress' === theme) {
221
+ var $pageTitle = $indicator.find('.wpforms-page-indicator-page-title'),
222
+ $pageSep = $indicator.find('.wpforms-page-indicator-page-title-sep'),
223
+ totalPages = ($('.wpforms-page').length),
224
+ width = (page2/totalPages)*100;
225
+ $indicator.find('.wpforms-page-indicator-page-progress').css('width', width+'%');
226
+ $indicator.find('.wpforms-page-indicator-steps-current').text(page2);
227
+ if ($pageTitle.data('page-'+page2+'-title')) {
228
+ $pageTitle.css('display','inline').text($pageTitle.data('page-'+page2+'-title'));
229
+ $pageSep.css('display','inline');
230
+ } else {
231
+ $pageTitle.css('display','none');
232
+ $pageSep.css('display','none');
233
+ }
234
+ }
235
+ }
236
  });
237
 
238
  /**
includes/admin/builder/class-builder.php CHANGED
@@ -172,6 +172,13 @@ class WPForms_Builder {
172
  '2.0.0'
173
  );
174
 
 
 
 
 
 
 
 
175
  wp_enqueue_style(
176
  'wpforms-builder',
177
  WPFORMS_PLUGIN_URL . 'assets/css/admin-builder.css',
@@ -182,8 +189,8 @@ class WPForms_Builder {
182
  // JS
183
 
184
  wp_enqueue_media();
185
-
186
  wp_enqueue_script( 'jquery-ui-sortable' );
 
187
 
188
  wp_enqueue_script(
189
  'serialize-object',
@@ -225,6 +232,14 @@ class WPForms_Builder {
225
  false
226
  );
227
 
 
 
 
 
 
 
 
 
228
  wp_enqueue_script(
229
  'wpforms-utils',
230
  WPFORMS_PLUGIN_URL . 'assets/js/admin-utils.js',
172
  '2.0.0'
173
  );
174
 
175
+ wp_enqueue_style(
176
+ 'minicolors',
177
+ WPFORMS_PLUGIN_URL . 'assets/css/jquery.minicolors.css',
178
+ null,
179
+ '2.2.3'
180
+ );
181
+
182
  wp_enqueue_style(
183
  'wpforms-builder',
184
  WPFORMS_PLUGIN_URL . 'assets/css/admin-builder.css',
189
  // JS
190
 
191
  wp_enqueue_media();
 
192
  wp_enqueue_script( 'jquery-ui-sortable' );
193
+ wp_enqueue_script( 'jquery-ui-draggable' );
194
 
195
  wp_enqueue_script(
196
  'serialize-object',
232
  false
233
  );
234
 
235
+ wp_enqueue_script(
236
+ 'minicolors',
237
+ WPFORMS_PLUGIN_URL . 'assets/js/jquery.minicolors.min.js',
238
+ array( 'jquery' ),
239
+ '2.2.3',
240
+ false
241
+ );
242
+
243
  wp_enqueue_script(
244
  'wpforms-utils',
245
  WPFORMS_PLUGIN_URL . 'assets/js/admin-utils.js',
includes/admin/builder/panels/class-fields.php CHANGED
@@ -115,13 +115,6 @@ class WPForms_Builder_Panel_Fields extends WPForms_Builder_Panel {
115
  <?php do_action( 'wpforms_builder_preview', $this->form ); ?>
116
  </div>
117
 
118
- <p class="wpforms-field-pagebreak-last ">
119
- <?php
120
- $prev = !empty( $this->form_data['settings']['pagebreak_prev'] ) ? esc_html( $this->form_data['settings']['pagebreak_prev'] ) : __( 'Previous', 'wpforms' );
121
- echo '<button class="wpforms-pagebreak-button wpforms-pagebreak-prev">' . $prev . '</button>';
122
- ?>
123
- </p>
124
-
125
  <p class="wpforms-field-recaptcha">
126
  <img src="<?php echo WPFORMS_PLUGIN_URL; ?>/assets/images/recaptcha-placeholder.png">
127
  </p>
@@ -246,9 +239,13 @@ class WPForms_Builder_Panel_Fields extends WPForms_Builder_Panel {
246
  $css .= !empty( $field['label_hide'] ) && $field['label_hide'] == '1' ? ' label_hide' : '' ;
247
  $css .= !empty( $field['sublabel_hide'] ) && $field['sublabel_hide'] == '1' ? ' sublabel_hide' : '';
248
  $css .= !empty( $field['required'] ) && $field['required'] == '1' ? ' required' : '';
 
 
249
  $css .= isset( $field['meta']['delete'] ) && $field['meta']['delete'] === false ? ' no-delete' : '';
 
 
250
 
251
- printf( '<div class="wpforms-field wpforms-field-%s %s" id="wpforms-field-%d" data-field-id="%d">', $field['type'], $css, $field['id'], $field['id'] );
252
 
253
  printf( '<a href="#" class="wpforms-field-delete" title="%s"><i class="fa fa-times-circle"></i></a>', __( 'Delete Field', 'wpforms' ) );
254
 
115
  <?php do_action( 'wpforms_builder_preview', $this->form ); ?>
116
  </div>
117
 
 
 
 
 
 
 
 
118
  <p class="wpforms-field-recaptcha">
119
  <img src="<?php echo WPFORMS_PLUGIN_URL; ?>/assets/images/recaptcha-placeholder.png">
120
  </p>
239
  $css .= !empty( $field['label_hide'] ) && $field['label_hide'] == '1' ? ' label_hide' : '' ;
240
  $css .= !empty( $field['sublabel_hide'] ) && $field['sublabel_hide'] == '1' ? ' sublabel_hide' : '';
241
  $css .= !empty( $field['required'] ) && $field['required'] == '1' ? ' required' : '';
242
+ $css .= !empty( $field['input_columns'] ) && $field['input_columns'] == '2' ? ' wpforms-list-2-columns' : '';
243
+ $css .= !empty( $field['input_columns'] ) && $field['input_columns'] == '3' ? ' wpforms-list-3-columns' : '';
244
  $css .= isset( $field['meta']['delete'] ) && $field['meta']['delete'] === false ? ' no-delete' : '';
245
+
246
+ $css = apply_filters( 'wpforms_field_preview_class', $css, $field );
247
 
248
+ printf( '<div class="wpforms-field wpforms-field-%s %s" id="wpforms-field-%d" data-field-id="%d" data-field-type="%s">', $field['type'], $css, $field['id'], $field['id'], $field['type'] );
249
 
250
  printf( '<a href="#" class="wpforms-field-delete" title="%s"><i class="fa fa-times-circle"></i></a>', __( 'Delete Field', 'wpforms' ) );
251
 
includes/admin/builder/panels/class-settings.php CHANGED
@@ -108,14 +108,6 @@ class WPForms_Builder_Panel_Settings extends WPForms_Builder_Panel {
108
  $this->form_data,
109
  __( 'Hide form title and description area', 'wpforms' )
110
  );
111
- wpforms_panel_field(
112
- 'text',
113
- 'settings',
114
- 'pagebreak_prev',
115
- $this->form_data,
116
- __( 'Last Previous Label', 'wpforms' ),
117
- array( 'default' => __( 'Previous', 'wpforms' ) )
118
- );
119
  wpforms_panel_field(
120
  'text',
121
  'settings',
108
  $this->form_data,
109
  __( 'Hide form title and description area', 'wpforms' )
110
  );
 
 
 
 
 
 
 
 
111
  wpforms_panel_field(
112
  'text',
113
  'settings',
includes/admin/class-menu.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /**
3
- * Register menu elements.
4
  *
5
  * @package WPForms
6
  * @author WPForms
@@ -18,8 +18,11 @@ class WPForms_Admin_Menu {
18
  public function __construct() {
19
 
20
  // Let's make some menus
21
- add_action( 'admin_menu', array( $this, 'register_menus' ) );
22
- add_action( 'admin_enqueue_scripts', array( $this, 'menu_icon' ) );
 
 
 
23
  }
24
 
25
  /**
@@ -114,5 +117,23 @@ class WPForms_Admin_Menu {
114
  WPFORMS_VERSION
115
  );
116
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  }
118
  $wpforms_admin_menu = new WPForms_Admin_Menu;
1
  <?php
2
  /**
3
+ * Register menu elements and do other global tasks.
4
  *
5
  * @package WPForms
6
  * @author WPForms
18
  public function __construct() {
19
 
20
  // Let's make some menus
21
+ add_action( 'admin_menu', array( $this, 'register_menus' ) );
22
+ add_action( 'admin_enqueue_scripts', array( $this, 'menu_icon' ) );
23
+
24
+ // Footer text
25
+ add_filter( 'admin_footer_text', array( $this, 'admin_footer' ), 1, 2 );
26
  }
27
 
28
  /**
117
  WPFORMS_VERSION
118
  );
119
  }
120
+
121
+ /**
122
+ * When user is on a WPForms related admin page, display footer text
123
+ * that graciously asks them to rate us.
124
+ *
125
+ * @since 1.2.1
126
+ * @param string $text
127
+ * @return string
128
+ */
129
+ public function admin_footer( $text ) {
130
+
131
+ global $current_screen;
132
+ if ( !empty( $current_screen->id ) && strpos( $current_screen->id, 'wpforms' ) !== false ) {
133
+ $url = 'http://wordpress.org/support/view/plugin-reviews/wpforms-lite?filter=5';
134
+ $text = sprintf( __( 'Please rate <strong>WPForms</strong> <a href="%s" target="_blank">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on <a href="%s" target="_blank">WordPress.org</a> to help us spread the word. Thank you from the WPForms team!', 'wpforms' ), $url, $url );
135
+ }
136
+ return $text;
137
+ }
138
  }
139
  $wpforms_admin_menu = new WPForms_Admin_Menu;
includes/admin/class-settings.php CHANGED
@@ -193,44 +193,6 @@ class WPForms_Settings {
193
 
194
  <table class="form-table">
195
  <tbody>
196
- <?php if ( class_exists( 'WPForms_License' ) ) : ?>
197
- <tr>
198
- <td class="section" colspan="2">
199
- <h4><?php _e( 'License', 'wpforms' ); ?></h4>
200
- <p><?php _e( 'Your license key provides access to updates and Add-ons. ', 'wpforms' ); ?></p>
201
- </td>
202
- </tr>
203
- <tr>
204
- <th scope="row">
205
- <label for="wpforms-settings-general-key"><?php _e( 'License Key', 'wpforms' ); ?></label>
206
- </th>
207
- <td>
208
- <input type="password" name="license-key" id="wpforms-settings-general-key" value="<?php echo $this->get( 'key', '', 'wpforms_license' ); ?>" />
209
- <?php submit_button( __( 'Verify Key', 'wpforms' ), 'primary', 'submit-key-verify', false ); ?>
210
- <?php if ( $this->get( 'key', false, 'wpforms_license' ) ) : ?>
211
- <?php submit_button( __( 'Deactivate Key', 'wpforms' ), 'secondary', 'submit-key-deactivate', false ); ?>
212
- <?php endif; ?>
213
- </form>
214
- </td>
215
- </tr>
216
- <?php if ( $this->get( 'type', false, 'wpforms_license' ) ) : ?>
217
- <tr>
218
- <th scope="row">
219
- <label for="wpforms-settings-general-key-type"><?php _e( 'License Key Type', 'wpforms' ); ?></label>
220
- </th>
221
- <td>
222
- <span class="wpforms-key-type"><?php printf( __( 'Your license key type for this site is <strong>%s.</strong>', 'wpforms' ), $this->get( 'type', 'unknown', 'wpforms_license' ) ); ?></span>
223
- <?php submit_button( __( 'Refresh Key', 'wpforms' ), 'secondary', 'submit-key-refresh', false ); ?>
224
- <p class="description"><?php _e( 'If your license has been upgraded or is incorrect, you may force a refresh.', 'wpforms' ); ?></p>
225
- </td>
226
- </tr>
227
- <?php endif; ?>
228
- <tr>
229
- <td class="section" colspan="2">
230
- <hr>
231
- </td>
232
- </tr>
233
- <?php endif; ?>
234
  <tr>
235
  <th scope="row">
236
  <label for="wpforms-settings-general-css"><?php _e( 'Include Form Styling', 'wpforms' ); ?></label>
193
 
194
  <table class="form-table">
195
  <tbody>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  <tr>
197
  <th scope="row">
198
  <label for="wpforms-settings-general-css"><?php _e( 'Include Form Styling', 'wpforms' ); ?></label>
includes/class-frontend.php CHANGED
@@ -28,15 +28,16 @@ class WPForms_Frontend {
28
  $this->forms = array();
29
 
30
  // Actions
31
- add_action( 'wpforms_frontend_output_success', array( $this, 'confirmation' ), 10, 2 );
32
- add_action( 'wpforms_frontend_output', array( $this, 'head' ), 5, 5 );
33
- add_action( 'wpforms_frontend_output', array( $this, 'fields' ), 10, 5 );
34
- add_action( 'wpforms_frontend_output', array( $this, 'honeypot' ), 15, 5 );
35
- add_action( 'wpforms_frontend_output', array( $this, 'recaptcha' ), 20, 5 );
36
- add_action( 'wpforms_frontend_output', array( $this, 'foot' ), 25, 5 );
37
- add_action( 'wp_enqueue_scripts', array( $this, 'assets_header' ) );
38
- add_action( 'wp_footer', array( $this, 'assets_footer' ) );
39
- add_action( 'wp_footer', array( $this, 'footer_end' ), 99 );
 
40
 
41
  // Register shortcode
42
  add_shortcode( 'wpforms', array( $this, 'shortcode' ) );
@@ -203,6 +204,100 @@ class WPForms_Frontend {
203
  }
204
  }
205
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  /**
207
  * Form field area.
208
  *
@@ -212,7 +307,7 @@ class WPForms_Frontend {
212
  * @param mixed $title
213
  * @param mixed $description
214
  */
215
- public function fields( $form_data, $form, $title, $description ) {
216
 
217
  if ( empty( $form_data['fields'] ) )
218
  return;
@@ -224,20 +319,32 @@ class WPForms_Frontend {
224
  // Form fields area
225
  echo '<div class="wpforms-field-container">';
226
 
 
227
  if ( $pagebreak ) {
228
- echo '<div class="wpforms-page wpforms-page-1 wpforms-active">';
 
 
229
  }
230
 
231
- foreach ( $fields as $field ) {
 
232
 
233
  if ( $field['type'] == 'pagebreak' ) {
234
- $page++;
235
- $form_data['page_total'] = $pagebreak;
236
- $form_data['page_current'] = $page;
 
 
 
 
237
  }
238
 
239
  $field = apply_filters( 'wpforms_field_data', $field, $form_data );
240
 
 
 
 
 
241
  // Basic generic attributes for easy filtering
242
  $field_atts = array(
243
  'field_class' => array(
@@ -270,6 +377,14 @@ class WPForms_Frontend {
270
  $field_atts['field_class'][] = sanitize_html_class( $user_class );
271
  }
272
  }
 
 
 
 
 
 
 
 
273
  // Check size
274
  if ( !empty( $field['size'] ) ) {
275
  $field_atts['input_class'][] = 'wpforms-field-' . sanitize_html_class( $field['size'] );
@@ -342,20 +457,22 @@ class WPForms_Frontend {
342
 
343
  echo '</div>';
344
 
345
- // Page break
346
- if ( $field['type'] == 'pagebreak' ) {
347
-
348
- echo '</div>';
349
-
350
  $next = $page+1;
351
  $last = $next == $pagebreak ? 'last' : '';
352
- printf ('<div class="wpforms-page wpforms-page-%s %s" style="display:none;">', $next, $last );
 
353
  }
354
  }
355
 
356
- // End of final page break
357
  if ( $pagebreak ) {
358
 
 
 
 
 
359
  $prev = !empty( $form_data['settings']['pagebreak_prev'] ) ? esc_html( $form_data['settings']['pagebreak_prev'] ) : __('Previous', 'wpforms' );
360
  echo '<div class="wpforms-field wpforms-field-pagebreak">';
361
  printf(
@@ -365,6 +482,7 @@ class WPForms_Frontend {
365
  $prev
366
  );
367
  echo '</div>';
 
368
 
369
  echo '</div>';
370
  }
28
  $this->forms = array();
29
 
30
  // Actions
31
+ add_action( 'wpforms_frontend_output_success', array( $this, 'confirmation' ), 10, 2 );
32
+ add_action( 'wpforms_frontend_output', array( $this, 'head' ), 5, 5 );
33
+ add_action( 'wpforms_frontend_output', array( $this, 'page_indicator' ), 10, 5 );
34
+ add_action( 'wpforms_frontend_output', array( $this, 'fields' ), 10, 5 );
35
+ add_action( 'wpforms_frontend_output', array( $this, 'honeypot' ), 15, 5 );
36
+ add_action( 'wpforms_frontend_output', array( $this, 'recaptcha' ), 20, 5 );
37
+ add_action( 'wpforms_frontend_output', array( $this, 'foot' ), 25, 5 );
38
+ add_action( 'wp_enqueue_scripts', array( $this, 'assets_header' ) );
39
+ add_action( 'wp_footer', array( $this, 'assets_footer' ) );
40
+ add_action( 'wp_footer', array( $this, 'footer_end' ), 99 );
41
 
42
  // Register shortcode
43
  add_shortcode( 'wpforms', array( $this, 'shortcode' ) );
204
  }
205
  }
206
 
207
+ /**
208
+ * Page Indictor
209
+ *
210
+ * This displays if the form contains pagebreaks and is configured to show
211
+ * a page indicator in the top pagebreak settings.
212
+ *
213
+ * @since 1.2.1
214
+ * @param array $form_data
215
+ * @param object $form
216
+ * @param mixed $title
217
+ * @param mixed $description
218
+ * @param array $errors
219
+ */
220
+ public function page_indicator( $form_data, $form, $title, $description, $errors ) {
221
+
222
+ $pagebreak_top = wpforms_get_pagebreak( $form_data, 'top' );
223
+
224
+ if ( empty( $pagebreak_top['indicator'] ) || 'none' == apply_filters( 'wpforms_frontend_indicator_theme', $pagebreak_top['indicator'], $form_data ) ) {
225
+ return;
226
+ }
227
+
228
+ $pagebreak = array(
229
+ 'indicator' => sanitize_html_class( $pagebreak_top['indicator'] ),
230
+ 'color' => wpforms_sanitize_hex_color( $pagebreak_top['indicator_color'] ),
231
+ 'pages' => wpforms_get_pagebreak( $form_data, 'pages' ),
232
+ );
233
+ $p = 1;
234
+
235
+ printf('<div class="wpforms-page-indicator %s" data-indicator="%s" data-indicator-color="%s">',
236
+ $pagebreak['indicator'],
237
+ $pagebreak['indicator'],
238
+ $pagebreak['color']
239
+ );
240
+
241
+ if ( 'circles' == $pagebreak['indicator'] ) {
242
+
243
+ // Circles theme
244
+ foreach ( $pagebreak['pages'] as $page ) {
245
+ $class = ( 1 === $p ) ? 'active' : '';
246
+ $bg = ( 1 === $p ) ? 'style="background-color:' . $pagebreak['color'] . '"' : '';
247
+ printf( '<div class="wpforms-page-indicator-page %s wpforms-page-indicator-page-%d">', $class, $p );
248
+ printf( '<span class="wpforms-page-indicator-page-number" %s>%d</span>', $bg, $p );
249
+ if ( !empty( $page['title'] ) ) {
250
+ printf( '<span class="wpforms-page-indicator-page-title">%s<span>', esc_html( $page['title'] ) );
251
+ }
252
+ echo '</div>';
253
+ $p++;
254
+ }
255
+
256
+ } elseif ( 'connector' == $pagebreak['indicator'] ) {
257
+
258
+ // Connector theme
259
+ foreach ( $pagebreak['pages'] as $page ) {
260
+ $class = ( 1=== $p ) ? 'active ' : '';
261
+ $bg = ( 1=== $p ) ? 'style="background-color:' . $pagebreak['color'] . '"' : '';
262
+ $border = ( 1=== $p ) ? 'style="border-top-color:' . $pagebreak['color'] . '"' : '';
263
+ $width = 100/(count($pagebreak['pages'])) . '%';
264
+ printf( '<div class="wpforms-page-indicator-page %s wpforms-page-indicator-page-%d" style="width:%s;">', $class, $p, $width );
265
+ printf( '<span class="wpforms-page-indicator-page-number" %s>%d<span class="wpforms-page-indicator-page-triangle" %s></span></span>', $bg, $p, $border );
266
+ if ( !empty( $page['title'] ) ) {
267
+ printf( '<span class="wpforms-page-indicator-page-title">%s<span>', esc_html( $page['title'] ) );
268
+ }
269
+ echo '</div>';
270
+ $p++;
271
+ }
272
+
273
+ } elseif ( 'progress' == $pagebreak['indicator'] ) {
274
+
275
+ // Progress theme
276
+ $p1 = !empty( $pagebreak['pages'][0]['title'] ) ? esc_html( $pagebreak['pages'][0]['title'] ) : '';
277
+ $sep = empty( $p1 ) ? 'style="display:none;"' : '';
278
+ $width = 100/(count($pagebreak['pages'])) . '%';
279
+ $prog = 'style="width:' . $width . ';background-color:' . $pagebreak['color'] . ';"';
280
+ $names = '';
281
+ $step = __( 'Step', 'wpforms' );
282
+ $of = __( 'of', 'wpforms' );
283
+
284
+ foreach ( $pagebreak['pages'] as $page ) {
285
+ if ( !empty( $page['title'] ) ) {
286
+ $names .= sprintf( 'data-page-%d-title="%s" ', $p, esc_attr( $page['title'] ) );
287
+ }
288
+ $p++;
289
+ }
290
+ printf( '<span class="wpforms-page-indicator-page-title" %s>%s</span>', $names, $p1 );
291
+ printf( '<span class="wpforms-page-indicator-page-title-sep" %s> - </span>', $sep );
292
+ printf( '<span class="wpforms-page-indicator-steps">%s <span class="wpforms-page-indicator-steps-current">1</span> %s %d</span>', $step, $of, count( $pagebreak['pages'] ) );
293
+ printf( '<div class="wpforms-page-indicator-page-progress-wrap"><div class="wpforms-page-indicator-page-progress" %s></div></div>', $prog );
294
+ }
295
+
296
+ do_action( 'wpforms_frontend_indicator', $pagebreak, $form_data );
297
+
298
+ echo '</div>';
299
+ }
300
+
301
  /**
302
  * Form field area.
303
  *
307
  * @param mixed $title
308
  * @param mixed $description
309
  */
310
+ public function fields( $form_data, $form, $title, $description, $errors ) {
311
 
312
  if ( empty( $form_data['fields'] ) )
313
  return;
319
  // Form fields area
320
  echo '<div class="wpforms-field-container">';
321
 
322
+ // Pagebreak, begin first page
323
  if ( $pagebreak ) {
324
+ $pbt = wpforms_get_pagebreak( $form_data, 'top');
325
+ $pbt_css = !empty( $pbt['css'] ) ? wpforms_sanitize_classes( $pbt['css'] ) : '';
326
+ echo '<div class="wpforms-page wpforms-page-1 ' . $pbt_css . '">';
327
  }
328
 
329
+ // Loop through all the fields we have
330
+ foreach ( $fields as $field ) {
331
 
332
  if ( $field['type'] == 'pagebreak' ) {
333
+ if ( !empty( $field['position'] ) && 'top' == $field['position'] ) {
334
+ continue;
335
+ } else {
336
+ $page++;
337
+ $form_data['page_total'] = $pagebreak;
338
+ $form_data['page_current'] = $page;
339
+ }
340
  }
341
 
342
  $field = apply_filters( 'wpforms_field_data', $field, $form_data );
343
 
344
+ if ( ! $fields ) {
345
+ continue;
346
+ }
347
+
348
  // Basic generic attributes for easy filtering
349
  $field_atts = array(
350
  'field_class' => array(
377
  $field_atts['field_class'][] = sanitize_html_class( $user_class );
378
  }
379
  }
380
+ // Check input columns
381
+ if ( !empty( $field['input_columns'] ) ) {
382
+ if ( '2' == $field['input_columns'] ) {
383
+ $field_atts['field_class'][] = 'wpforms-list-2-columns';
384
+ } elseif ( '3' == $field['input_columns'] ) {
385
+ $field_atts['field_class'][] = 'wpforms-list-3-columns';
386
+ }
387
+ }
388
  // Check size
389
  if ( !empty( $field['size'] ) ) {
390
  $field_atts['input_class'][] = 'wpforms-field-' . sanitize_html_class( $field['size'] );
457
 
458
  echo '</div>';
459
 
460
+ // Pagebreak, end current page and begin the next
461
+ if ( $field['type'] == 'pagebreak' && $page != $pagebreak ) {
 
 
 
462
  $next = $page+1;
463
  $last = $next == $pagebreak ? 'last' : '';
464
+ $css = !empty( $field['css'] ) ? wpforms_sanitize_classes( $field['css'] ) : '';
465
+ printf ('</div><div class="wpforms-page wpforms-page-%s %s %s" style="display:none;">', $next, $last, $css );
466
  }
467
  }
468
 
469
+ // Pagebreak, end last page
470
  if ( $pagebreak ) {
471
 
472
+ // If we don't have a bottom pagebreak, the form is pre-v1.2.1
473
+ // and this is for backwards compatibility.
474
+ $pbb = wpforms_get_pagebreak( $form_data, 'bottom' );
475
+ if ( ! $pbb ) {
476
  $prev = !empty( $form_data['settings']['pagebreak_prev'] ) ? esc_html( $form_data['settings']['pagebreak_prev'] ) : __('Previous', 'wpforms' );
477
  echo '<div class="wpforms-field wpforms-field-pagebreak">';
478
  printf(
482
  $prev
483
  );
484
  echo '</div>';
485
+ }
486
 
487
  echo '</div>';
488
  }
includes/fields/class-base.php CHANGED
@@ -385,6 +385,20 @@ abstract class WPForms_Field {
385
  $output = $this->field_element( 'checkbox', $field, array( 'slug' => 'sublabel_hide', 'value' => $value, 'desc' => __( 'Hide Sub-Labels', 'wpforms' ), 'tooltip' => $tooltip ), false );
386
  $output = $this->field_element( 'row', $field, array( 'slug' => 'sublabel_hide', 'content' => $output ), false );
387
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
  }
389
 
390
  if ( $echo ) {
@@ -464,8 +478,8 @@ abstract class WPForms_Field {
464
  die( __( 'No field type found', 'wpforms' ) );
465
 
466
  // Grab field data
 
467
  $field_type = esc_attr( $_POST['type'] );
468
- $field_required = '';
469
  $field_id = wpforms()->form->next_field_id( $_POST['id'] );
470
  $field = array(
471
  'id' => $field_id,
@@ -473,9 +487,10 @@ abstract class WPForms_Field {
473
  'label' => $this->name,
474
  'description' => '',
475
  );
476
-
477
  $field = apply_filters( 'wpforms_field_new_default', $field );
478
- $field_required = apply_filters( 'wpforms_field_new_required', $field_required, $field );
 
479
 
480
  // Field types that default to required
481
  if ( !empty( $field_required ) ) {
@@ -487,7 +502,7 @@ abstract class WPForms_Field {
487
  ob_start();
488
  $this->field_preview( $field );
489
  $prev = ob_get_clean();
490
- $preview = sprintf( '<div class="wpforms-field wpforms-field-%s %s" id="wpforms-field-%d" data-field-id="%d">', $field_type, $field_required, $field['id'], $field['id'] );
491
  $preview .= sprintf( '<a href="#" class="wpforms-field-delete" title="%s"><i class="fa fa-times-circle"></i></a>', __( 'Delete Field', 'wpforms' ) );
492
  $preview .= sprintf( '<span class="wpforms-field-helper">%s</span>', __( 'Click to edit. Drag to reorder.', 'wpforms' ) );
493
  $preview .= $prev;
385
  $output = $this->field_element( 'checkbox', $field, array( 'slug' => 'sublabel_hide', 'value' => $value, 'desc' => __( 'Hide Sub-Labels', 'wpforms' ), 'tooltip' => $tooltip ), false );
386
  $output = $this->field_element( 'row', $field, array( 'slug' => 'sublabel_hide', 'content' => $output ), false );
387
  break;
388
+
389
+ // Size
390
+ case 'input_columns' :
391
+ $value = !empty( $field['input_columns'] ) ? esc_attr( $field['input_columns'] ) : '';
392
+ $tooltip = __( 'Select the layout for displaying field choices.', 'wpforms' );
393
+ $options = array(
394
+ '' => __( 'One Column', 'wpforms' ),
395
+ '2' => __( 'Two Columns', 'wpforms'),
396
+ '3' => __( 'Three Columns', 'wpforms' ),
397
+ );
398
+ $output = $this->field_element( 'label', $field, array( 'slug' => 'input_columns', 'value' => __( 'Choice Layout', 'wpforms' ), 'tooltip' => $tooltip ), false );
399
+ $output .= $this->field_element( 'select', $field, array( 'slug' => 'input_columns', 'value' => $value, 'options' => $options ), false );
400
+ $output = $this->field_element( 'row', $field, array( 'slug' => 'input_columns', 'content' => $output ), false );
401
+ break;
402
  }
403
 
404
  if ( $echo ) {
478
  die( __( 'No field type found', 'wpforms' ) );
479
 
480
  // Grab field data
481
+ $field_args = !empty( $_POST['defaults'] ) ? (array) $_POST['defaults'] : array();
482
  $field_type = esc_attr( $_POST['type'] );
 
483
  $field_id = wpforms()->form->next_field_id( $_POST['id'] );
484
  $field = array(
485
  'id' => $field_id,
487
  'label' => $this->name,
488
  'description' => '',
489
  );
490
+ $field = wp_parse_args( $field_args, $field );
491
  $field = apply_filters( 'wpforms_field_new_default', $field );
492
+ $field_required = apply_filters( 'wpforms_field_new_required', '', $field );
493
+ $field_class = apply_filters( 'wpforms_field_new_class', '', $field );
494
 
495
  // Field types that default to required
496
  if ( !empty( $field_required ) ) {
502
  ob_start();
503
  $this->field_preview( $field );
504
  $prev = ob_get_clean();
505
+ $preview = sprintf( '<div class="wpforms-field wpforms-field-%s %s %s" id="wpforms-field-%d" data-field-id="%d" data-field-type="%s">', $field_type, $field_required, $field_class, $field['id'], $field['id'], $field_type );
506
  $preview .= sprintf( '<a href="#" class="wpforms-field-delete" title="%s"><i class="fa fa-times-circle"></i></a>', __( 'Delete Field', 'wpforms' ) );
507
  $preview .= sprintf( '<span class="wpforms-field-helper">%s</span>', __( 'Click to edit. Drag to reorder.', 'wpforms' ) );
508
  $preview .= $prev;
includes/fields/class-checkbox.php CHANGED
@@ -91,6 +91,7 @@ class WPForms_Field_Checkbox extends WPForms_Field {
91
  $show_values = $this->field_element( 'checkbox', $field, array( 'slug' => 'show_values', 'value' => $show_values, 'desc' => __( 'Show Values', 'wpforms' ), 'tooltip' => $tooltip ), false );
92
  $this->field_element( 'row', $field, array( 'slug' => 'show_values', 'content' => $show_values ) );
93
 
 
94
  $this->field_option( 'label_hide', $field );
95
  $this->field_option( 'css', $field );
96
  $this->field_option( 'advanced-options', $field, array( 'markup' => 'close' ) );
91
  $show_values = $this->field_element( 'checkbox', $field, array( 'slug' => 'show_values', 'value' => $show_values, 'desc' => __( 'Show Values', 'wpforms' ), 'tooltip' => $tooltip ), false );
92
  $this->field_element( 'row', $field, array( 'slug' => 'show_values', 'content' => $show_values ) );
93
 
94
+ $this->field_option( 'input_columns', $field );
95
  $this->field_option( 'label_hide', $field );
96
  $this->field_option( 'css', $field );
97
  $this->field_option( 'advanced-options', $field, array( 'markup' => 'close' ) );
includes/fields/class-name.php CHANGED
@@ -219,7 +219,7 @@ class WPForms_Field_Name extends WPForms_Field {
219
  printf( '<div class="wpforms-field-row %s">', $field_class );
220
 
221
  // First name
222
- printf( '<div class="wpforms-field-row-block wpforms-%s">', $columns );
223
 
224
  $first_class = 'wpforms-field-name-first';
225
  $first_class .= !empty( $field_required ) ? ' wpforms-field-required' : '';
@@ -264,7 +264,7 @@ class WPForms_Field_Name extends WPForms_Field {
264
  endif;
265
 
266
  // Last name
267
- printf( '<div class="wpforms-field-row-block wpforms-%s wpforms-last">', $columns );
268
 
269
  $last_class = 'wpforms-field-name-last';
270
  $last_class .= !empty( $field_required ) ? ' wpforms-field-required' : '';
219
  printf( '<div class="wpforms-field-row %s">', $field_class );
220
 
221
  // First name
222
+ printf( '<div class="wpforms-field-row-block wpforms-%s wpforms-first">', $columns );
223
 
224
  $first_class = 'wpforms-field-name-first';
225
  $first_class .= !empty( $field_required ) ? ' wpforms-field-required' : '';
264
  endif;
265
 
266
  // Last name
267
+ printf( '<div class="wpforms-field-row-block wpforms-%s">', $columns );
268
 
269
  $last_class = 'wpforms-field-name-last';
270
  $last_class .= !empty( $field_required ) ? ' wpforms-field-required' : '';
includes/fields/class-radio.php CHANGED
@@ -92,6 +92,7 @@ class WPForms_Field_Radio extends WPForms_Field {
92
  $show_values = $this->field_element( 'checkbox', $field, array( 'slug' => 'show_values', 'value' => $show_values, 'desc' => __( 'Show Values', 'wpforms' ), 'tooltip' => $tooltip ), false );
93
  $this->field_element( 'row', $field, array( 'slug' => 'show_values', 'content' => $show_values ) );
94
 
 
95
  $this->field_option( 'label_hide', $field );
96
  $this->field_option( 'css', $field );
97
  $this->field_option( 'advanced-options', $field, array( 'markup' => 'close' ) );
92
  $show_values = $this->field_element( 'checkbox', $field, array( 'slug' => 'show_values', 'value' => $show_values, 'desc' => __( 'Show Values', 'wpforms' ), 'tooltip' => $tooltip ), false );
93
  $this->field_element( 'row', $field, array( 'slug' => 'show_values', 'content' => $show_values ) );
94
 
95
+ $this->field_option( 'input_columns', $field );
96
  $this->field_option( 'label_hide', $field );
97
  $this->field_option( 'css', $field );
98
  $this->field_option( 'advanced-options', $field, array( 'markup' => 'close' ) );
includes/functions.php CHANGED
@@ -168,7 +168,7 @@ function wpforms_has_pagebreak( $form = false ) {
168
  $fields = $form_data['fields'];
169
 
170
  foreach ( $fields as $field ) {
171
- if ( $field['type'] == 'pagebreak' ) {
172
  $pagebreak = true;
173
  $pages++;
174
  }
@@ -181,6 +181,65 @@ function wpforms_has_pagebreak( $form = false ) {
181
  }
182
  }
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  /**
185
  * Convert a file size provided, such as "2M", to bytes.
186
  *
@@ -654,6 +713,24 @@ function wpforms_countries() {
654
  return apply_filters( 'wpforms_countries', $countries );
655
  }
656
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
657
  /**
658
  * Helper function to display debug data.
659
  *
168
  $fields = $form_data['fields'];
169
 
170
  foreach ( $fields as $field ) {
171
+ if ( $field['type'] == 'pagebreak' && empty( $field['position'] ) ) {
172
  $pagebreak = true;
173
  $pages++;
174
  }
181
  }
182
  }
183
 
184
+ /**
185
+ * Tries to find and return an top or bottom pagebreak.
186
+ *
187
+ * @since 1.2.1
188
+ * @param boolean $form
189
+ * @param string $type
190
+ * @return boolean
191
+ */
192
+ function wpforms_get_pagebreak( $form = false, $type = false ) {
193
+
194
+ $form_data = '';
195
+
196
+ if ( is_object( $form ) && !empty( $form->post_content ) ) {
197
+ $form_data = wpforms_decode( $form->post_content );
198
+ } elseif ( is_array( $form ) ) {
199
+ $form_data = $form;
200
+ }
201
+
202
+ if ( empty( $form_data['fields'] ) )
203
+ return false;
204
+
205
+ $fields = $form_data['fields'];
206
+ $pages = array();
207
+ foreach ( $fields as $field ) {
208
+ if ( $field['type'] == 'pagebreak' ) {
209
+ $position = !empty( $field['position'] ) ? $field['position'] : false;
210
+ if ( $type == 'pages' && $position != 'bottom' ) {
211
+ $pages[] = $field;
212
+ } elseif ( $position == $type ) {
213
+ return $field;
214
+ }
215
+ }
216
+ }
217
+
218
+ if ( !empty( $pages ) ) {
219
+ return $pages;
220
+ }
221
+ return false;
222
+ }
223
+
224
+ /**
225
+ * Sanitizes string of CSS classes.
226
+ *
227
+ * @since 1.2.1
228
+ * @param string $classes
229
+ * @return string
230
+ */
231
+ function wpforms_sanitize_classes( $classes ) {
232
+
233
+ $css = array();
234
+ if ( !empty( $classes ) ) {
235
+ $the_classes = explode( ' ', str_replace('.', '', $classes ) );
236
+ foreach( $the_classes as $class ) {
237
+ $css[] = sanitize_html_class( $class );
238
+ }
239
+ }
240
+ return implode( ' ', $css );
241
+ }
242
+
243
  /**
244
  * Convert a file size provided, such as "2M", to bytes.
245
  *
713
  return apply_filters( 'wpforms_countries', $countries );
714
  }
715
 
716
+ /**
717
+ * Sanitizes hex color.
718
+ *
719
+ * @since 1.2.1
720
+ * @param string $color
721
+ * @return string
722
+ */
723
+ function wpforms_sanitize_hex_color( $color ) {
724
+ if ( '' === $color ) {
725
+ return '';
726
+ }
727
+
728
+ // 3 or 6 hex digits, or the empty string.
729
+ if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) ) {
730
+ return $color;
731
+ }
732
+ }
733
+
734
  /**
735
  * Helper function to display debug data.
736
  *
languages/wpforms.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the WPForms package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WPForms 1.2\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpforms\n"
7
- "POT-Creation-Date: 2016-05-19 16:05:12+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -12,7 +12,7 @@ msgstr ""
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
- #: includes/admin/ajax-actions.php:25 includes/fields/class-base.php:456
16
  msgid "You do no have permission."
17
  msgstr ""
18
 
@@ -67,146 +67,146 @@ msgstr ""
67
  msgid "Addon installed."
68
  msgstr ""
69
 
70
- #: includes/admin/builder/class-builder.php:246
71
  #: includes/admin/class-editor.php:96
72
  #: includes/admin/entries/class-entries.php:974
73
  msgid "Cancel"
74
  msgstr ""
75
 
76
- #: includes/admin/builder/class-builder.php:247
77
  msgid "OK"
78
  msgstr ""
79
 
80
- #: includes/admin/builder/class-builder.php:248
81
  #: includes/admin/class-editor.php:70
82
  msgid "Close"
83
  msgstr ""
84
 
85
- #: includes/admin/builder/class-builder.php:249
86
  #: includes/admin/entries/class-entries-table.php:141
87
  msgid "Field"
88
  msgstr ""
89
 
90
- #: includes/admin/builder/class-builder.php:250
91
  msgid "Field Locked"
92
  msgstr ""
93
 
94
- #: includes/admin/builder/class-builder.php:251
95
  msgid "This field cannot be deleted because it required by the form template."
96
  msgstr ""
97
 
98
- #: includes/admin/builder/class-builder.php:252
99
  msgid "Available Fields"
100
  msgstr ""
101
 
102
- #: includes/admin/builder/class-builder.php:253
103
  msgid "No fields available"
104
  msgstr ""
105
 
106
- #: includes/admin/builder/class-builder.php:255
107
  msgid "No email fields"
108
  msgstr ""
109
 
110
- #: includes/admin/builder/class-builder.php:256
111
  #: includes/admin/class-settings.php:117
112
  msgid "Saving ..."
113
  msgstr ""
114
 
115
- #: includes/admin/builder/class-builder.php:257
116
  msgid "Saved!"
117
  msgstr ""
118
 
119
- #: includes/admin/builder/class-builder.php:258
120
  msgid "Save and Exit"
121
  msgstr ""
122
 
123
- #: includes/admin/builder/class-builder.php:259
124
- #: includes/admin/builder/class-builder.php:310
125
  msgid "Loading"
126
  msgstr ""
127
 
128
- #: includes/admin/builder/class-builder.php:265
129
  msgid "Use Template"
130
  msgstr ""
131
 
132
- #: includes/admin/builder/class-builder.php:266
133
  msgid ""
134
  "Changing templates on an existing form will DELETE existing form fields. Are "
135
  "you sure you want apply the new template?"
136
  msgstr ""
137
 
138
- #: includes/admin/builder/class-builder.php:267
139
  msgid ""
140
  "You are almost done. To embed this form on your site, please paste the "
141
  "following shortcode inside a post or page."
142
  msgstr ""
143
 
144
- #: includes/admin/builder/class-builder.php:268
145
  msgid "Or you can follow the instructions in this video."
146
  msgstr ""
147
 
148
- #: includes/admin/builder/class-builder.php:269
149
- #: includes/admin/builder/class-builder.php:360
150
  msgid "Exit"
151
  msgstr ""
152
 
153
- #: includes/admin/builder/class-builder.php:271
154
  msgid "If you exit without saving, your changes will be lost."
155
  msgstr ""
156
 
157
- #: includes/admin/builder/class-builder.php:272
158
  msgid "Are you sure you want to delete this field?"
159
  msgstr ""
160
 
161
- #: includes/admin/builder/class-builder.php:273
162
  msgid "Please enter a form title."
163
  msgstr ""
164
 
165
- #: includes/admin/builder/class-builder.php:274
166
  msgid "This item must contain at least one choice."
167
  msgstr ""
168
 
169
- #: includes/admin/builder/class-builder.php:276
170
  #: includes/admin/builder/functions.php:196 includes/fields/class-base.php:317
171
  msgid "Show Smart Tags"
172
  msgstr ""
173
 
174
- #: includes/admin/builder/class-builder.php:277
175
  msgid "Hide Smart Tags"
176
  msgstr ""
177
 
178
- #: includes/admin/builder/class-builder.php:278
179
  #: includes/class-provider.php:857
180
  msgid "-- Select field --"
181
  msgstr ""
182
 
183
- #: includes/admin/builder/class-builder.php:333
184
  msgid "Now editing"
185
  msgstr ""
186
 
187
- #: includes/admin/builder/class-builder.php:343
188
  #: includes/admin/entries/class-entries.php:510
189
  msgid "Preview Form"
190
  msgstr ""
191
 
192
- #: includes/admin/builder/class-builder.php:345
193
  #: includes/admin/overview/class-overview-table.php:165
194
  msgid "Preview"
195
  msgstr ""
196
 
197
- #: includes/admin/builder/class-builder.php:348
198
  msgid "Embed Form"
199
  msgstr ""
200
 
201
- #: includes/admin/builder/class-builder.php:350
202
  msgid "Embed"
203
  msgstr ""
204
 
205
- #: includes/admin/builder/class-builder.php:353
206
  msgid "Save Form"
207
  msgstr ""
208
 
209
- #: includes/admin/builder/class-builder.php:355
210
  #: includes/admin/class-settings.php:395
211
  msgid "Save"
212
  msgstr ""
@@ -233,46 +233,38 @@ msgid ""
233
  "\">setup your form</a> before you can manage the fields."
234
  msgstr ""
235
 
236
- #: includes/admin/builder/panels/class-fields.php:120
237
  #: includes/admin/builder/panels/class-settings.php:117
238
- #: includes/class-frontend.php:359 includes/fields/class-page-break.php:51
239
- #: includes/fields/class-page-break.php:76
240
- #: includes/fields/class-page-break.php:103
241
- msgid "Previous"
242
- msgstr ""
243
-
244
- #: includes/admin/builder/panels/class-fields.php:130
245
- #: includes/admin/builder/panels/class-settings.php:125
246
  msgid "Submit"
247
  msgstr ""
248
 
249
- #: includes/admin/builder/panels/class-fields.php:150
250
  msgid "Standard Fields"
251
  msgstr ""
252
 
253
- #: includes/admin/builder/panels/class-fields.php:154
254
  msgid "Fancy Fields"
255
  msgstr ""
256
 
257
- #: includes/admin/builder/panels/class-fields.php:158
258
  msgid "Payment Fields"
259
  msgstr ""
260
 
261
- #: includes/admin/builder/panels/class-fields.php:208
262
  msgid "You don't have any fields yet."
263
  msgstr ""
264
 
265
- #: includes/admin/builder/panels/class-fields.php:237
266
  msgid "You don't have any fields yet. Add some!"
267
  msgstr ""
268
 
269
- #: includes/admin/builder/panels/class-fields.php:253
270
- #: includes/fields/class-base.php:491
271
  msgid "Delete Field"
272
  msgstr ""
273
 
274
- #: includes/admin/builder/panels/class-fields.php:255
275
- #: includes/fields/class-base.php:492
276
  msgid "Click to edit. Drag to reorder."
277
  msgstr ""
278
 
@@ -362,7 +354,7 @@ msgid ""
362
  msgstr ""
363
 
364
  #: includes/admin/builder/panels/class-settings.php:21
365
- #: includes/admin/class-menu.php:81 includes/admin/class-settings.php:471
366
  msgid "Settings"
367
  msgstr ""
368
 
@@ -377,7 +369,7 @@ msgid "Notification"
377
  msgstr ""
378
 
379
  #: includes/admin/builder/panels/class-settings.php:59
380
- #: includes/admin/builder/panels/class-settings.php:262
381
  msgid "Confirmation"
382
  msgstr ""
383
 
@@ -400,112 +392,108 @@ msgid "Hide form title and description area"
400
  msgstr ""
401
 
402
  #: includes/admin/builder/panels/class-settings.php:116
403
- msgid "Last Previous Label"
404
- msgstr ""
405
-
406
- #: includes/admin/builder/panels/class-settings.php:124
407
  msgid "Submit Button Text"
408
  msgstr ""
409
 
410
- #: includes/admin/builder/panels/class-settings.php:132
411
  msgid "Submit Button CSS Class"
412
  msgstr ""
413
 
414
- #: includes/admin/builder/panels/class-settings.php:133
415
  msgid ""
416
  "Enter CSS class names for the form submit button. Class names should be "
417
  "seperated with spaces."
418
  msgstr ""
419
 
420
- #: includes/admin/builder/panels/class-settings.php:140
421
  msgid "Enable anti-spam honeypot"
422
  msgstr ""
423
 
424
- #: includes/admin/builder/panels/class-settings.php:150
425
  msgid "Enable reCAPTCHA"
426
  msgstr ""
427
 
428
- #: includes/admin/builder/panels/class-settings.php:158
429
  msgid "Disable storing entry information in WordPress"
430
  msgstr ""
431
 
432
- #: includes/admin/builder/panels/class-settings.php:168
433
- #: includes/admin/builder/panels/class-settings.php:175
434
  msgid "Notifications"
435
  msgstr ""
436
 
437
- #: includes/admin/builder/panels/class-settings.php:179
438
  msgid "On"
439
  msgstr ""
440
 
441
- #: includes/admin/builder/panels/class-settings.php:180
442
  msgid "Off"
443
  msgstr ""
444
 
445
- #: includes/admin/builder/panels/class-settings.php:189
446
  msgid "Send To Email Address"
447
  msgstr ""
448
 
449
- #: includes/admin/builder/panels/class-settings.php:192
450
  msgid ""
451
  "Enter the email address to receive form entry notifications. For multiple "
452
  "notifications, seperate email addresses with a comma."
453
  msgstr ""
454
 
455
- #: includes/admin/builder/panels/class-settings.php:204
456
  msgid "Email Subject"
457
  msgstr ""
458
 
459
- #: includes/admin/builder/panels/class-settings.php:206
460
  msgid "New Entry: "
461
  msgstr ""
462
 
463
- #: includes/admin/builder/panels/class-settings.php:218
464
  msgid "From Name"
465
  msgstr ""
466
 
467
- #: includes/admin/builder/panels/class-settings.php:232
468
  msgid "From Email"
469
  msgstr ""
470
 
471
- #: includes/admin/builder/panels/class-settings.php:246
472
  msgid "Reply-To"
473
  msgstr ""
474
 
475
- #: includes/admin/builder/panels/class-settings.php:269
476
  msgid "Confirmation Type"
477
  msgstr ""
478
 
479
- #: includes/admin/builder/panels/class-settings.php:273
480
  #: includes/templates/class-suggestion.php:74
481
  msgid "Message"
482
  msgstr ""
483
 
484
- #: includes/admin/builder/panels/class-settings.php:274
485
  msgid "Show Page"
486
  msgstr ""
487
 
488
- #: includes/admin/builder/panels/class-settings.php:275
489
  msgid "Go to URL (Redirect)"
490
  msgstr ""
491
 
492
- #: includes/admin/builder/panels/class-settings.php:284
493
  msgid "Confirmation Message"
494
  msgstr ""
495
 
496
- #: includes/admin/builder/panels/class-settings.php:286
497
  msgid "Thanks for contacting us! We will be in touch with you shortly."
498
  msgstr ""
499
 
500
- #: includes/admin/builder/panels/class-settings.php:297
501
  msgid "Automatically scroll to the confirmation message"
502
  msgstr ""
503
 
504
- #: includes/admin/builder/panels/class-settings.php:310
505
  msgid "Confirmation Page"
506
  msgstr ""
507
 
508
- #: includes/admin/builder/panels/class-settings.php:318
509
  msgid "Confirmation Redirect URL"
510
  msgstr ""
511
 
@@ -686,51 +674,59 @@ msgid ""
686
  "continue receiving automatic updates."
687
  msgstr ""
688
 
689
- #. #-#-#-#-# wpforms.pot (WPForms 1.2) #-#-#-#-#
690
  #. Plugin Name of the plugin/theme
691
- #. #-#-#-#-# wpforms.pot (WPForms 1.2) #-#-#-#-#
692
  #. Author of the plugin/theme
693
- #: includes/admin/class-menu.php:36 includes/admin/class-menu.php:37
694
- #: includes/admin/class-menu.php:48
695
  msgid "WPForms"
696
  msgstr ""
697
 
698
- #: includes/admin/class-menu.php:49
699
  msgid "All Forms"
700
  msgstr ""
701
 
702
- #: includes/admin/class-menu.php:58
703
  msgid "WPForms Builder"
704
  msgstr ""
705
 
706
- #: includes/admin/class-menu.php:59
707
  #: includes/admin/overview/class-overview.php:148
708
  msgid "Add New"
709
  msgstr ""
710
 
711
- #: includes/admin/class-menu.php:68
712
  msgid "Form Entries"
713
  msgstr ""
714
 
715
- #: includes/admin/class-menu.php:69
716
  #: includes/admin/entries/class-entries.php:409
717
  #: includes/admin/overview/class-overview-table.php:57
718
  #: includes/admin/overview/class-overview-table.php:158
719
  msgid "Entries"
720
  msgstr ""
721
 
722
- #: includes/admin/class-menu.php:80
723
  msgid "WPForms Settings"
724
  msgstr ""
725
 
726
- #: includes/admin/class-menu.php:90
727
  msgid "WPForms Addons"
728
  msgstr ""
729
 
730
- #: includes/admin/class-menu.php:91
731
  msgid "Addons"
732
  msgstr ""
733
 
 
 
 
 
 
 
 
 
734
  #: includes/admin/class-settings.php:118
735
  msgid "Are you sure you want to disconnect this account?"
736
  msgstr ""
@@ -809,6 +805,7 @@ msgid "Base styling only"
809
  msgstr ""
810
 
811
  #: includes/admin/class-settings.php:261
 
812
  msgid "None"
813
  msgstr ""
814
 
@@ -1366,6 +1363,19 @@ msgstr ""
1366
  msgid "Forms Overview"
1367
  msgstr ""
1368
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1369
  #: includes/class-logging.php:38
1370
  msgid "WPForms Logs"
1371
  msgstr ""
@@ -1696,7 +1706,7 @@ msgstr ""
1696
  msgid "Zip / Postal Code"
1697
  msgstr ""
1698
 
1699
- #: includes/fields/class-address.php:564 includes/fields/class-base.php:538
1700
  #: includes/fields/class-date-time.php:289 includes/fields/class-email.php:128
1701
  #: includes/fields/class-file-upload.php:217
1702
  #: includes/fields/class-name.php:311 includes/fields/class-number.php:127
@@ -1804,11 +1814,31 @@ msgstr ""
1804
  msgid "Hide Sub-Labels"
1805
  msgstr ""
1806
 
1807
- #: includes/fields/class-base.php:460
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1808
  msgid "No form ID found"
1809
  msgstr ""
1810
 
1811
- #: includes/fields/class-base.php:464
1812
  msgid "No field type found"
1813
  msgstr ""
1814
 
@@ -2044,32 +2074,68 @@ msgid "Please enter a valid number."
2044
  msgstr ""
2045
 
2046
  #: includes/fields/class-page-break.php:21
2047
- #: includes/fields/class-page-break.php:84
2048
  msgid "Page Break"
2049
  msgstr ""
2050
 
2051
- #: includes/fields/class-page-break.php:43
2052
- msgid "Enter text for Next page button."
 
2053
  msgstr ""
2054
 
2055
- #: includes/fields/class-page-break.php:44
2056
- #: includes/fields/class-page-break.php:77
2057
- #: includes/fields/class-page-break.php:102
2058
- msgid "Next"
2059
  msgstr ""
2060
 
2061
- #: includes/fields/class-page-break.php:45
2062
- msgid "Next Label"
2063
  msgstr ""
2064
 
2065
- #: includes/fields/class-page-break.php:50
2066
- msgid "Enter text for Previous page button."
2067
  msgstr ""
2068
 
2069
- #: includes/fields/class-page-break.php:52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2070
  msgid "Previous Label"
2071
  msgstr ""
2072
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2073
  #: includes/fields/class-password.php:21
2074
  msgid "Password"
2075
  msgstr ""
@@ -2395,9 +2461,9 @@ msgstr ""
2395
  msgid "Please deactivate WPForms Lite before activating WPForms"
2396
  msgstr ""
2397
 
2398
- #. #-#-#-#-# wpforms.pot (WPForms 1.2) #-#-#-#-#
2399
  #. Plugin URI of the plugin/theme
2400
- #. #-#-#-#-# wpforms.pot (WPForms 1.2) #-#-#-#-#
2401
  #. Author URI of the plugin/theme
2402
  msgid "https://wpforms.com"
2403
  msgstr ""
2
  # This file is distributed under the same license as the WPForms package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WPForms 1.2.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpforms\n"
7
+ "POT-Creation-Date: 2016-05-30 16:03:50+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
+ #: includes/admin/ajax-actions.php:25 includes/fields/class-base.php:470
16
  msgid "You do no have permission."
17
  msgstr ""
18
 
67
  msgid "Addon installed."
68
  msgstr ""
69
 
70
+ #: includes/admin/builder/class-builder.php:261
71
  #: includes/admin/class-editor.php:96
72
  #: includes/admin/entries/class-entries.php:974
73
  msgid "Cancel"
74
  msgstr ""
75
 
76
+ #: includes/admin/builder/class-builder.php:262
77
  msgid "OK"
78
  msgstr ""
79
 
80
+ #: includes/admin/builder/class-builder.php:263
81
  #: includes/admin/class-editor.php:70
82
  msgid "Close"
83
  msgstr ""
84
 
85
+ #: includes/admin/builder/class-builder.php:264
86
  #: includes/admin/entries/class-entries-table.php:141
87
  msgid "Field"
88
  msgstr ""
89
 
90
+ #: includes/admin/builder/class-builder.php:265
91
  msgid "Field Locked"
92
  msgstr ""
93
 
94
+ #: includes/admin/builder/class-builder.php:266
95
  msgid "This field cannot be deleted because it required by the form template."
96
  msgstr ""
97
 
98
+ #: includes/admin/builder/class-builder.php:267
99
  msgid "Available Fields"
100
  msgstr ""
101
 
102
+ #: includes/admin/builder/class-builder.php:268
103
  msgid "No fields available"
104
  msgstr ""
105
 
106
+ #: includes/admin/builder/class-builder.php:270
107
  msgid "No email fields"
108
  msgstr ""
109
 
110
+ #: includes/admin/builder/class-builder.php:271
111
  #: includes/admin/class-settings.php:117
112
  msgid "Saving ..."
113
  msgstr ""
114
 
115
+ #: includes/admin/builder/class-builder.php:272
116
  msgid "Saved!"
117
  msgstr ""
118
 
119
+ #: includes/admin/builder/class-builder.php:273
120
  msgid "Save and Exit"
121
  msgstr ""
122
 
123
+ #: includes/admin/builder/class-builder.php:274
124
+ #: includes/admin/builder/class-builder.php:325
125
  msgid "Loading"
126
  msgstr ""
127
 
128
+ #: includes/admin/builder/class-builder.php:280
129
  msgid "Use Template"
130
  msgstr ""
131
 
132
+ #: includes/admin/builder/class-builder.php:281
133
  msgid ""
134
  "Changing templates on an existing form will DELETE existing form fields. Are "
135
  "you sure you want apply the new template?"
136
  msgstr ""
137
 
138
+ #: includes/admin/builder/class-builder.php:282
139
  msgid ""
140
  "You are almost done. To embed this form on your site, please paste the "
141
  "following shortcode inside a post or page."
142
  msgstr ""
143
 
144
+ #: includes/admin/builder/class-builder.php:283
145
  msgid "Or you can follow the instructions in this video."
146
  msgstr ""
147
 
148
+ #: includes/admin/builder/class-builder.php:284
149
+ #: includes/admin/builder/class-builder.php:375
150
  msgid "Exit"
151
  msgstr ""
152
 
153
+ #: includes/admin/builder/class-builder.php:286
154
  msgid "If you exit without saving, your changes will be lost."
155
  msgstr ""
156
 
157
+ #: includes/admin/builder/class-builder.php:287
158
  msgid "Are you sure you want to delete this field?"
159
  msgstr ""
160
 
161
+ #: includes/admin/builder/class-builder.php:288
162
  msgid "Please enter a form title."
163
  msgstr ""
164
 
165
+ #: includes/admin/builder/class-builder.php:289
166
  msgid "This item must contain at least one choice."
167
  msgstr ""
168
 
169
+ #: includes/admin/builder/class-builder.php:291
170
  #: includes/admin/builder/functions.php:196 includes/fields/class-base.php:317
171
  msgid "Show Smart Tags"
172
  msgstr ""
173
 
174
+ #: includes/admin/builder/class-builder.php:292
175
  msgid "Hide Smart Tags"
176
  msgstr ""
177
 
178
+ #: includes/admin/builder/class-builder.php:293
179
  #: includes/class-provider.php:857
180
  msgid "-- Select field --"
181
  msgstr ""
182
 
183
+ #: includes/admin/builder/class-builder.php:348
184
  msgid "Now editing"
185
  msgstr ""
186
 
187
+ #: includes/admin/builder/class-builder.php:358
188
  #: includes/admin/entries/class-entries.php:510
189
  msgid "Preview Form"
190
  msgstr ""
191
 
192
+ #: includes/admin/builder/class-builder.php:360
193
  #: includes/admin/overview/class-overview-table.php:165
194
  msgid "Preview"
195
  msgstr ""
196
 
197
+ #: includes/admin/builder/class-builder.php:363
198
  msgid "Embed Form"
199
  msgstr ""
200
 
201
+ #: includes/admin/builder/class-builder.php:365
202
  msgid "Embed"
203
  msgstr ""
204
 
205
+ #: includes/admin/builder/class-builder.php:368
206
  msgid "Save Form"
207
  msgstr ""
208
 
209
+ #: includes/admin/builder/class-builder.php:370
210
  #: includes/admin/class-settings.php:395
211
  msgid "Save"
212
  msgstr ""
233
  "\">setup your form</a> before you can manage the fields."
234
  msgstr ""
235
 
236
+ #: includes/admin/builder/panels/class-fields.php:123
237
  #: includes/admin/builder/panels/class-settings.php:117
 
 
 
 
 
 
 
 
238
  msgid "Submit"
239
  msgstr ""
240
 
241
+ #: includes/admin/builder/panels/class-fields.php:143
242
  msgid "Standard Fields"
243
  msgstr ""
244
 
245
+ #: includes/admin/builder/panels/class-fields.php:147
246
  msgid "Fancy Fields"
247
  msgstr ""
248
 
249
+ #: includes/admin/builder/panels/class-fields.php:151
250
  msgid "Payment Fields"
251
  msgstr ""
252
 
253
+ #: includes/admin/builder/panels/class-fields.php:201
254
  msgid "You don't have any fields yet."
255
  msgstr ""
256
 
257
+ #: includes/admin/builder/panels/class-fields.php:230
258
  msgid "You don't have any fields yet. Add some!"
259
  msgstr ""
260
 
261
+ #: includes/admin/builder/panels/class-fields.php:250
262
+ #: includes/fields/class-base.php:506
263
  msgid "Delete Field"
264
  msgstr ""
265
 
266
+ #: includes/admin/builder/panels/class-fields.php:252
267
+ #: includes/fields/class-base.php:507
268
  msgid "Click to edit. Drag to reorder."
269
  msgstr ""
270
 
354
  msgstr ""
355
 
356
  #: includes/admin/builder/panels/class-settings.php:21
357
+ #: includes/admin/class-menu.php:84 includes/admin/class-settings.php:471
358
  msgid "Settings"
359
  msgstr ""
360
 
369
  msgstr ""
370
 
371
  #: includes/admin/builder/panels/class-settings.php:59
372
+ #: includes/admin/builder/panels/class-settings.php:254
373
  msgid "Confirmation"
374
  msgstr ""
375
 
392
  msgstr ""
393
 
394
  #: includes/admin/builder/panels/class-settings.php:116
 
 
 
 
395
  msgid "Submit Button Text"
396
  msgstr ""
397
 
398
+ #: includes/admin/builder/panels/class-settings.php:124
399
  msgid "Submit Button CSS Class"
400
  msgstr ""
401
 
402
+ #: includes/admin/builder/panels/class-settings.php:125
403
  msgid ""
404
  "Enter CSS class names for the form submit button. Class names should be "
405
  "seperated with spaces."
406
  msgstr ""
407
 
408
+ #: includes/admin/builder/panels/class-settings.php:132
409
  msgid "Enable anti-spam honeypot"
410
  msgstr ""
411
 
412
+ #: includes/admin/builder/panels/class-settings.php:142
413
  msgid "Enable reCAPTCHA"
414
  msgstr ""
415
 
416
+ #: includes/admin/builder/panels/class-settings.php:150
417
  msgid "Disable storing entry information in WordPress"
418
  msgstr ""
419
 
420
+ #: includes/admin/builder/panels/class-settings.php:160
421
+ #: includes/admin/builder/panels/class-settings.php:167
422
  msgid "Notifications"
423
  msgstr ""
424
 
425
+ #: includes/admin/builder/panels/class-settings.php:171
426
  msgid "On"
427
  msgstr ""
428
 
429
+ #: includes/admin/builder/panels/class-settings.php:172
430
  msgid "Off"
431
  msgstr ""
432
 
433
+ #: includes/admin/builder/panels/class-settings.php:181
434
  msgid "Send To Email Address"
435
  msgstr ""
436
 
437
+ #: includes/admin/builder/panels/class-settings.php:184
438
  msgid ""
439
  "Enter the email address to receive form entry notifications. For multiple "
440
  "notifications, seperate email addresses with a comma."
441
  msgstr ""
442
 
443
+ #: includes/admin/builder/panels/class-settings.php:196
444
  msgid "Email Subject"
445
  msgstr ""
446
 
447
+ #: includes/admin/builder/panels/class-settings.php:198
448
  msgid "New Entry: "
449
  msgstr ""
450
 
451
+ #: includes/admin/builder/panels/class-settings.php:210
452
  msgid "From Name"
453
  msgstr ""
454
 
455
+ #: includes/admin/builder/panels/class-settings.php:224
456
  msgid "From Email"
457
  msgstr ""
458
 
459
+ #: includes/admin/builder/panels/class-settings.php:238
460
  msgid "Reply-To"
461
  msgstr ""
462
 
463
+ #: includes/admin/builder/panels/class-settings.php:261
464
  msgid "Confirmation Type"
465
  msgstr ""
466
 
467
+ #: includes/admin/builder/panels/class-settings.php:265
468
  #: includes/templates/class-suggestion.php:74
469
  msgid "Message"
470
  msgstr ""
471
 
472
+ #: includes/admin/builder/panels/class-settings.php:266
473
  msgid "Show Page"
474
  msgstr ""
475
 
476
+ #: includes/admin/builder/panels/class-settings.php:267
477
  msgid "Go to URL (Redirect)"
478
  msgstr ""
479
 
480
+ #: includes/admin/builder/panels/class-settings.php:276
481
  msgid "Confirmation Message"
482
  msgstr ""
483
 
484
+ #: includes/admin/builder/panels/class-settings.php:278
485
  msgid "Thanks for contacting us! We will be in touch with you shortly."
486
  msgstr ""
487
 
488
+ #: includes/admin/builder/panels/class-settings.php:289
489
  msgid "Automatically scroll to the confirmation message"
490
  msgstr ""
491
 
492
+ #: includes/admin/builder/panels/class-settings.php:302
493
  msgid "Confirmation Page"
494
  msgstr ""
495
 
496
+ #: includes/admin/builder/panels/class-settings.php:310
497
  msgid "Confirmation Redirect URL"
498
  msgstr ""
499
 
674
  "continue receiving automatic updates."
675
  msgstr ""
676
 
677
+ #. #-#-#-#-# wpforms.pot (WPForms 1.2.1) #-#-#-#-#
678
  #. Plugin Name of the plugin/theme
679
+ #. #-#-#-#-# wpforms.pot (WPForms 1.2.1) #-#-#-#-#
680
  #. Author of the plugin/theme
681
+ #: includes/admin/class-menu.php:39 includes/admin/class-menu.php:40
682
+ #: includes/admin/class-menu.php:51
683
  msgid "WPForms"
684
  msgstr ""
685
 
686
+ #: includes/admin/class-menu.php:52
687
  msgid "All Forms"
688
  msgstr ""
689
 
690
+ #: includes/admin/class-menu.php:61
691
  msgid "WPForms Builder"
692
  msgstr ""
693
 
694
+ #: includes/admin/class-menu.php:62
695
  #: includes/admin/overview/class-overview.php:148
696
  msgid "Add New"
697
  msgstr ""
698
 
699
+ #: includes/admin/class-menu.php:71
700
  msgid "Form Entries"
701
  msgstr ""
702
 
703
+ #: includes/admin/class-menu.php:72
704
  #: includes/admin/entries/class-entries.php:409
705
  #: includes/admin/overview/class-overview-table.php:57
706
  #: includes/admin/overview/class-overview-table.php:158
707
  msgid "Entries"
708
  msgstr ""
709
 
710
+ #: includes/admin/class-menu.php:83
711
  msgid "WPForms Settings"
712
  msgstr ""
713
 
714
+ #: includes/admin/class-menu.php:93
715
  msgid "WPForms Addons"
716
  msgstr ""
717
 
718
+ #: includes/admin/class-menu.php:94
719
  msgid "Addons"
720
  msgstr ""
721
 
722
+ #: includes/admin/class-menu.php:134
723
+ msgid ""
724
+ "Please rate <strong>WPForms</strong> <a href=\"%s\" target=\"_blank\">&#9733;"
725
+ "&#9733;&#9733;&#9733;&#9733;</a> on <a href=\"%s\" target=\"_blank"
726
+ "\">WordPress.org</a> to help us spread the word. Thank you from the WPForms "
727
+ "team!"
728
+ msgstr ""
729
+
730
  #: includes/admin/class-settings.php:118
731
  msgid "Are you sure you want to disconnect this account?"
732
  msgstr ""
805
  msgstr ""
806
 
807
  #: includes/admin/class-settings.php:261
808
+ #: includes/fields/class-page-break.php:57
809
  msgid "None"
810
  msgstr ""
811
 
1363
  msgid "Forms Overview"
1364
  msgstr ""
1365
 
1366
+ #: includes/class-frontend.php:281
1367
+ msgid "Step"
1368
+ msgstr ""
1369
+
1370
+ #: includes/class-frontend.php:282
1371
+ msgid "of"
1372
+ msgstr ""
1373
+
1374
+ #: includes/class-frontend.php:476 includes/fields/class-page-break.php:83
1375
+ #: includes/fields/class-page-break.php:118
1376
+ msgid "Previous"
1377
+ msgstr ""
1378
+
1379
  #: includes/class-logging.php:38
1380
  msgid "WPForms Logs"
1381
  msgstr ""
1706
  msgid "Zip / Postal Code"
1707
  msgstr ""
1708
 
1709
+ #: includes/fields/class-address.php:564 includes/fields/class-base.php:553
1710
  #: includes/fields/class-date-time.php:289 includes/fields/class-email.php:128
1711
  #: includes/fields/class-file-upload.php:217
1712
  #: includes/fields/class-name.php:311 includes/fields/class-number.php:127
1814
  msgid "Hide Sub-Labels"
1815
  msgstr ""
1816
 
1817
+ #: includes/fields/class-base.php:392
1818
+ msgid "Select the layout for displaying field choices."
1819
+ msgstr ""
1820
+
1821
+ #: includes/fields/class-base.php:394
1822
+ msgid "One Column"
1823
+ msgstr ""
1824
+
1825
+ #: includes/fields/class-base.php:395
1826
+ msgid "Two Columns"
1827
+ msgstr ""
1828
+
1829
+ #: includes/fields/class-base.php:396
1830
+ msgid "Three Columns"
1831
+ msgstr ""
1832
+
1833
+ #: includes/fields/class-base.php:398
1834
+ msgid "Choice Layout"
1835
+ msgstr ""
1836
+
1837
+ #: includes/fields/class-base.php:474
1838
  msgid "No form ID found"
1839
  msgstr ""
1840
 
1841
+ #: includes/fields/class-base.php:478
1842
  msgid "No field type found"
1843
  msgstr ""
1844
 
2074
  msgstr ""
2075
 
2076
  #: includes/fields/class-page-break.php:21
2077
+ #: includes/fields/class-page-break.php:134
2078
  msgid "Page Break"
2079
  msgstr ""
2080
 
2081
+ #: includes/fields/class-page-break.php:52
2082
+ msgid ""
2083
+ "Select theme for Page Indicator which is displayed at the top of the form."
2084
  msgstr ""
2085
 
2086
+ #: includes/fields/class-page-break.php:54
2087
+ msgid "Progress Bar"
 
 
2088
  msgstr ""
2089
 
2090
+ #: includes/fields/class-page-break.php:55
2091
+ msgid "Circles"
2092
  msgstr ""
2093
 
2094
+ #: includes/fields/class-page-break.php:56
2095
+ msgid "Connector"
2096
  msgstr ""
2097
 
2098
+ #: includes/fields/class-page-break.php:59
2099
+ msgid "Progress Indicator"
2100
+ msgstr ""
2101
+
2102
+ #: includes/fields/class-page-break.php:65
2103
+ msgid "Select the primary color for the Page Indicator theme."
2104
+ msgstr ""
2105
+
2106
+ #: includes/fields/class-page-break.php:66
2107
+ msgid "Page Indicator Color"
2108
+ msgstr ""
2109
+
2110
+ #: includes/fields/class-page-break.php:73
2111
+ msgid "Enter text for the page title."
2112
+ msgstr ""
2113
+
2114
+ #: includes/fields/class-page-break.php:75
2115
+ msgid "Page Title"
2116
+ msgstr ""
2117
+
2118
+ #: includes/fields/class-page-break.php:82
2119
+ msgid "Enter text for Previous page navigation button."
2120
+ msgstr ""
2121
+
2122
+ #: includes/fields/class-page-break.php:84
2123
  msgid "Previous Label"
2124
  msgstr ""
2125
 
2126
+ #: includes/fields/class-page-break.php:91
2127
+ msgid "Enter text for Next page navigation button."
2128
+ msgstr ""
2129
+
2130
+ #: includes/fields/class-page-break.php:92
2131
+ #: includes/fields/class-page-break.php:119
2132
+ msgid "Next"
2133
+ msgstr ""
2134
+
2135
+ #: includes/fields/class-page-break.php:93
2136
+ msgid "Next Label"
2137
+ msgstr ""
2138
+
2139
  #: includes/fields/class-password.php:21
2140
  msgid "Password"
2141
  msgstr ""
2461
  msgid "Please deactivate WPForms Lite before activating WPForms"
2462
  msgstr ""
2463
 
2464
+ #. #-#-#-#-# wpforms.pot (WPForms 1.2.1) #-#-#-#-#
2465
  #. Plugin URI of the plugin/theme
2466
+ #. #-#-#-#-# wpforms.pot (WPForms 1.2.1) #-#-#-#-#
2467
  #. Author URI of the plugin/theme
2468
  msgid "https://wpforms.com"
2469
  msgstr ""
readme.txt CHANGED
@@ -1,6 +1,6 @@
1
  === Easy WordPress Contact Form Plugin - WPForms Lite ===
2
  Contributors: wpforms, jaredatch, smub
3
- Tags: contact form, contact form plugin, contact button, contact me, custom form, custom contact form, form builder, form manager, form, forms builder, forms creator, captcha, recaptcha, Akismet, email form, web form, feedback form, payment form, survey form, donation form, email submit form, message form, mailchimp, mailchimp form, aweber, aweber form, paypal, paypal form, stripe, stripe form, getresponse, getresponse form, email subscription, contact form widget
4
  Requires at least: 4.4
5
  Tested up to: 4.5.2
6
  Stable tag: trunk
@@ -88,6 +88,7 @@ We also knew that our developer friends may want to extend it further. That's wh
88
  * <a href="https://wpforms.com/addons/getresponse-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">GetResponse Forms</a> - Create GetResponse newsletter signup forms in WordPress to grow your email list.
89
  * <a href="https://wpforms.com/addons/paypal-standard-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">PayPal Payment Forms</a> - Create PayPal forms to easily collect payments, donations, and online orders.
90
  * <a href="https://wpforms.com/addons/stripe-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Stripe Forms</a> - Easily collect payments, donations, and online orders with our Stripe addon.
 
91
  * <a href="https://wpforms.com/addons/conditional-logic-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Smart Conditional Logic</a> - Show or hide fields and form sections based on user behavior.
92
  * Want us to add something else? Suggest a feature and we'll get it added!
93
 
@@ -159,6 +160,14 @@ Syed Balkhi
159
 
160
  == Changelog ==
161
 
 
 
 
 
 
 
 
 
162
  = 1.2.0.1 =
163
  * Changed: Improved field and column gutter consistency
164
 
1
  === Easy WordPress Contact Form Plugin - WPForms Lite ===
2
  Contributors: wpforms, jaredatch, smub
3
+ Tags: contact form, contact form plugin, contact button, contact me, custom form, custom contact form, form builder, form manager, form, forms builder, forms creator, captcha, recaptcha, Akismet, email form, web form, feedback form, payment form, survey form, donation form, email submit form, message form, mailchimp, mailchimp form, aweber, aweber form, paypal, paypal form, stripe, stripe form, getresponse, getresponse form, email subscription, contact form widget, user registration form, wordpress registration, wordpress login form
4
  Requires at least: 4.4
5
  Tested up to: 4.5.2
6
  Stable tag: trunk
88
  * <a href="https://wpforms.com/addons/getresponse-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">GetResponse Forms</a> - Create GetResponse newsletter signup forms in WordPress to grow your email list.
89
  * <a href="https://wpforms.com/addons/paypal-standard-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">PayPal Payment Forms</a> - Create PayPal forms to easily collect payments, donations, and online orders.
90
  * <a href="https://wpforms.com/addons/stripe-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Stripe Forms</a> - Easily collect payments, donations, and online orders with our Stripe addon.
91
+ * <a href="https://wpforms.com/addons/user-registration-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">User Registration Forms</a> - Create custom WordPress user registration form.
92
  * <a href="https://wpforms.com/addons/conditional-logic-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Smart Conditional Logic</a> - Show or hide fields and form sections based on user behavior.
93
  * Want us to add something else? Suggest a feature and we'll get it added!
94
 
160
 
161
  == Changelog ==
162
 
163
+ = 1.2.1 =
164
+ * Added: Drag and drop field buttons - simply drag the desired field to the form!
165
+ * Added: Choice Layout option for Checkboxes and Multiple Choice fields (under Advanced Options)
166
+ * Added: Full and expanded column class/grid support
167
+ * Changed: Refactored CSS column classes, previous classes are deprecated
168
+ * Fixed: Form ending with column classes not closing correctly
169
+ * Fixed: reCAPTCHA button overlaying submit button preventing it from being clicked
170
+
171
  = 1.2.0.1 =
172
  * Changed: Improved field and column gutter consistency
173
 
wpforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
6
  * Author: WPForms
7
  * Author URI: https://wpforms.com
8
- * Version: 1.2.0.1
9
  * Text Domain: wpforms
10
  * Domain Path: languages
11
  *
@@ -54,7 +54,7 @@ final class WPForms_Lite {
54
  * @since 1.0.0
55
  * @var sting
56
  */
57
- private $version = '1.2.0.1';
58
 
59
  /**
60
  * The form data handler instance.
5
  * Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
6
  * Author: WPForms
7
  * Author URI: https://wpforms.com
8
+ * Version: 1.2.1
9
  * Text Domain: wpforms
10
  * Domain Path: languages
11
  *
54
  * @since 1.0.0
55
  * @var sting
56
  */
57
+ private $version = '1.2.1';
58
 
59
  /**
60
  * The form data handler instance.