bhl-forms 0.6.15 → 0.7.1

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 (97) hide show
  1. package/dist/bhl-forms.es.js +1757 -1759
  2. package/dist/bhl-forms.iife.js +4 -4
  3. package/dist/bhl-forms.modern.es.js +2804 -2811
  4. package/dist/bhl-forms.modern.iife.js +6 -6
  5. package/dist/bhl-forms.modern.umd.js +6 -6
  6. package/dist/bhl-forms.umd.js +4 -4
  7. package/dist/forms/accidentsAndInjuries.es.js +314 -228
  8. package/dist/forms/accidentsAndInjuries.iife.js +1 -1
  9. package/dist/forms/accidentsAndInjuries.json +1 -1
  10. package/dist/forms/appraisals.es.js +16 -7
  11. package/dist/forms/appraisals.iife.js +1 -1
  12. package/dist/forms/business.es.js +317 -236
  13. package/dist/forms/business.iife.js +1 -1
  14. package/dist/forms/business.json +1 -1
  15. package/dist/forms/childAndFamily.es.js +303 -224
  16. package/dist/forms/childAndFamily.iife.js +1 -1
  17. package/dist/forms/childAndFamily.json +1 -1
  18. package/dist/forms/childAndFamilySingle.es.js +643 -555
  19. package/dist/forms/childAndFamilySingle.iife.js +1 -1
  20. package/dist/forms/childAndFamilySingle.json +1 -1
  21. package/dist/forms/civilLawsuit.es.js +637 -551
  22. package/dist/forms/civilLawsuit.iife.js +1 -1
  23. package/dist/forms/civilLawsuit.json +1 -1
  24. package/dist/forms/coins.es.js +16 -7
  25. package/dist/forms/coins.iife.js +1 -1
  26. package/dist/forms/contracts.es.js +307 -227
  27. package/dist/forms/contracts.iife.js +1 -1
  28. package/dist/forms/contracts.json +1 -1
  29. package/dist/forms/criminal.es.js +660 -572
  30. package/dist/forms/criminal.iife.js +1 -1
  31. package/dist/forms/criminal.json +1 -1
  32. package/dist/forms/divorce.es.js +643 -555
  33. package/dist/forms/divorce.iife.js +1 -1
  34. package/dist/forms/divorce.json +1 -1
  35. package/dist/forms/employmentAndWorkplace.es.js +584 -506
  36. package/dist/forms/employmentAndWorkplace.iife.js +1 -1
  37. package/dist/forms/employmentAndWorkplace.json +1 -1
  38. package/dist/forms/generalHomeImprovement.es.js +3015 -0
  39. package/dist/forms/generalHomeImprovement.iife.js +1 -0
  40. package/dist/forms/generalHomeImprovement.json +1 -0
  41. package/dist/forms/generalLegal.es.js +341 -244
  42. package/dist/forms/generalLegal.iife.js +1 -1
  43. package/dist/forms/generalLegal.json +1 -1
  44. package/dist/forms/generalLegalJustAnswer.es.js +4542 -0
  45. package/dist/forms/generalLegalJustAnswer.iife.js +1 -0
  46. package/dist/forms/generalLegalJustAnswer.json +1 -0
  47. package/dist/forms/generalLegalPopUnder.es.js +342 -245
  48. package/dist/forms/generalLegalPopUnder.iife.js +1 -1
  49. package/dist/forms/generalLegalPopUnder.json +1 -1
  50. package/dist/forms/generalLegalPopUnderSingle.es.js +692 -612
  51. package/dist/forms/generalLegalPopUnderSingle.iife.js +1 -1
  52. package/dist/forms/generalLegalPopUnderSingle.json +1 -1
  53. package/dist/forms/generalLegalSingle.es.js +692 -612
  54. package/dist/forms/generalLegalSingle.iife.js +1 -1
  55. package/dist/forms/generalLegalSingle.json +1 -1
  56. package/dist/forms/generalLegalThankYou.es.js +204 -158
  57. package/dist/forms/generalLegalThankYou.iife.js +1 -1
  58. package/dist/forms/generalLegalThankYou.json +1 -1
  59. package/dist/forms/generalLegalThankYouConsultation.es.js +692 -612
  60. package/dist/forms/generalLegalThankYouConsultation.iife.js +1 -1
  61. package/dist/forms/generalLegalThankYouConsultation.json +1 -1
  62. package/dist/forms/harassmentAndDiscrimination.es.js +303 -224
  63. package/dist/forms/harassmentAndDiscrimination.iife.js +1 -1
  64. package/dist/forms/harassmentAndDiscrimination.json +1 -1
  65. package/dist/forms/landlordTenant.es.js +316 -240
  66. package/dist/forms/landlordTenant.iife.js +1 -1
  67. package/dist/forms/landlordTenant.json +1 -1
  68. package/dist/forms/malpractice.es.js +308 -227
  69. package/dist/forms/malpractice.iife.js +1 -1
  70. package/dist/forms/malpractice.json +1 -1
  71. package/dist/forms/mechanics.es.js +184 -166
  72. package/dist/forms/mechanics.iife.js +1 -1
  73. package/dist/forms/mechanics.json +1 -1
  74. package/dist/forms/patentsAndIP.es.js +646 -558
  75. package/dist/forms/patentsAndIP.iife.js +1 -1
  76. package/dist/forms/patentsAndIP.json +1 -1
  77. package/dist/forms/realEstate.es.js +339 -243
  78. package/dist/forms/realEstate.iife.js +1 -1
  79. package/dist/forms/realEstate.json +1 -1
  80. package/dist/forms/repossession.es.js +307 -227
  81. package/dist/forms/repossession.iife.js +1 -1
  82. package/dist/forms/repossession.json +1 -1
  83. package/dist/forms/ssdi.es.js +156 -140
  84. package/dist/forms/ssdi.iife.js +1 -1
  85. package/dist/forms/ssdi.json +1 -1
  86. package/dist/forms/testForm.es.js +69 -51
  87. package/dist/forms/testForm.iife.js +1 -1
  88. package/dist/forms/testForm.json +1 -1
  89. package/dist/forms/testRedirects.es.js +43 -22
  90. package/dist/forms/testRedirects.iife.js +1 -1
  91. package/dist/forms/testRedirects.json +1 -1
  92. package/dist/forms/vets.es.js +16 -7
  93. package/dist/forms/vets.iife.js +1 -1
  94. package/dist/forms/willsAndTrusts.es.js +304 -223
  95. package/dist/forms/willsAndTrusts.iife.js +1 -1
  96. package/dist/forms/willsAndTrusts.json +1 -1
  97. package/package.json +3 -3
@@ -6,14 +6,97 @@ function LegalRedirectUrl() {
6
6
  return 'https://listings.ziplawyer.com/api/v1/redirect?zone_id=4&vertical=Legal&category=${properties.Type_Of_Legal_Problem}&Degree_Of_Interest=${properties.Degree_Of_Interest}&zip_code=${properties.Zip}&sub_id=${properties.vid}'
7
7
  }
8
8
 
9
- var TCPA_LANGUAGE = "By checking this box, I a) agree to the Terms of Use, and b) consent to be contacted by lawyers, lawyer networks, and partners of this website using live, autodialed, pre-recorded, or artificial voice calls, as well as text messages. Your consent is not required as a condition of purchasing any goods or services. To submit this request without this consent, call 878-213-4937.";
10
-
11
- const DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC = '$getKey($meta, "commentsPlaceholders." + $get(Type_Of_Legal_Problem).value, $meta.defaultCommentsPlaceholder)';
12
- const DEFAULT_COMMENTS_LABEL = 'Please briefly describe your legal issue in a few words:';
13
- const DEFAULT_FINAL_HEADLINE = 'Submit Your Case';
14
- const DEFAULT_FINAL_HEADLINE_DYNAMIC = '$getKey($meta, "finalHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalHeadline)';
15
- const DEFAULT_FINAL_SUBHEADLINE = 'You may benefit from speaking with a legal professional. Please verify your contact information.';
16
- const DEFAULT_FINAL_SUBHEADLINE_DYNAMIC = '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
9
+ const DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC_LEGAL = '$getKey($meta, "commentsPlaceholders." + $get(Type_Of_Legal_Problem).value, $meta.defaultCommentsPlaceholder)';
10
+ const DEFAULT_COMMENTS_LABEL_LEGAL = 'Please briefly describe your legal issue in a few words:';
11
+ const DEFAULT_FINAL_HEADLINE_LEGAL = 'Submit Your Case';
12
+ const DEFAULT_FINAL_HEADLINE_DYNAMIC_LEGAL = '$getKey($meta, "finalHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalHeadline)';
13
+ const DEFAULT_FINAL_SUBHEADLINE_LEGAL = 'You may benefit from speaking with a legal professional. Please verify your contact information.';
14
+ const DEFAULT_FINAL_SUBHEADLINE_DYNAMIC_LEGAL = '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
15
+ const TCPA_LANGUAGE_LEGAL = "By checking this box, I a) agree to the Terms of Use, and b) consent to be contacted by lawyers, lawyer networks, and partners of this website using live, autodialed, pre-recorded, or artificial voice calls, as well as text messages. Your consent is not required as a condition of purchasing any goods or services. To submit this request without this consent, call 878-213-4937.";
16
+ const defaultLegalImprovementCrossSells = {
17
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
18
+ 'Personal Injury': 'Personal or Workplace Injury',
19
+ 'DUI and DWI': 'Involved in a DUI/DWI',
20
+ 'Wills and Trusts': 'Need a Will or Trust',
21
+ 'Power of Attorney': 'Update Power of Attorney',
22
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
23
+ };
24
+ const CROSS_SELL_OPTION_MAP_LEGAL = {
25
+ // Values can be a list or a map of value -> display value
26
+ 'Auto and Car Accidents': {
27
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
28
+ 'Wills and Trusts': 'Need a Will or Trust',
29
+ 'Workers Compensation': 'Workplace Injury',
30
+ 'Power of Attorney': 'Update Power of Attorney',
31
+ 'Divorce and Separation': 'Need a Divorce or Separation',
32
+ 'Child Custody': 'Need help with Child Custody',
33
+ },
34
+ "Personal Injury": {
35
+ 'DUI and DWI': 'Involved in a DUI/DWI',
36
+ 'Wills and Trusts': 'Need a Will or Trust',
37
+ 'Power of Attorney': 'Update Power of Attorney',
38
+ 'Divorce and Separation': 'Need a Divorce or Separation',
39
+ 'Child Custody': 'Need help with Child Custody',
40
+ // TODO add one more?
41
+ },
42
+ "Workers Compensation": {
43
+ 'DUI and DWI': 'Involved in a DUI/DWI',
44
+ 'Wills and Trusts': 'Need a Will or Trust',
45
+ 'Power of Attorney': 'Update Power of Attorney',
46
+ 'Divorce and Separation': 'Need a Divorce or Separation',
47
+ 'Child Custody': 'Need help with Child Custody',
48
+ // TODO add one more?
49
+ },
50
+ "DUI and DWI": {
51
+ 'Personal Injury': 'Personal or Workplace Injury',
52
+ 'Wills and Trusts': 'Need a Will or Trust',
53
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
54
+ 'Power of Attorney': 'Update Power of Attorney',
55
+ 'Divorce and Separation': 'Need a Divorce or Separation',
56
+ 'Child Custody': 'Need help with Child Custody',
57
+ },
58
+ "Wills and Trusts": {
59
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
60
+ 'Personal Injury': 'Personal or Workplace Injury',
61
+ 'DUI and DWI': 'Involved in a DUI/DWI',
62
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
63
+ 'Divorce and Separation': 'Need a Divorce or Separation',
64
+ 'Child Custody': 'Need help with Child Custody',
65
+ },
66
+ "Probate and Estates": {
67
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
68
+ 'Personal Injury': 'Personal or Workplace Injury',
69
+ 'DUI and DWI': 'Involved in a DUI/DWI',
70
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
71
+ 'Divorce and Separation': 'Need a Divorce or Separation',
72
+ 'Child Custody': 'Need help with Child Custody',
73
+ },
74
+ "Power of Attorney": {
75
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
76
+ 'Personal Injury': 'Personal or Workplace Injury',
77
+ 'DUI and DWI': 'Involved in a DUI/DWI',
78
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
79
+ 'Divorce and Separation': 'Need a Divorce or Separation',
80
+ 'Child Custody': 'Need help with Child Custody',
81
+ },
82
+ "Long Term Disability": {
83
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
84
+ 'DUI and DWI': 'Involved in a DUI/DWI',
85
+ 'Wills and Trusts': 'Need a Will or Trust',
86
+ 'Power of Attorney': 'Update Power of Attorney',
87
+ 'Divorce and Separation': 'Need a Divorce or Separation',
88
+ 'Child Custody': 'Need help with Child Custody',
89
+ },
90
+ "Social Security Disability and Insurance": {
91
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
92
+ 'DUI and DWI': 'Involved in a DUI/DWI',
93
+ 'Wills and Trusts': 'Need a Will or Trust',
94
+ 'Power of Attorney': 'Update Power of Attorney',
95
+ 'Divorce and Separation': 'Need a Divorce or Separation',
96
+ 'Child Custody': 'Need help with Child Custody',
97
+ },
98
+ '*': defaultLegalImprovementCrossSells,
99
+ };
17
100
 
18
101
  // ------ Common Base Settings
19
102
 
@@ -175,6 +258,14 @@ const sbsText = (updates) => {
175
258
  return text(updates)
176
259
  };
177
260
 
261
+ const verticalText = (updates) => {
262
+ updates.wrapperClass = 't-flex t-justify-center';
263
+ updates.messagesClass = 't-flex t-justify-center';
264
+ updates.inputClass = 't-text-center';
265
+ updates.helpClass = 't-mt-2.5 !t-text-sm t-text-center';
266
+ return text(updates)
267
+ };
268
+
178
269
  const textArea = (updates) => {
179
270
  if (updates.name && !updates.id) {
180
271
  updates.id = updates.name;
@@ -212,20 +303,101 @@ const sbsDate = (updates) => {
212
303
  return date(updates)
213
304
  };
214
305
 
215
- const applicantAge = (scope) => sbsText({
216
- name: scope ? scope + ':' + 'Applicant_Age' : 'Applicant_Age',
217
- label: 'Age of Applicant?',
218
- placeholder: 'Age between 18 and 65',
219
- maxlength: 2,
220
- inputmode: "numeric",
221
- validation: "required|min:18,max:65",
306
+ const email = (scope) => sbsText({
307
+ $formkit: 'email',
308
+ name: scope ? scope + ':' + 'Email' : 'Email',
309
+ label: 'Email Address:',
310
+ placeholder: 'email@domain.com',
311
+ autocomplete: 'email',
312
+ 'data-tf-sensitive': 'false',
313
+ validation: 'required|email',
314
+ validationMessages: {
315
+ required: 'Email is required',
316
+ email: 'Invalid Email'
317
+ }
318
+ });
319
+
320
+ const firstName = (scope) => sbsText({
321
+ label: 'First Name:',
322
+ placeholder: 'First',
323
+ name: scope ? scope + ':' + 'First_Name' : 'First_Name',
324
+ autocomplete: "given-name",
325
+ validationMessages: {
326
+ required: 'First Name is required'
327
+ }
328
+ });
329
+
330
+ const lastName = (scope) => sbsText({
331
+ label: 'Last Name:',
332
+ placeholder: 'Last',
333
+ name: scope ? scope + ':' + 'Last_Name' : 'Last_Name',
334
+ autocomplete: "family-name",
222
335
  validationMessages: {
223
- required: 'Applicant Age is required',
224
- min: 'Invalid Age - must be between 18 and 65',
225
- max: 'Invalid Age - must be between 18 and 65',
336
+ required: 'Last Name is required'
226
337
  }
227
338
  });
228
339
 
340
+ const phone = (scope) => sbsText({
341
+ $formkit: 'tel',
342
+ name: scope ? scope + ':' + 'Primary_Phone' : 'Primary_Phone',
343
+ label: 'Phone Number:',
344
+ placeholder: '###-###-####',
345
+ maxlength: 12,
346
+ help: '10-digit phone number, hyphens optional',
347
+ autocomplete: 'tel-national',
348
+ 'data-tf-sensitive': 'false',
349
+ validation: 'required|matches:/^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$/|valid_phone',
350
+ validationMessages: {
351
+ required: 'Field is required',
352
+ matches: 'Invalid Phone Format, use ###-###-####',
353
+ valid_phone: 'Invalid Phone Number'
354
+ },
355
+ helpClass: "t-mt-2.5 md:t-text-right md:t-mt-[-2px]"
356
+ });
357
+
358
+
359
+ const zipcode$1 = (scope, vertical, updates = {}) => {
360
+ const func = vertical ? verticalText : sbsText;
361
+ const label = vertical ? (updates.label) : 'Zip Code:';
362
+ const help = vertical ? (updates.help ?? "We try to match you with local help") : null;
363
+ return func({
364
+ label,
365
+ help,
366
+ placeholder: '#####',
367
+ name: scope ? scope + ':' + 'Zip' : 'Zip',
368
+ maxlength: 5,
369
+ inputmode: "numeric",
370
+ autocomplete: 'postal-code',
371
+ validation: 'required|matches:/^[0-9]{5}$/',
372
+ validationMessages: {
373
+ required: 'Zip Code is required',
374
+ matches: 'Invalid Zip Code'
375
+ },
376
+ ...updates
377
+ })
378
+ };
379
+
380
+ const applicantAge = (scope, vertical, updates = {}) => {
381
+ const func = vertical ? verticalText : sbsText;
382
+ const label = vertical ? (updates.label) : 'Age of Applicant?';
383
+ const value = vertical ? (updates.value ?? "50") : null;
384
+ return func(merge({
385
+ label,
386
+ placeholder: 'Age between 18 and 65',
387
+ name: scope ? scope + ':' + 'Applicant_Age' : 'Applicant_Age',
388
+ value,
389
+ maxlength: 2,
390
+ inputmode: "numeric",
391
+ validation: "required|min:18,max:65",
392
+ validationMessages: {
393
+ required: 'Applicant Age is required',
394
+ min: 'Invalid Age - must be between 18 and 65',
395
+ max: 'Invalid Age - must be between 18 and 65',
396
+ },
397
+ ...updates
398
+ }))
399
+ };
400
+
229
401
  const atFault = (scope) => sbsYesNoRadio({
230
402
  name: scope ? scope + ':' + 'At_Fault' : 'At_Fault',
231
403
  label: 'Were You at Fault?'
@@ -384,20 +556,6 @@ const doctorTreatment = (scope) => sbsYesNoRadio({
384
556
  label: 'Have You Recently Been Treated by a Doctor, Hospital or Clinic?',
385
557
  });
386
558
 
387
- const email = (scope) => sbsText({
388
- $formkit: 'email',
389
- name: scope ? scope + ':' + 'Email' : 'Email',
390
- label: 'Email Address:',
391
- placeholder: 'email@domain.com',
392
- autocomplete: 'email',
393
- 'data-tf-sensitive': 'false',
394
- validation: 'required|email',
395
- validationMessages: {
396
- required: 'Email is required',
397
- email: 'Invalid Email'
398
- }
399
- });
400
-
401
559
  const estateLegalServicesNeeded = (scope) => sbsSelect({
402
560
  name: scope ? scope + ':' + 'Estate_Legal_Services_Needed' : 'Estate_Legal_Services_Needed',
403
561
  label: "Legal Services Needed for Your Estate:",
@@ -411,17 +569,6 @@ const estateLegalServicesNeeded = (scope) => sbsSelect({
411
569
  ]
412
570
  });
413
571
 
414
- const firstName = (scope) => sbsText({
415
- $formkit: 'text',
416
- label: 'First Name:',
417
- placeholder: 'First',
418
- name: scope ? scope + ':' + 'First_Name' : 'First_Name',
419
- autocomplete: "given-name",
420
- validationMessages: {
421
- required: 'First Name is required'
422
- }
423
- });
424
-
425
572
  const haveAttorney$1 = (scope) => sbsYesNoRadio({
426
573
  name: scope ? scope + ':' + 'Have_Attorney' : 'Have_Attorney',
427
574
  label: 'Already Working with An Attorney?'
@@ -441,17 +588,6 @@ const incidentDate = (scope) => sbsDate({
441
588
  label: 'Date of Incident:',
442
589
  });
443
590
 
444
- const lastName = (scope) => sbsText({
445
- $formkit: 'text',
446
- label: 'Last Name:',
447
- placeholder: 'Last',
448
- name: scope ? scope + ':' + 'Last_Name' : 'Last_Name',
449
- autocomplete: "family-name",
450
- validationMessages: {
451
- required: 'Last Name is required'
452
- }
453
- });
454
-
455
591
  const lawyerPaymentMethod = (scope) => sbsSelect({
456
592
  name: scope ? scope + ':' + 'Lawyer_Payment_Method' : 'Lawyer_Payment_Method',
457
593
  label: 'How Will You Pay for Legal Fees if You Hire a Lawyer?',
@@ -472,69 +608,7 @@ const legalCrossSells$1 = () => col2Checkbox({
472
608
  help: 'Just hit "Next" if none apply',
473
609
  helpClass: 't-text-center !t-text-sm',
474
610
  validation: null,
475
- options: {
476
- if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Auto and Car Accidents"',
477
- then: {
478
- 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
479
- 'Wills and Trusts': 'Need a Will or Trust',
480
- 'Workers Compensation': 'Workplace Injury',
481
- 'Power of Attorney': 'Update Power of Attorney',
482
- 'Divorce and Separation': 'Need a Divorce or Separation',
483
- 'Child Custody': 'Need help with Child Custody',
484
- },
485
- else: {
486
- if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Personal Injury" || $getVal($get(form), "Type_Of_Legal_Problem") === "Workers Compensation"',
487
- then: {
488
- 'DUI and DWI': 'Involved in a DUI/DWI',
489
- 'Wills and Trusts': 'Need a Will or Trust',
490
- 'Power of Attorney': 'Update Power of Attorney',
491
- 'Divorce and Separation': 'Need a Divorce or Separation',
492
- 'Child Custody': 'Need help with Child Custody',
493
- // TODO add one more?
494
- },
495
- else: {
496
- if: '$getVal($get(form), "Type_Of_Legal_Problem") === "DUI and DWI"',
497
- then: {
498
- 'Personal Injury': 'Personal or Workplace Injury',
499
- 'Wills and Trusts': 'Need a Will or Trust',
500
- 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
501
- 'Power of Attorney': 'Update Power of Attorney',
502
- 'Divorce and Separation': 'Need a Divorce or Separation',
503
- 'Child Custody': 'Need help with Child Custody',
504
- },
505
- else: {
506
- 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"',
507
- then: {
508
- 'Auto and Car Accidents': 'Injured in a Car Accident',
509
- 'Personal Injury': 'Personal or Workplace Injury',
510
- 'DUI and DWI': 'Involved in a DUI/DWI',
511
- 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
512
- 'Divorce and Separation': 'Need a Divorce or Separation',
513
- 'Child Custody': 'Need help with Child Custody',
514
- },
515
- else: {
516
- if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Long Term Disability" || $getVal($get(form), "Type_Of_Legal_Problem") === "Social Security Disability and Insurance"',
517
- then: {
518
- 'Auto and Car Accidents': 'Injured in a Car Accident',
519
- 'DUI and DWI': 'Involved in a DUI/DWI',
520
- 'Wills and Trusts': 'Need a Will or Trust',
521
- 'Power of Attorney': 'Update Power of Attorney',
522
- 'Divorce and Separation': 'Need a Divorce or Separation',
523
- 'Child Custody': 'Need help with Child Custody',
524
- },
525
- else: {
526
- 'Auto and Car Accidents': 'Injured in a Car Accident',
527
- 'Personal Injury': 'Personal or Workplace Injury',
528
- 'DUI and DWI': 'Involved in a DUI/DWI',
529
- 'Wills and Trusts': 'Need a Will or Trust',
530
- 'Power of Attorney': 'Update Power of Attorney',
531
- 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
532
- }
533
- }
534
- }
535
- }
536
- }
537
- }
611
+ options: '$getCrossSellOptions($get(form), $getVal($get(form), "Type_Of_Legal_Problem"))',
538
612
  });
539
613
 
540
614
  const maritalStatus = (scope) => sbsSelect({
@@ -603,24 +677,6 @@ const pendingCharges = (scope) => sbsYesNoRadio({
603
677
  label: 'Do you currently have any pending charges?'
604
678
  });
605
679
 
606
- const phone = (scope) => sbsText({
607
- $formkit: 'tel',
608
- name: scope ? scope + ':' + 'Primary_Phone' : 'Primary_Phone',
609
- label: 'Phone Number:',
610
- placeholder: '###-###-####',
611
- maxlength: 12,
612
- help: '10-digit phone number, hyphens optional',
613
- autocomplete: 'tel-national',
614
- 'data-tf-sensitive': 'false',
615
- validation: 'required|matches:/^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$/|valid_phone',
616
- validationMessages: {
617
- required: 'Field is required',
618
- matches: 'Invalid Phone Format, use ###-###-####',
619
- valid_phone: 'Invalid Phone Number'
620
- },
621
- helpClass: "t-mt-2.5 md:t-text-right md:t-mt-[-2px]"
622
- });
623
-
624
680
  const primaryInjury = (scope) => sbs2ColRadio({
625
681
  name: scope ? scope + ':' + 'Primary_Injury' : 'Primary_Injury',
626
682
  label: 'Primary Injury:',
@@ -717,25 +773,6 @@ const valueOfAssets = (scope) => sbsSelect({
717
773
  ]
718
774
  });
719
775
 
720
- const zipcodeCenter = (updates = {}, scope) => text({
721
- placeholder: '#####',
722
- help: updates.help ?? "We try to match you with local legal help",
723
- name: scope ? scope + ':' + 'Zip' : 'Zip',
724
- maxlength: 5,
725
- inputmode: "numeric",
726
- autocomplete: 'postal-code',
727
- validation: 'required|matches:/^[0-9]{5}$/',
728
- validationMessages: {
729
- required: 'Zip Code is required',
730
- matches: 'Invalid Zip Code'
731
- },
732
- wrapperClass: 't-flex t-justify-center',
733
- messagesClass: 't-flex t-justify-center',
734
- inputClass: 't-text-center',
735
- helpClass: 't-mt-2.5 !t-text-sm t-text-center'
736
- });
737
-
738
-
739
776
  // ------ Question Groups
740
777
 
741
778
  // NOTE: name must be unique within a form!
@@ -987,13 +1024,20 @@ function verticalStepSubHeadline(updates) {
987
1024
  function commentsStepHeadline(updates) {
988
1025
  return {
989
1026
  $el: 'h3',
990
- children: updates.headline || 'Additional Case Details',
1027
+ children: updates.headline || 'Additional Details',
991
1028
  attrs: {
992
1029
  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 || '')
993
1030
  }
994
1031
  }
995
1032
  }
996
1033
 
1034
+ function commentsStepHeadlineLegal(updates) {
1035
+ return commentsStepHeadline({
1036
+ headline: updates.headline || 'Additional Case Details',
1037
+ headlineClass: updates.headlineClass
1038
+ })
1039
+ }
1040
+
997
1041
  function firstAndLastStepHeadline(updates) {
998
1042
  return {
999
1043
  $el: 'h3',
@@ -1017,7 +1061,7 @@ function legalCrossSellsStepHeadline(updates) {
1017
1061
  function contactStepHeadline(updates) {
1018
1062
  return {
1019
1063
  $el: 'h3',
1020
- children: updates.headline || DEFAULT_FINAL_HEADLINE_DYNAMIC,
1064
+ children: updates.headline || DEFAULT_FINAL_HEADLINE_DYNAMIC_LEGAL,
1021
1065
  attrs: {
1022
1066
  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 || '')
1023
1067
  }
@@ -1027,7 +1071,7 @@ function contactStepHeadline(updates) {
1027
1071
  function contactStepSubHeadline(updates) {
1028
1072
  return {
1029
1073
  $el: 'h5',
1030
- children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC,
1074
+ children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC_LEGAL,
1031
1075
  attrs: {
1032
1076
  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 || '')
1033
1077
  }
@@ -1067,10 +1111,16 @@ const stepDefaults = (step, stepKey) => ({
1067
1111
  }
1068
1112
  });
1069
1113
 
1070
- function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = undefined, nextStepMap = undefined, autoFocus = undefined) {
1071
- if (typeof nextOnEnter === 'undefined') {
1072
- nextOnEnter = true;
1073
- }
1114
+ function step(name, inputs, updates = {}) {
1115
+ const {
1116
+ nextOnEnter = true,
1117
+ nextOnInput = false,
1118
+ stepKey = undefined,
1119
+ nextStepMap = undefined,
1120
+ triggerRedirectMap = undefined,
1121
+ autoFocus = undefined,
1122
+ } = updates;
1123
+
1074
1124
  if (inputs && inputs.length && (nextOnEnter || nextOnInput)) {
1075
1125
  const lastInput = findLastInput(inputs[inputs.length - 1]);
1076
1126
  if (lastInput && nextOnEnter === true) {
@@ -1090,6 +1140,7 @@ function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = u
1090
1140
  id: name,
1091
1141
  name: name,
1092
1142
  nextStepMap: nextStepMap,
1143
+ triggerRedirectMap: triggerRedirectMap,
1093
1144
  autoFocus: autoFocus,
1094
1145
  children: inputs
1095
1146
  }
@@ -1100,44 +1151,17 @@ function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = u
1100
1151
 
1101
1152
  // Single question step
1102
1153
  function sqstep(name, input, defaultHeadline, updates = {}) {
1154
+ if (typeof updates.nextOnInput === 'undefined') {
1155
+ updates.nextOnInput = true;
1156
+ }
1157
+
1103
1158
  return step(
1104
1159
  name,
1105
1160
  [
1106
1161
  verticalStepHeadline({ headline: updates.headline ?? defaultHeadline, headlineClass: updates.headlineClass }),
1107
1162
  ...Array.isArray(input) ? input : [input],
1108
1163
  ],
1109
- updates.nextOnEnter,
1110
- typeof updates.nextOnInput === 'undefined' ? true : updates.nextOnInput,
1111
- updates.stepKey,
1112
- updates.nextStepMap
1113
- )
1114
- }
1115
-
1116
- function commentsWithBankruptcy(updates = {}) {
1117
- return step(
1118
- 'commentsWithBankruptcy',
1119
- [
1120
- commentsStepHeadline(updates),
1121
- comments({
1122
- label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
1123
- placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1124
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
1125
- }, updates.scope),
1126
- // TODO: needs scope support
1127
- bankruptcyCrossSell(),
1128
- {
1129
- $el: 'div',
1130
- if: '$get(CrossSell_Bankruptcy).value == true',
1131
- children: [
1132
- comments({
1133
- label: 'Bankruptcy or debt details:',
1134
- placeholder: 'Please describe your bankrtupcy or debt situation in a few words...',
1135
- inputClass: '!t-h-16'
1136
- }, 'CrossSell:Bankruptcy')
1137
- ],
1138
- }
1139
- ],
1140
- false // nextOnEnter
1164
+ updates
1141
1165
  )
1142
1166
  }
1143
1167
 
@@ -1153,7 +1177,7 @@ function contactInfo(updates = {}) {
1153
1177
  TCPAConsent(updates.scope),
1154
1178
  secureIcon()
1155
1179
  ],
1156
- false, // nextOnEnter
1180
+ { nextOnEnter: false }
1157
1181
  )
1158
1182
  }
1159
1183
 
@@ -1172,10 +1196,46 @@ function firstAndLastV3(updates = {}, scope) {
1172
1196
  firstName(scope),
1173
1197
  lastName(scope)
1174
1198
  ],
1175
- updates.nextOnEnter
1199
+ updates
1176
1200
  )
1177
1201
  }
1178
1202
 
1203
+ function zipcode(updates = {}) {
1204
+ return sqstep(
1205
+ 'zipcode',
1206
+ zipcode$1(updates.scope, true, updates),
1207
+ 'Please verify your Zip Code',
1208
+ updates
1209
+ )
1210
+ }
1211
+
1212
+ function commentsWithBankruptcy(updates = {}) {
1213
+ return step(
1214
+ 'commentsWithBankruptcy',
1215
+ [
1216
+ commentsStepHeadlineLegal(updates),
1217
+ comments({
1218
+ label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL_LEGAL : updates.label,
1219
+ placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC_LEGAL,
1220
+ inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
1221
+ }, updates.scope),
1222
+ // TODO: needs scope support
1223
+ bankruptcyCrossSell(),
1224
+ {
1225
+ $el: 'div',
1226
+ if: '$get(CrossSell_Bankruptcy).value == true',
1227
+ children: [
1228
+ comments({
1229
+ label: 'Bankruptcy or debt details:',
1230
+ placeholder: 'Please describe your bankrtupcy or debt situation in a few words...',
1231
+ inputClass: '!t-h-16'
1232
+ }, 'CrossSell:Bankruptcy')
1233
+ ],
1234
+ }
1235
+ ],
1236
+ { nextOnEnter: false }
1237
+ )
1238
+ }
1179
1239
 
1180
1240
  function autoAndCarAccidentCrossSellQuestions(updates = {}) {
1181
1241
  return step(
@@ -1193,7 +1253,7 @@ function autoAndCarAccidentCrossSellQuestions(updates = {}) {
1193
1253
  'CrossSell:Auto_and_Car_Accidents'
1194
1254
  )
1195
1255
  ],
1196
- updates.nextOnEnter
1256
+ updates
1197
1257
  )
1198
1258
  }
1199
1259
 
@@ -1212,7 +1272,7 @@ function childCustodyCrossSellQuestions(updates = {}) {
1212
1272
  'CrossSell:Child_Custody'
1213
1273
  )
1214
1274
  ],
1215
- updates.nextOnEnter
1275
+ updates
1216
1276
  )
1217
1277
  }
1218
1278
 
@@ -1231,7 +1291,7 @@ function divorceAndSeparationCrossSellQuestions(updates = {}) {
1231
1291
  'CrossSell:Divorce_and_Separation'
1232
1292
  )
1233
1293
  ],
1234
- updates.nextOnEnter
1294
+ updates
1235
1295
  )
1236
1296
  }
1237
1297
 
@@ -1250,7 +1310,7 @@ function duiAndDWICrossSellQuestions(updates = {}) {
1250
1310
  'CrossSell:DUI_and_DWI'
1251
1311
  )
1252
1312
  ],
1253
- updates.nextOnEnter
1313
+ updates
1254
1314
  )
1255
1315
  }
1256
1316
 
@@ -1270,7 +1330,7 @@ function ssdiCrossSellQuestions(updates = {}) {
1270
1330
  'CrossSell:Social_Security_Disability_and_Insurance'
1271
1331
  )
1272
1332
  ],
1273
- updates.nextOnEnter
1333
+ updates
1274
1334
  )
1275
1335
  }
1276
1336
 
@@ -1290,7 +1350,7 @@ function personalInjuryCrossSellQuestions(updates = {}) {
1290
1350
  'CrossSell:Personal_Injury'
1291
1351
  )
1292
1352
  ],
1293
- updates.nextOnEnter
1353
+ updates
1294
1354
  )
1295
1355
  }
1296
1356
 
@@ -1309,7 +1369,7 @@ function powerOfAttorneyCrossSellQuestions(updates = {}) {
1309
1369
  'CrossSell:Power_of_Attorney'
1310
1370
  )
1311
1371
  ],
1312
- updates.nextOnEnter
1372
+ updates
1313
1373
  )
1314
1374
  }
1315
1375
 
@@ -1328,7 +1388,7 @@ function willsAndTrustsCrossSellQuestions(updates = {}) {
1328
1388
  'CrossSell:Wills_and_Trusts'
1329
1389
  )
1330
1390
  ],
1331
- updates.nextOnEnter
1391
+ updates
1332
1392
  )
1333
1393
  }
1334
1394
 
@@ -1348,29 +1408,19 @@ function workersCompensationCrossSellQuestions(updates = {}) {
1348
1408
  'CrossSell:Workers_Compensation'
1349
1409
  )
1350
1410
  ],
1351
- updates.nextOnEnter
1411
+ updates
1352
1412
  )
1353
1413
  }
1354
1414
 
1355
1415
  function legalCrossSells(updates = {}) {
1416
+ updates.nextOnInput = false;
1417
+ updates.stepKey = '$get(Type_Of_Legal_Problem).value';
1356
1418
  return step(
1357
1419
  'legalCrossSells',
1358
1420
  [
1359
1421
  legalCrossSellsStepHeadline(updates),
1360
1422
  legalCrossSells$1(),
1361
1423
  ],
1362
- updates.nextOnEnter,
1363
- false,
1364
- // Note: we should probably scope this stepKey to this step name
1365
- '$get(Type_Of_Legal_Problem).value'
1366
- )
1367
- }
1368
-
1369
- function zipcode(updates = {}) {
1370
- return sqstep(
1371
- 'zipcode',
1372
- zipcodeCenter(updates, updates.scope),
1373
- 'Please verify your Zip Code',
1374
1424
  updates
1375
1425
  )
1376
1426
  }
@@ -1432,10 +1482,7 @@ function patentsAndIPTOLP(updates = {}) {
1432
1482
  },
1433
1483
  patentsAndIPTOLPDisplayCenter(),
1434
1484
  ],
1435
- updates.nextOnEnter,
1436
- updates.nextOnInput,
1437
- updates.stepKey,
1438
- updates.nextStepMap
1485
+ updates
1439
1486
  )
1440
1487
  }
1441
1488
 
@@ -1596,9 +1643,7 @@ function formProps(updates) {
1596
1643
  return props
1597
1644
  }
1598
1645
 
1599
- const metaDefaults = {
1600
- tcpaLanguage: TCPA_LANGUAGE
1601
- };
1646
+ const metaDefaults = {};
1602
1647
 
1603
1648
  function metaProps(updates) {
1604
1649
  const data = merge(
@@ -1611,7 +1656,7 @@ function metaProps(updates) {
1611
1656
  }
1612
1657
  }
1613
1658
 
1614
- function defaultMetaProps(tolps = null) {
1659
+ function defaultMetaPropsLegal(tolps = null) {
1615
1660
  let commentsPlaceholders = TOLPCommentsPlaceholders;
1616
1661
  let finalHeadlines = TOLPFinalHeadlines;
1617
1662
  let finalSubHeadlines = TOLPFinalSubHeadlines;
@@ -1621,12 +1666,13 @@ function defaultMetaProps(tolps = null) {
1621
1666
  finalSubHeadlines = filterMapByKey(TOLPFinalSubHeadlines, tolps);
1622
1667
  }
1623
1668
  return metaProps({
1624
- defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1669
+ tcpaLanguage: TCPA_LANGUAGE_LEGAL,
1670
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC_LEGAL,
1625
1671
  commentsPlaceholders: commentsPlaceholders,
1626
- defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
1672
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE_LEGAL,
1627
1673
  finalHeadlines: finalHeadlines,
1628
- defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
1629
- finalSubHeadlines: finalSubHeadlines,
1674
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE_LEGAL,
1675
+ finalSubHeadlines: finalSubHeadlines
1630
1676
  })
1631
1677
  }
1632
1678
 
@@ -2195,354 +2241,394 @@ const nextStepsLegalNoHA = [
2195
2241
  ];
2196
2242
 
2197
2243
  const nextStepsMapGeneralLegal = {
2198
- 'Type_Of_Legal_Problem': {
2199
- 'Adoption': [
2200
- 'maritalStatus',
2201
- 'haveChildren',
2202
- ...nextStepsLegalDefaultLPM
2203
- ],
2204
- 'Asbestos and Mesothelioma': [
2205
- 'incidentDate',
2206
- 'doctorTreatment',
2207
- ...nextStepsLegalDefault
2208
- ],
2209
- 'Auto and Car Accidents': [
2210
- 'incidentDate',
2211
- 'atFault',
2212
- 'primaryInjury',
2213
- 'doctorTreatment',
2214
- 'policeReportFiled',
2215
- ...nextStepsLegalNoDOI
2216
- ],
2217
- 'Bankruptcy': [
2218
- 'totalMonthlyIncome',
2219
- 'totalDebt',
2220
- 'ownRealEstate',
2221
- 'valueOfAssets',
2222
- ...nextStepsLegalDefault
2223
- ],
2224
- 'Business Lawyers': [
2225
- 'businessServices',
2226
- 'businessType',
2227
- 'numEmployeesOfBusiness',
2228
- ...nextStepsLegalDefault
2229
- ],
2230
- 'Child Custody': [
2231
- 'childRelationship',
2232
- 'childHome',
2233
- 'childPrimaryCaregiver',
2234
- ...nextStepsLegalDefaultLPM
2235
- ],
2236
- 'Child Support': [
2237
- 'childRelationship',
2238
- 'childHome',
2239
- 'childPrimaryCaregiver',
2240
- ...nextStepsLegalDefaultLPM
2241
- ],
2242
- 'Civil Rights and Discrimination': [
2243
- 'civilRightsType',
2244
- ...nextStepsLegalDefault
2245
- ],
2246
- 'Civil Lawsuit': [
2247
- 'civilDefense',
2248
- 'lawsuitOtherParty',
2249
- ...nextStepsLegalDefault
2250
- ],
2251
- 'File a Lawsuit': [
2252
- 'civilLawsuitTOLPDisplay',
2253
- 'lawsuitOtherParty',
2254
- ...nextStepsLegalDefault
2255
- ],
2256
- 'Defend a Lawsuit': [
2257
- 'lawsuitOtherParty',
2258
- ...nextStepsLegalDefault
2259
- ],
2260
- 'Consumer Lawyers': [
2261
- 'consumerLawyerType',
2262
- 'incidentDate',
2263
- 'lawsuitOtherParty',
2264
- ...nextStepsLegalDefault
2265
- ],
2266
- 'Criminal and Felony': [
2267
- 'criminalTOLPDisplay',
2268
- 'crimeCommittedDate',
2269
- 'roleInMatterCriminal',
2270
- 'pendingCharges',
2271
- ...nextStepsLegalDefaultLPM
2272
- ],
2273
- 'Debt and Collections': [
2274
- 'totalMonthlyIncome',
2275
- 'totalDebt',
2276
- 'ownRealEstate',
2277
- 'valueOfAssets',
2278
- ...nextStepsLegalDefault
2279
- ],
2280
- 'Divorce and Separation': [
2281
- 'maritalStatus',
2282
- 'haveChildren',
2283
- ...nextStepsLegalDefaultLPM
2284
- ],
2285
- 'DUI and DWI': [
2286
- 'incidentDate',
2287
- 'priorAlcoholOffenses',
2288
- 'typeOfAlcoholTest',
2289
- 'bloodContentAlcoholTest',
2290
- 'pendingCharges',
2291
- ...nextStepsLegalDefault
2292
- ],
2293
- 'Employment and Workplace': [
2294
- 'employmentAndWorkplaceTOLPDisplay',
2295
- 'numEmployeesOfBusiness',
2296
- 'employerType',
2297
- 'employeeAtCompany',
2298
- ...nextStepsLegalDefault
2299
- ],
2300
- 'Expungement': [
2301
- 'incidentDate',
2302
- 'criminalChargeType',
2303
- ...nextStepsLegalDefaultLPM
2304
- ],
2305
- 'Family Issues': [
2306
- 'maritalStatus',
2307
- 'haveChildren',
2308
- ...nextStepsLegalDefaultLPM
2309
- ],
2310
- 'Foreclosure': [
2311
- 'ownRealEstate',
2312
- 'typeOfProperty',
2313
- 'amountPaymentsPastDue',
2314
- 'loanAmount',
2315
- 'defaultNotice',
2316
- ...nextStepsLegalDefault
2317
- ],
2318
- 'Guardianship': [
2319
- 'maritalStatus',
2320
- 'haveChildren',
2321
- ...nextStepsLegalDefaultLPM
2322
- ],
2323
- 'Immigration and Visas': [
2324
- 'countryOfCitizenship',
2325
- 'immigrationLocation',
2326
- 'immigrationEntry',
2327
- 'immigrationType',
2328
- 'immigrationStatus',
2329
- 'immigrationDetails',
2330
- ...nextStepsLegalDefault
2331
- ],
2332
- 'Landlord and Tenant': [
2333
- 'landlordTenantIssue',
2334
- 'landlordTenantParty',
2335
- ...nextStepsLegalDefault
2336
- ],
2337
- 'Lemon Law': [
2338
- 'incidentDate',
2339
- 'lawsuitOtherParty',
2340
- ...nextStepsLegalDefault
2341
- ],
2342
- 'Long Term Disability': [
2343
- 'applicantOccupation',
2344
- 'applicantAge',
2345
- 'applicantLTDisabilityPolicy',
2346
- 'applicantDisabilityHowObtain',
2347
- 'applicantPreviouslyAppliedLtdBenefits',
2348
- 'applicantReceivedDisabilityBenefits',
2349
- 'applicantMonthlySalary',
2350
- ...nextStepsLegalNoDOI
2351
- ],
2352
- 'Medical Malpractice': [
2353
- 'incidentDate',
2354
- 'claimStatus',
2355
- 'doctorTreatment',
2356
- 'medicalMalpracticeInjuries',
2357
- ...nextStepsLegalDefault
2358
- ],
2359
- 'Patents and Intellectual Property': [
2360
- 'patentAssistanceType',
2361
- 'patentFor',
2362
- ...nextStepsLegalDefault
2363
- ],
2364
- 'Personal Injury': [
2365
- 'incidentDate',
2366
- 'claimStatus',
2367
- 'atFault',
2368
- 'primaryInjury',
2369
- 'doctorTreatment',
2370
- ...nextStepsLegalNoDOI
2371
- ],
2372
- 'Probate and Estates': [
2373
- 'valueOfAssets',
2374
- 'typeOfAssets',
2375
- 'roleInMatterProbate',
2376
- 'estateLegalServicesNeeded',
2377
- ...nextStepsLegalDefault
2378
- ],
2379
- 'Property Damage': [
2380
- 'realEstateArea',
2381
- 'wouldLikeLawyerTo',
2382
- ...nextStepsLegalDefault
2383
- ],
2384
- 'Real Estate': [
2385
- 'realEstateTOLPDisplay',
2386
- 'realEstateArea',
2387
- 'wouldLikeLawyerTo',
2388
- ...nextStepsLegalDefault
2389
- ],
2390
- 'Social Security Disability and Insurance': [
2391
- 'applicantAge',
2392
- 'disabilityConditionStopWork',
2393
- 'disabilityWorkHistory',
2394
- 'socialSecurityDisabilityReceivingBenefits',
2395
- 'doctorTreatment',
2396
- ...nextStepsLegalNoDOI
2397
- ],
2398
- 'Tax and IRS': [
2399
- 'totalDebt',
2400
- 'taxProblemDetails',
2401
- 'taxLevel',
2402
- 'taxIssueType',
2403
- ...nextStepsLegalDefault
2404
- ],
2405
- 'Traffic and Tickets': [
2406
- 'driversLicenseType',
2407
- 'trafficViolations',
2408
- 'haveCourtDate',
2409
- ...nextStepsLegalDefault
2410
- ],
2411
- 'Unemployment': [
2412
- 'numEmployeesOfBusiness',
2413
- 'employerType',
2414
- ...nextStepsLegalNoHA
2415
- ],
2416
- 'Victim of a Crime': [
2417
- 'crimeCommittedDate',
2418
- 'roleInMatterCriminal',
2419
- 'pendingCharges',
2420
- ...nextStepsLegalDefaultLPM
2421
- ],
2422
- 'Wills and Trusts': [
2423
- 'valueOfAssets',
2424
- 'typeOfAssets',
2425
- 'roleInMatterProbate',
2426
- 'estateLegalServicesNeeded',
2427
- ...nextStepsLegalDefault
2428
- ],
2429
- 'Workers Compensation': [
2430
- 'incidentDate',
2431
- 'claimStatus',
2432
- 'primaryInjury',
2433
- 'causeOfInjury',
2434
- 'doctorTreatment',
2435
- ...nextStepsLegalNoDOI
2436
- ],
2437
- 'Workplace Harassment': [
2438
- 'numEmployeesOfBusiness',
2439
- 'employerType',
2440
- 'employeeAtCompany',
2441
- ...nextStepsLegalDefault
2442
- ],
2443
- 'Workplace Discrimination': [
2444
- 'numEmployeesOfBusiness',
2445
- 'employerType',
2446
- 'employeeAtCompany',
2447
- ...nextStepsLegalDefault
2448
- ],
2449
- 'Wrongful Death': [
2450
- 'incidentDate',
2451
- 'relationshipToVictim',
2452
- 'criminalChargesFiled',
2453
- 'causeOfDeath',
2454
- ...nextStepsLegalNoDOI
2455
- ],
2456
- 'Wrongful Termination': [
2457
- 'numEmployeesOfBusiness',
2458
- 'employerType',
2459
- ...nextStepsLegalDefault
2460
- ],
2461
- },
2462
- '*': nextStepsLegalDefault
2244
+ values: {
2245
+ 'Type_Of_Legal_Problem': {
2246
+ 'Adoption': [
2247
+ 'maritalStatus',
2248
+ 'haveChildren',
2249
+ ...nextStepsLegalDefaultLPM
2250
+ ],
2251
+ 'Asbestos and Mesothelioma': [
2252
+ 'incidentDate',
2253
+ 'doctorTreatment',
2254
+ ...nextStepsLegalDefault
2255
+ ],
2256
+ 'Auto and Car Accidents': [
2257
+ 'incidentDate',
2258
+ 'atFault',
2259
+ 'primaryInjury',
2260
+ 'doctorTreatment',
2261
+ 'policeReportFiled',
2262
+ ...nextStepsLegalNoDOI
2263
+ ],
2264
+ 'Bankruptcy': [
2265
+ 'totalMonthlyIncome',
2266
+ 'totalDebt',
2267
+ 'ownRealEstate',
2268
+ 'valueOfAssets',
2269
+ ...nextStepsLegalDefault
2270
+ ],
2271
+ 'Business Lawyers': [
2272
+ 'businessServices',
2273
+ 'businessType',
2274
+ 'numEmployeesOfBusiness',
2275
+ ...nextStepsLegalDefault
2276
+ ],
2277
+ 'Child Custody': [
2278
+ 'childRelationship',
2279
+ 'childHome',
2280
+ 'childPrimaryCaregiver',
2281
+ ...nextStepsLegalDefaultLPM
2282
+ ],
2283
+ 'Child Support': [
2284
+ 'childRelationship',
2285
+ 'childHome',
2286
+ 'childPrimaryCaregiver',
2287
+ ...nextStepsLegalDefaultLPM
2288
+ ],
2289
+ 'Civil Rights and Discrimination': [
2290
+ 'civilRightsType',
2291
+ ...nextStepsLegalDefault
2292
+ ],
2293
+ 'Civil Lawsuit': [
2294
+ 'civilDefense',
2295
+ 'lawsuitOtherParty',
2296
+ ...nextStepsLegalDefault
2297
+ ],
2298
+ 'File a Lawsuit': [
2299
+ 'civilLawsuitTOLPDisplay',
2300
+ 'lawsuitOtherParty',
2301
+ ...nextStepsLegalDefault
2302
+ ],
2303
+ 'Defend a Lawsuit': [
2304
+ 'lawsuitOtherParty',
2305
+ ...nextStepsLegalDefault
2306
+ ],
2307
+ 'Consumer Lawyers': [
2308
+ 'consumerLawyerType',
2309
+ 'incidentDate',
2310
+ 'lawsuitOtherParty',
2311
+ ...nextStepsLegalDefault
2312
+ ],
2313
+ 'Criminal and Felony': [
2314
+ 'criminalTOLPDisplay',
2315
+ 'crimeCommittedDate',
2316
+ 'roleInMatterCriminal',
2317
+ 'pendingCharges',
2318
+ ...nextStepsLegalDefaultLPM
2319
+ ],
2320
+ 'Debt and Collections': [
2321
+ 'totalMonthlyIncome',
2322
+ 'totalDebt',
2323
+ 'ownRealEstate',
2324
+ 'valueOfAssets',
2325
+ ...nextStepsLegalDefault
2326
+ ],
2327
+ 'Divorce and Separation': [
2328
+ 'maritalStatus',
2329
+ 'haveChildren',
2330
+ ...nextStepsLegalDefaultLPM
2331
+ ],
2332
+ 'DUI and DWI': [
2333
+ 'incidentDate',
2334
+ 'priorAlcoholOffenses',
2335
+ 'typeOfAlcoholTest',
2336
+ 'bloodContentAlcoholTest',
2337
+ 'pendingCharges',
2338
+ ...nextStepsLegalDefault
2339
+ ],
2340
+ 'Employment and Workplace': [
2341
+ 'employmentAndWorkplaceTOLPDisplay',
2342
+ 'numEmployeesOfBusiness',
2343
+ 'employerType',
2344
+ 'employeeAtCompany',
2345
+ ...nextStepsLegalDefault
2346
+ ],
2347
+ 'Expungement': [
2348
+ 'incidentDate',
2349
+ 'criminalChargeType',
2350
+ ...nextStepsLegalDefaultLPM
2351
+ ],
2352
+ 'Family Issues': [
2353
+ 'maritalStatus',
2354
+ 'haveChildren',
2355
+ ...nextStepsLegalDefaultLPM
2356
+ ],
2357
+ 'Foreclosure': [
2358
+ 'ownRealEstate',
2359
+ 'typeOfProperty',
2360
+ 'amountPaymentsPastDue',
2361
+ 'loanAmount',
2362
+ 'defaultNotice',
2363
+ ...nextStepsLegalDefault
2364
+ ],
2365
+ 'Guardianship': [
2366
+ 'maritalStatus',
2367
+ 'haveChildren',
2368
+ ...nextStepsLegalDefaultLPM
2369
+ ],
2370
+ 'Immigration and Visas': [
2371
+ 'countryOfCitizenship',
2372
+ 'immigrationLocation',
2373
+ 'immigrationEntry',
2374
+ 'immigrationType',
2375
+ 'immigrationStatus',
2376
+ 'immigrationDetails',
2377
+ ...nextStepsLegalDefault
2378
+ ],
2379
+ 'Landlord and Tenant': [
2380
+ 'landlordTenantIssue',
2381
+ 'landlordTenantParty',
2382
+ ...nextStepsLegalDefault
2383
+ ],
2384
+ 'Lemon Law': [
2385
+ 'incidentDate',
2386
+ 'lawsuitOtherParty',
2387
+ ...nextStepsLegalDefault
2388
+ ],
2389
+ 'Long Term Disability': [
2390
+ 'applicantOccupation',
2391
+ 'applicantAge',
2392
+ 'applicantLTDisabilityPolicy',
2393
+ 'applicantDisabilityHowObtain',
2394
+ 'applicantPreviouslyAppliedLtdBenefits',
2395
+ 'applicantReceivedDisabilityBenefits',
2396
+ 'applicantMonthlySalary',
2397
+ ...nextStepsLegalNoDOI
2398
+ ],
2399
+ 'Medical Malpractice': [
2400
+ 'incidentDate',
2401
+ 'claimStatus',
2402
+ 'doctorTreatment',
2403
+ 'medicalMalpracticeInjuries',
2404
+ ...nextStepsLegalDefault
2405
+ ],
2406
+ 'Patents and Intellectual Property': [
2407
+ 'patentAssistanceType',
2408
+ 'patentFor',
2409
+ ...nextStepsLegalDefault
2410
+ ],
2411
+ 'Personal Injury': [
2412
+ 'incidentDate',
2413
+ 'claimStatus',
2414
+ 'atFault',
2415
+ 'primaryInjury',
2416
+ 'doctorTreatment',
2417
+ ...nextStepsLegalNoDOI
2418
+ ],
2419
+ 'Probate and Estates': [
2420
+ 'valueOfAssets',
2421
+ 'typeOfAssets',
2422
+ 'roleInMatterProbate',
2423
+ 'estateLegalServicesNeeded',
2424
+ ...nextStepsLegalDefault
2425
+ ],
2426
+ 'Property Damage': [
2427
+ 'realEstateArea',
2428
+ 'wouldLikeLawyerTo',
2429
+ ...nextStepsLegalDefault
2430
+ ],
2431
+ 'Real Estate': [
2432
+ 'realEstateTOLPDisplay',
2433
+ 'realEstateArea',
2434
+ 'wouldLikeLawyerTo',
2435
+ ...nextStepsLegalDefault
2436
+ ],
2437
+ 'Social Security Disability and Insurance': [
2438
+ 'applicantAge',
2439
+ 'disabilityConditionStopWork',
2440
+ 'disabilityWorkHistory',
2441
+ 'socialSecurityDisabilityReceivingBenefits',
2442
+ 'doctorTreatment',
2443
+ ...nextStepsLegalNoDOI
2444
+ ],
2445
+ 'Tax and IRS': [
2446
+ 'totalDebt',
2447
+ 'taxProblemDetails',
2448
+ 'taxLevel',
2449
+ 'taxIssueType',
2450
+ ...nextStepsLegalDefault
2451
+ ],
2452
+ 'Traffic and Tickets': [
2453
+ 'driversLicenseType',
2454
+ 'trafficViolations',
2455
+ 'haveCourtDate',
2456
+ ...nextStepsLegalDefault
2457
+ ],
2458
+ 'Unemployment': [
2459
+ 'numEmployeesOfBusiness',
2460
+ 'employerType',
2461
+ ...nextStepsLegalNoHA
2462
+ ],
2463
+ 'Victim of a Crime': [
2464
+ 'crimeCommittedDate',
2465
+ 'roleInMatterCriminal',
2466
+ 'pendingCharges',
2467
+ ...nextStepsLegalDefaultLPM
2468
+ ],
2469
+ 'Wills and Trusts': [
2470
+ 'valueOfAssets',
2471
+ 'typeOfAssets',
2472
+ 'roleInMatterProbate',
2473
+ 'estateLegalServicesNeeded',
2474
+ ...nextStepsLegalDefault
2475
+ ],
2476
+ 'Workers Compensation': [
2477
+ 'incidentDate',
2478
+ 'claimStatus',
2479
+ 'primaryInjury',
2480
+ 'causeOfInjury',
2481
+ 'doctorTreatment',
2482
+ ...nextStepsLegalNoDOI
2483
+ ],
2484
+ 'Workplace Harassment': [
2485
+ 'numEmployeesOfBusiness',
2486
+ 'employerType',
2487
+ 'employeeAtCompany',
2488
+ ...nextStepsLegalDefault
2489
+ ],
2490
+ 'Workplace Discrimination': [
2491
+ 'numEmployeesOfBusiness',
2492
+ 'employerType',
2493
+ 'employeeAtCompany',
2494
+ ...nextStepsLegalDefault
2495
+ ],
2496
+ 'Wrongful Death': [
2497
+ 'incidentDate',
2498
+ 'relationshipToVictim',
2499
+ 'criminalChargesFiled',
2500
+ 'causeOfDeath',
2501
+ ...nextStepsLegalNoDOI
2502
+ ],
2503
+ 'Wrongful Termination': [
2504
+ 'numEmployeesOfBusiness',
2505
+ 'employerType',
2506
+ ...nextStepsLegalDefault
2507
+ ],
2508
+ },
2509
+ '*': nextStepsLegalDefault
2510
+ }
2463
2511
  };
2464
2512
 
2465
- const TOLPNextSteps = nextStepsMapGeneralLegal["Type_Of_Legal_Problem"];
2513
+ const TOLPNextSteps = nextStepsMapGeneralLegal["values"]["Type_Of_Legal_Problem"];
2466
2514
 
2467
2515
  ({
2468
- 'Civil_Defense': {
2469
- 'Yes': TOLPNextSteps["Defend a Lawsuit"],
2470
- 'No': TOLPNextSteps["File a Lawsuit"],
2471
- },
2472
- '*': [
2473
- 'lawsuitOtherParty',
2474
- ...nextStepsLegalDefault
2475
- ]
2516
+ values: {
2517
+ 'Civil_Defense': {
2518
+ 'Yes': TOLPNextSteps["Defend a Lawsuit"],
2519
+ 'No': TOLPNextSteps["File a Lawsuit"],
2520
+ },
2521
+ '*': [
2522
+ 'lawsuitOtherParty',
2523
+ ...nextStepsLegalDefault
2524
+ ]
2525
+ }
2476
2526
  });
2477
2527
 
2478
2528
  ({
2479
- 'Type_Of_Legal_Problem': {
2480
- 'Defend a Lawsuit': TOLPNextSteps["Defend a Lawsuit"],
2481
- 'File a Lawsuit': TOLPNextSteps["File a Lawsuit"],
2482
- },
2483
- '*': [
2484
- 'lawsuitOtherParty',
2485
- ...nextStepsLegalDefault
2486
- ]
2529
+ values: {
2530
+ 'Type_Of_Legal_Problem': {
2531
+ 'Defend a Lawsuit': TOLPNextSteps["Defend a Lawsuit"],
2532
+ 'File a Lawsuit': TOLPNextSteps["File a Lawsuit"],
2533
+ },
2534
+ '*': [
2535
+ 'lawsuitOtherParty',
2536
+ ...nextStepsLegalDefault
2537
+ ]
2538
+ }
2487
2539
  });
2488
2540
 
2489
2541
  ({
2490
- 'Type_Of_Legal_Problem_Display': {
2491
- 'Automobile Accident': TOLPNextSteps["Auto and Car Accidents"],
2492
- 'Contract Disputes': TOLPNextSteps["Business Lawyers"],
2493
- 'Dog Bite': TOLPNextSteps["Personal Injury"],
2494
- 'Employment and Workplace': TOLPNextSteps["Employment and Workplace"],
2495
- 'Fraud': TOLPNextSteps["Consumer Lawyers"],
2496
- 'Medical Malpractice': TOLPNextSteps["Medical Malpractice"],
2497
- 'Personal Injury': TOLPNextSteps["Personal Injury"],
2498
- 'Property Damage': TOLPNextSteps["Property Damage"],
2499
- 'Real Estate': TOLPNextSteps["Real Estate"],
2500
- 'Not Sure or Other': nextStepsMapGeneralLegal["*"],
2501
- },
2502
- '*': [
2503
- 'lawsuitOtherParty',
2504
- ...nextStepsLegalDefault
2505
- ]
2542
+ values: {
2543
+ 'Type_Of_Legal_Problem_Display': {
2544
+ 'Automobile Accident': TOLPNextSteps["Auto and Car Accidents"],
2545
+ 'Contract Disputes': TOLPNextSteps["Business Lawyers"],
2546
+ 'Dog Bite': TOLPNextSteps["Personal Injury"],
2547
+ 'Employment and Workplace': TOLPNextSteps["Employment and Workplace"],
2548
+ 'Fraud': TOLPNextSteps["Consumer Lawyers"],
2549
+ 'Medical Malpractice': TOLPNextSteps["Medical Malpractice"],
2550
+ 'Personal Injury': TOLPNextSteps["Personal Injury"],
2551
+ 'Property Damage': TOLPNextSteps["Property Damage"],
2552
+ 'Real Estate': TOLPNextSteps["Real Estate"],
2553
+ 'Not Sure or Other': nextStepsMapGeneralLegal["values"]["*"],
2554
+ },
2555
+ '*': [
2556
+ 'lawsuitOtherParty',
2557
+ ...nextStepsLegalDefault
2558
+ ]
2559
+ }
2506
2560
  });
2507
2561
 
2508
2562
  ({
2509
- 'Type_Of_Legal_Problem_Display': {
2510
- 'Wrongful Termination': TOLPNextSteps["Wrongful Termination"],
2511
- 'Workers Compensation': TOLPNextSteps["Workers Compensation"],
2512
- 'Personal Injury': TOLPNextSteps["Personal Injury"],
2513
- 'Unemployment': TOLPNextSteps["Unemployment"],
2514
- },
2515
- '*': [
2516
- 'numEmployeesOfBusiness',
2517
- 'employerType',
2518
- 'employeeAtCompany',
2519
- ...nextStepsLegalDefault
2520
- ]
2563
+ values: {
2564
+ 'Type_Of_Legal_Problem_Display': {
2565
+ 'Wrongful Termination': TOLPNextSteps["Wrongful Termination"],
2566
+ 'Workers Compensation': TOLPNextSteps["Workers Compensation"],
2567
+ 'Personal Injury': TOLPNextSteps["Personal Injury"],
2568
+ 'Unemployment': TOLPNextSteps["Unemployment"],
2569
+ },
2570
+ '*': [
2571
+ 'numEmployeesOfBusiness',
2572
+ 'employerType',
2573
+ 'employeeAtCompany',
2574
+ ...nextStepsLegalDefault
2575
+ ]
2576
+ }
2521
2577
  });
2522
2578
 
2523
2579
  const nextStepsMapPatentsAndIPTOLPDisplay = {
2524
- 'Type_Of_Legal_Problem_Display': {
2525
- 'Patents': TOLPNextSteps["Patents and Intellectual Property"],
2526
- 'Business Lawyers': TOLPNextSteps["Business Lawyers"],
2527
- 'Business Consulting': TOLPNextSteps["Business Lawyers"],
2528
- },
2529
- '*': nextStepsMapGeneralLegal["*"],
2580
+ values: {
2581
+ 'Type_Of_Legal_Problem_Display': {
2582
+ 'Patents': TOLPNextSteps["Patents and Intellectual Property"],
2583
+ 'Business Lawyers': TOLPNextSteps["Business Lawyers"],
2584
+ 'Business Consulting': TOLPNextSteps["Business Lawyers"],
2585
+ },
2586
+ '*': nextStepsMapGeneralLegal["values"]["*"],
2587
+ }
2530
2588
  };
2531
2589
 
2532
2590
  ({
2533
- 'Type_Of_Legal_Problem_Display': {
2534
- 'Foreclosure': TOLPNextSteps["Foreclosure"],
2535
- 'Landlord and Tenant': TOLPNextSteps["Landlord and Tenant"],
2536
- 'Wills, Trusts, and Estates': TOLPNextSteps["Wills and Trusts"],
2537
- 'Property Damage': TOLPNextSteps['Property Damage'],
2538
- },
2539
- '*': [
2540
- 'realEstateArea',
2541
- 'wouldLikeLawyerTo',
2542
- ...nextStepsLegalDefault
2543
- ]
2591
+ values: {
2592
+ 'Type_Of_Legal_Problem_Display': {
2593
+ 'Foreclosure': TOLPNextSteps["Foreclosure"],
2594
+ 'Landlord and Tenant': TOLPNextSteps["Landlord and Tenant"],
2595
+ 'Wills, Trusts, and Estates': TOLPNextSteps["Wills and Trusts"],
2596
+ 'Property Damage': TOLPNextSteps['Property Damage'],
2597
+ },
2598
+ '*': [
2599
+ 'realEstateArea',
2600
+ 'wouldLikeLawyerTo',
2601
+ ...nextStepsLegalDefault
2602
+ ]
2603
+ }
2544
2604
  });
2545
2605
 
2606
+ const nextStepsMapLegalCrossSells = {
2607
+ values: {
2608
+ 'Legal_CrossSells': {
2609
+ 'Auto and Car Accidents': ['autoAndCarAccidentCrossSellQuestions'],
2610
+ 'Personal Injury': ['personalInjuryCrossSellQuestions'],
2611
+ 'Workers Compensation': ['workersCompensationCrossSellQuestions'],
2612
+ 'DUI and DWI': ['duiAndDWICrossSellQuestions'],
2613
+ 'Long Term Disability': ['longTermDisabilityCrossSellQuestions'],
2614
+ 'Social Security Disability and Insurance': ['ssdiCrossSellQuestions'],
2615
+ 'Bankruptcy': ['bankruptcyCrossSellQuestions'],
2616
+ 'Power of Attorney': ['powerOfAttorneyCrossSellQuestions'],
2617
+ 'Wills and Trusts': ['willsAndTrustsCrossSellQuestions'],
2618
+ 'Divorce and Separation': ['divorceAndSeparationCrossSellQuestions'],
2619
+ 'Child Custody': ['childCustodyCrossSellQuestions'],
2620
+ },
2621
+ '*': ['firstAndLast', 'contactInfo'],
2622
+ },
2623
+
2624
+ // NOTE: this assumes a certain placement of the cross sell question
2625
+ // in the form flow.
2626
+ appendSteps: ['firstAndLast', 'contactInfo'],
2627
+ matchesAllowed: 1,
2628
+ };
2629
+
2630
+ const legalCrossSellOptionMap = CROSS_SELL_OPTION_MAP_LEGAL;
2631
+
2546
2632
  const tolps = [
2547
2633
  'Patents and Intellectual Property',
2548
2634
  'Copyrights and Trademarks',
@@ -2550,7 +2636,7 @@ const tolps = [
2550
2636
  'Not Sure or Other'
2551
2637
  ];
2552
2638
 
2553
- const meta = defaultMetaProps(tolps);
2639
+ const meta = defaultMetaPropsLegal(tolps);
2554
2640
 
2555
2641
  meta.data.commentsPlaceholders["Not Sure or Other"] = meta.data.commentsPlaceholders['Patents and Intellectual Property'];
2556
2642
 
@@ -2569,7 +2655,8 @@ meta.data.dynamicSchema = [
2569
2655
  headlineClass: '!t-text-dark',
2570
2656
  }),
2571
2657
  legalCrossSells({
2572
- headlineClass: '!t-text-dark'
2658
+ headlineClass: '!t-text-dark',
2659
+ nextStepMap: nextStepsMapLegalCrossSells,
2573
2660
  }),
2574
2661
  autoAndCarAccidentCrossSellQuestions(),
2575
2662
  personalInjuryCrossSellQuestions(),
@@ -2595,7 +2682,8 @@ const schema = [
2595
2682
  redirectMap: legalRedirectMap(),
2596
2683
  valueOverrideMap: {
2597
2684
  'Type_Of_Legal_Problem_Display': patentsAndIPTOLPDisplayOverrideMap,
2598
- }
2685
+ },
2686
+ crossSellOptionMap: legalCrossSellOptionMap
2599
2687
  }),
2600
2688
  children: [
2601
2689
  progressBar(),