bhl-forms 0.0.68 → 0.0.70

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.
@@ -0,0 +1,2637 @@
1
+ function merge() {
2
+ return Object.assign({}, ...arguments)
3
+ }
4
+
5
+ function JALegalUrl(pageId) {
6
+ return 'https://justanswer.9pctbx.net/c/2880795/' + pageId + '/9320?sharedid=${properties.vid}'
7
+ }
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 formPropDefaults = {
12
+ type: 'form',
13
+ id: 'form',
14
+ config: { validationVisibility: 'submit' },
15
+ onSubmit: '$submit("https://httpbin.org/post", $prepData, $handleRedirect)',
16
+ plugins: '$plugins',
17
+ actions: false,
18
+ prepop: {
19
+ fromURL: true
20
+ },
21
+ errorCodes: {
22
+ 403: "An Error Occurred",
23
+ 409: { abort: false },
24
+ 429: "An Error Occurred"
25
+ },
26
+ formClass: '!t-max-w-[38rem]'
27
+ };
28
+
29
+ function formProps(updates) {
30
+ return merge(
31
+ formPropDefaults,
32
+ updates
33
+ )
34
+ }
35
+
36
+ const metaDefaults = {
37
+ type: 'meta',
38
+ data: {
39
+ tcpaLanguage: TCPA_LANGUAGE
40
+ }
41
+ };
42
+
43
+ function metaProps(updates) {
44
+ return merge(
45
+ metaDefaults,
46
+ updates
47
+ )
48
+ }
49
+
50
+ const formAnchorDefaults = {
51
+ $el: 'div',
52
+ children: [
53
+ {
54
+ $el: 'div',
55
+ attrs: {
56
+ id: 'form-anchor',
57
+ class: 't-absolute',
58
+ style: { top: '-30px', left: 0 }
59
+ }
60
+ }
61
+ ],
62
+ attrs: {
63
+ class: 't-relative'
64
+ }
65
+ };
66
+
67
+ function formAnchor(updates) {
68
+ return merge(
69
+ formAnchorDefaults,
70
+ updates
71
+ )
72
+ }
73
+
74
+ const headlineDefaults = {
75
+ $el: 'h1',
76
+ attrs: {
77
+ 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'
78
+ }
79
+ };
80
+
81
+ function headline(updates) {
82
+ return merge(
83
+ headlineDefaults,
84
+ updates
85
+ )
86
+ }
87
+
88
+ const subHeadlineDefaults = {
89
+ $el: 'h3',
90
+ attrs: {
91
+ class: 't-flex t-justify-center t-text-center !t-text-base t-font-medium t-text-blue-500 t-px-10'
92
+ }
93
+ };
94
+
95
+
96
+ function subHeadline(updates) {
97
+ return merge(
98
+ subHeadlineDefaults,
99
+ updates
100
+ )
101
+ }
102
+
103
+ const privacyIconsDefault = {
104
+ $el: 'div',
105
+ if: '$activeStep === $lastStep()',
106
+ attrs: {
107
+ class: 't-flex t-justify-center'
108
+ },
109
+ children: [
110
+ {
111
+ $el: 'img',
112
+ attrs: {
113
+ loading: 'lazy',
114
+ alt: '',
115
+ style: { border: 0 },
116
+ src: 'https://d27hmee62k45vz.cloudfront.net/form-secure-privacy.png',
117
+ width: '320',
118
+ height: '100'
119
+ }
120
+ }
121
+ ]
122
+ };
123
+
124
+ function privacyIcons(updates) {
125
+ return merge(
126
+ privacyIconsDefault,
127
+ updates
128
+ )
129
+ }
130
+
131
+ const hiddenInputs = [
132
+ {
133
+ $formkit: 'hidden',
134
+ name: "vertical",
135
+ value: "Legal"
136
+ },
137
+ {
138
+ $formkit: 'hidden',
139
+ name: "TCPA_Language",
140
+ value: "$meta.tcpaLanguage"
141
+ },
142
+ {
143
+ $formkit: 'hidden',
144
+ name: "gclid",
145
+ value: null
146
+ },
147
+ {
148
+ $formkit: 'hidden',
149
+ name: "campaignid",
150
+ value: null
151
+ },
152
+ {
153
+ $formkit: 'hidden',
154
+ name: "s",
155
+ value: null
156
+ }
157
+ ];
158
+
159
+
160
+ const legalRedirectMapDefaults = {
161
+ "properties.Type_Of_Legal_Problem": {
162
+ 'Adoption': JALegalUrl('565949'),
163
+ 'Bankruptcy': JALegalUrl('1147978'),
164
+ 'Child Custody and Support': JALegalUrl('565949'),
165
+ 'Civil Lawsuit': JALegalUrl('897042'),
166
+ 'Consumer Lawyers': JALegalUrl('897042'),
167
+ 'Criminal and Felony': JALegalUrl('897012'),
168
+ 'Debt and Collections': JALegalUrl('1147978'),
169
+ 'Divorce and Separation': JALegalUrl('966410'),
170
+ 'DUI and DWI': JALegalUrl('897012'),
171
+ 'Elder Law': JALegalUrl('565949'),
172
+ 'Employment and Workplace': JALegalUrl('897014'),
173
+ 'Expungement': JALegalUrl('897012'),
174
+ 'Foreclosure': JALegalUrl('565923'),
175
+ 'Guardianship': JALegalUrl('565949'),
176
+ 'Landlord and Tenant': JALegalUrl('1315025'),
177
+ 'Power of Attorney': JALegalUrl('1097602'),
178
+ 'Probate and Estates': JALegalUrl('1097602'),
179
+ 'Product Liability': JALegalUrl('897042'),
180
+ 'Property Damage': JALegalUrl('897042'),
181
+ 'Real Estate': JALegalUrl('565923'),
182
+ 'Social Security Disability and Insurance': JALegalUrl('897033'),
183
+ 'Tax and IRS': JALegalUrl('1147978'),
184
+ 'Traffic and Tickets': JALegalUrl('808601'),
185
+ 'Unemployment': JALegalUrl('897014'),
186
+ 'Victim of a Crime': JALegalUrl('897012'),
187
+ 'Wills and Trusts': JALegalUrl('1097602'),
188
+ 'Workers Compensation': JALegalUrl('897014'),
189
+ 'Wrongful Termination': JALegalUrl('897014')
190
+ },
191
+ '*': JALegalUrl('808601')
192
+ };
193
+
194
+
195
+ function legalRedirectMap(updates) {
196
+ return merge(
197
+ legalRedirectMapDefaults,
198
+ updates
199
+ )
200
+ }
201
+
202
+ const legalCivilValueOverrideMap = {
203
+ 'Civil_Defense': {
204
+ 'Yes': {
205
+ 'Type_Of_Legal_Problem': 'Civil Lawsuit'
206
+ }
207
+ },
208
+ 'Type_Of_Legal_Problem_Display': {
209
+ 'Automobile Accident': {
210
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
211
+ },
212
+ 'Contract Disputes': {
213
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
214
+ },
215
+ 'Defamation and Slander': {
216
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
217
+ },
218
+ 'Dog Bite': {
219
+ 'Type_Of_Legal_Problem': 'Personal Injury'
220
+ },
221
+ 'Employment and Workplace': {
222
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
223
+ },
224
+ 'Fraud': {
225
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
226
+ },
227
+ 'Medical Malpractice': {
228
+ 'Type_Of_Legal_Problem': 'Medical Malpractice'
229
+ },
230
+ 'Personal Injury': {
231
+ 'Type_Of_Legal_Problem': 'Personal Injury'
232
+ },
233
+ 'Property Damage': {
234
+ 'Type_Of_Legal_Problem': 'Property Damage'
235
+ },
236
+ 'Small Claims': {
237
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
238
+ },
239
+ 'Real Estate': {
240
+ 'Type_Of_Legal_Problem': 'Real Estate'
241
+ },
242
+ 'Other (describe on next page)': {
243
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
244
+ }
245
+ }
246
+ };
247
+
248
+ const bankruptcyInputMap = {
249
+ 'Asbestos and Mesothelioma': ['bankruptcyCrossSell'],
250
+ 'Child Custody and Support': ['bankruptcyCrossSell'],
251
+ 'Civil Lawsuit': ['bankruptcyCrossSell'],
252
+ 'Criminal and Felony': ['bankruptcyCrossSell'],
253
+ 'Debt and Collections': ['bankruptcyCrossSell'],
254
+ 'Divorce and Separation': ['bankruptcyCrossSell'],
255
+ 'DUI and DWI': ['bankruptcyCrossSell'],
256
+ 'Expungement': ['bankruptcyCrossSell'],
257
+ 'Foreclosure': ['bankruptcyCrossSell'],
258
+ 'Identity Theft': ['bankruptcyCrossSell'],
259
+ 'Immigration and Visas': ['bankruptcyCrossSell'],
260
+ 'Insurance': ['bankruptcyCrossSell'],
261
+ 'Landlord and Tenant': ['bankruptcyCrossSell'],
262
+ 'Lemon Law': ['bankruptcyCrossSell'],
263
+ 'Long Term Disability': ['bankruptcyCrossSell'],
264
+ 'Medical Malpractice': ['bankruptcyCrossSell'],
265
+ 'Real Estate': ['bankruptcyCrossSell'],
266
+ 'Tax and IRS': ['bankruptcyCrossSell'],
267
+ 'Traffic and Tickets': ['bankruptcyCrossSell'],
268
+ 'Unemployment': ['bankruptcyCrossSell'],
269
+ 'Wrongful Termination': ['bankruptcyCrossSell'],
270
+ 'Not Sure or Other': ['bankruptcyCrossSell']
271
+ };
272
+
273
+ // ------ Common Base Settings
274
+
275
+ const checkbox = (updates) => {
276
+ return merge({
277
+ $formkit: 'checkbox',
278
+ validation: 'required',
279
+ validationMessages: {
280
+ required: 'Field is required'
281
+ }
282
+ }, updates)
283
+ };
284
+
285
+ const sbsCheckbox = (updates) => {
286
+ updates.legendClass = 'legend-left required';
287
+ updates.fieldsetClass = '$reset side-by-side';
288
+ updates.optionsClass = 't-pl-1';
289
+ updates.innerClass = 't-flex t-items-center';
290
+ updates.wrapperClass = 't-mb-3';
291
+ return checkbox(updates)
292
+ };
293
+
294
+ const col2Checkbox = (updates) => {
295
+ updates.legendClass = 'required';
296
+ updates.fieldsetClass = '$reset';
297
+ updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
298
+ updates.innerClass = 't-items-start';
299
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
300
+ return checkbox(updates)
301
+ };
302
+
303
+ const radio = (updates) => {
304
+ return merge({
305
+ $formkit: 'radio',
306
+ validation: 'required',
307
+ validationMessages: {
308
+ required: 'Field is required'
309
+ },
310
+ optionsClass: 't-pt-3 t-pl-1',
311
+ legendClass: 'required'
312
+ }, updates)
313
+ };
314
+
315
+ const col2Radio = (updates) => {
316
+ updates.legendClass = 'required';
317
+ updates.fieldsetClass = '$reset';
318
+ updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
319
+ updates.innerClass = 't-items-start';
320
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
321
+ return radio(updates)
322
+ };
323
+
324
+ const sbsRadio = (updates) => {
325
+ updates.legendClass = 'legend-left required';
326
+ updates.fieldsetClass = '$reset side-by-side';
327
+ updates.optionsClass = 't-pl-1';
328
+ updates.innerClass = 't-flex t-items-center';
329
+ updates.wrapperClass = 't-mb-3';
330
+ return radio(updates)
331
+ };
332
+
333
+ const sbs2ColRadio = (updates) => {
334
+ updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
335
+ updates.fieldsetClass = '$reset side-by-side-flex';
336
+ updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
337
+ updates.innerClass = 't-flex t-items-start';
338
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
339
+ return radio(updates)
340
+ };
341
+
342
+ const sbs2ItemRadio = (updates) => {
343
+ updates.legendClass = 'legend-left t-pb-1 required';
344
+ updates.fieldsetClass = '$reset side-by-side t-items-center';
345
+ updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
346
+ updates.innerClass = 't-flex t-items-center';
347
+ updates.optionClass = 't-pr-1';
348
+ return radio(updates)
349
+ };
350
+
351
+ const sbsYesNoRadio = (updates) => {
352
+ updates.options = ['Yes', 'No'];
353
+ return sbs2ItemRadio(updates)
354
+ };
355
+
356
+ const select = (updates) => {
357
+ return merge({
358
+ $formkit: 'select',
359
+ placeholder: "Please Select",
360
+ validation: 'required',
361
+ validationMessages: {
362
+ required: 'Field is required'
363
+ },
364
+ inputClass: 't-bg-white',
365
+ labelClass: 'required'
366
+ }, updates)
367
+ };
368
+
369
+ const sbsSelect = (updates) => {
370
+ updates.labelClass = 'required';
371
+ updates.wrapperClass = 'side-by-side t-items-center';
372
+ updates.innerClass = 'select-height-content';
373
+ updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
374
+ return select(updates)
375
+ };
376
+
377
+ const text = (updates) => {
378
+ return merge({
379
+ $formkit: 'text',
380
+ validation: 'required',
381
+ validationMessages: {
382
+ required: 'Field is required'
383
+ },
384
+ labelClass: 'required'
385
+ }, updates)
386
+ };
387
+
388
+ const sbsText = (updates) => {
389
+ updates.wrapperClass = 'side-by-side t-items-center';
390
+ return text(updates)
391
+ };
392
+
393
+ const textArea = (updates) => {
394
+ return merge({
395
+ $formkit: 'textarea',
396
+ rows: 5,
397
+ maxlength: 500,
398
+ validation: 'required',
399
+ validationMessages: {
400
+ required: 'Field is required'
401
+ },
402
+ labelClass: 'required'
403
+ }, updates)
404
+ };
405
+
406
+ const date = (updates) => {
407
+ return merge({
408
+ $formkit: 'DatePicker',
409
+ validation: 'required',
410
+ validationMessages: {
411
+ required: 'Field is required'
412
+ },
413
+ labelClass: 'required t-block t-mb-3 t-font-semibold t-text-base formkit-invalid:t-text-red-500',
414
+ innerClass: 't-border t-border-gray-400 formkit-invalid:t-border-red-500 t-rounded t-mb-1 focus-within:t-border-blue-500'
415
+ }, updates)
416
+ };
417
+
418
+ const sbsDate = (updates) => {
419
+ updates.wrapperClass = 'side-by-side t-items-center';
420
+ return date(updates)
421
+ };
422
+
423
+ // ------ Inputs
424
+
425
+ const amountPaymentsPastDue = () => sbsSelect({
426
+ label: 'Total Amount of Payments that are Past Due:',
427
+ name: 'Amount_Payments_Past_Due',
428
+ options: [
429
+ "$0 - $499",
430
+ "$500 - $999",
431
+ "$1,000 - $2,499",
432
+ "$2,500 - $4,999",
433
+ "$5,000 - $9,999",
434
+ "$10,000 - $24,999",
435
+ "$25,000 - $49,999",
436
+ "$50,000 - $99,999",
437
+ "More than $100,000"
438
+ ]
439
+ });
440
+
441
+ const applicantOccupation = () => sbsText({
442
+ label: "What is the Applicant's Occupation?",
443
+ name: 'Applicant_Occupation',
444
+ placeholder: "Occupation"
445
+ });
446
+
447
+
448
+ const applicantAge = () => sbsSelect({
449
+ label: 'Age of Applicant?',
450
+ name: 'Applicant_Age',
451
+ options: [
452
+ "18",
453
+ "19",
454
+ "20",
455
+ "21",
456
+ "22",
457
+ "23",
458
+ "24",
459
+ "25",
460
+ "26",
461
+ "27",
462
+ "28",
463
+ "29",
464
+ "30",
465
+ "31",
466
+ "32",
467
+ "33",
468
+ "34",
469
+ "35",
470
+ "36",
471
+ "37",
472
+ "38",
473
+ "39",
474
+ "40",
475
+ "41",
476
+ "42",
477
+ "43",
478
+ "44",
479
+ "45",
480
+ "46",
481
+ "47",
482
+ "48",
483
+ "49",
484
+ "50",
485
+ "51",
486
+ "52",
487
+ "53",
488
+ "54",
489
+ "55",
490
+ "56",
491
+ "57",
492
+ "58",
493
+ "59",
494
+ "60",
495
+ "61",
496
+ "62",
497
+ "63",
498
+ "64",
499
+ "65"
500
+ ]
501
+ });
502
+
503
+ const applicantDisabilityHowObtain = () => sbsSelect({
504
+ label: 'How Did Applicant Obtain the Disability Policy?',
505
+ name: 'Applicant_Disability_How_Obtain',
506
+ options: [
507
+ "Employer",
508
+ "Self",
509
+ "Other"
510
+ ]
511
+ });
512
+
513
+ const applicantPreviouslyAppliedLtdBenefits = () => sbsRadio({
514
+ name: 'Applicant_Previously_Apply_Ltd_Benefits',
515
+ label: 'Has Applicant Previously Applied for Long Term Disability Benefits?',
516
+ options: [
517
+ "Yes, claim pending",
518
+ "Yes, claim denied",
519
+ "No"
520
+ ]
521
+ });
522
+
523
+ const applicantMonthlySalary = () => sbsSelect({
524
+ label: "Applicant's Monthly Salary/Pay When Last at Work:",
525
+ name: 'Applicant_Monthly_Salary',
526
+ options: [
527
+ "< $1,000",
528
+ "$1,000 - $2,000",
529
+ "$2,000 - $3,000",
530
+ "$3,000 - $4,000",
531
+ "$4,000 - $5,000",
532
+ "$5,000 - $6,000",
533
+ "$6,000 - $7,000",
534
+ "$7,000 - $8,000",
535
+ "$8,000 - $9,000",
536
+ "$9,000 - $10,000",
537
+ ">$10,000"
538
+ ]
539
+ });
540
+
541
+ const applicantReceivedDisabilityBenefits = () => sbsRadio({
542
+ name: 'Applicant_Received_Disability_Benefits',
543
+ label: 'Has Applicant Ever Received Long Term Disability Benefits for this Claim?',
544
+ options: [
545
+ "Yes, currently receiving",
546
+ "Yes, appealing a decision to stop payment of benefits",
547
+ "No"
548
+ ]
549
+ });
550
+
551
+ const applicantLTDisabilityPolicy = () => sbsYesNoRadio({
552
+ name: 'Applicant_Lt_Disability_Policy',
553
+ label: 'Does Applicant have a Long Term Disability Policy?'
554
+ });
555
+
556
+ const atFault = () => sbsYesNoRadio({
557
+ name: 'At_Fault',
558
+ label: 'Were You at Fault?'
559
+ });
560
+
561
+ const bankruptcyCrossSell = () => sbsCheckbox({
562
+ label: "I'd like a free consultation for bankruptcy and eliminating my debt",
563
+ name: 'CrossSell_Bankruptcy',
564
+ if: '$get(Degree_Of_Interest).value == "Absolutely Can\'t Afford" && $inputIsEnabled($get(form), $get(Type_Of_Legal_Problem).value, "bankruptcyCrossSell")',
565
+ validation: null
566
+ });
567
+
568
+ const bloodContentAlcholTest = () => sbsSelect({
569
+ label: 'Blood Alcohol Content Measured by Test:',
570
+ name: 'Blood_Alcohol_Content_Test',
571
+ options: [
572
+ "No Test",
573
+ "0.00% - 0.04%",
574
+ "0.05% - 0.08%",
575
+ "0.09% - 0.12%",
576
+ "0.13% - 0.16%",
577
+ "0.17% - 0.20%",
578
+ "More than 0.20%",
579
+ "Don't know"
580
+ ]
581
+ });
582
+
583
+ const businessServices = () => sbsSelect({
584
+ label: 'Legal Services Needed for Your Business:',
585
+ name: 'Business_Services',
586
+ options: [
587
+ "Business Formation",
588
+ "Contracts",
589
+ "Insurance and Liability",
590
+ "Mergers and Acquisition",
591
+ "Regulatory Compliance",
592
+ "Employee Dispute",
593
+ "Other"
594
+ ]
595
+ });
596
+
597
+ const businessType = () => sbs2ColRadio({
598
+ label: 'Is the Business Public or Private?',
599
+ name: 'Business_Type',
600
+ options: [
601
+ "Public",
602
+ "Private"
603
+ ]
604
+ });
605
+
606
+ const causeOfInjury = () => sbsSelect({
607
+ label: 'Cause of Injury:',
608
+ name: 'Cause_Of_Injury',
609
+ options: [
610
+ "Traumatic Physical Injury (Accident)",
611
+ "Repeated Trauma Injury",
612
+ "Mental Injury",
613
+ "Occupational Disease",
614
+ "Not Sure"
615
+ ]
616
+ });
617
+
618
+ const causeOfDeath = () => sbsSelect({
619
+ label: "What was the Cause of the Victim's Death?",
620
+ name: 'Cause_Of_Death',
621
+ options: [
622
+ "Vehicle Accident",
623
+ "Negligent/Careless Act",
624
+ "Reckless Act",
625
+ "Other"
626
+ ]
627
+ });
628
+
629
+ const civilDefense = (updates) => sbs2ItemRadio(merge({
630
+ name: 'Civil_Defense',
631
+ id: 'Civil_Defense',
632
+ if: '$get(Type_Of_Legal_Problem).value == "Civil Lawsuit"',
633
+ label: 'Do You Need Representation to File a Lawsuit or Defend One?',
634
+ options: {
635
+ Yes: 'Defend a Lawsuit',
636
+ No: 'File a Lawsuit'
637
+ }
638
+ }, updates));
639
+
640
+ const civilTOLPDisplay = (updates) => col2Radio(merge({
641
+ name: 'Type_Of_Legal_Problem_Display',
642
+ if: '$get(Type_Of_Legal_Problem).value == "Civil Lawsuit" && $get(Civil_Defense).value == "No"',
643
+ label: 'Select The Type of Lawsuit You Would Like to File:',
644
+ options: [
645
+ 'Automobile Accident',
646
+ 'Contract Disputes',
647
+ 'Defamation and Slander',
648
+ 'Dog Bite',
649
+ 'Employment and Workplace',
650
+ 'Fraud',
651
+ 'Medical Malpractice',
652
+ 'Personal Injury',
653
+ 'Property Damage',
654
+ 'Small Claims',
655
+ 'Real Estate',
656
+ 'Other (describe on next page)'
657
+ ]
658
+ }, updates));
659
+
660
+ const childHome = () => sbsSelect({
661
+ label: 'With Whom Do the Children Currently Live?',
662
+ name: 'Child_Home',
663
+ options: [
664
+ 'Mother',
665
+ 'Father',
666
+ 'Grandparents',
667
+ 'Other'
668
+ ]
669
+ });
670
+
671
+ const childPrimaryCaregiver = () => sbsSelect({
672
+ label: 'Who is the Primary Caregiver?',
673
+ name: 'Child_Primary_Caregiver',
674
+ options: [
675
+ 'Mother',
676
+ 'Father',
677
+ 'Other'
678
+ ]
679
+ });
680
+
681
+ const childRelationship = () => sbsSelect({
682
+ label: 'Your Relationship to Child(ren):',
683
+ name: 'Child_Relationship',
684
+ options: [
685
+ 'Father',
686
+ 'Mother',
687
+ 'Grandparent',
688
+ 'Aunt/Uncle',
689
+ 'Other'
690
+ ]
691
+ });
692
+
693
+ const claimStatus = () => sbsSelect({
694
+ label: "Status of Claim:",
695
+ name: 'Claim_Status',
696
+ options: [
697
+ "No action taken yet",
698
+ "Demand for compensation made",
699
+ "Lawsuit filed",
700
+ "Other"
701
+ ]
702
+ });
703
+
704
+ const comments = (updates) => textArea(
705
+ merge({
706
+ label: 'Please briefly describe your situation in a few words:',
707
+ name: 'Comments',
708
+ placeholder: 'For Example: "I would like help with child support payments" or "I need help with visitation rights"'
709
+ }, updates)
710
+ );
711
+
712
+ const countryOfCitizenship = () => sbsSelect({
713
+ label: 'What is Your Current Country of Citizenship?',
714
+ name: 'Country_Of_Citizenship',
715
+ options: [
716
+ "Afghanistan",
717
+ "Albania",
718
+ "Algeria",
719
+ "Andorra",
720
+ "Angola",
721
+ "Antigua and Barbuda",
722
+ "Argentina",
723
+ "Armenia",
724
+ "Australia",
725
+ "Austria",
726
+ "Azerbaijan",
727
+ "Bahamas",
728
+ "The Bahrain",
729
+ "Bangladesh",
730
+ "Barbados",
731
+ "Belarus",
732
+ "Belgium",
733
+ "Belize",
734
+ "Benin",
735
+ "Bhutan",
736
+ "Bolivia",
737
+ "Bosnia and Herzegovina",
738
+ "Botswana",
739
+ "Brazil",
740
+ "Brunei",
741
+ "Bulgaria",
742
+ "Burkina Faso",
743
+ "Burundi",
744
+ "Cambodia",
745
+ "Cameroon",
746
+ "Canada",
747
+ "Cape Verde",
748
+ "Central African Republic",
749
+ "Chad",
750
+ "Chile",
751
+ "China",
752
+ "Colombia",
753
+ "Comoros",
754
+ "Congo (Congoâ Kinshasa)",
755
+ "Congo (Congoâ Brazzaville)",
756
+ "Costa Rica",
757
+ "Coted'Ivoire (Ivory Coast)",
758
+ "Croatia",
759
+ "Cuba",
760
+ "Cyprus",
761
+ "Czech Republic",
762
+ "Denmark",
763
+ "Djibouti",
764
+ "Dominica",
765
+ "Dominican Republic",
766
+ "Ecuador",
767
+ "Egypt",
768
+ "El Salvador",
769
+ "Equatorial Guinea",
770
+ "Eritrea",
771
+ "Estonia",
772
+ "Ethiopia",
773
+ "Fiji",
774
+ "Finland",
775
+ "France",
776
+ "Gabon",
777
+ "Gambia",
778
+ "Georgia",
779
+ "Germany",
780
+ "Ghana",
781
+ "Greece",
782
+ "Grenada",
783
+ "Guatemala",
784
+ "Guinea",
785
+ "Guinea-Bissau",
786
+ "Guyana",
787
+ "Haiti",
788
+ "Honduras",
789
+ "Hungary",
790
+ "Iceland",
791
+ "India",
792
+ "Indonesia",
793
+ "Iran",
794
+ "Iraq",
795
+ "Ireland",
796
+ "Israel",
797
+ "Italy",
798
+ "Jamaica",
799
+ "Japan",
800
+ "Jordan",
801
+ "Kazakhstan",
802
+ "Kenya",
803
+ "Kiribati",
804
+ "Korea (North Korea)",
805
+ "Korea (South Korea)",
806
+ "Kuwait",
807
+ "Kyrgyzstan",
808
+ "Laos",
809
+ "Latvia",
810
+ "Lebanon",
811
+ "Lesotho",
812
+ "Liberia",
813
+ "Libya",
814
+ "Liechtenstein",
815
+ "Lithuania",
816
+ "Luxembourg",
817
+ "Macedonia",
818
+ "Madagascar",
819
+ "Malawi",
820
+ "Malaysia",
821
+ "Maldives",
822
+ "Mali",
823
+ "Malta",
824
+ "Marshall Islands",
825
+ "Mauritania",
826
+ "Mauritius",
827
+ "Mexico",
828
+ "Micronesia",
829
+ "Moldova",
830
+ "Monaco",
831
+ "Mongolia",
832
+ "Montenegro",
833
+ "Morocco",
834
+ "Mozambique",
835
+ "Myanmar (Burma)",
836
+ "Namibia",
837
+ "Nauru",
838
+ "Nepal",
839
+ "Netherlands",
840
+ "New Zealand",
841
+ "Nicaragua",
842
+ "Niger",
843
+ "Nigeria",
844
+ "Norway",
845
+ "Oman",
846
+ "Pakistan",
847
+ "Palau",
848
+ "Panama",
849
+ "Papua New Guinea",
850
+ "Paraguay",
851
+ "Peru",
852
+ "Philippines",
853
+ "Poland",
854
+ "Portugal",
855
+ "Qatar",
856
+ "Romania",
857
+ "Russia",
858
+ "Rwanda",
859
+ "Saint Kitts and Nevis",
860
+ "SaintLucia",
861
+ "Saint Vincent and the Grenadines",
862
+ "Samoa",
863
+ "San Marino",
864
+ "Sao Tome and Principe",
865
+ "Saudi Arabia",
866
+ "Senegal",
867
+ "Serbia",
868
+ "Seychelles",
869
+ "Sierra Leone",
870
+ "Singapore",
871
+ "Slovakia",
872
+ "Slovenia",
873
+ "Solomon Islands",
874
+ "Somalia",
875
+ "South Africa",
876
+ "Spain",
877
+ "SriLanka",
878
+ "Sudan",
879
+ "Suriname",
880
+ "Swaziland",
881
+ "Sweden",
882
+ "Switzerland",
883
+ "Syria",
884
+ "Tajikistan",
885
+ "Tanzania",
886
+ "Thailand",
887
+ "Timor-Leste (East Timor)",
888
+ "Togo",
889
+ "Tonga",
890
+ "Trinidad and Tobago",
891
+ "Tunisia",
892
+ "Turkey",
893
+ "Turkmenistan",
894
+ "Tuvalu",
895
+ "Uganda",
896
+ "Ukraine",
897
+ "United Arab Emirates",
898
+ "United Kingdom",
899
+ "United States",
900
+ "Uruguay",
901
+ "Uzbekistan",
902
+ "Vanuatu",
903
+ "Vatican City",
904
+ "Venezuela",
905
+ "Vietnam",
906
+ "Yemen",
907
+ "Zambia",
908
+ "Zimbabwe"
909
+ ]
910
+ });
911
+
912
+ const crimeCommittedDate = () => sbsDate({
913
+ label: 'When was the Alleged Crime?',
914
+ name: 'Crime_Committed_Date'
915
+ });
916
+
917
+ const criminalChargeType = () => sbsSelect({
918
+ label: 'What Type of Charge?',
919
+ name: 'Criminal_Charge_Type',
920
+ options: [
921
+ "Felony",
922
+ "Misdemeanor",
923
+ "Juvenile",
924
+ "Other"
925
+ ]
926
+ });
927
+
928
+ const criminalChargesFiled = () => sbsRadio({
929
+ name: 'Criminal_Charges_Filed',
930
+ label: "Were Criminal Charges Filed?",
931
+ options: [
932
+ "Yes",
933
+ "No",
934
+ "Not Sure"
935
+ ]
936
+ });
937
+
938
+ const degreeOfInterest = (help) => sbsSelect({
939
+ label: 'How Likely Are You to Pay if Your Issue Could be Resolved?',
940
+ id: 'Degree_Of_Interest',
941
+ name: 'Degree_Of_Interest',
942
+ help: help,
943
+ options: [
944
+ 'Definitely',
945
+ 'Probably',
946
+ 'Maybe',
947
+ "Absolutely Can't Afford"
948
+ ]
949
+ });
950
+
951
+ const defaultNotice = () => sbsYesNoRadio({
952
+ name: 'Default_Notice',
953
+ label: 'Have You Received a Notice of Default from the Lender?'
954
+ });
955
+
956
+ const degreeOfInterestHelp = () => degreeOfInterest('No payment necessary to speak with lawyers.');
957
+
958
+ const disabilityConditionStopWork = () => sbsYesNoRadio({
959
+ name: 'Disability_Condition_Stop_Work',
960
+ label: 'Do You Expect To Be Out Of Work For At Least a Year Due To Your Health?'
961
+ });
962
+
963
+ const disabilityWorkHistory = () => sbsYesNoRadio({
964
+ name: 'Disability_Work_History',
965
+ label: 'Have You Had a Full-Time Job Within the Past 5 Years?'
966
+ });
967
+
968
+ const doctorTreatment = () => sbsYesNoRadio({
969
+ name: 'Doctor_Treatment',
970
+ label: 'Have You Recently Been Treated by a Doctor, Hospital or Clinic?'
971
+ });
972
+
973
+ const driversLicenseType = () => sbs2ItemRadio({
974
+ name: 'Drivers_License_Type',
975
+ label: "Type of Driver's License:",
976
+ options: [
977
+ "Private",
978
+ "Commercial"
979
+ ]
980
+ });
981
+
982
+ const email = () => sbsText({
983
+ $formkit: 'email',
984
+ name: 'Email',
985
+ label: 'Email Address:',
986
+ placeholder: 'email@domain.com',
987
+ validation: 'required|email',
988
+ validationMessages: {
989
+ required: 'Email is required',
990
+ email: 'Invalid Email'
991
+ }
992
+ });
993
+
994
+ const employerType = () => sbsSelect({
995
+ label: 'The Employer Is a:',
996
+ name: 'Employer_Type',
997
+ options: [
998
+ "Sole proprietorship (mom and pop)",
999
+ "Partnership",
1000
+ "Franchise",
1001
+ "Privately held company",
1002
+ "Public corporation",
1003
+ "Government Agency",
1004
+ "Don't know"
1005
+ ]
1006
+ });
1007
+
1008
+ const estateLegalServicesNeeded = () => sbsSelect({
1009
+ label: "Legal Services Needed for Your Estate:",
1010
+ name: 'Estate_Legal_Services_Needed',
1011
+ options: [
1012
+ "Charitable Giving",
1013
+ "Contested Wills",
1014
+ "Drafting Wills or Trust",
1015
+ "Estate Administration",
1016
+ "Asset Protection",
1017
+ "Other"
1018
+ ]
1019
+ });
1020
+
1021
+ const firstName = () => sbsText({
1022
+ $formkit: 'text',
1023
+ label: 'First Name:',
1024
+ name: 'First_Name',
1025
+ validationMessages: {
1026
+ required: 'First Name is required'
1027
+ }
1028
+ });
1029
+
1030
+ const generalTOLP = (updates) => sbsSelect(merge({
1031
+ label: 'Type of Help Needed:',
1032
+ name: 'Type_Of_Legal_Problem',
1033
+ id: 'Type_Of_Legal_Problem',
1034
+ options: [
1035
+ 'Adoption',
1036
+ 'Asbestos and Mesothelioma',
1037
+ 'Auto and Car Accidents',
1038
+ 'Bankruptcy',
1039
+ 'Birth Certificate and Name Change',
1040
+ 'Business Lawyers',
1041
+ 'Child Custody and Support',
1042
+ 'Civil Rights and Discrimination',
1043
+ 'Civil Lawsuit',
1044
+ 'Consumer Lawyers',
1045
+ 'Copyrights and Trademarks',
1046
+ 'Criminal and Felony',
1047
+ 'Debt and Collections',
1048
+ 'Divorce and Separation',
1049
+ 'DUI and DWI',
1050
+ 'Elder Law',
1051
+ 'Employment and Workplace',
1052
+ 'Expungement',
1053
+ 'Family Issues',
1054
+ 'Foreclosure',
1055
+ 'Guardianship',
1056
+ 'Harassment and Discrimination',
1057
+ 'Identity Theft',
1058
+ 'Immigration and Visas',
1059
+ 'Insurance',
1060
+ 'Landlord and Tenant',
1061
+ 'Lemon Law',
1062
+ 'Long Term Disability',
1063
+ 'Medical Malpractice',
1064
+ 'Nursing Home Abuse',
1065
+ 'Patents and Intellectual Property',
1066
+ 'Personal Injury',
1067
+ 'Power of Attorney',
1068
+ 'Probate and Estates',
1069
+ 'Product Liability',
1070
+ 'Property Damage',
1071
+ 'Real Estate',
1072
+ 'Social Security Disability and Insurance',
1073
+ 'Tax and IRS',
1074
+ 'Traffic and Tickets',
1075
+ 'Unemployment',
1076
+ 'Vaccination Injury',
1077
+ "Veteran's Disability",
1078
+ 'Victim of a Crime',
1079
+ 'Wills and Trusts',
1080
+ 'Workers Compensation',
1081
+ 'Wrongful Death',
1082
+ 'Wrongful Termination',
1083
+ 'Not Sure or Other'
1084
+ ]
1085
+ }, updates));
1086
+
1087
+ const haveAttorney = () => sbsYesNoRadio({
1088
+ name: 'Have_Attorney',
1089
+ label: 'Are You Currently Working with An Attorney?'
1090
+ });
1091
+
1092
+ const haveChildren = () => sbsYesNoRadio({
1093
+ name: 'Have_Children',
1094
+ label: 'Do You Have Children?'
1095
+ });
1096
+
1097
+ const haveCourtDate = () => sbsYesNoRadio({
1098
+ name: 'Have_Court_Date',
1099
+ label: 'Do You Have a Court Date?'
1100
+ });
1101
+
1102
+ const immigrationDetails = () => sbsSelect({
1103
+ label: 'Where is the Person Seeking Immigration Located?',
1104
+ name: 'Immigration_Details',
1105
+ options: [
1106
+ "In the USA with proper documentation",
1107
+ "In the USA without proper documentation",
1108
+ "Not in the USA",
1109
+ "In Deportation/Removal Proceedings",
1110
+ "Currently Detained (friend or family submitting this request)",
1111
+ "Out on Bond",
1112
+ "None Apply"
1113
+ ]
1114
+ });
1115
+
1116
+ const immigrationEntry = () => sbsSelect({
1117
+ label: 'How are you Trying to Enter the Country?',
1118
+ name: 'Immigration_Entry',
1119
+ options: [
1120
+ "With Proper Documents/Visa and Inspection through Customs Border Patrol",
1121
+ "Illegally",
1122
+ "No Entry",
1123
+ "Other"
1124
+ ]
1125
+ });
1126
+
1127
+ const immigrationLocation = () => sbsSelect({
1128
+ label: 'Where Are You Migrating To?',
1129
+ name: 'Immigration_Location',
1130
+ options: [
1131
+ "In the USA",
1132
+ "Outside the USA"
1133
+ ]
1134
+ });
1135
+
1136
+ const immigrationType = () => sbsSelect({
1137
+ label: 'What Type of Immigration Issue?',
1138
+ name: 'Immigration_Type',
1139
+ options: [
1140
+ "Citizenship (for current green card holders)",
1141
+ "Permanent Visa Family Based (green cards)",
1142
+ "Permanent Visa Business Based (green cards)",
1143
+ "Temporary Business Visa",
1144
+ "Temporary Tourist Visa",
1145
+ "Investor",
1146
+ "Asylum",
1147
+ "Self Petition (violence & abuse victims)",
1148
+ "Removal/Deportation Proceeding",
1149
+ "Other"
1150
+ ]
1151
+ });
1152
+
1153
+ const immigrationStatus = () => sbsSelect({
1154
+ label: 'What is the Current Status of the Immigration Case?',
1155
+ name: 'Immigration_Status',
1156
+ options: [
1157
+ "Out of Status (overstayed my visa)",
1158
+ "Current Visa Holder (in status)",
1159
+ "Lawful Permanent Resident (green card)",
1160
+ "Not Applicable (outside the USA)",
1161
+ "Other"
1162
+ ]
1163
+ });
1164
+
1165
+ const incidentDate = () => sbsDate({
1166
+ label: 'Date of Incident:',
1167
+ name: 'Incident_Date'
1168
+ });
1169
+
1170
+ const lastName = () => sbsText({
1171
+ $formkit: 'text',
1172
+ label: 'Last Name:',
1173
+ name: 'Last_Name',
1174
+ validationMessages: {
1175
+ required: 'Last Name is required'
1176
+ }
1177
+ });
1178
+
1179
+ const landlordTenantParty = () => sbsSelect({
1180
+ label: 'I am the:',
1181
+ name: 'Landlord_Tenant_Party',
1182
+ options: [
1183
+ "Landlord",
1184
+ "Tenant",
1185
+ "Other"
1186
+ ]
1187
+ });
1188
+
1189
+ const landlordTenantIssue = () => sbsSelect({
1190
+ label: 'What is the Landlord / Tenant Issue?',
1191
+ name: 'Landlord_Tenant_Issue',
1192
+ options: [
1193
+ "Environmental Hazards",
1194
+ "Eviction",
1195
+ "Discrimination",
1196
+ "Lease and Rental Agreements",
1197
+ "Repairs and Maintenance",
1198
+ "Right of Entry and Privacy",
1199
+ "Screening and Applications",
1200
+ "Other Dispute"
1201
+ ]
1202
+ });
1203
+
1204
+ const lawsuitOtherParty = () => sbsSelect({
1205
+ label: 'The Other Party is a:',
1206
+ name: 'Lawsuit_Other_Party',
1207
+ options: [
1208
+ "Individual",
1209
+ "Small Business",
1210
+ "Large Corporation",
1211
+ "Government Entity"
1212
+ ]
1213
+ });
1214
+
1215
+ const lawyerPaymentMethod = () => sbsSelect({
1216
+ label: 'How Will You Pay for Legal Fees if You Hire a Lawyer?',
1217
+ name: 'Lawyer_Payment_Method',
1218
+ help: 'No payment necessary to speak with lawyers.',
1219
+ options: [
1220
+ 'Cash',
1221
+ 'Check',
1222
+ 'Credit Card',
1223
+ 'Friend',
1224
+ 'Family',
1225
+ 'Other'
1226
+ ]
1227
+ });
1228
+
1229
+ const loanAmount = () => sbsSelect({
1230
+ label: 'Total Amount of Loan?',
1231
+ name: 'Loan_Amount',
1232
+ options: [
1233
+ "Less than $10,000",
1234
+ "$10,000 - $24,999",
1235
+ "$25,000 - $49,999",
1236
+ "$50,000 - $99,999",
1237
+ "$100,000 - $199,999",
1238
+ "$200,000 - $299,999",
1239
+ "$300,000 - $399,999",
1240
+ "$400,000 - $499,999",
1241
+ "$500,000 - $599,999",
1242
+ "More than $600,000"
1243
+ ]
1244
+ });
1245
+
1246
+ const maritalStatus = () => sbsSelect({
1247
+ label: 'Marital Status:',
1248
+ name: 'Marital_Status',
1249
+ options: [
1250
+ 'Unmarried, Living Together',
1251
+ 'Unmarried, Do Not Live Together',
1252
+ 'Married, Living Together',
1253
+ 'Separated',
1254
+ 'Divorced',
1255
+ 'Other'
1256
+ ]
1257
+ });
1258
+
1259
+ const medicalMalpracticeInjuries = () => sbsSelect({
1260
+ label: "Injuries from Medical Malpractice:",
1261
+ name: 'Medical_Malpractice_Injuries',
1262
+ options: [
1263
+ "No Injury",
1264
+ "Minor Injury",
1265
+ "Disfigurement or cosmetic injury",
1266
+ "Short term loss of physical ability",
1267
+ "Long term loss of physical injury",
1268
+ "Possibility of future harm",
1269
+ "Death of Patient"
1270
+ ]
1271
+ });
1272
+
1273
+ const numEmployeesOfBusiness = () => sbsSelect({
1274
+ label: 'Total Employees of Business? (estimated)',
1275
+ name: 'Num_Employees_Of_Business',
1276
+ options: [
1277
+ "1-5",
1278
+ "6-20",
1279
+ "21-50",
1280
+ "51-100",
1281
+ "101-500",
1282
+ "501-1,000",
1283
+ "More than 1,000"
1284
+ ]
1285
+ });
1286
+
1287
+ const nursingHomeStatus = () => sbsSelect({
1288
+ label: "The Elderly Person is Currently:",
1289
+ name: 'Nursing_Home_Status',
1290
+ options: [
1291
+ "Living at a nursing home",
1292
+ "Living at their own home with medical supervision",
1293
+ "Living at their own home without medical supervision ",
1294
+ "Living at the home of a child, grandchild or friend",
1295
+ "Deceased",
1296
+ "Other"
1297
+ ]
1298
+ });
1299
+
1300
+ const ownRealEstate = () => sbsYesNoRadio({
1301
+ name: 'Own_Real_Estate',
1302
+ label: 'Do You Own Real Estate?'
1303
+ });
1304
+
1305
+ const patentAssistanceType = () => sbsSelect({
1306
+ label: "Legal Assistance Needed:",
1307
+ name: 'Patent_Assistance_Type',
1308
+ options: [
1309
+ "Obtaining a Patent",
1310
+ "Avoiding Patent Infringement",
1311
+ "Suing for Patent Infringement",
1312
+ "Defending Against a Claim of Patent Infringement",
1313
+ "Other"
1314
+ ]
1315
+ });
1316
+
1317
+ const patentFor = () => sbsSelect({
1318
+ label: "The Patent is for a:",
1319
+ name: 'Patent_For',
1320
+ options: [
1321
+ "Product or Machine",
1322
+ "Process",
1323
+ "Computer Software",
1324
+ "Living Organism or Plant",
1325
+ "Ornamental Design",
1326
+ "Other"
1327
+ ]
1328
+ });
1329
+
1330
+ const pendingCharges = () => sbsYesNoRadio({
1331
+ name: 'Pending_Charges',
1332
+ label: 'Do you currently have any pending charges?'
1333
+ });
1334
+
1335
+ const phone = () => sbsText({
1336
+ $formkit: 'tel',
1337
+ name: 'Primary_Phone',
1338
+ label: 'Phone Number:',
1339
+ placeholder: 'xxx-xxx-xxxx',
1340
+ maxlength: 12,
1341
+ help: '10-digit phone number, hyphens optional',
1342
+ validation: 'required|matches:/^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$/',
1343
+ validationMessages: {
1344
+ required: 'Field is required',
1345
+ matches: 'Invalid Phone Number, use xxx-xxx-xxxx format'
1346
+ },
1347
+ helpClass: "t-mt-2.5 md:t-text-right md:t-mt-[-2px]"
1348
+ });
1349
+
1350
+ const primaryInjury = () => sbs2ColRadio({
1351
+ label: 'Primary Injury:',
1352
+ name: 'Primary_Injury',
1353
+ options: [
1354
+ "Anxiety",
1355
+ "Back or Neck Pain",
1356
+ "Broken Bones",
1357
+ "Cuts and Bruises",
1358
+ "Headaches",
1359
+ "Memory Loss",
1360
+ "Loss of Limb",
1361
+ "Other (describe on next page)"
1362
+ ]
1363
+ });
1364
+
1365
+ const priorAlcoholOffenses = () => sbsYesNoRadio({
1366
+ name: 'Prior_Alcohol_Offenses',
1367
+ label: 'Any Prior Alcohol Related Offenses?'
1368
+ });
1369
+
1370
+ const policeReportFiled = () => sbsYesNoRadio({
1371
+ name: 'Police_Report_Filed',
1372
+ label: 'Was a Police Report Filed?'
1373
+ });
1374
+
1375
+ const realEstateArea = () => sbsSelect({
1376
+ label: "Area of Real Estate:",
1377
+ name: 'Real_Estate_Area',
1378
+ options: [
1379
+ "Condos and Coops",
1380
+ "Construction Disputes",
1381
+ "Purchase/Sale Contract",
1382
+ "Refinancing Agreement",
1383
+ "Title and Boundary Disputes",
1384
+ "Zoning, Planning and Land Use",
1385
+ "Property Deeds and Transfers",
1386
+ "Liens",
1387
+ "Other"
1388
+ ]
1389
+ });
1390
+
1391
+ const relationshipToVictim = () => sbsSelect({
1392
+ label: 'Relationship to the Victim:',
1393
+ name: 'Relationship_To_Victim',
1394
+ options: [
1395
+ "Parent",
1396
+ "Spouse",
1397
+ "Sibling",
1398
+ "Friend",
1399
+ "Other"
1400
+ ]
1401
+ });
1402
+
1403
+ const roleInMatterCriminal = () => sbsRadio({
1404
+ label: 'What is Your Role in this Matter?',
1405
+ name: 'Role_In_Matter_Criminal',
1406
+ options: [
1407
+ "I have been accused",
1408
+ "I am acting on behalf of someone who has been accused",
1409
+ "Other"
1410
+ ]
1411
+ });
1412
+
1413
+ const roleInMatterProbate = () => sbsSelect({
1414
+ label: "What Is Your Role in this Matter?",
1415
+ name: 'Role_In_Matter_Probate',
1416
+ options: [
1417
+ "Preparing My Will",
1418
+ "Executor",
1419
+ "Heir",
1420
+ "Other"
1421
+ ]
1422
+ });
1423
+
1424
+ const socialSecurityDisabilityReceivingBenefits = () => sbsYesNoRadio({
1425
+ name: 'Social_Security_Disability_Receiving_Benefits',
1426
+ label: 'Are You Currently Receiving Social Security Disability Benefits?'
1427
+ });
1428
+
1429
+ const taxLevel = () => sbsSelect({
1430
+ label: 'Which Level of Tax Issue?',
1431
+ name: 'Tax_Level',
1432
+ options: [
1433
+ "Federal",
1434
+ "State",
1435
+ "Local"
1436
+ ]
1437
+ });
1438
+
1439
+ const taxIssueType = () => sbsSelect({
1440
+ label: 'Type of Tax Issue:',
1441
+ name: 'Tax_Issue_Type',
1442
+ options: [
1443
+ "Income",
1444
+ "Property",
1445
+ "Corporate"
1446
+ ]
1447
+ });
1448
+
1449
+ const taxProblemDetails = () => sbsSelect({
1450
+ label: 'Details of Tax Problem:',
1451
+ name: 'Tax_Problem_Details',
1452
+ options: [
1453
+ "Assets Seized",
1454
+ "Bank Account Levied",
1455
+ "Cannot Pay Taxes",
1456
+ "Innocent Spouse",
1457
+ "Lien Filed",
1458
+ "Received Audit Notice",
1459
+ "Unpaid Interest",
1460
+ "Wage Garnishment",
1461
+ "Other"
1462
+ ]
1463
+ });
1464
+
1465
+ const totalDebt = () => sbsSelect({
1466
+ label: 'Total Debt?',
1467
+ name: 'Total_Debt',
1468
+ options: [
1469
+ "Less than 5K",
1470
+ "5K to 10K",
1471
+ "10K to 20K",
1472
+ "20K to 50K",
1473
+ "More than 50K"
1474
+ ]
1475
+ });
1476
+
1477
+ const totalMonthlyIncome = () => sbsSelect({
1478
+ label: 'Total Monthly Income?',
1479
+ name: 'Total_Monthly_Income',
1480
+ options: [
1481
+ "Less than 1K",
1482
+ "1K to 2K",
1483
+ "2K to 3K",
1484
+ "3K to 4K",
1485
+ "4K to 5K",
1486
+ "5K to 7K",
1487
+ "7K to 10K",
1488
+ "10K to 15K",
1489
+ "More than 15K"
1490
+ ]
1491
+ });
1492
+
1493
+ const TCPAConsent = () => ({
1494
+ $formkit: 'checkbox',
1495
+ label: '$meta.tcpaLanguage',
1496
+ name: 'TCPA_Opt_In',
1497
+ validation: 'required|accepted',
1498
+ validationMessages: {
1499
+ required: 'Consent is required',
1500
+ accepted: 'Consent is required'
1501
+ },
1502
+ classes: {
1503
+ label: "t-text-xs t-text-slate-500 t-font-normal"
1504
+ }
1505
+ });
1506
+
1507
+ const typeOfAlcoholTest = () => sbsSelect({
1508
+ label: 'Type of Alcohol Test Performed?',
1509
+ name: 'Type_Of_Alcohol_Test',
1510
+ options: [
1511
+ "No Test",
1512
+ "Refused Test",
1513
+ "Breath Test",
1514
+ "Blood Test",
1515
+ "Urine Test",
1516
+ "Don't Know"
1517
+ ]
1518
+ });
1519
+
1520
+ const typeOfAssets = () => col2Checkbox({
1521
+ label: 'Type of Assets:',
1522
+ name: 'Type_Of_Assets',
1523
+ options: [
1524
+ "Business Interests",
1525
+ "Cash",
1526
+ "Life Insurance Policies",
1527
+ "Pensions/Retirement",
1528
+ "Personal Possessions",
1529
+ "Property",
1530
+ "Stock/Bonds"
1531
+ ]
1532
+ });
1533
+
1534
+ const typeOfProperty = () => sbsSelect({
1535
+ label: 'Type of Property:',
1536
+ name: 'Type_Of_Property',
1537
+ options: [
1538
+ "Residential",
1539
+ "Commercial",
1540
+ "Industrial",
1541
+ "Agricultural",
1542
+ "Recreational",
1543
+ "Other"
1544
+ ]
1545
+ });
1546
+
1547
+ const trafficViolations = () => sbsSelect({
1548
+ label: 'Which Type of Violation?',
1549
+ name: 'Traffic_Violations',
1550
+ options: [
1551
+ "Disregarding a Red Light",
1552
+ "Disregarding a Stop Sign",
1553
+ "DMV Letter About License",
1554
+ "DUI/DWI",
1555
+ "Failure to Appear in Court",
1556
+ "License Suspended/Revoked",
1557
+ "Minor in Possession of Alcohol",
1558
+ "No Child Safety Seat",
1559
+ "No Liability Insurance",
1560
+ "No Seat Belt",
1561
+ "Open Container of Alcohol",
1562
+ "Parking Ticket",
1563
+ "Racing",
1564
+ "Speeding",
1565
+ "Unpaid Traffic Tickets",
1566
+ "Warrant Issue for Arrest",
1567
+ "Other Violation"
1568
+ ]
1569
+ });
1570
+
1571
+ const valueOfAssets = () => sbsSelect({
1572
+ label: 'Value of Your Assets?',
1573
+ name: 'Value_Of_Assets',
1574
+ options: [
1575
+ "Less than 50K",
1576
+ "50K to 100K",
1577
+ "100K to 250K",
1578
+ "250K to 500K",
1579
+ "500K to 1M",
1580
+ "More than 1M"
1581
+ ]
1582
+ });
1583
+
1584
+ const veteransDisabilityApplied = () => sbsSelect({
1585
+ label: 'Has the Applicant Applied for VA Disability Compensation?',
1586
+ name: 'Veterans_Disability_Applied',
1587
+ options: [
1588
+ "Yes, Claim filed and awaiting decision",
1589
+ "Yes, Claim denied",
1590
+ "Yes, Claim on appeal",
1591
+ "Yes, Claim approved",
1592
+ "Yes, Benefits awarded",
1593
+ "No, Claim has not been filed"
1594
+ ]
1595
+ });
1596
+
1597
+ const veteransDisabilityConditions = () => sbsCheckbox({
1598
+ label: 'What Service Connected Conditions Does the Applicant Have? (select all that apply)',
1599
+ name: 'Veterans_Disability_Conditions',
1600
+ options: [
1601
+ "Traumatic Physical Injury (broken bones, loss of limb)",
1602
+ "Mental Injury",
1603
+ "Occupational Disease",
1604
+ "Repeated Trauma Injury",
1605
+ "Other"
1606
+ ]
1607
+ });
1608
+
1609
+ const veteransDisabilityRelationship = () => sbsSelect({
1610
+ label: 'What is Your Relationship to the Applicant?',
1611
+ name: 'Veterans_Disability_Relationship',
1612
+ options: [
1613
+ "Self, Active Duty",
1614
+ "Self, Active Reserve",
1615
+ "Self, Discharged from Active Duty",
1616
+ "Self, Discharged as Reservist",
1617
+ "Surviving Family Member",
1618
+ "Other"
1619
+ ]
1620
+ });
1621
+
1622
+ const veteransDisabilityInjured = () => sbsYesNoRadio({
1623
+ name: 'Veterans_Disability_Injured',
1624
+ label: 'Was the Applicant Hurt While on Duty or is the Condition Related to Military Service?'
1625
+ });
1626
+
1627
+ const wouldLikeLawyerTo = () => sbsRadio({
1628
+ label: 'I Would Like a Lawyer to:',
1629
+ name: 'Would_Like_Lawyer_To',
1630
+ options: [
1631
+ "Give me general advice to protect my interests",
1632
+ "Act as my agent in the transaction",
1633
+ "Assist me in the remaining stages of the transaction",
1634
+ "Bring a lawsuit against another party",
1635
+ "Defend against a lawsuit filed by another party",
1636
+ "Other"
1637
+ ]
1638
+ });
1639
+
1640
+ const zipcode = () => sbsText({
1641
+ label: 'Zip Code:',
1642
+ placeholder: '#####',
1643
+ name: 'Zip',
1644
+ maxlength: 5,
1645
+ inputmode: "numeric",
1646
+ validation: 'required|matches:/^[0-9]{5}$/',
1647
+ validationMessages: {
1648
+ required: 'Zip Code is required',
1649
+ matches: 'Invalid Zip Code'
1650
+ }
1651
+ });
1652
+
1653
+ // ------ Question Groups
1654
+
1655
+ // NOTE: name must be unique within a form!
1656
+ const group = (name, updates) => {
1657
+ return merge({
1658
+ $cmp: 'FormKit',
1659
+ props: {
1660
+ type: 'group',
1661
+ key: name,
1662
+ id: name,
1663
+ name: name
1664
+ }
1665
+ }, updates)
1666
+ };
1667
+
1668
+
1669
+ const AdoptionQuestions = () => group(
1670
+ 'AdoptionQuestions',
1671
+ {
1672
+ if: '$get(Type_Of_Legal_Problem).value == "Adoption"',
1673
+ children: [
1674
+ haveAttorney(),
1675
+ maritalStatus(),
1676
+ haveChildren(),
1677
+ degreeOfInterest(),
1678
+ lawyerPaymentMethod()
1679
+ ]
1680
+ }
1681
+ );
1682
+
1683
+ const AsbestosAndMesotheliomaQuestions = () => group(
1684
+ 'AsbestosAndMesotheliomaQuestions',
1685
+ {
1686
+ if: '$get(Type_Of_Legal_Problem).value == "Asbestos and Mesothelioma"',
1687
+ children: [
1688
+ incidentDate(),
1689
+ doctorTreatment()
1690
+ ]
1691
+ }
1692
+ );
1693
+
1694
+ const AutoAndCarAccidentsQuestions = () => group(
1695
+ 'AutoAndCarAccidentsQuestions',
1696
+ {
1697
+ if: '$get(Type_Of_Legal_Problem).value == "Auto and Car Accidents"',
1698
+ children: [
1699
+ haveAttorney(),
1700
+ incidentDate(),
1701
+ atFault(),
1702
+ primaryInjury(),
1703
+ doctorTreatment(),
1704
+ policeReportFiled()
1705
+ ]
1706
+ }
1707
+ );
1708
+
1709
+ const BankruptcyQuestions = () => group(
1710
+ 'BankruptcyQuestions',
1711
+ {
1712
+ if: '$get(Type_Of_Legal_Problem).value == "Bankruptcy"',
1713
+ children: [
1714
+ haveAttorney(),
1715
+ totalMonthlyIncome(),
1716
+ totalDebt(),
1717
+ ownRealEstate(),
1718
+ valueOfAssets(),
1719
+ degreeOfInterestHelp()
1720
+ ]
1721
+ }
1722
+ );
1723
+
1724
+ const BirthCertificateAndNameChangeQuestions = () => group(
1725
+ 'BirthCertificateAndNameChangeQuestions',
1726
+ {
1727
+ if: '$get(Type_Of_Legal_Problem).value == "Birth Certificate and Name Change"',
1728
+ children: [
1729
+ haveAttorney(),
1730
+ degreeOfInterestHelp()
1731
+ ]
1732
+ }
1733
+ );
1734
+
1735
+ const BusinessLawyersQuestions = () => group(
1736
+ 'BusinessLawyersQuestions',
1737
+ {
1738
+ if: '$get(Type_Of_Legal_Problem).value == "Business Lawyers"',
1739
+ children: [
1740
+ haveAttorney(),
1741
+ businessServices(),
1742
+ businessType(),
1743
+ numEmployeesOfBusiness(),
1744
+ degreeOfInterestHelp()
1745
+ ]
1746
+ }
1747
+ );
1748
+
1749
+ const ChildCustodyAndSupportQuestions = () => group(
1750
+ 'ChildCustodyAndSupportQuestions',
1751
+ {
1752
+ if: '$get(Type_Of_Legal_Problem).value == "Child Custody and Support"',
1753
+ children: [
1754
+ haveAttorney(),
1755
+ childRelationship(),
1756
+ childHome(),
1757
+ childPrimaryCaregiver(),
1758
+ degreeOfInterest(),
1759
+ lawyerPaymentMethod()
1760
+ ]
1761
+ }
1762
+ );
1763
+
1764
+ const CivilRightsAndDiscriminationQuestions = () => group(
1765
+ 'CivilRightsAndDiscriminationQuestions',
1766
+ {
1767
+ if: '$get(Type_Of_Legal_Problem).value == "Civil Rights and Discrimination"',
1768
+ children: [
1769
+ haveAttorney(),
1770
+ degreeOfInterestHelp()
1771
+ ]
1772
+ }
1773
+ );
1774
+
1775
+ const CivilLawsuitQuestions = () => group(
1776
+ 'CivilLawsuitQuestions',
1777
+ {
1778
+ if: '$get(Type_Of_Legal_Problem).value == "Civil Lawsuit"',
1779
+ children: [
1780
+ haveAttorney(),
1781
+ incidentDate(),
1782
+ lawsuitOtherParty(),
1783
+ degreeOfInterestHelp()
1784
+ ]
1785
+ }
1786
+ );
1787
+
1788
+ const ConsumerLawyersQuestions = () => group(
1789
+ 'ConsumerLawyersQuestions',
1790
+ {
1791
+ if: '$get(Type_Of_Legal_Problem).value == "Consumer Lawyers"',
1792
+ children: [
1793
+ haveAttorney(),
1794
+ incidentDate(),
1795
+ lawsuitOtherParty(),
1796
+ degreeOfInterestHelp()
1797
+ ]
1798
+ }
1799
+ );
1800
+
1801
+ const CopyrightsAndTrademarksQuestions = () => group(
1802
+ 'CopyrightsAndTrademarksQuestions',
1803
+ {
1804
+ if: '$get(Type_Of_Legal_Problem).value == "Copyrights and Trademarks"',
1805
+ children: [
1806
+ haveAttorney(),
1807
+ degreeOfInterestHelp()
1808
+ ]
1809
+ }
1810
+ );
1811
+
1812
+ const CriminalAndFelonyQuestions = () => group(
1813
+ 'CriminalAndFelonyQuestions',
1814
+ {
1815
+ if: '$get(Type_Of_Legal_Problem).value == "Criminal and Felony"',
1816
+ children: [
1817
+ haveAttorney(),
1818
+ crimeCommittedDate(),
1819
+ roleInMatterCriminal(),
1820
+ pendingCharges(),
1821
+ degreeOfInterest(),
1822
+ lawyerPaymentMethod()
1823
+ ]
1824
+ }
1825
+ );
1826
+
1827
+ const DebtAndCollectionsQuestions = () => group(
1828
+ 'DebtAndCollectionsQuestions',
1829
+ {
1830
+ if: '$get(Type_Of_Legal_Problem).value == "Debt and Collections"',
1831
+ children: [
1832
+ haveAttorney(),
1833
+ totalMonthlyIncome(),
1834
+ totalDebt(),
1835
+ ownRealEstate(),
1836
+ valueOfAssets(),
1837
+ degreeOfInterestHelp()
1838
+ ]
1839
+ }
1840
+ );
1841
+
1842
+ const DivorceQuestions = () => group(
1843
+ 'DivorceQuestions',
1844
+ {
1845
+ if: '$get(Type_Of_Legal_Problem).value == "Divorce and Separation"',
1846
+ children: [
1847
+ haveAttorney(),
1848
+ maritalStatus(),
1849
+ haveChildren(),
1850
+ degreeOfInterest(),
1851
+ lawyerPaymentMethod()
1852
+ ]
1853
+ }
1854
+ );
1855
+
1856
+ const DUIAndDWIQuestions = () => group(
1857
+ 'DUIAndDWIQuestions',
1858
+ {
1859
+ if: '$get(Type_Of_Legal_Problem).value == "DUI and DWI"',
1860
+ children: [
1861
+ haveAttorney(),
1862
+ incidentDate(),
1863
+ priorAlcoholOffenses(),
1864
+ typeOfAlcoholTest(),
1865
+ bloodContentAlcholTest(),
1866
+ pendingCharges(),
1867
+ degreeOfInterestHelp()
1868
+ ]
1869
+ }
1870
+ );
1871
+
1872
+ const ElderLawQuestions = () => group(
1873
+ 'ElderLawQuestions',
1874
+ {
1875
+ if: '$get(Type_Of_Legal_Problem).value == "Elder Law"',
1876
+ children: [
1877
+ haveAttorney(),
1878
+ degreeOfInterestHelp()
1879
+ ]
1880
+ }
1881
+ );
1882
+
1883
+ const EmploymentAndWorkplaceQuestions = () => group(
1884
+ 'EmploymentAndWorkplaceQuestions',
1885
+ {
1886
+ if: '$get(Type_Of_Legal_Problem).value == "Employment and Workplace"',
1887
+ children: [
1888
+ haveAttorney(),
1889
+ numEmployeesOfBusiness(),
1890
+ employerType(),
1891
+ degreeOfInterest(),
1892
+ lawyerPaymentMethod()
1893
+ ]
1894
+ }
1895
+ );
1896
+
1897
+ const ExpungementQuestions = () => group(
1898
+ 'ExpungementQuestions',
1899
+ {
1900
+ if: '$get(Type_Of_Legal_Problem).value == "Expungement"',
1901
+ children: [
1902
+ haveAttorney(),
1903
+ incidentDate(),
1904
+ criminalChargeType(),
1905
+ degreeOfInterest(),
1906
+ lawyerPaymentMethod()
1907
+ ]
1908
+ }
1909
+ );
1910
+
1911
+ const FamilyIssuesQuestions = () => group(
1912
+ 'FamilyIssuesQuestions',
1913
+ {
1914
+ if: '$get(Type_Of_Legal_Problem).value == "Family Issues"',
1915
+ children: [
1916
+ haveAttorney(),
1917
+ maritalStatus(),
1918
+ haveChildren(),
1919
+ degreeOfInterest(),
1920
+ lawyerPaymentMethod()
1921
+ ]
1922
+ }
1923
+ );
1924
+
1925
+ const ForeclosureQuestions = () => group(
1926
+ 'ForeclosureQuestions',
1927
+ {
1928
+ if: '$get(Type_Of_Legal_Problem).value == "Foreclosure"',
1929
+ children: [
1930
+ haveAttorney(),
1931
+ ownRealEstate(),
1932
+ typeOfProperty(),
1933
+ amountPaymentsPastDue(),
1934
+ loanAmount(),
1935
+ defaultNotice()
1936
+ ]
1937
+ }
1938
+ );
1939
+
1940
+ const GuardianshipQuestions = () => group(
1941
+ 'GuardianshipQuestions',
1942
+ {
1943
+ if: '$get(Type_Of_Legal_Problem).value == "Guardianship"',
1944
+ children: [
1945
+ haveAttorney(),
1946
+ maritalStatus(),
1947
+ haveChildren(),
1948
+ degreeOfInterest(),
1949
+ lawyerPaymentMethod()
1950
+ ]
1951
+ }
1952
+ );
1953
+
1954
+ const HarassmentAndDiscriminationQuestions = () => group(
1955
+ 'HarassmentAndDiscriminationQuestions',
1956
+ {
1957
+ if: '$get(Type_Of_Legal_Problem).value == "Harassment and Discrimination"',
1958
+ children: [
1959
+ haveAttorney(),
1960
+ degreeOfInterestHelp()
1961
+ ]
1962
+ }
1963
+ );
1964
+
1965
+ const IdentityTheftQuestions = () => group(
1966
+ 'IdentityTheftQuestions',
1967
+ {
1968
+ if: '$get(Type_Of_Legal_Problem).value == "Identity Theft"',
1969
+ children: [
1970
+ haveAttorney(),
1971
+ degreeOfInterestHelp()
1972
+ ]
1973
+ }
1974
+ );
1975
+
1976
+ const ImmigrationAndVisasQuestions = () => group(
1977
+ 'ImmigrationAndVisasQuestions',
1978
+ {
1979
+ if: '$get(Type_Of_Legal_Problem).value == "Immigration and Visas"',
1980
+ children: [
1981
+ haveAttorney(),
1982
+ countryOfCitizenship(),
1983
+ immigrationLocation(),
1984
+ immigrationEntry(),
1985
+ immigrationType(),
1986
+ immigrationStatus(),
1987
+ immigrationDetails(),
1988
+ degreeOfInterestHelp()
1989
+ ]
1990
+ }
1991
+ );
1992
+
1993
+ const InsuranceQuestions = () => group(
1994
+ 'InsuranceQuestions',
1995
+ {
1996
+ if: '$get(Type_Of_Legal_Problem).value == "Insurance"',
1997
+ children: [
1998
+ haveAttorney(),
1999
+ degreeOfInterestHelp()
2000
+ ]
2001
+ }
2002
+ );
2003
+
2004
+ const LandlordAndTenantQuestions = () => group(
2005
+ 'LandlordAndTenantQuestions',
2006
+ {
2007
+ if: '$get(Type_Of_Legal_Problem).value == "Landlord and Tenant"',
2008
+ children: [
2009
+ haveAttorney(),
2010
+ landlordTenantParty(),
2011
+ landlordTenantIssue(),
2012
+ degreeOfInterestHelp()
2013
+ ]
2014
+ }
2015
+ );
2016
+
2017
+ const LemonLawQuestions = () => group(
2018
+ 'LemonLawQuestions',
2019
+ {
2020
+ if: '$get(Type_Of_Legal_Problem).value == "Lemon Law"',
2021
+ children: [
2022
+ haveAttorney(),
2023
+ incidentDate(),
2024
+ lawsuitOtherParty(),
2025
+ degreeOfInterestHelp()
2026
+ ]
2027
+ }
2028
+ );
2029
+
2030
+ const LongTermDisabilityQuestions = () => group(
2031
+ 'LongTermDisabilityQuestions',
2032
+ {
2033
+ if: '$get(Type_Of_Legal_Problem).value == "Long Term Disability"',
2034
+ children: [
2035
+ haveAttorney(),
2036
+ applicantOccupation(),
2037
+ applicantAge(),
2038
+ applicantLTDisabilityPolicy(),
2039
+ applicantDisabilityHowObtain(),
2040
+ applicantPreviouslyAppliedLtdBenefits(),
2041
+ applicantReceivedDisabilityBenefits(),
2042
+ applicantMonthlySalary()
2043
+ ]
2044
+ }
2045
+ );
2046
+
2047
+ const MedicalMalpracticeQuestions = () => group(
2048
+ 'MedicalMalpracticeQuestions',
2049
+ {
2050
+ if: '$get(Type_Of_Legal_Problem).value == "Medical Malpractice"',
2051
+ children: [
2052
+ haveAttorney(),
2053
+ incidentDate(),
2054
+ claimStatus(),
2055
+ doctorTreatment(),
2056
+ medicalMalpracticeInjuries()
2057
+ ]
2058
+ }
2059
+ );
2060
+
2061
+ const NursingHomeAbuseQuestions = () => group(
2062
+ 'NursingHomeAbuseQuestions',
2063
+ {
2064
+ if: '$get(Type_Of_Legal_Problem).value == "Nursing Home Abuse"',
2065
+ children: [
2066
+ haveAttorney(),
2067
+ incidentDate(),
2068
+ nursingHomeStatus()
2069
+ ]
2070
+ }
2071
+ );
2072
+
2073
+ const PatentsAndIntellectualPropertyQuestions = () => group(
2074
+ 'PatentsAndIntellectualPropertyQuestions',
2075
+ {
2076
+ if: '$get(Type_Of_Legal_Problem).value == "Patents and Intellectual Property"',
2077
+ children: [
2078
+ haveAttorney(),
2079
+ patentAssistanceType(),
2080
+ patentFor(),
2081
+ degreeOfInterestHelp()
2082
+ ]
2083
+ }
2084
+ );
2085
+
2086
+ const PersonalInjuryQuestions = () => group(
2087
+ 'PersonalInjuryQuestions',
2088
+ {
2089
+ if: '$get(Type_Of_Legal_Problem).value == "Personal Injury"',
2090
+ children: [
2091
+ haveAttorney(),
2092
+ incidentDate(),
2093
+ claimStatus(),
2094
+ atFault(),
2095
+ primaryInjury(),
2096
+ doctorTreatment()
2097
+ ]
2098
+ }
2099
+ );
2100
+
2101
+ const PowerofAttorneyQuestions = () => group(
2102
+ 'PowerofAttorneyQuestions',
2103
+ {
2104
+ if: '$get(Type_Of_Legal_Problem).value == "Power of Attorney"',
2105
+ children: [
2106
+ haveAttorney(),
2107
+ degreeOfInterestHelp()
2108
+ ]
2109
+ }
2110
+ );
2111
+
2112
+ const ProbateAndEstatesQuestions = () => group(
2113
+ 'ProbateAndEstatesQuestions',
2114
+ {
2115
+ if: '$get(Type_Of_Legal_Problem).value == "Probate and Estates"',
2116
+ children: [
2117
+ haveAttorney(),
2118
+ valueOfAssets(),
2119
+ typeOfAssets(),
2120
+ roleInMatterProbate(),
2121
+ estateLegalServicesNeeded(),
2122
+ degreeOfInterestHelp()
2123
+ ]
2124
+ }
2125
+ );
2126
+
2127
+ const ProductLiabilityQuestions = () => group(
2128
+ 'ProductLiabilityQuestions',
2129
+ {
2130
+ if: '$get(Type_Of_Legal_Problem).value == "Product Liability"',
2131
+ children: [
2132
+ haveAttorney(),
2133
+ degreeOfInterestHelp()
2134
+ ]
2135
+ }
2136
+ );
2137
+
2138
+ const PropertyDamageQuestions = () => group(
2139
+ 'PropertyDamageQuestions',
2140
+ {
2141
+ if: '$get(Type_Of_Legal_Problem).value == "Property Damage"',
2142
+ children: [
2143
+ haveAttorney(),
2144
+ realEstateArea(),
2145
+ wouldLikeLawyerTo(),
2146
+ degreeOfInterestHelp()
2147
+ ]
2148
+ }
2149
+ );
2150
+
2151
+ const RealEstateQuestions = () => group(
2152
+ 'RealEstateQuestions',
2153
+ {
2154
+ if: '$get(Type_Of_Legal_Problem).value == "Real Estate"',
2155
+ children: [
2156
+ haveAttorney(),
2157
+ realEstateArea(),
2158
+ wouldLikeLawyerTo(),
2159
+ degreeOfInterestHelp()
2160
+ ]
2161
+ }
2162
+ );
2163
+
2164
+ const SocialSecurityDisabilityAndInsuranceQuestions = () => group(
2165
+ 'SocialSecurityDisabilityAndInsuranceQuestions',
2166
+ {
2167
+ if: '$get(Type_Of_Legal_Problem).value == "Social Security Disability and Insurance"',
2168
+ children: [
2169
+ haveAttorney(),
2170
+ applicantAge(),
2171
+ disabilityConditionStopWork(),
2172
+ disabilityWorkHistory(),
2173
+ socialSecurityDisabilityReceivingBenefits(),
2174
+ doctorTreatment()
2175
+ ]
2176
+ }
2177
+ );
2178
+
2179
+ const TaxAndIRSQuestions = () => group(
2180
+ 'TaxAndIRSQuestions',
2181
+ {
2182
+ if: '$get(Type_Of_Legal_Problem).value == "Tax and IRS"',
2183
+ children: [
2184
+ haveAttorney(),
2185
+ totalDebt(),
2186
+ taxProblemDetails(),
2187
+ taxLevel(),
2188
+ taxIssueType(),
2189
+ degreeOfInterestHelp()
2190
+ ]
2191
+ }
2192
+ );
2193
+
2194
+ const TrafficAndTicketsQuestions = () => group(
2195
+ 'TrafficAndTicketsQuestions',
2196
+ {
2197
+ if: '$get(Type_Of_Legal_Problem).value == "Traffic and Tickets"',
2198
+ children: [
2199
+ haveAttorney(),
2200
+ driversLicenseType(),
2201
+ trafficViolations(),
2202
+ haveCourtDate(),
2203
+ degreeOfInterestHelp()
2204
+ ]
2205
+ }
2206
+ );
2207
+
2208
+ const UnemploymentQuestions = () => group(
2209
+ 'UnemploymentQuestions',
2210
+ {
2211
+ if: '$get(Type_Of_Legal_Problem).value == "Unemployment"',
2212
+ children: [
2213
+ numEmployeesOfBusiness(),
2214
+ employerType()
2215
+ ]
2216
+ }
2217
+ );
2218
+
2219
+ const VaccinationInjuryQuestions = () => group(
2220
+ 'VaccinationInjuryQuestions',
2221
+ {
2222
+ if: '$get(Type_Of_Legal_Problem).value == "Vaccination Injury"',
2223
+ children: [
2224
+ haveAttorney(),
2225
+ incidentDate()
2226
+ ]
2227
+ }
2228
+ );
2229
+
2230
+ const VeteransDisabilityQuestions = () => group(
2231
+ 'VeteransDisabilityQuestions',
2232
+ {
2233
+ if: '$get(Type_Of_Legal_Problem).value == "Veteran\'s Disability"',
2234
+ children: [
2235
+ veteransDisabilityRelationship(),
2236
+ veteransDisabilityInjured(),
2237
+ veteransDisabilityConditions(),
2238
+ veteransDisabilityApplied()
2239
+ ]
2240
+ }
2241
+ );
2242
+
2243
+ const VictimOfACrimeQuestions = () => group(
2244
+ 'VictimOfACrimeQuestions',
2245
+ {
2246
+ if: '$get(Type_Of_Legal_Problem).value == "Victim of a Crime"',
2247
+ children: [
2248
+ haveAttorney(),
2249
+ crimeCommittedDate(),
2250
+ roleInMatterCriminal(),
2251
+ pendingCharges(),
2252
+ degreeOfInterest(),
2253
+ lawyerPaymentMethod()
2254
+ ]
2255
+ }
2256
+ );
2257
+
2258
+ const WillsAndTrustsQuestions = () => group(
2259
+ 'WillsAndTrustsQuestions',
2260
+ {
2261
+ if: '$get(Type_Of_Legal_Problem).value == "Wills and Trusts"',
2262
+ children: [
2263
+ haveAttorney(),
2264
+ valueOfAssets(),
2265
+ typeOfAssets(),
2266
+ roleInMatterProbate(),
2267
+ estateLegalServicesNeeded(),
2268
+ degreeOfInterestHelp()
2269
+ ]
2270
+ }
2271
+ );
2272
+
2273
+ const WorkersCompensationQuestions = () => group(
2274
+ 'WorkersCompensationQuestions',
2275
+ {
2276
+ if: '$get(Type_Of_Legal_Problem).value == "Workers Compensation"',
2277
+ children: [
2278
+ haveAttorney(),
2279
+ incidentDate(),
2280
+ claimStatus(),
2281
+ primaryInjury(),
2282
+ causeOfInjury(),
2283
+ doctorTreatment()
2284
+ ]
2285
+ }
2286
+ );
2287
+
2288
+ const WrongfulDeathQuestions = () => group(
2289
+ 'WrongfulDeathQuestions',
2290
+ {
2291
+ if: '$get(Type_Of_Legal_Problem).value == "Wrongful Death"',
2292
+ children: [
2293
+ haveAttorney(),
2294
+ incidentDate(),
2295
+ relationshipToVictim(),
2296
+ criminalChargesFiled(),
2297
+ causeOfDeath()
2298
+ ]
2299
+ }
2300
+ );
2301
+
2302
+ const WrongfulTerminationQuestions = () => group(
2303
+ 'WrongfulTerminationQuestions',
2304
+ {
2305
+ if: '$get(Type_Of_Legal_Problem).value == "Wrongful Termination"',
2306
+ children: [
2307
+ haveAttorney(),
2308
+ numEmployeesOfBusiness(),
2309
+ employerType(),
2310
+ degreeOfInterestHelp()
2311
+ ]
2312
+ }
2313
+ );
2314
+
2315
+ const NotSureOrOtherQuestions = () => group(
2316
+ 'NotSureOrOtherQuestions',
2317
+ {
2318
+ if: '$get(Type_Of_Legal_Problem).value == "Not Sure or Other"',
2319
+ children: [
2320
+ haveAttorney(),
2321
+ degreeOfInterestHelp()
2322
+ ]
2323
+ }
2324
+ );
2325
+
2326
+ const NEXT_ON_ENTER = '$onEnter($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))';
2327
+
2328
+ const isInput = (n) => { return (n.type !== 'group' && n.type !== 'section' && n.type !== 'form' && n.$formkit !== 'hidden' && !n.children) };
2329
+
2330
+ const findLastInput = (n) => {
2331
+ if (isInput(n)) {
2332
+ return n
2333
+ }
2334
+ for (var i = n.children.length - 1; i >= 0; i--) {
2335
+ const child = n.children[i];
2336
+ if (isInput(child)) {
2337
+ return child
2338
+ }
2339
+ const res = findLastInput(child);
2340
+ if (res) {
2341
+ return res
2342
+ }
2343
+ }
2344
+ return null
2345
+ };
2346
+
2347
+ const stepDefaults = (step) => ({
2348
+ $el: 'section',
2349
+ if: '$stepIsEnabled("' + step + '")',
2350
+ attrs: {
2351
+ style: {
2352
+ if: '$activeStep !== "' + step + '"',
2353
+ then: 'display: none;'
2354
+ }
2355
+ }
2356
+ });
2357
+
2358
+ function step(name, inputs, nextOnEnter = true) {
2359
+ if (typeof nextOnEnter === 'undefined') {
2360
+ nextOnEnter = true;
2361
+ }
2362
+ if (inputs && inputs.length && nextOnEnter) {
2363
+ const lastInput = findLastInput(inputs[inputs.length - 1]);
2364
+ lastInput.onKeypress = NEXT_ON_ENTER;
2365
+ }
2366
+
2367
+ return merge(
2368
+ stepDefaults(name),
2369
+ {
2370
+ children: [
2371
+ {
2372
+ $formkit: 'group',
2373
+ id: name,
2374
+ name: name,
2375
+ children: inputs
2376
+ }
2377
+ ]
2378
+ }
2379
+ )
2380
+ }
2381
+
2382
+
2383
+ function generalLegalTOLPAndZip(updates = {}) {
2384
+ return step(
2385
+ 'generalLegalTOLPAndZip',
2386
+ [
2387
+ generalTOLP(),
2388
+ civilDefense(),
2389
+ civilTOLPDisplay(),
2390
+ zipcode()
2391
+ ],
2392
+ updates.nextOnEnter
2393
+ )
2394
+ }
2395
+
2396
+ const DEFAULT_COMMENTS_PLACEHOLDER = 'For Example: "I\'ve been involved in an auto accident" or "I need Power of Attorney"';
2397
+ const DEFAULT_COMMENTS_LABEL = 'Please briefly describe your legal issue in a few words:';
2398
+
2399
+ function commentsWithBankruptcy(updates = {}) {
2400
+ return step(
2401
+ 'commentsWithBankruptcy',
2402
+ [
2403
+ comments({
2404
+ label: updates.label || DEFAULT_COMMENTS_LABEL,
2405
+ placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER
2406
+ }),
2407
+ bankruptcyCrossSell()
2408
+ ],
2409
+ updates.nextOnEnter
2410
+ )
2411
+ }
2412
+
2413
+ const DEFAULT_LAST_STEP_HEADLINE = "Based on your input, you may benefit from speaking with a legal professional. Please verify your contact information.";
2414
+
2415
+ function contactInfo(updates = {}) {
2416
+ return step(
2417
+ 'contactInfo',
2418
+ [
2419
+ {
2420
+ $el: 'h3',
2421
+ children: updates.headline || DEFAULT_LAST_STEP_HEADLINE,
2422
+ attrs: {
2423
+ class: 't-flex t-justify-center t-text-center t-text-lg t-font-bold t-pb-5 t-pt-0 t-px-3'
2424
+ }
2425
+ },
2426
+ email(),
2427
+ phone(),
2428
+ TCPAConsent(),
2429
+ privacyIcons()
2430
+ ],
2431
+ updates.nextOnEnter
2432
+ )
2433
+ }
2434
+
2435
+ function firstAndLast(updates = {}) {
2436
+ return step(
2437
+ 'firstAndLast',
2438
+ [
2439
+ firstName(),
2440
+ lastName()
2441
+ ],
2442
+ updates.nextOnEnter
2443
+ )
2444
+ }
2445
+
2446
+ function generalLegalTOLPQuestions(updates = {}) {
2447
+ return step(
2448
+ 'TOLPQuestions',
2449
+ [
2450
+ {
2451
+ $el: 'h3',
2452
+ children: 'Please Complete the Following:',
2453
+ attrs: {
2454
+ 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-3'
2455
+ }
2456
+ },
2457
+ AdoptionQuestions(),
2458
+ AsbestosAndMesotheliomaQuestions(),
2459
+ AutoAndCarAccidentsQuestions(),
2460
+ BankruptcyQuestions(),
2461
+ BirthCertificateAndNameChangeQuestions(),
2462
+ BusinessLawyersQuestions(),
2463
+ ChildCustodyAndSupportQuestions(),
2464
+ CivilRightsAndDiscriminationQuestions(),
2465
+ CivilLawsuitQuestions(),
2466
+ ConsumerLawyersQuestions(),
2467
+ CopyrightsAndTrademarksQuestions(),
2468
+ CriminalAndFelonyQuestions(),
2469
+ DebtAndCollectionsQuestions(),
2470
+ DivorceQuestions(),
2471
+ DUIAndDWIQuestions(),
2472
+ ElderLawQuestions(),
2473
+ EmploymentAndWorkplaceQuestions(),
2474
+ ExpungementQuestions(),
2475
+ FamilyIssuesQuestions(),
2476
+ ForeclosureQuestions(),
2477
+ GuardianshipQuestions(),
2478
+ HarassmentAndDiscriminationQuestions(),
2479
+ IdentityTheftQuestions(),
2480
+ ImmigrationAndVisasQuestions(),
2481
+ InsuranceQuestions(),
2482
+ LandlordAndTenantQuestions(),
2483
+ LemonLawQuestions(),
2484
+ LongTermDisabilityQuestions(),
2485
+ MedicalMalpracticeQuestions(),
2486
+ NursingHomeAbuseQuestions(),
2487
+ PatentsAndIntellectualPropertyQuestions(),
2488
+ PersonalInjuryQuestions(),
2489
+ PowerofAttorneyQuestions(),
2490
+ ProbateAndEstatesQuestions(),
2491
+ ProductLiabilityQuestions(),
2492
+ PropertyDamageQuestions(),
2493
+ RealEstateQuestions(),
2494
+ SocialSecurityDisabilityAndInsuranceQuestions(),
2495
+ TaxAndIRSQuestions(),
2496
+ TrafficAndTicketsQuestions(),
2497
+ UnemploymentQuestions(),
2498
+ VaccinationInjuryQuestions(),
2499
+ VeteransDisabilityQuestions(),
2500
+ VictimOfACrimeQuestions(),
2501
+ WillsAndTrustsQuestions(),
2502
+ WorkersCompensationQuestions(),
2503
+ WrongfulDeathQuestions(),
2504
+ WrongfulTerminationQuestions(),
2505
+ NotSureOrOtherQuestions()
2506
+ ],
2507
+ updates.nextOnEnter
2508
+ )
2509
+ }
2510
+
2511
+ // ------ Utilities
2512
+
2513
+ const formNavigation = () => ({
2514
+ $el: 'div',
2515
+ attrs: {
2516
+ class: 'step-nav'
2517
+ },
2518
+ children: [
2519
+ {
2520
+ $formkit: 'button',
2521
+ name: 'back_button',
2522
+ onClick: '$setPreviousStep($scrollAnchor($get(form)))',
2523
+ children: 'Back',
2524
+ style: {
2525
+ if: '$activeStep === $firstStep()',
2526
+ then: 'visibility: hidden;'
2527
+ }
2528
+ },
2529
+ {
2530
+ $formkit: 'button',
2531
+ name: 'next_button',
2532
+ onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2533
+ children: 'Next',
2534
+ style: {
2535
+ if: '$activeStep === $lastStep()',
2536
+ then: 'display: none;'
2537
+ }
2538
+ },
2539
+ {
2540
+ $formkit: 'submit',
2541
+ name: 'submit_button',
2542
+ label: 'Submit',
2543
+ if: '$activeStep === $lastStep()',
2544
+ style: {
2545
+ if: '$activeStep !== $lastStep()',
2546
+ then: 'display: none;'
2547
+ }
2548
+ }
2549
+ ]
2550
+ });
2551
+
2552
+ const formDetails = () => ({
2553
+ $el: 'pre',
2554
+ if: '$urlParam("fdbg", "") == 1',
2555
+ children: [
2556
+ {
2557
+ $el: 'pre',
2558
+ children: '$stringify( $get(form).value )',
2559
+ attrs: {
2560
+ class: 't-text-xs',
2561
+ style: 'overflow: scroll'
2562
+ }
2563
+ },
2564
+ {
2565
+ $el: 'pre',
2566
+ children: ['activeStep: ', '$activeStep'],
2567
+ attrs: {
2568
+ class: 't-text-xs',
2569
+ style: 'overflow: scroll'
2570
+ }
2571
+ },
2572
+ {
2573
+ $el: 'pre',
2574
+ children: ['stepHistory: ', '$stepHistory'],
2575
+ attrs: {
2576
+ class: 't-text-xs',
2577
+ style: 'overflow: scroll'
2578
+ }
2579
+ },
2580
+ {
2581
+ $el: 'pre',
2582
+ children: ['stepQueue: ', '$stepQueue'],
2583
+ attrs: {
2584
+ class: 't-text-xs',
2585
+ style: 'overflow: scroll'
2586
+ }
2587
+ }
2588
+ ]
2589
+ });
2590
+
2591
+ const schema = [
2592
+ metaProps(),
2593
+ formAnchor(),
2594
+ {
2595
+ $cmp: 'FormKit',
2596
+ props: formProps({
2597
+ formId: 'generalLegal',
2598
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect)',
2599
+ redirectMap: legalRedirectMap(),
2600
+ anchorElement: 'form-anchor',
2601
+ valueOverrideMap: legalCivilValueOverrideMap,
2602
+ inputMap: bankruptcyInputMap
2603
+ }),
2604
+ children: [
2605
+ headline({
2606
+ children: 'Need Legal Help? Start Here!',
2607
+ if: '$activeStep === $firstStep()'
2608
+ }),
2609
+ subHeadline({
2610
+ children: 'Get Your Questions Answered Today!',
2611
+ if: '$activeStep === $firstStep()'
2612
+ }),
2613
+ ...hiddenInputs,
2614
+ {
2615
+ $el: 'div',
2616
+ attrs: {
2617
+ class: 'form-body'
2618
+ },
2619
+ children: [
2620
+ generalLegalTOLPAndZip(),
2621
+ generalLegalTOLPQuestions(),
2622
+ commentsWithBankruptcy({
2623
+ nextOnEnter: false
2624
+ }),
2625
+ firstAndLast(),
2626
+ contactInfo({
2627
+ nextOnEnter: false
2628
+ }),
2629
+ formNavigation(),
2630
+ formDetails()
2631
+ ]
2632
+ }
2633
+ ]
2634
+ }
2635
+ ];
2636
+
2637
+ export { schema as default };