bhl-forms 0.6.5 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/bhl-forms.iife.js +1 -1
  2. package/dist/bhl-forms.modern.iife.js +1 -1
  3. package/dist/bhl-forms.modern.umd.js +1 -1
  4. package/dist/bhl-forms.umd.js +1 -1
  5. package/dist/forms/accidentsAndInjuries.es.js +1442 -862
  6. package/dist/forms/accidentsAndInjuries.iife.js +1 -1
  7. package/dist/forms/accidentsAndInjuries.json +1 -1
  8. package/dist/forms/appraisals.es.js +115 -115
  9. package/dist/forms/appraisals.iife.js +1 -1
  10. package/dist/forms/childAndFamily.es.js +790 -764
  11. package/dist/forms/childAndFamily.iife.js +1 -1
  12. package/dist/forms/childAndFamily.json +1 -1
  13. package/dist/forms/childAndFamilySingle.es.js +1136 -757
  14. package/dist/forms/childAndFamilySingle.iife.js +1 -1
  15. package/dist/forms/childAndFamilySingle.json +1 -1
  16. package/dist/forms/civilLawsuit.es.js +2001 -1352
  17. package/dist/forms/civilLawsuit.iife.js +1 -1
  18. package/dist/forms/civilLawsuit.json +1 -1
  19. package/dist/forms/coins.es.js +115 -115
  20. package/dist/forms/coins.iife.js +1 -1
  21. package/dist/forms/contracts.es.js +1454 -715
  22. package/dist/forms/contracts.iife.js +1 -1
  23. package/dist/forms/contracts.json +1 -1
  24. package/dist/forms/criminal.es.js +1891 -2482
  25. package/dist/forms/criminal.iife.js +1 -1
  26. package/dist/forms/criminal.json +1 -1
  27. package/dist/forms/employmentAndWorkplace.es.js +2178 -934
  28. package/dist/forms/employmentAndWorkplace.iife.js +1 -1
  29. package/dist/forms/employmentAndWorkplace.json +1 -1
  30. package/dist/forms/generalLegal.es.js +854 -808
  31. package/dist/forms/generalLegal.iife.js +1 -1
  32. package/dist/forms/generalLegal.json +1 -1
  33. package/dist/forms/generalLegalPopUnder.es.js +854 -807
  34. package/dist/forms/generalLegalPopUnder.iife.js +1 -1
  35. package/dist/forms/generalLegalPopUnder.json +1 -1
  36. package/dist/forms/generalLegalPopUnderSingle.es.js +4383 -0
  37. package/dist/forms/generalLegalPopUnderSingle.iife.js +1 -0
  38. package/dist/forms/generalLegalPopUnderSingle.json +1 -0
  39. package/dist/forms/generalLegalSingle.es.js +1672 -1629
  40. package/dist/forms/generalLegalSingle.iife.js +1 -1
  41. package/dist/forms/generalLegalSingle.json +1 -1
  42. package/dist/forms/generalLegalThankYou.es.js +710 -695
  43. package/dist/forms/generalLegalThankYou.iife.js +1 -1
  44. package/dist/forms/generalLegalThankYou.json +1 -1
  45. package/dist/forms/harassmentAndDiscrimination.es.js +1465 -681
  46. package/dist/forms/harassmentAndDiscrimination.iife.js +1 -1
  47. package/dist/forms/harassmentAndDiscrimination.json +1 -1
  48. package/dist/forms/malpractice.es.js +1764 -1066
  49. package/dist/forms/malpractice.iife.js +1 -1
  50. package/dist/forms/malpractice.json +1 -1
  51. package/dist/forms/mechanics.es.js +115 -115
  52. package/dist/forms/mechanics.iife.js +1 -1
  53. package/dist/forms/realEstate.es.js +1557 -1209
  54. package/dist/forms/realEstate.iife.js +1 -1
  55. package/dist/forms/realEstate.json +1 -1
  56. package/dist/forms/repossession.es.js +1811 -1085
  57. package/dist/forms/repossession.iife.js +1 -1
  58. package/dist/forms/repossession.json +1 -1
  59. package/dist/forms/ssdi.es.js +672 -672
  60. package/dist/forms/ssdi.iife.js +1 -1
  61. package/dist/forms/ssdi.json +1 -1
  62. package/dist/forms/testForm.es.js +473 -468
  63. package/dist/forms/testForm.iife.js +1 -1
  64. package/dist/forms/testForm.json +1 -1
  65. package/dist/forms/testRedirects.es.js +105 -102
  66. package/dist/forms/testRedirects.iife.js +1 -1
  67. package/dist/forms/testRedirects.json +1 -1
  68. package/dist/forms/vets.es.js +115 -115
  69. package/dist/forms/vets.iife.js +1 -1
  70. package/dist/forms/willsAndTrusts.es.js +1298 -705
  71. package/dist/forms/willsAndTrusts.iife.js +1 -1
  72. package/dist/forms/willsAndTrusts.json +1 -1
  73. package/dist/main.css +1 -1
  74. package/package.json +1 -1
  75. package/dist/forms/generalLegalPopUnderTF.es.js +0 -3087
  76. package/dist/forms/generalLegalPopUnderTF.iife.js +0 -1
  77. package/dist/forms/generalLegalPopUnderTF.json +0 -1
@@ -11,609 +11,124 @@ const DEFAULT_FINAL_HEADLINE_DYNAMIC = '$getKey($meta, "finalHeadlines." + $get(
11
11
  const DEFAULT_FINAL_SUBHEADLINE = 'You may benefit from speaking with a legal professional. Please verify your contact information.';
12
12
  const DEFAULT_FINAL_SUBHEADLINE_DYNAMIC = '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
13
13
 
14
- const formPropDefaults = {
15
- type: 'form',
16
- id: 'form',
17
- config: { validationVisibility: 'submit' },
18
- onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
19
- plugins: '$plugins',
20
- actions: false,
21
- anchorElement: 'form-anchor',
22
- useLocalStorage: true,
23
- prepop: {
24
- fromURL: true
25
- },
26
- errorCodes: {
27
- 403: { message: "An Error Occurred", abort: false },
28
- 409: { abort: false },
29
- 429: "An Error Occurred",
30
- 504: { message: "An Error Occurred", abort: false },
31
- },
32
- formClass: '!t-max-w-[40rem]'
33
- };
14
+ // ------ Common Base Settings
34
15
 
35
- function formProps(updates) {
36
- const props = merge(
37
- formPropDefaults,
38
- updates
39
- );
40
- if (props.formId && !props.name) {
41
- props.name = props.formId;
16
+ const checkbox = (updates) => {
17
+ if (updates.name && !updates.id) {
18
+ updates.id = updates.name;
42
19
  }
43
- return props
44
- }
20
+ return merge({
21
+ $formkit: 'checkbox',
22
+ validation: 'required',
23
+ validationMessages: {
24
+ required: 'Field is required'
25
+ }
26
+ }, updates)
27
+ };
45
28
 
46
- const metaDefaults = {
47
- tcpaLanguage: TCPA_LANGUAGE
29
+ const sbsCheckbox = (updates) => {
30
+ updates.legendClass = 'legend-left required';
31
+ updates.fieldsetClass = '$reset side-by-side';
32
+ updates.optionsClass = 't-pl-1';
33
+ updates.innerClass = 't-flex t-items-center';
34
+ updates.wrapperClass = 't-mb-3';
35
+ return checkbox(updates)
48
36
  };
49
37
 
50
- function metaProps(updates) {
51
- const data = merge(
52
- metaDefaults,
53
- updates
54
- );
55
- return {
56
- type: 'meta',
57
- data
38
+ const col2Checkbox = (updates) => {
39
+ if (!updates || !updates.legendClass) {
40
+ updates.legendClass = 'required';
58
41
  }
59
- }
60
-
61
- function defaultMetaProps() {
62
- return metaProps({
63
- defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
64
- commentsPlaceholders: TOLPCommentsPlaceholders,
65
- defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
66
- finalHeadlines: TOLPFinalHeadlines,
67
- defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
68
- finalSubHeadlines: TOLPFinalSubHeadlines,
69
- // Added everywhere for now
70
- // trustedFormTOLPs: trustedFormTOLPs
71
- })
72
- }
42
+ updates.fieldsetClass = '$reset';
43
+ updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
44
+ updates.innerClass = 't-items-start';
45
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
46
+ return checkbox(updates)
47
+ };
73
48
 
74
- const formAnchorDefaults = {
75
- $el: 'div',
76
- children: [
77
- {
78
- $el: 'div',
79
- attrs: {
80
- id: 'form-anchor',
81
- class: 't-absolute',
82
- style: { top: '-30px', left: 0 }
83
- }
84
- }
85
- ],
86
- attrs: {
87
- class: 't-relative'
49
+ const radio = (updates) => {
50
+ if (updates.name && !updates.id) {
51
+ updates.id = updates.name;
88
52
  }
53
+ return merge({
54
+ $formkit: 'radio',
55
+ validation: 'required',
56
+ validationMessages: {
57
+ required: 'Field is required'
58
+ },
59
+ optionsClass: 't-pt-3 t-pl-1',
60
+ legendClass: 'required'
61
+ }, updates)
89
62
  };
90
63
 
91
- function formAnchor(updates) {
92
- return merge(
93
- formAnchorDefaults,
94
- updates
95
- )
96
- }
64
+ const col2Radio = (updates) => {
65
+ updates.legendClass = 'required';
66
+ updates.fieldsetClass = '$reset';
67
+ updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
68
+ updates.innerClass = 't-items-start';
69
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
70
+ return radio(updates)
71
+ };
97
72
 
98
- function headlineDefaults(updates = {}) {
99
- return {
100
- $el: 'h1',
101
- attrs: {
102
- class: 't-flex t-justify-center t-text-center !t-text-[2rem] t-font-semibold t-pt-5 t-px-7 md:t-px-3' + ' ' + (updates.headlineClass || '')
103
- }
104
- }
105
- }
73
+ const sbsRadio = (updates) => {
74
+ updates.legendClass = 'legend-left required';
75
+ updates.fieldsetClass = '$reset side-by-side';
76
+ updates.optionsClass = 't-pl-1';
77
+ updates.innerClass = 't-flex t-items-center';
78
+ updates.wrapperClass = 't-mb-3';
79
+ return radio(updates)
80
+ };
106
81
 
107
- function headline(updates = {}) {
108
- return merge(
109
- headlineDefaults(updates),
110
- updates
111
- )
112
- }
82
+ const sbs2ColRadio = (updates) => {
83
+ updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
84
+ updates.fieldsetClass = '$reset side-by-side-flex';
85
+ updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
86
+ updates.innerClass = 't-flex t-items-start';
87
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
88
+ return radio(updates)
89
+ };
113
90
 
114
- function subHeadlineDefaults(updates = {}) {
115
- return {
116
- $el: 'h3',
117
- attrs: {
118
- class: 't-flex t-justify-center t-text-center !t-text-[1.2rem] t-font-medium t-text-blue-500 t-px-10' + ' ' + (updates.subheadlineClass || '')
119
- }
120
- }
121
- }
91
+ const sbs2ItemRadio = (updates) => {
92
+ updates.legendClass = 'legend-left t-pb-1 required';
93
+ updates.fieldsetClass = '$reset side-by-side t-items-center';
94
+ updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
95
+ updates.innerClass = 't-flex t-items-center';
96
+ updates.optionClass = 't-pr-1';
97
+ return radio(updates)
98
+ };
122
99
 
123
- function subHeadline(updates = {}) {
124
- return merge(
125
- subHeadlineDefaults(updates),
126
- updates
127
- )
128
- }
100
+ const sbsYesNoRadio = (updates) => {
101
+ updates.options = ['Yes', 'No'];
102
+ return sbs2ItemRadio(updates)
103
+ };
129
104
 
130
- const secureIconDefault = {
131
- $el: 'div',
132
- if: '$activeStep === $lastStep()',
133
- attrs: {
134
- class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
135
- },
136
- children: [
137
- {
138
- $el: 'img',
139
- attrs: {
140
- loading: 'lazy',
141
- alt: '',
142
- style: {
143
- border: 0
144
- },
145
- width: '25',
146
- height: '25',
147
- src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
148
- }
105
+ const select = (updates) => {
106
+ if (updates.name && !updates.id) {
107
+ updates.id = updates.name;
108
+ }
109
+ return merge({
110
+ $formkit: 'select',
111
+ placeholder: "Please Select",
112
+ validation: 'required',
113
+ validationMessages: {
114
+ required: 'Field is required'
149
115
  },
150
- {
151
- $el: 'span',
152
- children: 'Secure & Encrypted',
153
- attrs: {
154
- class: 't-pl-2 t-pt-1 t-font-medium'
155
- }
156
- }
157
- ]
116
+ inputClass: 't-bg-white',
117
+ labelClass: 'required'
118
+ }, updates)
158
119
  };
159
120
 
121
+ const sbsSelect = (updates) => {
122
+ updates.labelClass = 'required';
123
+ updates.wrapperClass = 'side-by-side t-items-center';
124
+ updates.innerClass = 'select-height-content';
125
+ updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
126
+ return select(updates)
127
+ };
160
128
 
161
- function secureIcon(updates) {
162
- return merge(
163
- secureIconDefault,
164
- updates
165
- )
166
- }
167
-
168
- const hiddenInputsBase = [
169
- {
170
- $formkit: 'hidden',
171
- name: "gclid",
172
- value: null
173
- },
174
- {
175
- $formkit: 'hidden',
176
- name: "campaignid",
177
- value: null
178
- },
179
- {
180
- $formkit: 'hidden',
181
- name: "s",
182
- value: null
183
- }
184
- ];
185
-
186
- const hiddenInputsLegal = [
187
- {
188
- $formkit: 'hidden',
189
- name: "vertical",
190
- value: "Legal"
191
- },
192
- {
193
- $formkit: 'hidden',
194
- name: "TCPA_Language",
195
- value: "$meta.tcpaLanguage"
196
- },
197
- ...hiddenInputsBase
198
- ];
199
-
200
- const legalAllValueOverrideMap = {
201
- 'Civil_Defense': {
202
- 'Yes': {
203
- 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
204
- },
205
- 'No': {
206
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
207
- }
208
- },
209
- 'Type_Of_Legal_Problem_Display': {
210
- // Accidents and PI
211
- 'Auto Accident': {
212
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
213
- },
214
- 'Dog Bite': {
215
- 'Type_Of_Legal_Problem': 'Personal Injury'
216
- },
217
- 'Slip and Fall': {
218
- 'Type_Of_Legal_Problem': 'Personal Injury'
219
- },
220
- 'Workplace Injury': {
221
- 'Type_Of_Legal_Problem': 'Workers Compensation'
222
- },
223
- 'Trucking Accident': {
224
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
225
- },
226
- 'Motorcycle Accident': {
227
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
228
- },
229
- 'Other Accidents or Injuries': {
230
- 'Type_Of_Legal_Problem': 'Personal Injury'
231
- },
232
- // Civil
233
- 'Automobile Accident': {
234
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
235
- },
236
- 'Contract Disputes': {
237
- 'Type_Of_Legal_Problem': 'Business Lawyers'
238
- },
239
- 'Defamation and Slander': {
240
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
241
- },
242
- 'Dog Bite': {
243
- 'Type_Of_Legal_Problem': 'Personal Injury'
244
- },
245
- 'Employment and Workplace': {
246
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
247
- },
248
- 'Fraud': {
249
- 'Type_Of_Legal_Problem': 'Consumer Lawyers'
250
- },
251
- 'Medical Malpractice': {
252
- 'Type_Of_Legal_Problem': 'Medical Malpractice'
253
- },
254
- 'Personal Injury': {
255
- 'Type_Of_Legal_Problem': 'Personal Injury'
256
- },
257
- 'Property Damage': {
258
- 'Type_Of_Legal_Problem': 'Property Damage'
259
- },
260
- 'Small Claims': {
261
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
262
- },
263
- 'Real Estate': {
264
- 'Type_Of_Legal_Problem': 'Real Estate'
265
- },
266
- 'Other (describe on next page)': {
267
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
268
- },
269
- // Contracts
270
- 'Contract Creation': {
271
- 'Type_Of_Legal_Problem': 'Business Lawyers',
272
- 'Business_Services': 'Contracts'
273
- },
274
- 'Contract Enforcement': {
275
- 'Type_Of_Legal_Problem': 'Business Lawyers',
276
- 'Business_Services': 'Contracts'
277
- },
278
- 'Contract Cancellation': {
279
- 'Type_Of_Legal_Problem': 'Business Lawyers',
280
- 'Business_Services': 'Contracts'
281
- },
282
- 'Contract Fraud': {
283
- 'Type_Of_Legal_Problem': 'Business Lawyers',
284
- 'Business_Services': 'Contracts'
285
- },
286
- 'Breach of Contract': {
287
- 'Type_Of_Legal_Problem': 'Business Lawyers',
288
- 'Business_Services': 'Contracts'
289
- },
290
- 'Other Contract Issues': {
291
- 'Type_Of_Legal_Problem': 'Business Lawyers',
292
- 'Business_Services': 'Contracts'
293
- },
294
- // Criminal
295
- 'Criminal Defense': {
296
- 'Type_Of_Legal_Problem': 'Criminal and Felony'
297
- },
298
- 'Victim of a Crime': {
299
- 'Type_Of_Legal_Problem': 'Victim of a Crime'
300
- },
301
- 'DUI and DWI': {
302
- 'Type_Of_Legal_Problem': 'DUI and DWI'
303
- },
304
- 'Expungement': {
305
- 'Type_Of_Legal_Problem': 'Expungement'
306
- },
307
- 'Harassment': {
308
- 'Type_Of_Legal_Problem': 'Criminal and Felony'
309
- },
310
- 'Not Sure or Other': {
311
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
312
- },
313
- // Employment and Workplace
314
- 'Workplace Harassment': {
315
- 'Type_Of_Legal_Problem': 'Workplace Harassment'
316
- },
317
- 'Workplace Discrimination': {
318
- 'Type_Of_Legal_Problem': 'Workplace Discrimination'
319
- },
320
- 'Wrongful Termination': {
321
- 'Type_Of_Legal_Problem': 'Wrongful Termination'
322
- },
323
- 'Payment Disputes': {
324
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
325
- },
326
- 'Workers Compensation': {
327
- 'Type_Of_Legal_Problem': 'Workers Compensation'
328
- },
329
- 'Unemployment': {
330
- 'Type_Of_Legal_Problem': 'Unemployment'
331
- },
332
- 'Other Workplace Issues': {
333
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
334
- },
335
- // Malpractice
336
- 'Attorney Malpractice': {
337
- 'Type_Of_Legal_Problem': 'Civil Lawsuit'
338
- },
339
- 'Other Malpractice Issues': {
340
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
341
- },
342
- // Repossession
343
- 'Vehicle Repossession': {
344
- 'Type_Of_Legal_Problem': 'Bankruptcy'
345
- },
346
- 'Property Repossession': {
347
- 'Type_Of_Legal_Problem': 'Bankruptcy'
348
- },
349
- 'Other Repossession Issues': {
350
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
351
- },
352
- // Real Estate
353
- 'Contracts and Agreements': {
354
- 'Type_Of_Legal_Problem': 'Real Estate'
355
- },
356
- 'Deeds, Liens, and Titles': {
357
- 'Type_Of_Legal_Problem': 'Real Estate'
358
- },
359
- 'Foreclosure': {
360
- 'Type_Of_Legal_Problem': 'Foreclosure'
361
- },
362
- 'Insurance': {
363
- 'Type_Of_Legal_Problem': 'Insurance'
364
- },
365
- 'Landlord and Tenant': {
366
- 'Type_Of_Legal_Problem': 'Landlord and Tenant',
367
- },
368
- 'Loans and Mortgages': {
369
- 'Type_Of_Legal_Problem': 'Real Estate',
370
- },
371
- 'Wills, Trusts, and Estates': {
372
- 'Type_Of_Legal_Problem': 'Wills and Trusts'
373
- },
374
- 'Property Damage': {
375
- 'Type_Of_Legal_Problem': 'Property Damage'
376
- },
377
- 'Other Real Estate Issues': {
378
- 'Type_Of_Legal_Problem': 'Real Estate'
379
- }
380
- }
381
- };
382
-
383
- const TOLPCommentsPlaceholders = {
384
- 'Adoption': 'Example: "I need help with adoption forms"',
385
- 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
386
- 'Auto and Car Accidents': 'Example: "A truck crashed into my car on the highway" or "I\'ve been involved in a hit and run accident"',
387
- 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
388
- 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
389
- 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
390
- 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
391
- 'Child Custody': 'Example: "Need help getting custody"',
392
- 'Child Support': 'Example: "Issues with child support payments"',
393
- 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
394
- 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
395
- 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
396
- 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
397
- 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
398
- 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
399
- 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
400
- 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
401
- 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
402
- 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
403
- 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
404
- 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
405
- 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
406
- 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
407
- 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
408
- 'Guardianship': 'Example: "I need help with guardianship documents"',
409
- 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
410
- 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
411
- 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
412
- 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
413
- 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
414
- 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
415
- 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
416
- 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
417
- 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
418
- 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
419
- 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
420
- 'Long Term Disability': 'Example: "I was injured on the job and would like to file for benefits" or "I need help filing for disability benefits"',
421
- 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
422
- 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
423
- 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
424
- 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
425
- 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
426
- 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
427
- 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
428
- 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
429
- 'Social Security Disability and Insurance': 'Example: "I would like help filing for disability benefits" or "I\'ve been denied for SSDI and would like to appeal"',
430
- 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
431
- 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
432
- 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
433
- 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
434
- 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
435
- 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
436
- 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
437
- 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
438
- 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
439
- };
440
-
441
- const TOLPFinalHeadlines = {
442
- // 'Adoption': '',
443
- };
444
-
445
- const TOLPFinalSubHeadlines = {
446
- 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
447
- // 'Asbestos and Mesothelioma': '',
448
- 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
449
- 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
450
- // 'Birth Certificate and Name Change': '',
451
- // 'Business Lawyers': '',
452
- // 'Child Custody and Support': '',
453
- // 'Civil Rights and Discrimination': '',
454
- // 'Civil Lawsuit': '',
455
- // 'Consumer Lawyers': '',
456
- 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
457
- // 'Criminal and Felony': '',
458
- // 'Debt and Collections': '',
459
- 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
460
- 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
461
- 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
462
- // 'Employment and Workplace': '',
463
- // 'Expungement': '',
464
- // 'Family Issues': '',
465
- 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
466
- 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
467
- // 'Harassment and Discrimination': '',
468
- // 'Identity Theft': '',
469
- 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
470
- // 'Insurance': '',
471
- 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
472
- // 'Lemon Law': '',
473
- 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
474
- 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
475
- 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
476
- 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
477
- // 'Power of Attorney': '',
478
- 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
479
- // 'Product Liability': '',
480
- // 'Property Damage': '',
481
- 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
482
- 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
483
- 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
484
- // 'Traffic and Tickets': '',
485
- 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
486
- // 'Victim of a Crime': '',
487
- // 'Wills and Trusts': '',
488
- 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
489
- // 'Wrongful Death': '',
490
- // 'Wrongful Termination': '',
491
- // 'Not Sure or Other': ''
492
- // 'Sexual Harassment': '',
493
- // 'Workplace Harassment': '',
494
- // 'Non-Workplace Harassment': '',
495
- // 'Workplace Discrimination': '',
496
- // 'Non-Workplace Discrimination': '',
497
- };
498
-
499
- // ------ Common Base Settings
500
-
501
- const checkbox = (updates) => {
502
- if (updates.name && !updates.id) {
503
- updates.id = updates.name;
504
- }
505
- return merge({
506
- $formkit: 'checkbox',
507
- validation: 'required',
508
- validationMessages: {
509
- required: 'Field is required'
510
- }
511
- }, updates)
512
- };
513
-
514
- const sbsCheckbox = (updates) => {
515
- updates.legendClass = 'legend-left required';
516
- updates.fieldsetClass = '$reset side-by-side';
517
- updates.optionsClass = 't-pl-1';
518
- updates.innerClass = 't-flex t-items-center';
519
- updates.wrapperClass = 't-mb-3';
520
- return checkbox(updates)
521
- };
522
-
523
- const col2Checkbox = (updates) => {
524
- if (!updates || !updates.legendClass) {
525
- updates.legendClass = 'required';
526
- }
527
- updates.fieldsetClass = '$reset';
528
- updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
529
- updates.innerClass = 't-items-start';
530
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
531
- return checkbox(updates)
532
- };
533
-
534
- const radio = (updates) => {
535
- if (updates.name && !updates.id) {
536
- updates.id = updates.name;
537
- }
538
- return merge({
539
- $formkit: 'radio',
540
- validation: 'required',
541
- validationMessages: {
542
- required: 'Field is required'
543
- },
544
- optionsClass: 't-pt-3 t-pl-1',
545
- legendClass: 'required'
546
- }, updates)
547
- };
548
-
549
- const col2Radio = (updates) => {
550
- updates.legendClass = 'required';
551
- updates.fieldsetClass = '$reset';
552
- updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
553
- updates.innerClass = 't-items-start';
554
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
555
- return radio(updates)
556
- };
557
-
558
- const sbsRadio = (updates) => {
559
- updates.legendClass = 'legend-left required';
560
- updates.fieldsetClass = '$reset side-by-side';
561
- updates.optionsClass = 't-pl-1';
562
- updates.innerClass = 't-flex t-items-center';
563
- updates.wrapperClass = 't-mb-3';
564
- return radio(updates)
565
- };
566
-
567
- const sbs2ColRadio = (updates) => {
568
- updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
569
- updates.fieldsetClass = '$reset side-by-side-flex';
570
- updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
571
- updates.innerClass = 't-flex t-items-start';
572
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
573
- return radio(updates)
574
- };
575
-
576
- const sbs2ItemRadio = (updates) => {
577
- updates.legendClass = 'legend-left t-pb-1 required';
578
- updates.fieldsetClass = '$reset side-by-side t-items-center';
579
- updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
580
- updates.innerClass = 't-flex t-items-center';
581
- updates.optionClass = 't-pr-1';
582
- return radio(updates)
583
- };
584
-
585
- const sbsYesNoRadio = (updates) => {
586
- updates.options = ['Yes', 'No'];
587
- return sbs2ItemRadio(updates)
588
- };
589
-
590
- const select = (updates) => {
591
- if (updates.name && !updates.id) {
592
- updates.id = updates.name;
593
- }
594
- return merge({
595
- $formkit: 'select',
596
- placeholder: "Please Select",
597
- validation: 'required',
598
- validationMessages: {
599
- required: 'Field is required'
600
- },
601
- inputClass: 't-bg-white',
602
- labelClass: 'required'
603
- }, updates)
604
- };
605
-
606
- const sbsSelect = (updates) => {
607
- updates.labelClass = 'required';
608
- updates.wrapperClass = 'side-by-side t-items-center';
609
- updates.innerClass = 'select-height-content';
610
- updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
611
- return select(updates)
612
- };
613
-
614
- const text = (updates) => {
615
- if (updates.name && !updates.id) {
616
- updates.id = updates.name;
129
+ const text = (updates) => {
130
+ if (updates.name && !updates.id) {
131
+ updates.id = updates.name;
617
132
  }
618
133
  return merge({
619
134
  $formkit: 'text',
@@ -860,7 +375,7 @@ const civilLawsuitTOLPDisplay = (updates) => col2Radio(merge({
860
375
  'Property Damage',
861
376
  'Small Claims',
862
377
  'Real Estate',
863
- 'Other (describe on next page)'
378
+ 'Not Sure or Other'
864
379
  ]
865
380
  }, updates));
866
381
 
@@ -1245,6 +760,11 @@ const employerType = () => sbsSelect({
1245
760
  ]
1246
761
  });
1247
762
 
763
+ const employeeAtCompany = (scope) => sbsYesNoRadio({
764
+ name: scope ? scope + ':' + 'Employee_At_Company' : 'Employee_At_Company',
765
+ label: 'Do you/they still work at the company?'
766
+ });
767
+
1248
768
  const employmentAndWorkplaceTOLPDisplay = (updates) => col2Radio(merge({
1249
769
  name: 'Type_Of_Legal_Problem_Display',
1250
770
  if: '$get(Type_Of_Legal_Problem).value == "Employment and Workplace"',
@@ -1617,7 +1137,7 @@ const primaryInjury = (scope) => sbs2ColRadio({
1617
1137
  "Headaches",
1618
1138
  "Memory Loss",
1619
1139
  "Loss of Limb",
1620
- "Other (describe on next page)"
1140
+ "Not Sure or Other"
1621
1141
  ]
1622
1142
  });
1623
1143
 
@@ -1660,7 +1180,7 @@ const realEstateTOLPDisplay = (updates) => col2Radio(merge({
1660
1180
  'Loans and Mortgages',
1661
1181
  'Wills, Trusts, and Estates',
1662
1182
  'Property Damage',
1663
- 'Other Real Estate Issues'
1183
+ 'Not Sure or Other'
1664
1184
  ]
1665
1185
  }, updates));
1666
1186
 
@@ -2200,6 +1720,7 @@ const EmploymentAndWorkplaceQuestions = () => group(
2200
1720
  haveAttorney(),
2201
1721
  numEmployeesOfBusiness(),
2202
1722
  employerType(),
1723
+ employeeAtCompany(),
2203
1724
  degreeOfInterestHelp()
2204
1725
  ]
2205
1726
  }
@@ -2283,7 +1804,13 @@ const WorkplaceHarassmentQuestions = () => group(
2283
1804
  'WorkplaceHarassmentQuestions',
2284
1805
  {
2285
1806
  if: '$get(Type_Of_Legal_Problem).value == "Workplace Harassment"',
2286
- children: defaultQuestions()
1807
+ children: [
1808
+ haveAttorney(),
1809
+ numEmployeesOfBusiness(),
1810
+ employerType(),
1811
+ employeeAtCompany(),
1812
+ degreeOfInterestHelp()
1813
+ ]
2287
1814
  }
2288
1815
  );
2289
1816
 
@@ -2299,7 +1826,13 @@ const WorkplaceDiscriminationQuestions = () => group(
2299
1826
  'WorkplaceDiscriminationQuestions',
2300
1827
  {
2301
1828
  if: '$get(Type_Of_Legal_Problem).value == "Workplace Discrimination"',
2302
- children: defaultQuestions()
1829
+ children: [
1830
+ haveAttorney(),
1831
+ numEmployeesOfBusiness(),
1832
+ employerType(),
1833
+ employeeAtCompany(),
1834
+ degreeOfInterestHelp()
1835
+ ]
2303
1836
  }
2304
1837
  );
2305
1838
 
@@ -2662,6 +2195,43 @@ const findLastInput = (n) => {
2662
2195
  return null
2663
2196
  };
2664
2197
 
2198
+ const secureIconDefault = {
2199
+ $el: 'div',
2200
+ if: '$activeStep === $lastStep()',
2201
+ attrs: {
2202
+ class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
2203
+ },
2204
+ children: [
2205
+ {
2206
+ $el: 'img',
2207
+ attrs: {
2208
+ loading: 'lazy',
2209
+ alt: '',
2210
+ style: {
2211
+ border: 0
2212
+ },
2213
+ width: '25',
2214
+ height: '25',
2215
+ src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
2216
+ }
2217
+ },
2218
+ {
2219
+ $el: 'span',
2220
+ children: 'Secure & Encrypted',
2221
+ attrs: {
2222
+ class: 't-pl-2 t-pt-1 t-font-medium'
2223
+ }
2224
+ }
2225
+ ]
2226
+ };
2227
+
2228
+ function secureIcon(updates) {
2229
+ return merge(
2230
+ secureIconDefault,
2231
+ updates
2232
+ )
2233
+ }
2234
+
2665
2235
  function questionsStepHeadline(updates) {
2666
2236
  return {
2667
2237
  $el: 'h3',
@@ -2789,11 +2359,14 @@ function generalLegalTOLPAndZip(updates = {}) {
2789
2359
  realEstateTOLPDisplay(),
2790
2360
  zipcode()
2791
2361
  ],
2792
- updates.nextOnEnter
2362
+ updates.nextOnEnter,
2363
+ updates.nextOnInput,
2364
+ updates.stepKey,
2365
+ updates.nextStepMap
2793
2366
  )
2794
2367
  }
2795
2368
 
2796
- function commentsWithBankruptcyV2(updates = {}) {
2369
+ function commentsWithBankruptcy(updates = {}) {
2797
2370
  return step(
2798
2371
  'commentsWithBankruptcy',
2799
2372
  [
@@ -2801,7 +2374,7 @@ function commentsWithBankruptcyV2(updates = {}) {
2801
2374
  comments({
2802
2375
  label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
2803
2376
  placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
2804
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-40' : updates.inputClass,
2377
+ inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
2805
2378
  }),
2806
2379
  bankruptcyCrossSell(),
2807
2380
  {
@@ -2816,24 +2389,23 @@ function commentsWithBankruptcyV2(updates = {}) {
2816
2389
  ],
2817
2390
  }
2818
2391
  ],
2819
- updates.nextOnEnter,
2392
+ false // nextOnEnter
2820
2393
  )
2821
2394
  }
2822
2395
 
2823
- function contactInfoV2(updates = {}) {
2396
+ function contactInfo(updates = {}) {
2824
2397
  return step(
2825
2398
  'contactInfo',
2826
2399
  [
2827
2400
  contactStepHeadline(updates),
2828
2401
  contactStepSubHeadline(updates),
2829
- // Added TF everywhere
2830
2402
  trustedFormScript(),
2831
2403
  email(),
2832
2404
  phone(),
2833
2405
  TCPAConsent(),
2834
2406
  secureIcon()
2835
2407
  ],
2836
- updates.nextOnEnter
2408
+ false, // nextOnEnter
2837
2409
  )
2838
2410
  }
2839
2411
 
@@ -2910,114 +2482,561 @@ const AllTOLPQuestions = () => {
2910
2482
  ]
2911
2483
  };
2912
2484
 
2913
- function generalLegalTOLPQuestions(updates = {}) {
2914
- var questions = AllTOLPQuestions();
2485
+ function generalLegalTOLPQuestions(updates = {}) {
2486
+ var questions = AllTOLPQuestions();
2487
+
2488
+ questions.unshift(
2489
+ questionsStepHeadline(updates)
2490
+ );
2491
+
2492
+ return step(
2493
+ 'TOLPQuestions',
2494
+ questions,
2495
+ updates.nextOnEnter
2496
+ )
2497
+ }
2498
+
2499
+ // ------ Common
2500
+
2501
+ const formNavigation = () => ({
2502
+ $el: 'div',
2503
+ attrs: {
2504
+ class: 'step-nav'
2505
+ },
2506
+ children: [
2507
+ {
2508
+ $formkit: 'button',
2509
+ name: 'back_button',
2510
+ onClick: '$setPreviousStep($prevStepFunc($get(form)))',
2511
+ children: 'Back',
2512
+ style: {
2513
+ if: '$activeStep === $firstStep()',
2514
+ then: 'visibility: hidden;'
2515
+ }
2516
+ },
2517
+ {
2518
+ $formkit: 'button',
2519
+ name: 'next_button',
2520
+ onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2521
+ children: {
2522
+ if: '$activeStep === $firstStep()',
2523
+ then: 'Start',
2524
+ else: 'Next'
2525
+ },
2526
+ outerClass: {
2527
+ if: '$activeStep === $lastStep()',
2528
+ then: 't-hidden',
2529
+ else: ''
2530
+ },
2531
+ style: {
2532
+ if: '$activeStep === $lastStep()',
2533
+ then: 'display: none;'
2534
+ }
2535
+ },
2536
+ {
2537
+ $formkit: 'submit',
2538
+ name: 'submit_button',
2539
+ label: 'Submit',
2540
+ if: '$activeStep === $lastStep()',
2541
+ style: {
2542
+ if: '$activeStep !== $lastStep()',
2543
+ then: 'display: none;'
2544
+ }
2545
+ }
2546
+ ]
2547
+ });
2548
+
2549
+ const formDetails = () => ({
2550
+ $el: 'pre',
2551
+ if: '$urlParam("fdbg", "") == 1',
2552
+ children: [
2553
+ {
2554
+ $el: 'pre',
2555
+ children: '$stringify( $get(form).value )',
2556
+ attrs: {
2557
+ class: 't-text-xs',
2558
+ style: 'overflow: scroll'
2559
+ }
2560
+ },
2561
+ {
2562
+ $el: 'pre',
2563
+ children: ['activeStep: ', '$activeStep'],
2564
+ attrs: {
2565
+ class: 't-text-xs',
2566
+ style: 'overflow: scroll'
2567
+ }
2568
+ },
2569
+ {
2570
+ $el: 'pre',
2571
+ children: ['stepHistory: ', '$stepHistory'],
2572
+ attrs: {
2573
+ class: 't-text-xs',
2574
+ style: 'overflow: scroll'
2575
+ }
2576
+ },
2577
+ {
2578
+ $el: 'pre',
2579
+ children: ['stepQueue: ', '$stepQueue'],
2580
+ attrs: {
2581
+ class: 't-text-xs',
2582
+ style: 'overflow: scroll'
2583
+ }
2584
+ },
2585
+ {
2586
+ $el: 'pre',
2587
+ children: ['steps: ', '$stepKeys()'],
2588
+ attrs: {
2589
+ class: 't-text-xs',
2590
+ style: 'overflow: scroll'
2591
+ }
2592
+ }
2593
+ ]
2594
+ });
2595
+
2596
+ const formPropDefaults = {
2597
+ type: 'form',
2598
+ id: 'form',
2599
+ config: { validationVisibility: 'submit' },
2600
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
2601
+ plugins: '$plugins',
2602
+ actions: false,
2603
+ anchorElement: 'form-anchor',
2604
+ useLocalStorage: true,
2605
+ prepop: {
2606
+ fromURL: true
2607
+ },
2608
+ errorCodes: {
2609
+ 403: { message: "An Error Occurred", abort: false },
2610
+ 409: { abort: false },
2611
+ 429: "An Error Occurred",
2612
+ 504: { message: "An Error Occurred", abort: false },
2613
+ },
2614
+ formClass: '!t-max-w-[40rem]'
2615
+ };
2616
+
2617
+ function formProps(updates) {
2618
+ const props = merge(
2619
+ formPropDefaults,
2620
+ updates
2621
+ );
2622
+ if (props.formId && !props.name) {
2623
+ props.name = props.formId;
2624
+ }
2625
+ return props
2626
+ }
2915
2627
 
2916
- questions.unshift(
2917
- questionsStepHeadline(updates)
2628
+ const metaDefaults = {
2629
+ tcpaLanguage: TCPA_LANGUAGE
2630
+ };
2631
+
2632
+ function metaProps(updates) {
2633
+ const data = merge(
2634
+ metaDefaults,
2635
+ updates
2918
2636
  );
2637
+ return {
2638
+ type: 'meta',
2639
+ data
2640
+ }
2641
+ }
2919
2642
 
2920
- return step(
2921
- 'TOLPQuestions',
2922
- questions,
2923
- updates.nextOnEnter
2924
- )
2643
+ function defaultMetaProps() {
2644
+ return metaProps({
2645
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
2646
+ commentsPlaceholders: TOLPCommentsPlaceholders,
2647
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
2648
+ finalHeadlines: TOLPFinalHeadlines,
2649
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
2650
+ finalSubHeadlines: TOLPFinalSubHeadlines,
2651
+ })
2925
2652
  }
2926
2653
 
2927
- const formNavigationV2 = () => ({
2654
+ const formAnchorDefaults = {
2928
2655
  $el: 'div',
2929
- attrs: {
2930
- class: 'step-nav'
2931
- },
2932
2656
  children: [
2933
2657
  {
2934
- $formkit: 'button',
2935
- name: 'back_button',
2936
- onClick: '$setPreviousStep($prevStepFunc($get(form)))',
2937
- children: 'Back',
2938
- style: {
2939
- if: '$activeStep === $firstStep()',
2940
- then: 'visibility: hidden;'
2658
+ $el: 'div',
2659
+ attrs: {
2660
+ id: 'form-anchor',
2661
+ class: 't-absolute',
2662
+ style: { top: '-30px', left: 0 }
2941
2663
  }
2664
+ }
2665
+ ],
2666
+ attrs: {
2667
+ class: 't-relative'
2668
+ }
2669
+ };
2670
+
2671
+ function formAnchor(updates) {
2672
+ return merge(
2673
+ formAnchorDefaults,
2674
+ updates
2675
+ )
2676
+ }
2677
+
2678
+ function headlineDefaults(updates = {}) {
2679
+ return {
2680
+ $el: 'h1',
2681
+ attrs: {
2682
+ class: 't-flex t-justify-center t-text-center !t-text-[2rem] t-font-semibold t-pt-5 t-px-7 md:t-px-3' + ' ' + (updates.headlineClass || '')
2683
+ }
2684
+ }
2685
+ }
2686
+
2687
+ function headline(updates = {}) {
2688
+ return merge(
2689
+ headlineDefaults(updates),
2690
+ updates
2691
+ )
2692
+ }
2693
+
2694
+ function subHeadlineDefaults(updates = {}) {
2695
+ return {
2696
+ $el: 'h3',
2697
+ attrs: {
2698
+ class: 't-flex t-justify-center t-text-center !t-text-[1.2rem] t-font-medium t-text-blue-500 t-px-10' + ' ' + (updates.subheadlineClass || '')
2699
+ }
2700
+ }
2701
+ }
2702
+
2703
+ function subHeadline(updates = {}) {
2704
+ return merge(
2705
+ subHeadlineDefaults(updates),
2706
+ updates
2707
+ )
2708
+ }
2709
+
2710
+ const hiddenInputsBase = [
2711
+ {
2712
+ $formkit: 'hidden',
2713
+ name: "gclid",
2714
+ value: null
2715
+ },
2716
+ {
2717
+ $formkit: 'hidden',
2718
+ name: "campaignid",
2719
+ value: null
2720
+ },
2721
+ {
2722
+ $formkit: 'hidden',
2723
+ name: "s",
2724
+ value: null
2725
+ }
2726
+ ];
2727
+
2728
+ const hiddenInputsLegal = [
2729
+ {
2730
+ $formkit: 'hidden',
2731
+ name: "vertical",
2732
+ value: "Legal"
2733
+ },
2734
+ {
2735
+ $formkit: 'hidden',
2736
+ name: "TCPA_Language",
2737
+ value: "$meta.tcpaLanguage"
2738
+ },
2739
+ ...hiddenInputsBase
2740
+ ];
2741
+
2742
+ const legalAllValueOverrideMap = {
2743
+ 'Civil_Defense': {
2744
+ 'Yes': {
2745
+ 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
2746
+ },
2747
+ 'No': {
2748
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
2749
+ }
2750
+ },
2751
+ 'Type_Of_Legal_Problem_Display': {
2752
+ // Accidents and PI
2753
+ 'Auto Accident': {
2754
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2755
+ },
2756
+ 'Dog Bite': {
2757
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2758
+ },
2759
+ 'Slip and Fall': {
2760
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2761
+ },
2762
+ 'Workplace Injury': {
2763
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
2764
+ },
2765
+ 'Trucking Accident': {
2766
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2767
+ },
2768
+ 'Motorcycle Accident': {
2769
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
2770
+ },
2771
+ 'Other Accidents or Injuries': {
2772
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2773
+ },
2774
+ // Civil
2775
+ 'Automobile Accident': {
2776
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2777
+ },
2778
+ 'Contract Disputes': {
2779
+ 'Type_Of_Legal_Problem': 'Business Lawyers'
2780
+ },
2781
+ 'Defamation and Slander': {
2782
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
2783
+ },
2784
+ 'Dog Bite': {
2785
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2786
+ },
2787
+ 'Employment and Workplace': {
2788
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
2789
+ },
2790
+ 'Fraud': {
2791
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
2792
+ },
2793
+ 'Medical Malpractice': {
2794
+ 'Type_Of_Legal_Problem': 'Medical Malpractice'
2795
+ },
2796
+ 'Personal Injury': {
2797
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2798
+ },
2799
+ 'Property Damage': {
2800
+ 'Type_Of_Legal_Problem': 'Property Damage'
2801
+ },
2802
+ 'Small Claims': {
2803
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
2804
+ },
2805
+ 'Real Estate': {
2806
+ 'Type_Of_Legal_Problem': 'Real Estate'
2807
+ },
2808
+ 'Other (describe on next page)': {
2809
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
2810
+ },
2811
+ // Contracts
2812
+ 'Contract Creation': {
2813
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2814
+ 'Business_Services': 'Contracts'
2815
+ },
2816
+ 'Contract Enforcement': {
2817
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2818
+ 'Business_Services': 'Contracts'
2819
+ },
2820
+ 'Contract Cancellation': {
2821
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2822
+ 'Business_Services': 'Contracts'
2823
+ },
2824
+ 'Contract Fraud': {
2825
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2826
+ 'Business_Services': 'Contracts'
2827
+ },
2828
+ 'Breach of Contract': {
2829
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2830
+ 'Business_Services': 'Contracts'
2831
+ },
2832
+ 'Other Contract Issues': {
2833
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2834
+ 'Business_Services': 'Contracts'
2835
+ },
2836
+ // Criminal
2837
+ 'Criminal Defense': {
2838
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
2839
+ },
2840
+ 'Victim of a Crime': {
2841
+ 'Type_Of_Legal_Problem': 'Victim of a Crime'
2842
+ },
2843
+ 'DUI and DWI': {
2844
+ 'Type_Of_Legal_Problem': 'DUI and DWI'
2845
+ },
2846
+ 'Expungement': {
2847
+ 'Type_Of_Legal_Problem': 'Expungement'
2848
+ },
2849
+ 'Harassment': {
2850
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
2942
2851
  },
2943
- {
2944
- $formkit: 'button',
2945
- name: 'next_button',
2946
- onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2947
- children: {
2948
- if: '$activeStep === $firstStep()',
2949
- then: 'Start',
2950
- else: 'Next'
2951
- },
2952
- outerClass: {
2953
- if: '$activeStep === $lastStep()',
2954
- then: 't-hidden',
2955
- else: ''
2956
- },
2957
- style: {
2958
- if: '$activeStep === $lastStep()',
2959
- then: 'display: none;'
2960
- }
2852
+ 'Not Sure or Other': {
2853
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
2961
2854
  },
2962
- {
2963
- $formkit: 'submit',
2964
- name: 'submit_button',
2965
- label: 'Submit',
2966
- if: '$activeStep === $lastStep()',
2967
- style: {
2968
- if: '$activeStep !== $lastStep()',
2969
- then: 'display: none;'
2970
- }
2971
- }
2972
- ]
2973
- });
2974
-
2975
- const formDetails = () => ({
2976
- $el: 'pre',
2977
- if: '$urlParam("fdbg", "") == 1',
2978
- children: [
2979
- {
2980
- $el: 'pre',
2981
- children: '$stringify( $get(form).value )',
2982
- attrs: {
2983
- class: 't-text-xs',
2984
- style: 'overflow: scroll'
2985
- }
2855
+ // Employment and Workplace
2856
+ 'Workplace Harassment': {
2857
+ 'Type_Of_Legal_Problem': 'Workplace Harassment'
2986
2858
  },
2987
- {
2988
- $el: 'pre',
2989
- children: ['activeStep: ', '$activeStep'],
2990
- attrs: {
2991
- class: 't-text-xs',
2992
- style: 'overflow: scroll'
2993
- }
2859
+ 'Workplace Discrimination': {
2860
+ 'Type_Of_Legal_Problem': 'Workplace Discrimination'
2994
2861
  },
2995
- {
2996
- $el: 'pre',
2997
- children: ['stepHistory: ', '$stepHistory'],
2998
- attrs: {
2999
- class: 't-text-xs',
3000
- style: 'overflow: scroll'
3001
- }
2862
+ 'Wrongful Termination': {
2863
+ 'Type_Of_Legal_Problem': 'Wrongful Termination'
3002
2864
  },
3003
- {
3004
- $el: 'pre',
3005
- children: ['stepQueue: ', '$stepQueue'],
3006
- attrs: {
3007
- class: 't-text-xs',
3008
- style: 'overflow: scroll'
3009
- }
2865
+ 'Payment Disputes': {
2866
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3010
2867
  },
3011
- {
3012
- $el: 'pre',
3013
- children: ['steps: ', '$stepKeys()'],
3014
- attrs: {
3015
- class: 't-text-xs',
3016
- style: 'overflow: scroll'
3017
- }
2868
+ 'Workers Compensation': {
2869
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
2870
+ },
2871
+ 'Unemployment': {
2872
+ 'Type_Of_Legal_Problem': 'Unemployment'
2873
+ },
2874
+ 'Other Workplace Issues': {
2875
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
2876
+ },
2877
+ // Malpractice
2878
+ 'Attorney Malpractice': {
2879
+ 'Type_Of_Legal_Problem': 'Civil Lawsuit'
2880
+ },
2881
+ 'Other Malpractice Issues': {
2882
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
2883
+ },
2884
+ // Repossession
2885
+ 'Vehicle Repossession': {
2886
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
2887
+ },
2888
+ 'Property Repossession': {
2889
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
2890
+ },
2891
+ 'Other Repossession Issues': {
2892
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
2893
+ },
2894
+ // Real Estate
2895
+ 'Contracts and Agreements': {
2896
+ 'Type_Of_Legal_Problem': 'Real Estate'
2897
+ },
2898
+ 'Deeds, Liens, and Titles': {
2899
+ 'Type_Of_Legal_Problem': 'Real Estate'
2900
+ },
2901
+ 'Foreclosure': {
2902
+ 'Type_Of_Legal_Problem': 'Foreclosure'
2903
+ },
2904
+ 'Insurance': {
2905
+ 'Type_Of_Legal_Problem': 'Insurance'
2906
+ },
2907
+ 'Landlord and Tenant': {
2908
+ 'Type_Of_Legal_Problem': 'Landlord and Tenant',
2909
+ },
2910
+ 'Loans and Mortgages': {
2911
+ 'Type_Of_Legal_Problem': 'Real Estate',
2912
+ },
2913
+ 'Wills, Trusts, and Estates': {
2914
+ 'Type_Of_Legal_Problem': 'Wills and Trusts'
2915
+ },
2916
+ 'Property Damage': {
2917
+ 'Type_Of_Legal_Problem': 'Property Damage'
2918
+ },
2919
+ 'Other Real Estate Issues': {
2920
+ 'Type_Of_Legal_Problem': 'Real Estate'
3018
2921
  }
3019
- ]
3020
- });
2922
+ }
2923
+ };
2924
+
2925
+ const TOLPCommentsPlaceholders = {
2926
+ 'Adoption': 'Example: "I need help with adoption forms"',
2927
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
2928
+ 'Auto and Car Accidents': 'Example: "A truck crashed into my car on the highway" or "I\'ve been involved in a hit and run accident"',
2929
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
2930
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
2931
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
2932
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
2933
+ 'Child Custody': 'Example: "Need help getting custody"',
2934
+ 'Child Support': 'Example: "Issues with child support payments"',
2935
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
2936
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
2937
+ 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
2938
+ 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
2939
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
2940
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
2941
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
2942
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
2943
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
2944
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
2945
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
2946
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
2947
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
2948
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
2949
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
2950
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
2951
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
2952
+ 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
2953
+ 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
2954
+ 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
2955
+ 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
2956
+ 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
2957
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
2958
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
2959
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
2960
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
2961
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
2962
+ 'Long Term Disability': 'Example: "I was injured on the job and would like to file for benefits" or "I need help filing for disability benefits"',
2963
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
2964
+ 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
2965
+ 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
2966
+ 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
2967
+ 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
2968
+ 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
2969
+ 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
2970
+ 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
2971
+ 'Social Security Disability and Insurance': 'Example: "I would like help filing for disability benefits" or "I\'ve been denied for SSDI and would like to appeal"',
2972
+ 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
2973
+ 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
2974
+ 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
2975
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
2976
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
2977
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
2978
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
2979
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
2980
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
2981
+ };
2982
+
2983
+ const TOLPFinalHeadlines = {
2984
+ // 'Adoption': '',
2985
+ };
2986
+
2987
+ const TOLPFinalSubHeadlines = {
2988
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
2989
+ // 'Asbestos and Mesothelioma': '',
2990
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
2991
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
2992
+ // 'Birth Certificate and Name Change': '',
2993
+ // 'Business Lawyers': '',
2994
+ // 'Child Custody and Support': '',
2995
+ // 'Civil Rights and Discrimination': '',
2996
+ // 'Civil Lawsuit': '',
2997
+ // 'Consumer Lawyers': '',
2998
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
2999
+ // 'Criminal and Felony': '',
3000
+ // 'Debt and Collections': '',
3001
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
3002
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
3003
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
3004
+ // 'Employment and Workplace': '',
3005
+ // 'Expungement': '',
3006
+ // 'Family Issues': '',
3007
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
3008
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
3009
+ // 'Harassment and Discrimination': '',
3010
+ // 'Identity Theft': '',
3011
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
3012
+ // 'Insurance': '',
3013
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
3014
+ // 'Lemon Law': '',
3015
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
3016
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
3017
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
3018
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
3019
+ // 'Power of Attorney': '',
3020
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
3021
+ // 'Product Liability': '',
3022
+ // 'Property Damage': '',
3023
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
3024
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
3025
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
3026
+ // 'Traffic and Tickets': '',
3027
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
3028
+ // 'Victim of a Crime': '',
3029
+ // 'Wills and Trusts': '',
3030
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
3031
+ // 'Wrongful Death': '',
3032
+ // 'Wrongful Termination': '',
3033
+ // 'Not Sure or Other': ''
3034
+ // 'Sexual Harassment': '',
3035
+ // 'Workplace Harassment': '',
3036
+ // 'Non-Workplace Harassment': '',
3037
+ // 'Workplace Discrimination': '',
3038
+ // 'Non-Workplace Discrimination': '',
3039
+ };
3021
3040
 
3022
3041
  const schema = [
3023
3042
  defaultMetaProps(),
@@ -3049,14 +3068,10 @@ const schema = [
3049
3068
  children: [
3050
3069
  generalLegalTOLPAndZip(),
3051
3070
  generalLegalTOLPQuestions(),
3052
- commentsWithBankruptcyV2({
3053
- nextOnEnter: false
3054
- }),
3071
+ commentsWithBankruptcy(),
3055
3072
  firstAndLastV2(),
3056
- contactInfoV2({
3057
- nextOnEnter: false
3058
- }),
3059
- formNavigationV2(),
3073
+ contactInfo(),
3074
+ formNavigation(),
3060
3075
  formDetails()
3061
3076
  ]
3062
3077
  }