bhl-forms 0.4.4 → 0.4.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 (66) 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 +2 -2
  6. package/dist/forms/accidentsAndInjuries.iife.js +1 -1
  7. package/dist/forms/accidentsAndInjuries.json +1 -1
  8. package/dist/forms/appraisals.es.js +2 -2
  9. package/dist/forms/appraisals.iife.js +1 -1
  10. package/dist/forms/appraisals.json +1 -1
  11. package/dist/forms/childAndFamily.es.js +589 -2
  12. package/dist/forms/childAndFamily.iife.js +1 -1
  13. package/dist/forms/childAndFamily.json +1 -1
  14. package/dist/forms/civilLawsuit.es.js +550 -2
  15. package/dist/forms/civilLawsuit.iife.js +1 -1
  16. package/dist/forms/civilLawsuit.json +1 -1
  17. package/dist/forms/coins.es.js +2 -2
  18. package/dist/forms/coins.iife.js +1 -1
  19. package/dist/forms/coins.json +1 -1
  20. package/dist/forms/contracts.es.js +2 -2
  21. package/dist/forms/contracts.iife.js +1 -1
  22. package/dist/forms/contracts.json +1 -1
  23. package/dist/forms/criminal.es.js +303 -2
  24. package/dist/forms/criminal.iife.js +1 -1
  25. package/dist/forms/criminal.json +1 -1
  26. package/dist/forms/employmentAndWorkplace.es.js +2 -2
  27. package/dist/forms/employmentAndWorkplace.iife.js +1 -1
  28. package/dist/forms/employmentAndWorkplace.json +1 -1
  29. package/dist/forms/generalLegal.es.js +74 -2
  30. package/dist/forms/generalLegal.iife.js +1 -1
  31. package/dist/forms/generalLegal.json +1 -1
  32. package/dist/forms/generalLegalPopUnder.es.js +74 -2
  33. package/dist/forms/generalLegalPopUnder.iife.js +1 -1
  34. package/dist/forms/generalLegalPopUnder.json +1 -1
  35. package/dist/forms/generalLegalPopUnderTF.es.js +2 -2
  36. package/dist/forms/generalLegalPopUnderTF.iife.js +1 -1
  37. package/dist/forms/generalLegalPopUnderTF.json +1 -1
  38. package/dist/forms/generalLegalThankYou.es.js +2 -2
  39. package/dist/forms/generalLegalThankYou.iife.js +1 -1
  40. package/dist/forms/generalLegalThankYou.json +1 -1
  41. package/dist/forms/harassmentAndDiscrimination.es.js +2 -2
  42. package/dist/forms/harassmentAndDiscrimination.iife.js +1 -1
  43. package/dist/forms/harassmentAndDiscrimination.json +1 -1
  44. package/dist/forms/malpractice.es.js +2 -2
  45. package/dist/forms/malpractice.iife.js +1 -1
  46. package/dist/forms/malpractice.json +1 -1
  47. package/dist/forms/mechanics.es.js +2 -2
  48. package/dist/forms/mechanics.iife.js +1 -1
  49. package/dist/forms/mechanics.json +1 -1
  50. package/dist/forms/realEstate.es.js +2 -2
  51. package/dist/forms/realEstate.iife.js +1 -1
  52. package/dist/forms/realEstate.json +1 -1
  53. package/dist/forms/repossession.es.js +2 -2
  54. package/dist/forms/repossession.iife.js +1 -1
  55. package/dist/forms/repossession.json +1 -1
  56. package/dist/forms/ssdi.es.js +2 -2
  57. package/dist/forms/ssdi.iife.js +1 -1
  58. package/dist/forms/ssdi.json +1 -1
  59. package/dist/forms/vets.es.js +2 -2
  60. package/dist/forms/vets.iife.js +1 -1
  61. package/dist/forms/vets.json +1 -1
  62. package/dist/forms/willsAndTrusts.es.js +2 -2
  63. package/dist/forms/willsAndTrusts.iife.js +1 -1
  64. package/dist/forms/willsAndTrusts.json +1 -1
  65. package/dist/main.css +1 -1
  66. package/package.json +1 -1
@@ -350,6 +350,17 @@ const sbsCheckbox = (updates) => {
350
350
  return checkbox(updates)
351
351
  };
352
352
 
353
+ const col2Checkbox = (updates) => {
354
+ if (!updates || !updates.legendClass) {
355
+ updates.legendClass = 'required';
356
+ }
357
+ updates.fieldsetClass = '$reset';
358
+ updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
359
+ updates.innerClass = 't-items-start';
360
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
361
+ return checkbox(updates)
362
+ };
363
+
353
364
  const radio = (updates) => {
354
365
  return merge({
355
366
  $formkit: 'radio',
@@ -371,6 +382,24 @@ const col2Radio = (updates) => {
371
382
  return radio(updates)
372
383
  };
373
384
 
385
+ const sbsRadio = (updates) => {
386
+ updates.legendClass = 'legend-left required';
387
+ updates.fieldsetClass = '$reset side-by-side';
388
+ updates.optionsClass = 't-pl-1';
389
+ updates.innerClass = 't-flex t-items-center';
390
+ updates.wrapperClass = 't-mb-3';
391
+ return radio(updates)
392
+ };
393
+
394
+ const sbs2ColRadio = (updates) => {
395
+ updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
396
+ updates.fieldsetClass = '$reset side-by-side-flex';
397
+ updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
398
+ updates.innerClass = 't-flex t-items-start';
399
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
400
+ return radio(updates)
401
+ };
402
+
374
403
  const sbs2ItemRadio = (updates) => {
375
404
  updates.legendClass = 'legend-left t-pb-1 required';
376
405
  updates.fieldsetClass = '$reset side-by-side t-items-center';
@@ -436,6 +465,102 @@ const textArea = (updates) => {
436
465
  }, updates)
437
466
  };
438
467
 
468
+ const date = (updates) => {
469
+ return merge({
470
+ $formkit: 'DatePicker',
471
+ validation: 'required',
472
+ validationMessages: {
473
+ required: 'Field is required'
474
+ },
475
+ labelClass: 'required t-block t-mb-3 t-font-semibold t-text-base formkit-invalid:t-text-red-500',
476
+ innerClass: 't-border t-border-gray-400 formkit-invalid:t-border-red-500 t-rounded t-mb-1 focus-within:t-border-blue-500'
477
+ }, updates)
478
+ };
479
+
480
+ const sbsDate = (updates) => {
481
+ updates.wrapperClass = 'side-by-side t-items-center';
482
+ return date(updates)
483
+ };
484
+
485
+ const applicantOccupation = (scope) => sbsText({
486
+ name: scope ? scope + ':' + 'Applicant_Occupation' : 'Applicant_Occupation',
487
+ label: "What is the Applicant's Occupation?",
488
+ placeholder: "Occupation"
489
+ });
490
+
491
+
492
+ const applicantAge = (scope) => sbsText({
493
+ name: scope ? scope + ':' + 'Applicant_Age' : 'Applicant_Age',
494
+ label: 'Age of Applicant?',
495
+ placeholder: 'Age between 18 and 65',
496
+ maxlength: 2,
497
+ inputmode: "numeric",
498
+ validation: "required|min:18,max:65",
499
+ validationMessages: {
500
+ required: 'Applicant Age is required',
501
+ min: 'Invalid Age - must be between 18 and 65',
502
+ max: 'Invalid Age - must be between 18 and 65',
503
+ }
504
+ });
505
+
506
+ const applicantDisabilityHowObtain = (scope) => sbsSelect({
507
+ name: scope ? scope + ':' + 'Applicant_Disability_How_Obtain' : 'Applicant_Disability_How_Obtain',
508
+ label: 'How Did Applicant Obtain the Disability Policy?',
509
+ options: [
510
+ "Employer",
511
+ "Self",
512
+ "Other"
513
+ ]
514
+ });
515
+
516
+ const applicantPreviouslyAppliedLtdBenefits = (scope) => sbsRadio({
517
+ name: scope ? scope + ':' + 'Applicant_Previously_Apply_Ltd_Benefits' : 'Applicant_Previously_Apply_Ltd_Benefits',
518
+ label: 'Has Applicant Previously Applied for Long Term Disability Benefits?',
519
+ options: [
520
+ "Yes, claim pending",
521
+ "Yes, claim denied",
522
+ "No"
523
+ ]
524
+ });
525
+
526
+ const applicantMonthlySalary = (scope) => sbsSelect({
527
+ name: scope ? scope + ':' + 'Applicant_Monthly_Salary' : 'Applicant_Monthly_Salary',
528
+ label: "Applicant's Monthly Salary/Pay When Last at Work:",
529
+ options: [
530
+ "< $1,000",
531
+ "$1,000 - $2,000",
532
+ "$2,000 - $3,000",
533
+ "$3,000 - $4,000",
534
+ "$4,000 - $5,000",
535
+ "$5,000 - $6,000",
536
+ "$6,000 - $7,000",
537
+ "$7,000 - $8,000",
538
+ "$8,000 - $9,000",
539
+ "$9,000 - $10,000",
540
+ ">$10,000"
541
+ ]
542
+ });
543
+
544
+ const applicantReceivedDisabilityBenefits = (scope) => sbsRadio({
545
+ name: scope ? scope + ':' + 'Applicant_Received_Disability_Benefits' : 'Applicant_Received_Disability_Benefits',
546
+ label: 'Has Applicant Ever Received Long Term Disability Benefits for this Claim?',
547
+ options: [
548
+ "Yes, currently receiving",
549
+ "Yes, appealing a decision to stop payment of benefits",
550
+ "No"
551
+ ]
552
+ });
553
+
554
+ const applicantLTDisabilityPolicy = (scope) => sbsYesNoRadio({
555
+ name: scope ? scope + ':' + 'Applicant_Lt_Disability_Policy' : 'Applicant_Lt_Disability_Policy',
556
+ label: 'Does Applicant have a Long Term Disability Policy?'
557
+ });
558
+
559
+ const atFault = (scope) => sbsYesNoRadio({
560
+ name: scope ? scope + ':' + 'At_Fault' : 'At_Fault',
561
+ label: 'Were You at Fault?'
562
+ });
563
+
439
564
  const bankruptcyCrossSell = () => sbsCheckbox({
440
565
  label: "I'd also like a separate consultation for bankruptcy and debt elimination",
441
566
  help: "Please note: you will be contacted separately by a bankruptcy expert",
@@ -445,6 +570,21 @@ const bankruptcyCrossSell = () => sbsCheckbox({
445
570
  helpClass: "!t-text-sm"
446
571
  });
447
572
 
573
+ const bloodContentAlcholTest = (scope) => sbsSelect({
574
+ name: scope ? scope + ':' + 'Blood_Alcohol_Content_Test' : 'Blood_Alcohol_Content_Test',
575
+ label: 'Blood Alcohol Content Measured by Test:',
576
+ options: [
577
+ "No Test",
578
+ "0.00% - 0.04%",
579
+ "0.05% - 0.08%",
580
+ "0.09% - 0.12%",
581
+ "0.13% - 0.16%",
582
+ "0.17% - 0.20%",
583
+ "More than 0.20%",
584
+ "Don't know"
585
+ ]
586
+ });
587
+
448
588
  const childAndFamilyTOLP = () => col2Radio({
449
589
  label: 'Type of Help Needed:',
450
590
  name: 'Type_Of_Legal_Problem',
@@ -493,10 +633,21 @@ const childRelationship = (scope) => sbsSelect({
493
633
  ]
494
634
  });
495
635
 
496
- const comments = (updates) => textArea(
636
+ const claimStatus = (scope) => sbsSelect({
637
+ name: scope ? scope + ':' + 'Claim_Status' : 'Claim_Status',
638
+ label: "Status of Claim:",
639
+ options: [
640
+ "No action taken yet",
641
+ "Demand for compensation made",
642
+ "Lawsuit filed",
643
+ "Other"
644
+ ]
645
+ });
646
+
647
+ const comments = (updates, scope) => textArea(
497
648
  merge({
649
+ name: scope ? scope + ':' + 'Comments' : 'Comments',
498
650
  label: 'Please briefly describe your situation in a few words:',
499
- name: 'Comments',
500
651
  placeholder: 'For Example: "I would like help with child support payments" or "I need help with visitation rights"'
501
652
  }, updates)
502
653
  );
@@ -516,6 +667,11 @@ const degreeOfInterest = (scope, help) => sbsSelect({
516
667
 
517
668
  const degreeOfInterestHelp = (scope) => degreeOfInterest(scope, 'No payment necessary to speak with lawyers.');
518
669
 
670
+ const doctorTreatment = (scope) => sbsYesNoRadio({
671
+ name: scope ? scope + ':' + 'Doctor_Treatment' : 'Doctor_Treatment',
672
+ label: 'Have You Recently Been Treated by a Doctor, Hospital or Clinic?',
673
+ });
674
+
519
675
  const email = () => sbsText({
520
676
  $formkit: 'email',
521
677
  name: 'Email',
@@ -530,6 +686,19 @@ const email = () => sbsText({
530
686
  }
531
687
  });
532
688
 
689
+ const estateLegalServicesNeeded = (scope) => sbsSelect({
690
+ name: scope ? scope + ':' + 'Estate_Legal_Services_Needed' : 'Estate_Legal_Services_Needed',
691
+ label: "Legal Services Needed for Your Estate:",
692
+ options: [
693
+ "Charitable Giving",
694
+ "Contested Wills",
695
+ "Drafting Wills or Trust",
696
+ "Estate Administration",
697
+ "Asset Protection",
698
+ "Other"
699
+ ]
700
+ });
701
+
533
702
  const firstName = () => sbsText({
534
703
  $formkit: 'text',
535
704
  label: 'First Name:',
@@ -550,6 +719,11 @@ const haveChildren = (scope) => sbsYesNoRadio({
550
719
  label: 'Do You Have Children?'
551
720
  });
552
721
 
722
+ const incidentDate = (scope) => sbsDate({
723
+ name: scope ? scope + ':' + 'Incident_Date' : 'Incident_Date',
724
+ label: 'Date of Incident:',
725
+ });
726
+
553
727
  const lastName = () => sbsText({
554
728
  $formkit: 'text',
555
729
  label: 'Last Name:',
@@ -574,6 +748,78 @@ const lawyerPaymentMethod = (scope) => sbsSelect({
574
748
  ]
575
749
  });
576
750
 
751
+
752
+ const legalCrossSells$1 = () => col2Checkbox({
753
+ id: 'Legal_CrossSells',
754
+ name: 'Legal_CrossSells',
755
+ help: 'Note: just hit "Next" if none apply',
756
+ helpClass: 't-text-center !t-text-sm',
757
+ validation: null,
758
+ options: {
759
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Auto and Car Accidents"',
760
+ then: {
761
+ 'Long Term Disability': 'Interest in Disability Benefits',
762
+ 'Wills and Trusts': 'Need a Will or Trust',
763
+ 'Workers Compensation': 'Workplace Injury',
764
+ 'Power of Attorney': 'Update Power of Attorney',
765
+ 'Divorce and Separation': 'Need a Divorce or Separation',
766
+ 'Child Custody': 'Need help with Child Custody',
767
+ },
768
+ else: {
769
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Personal Injury" || $getVal($get(form), "Type_Of_Legal_Problem") === "Workers Compensation"',
770
+ then: {
771
+ 'DUI and DWI': 'Charged with a DUI/DWI',
772
+ 'Wills and Trusts': 'Need a Will or Trust',
773
+ 'Power of Attorney': 'Update Power of Attorney',
774
+ 'Divorce and Separation': 'Need a Divorce or Separation',
775
+ 'Child Custody': 'Need help with Child Custody',
776
+ // TODO add one more?
777
+ },
778
+ else: {
779
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "DUI and DWI"',
780
+ then: {
781
+ 'Personal Injury': 'Personal or Workplace Injury',
782
+ 'Wills and Trusts': 'Need a Will or Trust',
783
+ 'Long Term Disability': 'Interest in Disability Benefits',
784
+ 'Power of Attorney': 'Update Power of Attorney',
785
+ 'Divorce and Separation': 'Need a Divorce or Separation',
786
+ 'Child Custody': 'Need help with Child Custody',
787
+ },
788
+ else: {
789
+ 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"',
790
+ then: {
791
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
792
+ 'Personal Injury': 'Personal or Workplace Injury',
793
+ 'DUI and DWI': 'Charged with a DUI/DWI',
794
+ 'Long Term Disability': 'Interest in Disability Benefits',
795
+ 'Divorce and Separation': 'Need a Divorce or Separation',
796
+ 'Child Custody': 'Need help with Child Custody',
797
+ },
798
+ else: {
799
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Long Term Disability" || $getVal($get(form), "Type_Of_Legal_Problem") === "Social Security Disability and Insurance"',
800
+ then: {
801
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
802
+ 'DUI and DWI': 'Charged with a DUI/DWI',
803
+ 'Wills and Trusts': 'Need a Will or Trust',
804
+ 'Power of Attorney': 'Update Power of Attorney',
805
+ 'Divorce and Separation': 'Need a Divorce or Separation',
806
+ 'Child Custody': 'Need help with Child Custody',
807
+ },
808
+ else: {
809
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
810
+ 'Personal Injury': 'Personal or Workplace Injury',
811
+ 'DUI and DWI': 'Charged with a DUI/DWI',
812
+ 'Wills and Trusts': 'Need a Will or Trust',
813
+ 'Power of Attorney': 'Update Power of Attorney',
814
+ 'Long Term Disability': 'Interest in Disability Benefits',
815
+ }
816
+ }
817
+ }
818
+ }
819
+ }
820
+ }
821
+ });
822
+
577
823
  const maritalStatus = (scope) => sbsSelect({
578
824
  name: scope ? scope + ':' + 'Marital_Status' : 'Marital_Status',
579
825
  label: 'Marital Status:',
@@ -587,6 +833,11 @@ const maritalStatus = (scope) => sbsSelect({
587
833
  ]
588
834
  });
589
835
 
836
+ const pendingCharges = (scope) => sbsYesNoRadio({
837
+ name: scope ? scope + ':' + 'Pending_Charges' : 'Pending_Charges',
838
+ label: 'Do you currently have any pending charges?'
839
+ });
840
+
590
841
  const phone = () => sbsText({
591
842
  $formkit: 'tel',
592
843
  name: 'Primary_Phone',
@@ -605,6 +856,42 @@ const phone = () => sbsText({
605
856
  helpClass: "t-mt-2.5 md:t-text-right md:t-mt-[-2px]"
606
857
  });
607
858
 
859
+ const primaryInjury = (scope) => sbs2ColRadio({
860
+ name: scope ? scope + ':' + 'Primary_Injury' : 'Primary_Injury',
861
+ label: 'Primary Injury:',
862
+ options: [
863
+ "Anxiety",
864
+ "Back or Neck Pain",
865
+ "Broken Bones",
866
+ "Cuts and Bruises",
867
+ "Headaches",
868
+ "Memory Loss",
869
+ "Loss of Limb",
870
+ "Other (describe on next page)"
871
+ ]
872
+ });
873
+
874
+ const priorAlcoholOffenses = (scope) => sbsYesNoRadio({
875
+ name: scope ? scope + ':' + 'Prior_Alcohol_Offenses' : 'Prior_Alcohol_Offenses',
876
+ label: 'Any Prior Alcohol Related Offenses?'
877
+ });
878
+
879
+ const policeReportFiled = (scope) => sbsYesNoRadio({
880
+ name: scope ? scope + ':' + 'Police_Report_Filed' : 'Police_Report_Filed',
881
+ label: 'Was a Police Report Filed?'
882
+ });
883
+
884
+ const roleInMatterProbate = (scope) => sbsSelect({
885
+ name: scope ? scope + ':' + 'Role_In_Matter_Probate' : 'Role_In_Matter_Probate',
886
+ label: "What Is Your Role in this Matter?",
887
+ options: [
888
+ "Preparing My Will",
889
+ "Executor",
890
+ "Heir",
891
+ "Other"
892
+ ]
893
+ });
894
+
608
895
  const TCPAConsent = () => ({
609
896
  $formkit: 'checkbox',
610
897
  label: '$meta.tcpaLanguage',
@@ -620,6 +907,46 @@ const TCPAConsent = () => ({
620
907
  }
621
908
  });
622
909
 
910
+ const typeOfAlcoholTest = (scope) => sbsSelect({
911
+ name: scope ? scope + ':' + 'Type_Of_Alcohol_Test' : 'Type_Of_Alcohol_Test',
912
+ label: 'Type of Alcohol Test Performed?',
913
+ options: [
914
+ "No Test",
915
+ "Refused Test",
916
+ "Breath Test",
917
+ "Blood Test",
918
+ "Urine Test",
919
+ "Don't Know"
920
+ ]
921
+ });
922
+
923
+ const typeOfAssets = (scope) => col2Checkbox({
924
+ name: scope ? scope + ':' + 'Type_Of_Assets' : 'Type_Of_Assets',
925
+ label: 'Type of Assets:',
926
+ options: [
927
+ "Business Interests",
928
+ "Cash",
929
+ "Life Insurance Policies",
930
+ "Pensions/Retirement",
931
+ "Personal Possessions",
932
+ "Property",
933
+ "Stock/Bonds"
934
+ ]
935
+ });
936
+
937
+ const valueOfAssets = (scope) => sbsSelect({
938
+ name: scope ? scope + ':' + 'Value_Of_Assets' : 'Value_Of_Assets',
939
+ label: 'Value of Your Assets?',
940
+ options: [
941
+ "Less than 50K",
942
+ "50K to 100K",
943
+ "100K to 250K",
944
+ "250K to 500K",
945
+ "500K to 1M",
946
+ "More than 1M"
947
+ ]
948
+ });
949
+
623
950
  const zipcode = () => sbsText({
624
951
  label: 'Zip Code:',
625
952
  placeholder: '#####',
@@ -664,6 +991,21 @@ const AdoptionQuestions = () => group(
664
991
  }
665
992
  );
666
993
 
994
+ const AutoAndCarAccidentsQuestions = (condition, scope) => group(
995
+ 'AutoAndCarAccidentsQuestions',
996
+ {
997
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Auto and Car Accidents"'),
998
+ children: [
999
+ haveAttorney(scope),
1000
+ incidentDate(scope),
1001
+ atFault(scope),
1002
+ primaryInjury(scope),
1003
+ doctorTreatment(scope),
1004
+ policeReportFiled(scope)
1005
+ ]
1006
+ }
1007
+ );
1008
+
667
1009
  const ChildCustodyAndSupportQuestions = (condition, scope) => group(
668
1010
  'ChildCustodyAndSupportQuestions',
669
1011
  {
@@ -723,6 +1065,22 @@ const DivorceQuestions = (condition, scope) => group(
723
1065
  }
724
1066
  );
725
1067
 
1068
+ const DUIAndDWIQuestions = (condition, scope) => group(
1069
+ 'DUIAndDWIQuestions',
1070
+ {
1071
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "DUI and DWI"'),
1072
+ children: [
1073
+ haveAttorney(scope),
1074
+ incidentDate(scope),
1075
+ priorAlcoholOffenses(scope),
1076
+ typeOfAlcoholTest(scope),
1077
+ bloodContentAlcholTest(scope),
1078
+ pendingCharges(scope),
1079
+ degreeOfInterestHelp(scope)
1080
+ ]
1081
+ }
1082
+ );
1083
+
726
1084
  const FamilyIssuesQuestions = () => group(
727
1085
  'FamilyIssuesQuestions',
728
1086
  {
@@ -751,6 +1109,64 @@ const GuardianshipQuestions = () => group(
751
1109
  }
752
1110
  );
753
1111
 
1112
+ const LongTermDisabilityQuestions = (condition, scope) => group(
1113
+ 'LongTermDisabilityQuestions',
1114
+ {
1115
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Long Term Disability"'),
1116
+ children: [
1117
+ haveAttorney(scope),
1118
+ applicantOccupation(scope),
1119
+ applicantAge(scope),
1120
+ applicantLTDisabilityPolicy(scope),
1121
+ applicantDisabilityHowObtain(scope),
1122
+ applicantPreviouslyAppliedLtdBenefits(scope),
1123
+ applicantReceivedDisabilityBenefits(scope),
1124
+ applicantMonthlySalary(scope)
1125
+ ]
1126
+ }
1127
+ );
1128
+
1129
+ const PersonalInjuryQuestions = (condition, scope) => group(
1130
+ 'PersonalInjuryQuestions',
1131
+ {
1132
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Personal Injury"'),
1133
+ children: [
1134
+ haveAttorney(scope),
1135
+ incidentDate(scope),
1136
+ claimStatus(scope),
1137
+ atFault(scope),
1138
+ primaryInjury(scope),
1139
+ doctorTreatment(scope)
1140
+ ]
1141
+ }
1142
+ );
1143
+
1144
+ const PowerofAttorneyQuestions = (condition, scope) => group(
1145
+ 'PowerofAttorneyQuestions',
1146
+ {
1147
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Power of Attorney"'),
1148
+ children: [
1149
+ haveAttorney(scope),
1150
+ degreeOfInterestHelp(scope)
1151
+ ]
1152
+ }
1153
+ );
1154
+
1155
+ const WillsAndTrustsQuestions = (condition, scope) => group(
1156
+ 'WillsAndTrustsQuestions',
1157
+ {
1158
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Wills and Trusts"'),
1159
+ children: [
1160
+ haveAttorney(scope),
1161
+ valueOfAssets(scope),
1162
+ typeOfAssets(scope),
1163
+ roleInMatterProbate(scope),
1164
+ estateLegalServicesNeeded(scope),
1165
+ degreeOfInterestHelp(scope)
1166
+ ]
1167
+ }
1168
+ );
1169
+
754
1170
  const NotSureOrOtherQuestions = () => group(
755
1171
  'NotSureOrOtherQuestions',
756
1172
  {
@@ -797,6 +1213,26 @@ function questionsStepHeadline(updates) {
797
1213
  }
798
1214
  }
799
1215
 
1216
+ function crossSellQuestionsStepHeadline(updates) {
1217
+ return {
1218
+ $el: 'h3',
1219
+ children: updates.headline || 'Tell Us About Your Situation',
1220
+ attrs: {
1221
+ 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'
1222
+ }
1223
+ }
1224
+ }
1225
+
1226
+ function crossSellQuestionsStepSubHeadline(updates) {
1227
+ return {
1228
+ $el: 'h5',
1229
+ children: updates.subheadline || 'Tell us about your situation:',
1230
+ attrs: {
1231
+ class: 't-flex t-justify-center t-text-dark t-text-center !t-text-lg t-font-semibold t-pb-4 t-pt-0 t-px-3'
1232
+ }
1233
+ }
1234
+ }
1235
+
800
1236
 
801
1237
  function commentsStepHeadline(updates) {
802
1238
  return {
@@ -818,6 +1254,16 @@ function firstAndLastStepHeadline(updates) {
818
1254
  }
819
1255
  }
820
1256
 
1257
+ function legalCrossSellsStepHeadline(updates) {
1258
+ return {
1259
+ $el: 'h3',
1260
+ children: updates.headline || 'Do any of the following situations apply?',
1261
+ attrs: {
1262
+ 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 || '')
1263
+ }
1264
+ }
1265
+ }
1266
+
821
1267
  function contactStepHeadline(updates) {
822
1268
  return {
823
1269
  $el: 'h3',
@@ -957,6 +1403,124 @@ function firstAndLastV2(updates = {}) {
957
1403
  )
958
1404
  }
959
1405
 
1406
+
1407
+ function autoAndCarAccidentCrossSellQuestions(updates = {}) {
1408
+ return step(
1409
+ 'autoAndCarAccidentCrossSellQuestions',
1410
+ [
1411
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1412
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your accident:' }),
1413
+ AutoAndCarAccidentsQuestions("true", 'CrossSell:Auto_and_Car_Accidents'),
1414
+ comments(
1415
+ {
1416
+ label: 'Accident Description:',
1417
+ placeholder: 'Please describe your accident in a few words...',
1418
+ inputClass: '!t-h-16'
1419
+ },
1420
+ 'CrossSell:Auto_and_Car_Accidents'
1421
+ )
1422
+ ],
1423
+ updates.nextOnEnter
1424
+ )
1425
+ }
1426
+
1427
+ function duiAndDWICrossSellQuestions(updates = {}) {
1428
+ return step(
1429
+ 'duiAndDWICrossSellQuestions',
1430
+ [
1431
+ crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
1432
+ DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
1433
+ comments(
1434
+ {
1435
+ label: 'Incident Description:',
1436
+ placeholder: 'Please describe your incident in a few words...',
1437
+ inputClass: '!t-h-16'
1438
+ },
1439
+ 'CrossSell:DUI_and_DWI'
1440
+ )
1441
+ ],
1442
+ updates.nextOnEnter
1443
+ )
1444
+ }
1445
+
1446
+ function longTermDisabilityCrossSellQuestions(updates = {}) {
1447
+ return step(
1448
+ 'longTermDisabilityCrossSellQuestions',
1449
+ [
1450
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1451
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
1452
+ LongTermDisabilityQuestions("true", 'CrossSell:Long_Term_Disability'),
1453
+ comments(
1454
+ {
1455
+ label: 'Description:',
1456
+ placeholder: 'Please describe your situation in a few words...',
1457
+ inputClass: '!t-h-16'
1458
+ },
1459
+ 'CrossSell:Long_Term_Disability'
1460
+ )
1461
+ ],
1462
+ updates.nextOnEnter
1463
+ )
1464
+ }
1465
+
1466
+ function personalInjuryCrossSellQuestions(updates = {}) {
1467
+ return step(
1468
+ 'personalInjuryCrossSellQuestions',
1469
+ [
1470
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1471
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1472
+ PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
1473
+ comments(
1474
+ {
1475
+ label: 'Injury Description:',
1476
+ placeholder: 'Please describe your injury in a few words...',
1477
+ inputClass: '!t-h-16'
1478
+ },
1479
+ 'CrossSell:Personal_Injury'
1480
+ )
1481
+ ],
1482
+ updates.nextOnEnter
1483
+ )
1484
+ }
1485
+
1486
+ function powerOfAttorneyCrossSellQuestions(updates = {}) {
1487
+ return step(
1488
+ 'powerOfAttorneyCrossSellQuestions',
1489
+ [
1490
+ crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
1491
+ PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
1492
+ comments(
1493
+ {
1494
+ label: 'Description:',
1495
+ placeholder: 'Please describe your situation in a few words...',
1496
+ inputClass: '!t-h-16'
1497
+ },
1498
+ 'CrossSell:Power_of_Attorney'
1499
+ )
1500
+ ],
1501
+ updates.nextOnEnter
1502
+ )
1503
+ }
1504
+
1505
+ function willsAndTrustsCrossSellQuestions(updates = {}) {
1506
+ return step(
1507
+ 'willsAndTrustsCrossSellQuestions',
1508
+ [
1509
+ crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
1510
+ WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
1511
+ comments(
1512
+ {
1513
+ label: 'Description:',
1514
+ placeholder: 'Please describe your situation in a few words...',
1515
+ inputClass: '!t-h-16'
1516
+ },
1517
+ 'CrossSell:Wills_and_Trusts'
1518
+ )
1519
+ ],
1520
+ updates.nextOnEnter
1521
+ )
1522
+ }
1523
+
960
1524
  function childAndFamilyTOLPQuestions(updates = {}) {
961
1525
  return step(
962
1526
  'TOLPQuestions',
@@ -975,6 +1539,19 @@ function childAndFamilyTOLPQuestions(updates = {}) {
975
1539
  )
976
1540
  }
977
1541
 
1542
+ function legalCrossSells(updates = {}) {
1543
+ return step(
1544
+ 'legalCrossSells',
1545
+ [
1546
+ legalCrossSellsStepHeadline(updates),
1547
+ legalCrossSells$1(),
1548
+ ],
1549
+ updates.nextOnEnter,
1550
+ false,
1551
+ '$get(Type_Of_Legal_Problem).value'
1552
+ )
1553
+ }
1554
+
978
1555
  const formNavigationV2 = () => ({
979
1556
  $el: 'div',
980
1557
  attrs: {
@@ -1100,6 +1677,16 @@ const schema = [
1100
1677
  commentsWithBankruptcyV2({
1101
1678
  nextOnEnter: false
1102
1679
  }),
1680
+ legalCrossSells(),
1681
+ // Note: this is purposefully limited to a subset of values
1682
+ // that could show up in the Legal_CrossSells input because
1683
+ // this form only allows a handful of TOLPs on stage 1!
1684
+ autoAndCarAccidentCrossSellQuestions(),
1685
+ personalInjuryCrossSellQuestions(),
1686
+ duiAndDWICrossSellQuestions(),
1687
+ longTermDisabilityCrossSellQuestions(),
1688
+ powerOfAttorneyCrossSellQuestions(),
1689
+ willsAndTrustsCrossSellQuestions(),
1103
1690
  firstAndLastV2(),
1104
1691
  contactInfoTF({
1105
1692
  nextOnEnter: false