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
@@ -15,650 +15,139 @@ const DEFAULT_FINAL_HEADLINE_DYNAMIC = '$getKey($meta, "finalHeadlines." + $get(
15
15
  const DEFAULT_FINAL_SUBHEADLINE = 'You may benefit from speaking with a legal professional. Please verify your contact information.';
16
16
  const DEFAULT_FINAL_SUBHEADLINE_DYNAMIC = '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
17
17
 
18
- const formPropDefaults = {
19
- type: 'form',
20
- id: 'form',
21
- config: { validationVisibility: 'submit' },
22
- onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
23
- plugins: '$plugins',
24
- actions: false,
25
- anchorElement: 'form-anchor',
26
- useLocalStorage: true,
27
- prepop: {
28
- fromURL: true
29
- },
30
- errorCodes: {
31
- 403: { message: "An Error Occurred", abort: false },
32
- 409: { abort: false },
33
- 429: "An Error Occurred",
34
- 504: { message: "An Error Occurred", abort: false },
35
- },
36
- formClass: '!t-max-w-[40rem]'
37
- };
18
+ // ------ Common Base Settings
38
19
 
39
- function formProps(updates) {
40
- const props = merge(
41
- formPropDefaults,
42
- updates
43
- );
44
- if (props.formId && !props.name) {
45
- props.name = props.formId;
20
+ const checkbox = (updates) => {
21
+ if (updates.name && !updates.id) {
22
+ updates.id = updates.name;
46
23
  }
47
- return props
48
- }
24
+ return merge({
25
+ $formkit: 'checkbox',
26
+ validation: 'required',
27
+ validationMessages: {
28
+ required: 'Field is required'
29
+ }
30
+ }, updates)
31
+ };
49
32
 
50
- const metaDefaults = {
51
- tcpaLanguage: TCPA_LANGUAGE
33
+ const sbsCheckbox = (updates) => {
34
+ updates.legendClass = 'legend-left required';
35
+ updates.fieldsetClass = '$reset side-by-side';
36
+ updates.optionsClass = 't-pl-1';
37
+ updates.innerClass = 't-flex t-items-center';
38
+ updates.wrapperClass = 't-mb-3';
39
+ return checkbox(updates)
52
40
  };
53
41
 
54
- function metaProps(updates) {
55
- const data = merge(
56
- metaDefaults,
57
- updates
58
- );
59
- return {
60
- type: 'meta',
61
- data
42
+ const col2Checkbox = (updates) => {
43
+ if (!updates || !updates.legendClass) {
44
+ updates.legendClass = 'required';
62
45
  }
63
- }
64
-
65
- function defaultMetaProps() {
66
- return metaProps({
67
- defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
68
- commentsPlaceholders: TOLPCommentsPlaceholders,
69
- defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
70
- finalHeadlines: TOLPFinalHeadlines,
71
- defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
72
- finalSubHeadlines: TOLPFinalSubHeadlines,
73
- // Added everywhere for now
74
- // trustedFormTOLPs: trustedFormTOLPs
75
- })
76
- }
46
+ updates.fieldsetClass = '$reset';
47
+ updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
48
+ updates.innerClass = 't-items-start';
49
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
50
+ return checkbox(updates)
51
+ };
77
52
 
78
- const formAnchorDefaults = {
79
- $el: 'div',
80
- children: [
81
- {
82
- $el: 'div',
83
- attrs: {
84
- id: 'form-anchor',
85
- class: 't-absolute',
86
- style: { top: '-30px', left: 0 }
87
- }
88
- }
89
- ],
90
- attrs: {
91
- class: 't-relative'
53
+ const radio = (updates) => {
54
+ if (updates.name && !updates.id) {
55
+ updates.id = updates.name;
92
56
  }
57
+ return merge({
58
+ $formkit: 'radio',
59
+ validation: 'required',
60
+ validationMessages: {
61
+ required: 'Field is required'
62
+ },
63
+ optionsClass: 't-pt-3 t-pl-1',
64
+ legendClass: 'required'
65
+ }, updates)
93
66
  };
94
67
 
95
- function formAnchor(updates) {
96
- return merge(
97
- formAnchorDefaults,
98
- updates
99
- )
100
- }
68
+ const col2Radio = (updates) => {
69
+ updates.legendClass = 'required';
70
+ updates.fieldsetClass = '$reset';
71
+ updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
72
+ updates.innerClass = 't-items-start';
73
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
74
+ return radio(updates)
75
+ };
101
76
 
102
- function headlineDefaults(updates = {}) {
103
- return {
104
- $el: 'h1',
105
- attrs: {
106
- 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 || '')
107
- }
108
- }
109
- }
77
+ const sbsRadio = (updates) => {
78
+ updates.legendClass = 'legend-left required';
79
+ updates.fieldsetClass = '$reset side-by-side';
80
+ updates.optionsClass = 't-pl-1';
81
+ updates.innerClass = 't-flex t-items-center';
82
+ updates.wrapperClass = 't-mb-3';
83
+ return radio(updates)
84
+ };
110
85
 
111
- function headline(updates = {}) {
112
- return merge(
113
- headlineDefaults(updates),
114
- updates
115
- )
116
- }
86
+ const sbs2ColRadio = (updates) => {
87
+ updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
88
+ updates.fieldsetClass = '$reset side-by-side-flex';
89
+ updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
90
+ updates.innerClass = 't-flex t-items-start';
91
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
92
+ return radio(updates)
93
+ };
117
94
 
118
- function defaultHeadline() {
119
- return headline({
120
- children: '$urlParam("hl", "Start Here For a Free Consultation")',
121
- if: '$activeStep === $firstStep()'
122
- })
123
- }
95
+ const sbs2ItemRadio = (updates) => {
96
+ updates.legendClass = 'legend-left t-pb-1 required';
97
+ updates.fieldsetClass = '$reset side-by-side t-items-center';
98
+ updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
99
+ updates.innerClass = 't-flex t-items-center';
100
+ updates.optionClass = 't-pr-1';
101
+ return radio(updates)
102
+ };
124
103
 
125
- function subHeadlineDefaults(updates = {}) {
126
- return {
127
- $el: 'h3',
128
- attrs: {
129
- 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 || '')
130
- }
131
- }
132
- }
104
+ const sbsYesNoRadio = (updates) => {
105
+ updates.options = ['Yes', 'No'];
106
+ return sbs2ItemRadio(updates)
107
+ };
133
108
 
134
- function subHeadline(updates = {}) {
135
- return merge(
136
- subHeadlineDefaults(updates),
137
- updates
138
- )
139
- }
109
+ const select = (updates) => {
110
+ if (updates.name && !updates.id) {
111
+ updates.id = updates.name;
112
+ }
113
+ return merge({
114
+ $formkit: 'select',
115
+ placeholder: "Please Select",
116
+ validation: 'required',
117
+ validationMessages: {
118
+ required: 'Field is required'
119
+ },
120
+ inputClass: 't-bg-white',
121
+ labelClass: 'required'
122
+ }, updates)
123
+ };
140
124
 
141
- function defaultSubHeadline() {
142
- return subHeadline({
143
- children: '$urlParam("shl", "Our Service is Fast and Free!")',
144
- if: '$activeStep === $firstStep()'
145
- })
146
- }
125
+ const sbsSelect = (updates) => {
126
+ updates.labelClass = 'required';
127
+ updates.wrapperClass = 'side-by-side t-items-center';
128
+ updates.innerClass = 'select-height-content';
129
+ updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
130
+ return select(updates)
131
+ };
147
132
 
148
- const secureIconDefault = {
149
- $el: 'div',
150
- if: '$activeStep === $lastStep()',
151
- attrs: {
152
- class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
153
- },
154
- children: [
155
- {
156
- $el: 'img',
157
- attrs: {
158
- loading: 'lazy',
159
- alt: '',
160
- style: {
161
- border: 0
162
- },
163
- width: '25',
164
- height: '25',
165
- src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
166
- }
133
+ const text = (updates) => {
134
+ if (updates.name && !updates.id) {
135
+ updates.id = updates.name;
136
+ }
137
+ return merge({
138
+ $formkit: 'text',
139
+ validation: 'required',
140
+ validationMessages: {
141
+ required: 'Field is required'
167
142
  },
168
- {
169
- $el: 'span',
170
- children: 'Secure & Encrypted',
171
- attrs: {
172
- class: 't-pl-2 t-pt-1 t-font-medium'
173
- }
174
- }
175
- ]
143
+ labelClass: 'required'
144
+ }, updates)
176
145
  };
177
146
 
178
-
179
- function secureIcon(updates) {
180
- return merge(
181
- secureIconDefault,
182
- updates
183
- )
184
- }
185
-
186
- const hiddenInputsBase = [
187
- {
188
- $formkit: 'hidden',
189
- name: "gclid",
190
- value: null
191
- },
192
- {
193
- $formkit: 'hidden',
194
- name: "campaignid",
195
- value: null
196
- },
197
- {
198
- $formkit: 'hidden',
199
- name: "s",
200
- value: null
201
- }
202
- ];
203
-
204
- const hiddenInputsLegal = [
205
- {
206
- $formkit: 'hidden',
207
- name: "vertical",
208
- value: "Legal"
209
- },
210
- {
211
- $formkit: 'hidden',
212
- name: "TCPA_Language",
213
- value: "$meta.tcpaLanguage"
214
- },
215
- ...hiddenInputsBase
216
- ];
217
-
218
- const legalRedirectMapDefaults = {
219
- '*': LegalRedirectUrl()
220
- };
221
-
222
-
223
- function legalRedirectMap(updates) {
224
- return merge(
225
- legalRedirectMapDefaults,
226
- updates
227
- )
228
- }
229
-
230
- const legalAllValueOverrideMap = {
231
- 'Civil_Defense': {
232
- 'Yes': {
233
- 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
234
- },
235
- 'No': {
236
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
237
- }
238
- },
239
- 'Type_Of_Legal_Problem_Display': {
240
- // Accidents and PI
241
- 'Auto Accident': {
242
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
243
- },
244
- 'Dog Bite': {
245
- 'Type_Of_Legal_Problem': 'Personal Injury'
246
- },
247
- 'Slip and Fall': {
248
- 'Type_Of_Legal_Problem': 'Personal Injury'
249
- },
250
- 'Workplace Injury': {
251
- 'Type_Of_Legal_Problem': 'Workers Compensation'
252
- },
253
- 'Trucking Accident': {
254
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
255
- },
256
- 'Motorcycle Accident': {
257
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
258
- },
259
- 'Other Accidents or Injuries': {
260
- 'Type_Of_Legal_Problem': 'Personal Injury'
261
- },
262
- // Civil
263
- 'Automobile Accident': {
264
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
265
- },
266
- 'Contract Disputes': {
267
- 'Type_Of_Legal_Problem': 'Business Lawyers'
268
- },
269
- 'Defamation and Slander': {
270
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
271
- },
272
- 'Dog Bite': {
273
- 'Type_Of_Legal_Problem': 'Personal Injury'
274
- },
275
- 'Employment and Workplace': {
276
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
277
- },
278
- 'Fraud': {
279
- 'Type_Of_Legal_Problem': 'Consumer Lawyers'
280
- },
281
- 'Medical Malpractice': {
282
- 'Type_Of_Legal_Problem': 'Medical Malpractice'
283
- },
284
- 'Personal Injury': {
285
- 'Type_Of_Legal_Problem': 'Personal Injury'
286
- },
287
- 'Property Damage': {
288
- 'Type_Of_Legal_Problem': 'Property Damage'
289
- },
290
- 'Small Claims': {
291
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
292
- },
293
- 'Real Estate': {
294
- 'Type_Of_Legal_Problem': 'Real Estate'
295
- },
296
- 'Other (describe on next page)': {
297
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
298
- },
299
- // Contracts
300
- 'Contract Creation': {
301
- 'Type_Of_Legal_Problem': 'Business Lawyers',
302
- 'Business_Services': 'Contracts'
303
- },
304
- 'Contract Enforcement': {
305
- 'Type_Of_Legal_Problem': 'Business Lawyers',
306
- 'Business_Services': 'Contracts'
307
- },
308
- 'Contract Cancellation': {
309
- 'Type_Of_Legal_Problem': 'Business Lawyers',
310
- 'Business_Services': 'Contracts'
311
- },
312
- 'Contract Fraud': {
313
- 'Type_Of_Legal_Problem': 'Business Lawyers',
314
- 'Business_Services': 'Contracts'
315
- },
316
- 'Breach of Contract': {
317
- 'Type_Of_Legal_Problem': 'Business Lawyers',
318
- 'Business_Services': 'Contracts'
319
- },
320
- 'Other Contract Issues': {
321
- 'Type_Of_Legal_Problem': 'Business Lawyers',
322
- 'Business_Services': 'Contracts'
323
- },
324
- // Criminal
325
- 'Criminal Defense': {
326
- 'Type_Of_Legal_Problem': 'Criminal and Felony'
327
- },
328
- 'Victim of a Crime': {
329
- 'Type_Of_Legal_Problem': 'Victim of a Crime'
330
- },
331
- 'DUI and DWI': {
332
- 'Type_Of_Legal_Problem': 'DUI and DWI'
333
- },
334
- 'Expungement': {
335
- 'Type_Of_Legal_Problem': 'Expungement'
336
- },
337
- 'Harassment': {
338
- 'Type_Of_Legal_Problem': 'Criminal and Felony'
339
- },
340
- 'Not Sure or Other': {
341
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
342
- },
343
- // Employment and Workplace
344
- 'Workplace Harassment': {
345
- 'Type_Of_Legal_Problem': 'Workplace Harassment'
346
- },
347
- 'Workplace Discrimination': {
348
- 'Type_Of_Legal_Problem': 'Workplace Discrimination'
349
- },
350
- 'Wrongful Termination': {
351
- 'Type_Of_Legal_Problem': 'Wrongful Termination'
352
- },
353
- 'Payment Disputes': {
354
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
355
- },
356
- 'Workers Compensation': {
357
- 'Type_Of_Legal_Problem': 'Workers Compensation'
358
- },
359
- 'Unemployment': {
360
- 'Type_Of_Legal_Problem': 'Unemployment'
361
- },
362
- 'Other Workplace Issues': {
363
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
364
- },
365
- // Malpractice
366
- 'Attorney Malpractice': {
367
- 'Type_Of_Legal_Problem': 'Civil Lawsuit'
368
- },
369
- 'Other Malpractice Issues': {
370
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
371
- },
372
- // Repossession
373
- 'Vehicle Repossession': {
374
- 'Type_Of_Legal_Problem': 'Bankruptcy'
375
- },
376
- 'Property Repossession': {
377
- 'Type_Of_Legal_Problem': 'Bankruptcy'
378
- },
379
- 'Other Repossession Issues': {
380
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
381
- },
382
- // Real Estate
383
- 'Contracts and Agreements': {
384
- 'Type_Of_Legal_Problem': 'Real Estate'
385
- },
386
- 'Deeds, Liens, and Titles': {
387
- 'Type_Of_Legal_Problem': 'Real Estate'
388
- },
389
- 'Foreclosure': {
390
- 'Type_Of_Legal_Problem': 'Foreclosure'
391
- },
392
- 'Insurance': {
393
- 'Type_Of_Legal_Problem': 'Insurance'
394
- },
395
- 'Landlord and Tenant': {
396
- 'Type_Of_Legal_Problem': 'Landlord and Tenant',
397
- },
398
- 'Loans and Mortgages': {
399
- 'Type_Of_Legal_Problem': 'Real Estate',
400
- },
401
- 'Wills, Trusts, and Estates': {
402
- 'Type_Of_Legal_Problem': 'Wills and Trusts'
403
- },
404
- 'Property Damage': {
405
- 'Type_Of_Legal_Problem': 'Property Damage'
406
- },
407
- 'Other Real Estate Issues': {
408
- 'Type_Of_Legal_Problem': 'Real Estate'
409
- }
410
- }
411
- };
412
-
413
- const TOLPCommentsPlaceholders = {
414
- 'Adoption': 'Example: "I need help with adoption forms"',
415
- 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
416
- '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"',
417
- 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
418
- 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
419
- 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
420
- 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
421
- 'Child Custody': 'Example: "Need help getting custody"',
422
- 'Child Support': 'Example: "Issues with child support payments"',
423
- 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
424
- 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
425
- 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
426
- 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
427
- 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
428
- 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
429
- 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
430
- 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
431
- 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
432
- 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
433
- 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
434
- 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
435
- 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
436
- 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
437
- 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
438
- 'Guardianship': 'Example: "I need help with guardianship documents"',
439
- 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
440
- 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
441
- 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
442
- 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
443
- 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
444
- 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
445
- 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
446
- 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
447
- 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
448
- 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
449
- 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
450
- '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"',
451
- 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
452
- 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
453
- 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
454
- 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
455
- 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
456
- 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
457
- 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
458
- 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
459
- '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"',
460
- 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
461
- 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
462
- 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
463
- 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
464
- 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
465
- 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
466
- 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
467
- 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
468
- 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
469
- };
470
-
471
- const TOLPFinalHeadlines = {
472
- // 'Adoption': '',
473
- };
474
-
475
- const TOLPFinalSubHeadlines = {
476
- 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
477
- // 'Asbestos and Mesothelioma': '',
478
- 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
479
- 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
480
- // 'Birth Certificate and Name Change': '',
481
- // 'Business Lawyers': '',
482
- // 'Child Custody and Support': '',
483
- // 'Civil Rights and Discrimination': '',
484
- // 'Civil Lawsuit': '',
485
- // 'Consumer Lawyers': '',
486
- 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
487
- // 'Criminal and Felony': '',
488
- // 'Debt and Collections': '',
489
- 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
490
- 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
491
- 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
492
- // 'Employment and Workplace': '',
493
- // 'Expungement': '',
494
- // 'Family Issues': '',
495
- 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
496
- 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
497
- // 'Harassment and Discrimination': '',
498
- // 'Identity Theft': '',
499
- 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
500
- // 'Insurance': '',
501
- 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
502
- // 'Lemon Law': '',
503
- 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
504
- 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
505
- 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
506
- 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
507
- // 'Power of Attorney': '',
508
- 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
509
- // 'Product Liability': '',
510
- // 'Property Damage': '',
511
- 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
512
- 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
513
- 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
514
- // 'Traffic and Tickets': '',
515
- 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
516
- // 'Victim of a Crime': '',
517
- // 'Wills and Trusts': '',
518
- 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
519
- // 'Wrongful Death': '',
520
- // 'Wrongful Termination': '',
521
- // 'Not Sure or Other': ''
522
- // 'Sexual Harassment': '',
523
- // 'Workplace Harassment': '',
524
- // 'Non-Workplace Harassment': '',
525
- // 'Workplace Discrimination': '',
526
- // 'Non-Workplace Discrimination': '',
527
- };
528
-
529
- // ------ Common Base Settings
530
-
531
- const checkbox = (updates) => {
532
- if (updates.name && !updates.id) {
533
- updates.id = updates.name;
534
- }
535
- return merge({
536
- $formkit: 'checkbox',
537
- validation: 'required',
538
- validationMessages: {
539
- required: 'Field is required'
540
- }
541
- }, updates)
542
- };
543
-
544
- const sbsCheckbox = (updates) => {
545
- updates.legendClass = 'legend-left required';
546
- updates.fieldsetClass = '$reset side-by-side';
547
- updates.optionsClass = 't-pl-1';
548
- updates.innerClass = 't-flex t-items-center';
549
- updates.wrapperClass = 't-mb-3';
550
- return checkbox(updates)
551
- };
552
-
553
- const col2Checkbox = (updates) => {
554
- if (!updates || !updates.legendClass) {
555
- updates.legendClass = 'required';
556
- }
557
- updates.fieldsetClass = '$reset';
558
- updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
559
- updates.innerClass = 't-items-start';
560
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
561
- return checkbox(updates)
562
- };
563
-
564
- const radio = (updates) => {
565
- if (updates.name && !updates.id) {
566
- updates.id = updates.name;
567
- }
568
- return merge({
569
- $formkit: 'radio',
570
- validation: 'required',
571
- validationMessages: {
572
- required: 'Field is required'
573
- },
574
- optionsClass: 't-pt-3 t-pl-1',
575
- legendClass: 'required'
576
- }, updates)
577
- };
578
-
579
- const col2Radio = (updates) => {
580
- updates.legendClass = 'required';
581
- updates.fieldsetClass = '$reset';
582
- updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
583
- updates.innerClass = 't-items-start';
584
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
585
- return radio(updates)
586
- };
587
-
588
- const sbsRadio = (updates) => {
589
- updates.legendClass = 'legend-left required';
590
- updates.fieldsetClass = '$reset side-by-side';
591
- updates.optionsClass = 't-pl-1';
592
- updates.innerClass = 't-flex t-items-center';
593
- updates.wrapperClass = 't-mb-3';
594
- return radio(updates)
595
- };
596
-
597
- const sbs2ColRadio = (updates) => {
598
- updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
599
- updates.fieldsetClass = '$reset side-by-side-flex';
600
- updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
601
- updates.innerClass = 't-flex t-items-start';
602
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
603
- return radio(updates)
604
- };
605
-
606
- const sbs2ItemRadio = (updates) => {
607
- updates.legendClass = 'legend-left t-pb-1 required';
608
- updates.fieldsetClass = '$reset side-by-side t-items-center';
609
- updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
610
- updates.innerClass = 't-flex t-items-center';
611
- updates.optionClass = 't-pr-1';
612
- return radio(updates)
613
- };
614
-
615
- const sbsYesNoRadio = (updates) => {
616
- updates.options = ['Yes', 'No'];
617
- return sbs2ItemRadio(updates)
618
- };
619
-
620
- const select = (updates) => {
621
- if (updates.name && !updates.id) {
622
- updates.id = updates.name;
623
- }
624
- return merge({
625
- $formkit: 'select',
626
- placeholder: "Please Select",
627
- validation: 'required',
628
- validationMessages: {
629
- required: 'Field is required'
630
- },
631
- inputClass: 't-bg-white',
632
- labelClass: 'required'
633
- }, updates)
634
- };
635
-
636
- const sbsSelect = (updates) => {
637
- updates.labelClass = 'required';
638
- updates.wrapperClass = 'side-by-side t-items-center';
639
- updates.innerClass = 'select-height-content';
640
- updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
641
- return select(updates)
642
- };
643
-
644
- const text = (updates) => {
645
- if (updates.name && !updates.id) {
646
- updates.id = updates.name;
647
- }
648
- return merge({
649
- $formkit: 'text',
650
- validation: 'required',
651
- validationMessages: {
652
- required: 'Field is required'
653
- },
654
- labelClass: 'required'
655
- }, updates)
656
- };
657
-
658
- const sbsText = (updates) => {
659
- updates.wrapperClass = 'side-by-side t-items-center';
660
- return text(updates)
661
- };
147
+ const sbsText = (updates) => {
148
+ updates.wrapperClass = 'side-by-side t-items-center';
149
+ return text(updates)
150
+ };
662
151
 
663
152
  const textArea = (updates) => {
664
153
  if (updates.name && !updates.id) {
@@ -1244,6 +733,11 @@ const employerType = () => sbsSelect({
1244
733
  ]
1245
734
  });
1246
735
 
736
+ const employeeAtCompany = (scope) => sbsYesNoRadio({
737
+ name: scope ? scope + ':' + 'Employee_At_Company' : 'Employee_At_Company',
738
+ label: 'Do you/they still work at the company?'
739
+ });
740
+
1247
741
  const estateLegalServicesNeeded = (scope) => sbsSelect({
1248
742
  name: scope ? scope + ':' + 'Estate_Legal_Services_Needed' : 'Estate_Legal_Services_Needed',
1249
743
  label: "Legal Services Needed for Your Estate:",
@@ -1397,6 +891,77 @@ const lawyerPaymentMethod = (scope) => sbsSelect({
1397
891
  ]
1398
892
  });
1399
893
 
894
+ const legalCrossSells$1 = () => col2Checkbox({
895
+ id: 'Legal_CrossSells',
896
+ name: 'Legal_CrossSells',
897
+ help: 'Just hit "Next" if none apply',
898
+ helpClass: 't-text-center !t-text-sm',
899
+ validation: null,
900
+ options: {
901
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Auto and Car Accidents"',
902
+ then: {
903
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
904
+ 'Wills and Trusts': 'Need a Will or Trust',
905
+ 'Workers Compensation': 'Workplace Injury',
906
+ 'Power of Attorney': 'Update Power of Attorney',
907
+ 'Divorce and Separation': 'Need a Divorce or Separation',
908
+ 'Child Custody': 'Need help with Child Custody',
909
+ },
910
+ else: {
911
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Personal Injury" || $getVal($get(form), "Type_Of_Legal_Problem") === "Workers Compensation"',
912
+ then: {
913
+ 'DUI and DWI': 'Involved in a DUI/DWI',
914
+ 'Wills and Trusts': 'Need a Will or Trust',
915
+ 'Power of Attorney': 'Update Power of Attorney',
916
+ 'Divorce and Separation': 'Need a Divorce or Separation',
917
+ 'Child Custody': 'Need help with Child Custody',
918
+ // TODO add one more?
919
+ },
920
+ else: {
921
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "DUI and DWI"',
922
+ then: {
923
+ 'Personal Injury': 'Personal or Workplace Injury',
924
+ 'Wills and Trusts': 'Need a Will or Trust',
925
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
926
+ 'Power of Attorney': 'Update Power of Attorney',
927
+ 'Divorce and Separation': 'Need a Divorce or Separation',
928
+ 'Child Custody': 'Need help with Child Custody',
929
+ },
930
+ else: {
931
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Wills and Trusts" || $getVal($get(form), "Type_Of_Legal_Problem") === "Probate and Estates" || $getVal($get(form), "Type_Of_Legal_Problem") === "Power of Attorney"',
932
+ then: {
933
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
934
+ 'Personal Injury': 'Personal or Workplace Injury',
935
+ 'DUI and DWI': 'Involved in a DUI/DWI',
936
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
937
+ 'Divorce and Separation': 'Need a Divorce or Separation',
938
+ 'Child Custody': 'Need help with Child Custody',
939
+ },
940
+ else: {
941
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Long Term Disability" || $getVal($get(form), "Type_Of_Legal_Problem") === "Social Security Disability and Insurance"',
942
+ then: {
943
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
944
+ 'DUI and DWI': 'Involved in a DUI/DWI',
945
+ 'Wills and Trusts': 'Need a Will or Trust',
946
+ 'Power of Attorney': 'Update Power of Attorney',
947
+ 'Divorce and Separation': 'Need a Divorce or Separation',
948
+ 'Child Custody': 'Need help with Child Custody',
949
+ },
950
+ else: {
951
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
952
+ 'Personal Injury': 'Personal or Workplace Injury',
953
+ 'DUI and DWI': 'Involved in a DUI/DWI',
954
+ 'Wills and Trusts': 'Need a Will or Trust',
955
+ 'Power of Attorney': 'Update Power of Attorney',
956
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
957
+ }
958
+ }
959
+ }
960
+ }
961
+ }
962
+ }
963
+ });
964
+
1400
965
  const loanAmount = () => sbsSelect({
1401
966
  label: 'Total Amount of Loan?',
1402
967
  name: 'Loan_Amount',
@@ -1520,7 +1085,7 @@ const primaryInjury = (scope) => sbs2ColRadio({
1520
1085
  "Headaches",
1521
1086
  "Memory Loss",
1522
1087
  "Loss of Limb",
1523
- "Other (describe on next page)"
1088
+ "Not Sure or Other"
1524
1089
  ]
1525
1090
  });
1526
1091
 
@@ -1563,7 +1128,7 @@ const realEstateTOLPDisplay = (updates) => col2Radio(merge({
1563
1128
  'Loans and Mortgages',
1564
1129
  'Wills, Trusts, and Estates',
1565
1130
  'Property Damage',
1566
- 'Other Real Estate Issues'
1131
+ 'Not Sure or Other'
1567
1132
  ]
1568
1133
  }, updates));
1569
1134
 
@@ -2089,6 +1654,7 @@ const EmploymentAndWorkplaceQuestions = () => group(
2089
1654
  haveAttorney(),
2090
1655
  numEmployeesOfBusiness(),
2091
1656
  employerType(),
1657
+ employeeAtCompany(),
2092
1658
  degreeOfInterestHelp()
2093
1659
  ]
2094
1660
  }
@@ -2172,7 +1738,13 @@ const WorkplaceHarassmentQuestions = () => group(
2172
1738
  'WorkplaceHarassmentQuestions',
2173
1739
  {
2174
1740
  if: '$get(Type_Of_Legal_Problem).value == "Workplace Harassment"',
2175
- children: defaultQuestions()
1741
+ children: [
1742
+ haveAttorney(),
1743
+ numEmployeesOfBusiness(),
1744
+ employerType(),
1745
+ employeeAtCompany(),
1746
+ degreeOfInterestHelp()
1747
+ ]
2176
1748
  }
2177
1749
  );
2178
1750
 
@@ -2188,7 +1760,13 @@ const WorkplaceDiscriminationQuestions = () => group(
2188
1760
  'WorkplaceDiscriminationQuestions',
2189
1761
  {
2190
1762
  if: '$get(Type_Of_Legal_Problem).value == "Workplace Discrimination"',
2191
- children: defaultQuestions()
1763
+ children: [
1764
+ haveAttorney(),
1765
+ numEmployeesOfBusiness(),
1766
+ employerType(),
1767
+ employeeAtCompany(),
1768
+ degreeOfInterestHelp()
1769
+ ]
2192
1770
  }
2193
1771
  );
2194
1772
 
@@ -2239,679 +1817,1453 @@ const InsuranceQuestions = () => group(
2239
1817
  }
2240
1818
  );
2241
1819
 
2242
- const LandlordAndTenantQuestions = () => group(
2243
- 'LandlordAndTenantQuestions',
1820
+ const LandlordAndTenantQuestions = () => group(
1821
+ 'LandlordAndTenantQuestions',
1822
+ {
1823
+ if: '$get(Type_Of_Legal_Problem).value == "Landlord and Tenant"',
1824
+ children: [
1825
+ haveAttorney(),
1826
+ landlordTenantParty(),
1827
+ degreeOfInterestHelp()
1828
+ ]
1829
+ }
1830
+ );
1831
+
1832
+ const LemonLawQuestions = () => group(
1833
+ 'LemonLawQuestions',
1834
+ {
1835
+ if: '$get(Type_Of_Legal_Problem).value == "Lemon Law"',
1836
+ children: [
1837
+ haveAttorney(),
1838
+ incidentDate(),
1839
+ lawsuitOtherParty(),
1840
+ degreeOfInterestHelp()
1841
+ ]
1842
+ }
1843
+ );
1844
+
1845
+ const LongTermDisabilityQuestions = (condition, scope) => group(
1846
+ 'LongTermDisabilityQuestions',
1847
+ {
1848
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Long Term Disability"'),
1849
+ children: [
1850
+ haveAttorney(scope),
1851
+ applicantOccupation(scope),
1852
+ applicantAge(scope),
1853
+ applicantLTDisabilityPolicy(scope),
1854
+ applicantDisabilityHowObtain(scope),
1855
+ applicantPreviouslyAppliedLtdBenefits(scope),
1856
+ applicantReceivedDisabilityBenefits(scope),
1857
+ applicantMonthlySalary(scope)
1858
+ ]
1859
+ }
1860
+ );
1861
+
1862
+ const MedicalMalpracticeQuestions = () => group(
1863
+ 'MedicalMalpracticeQuestions',
1864
+ {
1865
+ if: '$get(Type_Of_Legal_Problem).value == "Medical Malpractice"',
1866
+ children: [
1867
+ haveAttorney(),
1868
+ incidentDate(),
1869
+ claimStatus(),
1870
+ doctorTreatment(),
1871
+ medicalMalpracticeInjuries(),
1872
+ degreeOfInterestHelp()
1873
+ ]
1874
+ }
1875
+ );
1876
+
1877
+ const PatentsAndIntellectualPropertyQuestions = () => group(
1878
+ 'PatentsAndIntellectualPropertyQuestions',
1879
+ {
1880
+ if: '$get(Type_Of_Legal_Problem).value == "Patents and Intellectual Property"',
1881
+ children: [
1882
+ haveAttorney(),
1883
+ patentAssistanceType(),
1884
+ patentFor(),
1885
+ degreeOfInterestHelp()
1886
+ ]
1887
+ }
1888
+ );
1889
+
1890
+ const PersonalInjuryQuestions = (condition, scope) => group(
1891
+ 'PersonalInjuryQuestions',
1892
+ {
1893
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Personal Injury"'),
1894
+ children: [
1895
+ haveAttorney(scope),
1896
+ incidentDate(scope),
1897
+ claimStatus(scope),
1898
+ atFault(scope),
1899
+ primaryInjury(scope),
1900
+ doctorTreatment(scope)
1901
+ ]
1902
+ }
1903
+ );
1904
+
1905
+ const PowerofAttorneyQuestions = (condition, scope) => group(
1906
+ 'PowerofAttorneyQuestions',
1907
+ {
1908
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Power of Attorney"'),
1909
+ children: [
1910
+ haveAttorney(scope),
1911
+ degreeOfInterestHelp(scope)
1912
+ ]
1913
+ }
1914
+ );
1915
+
1916
+ const ProbateAndEstatesQuestions = () => group(
1917
+ 'ProbateAndEstatesQuestions',
1918
+ {
1919
+ if: '$get(Type_Of_Legal_Problem).value == "Probate and Estates"',
1920
+ children: [
1921
+ haveAttorney(),
1922
+ valueOfAssets(),
1923
+ typeOfAssets(),
1924
+ roleInMatterProbate(),
1925
+ estateLegalServicesNeeded(),
1926
+ degreeOfInterestHelp()
1927
+ ]
1928
+ }
1929
+ );
1930
+
1931
+ const ProductLiabilityQuestions = () => group(
1932
+ 'ProductLiabilityQuestions',
1933
+ {
1934
+ if: '$get(Type_Of_Legal_Problem).value == "Product Liability"',
1935
+ children: [
1936
+ haveAttorney(),
1937
+ degreeOfInterestHelp()
1938
+ ]
1939
+ }
1940
+ );
1941
+
1942
+ const PropertyDamageQuestions = () => group(
1943
+ 'PropertyDamageQuestions',
1944
+ {
1945
+ if: '$get(Type_Of_Legal_Problem).value == "Property Damage"',
1946
+ children: [
1947
+ haveAttorney(),
1948
+ realEstateArea(),
1949
+ wouldLikeLawyerTo(),
1950
+ degreeOfInterestHelp()
1951
+ ]
1952
+ }
1953
+ );
1954
+
1955
+ const RealEstateQuestions = () => group(
1956
+ 'RealEstateQuestions',
1957
+ {
1958
+ if: '$get(Type_Of_Legal_Problem).value == "Real Estate"',
1959
+ children: [
1960
+ haveAttorney(),
1961
+ realEstateArea(),
1962
+ wouldLikeLawyerTo(),
1963
+ degreeOfInterestHelp()
1964
+ ]
1965
+ }
1966
+ );
1967
+
1968
+ const SocialSecurityDisabilityAndInsuranceQuestions = (condition, scope) => group(
1969
+ 'SocialSecurityDisabilityAndInsuranceQuestions',
1970
+ {
1971
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Social Security Disability and Insurance"'),
1972
+ children: [
1973
+ haveAttorney(scope),
1974
+ applicantAge(scope),
1975
+ disabilityConditionStopWork(scope),
1976
+ disabilityWorkHistory(scope),
1977
+ socialSecurityDisabilityReceivingBenefits(scope),
1978
+ doctorTreatment(scope)
1979
+ ]
1980
+ }
1981
+ );
1982
+
1983
+ const TaxAndIRSQuestions = () => group(
1984
+ 'TaxAndIRSQuestions',
1985
+ {
1986
+ if: '$get(Type_Of_Legal_Problem).value == "Tax and IRS"',
1987
+ children: [
1988
+ haveAttorney(),
1989
+ totalDebt(),
1990
+ taxProblemDetails(),
1991
+ taxLevel(),
1992
+ taxIssueType(),
1993
+ degreeOfInterestHelp()
1994
+ ]
1995
+ }
1996
+ );
1997
+
1998
+ const TrafficAndTicketsQuestions = () => group(
1999
+ 'TrafficAndTicketsQuestions',
2000
+ {
2001
+ if: '$get(Type_Of_Legal_Problem).value == "Traffic and Tickets"',
2002
+ children: [
2003
+ haveAttorney(),
2004
+ driversLicenseType(),
2005
+ trafficViolations(),
2006
+ haveCourtDate(),
2007
+ degreeOfInterestHelp()
2008
+ ]
2009
+ }
2010
+ );
2011
+
2012
+ const UnemploymentQuestions = () => group(
2013
+ 'UnemploymentQuestions',
2014
+ {
2015
+ if: '$get(Type_Of_Legal_Problem).value == "Unemployment"',
2016
+ children: [
2017
+ numEmployeesOfBusiness(),
2018
+ employerType(),
2019
+ degreeOfInterestHelp()
2020
+ ]
2021
+ }
2022
+ );
2023
+
2024
+ const VictimOfACrimeQuestions = () => group(
2025
+ 'VictimOfACrimeQuestions',
2026
+ {
2027
+ if: '$get(Type_Of_Legal_Problem).value == "Victim of a Crime"',
2028
+ children: [
2029
+ haveAttorney(),
2030
+ crimeCommittedDate(),
2031
+ roleInMatterCriminal(),
2032
+ pendingCharges(),
2033
+ degreeOfInterest(),
2034
+ lawyerPaymentMethod()
2035
+ ]
2036
+ }
2037
+ );
2038
+
2039
+ const WillsAndTrustsQuestions = (condition, scope) => group(
2040
+ 'WillsAndTrustsQuestions',
2041
+ {
2042
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Wills and Trusts"'),
2043
+ children: [
2044
+ haveAttorney(scope),
2045
+ valueOfAssets(scope),
2046
+ typeOfAssets(scope),
2047
+ roleInMatterProbate(scope),
2048
+ estateLegalServicesNeeded(scope),
2049
+ degreeOfInterestHelp(scope)
2050
+ ]
2051
+ }
2052
+ );
2053
+
2054
+ const WorkersCompensationQuestions = (condition, scope) => group(
2055
+ 'WorkersCompensationQuestions',
2244
2056
  {
2245
- if: '$get(Type_Of_Legal_Problem).value == "Landlord and Tenant"',
2057
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Workers Compensation"'),
2246
2058
  children: [
2247
- haveAttorney(),
2248
- landlordTenantParty(),
2249
- degreeOfInterestHelp()
2059
+ haveAttorney(scope),
2060
+ incidentDate(scope),
2061
+ claimStatus(scope),
2062
+ primaryInjury(scope),
2063
+ causeOfInjury(scope),
2064
+ doctorTreatment(scope)
2250
2065
  ]
2251
2066
  }
2252
2067
  );
2253
2068
 
2254
- const LemonLawQuestions = () => group(
2255
- 'LemonLawQuestions',
2069
+ const WrongfulDeathQuestions = () => group(
2070
+ 'WrongfulDeathQuestions',
2256
2071
  {
2257
- if: '$get(Type_Of_Legal_Problem).value == "Lemon Law"',
2072
+ if: '$get(Type_Of_Legal_Problem).value == "Wrongful Death"',
2258
2073
  children: [
2259
2074
  haveAttorney(),
2260
2075
  incidentDate(),
2261
- lawsuitOtherParty(),
2262
- degreeOfInterestHelp()
2076
+ relationshipToVictim(),
2077
+ criminalChargesFiled(),
2078
+ causeOfDeath()
2263
2079
  ]
2264
2080
  }
2265
2081
  );
2266
2082
 
2267
- const LongTermDisabilityQuestions = (condition, scope) => group(
2268
- 'LongTermDisabilityQuestions',
2083
+ const WrongfulTerminationQuestions = () => group(
2084
+ 'WrongfulTerminationQuestions',
2269
2085
  {
2270
- if: (condition || '$get(Type_Of_Legal_Problem).value == "Long Term Disability"'),
2086
+ if: '$get(Type_Of_Legal_Problem).value == "Wrongful Termination"',
2271
2087
  children: [
2272
- haveAttorney(scope),
2273
- applicantOccupation(scope),
2274
- applicantAge(scope),
2275
- applicantLTDisabilityPolicy(scope),
2276
- applicantDisabilityHowObtain(scope),
2277
- applicantPreviouslyAppliedLtdBenefits(scope),
2278
- applicantReceivedDisabilityBenefits(scope),
2279
- applicantMonthlySalary(scope)
2088
+ haveAttorney(),
2089
+ numEmployeesOfBusiness(),
2090
+ employerType(),
2091
+ degreeOfInterestHelp()
2280
2092
  ]
2281
2093
  }
2282
2094
  );
2283
2095
 
2284
- const MedicalMalpracticeQuestions = () => group(
2285
- 'MedicalMalpracticeQuestions',
2096
+ const NotSureOrOtherQuestions = () => group(
2097
+ 'NotSureOrOtherQuestions',
2286
2098
  {
2287
- if: '$get(Type_Of_Legal_Problem).value == "Medical Malpractice"',
2099
+ if: '$get(Type_Of_Legal_Problem).value == "Not Sure or Other"',
2288
2100
  children: [
2289
2101
  haveAttorney(),
2290
- incidentDate(),
2291
- claimStatus(),
2292
- doctorTreatment(),
2293
- medicalMalpracticeInjuries(),
2294
2102
  degreeOfInterestHelp()
2295
2103
  ]
2296
2104
  }
2297
2105
  );
2298
2106
 
2299
- const PatentsAndIntellectualPropertyQuestions = () => group(
2300
- 'PatentsAndIntellectualPropertyQuestions',
2301
- {
2302
- if: '$get(Type_Of_Legal_Problem).value == "Patents and Intellectual Property"',
2303
- children: [
2304
- haveAttorney(),
2305
- patentAssistanceType(),
2306
- patentFor(),
2307
- degreeOfInterestHelp()
2308
- ]
2309
- }
2310
- );
2107
+ const NEXT_ON_ENTER = '$onEnter($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))';
2108
+ const NEXT_ON_INPUT = '$onInput($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))';
2109
+
2110
+ const isInput = (n) => { return (n.type !== 'group' && n.type !== 'section' && n.type !== 'form' && n.$formkit !== 'hidden' && !n.children) };
2111
+
2112
+ const findLastInput = (n) => {
2113
+ if (isInput(n)) {
2114
+ return n
2115
+ }
2116
+ for (var i = n.children.length - 1; i >= 0; i--) {
2117
+ if (typeof n.children === 'string') {
2118
+ continue
2119
+ }
2120
+ const child = n.children[i];
2121
+ if (isInput(child)) {
2122
+ return child
2123
+ }
2124
+ const res = findLastInput(child);
2125
+ if (res) {
2126
+ return res
2127
+ }
2128
+ }
2129
+ return null
2130
+ };
2131
+
2132
+ const secureIconDefault = {
2133
+ $el: 'div',
2134
+ if: '$activeStep === $lastStep()',
2135
+ attrs: {
2136
+ class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
2137
+ },
2138
+ children: [
2139
+ {
2140
+ $el: 'img',
2141
+ attrs: {
2142
+ loading: 'lazy',
2143
+ alt: '',
2144
+ style: {
2145
+ border: 0
2146
+ },
2147
+ width: '25',
2148
+ height: '25',
2149
+ src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
2150
+ }
2151
+ },
2152
+ {
2153
+ $el: 'span',
2154
+ children: 'Secure & Encrypted',
2155
+ attrs: {
2156
+ class: 't-pl-2 t-pt-1 t-font-medium'
2157
+ }
2158
+ }
2159
+ ]
2160
+ };
2161
+
2162
+ function secureIcon(updates) {
2163
+ return merge(
2164
+ secureIconDefault,
2165
+ updates
2166
+ )
2167
+ }
2168
+
2169
+ function questionsStepHeadline(updates) {
2170
+ return {
2171
+ $el: 'h3',
2172
+ children: updates.headline || 'Tell Us About Your Situation',
2173
+ attrs: {
2174
+ class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1'
2175
+ }
2176
+ }
2177
+ }
2178
+
2179
+ function crossSellQuestionsStepHeadline(updates) {
2180
+ return {
2181
+ $el: 'h3',
2182
+ children: updates.headline || 'Tell Us About Your Situation',
2183
+ attrs: {
2184
+ class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1'
2185
+ }
2186
+ }
2187
+ }
2188
+
2189
+ function crossSellQuestionsStepSubHeadline(updates) {
2190
+ return {
2191
+ $el: 'h5',
2192
+ children: updates.subheadline || 'Tell us about your situation:',
2193
+ attrs: {
2194
+ class: 't-flex t-justify-center t-text-dark t-text-center !t-text-lg t-font-semibold t-pb-4 t-pt-0 t-px-3'
2195
+ }
2196
+ }
2197
+ }
2198
+
2199
+ function commentsStepHeadline(updates) {
2200
+ return {
2201
+ $el: 'h3',
2202
+ children: updates.headline || 'Additional Case Details',
2203
+ attrs: {
2204
+ class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
2205
+ }
2206
+ }
2207
+ }
2208
+
2209
+ function firstAndLastStepHeadline(updates) {
2210
+ return {
2211
+ $el: 'h3',
2212
+ children: updates.headline || 'Please Provide a Contact Name',
2213
+ attrs: {
2214
+ class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
2215
+ }
2216
+ }
2217
+ }
2218
+
2219
+ function legalCrossSellsStepHeadline(updates) {
2220
+ return {
2221
+ $el: 'h3',
2222
+ children: updates.headline || 'Do any of the following situations apply?',
2223
+ attrs: {
2224
+ class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
2225
+ }
2226
+ }
2227
+ }
2228
+
2229
+ function contactStepHeadline(updates) {
2230
+ return {
2231
+ $el: 'h3',
2232
+ children: updates.headline || DEFAULT_FINAL_HEADLINE_DYNAMIC,
2233
+ attrs: {
2234
+ class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-3 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
2235
+ }
2236
+ }
2237
+ }
2238
+
2239
+ function contactStepSubHeadline(updates) {
2240
+ return {
2241
+ $el: 'h5',
2242
+ children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC,
2243
+ attrs: {
2244
+ class: 't-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3' + ' ' + (updates.subheadlineClass || '')
2245
+ }
2246
+ }
2247
+ }
2248
+
2249
+ const TRUSTED_FORM_JS = `(function() {
2250
+ if (window.xxTrustedFormLoaded) {
2251
+ return
2252
+ }
2253
+ var vid = '';
2254
+ if (typeof window.zar !== 'undefined') {
2255
+ vid = window.zar.getVID();
2256
+ }
2257
+ window.xxTrustedFormLoaded = true;
2258
+ var sandbox = document.location.hostname.indexOf('localhost') > -1 ? 'true' : 'false'
2259
+ var tf = document.createElement('script');
2260
+ tf.type = 'text/javascript'; tf.async = true;
2261
+ tf.src = ("https:" == document.location.protocol ? 'https' : 'http') + "://api.trustedform.com/trustedform.js?field=xxTrustedFormCertUrl&identifier=" + vid + "&ping_field=xxTrustedFormPingUrl&provideReferrer=false&invert_field_sensitivity=true&sandbox=" + sandbox + "&l=" + new Date().getTime() + Math.random();
2262
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(tf, s);
2263
+ })();`;
2264
+
2265
+ function trustedFormScript() {
2266
+ return {
2267
+ $el: 'script',
2268
+ if: '$activeStep === $lastStep()',
2269
+ children: TRUSTED_FORM_JS
2270
+ }
2271
+ }
2272
+
2273
+ const stepDefaults = (step, stepKey) => ({
2274
+ $el: 'section',
2275
+ if: '$stepEnabled("' + step + '")',
2276
+ attrs: {
2277
+ hidden: '$activeStep !== "' + step + '"',
2278
+ key: stepKey ? stepKey : step
2279
+ }
2280
+ });
2281
+
2282
+ function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = undefined, nextStepMap = undefined, autoFocus = undefined) {
2283
+ if (typeof nextOnEnter === 'undefined') {
2284
+ nextOnEnter = true;
2285
+ }
2286
+ if (inputs && inputs.length && (nextOnEnter || nextOnInput)) {
2287
+ const lastInput = findLastInput(inputs[inputs.length - 1]);
2288
+ if (lastInput && nextOnEnter === true) {
2289
+ lastInput.onKeypress = NEXT_ON_ENTER;
2290
+ }
2291
+ if (lastInput && nextOnInput === true) {
2292
+ lastInput.onInput = NEXT_ON_INPUT;
2293
+ }
2294
+ }
2295
+
2296
+ return merge(
2297
+ stepDefaults(name, stepKey),
2298
+ {
2299
+ children: [
2300
+ {
2301
+ $formkit: 'group',
2302
+ id: name,
2303
+ name: name,
2304
+ nextStepMap: nextStepMap,
2305
+ autoFocus: autoFocus,
2306
+ children: inputs
2307
+ }
2308
+ ]
2309
+ }
2310
+ )
2311
+ }
2312
+
2313
+ function commentsWithBankruptcy(updates = {}) {
2314
+ return step(
2315
+ 'commentsWithBankruptcy',
2316
+ [
2317
+ commentsStepHeadline(updates),
2318
+ comments({
2319
+ label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
2320
+ placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
2321
+ inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
2322
+ }),
2323
+ bankruptcyCrossSell(),
2324
+ {
2325
+ $el: 'div',
2326
+ if: '$get(CrossSell_Bankruptcy).value == true',
2327
+ children: [
2328
+ comments({
2329
+ label: 'Bankruptcy or debt details:',
2330
+ placeholder: 'Please describe your bankrtupcy or debt situation in a few words...',
2331
+ inputClass: '!t-h-16'
2332
+ }, 'CrossSell:Bankruptcy')
2333
+ ],
2334
+ }
2335
+ ],
2336
+ false // nextOnEnter
2337
+ )
2338
+ }
2311
2339
 
2312
- const PersonalInjuryQuestions = (condition, scope) => group(
2313
- 'PersonalInjuryQuestions',
2314
- {
2315
- if: (condition || '$get(Type_Of_Legal_Problem).value == "Personal Injury"'),
2316
- children: [
2317
- haveAttorney(scope),
2318
- incidentDate(scope),
2319
- claimStatus(scope),
2320
- atFault(scope),
2321
- primaryInjury(scope),
2322
- doctorTreatment(scope)
2323
- ]
2324
- }
2325
- );
2340
+ function contactInfo(updates = {}) {
2341
+ return step(
2342
+ 'contactInfo',
2343
+ [
2344
+ contactStepHeadline(updates),
2345
+ contactStepSubHeadline(updates),
2346
+ trustedFormScript(),
2347
+ email(),
2348
+ phone(),
2349
+ TCPAConsent(),
2350
+ secureIcon()
2351
+ ],
2352
+ false, // nextOnEnter
2353
+ )
2354
+ }
2326
2355
 
2327
- const PowerofAttorneyQuestions = (condition, scope) => group(
2328
- 'PowerofAttorneyQuestions',
2329
- {
2330
- if: (condition || '$get(Type_Of_Legal_Problem).value == "Power of Attorney"'),
2331
- children: [
2332
- haveAttorney(scope),
2333
- degreeOfInterestHelp(scope)
2334
- ]
2335
- }
2336
- );
2356
+ function firstAndLastV2(updates = {}) {
2357
+ return step(
2358
+ 'firstAndLast',
2359
+ [
2360
+ firstAndLastStepHeadline(updates),
2361
+ firstName(),
2362
+ lastName()
2363
+ ],
2364
+ updates.nextOnEnter
2365
+ )
2366
+ }
2337
2367
 
2338
- const ProbateAndEstatesQuestions = () => group(
2339
- 'ProbateAndEstatesQuestions',
2340
- {
2341
- if: '$get(Type_Of_Legal_Problem).value == "Probate and Estates"',
2342
- children: [
2343
- haveAttorney(),
2344
- valueOfAssets(),
2345
- typeOfAssets(),
2346
- roleInMatterProbate(),
2347
- estateLegalServicesNeeded(),
2348
- degreeOfInterestHelp()
2349
- ]
2350
- }
2351
- );
2352
2368
 
2353
- const ProductLiabilityQuestions = () => group(
2354
- 'ProductLiabilityQuestions',
2355
- {
2356
- if: '$get(Type_Of_Legal_Problem).value == "Product Liability"',
2357
- children: [
2358
- haveAttorney(),
2359
- degreeOfInterestHelp()
2360
- ]
2361
- }
2362
- );
2369
+ const AllTOLPQuestions = () => {
2370
+ return [
2371
+ AdoptionQuestions(),
2372
+ AsbestosAndMesotheliomaQuestions(),
2373
+ AutoAndCarAccidentsQuestions(),
2374
+ BankruptcyQuestions(),
2375
+ BirthCertificateAndNameChangeQuestions(),
2376
+ BusinessLawyersQuestions(),
2377
+ ChildCustodyAndSupportQuestions(),
2378
+ ChildCustodyQuestions(),
2379
+ ChildSupportQuestions(),
2380
+ CivilRightsAndDiscriminationQuestions(),
2381
+ CivilLawsuitQuestions(),
2382
+ FileLawsuitQuestions(),
2383
+ DefendLawsuitQuestions(),
2384
+ ConsumerLawyersQuestions(),
2385
+ CopyrightsAndTrademarksQuestions(),
2386
+ CriminalAndFelonyQuestions(),
2387
+ DebtAndCollectionsQuestions(),
2388
+ DivorceQuestions(),
2389
+ DUIAndDWIQuestions(),
2390
+ ElderLawQuestions(),
2391
+ EmploymentAndWorkplaceQuestions(),
2392
+ ExpungementQuestions(),
2393
+ FamilyIssuesQuestions(),
2394
+ ForeclosureQuestions(),
2395
+ GuardianshipQuestions(),
2396
+ HarassmentAndDiscriminationQuestions(),
2397
+ SexualHarassmentQuestions(),
2398
+ WorkplaceHarassmentQuestions(),
2399
+ NonWorkplaceHarassmentQuestions(),
2400
+ WorkplaceDiscriminationQuestions(),
2401
+ NonWorkplaceDiscriminationQuestions(),
2402
+ IdentityTheftQuestions(),
2403
+ ImmigrationAndVisasQuestions(),
2404
+ InsuranceQuestions(),
2405
+ LandlordAndTenantQuestions(),
2406
+ LemonLawQuestions(),
2407
+ LongTermDisabilityQuestions(),
2408
+ MedicalMalpracticeQuestions(),
2409
+ PatentsAndIntellectualPropertyQuestions(),
2410
+ PersonalInjuryQuestions(),
2411
+ PowerofAttorneyQuestions(),
2412
+ ProbateAndEstatesQuestions(),
2413
+ ProductLiabilityQuestions(),
2414
+ PropertyDamageQuestions(),
2415
+ RealEstateQuestions(),
2416
+ SocialSecurityDisabilityAndInsuranceQuestions(),
2417
+ TaxAndIRSQuestions(),
2418
+ TrafficAndTicketsQuestions(),
2419
+ UnemploymentQuestions(),
2420
+ VictimOfACrimeQuestions(),
2421
+ WillsAndTrustsQuestions(),
2422
+ WorkersCompensationQuestions(),
2423
+ WrongfulDeathQuestions(),
2424
+ WrongfulTerminationQuestions(),
2425
+ NotSureOrOtherQuestions()
2426
+ ]
2427
+ };
2363
2428
 
2364
- const PropertyDamageQuestions = () => group(
2365
- 'PropertyDamageQuestions',
2366
- {
2367
- if: '$get(Type_Of_Legal_Problem).value == "Property Damage"',
2368
- children: [
2369
- haveAttorney(),
2370
- realEstateArea(),
2371
- wouldLikeLawyerTo(),
2372
- degreeOfInterestHelp()
2373
- ]
2374
- }
2375
- );
2429
+ function generalLegalTOLPQuestions(updates = {}) {
2430
+ var questions = AllTOLPQuestions();
2376
2431
 
2377
- const RealEstateQuestions = () => group(
2378
- 'RealEstateQuestions',
2379
- {
2380
- if: '$get(Type_Of_Legal_Problem).value == "Real Estate"',
2381
- children: [
2382
- haveAttorney(),
2383
- realEstateArea(),
2384
- wouldLikeLawyerTo(),
2385
- degreeOfInterestHelp()
2386
- ]
2387
- }
2388
- );
2432
+ questions.unshift(
2433
+ questionsStepHeadline(updates)
2434
+ );
2389
2435
 
2390
- const SocialSecurityDisabilityAndInsuranceQuestions = (condition, scope) => group(
2391
- 'SocialSecurityDisabilityAndInsuranceQuestions',
2392
- {
2393
- if: (condition || '$get(Type_Of_Legal_Problem).value == "Social Security Disability and Insurance"'),
2394
- children: [
2395
- haveAttorney(scope),
2396
- applicantAge(scope),
2397
- disabilityConditionStopWork(scope),
2398
- disabilityWorkHistory(scope),
2399
- socialSecurityDisabilityReceivingBenefits(scope),
2400
- doctorTreatment(scope)
2401
- ]
2402
- }
2403
- );
2436
+ return step(
2437
+ 'TOLPQuestions',
2438
+ questions,
2439
+ updates.nextOnEnter
2440
+ )
2441
+ }
2404
2442
 
2405
- const TaxAndIRSQuestions = () => group(
2406
- 'TaxAndIRSQuestions',
2407
- {
2408
- if: '$get(Type_Of_Legal_Problem).value == "Tax and IRS"',
2409
- children: [
2410
- haveAttorney(),
2411
- totalDebt(),
2412
- taxProblemDetails(),
2413
- taxLevel(),
2414
- taxIssueType(),
2415
- degreeOfInterestHelp()
2416
- ]
2417
- }
2418
- );
2419
2443
 
2420
- const TrafficAndTicketsQuestions = () => group(
2421
- 'TrafficAndTicketsQuestions',
2422
- {
2423
- if: '$get(Type_Of_Legal_Problem).value == "Traffic and Tickets"',
2424
- children: [
2425
- haveAttorney(),
2426
- driversLicenseType(),
2427
- trafficViolations(),
2428
- haveCourtDate(),
2429
- degreeOfInterestHelp()
2430
- ]
2431
- }
2432
- );
2444
+ function autoAndCarAccidentCrossSellQuestions(updates = {}) {
2445
+ return step(
2446
+ 'autoAndCarAccidentCrossSellQuestions',
2447
+ [
2448
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
2449
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your accident:' }),
2450
+ AutoAndCarAccidentsQuestions("true", 'CrossSell:Auto_and_Car_Accidents'),
2451
+ comments(
2452
+ {
2453
+ label: 'Accident Description:',
2454
+ placeholder: 'Please describe your accident in a few words...',
2455
+ inputClass: '!t-h-16'
2456
+ },
2457
+ 'CrossSell:Auto_and_Car_Accidents'
2458
+ )
2459
+ ],
2460
+ updates.nextOnEnter
2461
+ )
2462
+ }
2463
+
2464
+ function childCustodyCrossSellQuestions(updates = {}) {
2465
+ return step(
2466
+ 'childCustodyCrossSellQuestions',
2467
+ [
2468
+ crossSellQuestionsStepHeadline({ headline: 'Child Custody Information' }),
2469
+ ChildCustodyQuestions("true", 'CrossSell:Child_Custody'),
2470
+ comments(
2471
+ {
2472
+ label: 'Description:',
2473
+ placeholder: 'Please describe your situation in a few words...',
2474
+ inputClass: '!t-h-16'
2475
+ },
2476
+ 'CrossSell:Child_Custody'
2477
+ )
2478
+ ],
2479
+ updates.nextOnEnter
2480
+ )
2481
+ }
2433
2482
 
2434
- const UnemploymentQuestions = () => group(
2435
- 'UnemploymentQuestions',
2436
- {
2437
- if: '$get(Type_Of_Legal_Problem).value == "Unemployment"',
2438
- children: [
2439
- numEmployeesOfBusiness(),
2440
- employerType(),
2441
- degreeOfInterestHelp()
2442
- ]
2443
- }
2444
- );
2483
+ function divorceAndSeparationCrossSellQuestions(updates = {}) {
2484
+ return step(
2485
+ 'divorceAndSeparationCrossSellQuestions',
2486
+ [
2487
+ crossSellQuestionsStepHeadline({ headline: 'Divorce or Separation Information' }),
2488
+ DivorceQuestions("true", 'CrossSell:Divorce_and_Separation'),
2489
+ comments(
2490
+ {
2491
+ label: 'Description:',
2492
+ placeholder: 'Please describe your situation in a few words...',
2493
+ inputClass: '!t-h-16'
2494
+ },
2495
+ 'CrossSell:Divorce_and_Separation'
2496
+ )
2497
+ ],
2498
+ updates.nextOnEnter
2499
+ )
2500
+ }
2445
2501
 
2446
- const VictimOfACrimeQuestions = () => group(
2447
- 'VictimOfACrimeQuestions',
2448
- {
2449
- if: '$get(Type_Of_Legal_Problem).value == "Victim of a Crime"',
2450
- children: [
2451
- haveAttorney(),
2452
- crimeCommittedDate(),
2453
- roleInMatterCriminal(),
2454
- pendingCharges(),
2455
- degreeOfInterest(),
2456
- lawyerPaymentMethod()
2457
- ]
2458
- }
2459
- );
2502
+ function duiAndDWICrossSellQuestions(updates = {}) {
2503
+ return step(
2504
+ 'duiAndDWICrossSellQuestions',
2505
+ [
2506
+ crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
2507
+ DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
2508
+ comments(
2509
+ {
2510
+ label: 'Incident Description:',
2511
+ placeholder: 'Please describe your incident in a few words...',
2512
+ inputClass: '!t-h-16'
2513
+ },
2514
+ 'CrossSell:DUI_and_DWI'
2515
+ )
2516
+ ],
2517
+ updates.nextOnEnter
2518
+ )
2519
+ }
2460
2520
 
2461
- const WillsAndTrustsQuestions = (condition, scope) => group(
2462
- 'WillsAndTrustsQuestions',
2463
- {
2464
- if: (condition || '$get(Type_Of_Legal_Problem).value == "Wills and Trusts"'),
2465
- children: [
2466
- haveAttorney(scope),
2467
- valueOfAssets(scope),
2468
- typeOfAssets(scope),
2469
- roleInMatterProbate(scope),
2470
- estateLegalServicesNeeded(scope),
2471
- degreeOfInterestHelp(scope)
2472
- ]
2473
- }
2474
- );
2521
+ function ssdiCrossSellQuestions(updates = {}) {
2522
+ return step(
2523
+ 'ssdiCrossSellQuestions',
2524
+ [
2525
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
2526
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
2527
+ SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
2528
+ comments(
2529
+ {
2530
+ label: 'Description:',
2531
+ placeholder: 'Please describe your situation in a few words...',
2532
+ inputClass: '!t-h-16'
2533
+ },
2534
+ 'CrossSell:Social_Security_Disability_and_Insurance'
2535
+ )
2536
+ ],
2537
+ updates.nextOnEnter
2538
+ )
2539
+ }
2475
2540
 
2476
- const WorkersCompensationQuestions = (condition, scope) => group(
2477
- 'WorkersCompensationQuestions',
2478
- {
2479
- if: (condition || '$get(Type_Of_Legal_Problem).value == "Workers Compensation"'),
2480
- children: [
2481
- haveAttorney(scope),
2482
- incidentDate(scope),
2483
- claimStatus(scope),
2484
- primaryInjury(scope),
2485
- causeOfInjury(scope),
2486
- doctorTreatment(scope)
2487
- ]
2488
- }
2489
- );
2541
+ function personalInjuryCrossSellQuestions(updates = {}) {
2542
+ return step(
2543
+ 'personalInjuryCrossSellQuestions',
2544
+ [
2545
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
2546
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
2547
+ PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
2548
+ comments(
2549
+ {
2550
+ label: 'Injury Description:',
2551
+ placeholder: 'Please describe your injury in a few words...',
2552
+ inputClass: '!t-h-16'
2553
+ },
2554
+ 'CrossSell:Personal_Injury'
2555
+ )
2556
+ ],
2557
+ updates.nextOnEnter
2558
+ )
2559
+ }
2490
2560
 
2491
- const WrongfulDeathQuestions = () => group(
2492
- 'WrongfulDeathQuestions',
2493
- {
2494
- if: '$get(Type_Of_Legal_Problem).value == "Wrongful Death"',
2495
- children: [
2496
- haveAttorney(),
2497
- incidentDate(),
2498
- relationshipToVictim(),
2499
- criminalChargesFiled(),
2500
- causeOfDeath()
2501
- ]
2502
- }
2503
- );
2561
+ function powerOfAttorneyCrossSellQuestions(updates = {}) {
2562
+ return step(
2563
+ 'powerOfAttorneyCrossSellQuestions',
2564
+ [
2565
+ crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
2566
+ PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
2567
+ comments(
2568
+ {
2569
+ label: 'Description:',
2570
+ placeholder: 'Please describe your situation in a few words...',
2571
+ inputClass: '!t-h-16'
2572
+ },
2573
+ 'CrossSell:Power_of_Attorney'
2574
+ )
2575
+ ],
2576
+ updates.nextOnEnter
2577
+ )
2578
+ }
2504
2579
 
2505
- const WrongfulTerminationQuestions = () => group(
2506
- 'WrongfulTerminationQuestions',
2507
- {
2508
- if: '$get(Type_Of_Legal_Problem).value == "Wrongful Termination"',
2509
- children: [
2510
- haveAttorney(),
2511
- numEmployeesOfBusiness(),
2512
- employerType(),
2513
- degreeOfInterestHelp()
2514
- ]
2515
- }
2516
- );
2580
+ function willsAndTrustsCrossSellQuestions(updates = {}) {
2581
+ return step(
2582
+ 'willsAndTrustsCrossSellQuestions',
2583
+ [
2584
+ crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
2585
+ WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
2586
+ comments(
2587
+ {
2588
+ label: 'Description:',
2589
+ placeholder: 'Please describe your situation in a few words...',
2590
+ inputClass: '!t-h-16'
2591
+ },
2592
+ 'CrossSell:Wills_and_Trusts'
2593
+ )
2594
+ ],
2595
+ updates.nextOnEnter
2596
+ )
2597
+ }
2517
2598
 
2518
- const NotSureOrOtherQuestions = () => group(
2519
- 'NotSureOrOtherQuestions',
2520
- {
2521
- if: '$get(Type_Of_Legal_Problem).value == "Not Sure or Other"',
2522
- children: [
2523
- haveAttorney(),
2524
- degreeOfInterestHelp()
2525
- ]
2526
- }
2527
- );
2599
+ function workersCompensationCrossSellQuestions(updates = {}) {
2600
+ return step(
2601
+ 'workersCompensationCrossSellQuestions',
2602
+ [
2603
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
2604
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
2605
+ WorkersCompensationQuestions("true", 'CrossSell:Workers_Compensation'),
2606
+ comments(
2607
+ {
2608
+ label: 'Injury Description:',
2609
+ placeholder: 'Please describe your injury in a few words...',
2610
+ inputClass: '!t-h-16'
2611
+ },
2612
+ 'CrossSell:Workers_Compensation'
2613
+ )
2614
+ ],
2615
+ updates.nextOnEnter
2616
+ )
2617
+ }
2528
2618
 
2529
- const NEXT_ON_ENTER = '$onEnter($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))';
2530
- const NEXT_ON_INPUT = '$onInput($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))';
2619
+ function legalCrossSells(updates = {}) {
2620
+ return step(
2621
+ 'legalCrossSells',
2622
+ [
2623
+ legalCrossSellsStepHeadline(updates),
2624
+ legalCrossSells$1(),
2625
+ ],
2626
+ updates.nextOnEnter,
2627
+ false,
2628
+ // Note: we should probably scope this stepKey to this step name
2629
+ '$get(Type_Of_Legal_Problem).value'
2630
+ )
2631
+ }
2531
2632
 
2532
- const isInput = (n) => { return (n.type !== 'group' && n.type !== 'section' && n.type !== 'form' && n.$formkit !== 'hidden' && !n.children) };
2633
+ function realEstateTOLPAndZip(updates = {}) {
2634
+ return step(
2635
+ 'realEstateTOLPAndZip',
2636
+ [
2637
+ {
2638
+ $formkit: 'hidden',
2639
+ name: "Type_Of_Legal_Problem",
2640
+ id: "Type_Of_Legal_Problem",
2641
+ value: "Real Estate"
2642
+ },
2643
+ realEstateTOLPDisplay({
2644
+ if: 'true'
2645
+ }),
2646
+ zipcode()
2647
+ ],
2648
+ updates.nextOnEnter,
2649
+ updates.nextOnInput,
2650
+ updates.stepKey,
2651
+ updates.nextStepMap
2652
+ )
2653
+ }
2533
2654
 
2534
- const findLastInput = (n) => {
2535
- if (isInput(n)) {
2536
- return n
2537
- }
2538
- for (var i = n.children.length - 1; i >= 0; i--) {
2539
- if (typeof n.children === 'string') {
2540
- continue
2541
- }
2542
- const child = n.children[i];
2543
- if (isInput(child)) {
2544
- return child
2655
+ // ------ Common
2656
+
2657
+ const formNavigation = () => ({
2658
+ $el: 'div',
2659
+ attrs: {
2660
+ class: 'step-nav'
2661
+ },
2662
+ children: [
2663
+ {
2664
+ $formkit: 'button',
2665
+ name: 'back_button',
2666
+ onClick: '$setPreviousStep($prevStepFunc($get(form)))',
2667
+ children: 'Back',
2668
+ style: {
2669
+ if: '$activeStep === $firstStep()',
2670
+ then: 'visibility: hidden;'
2671
+ }
2672
+ },
2673
+ {
2674
+ $formkit: 'button',
2675
+ name: 'next_button',
2676
+ onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2677
+ children: {
2678
+ if: '$activeStep === $firstStep()',
2679
+ then: 'Start',
2680
+ else: 'Next'
2681
+ },
2682
+ outerClass: {
2683
+ if: '$activeStep === $lastStep()',
2684
+ then: 't-hidden',
2685
+ else: ''
2686
+ },
2687
+ style: {
2688
+ if: '$activeStep === $lastStep()',
2689
+ then: 'display: none;'
2690
+ }
2691
+ },
2692
+ {
2693
+ $formkit: 'submit',
2694
+ name: 'submit_button',
2695
+ label: 'Submit',
2696
+ if: '$activeStep === $lastStep()',
2697
+ style: {
2698
+ if: '$activeStep !== $lastStep()',
2699
+ then: 'display: none;'
2700
+ }
2545
2701
  }
2546
- const res = findLastInput(child);
2547
- if (res) {
2548
- return res
2702
+ ]
2703
+ });
2704
+
2705
+ const formDetails = () => ({
2706
+ $el: 'pre',
2707
+ if: '$urlParam("fdbg", "") == 1',
2708
+ children: [
2709
+ {
2710
+ $el: 'pre',
2711
+ children: '$stringify( $get(form).value )',
2712
+ attrs: {
2713
+ class: 't-text-xs',
2714
+ style: 'overflow: scroll'
2715
+ }
2716
+ },
2717
+ {
2718
+ $el: 'pre',
2719
+ children: ['activeStep: ', '$activeStep'],
2720
+ attrs: {
2721
+ class: 't-text-xs',
2722
+ style: 'overflow: scroll'
2723
+ }
2724
+ },
2725
+ {
2726
+ $el: 'pre',
2727
+ children: ['stepHistory: ', '$stepHistory'],
2728
+ attrs: {
2729
+ class: 't-text-xs',
2730
+ style: 'overflow: scroll'
2731
+ }
2732
+ },
2733
+ {
2734
+ $el: 'pre',
2735
+ children: ['stepQueue: ', '$stepQueue'],
2736
+ attrs: {
2737
+ class: 't-text-xs',
2738
+ style: 'overflow: scroll'
2739
+ }
2740
+ },
2741
+ {
2742
+ $el: 'pre',
2743
+ children: ['steps: ', '$stepKeys()'],
2744
+ attrs: {
2745
+ class: 't-text-xs',
2746
+ style: 'overflow: scroll'
2747
+ }
2549
2748
  }
2550
- }
2551
- return null
2749
+ ]
2750
+ });
2751
+
2752
+ const formPropDefaults = {
2753
+ type: 'form',
2754
+ id: 'form',
2755
+ config: { validationVisibility: 'submit' },
2756
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
2757
+ plugins: '$plugins',
2758
+ actions: false,
2759
+ anchorElement: 'form-anchor',
2760
+ useLocalStorage: true,
2761
+ prepop: {
2762
+ fromURL: true
2763
+ },
2764
+ errorCodes: {
2765
+ 403: { message: "An Error Occurred", abort: false },
2766
+ 409: { abort: false },
2767
+ 429: "An Error Occurred",
2768
+ 504: { message: "An Error Occurred", abort: false },
2769
+ },
2770
+ formClass: '!t-max-w-[40rem]'
2552
2771
  };
2553
2772
 
2554
- function questionsStepHeadline(updates) {
2555
- return {
2556
- $el: 'h3',
2557
- children: updates.headline || 'Tell Us About Your Situation',
2558
- attrs: {
2559
- class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1'
2560
- }
2773
+ function formProps(updates) {
2774
+ const props = merge(
2775
+ formPropDefaults,
2776
+ updates
2777
+ );
2778
+ if (props.formId && !props.name) {
2779
+ props.name = props.formId;
2561
2780
  }
2781
+ return props
2562
2782
  }
2563
2783
 
2564
- function commentsStepHeadline(updates) {
2565
- return {
2566
- $el: 'h3',
2567
- children: updates.headline || 'Additional Case Details',
2568
- attrs: {
2569
- class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
2570
- }
2571
- }
2572
- }
2784
+ const metaDefaults = {
2785
+ tcpaLanguage: TCPA_LANGUAGE
2786
+ };
2573
2787
 
2574
- function firstAndLastStepHeadline(updates) {
2788
+ function metaProps(updates) {
2789
+ const data = merge(
2790
+ metaDefaults,
2791
+ updates
2792
+ );
2575
2793
  return {
2576
- $el: 'h3',
2577
- children: updates.headline || 'Please Provide a Contact Name',
2578
- attrs: {
2579
- class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
2580
- }
2794
+ type: 'meta',
2795
+ data
2581
2796
  }
2582
2797
  }
2583
2798
 
2584
- function contactStepHeadline(updates) {
2585
- return {
2586
- $el: 'h3',
2587
- children: updates.headline || DEFAULT_FINAL_HEADLINE_DYNAMIC,
2588
- attrs: {
2589
- class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-3 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
2590
- }
2591
- }
2799
+ function defaultMetaProps() {
2800
+ return metaProps({
2801
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
2802
+ commentsPlaceholders: TOLPCommentsPlaceholders,
2803
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
2804
+ finalHeadlines: TOLPFinalHeadlines,
2805
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
2806
+ finalSubHeadlines: TOLPFinalSubHeadlines,
2807
+ })
2592
2808
  }
2593
2809
 
2594
- function contactStepSubHeadline(updates) {
2595
- return {
2596
- $el: 'h5',
2597
- children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC,
2598
- attrs: {
2599
- class: 't-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3' + ' ' + (updates.subheadlineClass || '')
2600
- }
2601
- }
2810
+ function defaultMetaPropsLegalLegacy() {
2811
+ const meta = defaultMetaProps();
2812
+ meta.data.dynamicSchema = [
2813
+ generalLegalTOLPQuestions(),
2814
+ commentsWithBankruptcy({
2815
+ inputClass: '!t-h-28',
2816
+ }),
2817
+ legalCrossSells(),
2818
+ autoAndCarAccidentCrossSellQuestions(),
2819
+ personalInjuryCrossSellQuestions(),
2820
+ workersCompensationCrossSellQuestions(),
2821
+ duiAndDWICrossSellQuestions(),
2822
+ ssdiCrossSellQuestions(),
2823
+ powerOfAttorneyCrossSellQuestions(),
2824
+ willsAndTrustsCrossSellQuestions(),
2825
+ divorceAndSeparationCrossSellQuestions(),
2826
+ childCustodyCrossSellQuestions(),
2827
+ firstAndLastV2(),
2828
+ ];
2829
+ return meta
2602
2830
  }
2603
2831
 
2604
- const TRUSTED_FORM_JS = `(function() {
2605
- if (window.xxTrustedFormLoaded) {
2606
- return
2607
- }
2608
- var vid = '';
2609
- if (typeof window.zar !== 'undefined') {
2610
- vid = window.zar.getVID();
2611
- }
2612
- window.xxTrustedFormLoaded = true;
2613
- var sandbox = document.location.hostname.indexOf('localhost') > -1 ? 'true' : 'false'
2614
- var tf = document.createElement('script');
2615
- tf.type = 'text/javascript'; tf.async = true;
2616
- tf.src = ("https:" == document.location.protocol ? 'https' : 'http') + "://api.trustedform.com/trustedform.js?field=xxTrustedFormCertUrl&identifier=" + vid + "&ping_field=xxTrustedFormPingUrl&provideReferrer=false&invert_field_sensitivity=true&sandbox=" + sandbox + "&l=" + new Date().getTime() + Math.random();
2617
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(tf, s);
2618
- })();`;
2619
-
2620
- function trustedFormScript() {
2621
- return {
2622
- $el: 'script',
2623
- if: '$activeStep === $lastStep()',
2624
- children: TRUSTED_FORM_JS
2832
+ const dynamicSchemaNode = {
2833
+ $cmp: 'FormKitSchema',
2834
+ if: '$get(Type_Of_Legal_Problem).value',
2835
+ props: {
2836
+ schema: '$meta.dynamicSchema',
2837
+ data: '$buildData($meta)'
2625
2838
  }
2626
- }
2839
+ };
2627
2840
 
2628
- const stepDefaults = (step, stepKey) => ({
2629
- $el: 'section',
2630
- if: '$stepEnabled("' + step + '")',
2841
+ const formAnchorDefaults = {
2842
+ $el: 'div',
2843
+ children: [
2844
+ {
2845
+ $el: 'div',
2846
+ attrs: {
2847
+ id: 'form-anchor',
2848
+ class: 't-absolute',
2849
+ style: { top: '-30px', left: 0 }
2850
+ }
2851
+ }
2852
+ ],
2631
2853
  attrs: {
2632
- hidden: '$activeStep !== "' + step + '"',
2633
- key: stepKey ? stepKey : step
2854
+ class: 't-relative'
2634
2855
  }
2635
- });
2856
+ };
2636
2857
 
2637
- function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = undefined, nextStepMap = undefined, autoFocus = undefined) {
2638
- if (typeof nextOnEnter === 'undefined') {
2639
- nextOnEnter = true;
2640
- }
2641
- if (inputs && inputs.length && (nextOnEnter || nextOnInput)) {
2642
- const lastInput = findLastInput(inputs[inputs.length - 1]);
2643
- if (lastInput && nextOnEnter === true) {
2644
- lastInput.onKeypress = NEXT_ON_ENTER;
2645
- }
2646
- if (lastInput && nextOnInput === true) {
2647
- lastInput.onInput = NEXT_ON_INPUT;
2858
+ function formAnchor(updates) {
2859
+ return merge(
2860
+ formAnchorDefaults,
2861
+ updates
2862
+ )
2863
+ }
2864
+
2865
+ function headlineDefaults(updates = {}) {
2866
+ return {
2867
+ $el: 'h1',
2868
+ attrs: {
2869
+ 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 || '')
2648
2870
  }
2649
2871
  }
2872
+ }
2650
2873
 
2874
+ function headline(updates = {}) {
2651
2875
  return merge(
2652
- stepDefaults(name, stepKey),
2653
- {
2654
- children: [
2655
- {
2656
- $formkit: 'group',
2657
- id: name,
2658
- name: name,
2659
- nextStepMap: nextStepMap,
2660
- autoFocus: autoFocus,
2661
- children: inputs
2662
- }
2663
- ]
2664
- }
2876
+ headlineDefaults(updates),
2877
+ updates
2665
2878
  )
2666
2879
  }
2667
2880
 
2668
- function commentsWithBankruptcyV2(updates = {}) {
2669
- return step(
2670
- 'commentsWithBankruptcy',
2671
- [
2672
- commentsStepHeadline(updates),
2673
- comments({
2674
- label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
2675
- placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
2676
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-40' : updates.inputClass,
2677
- }),
2678
- bankruptcyCrossSell(),
2679
- {
2680
- $el: 'div',
2681
- if: '$get(CrossSell_Bankruptcy).value == true',
2682
- children: [
2683
- comments({
2684
- label: 'Bankruptcy or debt details:',
2685
- placeholder: 'Please describe your bankrtupcy or debt situation in a few words...',
2686
- inputClass: '!t-h-16'
2687
- }, 'CrossSell:Bankruptcy')
2688
- ],
2689
- }
2690
- ],
2691
- updates.nextOnEnter,
2692
- )
2881
+ function defaultHeadline() {
2882
+ return headline({
2883
+ children: '$urlParam("hl", "Start Here For a Free Consultation")',
2884
+ if: '$activeStep === $firstStep()'
2885
+ })
2693
2886
  }
2694
2887
 
2695
- function contactInfoV2(updates = {}) {
2696
- return step(
2697
- 'contactInfo',
2698
- [
2699
- contactStepHeadline(updates),
2700
- contactStepSubHeadline(updates),
2701
- // Added TF everywhere
2702
- trustedFormScript(),
2703
- email(),
2704
- phone(),
2705
- TCPAConsent(),
2706
- secureIcon()
2707
- ],
2708
- updates.nextOnEnter
2709
- )
2888
+ function subHeadlineDefaults(updates = {}) {
2889
+ return {
2890
+ $el: 'h3',
2891
+ attrs: {
2892
+ 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 || '')
2893
+ }
2894
+ }
2710
2895
  }
2711
2896
 
2712
- function firstAndLastV2(updates = {}) {
2713
- return step(
2714
- 'firstAndLast',
2715
- [
2716
- firstAndLastStepHeadline(updates),
2717
- firstName(),
2718
- lastName()
2719
- ],
2720
- updates.nextOnEnter
2897
+ function subHeadline(updates = {}) {
2898
+ return merge(
2899
+ subHeadlineDefaults(updates),
2900
+ updates
2721
2901
  )
2722
2902
  }
2723
2903
 
2904
+ function defaultSubHeadline() {
2905
+ return subHeadline({
2906
+ children: '$urlParam("shl", "Our Service is Fast and Free!")',
2907
+ if: '$activeStep === $firstStep()'
2908
+ })
2909
+ }
2724
2910
 
2725
- const AllTOLPQuestions = () => {
2726
- return [
2727
- AdoptionQuestions(),
2728
- AsbestosAndMesotheliomaQuestions(),
2729
- AutoAndCarAccidentsQuestions(),
2730
- BankruptcyQuestions(),
2731
- BirthCertificateAndNameChangeQuestions(),
2732
- BusinessLawyersQuestions(),
2733
- ChildCustodyAndSupportQuestions(),
2734
- ChildCustodyQuestions(),
2735
- ChildSupportQuestions(),
2736
- CivilRightsAndDiscriminationQuestions(),
2737
- CivilLawsuitQuestions(),
2738
- FileLawsuitQuestions(),
2739
- DefendLawsuitQuestions(),
2740
- ConsumerLawyersQuestions(),
2741
- CopyrightsAndTrademarksQuestions(),
2742
- CriminalAndFelonyQuestions(),
2743
- DebtAndCollectionsQuestions(),
2744
- DivorceQuestions(),
2745
- DUIAndDWIQuestions(),
2746
- ElderLawQuestions(),
2747
- EmploymentAndWorkplaceQuestions(),
2748
- ExpungementQuestions(),
2749
- FamilyIssuesQuestions(),
2750
- ForeclosureQuestions(),
2751
- GuardianshipQuestions(),
2752
- HarassmentAndDiscriminationQuestions(),
2753
- SexualHarassmentQuestions(),
2754
- WorkplaceHarassmentQuestions(),
2755
- NonWorkplaceHarassmentQuestions(),
2756
- WorkplaceDiscriminationQuestions(),
2757
- NonWorkplaceDiscriminationQuestions(),
2758
- IdentityTheftQuestions(),
2759
- ImmigrationAndVisasQuestions(),
2760
- InsuranceQuestions(),
2761
- LandlordAndTenantQuestions(),
2762
- LemonLawQuestions(),
2763
- LongTermDisabilityQuestions(),
2764
- MedicalMalpracticeQuestions(),
2765
- PatentsAndIntellectualPropertyQuestions(),
2766
- PersonalInjuryQuestions(),
2767
- PowerofAttorneyQuestions(),
2768
- ProbateAndEstatesQuestions(),
2769
- ProductLiabilityQuestions(),
2770
- PropertyDamageQuestions(),
2771
- RealEstateQuestions(),
2772
- SocialSecurityDisabilityAndInsuranceQuestions(),
2773
- TaxAndIRSQuestions(),
2774
- TrafficAndTicketsQuestions(),
2775
- UnemploymentQuestions(),
2776
- VictimOfACrimeQuestions(),
2777
- WillsAndTrustsQuestions(),
2778
- WorkersCompensationQuestions(),
2779
- WrongfulDeathQuestions(),
2780
- WrongfulTerminationQuestions(),
2781
- NotSureOrOtherQuestions()
2782
- ]
2783
- };
2911
+ const hiddenInputsBase = [
2912
+ {
2913
+ $formkit: 'hidden',
2914
+ name: "gclid",
2915
+ value: null
2916
+ },
2917
+ {
2918
+ $formkit: 'hidden',
2919
+ name: "campaignid",
2920
+ value: null
2921
+ },
2922
+ {
2923
+ $formkit: 'hidden',
2924
+ name: "s",
2925
+ value: null
2926
+ }
2927
+ ];
2784
2928
 
2785
- function generalLegalTOLPQuestions(updates = {}) {
2786
- var questions = AllTOLPQuestions();
2929
+ const hiddenInputsLegal = [
2930
+ {
2931
+ $formkit: 'hidden',
2932
+ name: "vertical",
2933
+ value: "Legal"
2934
+ },
2935
+ {
2936
+ $formkit: 'hidden',
2937
+ name: "TCPA_Language",
2938
+ value: "$meta.tcpaLanguage"
2939
+ },
2940
+ ...hiddenInputsBase
2941
+ ];
2787
2942
 
2788
- questions.unshift(
2789
- questionsStepHeadline(updates)
2790
- );
2943
+ const legalRedirectMapDefaults = {
2944
+ '*': LegalRedirectUrl()
2945
+ };
2791
2946
 
2792
- return step(
2793
- 'TOLPQuestions',
2794
- questions,
2795
- updates.nextOnEnter
2796
- )
2797
- }
2798
2947
 
2799
- function realEstateTOLPAndZip(updates = {}) {
2800
- return step(
2801
- 'realEstateTOLPAndZip',
2802
- [
2803
- {
2804
- $formkit: 'hidden',
2805
- name: "Type_Of_Legal_Problem",
2806
- id: "Type_Of_Legal_Problem",
2807
- value: "Real Estate"
2808
- },
2809
- realEstateTOLPDisplay({
2810
- if: 'true'
2811
- }),
2812
- zipcode()
2813
- ],
2814
- updates.nextOnEnter
2948
+ function legalRedirectMap(updates) {
2949
+ return merge(
2950
+ legalRedirectMapDefaults,
2951
+ updates
2815
2952
  )
2816
2953
  }
2817
2954
 
2818
- const formNavigationV2 = () => ({
2819
- $el: 'div',
2820
- attrs: {
2821
- class: 'step-nav'
2955
+ const legalAllValueOverrideMap = {
2956
+ 'Civil_Defense': {
2957
+ 'Yes': {
2958
+ 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
2959
+ },
2960
+ 'No': {
2961
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
2962
+ }
2822
2963
  },
2823
- children: [
2824
- {
2825
- $formkit: 'button',
2826
- name: 'back_button',
2827
- onClick: '$setPreviousStep($prevStepFunc($get(form)))',
2828
- children: 'Back',
2829
- style: {
2830
- if: '$activeStep === $firstStep()',
2831
- then: 'visibility: hidden;'
2832
- }
2964
+ 'Type_Of_Legal_Problem_Display': {
2965
+ // Accidents and PI
2966
+ 'Auto Accident': {
2967
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2968
+ },
2969
+ 'Dog Bite': {
2970
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2971
+ },
2972
+ 'Slip and Fall': {
2973
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2974
+ },
2975
+ 'Workplace Injury': {
2976
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
2977
+ },
2978
+ 'Trucking Accident': {
2979
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2980
+ },
2981
+ 'Motorcycle Accident': {
2982
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
2983
+ },
2984
+ 'Other Accidents or Injuries': {
2985
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2986
+ },
2987
+ // Civil
2988
+ 'Automobile Accident': {
2989
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2990
+ },
2991
+ 'Contract Disputes': {
2992
+ 'Type_Of_Legal_Problem': 'Business Lawyers'
2993
+ },
2994
+ 'Defamation and Slander': {
2995
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
2996
+ },
2997
+ 'Dog Bite': {
2998
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2999
+ },
3000
+ 'Employment and Workplace': {
3001
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3002
+ },
3003
+ 'Fraud': {
3004
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
3005
+ },
3006
+ 'Medical Malpractice': {
3007
+ 'Type_Of_Legal_Problem': 'Medical Malpractice'
3008
+ },
3009
+ 'Personal Injury': {
3010
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3011
+ },
3012
+ 'Property Damage': {
3013
+ 'Type_Of_Legal_Problem': 'Property Damage'
3014
+ },
3015
+ 'Small Claims': {
3016
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
3017
+ },
3018
+ 'Real Estate': {
3019
+ 'Type_Of_Legal_Problem': 'Real Estate'
3020
+ },
3021
+ 'Other (describe on next page)': {
3022
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3023
+ },
3024
+ // Contracts
3025
+ 'Contract Creation': {
3026
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3027
+ 'Business_Services': 'Contracts'
3028
+ },
3029
+ 'Contract Enforcement': {
3030
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3031
+ 'Business_Services': 'Contracts'
3032
+ },
3033
+ 'Contract Cancellation': {
3034
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3035
+ 'Business_Services': 'Contracts'
3036
+ },
3037
+ 'Contract Fraud': {
3038
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3039
+ 'Business_Services': 'Contracts'
3040
+ },
3041
+ 'Breach of Contract': {
3042
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3043
+ 'Business_Services': 'Contracts'
3044
+ },
3045
+ 'Other Contract Issues': {
3046
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3047
+ 'Business_Services': 'Contracts'
3048
+ },
3049
+ // Criminal
3050
+ 'Criminal Defense': {
3051
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
3052
+ },
3053
+ 'Victim of a Crime': {
3054
+ 'Type_Of_Legal_Problem': 'Victim of a Crime'
3055
+ },
3056
+ 'DUI and DWI': {
3057
+ 'Type_Of_Legal_Problem': 'DUI and DWI'
3058
+ },
3059
+ 'Expungement': {
3060
+ 'Type_Of_Legal_Problem': 'Expungement'
3061
+ },
3062
+ 'Harassment': {
3063
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
3064
+ },
3065
+ 'Not Sure or Other': {
3066
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3067
+ },
3068
+ // Employment and Workplace
3069
+ 'Workplace Harassment': {
3070
+ 'Type_Of_Legal_Problem': 'Workplace Harassment'
2833
3071
  },
2834
- {
2835
- $formkit: 'button',
2836
- name: 'next_button',
2837
- onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2838
- children: {
2839
- if: '$activeStep === $firstStep()',
2840
- then: 'Start',
2841
- else: 'Next'
2842
- },
2843
- outerClass: {
2844
- if: '$activeStep === $lastStep()',
2845
- then: 't-hidden',
2846
- else: ''
2847
- },
2848
- style: {
2849
- if: '$activeStep === $lastStep()',
2850
- then: 'display: none;'
2851
- }
3072
+ 'Workplace Discrimination': {
3073
+ 'Type_Of_Legal_Problem': 'Workplace Discrimination'
2852
3074
  },
2853
- {
2854
- $formkit: 'submit',
2855
- name: 'submit_button',
2856
- label: 'Submit',
2857
- if: '$activeStep === $lastStep()',
2858
- style: {
2859
- if: '$activeStep !== $lastStep()',
2860
- then: 'display: none;'
2861
- }
2862
- }
2863
- ]
2864
- });
2865
-
2866
- const formDetails = () => ({
2867
- $el: 'pre',
2868
- if: '$urlParam("fdbg", "") == 1',
2869
- children: [
2870
- {
2871
- $el: 'pre',
2872
- children: '$stringify( $get(form).value )',
2873
- attrs: {
2874
- class: 't-text-xs',
2875
- style: 'overflow: scroll'
2876
- }
3075
+ 'Wrongful Termination': {
3076
+ 'Type_Of_Legal_Problem': 'Wrongful Termination'
2877
3077
  },
2878
- {
2879
- $el: 'pre',
2880
- children: ['activeStep: ', '$activeStep'],
2881
- attrs: {
2882
- class: 't-text-xs',
2883
- style: 'overflow: scroll'
2884
- }
3078
+ 'Payment Disputes': {
3079
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
2885
3080
  },
2886
- {
2887
- $el: 'pre',
2888
- children: ['stepHistory: ', '$stepHistory'],
2889
- attrs: {
2890
- class: 't-text-xs',
2891
- style: 'overflow: scroll'
2892
- }
3081
+ 'Workers Compensation': {
3082
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
2893
3083
  },
2894
- {
2895
- $el: 'pre',
2896
- children: ['stepQueue: ', '$stepQueue'],
2897
- attrs: {
2898
- class: 't-text-xs',
2899
- style: 'overflow: scroll'
2900
- }
3084
+ 'Unemployment': {
3085
+ 'Type_Of_Legal_Problem': 'Unemployment'
2901
3086
  },
2902
- {
2903
- $el: 'pre',
2904
- children: ['steps: ', '$stepKeys()'],
2905
- attrs: {
2906
- class: 't-text-xs',
2907
- style: 'overflow: scroll'
2908
- }
3087
+ 'Other Workplace Issues': {
3088
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3089
+ },
3090
+ // Malpractice
3091
+ 'Attorney Malpractice': {
3092
+ 'Type_Of_Legal_Problem': 'Civil Lawsuit'
3093
+ },
3094
+ 'Other Malpractice Issues': {
3095
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3096
+ },
3097
+ // Repossession
3098
+ 'Vehicle Repossession': {
3099
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
3100
+ },
3101
+ 'Property Repossession': {
3102
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
3103
+ },
3104
+ 'Other Repossession Issues': {
3105
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3106
+ },
3107
+ // Real Estate
3108
+ 'Contracts and Agreements': {
3109
+ 'Type_Of_Legal_Problem': 'Real Estate'
3110
+ },
3111
+ 'Deeds, Liens, and Titles': {
3112
+ 'Type_Of_Legal_Problem': 'Real Estate'
3113
+ },
3114
+ 'Foreclosure': {
3115
+ 'Type_Of_Legal_Problem': 'Foreclosure'
3116
+ },
3117
+ 'Insurance': {
3118
+ 'Type_Of_Legal_Problem': 'Insurance'
3119
+ },
3120
+ 'Landlord and Tenant': {
3121
+ 'Type_Of_Legal_Problem': 'Landlord and Tenant',
3122
+ },
3123
+ 'Loans and Mortgages': {
3124
+ 'Type_Of_Legal_Problem': 'Real Estate',
3125
+ },
3126
+ 'Wills, Trusts, and Estates': {
3127
+ 'Type_Of_Legal_Problem': 'Wills and Trusts'
3128
+ },
3129
+ 'Property Damage': {
3130
+ 'Type_Of_Legal_Problem': 'Property Damage'
3131
+ },
3132
+ 'Other Real Estate Issues': {
3133
+ 'Type_Of_Legal_Problem': 'Real Estate'
2909
3134
  }
3135
+ }
3136
+ };
3137
+
3138
+ const TOLPCommentsPlaceholders = {
3139
+ 'Adoption': 'Example: "I need help with adoption forms"',
3140
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
3141
+ '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"',
3142
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
3143
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
3144
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
3145
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
3146
+ 'Child Custody': 'Example: "Need help getting custody"',
3147
+ 'Child Support': 'Example: "Issues with child support payments"',
3148
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
3149
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
3150
+ 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
3151
+ 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
3152
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
3153
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
3154
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
3155
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
3156
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
3157
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
3158
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
3159
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
3160
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
3161
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
3162
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
3163
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
3164
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
3165
+ 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
3166
+ 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
3167
+ 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
3168
+ 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
3169
+ 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
3170
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
3171
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
3172
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
3173
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
3174
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
3175
+ '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"',
3176
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
3177
+ 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
3178
+ 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
3179
+ 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
3180
+ 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
3181
+ 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
3182
+ 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
3183
+ 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
3184
+ '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"',
3185
+ 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
3186
+ 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
3187
+ 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
3188
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
3189
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
3190
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
3191
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
3192
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
3193
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
3194
+ };
3195
+
3196
+ const TOLPFinalHeadlines = {
3197
+ // 'Adoption': '',
3198
+ };
3199
+
3200
+ const TOLPFinalSubHeadlines = {
3201
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
3202
+ // 'Asbestos and Mesothelioma': '',
3203
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
3204
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
3205
+ // 'Birth Certificate and Name Change': '',
3206
+ // 'Business Lawyers': '',
3207
+ // 'Child Custody and Support': '',
3208
+ // 'Civil Rights and Discrimination': '',
3209
+ // 'Civil Lawsuit': '',
3210
+ // 'Consumer Lawyers': '',
3211
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
3212
+ // 'Criminal and Felony': '',
3213
+ // 'Debt and Collections': '',
3214
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
3215
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
3216
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
3217
+ // 'Employment and Workplace': '',
3218
+ // 'Expungement': '',
3219
+ // 'Family Issues': '',
3220
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
3221
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
3222
+ // 'Harassment and Discrimination': '',
3223
+ // 'Identity Theft': '',
3224
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
3225
+ // 'Insurance': '',
3226
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
3227
+ // 'Lemon Law': '',
3228
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
3229
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
3230
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
3231
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
3232
+ // 'Power of Attorney': '',
3233
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
3234
+ // 'Product Liability': '',
3235
+ // 'Property Damage': '',
3236
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
3237
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
3238
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
3239
+ // 'Traffic and Tickets': '',
3240
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
3241
+ // 'Victim of a Crime': '',
3242
+ // 'Wills and Trusts': '',
3243
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
3244
+ // 'Wrongful Death': '',
3245
+ // 'Wrongful Termination': '',
3246
+ // 'Not Sure or Other': ''
3247
+ // 'Sexual Harassment': '',
3248
+ // 'Workplace Harassment': '',
3249
+ // 'Non-Workplace Harassment': '',
3250
+ // 'Workplace Discrimination': '',
3251
+ // 'Non-Workplace Discrimination': '',
3252
+ };
3253
+
3254
+
3255
+ const nextStepsMapLegalLegacy = {
3256
+ '*': [
3257
+ 'TOLPQuestions',
3258
+ 'commentsWithBankruptcy',
3259
+ 'legalCrossSells',
3260
+ 'firstAndLast',
3261
+ 'contactInfo',
2910
3262
  ]
2911
- });
3263
+ };
2912
3264
 
2913
3265
  const schema = [
2914
- defaultMetaProps(),
3266
+ defaultMetaPropsLegalLegacy(),
2915
3267
  formAnchor(),
2916
3268
  {
2917
3269
  $cmp: 'FormKit',
@@ -2930,16 +3282,12 @@ const schema = [
2930
3282
  class: 'form-body'
2931
3283
  },
2932
3284
  children: [
2933
- realEstateTOLPAndZip(),
2934
- generalLegalTOLPQuestions(),
2935
- commentsWithBankruptcyV2({
2936
- nextOnEnter: false
2937
- }),
2938
- firstAndLastV2(),
2939
- contactInfoV2({
2940
- nextOnEnter: false
3285
+ realEstateTOLPAndZip({
3286
+ nextStepMap: nextStepsMapLegalLegacy
2941
3287
  }),
2942
- formNavigationV2(),
3288
+ dynamicSchemaNode,
3289
+ contactInfo(),
3290
+ formNavigation(),
2943
3291
  formDetails()
2944
3292
  ]
2945
3293
  }