bhl-forms 0.6.5 → 0.6.7

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 (77) 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 +1442 -862
  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 +790 -764
  11. package/dist/forms/childAndFamily.iife.js +1 -1
  12. package/dist/forms/childAndFamily.json +1 -1
  13. package/dist/forms/childAndFamilySingle.es.js +1136 -757
  14. package/dist/forms/childAndFamilySingle.iife.js +1 -1
  15. package/dist/forms/childAndFamilySingle.json +1 -1
  16. package/dist/forms/civilLawsuit.es.js +2001 -1352
  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 -715
  22. package/dist/forms/contracts.iife.js +1 -1
  23. package/dist/forms/contracts.json +1 -1
  24. package/dist/forms/criminal.es.js +1891 -2482
  25. package/dist/forms/criminal.iife.js +1 -1
  26. package/dist/forms/criminal.json +1 -1
  27. package/dist/forms/employmentAndWorkplace.es.js +2178 -934
  28. package/dist/forms/employmentAndWorkplace.iife.js +1 -1
  29. package/dist/forms/employmentAndWorkplace.json +1 -1
  30. package/dist/forms/generalLegal.es.js +854 -808
  31. package/dist/forms/generalLegal.iife.js +1 -1
  32. package/dist/forms/generalLegal.json +1 -1
  33. package/dist/forms/generalLegalPopUnder.es.js +854 -807
  34. package/dist/forms/generalLegalPopUnder.iife.js +1 -1
  35. package/dist/forms/generalLegalPopUnder.json +1 -1
  36. package/dist/forms/generalLegalPopUnderSingle.es.js +4383 -0
  37. package/dist/forms/generalLegalPopUnderSingle.iife.js +1 -0
  38. package/dist/forms/generalLegalPopUnderSingle.json +1 -0
  39. package/dist/forms/generalLegalSingle.es.js +1672 -1629
  40. package/dist/forms/generalLegalSingle.iife.js +1 -1
  41. package/dist/forms/generalLegalSingle.json +1 -1
  42. package/dist/forms/generalLegalThankYou.es.js +710 -695
  43. package/dist/forms/generalLegalThankYou.iife.js +1 -1
  44. package/dist/forms/generalLegalThankYou.json +1 -1
  45. package/dist/forms/harassmentAndDiscrimination.es.js +1465 -681
  46. package/dist/forms/harassmentAndDiscrimination.iife.js +1 -1
  47. package/dist/forms/harassmentAndDiscrimination.json +1 -1
  48. package/dist/forms/malpractice.es.js +1764 -1066
  49. package/dist/forms/malpractice.iife.js +1 -1
  50. package/dist/forms/malpractice.json +1 -1
  51. package/dist/forms/mechanics.es.js +115 -115
  52. package/dist/forms/mechanics.iife.js +1 -1
  53. package/dist/forms/realEstate.es.js +1557 -1209
  54. package/dist/forms/realEstate.iife.js +1 -1
  55. package/dist/forms/realEstate.json +1 -1
  56. package/dist/forms/repossession.es.js +1811 -1085
  57. package/dist/forms/repossession.iife.js +1 -1
  58. package/dist/forms/repossession.json +1 -1
  59. package/dist/forms/ssdi.es.js +672 -672
  60. package/dist/forms/ssdi.iife.js +1 -1
  61. package/dist/forms/ssdi.json +1 -1
  62. package/dist/forms/testForm.es.js +473 -468
  63. package/dist/forms/testForm.iife.js +1 -1
  64. package/dist/forms/testForm.json +1 -1
  65. package/dist/forms/testRedirects.es.js +105 -102
  66. package/dist/forms/testRedirects.iife.js +1 -1
  67. package/dist/forms/testRedirects.json +1 -1
  68. package/dist/forms/vets.es.js +115 -115
  69. package/dist/forms/vets.iife.js +1 -1
  70. package/dist/forms/willsAndTrusts.es.js +1298 -705
  71. package/dist/forms/willsAndTrusts.iife.js +1 -1
  72. package/dist/forms/willsAndTrusts.json +1 -1
  73. package/dist/main.css +1 -1
  74. package/package.json +1 -1
  75. package/dist/forms/generalLegalPopUnderTF.es.js +0 -3087
  76. package/dist/forms/generalLegalPopUnderTF.iife.js +0 -1
  77. package/dist/forms/generalLegalPopUnderTF.json +0 -1
@@ -15,776 +15,313 @@ const DEFAULT_FINAL_HEADLINE_DYNAMIC = '$getKey($meta, "finalHeadlines." + $get(
15
15
  const DEFAULT_FINAL_SUBHEADLINE = 'You may benefit from speaking with a legal professional. Please verify your contact information.';
16
16
  const DEFAULT_FINAL_SUBHEADLINE_DYNAMIC = '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
17
17
 
18
- const formPropDefaults = {
19
- type: 'form',
20
- id: 'form',
21
- config: { validationVisibility: 'submit' },
22
- onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
23
- plugins: '$plugins',
24
- actions: false,
25
- anchorElement: 'form-anchor',
26
- useLocalStorage: true,
27
- prepop: {
28
- fromURL: true
29
- },
30
- errorCodes: {
31
- 403: { message: "An Error Occurred", abort: false },
32
- 409: { abort: false },
33
- 429: "An Error Occurred",
34
- 504: { message: "An Error Occurred", abort: false },
35
- },
36
- formClass: '!t-max-w-[40rem]'
37
- };
18
+ // ------ Common Base Settings
38
19
 
39
- function formProps(updates) {
40
- const props = merge(
41
- formPropDefaults,
42
- updates
43
- );
44
- if (props.formId && !props.name) {
45
- props.name = props.formId;
20
+ const checkbox = (updates) => {
21
+ if (updates.name && !updates.id) {
22
+ updates.id = updates.name;
46
23
  }
47
- return props
48
- }
24
+ return merge({
25
+ $formkit: 'checkbox',
26
+ validation: 'required',
27
+ validationMessages: {
28
+ required: 'Field is required'
29
+ }
30
+ }, updates)
31
+ };
49
32
 
50
- const metaDefaults = {
51
- tcpaLanguage: TCPA_LANGUAGE
33
+ const sbsCheckbox = (updates) => {
34
+ updates.legendClass = 'legend-left required';
35
+ updates.fieldsetClass = '$reset side-by-side';
36
+ updates.optionsClass = 't-pl-1';
37
+ updates.innerClass = 't-flex t-items-center';
38
+ updates.wrapperClass = 't-mb-3';
39
+ return checkbox(updates)
52
40
  };
53
41
 
54
- function metaProps(updates) {
55
- const data = merge(
56
- metaDefaults,
57
- updates
58
- );
59
- return {
60
- type: 'meta',
61
- data
42
+ const col2Checkbox = (updates) => {
43
+ if (!updates || !updates.legendClass) {
44
+ updates.legendClass = 'required';
62
45
  }
63
- }
46
+ updates.fieldsetClass = '$reset';
47
+ updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
48
+ updates.innerClass = 't-items-start';
49
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
50
+ return checkbox(updates)
51
+ };
64
52
 
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
- }
53
+ const radio = (updates) => {
54
+ if (updates.name && !updates.id) {
55
+ updates.id = updates.name;
56
+ }
57
+ return merge({
58
+ $formkit: 'radio',
59
+ validation: 'required',
60
+ validationMessages: {
61
+ required: 'Field is required'
62
+ },
63
+ optionsClass: 't-pt-3 t-pl-1',
64
+ legendClass: 'required'
65
+ }, updates)
66
+ };
77
67
 
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'
68
+ const col2RadioCenter = (updates) => {
69
+ updates.legendClass = 'required t-w-[100%] t-text-center';
70
+ if (typeof updates.fieldsetClass === 'undefined') {
71
+ updates.fieldsetClass = '$reset t-flex t-justify-center';
92
72
  }
73
+ updates.optionsClass = 't-pl-4 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
74
+ updates.innerClass = 't-items-start';
75
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
76
+ updates.optionClass = 't-pl-4 md:t-pl-8 md:t-min-w-[200px]';
77
+ updates.messagesClass = 't-flex t-justify-center';
78
+ updates.helpClass = 't-mt-0 t-mb-4 !t-text-sm t-text-center';
79
+ return radio(updates)
93
80
  };
94
81
 
95
- function formAnchor(updates) {
96
- return merge(
97
- formAnchorDefaults,
98
- updates
99
- )
100
- }
82
+ const sbs2ColRadio = (updates) => {
83
+ updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
84
+ updates.fieldsetClass = '$reset side-by-side-flex';
85
+ updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
86
+ updates.innerClass = 't-flex t-items-start';
87
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
88
+ return radio(updates)
89
+ };
101
90
 
102
- function headlineDefaults(updates = {}) {
103
- return {
104
- $el: 'h1',
105
- attrs: {
106
- class: 't-flex t-justify-center t-text-center !t-text-[2rem] t-font-semibold t-pt-5 t-px-7 md:t-px-3' + ' ' + (updates.headlineClass || '')
107
- }
108
- }
109
- }
91
+ const sbs2ItemRadio = (updates) => {
92
+ updates.legendClass = 'legend-left t-pb-1 required';
93
+ updates.fieldsetClass = '$reset side-by-side t-items-center';
94
+ updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
95
+ updates.innerClass = 't-flex t-items-center';
96
+ updates.optionClass = 't-pr-1';
97
+ return radio(updates)
98
+ };
110
99
 
111
- function headline(updates = {}) {
112
- return merge(
113
- headlineDefaults(updates),
114
- updates
115
- )
116
- }
100
+ const sbsYesNoRadio = (updates) => {
101
+ updates.options = ['Yes', 'No'];
102
+ return sbs2ItemRadio(updates)
103
+ };
117
104
 
118
- function subHeadlineDefaults(updates = {}) {
119
- return {
120
- $el: 'h3',
121
- attrs: {
122
- class: 't-flex t-justify-center t-text-center !t-text-[1.2rem] t-font-medium t-text-blue-500 t-px-10' + ' ' + (updates.subheadlineClass || '')
123
- }
105
+ const verticalButtonRadio = (updates) => {
106
+ updates.legendClass = 'legend-left';
107
+ updates.fieldsetClass = '$reset t-flex t-justify-center t-items-center';
108
+ if (typeof updates.optionsClass === 'undefined') {
109
+ updates.optionsClass = 't-flex t-flex-col sm:t-flex-row t-justify-center t-my-3';
124
110
  }
125
- }
111
+ updates.optionClass = 'radiobtn t-my-2 sm:t-my-0 t-mx-2 md:t-mx-5';
112
+ updates.wrapperClass = '$reset formkit-wrapper t-mb-0 t-flex t-items-center t-h-[100%]';
113
+ updates.labelClass = 't-font-semibold t-text-[#1e448f] t-w-[100%]';
114
+ updates.decoratorIcon = false;
115
+ updates.messagesClass = 't-flex t-justify-center';
116
+ return radio(updates)
117
+ };
126
118
 
127
- function subHeadline(updates = {}) {
128
- return merge(
129
- subHeadlineDefaults(updates),
130
- updates
131
- )
132
- }
119
+ const verticalYesNoRadio = (updates) => {
120
+ updates.options = ['Yes', 'No'];
121
+ updates.optionsClass = 't-flex t-justify-center t-my-3';
122
+ return verticalButtonRadio(updates)
123
+ };
133
124
 
134
- function defaultSubHeadline() {
135
- return subHeadline({
136
- children: '$urlParam("shl", "Our Service is Fast and Free!")',
137
- if: '$activeStep === $firstStep()'
138
- })
139
- }
125
+ const verticalRadio = (updates) => {
126
+ updates.legendClass = 'required';
127
+ updates.fieldsetClass = '$reset t-flex t-justify-center';
128
+ updates.optionsClass = 't-pl-2 t-pt-3';
129
+ updates.innerClass = 't-items-center';
130
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
131
+ updates.optionClass = 't-pl-4 md:t-pl-12';
132
+ updates.messagesClass = 't-flex t-justify-center';
133
+ return radio(updates)
134
+ };
140
135
 
141
- const secureIconDefault = {
142
- $el: 'div',
143
- if: '$activeStep === $lastStep()',
144
- attrs: {
145
- class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
146
- },
147
- children: [
148
- {
149
- $el: 'img',
150
- attrs: {
151
- loading: 'lazy',
152
- alt: '',
153
- style: {
154
- border: 0
155
- },
156
- width: '25',
157
- height: '25',
158
- src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
159
- }
136
+ const select = (updates) => {
137
+ if (updates.name && !updates.id) {
138
+ updates.id = updates.name;
139
+ }
140
+ return merge({
141
+ $formkit: 'select',
142
+ placeholder: "Please Select",
143
+ validation: 'required',
144
+ validationMessages: {
145
+ required: 'Field is required'
160
146
  },
161
- {
162
- $el: 'span',
163
- children: 'Secure & Encrypted',
164
- attrs: {
165
- class: 't-pl-2 t-pt-1 t-font-medium'
166
- }
167
- }
168
- ]
147
+ inputClass: 't-bg-white',
148
+ labelClass: 'required'
149
+ }, updates)
169
150
  };
170
151
 
152
+ const sbsSelect = (updates) => {
153
+ updates.labelClass = 'required';
154
+ updates.wrapperClass = 'side-by-side t-items-center';
155
+ updates.innerClass = 'select-height-content';
156
+ updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
157
+ return select(updates)
158
+ };
171
159
 
172
- function secureIcon(updates) {
173
- return merge(
174
- secureIconDefault,
175
- updates
176
- )
177
- }
160
+ const verticalSelect = (updates) => {
161
+ updates.labelClass = 'required';
162
+ updates.wrapperClass = 't-flex t-justify-center';
163
+ updates.messagesClass = 't-flex t-justify-center';
164
+ updates.inputClass = 't-min-w-[150px] t-bg-white';
165
+ updates.helpClass = 't-mt-2.5 t-text-center';
166
+ return select(updates)
167
+ };
178
168
 
179
- const hiddenInputsBase = [
180
- {
181
- $formkit: 'hidden',
182
- name: "gclid",
183
- value: null
184
- },
185
- {
186
- $formkit: 'hidden',
187
- name: "campaignid",
188
- value: null
189
- },
190
- {
191
- $formkit: 'hidden',
192
- name: "s",
193
- value: null
169
+ const text = (updates) => {
170
+ if (updates.name && !updates.id) {
171
+ updates.id = updates.name;
194
172
  }
195
- ];
196
-
197
- const hiddenInputsLegal = [
198
- {
199
- $formkit: 'hidden',
200
- name: "vertical",
201
- value: "Legal"
202
- },
203
- {
204
- $formkit: 'hidden',
205
- name: "TCPA_Language",
206
- value: "$meta.tcpaLanguage"
207
- },
208
- ...hiddenInputsBase
209
- ];
210
-
211
- const legalRedirectMapDefaults = {
212
- '*': LegalRedirectUrl()
173
+ return merge({
174
+ $formkit: 'text',
175
+ validation: 'required',
176
+ validationMessages: {
177
+ required: 'Field is required'
178
+ },
179
+ labelClass: 'required'
180
+ }, updates)
213
181
  };
214
182
 
183
+ const sbsText = (updates) => {
184
+ updates.wrapperClass = 'side-by-side t-items-center';
185
+ return text(updates)
186
+ };
215
187
 
216
- function legalRedirectMap(updates) {
217
- return merge(
218
- legalRedirectMapDefaults,
219
- updates
220
- )
221
- }
222
-
223
- const legalAllValueOverrideMap = {
224
- 'Civil_Defense': {
225
- 'Yes': {
226
- 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
227
- },
228
- 'No': {
229
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
230
- }
231
- },
232
- 'Type_Of_Legal_Problem_Display': {
233
- // Accidents and PI
234
- 'Auto Accident': {
235
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
236
- },
237
- 'Dog Bite': {
238
- 'Type_Of_Legal_Problem': 'Personal Injury'
239
- },
240
- 'Slip and Fall': {
241
- 'Type_Of_Legal_Problem': 'Personal Injury'
242
- },
243
- 'Workplace Injury': {
244
- 'Type_Of_Legal_Problem': 'Workers Compensation'
245
- },
246
- 'Trucking Accident': {
247
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
248
- },
249
- 'Motorcycle Accident': {
250
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
251
- },
252
- 'Other Accidents or Injuries': {
253
- 'Type_Of_Legal_Problem': 'Personal Injury'
254
- },
255
- // Civil
256
- 'Automobile Accident': {
257
- 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
258
- },
259
- 'Contract Disputes': {
260
- 'Type_Of_Legal_Problem': 'Business Lawyers'
261
- },
262
- 'Defamation and Slander': {
263
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
264
- },
265
- 'Dog Bite': {
266
- 'Type_Of_Legal_Problem': 'Personal Injury'
267
- },
268
- 'Employment and Workplace': {
269
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
270
- },
271
- 'Fraud': {
272
- 'Type_Of_Legal_Problem': 'Consumer Lawyers'
273
- },
274
- 'Medical Malpractice': {
275
- 'Type_Of_Legal_Problem': 'Medical Malpractice'
276
- },
277
- 'Personal Injury': {
278
- 'Type_Of_Legal_Problem': 'Personal Injury'
279
- },
280
- 'Property Damage': {
281
- 'Type_Of_Legal_Problem': 'Property Damage'
282
- },
283
- 'Small Claims': {
284
- 'Type_Of_Legal_Problem': 'File a Lawsuit'
285
- },
286
- 'Real Estate': {
287
- 'Type_Of_Legal_Problem': 'Real Estate'
288
- },
289
- 'Other (describe on next page)': {
290
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
291
- },
292
- // Contracts
293
- 'Contract Creation': {
294
- 'Type_Of_Legal_Problem': 'Business Lawyers',
295
- 'Business_Services': 'Contracts'
296
- },
297
- 'Contract Enforcement': {
298
- 'Type_Of_Legal_Problem': 'Business Lawyers',
299
- 'Business_Services': 'Contracts'
300
- },
301
- 'Contract Cancellation': {
302
- 'Type_Of_Legal_Problem': 'Business Lawyers',
303
- 'Business_Services': 'Contracts'
304
- },
305
- 'Contract Fraud': {
306
- 'Type_Of_Legal_Problem': 'Business Lawyers',
307
- 'Business_Services': 'Contracts'
308
- },
309
- 'Breach of Contract': {
310
- 'Type_Of_Legal_Problem': 'Business Lawyers',
311
- 'Business_Services': 'Contracts'
312
- },
313
- 'Other Contract Issues': {
314
- 'Type_Of_Legal_Problem': 'Business Lawyers',
315
- 'Business_Services': 'Contracts'
316
- },
317
- // Criminal
318
- 'Criminal Defense': {
319
- 'Type_Of_Legal_Problem': 'Criminal and Felony'
320
- },
321
- 'Victim of a Crime': {
322
- 'Type_Of_Legal_Problem': 'Victim of a Crime'
323
- },
324
- 'DUI and DWI': {
325
- 'Type_Of_Legal_Problem': 'DUI and DWI'
326
- },
327
- 'Expungement': {
328
- 'Type_Of_Legal_Problem': 'Expungement'
329
- },
330
- 'Harassment': {
331
- 'Type_Of_Legal_Problem': 'Criminal and Felony'
332
- },
333
- 'Not Sure or Other': {
334
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
335
- },
336
- // Employment and Workplace
337
- 'Workplace Harassment': {
338
- 'Type_Of_Legal_Problem': 'Workplace Harassment'
339
- },
340
- 'Workplace Discrimination': {
341
- 'Type_Of_Legal_Problem': 'Workplace Discrimination'
342
- },
343
- 'Wrongful Termination': {
344
- 'Type_Of_Legal_Problem': 'Wrongful Termination'
345
- },
346
- 'Payment Disputes': {
347
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
348
- },
349
- 'Workers Compensation': {
350
- 'Type_Of_Legal_Problem': 'Workers Compensation'
351
- },
352
- 'Unemployment': {
353
- 'Type_Of_Legal_Problem': 'Unemployment'
354
- },
355
- 'Other Workplace Issues': {
356
- 'Type_Of_Legal_Problem': 'Employment and Workplace'
357
- },
358
- // Malpractice
359
- 'Attorney Malpractice': {
360
- 'Type_Of_Legal_Problem': 'Civil Lawsuit'
361
- },
362
- 'Other Malpractice Issues': {
363
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
364
- },
365
- // Repossession
366
- 'Vehicle Repossession': {
367
- 'Type_Of_Legal_Problem': 'Bankruptcy'
368
- },
369
- 'Property Repossession': {
370
- 'Type_Of_Legal_Problem': 'Bankruptcy'
371
- },
372
- 'Other Repossession Issues': {
373
- 'Type_Of_Legal_Problem': 'Not Sure or Other'
374
- },
375
- // Real Estate
376
- 'Contracts and Agreements': {
377
- 'Type_Of_Legal_Problem': 'Real Estate'
378
- },
379
- 'Deeds, Liens, and Titles': {
380
- 'Type_Of_Legal_Problem': 'Real Estate'
381
- },
382
- 'Foreclosure': {
383
- 'Type_Of_Legal_Problem': 'Foreclosure'
384
- },
385
- 'Insurance': {
386
- 'Type_Of_Legal_Problem': 'Insurance'
387
- },
388
- 'Landlord and Tenant': {
389
- 'Type_Of_Legal_Problem': 'Landlord and Tenant',
390
- },
391
- 'Loans and Mortgages': {
392
- 'Type_Of_Legal_Problem': 'Real Estate',
393
- },
394
- 'Wills, Trusts, and Estates': {
395
- 'Type_Of_Legal_Problem': 'Wills and Trusts'
396
- },
397
- 'Property Damage': {
398
- 'Type_Of_Legal_Problem': 'Property Damage'
188
+ const textArea = (updates) => {
189
+ if (updates.name && !updates.id) {
190
+ updates.id = updates.name;
191
+ }
192
+ return merge({
193
+ $formkit: 'textarea',
194
+ rows: 5,
195
+ maxlength: 500,
196
+ validation: 'required',
197
+ validationMessages: {
198
+ required: 'Field is required'
399
199
  },
400
- 'Other Real Estate Issues': {
401
- 'Type_Of_Legal_Problem': 'Real Estate'
402
- }
200
+ innerClass: 't-max-w-xl',
201
+ labelClass: 'required'
202
+ }, updates)
203
+ };
204
+
205
+ const date = (updates) => {
206
+ if (updates.name && !updates.id) {
207
+ updates.id = updates.name;
403
208
  }
209
+ return merge({
210
+ $formkit: 'DatePicker',
211
+ validation: 'required',
212
+ validationMessages: {
213
+ required: 'Field is required'
214
+ },
215
+ labelClass: 'required t-block t-mb-3 t-font-semibold t-text-base formkit-invalid:t-text-red-500',
216
+ innerClass: 't-border t-border-gray-400 formkit-invalid:t-border-red-500 t-rounded t-mb-1 focus-within:t-border-blue-500'
217
+ }, updates)
404
218
  };
405
219
 
406
- const TOLPCommentsPlaceholders = {
407
- 'Adoption': 'Example: "I need help with adoption forms"',
408
- 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
409
- 'Auto and Car Accidents': 'Example: "A truck crashed into my car on the highway" or "I\'ve been involved in a hit and run accident"',
410
- 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
411
- 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
412
- 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
413
- 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
414
- 'Child Custody': 'Example: "Need help getting custody"',
415
- 'Child Support': 'Example: "Issues with child support payments"',
416
- 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
417
- 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
418
- 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
419
- 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
420
- 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
421
- 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
422
- 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
423
- 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
424
- 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
425
- 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
426
- 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
427
- 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
428
- 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
429
- 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
430
- 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
431
- 'Guardianship': 'Example: "I need help with guardianship documents"',
432
- 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
433
- 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
434
- 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
435
- 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
436
- 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
437
- 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
438
- 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
439
- 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
440
- 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
441
- 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
442
- 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
443
- 'Long Term Disability': 'Example: "I was injured on the job and would like to file for benefits" or "I need help filing for disability benefits"',
444
- 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
445
- 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
446
- 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
447
- 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
448
- 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
449
- 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
450
- 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
451
- 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
452
- 'Social Security Disability and Insurance': 'Example: "I would like help filing for disability benefits" or "I\'ve been denied for SSDI and would like to appeal"',
453
- 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
454
- 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
455
- 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
456
- 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
457
- 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
458
- 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
459
- 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
460
- 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
461
- 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
462
- };
463
-
464
- const TOLPFinalHeadlines = {
465
- // 'Adoption': '',
220
+ const sbsDate = (updates) => {
221
+ updates.wrapperClass = 'side-by-side t-items-center';
222
+ return date(updates)
466
223
  };
467
224
 
468
- const TOLPFinalSubHeadlines = {
469
- 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
470
- // 'Asbestos and Mesothelioma': '',
471
- 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
472
- 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
473
- // 'Birth Certificate and Name Change': '',
474
- // 'Business Lawyers': '',
475
- // 'Child Custody and Support': '',
476
- // 'Civil Rights and Discrimination': '',
477
- // 'Civil Lawsuit': '',
478
- // 'Consumer Lawyers': '',
479
- 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
480
- // 'Criminal and Felony': '',
481
- // 'Debt and Collections': '',
482
- 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
483
- 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
484
- 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
485
- // 'Employment and Workplace': '',
486
- // 'Expungement': '',
487
- // 'Family Issues': '',
488
- 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
489
- 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
490
- // 'Harassment and Discrimination': '',
491
- // 'Identity Theft': '',
492
- 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
493
- // 'Insurance': '',
494
- 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
495
- // 'Lemon Law': '',
496
- 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
497
- 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
498
- 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
499
- 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
500
- // 'Power of Attorney': '',
501
- 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
502
- // 'Product Liability': '',
503
- // 'Property Damage': '',
504
- 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
505
- 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
506
- 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
507
- // 'Traffic and Tickets': '',
508
- 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
509
- // 'Victim of a Crime': '',
510
- // 'Wills and Trusts': '',
511
- 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
512
- // 'Wrongful Death': '',
513
- // 'Wrongful Termination': '',
514
- // 'Not Sure or Other': ''
515
- // 'Sexual Harassment': '',
516
- // 'Workplace Harassment': '',
517
- // 'Non-Workplace Harassment': '',
518
- // 'Workplace Discrimination': '',
519
- // 'Non-Workplace Discrimination': '',
225
+ const verticalDate = (updates) => {
226
+ updates.wrapperClass = 't-flex t-justify-center';
227
+ updates.inputClass = 't-text-center';
228
+ updates.messagesClass = 't-flex t-justify-center';
229
+ return date(updates)
520
230
  };
521
231
 
522
- // ------ Common Base Settings
523
-
524
- const checkbox = (updates) => {
525
- if (updates.name && !updates.id) {
526
- updates.id = updates.name;
232
+ const applicantAge = (scope) => sbsText({
233
+ name: scope ? scope + ':' + 'Applicant_Age' : 'Applicant_Age',
234
+ label: 'Age of Applicant?',
235
+ placeholder: 'Age between 18 and 65',
236
+ maxlength: 2,
237
+ inputmode: "numeric",
238
+ validation: "required|min:18,max:65",
239
+ validationMessages: {
240
+ required: 'Applicant Age is required',
241
+ min: 'Invalid Age - must be between 18 and 65',
242
+ max: 'Invalid Age - must be between 18 and 65',
527
243
  }
528
- return merge({
529
- $formkit: 'checkbox',
530
- validation: 'required',
531
- validationMessages: {
532
- required: 'Field is required'
533
- }
534
- }, updates)
535
- };
536
-
537
- const sbsCheckbox = (updates) => {
538
- updates.legendClass = 'legend-left required';
539
- updates.fieldsetClass = '$reset side-by-side';
540
- updates.optionsClass = 't-pl-1';
541
- updates.innerClass = 't-flex t-items-center';
542
- updates.wrapperClass = 't-mb-3';
543
- return checkbox(updates)
544
- };
244
+ });
545
245
 
546
- const col2Checkbox = (updates) => {
547
- if (!updates || !updates.legendClass) {
548
- updates.legendClass = 'required';
549
- }
550
- updates.fieldsetClass = '$reset';
551
- updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
552
- updates.innerClass = 't-items-start';
553
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
554
- return checkbox(updates)
555
- };
246
+ const atFault$1 = (scope) => sbsYesNoRadio({
247
+ name: scope ? scope + ':' + 'At_Fault' : 'At_Fault',
248
+ label: 'Were You at Fault?'
249
+ });
556
250
 
557
- const radio = (updates) => {
558
- if (updates.name && !updates.id) {
559
- updates.id = updates.name;
560
- }
561
- return merge({
562
- $formkit: 'radio',
563
- validation: 'required',
564
- validationMessages: {
565
- required: 'Field is required'
566
- },
567
- optionsClass: 't-pt-3 t-pl-1',
568
- legendClass: 'required'
569
- }, updates)
570
- };
251
+ const atFaultCenter = (scope) => verticalYesNoRadio({
252
+ name: scope ? scope + ':' + 'At_Fault' : 'At_Fault',
253
+ });
571
254
 
572
- const col2Radio = (updates) => {
573
- updates.legendClass = 'required';
574
- updates.fieldsetClass = '$reset';
575
- updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
576
- updates.innerClass = 't-items-start';
577
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
578
- return radio(updates)
579
- };
255
+ const bankruptcyCrossSell = () => sbsCheckbox({
256
+ label: "I'd also like a consult for bankruptcy or debt elimination (optional)",
257
+ help: "Note: you will be contacted separately by a bankruptcy/debt expert",
258
+ name: 'CrossSell_Bankruptcy',
259
+ id: 'CrossSell_Bankruptcy',
260
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") != "Bankruptcy" && ($getVal($get(form), "Degree_Of_Interest") == "Absolutely Can\'t Afford" || $getVal($get(form), "Degree_Of_Interest") == "Maybe" || $getVal($get(form), "Degree_Of_Interest") == "Probably")',
261
+ validation: null,
262
+ helpClass: "!t-text-sm"
263
+ });
580
264
 
581
- const sbsRadio = (updates) => {
582
- updates.legendClass = 'legend-left required';
583
- updates.fieldsetClass = '$reset side-by-side';
584
- updates.optionsClass = 't-pl-1';
585
- updates.innerClass = 't-flex t-items-center';
586
- updates.wrapperClass = 't-mb-3';
587
- return radio(updates)
588
- };
265
+ const bloodContentAlcoholTest = (scope) => sbsSelect({
266
+ name: scope ? scope + ':' + 'Blood_Alcohol_Content_Test' : 'Blood_Alcohol_Content_Test',
267
+ label: 'Blood Alcohol Content Measured by Test:',
268
+ options: [
269
+ "No Test",
270
+ "0.00% - 0.04%",
271
+ "0.05% - 0.08%",
272
+ "0.09% - 0.12%",
273
+ "0.13% - 0.16%",
274
+ "0.17% - 0.20%",
275
+ "More than 0.20%",
276
+ "Don't know"
277
+ ]
278
+ });
589
279
 
590
- const sbs2ColRadio = (updates) => {
591
- updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
592
- updates.fieldsetClass = '$reset side-by-side-flex';
593
- updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
594
- updates.innerClass = 't-flex t-items-start';
595
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
596
- return radio(updates)
597
- };
280
+ const businessServicesCenter = () => col2RadioCenter({
281
+ id: 'Business_Services',
282
+ name: 'Business_Services',
283
+ options: [
284
+ "Business Formation",
285
+ "Contracts",
286
+ "Insurance and Liability",
287
+ "Mergers and Acquisition",
288
+ "Regulatory Compliance",
289
+ "Employee Dispute",
290
+ "Other"
291
+ ]
292
+ });
598
293
 
599
- const sbs2ItemRadio = (updates) => {
600
- updates.legendClass = 'legend-left t-pb-1 required';
601
- updates.fieldsetClass = '$reset side-by-side t-items-center';
602
- updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
603
- updates.innerClass = 't-flex t-items-center';
604
- updates.optionClass = 't-pr-1';
605
- return radio(updates)
606
- };
294
+ const businessTypeCenter = () => verticalButtonRadio({
295
+ name: 'Business_Type',
296
+ options: [
297
+ "Public",
298
+ "Private"
299
+ ]
300
+ });
607
301
 
608
- const sbsYesNoRadio = (updates) => {
609
- updates.options = ['Yes', 'No'];
610
- return sbs2ItemRadio(updates)
611
- };
302
+ const causeOfInjury = (scope) => sbsSelect({
303
+ name: scope ? scope + ':' + 'Cause_Of_Injury' : 'Cause_Of_Injury',
304
+ label: 'Cause of Injury:',
305
+ options: [
306
+ "Traumatic Physical Injury (Accident)",
307
+ "Repeated Trauma Injury",
308
+ "Mental Injury",
309
+ "Occupational Disease",
310
+ "Not Sure"
311
+ ]
312
+ });
612
313
 
613
- const select = (updates) => {
614
- if (updates.name && !updates.id) {
615
- updates.id = updates.name;
616
- }
617
- return merge({
618
- $formkit: 'select',
619
- placeholder: "Please Select",
620
- validation: 'required',
621
- validationMessages: {
622
- required: 'Field is required'
623
- },
624
- inputClass: 't-bg-white',
625
- labelClass: 'required'
626
- }, updates)
627
- };
628
-
629
- const sbsSelect = (updates) => {
630
- updates.labelClass = 'required';
631
- updates.wrapperClass = 'side-by-side t-items-center';
632
- updates.innerClass = 'select-height-content';
633
- updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
634
- return select(updates)
635
- };
636
-
637
- const text = (updates) => {
638
- if (updates.name && !updates.id) {
639
- updates.id = updates.name;
640
- }
641
- return merge({
642
- $formkit: 'text',
643
- validation: 'required',
644
- validationMessages: {
645
- required: 'Field is required'
646
- },
647
- labelClass: 'required'
648
- }, updates)
649
- };
650
-
651
- const sbsText = (updates) => {
652
- updates.wrapperClass = 'side-by-side t-items-center';
653
- return text(updates)
654
- };
655
-
656
- const textArea = (updates) => {
657
- if (updates.name && !updates.id) {
658
- updates.id = updates.name;
659
- }
660
- return merge({
661
- $formkit: 'textarea',
662
- rows: 5,
663
- maxlength: 500,
664
- validation: 'required',
665
- validationMessages: {
666
- required: 'Field is required'
667
- },
668
- innerClass: 't-max-w-xl',
669
- labelClass: 'required'
670
- }, updates)
671
- };
672
-
673
- const date = (updates) => {
674
- if (updates.name && !updates.id) {
675
- updates.id = updates.name;
676
- }
677
- return merge({
678
- $formkit: 'DatePicker',
679
- validation: 'required',
680
- validationMessages: {
681
- required: 'Field is required'
682
- },
683
- labelClass: 'required t-block t-mb-3 t-font-semibold t-text-base formkit-invalid:t-text-red-500',
684
- innerClass: 't-border t-border-gray-400 formkit-invalid:t-border-red-500 t-rounded t-mb-1 focus-within:t-border-blue-500'
685
- }, updates)
686
- };
687
-
688
- const sbsDate = (updates) => {
689
- updates.wrapperClass = 'side-by-side t-items-center';
690
- return date(updates)
691
- };
692
-
693
- const applicantAge = (scope) => sbsText({
694
- name: scope ? scope + ':' + 'Applicant_Age' : 'Applicant_Age',
695
- label: 'Age of Applicant?',
696
- placeholder: 'Age between 18 and 65',
697
- maxlength: 2,
698
- inputmode: "numeric",
699
- validation: "required|min:18,max:65",
700
- validationMessages: {
701
- required: 'Applicant Age is required',
702
- min: 'Invalid Age - must be between 18 and 65',
703
- max: 'Invalid Age - must be between 18 and 65',
704
- }
705
- });
706
-
707
- const atFault = (scope) => sbsYesNoRadio({
708
- name: scope ? scope + ':' + 'At_Fault' : 'At_Fault',
709
- label: 'Were You at Fault?'
710
- });
711
-
712
- const bankruptcyCrossSell = () => sbsCheckbox({
713
- label: "I'd also like a consult for bankruptcy or debt elimination (optional)",
714
- help: "Note: you will be contacted separately by a bankruptcy/debt expert",
715
- name: 'CrossSell_Bankruptcy',
716
- id: 'CrossSell_Bankruptcy',
717
- if: '$getVal($get(form), "Type_Of_Legal_Problem") != "Bankruptcy" && ($getVal($get(form), "Degree_Of_Interest") == "Absolutely Can\'t Afford" || $getVal($get(form), "Degree_Of_Interest") == "Maybe" || $getVal($get(form), "Degree_Of_Interest") == "Probably")',
718
- validation: null,
719
- helpClass: "!t-text-sm"
720
- });
721
-
722
- const bloodContentAlcoholTest = (scope) => sbsSelect({
723
- name: scope ? scope + ':' + 'Blood_Alcohol_Content_Test' : 'Blood_Alcohol_Content_Test',
724
- label: 'Blood Alcohol Content Measured by Test:',
725
- options: [
726
- "No Test",
727
- "0.00% - 0.04%",
728
- "0.05% - 0.08%",
729
- "0.09% - 0.12%",
730
- "0.13% - 0.16%",
731
- "0.17% - 0.20%",
732
- "More than 0.20%",
733
- "Don't know"
734
- ]
735
- });
736
-
737
- const businessServices = () => sbsSelect({
738
- label: 'Legal Services Needed for Your Business:',
739
- id: 'Business_Services',
740
- name: 'Business_Services',
741
- options: [
742
- "Business Formation",
743
- "Contracts",
744
- "Insurance and Liability",
745
- "Mergers and Acquisition",
746
- "Regulatory Compliance",
747
- "Employee Dispute",
748
- "Other"
749
- ]
750
- });
751
-
752
- const businessType = () => sbs2ColRadio({
753
- label: 'Is the Business Public or Private?',
754
- name: 'Business_Type',
755
- options: [
756
- "Public",
757
- "Private"
758
- ]
759
- });
760
-
761
- const causeOfInjury = (scope) => sbsSelect({
762
- name: scope ? scope + ':' + 'Cause_Of_Injury' : 'Cause_Of_Injury',
763
- label: 'Cause of Injury:',
764
- options: [
765
- "Traumatic Physical Injury (Accident)",
766
- "Repeated Trauma Injury",
767
- "Mental Injury",
768
- "Occupational Disease",
769
- "Not Sure"
770
- ]
771
- });
772
-
773
- const civilDefense = (updates) => sbs2ItemRadio(merge({
774
- name: 'Civil_Defense',
775
- id: 'Civil_Defense',
776
- if: '$get(Type_Of_Legal_Problem).value == "Civil Lawsuit"',
777
- label: 'Do You Need Representation to File a Lawsuit or Defend One?',
778
- options: {
779
- Yes: 'Defend a Lawsuit',
780
- No: 'File a Lawsuit'
314
+ const civilLawsuitTOLPCenter = (updates) => verticalButtonRadio(merge({
315
+ name: 'Type_Of_Legal_Problem',
316
+ id: 'Type_Of_Legal_Problem',
317
+ options: {
318
+ 'Defend a Lawsuit': 'Defend Lawsuit',
319
+ 'File a Lawsuit': 'File Lawsuit'
781
320
  }
782
321
  }, updates));
783
322
 
784
- const civilLawsuitTOLPDisplay = (updates) => col2Radio(merge({
323
+ const civilLawsuitTOLPDisplayCenter = (updates) => col2RadioCenter(merge({
785
324
  name: 'Type_Of_Legal_Problem_Display',
786
- if: '$get(Type_Of_Legal_Problem).value == "Civil Lawsuit" && $get(Civil_Defense).value == "No"',
787
- label: 'Select The Type of Lawsuit You Would Like to File:',
788
325
  options: [
789
326
  'Automobile Accident',
790
327
  'Contract Disputes',
@@ -797,7 +334,7 @@ const civilLawsuitTOLPDisplay = (updates) => col2Radio(merge({
797
334
  'Property Damage',
798
335
  'Small Claims',
799
336
  'Real Estate',
800
- 'Other (describe on next page)'
337
+ 'Not Sure or Other'
801
338
  ]
802
339
  }, updates));
803
340
 
@@ -834,7 +371,7 @@ const childRelationship = (scope) => sbsSelect({
834
371
  ]
835
372
  });
836
373
 
837
- const claimStatus = (scope) => sbsSelect({
374
+ const claimStatus$1 = (scope) => sbsSelect({
838
375
  name: scope ? scope + ':' + 'Claim_Status' : 'Claim_Status',
839
376
  label: "Status of Claim:",
840
377
  options: [
@@ -845,6 +382,16 @@ const claimStatus = (scope) => sbsSelect({
845
382
  ]
846
383
  });
847
384
 
385
+ const claimStatusCenter = (scope) => col2RadioCenter({
386
+ name: scope ? scope + ':' + 'Claim_Status' : 'Claim_Status',
387
+ options: [
388
+ "No action taken yet",
389
+ "Demand for compensation made",
390
+ "Lawsuit filed",
391
+ "Other"
392
+ ]
393
+ });
394
+
848
395
  const comments = (updates, scope) => textArea(
849
396
  merge({
850
397
  name: scope ? scope + ':' + 'Comments' : 'Comments',
@@ -853,8 +400,7 @@ const comments = (updates, scope) => textArea(
853
400
  }, updates)
854
401
  );
855
402
 
856
- const consumerLawyerType = () => sbsSelect({
857
- label: 'What best describes your issue?',
403
+ const consumerLawyerTypeCenter = () => verticalSelect({
858
404
  name: 'Consumer_Lawyer_Type',
859
405
  options: [
860
406
  "Unsafe Environment",
@@ -871,7 +417,7 @@ const consumerLawyerType = () => sbsSelect({
871
417
  ]
872
418
  });
873
419
 
874
- const degreeOfInterest = (scope, help) => sbsSelect({
420
+ const degreeOfInterest$1 = (scope, help) => sbsSelect({
875
421
  name: scope ? scope + ':' + 'Degree_Of_Interest' : 'Degree_Of_Interest',
876
422
  id: scope ? scope + ':' + 'Degree_Of_Interest' : 'Degree_Of_Interest',
877
423
  label: 'How Likely Are You to Pay if Your Issue Could be Resolved?',
@@ -884,7 +430,19 @@ const degreeOfInterest = (scope, help) => sbsSelect({
884
430
  ]
885
431
  });
886
432
 
887
- const degreeOfInterestHelp = (scope) => degreeOfInterest(scope, 'No payment necessary to speak with lawyers.');
433
+ const degreeOfInterestCenter = (scope, help) => col2RadioCenter({
434
+ name: scope ? scope + ':' + 'Degree_Of_Interest' : 'Degree_Of_Interest',
435
+ id: scope ? scope + ':' + 'Degree_Of_Interest' : 'Degree_Of_Interest',
436
+ help: help,
437
+ options: [
438
+ 'Definitely',
439
+ 'Probably',
440
+ 'Maybe',
441
+ "Absolutely Can't Afford"
442
+ ]
443
+ });
444
+
445
+ const degreeOfInterestHelp = (scope) => degreeOfInterest$1(scope, 'No payment necessary to speak with lawyers.');
888
446
 
889
447
  const disabilityConditionStopWork = (scope) => sbsYesNoRadio({
890
448
  name: scope ? scope + ':' + 'Disability_Condition_Stop_Work' : 'Disability_Condition_Stop_Work',
@@ -896,11 +454,15 @@ const disabilityWorkHistory = (scope) => sbsYesNoRadio({
896
454
  label: 'Have You Had a Full-Time Job Within the Past 5 Years?'
897
455
  });
898
456
 
899
- const doctorTreatment = (scope) => sbsYesNoRadio({
457
+ const doctorTreatment$1 = (scope) => sbsYesNoRadio({
900
458
  name: scope ? scope + ':' + 'Doctor_Treatment' : 'Doctor_Treatment',
901
459
  label: 'Have You Recently Been Treated by a Doctor, Hospital or Clinic?',
902
460
  });
903
461
 
462
+ const doctorTreatmentCenter = () => verticalYesNoRadio({
463
+ name: 'Doctor_Treatment',
464
+ });
465
+
904
466
  const email = () => sbsText({
905
467
  $formkit: 'email',
906
468
  name: 'Email',
@@ -915,8 +477,7 @@ const email = () => sbsText({
915
477
  }
916
478
  });
917
479
 
918
- const employerType = () => sbsSelect({
919
- label: 'The Employer Is a:',
480
+ const employerTypeCenter = () => col2RadioCenter({
920
481
  name: 'Employer_Type',
921
482
  options: [
922
483
  "Sole proprietorship (mom and pop)",
@@ -929,6 +490,10 @@ const employerType = () => sbsSelect({
929
490
  ]
930
491
  });
931
492
 
493
+ const employeeAtCompanyCenter = (scope) => verticalYesNoRadio({
494
+ name: scope ? scope + ':' + 'Employee_At_Company' : 'Employee_At_Company',
495
+ });
496
+
932
497
  const estateLegalServicesNeeded = (scope) => sbsSelect({
933
498
  name: scope ? scope + ':' + 'Estate_Legal_Services_Needed' : 'Estate_Legal_Services_Needed',
934
499
  label: "Legal Services Needed for Your Estate:",
@@ -953,21 +518,29 @@ const firstName = () => sbsText({
953
518
  }
954
519
  });
955
520
 
956
- const haveAttorney = (scope) => sbsYesNoRadio({
521
+ const haveAttorney$1 = (scope) => sbsYesNoRadio({
957
522
  name: scope ? scope + ':' + 'Have_Attorney' : 'Have_Attorney',
958
523
  label: 'Already Working with An Attorney?'
959
524
  });
960
525
 
526
+ const haveAttorneyCenter = () => verticalYesNoRadio({
527
+ name: 'Have_Attorney',
528
+ });
529
+
961
530
  const haveChildren = (scope) => sbsYesNoRadio({
962
531
  name: scope ? scope + ':' + 'Have_Children' : 'Have_Children',
963
532
  label: 'Do You Have Children?'
964
533
  });
965
534
 
966
- const incidentDate = (scope) => sbsDate({
535
+ const incidentDate$1 = (scope) => sbsDate({
967
536
  name: scope ? scope + ':' + 'Incident_Date' : 'Incident_Date',
968
537
  label: 'Date of Incident:',
969
538
  });
970
539
 
540
+ const incidentDateCenter = (scope) => verticalDate({
541
+ name: scope ? scope + ':' + 'Incident_Date' : 'Incident_Date',
542
+ });
543
+
971
544
  const lastName = () => sbsText({
972
545
  $formkit: 'text',
973
546
  label: 'Last Name:',
@@ -979,8 +552,7 @@ const lastName = () => sbsText({
979
552
  }
980
553
  });
981
554
 
982
- const lawsuitOtherParty = () => sbsSelect({
983
- label: 'The Other Party is a:',
555
+ const lawsuitOtherPartyCenter = () => col2RadioCenter({
984
556
  name: 'Lawsuit_Other_Party',
985
557
  options: [
986
558
  "Individual",
@@ -1088,8 +660,7 @@ const maritalStatus = (scope) => sbsSelect({
1088
660
  ]
1089
661
  });
1090
662
 
1091
- const medicalMalpracticeInjuries = () => sbsSelect({
1092
- label: "Injuries from Medical Malpractice:",
663
+ const medicalMalpracticeInjuriesCenter = () => verticalSelect({
1093
664
  name: 'Medical_Malpractice_Injuries',
1094
665
  options: [
1095
666
  "No Injury",
@@ -1102,9 +673,7 @@ const medicalMalpracticeInjuries = () => sbsSelect({
1102
673
  ]
1103
674
  });
1104
675
 
1105
-
1106
- const numEmployeesOfBusiness = () => sbsSelect({
1107
- label: 'Total Employees of Business? (estimated)',
676
+ const numEmployeesOfBusinessCenter = () => col2RadioCenter({
1108
677
  name: 'Num_Employees_Of_Business',
1109
678
  options: [
1110
679
  "1-5",
@@ -1140,7 +709,7 @@ const phone = () => sbsText({
1140
709
  helpClass: "t-mt-2.5 md:t-text-right md:t-mt-[-2px]"
1141
710
  });
1142
711
 
1143
- const primaryInjury = (scope) => sbs2ColRadio({
712
+ const primaryInjury$1 = (scope) => sbs2ColRadio({
1144
713
  name: scope ? scope + ':' + 'Primary_Injury' : 'Primary_Injury',
1145
714
  label: 'Primary Injury:',
1146
715
  options: [
@@ -1151,7 +720,21 @@ const primaryInjury = (scope) => sbs2ColRadio({
1151
720
  "Headaches",
1152
721
  "Memory Loss",
1153
722
  "Loss of Limb",
1154
- "Other (describe on next page)"
723
+ "Not Sure or Other"
724
+ ]
725
+ });
726
+
727
+ const primaryInjuryCenter = (scope) => col2RadioCenter({
728
+ name: scope ? scope + ':' + 'Primary_Injury' : 'Primary_Injury',
729
+ options: [
730
+ "Anxiety",
731
+ "Back or Neck Pain",
732
+ "Broken Bones",
733
+ "Cuts and Bruises",
734
+ "Headaches",
735
+ "Memory Loss",
736
+ "Loss of Limb",
737
+ "Not Sure or Other"
1155
738
  ]
1156
739
  });
1157
740
 
@@ -1160,13 +743,16 @@ const priorAlcoholOffenses = (scope) => sbsYesNoRadio({
1160
743
  label: 'Any Prior Alcohol Related Offenses?'
1161
744
  });
1162
745
 
1163
- const policeReportFiled = (scope) => sbsYesNoRadio({
746
+ const policeReportFiled$1 = (scope) => sbsYesNoRadio({
1164
747
  name: scope ? scope + ':' + 'Police_Report_Filed' : 'Police_Report_Filed',
1165
748
  label: 'Was a Police Report Filed?'
1166
749
  });
1167
750
 
1168
- const realEstateArea = () => sbsSelect({
1169
- label: "Area of Real Estate:",
751
+ const policeReportFiledCenter = (scope) => verticalYesNoRadio({
752
+ name: scope ? scope + ':' + 'Police_Report_Filed' : 'Police_Report_Filed',
753
+ });
754
+
755
+ const realEstateAreaCenter = () => col2RadioCenter({
1170
756
  name: 'Real_Estate_Area',
1171
757
  options: [
1172
758
  "Condos and Coops",
@@ -1252,8 +838,7 @@ const valueOfAssets = (scope) => sbsSelect({
1252
838
  ]
1253
839
  });
1254
840
 
1255
- const wouldLikeLawyerTo = () => sbsRadio({
1256
- label: 'I Would Like a Lawyer to:',
841
+ const wouldLikeLawyerToCenter = () => verticalRadio({
1257
842
  name: 'Would_Like_Lawyer_To',
1258
843
  options: [
1259
844
  "Give me general advice to protect my interests",
@@ -1265,9 +850,9 @@ const wouldLikeLawyerTo = () => sbsRadio({
1265
850
  ]
1266
851
  });
1267
852
 
1268
- const zipcode = () => sbsText({
1269
- label: 'Zip Code:',
853
+ const zipcodeCenter = () => text({
1270
854
  placeholder: '#####',
855
+ help: "We try to match you with local legal help",
1271
856
  name: 'Zip',
1272
857
  maxlength: 5,
1273
858
  inputmode: "numeric",
@@ -1276,7 +861,11 @@ const zipcode = () => sbsText({
1276
861
  validationMessages: {
1277
862
  required: 'Zip Code is required',
1278
863
  matches: 'Invalid Zip Code'
1279
- }
864
+ },
865
+ wrapperClass: 't-flex t-justify-center',
866
+ messagesClass: 't-flex t-justify-center',
867
+ inputClass: 't-text-center',
868
+ helpClass: 't-mt-2.5 !t-text-sm t-text-center'
1280
869
  });
1281
870
 
1282
871
 
@@ -1300,26 +889,12 @@ const AutoAndCarAccidentsQuestions = (condition, scope) => group(
1300
889
  {
1301
890
  if: (condition || '$get(Type_Of_Legal_Problem).value == "Auto and Car Accidents"'),
1302
891
  children: [
1303
- haveAttorney(scope),
1304
- incidentDate(scope),
1305
- atFault(scope),
1306
- primaryInjury(scope),
1307
- doctorTreatment(scope),
1308
- policeReportFiled(scope)
1309
- ]
1310
- }
1311
- );
1312
-
1313
- const BusinessLawyersQuestions = () => group(
1314
- 'BusinessLawyersQuestions',
1315
- {
1316
- if: '$get(Type_Of_Legal_Problem).value == "Business Lawyers"',
1317
- children: [
1318
- haveAttorney(),
1319
- businessServices(),
1320
- businessType(),
1321
- numEmployeesOfBusiness(),
1322
- degreeOfInterestHelp()
892
+ haveAttorney$1(scope),
893
+ incidentDate$1(scope),
894
+ atFault$1(scope),
895
+ primaryInjury$1(scope),
896
+ doctorTreatment$1(scope),
897
+ policeReportFiled$1(scope)
1323
898
  ]
1324
899
  }
1325
900
  );
@@ -1329,63 +904,25 @@ const ChildCustodyQuestions = (condition, scope) => group(
1329
904
  {
1330
905
  if: (condition || '$get(Type_Of_Legal_Problem).value == "Child Custody"'),
1331
906
  children: [
1332
- haveAttorney(scope),
907
+ haveAttorney$1(scope),
1333
908
  childRelationship(scope),
1334
909
  childHome(scope),
1335
910
  childPrimaryCaregiver(scope),
1336
- degreeOfInterest(scope),
911
+ degreeOfInterest$1(scope),
1337
912
  lawyerPaymentMethod(scope)
1338
913
  ]
1339
914
  }
1340
915
  );
1341
916
 
1342
- const FileLawsuitQuestions = () => group(
1343
- 'FileLawsuitQuestions',
1344
- {
1345
- if: '$get(Type_Of_Legal_Problem).value == "File a Lawsuit"',
1346
- children: [
1347
- haveAttorney(),
1348
- lawsuitOtherParty(),
1349
- degreeOfInterestHelp()
1350
- ]
1351
- }
1352
- );
1353
-
1354
- const DefendLawsuitQuestions = () => group(
1355
- 'DefendLawsuitQuestions',
1356
- {
1357
- if: '$get(Type_Of_Legal_Problem).value == "Defend a Lawsuit"',
1358
- children: [
1359
- haveAttorney(),
1360
- lawsuitOtherParty(),
1361
- degreeOfInterestHelp()
1362
- ]
1363
- }
1364
- );
1365
-
1366
- const ConsumerLawyersQuestions = () => group(
1367
- 'ConsumerLawyersQuestions',
1368
- {
1369
- if: '$get(Type_Of_Legal_Problem).value == "Consumer Lawyers"',
1370
- children: [
1371
- consumerLawyerType(),
1372
- incidentDate(),
1373
- haveAttorney(),
1374
- lawsuitOtherParty(),
1375
- degreeOfInterestHelp()
1376
- ]
1377
- }
1378
- );
1379
-
1380
917
  const DivorceQuestions = (condition, scope) => group(
1381
918
  'DivorceQuestions',
1382
919
  {
1383
920
  if: (condition || '$get(Type_Of_Legal_Problem).value == "Divorce and Separation"'),
1384
921
  children: [
1385
- haveAttorney(scope),
922
+ haveAttorney$1(scope),
1386
923
  maritalStatus(scope),
1387
924
  haveChildren(scope),
1388
- degreeOfInterest(scope),
925
+ degreeOfInterest$1(scope),
1389
926
  lawyerPaymentMethod(scope)
1390
927
  ]
1391
928
  }
@@ -1396,8 +933,8 @@ const DUIAndDWIQuestions = (condition, scope) => group(
1396
933
  {
1397
934
  if: (condition || '$get(Type_Of_Legal_Problem).value == "DUI and DWI"'),
1398
935
  children: [
1399
- haveAttorney(scope),
1400
- incidentDate(scope),
936
+ haveAttorney$1(scope),
937
+ incidentDate$1(scope),
1401
938
  priorAlcoholOffenses(scope),
1402
939
  typeOfAlcoholTest(scope),
1403
940
  bloodContentAlcoholTest(scope),
@@ -1407,45 +944,17 @@ const DUIAndDWIQuestions = (condition, scope) => group(
1407
944
  }
1408
945
  );
1409
946
 
1410
- const EmploymentAndWorkplaceQuestions = () => group(
1411
- 'EmploymentAndWorkplaceQuestions',
1412
- {
1413
- if: '$get(Type_Of_Legal_Problem).value == "Employment and Workplace"',
1414
- children: [
1415
- haveAttorney(),
1416
- numEmployeesOfBusiness(),
1417
- employerType(),
1418
- degreeOfInterestHelp()
1419
- ]
1420
- }
1421
- );
1422
-
1423
- const MedicalMalpracticeQuestions = () => group(
1424
- 'MedicalMalpracticeQuestions',
1425
- {
1426
- if: '$get(Type_Of_Legal_Problem).value == "Medical Malpractice"',
1427
- children: [
1428
- haveAttorney(),
1429
- incidentDate(),
1430
- claimStatus(),
1431
- doctorTreatment(),
1432
- medicalMalpracticeInjuries(),
1433
- degreeOfInterestHelp()
1434
- ]
1435
- }
1436
- );
1437
-
1438
947
  const PersonalInjuryQuestions = (condition, scope) => group(
1439
948
  'PersonalInjuryQuestions',
1440
949
  {
1441
950
  if: (condition || '$get(Type_Of_Legal_Problem).value == "Personal Injury"'),
1442
951
  children: [
1443
- haveAttorney(scope),
1444
- incidentDate(scope),
1445
- claimStatus(scope),
1446
- atFault(scope),
1447
- primaryInjury(scope),
1448
- doctorTreatment(scope)
952
+ haveAttorney$1(scope),
953
+ incidentDate$1(scope),
954
+ claimStatus$1(scope),
955
+ atFault$1(scope),
956
+ primaryInjury$1(scope),
957
+ doctorTreatment$1(scope)
1449
958
  ]
1450
959
  }
1451
960
  );
@@ -1455,49 +964,23 @@ const PowerofAttorneyQuestions = (condition, scope) => group(
1455
964
  {
1456
965
  if: (condition || '$get(Type_Of_Legal_Problem).value == "Power of Attorney"'),
1457
966
  children: [
1458
- haveAttorney(scope),
967
+ haveAttorney$1(scope),
1459
968
  degreeOfInterestHelp(scope)
1460
969
  ]
1461
970
  }
1462
971
  );
1463
972
 
1464
- const PropertyDamageQuestions = () => group(
1465
- 'PropertyDamageQuestions',
1466
- {
1467
- if: '$get(Type_Of_Legal_Problem).value == "Property Damage"',
1468
- children: [
1469
- haveAttorney(),
1470
- realEstateArea(),
1471
- wouldLikeLawyerTo(),
1472
- degreeOfInterestHelp()
1473
- ]
1474
- }
1475
- );
1476
-
1477
- const RealEstateQuestions = () => group(
1478
- 'RealEstateQuestions',
1479
- {
1480
- if: '$get(Type_Of_Legal_Problem).value == "Real Estate"',
1481
- children: [
1482
- haveAttorney(),
1483
- realEstateArea(),
1484
- wouldLikeLawyerTo(),
1485
- degreeOfInterestHelp()
1486
- ]
1487
- }
1488
- );
1489
-
1490
973
  const SocialSecurityDisabilityAndInsuranceQuestions = (condition, scope) => group(
1491
974
  'SocialSecurityDisabilityAndInsuranceQuestions',
1492
975
  {
1493
976
  if: (condition || '$get(Type_Of_Legal_Problem).value == "Social Security Disability and Insurance"'),
1494
977
  children: [
1495
- haveAttorney(scope),
978
+ haveAttorney$1(scope),
1496
979
  applicantAge(scope),
1497
980
  disabilityConditionStopWork(scope),
1498
981
  disabilityWorkHistory(scope),
1499
982
  socialSecurityDisabilityReceivingBenefits(scope),
1500
- doctorTreatment(scope)
983
+ doctorTreatment$1(scope)
1501
984
  ]
1502
985
  }
1503
986
  );
@@ -1507,7 +990,7 @@ const WillsAndTrustsQuestions = (condition, scope) => group(
1507
990
  {
1508
991
  if: (condition || '$get(Type_Of_Legal_Problem).value == "Wills and Trusts"'),
1509
992
  children: [
1510
- haveAttorney(scope),
993
+ haveAttorney$1(scope),
1511
994
  valueOfAssets(scope),
1512
995
  typeOfAssets(scope),
1513
996
  roleInMatterProbate(scope),
@@ -1522,23 +1005,12 @@ const WorkersCompensationQuestions = (condition, scope) => group(
1522
1005
  {
1523
1006
  if: (condition || '$get(Type_Of_Legal_Problem).value == "Workers Compensation"'),
1524
1007
  children: [
1525
- haveAttorney(scope),
1526
- incidentDate(scope),
1527
- claimStatus(scope),
1528
- primaryInjury(scope),
1008
+ haveAttorney$1(scope),
1009
+ incidentDate$1(scope),
1010
+ claimStatus$1(scope),
1011
+ primaryInjury$1(scope),
1529
1012
  causeOfInjury(scope),
1530
- doctorTreatment(scope)
1531
- ]
1532
- }
1533
- );
1534
-
1535
- const NotSureOrOtherQuestions = () => group(
1536
- 'NotSureOrOtherQuestions',
1537
- {
1538
- if: '$get(Type_Of_Legal_Problem).value == "Not Sure or Other"',
1539
- children: [
1540
- haveAttorney(),
1541
- degreeOfInterestHelp()
1013
+ doctorTreatment$1(scope)
1542
1014
  ]
1543
1015
  }
1544
1016
  );
@@ -1568,15 +1040,42 @@ const findLastInput = (n) => {
1568
1040
  return null
1569
1041
  };
1570
1042
 
1571
- function questionsStepHeadline(updates) {
1572
- return {
1573
- $el: 'h3',
1574
- children: updates.headline || 'Tell Us About Your Situation',
1575
- attrs: {
1576
- class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1'
1577
- }
1578
- }
1579
- }
1043
+ const secureIconDefault = {
1044
+ $el: 'div',
1045
+ if: '$activeStep === $lastStep()',
1046
+ attrs: {
1047
+ class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
1048
+ },
1049
+ children: [
1050
+ {
1051
+ $el: 'img',
1052
+ attrs: {
1053
+ loading: 'lazy',
1054
+ alt: '',
1055
+ style: {
1056
+ border: 0
1057
+ },
1058
+ width: '25',
1059
+ height: '25',
1060
+ src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
1061
+ }
1062
+ },
1063
+ {
1064
+ $el: 'span',
1065
+ children: 'Secure & Encrypted',
1066
+ attrs: {
1067
+ class: 't-pl-2 t-pt-1 t-font-medium'
1068
+ }
1069
+ }
1070
+ ]
1071
+ };
1072
+
1073
+ function secureIcon(updates) {
1074
+ return merge(
1075
+ secureIconDefault,
1076
+ updates
1077
+ )
1078
+ }
1580
1079
 
1581
1080
  function crossSellQuestionsStepHeadline(updates) {
1582
1081
  return {
@@ -1598,6 +1097,26 @@ function crossSellQuestionsStepSubHeadline(updates) {
1598
1097
  }
1599
1098
  }
1600
1099
 
1100
+ function verticalStepHeadline(updates) {
1101
+ return {
1102
+ $el: 'h3',
1103
+ children: updates.headline || 'Tell Us About Your Situation',
1104
+ attrs: {
1105
+ class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-dark t-pb-5 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
1106
+ }
1107
+ }
1108
+ }
1109
+
1110
+ function verticalStepSubHeadline(updates) {
1111
+ return {
1112
+ $el: 'h5',
1113
+ children: updates.subheadline || '',
1114
+ attrs: {
1115
+ class: 't-flex t-justify-center t-text-center !t-text-lg t-font-normal t-text-dark t-pb-5 t-pt-0 t-px-1' + ' ' + (updates.subheadlineClass || '')
1116
+ }
1117
+ }
1118
+ }
1119
+
1601
1120
  function commentsStepHeadline(updates) {
1602
1121
  return {
1603
1122
  $el: 'h3',
@@ -1638,466 +1157,1608 @@ function contactStepHeadline(updates) {
1638
1157
  }
1639
1158
  }
1640
1159
 
1641
- function contactStepSubHeadline(updates) {
1642
- return {
1643
- $el: 'h5',
1644
- children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC,
1645
- attrs: {
1646
- class: 't-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3' + ' ' + (updates.subheadlineClass || '')
1647
- }
1648
- }
1649
- }
1160
+ function contactStepSubHeadline(updates) {
1161
+ return {
1162
+ $el: 'h5',
1163
+ children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC,
1164
+ attrs: {
1165
+ class: 't-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3' + ' ' + (updates.subheadlineClass || '')
1166
+ }
1167
+ }
1168
+ }
1169
+
1170
+ const TRUSTED_FORM_JS = `(function() {
1171
+ if (window.xxTrustedFormLoaded) {
1172
+ return
1173
+ }
1174
+ var vid = '';
1175
+ if (typeof window.zar !== 'undefined') {
1176
+ vid = window.zar.getVID();
1177
+ }
1178
+ window.xxTrustedFormLoaded = true;
1179
+ var sandbox = document.location.hostname.indexOf('localhost') > -1 ? 'true' : 'false'
1180
+ var tf = document.createElement('script');
1181
+ tf.type = 'text/javascript'; tf.async = true;
1182
+ tf.src = ("https:" == document.location.protocol ? 'https' : 'http') + "://api.trustedform.com/trustedform.js?field=xxTrustedFormCertUrl&identifier=" + vid + "&ping_field=xxTrustedFormPingUrl&provideReferrer=false&invert_field_sensitivity=true&sandbox=" + sandbox + "&l=" + new Date().getTime() + Math.random();
1183
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(tf, s);
1184
+ })();`;
1185
+
1186
+ function trustedFormScript() {
1187
+ return {
1188
+ $el: 'script',
1189
+ if: '$activeStep === $lastStep()',
1190
+ children: TRUSTED_FORM_JS
1191
+ }
1192
+ }
1193
+
1194
+ const stepDefaults = (step, stepKey) => ({
1195
+ $el: 'section',
1196
+ if: '$stepEnabled("' + step + '")',
1197
+ attrs: {
1198
+ hidden: '$activeStep !== "' + step + '"',
1199
+ key: stepKey ? stepKey : step
1200
+ }
1201
+ });
1202
+
1203
+ function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = undefined, nextStepMap = undefined, autoFocus = undefined) {
1204
+ if (typeof nextOnEnter === 'undefined') {
1205
+ nextOnEnter = true;
1206
+ }
1207
+ if (inputs && inputs.length && (nextOnEnter || nextOnInput)) {
1208
+ const lastInput = findLastInput(inputs[inputs.length - 1]);
1209
+ if (lastInput && nextOnEnter === true) {
1210
+ lastInput.onKeypress = NEXT_ON_ENTER;
1211
+ }
1212
+ if (lastInput && nextOnInput === true) {
1213
+ lastInput.onInput = NEXT_ON_INPUT;
1214
+ }
1215
+ }
1216
+
1217
+ return merge(
1218
+ stepDefaults(name, stepKey),
1219
+ {
1220
+ children: [
1221
+ {
1222
+ $formkit: 'group',
1223
+ id: name,
1224
+ name: name,
1225
+ nextStepMap: nextStepMap,
1226
+ autoFocus: autoFocus,
1227
+ children: inputs
1228
+ }
1229
+ ]
1230
+ }
1231
+ )
1232
+ }
1233
+
1234
+ // Single question step
1235
+ function sqstep(name, input, defaultHeadline, updates = {}) {
1236
+ return step(
1237
+ name,
1238
+ [
1239
+ verticalStepHeadline({ headline: updates.headline ?? defaultHeadline, headlineClass: updates.headlineClass }),
1240
+ ...Array.isArray(input) ? input : [input],
1241
+ ],
1242
+ updates.nextOnEnter,
1243
+ typeof updates.nextOnInput === 'undefined' ? true : updates.nextOnInput,
1244
+ updates.stepKey,
1245
+ updates.nextStepMap
1246
+ )
1247
+ }
1248
+
1249
+ function commentsWithBankruptcy(updates = {}) {
1250
+ return step(
1251
+ 'commentsWithBankruptcy',
1252
+ [
1253
+ commentsStepHeadline(updates),
1254
+ comments({
1255
+ label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
1256
+ placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1257
+ inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
1258
+ }),
1259
+ bankruptcyCrossSell(),
1260
+ {
1261
+ $el: 'div',
1262
+ if: '$get(CrossSell_Bankruptcy).value == true',
1263
+ children: [
1264
+ comments({
1265
+ label: 'Bankruptcy or debt details:',
1266
+ placeholder: 'Please describe your bankrtupcy or debt situation in a few words...',
1267
+ inputClass: '!t-h-16'
1268
+ }, 'CrossSell:Bankruptcy')
1269
+ ],
1270
+ }
1271
+ ],
1272
+ false // nextOnEnter
1273
+ )
1274
+ }
1275
+
1276
+ function contactInfo(updates = {}) {
1277
+ return step(
1278
+ 'contactInfo',
1279
+ [
1280
+ contactStepHeadline(updates),
1281
+ contactStepSubHeadline(updates),
1282
+ trustedFormScript(),
1283
+ email(),
1284
+ phone(),
1285
+ TCPAConsent(),
1286
+ secureIcon()
1287
+ ],
1288
+ false, // nextOnEnter
1289
+ )
1290
+ }
1291
+
1292
+ function firstAndLastV3(updates = {}) {
1293
+ return step(
1294
+ 'firstAndLast',
1295
+ [
1296
+ firstAndLastStepHeadline({
1297
+ headline: updates.headline ?? 'Who is looking for help?',
1298
+ headlineClass: updates.headlineClass
1299
+ }),
1300
+ verticalStepSubHeadline({
1301
+ subheadline: updates.subheadline ?? 'Note: we never share info without consent',
1302
+ subheadlineClass: '!t-text-sm !t-text-gray-500'
1303
+ }),
1304
+ firstName(),
1305
+ lastName()
1306
+ ],
1307
+ updates.nextOnEnter
1308
+ )
1309
+ }
1310
+
1311
+
1312
+ function autoAndCarAccidentCrossSellQuestions(updates = {}) {
1313
+ return step(
1314
+ 'autoAndCarAccidentCrossSellQuestions',
1315
+ [
1316
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1317
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your accident:' }),
1318
+ AutoAndCarAccidentsQuestions("true", 'CrossSell:Auto_and_Car_Accidents'),
1319
+ comments(
1320
+ {
1321
+ label: 'Accident Description:',
1322
+ placeholder: 'Please describe your accident in a few words...',
1323
+ inputClass: '!t-h-16'
1324
+ },
1325
+ 'CrossSell:Auto_and_Car_Accidents'
1326
+ )
1327
+ ],
1328
+ updates.nextOnEnter
1329
+ )
1330
+ }
1331
+
1332
+ function childCustodyCrossSellQuestions(updates = {}) {
1333
+ return step(
1334
+ 'childCustodyCrossSellQuestions',
1335
+ [
1336
+ crossSellQuestionsStepHeadline({ headline: 'Child Custody Information' }),
1337
+ ChildCustodyQuestions("true", 'CrossSell:Child_Custody'),
1338
+ comments(
1339
+ {
1340
+ label: 'Description:',
1341
+ placeholder: 'Please describe your situation in a few words...',
1342
+ inputClass: '!t-h-16'
1343
+ },
1344
+ 'CrossSell:Child_Custody'
1345
+ )
1346
+ ],
1347
+ updates.nextOnEnter
1348
+ )
1349
+ }
1350
+
1351
+ function divorceAndSeparationCrossSellQuestions(updates = {}) {
1352
+ return step(
1353
+ 'divorceAndSeparationCrossSellQuestions',
1354
+ [
1355
+ crossSellQuestionsStepHeadline({ headline: 'Divorce or Separation Information' }),
1356
+ DivorceQuestions("true", 'CrossSell:Divorce_and_Separation'),
1357
+ comments(
1358
+ {
1359
+ label: 'Description:',
1360
+ placeholder: 'Please describe your situation in a few words...',
1361
+ inputClass: '!t-h-16'
1362
+ },
1363
+ 'CrossSell:Divorce_and_Separation'
1364
+ )
1365
+ ],
1366
+ updates.nextOnEnter
1367
+ )
1368
+ }
1369
+
1370
+ function duiAndDWICrossSellQuestions(updates = {}) {
1371
+ return step(
1372
+ 'duiAndDWICrossSellQuestions',
1373
+ [
1374
+ crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
1375
+ DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
1376
+ comments(
1377
+ {
1378
+ label: 'Incident Description:',
1379
+ placeholder: 'Please describe your incident in a few words...',
1380
+ inputClass: '!t-h-16'
1381
+ },
1382
+ 'CrossSell:DUI_and_DWI'
1383
+ )
1384
+ ],
1385
+ updates.nextOnEnter
1386
+ )
1387
+ }
1388
+
1389
+ function ssdiCrossSellQuestions(updates = {}) {
1390
+ return step(
1391
+ 'ssdiCrossSellQuestions',
1392
+ [
1393
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1394
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
1395
+ SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
1396
+ comments(
1397
+ {
1398
+ label: 'Description:',
1399
+ placeholder: 'Please describe your situation in a few words...',
1400
+ inputClass: '!t-h-16'
1401
+ },
1402
+ 'CrossSell:Social_Security_Disability_and_Insurance'
1403
+ )
1404
+ ],
1405
+ updates.nextOnEnter
1406
+ )
1407
+ }
1408
+
1409
+ function personalInjuryCrossSellQuestions(updates = {}) {
1410
+ return step(
1411
+ 'personalInjuryCrossSellQuestions',
1412
+ [
1413
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1414
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1415
+ PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
1416
+ comments(
1417
+ {
1418
+ label: 'Injury Description:',
1419
+ placeholder: 'Please describe your injury in a few words...',
1420
+ inputClass: '!t-h-16'
1421
+ },
1422
+ 'CrossSell:Personal_Injury'
1423
+ )
1424
+ ],
1425
+ updates.nextOnEnter
1426
+ )
1427
+ }
1428
+
1429
+ function powerOfAttorneyCrossSellQuestions(updates = {}) {
1430
+ return step(
1431
+ 'powerOfAttorneyCrossSellQuestions',
1432
+ [
1433
+ crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
1434
+ PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
1435
+ comments(
1436
+ {
1437
+ label: 'Description:',
1438
+ placeholder: 'Please describe your situation in a few words...',
1439
+ inputClass: '!t-h-16'
1440
+ },
1441
+ 'CrossSell:Power_of_Attorney'
1442
+ )
1443
+ ],
1444
+ updates.nextOnEnter
1445
+ )
1446
+ }
1447
+
1448
+ function willsAndTrustsCrossSellQuestions(updates = {}) {
1449
+ return step(
1450
+ 'willsAndTrustsCrossSellQuestions',
1451
+ [
1452
+ crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
1453
+ WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
1454
+ comments(
1455
+ {
1456
+ label: 'Description:',
1457
+ placeholder: 'Please describe your situation in a few words...',
1458
+ inputClass: '!t-h-16'
1459
+ },
1460
+ 'CrossSell:Wills_and_Trusts'
1461
+ )
1462
+ ],
1463
+ updates.nextOnEnter
1464
+ )
1465
+ }
1466
+
1467
+ function workersCompensationCrossSellQuestions(updates = {}) {
1468
+ return step(
1469
+ 'workersCompensationCrossSellQuestions',
1470
+ [
1471
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1472
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1473
+ WorkersCompensationQuestions("true", 'CrossSell:Workers_Compensation'),
1474
+ comments(
1475
+ {
1476
+ label: 'Injury Description:',
1477
+ placeholder: 'Please describe your injury in a few words...',
1478
+ inputClass: '!t-h-16'
1479
+ },
1480
+ 'CrossSell:Workers_Compensation'
1481
+ )
1482
+ ],
1483
+ updates.nextOnEnter
1484
+ )
1485
+ }
1486
+
1487
+ function legalCrossSells(updates = {}) {
1488
+ return step(
1489
+ 'legalCrossSells',
1490
+ [
1491
+ legalCrossSellsStepHeadline(updates),
1492
+ legalCrossSells$1(),
1493
+ ],
1494
+ updates.nextOnEnter,
1495
+ false,
1496
+ // Note: we should probably scope this stepKey to this step name
1497
+ '$get(Type_Of_Legal_Problem).value'
1498
+ )
1499
+ }
1500
+
1501
+ function zipcode(updates = {}) {
1502
+ return sqstep(
1503
+ 'zipcode',
1504
+ zipcodeCenter(),
1505
+ 'Please verify your Zip Code',
1506
+ updates
1507
+ )
1508
+ }
1509
+
1510
+ function civilLawsuitTOLP(updates = {}) {
1511
+ return step(
1512
+ 'civilLawsuitTOLP',
1513
+ [
1514
+ civilLawsuitTOLPCenter(),
1515
+ ],
1516
+ updates.nextOnEnter,
1517
+ updates.nextOnInput,
1518
+ updates.stepKey,
1519
+ updates.nextStepMap
1520
+ )
1521
+ }
1522
+
1523
+ function civilLawsuitTOLPDisplay(updates = {}) {
1524
+ return sqstep(
1525
+ 'civilLawsuitTOLPDisplay',
1526
+ civilLawsuitTOLPDisplayCenter(),
1527
+ 'What type of lawsuit would you like to file?',
1528
+ updates
1529
+ )
1530
+ }
1531
+
1532
+ function haveAttorney(updates = {}) {
1533
+ return sqstep(
1534
+ 'haveAttorney',
1535
+ haveAttorneyCenter(),
1536
+ 'Already working with an attorney?',
1537
+ updates
1538
+ )
1539
+ }
1540
+
1541
+ function degreeOfInterest(updates = {}) {
1542
+ return sqstep(
1543
+ 'degreeOfInterest',
1544
+ degreeOfInterestCenter(),
1545
+ 'Could you pay if your issue could be resolved?',
1546
+ updates
1547
+ )
1548
+ }
1549
+
1550
+ function incidentDate(updates = {}) {
1551
+ return sqstep(
1552
+ 'incidentDate',
1553
+ incidentDateCenter(),
1554
+ 'When did the incident occur?',
1555
+ updates
1556
+ )
1557
+ }
1558
+
1559
+ function doctorTreatment(updates = {}) {
1560
+ return sqstep(
1561
+ 'doctorTreatment',
1562
+ doctorTreatmentCenter(),
1563
+ 'Have you seen a doctor about this?',
1564
+ updates
1565
+ )
1566
+ }
1567
+
1568
+ function medicalMalpracticeInjuries(updates = {}) {
1569
+ return sqstep(
1570
+ 'medicalMalpracticeInjuries',
1571
+ medicalMalpracticeInjuriesCenter(),
1572
+ 'What injuries did you suffer?',
1573
+ updates
1574
+ )
1575
+ }
1576
+
1577
+ function atFault(updates = {}) {
1578
+ return sqstep(
1579
+ 'atFault',
1580
+ atFaultCenter(),
1581
+ 'Were you at fault?',
1582
+ updates
1583
+ )
1584
+ }
1585
+
1586
+ function primaryInjury(updates = {}) {
1587
+ return sqstep(
1588
+ 'primaryInjury',
1589
+ primaryInjuryCenter(),
1590
+ 'What was the primary injury?',
1591
+ updates
1592
+ )
1593
+ }
1594
+
1595
+ function policeReportFiled(updates = {}) {
1596
+ return sqstep(
1597
+ 'policeReportFiled',
1598
+ policeReportFiledCenter(),
1599
+ 'Was a police report filed?',
1600
+ updates
1601
+ )
1602
+ }
1603
+
1604
+ function businessServices(updates = {}) {
1605
+ return sqstep(
1606
+ 'businessServices',
1607
+ businessServicesCenter(),
1608
+ 'What legal services do you need?',
1609
+ updates
1610
+ )
1611
+ }
1612
+
1613
+ function businessType(updates = {}) {
1614
+ return sqstep(
1615
+ 'businessType',
1616
+ businessTypeCenter(),
1617
+ 'Is the business public or private?',
1618
+ updates
1619
+ )
1620
+ }
1621
+
1622
+ function employerType(updates = {}) {
1623
+ return sqstep(
1624
+ 'employerType',
1625
+ employerTypeCenter(),
1626
+ 'What type of employer is it?',
1627
+ updates
1628
+ )
1629
+ }
1630
+
1631
+ function employeeAtCompany(updates = {}) {
1632
+ return sqstep(
1633
+ 'employeeAtCompany',
1634
+ employeeAtCompanyCenter(),
1635
+ 'Do you/they still work at the company?',
1636
+ updates
1637
+ )
1638
+ }
1639
+
1640
+ function numEmployeesOfBusiness(updates = {}) {
1641
+ return sqstep(
1642
+ 'numEmployeesOfBusiness',
1643
+ numEmployeesOfBusinessCenter(),
1644
+ 'How many employees does the business have?',
1645
+ updates
1646
+ )
1647
+ }
1648
+
1649
+ function lawsuitOtherParty(updates = {}) {
1650
+ return sqstep(
1651
+ 'lawsuitOtherParty',
1652
+ lawsuitOtherPartyCenter(),
1653
+ 'What describes the other party in the lawsuit?',
1654
+ updates
1655
+ )
1656
+ }
1657
+
1658
+ function consumerLawyerType(updates = {}) {
1659
+ return sqstep(
1660
+ 'consumerLawyerType',
1661
+ consumerLawyerTypeCenter(),
1662
+ 'What best describes your issue?',
1663
+ updates
1664
+ )
1665
+ }
1666
+
1667
+ function claimStatus(updates = {}) {
1668
+ return sqstep(
1669
+ 'claimStatus',
1670
+ claimStatusCenter(),
1671
+ 'What is the status of the claim?',
1672
+ updates
1673
+ )
1674
+ }
1675
+
1676
+ function realEstateArea(updates = {}) {
1677
+ return sqstep(
1678
+ 'realEstateArea',
1679
+ realEstateAreaCenter(),
1680
+ 'What area of real estate?',
1681
+ updates
1682
+ )
1683
+ }
1684
+
1685
+ function wouldLikeLawyerTo(updates = {}) {
1686
+ return sqstep(
1687
+ 'wouldLikeLawyerTo',
1688
+ wouldLikeLawyerToCenter(),
1689
+ 'I would like the lawyer to:',
1690
+ updates
1691
+ )
1692
+ }
1693
+
1694
+ // ------ Common
1695
+
1696
+ const formNavigation = () => ({
1697
+ $el: 'div',
1698
+ attrs: {
1699
+ class: 'step-nav'
1700
+ },
1701
+ children: [
1702
+ {
1703
+ $formkit: 'button',
1704
+ name: 'back_button',
1705
+ onClick: '$setPreviousStep($prevStepFunc($get(form)))',
1706
+ children: 'Back',
1707
+ style: {
1708
+ if: '$activeStep === $firstStep()',
1709
+ then: 'visibility: hidden;'
1710
+ }
1711
+ },
1712
+ {
1713
+ $formkit: 'button',
1714
+ name: 'next_button',
1715
+ onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
1716
+ children: {
1717
+ if: '$activeStep === $firstStep()',
1718
+ then: 'Start',
1719
+ else: 'Next'
1720
+ },
1721
+ outerClass: {
1722
+ if: '$activeStep === $lastStep()',
1723
+ then: 't-hidden',
1724
+ else: ''
1725
+ },
1726
+ style: {
1727
+ if: '$activeStep === $lastStep()',
1728
+ then: 'display: none;'
1729
+ }
1730
+ },
1731
+ {
1732
+ $formkit: 'submit',
1733
+ name: 'submit_button',
1734
+ label: 'Submit',
1735
+ if: '$activeStep === $lastStep()',
1736
+ style: {
1737
+ if: '$activeStep !== $lastStep()',
1738
+ then: 'display: none;'
1739
+ }
1740
+ }
1741
+ ]
1742
+ });
1743
+
1744
+ const formDetails = () => ({
1745
+ $el: 'pre',
1746
+ if: '$urlParam("fdbg", "") == 1',
1747
+ children: [
1748
+ {
1749
+ $el: 'pre',
1750
+ children: '$stringify( $get(form).value )',
1751
+ attrs: {
1752
+ class: 't-text-xs',
1753
+ style: 'overflow: scroll'
1754
+ }
1755
+ },
1756
+ {
1757
+ $el: 'pre',
1758
+ children: ['activeStep: ', '$activeStep'],
1759
+ attrs: {
1760
+ class: 't-text-xs',
1761
+ style: 'overflow: scroll'
1762
+ }
1763
+ },
1764
+ {
1765
+ $el: 'pre',
1766
+ children: ['stepHistory: ', '$stepHistory'],
1767
+ attrs: {
1768
+ class: 't-text-xs',
1769
+ style: 'overflow: scroll'
1770
+ }
1771
+ },
1772
+ {
1773
+ $el: 'pre',
1774
+ children: ['stepQueue: ', '$stepQueue'],
1775
+ attrs: {
1776
+ class: 't-text-xs',
1777
+ style: 'overflow: scroll'
1778
+ }
1779
+ },
1780
+ {
1781
+ $el: 'pre',
1782
+ children: ['steps: ', '$stepKeys()'],
1783
+ attrs: {
1784
+ class: 't-text-xs',
1785
+ style: 'overflow: scroll'
1786
+ }
1787
+ }
1788
+ ]
1789
+ });
1790
+
1791
+ const formPropDefaults = {
1792
+ type: 'form',
1793
+ id: 'form',
1794
+ config: { validationVisibility: 'submit' },
1795
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
1796
+ plugins: '$plugins',
1797
+ actions: false,
1798
+ anchorElement: 'form-anchor',
1799
+ useLocalStorage: true,
1800
+ prepop: {
1801
+ fromURL: true
1802
+ },
1803
+ errorCodes: {
1804
+ 403: { message: "An Error Occurred", abort: false },
1805
+ 409: { abort: false },
1806
+ 429: "An Error Occurred",
1807
+ 504: { message: "An Error Occurred", abort: false },
1808
+ },
1809
+ formClass: '!t-max-w-[40rem]'
1810
+ };
1811
+
1812
+ function formProps(updates) {
1813
+ const props = merge(
1814
+ formPropDefaults,
1815
+ updates
1816
+ );
1817
+ if (props.formId && !props.name) {
1818
+ props.name = props.formId;
1819
+ }
1820
+ return props
1821
+ }
1822
+
1823
+ const metaDefaults = {
1824
+ tcpaLanguage: TCPA_LANGUAGE
1825
+ };
1826
+
1827
+ function metaProps(updates) {
1828
+ const data = merge(
1829
+ metaDefaults,
1830
+ updates
1831
+ );
1832
+ return {
1833
+ type: 'meta',
1834
+ data
1835
+ }
1836
+ }
1837
+
1838
+ function defaultMetaProps() {
1839
+ return metaProps({
1840
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1841
+ commentsPlaceholders: TOLPCommentsPlaceholders,
1842
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
1843
+ finalHeadlines: TOLPFinalHeadlines,
1844
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
1845
+ finalSubHeadlines: TOLPFinalSubHeadlines,
1846
+ })
1847
+ }
1848
+
1849
+ const dynamicSchemaNode = {
1850
+ $cmp: 'FormKitSchema',
1851
+ if: '$get(Type_Of_Legal_Problem).value',
1852
+ props: {
1853
+ schema: '$meta.dynamicSchema',
1854
+ data: '$buildData($meta)'
1855
+ }
1856
+ };
1857
+
1858
+ const formAnchorDefaults = {
1859
+ $el: 'div',
1860
+ children: [
1861
+ {
1862
+ $el: 'div',
1863
+ attrs: {
1864
+ id: 'form-anchor',
1865
+ class: 't-absolute',
1866
+ style: { top: '-30px', left: 0 }
1867
+ }
1868
+ }
1869
+ ],
1870
+ attrs: {
1871
+ class: 't-relative'
1872
+ }
1873
+ };
1874
+
1875
+ function formAnchor(updates) {
1876
+ return merge(
1877
+ formAnchorDefaults,
1878
+ updates
1879
+ )
1880
+ }
1881
+
1882
+ const progressBarDefaults = {
1883
+ $el: 'div',
1884
+ attrs: {
1885
+ class: 't-mt-7 t-mb-5 t-w-full t-flex t-flex-col t-justify-center t-items-center',
1886
+ style: {
1887
+ if: '$fns.eq($activeStep, $firstStep()) || $fns.eq($activeStep, $lastStep())',
1888
+ then: 'display: none'
1889
+ },
1890
+ },
1891
+ children: [
1892
+ {
1893
+ $el: 'div',
1894
+ attrs: {
1895
+ class: 't-flex t-justify-center'
1896
+ },
1897
+ children: [
1898
+ {
1899
+ $el: 'span',
1900
+ attrs: {
1901
+ id: 'progress-bar-text',
1902
+ class: 't-text-sm t-mb-1'
1903
+ },
1904
+ children: [
1905
+ "0% Complete"
1906
+ ]
1907
+ },
1908
+ ]
1909
+ },
1910
+ {
1911
+ $el: 'div',
1912
+ attrs: {
1913
+ class: 't-bg-gray-100 t-w-9/12 t-rounded'
1914
+ },
1915
+ children: [
1916
+ {
1917
+ $el: 'div',
1918
+ attrs: {
1919
+ id: 'progress-bar',
1920
+ 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]',
1921
+ style: {
1922
+ transition: 'width 0.5s ease'
1923
+ },
1924
+ },
1925
+ }
1926
+ ]
1927
+ }
1928
+ ]
1929
+ };
1930
+
1931
+ function progressBar(updates) {
1932
+ return merge(
1933
+ progressBarDefaults,
1934
+ updates
1935
+ )
1936
+ }
1937
+
1938
+ function headlineDefaults(updates = {}) {
1939
+ return {
1940
+ $el: 'h1',
1941
+ attrs: {
1942
+ 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 || '')
1943
+ }
1944
+ }
1945
+ }
1946
+
1947
+ function headline(updates = {}) {
1948
+ return merge(
1949
+ headlineDefaults(updates),
1950
+ updates
1951
+ )
1952
+ }
1953
+
1954
+ function subHeadlineDefaults(updates = {}) {
1955
+ return {
1956
+ $el: 'h3',
1957
+ attrs: {
1958
+ 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 || '')
1959
+ }
1960
+ }
1961
+ }
1962
+
1963
+ function subHeadline(updates = {}) {
1964
+ return merge(
1965
+ subHeadlineDefaults(updates),
1966
+ updates
1967
+ )
1968
+ }
1969
+
1970
+ function defaultSubHeadline() {
1971
+ return subHeadline({
1972
+ children: '$urlParam("shl", "Our Service is Fast and Free!")',
1973
+ if: '$activeStep === $firstStep()'
1974
+ })
1975
+ }
1976
+
1977
+ const hiddenInputsBase = [
1978
+ {
1979
+ $formkit: 'hidden',
1980
+ name: "gclid",
1981
+ value: null
1982
+ },
1983
+ {
1984
+ $formkit: 'hidden',
1985
+ name: "campaignid",
1986
+ value: null
1987
+ },
1988
+ {
1989
+ $formkit: 'hidden',
1990
+ name: "s",
1991
+ value: null
1992
+ }
1993
+ ];
1994
+
1995
+ const hiddenInputsLegal = [
1996
+ {
1997
+ $formkit: 'hidden',
1998
+ name: "vertical",
1999
+ value: "Legal"
2000
+ },
2001
+ {
2002
+ $formkit: 'hidden',
2003
+ name: "TCPA_Language",
2004
+ value: "$meta.tcpaLanguage"
2005
+ },
2006
+ ...hiddenInputsBase
2007
+ ];
2008
+
2009
+ const legalRedirectMapDefaults = {
2010
+ '*': LegalRedirectUrl()
2011
+ };
2012
+
2013
+
2014
+ function legalRedirectMap(updates) {
2015
+ return merge(
2016
+ legalRedirectMapDefaults,
2017
+ updates
2018
+ )
2019
+ }
2020
+
2021
+ const legalAllValueOverrideMap = {
2022
+ 'Civil_Defense': {
2023
+ 'Yes': {
2024
+ 'Type_Of_Legal_Problem': 'Defend a Lawsuit'
2025
+ },
2026
+ 'No': {
2027
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
2028
+ }
2029
+ },
2030
+ 'Type_Of_Legal_Problem_Display': {
2031
+ // Accidents and PI
2032
+ 'Auto Accident': {
2033
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2034
+ },
2035
+ 'Dog Bite': {
2036
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2037
+ },
2038
+ 'Slip and Fall': {
2039
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2040
+ },
2041
+ 'Workplace Injury': {
2042
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
2043
+ },
2044
+ 'Trucking Accident': {
2045
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2046
+ },
2047
+ 'Motorcycle Accident': {
2048
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents',
2049
+ },
2050
+ 'Other Accidents or Injuries': {
2051
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2052
+ },
2053
+ // Civil
2054
+ 'Automobile Accident': {
2055
+ 'Type_Of_Legal_Problem': 'Auto and Car Accidents'
2056
+ },
2057
+ 'Contract Disputes': {
2058
+ 'Type_Of_Legal_Problem': 'Business Lawyers'
2059
+ },
2060
+ 'Defamation and Slander': {
2061
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
2062
+ },
2063
+ 'Dog Bite': {
2064
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2065
+ },
2066
+ 'Employment and Workplace': {
2067
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
2068
+ },
2069
+ 'Fraud': {
2070
+ 'Type_Of_Legal_Problem': 'Consumer Lawyers'
2071
+ },
2072
+ 'Medical Malpractice': {
2073
+ 'Type_Of_Legal_Problem': 'Medical Malpractice'
2074
+ },
2075
+ 'Personal Injury': {
2076
+ 'Type_Of_Legal_Problem': 'Personal Injury'
2077
+ },
2078
+ 'Property Damage': {
2079
+ 'Type_Of_Legal_Problem': 'Property Damage'
2080
+ },
2081
+ 'Small Claims': {
2082
+ 'Type_Of_Legal_Problem': 'File a Lawsuit'
2083
+ },
2084
+ 'Real Estate': {
2085
+ 'Type_Of_Legal_Problem': 'Real Estate'
2086
+ },
2087
+ 'Other (describe on next page)': {
2088
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
2089
+ },
2090
+ // Contracts
2091
+ 'Contract Creation': {
2092
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2093
+ 'Business_Services': 'Contracts'
2094
+ },
2095
+ 'Contract Enforcement': {
2096
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2097
+ 'Business_Services': 'Contracts'
2098
+ },
2099
+ 'Contract Cancellation': {
2100
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2101
+ 'Business_Services': 'Contracts'
2102
+ },
2103
+ 'Contract Fraud': {
2104
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2105
+ 'Business_Services': 'Contracts'
2106
+ },
2107
+ 'Breach of Contract': {
2108
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2109
+ 'Business_Services': 'Contracts'
2110
+ },
2111
+ 'Other Contract Issues': {
2112
+ 'Type_Of_Legal_Problem': 'Business Lawyers',
2113
+ 'Business_Services': 'Contracts'
2114
+ },
2115
+ // Criminal
2116
+ 'Criminal Defense': {
2117
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
2118
+ },
2119
+ 'Victim of a Crime': {
2120
+ 'Type_Of_Legal_Problem': 'Victim of a Crime'
2121
+ },
2122
+ 'DUI and DWI': {
2123
+ 'Type_Of_Legal_Problem': 'DUI and DWI'
2124
+ },
2125
+ 'Expungement': {
2126
+ 'Type_Of_Legal_Problem': 'Expungement'
2127
+ },
2128
+ 'Harassment': {
2129
+ 'Type_Of_Legal_Problem': 'Criminal and Felony'
2130
+ },
2131
+ 'Not Sure or Other': {
2132
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
2133
+ },
2134
+ // Employment and Workplace
2135
+ 'Workplace Harassment': {
2136
+ 'Type_Of_Legal_Problem': 'Workplace Harassment'
2137
+ },
2138
+ 'Workplace Discrimination': {
2139
+ 'Type_Of_Legal_Problem': 'Workplace Discrimination'
2140
+ },
2141
+ 'Wrongful Termination': {
2142
+ 'Type_Of_Legal_Problem': 'Wrongful Termination'
2143
+ },
2144
+ 'Payment Disputes': {
2145
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
2146
+ },
2147
+ 'Workers Compensation': {
2148
+ 'Type_Of_Legal_Problem': 'Workers Compensation'
2149
+ },
2150
+ 'Unemployment': {
2151
+ 'Type_Of_Legal_Problem': 'Unemployment'
2152
+ },
2153
+ 'Other Workplace Issues': {
2154
+ 'Type_Of_Legal_Problem': 'Employment and Workplace'
2155
+ },
2156
+ // Malpractice
2157
+ 'Attorney Malpractice': {
2158
+ 'Type_Of_Legal_Problem': 'Civil Lawsuit'
2159
+ },
2160
+ 'Other Malpractice Issues': {
2161
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
2162
+ },
2163
+ // Repossession
2164
+ 'Vehicle Repossession': {
2165
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
2166
+ },
2167
+ 'Property Repossession': {
2168
+ 'Type_Of_Legal_Problem': 'Bankruptcy'
2169
+ },
2170
+ 'Other Repossession Issues': {
2171
+ 'Type_Of_Legal_Problem': 'Not Sure or Other'
2172
+ },
2173
+ // Real Estate
2174
+ 'Contracts and Agreements': {
2175
+ 'Type_Of_Legal_Problem': 'Real Estate'
2176
+ },
2177
+ 'Deeds, Liens, and Titles': {
2178
+ 'Type_Of_Legal_Problem': 'Real Estate'
2179
+ },
2180
+ 'Foreclosure': {
2181
+ 'Type_Of_Legal_Problem': 'Foreclosure'
2182
+ },
2183
+ 'Insurance': {
2184
+ 'Type_Of_Legal_Problem': 'Insurance'
2185
+ },
2186
+ 'Landlord and Tenant': {
2187
+ 'Type_Of_Legal_Problem': 'Landlord and Tenant',
2188
+ },
2189
+ 'Loans and Mortgages': {
2190
+ 'Type_Of_Legal_Problem': 'Real Estate',
2191
+ },
2192
+ 'Wills, Trusts, and Estates': {
2193
+ 'Type_Of_Legal_Problem': 'Wills and Trusts'
2194
+ },
2195
+ 'Property Damage': {
2196
+ 'Type_Of_Legal_Problem': 'Property Damage'
2197
+ },
2198
+ 'Other Real Estate Issues': {
2199
+ 'Type_Of_Legal_Problem': 'Real Estate'
2200
+ }
2201
+ }
2202
+ };
2203
+
2204
+ const TOLPCommentsPlaceholders = {
2205
+ 'Adoption': 'Example: "I need help with adoption forms"',
2206
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
2207
+ '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"',
2208
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
2209
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
2210
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
2211
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
2212
+ 'Child Custody': 'Example: "Need help getting custody"',
2213
+ 'Child Support': 'Example: "Issues with child support payments"',
2214
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
2215
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
2216
+ 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
2217
+ 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
2218
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
2219
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
2220
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
2221
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
2222
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
2223
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
2224
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
2225
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
2226
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
2227
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
2228
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
2229
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
2230
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
2231
+ 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
2232
+ 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
2233
+ 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
2234
+ 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
2235
+ 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
2236
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
2237
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
2238
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
2239
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
2240
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
2241
+ '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"',
2242
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
2243
+ 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
2244
+ 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
2245
+ 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
2246
+ 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
2247
+ 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
2248
+ 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
2249
+ 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
2250
+ '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"',
2251
+ 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
2252
+ 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
2253
+ 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
2254
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
2255
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
2256
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
2257
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
2258
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
2259
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
2260
+ };
2261
+
2262
+ const TOLPFinalHeadlines = {
2263
+ // 'Adoption': '',
2264
+ };
1650
2265
 
1651
- const TRUSTED_FORM_JS = `(function() {
1652
- if (window.xxTrustedFormLoaded) {
1653
- return
1654
- }
1655
- var vid = '';
1656
- if (typeof window.zar !== 'undefined') {
1657
- vid = window.zar.getVID();
1658
- }
1659
- window.xxTrustedFormLoaded = true;
1660
- var sandbox = document.location.hostname.indexOf('localhost') > -1 ? 'true' : 'false'
1661
- var tf = document.createElement('script');
1662
- tf.type = 'text/javascript'; tf.async = true;
1663
- tf.src = ("https:" == document.location.protocol ? 'https' : 'http') + "://api.trustedform.com/trustedform.js?field=xxTrustedFormCertUrl&identifier=" + vid + "&ping_field=xxTrustedFormPingUrl&provideReferrer=false&invert_field_sensitivity=true&sandbox=" + sandbox + "&l=" + new Date().getTime() + Math.random();
1664
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(tf, s);
1665
- })();`;
2266
+ const TOLPFinalSubHeadlines = {
2267
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
2268
+ // 'Asbestos and Mesothelioma': '',
2269
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
2270
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
2271
+ // 'Birth Certificate and Name Change': '',
2272
+ // 'Business Lawyers': '',
2273
+ // 'Child Custody and Support': '',
2274
+ // 'Civil Rights and Discrimination': '',
2275
+ // 'Civil Lawsuit': '',
2276
+ // 'Consumer Lawyers': '',
2277
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
2278
+ // 'Criminal and Felony': '',
2279
+ // 'Debt and Collections': '',
2280
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
2281
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
2282
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
2283
+ // 'Employment and Workplace': '',
2284
+ // 'Expungement': '',
2285
+ // 'Family Issues': '',
2286
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
2287
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
2288
+ // 'Harassment and Discrimination': '',
2289
+ // 'Identity Theft': '',
2290
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
2291
+ // 'Insurance': '',
2292
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
2293
+ // 'Lemon Law': '',
2294
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
2295
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
2296
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
2297
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
2298
+ // 'Power of Attorney': '',
2299
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
2300
+ // 'Product Liability': '',
2301
+ // 'Property Damage': '',
2302
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
2303
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
2304
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
2305
+ // 'Traffic and Tickets': '',
2306
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
2307
+ // 'Victim of a Crime': '',
2308
+ // 'Wills and Trusts': '',
2309
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
2310
+ // 'Wrongful Death': '',
2311
+ // 'Wrongful Termination': '',
2312
+ // 'Not Sure or Other': ''
2313
+ // 'Sexual Harassment': '',
2314
+ // 'Workplace Harassment': '',
2315
+ // 'Non-Workplace Harassment': '',
2316
+ // 'Workplace Discrimination': '',
2317
+ // 'Non-Workplace Discrimination': '',
2318
+ };
1666
2319
 
1667
- function trustedFormScript() {
1668
- return {
1669
- $el: 'script',
1670
- if: '$activeStep === $lastStep()',
1671
- children: TRUSTED_FORM_JS
1672
- }
1673
- }
2320
+ const nextStepsLegalDefault = [
2321
+ 'haveAttorney',
2322
+ 'degreeOfInterest',
2323
+ 'commentsWithBankruptcy',
2324
+ 'zipcode',
2325
+ 'legalCrossSells',
2326
+ 'firstAndLast',
2327
+ 'contactInfo',
2328
+ ];
1674
2329
 
1675
- const stepDefaults = (step, stepKey) => ({
1676
- $el: 'section',
1677
- if: '$stepEnabled("' + step + '")',
1678
- attrs: {
1679
- hidden: '$activeStep !== "' + step + '"',
1680
- key: stepKey ? stepKey : step
1681
- }
1682
- });
2330
+ const nextStepsLegalDefaultLPM = [
2331
+ 'haveAttorney',
2332
+ 'degreeOfInterest',
2333
+ 'lawyerPaymentMethod',
2334
+ 'commentsWithBankruptcy',
2335
+ 'zipcode',
2336
+ 'legalCrossSells',
2337
+ 'firstAndLast',
2338
+ 'contactInfo',
2339
+ ];
1683
2340
 
1684
- function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = undefined, nextStepMap = undefined, autoFocus = undefined) {
1685
- if (typeof nextOnEnter === 'undefined') {
1686
- nextOnEnter = true;
1687
- }
1688
- if (inputs && inputs.length && (nextOnEnter || nextOnInput)) {
1689
- const lastInput = findLastInput(inputs[inputs.length - 1]);
1690
- if (lastInput && nextOnEnter === true) {
1691
- lastInput.onKeypress = NEXT_ON_ENTER;
1692
- }
1693
- if (lastInput && nextOnInput === true) {
1694
- lastInput.onInput = NEXT_ON_INPUT;
1695
- }
1696
- }
2341
+ const nextStepsLegalNoDOI = [
2342
+ 'haveAttorney',
2343
+ 'commentsWithBankruptcy',
2344
+ 'zipcode',
2345
+ 'legalCrossSells',
2346
+ 'firstAndLast',
2347
+ 'contactInfo',
2348
+ ];
1697
2349
 
1698
- return merge(
1699
- stepDefaults(name, stepKey),
1700
- {
1701
- children: [
1702
- {
1703
- $formkit: 'group',
1704
- id: name,
1705
- name: name,
1706
- nextStepMap: nextStepMap,
1707
- autoFocus: autoFocus,
1708
- children: inputs
1709
- }
1710
- ]
1711
- }
1712
- )
1713
- }
2350
+ const nextStepsLegalNoHA = [
2351
+ 'degreeOfInterest',
2352
+ 'commentsWithBankruptcy',
2353
+ 'zipcode',
2354
+ 'legalCrossSells',
2355
+ 'firstAndLast',
2356
+ 'contactInfo',
2357
+ ];
1714
2358
 
1715
- function civilLawsuitTOLPAndZip(updates = {}) {
1716
- return step(
1717
- 'civilLawsuitTOLPAndZip',
1718
- [
1719
- {
1720
- $formkit: 'hidden',
1721
- name: "Type_Of_Legal_Problem",
1722
- id: "Type_Of_Legal_Problem",
1723
- value: "Civil Lawsuit"
1724
- },
1725
- civilDefense({
1726
- if: 'true'
1727
- }),
1728
- civilLawsuitTOLPDisplay({
1729
- if: '$get(Civil_Defense).value == "No"'
1730
- }),
1731
- zipcode()
2359
+ const nextStepsMapGeneralLegal = {
2360
+ 'Type_Of_Legal_Problem': {
2361
+ 'Adoption': [
2362
+ 'maritalStatus',
2363
+ 'haveChildren',
2364
+ ...nextStepsLegalDefaultLPM
1732
2365
  ],
1733
- updates.nextOnEnter
1734
- )
1735
- }
1736
-
1737
- function commentsWithBankruptcyV2(updates = {}) {
1738
- return step(
1739
- 'commentsWithBankruptcy',
1740
- [
1741
- commentsStepHeadline(updates),
1742
- comments({
1743
- label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
1744
- placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1745
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-40' : updates.inputClass,
1746
- }),
1747
- bankruptcyCrossSell(),
1748
- {
1749
- $el: 'div',
1750
- if: '$get(CrossSell_Bankruptcy).value == true',
1751
- children: [
1752
- comments({
1753
- label: 'Bankruptcy or debt details:',
1754
- placeholder: 'Please describe your bankrtupcy or debt situation in a few words...',
1755
- inputClass: '!t-h-16'
1756
- }, 'CrossSell:Bankruptcy')
1757
- ],
1758
- }
2366
+ 'Asbestos and Mesothelioma': [
2367
+ 'incidentDate',
2368
+ 'doctorTreatment',
2369
+ ...nextStepsLegalDefault
1759
2370
  ],
1760
- updates.nextOnEnter,
1761
- )
1762
- }
1763
-
1764
- function contactInfoV2(updates = {}) {
1765
- return step(
1766
- 'contactInfo',
1767
- [
1768
- contactStepHeadline(updates),
1769
- contactStepSubHeadline(updates),
1770
- // Added TF everywhere
1771
- trustedFormScript(),
1772
- email(),
1773
- phone(),
1774
- TCPAConsent(),
1775
- secureIcon()
2371
+ 'Auto and Car Accidents': [
2372
+ 'incidentDate',
2373
+ 'atFault',
2374
+ 'primaryInjury',
2375
+ 'doctorTreatment',
2376
+ 'policeReportFiled',
2377
+ ...nextStepsLegalNoDOI
1776
2378
  ],
1777
- updates.nextOnEnter
1778
- )
1779
- }
1780
-
1781
- function firstAndLastV2(updates = {}) {
1782
- return step(
1783
- 'firstAndLast',
1784
- [
1785
- firstAndLastStepHeadline(updates),
1786
- firstName(),
1787
- lastName()
2379
+ 'Bankruptcy': [
2380
+ 'totalMonthlyIncome',
2381
+ 'totalDebt',
2382
+ 'ownRealEstate',
2383
+ 'valueOfAssets',
2384
+ ...nextStepsLegalDefault
1788
2385
  ],
1789
- updates.nextOnEnter
1790
- )
1791
- }
1792
-
1793
-
1794
- function autoAndCarAccidentCrossSellQuestions(updates = {}) {
1795
- return step(
1796
- 'autoAndCarAccidentCrossSellQuestions',
1797
- [
1798
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1799
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your accident:' }),
1800
- AutoAndCarAccidentsQuestions("true", 'CrossSell:Auto_and_Car_Accidents'),
1801
- comments(
1802
- {
1803
- label: 'Accident Description:',
1804
- placeholder: 'Please describe your accident in a few words...',
1805
- inputClass: '!t-h-16'
1806
- },
1807
- 'CrossSell:Auto_and_Car_Accidents'
1808
- )
2386
+ 'Business Lawyers': [
2387
+ 'businessServices',
2388
+ 'businessType',
2389
+ 'numEmployeesOfBusiness',
2390
+ ...nextStepsLegalDefault
1809
2391
  ],
1810
- updates.nextOnEnter
1811
- )
1812
- }
1813
-
1814
- function childCustodyCrossSellQuestions(updates = {}) {
1815
- return step(
1816
- 'childCustodyCrossSellQuestions',
1817
- [
1818
- crossSellQuestionsStepHeadline({ headline: 'Child Custody Information' }),
1819
- ChildCustodyQuestions("true", 'CrossSell:Child_Custody'),
1820
- comments(
1821
- {
1822
- label: 'Description:',
1823
- placeholder: 'Please describe your situation in a few words...',
1824
- inputClass: '!t-h-16'
1825
- },
1826
- 'CrossSell:Child_Custody'
1827
- )
2392
+ 'Child Custody': [
2393
+ 'childRelationship',
2394
+ 'childHome',
2395
+ 'childPrimaryCaregiver',
2396
+ ...nextStepsLegalDefaultLPM
1828
2397
  ],
1829
- updates.nextOnEnter
1830
- )
1831
- }
1832
-
1833
- function divorceAndSeparationCrossSellQuestions(updates = {}) {
1834
- return step(
1835
- 'divorceAndSeparationCrossSellQuestions',
1836
- [
1837
- crossSellQuestionsStepHeadline({ headline: 'Divorce or Separation Information' }),
1838
- DivorceQuestions("true", 'CrossSell:Divorce_and_Separation'),
1839
- comments(
1840
- {
1841
- label: 'Description:',
1842
- placeholder: 'Please describe your situation in a few words...',
1843
- inputClass: '!t-h-16'
1844
- },
1845
- 'CrossSell:Divorce_and_Separation'
1846
- )
2398
+ 'Child Support': [
2399
+ 'childRelationship',
2400
+ 'childHome',
2401
+ 'childPrimaryCaregiver',
2402
+ ...nextStepsLegalDefaultLPM
2403
+ ],
2404
+ 'Civil Rights and Discrimination': [
2405
+ 'civilRightsType',
2406
+ ...nextStepsLegalDefault
2407
+ ],
2408
+ 'Civil Lawsuit': [
2409
+ 'civilDefense',
2410
+ 'lawsuitOtherParty',
2411
+ ...nextStepsLegalDefault
2412
+ ],
2413
+ 'File a Lawsuit': [
2414
+ 'civilLawsuitTOLPDisplay',
2415
+ 'lawsuitOtherParty',
2416
+ ...nextStepsLegalDefault
2417
+ ],
2418
+ 'Defend a Lawsuit': [
2419
+ 'lawsuitOtherParty',
2420
+ ...nextStepsLegalDefault
2421
+ ],
2422
+ 'Consumer Lawyers': [
2423
+ 'consumerLawyerType',
2424
+ 'incidentDate',
2425
+ 'lawsuitOtherParty',
2426
+ ...nextStepsLegalDefault
2427
+ ],
2428
+ 'Criminal and Felony': [
2429
+ 'criminalTOLPDisplay',
2430
+ 'crimeCommittedDate',
2431
+ 'roleInMatterCriminal',
2432
+ 'pendingCharges',
2433
+ ...nextStepsLegalDefaultLPM
2434
+ ],
2435
+ 'Debt and Collections': [
2436
+ 'totalMonthlyIncome',
2437
+ 'totalDebt',
2438
+ 'ownRealEstate',
2439
+ 'valueOfAssets',
2440
+ ...nextStepsLegalDefault
2441
+ ],
2442
+ 'Divorce and Separation': [
2443
+ 'maritalStatus',
2444
+ 'haveChildren',
2445
+ ...nextStepsLegalDefaultLPM
2446
+ ],
2447
+ 'DUI and DWI': [
2448
+ 'incidentDate',
2449
+ 'priorAlcoholOffenses',
2450
+ 'typeOfAlcoholTest',
2451
+ 'bloodContentAlcoholTest',
2452
+ 'pendingCharges',
2453
+ ...nextStepsLegalDefault
2454
+ ],
2455
+ 'Employment and Workplace': [
2456
+ 'employmentAndWorkplaceTOLPDisplay',
2457
+ 'numEmployeesOfBusiness',
2458
+ 'employerType',
2459
+ 'employeeAtCompany',
2460
+ ...nextStepsLegalDefault
2461
+ ],
2462
+ 'Expungement': [
2463
+ 'incidentDate',
2464
+ 'criminalChargeType',
2465
+ ...nextStepsLegalDefaultLPM
2466
+ ],
2467
+ 'Family Issues': [
2468
+ 'maritalStatus',
2469
+ 'haveChildren',
2470
+ ...nextStepsLegalDefaultLPM
2471
+ ],
2472
+ 'Foreclosure': [
2473
+ 'ownRealEstate',
2474
+ 'typeOfProperty',
2475
+ 'amountPaymentsPastDue',
2476
+ 'loanAmount',
2477
+ 'defaultNotice',
2478
+ ...nextStepsLegalDefault
2479
+ ],
2480
+ 'Guardianship': [
2481
+ 'maritalStatus',
2482
+ 'haveChildren',
2483
+ ...nextStepsLegalDefaultLPM
2484
+ ],
2485
+ 'Immigration and Visas': [
2486
+ 'countryOfCitizenship',
2487
+ 'immigrationLocation',
2488
+ 'immigrationEntry',
2489
+ 'immigrationType',
2490
+ 'immigrationStatus',
2491
+ 'immigrationDetails',
2492
+ ...nextStepsLegalDefault
2493
+ ],
2494
+ 'Landlord and Tenant': [
2495
+ 'landlordTenantIssue',
2496
+ 'landlordTenantParty',
2497
+ ...nextStepsLegalDefault
1847
2498
  ],
1848
- updates.nextOnEnter
1849
- )
1850
- }
1851
-
1852
- function duiAndDWICrossSellQuestions(updates = {}) {
1853
- return step(
1854
- 'duiAndDWICrossSellQuestions',
1855
- [
1856
- crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
1857
- DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
1858
- comments(
1859
- {
1860
- label: 'Incident Description:',
1861
- placeholder: 'Please describe your incident in a few words...',
1862
- inputClass: '!t-h-16'
1863
- },
1864
- 'CrossSell:DUI_and_DWI'
1865
- )
2499
+ 'Lemon Law': [
2500
+ 'incidentDate',
2501
+ 'lawsuitOtherParty',
2502
+ ...nextStepsLegalDefault
1866
2503
  ],
1867
- updates.nextOnEnter
1868
- )
1869
- }
1870
-
1871
- function ssdiCrossSellQuestions(updates = {}) {
1872
- return step(
1873
- 'ssdiCrossSellQuestions',
1874
- [
1875
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1876
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
1877
- SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
1878
- comments(
1879
- {
1880
- label: 'Description:',
1881
- placeholder: 'Please describe your situation in a few words...',
1882
- inputClass: '!t-h-16'
1883
- },
1884
- 'CrossSell:Social_Security_Disability_and_Insurance'
1885
- )
2504
+ 'Long Term Disability': [
2505
+ 'applicantOccupation',
2506
+ 'applicantAge',
2507
+ 'applicantLTDisabilityPolicy',
2508
+ 'applicantDisabilityHowObtain',
2509
+ 'applicantPreviouslyAppliedLtdBenefits',
2510
+ 'applicantReceivedDisabilityBenefits',
2511
+ 'applicantMonthlySalary',
2512
+ ...nextStepsLegalNoDOI
1886
2513
  ],
1887
- updates.nextOnEnter
1888
- )
1889
- }
1890
-
1891
- function personalInjuryCrossSellQuestions(updates = {}) {
1892
- return step(
1893
- 'personalInjuryCrossSellQuestions',
1894
- [
1895
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1896
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1897
- PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
1898
- comments(
1899
- {
1900
- label: 'Injury Description:',
1901
- placeholder: 'Please describe your injury in a few words...',
1902
- inputClass: '!t-h-16'
1903
- },
1904
- 'CrossSell:Personal_Injury'
1905
- )
2514
+ 'Medical Malpractice': [
2515
+ 'incidentDate',
2516
+ 'claimStatus',
2517
+ 'doctorTreatment',
2518
+ 'medicalMalpracticeInjuries',
2519
+ ...nextStepsLegalDefault
1906
2520
  ],
1907
- updates.nextOnEnter
1908
- )
1909
- }
1910
-
1911
- function powerOfAttorneyCrossSellQuestions(updates = {}) {
1912
- return step(
1913
- 'powerOfAttorneyCrossSellQuestions',
1914
- [
1915
- crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
1916
- PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
1917
- comments(
1918
- {
1919
- label: 'Description:',
1920
- placeholder: 'Please describe your situation in a few words...',
1921
- inputClass: '!t-h-16'
1922
- },
1923
- 'CrossSell:Power_of_Attorney'
1924
- )
2521
+ 'Patents and Intellectual Property': [
2522
+ 'patentAssistanceType',
2523
+ 'patentFor',
2524
+ ...nextStepsLegalDefault
1925
2525
  ],
1926
- updates.nextOnEnter
1927
- )
1928
- }
1929
-
1930
- function willsAndTrustsCrossSellQuestions(updates = {}) {
1931
- return step(
1932
- 'willsAndTrustsCrossSellQuestions',
1933
- [
1934
- crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
1935
- WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
1936
- comments(
1937
- {
1938
- label: 'Description:',
1939
- placeholder: 'Please describe your situation in a few words...',
1940
- inputClass: '!t-h-16'
1941
- },
1942
- 'CrossSell:Wills_and_Trusts'
1943
- )
2526
+ 'Personal Injury': [
2527
+ 'incidentDate',
2528
+ 'claimStatus',
2529
+ 'atFault',
2530
+ 'primaryInjury',
2531
+ 'doctorTreatment',
2532
+ ...nextStepsLegalNoDOI
1944
2533
  ],
1945
- updates.nextOnEnter
1946
- )
1947
- }
1948
-
1949
- function workersCompensationCrossSellQuestions(updates = {}) {
1950
- return step(
1951
- 'workersCompensationCrossSellQuestions',
1952
- [
1953
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1954
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1955
- WorkersCompensationQuestions("true", 'CrossSell:Workers_Compensation'),
1956
- comments(
1957
- {
1958
- label: 'Injury Description:',
1959
- placeholder: 'Please describe your injury in a few words...',
1960
- inputClass: '!t-h-16'
1961
- },
1962
- 'CrossSell:Workers_Compensation'
1963
- )
2534
+ 'Probate and Estates': [
2535
+ 'valueOfAssets',
2536
+ 'typeOfAssets',
2537
+ 'roleInMatterProbate',
2538
+ 'estateLegalServicesNeeded',
2539
+ ...nextStepsLegalDefault
1964
2540
  ],
1965
- updates.nextOnEnter
1966
- )
1967
- }
1968
-
1969
- function civilLawsuitTOLPQuestions(updates = {}) {
1970
- return step(
1971
- 'TOLPQuestions',
1972
- [
1973
- questionsStepHeadline(updates),
1974
- AutoAndCarAccidentsQuestions(),
1975
- BusinessLawyersQuestions(),
1976
- DefendLawsuitQuestions(),
1977
- FileLawsuitQuestions(),
1978
- PersonalInjuryQuestions(),
1979
- EmploymentAndWorkplaceQuestions(),
1980
- ConsumerLawyersQuestions(),
1981
- MedicalMalpracticeQuestions(),
1982
- PropertyDamageQuestions(),
1983
- RealEstateQuestions(),
1984
- NotSureOrOtherQuestions()
2541
+ 'Property Damage': [
2542
+ 'realEstateArea',
2543
+ 'wouldLikeLawyerTo',
2544
+ ...nextStepsLegalDefault
1985
2545
  ],
1986
- updates.nextOnEnter
1987
- )
1988
- }
1989
-
1990
- function legalCrossSells(updates = {}) {
1991
- return step(
1992
- 'legalCrossSells',
1993
- [
1994
- legalCrossSellsStepHeadline(updates),
1995
- legalCrossSells$1(),
2546
+ 'Real Estate': [
2547
+ 'realEstateTOLPDisplay',
2548
+ 'realEstateArea',
2549
+ 'wouldLikeLawyerTo',
2550
+ ...nextStepsLegalDefault
1996
2551
  ],
1997
- updates.nextOnEnter,
1998
- false,
1999
- // Note: we should probably scope this stepKey to this step name
2000
- '$get(Type_Of_Legal_Problem).value'
2001
- )
2002
- }
2552
+ 'Social Security Disability and Insurance': [
2553
+ 'applicantAge',
2554
+ 'disabilityConditionStopWork',
2555
+ 'disabilityWorkHistory',
2556
+ 'socialSecurityDisabilityReceivingBenefits',
2557
+ 'doctorTreatment',
2558
+ ...nextStepsLegalNoDOI
2559
+ ],
2560
+ 'Tax and IRS': [
2561
+ 'totalDebt',
2562
+ 'taxProblemDetails',
2563
+ 'taxLevel',
2564
+ 'taxIssueType',
2565
+ ...nextStepsLegalDefault
2566
+ ],
2567
+ 'Traffic and Tickets': [
2568
+ 'driversLicenseType',
2569
+ 'trafficViolations',
2570
+ 'haveCourtDate',
2571
+ ...nextStepsLegalDefault
2572
+ ],
2573
+ 'Unemployment': [
2574
+ 'numEmployeesOfBusiness',
2575
+ 'employerType',
2576
+ ...nextStepsLegalNoHA
2577
+ ],
2578
+ 'Victim of a Crime': [
2579
+ 'crimeCommittedDate',
2580
+ 'roleInMatterCriminal',
2581
+ 'pendingCharges',
2582
+ ...nextStepsLegalDefaultLPM
2583
+ ],
2584
+ 'Wills and Trusts': [
2585
+ 'valueOfAssets',
2586
+ 'typeOfAssets',
2587
+ 'roleInMatterProbate',
2588
+ 'estateLegalServicesNeeded',
2589
+ ...nextStepsLegalDefault
2590
+ ],
2591
+ 'Workers Compensation': [
2592
+ 'incidentDate',
2593
+ 'claimStatus',
2594
+ 'primaryInjury',
2595
+ 'causeOfInjury',
2596
+ 'doctorTreatment',
2597
+ ...nextStepsLegalNoDOI
2598
+ ],
2599
+ 'Workplace Harassment': [
2600
+ 'numEmployeesOfBusiness',
2601
+ 'employerType',
2602
+ 'employeeAtCompany',
2603
+ ...nextStepsLegalDefault
2604
+ ],
2605
+ 'Workplace Discrimination': [
2606
+ 'numEmployeesOfBusiness',
2607
+ 'employerType',
2608
+ 'employeeAtCompany',
2609
+ ...nextStepsLegalDefault
2610
+ ],
2611
+ 'Wrongful Death': [
2612
+ 'incidentDate',
2613
+ 'relationshipToVictim',
2614
+ 'criminalChargesFiled',
2615
+ 'causeOfDeath',
2616
+ ...nextStepsLegalNoDOI
2617
+ ],
2618
+ 'Wrongful Termination': [
2619
+ 'numEmployeesOfBusiness',
2620
+ 'employerType',
2621
+ ...nextStepsLegalDefault
2622
+ ],
2623
+ },
2624
+ '*': nextStepsLegalDefault
2625
+ };
2003
2626
 
2004
- const formNavigationV2 = () => ({
2005
- $el: 'div',
2006
- attrs: {
2007
- class: 'step-nav'
2627
+ // function filterMapByKey(obj, keyList) {
2628
+ // return Object.fromEntries(
2629
+ // Object.entries(obj).filter(([key]) => keyList.includes(key))
2630
+ // );
2631
+ // }
2632
+
2633
+ // export function filteredNextStepsMapLegal(keyList) {
2634
+ // const res = { Type_Of_Legal_Problem: filterMapByKey(nextStepsMapGeneralLegal["Type_Of_Legal_Problem"], keyList) }
2635
+ // res["*"] = nextStepsMapGeneralLegal["*"]
2636
+ // return res
2637
+ // }
2638
+
2639
+ const TOLPNextSteps = nextStepsMapGeneralLegal["Type_Of_Legal_Problem"];
2640
+
2641
+ ({
2642
+ 'Civil_Defense': {
2643
+ 'Yes': TOLPNextSteps["Defend a Lawsuit"],
2644
+ 'No': TOLPNextSteps["File a Lawsuit"],
2008
2645
  },
2009
- children: [
2010
- {
2011
- $formkit: 'button',
2012
- name: 'back_button',
2013
- onClick: '$setPreviousStep($prevStepFunc($get(form)))',
2014
- children: 'Back',
2015
- style: {
2016
- if: '$activeStep === $firstStep()',
2017
- then: 'visibility: hidden;'
2018
- }
2019
- },
2020
- {
2021
- $formkit: 'button',
2022
- name: 'next_button',
2023
- onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2024
- children: {
2025
- if: '$activeStep === $firstStep()',
2026
- then: 'Start',
2027
- else: 'Next'
2028
- },
2029
- outerClass: {
2030
- if: '$activeStep === $lastStep()',
2031
- then: 't-hidden',
2032
- else: ''
2033
- },
2034
- style: {
2035
- if: '$activeStep === $lastStep()',
2036
- then: 'display: none;'
2037
- }
2038
- },
2039
- {
2040
- $formkit: 'submit',
2041
- name: 'submit_button',
2042
- label: 'Submit',
2043
- if: '$activeStep === $lastStep()',
2044
- style: {
2045
- if: '$activeStep !== $lastStep()',
2046
- then: 'display: none;'
2047
- }
2048
- }
2646
+ '*': [
2647
+ 'lawsuitOtherParty',
2648
+ ...nextStepsLegalDefault
2049
2649
  ]
2050
2650
  });
2051
2651
 
2052
- const formDetails = () => ({
2053
- $el: 'pre',
2054
- if: '$urlParam("fdbg", "") == 1',
2055
- children: [
2056
- {
2057
- $el: 'pre',
2058
- children: '$stringify( $get(form).value )',
2059
- attrs: {
2060
- class: 't-text-xs',
2061
- style: 'overflow: scroll'
2062
- }
2063
- },
2064
- {
2065
- $el: 'pre',
2066
- children: ['activeStep: ', '$activeStep'],
2067
- attrs: {
2068
- class: 't-text-xs',
2069
- style: 'overflow: scroll'
2070
- }
2071
- },
2072
- {
2073
- $el: 'pre',
2074
- children: ['stepHistory: ', '$stepHistory'],
2075
- attrs: {
2076
- class: 't-text-xs',
2077
- style: 'overflow: scroll'
2078
- }
2079
- },
2080
- {
2081
- $el: 'pre',
2082
- children: ['stepQueue: ', '$stepQueue'],
2083
- attrs: {
2084
- class: 't-text-xs',
2085
- style: 'overflow: scroll'
2086
- }
2087
- },
2088
- {
2089
- $el: 'pre',
2090
- children: ['steps: ', '$stepKeys()'],
2091
- attrs: {
2092
- class: 't-text-xs',
2093
- style: 'overflow: scroll'
2094
- }
2095
- }
2652
+ const nextStepsMapCivilTolp = {
2653
+ 'Type_Of_Legal_Problem': {
2654
+ 'Defend a Lawsuit': TOLPNextSteps["Defend a Lawsuit"],
2655
+ 'File a Lawsuit': TOLPNextSteps["File a Lawsuit"],
2656
+ },
2657
+ '*': [
2658
+ 'lawsuitOtherParty',
2659
+ ...nextStepsLegalDefault
2660
+ ]
2661
+ };
2662
+
2663
+ const nextStepsMapCivilTOLPDisplay = {
2664
+ 'Type_Of_Legal_Problem_Display': {
2665
+ 'Automobile Accident': TOLPNextSteps["Auto and Car Accidents"],
2666
+ 'Contract Disputes': TOLPNextSteps["Business Lawyers"],
2667
+ 'Dog Bite': TOLPNextSteps["Personal Injury"],
2668
+ 'Employment and Workplace': TOLPNextSteps["Employment and Workplace"],
2669
+ 'Fraud': TOLPNextSteps["Consumer Lawyers"],
2670
+ 'Medical Malpractice': TOLPNextSteps["Medical Malpractice"],
2671
+ 'Personal Injury': TOLPNextSteps["Personal Injury"],
2672
+ 'Property Damage': TOLPNextSteps["Property Damage"],
2673
+ 'Real Estate': TOLPNextSteps["Real Estate"],
2674
+ 'Not Sure or Other': nextStepsMapGeneralLegal["*"],
2675
+ },
2676
+ '*': [
2677
+ 'lawsuitOtherParty',
2678
+ ...nextStepsLegalDefault
2679
+ ]
2680
+ };
2681
+
2682
+ ({
2683
+ 'Type_Of_Legal_Problem_Display': {
2684
+ 'Wrongful Termination': TOLPNextSteps["Wrongful Termination"],
2685
+ 'Workers Compensation': TOLPNextSteps["Workers Compensation"],
2686
+ 'Personal Injury': TOLPNextSteps["Personal Injury"],
2687
+ 'Unemployment': TOLPNextSteps["Unemployment"],
2688
+ },
2689
+ '*': [
2690
+ 'numEmployeesOfBusiness',
2691
+ 'employerType',
2692
+ 'employeeAtCompany',
2693
+ ...nextStepsLegalDefault
2096
2694
  ]
2097
2695
  });
2098
2696
 
2697
+ ({
2698
+ 'Type_Of_Legal_Problem_Display': {
2699
+ 'Foreclosure': TOLPNextSteps["Foreclosure"],
2700
+ 'Landlord and Tenant': TOLPNextSteps["Landlord and Tenant"],
2701
+ 'Wills, Trusts, and Estates': TOLPNextSteps["Wills and Trusts"],
2702
+ 'Property Damage': TOLPNextSteps['Property Damage'],
2703
+ },
2704
+ '*': [
2705
+ 'realEstateArea',
2706
+ 'wouldLikeLawyerTo',
2707
+ ...nextStepsLegalDefault
2708
+ ]
2709
+ });
2710
+
2711
+ const meta = defaultMetaProps();
2712
+
2713
+ meta.data.dynamicSchema = [
2714
+ atFault(),
2715
+ businessServices(),
2716
+ businessType(),
2717
+ civilLawsuitTOLPDisplay({
2718
+ nextStepMap: nextStepsMapCivilTOLPDisplay
2719
+ }),
2720
+ claimStatus(),
2721
+ consumerLawyerType(),
2722
+ degreeOfInterest(),
2723
+ doctorTreatment(),
2724
+ employerType(),
2725
+ employeeAtCompany(),
2726
+ haveAttorney(),
2727
+ incidentDate({
2728
+ nextOnInput: false
2729
+ }),
2730
+ lawsuitOtherParty(),
2731
+ medicalMalpracticeInjuries(),
2732
+ numEmployeesOfBusiness(),
2733
+ policeReportFiled(),
2734
+ primaryInjury(),
2735
+ realEstateArea(),
2736
+ wouldLikeLawyerTo(),
2737
+ zipcode(),
2738
+ commentsWithBankruptcy({
2739
+ label: null,
2740
+ headline: 'Please briefly describe your situation:',
2741
+ headlineClass: '!t-text-dark',
2742
+ }),
2743
+ legalCrossSells({
2744
+ headlineClass: '!t-text-dark'
2745
+ }),
2746
+ autoAndCarAccidentCrossSellQuestions(),
2747
+ personalInjuryCrossSellQuestions(),
2748
+ workersCompensationCrossSellQuestions(),
2749
+ duiAndDWICrossSellQuestions(),
2750
+ ssdiCrossSellQuestions(),
2751
+ powerOfAttorneyCrossSellQuestions(),
2752
+ willsAndTrustsCrossSellQuestions(),
2753
+ divorceAndSeparationCrossSellQuestions(),
2754
+ childCustodyCrossSellQuestions(),
2755
+ firstAndLastV3({
2756
+ headlineClass: '!t-text-dark'
2757
+ }),
2758
+ ];
2759
+
2099
2760
  const schema = [
2100
- defaultMetaProps(),
2761
+ meta,
2101
2762
  formAnchor(),
2102
2763
  {
2103
2764
  $cmp: 'FormKit',
@@ -2107,6 +2768,7 @@ const schema = [
2107
2768
  valueOverrideMap: legalAllValueOverrideMap
2108
2769
  }),
2109
2770
  children: [
2771
+ progressBar(),
2110
2772
  headline({
2111
2773
  children: '$urlParam("hl", "Schedule a Lawsuit Consultation")',
2112
2774
  if: '$activeStep === $firstStep()'
@@ -2119,26 +2781,13 @@ const schema = [
2119
2781
  class: 'form-body'
2120
2782
  },
2121
2783
  children: [
2122
- civilLawsuitTOLPAndZip(),
2123
- civilLawsuitTOLPQuestions(),
2124
- commentsWithBankruptcyV2({
2125
- nextOnEnter: false
2126
- }),
2127
- legalCrossSells(),
2128
- autoAndCarAccidentCrossSellQuestions(),
2129
- personalInjuryCrossSellQuestions(),
2130
- workersCompensationCrossSellQuestions(),
2131
- duiAndDWICrossSellQuestions(),
2132
- ssdiCrossSellQuestions(),
2133
- powerOfAttorneyCrossSellQuestions(),
2134
- willsAndTrustsCrossSellQuestions(),
2135
- divorceAndSeparationCrossSellQuestions(),
2136
- childCustodyCrossSellQuestions(),
2137
- firstAndLastV2(),
2138
- contactInfoV2({
2139
- nextOnEnter: false
2784
+ civilLawsuitTOLP({
2785
+ nextOnInput: false,
2786
+ nextStepMap: nextStepsMapCivilTolp
2140
2787
  }),
2141
- formNavigationV2(),
2788
+ dynamicSchemaNode,
2789
+ contactInfo(),
2790
+ formNavigation(),
2142
2791
  formDetails()
2143
2792
  ]
2144
2793
  }