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,1211 +15,270 @@ 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
- }
49
-
50
- const metaDefaults = {
51
- tcpaLanguage: TCPA_LANGUAGE
24
+ return merge({
25
+ $formkit: 'checkbox',
26
+ validation: 'required',
27
+ validationMessages: {
28
+ required: 'Field is required'
29
+ }
30
+ }, updates)
52
31
  };
53
32
 
54
- function metaProps(updates) {
55
- const data = merge(
56
- metaDefaults,
57
- updates
58
- );
59
- return {
60
- type: 'meta',
61
- data
33
+ const verticalCheckbox = (updates) => {
34
+ if (!updates || !updates.legendClass) {
35
+ updates.legendClass = 'required';
62
36
  }
63
- }
37
+ updates.fieldsetClass = '$reset';
38
+ updates.optionsClass = 't-pl-2 t-pt-3';
39
+ updates.innerClass = 't-items-center';
40
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
41
+ return checkbox(updates)
42
+ };
64
43
 
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
- }
44
+ const sbsCheckbox = (updates) => {
45
+ updates.legendClass = 'legend-left required';
46
+ updates.fieldsetClass = '$reset side-by-side';
47
+ updates.optionsClass = 't-pl-1';
48
+ updates.innerClass = 't-flex t-items-center';
49
+ updates.wrapperClass = '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 col2Checkbox = (updates) => {
54
+ if (!updates || !updates.legendClass) {
55
+ updates.legendClass = 'required';
92
56
  }
57
+ updates.fieldsetClass = '$reset';
58
+ updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
59
+ updates.innerClass = 't-items-start';
60
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
61
+ return checkbox(updates)
93
62
  };
94
63
 
95
- function formAnchor(updates) {
96
- return merge(
97
- formAnchorDefaults,
98
- updates
99
- )
100
- }
64
+ const verticalCol2Checkbox = (updates) => {
65
+ if (!updates || !updates.legendClass) {
66
+ updates.legendClass = 'required';
67
+ }
68
+ updates.fieldsetClass = '$reset t-flex t-justify-center';
69
+ updates.optionClass = 't-mx-5';
70
+ updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
71
+ updates.innerClass = 't-items-center';
72
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
73
+ updates.messagesClass = 't-flex t-justify-center';
74
+ return checkbox(updates)
75
+ };
101
76
 
102
- const progressBarDefaults = {
103
- $el: 'div',
104
- attrs: {
105
- class: 't-mt-7 t-mb-5 t-w-full t-flex t-flex-col t-justify-center t-items-center',
106
- style: {
107
- if: '$fns.eq($activeStep, $firstStep()) || $fns.eq($activeStep, $lastStep())',
108
- then: 'display: none'
109
- },
110
- },
111
- children: [
112
- {
113
- $el: 'div',
114
- attrs: {
115
- class: 't-flex t-justify-center'
116
- },
117
- children: [
118
- {
119
- $el: 'span',
120
- attrs: {
121
- id: 'progress-bar-text',
122
- class: 't-text-sm t-mb-1'
123
- },
124
- children: [
125
- "0% Complete"
126
- ]
127
- },
128
- ]
77
+ const radio = (updates) => {
78
+ if (updates.name && !updates.id) {
79
+ updates.id = updates.name;
80
+ }
81
+ return merge({
82
+ $formkit: 'radio',
83
+ validation: 'required',
84
+ validationMessages: {
85
+ required: 'Field is required'
129
86
  },
130
- {
131
- $el: 'div',
132
- attrs: {
133
- class: 't-bg-gray-100 t-w-9/12 t-rounded'
134
- },
135
- children: [
136
- {
137
- $el: 'div',
138
- attrs: {
139
- id: 'progress-bar',
140
- class: 't-flex t-flex-col t-justify-center t-text-center t-whitespace-nowrap t-w-[10%] t-h-1.5 t-rounded t-text-white t-bg-[#007bff]',
141
- style: {
142
- transition: 'width 0.5s ease'
143
- },
144
- },
145
- }
146
- ]
147
- }
148
- ]
87
+ optionsClass: 't-pt-3 t-pl-1',
88
+ legendClass: 'required'
89
+ }, updates)
149
90
  };
150
91
 
151
- function progressBar(updates) {
152
- return merge(
153
- progressBarDefaults,
154
- updates
155
- )
156
- }
157
-
158
- function headlineDefaults(updates = {}) {
159
- return {
160
- $el: 'h1',
161
- attrs: {
162
- 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 || '')
163
- }
92
+ const col2RadioCenter = (updates) => {
93
+ updates.legendClass = 'required t-w-[100%] t-text-center';
94
+ if (typeof updates.fieldsetClass === 'undefined') {
95
+ updates.fieldsetClass = '$reset t-flex t-justify-center';
164
96
  }
165
- }
166
-
167
- function headline(updates = {}) {
168
- return merge(
169
- headlineDefaults(updates),
170
- updates
171
- )
172
- }
97
+ updates.optionsClass = 't-pl-4 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
98
+ updates.innerClass = 't-items-start';
99
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
100
+ updates.optionClass = 't-pl-4 md:t-pl-8 md:t-min-w-[200px]';
101
+ updates.messagesClass = 't-flex t-justify-center';
102
+ updates.helpClass = 't-mt-0 t-mb-4 !t-text-sm t-text-center';
103
+ return radio(updates)
104
+ };
173
105
 
174
- function subHeadlineDefaults(updates = {}) {
175
- return {
176
- $el: 'h3',
177
- attrs: {
178
- 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 || '')
179
- }
180
- }
181
- }
106
+ const sbs2ColRadio = (updates) => {
107
+ updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
108
+ updates.fieldsetClass = '$reset side-by-side-flex';
109
+ updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
110
+ updates.innerClass = 't-flex t-items-start';
111
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
112
+ return radio(updates)
113
+ };
182
114
 
183
- function subHeadline(updates = {}) {
184
- return merge(
185
- subHeadlineDefaults(updates),
186
- updates
187
- )
188
- }
115
+ const sbs2ItemRadio = (updates) => {
116
+ updates.legendClass = 'legend-left t-pb-1 required';
117
+ updates.fieldsetClass = '$reset side-by-side t-items-center';
118
+ updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
119
+ updates.innerClass = 't-flex t-items-center';
120
+ updates.optionClass = 't-pr-1';
121
+ return radio(updates)
122
+ };
189
123
 
190
- function defaultSubHeadline() {
191
- return subHeadline({
192
- children: '$urlParam("shl", "Our Service is Fast and Free!")',
193
- if: '$activeStep === $firstStep()'
194
- })
195
- }
124
+ const sbsYesNoRadio = (updates) => {
125
+ updates.options = ['Yes', 'No'];
126
+ return sbs2ItemRadio(updates)
127
+ };
196
128
 
197
- const secureIconDefault = {
198
- $el: 'div',
199
- if: '$activeStep === $lastStep()',
200
- attrs: {
201
- class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
202
- },
203
- children: [
204
- {
205
- $el: 'img',
206
- attrs: {
207
- loading: 'lazy',
208
- alt: '',
209
- style: {
210
- border: 0
211
- },
212
- width: '25',
213
- height: '25',
214
- src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
215
- }
216
- },
217
- {
218
- $el: 'span',
219
- children: 'Secure & Encrypted',
220
- attrs: {
221
- class: 't-pl-2 t-pt-1 t-font-medium'
222
- }
223
- }
224
- ]
129
+ const verticalButtonRadio = (updates) => {
130
+ updates.legendClass = 'legend-left';
131
+ updates.fieldsetClass = '$reset t-flex t-justify-center t-items-center';
132
+ if (typeof updates.optionsClass === 'undefined') {
133
+ updates.optionsClass = 't-flex t-flex-col sm:t-flex-row t-justify-center t-my-3';
134
+ }
135
+ updates.optionClass = 'radiobtn t-my-2 sm:t-my-0 t-mx-2 md:t-mx-5';
136
+ updates.wrapperClass = '$reset formkit-wrapper t-mb-0 t-flex t-items-center t-h-[100%]';
137
+ updates.labelClass = 't-font-semibold t-text-[#1e448f] t-w-[100%]';
138
+ updates.decoratorIcon = false;
139
+ updates.messagesClass = 't-flex t-justify-center';
140
+ return radio(updates)
225
141
  };
226
142
 
143
+ const verticalYesNoRadio = (updates) => {
144
+ updates.options = ['Yes', 'No'];
145
+ updates.optionsClass = 't-flex t-justify-center t-my-3';
146
+ return verticalButtonRadio(updates)
147
+ };
227
148
 
228
- function secureIcon(updates) {
229
- return merge(
230
- secureIconDefault,
231
- updates
232
- )
233
- }
149
+ const verticalRadio = (updates) => {
150
+ updates.legendClass = 'required';
151
+ updates.fieldsetClass = '$reset t-flex t-justify-center';
152
+ updates.optionsClass = 't-pl-2 t-pt-3';
153
+ updates.innerClass = 't-items-center';
154
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
155
+ updates.optionClass = 't-pl-4 md:t-pl-12';
156
+ updates.messagesClass = 't-flex t-justify-center';
157
+ return radio(updates)
158
+ };
234
159
 
235
- const hiddenInputsBase = [
236
- {
237
- $formkit: 'hidden',
238
- name: "gclid",
239
- value: null
240
- },
241
- {
242
- $formkit: 'hidden',
243
- name: "campaignid",
244
- value: null
245
- },
246
- {
247
- $formkit: 'hidden',
248
- name: "s",
249
- value: null
160
+ const select = (updates) => {
161
+ if (updates.name && !updates.id) {
162
+ updates.id = updates.name;
250
163
  }
251
- ];
164
+ return merge({
165
+ $formkit: 'select',
166
+ placeholder: "Please Select",
167
+ validation: 'required',
168
+ validationMessages: {
169
+ required: 'Field is required'
170
+ },
171
+ inputClass: 't-bg-white',
172
+ labelClass: 'required'
173
+ }, updates)
174
+ };
252
175
 
253
- const hiddenInputsLegal = [
254
- {
255
- $formkit: 'hidden',
256
- name: "vertical",
257
- value: "Legal"
258
- },
259
- {
260
- $formkit: 'hidden',
261
- name: "TCPA_Language",
262
- value: "$meta.tcpaLanguage"
263
- },
264
- ...hiddenInputsBase
265
- ];
176
+ const sbsSelect = (updates) => {
177
+ updates.labelClass = 'required';
178
+ updates.wrapperClass = 'side-by-side t-items-center';
179
+ updates.innerClass = 'select-height-content';
180
+ updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
181
+ return select(updates)
182
+ };
266
183
 
267
- const legalRedirectMapDefaults = {
268
- '*': LegalRedirectUrl()
184
+ const verticalSelect = (updates) => {
185
+ updates.labelClass = 'required';
186
+ updates.wrapperClass = 't-flex t-justify-center';
187
+ updates.messagesClass = 't-flex t-justify-center';
188
+ updates.inputClass = 't-min-w-[150px] t-bg-white';
189
+ updates.helpClass = 't-mt-2.5 t-text-center';
190
+ return select(updates)
269
191
  };
270
192
 
193
+ const text = (updates) => {
194
+ if (updates.name && !updates.id) {
195
+ updates.id = updates.name;
196
+ }
197
+ return merge({
198
+ $formkit: 'text',
199
+ validation: 'required',
200
+ validationMessages: {
201
+ required: 'Field is required'
202
+ },
203
+ labelClass: 'required'
204
+ }, updates)
205
+ };
271
206
 
272
- function legalRedirectMap(updates) {
273
- return merge(
274
- legalRedirectMapDefaults,
275
- updates
276
- )
277
- }
207
+ const sbsText = (updates) => {
208
+ updates.wrapperClass = 'side-by-side t-items-center';
209
+ return text(updates)
210
+ };
278
211
 
279
- const legalAllValueOverrideMap = {
280
- 'Civil_Defense': {
281
- 'Yes': {
282
- 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
283
- },
284
- 'No': {
285
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
286
- }
287
- },
288
- 'Type_Of_Legal_Problem_Display': {
289
- // Accidents and PI
290
- 'Auto Accident': {
291
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
292
- },
293
- 'Dog Bite': {
294
- 'Type_Of_Legal_Problem': 'Personal Injury'
295
- },
296
- 'Slip and Fall': {
297
- 'Type_Of_Legal_Problem': 'Personal Injury'
298
- },
299
- 'Workplace Injury': {
300
- 'Type_Of_Legal_Problem': 'Workers Compensation'
301
- },
302
- 'Trucking Accident': {
303
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
304
- },
305
- 'Motorcycle Accident': {
306
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
307
- },
308
- 'Other Accidents or Injuries': {
309
- 'Type_Of_Legal_Problem': 'Personal Injury'
310
- },
311
- // Civil
312
- 'Automobile Accident': {
313
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
314
- },
315
- 'Contract Disputes': {
316
- 'Type_Of_Legal_Problem': 'Business Lawyers'
317
- },
318
- 'Defamation and Slander': {
319
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
320
- },
321
- 'Dog Bite': {
322
- 'Type_Of_Legal_Problem': 'Personal Injury'
323
- },
324
- 'Employment and Workplace': {
325
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
326
- },
327
- 'Fraud': {
328
- 'Type_Of_Legal_Problem': 'Consumer Lawyers'
329
- },
330
- 'Medical Malpractice': {
331
- 'Type_Of_Legal_Problem': 'Medical Malpractice'
332
- },
333
- 'Personal Injury': {
334
- 'Type_Of_Legal_Problem': 'Personal Injury'
335
- },
336
- 'Property Damage': {
337
- 'Type_Of_Legal_Problem': 'Property Damage'
338
- },
339
- 'Small Claims': {
340
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
341
- },
342
- 'Real Estate': {
343
- 'Type_Of_Legal_Problem': 'Real Estate'
344
- },
345
- 'Other (describe on next page)': {
346
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
347
- },
348
- // Contracts
349
- 'Contract Creation': {
350
- 'Type_Of_Legal_Problem': 'Business Lawyers',
351
- 'Business_Services': 'Contracts'
352
- },
353
- 'Contract Enforcement': {
354
- 'Type_Of_Legal_Problem': 'Business Lawyers',
355
- 'Business_Services': 'Contracts'
356
- },
357
- 'Contract Cancellation': {
358
- 'Type_Of_Legal_Problem': 'Business Lawyers',
359
- 'Business_Services': 'Contracts'
212
+ const verticalText = (updates) => {
213
+ updates.wrapperClass = 't-flex t-justify-center';
214
+ updates.messagesClass = 't-flex t-justify-center';
215
+ updates.inputClass = 't-text-center';
216
+ return text(updates)
217
+ };
218
+
219
+ const textArea = (updates) => {
220
+ if (updates.name && !updates.id) {
221
+ updates.id = updates.name;
222
+ }
223
+ return merge({
224
+ $formkit: 'textarea',
225
+ rows: 5,
226
+ maxlength: 500,
227
+ validation: 'required',
228
+ validationMessages: {
229
+ required: 'Field is required'
360
230
  },
361
- 'Contract Fraud': {
362
- 'Type_Of_Legal_Problem': 'Business Lawyers',
363
- 'Business_Services': 'Contracts'
231
+ innerClass: 't-max-w-xl',
232
+ labelClass: 'required'
233
+ }, updates)
234
+ };
235
+
236
+ const date = (updates) => {
237
+ if (updates.name && !updates.id) {
238
+ updates.id = updates.name;
239
+ }
240
+ return merge({
241
+ $formkit: 'DatePicker',
242
+ validation: 'required',
243
+ validationMessages: {
244
+ required: 'Field is required'
364
245
  },
365
- 'Breach of Contract': {
366
- 'Type_Of_Legal_Problem': 'Business Lawyers',
367
- 'Business_Services': 'Contracts'
368
- },
369
- 'Other Contract Issues': {
370
- 'Type_Of_Legal_Problem': 'Business Lawyers',
371
- 'Business_Services': 'Contracts'
372
- },
373
- // Criminal
374
- 'Criminal Defense': {
375
- 'Type_Of_Legal_Problem': 'Criminal and Felony'
376
- },
377
- 'Victim of a Crime': {
378
- 'Type_Of_Legal_Problem': 'Victim of a Crime'
379
- },
380
- 'DUI and DWI': {
381
- 'Type_Of_Legal_Problem': 'DUI and DWI'
382
- },
383
- 'Expungement': {
384
- 'Type_Of_Legal_Problem': 'Expungement'
385
- },
386
- 'Harassment': {
387
- 'Type_Of_Legal_Problem': 'Criminal and Felony'
388
- },
389
- 'Not Sure or Other': {
390
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
391
- },
392
- // Employment and Workplace
393
- 'Workplace Harassment': {
394
- 'Type_Of_Legal_Problem': 'Workplace Harassment'
395
- },
396
- 'Workplace Discrimination': {
397
- 'Type_Of_Legal_Problem': 'Workplace Discrimination'
398
- },
399
- 'Wrongful Termination': {
400
- 'Type_Of_Legal_Problem': 'Wrongful Termination'
401
- },
402
- 'Payment Disputes': {
403
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
404
- },
405
- 'Workers Compensation': {
406
- 'Type_Of_Legal_Problem': 'Workers Compensation'
407
- },
408
- 'Unemployment': {
409
- 'Type_Of_Legal_Problem': 'Unemployment'
410
- },
411
- 'Other Workplace Issues': {
412
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
413
- },
414
- // Malpractice
415
- 'Attorney Malpractice': {
416
- 'Type_Of_Legal_Problem': 'Civil Lawsuit'
417
- },
418
- 'Other Malpractice Issues': {
419
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
420
- },
421
- // Repossession
422
- 'Vehicle Repossession': {
423
- 'Type_Of_Legal_Problem': 'Bankruptcy'
424
- },
425
- 'Property Repossession': {
426
- 'Type_Of_Legal_Problem': 'Bankruptcy'
427
- },
428
- 'Other Repossession Issues': {
429
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
430
- },
431
- // Real Estate
432
- 'Contracts and Agreements': {
433
- 'Type_Of_Legal_Problem': 'Real Estate'
434
- },
435
- 'Deeds, Liens, and Titles': {
436
- 'Type_Of_Legal_Problem': 'Real Estate'
437
- },
438
- 'Foreclosure': {
439
- 'Type_Of_Legal_Problem': 'Foreclosure'
440
- },
441
- 'Insurance': {
442
- 'Type_Of_Legal_Problem': 'Insurance'
443
- },
444
- 'Landlord and Tenant': {
445
- 'Type_Of_Legal_Problem': 'Landlord and Tenant',
446
- },
447
- 'Loans and Mortgages': {
448
- 'Type_Of_Legal_Problem': 'Real Estate',
449
- },
450
- 'Wills, Trusts, and Estates': {
451
- 'Type_Of_Legal_Problem': 'Wills and Trusts'
452
- },
453
- 'Property Damage': {
454
- 'Type_Of_Legal_Problem': 'Property Damage'
455
- },
456
- 'Other Real Estate Issues': {
457
- 'Type_Of_Legal_Problem': 'Real Estate'
458
- }
459
- }
460
- };
461
-
462
- const TOLPCommentsPlaceholders = {
463
- 'Adoption': 'Example: "I need help with adoption forms"',
464
- 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
465
- '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"',
466
- 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
467
- 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
468
- 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
469
- 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
470
- 'Child Custody': 'Example: "Need help getting custody"',
471
- 'Child Support': 'Example: "Issues with child support payments"',
472
- 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
473
- 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
474
- 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
475
- 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
476
- 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
477
- 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
478
- 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
479
- 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
480
- 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
481
- 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
482
- 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
483
- 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
484
- 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
485
- 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
486
- 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
487
- 'Guardianship': 'Example: "I need help with guardianship documents"',
488
- 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
489
- 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
490
- 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
491
- 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
492
- 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
493
- 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
494
- 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
495
- 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
496
- 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
497
- 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
498
- 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
499
- '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"',
500
- 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
501
- 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
502
- 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
503
- 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
504
- 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
505
- 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
506
- 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
507
- 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
508
- '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"',
509
- 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
510
- 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
511
- 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
512
- 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
513
- 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
514
- 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
515
- 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
516
- 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
517
- 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
246
+ labelClass: 'required t-block t-mb-3 t-font-semibold t-text-base formkit-invalid:t-text-red-500',
247
+ innerClass: 't-border t-border-gray-400 formkit-invalid:t-border-red-500 t-rounded t-mb-1 focus-within:t-border-blue-500'
248
+ }, updates)
518
249
  };
519
250
 
520
- const TOLPFinalHeadlines = {
521
- // 'Adoption': '',
251
+ const sbsDate = (updates) => {
252
+ updates.wrapperClass = 'side-by-side t-items-center';
253
+ return date(updates)
522
254
  };
523
255
 
524
- const TOLPFinalSubHeadlines = {
525
- 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
526
- // 'Asbestos and Mesothelioma': '',
527
- 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
528
- 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
529
- // 'Birth Certificate and Name Change': '',
530
- // 'Business Lawyers': '',
531
- // 'Child Custody and Support': '',
532
- // 'Civil Rights and Discrimination': '',
533
- // 'Civil Lawsuit': '',
534
- // 'Consumer Lawyers': '',
535
- 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
536
- // 'Criminal and Felony': '',
537
- // 'Debt and Collections': '',
538
- 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
539
- 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
540
- 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
541
- // 'Employment and Workplace': '',
542
- // 'Expungement': '',
543
- // 'Family Issues': '',
544
- 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
545
- 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
546
- // 'Harassment and Discrimination': '',
547
- // 'Identity Theft': '',
548
- 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
549
- // 'Insurance': '',
550
- 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
551
- // 'Lemon Law': '',
552
- 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
553
- 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
554
- 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
555
- 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
556
- // 'Power of Attorney': '',
557
- 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
558
- // 'Product Liability': '',
559
- // 'Property Damage': '',
560
- 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
561
- 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
562
- 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
563
- // 'Traffic and Tickets': '',
564
- 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
565
- // 'Victim of a Crime': '',
566
- // 'Wills and Trusts': '',
567
- 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
568
- // 'Wrongful Death': '',
569
- // 'Wrongful Termination': '',
570
- // 'Not Sure or Other': ''
571
- // 'Sexual Harassment': '',
572
- // 'Workplace Harassment': '',
573
- // 'Non-Workplace Harassment': '',
574
- // 'Workplace Discrimination': '',
575
- // 'Non-Workplace Discrimination': '',
256
+ const verticalDate = (updates) => {
257
+ updates.wrapperClass = 't-flex t-justify-center';
258
+ updates.inputClass = 't-text-center';
259
+ updates.messagesClass = 't-flex t-justify-center';
260
+ return date(updates)
576
261
  };
577
262
 
578
- const nextStepsLegalDefault = [
579
- 'haveAttorney',
580
- 'degreeOfInterest',
581
- 'commentsWithBankruptcy',
582
- 'zipcode',
583
- 'legalCrossSells',
584
- 'firstAndLast',
585
- 'contactInfo',
586
- ];
263
+ const amountPaymentsPastDueCenter = () => verticalSelect({
264
+ name: 'Amount_Payments_Past_Due',
265
+ options: [
266
+ "$0 - $499",
267
+ "$500 - $999",
268
+ "$1,000 - $2,499",
269
+ "$2,500 - $4,999",
270
+ "$5,000 - $9,999",
271
+ "$10,000 - $24,999",
272
+ "$25,000 - $49,999",
273
+ "$50,000 - $99,999",
274
+ "More than $100,000"
275
+ ]
276
+ });
587
277
 
588
- const nextStepsLegalDefaultLPM = [
589
- 'haveAttorney',
590
- 'degreeOfInterest',
591
- 'lawyerPaymentMethod',
592
- 'commentsWithBankruptcy',
593
- 'zipcode',
594
- 'legalCrossSells',
595
- 'firstAndLast',
596
- 'contactInfo',
597
- ];
598
-
599
- const nextStepsLegalNoDOI = [
600
- 'haveAttorney',
601
- 'commentsWithBankruptcy',
602
- 'zipcode',
603
- 'legalCrossSells',
604
- 'firstAndLast',
605
- 'contactInfo',
606
- ];
607
-
608
- const nextStepsLegalNoHA = [
609
- 'degreeOfInterest',
610
- 'commentsWithBankruptcy',
611
- 'zipcode',
612
- 'legalCrossSells',
613
- 'firstAndLast',
614
- 'contactInfo',
615
- ];
616
-
617
- const nextStepsMapGeneralLegal = {
618
- 'Type_Of_Legal_Problem': {
619
- 'Adoption': [
620
- 'maritalStatus',
621
- 'haveChildren',
622
- ...nextStepsLegalDefaultLPM
623
- ],
624
- 'Asbestos and Mesothelioma': [
625
- 'incidentDate',
626
- 'doctorTreatment',
627
- ...nextStepsLegalDefault
628
- ],
629
- 'Auto and Car Accidents': [
630
- 'incidentDate',
631
- 'atFault',
632
- 'primaryInjury',
633
- 'doctorTreatment',
634
- 'policeReportFiled',
635
- ...nextStepsLegalNoDOI
636
- ],
637
- 'Bankruptcy': [
638
- 'totalMonthlyIncome',
639
- 'totalDebt',
640
- 'ownRealEstate',
641
- 'valueOfAssets',
642
- ...nextStepsLegalDefault
643
- ],
644
- 'Business Lawyers': [
645
- 'businessServices',
646
- 'businessType',
647
- 'numEmployeesOfBusiness',
648
- ...nextStepsLegalDefault
649
- ],
650
- 'Child Custody': [
651
- 'childRelationship',
652
- 'childHome',
653
- 'childPrimaryCaregiver',
654
- ...nextStepsLegalDefaultLPM
655
- ],
656
- 'Child Support': [
657
- 'childRelationship',
658
- 'childHome',
659
- 'childPrimaryCaregiver',
660
- ...nextStepsLegalDefaultLPM
661
- ],
662
- 'Civil Rights and Discrimination': [
663
- 'civilRightsType',
664
- ...nextStepsLegalDefault
665
- ],
666
- 'Civil Lawsuit': [
667
- 'civilDefense',
668
- 'lawsuitOtherParty',
669
- ...nextStepsLegalDefault
670
- ],
671
- 'File a Lawsuit': [
672
- 'civilLawsuitTOLPDisplay',
673
- 'lawsuitOtherParty',
674
- ...nextStepsLegalDefault
675
- ],
676
- 'Defend a Lawsuit': [
677
- 'lawsuitOtherParty',
678
- ...nextStepsLegalDefault
679
- ],
680
- 'Consumer Lawyers': [
681
- 'consumerLawyerType',
682
- 'incidentDate',
683
- 'lawsuitOtherParty',
684
- ...nextStepsLegalDefault
685
- ],
686
- 'Criminal and Felony': [
687
- 'criminalTOLPDisplay',
688
- 'crimeCommittedDate',
689
- 'roleInMatterCriminal',
690
- 'pendingCharges',
691
- ...nextStepsLegalDefaultLPM
692
- ],
693
- 'Debt and Collections': [
694
- 'totalMonthlyIncome',
695
- 'totalDebt',
696
- 'ownRealEstate',
697
- 'valueOfAssets',
698
- ...nextStepsLegalDefault
699
- ],
700
- 'Divorce and Separation': [
701
- 'maritalStatus',
702
- 'haveChildren',
703
- ...nextStepsLegalDefaultLPM
704
- ],
705
- 'DUI and DWI': [
706
- 'incidentDate',
707
- 'priorAlcoholOffenses',
708
- 'typeOfAlcoholTest',
709
- 'bloodContentAlcoholTest',
710
- 'pendingCharges',
711
- ...nextStepsLegalDefault
712
- ],
713
- 'Employment and Workplace': [
714
- 'employmentAndWorkplaceTOLPDisplay',
715
- 'numEmployeesOfBusiness',
716
- 'employerType',
717
- ...nextStepsLegalDefault
718
- ],
719
- 'Expungement': [
720
- 'incidentDate',
721
- 'criminalChargeType',
722
- ...nextStepsLegalDefaultLPM
723
- ],
724
- 'Family Issues': [
725
- 'maritalStatus',
726
- 'haveChildren',
727
- ...nextStepsLegalDefaultLPM
728
- ],
729
- 'Foreclosure': [
730
- 'ownRealEstate',
731
- 'typeOfProperty',
732
- 'amountPaymentsPastDue',
733
- 'loanAmount',
734
- 'defaultNotice',
735
- ...nextStepsLegalDefault
736
- ],
737
- 'Guardianship': [
738
- 'maritalStatus',
739
- 'haveChildren',
740
- ...nextStepsLegalDefaultLPM
741
- ],
742
- 'Immigration and Visas': [
743
- 'countryOfCitizenship',
744
- 'immigrationLocation',
745
- 'immigrationEntry',
746
- 'immigrationType',
747
- 'immigrationStatus',
748
- 'immigrationDetails',
749
- ...nextStepsLegalDefault
750
- ],
751
- 'Landlord and Tenant': [
752
- 'landlordTenantIssue',
753
- 'landlordTenantParty',
754
- ...nextStepsLegalDefault
755
- ],
756
- 'Lemon Law': [
757
- 'incidentDate',
758
- 'lawsuitOtherParty',
759
- ...nextStepsLegalDefault
760
- ],
761
- 'Long Term Disability': [
762
- 'applicantOccupation',
763
- 'applicantAge',
764
- 'applicantLTDisabilityPolicy',
765
- 'applicantDisabilityHowObtain',
766
- 'applicantPreviouslyAppliedLtdBenefits',
767
- 'applicantReceivedDisabilityBenefits',
768
- 'applicantMonthlySalary',
769
- ...nextStepsLegalNoDOI
770
- ],
771
- 'Medical Malpractice': [
772
- 'incidentDate',
773
- 'claimStatus',
774
- 'doctorTreatment',
775
- 'medicalMalpracticeInjuries',
776
- ...nextStepsLegalDefault
777
- ],
778
- 'Patents and Intellectual Property': [
779
- 'patentAssistanceType',
780
- 'patentFor',
781
- ...nextStepsLegalDefault
782
- ],
783
- 'Personal Injury': [
784
- 'incidentDate',
785
- 'claimStatus',
786
- 'atFault',
787
- 'primaryInjury',
788
- 'doctorTreatment',
789
- ...nextStepsLegalNoDOI
790
- ],
791
- 'Probate and Estates': [
792
- 'valueOfAssets',
793
- 'typeOfAssets',
794
- 'roleInMatterProbate',
795
- 'estateLegalServicesNeeded',
796
- ...nextStepsLegalDefault
797
- ],
798
- 'Property Damage': [
799
- 'realEstateArea',
800
- 'wouldLikeLawyerTo',
801
- ...nextStepsLegalDefault
802
- ],
803
- 'Real Estate': [
804
- 'realEstateTOLPDisplay',
805
- 'realEstateArea',
806
- 'wouldLikeLawyerTo',
807
- ...nextStepsLegalDefault
808
- ],
809
- 'Social Security Disability and Insurance': [
810
- 'applicantAge',
811
- 'disabilityConditionStopWork',
812
- 'disabilityWorkHistory',
813
- 'socialSecurityDisabilityReceivingBenefits',
814
- 'doctorTreatment',
815
- ...nextStepsLegalNoDOI
816
- ],
817
- 'Tax and IRS': [
818
- 'totalDebt',
819
- 'taxProblemDetails',
820
- 'taxLevel',
821
- 'taxIssueType',
822
- ...nextStepsLegalDefault
823
- ],
824
- 'Traffic and Tickets': [
825
- 'driversLicenseType',
826
- 'trafficViolations',
827
- 'haveCourtDate',
828
- ...nextStepsLegalDefault
829
- ],
830
- 'Unemployment': [
831
- 'numEmployeesOfBusiness',
832
- 'employerType',
833
- ...nextStepsLegalNoHA
834
- ],
835
- 'Victim of a Crime': [
836
- 'crimeCommittedDate',
837
- 'roleInMatterCriminal',
838
- 'pendingCharges',
839
- ...nextStepsLegalDefaultLPM
840
- ],
841
- 'Wills and Trusts': [
842
- 'valueOfAssets',
843
- 'typeOfAssets',
844
- 'roleInMatterProbate',
845
- 'estateLegalServicesNeeded',
846
- ...nextStepsLegalDefault
847
- ],
848
- 'Workers Compensation': [
849
- 'incidentDate',
850
- 'claimStatus',
851
- 'primaryInjury',
852
- 'causeOfInjury',
853
- 'doctorTreatment',
854
- ...nextStepsLegalNoDOI
855
- ],
856
- 'Wrongful Death': [
857
- 'incidentDate',
858
- 'relationshipToVictim',
859
- 'criminalChargesFiled',
860
- 'causeOfDeath',
861
- ...nextStepsLegalNoDOI
862
- ],
863
- 'Wrongful Termination': [
864
- 'numEmployeesOfBusiness',
865
- 'employerType',
866
- ...nextStepsLegalDefault
867
- ],
868
- },
869
- '*': nextStepsLegalDefault
870
- };
871
-
872
- // function filterMapByKey(obj, keyList) {
873
- // return Object.fromEntries(
874
- // Object.entries(obj).filter(([key]) => keyList.includes(key))
875
- // );
876
- // }
877
-
878
- // export function filteredNextStepsMapLegal(keyList) {
879
- // const res = { Type_Of_Legal_Problem: filterMapByKey(nextStepsMapGeneralLegal["Type_Of_Legal_Problem"], keyList) }
880
- // res["*"] = nextStepsMapGeneralLegal["*"]
881
- // return res
882
- // }
883
-
884
- const TOLPNextSteps = nextStepsMapGeneralLegal["Type_Of_Legal_Problem"];
885
-
886
- ({
887
- 'Civil_Defense': {
888
- 'Yes': TOLPNextSteps["Defend a Lawsuit"],
889
- 'No': TOLPNextSteps["File a Lawsuit"],
890
- },
891
- '*': [
892
- 'lawsuitOtherParty',
893
- ...nextStepsLegalDefault
894
- ]
895
- });
896
-
897
- const nextStepsMapCivilTOLPDisplay = {
898
- 'Type_Of_Legal_Problem_Display': {
899
- 'Automobile Accident': TOLPNextSteps["Auto and Car Accidents"],
900
- 'Contract Disputes': TOLPNextSteps["Business Lawyers"],
901
- 'Dog Bite': TOLPNextSteps["Personal Injury"],
902
- 'Employment and Workplace': TOLPNextSteps["Employment and Workplace"],
903
- 'Fraud': TOLPNextSteps["Consumer Lawyers"],
904
- 'Medical Malpractice': TOLPNextSteps["Medical Malpractice"],
905
- 'Personal Injury': TOLPNextSteps["Personal Injury"],
906
- 'Property Damage': TOLPNextSteps["Property Damage"],
907
- 'Real Estate': TOLPNextSteps["Real Estate"],
908
- 'Other (describe on next page)': TOLPNextSteps["Not Sure or Other"],
909
- },
910
- '*': [
911
- 'lawsuitOtherParty',
912
- ...nextStepsLegalDefault
913
- ]
914
- };
915
-
916
- const nextStepsMapCriminalTOLPDisplay = {
917
- 'Type_Of_Legal_Problem_Display': {
918
- 'Victim of a Crime': TOLPNextSteps["Victim of a Crime"],
919
- 'DUI and DWI': TOLPNextSteps["DUI and DWI"],
920
- 'Expungement': TOLPNextSteps["Expungement"],
921
- 'Not Sure or Other': nextStepsMapGeneralLegal["*"],
922
- },
923
- '*': [
924
- 'crimeCommittedDate',
925
- 'roleInMatterCriminal',
926
- 'pendingCharges',
927
- ...nextStepsLegalDefaultLPM
928
- ]
929
- };
930
-
931
- const nextStepsMapEmploymentAndWorkplaceTOLPDisplay = {
932
- 'Type_Of_Legal_Problem_Display': {
933
- 'Wrongful Termination': TOLPNextSteps["Wrongful Termination"],
934
- 'Workers Compensation': TOLPNextSteps["Workers Compensation"],
935
- 'Personal Injury': TOLPNextSteps["Personal Injury"],
936
- 'Unemployment': TOLPNextSteps["Unemployment"],
937
- },
938
- '*': [
939
- 'numEmployeesOfBusiness',
940
- 'employerType',
941
- ...nextStepsLegalDefault
942
- ]
943
- };
944
-
945
- const nextStepsMapRealEstateTOLPDisplay = {
946
- 'Type_Of_Legal_Problem_Display': {
947
- 'Foreclosure': TOLPNextSteps["Foreclosure"],
948
- 'Landlord and Tenant': TOLPNextSteps["Landlord and Tenant"],
949
- 'Wills, Trusts, and Estates': TOLPNextSteps["Wills and Trusts"],
950
- 'Property Damage': TOLPNextSteps['Property Damage'],
951
- },
952
- '*': [
953
- 'realEstateArea',
954
- 'wouldLikeLawyerTo',
955
- ...nextStepsLegalDefault
956
- ]
957
- };
958
-
959
- // ------ Common Base Settings
960
-
961
- const checkbox = (updates) => {
962
- if (updates.name && !updates.id) {
963
- updates.id = updates.name;
964
- }
965
- return merge({
966
- $formkit: 'checkbox',
967
- validation: 'required',
968
- validationMessages: {
969
- required: 'Field is required'
970
- }
971
- }, updates)
972
- };
973
-
974
- const verticalCheckbox = (updates) => {
975
- if (!updates || !updates.legendClass) {
976
- updates.legendClass = 'required';
977
- }
978
- updates.fieldsetClass = '$reset';
979
- updates.optionsClass = 't-pl-2 t-pt-3';
980
- updates.innerClass = 't-items-center';
981
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
982
- return checkbox(updates)
983
- };
984
-
985
- const sbsCheckbox = (updates) => {
986
- updates.legendClass = 'legend-left required';
987
- updates.fieldsetClass = '$reset side-by-side';
988
- updates.optionsClass = 't-pl-1';
989
- updates.innerClass = 't-flex t-items-center';
990
- updates.wrapperClass = 't-mb-3';
991
- return checkbox(updates)
992
- };
993
-
994
- const col2Checkbox = (updates) => {
995
- if (!updates || !updates.legendClass) {
996
- updates.legendClass = 'required';
997
- }
998
- updates.fieldsetClass = '$reset';
999
- updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
1000
- updates.innerClass = 't-items-start';
1001
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
1002
- return checkbox(updates)
1003
- };
1004
-
1005
- const verticalCol2Checkbox = (updates) => {
1006
- if (!updates || !updates.legendClass) {
1007
- updates.legendClass = 'required';
1008
- }
1009
- updates.fieldsetClass = '$reset t-flex t-justify-center';
1010
- updates.optionClass = 't-mx-5';
1011
- updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
1012
- updates.innerClass = 't-items-center';
1013
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
1014
- updates.messagesClass = 't-flex t-justify-center';
1015
- return checkbox(updates)
1016
- };
1017
-
1018
- const radio = (updates) => {
1019
- if (updates.name && !updates.id) {
1020
- updates.id = updates.name;
1021
- }
1022
- return merge({
1023
- $formkit: 'radio',
1024
- validation: 'required',
1025
- validationMessages: {
1026
- required: 'Field is required'
1027
- },
1028
- optionsClass: 't-pt-3 t-pl-1',
1029
- legendClass: 'required'
1030
- }, updates)
1031
- };
1032
-
1033
- const col2RadioCenter = (updates) => {
1034
- updates.legendClass = 'required t-w-[100%] t-text-center';
1035
- if (typeof updates.fieldsetClass === 'undefined') {
1036
- updates.fieldsetClass = '$reset t-flex t-justify-center';
1037
- }
1038
- updates.optionsClass = 't-pl-4 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
1039
- updates.innerClass = 't-items-start';
1040
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
1041
- updates.optionClass = 't-pl-4 md:t-pl-8 md:t-min-w-[200px]';
1042
- updates.messagesClass = 't-flex t-justify-center';
1043
- updates.helpClass = 't-mt-0 t-mb-4 !t-text-sm t-text-center';
1044
- return radio(updates)
1045
- };
1046
-
1047
- const sbs2ColRadio = (updates) => {
1048
- updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
1049
- updates.fieldsetClass = '$reset side-by-side-flex';
1050
- updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
1051
- updates.innerClass = 't-flex t-items-start';
1052
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
1053
- return radio(updates)
1054
- };
1055
-
1056
- const sbs2ItemRadio = (updates) => {
1057
- updates.legendClass = 'legend-left t-pb-1 required';
1058
- updates.fieldsetClass = '$reset side-by-side t-items-center';
1059
- updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
1060
- updates.innerClass = 't-flex t-items-center';
1061
- updates.optionClass = 't-pr-1';
1062
- return radio(updates)
1063
- };
1064
-
1065
- const sbsYesNoRadio = (updates) => {
1066
- updates.options = ['Yes', 'No'];
1067
- return sbs2ItemRadio(updates)
1068
- };
1069
-
1070
- const verticalButtonRadio = (updates) => {
1071
- updates.legendClass = 'legend-left';
1072
- updates.fieldsetClass = '$reset t-flex t-justify-center t-items-center';
1073
- if (typeof updates.optionsClass === 'undefined') {
1074
- updates.optionsClass = 't-flex t-flex-col sm:t-flex-row t-justify-center t-my-3';
1075
- }
1076
- updates.optionClass = 'radiobtn t-my-2 sm:t-my-0 t-mx-2 md:t-mx-5';
1077
- updates.wrapperClass = '$reset formkit-wrapper t-mb-0 t-flex t-items-center t-h-[100%]';
1078
- updates.labelClass = 't-font-semibold t-text-[#1e448f] t-w-[100%]';
1079
- updates.decoratorIcon = false;
1080
- updates.messagesClass = 't-flex t-justify-center';
1081
- return radio(updates)
1082
- };
1083
-
1084
- const verticalYesNoRadio = (updates) => {
1085
- updates.options = ['Yes', 'No'];
1086
- updates.optionsClass = 't-flex t-justify-center t-my-3';
1087
- return verticalButtonRadio(updates)
1088
- };
1089
-
1090
- const verticalRadio = (updates) => {
1091
- updates.legendClass = 'required';
1092
- updates.fieldsetClass = '$reset t-flex t-justify-center';
1093
- updates.optionsClass = 't-pl-2 t-pt-3';
1094
- updates.innerClass = 't-items-center';
1095
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
1096
- updates.optionClass = 't-pl-4 md:t-pl-12';
1097
- updates.messagesClass = 't-flex t-justify-center';
1098
- return radio(updates)
1099
- };
1100
-
1101
- const select = (updates) => {
1102
- if (updates.name && !updates.id) {
1103
- updates.id = updates.name;
1104
- }
1105
- return merge({
1106
- $formkit: 'select',
1107
- placeholder: "Please Select",
1108
- validation: 'required',
1109
- validationMessages: {
1110
- required: 'Field is required'
1111
- },
1112
- inputClass: 't-bg-white',
1113
- labelClass: 'required'
1114
- }, updates)
1115
- };
1116
-
1117
- const sbsSelect = (updates) => {
1118
- updates.labelClass = 'required';
1119
- updates.wrapperClass = 'side-by-side t-items-center';
1120
- updates.innerClass = 'select-height-content';
1121
- updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
1122
- return select(updates)
1123
- };
1124
-
1125
- const verticalSelect = (updates) => {
1126
- updates.labelClass = 'required';
1127
- updates.wrapperClass = 't-flex t-justify-center';
1128
- updates.messagesClass = 't-flex t-justify-center';
1129
- updates.inputClass = 't-min-w-[150px] t-bg-white';
1130
- updates.helpClass = 't-mt-2.5 t-text-center';
1131
- return select(updates)
1132
- };
1133
-
1134
- const text = (updates) => {
1135
- if (updates.name && !updates.id) {
1136
- updates.id = updates.name;
1137
- }
1138
- return merge({
1139
- $formkit: 'text',
1140
- validation: 'required',
1141
- validationMessages: {
1142
- required: 'Field is required'
1143
- },
1144
- labelClass: 'required'
1145
- }, updates)
1146
- };
1147
-
1148
- const sbsText = (updates) => {
1149
- updates.wrapperClass = 'side-by-side t-items-center';
1150
- return text(updates)
1151
- };
1152
-
1153
- const verticalText = (updates) => {
1154
- updates.wrapperClass = 't-flex t-justify-center';
1155
- updates.messagesClass = 't-flex t-justify-center';
1156
- updates.inputClass = 't-text-center';
1157
- return text(updates)
1158
- };
1159
-
1160
- const textArea = (updates) => {
1161
- if (updates.name && !updates.id) {
1162
- updates.id = updates.name;
1163
- }
1164
- return merge({
1165
- $formkit: 'textarea',
1166
- rows: 5,
1167
- maxlength: 500,
1168
- validation: 'required',
1169
- validationMessages: {
1170
- required: 'Field is required'
1171
- },
1172
- innerClass: 't-max-w-xl',
1173
- labelClass: 'required'
1174
- }, updates)
1175
- };
1176
-
1177
- const date = (updates) => {
1178
- if (updates.name && !updates.id) {
1179
- updates.id = updates.name;
1180
- }
1181
- return merge({
1182
- $formkit: 'DatePicker',
1183
- validation: 'required',
1184
- validationMessages: {
1185
- required: 'Field is required'
1186
- },
1187
- labelClass: 'required t-block t-mb-3 t-font-semibold t-text-base formkit-invalid:t-text-red-500',
1188
- innerClass: 't-border t-border-gray-400 formkit-invalid:t-border-red-500 t-rounded t-mb-1 focus-within:t-border-blue-500'
1189
- }, updates)
1190
- };
1191
-
1192
- const sbsDate = (updates) => {
1193
- updates.wrapperClass = 'side-by-side t-items-center';
1194
- return date(updates)
1195
- };
1196
-
1197
- const verticalDate = (updates) => {
1198
- updates.wrapperClass = 't-flex t-justify-center';
1199
- updates.inputClass = 't-text-center';
1200
- updates.messagesClass = 't-flex t-justify-center';
1201
- return date(updates)
1202
- };
1203
-
1204
- const amountPaymentsPastDueCenter = () => verticalSelect({
1205
- name: 'Amount_Payments_Past_Due',
1206
- options: [
1207
- "$0 - $499",
1208
- "$500 - $999",
1209
- "$1,000 - $2,499",
1210
- "$2,500 - $4,999",
1211
- "$5,000 - $9,999",
1212
- "$10,000 - $24,999",
1213
- "$25,000 - $49,999",
1214
- "$50,000 - $99,999",
1215
- "More than $100,000"
1216
- ]
1217
- });
1218
-
1219
- const applicantOccupationCenter = (scope) => verticalText({
1220
- name: scope ? scope + ':' + 'Applicant_Occupation' : 'Applicant_Occupation',
1221
- placeholder: "Occupation"
1222
- });
278
+ const applicantOccupationCenter = (scope) => verticalText({
279
+ name: scope ? scope + ':' + 'Applicant_Occupation' : 'Applicant_Occupation',
280
+ placeholder: "Occupation"
281
+ });
1223
282
 
1224
283
  const applicantAge$1 = (scope) => sbsText({
1225
284
  name: scope ? scope + ':' + 'Applicant_Age' : 'Applicant_Age',
@@ -1854,6 +913,10 @@ const employerTypeCenter = () => col2RadioCenter({
1854
913
  ]
1855
914
  });
1856
915
 
916
+ const employeeAtCompanyCenter = (scope) => verticalYesNoRadio({
917
+ name: scope ? scope + ':' + 'Employee_At_Company' : 'Employee_At_Company',
918
+ });
919
+
1857
920
  const employmentAndWorkplaceTOLPDisplayCenter = (updates) => col2RadioCenter(merge({
1858
921
  name: 'Type_Of_Legal_Problem_Display',
1859
922
  options: [
@@ -2392,7 +1455,7 @@ const realEstateTOLPDisplayCenter = (updates) => col2RadioCenter(merge({
2392
1455
  'Loans and Mortgages',
2393
1456
  'Wills, Trusts, and Estates',
2394
1457
  'Property Damage',
2395
- 'Other Real Estate Issues'
1458
+ 'Not Sure or Other'
2396
1459
  ]
2397
1460
  }, updates));
2398
1461
 
@@ -2886,6 +1949,43 @@ const findLastInput = (n) => {
2886
1949
  return null
2887
1950
  };
2888
1951
 
1952
+ const secureIconDefault = {
1953
+ $el: 'div',
1954
+ if: '$activeStep === $lastStep()',
1955
+ attrs: {
1956
+ class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
1957
+ },
1958
+ children: [
1959
+ {
1960
+ $el: 'img',
1961
+ attrs: {
1962
+ loading: 'lazy',
1963
+ alt: '',
1964
+ style: {
1965
+ border: 0
1966
+ },
1967
+ width: '25',
1968
+ height: '25',
1969
+ src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
1970
+ }
1971
+ },
1972
+ {
1973
+ $el: 'span',
1974
+ children: 'Secure & Encrypted',
1975
+ attrs: {
1976
+ class: 't-pl-2 t-pt-1 t-font-medium'
1977
+ }
1978
+ }
1979
+ ]
1980
+ };
1981
+
1982
+ function secureIcon(updates) {
1983
+ return merge(
1984
+ secureIconDefault,
1985
+ updates
1986
+ )
1987
+ }
1988
+
2889
1989
  function crossSellQuestionsStepHeadline(updates) {
2890
1990
  return {
2891
1991
  $el: 'h3',
@@ -3055,7 +2155,7 @@ function sqstep(name, input, defaultHeadline, updates = {}) {
3055
2155
  )
3056
2156
  }
3057
2157
 
3058
- function commentsWithBankruptcyV2(updates = {}) {
2158
+ function commentsWithBankruptcy(updates = {}) {
3059
2159
  return step(
3060
2160
  'commentsWithBankruptcy',
3061
2161
  [
@@ -3063,7 +2163,7 @@ function commentsWithBankruptcyV2(updates = {}) {
3063
2163
  comments({
3064
2164
  label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
3065
2165
  placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
3066
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-40' : updates.inputClass,
2166
+ inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
3067
2167
  }),
3068
2168
  bankruptcyCrossSell(),
3069
2169
  {
@@ -3078,29 +2178,23 @@ function commentsWithBankruptcyV2(updates = {}) {
3078
2178
  ],
3079
2179
  }
3080
2180
  ],
3081
- // TODO: UGLY: use named params!
3082
- updates.nextOnEnter,
3083
- false,
3084
- undefined,
3085
- undefined,
3086
- false
2181
+ false // nextOnEnter
3087
2182
  )
3088
2183
  }
3089
2184
 
3090
- function contactInfoV2(updates = {}) {
2185
+ function contactInfo(updates = {}) {
3091
2186
  return step(
3092
2187
  'contactInfo',
3093
2188
  [
3094
2189
  contactStepHeadline(updates),
3095
2190
  contactStepSubHeadline(updates),
3096
- // Added TF everywhere
3097
2191
  trustedFormScript(),
3098
2192
  email(),
3099
2193
  phone(),
3100
2194
  TCPAConsent(),
3101
2195
  secureIcon()
3102
2196
  ],
3103
- updates.nextOnEnter
2197
+ false, // nextOnEnter
3104
2198
  )
3105
2199
  }
3106
2200
 
@@ -3562,9 +2656,18 @@ function businessType(updates = {}) {
3562
2656
 
3563
2657
  function employerType(updates = {}) {
3564
2658
  return sqstep(
3565
- 'employerType',
3566
- employerTypeCenter(),
3567
- 'What type of employer is it?',
2659
+ 'employerType',
2660
+ employerTypeCenter(),
2661
+ 'What type of employer is it?',
2662
+ updates
2663
+ )
2664
+ }
2665
+
2666
+ function employeeAtCompany(updates = {}) {
2667
+ return sqstep(
2668
+ 'employeeAtCompany',
2669
+ employeeAtCompanyCenter(),
2670
+ 'Do you/they still work at the company?',
3568
2671
  updates
3569
2672
  )
3570
2673
  }
@@ -3776,382 +2879,1309 @@ function disabilityWorkHistory(updates = {}) {
3776
2879
  )
3777
2880
  }
3778
2881
 
3779
- function socialSecurityDisabilityReceivingBenefits(updates = {}) {
2882
+ function socialSecurityDisabilityReceivingBenefits(updates = {}) {
2883
+ return sqstep(
2884
+ 'socialSecurityDisabilityReceivingBenefits',
2885
+ socialSecurityDisabilityReceivingBenefitsCenter(),
2886
+ 'Are you receiving Social Security Disability benefits?',
2887
+ updates
2888
+ )
2889
+ }
2890
+
2891
+ function typeOfAssets(updates = {}) {
2892
+ if (typeof updates.nextOnInput === 'undefined') {
2893
+ updates.nextOnInput = false;
2894
+ }
2895
+ return sqstep(
2896
+ 'typeOfAssets',
2897
+ typeOfAssetsCenter(),
2898
+ 'What type of assets are involved?',
2899
+ updates
2900
+ )
2901
+ }
2902
+
2903
+ function roleInMatterProbate(updates = {}) {
2904
+ return sqstep(
2905
+ 'roleInMatterProbate',
2906
+ roleInMatterProbateCenter(),
2907
+ 'What is your role in this matter?',
2908
+ updates
2909
+ )
2910
+ }
2911
+
2912
+ function estateLegalServicesNeeded(updates = {}) {
2913
+ return sqstep(
2914
+ 'estateLegalServicesNeeded',
2915
+ estateLegalServicesNeededCenter(),
2916
+ 'What legal services are needed?',
2917
+ updates
2918
+ )
2919
+ }
2920
+
2921
+ function realEstateArea(updates = {}) {
2922
+ return sqstep(
2923
+ 'realEstateArea',
2924
+ realEstateAreaCenter(),
2925
+ 'What area of real estate?',
2926
+ updates
2927
+ )
2928
+ }
2929
+
2930
+ function typeOfProperty(updates = {}) {
2931
+ return sqstep(
2932
+ 'typeOfProperty',
2933
+ typeOfPropertyCenter(),
2934
+ 'What type of property is involved?',
2935
+ updates
2936
+ )
2937
+ }
2938
+
2939
+ function amountPaymentsPastDue(updates = {}) {
2940
+ return sqstep(
2941
+ 'amountPaymentsPastDue',
2942
+ amountPaymentsPastDueCenter(),
2943
+ 'Total amount of payments past due:',
2944
+ updates
2945
+ )
2946
+ }
2947
+
2948
+ function loanAmount(updates = {}) {
2949
+ return sqstep(
2950
+ 'loanAmount',
2951
+ loanAmountCenter(),
2952
+ 'Total amount of the loan:',
2953
+ updates
2954
+ )
2955
+ }
2956
+
2957
+ function defaultNotice(updates = {}) {
2958
+ return sqstep(
2959
+ 'defaultNotice',
2960
+ defaultNoticeCenter(),
2961
+ 'Have you received a default notice from the lender?',
2962
+ updates
2963
+ )
2964
+ }
2965
+
2966
+ function wouldLikeLawyerTo(updates = {}) {
2967
+ return sqstep(
2968
+ 'wouldLikeLawyerTo',
2969
+ wouldLikeLawyerToCenter(),
2970
+ 'I would like the lawyer to:',
2971
+ updates
2972
+ )
2973
+ }
2974
+
2975
+ function countryOfCitizenship(updates = {}) {
2976
+ return sqstep(
2977
+ 'countryOfCitizenship',
2978
+ countryOfCitizenshipCenter(),
2979
+ 'What is your current country of citizenship?',
2980
+ updates
2981
+ )
2982
+ }
2983
+
2984
+ function immigrationLocation(updates = {}) {
2985
+ return sqstep(
2986
+ 'immigrationLocation',
2987
+ immigrationLocationCenter(),
2988
+ 'Where are you migrating to?',
2989
+ updates
2990
+ )
2991
+ }
2992
+
2993
+ function immigrationEntry(updates = {}) {
2994
+ return sqstep(
2995
+ 'immigrationEntry',
2996
+ immigrationEntryCenter(),
2997
+ 'How are you trying to enter the country?',
2998
+ updates
2999
+ )
3000
+ }
3001
+
3002
+ function immigrationType(updates = {}) {
3003
+ return sqstep(
3004
+ 'immigrationType',
3005
+ immigrationTypeCenter(),
3006
+ 'What type of immigration issue?',
3007
+ updates
3008
+ )
3009
+ }
3010
+
3011
+ function immigrationStatus(updates = {}) {
3012
+ return sqstep(
3013
+ 'immigrationStatus',
3014
+ immigrationStatusCenter(),
3015
+ 'Current statue of the immigration case:',
3016
+ updates
3017
+ )
3018
+ }
3019
+
3020
+ function immigrationDetails(updates = {}) {
3021
+ return sqstep(
3022
+ 'immigrationDetails',
3023
+ immigrationDetailsCenter(),
3024
+ 'Where is the person seeking immigration located?',
3025
+ updates
3026
+ )
3027
+ }
3028
+
3029
+ function landlordTenantParty(updates = {}) {
3030
+ return sqstep(
3031
+ 'landlordTenantParty',
3032
+ landlordTenantPartyCenter(),
3033
+ 'I am the:',
3034
+ updates
3035
+ )
3036
+ }
3037
+
3038
+ function patentAssistanceType(updates = {}) {
3039
+ return sqstep(
3040
+ 'patentAssistanceType',
3041
+ patentAssistanceTypeCenter(),
3042
+ 'What type of assistance do you need?',
3043
+ updates
3044
+ )
3045
+ }
3046
+
3047
+ function patentFor(updates = {}) {
3048
+ return sqstep(
3049
+ 'patentFor',
3050
+ patentForCenter(),
3051
+ 'What is the patent for?',
3052
+ updates
3053
+ )
3054
+ }
3055
+
3056
+ function veteransDisabilityRelationship(updates = {}) {
3057
+ return sqstep(
3058
+ 'veteransDisabilityRelationship',
3059
+ veteransDisabilityRelationshipCenter(),
3060
+ 'What is your relationship to the applicant?',
3061
+ updates
3062
+ )
3063
+ }
3064
+
3065
+ function veteransDisabilityInjured(updates = {}) {
3066
+ return sqstep(
3067
+ 'veteransDisabilityInjured',
3068
+ veteransDisabilityInjuredCenter(),
3069
+ 'Is the condition or injury related to military service?',
3070
+ updates
3071
+ )
3072
+ }
3073
+
3074
+ function veteransDisabilityConditions(updates = {}) {
3075
+ return sqstep(
3076
+ 'veteransDisabilityConditions',
3077
+ veteransDisabilityConditionsCenter(),
3078
+ 'What conditions or injuries are applicable?',
3079
+ updates
3080
+ )
3081
+ }
3082
+
3083
+ function veteransDisabilityApplied(updates = {}) {
3084
+ return sqstep(
3085
+ 'veteransDisabilityApplied',
3086
+ veteransDisabilityAppliedCenter(),
3087
+ 'Has the applicant applied for VA disability benefits?',
3088
+ updates
3089
+ )
3090
+ }
3091
+
3092
+ function criminalChargeType(updates = {}) {
3093
+ return sqstep(
3094
+ 'criminalChargeType',
3095
+ criminalChargeTypeCenter(),
3096
+ 'What type of criminal charge?',
3097
+ updates
3098
+ )
3099
+ }
3100
+
3101
+ function taxProblemDetails(updates = {}) {
3102
+ return sqstep(
3103
+ 'taxProblemDetails',
3104
+ taxProblemDetailsCenter(),
3105
+ 'Details of the tax problem:',
3106
+ updates
3107
+ )
3108
+ }
3109
+
3110
+ function taxLevel(updates = {}) {
3111
+ return sqstep(
3112
+ 'taxLevel',
3113
+ taxLevelCenter(),
3114
+ 'What level of tax issue?',
3115
+ updates
3116
+ )
3117
+ }
3118
+
3119
+ function taxIssueType(updates = {}) {
3120
+ return sqstep(
3121
+ 'taxIssueType',
3122
+ taxIssueTypeCenter(),
3123
+ 'What type of tax issue?',
3124
+ updates
3125
+ )
3126
+ }
3127
+
3128
+ function causeOfInjury(updates = {}) {
3129
+ return sqstep(
3130
+ 'causeOfInjury',
3131
+ causeOfInjuryCenter(),
3132
+ 'What was the cause of the injury?',
3133
+ updates
3134
+ )
3135
+ }
3136
+
3137
+ function causeOfDeath(updates = {}) {
3780
3138
  return sqstep(
3781
- 'socialSecurityDisabilityReceivingBenefits',
3782
- socialSecurityDisabilityReceivingBenefitsCenter(),
3783
- 'Are you receiving Social Security Disability benefits?',
3139
+ 'causeOfDeath',
3140
+ causeOfDeathCenter(),
3141
+ 'What was the cause of death?',
3784
3142
  updates
3785
3143
  )
3786
3144
  }
3787
3145
 
3788
- function typeOfAssets(updates = {}) {
3789
- if (typeof updates.nextOnInput === 'undefined') {
3790
- updates.nextOnInput = false;
3791
- }
3146
+ function relationshipToVictim(updates = {}) {
3792
3147
  return sqstep(
3793
- 'typeOfAssets',
3794
- typeOfAssetsCenter(),
3795
- 'What type of assets are involved?',
3148
+ 'relationshipToVictim',
3149
+ relationshipToVictimCenter(),
3150
+ 'What is your relationship to the victim?',
3796
3151
  updates
3797
3152
  )
3798
3153
  }
3799
3154
 
3800
- function roleInMatterProbate(updates = {}) {
3155
+ function criminalChargesFiled(updates = {}) {
3801
3156
  return sqstep(
3802
- 'roleInMatterProbate',
3803
- roleInMatterProbateCenter(),
3804
- 'What is your role in this matter?',
3157
+ 'criminalChargesFiled',
3158
+ criminalChargesFiledCenter(),
3159
+ 'Have criminal charges been filed?',
3805
3160
  updates
3806
3161
  )
3807
3162
  }
3808
3163
 
3809
- function estateLegalServicesNeeded(updates = {}) {
3810
- return sqstep(
3811
- 'estateLegalServicesNeeded',
3812
- estateLegalServicesNeededCenter(),
3813
- 'What legal services are needed?',
3164
+ // ------ Common
3165
+
3166
+ const formNavigation = () => ({
3167
+ $el: 'div',
3168
+ attrs: {
3169
+ class: 'step-nav'
3170
+ },
3171
+ children: [
3172
+ {
3173
+ $formkit: 'button',
3174
+ name: 'back_button',
3175
+ onClick: '$setPreviousStep($prevStepFunc($get(form)))',
3176
+ children: 'Back',
3177
+ style: {
3178
+ if: '$activeStep === $firstStep()',
3179
+ then: 'visibility: hidden;'
3180
+ }
3181
+ },
3182
+ {
3183
+ $formkit: 'button',
3184
+ name: 'next_button',
3185
+ onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
3186
+ children: {
3187
+ if: '$activeStep === $firstStep()',
3188
+ then: 'Start',
3189
+ else: 'Next'
3190
+ },
3191
+ outerClass: {
3192
+ if: '$activeStep === $lastStep()',
3193
+ then: 't-hidden',
3194
+ else: ''
3195
+ },
3196
+ style: {
3197
+ if: '$activeStep === $lastStep()',
3198
+ then: 'display: none;'
3199
+ }
3200
+ },
3201
+ {
3202
+ $formkit: 'submit',
3203
+ name: 'submit_button',
3204
+ label: 'Submit',
3205
+ if: '$activeStep === $lastStep()',
3206
+ style: {
3207
+ if: '$activeStep !== $lastStep()',
3208
+ then: 'display: none;'
3209
+ }
3210
+ }
3211
+ ]
3212
+ });
3213
+
3214
+ const formDetails = () => ({
3215
+ $el: 'pre',
3216
+ if: '$urlParam("fdbg", "") == 1',
3217
+ children: [
3218
+ {
3219
+ $el: 'pre',
3220
+ children: '$stringify( $get(form).value )',
3221
+ attrs: {
3222
+ class: 't-text-xs',
3223
+ style: 'overflow: scroll'
3224
+ }
3225
+ },
3226
+ {
3227
+ $el: 'pre',
3228
+ children: ['activeStep: ', '$activeStep'],
3229
+ attrs: {
3230
+ class: 't-text-xs',
3231
+ style: 'overflow: scroll'
3232
+ }
3233
+ },
3234
+ {
3235
+ $el: 'pre',
3236
+ children: ['stepHistory: ', '$stepHistory'],
3237
+ attrs: {
3238
+ class: 't-text-xs',
3239
+ style: 'overflow: scroll'
3240
+ }
3241
+ },
3242
+ {
3243
+ $el: 'pre',
3244
+ children: ['stepQueue: ', '$stepQueue'],
3245
+ attrs: {
3246
+ class: 't-text-xs',
3247
+ style: 'overflow: scroll'
3248
+ }
3249
+ },
3250
+ {
3251
+ $el: 'pre',
3252
+ children: ['steps: ', '$stepKeys()'],
3253
+ attrs: {
3254
+ class: 't-text-xs',
3255
+ style: 'overflow: scroll'
3256
+ }
3257
+ }
3258
+ ]
3259
+ });
3260
+
3261
+ const formPropDefaults = {
3262
+ type: 'form',
3263
+ id: 'form',
3264
+ config: { validationVisibility: 'submit' },
3265
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
3266
+ plugins: '$plugins',
3267
+ actions: false,
3268
+ anchorElement: 'form-anchor',
3269
+ useLocalStorage: true,
3270
+ prepop: {
3271
+ fromURL: true
3272
+ },
3273
+ errorCodes: {
3274
+ 403: { message: "An Error Occurred", abort: false },
3275
+ 409: { abort: false },
3276
+ 429: "An Error Occurred",
3277
+ 504: { message: "An Error Occurred", abort: false },
3278
+ },
3279
+ formClass: '!t-max-w-[40rem]'
3280
+ };
3281
+
3282
+ function formProps(updates) {
3283
+ const props = merge(
3284
+ formPropDefaults,
3814
3285
  updates
3815
- )
3286
+ );
3287
+ if (props.formId && !props.name) {
3288
+ props.name = props.formId;
3289
+ }
3290
+ return props
3816
3291
  }
3817
3292
 
3818
- function realEstateArea(updates = {}) {
3819
- return sqstep(
3820
- 'realEstateArea',
3821
- realEstateAreaCenter(),
3822
- 'What area of real estate?',
3293
+ const metaDefaults = {
3294
+ tcpaLanguage: TCPA_LANGUAGE
3295
+ };
3296
+
3297
+ function metaProps(updates) {
3298
+ const data = merge(
3299
+ metaDefaults,
3300
+ updates
3301
+ );
3302
+ return {
3303
+ type: 'meta',
3304
+ data
3305
+ }
3306
+ }
3307
+
3308
+ function defaultMetaProps() {
3309
+ return metaProps({
3310
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
3311
+ commentsPlaceholders: TOLPCommentsPlaceholders,
3312
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
3313
+ finalHeadlines: TOLPFinalHeadlines,
3314
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
3315
+ finalSubHeadlines: TOLPFinalSubHeadlines,
3316
+ })
3317
+ }
3318
+
3319
+ const dynamicSchemaNode = {
3320
+ $cmp: 'FormKitSchema',
3321
+ if: '$get(Type_Of_Legal_Problem).value',
3322
+ props: {
3323
+ schema: '$meta.dynamicSchema',
3324
+ data: '$buildData($meta)'
3325
+ }
3326
+ };
3327
+
3328
+ const formAnchorDefaults = {
3329
+ $el: 'div',
3330
+ children: [
3331
+ {
3332
+ $el: 'div',
3333
+ attrs: {
3334
+ id: 'form-anchor',
3335
+ class: 't-absolute',
3336
+ style: { top: '-30px', left: 0 }
3337
+ }
3338
+ }
3339
+ ],
3340
+ attrs: {
3341
+ class: 't-relative'
3342
+ }
3343
+ };
3344
+
3345
+ function formAnchor(updates) {
3346
+ return merge(
3347
+ formAnchorDefaults,
3823
3348
  updates
3824
3349
  )
3825
3350
  }
3826
3351
 
3827
- function typeOfProperty(updates = {}) {
3828
- return sqstep(
3829
- 'typeOfProperty',
3830
- typeOfPropertyCenter(),
3831
- 'What type of property is involved?',
3352
+ const progressBarDefaults = {
3353
+ $el: 'div',
3354
+ attrs: {
3355
+ class: 't-mt-7 t-mb-5 t-w-full t-flex t-flex-col t-justify-center t-items-center',
3356
+ style: {
3357
+ if: '$fns.eq($activeStep, $firstStep()) || $fns.eq($activeStep, $lastStep())',
3358
+ then: 'display: none'
3359
+ },
3360
+ },
3361
+ children: [
3362
+ {
3363
+ $el: 'div',
3364
+ attrs: {
3365
+ class: 't-flex t-justify-center'
3366
+ },
3367
+ children: [
3368
+ {
3369
+ $el: 'span',
3370
+ attrs: {
3371
+ id: 'progress-bar-text',
3372
+ class: 't-text-sm t-mb-1'
3373
+ },
3374
+ children: [
3375
+ "0% Complete"
3376
+ ]
3377
+ },
3378
+ ]
3379
+ },
3380
+ {
3381
+ $el: 'div',
3382
+ attrs: {
3383
+ class: 't-bg-gray-100 t-w-9/12 t-rounded'
3384
+ },
3385
+ children: [
3386
+ {
3387
+ $el: 'div',
3388
+ attrs: {
3389
+ id: 'progress-bar',
3390
+ class: 't-flex t-flex-col t-justify-center t-text-center t-whitespace-nowrap t-w-[10%] t-h-1.5 t-rounded t-text-white t-bg-[#007bff]',
3391
+ style: {
3392
+ transition: 'width 0.5s ease'
3393
+ },
3394
+ },
3395
+ }
3396
+ ]
3397
+ }
3398
+ ]
3399
+ };
3400
+
3401
+ function progressBar(updates) {
3402
+ return merge(
3403
+ progressBarDefaults,
3832
3404
  updates
3833
3405
  )
3834
3406
  }
3835
3407
 
3836
- function amountPaymentsPastDue(updates = {}) {
3837
- return sqstep(
3838
- 'amountPaymentsPastDue',
3839
- amountPaymentsPastDueCenter(),
3840
- 'Total amount of payments past due:',
3841
- updates
3842
- )
3408
+ function headlineDefaults(updates = {}) {
3409
+ return {
3410
+ $el: 'h1',
3411
+ attrs: {
3412
+ 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 || '')
3413
+ }
3414
+ }
3843
3415
  }
3844
3416
 
3845
- function loanAmount(updates = {}) {
3846
- return sqstep(
3847
- 'loanAmount',
3848
- loanAmountCenter(),
3849
- 'Total amount of the loan:',
3417
+ function headline(updates = {}) {
3418
+ return merge(
3419
+ headlineDefaults(updates),
3850
3420
  updates
3851
3421
  )
3852
3422
  }
3853
3423
 
3854
- function defaultNotice(updates = {}) {
3855
- return sqstep(
3856
- 'defaultNotice',
3857
- defaultNoticeCenter(),
3858
- 'Have you received a default notice from the lender?',
3859
- updates
3860
- )
3424
+ function subHeadlineDefaults(updates = {}) {
3425
+ return {
3426
+ $el: 'h3',
3427
+ attrs: {
3428
+ 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 || '')
3429
+ }
3430
+ }
3861
3431
  }
3862
3432
 
3863
- function wouldLikeLawyerTo(updates = {}) {
3864
- return sqstep(
3865
- 'wouldLikeLawyerTo',
3866
- wouldLikeLawyerToCenter(),
3867
- 'I would like the lawyer to:',
3433
+ function subHeadline(updates = {}) {
3434
+ return merge(
3435
+ subHeadlineDefaults(updates),
3868
3436
  updates
3869
3437
  )
3870
3438
  }
3871
3439
 
3872
- function countryOfCitizenship(updates = {}) {
3873
- return sqstep(
3874
- 'countryOfCitizenship',
3875
- countryOfCitizenshipCenter(),
3876
- 'What is your current country of citizenship?',
3877
- updates
3878
- )
3440
+ function defaultSubHeadline() {
3441
+ return subHeadline({
3442
+ children: '$urlParam("shl", "Our Service is Fast and Free!")',
3443
+ if: '$activeStep === $firstStep()'
3444
+ })
3879
3445
  }
3880
3446
 
3881
- function immigrationLocation(updates = {}) {
3882
- return sqstep(
3883
- 'immigrationLocation',
3884
- immigrationLocationCenter(),
3885
- 'Where are you migrating to?',
3886
- updates
3887
- )
3888
- }
3447
+ const hiddenInputsBase = [
3448
+ {
3449
+ $formkit: 'hidden',
3450
+ name: "gclid",
3451
+ value: null
3452
+ },
3453
+ {
3454
+ $formkit: 'hidden',
3455
+ name: "campaignid",
3456
+ value: null
3457
+ },
3458
+ {
3459
+ $formkit: 'hidden',
3460
+ name: "s",
3461
+ value: null
3462
+ }
3463
+ ];
3889
3464
 
3890
- function immigrationEntry(updates = {}) {
3891
- return sqstep(
3892
- 'immigrationEntry',
3893
- immigrationEntryCenter(),
3894
- 'How are you trying to enter the country?',
3895
- updates
3896
- )
3897
- }
3465
+ const hiddenInputsLegal = [
3466
+ {
3467
+ $formkit: 'hidden',
3468
+ name: "vertical",
3469
+ value: "Legal"
3470
+ },
3471
+ {
3472
+ $formkit: 'hidden',
3473
+ name: "TCPA_Language",
3474
+ value: "$meta.tcpaLanguage"
3475
+ },
3476
+ ...hiddenInputsBase
3477
+ ];
3898
3478
 
3899
- function immigrationType(updates = {}) {
3900
- return sqstep(
3901
- 'immigrationType',
3902
- immigrationTypeCenter(),
3903
- 'What type of immigration issue?',
3904
- updates
3905
- )
3906
- }
3479
+ const legalRedirectMapDefaults = {
3480
+ '*': LegalRedirectUrl()
3481
+ };
3907
3482
 
3908
- function immigrationStatus(updates = {}) {
3909
- return sqstep(
3910
- 'immigrationStatus',
3911
- immigrationStatusCenter(),
3912
- 'Current statue of the immigration case:',
3913
- updates
3914
- )
3915
- }
3916
3483
 
3917
- function immigrationDetails(updates = {}) {
3918
- return sqstep(
3919
- 'immigrationDetails',
3920
- immigrationDetailsCenter(),
3921
- 'Where is the person seeking immigration located?',
3484
+ function legalRedirectMap(updates) {
3485
+ return merge(
3486
+ legalRedirectMapDefaults,
3922
3487
  updates
3923
3488
  )
3924
3489
  }
3925
3490
 
3926
- function landlordTenantParty(updates = {}) {
3927
- return sqstep(
3928
- 'landlordTenantParty',
3929
- landlordTenantPartyCenter(),
3930
- 'I am the:',
3931
- updates
3932
- )
3933
- }
3491
+ const legalAllValueOverrideMap = {
3492
+ 'Civil_Defense': {
3493
+ 'Yes': {
3494
+ 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
3495
+ },
3496
+ 'No': {
3497
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
3498
+ }
3499
+ },
3500
+ 'Type_Of_Legal_Problem_Display': {
3501
+ // Accidents and PI
3502
+ 'Auto Accident': {
3503
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
3504
+ },
3505
+ 'Dog Bite': {
3506
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3507
+ },
3508
+ 'Slip and Fall': {
3509
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3510
+ },
3511
+ 'Workplace Injury': {
3512
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
3513
+ },
3514
+ 'Trucking Accident': {
3515
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
3516
+ },
3517
+ 'Motorcycle Accident': {
3518
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
3519
+ },
3520
+ 'Other Accidents or Injuries': {
3521
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3522
+ },
3523
+ // Civil
3524
+ 'Automobile Accident': {
3525
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
3526
+ },
3527
+ 'Contract Disputes': {
3528
+ 'Type_Of_Legal_Problem': 'Business Lawyers'
3529
+ },
3530
+ 'Defamation and Slander': {
3531
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
3532
+ },
3533
+ 'Dog Bite': {
3534
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3535
+ },
3536
+ 'Employment and Workplace': {
3537
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3538
+ },
3539
+ 'Fraud': {
3540
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
3541
+ },
3542
+ 'Medical Malpractice': {
3543
+ 'Type_Of_Legal_Problem': 'Medical Malpractice'
3544
+ },
3545
+ 'Personal Injury': {
3546
+ 'Type_Of_Legal_Problem': 'Personal Injury'
3547
+ },
3548
+ 'Property Damage': {
3549
+ 'Type_Of_Legal_Problem': 'Property Damage'
3550
+ },
3551
+ 'Small Claims': {
3552
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
3553
+ },
3554
+ 'Real Estate': {
3555
+ 'Type_Of_Legal_Problem': 'Real Estate'
3556
+ },
3557
+ 'Other (describe on next page)': {
3558
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3559
+ },
3560
+ // Contracts
3561
+ 'Contract Creation': {
3562
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3563
+ 'Business_Services': 'Contracts'
3564
+ },
3565
+ 'Contract Enforcement': {
3566
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3567
+ 'Business_Services': 'Contracts'
3568
+ },
3569
+ 'Contract Cancellation': {
3570
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3571
+ 'Business_Services': 'Contracts'
3572
+ },
3573
+ 'Contract Fraud': {
3574
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3575
+ 'Business_Services': 'Contracts'
3576
+ },
3577
+ 'Breach of Contract': {
3578
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3579
+ 'Business_Services': 'Contracts'
3580
+ },
3581
+ 'Other Contract Issues': {
3582
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
3583
+ 'Business_Services': 'Contracts'
3584
+ },
3585
+ // Criminal
3586
+ 'Criminal Defense': {
3587
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
3588
+ },
3589
+ 'Victim of a Crime': {
3590
+ 'Type_Of_Legal_Problem': 'Victim of a Crime'
3591
+ },
3592
+ 'DUI and DWI': {
3593
+ 'Type_Of_Legal_Problem': 'DUI and DWI'
3594
+ },
3595
+ 'Expungement': {
3596
+ 'Type_Of_Legal_Problem': 'Expungement'
3597
+ },
3598
+ 'Harassment': {
3599
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
3600
+ },
3601
+ 'Not Sure or Other': {
3602
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3603
+ },
3604
+ // Employment and Workplace
3605
+ 'Workplace Harassment': {
3606
+ 'Type_Of_Legal_Problem': 'Workplace Harassment'
3607
+ },
3608
+ 'Workplace Discrimination': {
3609
+ 'Type_Of_Legal_Problem': 'Workplace Discrimination'
3610
+ },
3611
+ 'Wrongful Termination': {
3612
+ 'Type_Of_Legal_Problem': 'Wrongful Termination'
3613
+ },
3614
+ 'Payment Disputes': {
3615
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3616
+ },
3617
+ 'Workers Compensation': {
3618
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
3619
+ },
3620
+ 'Unemployment': {
3621
+ 'Type_Of_Legal_Problem': 'Unemployment'
3622
+ },
3623
+ 'Other Workplace Issues': {
3624
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
3625
+ },
3626
+ // Malpractice
3627
+ 'Attorney Malpractice': {
3628
+ 'Type_Of_Legal_Problem': 'Civil Lawsuit'
3629
+ },
3630
+ 'Other Malpractice Issues': {
3631
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3632
+ },
3633
+ // Repossession
3634
+ 'Vehicle Repossession': {
3635
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
3636
+ },
3637
+ 'Property Repossession': {
3638
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
3639
+ },
3640
+ 'Other Repossession Issues': {
3641
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
3642
+ },
3643
+ // Real Estate
3644
+ 'Contracts and Agreements': {
3645
+ 'Type_Of_Legal_Problem': 'Real Estate'
3646
+ },
3647
+ 'Deeds, Liens, and Titles': {
3648
+ 'Type_Of_Legal_Problem': 'Real Estate'
3649
+ },
3650
+ 'Foreclosure': {
3651
+ 'Type_Of_Legal_Problem': 'Foreclosure'
3652
+ },
3653
+ 'Insurance': {
3654
+ 'Type_Of_Legal_Problem': 'Insurance'
3655
+ },
3656
+ 'Landlord and Tenant': {
3657
+ 'Type_Of_Legal_Problem': 'Landlord and Tenant',
3658
+ },
3659
+ 'Loans and Mortgages': {
3660
+ 'Type_Of_Legal_Problem': 'Real Estate',
3661
+ },
3662
+ 'Wills, Trusts, and Estates': {
3663
+ 'Type_Of_Legal_Problem': 'Wills and Trusts'
3664
+ },
3665
+ 'Property Damage': {
3666
+ 'Type_Of_Legal_Problem': 'Property Damage'
3667
+ },
3668
+ 'Other Real Estate Issues': {
3669
+ 'Type_Of_Legal_Problem': 'Real Estate'
3670
+ }
3671
+ }
3672
+ };
3934
3673
 
3935
- function patentAssistanceType(updates = {}) {
3936
- return sqstep(
3937
- 'patentAssistanceType',
3938
- patentAssistanceTypeCenter(),
3939
- 'What type of assistance do you need?',
3940
- updates
3941
- )
3942
- }
3674
+ const TOLPCommentsPlaceholders = {
3675
+ 'Adoption': 'Example: "I need help with adoption forms"',
3676
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
3677
+ '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"',
3678
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
3679
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
3680
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
3681
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
3682
+ 'Child Custody': 'Example: "Need help getting custody"',
3683
+ 'Child Support': 'Example: "Issues with child support payments"',
3684
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
3685
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
3686
+ 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
3687
+ 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
3688
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
3689
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
3690
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
3691
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
3692
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
3693
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
3694
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
3695
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
3696
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
3697
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
3698
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
3699
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
3700
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
3701
+ 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
3702
+ 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
3703
+ 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
3704
+ 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
3705
+ 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
3706
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
3707
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
3708
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
3709
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
3710
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
3711
+ '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"',
3712
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
3713
+ 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
3714
+ 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
3715
+ 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
3716
+ 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
3717
+ 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
3718
+ 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
3719
+ 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
3720
+ '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"',
3721
+ 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
3722
+ 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
3723
+ 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
3724
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
3725
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
3726
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
3727
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
3728
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
3729
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
3730
+ };
3943
3731
 
3944
- function patentFor(updates = {}) {
3945
- return sqstep(
3946
- 'patentFor',
3947
- patentForCenter(),
3948
- 'What is the patent for?',
3949
- updates
3950
- )
3951
- }
3732
+ const TOLPFinalHeadlines = {
3733
+ // 'Adoption': '',
3734
+ };
3952
3735
 
3953
- function veteransDisabilityRelationship(updates = {}) {
3954
- return sqstep(
3955
- 'veteransDisabilityRelationship',
3956
- veteransDisabilityRelationshipCenter(),
3957
- 'What is your relationship to the applicant?',
3958
- updates
3959
- )
3960
- }
3736
+ const TOLPFinalSubHeadlines = {
3737
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
3738
+ // 'Asbestos and Mesothelioma': '',
3739
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
3740
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
3741
+ // 'Birth Certificate and Name Change': '',
3742
+ // 'Business Lawyers': '',
3743
+ // 'Child Custody and Support': '',
3744
+ // 'Civil Rights and Discrimination': '',
3745
+ // 'Civil Lawsuit': '',
3746
+ // 'Consumer Lawyers': '',
3747
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
3748
+ // 'Criminal and Felony': '',
3749
+ // 'Debt and Collections': '',
3750
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
3751
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
3752
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
3753
+ // 'Employment and Workplace': '',
3754
+ // 'Expungement': '',
3755
+ // 'Family Issues': '',
3756
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
3757
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
3758
+ // 'Harassment and Discrimination': '',
3759
+ // 'Identity Theft': '',
3760
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
3761
+ // 'Insurance': '',
3762
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
3763
+ // 'Lemon Law': '',
3764
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
3765
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
3766
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
3767
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
3768
+ // 'Power of Attorney': '',
3769
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
3770
+ // 'Product Liability': '',
3771
+ // 'Property Damage': '',
3772
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
3773
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
3774
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
3775
+ // 'Traffic and Tickets': '',
3776
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
3777
+ // 'Victim of a Crime': '',
3778
+ // 'Wills and Trusts': '',
3779
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
3780
+ // 'Wrongful Death': '',
3781
+ // 'Wrongful Termination': '',
3782
+ // 'Not Sure or Other': ''
3783
+ // 'Sexual Harassment': '',
3784
+ // 'Workplace Harassment': '',
3785
+ // 'Non-Workplace Harassment': '',
3786
+ // 'Workplace Discrimination': '',
3787
+ // 'Non-Workplace Discrimination': '',
3788
+ };
3961
3789
 
3962
- function veteransDisabilityInjured(updates = {}) {
3963
- return sqstep(
3964
- 'veteransDisabilityInjured',
3965
- veteransDisabilityInjuredCenter(),
3966
- 'Is the condition or injury related to military service?',
3967
- updates
3968
- )
3969
- }
3970
3790
 
3971
- function veteransDisabilityConditions(updates = {}) {
3972
- return sqstep(
3973
- 'veteransDisabilityConditions',
3974
- veteransDisabilityConditionsCenter(),
3975
- 'What conditions or injuries are applicable?',
3976
- updates
3977
- )
3978
- }
3791
+ const nextStepsLegalDefault = [
3792
+ 'haveAttorney',
3793
+ 'degreeOfInterest',
3794
+ 'commentsWithBankruptcy',
3795
+ 'zipcode',
3796
+ 'legalCrossSells',
3797
+ 'firstAndLast',
3798
+ 'contactInfo',
3799
+ ];
3979
3800
 
3980
- function veteransDisabilityApplied(updates = {}) {
3981
- return sqstep(
3982
- 'veteransDisabilityApplied',
3983
- veteransDisabilityAppliedCenter(),
3984
- 'Has the applicant applied for VA disability benefits?',
3985
- updates
3986
- )
3987
- }
3801
+ const nextStepsLegalDefaultLPM = [
3802
+ 'haveAttorney',
3803
+ 'degreeOfInterest',
3804
+ 'lawyerPaymentMethod',
3805
+ 'commentsWithBankruptcy',
3806
+ 'zipcode',
3807
+ 'legalCrossSells',
3808
+ 'firstAndLast',
3809
+ 'contactInfo',
3810
+ ];
3988
3811
 
3989
- function criminalChargeType(updates = {}) {
3990
- return sqstep(
3991
- 'criminalChargeType',
3992
- criminalChargeTypeCenter(),
3993
- 'What type of criminal charge?',
3994
- updates
3995
- )
3996
- }
3812
+ const nextStepsLegalNoDOI = [
3813
+ 'haveAttorney',
3814
+ 'commentsWithBankruptcy',
3815
+ 'zipcode',
3816
+ 'legalCrossSells',
3817
+ 'firstAndLast',
3818
+ 'contactInfo',
3819
+ ];
3997
3820
 
3998
- function taxProblemDetails(updates = {}) {
3999
- return sqstep(
4000
- 'taxProblemDetails',
4001
- taxProblemDetailsCenter(),
4002
- 'Details of the tax problem:',
4003
- updates
4004
- )
4005
- }
3821
+ const nextStepsLegalNoHA = [
3822
+ 'degreeOfInterest',
3823
+ 'commentsWithBankruptcy',
3824
+ 'zipcode',
3825
+ 'legalCrossSells',
3826
+ 'firstAndLast',
3827
+ 'contactInfo',
3828
+ ];
3829
+
3830
+ const nextStepsMapGeneralLegal = {
3831
+ 'Type_Of_Legal_Problem': {
3832
+ 'Adoption': [
3833
+ 'maritalStatus',
3834
+ 'haveChildren',
3835
+ ...nextStepsLegalDefaultLPM
3836
+ ],
3837
+ 'Asbestos and Mesothelioma': [
3838
+ 'incidentDate',
3839
+ 'doctorTreatment',
3840
+ ...nextStepsLegalDefault
3841
+ ],
3842
+ 'Auto and Car Accidents': [
3843
+ 'incidentDate',
3844
+ 'atFault',
3845
+ 'primaryInjury',
3846
+ 'doctorTreatment',
3847
+ 'policeReportFiled',
3848
+ ...nextStepsLegalNoDOI
3849
+ ],
3850
+ 'Bankruptcy': [
3851
+ 'totalMonthlyIncome',
3852
+ 'totalDebt',
3853
+ 'ownRealEstate',
3854
+ 'valueOfAssets',
3855
+ ...nextStepsLegalDefault
3856
+ ],
3857
+ 'Business Lawyers': [
3858
+ 'businessServices',
3859
+ 'businessType',
3860
+ 'numEmployeesOfBusiness',
3861
+ ...nextStepsLegalDefault
3862
+ ],
3863
+ 'Child Custody': [
3864
+ 'childRelationship',
3865
+ 'childHome',
3866
+ 'childPrimaryCaregiver',
3867
+ ...nextStepsLegalDefaultLPM
3868
+ ],
3869
+ 'Child Support': [
3870
+ 'childRelationship',
3871
+ 'childHome',
3872
+ 'childPrimaryCaregiver',
3873
+ ...nextStepsLegalDefaultLPM
3874
+ ],
3875
+ 'Civil Rights and Discrimination': [
3876
+ 'civilRightsType',
3877
+ ...nextStepsLegalDefault
3878
+ ],
3879
+ 'Civil Lawsuit': [
3880
+ 'civilDefense',
3881
+ 'lawsuitOtherParty',
3882
+ ...nextStepsLegalDefault
3883
+ ],
3884
+ 'File a Lawsuit': [
3885
+ 'civilLawsuitTOLPDisplay',
3886
+ 'lawsuitOtherParty',
3887
+ ...nextStepsLegalDefault
3888
+ ],
3889
+ 'Defend a Lawsuit': [
3890
+ 'lawsuitOtherParty',
3891
+ ...nextStepsLegalDefault
3892
+ ],
3893
+ 'Consumer Lawyers': [
3894
+ 'consumerLawyerType',
3895
+ 'incidentDate',
3896
+ 'lawsuitOtherParty',
3897
+ ...nextStepsLegalDefault
3898
+ ],
3899
+ 'Criminal and Felony': [
3900
+ 'criminalTOLPDisplay',
3901
+ 'crimeCommittedDate',
3902
+ 'roleInMatterCriminal',
3903
+ 'pendingCharges',
3904
+ ...nextStepsLegalDefaultLPM
3905
+ ],
3906
+ 'Debt and Collections': [
3907
+ 'totalMonthlyIncome',
3908
+ 'totalDebt',
3909
+ 'ownRealEstate',
3910
+ 'valueOfAssets',
3911
+ ...nextStepsLegalDefault
3912
+ ],
3913
+ 'Divorce and Separation': [
3914
+ 'maritalStatus',
3915
+ 'haveChildren',
3916
+ ...nextStepsLegalDefaultLPM
3917
+ ],
3918
+ 'DUI and DWI': [
3919
+ 'incidentDate',
3920
+ 'priorAlcoholOffenses',
3921
+ 'typeOfAlcoholTest',
3922
+ 'bloodContentAlcoholTest',
3923
+ 'pendingCharges',
3924
+ ...nextStepsLegalDefault
3925
+ ],
3926
+ 'Employment and Workplace': [
3927
+ 'employmentAndWorkplaceTOLPDisplay',
3928
+ 'numEmployeesOfBusiness',
3929
+ 'employerType',
3930
+ 'employeeAtCompany',
3931
+ ...nextStepsLegalDefault
3932
+ ],
3933
+ 'Expungement': [
3934
+ 'incidentDate',
3935
+ 'criminalChargeType',
3936
+ ...nextStepsLegalDefaultLPM
3937
+ ],
3938
+ 'Family Issues': [
3939
+ 'maritalStatus',
3940
+ 'haveChildren',
3941
+ ...nextStepsLegalDefaultLPM
3942
+ ],
3943
+ 'Foreclosure': [
3944
+ 'ownRealEstate',
3945
+ 'typeOfProperty',
3946
+ 'amountPaymentsPastDue',
3947
+ 'loanAmount',
3948
+ 'defaultNotice',
3949
+ ...nextStepsLegalDefault
3950
+ ],
3951
+ 'Guardianship': [
3952
+ 'maritalStatus',
3953
+ 'haveChildren',
3954
+ ...nextStepsLegalDefaultLPM
3955
+ ],
3956
+ 'Immigration and Visas': [
3957
+ 'countryOfCitizenship',
3958
+ 'immigrationLocation',
3959
+ 'immigrationEntry',
3960
+ 'immigrationType',
3961
+ 'immigrationStatus',
3962
+ 'immigrationDetails',
3963
+ ...nextStepsLegalDefault
3964
+ ],
3965
+ 'Landlord and Tenant': [
3966
+ 'landlordTenantIssue',
3967
+ 'landlordTenantParty',
3968
+ ...nextStepsLegalDefault
3969
+ ],
3970
+ 'Lemon Law': [
3971
+ 'incidentDate',
3972
+ 'lawsuitOtherParty',
3973
+ ...nextStepsLegalDefault
3974
+ ],
3975
+ 'Long Term Disability': [
3976
+ 'applicantOccupation',
3977
+ 'applicantAge',
3978
+ 'applicantLTDisabilityPolicy',
3979
+ 'applicantDisabilityHowObtain',
3980
+ 'applicantPreviouslyAppliedLtdBenefits',
3981
+ 'applicantReceivedDisabilityBenefits',
3982
+ 'applicantMonthlySalary',
3983
+ ...nextStepsLegalNoDOI
3984
+ ],
3985
+ 'Medical Malpractice': [
3986
+ 'incidentDate',
3987
+ 'claimStatus',
3988
+ 'doctorTreatment',
3989
+ 'medicalMalpracticeInjuries',
3990
+ ...nextStepsLegalDefault
3991
+ ],
3992
+ 'Patents and Intellectual Property': [
3993
+ 'patentAssistanceType',
3994
+ 'patentFor',
3995
+ ...nextStepsLegalDefault
3996
+ ],
3997
+ 'Personal Injury': [
3998
+ 'incidentDate',
3999
+ 'claimStatus',
4000
+ 'atFault',
4001
+ 'primaryInjury',
4002
+ 'doctorTreatment',
4003
+ ...nextStepsLegalNoDOI
4004
+ ],
4005
+ 'Probate and Estates': [
4006
+ 'valueOfAssets',
4007
+ 'typeOfAssets',
4008
+ 'roleInMatterProbate',
4009
+ 'estateLegalServicesNeeded',
4010
+ ...nextStepsLegalDefault
4011
+ ],
4012
+ 'Property Damage': [
4013
+ 'realEstateArea',
4014
+ 'wouldLikeLawyerTo',
4015
+ ...nextStepsLegalDefault
4016
+ ],
4017
+ 'Real Estate': [
4018
+ 'realEstateTOLPDisplay',
4019
+ 'realEstateArea',
4020
+ 'wouldLikeLawyerTo',
4021
+ ...nextStepsLegalDefault
4022
+ ],
4023
+ 'Social Security Disability and Insurance': [
4024
+ 'applicantAge',
4025
+ 'disabilityConditionStopWork',
4026
+ 'disabilityWorkHistory',
4027
+ 'socialSecurityDisabilityReceivingBenefits',
4028
+ 'doctorTreatment',
4029
+ ...nextStepsLegalNoDOI
4030
+ ],
4031
+ 'Tax and IRS': [
4032
+ 'totalDebt',
4033
+ 'taxProblemDetails',
4034
+ 'taxLevel',
4035
+ 'taxIssueType',
4036
+ ...nextStepsLegalDefault
4037
+ ],
4038
+ 'Traffic and Tickets': [
4039
+ 'driversLicenseType',
4040
+ 'trafficViolations',
4041
+ 'haveCourtDate',
4042
+ ...nextStepsLegalDefault
4043
+ ],
4044
+ 'Unemployment': [
4045
+ 'numEmployeesOfBusiness',
4046
+ 'employerType',
4047
+ ...nextStepsLegalNoHA
4048
+ ],
4049
+ 'Victim of a Crime': [
4050
+ 'crimeCommittedDate',
4051
+ 'roleInMatterCriminal',
4052
+ 'pendingCharges',
4053
+ ...nextStepsLegalDefaultLPM
4054
+ ],
4055
+ 'Wills and Trusts': [
4056
+ 'valueOfAssets',
4057
+ 'typeOfAssets',
4058
+ 'roleInMatterProbate',
4059
+ 'estateLegalServicesNeeded',
4060
+ ...nextStepsLegalDefault
4061
+ ],
4062
+ 'Workers Compensation': [
4063
+ 'incidentDate',
4064
+ 'claimStatus',
4065
+ 'primaryInjury',
4066
+ 'causeOfInjury',
4067
+ 'doctorTreatment',
4068
+ ...nextStepsLegalNoDOI
4069
+ ],
4070
+ 'Workplace Harassment': [
4071
+ 'numEmployeesOfBusiness',
4072
+ 'employerType',
4073
+ 'employeeAtCompany',
4074
+ ...nextStepsLegalDefault
4075
+ ],
4076
+ 'Workplace Discrimination': [
4077
+ 'numEmployeesOfBusiness',
4078
+ 'employerType',
4079
+ 'employeeAtCompany',
4080
+ ...nextStepsLegalDefault
4081
+ ],
4082
+ 'Wrongful Death': [
4083
+ 'incidentDate',
4084
+ 'relationshipToVictim',
4085
+ 'criminalChargesFiled',
4086
+ 'causeOfDeath',
4087
+ ...nextStepsLegalNoDOI
4088
+ ],
4089
+ 'Wrongful Termination': [
4090
+ 'numEmployeesOfBusiness',
4091
+ 'employerType',
4092
+ ...nextStepsLegalDefault
4093
+ ],
4094
+ },
4095
+ '*': nextStepsLegalDefault
4096
+ };
4006
4097
 
4007
- function taxLevel(updates = {}) {
4008
- return sqstep(
4009
- 'taxLevel',
4010
- taxLevelCenter(),
4011
- 'What level of tax issue?',
4012
- updates
4013
- )
4014
- }
4098
+ // function filterMapByKey(obj, keyList) {
4099
+ // return Object.fromEntries(
4100
+ // Object.entries(obj).filter(([key]) => keyList.includes(key))
4101
+ // );
4102
+ // }
4015
4103
 
4016
- function taxIssueType(updates = {}) {
4017
- return sqstep(
4018
- 'taxIssueType',
4019
- taxIssueTypeCenter(),
4020
- 'What type of tax issue?',
4021
- updates
4022
- )
4023
- }
4104
+ // export function filteredNextStepsMapLegal(keyList) {
4105
+ // const res = { Type_Of_Legal_Problem: filterMapByKey(nextStepsMapGeneralLegal["Type_Of_Legal_Problem"], keyList) }
4106
+ // res["*"] = nextStepsMapGeneralLegal["*"]
4107
+ // return res
4108
+ // }
4024
4109
 
4025
- function causeOfInjury(updates = {}) {
4026
- return sqstep(
4027
- 'causeOfInjury',
4028
- causeOfInjuryCenter(),
4029
- 'What was the cause of the injury?',
4030
- updates
4031
- )
4032
- }
4110
+ const TOLPNextSteps = nextStepsMapGeneralLegal["Type_Of_Legal_Problem"];
4033
4111
 
4034
- function causeOfDeath(updates = {}) {
4035
- return sqstep(
4036
- 'causeOfDeath',
4037
- causeOfDeathCenter(),
4038
- 'What was the cause of death?',
4039
- updates
4040
- )
4041
- }
4112
+ ({
4113
+ 'Civil_Defense': {
4114
+ 'Yes': TOLPNextSteps["Defend a Lawsuit"],
4115
+ 'No': TOLPNextSteps["File a Lawsuit"],
4116
+ },
4117
+ '*': [
4118
+ 'lawsuitOtherParty',
4119
+ ...nextStepsLegalDefault
4120
+ ]
4121
+ });
4042
4122
 
4043
- function relationshipToVictim(updates = {}) {
4044
- return sqstep(
4045
- 'relationshipToVictim',
4046
- relationshipToVictimCenter(),
4047
- 'What is your relationship to the victim?',
4048
- updates
4049
- )
4050
- }
4123
+ const nextStepsMapCivilTOLPDisplay = {
4124
+ 'Type_Of_Legal_Problem_Display': {
4125
+ 'Automobile Accident': TOLPNextSteps["Auto and Car Accidents"],
4126
+ 'Contract Disputes': TOLPNextSteps["Business Lawyers"],
4127
+ 'Dog Bite': TOLPNextSteps["Personal Injury"],
4128
+ 'Employment and Workplace': TOLPNextSteps["Employment and Workplace"],
4129
+ 'Fraud': TOLPNextSteps["Consumer Lawyers"],
4130
+ 'Medical Malpractice': TOLPNextSteps["Medical Malpractice"],
4131
+ 'Personal Injury': TOLPNextSteps["Personal Injury"],
4132
+ 'Property Damage': TOLPNextSteps["Property Damage"],
4133
+ 'Real Estate': TOLPNextSteps["Real Estate"],
4134
+ 'Other (describe on next page)': TOLPNextSteps["Not Sure or Other"],
4135
+ },
4136
+ '*': [
4137
+ 'lawsuitOtherParty',
4138
+ ...nextStepsLegalDefault
4139
+ ]
4140
+ };
4051
4141
 
4052
- function criminalChargesFiled(updates = {}) {
4053
- return sqstep(
4054
- 'criminalChargesFiled',
4055
- criminalChargesFiledCenter(),
4056
- 'Have criminal charges been filed?',
4057
- updates
4058
- )
4059
- }
4142
+ const nextStepsMapCriminalTOLPDisplay = {
4143
+ 'Type_Of_Legal_Problem_Display': {
4144
+ 'Victim of a Crime': TOLPNextSteps["Victim of a Crime"],
4145
+ 'DUI and DWI': TOLPNextSteps["DUI and DWI"],
4146
+ 'Expungement': TOLPNextSteps["Expungement"],
4147
+ 'Not Sure or Other': nextStepsMapGeneralLegal["*"],
4148
+ },
4149
+ '*': [
4150
+ 'crimeCommittedDate',
4151
+ 'roleInMatterCriminal',
4152
+ 'pendingCharges',
4153
+ ...nextStepsLegalDefaultLPM
4154
+ ]
4155
+ };
4060
4156
 
4061
- const formNavigationV2 = () => ({
4062
- $el: 'div',
4063
- attrs: {
4064
- class: 'step-nav'
4157
+ const nextStepsMapEmploymentAndWorkplaceTOLPDisplay = {
4158
+ 'Type_Of_Legal_Problem_Display': {
4159
+ 'Wrongful Termination': TOLPNextSteps["Wrongful Termination"],
4160
+ 'Workers Compensation': TOLPNextSteps["Workers Compensation"],
4161
+ 'Personal Injury': TOLPNextSteps["Personal Injury"],
4162
+ 'Unemployment': TOLPNextSteps["Unemployment"],
4065
4163
  },
4066
- children: [
4067
- {
4068
- $formkit: 'button',
4069
- name: 'back_button',
4070
- onClick: '$setPreviousStep($prevStepFunc($get(form)))',
4071
- children: 'Back',
4072
- style: {
4073
- if: '$activeStep === $firstStep()',
4074
- then: 'visibility: hidden;'
4075
- }
4076
- },
4077
- {
4078
- $formkit: 'button',
4079
- name: 'next_button',
4080
- onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
4081
- children: {
4082
- if: '$activeStep === $firstStep()',
4083
- then: 'Start',
4084
- else: 'Next'
4085
- },
4086
- outerClass: {
4087
- if: '$activeStep === $lastStep()',
4088
- then: 't-hidden',
4089
- else: ''
4090
- },
4091
- style: {
4092
- if: '$activeStep === $lastStep()',
4093
- then: 'display: none;'
4094
- }
4095
- },
4096
- {
4097
- $formkit: 'submit',
4098
- name: 'submit_button',
4099
- label: 'Submit',
4100
- if: '$activeStep === $lastStep()',
4101
- style: {
4102
- if: '$activeStep !== $lastStep()',
4103
- then: 'display: none;'
4104
- }
4105
- }
4164
+ '*': [
4165
+ 'numEmployeesOfBusiness',
4166
+ 'employerType',
4167
+ 'employeeAtCompany',
4168
+ ...nextStepsLegalDefault
4106
4169
  ]
4107
- });
4170
+ };
4108
4171
 
4109
- const formDetails = () => ({
4110
- $el: 'pre',
4111
- if: '$urlParam("fdbg", "") == 1',
4112
- children: [
4113
- {
4114
- $el: 'pre',
4115
- children: '$stringify( $get(form).value )',
4116
- attrs: {
4117
- class: 't-text-xs',
4118
- style: 'overflow: scroll'
4119
- }
4120
- },
4121
- {
4122
- $el: 'pre',
4123
- children: ['activeStep: ', '$activeStep'],
4124
- attrs: {
4125
- class: 't-text-xs',
4126
- style: 'overflow: scroll'
4127
- }
4128
- },
4129
- {
4130
- $el: 'pre',
4131
- children: ['stepHistory: ', '$stepHistory'],
4132
- attrs: {
4133
- class: 't-text-xs',
4134
- style: 'overflow: scroll'
4135
- }
4136
- },
4137
- {
4138
- $el: 'pre',
4139
- children: ['stepQueue: ', '$stepQueue'],
4140
- attrs: {
4141
- class: 't-text-xs',
4142
- style: 'overflow: scroll'
4143
- }
4144
- },
4145
- {
4146
- $el: 'pre',
4147
- children: ['steps: ', '$stepKeys()'],
4148
- attrs: {
4149
- class: 't-text-xs',
4150
- style: 'overflow: scroll'
4151
- }
4152
- }
4172
+ const nextStepsMapRealEstateTOLPDisplay = {
4173
+ 'Type_Of_Legal_Problem_Display': {
4174
+ 'Foreclosure': TOLPNextSteps["Foreclosure"],
4175
+ 'Landlord and Tenant': TOLPNextSteps["Landlord and Tenant"],
4176
+ 'Wills, Trusts, and Estates': TOLPNextSteps["Wills and Trusts"],
4177
+ 'Property Damage': TOLPNextSteps['Property Damage'],
4178
+ },
4179
+ '*': [
4180
+ 'realEstateArea',
4181
+ 'wouldLikeLawyerTo',
4182
+ ...nextStepsLegalDefault
4153
4183
  ]
4154
- });
4184
+ };
4155
4185
 
4156
4186
  const meta = defaultMetaProps();
4157
4187
 
@@ -4202,6 +4232,7 @@ meta.data.dynamicSchema = [
4202
4232
  driversLicenseType(),
4203
4233
  estateLegalServicesNeeded(),
4204
4234
  employerType(),
4235
+ employeeAtCompany(),
4205
4236
  employmentAndWorkplaceTOLPDisplay({
4206
4237
  nextStepMap: nextStepsMapEmploymentAndWorkplaceTOLPDisplay
4207
4238
  }),
@@ -4255,12 +4286,10 @@ meta.data.dynamicSchema = [
4255
4286
  veteransDisabilityRelationship(),
4256
4287
  wouldLikeLawyerTo(),
4257
4288
  zipcode(),
4258
- commentsWithBankruptcyV2({
4259
- nextOnEnter: false,
4289
+ commentsWithBankruptcy({
4260
4290
  label: null,
4261
4291
  headline: 'Please briefly describe your situation:',
4262
4292
  headlineClass: '!t-text-dark',
4263
- inputClass: '!t-h-32'
4264
4293
  }),
4265
4294
  legalCrossSells({
4266
4295
  headlineClass: '!t-text-dark'
@@ -4308,23 +4337,13 @@ const schema = [
4308
4337
  nextStepMap: nextStepsMapGeneralLegal,
4309
4338
  headlineClass: 't-text-lg',
4310
4339
  input: {
4311
- // TODO: move to common settings for this input?
4312
4340
  placeholder: 'Select a Category',
4313
4341
  innerClass: '!t-max-w-[275px] md:!t-max-w-xl'
4314
4342
  }
4315
4343
  }),
4316
- {
4317
- $cmp: 'FormKitSchema',
4318
- if: '$get(Type_Of_Legal_Problem).value',
4319
- props: {
4320
- schema: '$meta.dynamicSchema',
4321
- data: '$buildData($meta)'
4322
- }
4323
- },
4324
- contactInfoV2({
4325
- nextOnEnter: false
4326
- }),
4327
- formNavigationV2(),
4344
+ dynamicSchemaNode,
4345
+ contactInfo(),
4346
+ formNavigation(),
4328
4347
  formDetails()
4329
4348
  ]
4330
4349
  }