bhl-forms 0.6.4 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/bhl-forms.iife.js +1 -1
  2. package/dist/bhl-forms.modern.iife.js +1 -1
  3. package/dist/bhl-forms.modern.umd.js +1 -1
  4. package/dist/bhl-forms.umd.js +1 -1
  5. package/dist/forms/accidentsAndInjuries.es.js +1439 -864
  6. package/dist/forms/accidentsAndInjuries.iife.js +1 -1
  7. package/dist/forms/accidentsAndInjuries.json +1 -1
  8. package/dist/forms/appraisals.es.js +115 -115
  9. package/dist/forms/appraisals.iife.js +1 -1
  10. package/dist/forms/childAndFamily.es.js +789 -768
  11. package/dist/forms/childAndFamily.iife.js +1 -1
  12. package/dist/forms/childAndFamily.json +1 -1
  13. package/dist/forms/childAndFamilySingle.es.js +755 -750
  14. package/dist/forms/childAndFamilySingle.iife.js +1 -1
  15. package/dist/forms/childAndFamilySingle.json +1 -1
  16. package/dist/forms/civilLawsuit.es.js +835 -809
  17. package/dist/forms/civilLawsuit.iife.js +1 -1
  18. package/dist/forms/civilLawsuit.json +1 -1
  19. package/dist/forms/coins.es.js +115 -115
  20. package/dist/forms/coins.iife.js +1 -1
  21. package/dist/forms/contracts.es.js +1454 -720
  22. package/dist/forms/contracts.iife.js +1 -1
  23. package/dist/forms/contracts.json +1 -1
  24. package/dist/forms/criminal.es.js +870 -828
  25. package/dist/forms/criminal.iife.js +1 -1
  26. package/dist/forms/criminal.json +1 -1
  27. package/dist/forms/employmentAndWorkplace.es.js +1827 -1193
  28. package/dist/forms/employmentAndWorkplace.iife.js +1 -1
  29. package/dist/forms/employmentAndWorkplace.json +1 -1
  30. package/dist/forms/generalLegal.es.js +852 -811
  31. package/dist/forms/generalLegal.iife.js +1 -1
  32. package/dist/forms/generalLegal.json +1 -1
  33. package/dist/forms/generalLegalPopUnder.es.js +852 -810
  34. package/dist/forms/generalLegalPopUnder.iife.js +1 -1
  35. package/dist/forms/generalLegalPopUnder.json +1 -1
  36. package/dist/forms/generalLegalSingle.es.js +1525 -1506
  37. package/dist/forms/generalLegalSingle.iife.js +1 -1
  38. package/dist/forms/generalLegalSingle.json +1 -1
  39. package/dist/forms/generalLegalThankYou.es.js +708 -698
  40. package/dist/forms/generalLegalThankYou.iife.js +1 -1
  41. package/dist/forms/generalLegalThankYou.json +1 -1
  42. package/dist/forms/harassmentAndDiscrimination.es.js +1481 -702
  43. package/dist/forms/harassmentAndDiscrimination.iife.js +1 -1
  44. package/dist/forms/harassmentAndDiscrimination.json +1 -1
  45. package/dist/forms/malpractice.es.js +1764 -1071
  46. package/dist/forms/malpractice.iife.js +1 -1
  47. package/dist/forms/malpractice.json +1 -1
  48. package/dist/forms/mechanics.es.js +115 -115
  49. package/dist/forms/mechanics.iife.js +1 -1
  50. package/dist/forms/realEstate.es.js +1556 -1213
  51. package/dist/forms/realEstate.iife.js +1 -1
  52. package/dist/forms/realEstate.json +1 -1
  53. package/dist/forms/repossession.es.js +1572 -851
  54. package/dist/forms/repossession.iife.js +1 -1
  55. package/dist/forms/repossession.json +1 -1
  56. package/dist/forms/ssdi.es.js +672 -677
  57. package/dist/forms/ssdi.iife.js +1 -1
  58. package/dist/forms/ssdi.json +1 -1
  59. package/dist/forms/testForm.es.js +473 -468
  60. package/dist/forms/testForm.iife.js +1 -1
  61. package/dist/forms/testForm.json +1 -1
  62. package/dist/forms/testRedirects.es.js +104 -101
  63. package/dist/forms/testRedirects.iife.js +1 -1
  64. package/dist/forms/testRedirects.json +1 -1
  65. package/dist/forms/vets.es.js +115 -115
  66. package/dist/forms/vets.iife.js +1 -1
  67. package/dist/forms/willsAndTrusts.es.js +1298 -710
  68. package/dist/forms/willsAndTrusts.iife.js +1 -1
  69. package/dist/forms/willsAndTrusts.json +1 -1
  70. package/dist/main.css +1 -1
  71. package/package.json +1 -1
  72. package/dist/forms/generalLegalPopUnderTF.es.js +0 -3092
  73. package/dist/forms/generalLegalPopUnderTF.iife.js +0 -1
  74. package/dist/forms/generalLegalPopUnderTF.json +0 -1
@@ -15,628 +15,124 @@ const DEFAULT_FINAL_HEADLINE_DYNAMIC = '$getKey($meta, "finalHeadlines." + $get(
15
15
  const DEFAULT_FINAL_SUBHEADLINE = 'You may benefit from speaking with a legal professional. Please verify your contact information.';
16
16
  const DEFAULT_FINAL_SUBHEADLINE_DYNAMIC = '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
17
17
 
18
- const formPropDefaults = {
19
- type: 'form',
20
- id: 'form',
21
- config: { validationVisibility: 'submit' },
22
- onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
23
- plugins: '$plugins',
24
- actions: false,
25
- anchorElement: 'form-anchor',
26
- useLocalStorage: true,
27
- prepop: {
28
- fromURL: true
29
- },
30
- errorCodes: {
31
- 403: { message: "An Error Occurred", abort: false },
32
- 409: { abort: false },
33
- 429: "An Error Occurred",
34
- 504: { message: "An Error Occurred", abort: false },
35
- },
36
- formClass: '!t-max-w-[40rem]'
37
- };
18
+ // ------ Common Base Settings
38
19
 
39
- function formProps(updates) {
40
- const props = merge(
41
- formPropDefaults,
42
- updates
43
- );
44
- if (props.formId && !props.name) {
45
- props.name = props.formId;
20
+ const checkbox = (updates) => {
21
+ if (updates.name && !updates.id) {
22
+ updates.id = updates.name;
46
23
  }
47
- return props
48
- }
24
+ return merge({
25
+ $formkit: 'checkbox',
26
+ validation: 'required',
27
+ validationMessages: {
28
+ required: 'Field is required'
29
+ }
30
+ }, updates)
31
+ };
49
32
 
50
- const metaDefaults = {
51
- tcpaLanguage: TCPA_LANGUAGE
33
+ const sbsCheckbox = (updates) => {
34
+ updates.legendClass = 'legend-left required';
35
+ updates.fieldsetClass = '$reset side-by-side';
36
+ updates.optionsClass = 't-pl-1';
37
+ updates.innerClass = 't-flex t-items-center';
38
+ updates.wrapperClass = 't-mb-3';
39
+ return checkbox(updates)
52
40
  };
53
41
 
54
- function metaProps(updates) {
55
- const data = merge(
56
- metaDefaults,
57
- updates
58
- );
59
- return {
60
- type: 'meta',
61
- data
42
+ const col2Checkbox = (updates) => {
43
+ if (!updates || !updates.legendClass) {
44
+ updates.legendClass = 'required';
62
45
  }
63
- }
64
-
65
- function defaultMetaProps() {
66
- return metaProps({
67
- defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
68
- commentsPlaceholders: TOLPCommentsPlaceholders,
69
- defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
70
- finalHeadlines: TOLPFinalHeadlines,
71
- defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
72
- finalSubHeadlines: TOLPFinalSubHeadlines,
73
- // Added everywhere for now
74
- // trustedFormTOLPs: trustedFormTOLPs
75
- })
76
- }
46
+ updates.fieldsetClass = '$reset';
47
+ updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
48
+ updates.innerClass = 't-items-start';
49
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
50
+ return checkbox(updates)
51
+ };
77
52
 
78
- const formAnchorDefaults = {
79
- $el: 'div',
80
- children: [
81
- {
82
- $el: 'div',
83
- attrs: {
84
- id: 'form-anchor',
85
- class: 't-absolute',
86
- style: { top: '-30px', left: 0 }
87
- }
88
- }
89
- ],
90
- attrs: {
91
- class: 't-relative'
53
+ const radio = (updates) => {
54
+ if (updates.name && !updates.id) {
55
+ updates.id = updates.name;
92
56
  }
57
+ return merge({
58
+ $formkit: 'radio',
59
+ validation: 'required',
60
+ validationMessages: {
61
+ required: 'Field is required'
62
+ },
63
+ optionsClass: 't-pt-3 t-pl-1',
64
+ legendClass: 'required'
65
+ }, updates)
93
66
  };
94
67
 
95
- function formAnchor(updates) {
96
- return merge(
97
- formAnchorDefaults,
98
- updates
99
- )
100
- }
101
-
102
- function headlineDefaults(updates = {}) {
103
- return {
104
- $el: 'h1',
105
- attrs: {
106
- class: 't-flex t-justify-center t-text-center !t-text-[2rem] t-font-semibold t-pt-5 t-px-7 md:t-px-3' + ' ' + (updates.headlineClass || '')
107
- }
108
- }
109
- }
68
+ const col2Radio = (updates) => {
69
+ updates.legendClass = 'required';
70
+ updates.fieldsetClass = '$reset';
71
+ updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
72
+ updates.innerClass = 't-items-start';
73
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
74
+ return radio(updates)
75
+ };
110
76
 
111
- function headline(updates = {}) {
112
- return merge(
113
- headlineDefaults(updates),
114
- updates
115
- )
116
- }
77
+ const sbsRadio = (updates) => {
78
+ updates.legendClass = 'legend-left required';
79
+ updates.fieldsetClass = '$reset side-by-side';
80
+ updates.optionsClass = 't-pl-1';
81
+ updates.innerClass = 't-flex t-items-center';
82
+ updates.wrapperClass = 't-mb-3';
83
+ return radio(updates)
84
+ };
117
85
 
118
- function subHeadlineDefaults(updates = {}) {
119
- return {
120
- $el: 'h3',
121
- attrs: {
122
- class: 't-flex t-justify-center t-text-center !t-text-[1.2rem] t-font-medium t-text-blue-500 t-px-10' + ' ' + (updates.subheadlineClass || '')
123
- }
124
- }
125
- }
86
+ const sbs2ColRadio = (updates) => {
87
+ updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
88
+ updates.fieldsetClass = '$reset side-by-side-flex';
89
+ updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
90
+ updates.innerClass = 't-flex t-items-start';
91
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
92
+ return radio(updates)
93
+ };
126
94
 
127
- function subHeadline(updates = {}) {
128
- return merge(
129
- subHeadlineDefaults(updates),
130
- updates
131
- )
132
- }
95
+ const sbs2ItemRadio = (updates) => {
96
+ updates.legendClass = 'legend-left t-pb-1 required';
97
+ updates.fieldsetClass = '$reset side-by-side t-items-center';
98
+ updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
99
+ updates.innerClass = 't-flex t-items-center';
100
+ updates.optionClass = 't-pr-1';
101
+ return radio(updates)
102
+ };
133
103
 
134
- function defaultSubHeadline() {
135
- return subHeadline({
136
- children: '$urlParam("shl", "Our Service is Fast and Free!")',
137
- if: '$activeStep === $firstStep()'
138
- })
139
- }
104
+ const sbsYesNoRadio = (updates) => {
105
+ updates.options = ['Yes', 'No'];
106
+ return sbs2ItemRadio(updates)
107
+ };
140
108
 
141
- const secureIconDefault = {
142
- $el: 'div',
143
- if: '$activeStep === $lastStep()',
144
- attrs: {
145
- class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
146
- },
147
- children: [
148
- {
149
- $el: 'img',
150
- attrs: {
151
- loading: 'lazy',
152
- alt: '',
153
- style: {
154
- border: 0
155
- },
156
- width: '25',
157
- height: '25',
158
- src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
159
- }
109
+ const select = (updates) => {
110
+ if (updates.name && !updates.id) {
111
+ updates.id = updates.name;
112
+ }
113
+ return merge({
114
+ $formkit: 'select',
115
+ placeholder: "Please Select",
116
+ validation: 'required',
117
+ validationMessages: {
118
+ required: 'Field is required'
160
119
  },
161
- {
162
- $el: 'span',
163
- children: 'Secure & Encrypted',
164
- attrs: {
165
- class: 't-pl-2 t-pt-1 t-font-medium'
166
- }
167
- }
168
- ]
120
+ inputClass: 't-bg-white',
121
+ labelClass: 'required'
122
+ }, updates)
169
123
  };
170
124
 
125
+ const sbsSelect = (updates) => {
126
+ updates.labelClass = 'required';
127
+ updates.wrapperClass = 'side-by-side t-items-center';
128
+ updates.innerClass = 'select-height-content';
129
+ updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
130
+ return select(updates)
131
+ };
171
132
 
172
- function secureIcon(updates) {
173
- return merge(
174
- secureIconDefault,
175
- updates
176
- )
177
- }
178
-
179
- const hiddenInputsBase = [
180
- {
181
- $formkit: 'hidden',
182
- name: "gclid",
183
- value: null
184
- },
185
- {
186
- $formkit: 'hidden',
187
- name: "campaignid",
188
- value: null
189
- },
190
- {
191
- $formkit: 'hidden',
192
- name: "s",
193
- value: null
194
- }
195
- ];
196
-
197
- const hiddenInputsLegal = [
198
- {
199
- $formkit: 'hidden',
200
- name: "vertical",
201
- value: "Legal"
202
- },
203
- {
204
- $formkit: 'hidden',
205
- name: "TCPA_Language",
206
- value: "$meta.tcpaLanguage"
207
- },
208
- ...hiddenInputsBase
209
- ];
210
-
211
- const legalRedirectMapDefaults = {
212
- '*': LegalRedirectUrl()
213
- };
214
-
215
-
216
- function legalRedirectMap(updates) {
217
- return merge(
218
- legalRedirectMapDefaults,
219
- updates
220
- )
221
- }
222
-
223
- const legalAllValueOverrideMap = {
224
- 'Civil_Defense': {
225
- 'Yes': {
226
- 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
227
- },
228
- 'No': {
229
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
230
- }
231
- },
232
- 'Type_Of_Legal_Problem_Display': {
233
- // Accidents and PI
234
- 'Auto Accident': {
235
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
236
- },
237
- 'Dog Bite': {
238
- 'Type_Of_Legal_Problem': 'Personal Injury'
239
- },
240
- 'Slip and Fall': {
241
- 'Type_Of_Legal_Problem': 'Personal Injury'
242
- },
243
- 'Workplace Injury': {
244
- 'Type_Of_Legal_Problem': 'Workers Compensation'
245
- },
246
- 'Trucking Accident': {
247
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
248
- },
249
- 'Motorcycle Accident': {
250
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
251
- },
252
- 'Other Accidents or Injuries': {
253
- 'Type_Of_Legal_Problem': 'Personal Injury'
254
- },
255
- // Civil
256
- 'Automobile Accident': {
257
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
258
- },
259
- 'Contract Disputes': {
260
- 'Type_Of_Legal_Problem': 'Business Lawyers'
261
- },
262
- 'Defamation and Slander': {
263
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
264
- },
265
- 'Dog Bite': {
266
- 'Type_Of_Legal_Problem': 'Personal Injury'
267
- },
268
- 'Employment and Workplace': {
269
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
270
- },
271
- 'Fraud': {
272
- 'Type_Of_Legal_Problem': 'Consumer Lawyers'
273
- },
274
- 'Medical Malpractice': {
275
- 'Type_Of_Legal_Problem': 'Medical Malpractice'
276
- },
277
- 'Personal Injury': {
278
- 'Type_Of_Legal_Problem': 'Personal Injury'
279
- },
280
- 'Property Damage': {
281
- 'Type_Of_Legal_Problem': 'Property Damage'
282
- },
283
- 'Small Claims': {
284
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
285
- },
286
- 'Real Estate': {
287
- 'Type_Of_Legal_Problem': 'Real Estate'
288
- },
289
- 'Other (describe on next page)': {
290
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
291
- },
292
- // Contracts
293
- 'Contract Creation': {
294
- 'Type_Of_Legal_Problem': 'Business Lawyers',
295
- 'Business_Services': 'Contracts'
296
- },
297
- 'Contract Enforcement': {
298
- 'Type_Of_Legal_Problem': 'Business Lawyers',
299
- 'Business_Services': 'Contracts'
300
- },
301
- 'Contract Cancellation': {
302
- 'Type_Of_Legal_Problem': 'Business Lawyers',
303
- 'Business_Services': 'Contracts'
304
- },
305
- 'Contract Fraud': {
306
- 'Type_Of_Legal_Problem': 'Business Lawyers',
307
- 'Business_Services': 'Contracts'
308
- },
309
- 'Breach of Contract': {
310
- 'Type_Of_Legal_Problem': 'Business Lawyers',
311
- 'Business_Services': 'Contracts'
312
- },
313
- 'Other Contract Issues': {
314
- 'Type_Of_Legal_Problem': 'Business Lawyers',
315
- 'Business_Services': 'Contracts'
316
- },
317
- // Criminal
318
- 'Criminal Defense': {
319
- 'Type_Of_Legal_Problem': 'Criminal and Felony'
320
- },
321
- 'Victim of a Crime': {
322
- 'Type_Of_Legal_Problem': 'Victim of a Crime'
323
- },
324
- 'DUI and DWI': {
325
- 'Type_Of_Legal_Problem': 'DUI and DWI'
326
- },
327
- 'Expungement': {
328
- 'Type_Of_Legal_Problem': 'Expungement'
329
- },
330
- 'Harassment': {
331
- 'Type_Of_Legal_Problem': 'Criminal and Felony'
332
- },
333
- 'Not Sure or Other': {
334
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
335
- },
336
- // Employment and Workplace
337
- 'Workplace Harassment': {
338
- 'Type_Of_Legal_Problem': 'Workplace Harassment'
339
- },
340
- 'Workplace Discrimination': {
341
- 'Type_Of_Legal_Problem': 'Workplace Discrimination'
342
- },
343
- 'Wrongful Termination': {
344
- 'Type_Of_Legal_Problem': 'Wrongful Termination'
345
- },
346
- 'Payment Disputes': {
347
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
348
- },
349
- 'Workers Compensation': {
350
- 'Type_Of_Legal_Problem': 'Workers Compensation'
351
- },
352
- 'Unemployment': {
353
- 'Type_Of_Legal_Problem': 'Unemployment'
354
- },
355
- 'Other Workplace Issues': {
356
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
357
- },
358
- // Malpractice
359
- 'Attorney Malpractice': {
360
- 'Type_Of_Legal_Problem': 'Civil Lawsuit'
361
- },
362
- 'Other Malpractice Issues': {
363
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
364
- },
365
- // Repossession
366
- 'Vehicle Repossession': {
367
- 'Type_Of_Legal_Problem': 'Bankruptcy'
368
- },
369
- 'Property Repossession': {
370
- 'Type_Of_Legal_Problem': 'Bankruptcy'
371
- },
372
- 'Other Repossession Issues': {
373
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
374
- },
375
- // Real Estate
376
- 'Contracts and Agreements': {
377
- 'Type_Of_Legal_Problem': 'Real Estate'
378
- },
379
- 'Deeds, Liens, and Titles': {
380
- 'Type_Of_Legal_Problem': 'Real Estate'
381
- },
382
- 'Foreclosure': {
383
- 'Type_Of_Legal_Problem': 'Foreclosure'
384
- },
385
- 'Insurance': {
386
- 'Type_Of_Legal_Problem': 'Insurance'
387
- },
388
- 'Landlord and Tenant': {
389
- 'Type_Of_Legal_Problem': 'Landlord and Tenant',
390
- },
391
- 'Loans and Mortgages': {
392
- 'Type_Of_Legal_Problem': 'Real Estate',
393
- },
394
- 'Wills, Trusts, and Estates': {
395
- 'Type_Of_Legal_Problem': 'Wills and Trusts'
396
- },
397
- 'Property Damage': {
398
- 'Type_Of_Legal_Problem': 'Property Damage'
399
- },
400
- 'Other Real Estate Issues': {
401
- 'Type_Of_Legal_Problem': 'Real Estate'
402
- }
403
- }
404
- };
405
-
406
- const TOLPCommentsPlaceholders = {
407
- 'Adoption': 'Example: "I need help with adoption forms"',
408
- 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
409
- 'Auto and Car Accidents': 'Example: "A truck crashed into my car on the highway" or "I\'ve been involved in a hit and run accident"',
410
- 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
411
- 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
412
- 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
413
- 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
414
- 'Child Custody': 'Example: "Need help getting custody"',
415
- 'Child Support': 'Example: "Issues with child support payments"',
416
- 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
417
- 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
418
- 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
419
- 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
420
- 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
421
- 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
422
- 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
423
- 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
424
- 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
425
- 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
426
- 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
427
- 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
428
- 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
429
- 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
430
- 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
431
- 'Guardianship': 'Example: "I need help with guardianship documents"',
432
- 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
433
- 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
434
- 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
435
- 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
436
- 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
437
- 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
438
- 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
439
- 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
440
- 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
441
- 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
442
- 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
443
- 'Long Term Disability': 'Example: "I was injured on the job and would like to file for benefits" or "I need help filing for disability benefits"',
444
- 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
445
- 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
446
- 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
447
- 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
448
- 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
449
- 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
450
- 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
451
- 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
452
- 'Social Security Disability and Insurance': 'Example: "I would like help filing for disability benefits" or "I\'ve been denied for SSDI and would like to appeal"',
453
- 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
454
- 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
455
- 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
456
- 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
457
- 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
458
- 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
459
- 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
460
- 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
461
- 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
462
- };
463
-
464
- const TOLPFinalHeadlines = {
465
- // 'Adoption': '',
466
- };
467
-
468
- const TOLPFinalSubHeadlines = {
469
- 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
470
- // 'Asbestos and Mesothelioma': '',
471
- 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
472
- 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
473
- // 'Birth Certificate and Name Change': '',
474
- // 'Business Lawyers': '',
475
- // 'Child Custody and Support': '',
476
- // 'Civil Rights and Discrimination': '',
477
- // 'Civil Lawsuit': '',
478
- // 'Consumer Lawyers': '',
479
- 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
480
- // 'Criminal and Felony': '',
481
- // 'Debt and Collections': '',
482
- 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
483
- 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
484
- 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
485
- // 'Employment and Workplace': '',
486
- // 'Expungement': '',
487
- // 'Family Issues': '',
488
- 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
489
- 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
490
- // 'Harassment and Discrimination': '',
491
- // 'Identity Theft': '',
492
- 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
493
- // 'Insurance': '',
494
- 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
495
- // 'Lemon Law': '',
496
- 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
497
- 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
498
- 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
499
- 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
500
- // 'Power of Attorney': '',
501
- 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
502
- // 'Product Liability': '',
503
- // 'Property Damage': '',
504
- 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
505
- 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
506
- 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
507
- // 'Traffic and Tickets': '',
508
- 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
509
- // 'Victim of a Crime': '',
510
- // 'Wills and Trusts': '',
511
- 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
512
- // 'Wrongful Death': '',
513
- // 'Wrongful Termination': '',
514
- // 'Not Sure or Other': ''
515
- // 'Sexual Harassment': '',
516
- // 'Workplace Harassment': '',
517
- // 'Non-Workplace Harassment': '',
518
- // 'Workplace Discrimination': '',
519
- // 'Non-Workplace Discrimination': '',
520
- };
521
-
522
- // ------ Common Base Settings
523
-
524
- const checkbox = (updates) => {
525
- if (updates.name && !updates.id) {
526
- updates.id = updates.name;
527
- }
528
- return merge({
529
- $formkit: 'checkbox',
530
- validation: 'required',
531
- validationMessages: {
532
- required: 'Field is required'
533
- }
534
- }, updates)
535
- };
536
-
537
- const sbsCheckbox = (updates) => {
538
- updates.legendClass = 'legend-left required';
539
- updates.fieldsetClass = '$reset side-by-side';
540
- updates.optionsClass = 't-pl-1';
541
- updates.innerClass = 't-flex t-items-center';
542
- updates.wrapperClass = 't-mb-3';
543
- return checkbox(updates)
544
- };
545
-
546
- const col2Checkbox = (updates) => {
547
- if (!updates || !updates.legendClass) {
548
- updates.legendClass = 'required';
549
- }
550
- updates.fieldsetClass = '$reset';
551
- updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
552
- updates.innerClass = 't-items-start';
553
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
554
- return checkbox(updates)
555
- };
556
-
557
- const radio = (updates) => {
558
- if (updates.name && !updates.id) {
559
- updates.id = updates.name;
560
- }
561
- return merge({
562
- $formkit: 'radio',
563
- validation: 'required',
564
- validationMessages: {
565
- required: 'Field is required'
566
- },
567
- optionsClass: 't-pt-3 t-pl-1',
568
- legendClass: 'required'
569
- }, updates)
570
- };
571
-
572
- const col2Radio = (updates) => {
573
- updates.legendClass = 'required';
574
- updates.fieldsetClass = '$reset';
575
- updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
576
- updates.innerClass = 't-items-start';
577
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
578
- return radio(updates)
579
- };
580
-
581
- const sbsRadio = (updates) => {
582
- updates.legendClass = 'legend-left required';
583
- updates.fieldsetClass = '$reset side-by-side';
584
- updates.optionsClass = 't-pl-1';
585
- updates.innerClass = 't-flex t-items-center';
586
- updates.wrapperClass = 't-mb-3';
587
- return radio(updates)
588
- };
589
-
590
- const sbs2ColRadio = (updates) => {
591
- updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
592
- updates.fieldsetClass = '$reset side-by-side-flex';
593
- updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
594
- updates.innerClass = 't-flex t-items-start';
595
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
596
- return radio(updates)
597
- };
598
-
599
- const sbs2ItemRadio = (updates) => {
600
- updates.legendClass = 'legend-left t-pb-1 required';
601
- updates.fieldsetClass = '$reset side-by-side t-items-center';
602
- updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
603
- updates.innerClass = 't-flex t-items-center';
604
- updates.optionClass = 't-pr-1';
605
- return radio(updates)
606
- };
607
-
608
- const sbsYesNoRadio = (updates) => {
609
- updates.options = ['Yes', 'No'];
610
- return sbs2ItemRadio(updates)
611
- };
612
-
613
- const select = (updates) => {
614
- if (updates.name && !updates.id) {
615
- updates.id = updates.name;
616
- }
617
- return merge({
618
- $formkit: 'select',
619
- placeholder: "Please Select",
620
- validation: 'required',
621
- validationMessages: {
622
- required: 'Field is required'
623
- },
624
- inputClass: 't-bg-white',
625
- labelClass: 'required'
626
- }, updates)
627
- };
628
-
629
- const sbsSelect = (updates) => {
630
- updates.labelClass = 'required';
631
- updates.wrapperClass = 'side-by-side t-items-center';
632
- updates.innerClass = 'select-height-content';
633
- updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
634
- return select(updates)
635
- };
636
-
637
- const text = (updates) => {
638
- if (updates.name && !updates.id) {
639
- updates.id = updates.name;
133
+ const text = (updates) => {
134
+ if (updates.name && !updates.id) {
135
+ updates.id = updates.name;
640
136
  }
641
137
  return merge({
642
138
  $formkit: 'text',
@@ -1268,6 +764,11 @@ const employerType = () => sbsSelect({
1268
764
  ]
1269
765
  });
1270
766
 
767
+ const employeeAtCompany = (scope) => sbsYesNoRadio({
768
+ name: scope ? scope + ':' + 'Employee_At_Company' : 'Employee_At_Company',
769
+ label: 'Do you/they still work at the company?'
770
+ });
771
+
1271
772
  const employmentAndWorkplaceTOLPDisplay = (updates) => col2Radio(merge({
1272
773
  name: 'Type_Of_Legal_Problem_Display',
1273
774
  if: '$get(Type_Of_Legal_Problem).value == "Employment and Workplace"',
@@ -1754,7 +1255,7 @@ const realEstateTOLPDisplay = (updates) => col2Radio(merge({
1754
1255
  'Loans and Mortgages',
1755
1256
  'Wills, Trusts, and Estates',
1756
1257
  'Property Damage',
1757
- 'Other Real Estate Issues'
1258
+ 'Not Sure or Other'
1758
1259
  ]
1759
1260
  }, updates));
1760
1261
 
@@ -2294,6 +1795,7 @@ const EmploymentAndWorkplaceQuestions = () => group(
2294
1795
  haveAttorney(),
2295
1796
  numEmployeesOfBusiness(),
2296
1797
  employerType(),
1798
+ employeeAtCompany(),
2297
1799
  degreeOfInterestHelp()
2298
1800
  ]
2299
1801
  }
@@ -2377,7 +1879,13 @@ const WorkplaceHarassmentQuestions = () => group(
2377
1879
  'WorkplaceHarassmentQuestions',
2378
1880
  {
2379
1881
  if: '$get(Type_Of_Legal_Problem).value == "Workplace Harassment"',
2380
- children: defaultQuestions()
1882
+ children: [
1883
+ haveAttorney(),
1884
+ numEmployeesOfBusiness(),
1885
+ employerType(),
1886
+ employeeAtCompany(),
1887
+ degreeOfInterestHelp()
1888
+ ]
2381
1889
  }
2382
1890
  );
2383
1891
 
@@ -2393,7 +1901,13 @@ const WorkplaceDiscriminationQuestions = () => group(
2393
1901
  'WorkplaceDiscriminationQuestions',
2394
1902
  {
2395
1903
  if: '$get(Type_Of_Legal_Problem).value == "Workplace Discrimination"',
2396
- children: defaultQuestions()
1904
+ children: [
1905
+ haveAttorney(),
1906
+ numEmployeesOfBusiness(),
1907
+ employerType(),
1908
+ employeeAtCompany(),
1909
+ degreeOfInterestHelp()
1910
+ ]
2397
1911
  }
2398
1912
  );
2399
1913
 
@@ -2756,6 +2270,43 @@ const findLastInput = (n) => {
2756
2270
  return null
2757
2271
  };
2758
2272
 
2273
+ const secureIconDefault = {
2274
+ $el: 'div',
2275
+ if: '$activeStep === $lastStep()',
2276
+ attrs: {
2277
+ class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
2278
+ },
2279
+ children: [
2280
+ {
2281
+ $el: 'img',
2282
+ attrs: {
2283
+ loading: 'lazy',
2284
+ alt: '',
2285
+ style: {
2286
+ border: 0
2287
+ },
2288
+ width: '25',
2289
+ height: '25',
2290
+ src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
2291
+ }
2292
+ },
2293
+ {
2294
+ $el: 'span',
2295
+ children: 'Secure & Encrypted',
2296
+ attrs: {
2297
+ class: 't-pl-2 t-pt-1 t-font-medium'
2298
+ }
2299
+ }
2300
+ ]
2301
+ };
2302
+
2303
+ function secureIcon(updates) {
2304
+ return merge(
2305
+ secureIconDefault,
2306
+ updates
2307
+ )
2308
+ }
2309
+
2759
2310
  function questionsStepHeadline(updates) {
2760
2311
  return {
2761
2312
  $el: 'h3',
@@ -2913,11 +2464,14 @@ function generalLegalTOLPAndZip(updates = {}) {
2913
2464
  realEstateTOLPDisplay(),
2914
2465
  zipcode()
2915
2466
  ],
2916
- updates.nextOnEnter
2467
+ updates.nextOnEnter,
2468
+ updates.nextOnInput,
2469
+ updates.stepKey,
2470
+ updates.nextStepMap
2917
2471
  )
2918
2472
  }
2919
2473
 
2920
- function commentsWithBankruptcyV2(updates = {}) {
2474
+ function commentsWithBankruptcy(updates = {}) {
2921
2475
  return step(
2922
2476
  'commentsWithBankruptcy',
2923
2477
  [
@@ -2925,7 +2479,7 @@ function commentsWithBankruptcyV2(updates = {}) {
2925
2479
  comments({
2926
2480
  label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
2927
2481
  placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
2928
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-40' : updates.inputClass,
2482
+ inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
2929
2483
  }),
2930
2484
  bankruptcyCrossSell(),
2931
2485
  {
@@ -2940,29 +2494,23 @@ function commentsWithBankruptcyV2(updates = {}) {
2940
2494
  ],
2941
2495
  }
2942
2496
  ],
2943
- // TODO: UGLY: use named params!
2944
- updates.nextOnEnter,
2945
- false,
2946
- undefined,
2947
- undefined,
2948
- false
2497
+ false // nextOnEnter
2949
2498
  )
2950
2499
  }
2951
2500
 
2952
- function contactInfoV2(updates = {}) {
2501
+ function contactInfo(updates = {}) {
2953
2502
  return step(
2954
2503
  'contactInfo',
2955
2504
  [
2956
2505
  contactStepHeadline(updates),
2957
2506
  contactStepSubHeadline(updates),
2958
- // Added TF everywhere
2959
2507
  trustedFormScript(),
2960
2508
  email(),
2961
2509
  phone(),
2962
2510
  TCPAConsent(),
2963
2511
  secureIcon()
2964
2512
  ],
2965
- updates.nextOnEnter
2513
+ false, // nextOnEnter
2966
2514
  )
2967
2515
  }
2968
2516
 
@@ -3086,260 +2634,768 @@ function childCustodyCrossSellQuestions(updates = {}) {
3086
2634
  placeholder: 'Please describe your situation in a few words...',
3087
2635
  inputClass: '!t-h-16'
3088
2636
  },
3089
- 'CrossSell:Child_Custody'
2637
+ 'CrossSell:Child_Custody'
2638
+ )
2639
+ ],
2640
+ updates.nextOnEnter
2641
+ )
2642
+ }
2643
+
2644
+ function divorceAndSeparationCrossSellQuestions(updates = {}) {
2645
+ return step(
2646
+ 'divorceAndSeparationCrossSellQuestions',
2647
+ [
2648
+ crossSellQuestionsStepHeadline({ headline: 'Divorce or Separation Information' }),
2649
+ DivorceQuestions("true", 'CrossSell:Divorce_and_Separation'),
2650
+ comments(
2651
+ {
2652
+ label: 'Description:',
2653
+ placeholder: 'Please describe your situation in a few words...',
2654
+ inputClass: '!t-h-16'
2655
+ },
2656
+ 'CrossSell:Divorce_and_Separation'
2657
+ )
2658
+ ],
2659
+ updates.nextOnEnter
2660
+ )
2661
+ }
2662
+
2663
+ function duiAndDWICrossSellQuestions(updates = {}) {
2664
+ return step(
2665
+ 'duiAndDWICrossSellQuestions',
2666
+ [
2667
+ crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
2668
+ DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
2669
+ comments(
2670
+ {
2671
+ label: 'Incident Description:',
2672
+ placeholder: 'Please describe your incident in a few words...',
2673
+ inputClass: '!t-h-16'
2674
+ },
2675
+ 'CrossSell:DUI_and_DWI'
2676
+ )
2677
+ ],
2678
+ updates.nextOnEnter
2679
+ )
2680
+ }
2681
+
2682
+ function ssdiCrossSellQuestions(updates = {}) {
2683
+ return step(
2684
+ 'ssdiCrossSellQuestions',
2685
+ [
2686
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
2687
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
2688
+ SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
2689
+ comments(
2690
+ {
2691
+ label: 'Description:',
2692
+ placeholder: 'Please describe your situation in a few words...',
2693
+ inputClass: '!t-h-16'
2694
+ },
2695
+ 'CrossSell:Social_Security_Disability_and_Insurance'
3090
2696
  )
3091
2697
  ],
3092
2698
  updates.nextOnEnter
3093
2699
  )
3094
2700
  }
3095
2701
 
3096
- function divorceAndSeparationCrossSellQuestions(updates = {}) {
2702
+ function personalInjuryCrossSellQuestions(updates = {}) {
3097
2703
  return step(
3098
- 'divorceAndSeparationCrossSellQuestions',
2704
+ 'personalInjuryCrossSellQuestions',
3099
2705
  [
3100
- crossSellQuestionsStepHeadline({ headline: 'Divorce or Separation Information' }),
3101
- DivorceQuestions("true", 'CrossSell:Divorce_and_Separation'),
2706
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
2707
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
2708
+ PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
3102
2709
  comments(
3103
2710
  {
3104
- label: 'Description:',
3105
- placeholder: 'Please describe your situation in a few words...',
2711
+ label: 'Injury Description:',
2712
+ placeholder: 'Please describe your injury in a few words...',
3106
2713
  inputClass: '!t-h-16'
3107
2714
  },
3108
- 'CrossSell:Divorce_and_Separation'
2715
+ 'CrossSell:Personal_Injury'
3109
2716
  )
3110
2717
  ],
3111
2718
  updates.nextOnEnter
3112
2719
  )
3113
2720
  }
3114
2721
 
3115
- function duiAndDWICrossSellQuestions(updates = {}) {
2722
+ function powerOfAttorneyCrossSellQuestions(updates = {}) {
3116
2723
  return step(
3117
- 'duiAndDWICrossSellQuestions',
2724
+ 'powerOfAttorneyCrossSellQuestions',
3118
2725
  [
3119
- crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
3120
- DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
2726
+ crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
2727
+ PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
3121
2728
  comments(
3122
2729
  {
3123
- label: 'Incident Description:',
3124
- placeholder: 'Please describe your incident in a few words...',
2730
+ label: 'Description:',
2731
+ placeholder: 'Please describe your situation in a few words...',
3125
2732
  inputClass: '!t-h-16'
3126
2733
  },
3127
- 'CrossSell:DUI_and_DWI'
2734
+ 'CrossSell:Power_of_Attorney'
3128
2735
  )
3129
2736
  ],
3130
2737
  updates.nextOnEnter
3131
2738
  )
3132
2739
  }
3133
2740
 
3134
- function ssdiCrossSellQuestions(updates = {}) {
2741
+ function willsAndTrustsCrossSellQuestions(updates = {}) {
3135
2742
  return step(
3136
- 'ssdiCrossSellQuestions',
2743
+ 'willsAndTrustsCrossSellQuestions',
3137
2744
  [
3138
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
3139
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
3140
- SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
2745
+ crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
2746
+ WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
3141
2747
  comments(
3142
2748
  {
3143
2749
  label: 'Description:',
3144
2750
  placeholder: 'Please describe your situation in a few words...',
3145
2751
  inputClass: '!t-h-16'
3146
2752
  },
3147
- 'CrossSell:Social_Security_Disability_and_Insurance'
2753
+ 'CrossSell:Wills_and_Trusts'
3148
2754
  )
3149
2755
  ],
3150
2756
  updates.nextOnEnter
3151
2757
  )
3152
2758
  }
3153
2759
 
3154
- function personalInjuryCrossSellQuestions(updates = {}) {
2760
+ function workersCompensationCrossSellQuestions(updates = {}) {
3155
2761
  return step(
3156
- 'personalInjuryCrossSellQuestions',
2762
+ 'workersCompensationCrossSellQuestions',
3157
2763
  [
3158
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
2764
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
3159
2765
  crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
3160
- PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
2766
+ WorkersCompensationQuestions("true", 'CrossSell:Workers_Compensation'),
3161
2767
  comments(
3162
2768
  {
3163
2769
  label: 'Injury Description:',
3164
2770
  placeholder: 'Please describe your injury in a few words...',
3165
2771
  inputClass: '!t-h-16'
3166
2772
  },
3167
- 'CrossSell:Personal_Injury'
2773
+ 'CrossSell:Workers_Compensation'
3168
2774
  )
3169
2775
  ],
3170
2776
  updates.nextOnEnter
3171
2777
  )
3172
2778
  }
3173
2779
 
3174
- function powerOfAttorneyCrossSellQuestions(updates = {}) {
3175
- return step(
3176
- 'powerOfAttorneyCrossSellQuestions',
3177
- [
3178
- crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
3179
- PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
3180
- comments(
3181
- {
3182
- label: 'Description:',
3183
- placeholder: 'Please describe your situation in a few words...',
3184
- inputClass: '!t-h-16'
3185
- },
3186
- 'CrossSell:Power_of_Attorney'
3187
- )
3188
- ],
3189
- updates.nextOnEnter
2780
+ function legalCrossSells(updates = {}) {
2781
+ return step(
2782
+ 'legalCrossSells',
2783
+ [
2784
+ legalCrossSellsStepHeadline(updates),
2785
+ legalCrossSells$1(),
2786
+ ],
2787
+ updates.nextOnEnter,
2788
+ false,
2789
+ // Note: we should probably scope this stepKey to this step name
2790
+ '$get(Type_Of_Legal_Problem).value'
2791
+ )
2792
+ }
2793
+
2794
+ // ------ Common
2795
+
2796
+ const formNavigation = () => ({
2797
+ $el: 'div',
2798
+ attrs: {
2799
+ class: 'step-nav'
2800
+ },
2801
+ children: [
2802
+ {
2803
+ $formkit: 'button',
2804
+ name: 'back_button',
2805
+ onClick: '$setPreviousStep($prevStepFunc($get(form)))',
2806
+ children: 'Back',
2807
+ style: {
2808
+ if: '$activeStep === $firstStep()',
2809
+ then: 'visibility: hidden;'
2810
+ }
2811
+ },
2812
+ {
2813
+ $formkit: 'button',
2814
+ name: 'next_button',
2815
+ onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2816
+ children: {
2817
+ if: '$activeStep === $firstStep()',
2818
+ then: 'Start',
2819
+ else: 'Next'
2820
+ },
2821
+ outerClass: {
2822
+ if: '$activeStep === $lastStep()',
2823
+ then: 't-hidden',
2824
+ else: ''
2825
+ },
2826
+ style: {
2827
+ if: '$activeStep === $lastStep()',
2828
+ then: 'display: none;'
2829
+ }
2830
+ },
2831
+ {
2832
+ $formkit: 'submit',
2833
+ name: 'submit_button',
2834
+ label: 'Submit',
2835
+ if: '$activeStep === $lastStep()',
2836
+ style: {
2837
+ if: '$activeStep !== $lastStep()',
2838
+ then: 'display: none;'
2839
+ }
2840
+ }
2841
+ ]
2842
+ });
2843
+
2844
+ const formDetails = () => ({
2845
+ $el: 'pre',
2846
+ if: '$urlParam("fdbg", "") == 1',
2847
+ children: [
2848
+ {
2849
+ $el: 'pre',
2850
+ children: '$stringify( $get(form).value )',
2851
+ attrs: {
2852
+ class: 't-text-xs',
2853
+ style: 'overflow: scroll'
2854
+ }
2855
+ },
2856
+ {
2857
+ $el: 'pre',
2858
+ children: ['activeStep: ', '$activeStep'],
2859
+ attrs: {
2860
+ class: 't-text-xs',
2861
+ style: 'overflow: scroll'
2862
+ }
2863
+ },
2864
+ {
2865
+ $el: 'pre',
2866
+ children: ['stepHistory: ', '$stepHistory'],
2867
+ attrs: {
2868
+ class: 't-text-xs',
2869
+ style: 'overflow: scroll'
2870
+ }
2871
+ },
2872
+ {
2873
+ $el: 'pre',
2874
+ children: ['stepQueue: ', '$stepQueue'],
2875
+ attrs: {
2876
+ class: 't-text-xs',
2877
+ style: 'overflow: scroll'
2878
+ }
2879
+ },
2880
+ {
2881
+ $el: 'pre',
2882
+ children: ['steps: ', '$stepKeys()'],
2883
+ attrs: {
2884
+ class: 't-text-xs',
2885
+ style: 'overflow: scroll'
2886
+ }
2887
+ }
2888
+ ]
2889
+ });
2890
+
2891
+ const formPropDefaults = {
2892
+ type: 'form',
2893
+ id: 'form',
2894
+ config: { validationVisibility: 'submit' },
2895
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
2896
+ plugins: '$plugins',
2897
+ actions: false,
2898
+ anchorElement: 'form-anchor',
2899
+ useLocalStorage: true,
2900
+ prepop: {
2901
+ fromURL: true
2902
+ },
2903
+ errorCodes: {
2904
+ 403: { message: "An Error Occurred", abort: false },
2905
+ 409: { abort: false },
2906
+ 429: "An Error Occurred",
2907
+ 504: { message: "An Error Occurred", abort: false },
2908
+ },
2909
+ formClass: '!t-max-w-[40rem]'
2910
+ };
2911
+
2912
+ function formProps(updates) {
2913
+ const props = merge(
2914
+ formPropDefaults,
2915
+ updates
2916
+ );
2917
+ if (props.formId && !props.name) {
2918
+ props.name = props.formId;
2919
+ }
2920
+ return props
2921
+ }
2922
+
2923
+ const metaDefaults = {
2924
+ tcpaLanguage: TCPA_LANGUAGE
2925
+ };
2926
+
2927
+ function metaProps(updates) {
2928
+ const data = merge(
2929
+ metaDefaults,
2930
+ updates
2931
+ );
2932
+ return {
2933
+ type: 'meta',
2934
+ data
2935
+ }
2936
+ }
2937
+
2938
+ function defaultMetaProps() {
2939
+ return metaProps({
2940
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
2941
+ commentsPlaceholders: TOLPCommentsPlaceholders,
2942
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
2943
+ finalHeadlines: TOLPFinalHeadlines,
2944
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
2945
+ finalSubHeadlines: TOLPFinalSubHeadlines,
2946
+ })
2947
+ }
2948
+
2949
+ function defaultMetaPropsLegalLegacy() {
2950
+ const meta = defaultMetaProps();
2951
+ meta.data.dynamicSchema = [
2952
+ generalLegalTOLPQuestions(),
2953
+ commentsWithBankruptcy({
2954
+ inputClass: '!t-h-28',
2955
+ }),
2956
+ legalCrossSells(),
2957
+ autoAndCarAccidentCrossSellQuestions(),
2958
+ personalInjuryCrossSellQuestions(),
2959
+ workersCompensationCrossSellQuestions(),
2960
+ duiAndDWICrossSellQuestions(),
2961
+ ssdiCrossSellQuestions(),
2962
+ powerOfAttorneyCrossSellQuestions(),
2963
+ willsAndTrustsCrossSellQuestions(),
2964
+ divorceAndSeparationCrossSellQuestions(),
2965
+ childCustodyCrossSellQuestions(),
2966
+ firstAndLastV2(),
2967
+ ];
2968
+ return meta
2969
+ }
2970
+
2971
+ const dynamicSchemaNode = {
2972
+ $cmp: 'FormKitSchema',
2973
+ if: '$get(Type_Of_Legal_Problem).value',
2974
+ props: {
2975
+ schema: '$meta.dynamicSchema',
2976
+ data: '$buildData($meta)'
2977
+ }
2978
+ };
2979
+
2980
+ const formAnchorDefaults = {
2981
+ $el: 'div',
2982
+ children: [
2983
+ {
2984
+ $el: 'div',
2985
+ attrs: {
2986
+ id: 'form-anchor',
2987
+ class: 't-absolute',
2988
+ style: { top: '-30px', left: 0 }
2989
+ }
2990
+ }
2991
+ ],
2992
+ attrs: {
2993
+ class: 't-relative'
2994
+ }
2995
+ };
2996
+
2997
+ function formAnchor(updates) {
2998
+ return merge(
2999
+ formAnchorDefaults,
3000
+ updates
3001
+ )
3002
+ }
3003
+
3004
+ function headlineDefaults(updates = {}) {
3005
+ return {
3006
+ $el: 'h1',
3007
+ attrs: {
3008
+ class: 't-flex t-justify-center t-text-center !t-text-[2rem] t-font-semibold t-pt-5 t-px-7 md:t-px-3' + ' ' + (updates.headlineClass || '')
3009
+ }
3010
+ }
3011
+ }
3012
+
3013
+ function headline(updates = {}) {
3014
+ return merge(
3015
+ headlineDefaults(updates),
3016
+ updates
3190
3017
  )
3191
3018
  }
3192
3019
 
3193
- function willsAndTrustsCrossSellQuestions(updates = {}) {
3194
- return step(
3195
- 'willsAndTrustsCrossSellQuestions',
3196
- [
3197
- crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
3198
- WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
3199
- comments(
3200
- {
3201
- label: 'Description:',
3202
- placeholder: 'Please describe your situation in a few words...',
3203
- inputClass: '!t-h-16'
3204
- },
3205
- 'CrossSell:Wills_and_Trusts'
3206
- )
3207
- ],
3208
- updates.nextOnEnter
3209
- )
3020
+ function subHeadlineDefaults(updates = {}) {
3021
+ return {
3022
+ $el: 'h3',
3023
+ attrs: {
3024
+ class: 't-flex t-justify-center t-text-center !t-text-[1.2rem] t-font-medium t-text-blue-500 t-px-10' + ' ' + (updates.subheadlineClass || '')
3025
+ }
3026
+ }
3210
3027
  }
3211
3028
 
3212
- function workersCompensationCrossSellQuestions(updates = {}) {
3213
- return step(
3214
- 'workersCompensationCrossSellQuestions',
3215
- [
3216
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
3217
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
3218
- WorkersCompensationQuestions("true", 'CrossSell:Workers_Compensation'),
3219
- comments(
3220
- {
3221
- label: 'Injury Description:',
3222
- placeholder: 'Please describe your injury in a few words...',
3223
- inputClass: '!t-h-16'
3224
- },
3225
- 'CrossSell:Workers_Compensation'
3226
- )
3227
- ],
3228
- updates.nextOnEnter
3029
+ function subHeadline(updates = {}) {
3030
+ return merge(
3031
+ subHeadlineDefaults(updates),
3032
+ updates
3229
3033
  )
3230
3034
  }
3231
3035
 
3232
- function legalCrossSells(updates = {}) {
3233
- return step(
3234
- 'legalCrossSells',
3235
- [
3236
- legalCrossSellsStepHeadline(updates),
3237
- legalCrossSells$1(),
3238
- ],
3239
- updates.nextOnEnter,
3240
- false,
3241
- // Note: we should probably scope this stepKey to this step name
3242
- '$get(Type_Of_Legal_Problem).value'
3036
+ function defaultSubHeadline() {
3037
+ return subHeadline({
3038
+ children: '$urlParam("shl", "Our Service is Fast and Free!")',
3039
+ if: '$activeStep === $firstStep()'
3040
+ })
3041
+ }
3042
+
3043
+ const hiddenInputsBase = [
3044
+ {
3045
+ $formkit: 'hidden',
3046
+ name: "gclid",
3047
+ value: null
3048
+ },
3049
+ {
3050
+ $formkit: 'hidden',
3051
+ name: "campaignid",
3052
+ value: null
3053
+ },
3054
+ {
3055
+ $formkit: 'hidden',
3056
+ name: "s",
3057
+ value: null
3058
+ }
3059
+ ];
3060
+
3061
+ const hiddenInputsLegal = [
3062
+ {
3063
+ $formkit: 'hidden',
3064
+ name: "vertical",
3065
+ value: "Legal"
3066
+ },
3067
+ {
3068
+ $formkit: 'hidden',
3069
+ name: "TCPA_Language",
3070
+ value: "$meta.tcpaLanguage"
3071
+ },
3072
+ ...hiddenInputsBase
3073
+ ];
3074
+
3075
+ const legalRedirectMapDefaults = {
3076
+ '*': LegalRedirectUrl()
3077
+ };
3078
+
3079
+
3080
+ function legalRedirectMap(updates) {
3081
+ return merge(
3082
+ legalRedirectMapDefaults,
3083
+ updates
3243
3084
  )
3244
3085
  }
3245
3086
 
3246
- const formNavigationV2 = () => ({
3247
- $el: 'div',
3248
- attrs: {
3249
- class: 'step-nav'
3087
+ const legalAllValueOverrideMap = {
3088
+ 'Civil_Defense': {
3089
+ 'Yes': {
3090
+ 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
3091
+ },
3092
+ 'No': {
3093
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
3094
+ }
3250
3095
  },
3251
- children: [
3252
- {
3253
- $formkit: 'button',
3254
- name: 'back_button',
3255
- onClick: '$setPreviousStep($prevStepFunc($get(form)))',
3256
- children: 'Back',
3257
- style: {
3258
- if: '$activeStep === $firstStep()',
3259
- then: 'visibility: hidden;'
3260
- }
3096
+ 'Type_Of_Legal_Problem_Display': {
3097
+ // Accidents and PI
3098
+ 'Auto Accident': {
3099
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
3100
+ },
3101
+ 'Dog Bite': {
3102
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3103
+ },
3104
+ 'Slip and Fall': {
3105
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3106
+ },
3107
+ 'Workplace Injury': {
3108
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
3109
+ },
3110
+ 'Trucking Accident': {
3111
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
3112
+ },
3113
+ 'Motorcycle Accident': {
3114
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
3115
+ },
3116
+ 'Other Accidents or Injuries': {
3117
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3118
+ },
3119
+ // Civil
3120
+ 'Automobile Accident': {
3121
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
3122
+ },
3123
+ 'Contract Disputes': {
3124
+ 'Type_Of_Legal_Problem': 'Business Lawyers'
3125
+ },
3126
+ 'Defamation and Slander': {
3127
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
3128
+ },
3129
+ 'Dog Bite': {
3130
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3131
+ },
3132
+ 'Employment and Workplace': {
3133
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3134
+ },
3135
+ 'Fraud': {
3136
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
3137
+ },
3138
+ 'Medical Malpractice': {
3139
+ 'Type_Of_Legal_Problem': 'Medical Malpractice'
3140
+ },
3141
+ 'Personal Injury': {
3142
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3143
+ },
3144
+ 'Property Damage': {
3145
+ 'Type_Of_Legal_Problem': 'Property Damage'
3146
+ },
3147
+ 'Small Claims': {
3148
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
3149
+ },
3150
+ 'Real Estate': {
3151
+ 'Type_Of_Legal_Problem': 'Real Estate'
3152
+ },
3153
+ 'Other (describe on next page)': {
3154
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3155
+ },
3156
+ // Contracts
3157
+ 'Contract Creation': {
3158
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3159
+ 'Business_Services': 'Contracts'
3160
+ },
3161
+ 'Contract Enforcement': {
3162
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3163
+ 'Business_Services': 'Contracts'
3164
+ },
3165
+ 'Contract Cancellation': {
3166
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3167
+ 'Business_Services': 'Contracts'
3168
+ },
3169
+ 'Contract Fraud': {
3170
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3171
+ 'Business_Services': 'Contracts'
3172
+ },
3173
+ 'Breach of Contract': {
3174
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3175
+ 'Business_Services': 'Contracts'
3176
+ },
3177
+ 'Other Contract Issues': {
3178
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3179
+ 'Business_Services': 'Contracts'
3180
+ },
3181
+ // Criminal
3182
+ 'Criminal Defense': {
3183
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
3184
+ },
3185
+ 'Victim of a Crime': {
3186
+ 'Type_Of_Legal_Problem': 'Victim of a Crime'
3187
+ },
3188
+ 'DUI and DWI': {
3189
+ 'Type_Of_Legal_Problem': 'DUI and DWI'
3190
+ },
3191
+ 'Expungement': {
3192
+ 'Type_Of_Legal_Problem': 'Expungement'
3193
+ },
3194
+ 'Harassment': {
3195
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
3196
+ },
3197
+ 'Not Sure or Other': {
3198
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3199
+ },
3200
+ // Employment and Workplace
3201
+ 'Workplace Harassment': {
3202
+ 'Type_Of_Legal_Problem': 'Workplace Harassment'
3261
3203
  },
3262
- {
3263
- $formkit: 'button',
3264
- name: 'next_button',
3265
- onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
3266
- children: {
3267
- if: '$activeStep === $firstStep()',
3268
- then: 'Start',
3269
- else: 'Next'
3270
- },
3271
- outerClass: {
3272
- if: '$activeStep === $lastStep()',
3273
- then: 't-hidden',
3274
- else: ''
3275
- },
3276
- style: {
3277
- if: '$activeStep === $lastStep()',
3278
- then: 'display: none;'
3279
- }
3204
+ 'Workplace Discrimination': {
3205
+ 'Type_Of_Legal_Problem': 'Workplace Discrimination'
3280
3206
  },
3281
- {
3282
- $formkit: 'submit',
3283
- name: 'submit_button',
3284
- label: 'Submit',
3285
- if: '$activeStep === $lastStep()',
3286
- style: {
3287
- if: '$activeStep !== $lastStep()',
3288
- then: 'display: none;'
3289
- }
3290
- }
3291
- ]
3292
- });
3293
-
3294
- const formDetails = () => ({
3295
- $el: 'pre',
3296
- if: '$urlParam("fdbg", "") == 1',
3297
- children: [
3298
- {
3299
- $el: 'pre',
3300
- children: '$stringify( $get(form).value )',
3301
- attrs: {
3302
- class: 't-text-xs',
3303
- style: 'overflow: scroll'
3304
- }
3207
+ 'Wrongful Termination': {
3208
+ 'Type_Of_Legal_Problem': 'Wrongful Termination'
3305
3209
  },
3306
- {
3307
- $el: 'pre',
3308
- children: ['activeStep: ', '$activeStep'],
3309
- attrs: {
3310
- class: 't-text-xs',
3311
- style: 'overflow: scroll'
3312
- }
3210
+ 'Payment Disputes': {
3211
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3313
3212
  },
3314
- {
3315
- $el: 'pre',
3316
- children: ['stepHistory: ', '$stepHistory'],
3317
- attrs: {
3318
- class: 't-text-xs',
3319
- style: 'overflow: scroll'
3320
- }
3213
+ 'Workers Compensation': {
3214
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
3321
3215
  },
3322
- {
3323
- $el: 'pre',
3324
- children: ['stepQueue: ', '$stepQueue'],
3325
- attrs: {
3326
- class: 't-text-xs',
3327
- style: 'overflow: scroll'
3328
- }
3216
+ 'Unemployment': {
3217
+ 'Type_Of_Legal_Problem': 'Unemployment'
3329
3218
  },
3330
- {
3331
- $el: 'pre',
3332
- children: ['steps: ', '$stepKeys()'],
3333
- attrs: {
3334
- class: 't-text-xs',
3335
- style: 'overflow: scroll'
3336
- }
3219
+ 'Other Workplace Issues': {
3220
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3221
+ },
3222
+ // Malpractice
3223
+ 'Attorney Malpractice': {
3224
+ 'Type_Of_Legal_Problem': 'Civil Lawsuit'
3225
+ },
3226
+ 'Other Malpractice Issues': {
3227
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3228
+ },
3229
+ // Repossession
3230
+ 'Vehicle Repossession': {
3231
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
3232
+ },
3233
+ 'Property Repossession': {
3234
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
3235
+ },
3236
+ 'Other Repossession Issues': {
3237
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3238
+ },
3239
+ // Real Estate
3240
+ 'Contracts and Agreements': {
3241
+ 'Type_Of_Legal_Problem': 'Real Estate'
3242
+ },
3243
+ 'Deeds, Liens, and Titles': {
3244
+ 'Type_Of_Legal_Problem': 'Real Estate'
3245
+ },
3246
+ 'Foreclosure': {
3247
+ 'Type_Of_Legal_Problem': 'Foreclosure'
3248
+ },
3249
+ 'Insurance': {
3250
+ 'Type_Of_Legal_Problem': 'Insurance'
3251
+ },
3252
+ 'Landlord and Tenant': {
3253
+ 'Type_Of_Legal_Problem': 'Landlord and Tenant',
3254
+ },
3255
+ 'Loans and Mortgages': {
3256
+ 'Type_Of_Legal_Problem': 'Real Estate',
3257
+ },
3258
+ 'Wills, Trusts, and Estates': {
3259
+ 'Type_Of_Legal_Problem': 'Wills and Trusts'
3260
+ },
3261
+ 'Property Damage': {
3262
+ 'Type_Of_Legal_Problem': 'Property Damage'
3263
+ },
3264
+ 'Other Real Estate Issues': {
3265
+ 'Type_Of_Legal_Problem': 'Real Estate'
3337
3266
  }
3267
+ }
3268
+ };
3269
+
3270
+ const TOLPCommentsPlaceholders = {
3271
+ 'Adoption': 'Example: "I need help with adoption forms"',
3272
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
3273
+ 'Auto and Car Accidents': 'Example: "A truck crashed into my car on the highway" or "I\'ve been involved in a hit and run accident"',
3274
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
3275
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
3276
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
3277
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
3278
+ 'Child Custody': 'Example: "Need help getting custody"',
3279
+ 'Child Support': 'Example: "Issues with child support payments"',
3280
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
3281
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
3282
+ 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
3283
+ 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
3284
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
3285
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
3286
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
3287
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
3288
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
3289
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
3290
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
3291
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
3292
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
3293
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
3294
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
3295
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
3296
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
3297
+ 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
3298
+ 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
3299
+ 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
3300
+ 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
3301
+ 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
3302
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
3303
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
3304
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
3305
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
3306
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
3307
+ 'Long Term Disability': 'Example: "I was injured on the job and would like to file for benefits" or "I need help filing for disability benefits"',
3308
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
3309
+ 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
3310
+ 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
3311
+ 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
3312
+ 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
3313
+ 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
3314
+ 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
3315
+ 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
3316
+ 'Social Security Disability and Insurance': 'Example: "I would like help filing for disability benefits" or "I\'ve been denied for SSDI and would like to appeal"',
3317
+ 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
3318
+ 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
3319
+ 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
3320
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
3321
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
3322
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
3323
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
3324
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
3325
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
3326
+ };
3327
+
3328
+ const TOLPFinalHeadlines = {
3329
+ // 'Adoption': '',
3330
+ };
3331
+
3332
+ const TOLPFinalSubHeadlines = {
3333
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
3334
+ // 'Asbestos and Mesothelioma': '',
3335
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
3336
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
3337
+ // 'Birth Certificate and Name Change': '',
3338
+ // 'Business Lawyers': '',
3339
+ // 'Child Custody and Support': '',
3340
+ // 'Civil Rights and Discrimination': '',
3341
+ // 'Civil Lawsuit': '',
3342
+ // 'Consumer Lawyers': '',
3343
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
3344
+ // 'Criminal and Felony': '',
3345
+ // 'Debt and Collections': '',
3346
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
3347
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
3348
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
3349
+ // 'Employment and Workplace': '',
3350
+ // 'Expungement': '',
3351
+ // 'Family Issues': '',
3352
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
3353
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
3354
+ // 'Harassment and Discrimination': '',
3355
+ // 'Identity Theft': '',
3356
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
3357
+ // 'Insurance': '',
3358
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
3359
+ // 'Lemon Law': '',
3360
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
3361
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
3362
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
3363
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
3364
+ // 'Power of Attorney': '',
3365
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
3366
+ // 'Product Liability': '',
3367
+ // 'Property Damage': '',
3368
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
3369
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
3370
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
3371
+ // 'Traffic and Tickets': '',
3372
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
3373
+ // 'Victim of a Crime': '',
3374
+ // 'Wills and Trusts': '',
3375
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
3376
+ // 'Wrongful Death': '',
3377
+ // 'Wrongful Termination': '',
3378
+ // 'Not Sure or Other': ''
3379
+ // 'Sexual Harassment': '',
3380
+ // 'Workplace Harassment': '',
3381
+ // 'Non-Workplace Harassment': '',
3382
+ // 'Workplace Discrimination': '',
3383
+ // 'Non-Workplace Discrimination': '',
3384
+ };
3385
+
3386
+
3387
+ const nextStepsMapLegalLegacy = {
3388
+ '*': [
3389
+ 'TOLPQuestions',
3390
+ 'commentsWithBankruptcy',
3391
+ 'legalCrossSells',
3392
+ 'firstAndLast',
3393
+ 'contactInfo',
3338
3394
  ]
3339
- });
3395
+ };
3340
3396
 
3341
3397
  const schema = [
3342
- defaultMetaProps(),
3398
+ defaultMetaPropsLegalLegacy(),
3343
3399
  formAnchor(),
3344
3400
  {
3345
3401
  $cmp: 'FormKit',
@@ -3361,27 +3417,12 @@ const schema = [
3361
3417
  class: 'form-body'
3362
3418
  },
3363
3419
  children: [
3364
- generalLegalTOLPAndZip(),
3365
- generalLegalTOLPQuestions(),
3366
- commentsWithBankruptcyV2({
3367
- inputClass: '!t-h-28',
3368
- nextOnEnter: false,
3369
- }),
3370
- legalCrossSells(),
3371
- autoAndCarAccidentCrossSellQuestions(),
3372
- personalInjuryCrossSellQuestions(),
3373
- workersCompensationCrossSellQuestions(),
3374
- duiAndDWICrossSellQuestions(),
3375
- ssdiCrossSellQuestions(),
3376
- powerOfAttorneyCrossSellQuestions(),
3377
- willsAndTrustsCrossSellQuestions(),
3378
- divorceAndSeparationCrossSellQuestions(),
3379
- childCustodyCrossSellQuestions(),
3380
- firstAndLastV2(),
3381
- contactInfoV2({
3382
- nextOnEnter: false
3420
+ generalLegalTOLPAndZip({
3421
+ nextStepMap: nextStepsMapLegalLegacy
3383
3422
  }),
3384
- formNavigationV2(),
3423
+ dynamicSchemaNode,
3424
+ contactInfo(),
3425
+ formNavigation(),
3385
3426
  formDetails()
3386
3427
  ]
3387
3428
  }