bhl-forms 0.6.5 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/bhl-forms.iife.js +1 -1
  2. package/dist/bhl-forms.modern.iife.js +1 -1
  3. package/dist/bhl-forms.modern.umd.js +1 -1
  4. package/dist/bhl-forms.umd.js +1 -1
  5. package/dist/forms/accidentsAndInjuries.es.js +1441 -861
  6. package/dist/forms/accidentsAndInjuries.iife.js +1 -1
  7. package/dist/forms/accidentsAndInjuries.json +1 -1
  8. package/dist/forms/appraisals.es.js +115 -115
  9. package/dist/forms/appraisals.iife.js +1 -1
  10. package/dist/forms/childAndFamily.es.js +789 -763
  11. package/dist/forms/childAndFamily.iife.js +1 -1
  12. package/dist/forms/childAndFamily.json +1 -1
  13. package/dist/forms/childAndFamilySingle.es.js +755 -745
  14. package/dist/forms/childAndFamilySingle.iife.js +1 -1
  15. package/dist/forms/childAndFamilySingle.json +1 -1
  16. package/dist/forms/civilLawsuit.es.js +835 -804
  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 +870 -823
  25. package/dist/forms/criminal.iife.js +1 -1
  26. package/dist/forms/criminal.json +1 -1
  27. package/dist/forms/employmentAndWorkplace.es.js +1827 -1188
  28. package/dist/forms/employmentAndWorkplace.iife.js +1 -1
  29. package/dist/forms/employmentAndWorkplace.json +1 -1
  30. package/dist/forms/generalLegal.es.js +852 -806
  31. package/dist/forms/generalLegal.iife.js +1 -1
  32. package/dist/forms/generalLegal.json +1 -1
  33. package/dist/forms/generalLegalPopUnder.es.js +852 -805
  34. package/dist/forms/generalLegalPopUnder.iife.js +1 -1
  35. package/dist/forms/generalLegalPopUnder.json +1 -1
  36. package/dist/forms/generalLegalSingle.es.js +1525 -1501
  37. package/dist/forms/generalLegalSingle.iife.js +1 -1
  38. package/dist/forms/generalLegalSingle.json +1 -1
  39. package/dist/forms/generalLegalThankYou.es.js +708 -693
  40. package/dist/forms/generalLegalThankYou.iife.js +1 -1
  41. package/dist/forms/generalLegalThankYou.json +1 -1
  42. package/dist/forms/harassmentAndDiscrimination.es.js +1465 -681
  43. package/dist/forms/harassmentAndDiscrimination.iife.js +1 -1
  44. package/dist/forms/harassmentAndDiscrimination.json +1 -1
  45. package/dist/forms/malpractice.es.js +1764 -1066
  46. package/dist/forms/malpractice.iife.js +1 -1
  47. package/dist/forms/malpractice.json +1 -1
  48. package/dist/forms/mechanics.es.js +115 -115
  49. package/dist/forms/mechanics.iife.js +1 -1
  50. package/dist/forms/realEstate.es.js +1556 -1208
  51. package/dist/forms/realEstate.iife.js +1 -1
  52. package/dist/forms/realEstate.json +1 -1
  53. package/dist/forms/repossession.es.js +1811 -1085
  54. package/dist/forms/repossession.iife.js +1 -1
  55. package/dist/forms/repossession.json +1 -1
  56. package/dist/forms/ssdi.es.js +672 -672
  57. package/dist/forms/ssdi.iife.js +1 -1
  58. package/dist/forms/ssdi.json +1 -1
  59. package/dist/forms/testForm.es.js +473 -468
  60. package/dist/forms/testForm.iife.js +1 -1
  61. package/dist/forms/testForm.json +1 -1
  62. package/dist/forms/testRedirects.es.js +104 -101
  63. package/dist/forms/testRedirects.iife.js +1 -1
  64. package/dist/forms/testRedirects.json +1 -1
  65. package/dist/forms/vets.es.js +115 -115
  66. package/dist/forms/vets.iife.js +1 -1
  67. package/dist/forms/willsAndTrusts.es.js +1298 -705
  68. package/dist/forms/willsAndTrusts.iife.js +1 -1
  69. package/dist/forms/willsAndTrusts.json +1 -1
  70. package/dist/main.css +1 -1
  71. package/package.json +1 -1
  72. package/dist/forms/generalLegalPopUnderTF.es.js +0 -3087
  73. package/dist/forms/generalLegalPopUnderTF.iife.js +0 -1
  74. package/dist/forms/generalLegalPopUnderTF.json +0 -1
@@ -15,495 +15,195 @@ const DEFAULT_FINAL_HEADLINE_DYNAMIC = '$getKey($meta, "finalHeadlines." + $get(
15
15
  const DEFAULT_FINAL_SUBHEADLINE = 'You may benefit from speaking with a legal professional. Please verify your contact information.';
16
16
  const DEFAULT_FINAL_SUBHEADLINE_DYNAMIC = '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
17
17
 
18
- const formPropDefaults = {
19
- type: 'form',
20
- id: 'form',
21
- config: { validationVisibility: 'submit' },
22
- onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
23
- plugins: '$plugins',
24
- actions: false,
25
- anchorElement: 'form-anchor',
26
- useLocalStorage: true,
27
- prepop: {
28
- fromURL: true
29
- },
30
- errorCodes: {
31
- 403: { message: "An Error Occurred", abort: false },
32
- 409: { abort: false },
33
- 429: "An Error Occurred",
34
- 504: { message: "An Error Occurred", abort: false },
35
- },
36
- formClass: '!t-max-w-[40rem]'
37
- };
18
+ // ------ Common Base Settings
38
19
 
39
- function formProps(updates) {
40
- const props = merge(
41
- formPropDefaults,
42
- updates
43
- );
44
- if (props.formId && !props.name) {
45
- props.name = props.formId;
20
+ const checkbox = (updates) => {
21
+ if (updates.name && !updates.id) {
22
+ updates.id = updates.name;
46
23
  }
47
- return props
48
- }
24
+ return merge({
25
+ $formkit: 'checkbox',
26
+ validation: 'required',
27
+ validationMessages: {
28
+ required: 'Field is required'
29
+ }
30
+ }, updates)
31
+ };
49
32
 
50
- const metaDefaults = {
51
- tcpaLanguage: TCPA_LANGUAGE
33
+ const sbsCheckbox = (updates) => {
34
+ updates.legendClass = 'legend-left required';
35
+ updates.fieldsetClass = '$reset side-by-side';
36
+ updates.optionsClass = 't-pl-1';
37
+ updates.innerClass = 't-flex t-items-center';
38
+ updates.wrapperClass = 't-mb-3';
39
+ return checkbox(updates)
52
40
  };
53
41
 
54
- function metaProps(updates) {
55
- const data = merge(
56
- metaDefaults,
57
- updates
58
- );
59
- return {
60
- type: 'meta',
61
- data
42
+ const col2Checkbox = (updates) => {
43
+ if (!updates || !updates.legendClass) {
44
+ updates.legendClass = 'required';
62
45
  }
63
- }
64
-
65
- function defaultMetaProps() {
66
- return metaProps({
67
- defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
68
- commentsPlaceholders: TOLPCommentsPlaceholders,
69
- defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
70
- finalHeadlines: TOLPFinalHeadlines,
71
- defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
72
- finalSubHeadlines: TOLPFinalSubHeadlines,
73
- // Added everywhere for now
74
- // trustedFormTOLPs: trustedFormTOLPs
75
- })
76
- }
46
+ updates.fieldsetClass = '$reset';
47
+ updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
48
+ updates.innerClass = 't-items-start';
49
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
50
+ return checkbox(updates)
51
+ };
77
52
 
78
- const formAnchorDefaults = {
79
- $el: 'div',
80
- children: [
81
- {
82
- $el: 'div',
83
- attrs: {
84
- id: 'form-anchor',
85
- class: 't-absolute',
86
- style: { top: '-30px', left: 0 }
87
- }
88
- }
89
- ],
90
- attrs: {
91
- class: 't-relative'
53
+ const radio = (updates) => {
54
+ if (updates.name && !updates.id) {
55
+ updates.id = updates.name;
92
56
  }
57
+ return merge({
58
+ $formkit: 'radio',
59
+ validation: 'required',
60
+ validationMessages: {
61
+ required: 'Field is required'
62
+ },
63
+ optionsClass: 't-pt-3 t-pl-1',
64
+ legendClass: 'required'
65
+ }, updates)
93
66
  };
94
67
 
95
- function formAnchor(updates) {
96
- return merge(
97
- formAnchorDefaults,
98
- updates
99
- )
100
- }
68
+ const col2Radio = (updates) => {
69
+ updates.legendClass = 'required';
70
+ updates.fieldsetClass = '$reset';
71
+ updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
72
+ updates.innerClass = 't-items-start';
73
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
74
+ return radio(updates)
75
+ };
101
76
 
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
- }
77
+ const sbsRadio = (updates) => {
78
+ updates.legendClass = 'legend-left required';
79
+ updates.fieldsetClass = '$reset side-by-side';
80
+ updates.optionsClass = 't-pl-1';
81
+ updates.innerClass = 't-flex t-items-center';
82
+ updates.wrapperClass = 't-mb-3';
83
+ return radio(updates)
84
+ };
110
85
 
111
- function headline(updates = {}) {
112
- return merge(
113
- headlineDefaults(updates),
114
- updates
115
- )
116
- }
86
+ const sbs2ColRadio = (updates) => {
87
+ updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
88
+ updates.fieldsetClass = '$reset side-by-side-flex';
89
+ updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
90
+ updates.innerClass = 't-flex t-items-start';
91
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
92
+ return radio(updates)
93
+ };
117
94
 
118
- function defaultHeadline() {
119
- return headline({
120
- children: '$urlParam("hl", "Start Here For a Free Consultation")',
121
- if: '$activeStep === $firstStep()'
122
- })
123
- }
95
+ const sbs2ItemRadio = (updates) => {
96
+ updates.legendClass = 'legend-left t-pb-1 required';
97
+ updates.fieldsetClass = '$reset side-by-side t-items-center';
98
+ updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
99
+ updates.innerClass = 't-flex t-items-center';
100
+ updates.optionClass = 't-pr-1';
101
+ return radio(updates)
102
+ };
124
103
 
125
- function subHeadlineDefaults(updates = {}) {
126
- return {
127
- $el: 'h3',
128
- attrs: {
129
- 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 || '')
130
- }
131
- }
132
- }
104
+ const sbsYesNoRadio = (updates) => {
105
+ updates.options = ['Yes', 'No'];
106
+ return sbs2ItemRadio(updates)
107
+ };
133
108
 
134
- function subHeadline(updates = {}) {
135
- return merge(
136
- subHeadlineDefaults(updates),
137
- updates
138
- )
139
- }
109
+ const select = (updates) => {
110
+ if (updates.name && !updates.id) {
111
+ updates.id = updates.name;
112
+ }
113
+ return merge({
114
+ $formkit: 'select',
115
+ placeholder: "Please Select",
116
+ validation: 'required',
117
+ validationMessages: {
118
+ required: 'Field is required'
119
+ },
120
+ inputClass: 't-bg-white',
121
+ labelClass: 'required'
122
+ }, updates)
123
+ };
140
124
 
141
- function defaultSubHeadline() {
142
- return subHeadline({
143
- children: '$urlParam("shl", "Our Service is Fast and Free!")',
144
- if: '$activeStep === $firstStep()'
145
- })
146
- }
125
+ const sbsSelect = (updates) => {
126
+ updates.labelClass = 'required';
127
+ updates.wrapperClass = 'side-by-side t-items-center';
128
+ updates.innerClass = 'select-height-content';
129
+ updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
130
+ return select(updates)
131
+ };
147
132
 
148
- const secureIconDefault = {
149
- $el: 'div',
150
- if: '$activeStep === $lastStep()',
151
- attrs: {
152
- class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
153
- },
154
- children: [
155
- {
156
- $el: 'img',
157
- attrs: {
158
- loading: 'lazy',
159
- alt: '',
160
- style: {
161
- border: 0
162
- },
163
- width: '25',
164
- height: '25',
165
- src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
166
- }
133
+ const text = (updates) => {
134
+ if (updates.name && !updates.id) {
135
+ updates.id = updates.name;
136
+ }
137
+ return merge({
138
+ $formkit: 'text',
139
+ validation: 'required',
140
+ validationMessages: {
141
+ required: 'Field is required'
167
142
  },
168
- {
169
- $el: 'span',
170
- children: 'Secure & Encrypted',
171
- attrs: {
172
- class: 't-pl-2 t-pt-1 t-font-medium'
173
- }
174
- }
175
- ]
143
+ labelClass: 'required'
144
+ }, updates)
176
145
  };
177
146
 
147
+ const sbsText = (updates) => {
148
+ updates.wrapperClass = 'side-by-side t-items-center';
149
+ return text(updates)
150
+ };
178
151
 
179
- function secureIcon(updates) {
180
- return merge(
181
- secureIconDefault,
182
- updates
183
- )
184
- }
185
-
186
- const hiddenInputsBase = [
187
- {
188
- $formkit: 'hidden',
189
- name: "gclid",
190
- value: null
191
- },
192
- {
193
- $formkit: 'hidden',
194
- name: "campaignid",
195
- value: null
196
- },
197
- {
198
- $formkit: 'hidden',
199
- name: "s",
200
- value: null
201
- }
202
- ];
203
-
204
- const hiddenInputsLegal = [
205
- {
206
- $formkit: 'hidden',
207
- name: "vertical",
208
- value: "Legal"
209
- },
210
- {
211
- $formkit: 'hidden',
212
- name: "TCPA_Language",
213
- value: "$meta.tcpaLanguage"
214
- },
215
- ...hiddenInputsBase
216
- ];
217
-
218
- const legalRedirectMapDefaults = {
219
- '*': LegalRedirectUrl()
220
- };
221
-
222
-
223
- function legalRedirectMap(updates) {
224
- return merge(
225
- legalRedirectMapDefaults,
226
- updates
227
- )
228
- }
229
-
230
- const TOLPCommentsPlaceholders = {
231
- 'Adoption': 'Example: "I need help with adoption forms"',
232
- 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
233
- '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"',
234
- 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
235
- 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
236
- 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
237
- 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
238
- 'Child Custody': 'Example: "Need help getting custody"',
239
- 'Child Support': 'Example: "Issues with child support payments"',
240
- 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
241
- 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
242
- 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
243
- 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
244
- 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
245
- 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
246
- 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
247
- 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
248
- 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
249
- 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
250
- 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
251
- 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
252
- 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
253
- 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
254
- 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
255
- 'Guardianship': 'Example: "I need help with guardianship documents"',
256
- 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
257
- 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
258
- 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
259
- 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
260
- 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
261
- 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
262
- 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
263
- 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
264
- 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
265
- 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
266
- 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
267
- '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"',
268
- 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
269
- 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
270
- 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
271
- 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
272
- 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
273
- 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
274
- 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
275
- 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
276
- '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"',
277
- 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
278
- 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
279
- 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
280
- 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
281
- 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
282
- 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
283
- 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
284
- 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
285
- 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
286
- };
287
-
288
- const TOLPFinalHeadlines = {
289
- // 'Adoption': '',
290
- };
291
-
292
- const TOLPFinalSubHeadlines = {
293
- 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
294
- // 'Asbestos and Mesothelioma': '',
295
- 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
296
- 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
297
- // 'Birth Certificate and Name Change': '',
298
- // 'Business Lawyers': '',
299
- // 'Child Custody and Support': '',
300
- // 'Civil Rights and Discrimination': '',
301
- // 'Civil Lawsuit': '',
302
- // 'Consumer Lawyers': '',
303
- 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
304
- // 'Criminal and Felony': '',
305
- // 'Debt and Collections': '',
306
- 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
307
- 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
308
- 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
309
- // 'Employment and Workplace': '',
310
- // 'Expungement': '',
311
- // 'Family Issues': '',
312
- 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
313
- 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
314
- // 'Harassment and Discrimination': '',
315
- // 'Identity Theft': '',
316
- 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
317
- // 'Insurance': '',
318
- 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
319
- // 'Lemon Law': '',
320
- 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
321
- 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
322
- 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
323
- 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
324
- // 'Power of Attorney': '',
325
- 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
326
- // 'Product Liability': '',
327
- // 'Property Damage': '',
328
- 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
329
- 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
330
- 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
331
- // 'Traffic and Tickets': '',
332
- 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
333
- // 'Victim of a Crime': '',
334
- // 'Wills and Trusts': '',
335
- 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
336
- // 'Wrongful Death': '',
337
- // 'Wrongful Termination': '',
338
- // 'Not Sure or Other': ''
339
- // 'Sexual Harassment': '',
340
- // 'Workplace Harassment': '',
341
- // 'Non-Workplace Harassment': '',
342
- // 'Workplace Discrimination': '',
343
- // 'Non-Workplace Discrimination': '',
344
- };
345
-
346
- // ------ Common Base Settings
347
-
348
- const checkbox = (updates) => {
349
- if (updates.name && !updates.id) {
350
- updates.id = updates.name;
351
- }
352
- return merge({
353
- $formkit: 'checkbox',
354
- validation: 'required',
355
- validationMessages: {
356
- required: 'Field is required'
357
- }
358
- }, updates)
359
- };
360
-
361
- const sbsCheckbox = (updates) => {
362
- updates.legendClass = 'legend-left required';
363
- updates.fieldsetClass = '$reset side-by-side';
364
- updates.optionsClass = 't-pl-1';
365
- updates.innerClass = 't-flex t-items-center';
366
- updates.wrapperClass = 't-mb-3';
367
- return checkbox(updates)
368
- };
369
-
370
- const col2Checkbox = (updates) => {
371
- if (!updates || !updates.legendClass) {
372
- updates.legendClass = 'required';
373
- }
374
- updates.fieldsetClass = '$reset';
375
- updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
376
- updates.innerClass = 't-items-start';
377
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
378
- return checkbox(updates)
379
- };
380
-
381
- const radio = (updates) => {
152
+ const textArea = (updates) => {
382
153
  if (updates.name && !updates.id) {
383
154
  updates.id = updates.name;
384
155
  }
385
156
  return merge({
386
- $formkit: 'radio',
157
+ $formkit: 'textarea',
158
+ rows: 5,
159
+ maxlength: 500,
387
160
  validation: 'required',
388
161
  validationMessages: {
389
162
  required: 'Field is required'
390
163
  },
391
- optionsClass: 't-pt-3 t-pl-1',
392
- legendClass: 'required'
164
+ innerClass: 't-max-w-xl',
165
+ labelClass: 'required'
393
166
  }, updates)
394
167
  };
395
168
 
396
- const col2Radio = (updates) => {
397
- updates.legendClass = 'required';
398
- updates.fieldsetClass = '$reset';
399
- updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
400
- updates.innerClass = 't-items-start';
401
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
402
- return radio(updates)
403
- };
404
-
405
- const sbsRadio = (updates) => {
406
- updates.legendClass = 'legend-left required';
407
- updates.fieldsetClass = '$reset side-by-side';
408
- updates.optionsClass = 't-pl-1';
409
- updates.innerClass = 't-flex t-items-center';
410
- updates.wrapperClass = 't-mb-3';
411
- return radio(updates)
412
- };
413
-
414
- const sbs2ItemRadio = (updates) => {
415
- updates.legendClass = 'legend-left t-pb-1 required';
416
- updates.fieldsetClass = '$reset side-by-side t-items-center';
417
- updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
418
- updates.innerClass = 't-flex t-items-center';
419
- updates.optionClass = 't-pr-1';
420
- return radio(updates)
421
- };
422
-
423
- const sbsYesNoRadio = (updates) => {
424
- updates.options = ['Yes', 'No'];
425
- return sbs2ItemRadio(updates)
426
- };
427
-
428
- const select = (updates) => {
169
+ const date = (updates) => {
429
170
  if (updates.name && !updates.id) {
430
171
  updates.id = updates.name;
431
172
  }
432
173
  return merge({
433
- $formkit: 'select',
434
- placeholder: "Please Select",
174
+ $formkit: 'DatePicker',
435
175
  validation: 'required',
436
176
  validationMessages: {
437
177
  required: 'Field is required'
438
178
  },
439
- inputClass: 't-bg-white',
440
- labelClass: 'required'
179
+ labelClass: 'required t-block t-mb-3 t-font-semibold t-text-base formkit-invalid:t-text-red-500',
180
+ innerClass: 't-border t-border-gray-400 formkit-invalid:t-border-red-500 t-rounded t-mb-1 focus-within:t-border-blue-500'
441
181
  }, updates)
442
182
  };
443
183
 
444
- const sbsSelect = (updates) => {
445
- updates.labelClass = 'required';
184
+ const sbsDate = (updates) => {
446
185
  updates.wrapperClass = 'side-by-side t-items-center';
447
- updates.innerClass = 'select-height-content';
448
- updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
449
- return select(updates)
186
+ return date(updates)
450
187
  };
451
188
 
452
- const text = (updates) => {
453
- if (updates.name && !updates.id) {
454
- updates.id = updates.name;
189
+ const applicantAge = (scope) => sbsText({
190
+ name: scope ? scope + ':' + 'Applicant_Age' : 'Applicant_Age',
191
+ label: 'Age of Applicant?',
192
+ placeholder: 'Age between 18 and 65',
193
+ maxlength: 2,
194
+ inputmode: "numeric",
195
+ validation: "required|min:18,max:65",
196
+ validationMessages: {
197
+ required: 'Applicant Age is required',
198
+ min: 'Invalid Age - must be between 18 and 65',
199
+ max: 'Invalid Age - must be between 18 and 65',
455
200
  }
456
- return merge({
457
- $formkit: 'text',
458
- validation: 'required',
459
- validationMessages: {
460
- required: 'Field is required'
461
- },
462
- labelClass: 'required'
463
- }, updates)
464
- };
465
-
466
- const sbsText = (updates) => {
467
- updates.wrapperClass = 'side-by-side t-items-center';
468
- return text(updates)
469
- };
470
-
471
- const textArea = (updates) => {
472
- if (updates.name && !updates.id) {
473
- updates.id = updates.name;
474
- }
475
- return merge({
476
- $formkit: 'textarea',
477
- rows: 5,
478
- maxlength: 500,
479
- validation: 'required',
480
- validationMessages: {
481
- required: 'Field is required'
482
- },
483
- innerClass: 't-max-w-xl',
484
- labelClass: 'required'
485
- }, updates)
486
- };
487
-
488
- const date = (updates) => {
489
- if (updates.name && !updates.id) {
490
- updates.id = updates.name;
491
- }
492
- return merge({
493
- $formkit: 'DatePicker',
494
- validation: 'required',
495
- validationMessages: {
496
- required: 'Field is required'
497
- },
498
- labelClass: 'required t-block t-mb-3 t-font-semibold t-text-base formkit-invalid:t-text-red-500',
499
- innerClass: 't-border t-border-gray-400 formkit-invalid:t-border-red-500 t-rounded t-mb-1 focus-within:t-border-blue-500'
500
- }, updates)
501
- };
201
+ });
502
202
 
503
- const sbsDate = (updates) => {
504
- updates.wrapperClass = 'side-by-side t-items-center';
505
- return date(updates)
506
- };
203
+ const atFault = (scope) => sbsYesNoRadio({
204
+ name: scope ? scope + ':' + 'At_Fault' : 'At_Fault',
205
+ label: 'Were You at Fault?'
206
+ });
507
207
 
508
208
  const bankruptcyCrossSell = () => sbsCheckbox({
509
209
  label: "I'd also like a consult for bankruptcy or debt elimination (optional)",
@@ -515,6 +215,33 @@ const bankruptcyCrossSell = () => sbsCheckbox({
515
215
  helpClass: "!t-text-sm"
516
216
  });
517
217
 
218
+ const bloodContentAlcoholTest = (scope) => sbsSelect({
219
+ name: scope ? scope + ':' + 'Blood_Alcohol_Content_Test' : 'Blood_Alcohol_Content_Test',
220
+ label: 'Blood Alcohol Content Measured by Test:',
221
+ options: [
222
+ "No Test",
223
+ "0.00% - 0.04%",
224
+ "0.05% - 0.08%",
225
+ "0.09% - 0.12%",
226
+ "0.13% - 0.16%",
227
+ "0.17% - 0.20%",
228
+ "More than 0.20%",
229
+ "Don't know"
230
+ ]
231
+ });
232
+
233
+ const causeOfInjury = (scope) => sbsSelect({
234
+ name: scope ? scope + ':' + 'Cause_Of_Injury' : 'Cause_Of_Injury',
235
+ label: 'Cause of Injury:',
236
+ options: [
237
+ "Traumatic Physical Injury (Accident)",
238
+ "Repeated Trauma Injury",
239
+ "Mental Injury",
240
+ "Occupational Disease",
241
+ "Not Sure"
242
+ ]
243
+ });
244
+
518
245
  const causeOfDeath = () => sbsSelect({
519
246
  label: "What was the Cause of the Victim's Death?",
520
247
  name: 'Cause_Of_Death',
@@ -526,6 +253,50 @@ const causeOfDeath = () => sbsSelect({
526
253
  ]
527
254
  });
528
255
 
256
+ const childHome = (scope) => sbsSelect({
257
+ name: scope ? scope + ':' + 'Child_Home' : 'Child_Home',
258
+ label: 'With Whom Do the Children Currently Live?',
259
+ options: [
260
+ 'Mother',
261
+ 'Father',
262
+ 'Grandparents',
263
+ 'Other'
264
+ ]
265
+ });
266
+
267
+ const childPrimaryCaregiver = (scope) => sbsSelect({
268
+ name: scope ? scope + ':' + 'Child_Primary_Caregiver' : 'Child_Primary_Caregiver',
269
+ label: 'Who is the Primary Caregiver?',
270
+ options: [
271
+ 'Mother',
272
+ 'Father',
273
+ 'Other'
274
+ ]
275
+ });
276
+
277
+ const childRelationship = (scope) => sbsSelect({
278
+ name: scope ? scope + ':' + 'Child_Relationship' : 'Child_Relationship',
279
+ label: 'Your Relationship to Child(ren):',
280
+ options: [
281
+ 'Father',
282
+ 'Mother',
283
+ 'Grandparent',
284
+ 'Aunt/Uncle',
285
+ 'Other'
286
+ ]
287
+ });
288
+
289
+ const claimStatus = (scope) => sbsSelect({
290
+ name: scope ? scope + ':' + 'Claim_Status' : 'Claim_Status',
291
+ label: "Status of Claim:",
292
+ options: [
293
+ "No action taken yet",
294
+ "Demand for compensation made",
295
+ "Lawsuit filed",
296
+ "Other"
297
+ ]
298
+ });
299
+
529
300
  const comments = (updates, scope) => textArea(
530
301
  merge({
531
302
  name: scope ? scope + ':' + 'Comments' : 'Comments',
@@ -559,6 +330,21 @@ const degreeOfInterest = (scope, help) => sbsSelect({
559
330
 
560
331
  const degreeOfInterestHelp = (scope) => degreeOfInterest(scope, 'No payment necessary to speak with lawyers.');
561
332
 
333
+ const disabilityConditionStopWork = (scope) => sbsYesNoRadio({
334
+ name: scope ? scope + ':' + 'Disability_Condition_Stop_Work' : 'Disability_Condition_Stop_Work',
335
+ label: 'Do You Expect To Be Out Of Work For At Least a Year Due To Your Health?'
336
+ });
337
+
338
+ const disabilityWorkHistory = (scope) => sbsYesNoRadio({
339
+ name: scope ? scope + ':' + 'Disability_Work_History' : 'Disability_Work_History',
340
+ label: 'Have You Had a Full-Time Job Within the Past 5 Years?'
341
+ });
342
+
343
+ const doctorTreatment = (scope) => sbsYesNoRadio({
344
+ name: scope ? scope + ':' + 'Doctor_Treatment' : 'Doctor_Treatment',
345
+ label: 'Have You Recently Been Treated by a Doctor, Hospital or Clinic?',
346
+ });
347
+
562
348
  const email = () => sbsText({
563
349
  $formkit: 'email',
564
350
  name: 'Email',
@@ -637,6 +423,77 @@ const lawyerPaymentMethod = (scope) => sbsSelect({
637
423
  ]
638
424
  });
639
425
 
426
+ const legalCrossSells$1 = () => col2Checkbox({
427
+ id: 'Legal_CrossSells',
428
+ name: 'Legal_CrossSells',
429
+ help: 'Just hit "Next" if none apply',
430
+ helpClass: 't-text-center !t-text-sm',
431
+ validation: null,
432
+ options: {
433
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Auto and Car Accidents"',
434
+ then: {
435
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
436
+ 'Wills and Trusts': 'Need a Will or Trust',
437
+ 'Workers Compensation': 'Workplace Injury',
438
+ 'Power of Attorney': 'Update Power of Attorney',
439
+ 'Divorce and Separation': 'Need a Divorce or Separation',
440
+ 'Child Custody': 'Need help with Child Custody',
441
+ },
442
+ else: {
443
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Personal Injury" || $getVal($get(form), "Type_Of_Legal_Problem") === "Workers Compensation"',
444
+ then: {
445
+ 'DUI and DWI': 'Involved in a DUI/DWI',
446
+ 'Wills and Trusts': 'Need a Will or Trust',
447
+ 'Power of Attorney': 'Update Power of Attorney',
448
+ 'Divorce and Separation': 'Need a Divorce or Separation',
449
+ 'Child Custody': 'Need help with Child Custody',
450
+ // TODO add one more?
451
+ },
452
+ else: {
453
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "DUI and DWI"',
454
+ then: {
455
+ 'Personal Injury': 'Personal or Workplace Injury',
456
+ 'Wills and Trusts': 'Need a Will or Trust',
457
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
458
+ 'Power of Attorney': 'Update Power of Attorney',
459
+ 'Divorce and Separation': 'Need a Divorce or Separation',
460
+ 'Child Custody': 'Need help with Child Custody',
461
+ },
462
+ else: {
463
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Wills and Trusts" || $getVal($get(form), "Type_Of_Legal_Problem") === "Probate and Estates" || $getVal($get(form), "Type_Of_Legal_Problem") === "Power of Attorney"',
464
+ then: {
465
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
466
+ 'Personal Injury': 'Personal or Workplace Injury',
467
+ 'DUI and DWI': 'Involved in a DUI/DWI',
468
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
469
+ 'Divorce and Separation': 'Need a Divorce or Separation',
470
+ 'Child Custody': 'Need help with Child Custody',
471
+ },
472
+ else: {
473
+ if: '$getVal($get(form), "Type_Of_Legal_Problem") === "Long Term Disability" || $getVal($get(form), "Type_Of_Legal_Problem") === "Social Security Disability and Insurance"',
474
+ then: {
475
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
476
+ 'DUI and DWI': 'Involved in a DUI/DWI',
477
+ 'Wills and Trusts': 'Need a Will or Trust',
478
+ 'Power of Attorney': 'Update Power of Attorney',
479
+ 'Divorce and Separation': 'Need a Divorce or Separation',
480
+ 'Child Custody': 'Need help with Child Custody',
481
+ },
482
+ else: {
483
+ 'Auto and Car Accidents': 'Injured in a Car Accident',
484
+ 'Personal Injury': 'Personal or Workplace Injury',
485
+ 'DUI and DWI': 'Involved in a DUI/DWI',
486
+ 'Wills and Trusts': 'Need a Will or Trust',
487
+ 'Power of Attorney': 'Update Power of Attorney',
488
+ 'Social Security Disability and Insurance': 'Interest in Disability Benefits',
489
+ }
490
+ }
491
+ }
492
+ }
493
+ }
494
+ }
495
+ });
496
+
640
497
  const maritalStatus = (scope) => sbsSelect({
641
498
  name: scope ? scope + ':' + 'Marital_Status' : 'Marital_Status',
642
499
  label: 'Marital Status:',
@@ -650,6 +507,11 @@ const maritalStatus = (scope) => sbsSelect({
650
507
  ]
651
508
  });
652
509
 
510
+ const pendingCharges = (scope) => sbsYesNoRadio({
511
+ name: scope ? scope + ':' + 'Pending_Charges' : 'Pending_Charges',
512
+ label: 'Do you currently have any pending charges?'
513
+ });
514
+
653
515
  const phone = () => sbsText({
654
516
  $formkit: 'tel',
655
517
  name: 'Primary_Phone',
@@ -668,6 +530,31 @@ const phone = () => sbsText({
668
530
  helpClass: "t-mt-2.5 md:t-text-right md:t-mt-[-2px]"
669
531
  });
670
532
 
533
+ const primaryInjury = (scope) => sbs2ColRadio({
534
+ name: scope ? scope + ':' + 'Primary_Injury' : 'Primary_Injury',
535
+ label: 'Primary Injury:',
536
+ options: [
537
+ "Anxiety",
538
+ "Back or Neck Pain",
539
+ "Broken Bones",
540
+ "Cuts and Bruises",
541
+ "Headaches",
542
+ "Memory Loss",
543
+ "Loss of Limb",
544
+ "Other (describe on next page)"
545
+ ]
546
+ });
547
+
548
+ const priorAlcoholOffenses = (scope) => sbsYesNoRadio({
549
+ name: scope ? scope + ':' + 'Prior_Alcohol_Offenses' : 'Prior_Alcohol_Offenses',
550
+ label: 'Any Prior Alcohol Related Offenses?'
551
+ });
552
+
553
+ const policeReportFiled = (scope) => sbsYesNoRadio({
554
+ name: scope ? scope + ':' + 'Police_Report_Filed' : 'Police_Report_Filed',
555
+ label: 'Was a Police Report Filed?'
556
+ });
557
+
671
558
  const relationshipToVictim = () => sbsSelect({
672
559
  label: 'Relationship to the Victim:',
673
560
  name: 'Relationship_To_Victim',
@@ -691,6 +578,11 @@ const roleInMatterProbate = (scope) => sbsSelect({
691
578
  ]
692
579
  });
693
580
 
581
+ const socialSecurityDisabilityReceivingBenefits = (scope) => sbsYesNoRadio({
582
+ name: scope ? scope + ':' + 'Social_Security_Disability_Receiving_Benefits' : 'Social_Security_Disability_Receiving_Benefits',
583
+ label: 'Are You Currently Receiving Social Security Disability Benefits?'
584
+ });
585
+
694
586
  const TCPAConsent = () => ({
695
587
  $formkit: 'checkbox',
696
588
  label: '$meta.tcpaLanguage',
@@ -706,6 +598,19 @@ const TCPAConsent = () => ({
706
598
  }
707
599
  });
708
600
 
601
+ const typeOfAlcoholTest = (scope) => sbsSelect({
602
+ name: scope ? scope + ':' + 'Type_Of_Alcohol_Test' : 'Type_Of_Alcohol_Test',
603
+ label: 'Type of Alcohol Test Performed?',
604
+ options: [
605
+ "No Test",
606
+ "Refused Test",
607
+ "Breath Test",
608
+ "Blood Test",
609
+ "Urine Test",
610
+ "Don't Know"
611
+ ]
612
+ });
613
+
709
614
  const typeOfAssets = (scope) => col2Checkbox({
710
615
  name: scope ? scope + ':' + 'Type_Of_Assets' : 'Type_Of_Assets',
711
616
  label: 'Type of Assets:',
@@ -776,6 +681,66 @@ const group = (name, updates) => {
776
681
  }, updates)
777
682
  };
778
683
 
684
+ const AutoAndCarAccidentsQuestions = (condition, scope) => group(
685
+ 'AutoAndCarAccidentsQuestions',
686
+ {
687
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Auto and Car Accidents"'),
688
+ children: [
689
+ haveAttorney(scope),
690
+ incidentDate(scope),
691
+ atFault(scope),
692
+ primaryInjury(scope),
693
+ doctorTreatment(scope),
694
+ policeReportFiled(scope)
695
+ ]
696
+ }
697
+ );
698
+
699
+ const ChildCustodyQuestions = (condition, scope) => group(
700
+ 'ChildCustodyQuestions',
701
+ {
702
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Child Custody"'),
703
+ children: [
704
+ haveAttorney(scope),
705
+ childRelationship(scope),
706
+ childHome(scope),
707
+ childPrimaryCaregiver(scope),
708
+ degreeOfInterest(scope),
709
+ lawyerPaymentMethod(scope)
710
+ ]
711
+ }
712
+ );
713
+
714
+ const DivorceQuestions = (condition, scope) => group(
715
+ 'DivorceQuestions',
716
+ {
717
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Divorce and Separation"'),
718
+ children: [
719
+ haveAttorney(scope),
720
+ maritalStatus(scope),
721
+ haveChildren(scope),
722
+ degreeOfInterest(scope),
723
+ lawyerPaymentMethod(scope)
724
+ ]
725
+ }
726
+ );
727
+
728
+ const DUIAndDWIQuestions = (condition, scope) => group(
729
+ 'DUIAndDWIQuestions',
730
+ {
731
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "DUI and DWI"'),
732
+ children: [
733
+ haveAttorney(scope),
734
+ incidentDate(scope),
735
+ priorAlcoholOffenses(scope),
736
+ typeOfAlcoholTest(scope),
737
+ bloodContentAlcoholTest(scope),
738
+ pendingCharges(scope),
739
+ degreeOfInterestHelp(scope)
740
+ ]
741
+ }
742
+ );
743
+
779
744
  const FamilyIssuesQuestions = () => group(
780
745
  'FamilyIssuesQuestions',
781
746
  {
@@ -790,6 +755,21 @@ const FamilyIssuesQuestions = () => group(
790
755
  }
791
756
  );
792
757
 
758
+ const PersonalInjuryQuestions = (condition, scope) => group(
759
+ 'PersonalInjuryQuestions',
760
+ {
761
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Personal Injury"'),
762
+ children: [
763
+ haveAttorney(scope),
764
+ incidentDate(scope),
765
+ claimStatus(scope),
766
+ atFault(scope),
767
+ primaryInjury(scope),
768
+ doctorTreatment(scope)
769
+ ]
770
+ }
771
+ );
772
+
793
773
  const PowerofAttorneyQuestions = (condition, scope) => group(
794
774
  'PowerofAttorneyQuestions',
795
775
  {
@@ -816,6 +796,21 @@ const ProbateAndEstatesQuestions = () => group(
816
796
  }
817
797
  );
818
798
 
799
+ const SocialSecurityDisabilityAndInsuranceQuestions = (condition, scope) => group(
800
+ 'SocialSecurityDisabilityAndInsuranceQuestions',
801
+ {
802
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Social Security Disability and Insurance"'),
803
+ children: [
804
+ haveAttorney(scope),
805
+ applicantAge(scope),
806
+ disabilityConditionStopWork(scope),
807
+ disabilityWorkHistory(scope),
808
+ socialSecurityDisabilityReceivingBenefits(scope),
809
+ doctorTreatment(scope)
810
+ ]
811
+ }
812
+ );
813
+
819
814
  const WillsAndTrustsQuestions = (condition, scope) => group(
820
815
  'WillsAndTrustsQuestions',
821
816
  {
@@ -831,6 +826,21 @@ const WillsAndTrustsQuestions = (condition, scope) => group(
831
826
  }
832
827
  );
833
828
 
829
+ const WorkersCompensationQuestions = (condition, scope) => group(
830
+ 'WorkersCompensationQuestions',
831
+ {
832
+ if: (condition || '$get(Type_Of_Legal_Problem).value == "Workers Compensation"'),
833
+ children: [
834
+ haveAttorney(scope),
835
+ incidentDate(scope),
836
+ claimStatus(scope),
837
+ primaryInjury(scope),
838
+ causeOfInjury(scope),
839
+ doctorTreatment(scope)
840
+ ]
841
+ }
842
+ );
843
+
834
844
  const WrongfulDeathQuestions = () => group(
835
845
  'WrongfulDeathQuestions',
836
846
  {
@@ -877,305 +887,892 @@ const findLastInput = (n) => {
877
887
  if (res) {
878
888
  return res
879
889
  }
880
- }
881
- return null
890
+ }
891
+ return null
892
+ };
893
+
894
+ const secureIconDefault = {
895
+ $el: 'div',
896
+ if: '$activeStep === $lastStep()',
897
+ attrs: {
898
+ class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
899
+ },
900
+ children: [
901
+ {
902
+ $el: 'img',
903
+ attrs: {
904
+ loading: 'lazy',
905
+ alt: '',
906
+ style: {
907
+ border: 0
908
+ },
909
+ width: '25',
910
+ height: '25',
911
+ src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
912
+ }
913
+ },
914
+ {
915
+ $el: 'span',
916
+ children: 'Secure & Encrypted',
917
+ attrs: {
918
+ class: 't-pl-2 t-pt-1 t-font-medium'
919
+ }
920
+ }
921
+ ]
922
+ };
923
+
924
+ function secureIcon(updates) {
925
+ return merge(
926
+ secureIconDefault,
927
+ updates
928
+ )
929
+ }
930
+
931
+ function questionsStepHeadline(updates) {
932
+ return {
933
+ $el: 'h3',
934
+ children: updates.headline || 'Tell Us About Your Situation',
935
+ attrs: {
936
+ 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'
937
+ }
938
+ }
939
+ }
940
+
941
+ function crossSellQuestionsStepHeadline(updates) {
942
+ return {
943
+ $el: 'h3',
944
+ children: updates.headline || 'Tell Us About Your Situation',
945
+ attrs: {
946
+ 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'
947
+ }
948
+ }
949
+ }
950
+
951
+ function crossSellQuestionsStepSubHeadline(updates) {
952
+ return {
953
+ $el: 'h5',
954
+ children: updates.subheadline || 'Tell us about your situation:',
955
+ attrs: {
956
+ class: 't-flex t-justify-center t-text-dark t-text-center !t-text-lg t-font-semibold t-pb-4 t-pt-0 t-px-3'
957
+ }
958
+ }
959
+ }
960
+
961
+ function commentsStepHeadline(updates) {
962
+ return {
963
+ $el: 'h3',
964
+ children: updates.headline || 'Additional Case Details',
965
+ attrs: {
966
+ 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' + ' ' + (updates.headlineClass || '')
967
+ }
968
+ }
969
+ }
970
+
971
+ function firstAndLastStepHeadline(updates) {
972
+ return {
973
+ $el: 'h3',
974
+ children: updates.headline || 'Please Provide a Contact Name',
975
+ attrs: {
976
+ 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' + ' ' + (updates.headlineClass || '')
977
+ }
978
+ }
979
+ }
980
+
981
+ function legalCrossSellsStepHeadline(updates) {
982
+ return {
983
+ $el: 'h3',
984
+ children: updates.headline || 'Do any of the following situations apply?',
985
+ attrs: {
986
+ 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' + ' ' + (updates.headlineClass || '')
987
+ }
988
+ }
989
+ }
990
+
991
+ function contactStepHeadline(updates) {
992
+ return {
993
+ $el: 'h3',
994
+ children: updates.headline || DEFAULT_FINAL_HEADLINE_DYNAMIC,
995
+ attrs: {
996
+ class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-3 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
997
+ }
998
+ }
999
+ }
1000
+
1001
+ function contactStepSubHeadline(updates) {
1002
+ return {
1003
+ $el: 'h5',
1004
+ children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC,
1005
+ attrs: {
1006
+ 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 || '')
1007
+ }
1008
+ }
1009
+ }
1010
+
1011
+ const TRUSTED_FORM_JS = `(function() {
1012
+ if (window.xxTrustedFormLoaded) {
1013
+ return
1014
+ }
1015
+ var vid = '';
1016
+ if (typeof window.zar !== 'undefined') {
1017
+ vid = window.zar.getVID();
1018
+ }
1019
+ window.xxTrustedFormLoaded = true;
1020
+ var sandbox = document.location.hostname.indexOf('localhost') > -1 ? 'true' : 'false'
1021
+ var tf = document.createElement('script');
1022
+ tf.type = 'text/javascript'; tf.async = true;
1023
+ 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();
1024
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(tf, s);
1025
+ })();`;
1026
+
1027
+ function trustedFormScript() {
1028
+ return {
1029
+ $el: 'script',
1030
+ if: '$activeStep === $lastStep()',
1031
+ children: TRUSTED_FORM_JS
1032
+ }
1033
+ }
1034
+
1035
+ const stepDefaults = (step, stepKey) => ({
1036
+ $el: 'section',
1037
+ if: '$stepEnabled("' + step + '")',
1038
+ attrs: {
1039
+ hidden: '$activeStep !== "' + step + '"',
1040
+ key: stepKey ? stepKey : step
1041
+ }
1042
+ });
1043
+
1044
+ function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = undefined, nextStepMap = undefined, autoFocus = undefined) {
1045
+ if (typeof nextOnEnter === 'undefined') {
1046
+ nextOnEnter = true;
1047
+ }
1048
+ if (inputs && inputs.length && (nextOnEnter || nextOnInput)) {
1049
+ const lastInput = findLastInput(inputs[inputs.length - 1]);
1050
+ if (lastInput && nextOnEnter === true) {
1051
+ lastInput.onKeypress = NEXT_ON_ENTER;
1052
+ }
1053
+ if (lastInput && nextOnInput === true) {
1054
+ lastInput.onInput = NEXT_ON_INPUT;
1055
+ }
1056
+ }
1057
+
1058
+ return merge(
1059
+ stepDefaults(name, stepKey),
1060
+ {
1061
+ children: [
1062
+ {
1063
+ $formkit: 'group',
1064
+ id: name,
1065
+ name: name,
1066
+ nextStepMap: nextStepMap,
1067
+ autoFocus: autoFocus,
1068
+ children: inputs
1069
+ }
1070
+ ]
1071
+ }
1072
+ )
1073
+ }
1074
+
1075
+ function commentsWithBankruptcy(updates = {}) {
1076
+ return step(
1077
+ 'commentsWithBankruptcy',
1078
+ [
1079
+ commentsStepHeadline(updates),
1080
+ comments({
1081
+ label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
1082
+ placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1083
+ inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
1084
+ }),
1085
+ bankruptcyCrossSell(),
1086
+ {
1087
+ $el: 'div',
1088
+ if: '$get(CrossSell_Bankruptcy).value == true',
1089
+ children: [
1090
+ comments({
1091
+ label: 'Bankruptcy or debt details:',
1092
+ placeholder: 'Please describe your bankrtupcy or debt situation in a few words...',
1093
+ inputClass: '!t-h-16'
1094
+ }, 'CrossSell:Bankruptcy')
1095
+ ],
1096
+ }
1097
+ ],
1098
+ false // nextOnEnter
1099
+ )
1100
+ }
1101
+
1102
+ function contactInfo(updates = {}) {
1103
+ return step(
1104
+ 'contactInfo',
1105
+ [
1106
+ contactStepHeadline(updates),
1107
+ contactStepSubHeadline(updates),
1108
+ trustedFormScript(),
1109
+ email(),
1110
+ phone(),
1111
+ TCPAConsent(),
1112
+ secureIcon()
1113
+ ],
1114
+ false, // nextOnEnter
1115
+ )
1116
+ }
1117
+
1118
+ function firstAndLastV2(updates = {}) {
1119
+ return step(
1120
+ 'firstAndLast',
1121
+ [
1122
+ firstAndLastStepHeadline(updates),
1123
+ firstName(),
1124
+ lastName()
1125
+ ],
1126
+ updates.nextOnEnter
1127
+ )
1128
+ }
1129
+
1130
+
1131
+ function autoAndCarAccidentCrossSellQuestions(updates = {}) {
1132
+ return step(
1133
+ 'autoAndCarAccidentCrossSellQuestions',
1134
+ [
1135
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1136
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your accident:' }),
1137
+ AutoAndCarAccidentsQuestions("true", 'CrossSell:Auto_and_Car_Accidents'),
1138
+ comments(
1139
+ {
1140
+ label: 'Accident Description:',
1141
+ placeholder: 'Please describe your accident in a few words...',
1142
+ inputClass: '!t-h-16'
1143
+ },
1144
+ 'CrossSell:Auto_and_Car_Accidents'
1145
+ )
1146
+ ],
1147
+ updates.nextOnEnter
1148
+ )
1149
+ }
1150
+
1151
+ function childCustodyCrossSellQuestions(updates = {}) {
1152
+ return step(
1153
+ 'childCustodyCrossSellQuestions',
1154
+ [
1155
+ crossSellQuestionsStepHeadline({ headline: 'Child Custody Information' }),
1156
+ ChildCustodyQuestions("true", 'CrossSell:Child_Custody'),
1157
+ comments(
1158
+ {
1159
+ label: 'Description:',
1160
+ placeholder: 'Please describe your situation in a few words...',
1161
+ inputClass: '!t-h-16'
1162
+ },
1163
+ 'CrossSell:Child_Custody'
1164
+ )
1165
+ ],
1166
+ updates.nextOnEnter
1167
+ )
1168
+ }
1169
+
1170
+ function divorceAndSeparationCrossSellQuestions(updates = {}) {
1171
+ return step(
1172
+ 'divorceAndSeparationCrossSellQuestions',
1173
+ [
1174
+ crossSellQuestionsStepHeadline({ headline: 'Divorce or Separation Information' }),
1175
+ DivorceQuestions("true", 'CrossSell:Divorce_and_Separation'),
1176
+ comments(
1177
+ {
1178
+ label: 'Description:',
1179
+ placeholder: 'Please describe your situation in a few words...',
1180
+ inputClass: '!t-h-16'
1181
+ },
1182
+ 'CrossSell:Divorce_and_Separation'
1183
+ )
1184
+ ],
1185
+ updates.nextOnEnter
1186
+ )
1187
+ }
1188
+
1189
+ function duiAndDWICrossSellQuestions(updates = {}) {
1190
+ return step(
1191
+ 'duiAndDWICrossSellQuestions',
1192
+ [
1193
+ crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
1194
+ DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
1195
+ comments(
1196
+ {
1197
+ label: 'Incident Description:',
1198
+ placeholder: 'Please describe your incident in a few words...',
1199
+ inputClass: '!t-h-16'
1200
+ },
1201
+ 'CrossSell:DUI_and_DWI'
1202
+ )
1203
+ ],
1204
+ updates.nextOnEnter
1205
+ )
1206
+ }
1207
+
1208
+ function ssdiCrossSellQuestions(updates = {}) {
1209
+ return step(
1210
+ 'ssdiCrossSellQuestions',
1211
+ [
1212
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1213
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
1214
+ SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
1215
+ comments(
1216
+ {
1217
+ label: 'Description:',
1218
+ placeholder: 'Please describe your situation in a few words...',
1219
+ inputClass: '!t-h-16'
1220
+ },
1221
+ 'CrossSell:Social_Security_Disability_and_Insurance'
1222
+ )
1223
+ ],
1224
+ updates.nextOnEnter
1225
+ )
1226
+ }
1227
+
1228
+ function personalInjuryCrossSellQuestions(updates = {}) {
1229
+ return step(
1230
+ 'personalInjuryCrossSellQuestions',
1231
+ [
1232
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1233
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1234
+ PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
1235
+ comments(
1236
+ {
1237
+ label: 'Injury Description:',
1238
+ placeholder: 'Please describe your injury in a few words...',
1239
+ inputClass: '!t-h-16'
1240
+ },
1241
+ 'CrossSell:Personal_Injury'
1242
+ )
1243
+ ],
1244
+ updates.nextOnEnter
1245
+ )
1246
+ }
1247
+
1248
+ function powerOfAttorneyCrossSellQuestions(updates = {}) {
1249
+ return step(
1250
+ 'powerOfAttorneyCrossSellQuestions',
1251
+ [
1252
+ crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
1253
+ PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
1254
+ comments(
1255
+ {
1256
+ label: 'Description:',
1257
+ placeholder: 'Please describe your situation in a few words...',
1258
+ inputClass: '!t-h-16'
1259
+ },
1260
+ 'CrossSell:Power_of_Attorney'
1261
+ )
1262
+ ],
1263
+ updates.nextOnEnter
1264
+ )
1265
+ }
1266
+
1267
+ function willsAndTrustsCrossSellQuestions(updates = {}) {
1268
+ return step(
1269
+ 'willsAndTrustsCrossSellQuestions',
1270
+ [
1271
+ crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
1272
+ WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
1273
+ comments(
1274
+ {
1275
+ label: 'Description:',
1276
+ placeholder: 'Please describe your situation in a few words...',
1277
+ inputClass: '!t-h-16'
1278
+ },
1279
+ 'CrossSell:Wills_and_Trusts'
1280
+ )
1281
+ ],
1282
+ updates.nextOnEnter
1283
+ )
1284
+ }
1285
+
1286
+ function workersCompensationCrossSellQuestions(updates = {}) {
1287
+ return step(
1288
+ 'workersCompensationCrossSellQuestions',
1289
+ [
1290
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1291
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1292
+ WorkersCompensationQuestions("true", 'CrossSell:Workers_Compensation'),
1293
+ comments(
1294
+ {
1295
+ label: 'Injury Description:',
1296
+ placeholder: 'Please describe your injury in a few words...',
1297
+ inputClass: '!t-h-16'
1298
+ },
1299
+ 'CrossSell:Workers_Compensation'
1300
+ )
1301
+ ],
1302
+ updates.nextOnEnter
1303
+ )
1304
+ }
1305
+
1306
+ function legalCrossSells(updates = {}) {
1307
+ return step(
1308
+ 'legalCrossSells',
1309
+ [
1310
+ legalCrossSellsStepHeadline(updates),
1311
+ legalCrossSells$1(),
1312
+ ],
1313
+ updates.nextOnEnter,
1314
+ false,
1315
+ // Note: we should probably scope this stepKey to this step name
1316
+ '$get(Type_Of_Legal_Problem).value'
1317
+ )
1318
+ }
1319
+
1320
+
1321
+ function willsAndTrustsTOLPAndZip(updates = {}) {
1322
+ return step(
1323
+ 'willsAndTrustsTOLPAndZip',
1324
+ [
1325
+ willsAndTrustsTOLP(),
1326
+ zipcode()
1327
+ ],
1328
+ updates.nextOnEnter,
1329
+ updates.nextOnInput,
1330
+ updates.stepKey,
1331
+ updates.nextStepMap
1332
+ )
1333
+ }
1334
+
1335
+ function willsAndTrustsTOLPQuestions(updates = {}) {
1336
+ return step(
1337
+ 'TOLPQuestions',
1338
+ [
1339
+ questionsStepHeadline(updates),
1340
+ WillsAndTrustsQuestions(),
1341
+ ProbateAndEstatesQuestions(),
1342
+ PowerofAttorneyQuestions(),
1343
+ WrongfulDeathQuestions(),
1344
+ FamilyIssuesQuestions(),
1345
+ NotSureOrOtherQuestions()
1346
+ ],
1347
+ updates.nextOnEnter
1348
+ )
1349
+ }
1350
+
1351
+ // ------ Common
1352
+
1353
+ const formNavigation = () => ({
1354
+ $el: 'div',
1355
+ attrs: {
1356
+ class: 'step-nav'
1357
+ },
1358
+ children: [
1359
+ {
1360
+ $formkit: 'button',
1361
+ name: 'back_button',
1362
+ onClick: '$setPreviousStep($prevStepFunc($get(form)))',
1363
+ children: 'Back',
1364
+ style: {
1365
+ if: '$activeStep === $firstStep()',
1366
+ then: 'visibility: hidden;'
1367
+ }
1368
+ },
1369
+ {
1370
+ $formkit: 'button',
1371
+ name: 'next_button',
1372
+ onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
1373
+ children: {
1374
+ if: '$activeStep === $firstStep()',
1375
+ then: 'Start',
1376
+ else: 'Next'
1377
+ },
1378
+ outerClass: {
1379
+ if: '$activeStep === $lastStep()',
1380
+ then: 't-hidden',
1381
+ else: ''
1382
+ },
1383
+ style: {
1384
+ if: '$activeStep === $lastStep()',
1385
+ then: 'display: none;'
1386
+ }
1387
+ },
1388
+ {
1389
+ $formkit: 'submit',
1390
+ name: 'submit_button',
1391
+ label: 'Submit',
1392
+ if: '$activeStep === $lastStep()',
1393
+ style: {
1394
+ if: '$activeStep !== $lastStep()',
1395
+ then: 'display: none;'
1396
+ }
1397
+ }
1398
+ ]
1399
+ });
1400
+
1401
+ const formDetails = () => ({
1402
+ $el: 'pre',
1403
+ if: '$urlParam("fdbg", "") == 1',
1404
+ children: [
1405
+ {
1406
+ $el: 'pre',
1407
+ children: '$stringify( $get(form).value )',
1408
+ attrs: {
1409
+ class: 't-text-xs',
1410
+ style: 'overflow: scroll'
1411
+ }
1412
+ },
1413
+ {
1414
+ $el: 'pre',
1415
+ children: ['activeStep: ', '$activeStep'],
1416
+ attrs: {
1417
+ class: 't-text-xs',
1418
+ style: 'overflow: scroll'
1419
+ }
1420
+ },
1421
+ {
1422
+ $el: 'pre',
1423
+ children: ['stepHistory: ', '$stepHistory'],
1424
+ attrs: {
1425
+ class: 't-text-xs',
1426
+ style: 'overflow: scroll'
1427
+ }
1428
+ },
1429
+ {
1430
+ $el: 'pre',
1431
+ children: ['stepQueue: ', '$stepQueue'],
1432
+ attrs: {
1433
+ class: 't-text-xs',
1434
+ style: 'overflow: scroll'
1435
+ }
1436
+ },
1437
+ {
1438
+ $el: 'pre',
1439
+ children: ['steps: ', '$stepKeys()'],
1440
+ attrs: {
1441
+ class: 't-text-xs',
1442
+ style: 'overflow: scroll'
1443
+ }
1444
+ }
1445
+ ]
1446
+ });
1447
+
1448
+ const formPropDefaults = {
1449
+ type: 'form',
1450
+ id: 'form',
1451
+ config: { validationVisibility: 'submit' },
1452
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
1453
+ plugins: '$plugins',
1454
+ actions: false,
1455
+ anchorElement: 'form-anchor',
1456
+ useLocalStorage: true,
1457
+ prepop: {
1458
+ fromURL: true
1459
+ },
1460
+ errorCodes: {
1461
+ 403: { message: "An Error Occurred", abort: false },
1462
+ 409: { abort: false },
1463
+ 429: "An Error Occurred",
1464
+ 504: { message: "An Error Occurred", abort: false },
1465
+ },
1466
+ formClass: '!t-max-w-[40rem]'
882
1467
  };
883
1468
 
884
- function questionsStepHeadline(updates) {
885
- return {
886
- $el: 'h3',
887
- children: updates.headline || 'Tell Us About Your Situation',
888
- attrs: {
889
- 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'
890
- }
1469
+ function formProps(updates) {
1470
+ const props = merge(
1471
+ formPropDefaults,
1472
+ updates
1473
+ );
1474
+ if (props.formId && !props.name) {
1475
+ props.name = props.formId;
891
1476
  }
1477
+ return props
892
1478
  }
893
1479
 
894
- function commentsStepHeadline(updates) {
1480
+ const metaDefaults = {
1481
+ tcpaLanguage: TCPA_LANGUAGE
1482
+ };
1483
+
1484
+ function metaProps(updates) {
1485
+ const data = merge(
1486
+ metaDefaults,
1487
+ updates
1488
+ );
895
1489
  return {
896
- $el: 'h3',
897
- children: updates.headline || 'Additional Case Details',
898
- attrs: {
899
- 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' + ' ' + (updates.headlineClass || '')
900
- }
1490
+ type: 'meta',
1491
+ data
901
1492
  }
902
1493
  }
903
1494
 
904
- function firstAndLastStepHeadline(updates) {
905
- return {
906
- $el: 'h3',
907
- children: updates.headline || 'Please Provide a Contact Name',
908
- attrs: {
909
- 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' + ' ' + (updates.headlineClass || '')
910
- }
911
- }
1495
+ function defaultMetaProps() {
1496
+ return metaProps({
1497
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1498
+ commentsPlaceholders: TOLPCommentsPlaceholders,
1499
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
1500
+ finalHeadlines: TOLPFinalHeadlines,
1501
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
1502
+ finalSubHeadlines: TOLPFinalSubHeadlines,
1503
+ })
912
1504
  }
913
1505
 
914
- function contactStepHeadline(updates) {
915
- return {
916
- $el: 'h3',
917
- children: updates.headline || DEFAULT_FINAL_HEADLINE_DYNAMIC,
918
- attrs: {
919
- class: 't-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-3 t-pt-0 t-px-1' + ' ' + (updates.headlineClass || '')
1506
+ const dynamicSchemaNode = {
1507
+ $cmp: 'FormKitSchema',
1508
+ if: '$get(Type_Of_Legal_Problem).value',
1509
+ props: {
1510
+ schema: '$meta.dynamicSchema',
1511
+ data: '$buildData($meta)'
1512
+ }
1513
+ };
1514
+
1515
+ const formAnchorDefaults = {
1516
+ $el: 'div',
1517
+ children: [
1518
+ {
1519
+ $el: 'div',
1520
+ attrs: {
1521
+ id: 'form-anchor',
1522
+ class: 't-absolute',
1523
+ style: { top: '-30px', left: 0 }
1524
+ }
920
1525
  }
1526
+ ],
1527
+ attrs: {
1528
+ class: 't-relative'
921
1529
  }
1530
+ };
1531
+
1532
+ function formAnchor(updates) {
1533
+ return merge(
1534
+ formAnchorDefaults,
1535
+ updates
1536
+ )
922
1537
  }
923
1538
 
924
- function contactStepSubHeadline(updates) {
1539
+ function headlineDefaults(updates = {}) {
925
1540
  return {
926
- $el: 'h5',
927
- children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC,
1541
+ $el: 'h1',
928
1542
  attrs: {
929
- 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 || '')
1543
+ 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 || '')
930
1544
  }
931
1545
  }
932
1546
  }
933
1547
 
934
- const TRUSTED_FORM_JS = `(function() {
935
- if (window.xxTrustedFormLoaded) {
936
- return
937
- }
938
- var vid = '';
939
- if (typeof window.zar !== 'undefined') {
940
- vid = window.zar.getVID();
941
- }
942
- window.xxTrustedFormLoaded = true;
943
- var sandbox = document.location.hostname.indexOf('localhost') > -1 ? 'true' : 'false'
944
- var tf = document.createElement('script');
945
- tf.type = 'text/javascript'; tf.async = true;
946
- 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();
947
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(tf, s);
948
- })();`;
949
-
950
- function trustedFormScript() {
951
- return {
952
- $el: 'script',
953
- if: '$activeStep === $lastStep()',
954
- children: TRUSTED_FORM_JS
955
- }
1548
+ function headline(updates = {}) {
1549
+ return merge(
1550
+ headlineDefaults(updates),
1551
+ updates
1552
+ )
956
1553
  }
957
1554
 
958
- const stepDefaults = (step, stepKey) => ({
959
- $el: 'section',
960
- if: '$stepEnabled("' + step + '")',
961
- attrs: {
962
- hidden: '$activeStep !== "' + step + '"',
963
- key: stepKey ? stepKey : step
964
- }
965
- });
1555
+ function defaultHeadline() {
1556
+ return headline({
1557
+ children: '$urlParam("hl", "Start Here For a Free Consultation")',
1558
+ if: '$activeStep === $firstStep()'
1559
+ })
1560
+ }
966
1561
 
967
- function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = undefined, nextStepMap = undefined, autoFocus = undefined) {
968
- if (typeof nextOnEnter === 'undefined') {
969
- nextOnEnter = true;
970
- }
971
- if (inputs && inputs.length && (nextOnEnter || nextOnInput)) {
972
- const lastInput = findLastInput(inputs[inputs.length - 1]);
973
- if (lastInput && nextOnEnter === true) {
974
- lastInput.onKeypress = NEXT_ON_ENTER;
975
- }
976
- if (lastInput && nextOnInput === true) {
977
- lastInput.onInput = NEXT_ON_INPUT;
1562
+ function subHeadlineDefaults(updates = {}) {
1563
+ return {
1564
+ $el: 'h3',
1565
+ attrs: {
1566
+ 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 || '')
978
1567
  }
979
1568
  }
1569
+ }
980
1570
 
1571
+ function subHeadline(updates = {}) {
981
1572
  return merge(
982
- stepDefaults(name, stepKey),
983
- {
984
- children: [
985
- {
986
- $formkit: 'group',
987
- id: name,
988
- name: name,
989
- nextStepMap: nextStepMap,
990
- autoFocus: autoFocus,
991
- children: inputs
992
- }
993
- ]
994
- }
1573
+ subHeadlineDefaults(updates),
1574
+ updates
995
1575
  )
996
1576
  }
997
1577
 
998
- function commentsWithBankruptcyV2(updates = {}) {
999
- return step(
1000
- 'commentsWithBankruptcy',
1001
- [
1002
- commentsStepHeadline(updates),
1003
- comments({
1004
- label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
1005
- placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1006
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-40' : updates.inputClass,
1007
- }),
1008
- bankruptcyCrossSell(),
1009
- {
1010
- $el: 'div',
1011
- if: '$get(CrossSell_Bankruptcy).value == true',
1012
- children: [
1013
- comments({
1014
- label: 'Bankruptcy or debt details:',
1015
- placeholder: 'Please describe your bankrtupcy or debt situation in a few words...',
1016
- inputClass: '!t-h-16'
1017
- }, 'CrossSell:Bankruptcy')
1018
- ],
1019
- }
1020
- ],
1021
- updates.nextOnEnter,
1022
- )
1578
+ function defaultSubHeadline() {
1579
+ return subHeadline({
1580
+ children: '$urlParam("shl", "Our Service is Fast and Free!")',
1581
+ if: '$activeStep === $firstStep()'
1582
+ })
1023
1583
  }
1024
1584
 
1025
- function contactInfoV2(updates = {}) {
1026
- return step(
1027
- 'contactInfo',
1028
- [
1029
- contactStepHeadline(updates),
1030
- contactStepSubHeadline(updates),
1031
- // Added TF everywhere
1032
- trustedFormScript(),
1033
- email(),
1034
- phone(),
1035
- TCPAConsent(),
1036
- secureIcon()
1037
- ],
1038
- updates.nextOnEnter
1039
- )
1040
- }
1585
+ const hiddenInputsBase = [
1586
+ {
1587
+ $formkit: 'hidden',
1588
+ name: "gclid",
1589
+ value: null
1590
+ },
1591
+ {
1592
+ $formkit: 'hidden',
1593
+ name: "campaignid",
1594
+ value: null
1595
+ },
1596
+ {
1597
+ $formkit: 'hidden',
1598
+ name: "s",
1599
+ value: null
1600
+ }
1601
+ ];
1602
+
1603
+ const hiddenInputsLegal = [
1604
+ {
1605
+ $formkit: 'hidden',
1606
+ name: "vertical",
1607
+ value: "Legal"
1608
+ },
1609
+ {
1610
+ $formkit: 'hidden',
1611
+ name: "TCPA_Language",
1612
+ value: "$meta.tcpaLanguage"
1613
+ },
1614
+ ...hiddenInputsBase
1615
+ ];
1041
1616
 
1042
- function firstAndLastV2(updates = {}) {
1043
- return step(
1044
- 'firstAndLast',
1045
- [
1046
- firstAndLastStepHeadline(updates),
1047
- firstName(),
1048
- lastName()
1049
- ],
1050
- updates.nextOnEnter
1051
- )
1052
- }
1617
+ const legalRedirectMapDefaults = {
1618
+ '*': LegalRedirectUrl()
1619
+ };
1053
1620
 
1054
1621
 
1055
- function willsAndTrustsTOLPAndZip(updates = {}) {
1056
- return step(
1057
- 'willsAndTrustsTOLPAndZip',
1058
- [
1059
- willsAndTrustsTOLP(),
1060
- zipcode()
1061
- ],
1062
- updates.nextOnEnter
1622
+ function legalRedirectMap(updates) {
1623
+ return merge(
1624
+ legalRedirectMapDefaults,
1625
+ updates
1063
1626
  )
1064
1627
  }
1065
1628
 
1066
- function willsAndTrustsTOLPQuestions(updates = {}) {
1067
- return step(
1068
- 'TOLPQuestions',
1069
- [
1070
- questionsStepHeadline(updates),
1071
- WillsAndTrustsQuestions(),
1072
- ProbateAndEstatesQuestions(),
1073
- PowerofAttorneyQuestions(),
1074
- WrongfulDeathQuestions(),
1075
- FamilyIssuesQuestions(),
1076
- NotSureOrOtherQuestions()
1077
- ],
1078
- updates.nextOnEnter
1079
- )
1080
- }
1629
+ const TOLPCommentsPlaceholders = {
1630
+ 'Adoption': 'Example: "I need help with adoption forms"',
1631
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
1632
+ '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"',
1633
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
1634
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
1635
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
1636
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
1637
+ 'Child Custody': 'Example: "Need help getting custody"',
1638
+ 'Child Support': 'Example: "Issues with child support payments"',
1639
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
1640
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
1641
+ 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
1642
+ 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
1643
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
1644
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
1645
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
1646
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
1647
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
1648
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
1649
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
1650
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
1651
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
1652
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
1653
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
1654
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
1655
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
1656
+ 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
1657
+ 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
1658
+ 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
1659
+ 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
1660
+ 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
1661
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
1662
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
1663
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
1664
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
1665
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
1666
+ '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"',
1667
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
1668
+ 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
1669
+ 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
1670
+ 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
1671
+ 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
1672
+ 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
1673
+ 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
1674
+ 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
1675
+ '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"',
1676
+ 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
1677
+ 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
1678
+ 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
1679
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
1680
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
1681
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
1682
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
1683
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
1684
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
1685
+ };
1081
1686
 
1082
- const formNavigationV2 = () => ({
1083
- $el: 'div',
1084
- attrs: {
1085
- class: 'step-nav'
1086
- },
1087
- children: [
1088
- {
1089
- $formkit: 'button',
1090
- name: 'back_button',
1091
- onClick: '$setPreviousStep($prevStepFunc($get(form)))',
1092
- children: 'Back',
1093
- style: {
1094
- if: '$activeStep === $firstStep()',
1095
- then: 'visibility: hidden;'
1096
- }
1097
- },
1098
- {
1099
- $formkit: 'button',
1100
- name: 'next_button',
1101
- onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
1102
- children: {
1103
- if: '$activeStep === $firstStep()',
1104
- then: 'Start',
1105
- else: 'Next'
1106
- },
1107
- outerClass: {
1108
- if: '$activeStep === $lastStep()',
1109
- then: 't-hidden',
1110
- else: ''
1111
- },
1112
- style: {
1113
- if: '$activeStep === $lastStep()',
1114
- then: 'display: none;'
1115
- }
1116
- },
1117
- {
1118
- $formkit: 'submit',
1119
- name: 'submit_button',
1120
- label: 'Submit',
1121
- if: '$activeStep === $lastStep()',
1122
- style: {
1123
- if: '$activeStep !== $lastStep()',
1124
- then: 'display: none;'
1125
- }
1126
- }
1127
- ]
1128
- });
1687
+ const TOLPFinalHeadlines = {
1688
+ // 'Adoption': '',
1689
+ };
1129
1690
 
1130
- const formDetails = () => ({
1131
- $el: 'pre',
1132
- if: '$urlParam("fdbg", "") == 1',
1133
- children: [
1134
- {
1135
- $el: 'pre',
1136
- children: '$stringify( $get(form).value )',
1137
- attrs: {
1138
- class: 't-text-xs',
1139
- style: 'overflow: scroll'
1140
- }
1141
- },
1142
- {
1143
- $el: 'pre',
1144
- children: ['activeStep: ', '$activeStep'],
1145
- attrs: {
1146
- class: 't-text-xs',
1147
- style: 'overflow: scroll'
1148
- }
1149
- },
1150
- {
1151
- $el: 'pre',
1152
- children: ['stepHistory: ', '$stepHistory'],
1153
- attrs: {
1154
- class: 't-text-xs',
1155
- style: 'overflow: scroll'
1156
- }
1157
- },
1158
- {
1159
- $el: 'pre',
1160
- children: ['stepQueue: ', '$stepQueue'],
1161
- attrs: {
1162
- class: 't-text-xs',
1163
- style: 'overflow: scroll'
1164
- }
1165
- },
1166
- {
1167
- $el: 'pre',
1168
- children: ['steps: ', '$stepKeys()'],
1169
- attrs: {
1170
- class: 't-text-xs',
1171
- style: 'overflow: scroll'
1172
- }
1173
- }
1691
+ const TOLPFinalSubHeadlines = {
1692
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
1693
+ // 'Asbestos and Mesothelioma': '',
1694
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
1695
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
1696
+ // 'Birth Certificate and Name Change': '',
1697
+ // 'Business Lawyers': '',
1698
+ // 'Child Custody and Support': '',
1699
+ // 'Civil Rights and Discrimination': '',
1700
+ // 'Civil Lawsuit': '',
1701
+ // 'Consumer Lawyers': '',
1702
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
1703
+ // 'Criminal and Felony': '',
1704
+ // 'Debt and Collections': '',
1705
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
1706
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
1707
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
1708
+ // 'Employment and Workplace': '',
1709
+ // 'Expungement': '',
1710
+ // 'Family Issues': '',
1711
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
1712
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
1713
+ // 'Harassment and Discrimination': '',
1714
+ // 'Identity Theft': '',
1715
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
1716
+ // 'Insurance': '',
1717
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
1718
+ // 'Lemon Law': '',
1719
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
1720
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
1721
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
1722
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
1723
+ // 'Power of Attorney': '',
1724
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
1725
+ // 'Product Liability': '',
1726
+ // 'Property Damage': '',
1727
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
1728
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
1729
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
1730
+ // 'Traffic and Tickets': '',
1731
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
1732
+ // 'Victim of a Crime': '',
1733
+ // 'Wills and Trusts': '',
1734
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
1735
+ // 'Wrongful Death': '',
1736
+ // 'Wrongful Termination': '',
1737
+ // 'Not Sure or Other': ''
1738
+ // 'Sexual Harassment': '',
1739
+ // 'Workplace Harassment': '',
1740
+ // 'Non-Workplace Harassment': '',
1741
+ // 'Workplace Discrimination': '',
1742
+ // 'Non-Workplace Discrimination': '',
1743
+ };
1744
+
1745
+
1746
+ const nextStepsMapLegalLegacy = {
1747
+ '*': [
1748
+ 'TOLPQuestions',
1749
+ 'commentsWithBankruptcy',
1750
+ 'legalCrossSells',
1751
+ 'firstAndLast',
1752
+ 'contactInfo',
1174
1753
  ]
1175
- });
1754
+ };
1755
+
1756
+ const meta = defaultMetaProps();
1757
+
1758
+ meta.data.dynamicSchema = [
1759
+ willsAndTrustsTOLPQuestions(),
1760
+ commentsWithBankruptcy(),
1761
+ legalCrossSells(),
1762
+ autoAndCarAccidentCrossSellQuestions(),
1763
+ personalInjuryCrossSellQuestions(),
1764
+ workersCompensationCrossSellQuestions(),
1765
+ duiAndDWICrossSellQuestions(),
1766
+ ssdiCrossSellQuestions(),
1767
+ powerOfAttorneyCrossSellQuestions(),
1768
+ willsAndTrustsCrossSellQuestions(),
1769
+ divorceAndSeparationCrossSellQuestions(),
1770
+ childCustodyCrossSellQuestions(),
1771
+ firstAndLastV2(),
1772
+ ];
1176
1773
 
1177
1774
  const schema = [
1178
- defaultMetaProps(),
1775
+ meta,
1179
1776
  formAnchor(),
1180
1777
  {
1181
1778
  $cmp: 'FormKit',
@@ -1193,16 +1790,12 @@ const schema = [
1193
1790
  class: 'form-body'
1194
1791
  },
1195
1792
  children: [
1196
- willsAndTrustsTOLPAndZip(),
1197
- willsAndTrustsTOLPQuestions(),
1198
- commentsWithBankruptcyV2({
1199
- nextOnEnter: false
1200
- }),
1201
- firstAndLastV2(),
1202
- contactInfoV2({
1203
- nextOnEnter: false
1793
+ willsAndTrustsTOLPAndZip({
1794
+ nextStepMap: nextStepsMapLegalLegacy
1204
1795
  }),
1205
- formNavigationV2(),
1796
+ dynamicSchemaNode,
1797
+ contactInfo(),
1798
+ formNavigation(),
1206
1799
  formDetails()
1207
1800
  ]
1208
1801
  }