bhl-forms 0.6.4 → 0.6.6

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 (74) 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 +1439 -864
  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 +789 -768
  11. package/dist/forms/childAndFamily.iife.js +1 -1
  12. package/dist/forms/childAndFamily.json +1 -1
  13. package/dist/forms/childAndFamilySingle.es.js +755 -750
  14. package/dist/forms/childAndFamilySingle.iife.js +1 -1
  15. package/dist/forms/childAndFamilySingle.json +1 -1
  16. package/dist/forms/civilLawsuit.es.js +835 -809
  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 -720
  22. package/dist/forms/contracts.iife.js +1 -1
  23. package/dist/forms/contracts.json +1 -1
  24. package/dist/forms/criminal.es.js +870 -828
  25. package/dist/forms/criminal.iife.js +1 -1
  26. package/dist/forms/criminal.json +1 -1
  27. package/dist/forms/employmentAndWorkplace.es.js +1827 -1193
  28. package/dist/forms/employmentAndWorkplace.iife.js +1 -1
  29. package/dist/forms/employmentAndWorkplace.json +1 -1
  30. package/dist/forms/generalLegal.es.js +852 -811
  31. package/dist/forms/generalLegal.iife.js +1 -1
  32. package/dist/forms/generalLegal.json +1 -1
  33. package/dist/forms/generalLegalPopUnder.es.js +852 -810
  34. package/dist/forms/generalLegalPopUnder.iife.js +1 -1
  35. package/dist/forms/generalLegalPopUnder.json +1 -1
  36. package/dist/forms/generalLegalSingle.es.js +1525 -1506
  37. package/dist/forms/generalLegalSingle.iife.js +1 -1
  38. package/dist/forms/generalLegalSingle.json +1 -1
  39. package/dist/forms/generalLegalThankYou.es.js +708 -698
  40. package/dist/forms/generalLegalThankYou.iife.js +1 -1
  41. package/dist/forms/generalLegalThankYou.json +1 -1
  42. package/dist/forms/harassmentAndDiscrimination.es.js +1481 -702
  43. package/dist/forms/harassmentAndDiscrimination.iife.js +1 -1
  44. package/dist/forms/harassmentAndDiscrimination.json +1 -1
  45. package/dist/forms/malpractice.es.js +1764 -1071
  46. package/dist/forms/malpractice.iife.js +1 -1
  47. package/dist/forms/malpractice.json +1 -1
  48. package/dist/forms/mechanics.es.js +115 -115
  49. package/dist/forms/mechanics.iife.js +1 -1
  50. package/dist/forms/realEstate.es.js +1556 -1213
  51. package/dist/forms/realEstate.iife.js +1 -1
  52. package/dist/forms/realEstate.json +1 -1
  53. package/dist/forms/repossession.es.js +1572 -851
  54. package/dist/forms/repossession.iife.js +1 -1
  55. package/dist/forms/repossession.json +1 -1
  56. package/dist/forms/ssdi.es.js +672 -677
  57. package/dist/forms/ssdi.iife.js +1 -1
  58. package/dist/forms/ssdi.json +1 -1
  59. package/dist/forms/testForm.es.js +473 -468
  60. package/dist/forms/testForm.iife.js +1 -1
  61. package/dist/forms/testForm.json +1 -1
  62. package/dist/forms/testRedirects.es.js +104 -101
  63. package/dist/forms/testRedirects.iife.js +1 -1
  64. package/dist/forms/testRedirects.json +1 -1
  65. package/dist/forms/vets.es.js +115 -115
  66. package/dist/forms/vets.iife.js +1 -1
  67. package/dist/forms/willsAndTrusts.es.js +1298 -710
  68. package/dist/forms/willsAndTrusts.iife.js +1 -1
  69. package/dist/forms/willsAndTrusts.json +1 -1
  70. package/dist/main.css +1 -1
  71. package/package.json +1 -1
  72. package/dist/forms/generalLegalPopUnderTF.es.js +0 -3092
  73. package/dist/forms/generalLegalPopUnderTF.iife.js +0 -1
  74. 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:",
@@ -2157,6 +1651,7 @@ const EmploymentAndWorkplaceQuestions = () => group(
2157
1651
  haveAttorney(),
2158
1652
  numEmployeesOfBusiness(),
2159
1653
  employerType(),
1654
+ employeeAtCompany(),
2160
1655
  degreeOfInterestHelp()
2161
1656
  ]
2162
1657
  }
@@ -2240,7 +1735,13 @@ const WorkplaceHarassmentQuestions = () => group(
2240
1735
  'WorkplaceHarassmentQuestions',
2241
1736
  {
2242
1737
  if: '$get(Type_Of_Legal_Problem).value == "Workplace Harassment"',
2243
- children: defaultQuestions()
1738
+ children: [
1739
+ haveAttorney(),
1740
+ numEmployeesOfBusiness(),
1741
+ employerType(),
1742
+ employeeAtCompany(),
1743
+ degreeOfInterestHelp()
1744
+ ]
2244
1745
  }
2245
1746
  );
2246
1747
 
@@ -2256,7 +1757,13 @@ const WorkplaceDiscriminationQuestions = () => group(
2256
1757
  'WorkplaceDiscriminationQuestions',
2257
1758
  {
2258
1759
  if: '$get(Type_Of_Legal_Problem).value == "Workplace Discrimination"',
2259
- children: defaultQuestions()
1760
+ children: [
1761
+ haveAttorney(),
1762
+ numEmployeesOfBusiness(),
1763
+ employerType(),
1764
+ employeeAtCompany(),
1765
+ degreeOfInterestHelp()
1766
+ ]
2260
1767
  }
2261
1768
  );
2262
1769
 
@@ -2619,6 +2126,43 @@ const findLastInput = (n) => {
2619
2126
  return null
2620
2127
  };
2621
2128
 
2129
+ const secureIconDefault = {
2130
+ $el: 'div',
2131
+ if: '$activeStep === $lastStep()',
2132
+ attrs: {
2133
+ class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
2134
+ },
2135
+ children: [
2136
+ {
2137
+ $el: 'img',
2138
+ attrs: {
2139
+ loading: 'lazy',
2140
+ alt: '',
2141
+ style: {
2142
+ border: 0
2143
+ },
2144
+ width: '25',
2145
+ height: '25',
2146
+ src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
2147
+ }
2148
+ },
2149
+ {
2150
+ $el: 'span',
2151
+ children: 'Secure & Encrypted',
2152
+ attrs: {
2153
+ class: 't-pl-2 t-pt-1 t-font-medium'
2154
+ }
2155
+ }
2156
+ ]
2157
+ };
2158
+
2159
+ function secureIcon(updates) {
2160
+ return merge(
2161
+ secureIconDefault,
2162
+ updates
2163
+ )
2164
+ }
2165
+
2622
2166
  function questionsStepHeadline(updates) {
2623
2167
  return {
2624
2168
  $el: 'h3',
@@ -2763,7 +2307,7 @@ function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = u
2763
2307
  )
2764
2308
  }
2765
2309
 
2766
- function commentsWithBankruptcyV2(updates = {}) {
2310
+ function commentsWithBankruptcy(updates = {}) {
2767
2311
  return step(
2768
2312
  'commentsWithBankruptcy',
2769
2313
  [
@@ -2771,7 +2315,7 @@ function commentsWithBankruptcyV2(updates = {}) {
2771
2315
  comments({
2772
2316
  label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
2773
2317
  placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
2774
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-40' : updates.inputClass,
2318
+ inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
2775
2319
  }),
2776
2320
  bankruptcyCrossSell(),
2777
2321
  {
@@ -2786,29 +2330,23 @@ function commentsWithBankruptcyV2(updates = {}) {
2786
2330
  ],
2787
2331
  }
2788
2332
  ],
2789
- // TODO: UGLY: use named params!
2790
- updates.nextOnEnter,
2791
- false,
2792
- undefined,
2793
- undefined,
2794
- false
2333
+ false // nextOnEnter
2795
2334
  )
2796
2335
  }
2797
2336
 
2798
- function contactInfoV2(updates = {}) {
2337
+ function contactInfo(updates = {}) {
2799
2338
  return step(
2800
2339
  'contactInfo',
2801
2340
  [
2802
2341
  contactStepHeadline(updates),
2803
2342
  contactStepSubHeadline(updates),
2804
- // Added TF everywhere
2805
2343
  trustedFormScript(),
2806
2344
  email(),
2807
2345
  phone(),
2808
2346
  TCPAConsent(),
2809
2347
  secureIcon()
2810
2348
  ],
2811
- updates.nextOnEnter
2349
+ false, // nextOnEnter
2812
2350
  )
2813
2351
  }
2814
2352
 
@@ -2827,7 +2365,10 @@ function criminalTOLPAndZip(updates = {}) {
2827
2365
  }),
2828
2366
  zipcode()
2829
2367
  ],
2830
- updates.nextOnEnter
2368
+ updates.nextOnEnter,
2369
+ updates.nextOnInput,
2370
+ updates.stepKey,
2371
+ updates.nextStepMap
2831
2372
  )
2832
2373
  }
2833
2374
 
@@ -2962,249 +2503,764 @@ function divorceAndSeparationCrossSellQuestions(updates = {}) {
2962
2503
  return step(
2963
2504
  'divorceAndSeparationCrossSellQuestions',
2964
2505
  [
2965
- crossSellQuestionsStepHeadline({ headline: 'Divorce or Separation Information' }),
2966
- DivorceQuestions("true", 'CrossSell:Divorce_and_Separation'),
2506
+ crossSellQuestionsStepHeadline({ headline: 'Divorce or Separation Information' }),
2507
+ DivorceQuestions("true", 'CrossSell:Divorce_and_Separation'),
2508
+ comments(
2509
+ {
2510
+ label: 'Description:',
2511
+ placeholder: 'Please describe your situation in a few words...',
2512
+ inputClass: '!t-h-16'
2513
+ },
2514
+ 'CrossSell:Divorce_and_Separation'
2515
+ )
2516
+ ],
2517
+ updates.nextOnEnter
2518
+ )
2519
+ }
2520
+
2521
+ function duiAndDWICrossSellQuestions(updates = {}) {
2522
+ return step(
2523
+ 'duiAndDWICrossSellQuestions',
2524
+ [
2525
+ crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
2526
+ DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
2527
+ comments(
2528
+ {
2529
+ label: 'Incident Description:',
2530
+ placeholder: 'Please describe your incident in a few words...',
2531
+ inputClass: '!t-h-16'
2532
+ },
2533
+ 'CrossSell:DUI_and_DWI'
2534
+ )
2535
+ ],
2536
+ updates.nextOnEnter
2537
+ )
2538
+ }
2539
+
2540
+ function ssdiCrossSellQuestions(updates = {}) {
2541
+ return step(
2542
+ 'ssdiCrossSellQuestions',
2543
+ [
2544
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
2545
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
2546
+ SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
2547
+ comments(
2548
+ {
2549
+ label: 'Description:',
2550
+ placeholder: 'Please describe your situation in a few words...',
2551
+ inputClass: '!t-h-16'
2552
+ },
2553
+ 'CrossSell:Social_Security_Disability_and_Insurance'
2554
+ )
2555
+ ],
2556
+ updates.nextOnEnter
2557
+ )
2558
+ }
2559
+
2560
+ function personalInjuryCrossSellQuestions(updates = {}) {
2561
+ return step(
2562
+ 'personalInjuryCrossSellQuestions',
2563
+ [
2564
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
2565
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
2566
+ PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
2967
2567
  comments(
2968
2568
  {
2969
- label: 'Description:',
2970
- placeholder: 'Please describe your situation in a few words...',
2569
+ label: 'Injury Description:',
2570
+ placeholder: 'Please describe your injury in a few words...',
2971
2571
  inputClass: '!t-h-16'
2972
2572
  },
2973
- 'CrossSell:Divorce_and_Separation'
2573
+ 'CrossSell:Personal_Injury'
2974
2574
  )
2975
2575
  ],
2976
2576
  updates.nextOnEnter
2977
2577
  )
2978
2578
  }
2979
2579
 
2980
- function duiAndDWICrossSellQuestions(updates = {}) {
2580
+ function powerOfAttorneyCrossSellQuestions(updates = {}) {
2981
2581
  return step(
2982
- 'duiAndDWICrossSellQuestions',
2582
+ 'powerOfAttorneyCrossSellQuestions',
2983
2583
  [
2984
- crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
2985
- DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
2584
+ crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
2585
+ PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
2986
2586
  comments(
2987
2587
  {
2988
- label: 'Incident Description:',
2989
- placeholder: 'Please describe your incident in a few words...',
2588
+ label: 'Description:',
2589
+ placeholder: 'Please describe your situation in a few words...',
2990
2590
  inputClass: '!t-h-16'
2991
2591
  },
2992
- 'CrossSell:DUI_and_DWI'
2592
+ 'CrossSell:Power_of_Attorney'
2993
2593
  )
2994
2594
  ],
2995
2595
  updates.nextOnEnter
2996
2596
  )
2997
2597
  }
2998
2598
 
2999
- function ssdiCrossSellQuestions(updates = {}) {
2599
+ function willsAndTrustsCrossSellQuestions(updates = {}) {
3000
2600
  return step(
3001
- 'ssdiCrossSellQuestions',
2601
+ 'willsAndTrustsCrossSellQuestions',
3002
2602
  [
3003
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
3004
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
3005
- SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
2603
+ crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
2604
+ WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
3006
2605
  comments(
3007
2606
  {
3008
2607
  label: 'Description:',
3009
2608
  placeholder: 'Please describe your situation in a few words...',
3010
2609
  inputClass: '!t-h-16'
3011
2610
  },
3012
- 'CrossSell:Social_Security_Disability_and_Insurance'
2611
+ 'CrossSell:Wills_and_Trusts'
3013
2612
  )
3014
2613
  ],
3015
2614
  updates.nextOnEnter
3016
2615
  )
3017
2616
  }
3018
2617
 
3019
- function personalInjuryCrossSellQuestions(updates = {}) {
2618
+ function workersCompensationCrossSellQuestions(updates = {}) {
3020
2619
  return step(
3021
- 'personalInjuryCrossSellQuestions',
2620
+ 'workersCompensationCrossSellQuestions',
3022
2621
  [
3023
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
2622
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
3024
2623
  crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
3025
- PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
2624
+ WorkersCompensationQuestions("true", 'CrossSell:Workers_Compensation'),
3026
2625
  comments(
3027
2626
  {
3028
2627
  label: 'Injury Description:',
3029
2628
  placeholder: 'Please describe your injury in a few words...',
3030
2629
  inputClass: '!t-h-16'
3031
2630
  },
3032
- 'CrossSell:Personal_Injury'
2631
+ 'CrossSell:Workers_Compensation'
3033
2632
  )
3034
2633
  ],
3035
2634
  updates.nextOnEnter
3036
2635
  )
3037
2636
  }
3038
2637
 
3039
- function powerOfAttorneyCrossSellQuestions(updates = {}) {
3040
- return step(
3041
- 'powerOfAttorneyCrossSellQuestions',
3042
- [
3043
- crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
3044
- PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
3045
- comments(
3046
- {
3047
- label: 'Description:',
3048
- placeholder: 'Please describe your situation in a few words...',
3049
- inputClass: '!t-h-16'
3050
- },
3051
- 'CrossSell:Power_of_Attorney'
3052
- )
3053
- ],
3054
- updates.nextOnEnter
3055
- )
2638
+ function legalCrossSells(updates = {}) {
2639
+ return step(
2640
+ 'legalCrossSells',
2641
+ [
2642
+ legalCrossSellsStepHeadline(updates),
2643
+ legalCrossSells$1(),
2644
+ ],
2645
+ updates.nextOnEnter,
2646
+ false,
2647
+ // Note: we should probably scope this stepKey to this step name
2648
+ '$get(Type_Of_Legal_Problem).value'
2649
+ )
2650
+ }
2651
+
2652
+ // ------ Common
2653
+
2654
+ const formNavigation = () => ({
2655
+ $el: 'div',
2656
+ attrs: {
2657
+ class: 'step-nav'
2658
+ },
2659
+ children: [
2660
+ {
2661
+ $formkit: 'button',
2662
+ name: 'back_button',
2663
+ onClick: '$setPreviousStep($prevStepFunc($get(form)))',
2664
+ children: 'Back',
2665
+ style: {
2666
+ if: '$activeStep === $firstStep()',
2667
+ then: 'visibility: hidden;'
2668
+ }
2669
+ },
2670
+ {
2671
+ $formkit: 'button',
2672
+ name: 'next_button',
2673
+ onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2674
+ children: {
2675
+ if: '$activeStep === $firstStep()',
2676
+ then: 'Start',
2677
+ else: 'Next'
2678
+ },
2679
+ outerClass: {
2680
+ if: '$activeStep === $lastStep()',
2681
+ then: 't-hidden',
2682
+ else: ''
2683
+ },
2684
+ style: {
2685
+ if: '$activeStep === $lastStep()',
2686
+ then: 'display: none;'
2687
+ }
2688
+ },
2689
+ {
2690
+ $formkit: 'submit',
2691
+ name: 'submit_button',
2692
+ label: 'Submit',
2693
+ if: '$activeStep === $lastStep()',
2694
+ style: {
2695
+ if: '$activeStep !== $lastStep()',
2696
+ then: 'display: none;'
2697
+ }
2698
+ }
2699
+ ]
2700
+ });
2701
+
2702
+ const formDetails = () => ({
2703
+ $el: 'pre',
2704
+ if: '$urlParam("fdbg", "") == 1',
2705
+ children: [
2706
+ {
2707
+ $el: 'pre',
2708
+ children: '$stringify( $get(form).value )',
2709
+ attrs: {
2710
+ class: 't-text-xs',
2711
+ style: 'overflow: scroll'
2712
+ }
2713
+ },
2714
+ {
2715
+ $el: 'pre',
2716
+ children: ['activeStep: ', '$activeStep'],
2717
+ attrs: {
2718
+ class: 't-text-xs',
2719
+ style: 'overflow: scroll'
2720
+ }
2721
+ },
2722
+ {
2723
+ $el: 'pre',
2724
+ children: ['stepHistory: ', '$stepHistory'],
2725
+ attrs: {
2726
+ class: 't-text-xs',
2727
+ style: 'overflow: scroll'
2728
+ }
2729
+ },
2730
+ {
2731
+ $el: 'pre',
2732
+ children: ['stepQueue: ', '$stepQueue'],
2733
+ attrs: {
2734
+ class: 't-text-xs',
2735
+ style: 'overflow: scroll'
2736
+ }
2737
+ },
2738
+ {
2739
+ $el: 'pre',
2740
+ children: ['steps: ', '$stepKeys()'],
2741
+ attrs: {
2742
+ class: 't-text-xs',
2743
+ style: 'overflow: scroll'
2744
+ }
2745
+ }
2746
+ ]
2747
+ });
2748
+
2749
+ const formPropDefaults = {
2750
+ type: 'form',
2751
+ id: 'form',
2752
+ config: { validationVisibility: 'submit' },
2753
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
2754
+ plugins: '$plugins',
2755
+ actions: false,
2756
+ anchorElement: 'form-anchor',
2757
+ useLocalStorage: true,
2758
+ prepop: {
2759
+ fromURL: true
2760
+ },
2761
+ errorCodes: {
2762
+ 403: { message: "An Error Occurred", abort: false },
2763
+ 409: { abort: false },
2764
+ 429: "An Error Occurred",
2765
+ 504: { message: "An Error Occurred", abort: false },
2766
+ },
2767
+ formClass: '!t-max-w-[40rem]'
2768
+ };
2769
+
2770
+ function formProps(updates) {
2771
+ const props = merge(
2772
+ formPropDefaults,
2773
+ updates
2774
+ );
2775
+ if (props.formId && !props.name) {
2776
+ props.name = props.formId;
2777
+ }
2778
+ return props
2779
+ }
2780
+
2781
+ const metaDefaults = {
2782
+ tcpaLanguage: TCPA_LANGUAGE
2783
+ };
2784
+
2785
+ function metaProps(updates) {
2786
+ const data = merge(
2787
+ metaDefaults,
2788
+ updates
2789
+ );
2790
+ return {
2791
+ type: 'meta',
2792
+ data
2793
+ }
2794
+ }
2795
+
2796
+ function defaultMetaProps() {
2797
+ return metaProps({
2798
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
2799
+ commentsPlaceholders: TOLPCommentsPlaceholders,
2800
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
2801
+ finalHeadlines: TOLPFinalHeadlines,
2802
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
2803
+ finalSubHeadlines: TOLPFinalSubHeadlines,
2804
+ })
2805
+ }
2806
+
2807
+ function defaultMetaPropsLegalLegacy() {
2808
+ const meta = defaultMetaProps();
2809
+ meta.data.dynamicSchema = [
2810
+ generalLegalTOLPQuestions(),
2811
+ commentsWithBankruptcy({
2812
+ inputClass: '!t-h-28',
2813
+ }),
2814
+ legalCrossSells(),
2815
+ autoAndCarAccidentCrossSellQuestions(),
2816
+ personalInjuryCrossSellQuestions(),
2817
+ workersCompensationCrossSellQuestions(),
2818
+ duiAndDWICrossSellQuestions(),
2819
+ ssdiCrossSellQuestions(),
2820
+ powerOfAttorneyCrossSellQuestions(),
2821
+ willsAndTrustsCrossSellQuestions(),
2822
+ divorceAndSeparationCrossSellQuestions(),
2823
+ childCustodyCrossSellQuestions(),
2824
+ firstAndLastV2(),
2825
+ ];
2826
+ return meta
2827
+ }
2828
+
2829
+ const dynamicSchemaNode = {
2830
+ $cmp: 'FormKitSchema',
2831
+ if: '$get(Type_Of_Legal_Problem).value',
2832
+ props: {
2833
+ schema: '$meta.dynamicSchema',
2834
+ data: '$buildData($meta)'
2835
+ }
2836
+ };
2837
+
2838
+ const formAnchorDefaults = {
2839
+ $el: 'div',
2840
+ children: [
2841
+ {
2842
+ $el: 'div',
2843
+ attrs: {
2844
+ id: 'form-anchor',
2845
+ class: 't-absolute',
2846
+ style: { top: '-30px', left: 0 }
2847
+ }
2848
+ }
2849
+ ],
2850
+ attrs: {
2851
+ class: 't-relative'
2852
+ }
2853
+ };
2854
+
2855
+ function formAnchor(updates) {
2856
+ return merge(
2857
+ formAnchorDefaults,
2858
+ updates
2859
+ )
2860
+ }
2861
+
2862
+ function headlineDefaults(updates = {}) {
2863
+ return {
2864
+ $el: 'h1',
2865
+ attrs: {
2866
+ 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 || '')
2867
+ }
2868
+ }
2869
+ }
2870
+
2871
+ function headline(updates = {}) {
2872
+ return merge(
2873
+ headlineDefaults(updates),
2874
+ updates
2875
+ )
2876
+ }
2877
+
2878
+ function defaultHeadline() {
2879
+ return headline({
2880
+ children: '$urlParam("hl", "Start Here For a Free Consultation")',
2881
+ if: '$activeStep === $firstStep()'
2882
+ })
3056
2883
  }
3057
2884
 
3058
- function willsAndTrustsCrossSellQuestions(updates = {}) {
3059
- return step(
3060
- 'willsAndTrustsCrossSellQuestions',
3061
- [
3062
- crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
3063
- WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
3064
- comments(
3065
- {
3066
- label: 'Description:',
3067
- placeholder: 'Please describe your situation in a few words...',
3068
- inputClass: '!t-h-16'
3069
- },
3070
- 'CrossSell:Wills_and_Trusts'
3071
- )
3072
- ],
3073
- updates.nextOnEnter
3074
- )
2885
+ function subHeadlineDefaults(updates = {}) {
2886
+ return {
2887
+ $el: 'h3',
2888
+ attrs: {
2889
+ 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 || '')
2890
+ }
2891
+ }
3075
2892
  }
3076
2893
 
3077
- function workersCompensationCrossSellQuestions(updates = {}) {
3078
- return step(
3079
- 'workersCompensationCrossSellQuestions',
3080
- [
3081
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
3082
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
3083
- WorkersCompensationQuestions("true", 'CrossSell:Workers_Compensation'),
3084
- comments(
3085
- {
3086
- label: 'Injury Description:',
3087
- placeholder: 'Please describe your injury in a few words...',
3088
- inputClass: '!t-h-16'
3089
- },
3090
- 'CrossSell:Workers_Compensation'
3091
- )
3092
- ],
3093
- updates.nextOnEnter
2894
+ function subHeadline(updates = {}) {
2895
+ return merge(
2896
+ subHeadlineDefaults(updates),
2897
+ updates
3094
2898
  )
3095
2899
  }
3096
2900
 
3097
- function legalCrossSells(updates = {}) {
3098
- return step(
3099
- 'legalCrossSells',
3100
- [
3101
- legalCrossSellsStepHeadline(updates),
3102
- legalCrossSells$1(),
3103
- ],
3104
- updates.nextOnEnter,
3105
- false,
3106
- // Note: we should probably scope this stepKey to this step name
3107
- '$get(Type_Of_Legal_Problem).value'
2901
+ function defaultSubHeadline() {
2902
+ return subHeadline({
2903
+ children: '$urlParam("shl", "Our Service is Fast and Free!")',
2904
+ if: '$activeStep === $firstStep()'
2905
+ })
2906
+ }
2907
+
2908
+ const hiddenInputsBase = [
2909
+ {
2910
+ $formkit: 'hidden',
2911
+ name: "gclid",
2912
+ value: null
2913
+ },
2914
+ {
2915
+ $formkit: 'hidden',
2916
+ name: "campaignid",
2917
+ value: null
2918
+ },
2919
+ {
2920
+ $formkit: 'hidden',
2921
+ name: "s",
2922
+ value: null
2923
+ }
2924
+ ];
2925
+
2926
+ const hiddenInputsLegal = [
2927
+ {
2928
+ $formkit: 'hidden',
2929
+ name: "vertical",
2930
+ value: "Legal"
2931
+ },
2932
+ {
2933
+ $formkit: 'hidden',
2934
+ name: "TCPA_Language",
2935
+ value: "$meta.tcpaLanguage"
2936
+ },
2937
+ ...hiddenInputsBase
2938
+ ];
2939
+
2940
+ const legalRedirectMapDefaults = {
2941
+ '*': LegalRedirectUrl()
2942
+ };
2943
+
2944
+
2945
+ function legalRedirectMap(updates) {
2946
+ return merge(
2947
+ legalRedirectMapDefaults,
2948
+ updates
3108
2949
  )
3109
2950
  }
3110
2951
 
3111
- const formNavigationV2 = () => ({
3112
- $el: 'div',
3113
- attrs: {
3114
- class: 'step-nav'
2952
+ const legalAllValueOverrideMap = {
2953
+ 'Civil_Defense': {
2954
+ 'Yes': {
2955
+ 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
2956
+ },
2957
+ 'No': {
2958
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
2959
+ }
3115
2960
  },
3116
- children: [
3117
- {
3118
- $formkit: 'button',
3119
- name: 'back_button',
3120
- onClick: '$setPreviousStep($prevStepFunc($get(form)))',
3121
- children: 'Back',
3122
- style: {
3123
- if: '$activeStep === $firstStep()',
3124
- then: 'visibility: hidden;'
3125
- }
2961
+ 'Type_Of_Legal_Problem_Display': {
2962
+ // Accidents and PI
2963
+ 'Auto Accident': {
2964
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2965
+ },
2966
+ 'Dog Bite': {
2967
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2968
+ },
2969
+ 'Slip and Fall': {
2970
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2971
+ },
2972
+ 'Workplace Injury': {
2973
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
2974
+ },
2975
+ 'Trucking Accident': {
2976
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2977
+ },
2978
+ 'Motorcycle Accident': {
2979
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
2980
+ },
2981
+ 'Other Accidents or Injuries': {
2982
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2983
+ },
2984
+ // Civil
2985
+ 'Automobile Accident': {
2986
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2987
+ },
2988
+ 'Contract Disputes': {
2989
+ 'Type_Of_Legal_Problem': 'Business Lawyers'
2990
+ },
2991
+ 'Defamation and Slander': {
2992
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
2993
+ },
2994
+ 'Dog Bite': {
2995
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2996
+ },
2997
+ 'Employment and Workplace': {
2998
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
2999
+ },
3000
+ 'Fraud': {
3001
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
3002
+ },
3003
+ 'Medical Malpractice': {
3004
+ 'Type_Of_Legal_Problem': 'Medical Malpractice'
3005
+ },
3006
+ 'Personal Injury': {
3007
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3008
+ },
3009
+ 'Property Damage': {
3010
+ 'Type_Of_Legal_Problem': 'Property Damage'
3011
+ },
3012
+ 'Small Claims': {
3013
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
3014
+ },
3015
+ 'Real Estate': {
3016
+ 'Type_Of_Legal_Problem': 'Real Estate'
3017
+ },
3018
+ 'Other (describe on next page)': {
3019
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3020
+ },
3021
+ // Contracts
3022
+ 'Contract Creation': {
3023
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3024
+ 'Business_Services': 'Contracts'
3025
+ },
3026
+ 'Contract Enforcement': {
3027
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3028
+ 'Business_Services': 'Contracts'
3029
+ },
3030
+ 'Contract Cancellation': {
3031
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3032
+ 'Business_Services': 'Contracts'
3033
+ },
3034
+ 'Contract Fraud': {
3035
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3036
+ 'Business_Services': 'Contracts'
3037
+ },
3038
+ 'Breach of Contract': {
3039
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3040
+ 'Business_Services': 'Contracts'
3041
+ },
3042
+ 'Other Contract Issues': {
3043
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3044
+ 'Business_Services': 'Contracts'
3045
+ },
3046
+ // Criminal
3047
+ 'Criminal Defense': {
3048
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
3049
+ },
3050
+ 'Victim of a Crime': {
3051
+ 'Type_Of_Legal_Problem': 'Victim of a Crime'
3052
+ },
3053
+ 'DUI and DWI': {
3054
+ 'Type_Of_Legal_Problem': 'DUI and DWI'
3055
+ },
3056
+ 'Expungement': {
3057
+ 'Type_Of_Legal_Problem': 'Expungement'
3058
+ },
3059
+ 'Harassment': {
3060
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
3061
+ },
3062
+ 'Not Sure or Other': {
3063
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3064
+ },
3065
+ // Employment and Workplace
3066
+ 'Workplace Harassment': {
3067
+ 'Type_Of_Legal_Problem': 'Workplace Harassment'
3126
3068
  },
3127
- {
3128
- $formkit: 'button',
3129
- name: 'next_button',
3130
- onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
3131
- children: {
3132
- if: '$activeStep === $firstStep()',
3133
- then: 'Start',
3134
- else: 'Next'
3135
- },
3136
- outerClass: {
3137
- if: '$activeStep === $lastStep()',
3138
- then: 't-hidden',
3139
- else: ''
3140
- },
3141
- style: {
3142
- if: '$activeStep === $lastStep()',
3143
- then: 'display: none;'
3144
- }
3069
+ 'Workplace Discrimination': {
3070
+ 'Type_Of_Legal_Problem': 'Workplace Discrimination'
3145
3071
  },
3146
- {
3147
- $formkit: 'submit',
3148
- name: 'submit_button',
3149
- label: 'Submit',
3150
- if: '$activeStep === $lastStep()',
3151
- style: {
3152
- if: '$activeStep !== $lastStep()',
3153
- then: 'display: none;'
3154
- }
3155
- }
3156
- ]
3157
- });
3158
-
3159
- const formDetails = () => ({
3160
- $el: 'pre',
3161
- if: '$urlParam("fdbg", "") == 1',
3162
- children: [
3163
- {
3164
- $el: 'pre',
3165
- children: '$stringify( $get(form).value )',
3166
- attrs: {
3167
- class: 't-text-xs',
3168
- style: 'overflow: scroll'
3169
- }
3072
+ 'Wrongful Termination': {
3073
+ 'Type_Of_Legal_Problem': 'Wrongful Termination'
3170
3074
  },
3171
- {
3172
- $el: 'pre',
3173
- children: ['activeStep: ', '$activeStep'],
3174
- attrs: {
3175
- class: 't-text-xs',
3176
- style: 'overflow: scroll'
3177
- }
3075
+ 'Payment Disputes': {
3076
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3178
3077
  },
3179
- {
3180
- $el: 'pre',
3181
- children: ['stepHistory: ', '$stepHistory'],
3182
- attrs: {
3183
- class: 't-text-xs',
3184
- style: 'overflow: scroll'
3185
- }
3078
+ 'Workers Compensation': {
3079
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
3186
3080
  },
3187
- {
3188
- $el: 'pre',
3189
- children: ['stepQueue: ', '$stepQueue'],
3190
- attrs: {
3191
- class: 't-text-xs',
3192
- style: 'overflow: scroll'
3193
- }
3081
+ 'Unemployment': {
3082
+ 'Type_Of_Legal_Problem': 'Unemployment'
3194
3083
  },
3195
- {
3196
- $el: 'pre',
3197
- children: ['steps: ', '$stepKeys()'],
3198
- attrs: {
3199
- class: 't-text-xs',
3200
- style: 'overflow: scroll'
3201
- }
3084
+ 'Other Workplace Issues': {
3085
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3086
+ },
3087
+ // Malpractice
3088
+ 'Attorney Malpractice': {
3089
+ 'Type_Of_Legal_Problem': 'Civil Lawsuit'
3090
+ },
3091
+ 'Other Malpractice Issues': {
3092
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3093
+ },
3094
+ // Repossession
3095
+ 'Vehicle Repossession': {
3096
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
3097
+ },
3098
+ 'Property Repossession': {
3099
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
3100
+ },
3101
+ 'Other Repossession Issues': {
3102
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3103
+ },
3104
+ // Real Estate
3105
+ 'Contracts and Agreements': {
3106
+ 'Type_Of_Legal_Problem': 'Real Estate'
3107
+ },
3108
+ 'Deeds, Liens, and Titles': {
3109
+ 'Type_Of_Legal_Problem': 'Real Estate'
3110
+ },
3111
+ 'Foreclosure': {
3112
+ 'Type_Of_Legal_Problem': 'Foreclosure'
3113
+ },
3114
+ 'Insurance': {
3115
+ 'Type_Of_Legal_Problem': 'Insurance'
3116
+ },
3117
+ 'Landlord and Tenant': {
3118
+ 'Type_Of_Legal_Problem': 'Landlord and Tenant',
3119
+ },
3120
+ 'Loans and Mortgages': {
3121
+ 'Type_Of_Legal_Problem': 'Real Estate',
3122
+ },
3123
+ 'Wills, Trusts, and Estates': {
3124
+ 'Type_Of_Legal_Problem': 'Wills and Trusts'
3125
+ },
3126
+ 'Property Damage': {
3127
+ 'Type_Of_Legal_Problem': 'Property Damage'
3128
+ },
3129
+ 'Other Real Estate Issues': {
3130
+ 'Type_Of_Legal_Problem': 'Real Estate'
3202
3131
  }
3132
+ }
3133
+ };
3134
+
3135
+ const TOLPCommentsPlaceholders = {
3136
+ 'Adoption': 'Example: "I need help with adoption forms"',
3137
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
3138
+ '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"',
3139
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
3140
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
3141
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
3142
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
3143
+ 'Child Custody': 'Example: "Need help getting custody"',
3144
+ 'Child Support': 'Example: "Issues with child support payments"',
3145
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
3146
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
3147
+ 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
3148
+ 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
3149
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
3150
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
3151
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
3152
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
3153
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
3154
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
3155
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
3156
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
3157
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
3158
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
3159
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
3160
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
3161
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
3162
+ 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
3163
+ 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
3164
+ 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
3165
+ 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
3166
+ 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
3167
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
3168
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
3169
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
3170
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
3171
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
3172
+ '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"',
3173
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
3174
+ 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
3175
+ 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
3176
+ 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
3177
+ 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
3178
+ 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
3179
+ 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
3180
+ 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
3181
+ '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"',
3182
+ 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
3183
+ 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
3184
+ 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
3185
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
3186
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
3187
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
3188
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
3189
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
3190
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
3191
+ };
3192
+
3193
+ const TOLPFinalHeadlines = {
3194
+ // 'Adoption': '',
3195
+ };
3196
+
3197
+ const TOLPFinalSubHeadlines = {
3198
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
3199
+ // 'Asbestos and Mesothelioma': '',
3200
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
3201
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
3202
+ // 'Birth Certificate and Name Change': '',
3203
+ // 'Business Lawyers': '',
3204
+ // 'Child Custody and Support': '',
3205
+ // 'Civil Rights and Discrimination': '',
3206
+ // 'Civil Lawsuit': '',
3207
+ // 'Consumer Lawyers': '',
3208
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
3209
+ // 'Criminal and Felony': '',
3210
+ // 'Debt and Collections': '',
3211
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
3212
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
3213
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
3214
+ // 'Employment and Workplace': '',
3215
+ // 'Expungement': '',
3216
+ // 'Family Issues': '',
3217
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
3218
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
3219
+ // 'Harassment and Discrimination': '',
3220
+ // 'Identity Theft': '',
3221
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
3222
+ // 'Insurance': '',
3223
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
3224
+ // 'Lemon Law': '',
3225
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
3226
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
3227
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
3228
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
3229
+ // 'Power of Attorney': '',
3230
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
3231
+ // 'Product Liability': '',
3232
+ // 'Property Damage': '',
3233
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
3234
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
3235
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
3236
+ // 'Traffic and Tickets': '',
3237
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
3238
+ // 'Victim of a Crime': '',
3239
+ // 'Wills and Trusts': '',
3240
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
3241
+ // 'Wrongful Death': '',
3242
+ // 'Wrongful Termination': '',
3243
+ // 'Not Sure or Other': ''
3244
+ // 'Sexual Harassment': '',
3245
+ // 'Workplace Harassment': '',
3246
+ // 'Non-Workplace Harassment': '',
3247
+ // 'Workplace Discrimination': '',
3248
+ // 'Non-Workplace Discrimination': '',
3249
+ };
3250
+
3251
+
3252
+ const nextStepsMapLegalLegacy = {
3253
+ '*': [
3254
+ 'TOLPQuestions',
3255
+ 'commentsWithBankruptcy',
3256
+ 'legalCrossSells',
3257
+ 'firstAndLast',
3258
+ 'contactInfo',
3203
3259
  ]
3204
- });
3260
+ };
3205
3261
 
3206
3262
  const schema = [
3207
- defaultMetaProps(),
3263
+ defaultMetaPropsLegalLegacy(),
3208
3264
  formAnchor(),
3209
3265
  {
3210
3266
  $cmp: 'FormKit',
@@ -3223,26 +3279,12 @@ const schema = [
3223
3279
  class: 'form-body'
3224
3280
  },
3225
3281
  children: [
3226
- criminalTOLPAndZip(),
3227
- generalLegalTOLPQuestions(),
3228
- commentsWithBankruptcyV2({
3229
- nextOnEnter: false
3230
- }),
3231
- legalCrossSells(),
3232
- autoAndCarAccidentCrossSellQuestions(),
3233
- personalInjuryCrossSellQuestions(),
3234
- workersCompensationCrossSellQuestions(),
3235
- duiAndDWICrossSellQuestions(),
3236
- ssdiCrossSellQuestions(),
3237
- powerOfAttorneyCrossSellQuestions(),
3238
- willsAndTrustsCrossSellQuestions(),
3239
- divorceAndSeparationCrossSellQuestions(),
3240
- childCustodyCrossSellQuestions(),
3241
- firstAndLastV2(),
3242
- contactInfoV2({
3243
- nextOnEnter: false
3282
+ criminalTOLPAndZip({
3283
+ nextStepMap: nextStepsMapLegalLegacy
3244
3284
  }),
3245
- formNavigationV2(),
3285
+ dynamicSchemaNode,
3286
+ contactInfo(),
3287
+ formNavigation(),
3246
3288
  formDetails()
3247
3289
  ]
3248
3290
  }