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',
@@ -929,6 +425,11 @@ const employerType = () => sbsSelect({
929
425
  ]
930
426
  });
931
427
 
428
+ const employeeAtCompany = (scope) => sbsYesNoRadio({
429
+ name: scope ? scope + ':' + 'Employee_At_Company' : 'Employee_At_Company',
430
+ label: 'Do you/they still work at the company?'
431
+ });
432
+
932
433
  const estateLegalServicesNeeded = (scope) => sbsSelect({
933
434
  name: scope ? scope + ':' + 'Estate_Legal_Services_Needed' : 'Estate_Legal_Services_Needed',
934
435
  label: "Legal Services Needed for Your Estate:",
@@ -1415,6 +916,7 @@ const EmploymentAndWorkplaceQuestions = () => group(
1415
916
  haveAttorney(),
1416
917
  numEmployeesOfBusiness(),
1417
918
  employerType(),
919
+ employeeAtCompany(),
1418
920
  degreeOfInterestHelp()
1419
921
  ]
1420
922
  }
@@ -1568,6 +1070,43 @@ const findLastInput = (n) => {
1568
1070
  return null
1569
1071
  };
1570
1072
 
1073
+ const secureIconDefault = {
1074
+ $el: 'div',
1075
+ if: '$activeStep === $lastStep()',
1076
+ attrs: {
1077
+ class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
1078
+ },
1079
+ children: [
1080
+ {
1081
+ $el: 'img',
1082
+ attrs: {
1083
+ loading: 'lazy',
1084
+ alt: '',
1085
+ style: {
1086
+ border: 0
1087
+ },
1088
+ width: '25',
1089
+ height: '25',
1090
+ src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
1091
+ }
1092
+ },
1093
+ {
1094
+ $el: 'span',
1095
+ children: 'Secure & Encrypted',
1096
+ attrs: {
1097
+ class: 't-pl-2 t-pt-1 t-font-medium'
1098
+ }
1099
+ }
1100
+ ]
1101
+ };
1102
+
1103
+ function secureIcon(updates) {
1104
+ return merge(
1105
+ secureIconDefault,
1106
+ updates
1107
+ )
1108
+ }
1109
+
1571
1110
  function questionsStepHeadline(updates) {
1572
1111
  return {
1573
1112
  $el: 'h3',
@@ -1730,11 +1269,14 @@ function civilLawsuitTOLPAndZip(updates = {}) {
1730
1269
  }),
1731
1270
  zipcode()
1732
1271
  ],
1733
- updates.nextOnEnter
1272
+ updates.nextOnEnter,
1273
+ updates.nextOnInput,
1274
+ updates.stepKey,
1275
+ updates.nextStepMap
1734
1276
  )
1735
1277
  }
1736
1278
 
1737
- function commentsWithBankruptcyV2(updates = {}) {
1279
+ function commentsWithBankruptcy(updates = {}) {
1738
1280
  return step(
1739
1281
  'commentsWithBankruptcy',
1740
1282
  [
@@ -1742,7 +1284,7 @@ function commentsWithBankruptcyV2(updates = {}) {
1742
1284
  comments({
1743
1285
  label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
1744
1286
  placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1745
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-40' : updates.inputClass,
1287
+ inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
1746
1288
  }),
1747
1289
  bankruptcyCrossSell(),
1748
1290
  {
@@ -1757,29 +1299,23 @@ function commentsWithBankruptcyV2(updates = {}) {
1757
1299
  ],
1758
1300
  }
1759
1301
  ],
1760
- // TODO: UGLY: use named params!
1761
- updates.nextOnEnter,
1762
- false,
1763
- undefined,
1764
- undefined,
1765
- false
1302
+ false // nextOnEnter
1766
1303
  )
1767
1304
  }
1768
1305
 
1769
- function contactInfoV2(updates = {}) {
1306
+ function contactInfo(updates = {}) {
1770
1307
  return step(
1771
1308
  'contactInfo',
1772
1309
  [
1773
1310
  contactStepHeadline(updates),
1774
1311
  contactStepSubHeadline(updates),
1775
- // Added TF everywhere
1776
1312
  trustedFormScript(),
1777
1313
  email(),
1778
1314
  phone(),
1779
1315
  TCPAConsent(),
1780
1316
  secureIcon()
1781
1317
  ],
1782
- updates.nextOnEnter
1318
+ false, // nextOnEnter
1783
1319
  )
1784
1320
  }
1785
1321
 
@@ -1862,247 +1398,751 @@ function duiAndDWICrossSellQuestions(updates = {}) {
1862
1398
  DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
1863
1399
  comments(
1864
1400
  {
1865
- label: 'Incident Description:',
1866
- placeholder: 'Please describe your incident in a few words...',
1401
+ label: 'Incident Description:',
1402
+ placeholder: 'Please describe your incident in a few words...',
1403
+ inputClass: '!t-h-16'
1404
+ },
1405
+ 'CrossSell:DUI_and_DWI'
1406
+ )
1407
+ ],
1408
+ updates.nextOnEnter
1409
+ )
1410
+ }
1411
+
1412
+ function ssdiCrossSellQuestions(updates = {}) {
1413
+ return step(
1414
+ 'ssdiCrossSellQuestions',
1415
+ [
1416
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1417
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
1418
+ SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
1419
+ comments(
1420
+ {
1421
+ label: 'Description:',
1422
+ placeholder: 'Please describe your situation in a few words...',
1423
+ inputClass: '!t-h-16'
1424
+ },
1425
+ 'CrossSell:Social_Security_Disability_and_Insurance'
1426
+ )
1427
+ ],
1428
+ updates.nextOnEnter
1429
+ )
1430
+ }
1431
+
1432
+ function personalInjuryCrossSellQuestions(updates = {}) {
1433
+ return step(
1434
+ 'personalInjuryCrossSellQuestions',
1435
+ [
1436
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1437
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1438
+ PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
1439
+ comments(
1440
+ {
1441
+ label: 'Injury Description:',
1442
+ placeholder: 'Please describe your injury in a few words...',
1443
+ inputClass: '!t-h-16'
1444
+ },
1445
+ 'CrossSell:Personal_Injury'
1446
+ )
1447
+ ],
1448
+ updates.nextOnEnter
1449
+ )
1450
+ }
1451
+
1452
+ function powerOfAttorneyCrossSellQuestions(updates = {}) {
1453
+ return step(
1454
+ 'powerOfAttorneyCrossSellQuestions',
1455
+ [
1456
+ crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
1457
+ PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
1458
+ comments(
1459
+ {
1460
+ label: 'Description:',
1461
+ placeholder: 'Please describe your situation in a few words...',
1867
1462
  inputClass: '!t-h-16'
1868
1463
  },
1869
- 'CrossSell:DUI_and_DWI'
1464
+ 'CrossSell:Power_of_Attorney'
1870
1465
  )
1871
1466
  ],
1872
1467
  updates.nextOnEnter
1873
1468
  )
1874
1469
  }
1875
1470
 
1876
- function ssdiCrossSellQuestions(updates = {}) {
1471
+ function willsAndTrustsCrossSellQuestions(updates = {}) {
1877
1472
  return step(
1878
- 'ssdiCrossSellQuestions',
1473
+ 'willsAndTrustsCrossSellQuestions',
1879
1474
  [
1880
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1881
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
1882
- SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
1475
+ crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
1476
+ WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
1883
1477
  comments(
1884
1478
  {
1885
1479
  label: 'Description:',
1886
1480
  placeholder: 'Please describe your situation in a few words...',
1887
1481
  inputClass: '!t-h-16'
1888
1482
  },
1889
- 'CrossSell:Social_Security_Disability_and_Insurance'
1483
+ 'CrossSell:Wills_and_Trusts'
1890
1484
  )
1891
1485
  ],
1892
1486
  updates.nextOnEnter
1893
1487
  )
1894
1488
  }
1895
1489
 
1896
- function personalInjuryCrossSellQuestions(updates = {}) {
1490
+ function workersCompensationCrossSellQuestions(updates = {}) {
1897
1491
  return step(
1898
- 'personalInjuryCrossSellQuestions',
1492
+ 'workersCompensationCrossSellQuestions',
1899
1493
  [
1900
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1494
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1901
1495
  crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1902
- PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
1496
+ WorkersCompensationQuestions("true", 'CrossSell:Workers_Compensation'),
1903
1497
  comments(
1904
1498
  {
1905
1499
  label: 'Injury Description:',
1906
1500
  placeholder: 'Please describe your injury in a few words...',
1907
1501
  inputClass: '!t-h-16'
1908
1502
  },
1909
- 'CrossSell:Personal_Injury'
1503
+ 'CrossSell:Workers_Compensation'
1910
1504
  )
1911
1505
  ],
1912
1506
  updates.nextOnEnter
1913
1507
  )
1914
1508
  }
1915
1509
 
1916
- function powerOfAttorneyCrossSellQuestions(updates = {}) {
1510
+ function civilLawsuitTOLPQuestions(updates = {}) {
1917
1511
  return step(
1918
- 'powerOfAttorneyCrossSellQuestions',
1512
+ 'TOLPQuestions',
1919
1513
  [
1920
- crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
1921
- PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
1922
- comments(
1923
- {
1924
- label: 'Description:',
1925
- placeholder: 'Please describe your situation in a few words...',
1926
- inputClass: '!t-h-16'
1927
- },
1928
- 'CrossSell:Power_of_Attorney'
1929
- )
1514
+ questionsStepHeadline(updates),
1515
+ AutoAndCarAccidentsQuestions(),
1516
+ BusinessLawyersQuestions(),
1517
+ DefendLawsuitQuestions(),
1518
+ FileLawsuitQuestions(),
1519
+ PersonalInjuryQuestions(),
1520
+ EmploymentAndWorkplaceQuestions(),
1521
+ ConsumerLawyersQuestions(),
1522
+ MedicalMalpracticeQuestions(),
1523
+ PropertyDamageQuestions(),
1524
+ RealEstateQuestions(),
1525
+ NotSureOrOtherQuestions()
1930
1526
  ],
1931
1527
  updates.nextOnEnter
1932
1528
  )
1933
1529
  }
1934
1530
 
1935
- function willsAndTrustsCrossSellQuestions(updates = {}) {
1936
- return step(
1937
- 'willsAndTrustsCrossSellQuestions',
1938
- [
1939
- crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
1940
- WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
1941
- comments(
1942
- {
1943
- label: 'Description:',
1944
- placeholder: 'Please describe your situation in a few words...',
1945
- inputClass: '!t-h-16'
1946
- },
1947
- 'CrossSell:Wills_and_Trusts'
1948
- )
1949
- ],
1950
- updates.nextOnEnter
1531
+ function legalCrossSells(updates = {}) {
1532
+ return step(
1533
+ 'legalCrossSells',
1534
+ [
1535
+ legalCrossSellsStepHeadline(updates),
1536
+ legalCrossSells$1(),
1537
+ ],
1538
+ updates.nextOnEnter,
1539
+ false,
1540
+ // Note: we should probably scope this stepKey to this step name
1541
+ '$get(Type_Of_Legal_Problem).value'
1542
+ )
1543
+ }
1544
+
1545
+ // ------ Common
1546
+
1547
+ const formNavigation = () => ({
1548
+ $el: 'div',
1549
+ attrs: {
1550
+ class: 'step-nav'
1551
+ },
1552
+ children: [
1553
+ {
1554
+ $formkit: 'button',
1555
+ name: 'back_button',
1556
+ onClick: '$setPreviousStep($prevStepFunc($get(form)))',
1557
+ children: 'Back',
1558
+ style: {
1559
+ if: '$activeStep === $firstStep()',
1560
+ then: 'visibility: hidden;'
1561
+ }
1562
+ },
1563
+ {
1564
+ $formkit: 'button',
1565
+ name: 'next_button',
1566
+ onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
1567
+ children: {
1568
+ if: '$activeStep === $firstStep()',
1569
+ then: 'Start',
1570
+ else: 'Next'
1571
+ },
1572
+ outerClass: {
1573
+ if: '$activeStep === $lastStep()',
1574
+ then: 't-hidden',
1575
+ else: ''
1576
+ },
1577
+ style: {
1578
+ if: '$activeStep === $lastStep()',
1579
+ then: 'display: none;'
1580
+ }
1581
+ },
1582
+ {
1583
+ $formkit: 'submit',
1584
+ name: 'submit_button',
1585
+ label: 'Submit',
1586
+ if: '$activeStep === $lastStep()',
1587
+ style: {
1588
+ if: '$activeStep !== $lastStep()',
1589
+ then: 'display: none;'
1590
+ }
1591
+ }
1592
+ ]
1593
+ });
1594
+
1595
+ const formDetails = () => ({
1596
+ $el: 'pre',
1597
+ if: '$urlParam("fdbg", "") == 1',
1598
+ children: [
1599
+ {
1600
+ $el: 'pre',
1601
+ children: '$stringify( $get(form).value )',
1602
+ attrs: {
1603
+ class: 't-text-xs',
1604
+ style: 'overflow: scroll'
1605
+ }
1606
+ },
1607
+ {
1608
+ $el: 'pre',
1609
+ children: ['activeStep: ', '$activeStep'],
1610
+ attrs: {
1611
+ class: 't-text-xs',
1612
+ style: 'overflow: scroll'
1613
+ }
1614
+ },
1615
+ {
1616
+ $el: 'pre',
1617
+ children: ['stepHistory: ', '$stepHistory'],
1618
+ attrs: {
1619
+ class: 't-text-xs',
1620
+ style: 'overflow: scroll'
1621
+ }
1622
+ },
1623
+ {
1624
+ $el: 'pre',
1625
+ children: ['stepQueue: ', '$stepQueue'],
1626
+ attrs: {
1627
+ class: 't-text-xs',
1628
+ style: 'overflow: scroll'
1629
+ }
1630
+ },
1631
+ {
1632
+ $el: 'pre',
1633
+ children: ['steps: ', '$stepKeys()'],
1634
+ attrs: {
1635
+ class: 't-text-xs',
1636
+ style: 'overflow: scroll'
1637
+ }
1638
+ }
1639
+ ]
1640
+ });
1641
+
1642
+ const formPropDefaults = {
1643
+ type: 'form',
1644
+ id: 'form',
1645
+ config: { validationVisibility: 'submit' },
1646
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
1647
+ plugins: '$plugins',
1648
+ actions: false,
1649
+ anchorElement: 'form-anchor',
1650
+ useLocalStorage: true,
1651
+ prepop: {
1652
+ fromURL: true
1653
+ },
1654
+ errorCodes: {
1655
+ 403: { message: "An Error Occurred", abort: false },
1656
+ 409: { abort: false },
1657
+ 429: "An Error Occurred",
1658
+ 504: { message: "An Error Occurred", abort: false },
1659
+ },
1660
+ formClass: '!t-max-w-[40rem]'
1661
+ };
1662
+
1663
+ function formProps(updates) {
1664
+ const props = merge(
1665
+ formPropDefaults,
1666
+ updates
1667
+ );
1668
+ if (props.formId && !props.name) {
1669
+ props.name = props.formId;
1670
+ }
1671
+ return props
1672
+ }
1673
+
1674
+ const metaDefaults = {
1675
+ tcpaLanguage: TCPA_LANGUAGE
1676
+ };
1677
+
1678
+ function metaProps(updates) {
1679
+ const data = merge(
1680
+ metaDefaults,
1681
+ updates
1682
+ );
1683
+ return {
1684
+ type: 'meta',
1685
+ data
1686
+ }
1687
+ }
1688
+
1689
+ function defaultMetaProps() {
1690
+ return metaProps({
1691
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1692
+ commentsPlaceholders: TOLPCommentsPlaceholders,
1693
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
1694
+ finalHeadlines: TOLPFinalHeadlines,
1695
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
1696
+ finalSubHeadlines: TOLPFinalSubHeadlines,
1697
+ })
1698
+ }
1699
+
1700
+ const dynamicSchemaNode = {
1701
+ $cmp: 'FormKitSchema',
1702
+ if: '$get(Type_Of_Legal_Problem).value',
1703
+ props: {
1704
+ schema: '$meta.dynamicSchema',
1705
+ data: '$buildData($meta)'
1706
+ }
1707
+ };
1708
+
1709
+ const formAnchorDefaults = {
1710
+ $el: 'div',
1711
+ children: [
1712
+ {
1713
+ $el: 'div',
1714
+ attrs: {
1715
+ id: 'form-anchor',
1716
+ class: 't-absolute',
1717
+ style: { top: '-30px', left: 0 }
1718
+ }
1719
+ }
1720
+ ],
1721
+ attrs: {
1722
+ class: 't-relative'
1723
+ }
1724
+ };
1725
+
1726
+ function formAnchor(updates) {
1727
+ return merge(
1728
+ formAnchorDefaults,
1729
+ updates
1730
+ )
1731
+ }
1732
+
1733
+ function headlineDefaults(updates = {}) {
1734
+ return {
1735
+ $el: 'h1',
1736
+ attrs: {
1737
+ 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 || '')
1738
+ }
1739
+ }
1740
+ }
1741
+
1742
+ function headline(updates = {}) {
1743
+ return merge(
1744
+ headlineDefaults(updates),
1745
+ updates
1951
1746
  )
1952
1747
  }
1953
1748
 
1954
- function workersCompensationCrossSellQuestions(updates = {}) {
1955
- return step(
1956
- 'workersCompensationCrossSellQuestions',
1957
- [
1958
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1959
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1960
- WorkersCompensationQuestions("true", 'CrossSell:Workers_Compensation'),
1961
- comments(
1962
- {
1963
- label: 'Injury Description:',
1964
- placeholder: 'Please describe your injury in a few words...',
1965
- inputClass: '!t-h-16'
1966
- },
1967
- 'CrossSell:Workers_Compensation'
1968
- )
1969
- ],
1970
- updates.nextOnEnter
1971
- )
1749
+ function subHeadlineDefaults(updates = {}) {
1750
+ return {
1751
+ $el: 'h3',
1752
+ attrs: {
1753
+ 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 || '')
1754
+ }
1755
+ }
1972
1756
  }
1973
1757
 
1974
- function civilLawsuitTOLPQuestions(updates = {}) {
1975
- return step(
1976
- 'TOLPQuestions',
1977
- [
1978
- questionsStepHeadline(updates),
1979
- AutoAndCarAccidentsQuestions(),
1980
- BusinessLawyersQuestions(),
1981
- DefendLawsuitQuestions(),
1982
- FileLawsuitQuestions(),
1983
- PersonalInjuryQuestions(),
1984
- EmploymentAndWorkplaceQuestions(),
1985
- ConsumerLawyersQuestions(),
1986
- MedicalMalpracticeQuestions(),
1987
- PropertyDamageQuestions(),
1988
- RealEstateQuestions(),
1989
- NotSureOrOtherQuestions()
1990
- ],
1991
- updates.nextOnEnter
1758
+ function subHeadline(updates = {}) {
1759
+ return merge(
1760
+ subHeadlineDefaults(updates),
1761
+ updates
1992
1762
  )
1993
1763
  }
1994
1764
 
1995
- function legalCrossSells(updates = {}) {
1996
- return step(
1997
- 'legalCrossSells',
1998
- [
1999
- legalCrossSellsStepHeadline(updates),
2000
- legalCrossSells$1(),
2001
- ],
2002
- updates.nextOnEnter,
2003
- false,
2004
- // Note: we should probably scope this stepKey to this step name
2005
- '$get(Type_Of_Legal_Problem).value'
1765
+ function defaultSubHeadline() {
1766
+ return subHeadline({
1767
+ children: '$urlParam("shl", "Our Service is Fast and Free!")',
1768
+ if: '$activeStep === $firstStep()'
1769
+ })
1770
+ }
1771
+
1772
+ const hiddenInputsBase = [
1773
+ {
1774
+ $formkit: 'hidden',
1775
+ name: "gclid",
1776
+ value: null
1777
+ },
1778
+ {
1779
+ $formkit: 'hidden',
1780
+ name: "campaignid",
1781
+ value: null
1782
+ },
1783
+ {
1784
+ $formkit: 'hidden',
1785
+ name: "s",
1786
+ value: null
1787
+ }
1788
+ ];
1789
+
1790
+ const hiddenInputsLegal = [
1791
+ {
1792
+ $formkit: 'hidden',
1793
+ name: "vertical",
1794
+ value: "Legal"
1795
+ },
1796
+ {
1797
+ $formkit: 'hidden',
1798
+ name: "TCPA_Language",
1799
+ value: "$meta.tcpaLanguage"
1800
+ },
1801
+ ...hiddenInputsBase
1802
+ ];
1803
+
1804
+ const legalRedirectMapDefaults = {
1805
+ '*': LegalRedirectUrl()
1806
+ };
1807
+
1808
+
1809
+ function legalRedirectMap(updates) {
1810
+ return merge(
1811
+ legalRedirectMapDefaults,
1812
+ updates
2006
1813
  )
2007
1814
  }
2008
1815
 
2009
- const formNavigationV2 = () => ({
2010
- $el: 'div',
2011
- attrs: {
2012
- class: 'step-nav'
1816
+ const legalAllValueOverrideMap = {
1817
+ 'Civil_Defense': {
1818
+ 'Yes': {
1819
+ 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
1820
+ },
1821
+ 'No': {
1822
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
1823
+ }
2013
1824
  },
2014
- children: [
2015
- {
2016
- $formkit: 'button',
2017
- name: 'back_button',
2018
- onClick: '$setPreviousStep($prevStepFunc($get(form)))',
2019
- children: 'Back',
2020
- style: {
2021
- if: '$activeStep === $firstStep()',
2022
- then: 'visibility: hidden;'
2023
- }
1825
+ 'Type_Of_Legal_Problem_Display': {
1826
+ // Accidents and PI
1827
+ 'Auto Accident': {
1828
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
1829
+ },
1830
+ 'Dog Bite': {
1831
+ 'Type_Of_Legal_Problem': 'Personal Injury'
1832
+ },
1833
+ 'Slip and Fall': {
1834
+ 'Type_Of_Legal_Problem': 'Personal Injury'
1835
+ },
1836
+ 'Workplace Injury': {
1837
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
1838
+ },
1839
+ 'Trucking Accident': {
1840
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
1841
+ },
1842
+ 'Motorcycle Accident': {
1843
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
1844
+ },
1845
+ 'Other Accidents or Injuries': {
1846
+ 'Type_Of_Legal_Problem': 'Personal Injury'
1847
+ },
1848
+ // Civil
1849
+ 'Automobile Accident': {
1850
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
1851
+ },
1852
+ 'Contract Disputes': {
1853
+ 'Type_Of_Legal_Problem': 'Business Lawyers'
1854
+ },
1855
+ 'Defamation and Slander': {
1856
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
1857
+ },
1858
+ 'Dog Bite': {
1859
+ 'Type_Of_Legal_Problem': 'Personal Injury'
1860
+ },
1861
+ 'Employment and Workplace': {
1862
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
1863
+ },
1864
+ 'Fraud': {
1865
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
1866
+ },
1867
+ 'Medical Malpractice': {
1868
+ 'Type_Of_Legal_Problem': 'Medical Malpractice'
1869
+ },
1870
+ 'Personal Injury': {
1871
+ 'Type_Of_Legal_Problem': 'Personal Injury'
1872
+ },
1873
+ 'Property Damage': {
1874
+ 'Type_Of_Legal_Problem': 'Property Damage'
1875
+ },
1876
+ 'Small Claims': {
1877
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
1878
+ },
1879
+ 'Real Estate': {
1880
+ 'Type_Of_Legal_Problem': 'Real Estate'
1881
+ },
1882
+ 'Other (describe on next page)': {
1883
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
1884
+ },
1885
+ // Contracts
1886
+ 'Contract Creation': {
1887
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
1888
+ 'Business_Services': 'Contracts'
1889
+ },
1890
+ 'Contract Enforcement': {
1891
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
1892
+ 'Business_Services': 'Contracts'
1893
+ },
1894
+ 'Contract Cancellation': {
1895
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
1896
+ 'Business_Services': 'Contracts'
1897
+ },
1898
+ 'Contract Fraud': {
1899
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
1900
+ 'Business_Services': 'Contracts'
1901
+ },
1902
+ 'Breach of Contract': {
1903
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
1904
+ 'Business_Services': 'Contracts'
1905
+ },
1906
+ 'Other Contract Issues': {
1907
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
1908
+ 'Business_Services': 'Contracts'
1909
+ },
1910
+ // Criminal
1911
+ 'Criminal Defense': {
1912
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
1913
+ },
1914
+ 'Victim of a Crime': {
1915
+ 'Type_Of_Legal_Problem': 'Victim of a Crime'
1916
+ },
1917
+ 'DUI and DWI': {
1918
+ 'Type_Of_Legal_Problem': 'DUI and DWI'
1919
+ },
1920
+ 'Expungement': {
1921
+ 'Type_Of_Legal_Problem': 'Expungement'
1922
+ },
1923
+ 'Harassment': {
1924
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
1925
+ },
1926
+ 'Not Sure or Other': {
1927
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
1928
+ },
1929
+ // Employment and Workplace
1930
+ 'Workplace Harassment': {
1931
+ 'Type_Of_Legal_Problem': 'Workplace Harassment'
1932
+ },
1933
+ 'Workplace Discrimination': {
1934
+ 'Type_Of_Legal_Problem': 'Workplace Discrimination'
2024
1935
  },
2025
- {
2026
- $formkit: 'button',
2027
- name: 'next_button',
2028
- onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2029
- children: {
2030
- if: '$activeStep === $firstStep()',
2031
- then: 'Start',
2032
- else: 'Next'
2033
- },
2034
- outerClass: {
2035
- if: '$activeStep === $lastStep()',
2036
- then: 't-hidden',
2037
- else: ''
2038
- },
2039
- style: {
2040
- if: '$activeStep === $lastStep()',
2041
- then: 'display: none;'
2042
- }
1936
+ 'Wrongful Termination': {
1937
+ 'Type_Of_Legal_Problem': 'Wrongful Termination'
2043
1938
  },
2044
- {
2045
- $formkit: 'submit',
2046
- name: 'submit_button',
2047
- label: 'Submit',
2048
- if: '$activeStep === $lastStep()',
2049
- style: {
2050
- if: '$activeStep !== $lastStep()',
2051
- then: 'display: none;'
2052
- }
2053
- }
2054
- ]
2055
- });
2056
-
2057
- const formDetails = () => ({
2058
- $el: 'pre',
2059
- if: '$urlParam("fdbg", "") == 1',
2060
- children: [
2061
- {
2062
- $el: 'pre',
2063
- children: '$stringify( $get(form).value )',
2064
- attrs: {
2065
- class: 't-text-xs',
2066
- style: 'overflow: scroll'
2067
- }
1939
+ 'Payment Disputes': {
1940
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
2068
1941
  },
2069
- {
2070
- $el: 'pre',
2071
- children: ['activeStep: ', '$activeStep'],
2072
- attrs: {
2073
- class: 't-text-xs',
2074
- style: 'overflow: scroll'
2075
- }
1942
+ 'Workers Compensation': {
1943
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
2076
1944
  },
2077
- {
2078
- $el: 'pre',
2079
- children: ['stepHistory: ', '$stepHistory'],
2080
- attrs: {
2081
- class: 't-text-xs',
2082
- style: 'overflow: scroll'
2083
- }
1945
+ 'Unemployment': {
1946
+ 'Type_Of_Legal_Problem': 'Unemployment'
2084
1947
  },
2085
- {
2086
- $el: 'pre',
2087
- children: ['stepQueue: ', '$stepQueue'],
2088
- attrs: {
2089
- class: 't-text-xs',
2090
- style: 'overflow: scroll'
2091
- }
1948
+ 'Other Workplace Issues': {
1949
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
2092
1950
  },
2093
- {
2094
- $el: 'pre',
2095
- children: ['steps: ', '$stepKeys()'],
2096
- attrs: {
2097
- class: 't-text-xs',
2098
- style: 'overflow: scroll'
2099
- }
1951
+ // Malpractice
1952
+ 'Attorney Malpractice': {
1953
+ 'Type_Of_Legal_Problem': 'Civil Lawsuit'
1954
+ },
1955
+ 'Other Malpractice Issues': {
1956
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
1957
+ },
1958
+ // Repossession
1959
+ 'Vehicle Repossession': {
1960
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
1961
+ },
1962
+ 'Property Repossession': {
1963
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
1964
+ },
1965
+ 'Other Repossession Issues': {
1966
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
1967
+ },
1968
+ // Real Estate
1969
+ 'Contracts and Agreements': {
1970
+ 'Type_Of_Legal_Problem': 'Real Estate'
1971
+ },
1972
+ 'Deeds, Liens, and Titles': {
1973
+ 'Type_Of_Legal_Problem': 'Real Estate'
1974
+ },
1975
+ 'Foreclosure': {
1976
+ 'Type_Of_Legal_Problem': 'Foreclosure'
1977
+ },
1978
+ 'Insurance': {
1979
+ 'Type_Of_Legal_Problem': 'Insurance'
1980
+ },
1981
+ 'Landlord and Tenant': {
1982
+ 'Type_Of_Legal_Problem': 'Landlord and Tenant',
1983
+ },
1984
+ 'Loans and Mortgages': {
1985
+ 'Type_Of_Legal_Problem': 'Real Estate',
1986
+ },
1987
+ 'Wills, Trusts, and Estates': {
1988
+ 'Type_Of_Legal_Problem': 'Wills and Trusts'
1989
+ },
1990
+ 'Property Damage': {
1991
+ 'Type_Of_Legal_Problem': 'Property Damage'
1992
+ },
1993
+ 'Other Real Estate Issues': {
1994
+ 'Type_Of_Legal_Problem': 'Real Estate'
2100
1995
  }
1996
+ }
1997
+ };
1998
+
1999
+ const TOLPCommentsPlaceholders = {
2000
+ 'Adoption': 'Example: "I need help with adoption forms"',
2001
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
2002
+ '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"',
2003
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
2004
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
2005
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
2006
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
2007
+ 'Child Custody': 'Example: "Need help getting custody"',
2008
+ 'Child Support': 'Example: "Issues with child support payments"',
2009
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
2010
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
2011
+ 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
2012
+ 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
2013
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
2014
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
2015
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
2016
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
2017
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
2018
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
2019
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
2020
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
2021
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
2022
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
2023
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
2024
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
2025
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
2026
+ 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
2027
+ 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
2028
+ 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
2029
+ 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
2030
+ 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
2031
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
2032
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
2033
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
2034
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
2035
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
2036
+ '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"',
2037
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
2038
+ 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
2039
+ 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
2040
+ 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
2041
+ 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
2042
+ 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
2043
+ 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
2044
+ 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
2045
+ '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"',
2046
+ 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
2047
+ 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
2048
+ 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
2049
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
2050
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
2051
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
2052
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
2053
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
2054
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
2055
+ };
2056
+
2057
+ const TOLPFinalHeadlines = {
2058
+ // 'Adoption': '',
2059
+ };
2060
+
2061
+ const TOLPFinalSubHeadlines = {
2062
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
2063
+ // 'Asbestos and Mesothelioma': '',
2064
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
2065
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
2066
+ // 'Birth Certificate and Name Change': '',
2067
+ // 'Business Lawyers': '',
2068
+ // 'Child Custody and Support': '',
2069
+ // 'Civil Rights and Discrimination': '',
2070
+ // 'Civil Lawsuit': '',
2071
+ // 'Consumer Lawyers': '',
2072
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
2073
+ // 'Criminal and Felony': '',
2074
+ // 'Debt and Collections': '',
2075
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
2076
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
2077
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
2078
+ // 'Employment and Workplace': '',
2079
+ // 'Expungement': '',
2080
+ // 'Family Issues': '',
2081
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
2082
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
2083
+ // 'Harassment and Discrimination': '',
2084
+ // 'Identity Theft': '',
2085
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
2086
+ // 'Insurance': '',
2087
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
2088
+ // 'Lemon Law': '',
2089
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
2090
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
2091
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
2092
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
2093
+ // 'Power of Attorney': '',
2094
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
2095
+ // 'Product Liability': '',
2096
+ // 'Property Damage': '',
2097
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
2098
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
2099
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
2100
+ // 'Traffic and Tickets': '',
2101
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
2102
+ // 'Victim of a Crime': '',
2103
+ // 'Wills and Trusts': '',
2104
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
2105
+ // 'Wrongful Death': '',
2106
+ // 'Wrongful Termination': '',
2107
+ // 'Not Sure or Other': ''
2108
+ // 'Sexual Harassment': '',
2109
+ // 'Workplace Harassment': '',
2110
+ // 'Non-Workplace Harassment': '',
2111
+ // 'Workplace Discrimination': '',
2112
+ // 'Non-Workplace Discrimination': '',
2113
+ };
2114
+
2115
+
2116
+ const nextStepsMapLegalLegacy = {
2117
+ '*': [
2118
+ 'TOLPQuestions',
2119
+ 'commentsWithBankruptcy',
2120
+ 'legalCrossSells',
2121
+ 'firstAndLast',
2122
+ 'contactInfo',
2101
2123
  ]
2102
- });
2124
+ };
2125
+
2126
+ const meta = defaultMetaProps();
2127
+
2128
+ meta.data.dynamicSchema = [
2129
+ civilLawsuitTOLPQuestions(),
2130
+ commentsWithBankruptcy(),
2131
+ legalCrossSells(),
2132
+ autoAndCarAccidentCrossSellQuestions(),
2133
+ personalInjuryCrossSellQuestions(),
2134
+ workersCompensationCrossSellQuestions(),
2135
+ duiAndDWICrossSellQuestions(),
2136
+ ssdiCrossSellQuestions(),
2137
+ powerOfAttorneyCrossSellQuestions(),
2138
+ willsAndTrustsCrossSellQuestions(),
2139
+ divorceAndSeparationCrossSellQuestions(),
2140
+ childCustodyCrossSellQuestions(),
2141
+ firstAndLastV2()
2142
+ ];
2103
2143
 
2104
2144
  const schema = [
2105
- defaultMetaProps(),
2145
+ meta,
2106
2146
  formAnchor(),
2107
2147
  {
2108
2148
  $cmp: 'FormKit',
@@ -2124,26 +2164,12 @@ const schema = [
2124
2164
  class: 'form-body'
2125
2165
  },
2126
2166
  children: [
2127
- civilLawsuitTOLPAndZip(),
2128
- civilLawsuitTOLPQuestions(),
2129
- commentsWithBankruptcyV2({
2130
- nextOnEnter: false
2131
- }),
2132
- legalCrossSells(),
2133
- autoAndCarAccidentCrossSellQuestions(),
2134
- personalInjuryCrossSellQuestions(),
2135
- workersCompensationCrossSellQuestions(),
2136
- duiAndDWICrossSellQuestions(),
2137
- ssdiCrossSellQuestions(),
2138
- powerOfAttorneyCrossSellQuestions(),
2139
- willsAndTrustsCrossSellQuestions(),
2140
- divorceAndSeparationCrossSellQuestions(),
2141
- childCustodyCrossSellQuestions(),
2142
- firstAndLastV2(),
2143
- contactInfoV2({
2144
- nextOnEnter: false
2167
+ civilLawsuitTOLPAndZip({
2168
+ nextStepMap: nextStepsMapLegalLegacy
2145
2169
  }),
2146
- formNavigationV2(),
2170
+ dynamicSchemaNode,
2171
+ contactInfo(),
2172
+ formNavigation(),
2147
2173
  formDetails()
2148
2174
  ]
2149
2175
  }