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,480 +15,166 @@ 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 sbs2ColRadio = (updates) => {
78
+ updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
79
+ updates.fieldsetClass = '$reset side-by-side-flex';
80
+ updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
81
+ updates.innerClass = 't-flex t-items-start';
82
+ updates.wrapperClass = '$reset t-flex t-cursor-pointer 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 sbs2ItemRadio = (updates) => {
87
+ updates.legendClass = 'legend-left t-pb-1 required';
88
+ updates.fieldsetClass = '$reset side-by-side t-items-center';
89
+ updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
90
+ updates.innerClass = 't-flex t-items-center';
91
+ updates.optionClass = 't-pr-1';
92
+ return radio(updates)
93
+ };
117
94
 
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
- }
95
+ const sbsYesNoRadio = (updates) => {
96
+ updates.options = ['Yes', 'No'];
97
+ return sbs2ItemRadio(updates)
98
+ };
99
+
100
+ const select = (updates) => {
101
+ if (updates.name && !updates.id) {
102
+ updates.id = updates.name;
124
103
  }
125
- }
104
+ return merge({
105
+ $formkit: 'select',
106
+ placeholder: "Please Select",
107
+ validation: 'required',
108
+ validationMessages: {
109
+ required: 'Field is required'
110
+ },
111
+ inputClass: 't-bg-white',
112
+ labelClass: 'required'
113
+ }, updates)
114
+ };
126
115
 
127
- function subHeadline(updates = {}) {
128
- return merge(
129
- subHeadlineDefaults(updates),
130
- updates
131
- )
132
- }
116
+ const sbsSelect = (updates) => {
117
+ updates.labelClass = 'required';
118
+ updates.wrapperClass = 'side-by-side t-items-center';
119
+ updates.innerClass = 'select-height-content';
120
+ updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
121
+ return select(updates)
122
+ };
133
123
 
134
- const secureIconDefault = {
135
- $el: 'div',
136
- if: '$activeStep === $lastStep()',
137
- attrs: {
138
- class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
139
- },
140
- children: [
141
- {
142
- $el: 'img',
143
- attrs: {
144
- loading: 'lazy',
145
- alt: '',
146
- style: {
147
- border: 0
148
- },
149
- width: '25',
150
- height: '25',
151
- src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
152
- }
124
+ const text = (updates) => {
125
+ if (updates.name && !updates.id) {
126
+ updates.id = updates.name;
127
+ }
128
+ return merge({
129
+ $formkit: 'text',
130
+ validation: 'required',
131
+ validationMessages: {
132
+ required: 'Field is required'
153
133
  },
154
- {
155
- $el: 'span',
156
- children: 'Secure & Encrypted',
157
- attrs: {
158
- class: 't-pl-2 t-pt-1 t-font-medium'
159
- }
160
- }
161
- ]
134
+ labelClass: 'required'
135
+ }, updates)
162
136
  };
163
137
 
138
+ const sbsText = (updates) => {
139
+ updates.wrapperClass = 'side-by-side t-items-center';
140
+ return text(updates)
141
+ };
164
142
 
165
- function secureIcon(updates) {
166
- return merge(
167
- secureIconDefault,
168
- updates
169
- )
170
- }
171
-
172
- const hiddenInputsBase = [
173
- {
174
- $formkit: 'hidden',
175
- name: "gclid",
176
- value: null
177
- },
178
- {
179
- $formkit: 'hidden',
180
- name: "campaignid",
181
- value: null
182
- },
183
- {
184
- $formkit: 'hidden',
185
- name: "s",
186
- value: null
187
- }
188
- ];
189
-
190
- const hiddenInputsLegal = [
191
- {
192
- $formkit: 'hidden',
193
- name: "vertical",
194
- value: "Legal"
195
- },
196
- {
197
- $formkit: 'hidden',
198
- name: "TCPA_Language",
199
- value: "$meta.tcpaLanguage"
200
- },
201
- ...hiddenInputsBase
202
- ];
203
-
204
- const legalRedirectMapDefaults = {
205
- '*': LegalRedirectUrl()
206
- };
207
-
208
-
209
- function legalRedirectMap(updates) {
210
- return merge(
211
- legalRedirectMapDefaults,
212
- updates
213
- )
214
- }
215
-
216
- const TOLPCommentsPlaceholders = {
217
- 'Adoption': 'Example: "I need help with adoption forms"',
218
- 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
219
- '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"',
220
- 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
221
- 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
222
- 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
223
- 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
224
- 'Child Custody': 'Example: "Need help getting custody"',
225
- 'Child Support': 'Example: "Issues with child support payments"',
226
- 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
227
- 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
228
- 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
229
- 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
230
- 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
231
- 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
232
- 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
233
- 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
234
- 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
235
- 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
236
- 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
237
- 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
238
- 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
239
- 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
240
- 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
241
- 'Guardianship': 'Example: "I need help with guardianship documents"',
242
- 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
243
- 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
244
- 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
245
- 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
246
- 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
247
- 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
248
- 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
249
- 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
250
- 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
251
- 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
252
- 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
253
- '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"',
254
- 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
255
- 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
256
- 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
257
- 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
258
- 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
259
- 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
260
- 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
261
- 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
262
- '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"',
263
- 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
264
- 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
265
- 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
266
- 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
267
- 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
268
- 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
269
- 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
270
- 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
271
- 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
272
- };
273
-
274
- const TOLPFinalHeadlines = {
275
- // 'Adoption': '',
276
- };
277
-
278
- const TOLPFinalSubHeadlines = {
279
- 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
280
- // 'Asbestos and Mesothelioma': '',
281
- 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
282
- 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
283
- // 'Birth Certificate and Name Change': '',
284
- // 'Business Lawyers': '',
285
- // 'Child Custody and Support': '',
286
- // 'Civil Rights and Discrimination': '',
287
- // 'Civil Lawsuit': '',
288
- // 'Consumer Lawyers': '',
289
- 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
290
- // 'Criminal and Felony': '',
291
- // 'Debt and Collections': '',
292
- 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
293
- 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
294
- 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
295
- // 'Employment and Workplace': '',
296
- // 'Expungement': '',
297
- // 'Family Issues': '',
298
- 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
299
- 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
300
- // 'Harassment and Discrimination': '',
301
- // 'Identity Theft': '',
302
- 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
303
- // 'Insurance': '',
304
- 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
305
- // 'Lemon Law': '',
306
- 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
307
- 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
308
- 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
309
- 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
310
- // 'Power of Attorney': '',
311
- 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
312
- // 'Product Liability': '',
313
- // 'Property Damage': '',
314
- 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
315
- 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
316
- 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
317
- // 'Traffic and Tickets': '',
318
- 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
319
- // 'Victim of a Crime': '',
320
- // 'Wills and Trusts': '',
321
- 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
322
- // 'Wrongful Death': '',
323
- // 'Wrongful Termination': '',
324
- // 'Not Sure or Other': ''
325
- // 'Sexual Harassment': '',
326
- // 'Workplace Harassment': '',
327
- // 'Non-Workplace Harassment': '',
328
- // 'Workplace Discrimination': '',
329
- // 'Non-Workplace Discrimination': '',
330
- };
331
-
332
- // ------ Common Base Settings
333
-
334
- const checkbox = (updates) => {
335
- if (updates.name && !updates.id) {
336
- updates.id = updates.name;
337
- }
338
- return merge({
339
- $formkit: 'checkbox',
340
- validation: 'required',
341
- validationMessages: {
342
- required: 'Field is required'
343
- }
344
- }, updates)
345
- };
346
-
347
- const sbsCheckbox = (updates) => {
348
- updates.legendClass = 'legend-left required';
349
- updates.fieldsetClass = '$reset side-by-side';
350
- updates.optionsClass = 't-pl-1';
351
- updates.innerClass = 't-flex t-items-center';
352
- updates.wrapperClass = 't-mb-3';
353
- return checkbox(updates)
354
- };
355
-
356
- const col2Checkbox = (updates) => {
357
- if (!updates || !updates.legendClass) {
358
- updates.legendClass = 'required';
359
- }
360
- updates.fieldsetClass = '$reset';
361
- updates.optionsClass = 't-pl-8 md:t-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
362
- updates.innerClass = 't-items-start';
363
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
364
- return checkbox(updates)
365
- };
366
-
367
- const radio = (updates) => {
368
- if (updates.name && !updates.id) {
369
- updates.id = updates.name;
370
- }
371
- return merge({
372
- $formkit: 'radio',
373
- validation: 'required',
374
- validationMessages: {
375
- required: 'Field is required'
376
- },
377
- optionsClass: 't-pt-3 t-pl-1',
378
- legendClass: 'required'
379
- }, updates)
380
- };
381
-
382
- const col2Radio = (updates) => {
383
- updates.legendClass = 'required';
384
- updates.fieldsetClass = '$reset';
385
- updates.optionsClass = 't-pl-2 t-pt-3 t-grid t-grid-cols-1 md:t-grid-cols-2';
386
- updates.innerClass = 't-items-start';
387
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
388
- return radio(updates)
389
- };
390
-
391
- const sbs2ColRadio = (updates) => {
392
- updates.legendClass = 'legend-left-flex md:t-max-w-[40%] required';
393
- updates.fieldsetClass = '$reset side-by-side-flex';
394
- updates.optionsClass = 'md:t-ml-4 md:t-mt-2 t-grid t-grid-cols-1 md:t-grid-cols-2-125';
395
- updates.innerClass = 't-flex t-items-start';
396
- updates.wrapperClass = '$reset t-flex t-cursor-pointer t-mb-3';
397
- return radio(updates)
398
- };
399
-
400
- const sbs2ItemRadio = (updates) => {
401
- updates.legendClass = 'legend-left t-pb-1 required';
402
- updates.fieldsetClass = '$reset side-by-side t-items-center';
403
- updates.optionsClass = 't-mt-1 t-grid t-grid-cols-1 md:t-grid-cols-2-125 t-items-center';
404
- updates.innerClass = 't-flex t-items-center';
405
- updates.optionClass = 't-pr-1';
406
- return radio(updates)
407
- };
408
-
409
- const sbsYesNoRadio = (updates) => {
410
- updates.options = ['Yes', 'No'];
411
- return sbs2ItemRadio(updates)
412
- };
413
-
414
- const select = (updates) => {
415
- if (updates.name && !updates.id) {
416
- updates.id = updates.name;
143
+ const textArea = (updates) => {
144
+ if (updates.name && !updates.id) {
145
+ updates.id = updates.name;
417
146
  }
418
147
  return merge({
419
- $formkit: 'select',
420
- placeholder: "Please Select",
148
+ $formkit: 'textarea',
149
+ rows: 5,
150
+ maxlength: 500,
421
151
  validation: 'required',
422
152
  validationMessages: {
423
153
  required: 'Field is required'
424
154
  },
425
- inputClass: 't-bg-white',
155
+ innerClass: 't-max-w-xl',
426
156
  labelClass: 'required'
427
157
  }, updates)
428
158
  };
429
159
 
430
- const sbsSelect = (updates) => {
431
- updates.labelClass = 'required';
432
- updates.wrapperClass = 'side-by-side t-items-center';
433
- updates.innerClass = 'select-height-content';
434
- updates.helpClass = 't-mt-2.5 md:t-text-right md:t-mt-[-5px]';
435
- return select(updates)
436
- };
437
-
438
- const text = (updates) => {
160
+ const date = (updates) => {
439
161
  if (updates.name && !updates.id) {
440
162
  updates.id = updates.name;
441
163
  }
442
164
  return merge({
443
- $formkit: 'text',
165
+ $formkit: 'DatePicker',
444
166
  validation: 'required',
445
167
  validationMessages: {
446
168
  required: 'Field is required'
447
169
  },
448
- labelClass: 'required'
170
+ labelClass: 'required t-block t-mb-3 t-font-semibold t-text-base formkit-invalid:t-text-red-500',
171
+ innerClass: 't-border t-border-gray-400 formkit-invalid:t-border-red-500 t-rounded t-mb-1 focus-within:t-border-blue-500'
449
172
  }, updates)
450
173
  };
451
174
 
452
- const sbsText = (updates) => {
175
+ const sbsDate = (updates) => {
453
176
  updates.wrapperClass = 'side-by-side t-items-center';
454
- return text(updates)
455
- };
456
-
457
- const textArea = (updates) => {
458
- if (updates.name && !updates.id) {
459
- updates.id = updates.name;
460
- }
461
- return merge({
462
- $formkit: 'textarea',
463
- rows: 5,
464
- maxlength: 500,
465
- validation: 'required',
466
- validationMessages: {
467
- required: 'Field is required'
468
- },
469
- innerClass: 't-max-w-xl',
470
- labelClass: 'required'
471
- }, updates)
472
- };
473
-
474
- const date = (updates) => {
475
- if (updates.name && !updates.id) {
476
- updates.id = updates.name;
477
- }
478
- return merge({
479
- $formkit: 'DatePicker',
480
- validation: 'required',
481
- validationMessages: {
482
- required: 'Field is required'
483
- },
484
- labelClass: 'required t-block t-mb-3 t-font-semibold t-text-base formkit-invalid:t-text-red-500',
485
- innerClass: 't-border t-border-gray-400 formkit-invalid:t-border-red-500 t-rounded t-mb-1 focus-within:t-border-blue-500'
486
- }, updates)
487
- };
488
-
489
- const sbsDate = (updates) => {
490
- updates.wrapperClass = 'side-by-side t-items-center';
491
- return date(updates)
177
+ return date(updates)
492
178
  };
493
179
 
494
180
  const applicantAge = (scope) => sbsText({
@@ -828,7 +514,7 @@ const primaryInjury = (scope) => sbs2ColRadio({
828
514
  "Headaches",
829
515
  "Memory Loss",
830
516
  "Loss of Limb",
831
- "Other (describe on next page)"
517
+ "Not Sure or Other"
832
518
  ]
833
519
  });
834
520
 
@@ -1167,6 +853,43 @@ const findLastInput = (n) => {
1167
853
  return null
1168
854
  };
1169
855
 
856
+ const secureIconDefault = {
857
+ $el: 'div',
858
+ if: '$activeStep === $lastStep()',
859
+ attrs: {
860
+ class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
861
+ },
862
+ children: [
863
+ {
864
+ $el: 'img',
865
+ attrs: {
866
+ loading: 'lazy',
867
+ alt: '',
868
+ style: {
869
+ border: 0
870
+ },
871
+ width: '25',
872
+ height: '25',
873
+ src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
874
+ }
875
+ },
876
+ {
877
+ $el: 'span',
878
+ children: 'Secure & Encrypted',
879
+ attrs: {
880
+ class: 't-pl-2 t-pt-1 t-font-medium'
881
+ }
882
+ }
883
+ ]
884
+ };
885
+
886
+ function secureIcon(updates) {
887
+ return merge(
888
+ secureIconDefault,
889
+ updates
890
+ )
891
+ }
892
+
1170
893
  function questionsStepHeadline(updates) {
1171
894
  return {
1172
895
  $el: 'h3',
@@ -1280,351 +1003,668 @@ const stepDefaults = (step, stepKey) => ({
1280
1003
  }
1281
1004
  });
1282
1005
 
1283
- function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = undefined, nextStepMap = undefined, autoFocus = undefined) {
1284
- if (typeof nextOnEnter === 'undefined') {
1285
- nextOnEnter = true;
1006
+ function step(name, inputs, nextOnEnter = true, nextOnInput = false, stepKey = undefined, nextStepMap = undefined, autoFocus = undefined) {
1007
+ if (typeof nextOnEnter === 'undefined') {
1008
+ nextOnEnter = true;
1009
+ }
1010
+ if (inputs && inputs.length && (nextOnEnter || nextOnInput)) {
1011
+ const lastInput = findLastInput(inputs[inputs.length - 1]);
1012
+ if (lastInput && nextOnEnter === true) {
1013
+ lastInput.onKeypress = NEXT_ON_ENTER;
1014
+ }
1015
+ if (lastInput && nextOnInput === true) {
1016
+ lastInput.onInput = NEXT_ON_INPUT;
1017
+ }
1018
+ }
1019
+
1020
+ return merge(
1021
+ stepDefaults(name, stepKey),
1022
+ {
1023
+ children: [
1024
+ {
1025
+ $formkit: 'group',
1026
+ id: name,
1027
+ name: name,
1028
+ nextStepMap: nextStepMap,
1029
+ autoFocus: autoFocus,
1030
+ children: inputs
1031
+ }
1032
+ ]
1033
+ }
1034
+ )
1035
+ }
1036
+
1037
+
1038
+ function childAndFamilyTOLPAndZip(updates = {}) {
1039
+ return step(
1040
+ 'childAndFamilyTOLPAndZip',
1041
+ [
1042
+ childAndFamilyTOLP(),
1043
+ zipcode()
1044
+ ],
1045
+ updates.nextOnEnter,
1046
+ updates.nextOnInput,
1047
+ updates.stepKey,
1048
+ updates.nextStepMap
1049
+ )
1050
+ }
1051
+
1052
+ function commentsWithBankruptcy(updates = {}) {
1053
+ return step(
1054
+ 'commentsWithBankruptcy',
1055
+ [
1056
+ commentsStepHeadline(updates),
1057
+ comments({
1058
+ label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
1059
+ placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1060
+ inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-32' : updates.inputClass,
1061
+ }),
1062
+ bankruptcyCrossSell(),
1063
+ {
1064
+ $el: 'div',
1065
+ if: '$get(CrossSell_Bankruptcy).value == true',
1066
+ children: [
1067
+ comments({
1068
+ label: 'Bankruptcy or debt details:',
1069
+ placeholder: 'Please describe your bankrtupcy or debt situation in a few words...',
1070
+ inputClass: '!t-h-16'
1071
+ }, 'CrossSell:Bankruptcy')
1072
+ ],
1073
+ }
1074
+ ],
1075
+ false // nextOnEnter
1076
+ )
1077
+ }
1078
+
1079
+ function contactInfo(updates = {}) {
1080
+ return step(
1081
+ 'contactInfo',
1082
+ [
1083
+ contactStepHeadline(updates),
1084
+ contactStepSubHeadline(updates),
1085
+ trustedFormScript(),
1086
+ email(),
1087
+ phone(),
1088
+ TCPAConsent(),
1089
+ secureIcon()
1090
+ ],
1091
+ false, // nextOnEnter
1092
+ )
1093
+ }
1094
+
1095
+ function firstAndLastV2(updates = {}) {
1096
+ return step(
1097
+ 'firstAndLast',
1098
+ [
1099
+ firstAndLastStepHeadline(updates),
1100
+ firstName(),
1101
+ lastName()
1102
+ ],
1103
+ updates.nextOnEnter
1104
+ )
1105
+ }
1106
+
1107
+
1108
+ function autoAndCarAccidentCrossSellQuestions(updates = {}) {
1109
+ return step(
1110
+ 'autoAndCarAccidentCrossSellQuestions',
1111
+ [
1112
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1113
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your accident:' }),
1114
+ AutoAndCarAccidentsQuestions("true", 'CrossSell:Auto_and_Car_Accidents'),
1115
+ comments(
1116
+ {
1117
+ label: 'Accident Description:',
1118
+ placeholder: 'Please describe your accident in a few words...',
1119
+ inputClass: '!t-h-16'
1120
+ },
1121
+ 'CrossSell:Auto_and_Car_Accidents'
1122
+ )
1123
+ ],
1124
+ updates.nextOnEnter
1125
+ )
1126
+ }
1127
+
1128
+ function duiAndDWICrossSellQuestions(updates = {}) {
1129
+ return step(
1130
+ 'duiAndDWICrossSellQuestions',
1131
+ [
1132
+ crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
1133
+ DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
1134
+ comments(
1135
+ {
1136
+ label: 'Incident Description:',
1137
+ placeholder: 'Please describe your incident in a few words...',
1138
+ inputClass: '!t-h-16'
1139
+ },
1140
+ 'CrossSell:DUI_and_DWI'
1141
+ )
1142
+ ],
1143
+ updates.nextOnEnter
1144
+ )
1145
+ }
1146
+
1147
+ function ssdiCrossSellQuestions(updates = {}) {
1148
+ return step(
1149
+ 'ssdiCrossSellQuestions',
1150
+ [
1151
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1152
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
1153
+ SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
1154
+ comments(
1155
+ {
1156
+ label: 'Description:',
1157
+ placeholder: 'Please describe your situation in a few words...',
1158
+ inputClass: '!t-h-16'
1159
+ },
1160
+ 'CrossSell:Social_Security_Disability_and_Insurance'
1161
+ )
1162
+ ],
1163
+ updates.nextOnEnter
1164
+ )
1165
+ }
1166
+
1167
+ function personalInjuryCrossSellQuestions(updates = {}) {
1168
+ return step(
1169
+ 'personalInjuryCrossSellQuestions',
1170
+ [
1171
+ crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1172
+ crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1173
+ PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
1174
+ comments(
1175
+ {
1176
+ label: 'Injury Description:',
1177
+ placeholder: 'Please describe your injury in a few words...',
1178
+ inputClass: '!t-h-16'
1179
+ },
1180
+ 'CrossSell:Personal_Injury'
1181
+ )
1182
+ ],
1183
+ updates.nextOnEnter
1184
+ )
1185
+ }
1186
+
1187
+ function powerOfAttorneyCrossSellQuestions(updates = {}) {
1188
+ return step(
1189
+ 'powerOfAttorneyCrossSellQuestions',
1190
+ [
1191
+ crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
1192
+ PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
1193
+ comments(
1194
+ {
1195
+ label: 'Description:',
1196
+ placeholder: 'Please describe your situation in a few words...',
1197
+ inputClass: '!t-h-16'
1198
+ },
1199
+ 'CrossSell:Power_of_Attorney'
1200
+ )
1201
+ ],
1202
+ updates.nextOnEnter
1203
+ )
1204
+ }
1205
+
1206
+ function willsAndTrustsCrossSellQuestions(updates = {}) {
1207
+ return step(
1208
+ 'willsAndTrustsCrossSellQuestions',
1209
+ [
1210
+ crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
1211
+ WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
1212
+ comments(
1213
+ {
1214
+ label: 'Description:',
1215
+ placeholder: 'Please describe your situation in a few words...',
1216
+ inputClass: '!t-h-16'
1217
+ },
1218
+ 'CrossSell:Wills_and_Trusts'
1219
+ )
1220
+ ],
1221
+ updates.nextOnEnter
1222
+ )
1223
+ }
1224
+
1225
+ function childAndFamilyTOLPQuestions(updates = {}) {
1226
+ return step(
1227
+ 'TOLPQuestions',
1228
+ [
1229
+ questionsStepHeadline(updates),
1230
+ AdoptionQuestions(),
1231
+ ChildCustodyAndSupportQuestions(),
1232
+ ChildCustodyQuestions(),
1233
+ ChildSupportQuestions(),
1234
+ FamilyIssuesQuestions(),
1235
+ GuardianshipQuestions(),
1236
+ DivorceQuestions(),
1237
+ NotSureOrOtherQuestions()
1238
+ ],
1239
+ updates.nextOnEnter
1240
+ )
1241
+ }
1242
+
1243
+ function legalCrossSells(updates = {}) {
1244
+ return step(
1245
+ 'legalCrossSells',
1246
+ [
1247
+ legalCrossSellsStepHeadline(updates),
1248
+ legalCrossSells$1(),
1249
+ ],
1250
+ updates.nextOnEnter,
1251
+ false,
1252
+ // Note: we should probably scope this stepKey to this step name
1253
+ '$get(Type_Of_Legal_Problem).value'
1254
+ )
1255
+ }
1256
+
1257
+ // ------ Common
1258
+
1259
+ const formNavigation = () => ({
1260
+ $el: 'div',
1261
+ attrs: {
1262
+ class: 'step-nav'
1263
+ },
1264
+ children: [
1265
+ {
1266
+ $formkit: 'button',
1267
+ name: 'back_button',
1268
+ onClick: '$setPreviousStep($prevStepFunc($get(form)))',
1269
+ children: 'Back',
1270
+ style: {
1271
+ if: '$activeStep === $firstStep()',
1272
+ then: 'visibility: hidden;'
1273
+ }
1274
+ },
1275
+ {
1276
+ $formkit: 'button',
1277
+ name: 'next_button',
1278
+ onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
1279
+ children: {
1280
+ if: '$activeStep === $firstStep()',
1281
+ then: 'Start',
1282
+ else: 'Next'
1283
+ },
1284
+ outerClass: {
1285
+ if: '$activeStep === $lastStep()',
1286
+ then: 't-hidden',
1287
+ else: ''
1288
+ },
1289
+ style: {
1290
+ if: '$activeStep === $lastStep()',
1291
+ then: 'display: none;'
1292
+ }
1293
+ },
1294
+ {
1295
+ $formkit: 'submit',
1296
+ name: 'submit_button',
1297
+ label: 'Submit',
1298
+ if: '$activeStep === $lastStep()',
1299
+ style: {
1300
+ if: '$activeStep !== $lastStep()',
1301
+ then: 'display: none;'
1302
+ }
1303
+ }
1304
+ ]
1305
+ });
1306
+
1307
+ const formDetails = () => ({
1308
+ $el: 'pre',
1309
+ if: '$urlParam("fdbg", "") == 1',
1310
+ children: [
1311
+ {
1312
+ $el: 'pre',
1313
+ children: '$stringify( $get(form).value )',
1314
+ attrs: {
1315
+ class: 't-text-xs',
1316
+ style: 'overflow: scroll'
1317
+ }
1318
+ },
1319
+ {
1320
+ $el: 'pre',
1321
+ children: ['activeStep: ', '$activeStep'],
1322
+ attrs: {
1323
+ class: 't-text-xs',
1324
+ style: 'overflow: scroll'
1325
+ }
1326
+ },
1327
+ {
1328
+ $el: 'pre',
1329
+ children: ['stepHistory: ', '$stepHistory'],
1330
+ attrs: {
1331
+ class: 't-text-xs',
1332
+ style: 'overflow: scroll'
1333
+ }
1334
+ },
1335
+ {
1336
+ $el: 'pre',
1337
+ children: ['stepQueue: ', '$stepQueue'],
1338
+ attrs: {
1339
+ class: 't-text-xs',
1340
+ style: 'overflow: scroll'
1341
+ }
1342
+ },
1343
+ {
1344
+ $el: 'pre',
1345
+ children: ['steps: ', '$stepKeys()'],
1346
+ attrs: {
1347
+ class: 't-text-xs',
1348
+ style: 'overflow: scroll'
1349
+ }
1350
+ }
1351
+ ]
1352
+ });
1353
+
1354
+ const formPropDefaults = {
1355
+ type: 'form',
1356
+ id: 'form',
1357
+ config: { validationVisibility: 'submit' },
1358
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
1359
+ plugins: '$plugins',
1360
+ actions: false,
1361
+ anchorElement: 'form-anchor',
1362
+ useLocalStorage: true,
1363
+ prepop: {
1364
+ fromURL: true
1365
+ },
1366
+ errorCodes: {
1367
+ 403: { message: "An Error Occurred", abort: false },
1368
+ 409: { abort: false },
1369
+ 429: "An Error Occurred",
1370
+ 504: { message: "An Error Occurred", abort: false },
1371
+ },
1372
+ formClass: '!t-max-w-[40rem]'
1373
+ };
1374
+
1375
+ function formProps(updates) {
1376
+ const props = merge(
1377
+ formPropDefaults,
1378
+ updates
1379
+ );
1380
+ if (props.formId && !props.name) {
1381
+ props.name = props.formId;
1382
+ }
1383
+ return props
1384
+ }
1385
+
1386
+ const metaDefaults = {
1387
+ tcpaLanguage: TCPA_LANGUAGE
1388
+ };
1389
+
1390
+ function metaProps(updates) {
1391
+ const data = merge(
1392
+ metaDefaults,
1393
+ updates
1394
+ );
1395
+ return {
1396
+ type: 'meta',
1397
+ data
1398
+ }
1399
+ }
1400
+
1401
+ function defaultMetaProps() {
1402
+ return metaProps({
1403
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1404
+ commentsPlaceholders: TOLPCommentsPlaceholders,
1405
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE,
1406
+ finalHeadlines: TOLPFinalHeadlines,
1407
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE,
1408
+ finalSubHeadlines: TOLPFinalSubHeadlines,
1409
+ })
1410
+ }
1411
+
1412
+ const dynamicSchemaNode = {
1413
+ $cmp: 'FormKitSchema',
1414
+ if: '$get(Type_Of_Legal_Problem).value',
1415
+ props: {
1416
+ schema: '$meta.dynamicSchema',
1417
+ data: '$buildData($meta)'
1286
1418
  }
1287
- if (inputs && inputs.length && (nextOnEnter || nextOnInput)) {
1288
- const lastInput = findLastInput(inputs[inputs.length - 1]);
1289
- if (lastInput && nextOnEnter === true) {
1290
- lastInput.onKeypress = NEXT_ON_ENTER;
1291
- }
1292
- if (lastInput && nextOnInput === true) {
1293
- lastInput.onInput = NEXT_ON_INPUT;
1419
+ };
1420
+
1421
+ const formAnchorDefaults = {
1422
+ $el: 'div',
1423
+ children: [
1424
+ {
1425
+ $el: 'div',
1426
+ attrs: {
1427
+ id: 'form-anchor',
1428
+ class: 't-absolute',
1429
+ style: { top: '-30px', left: 0 }
1430
+ }
1294
1431
  }
1432
+ ],
1433
+ attrs: {
1434
+ class: 't-relative'
1295
1435
  }
1436
+ };
1296
1437
 
1438
+ function formAnchor(updates) {
1297
1439
  return merge(
1298
- stepDefaults(name, stepKey),
1299
- {
1300
- children: [
1301
- {
1302
- $formkit: 'group',
1303
- id: name,
1304
- name: name,
1305
- nextStepMap: nextStepMap,
1306
- autoFocus: autoFocus,
1307
- children: inputs
1308
- }
1309
- ]
1310
- }
1440
+ formAnchorDefaults,
1441
+ updates
1311
1442
  )
1312
1443
  }
1313
1444
 
1314
-
1315
- function childAndFamilyTOLPAndZip(updates = {}) {
1316
- return step(
1317
- 'childAndFamilyTOLPAndZip',
1318
- [
1319
- childAndFamilyTOLP(),
1320
- zipcode()
1321
- ],
1322
- updates.nextOnEnter
1323
- )
1445
+ function headlineDefaults(updates = {}) {
1446
+ return {
1447
+ $el: 'h1',
1448
+ attrs: {
1449
+ 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 || '')
1450
+ }
1451
+ }
1324
1452
  }
1325
1453
 
1326
- function commentsWithBankruptcyV2(updates = {}) {
1327
- return step(
1328
- 'commentsWithBankruptcy',
1329
- [
1330
- commentsStepHeadline(updates),
1331
- comments({
1332
- label: typeof updates.label === 'undefined' ? DEFAULT_COMMENTS_LABEL : updates.label,
1333
- placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC,
1334
- inputClass: typeof updates.inputClass === 'undefined' ? '!t-h-40' : updates.inputClass,
1335
- }),
1336
- bankruptcyCrossSell(),
1337
- {
1338
- $el: 'div',
1339
- if: '$get(CrossSell_Bankruptcy).value == true',
1340
- children: [
1341
- comments({
1342
- label: 'Bankruptcy or debt details:',
1343
- placeholder: 'Please describe your bankrtupcy or debt situation in a few words...',
1344
- inputClass: '!t-h-16'
1345
- }, 'CrossSell:Bankruptcy')
1346
- ],
1347
- }
1348
- ],
1349
- updates.nextOnEnter,
1454
+ function headline(updates = {}) {
1455
+ return merge(
1456
+ headlineDefaults(updates),
1457
+ updates
1350
1458
  )
1351
1459
  }
1352
1460
 
1353
- function contactInfoTF(updates = {}) {
1354
- return step(
1355
- 'contactInfo',
1356
- [
1357
- contactStepHeadline(updates),
1358
- contactStepSubHeadline(updates),
1359
- trustedFormScript(),
1360
- email(),
1361
- phone(),
1362
- TCPAConsent(),
1363
- secureIcon()
1364
- ],
1365
- updates.nextOnEnter
1366
- )
1461
+ function subHeadlineDefaults(updates = {}) {
1462
+ return {
1463
+ $el: 'h3',
1464
+ attrs: {
1465
+ 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 || '')
1466
+ }
1467
+ }
1367
1468
  }
1368
1469
 
1369
- function firstAndLastV2(updates = {}) {
1370
- return step(
1371
- 'firstAndLast',
1372
- [
1373
- firstAndLastStepHeadline(updates),
1374
- firstName(),
1375
- lastName()
1376
- ],
1377
- updates.nextOnEnter
1470
+ function subHeadline(updates = {}) {
1471
+ return merge(
1472
+ subHeadlineDefaults(updates),
1473
+ updates
1378
1474
  )
1379
1475
  }
1380
1476
 
1477
+ const hiddenInputsBase = [
1478
+ {
1479
+ $formkit: 'hidden',
1480
+ name: "gclid",
1481
+ value: null
1482
+ },
1483
+ {
1484
+ $formkit: 'hidden',
1485
+ name: "campaignid",
1486
+ value: null
1487
+ },
1488
+ {
1489
+ $formkit: 'hidden',
1490
+ name: "s",
1491
+ value: null
1492
+ }
1493
+ ];
1494
+
1495
+ const hiddenInputsLegal = [
1496
+ {
1497
+ $formkit: 'hidden',
1498
+ name: "vertical",
1499
+ value: "Legal"
1500
+ },
1501
+ {
1502
+ $formkit: 'hidden',
1503
+ name: "TCPA_Language",
1504
+ value: "$meta.tcpaLanguage"
1505
+ },
1506
+ ...hiddenInputsBase
1507
+ ];
1381
1508
 
1382
- function autoAndCarAccidentCrossSellQuestions(updates = {}) {
1383
- return step(
1384
- 'autoAndCarAccidentCrossSellQuestions',
1385
- [
1386
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1387
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your accident:' }),
1388
- AutoAndCarAccidentsQuestions("true", 'CrossSell:Auto_and_Car_Accidents'),
1389
- comments(
1390
- {
1391
- label: 'Accident Description:',
1392
- placeholder: 'Please describe your accident in a few words...',
1393
- inputClass: '!t-h-16'
1394
- },
1395
- 'CrossSell:Auto_and_Car_Accidents'
1396
- )
1397
- ],
1398
- updates.nextOnEnter
1399
- )
1400
- }
1509
+ const legalRedirectMapDefaults = {
1510
+ '*': LegalRedirectUrl()
1511
+ };
1401
1512
 
1402
- function duiAndDWICrossSellQuestions(updates = {}) {
1403
- return step(
1404
- 'duiAndDWICrossSellQuestions',
1405
- [
1406
- crossSellQuestionsStepHeadline({ headline: 'About Your DUI/DWI' }),
1407
- DUIAndDWIQuestions("true", 'CrossSell:DUI_and_DWI'),
1408
- comments(
1409
- {
1410
- label: 'Incident Description:',
1411
- placeholder: 'Please describe your incident in a few words...',
1412
- inputClass: '!t-h-16'
1413
- },
1414
- 'CrossSell:DUI_and_DWI'
1415
- )
1416
- ],
1417
- updates.nextOnEnter
1418
- )
1419
- }
1420
1513
 
1421
- function ssdiCrossSellQuestions(updates = {}) {
1422
- return step(
1423
- 'ssdiCrossSellQuestions',
1424
- [
1425
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Benefits' }),
1426
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your disability:' }),
1427
- SocialSecurityDisabilityAndInsuranceQuestions("true", 'CrossSell:Social_Security_Disability_and_Insurance'),
1428
- comments(
1429
- {
1430
- label: 'Description:',
1431
- placeholder: 'Please describe your situation in a few words...',
1432
- inputClass: '!t-h-16'
1433
- },
1434
- 'CrossSell:Social_Security_Disability_and_Insurance'
1435
- )
1436
- ],
1437
- updates.nextOnEnter
1514
+ function legalRedirectMap(updates) {
1515
+ return merge(
1516
+ legalRedirectMapDefaults,
1517
+ updates
1438
1518
  )
1439
1519
  }
1440
1520
 
1441
- function personalInjuryCrossSellQuestions(updates = {}) {
1442
- return step(
1443
- 'personalInjuryCrossSellQuestions',
1444
- [
1445
- crossSellQuestionsStepHeadline({ headline: 'You May Be Entitled To Compensation' }),
1446
- crossSellQuestionsStepSubHeadline({ subheadline: 'Tell us about your injury:' }),
1447
- PersonalInjuryQuestions("true", 'CrossSell:Personal_Injury'),
1448
- comments(
1449
- {
1450
- label: 'Injury Description:',
1451
- placeholder: 'Please describe your injury in a few words...',
1452
- inputClass: '!t-h-16'
1453
- },
1454
- 'CrossSell:Personal_Injury'
1455
- )
1456
- ],
1457
- updates.nextOnEnter
1458
- )
1459
- }
1521
+ const TOLPCommentsPlaceholders = {
1522
+ 'Adoption': 'Example: "I need help with adoption forms"',
1523
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
1524
+ '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"',
1525
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
1526
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
1527
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
1528
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
1529
+ 'Child Custody': 'Example: "Need help getting custody"',
1530
+ 'Child Support': 'Example: "Issues with child support payments"',
1531
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
1532
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
1533
+ 'File a Lawsuit': 'Example: "A contractor took my money and never completed the job"',
1534
+ 'Defend a Lawsuit': 'Example: "I am being sued by a neighbor"',
1535
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
1536
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
1537
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
1538
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
1539
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
1540
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
1541
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
1542
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
1543
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
1544
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
1545
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
1546
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
1547
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
1548
+ 'Sexual Harassment': 'Example: "I am being sexually harassed by a coworker"',
1549
+ 'Workplace Harassment': 'Example: "My coworker is being aggressive towards me"',
1550
+ 'Non-Workplace Harassment': 'Example: "My neighbor is harassing me"',
1551
+ 'Workplace Discrimination': 'Example: "I am being discriminated at work based on my age"',
1552
+ 'Non-Workplace Discrimination': 'Example: "I am being discriminated against by a local official"',
1553
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
1554
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
1555
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
1556
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
1557
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
1558
+ '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"',
1559
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
1560
+ 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
1561
+ 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
1562
+ 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
1563
+ 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
1564
+ 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
1565
+ 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
1566
+ 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
1567
+ '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"',
1568
+ 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
1569
+ 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
1570
+ 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
1571
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
1572
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
1573
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
1574
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
1575
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
1576
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
1577
+ };
1578
+
1579
+ const TOLPFinalHeadlines = {
1580
+ // 'Adoption': '',
1581
+ };
1460
1582
 
1461
- function powerOfAttorneyCrossSellQuestions(updates = {}) {
1462
- return step(
1463
- 'powerOfAttorneyCrossSellQuestions',
1464
- [
1465
- crossSellQuestionsStepHeadline({ headline: 'Power of Attorney Information' }),
1466
- PowerofAttorneyQuestions("true", 'CrossSell:Power_of_Attorney'),
1467
- comments(
1468
- {
1469
- label: 'Description:',
1470
- placeholder: 'Please describe your situation in a few words...',
1471
- inputClass: '!t-h-16'
1472
- },
1473
- 'CrossSell:Power_of_Attorney'
1474
- )
1475
- ],
1476
- updates.nextOnEnter
1477
- )
1478
- }
1583
+ const TOLPFinalSubHeadlines = {
1584
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
1585
+ // 'Asbestos and Mesothelioma': '',
1586
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
1587
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
1588
+ // 'Birth Certificate and Name Change': '',
1589
+ // 'Business Lawyers': '',
1590
+ // 'Child Custody and Support': '',
1591
+ // 'Civil Rights and Discrimination': '',
1592
+ // 'Civil Lawsuit': '',
1593
+ // 'Consumer Lawyers': '',
1594
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
1595
+ // 'Criminal and Felony': '',
1596
+ // 'Debt and Collections': '',
1597
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
1598
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
1599
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
1600
+ // 'Employment and Workplace': '',
1601
+ // 'Expungement': '',
1602
+ // 'Family Issues': '',
1603
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
1604
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
1605
+ // 'Harassment and Discrimination': '',
1606
+ // 'Identity Theft': '',
1607
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
1608
+ // 'Insurance': '',
1609
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
1610
+ // 'Lemon Law': '',
1611
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
1612
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
1613
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
1614
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
1615
+ // 'Power of Attorney': '',
1616
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
1617
+ // 'Product Liability': '',
1618
+ // 'Property Damage': '',
1619
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
1620
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
1621
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
1622
+ // 'Traffic and Tickets': '',
1623
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
1624
+ // 'Victim of a Crime': '',
1625
+ // 'Wills and Trusts': '',
1626
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
1627
+ // 'Wrongful Death': '',
1628
+ // 'Wrongful Termination': '',
1629
+ // 'Not Sure or Other': ''
1630
+ // 'Sexual Harassment': '',
1631
+ // 'Workplace Harassment': '',
1632
+ // 'Non-Workplace Harassment': '',
1633
+ // 'Workplace Discrimination': '',
1634
+ // 'Non-Workplace Discrimination': '',
1635
+ };
1479
1636
 
1480
- function willsAndTrustsCrossSellQuestions(updates = {}) {
1481
- return step(
1482
- 'willsAndTrustsCrossSellQuestions',
1483
- [
1484
- crossSellQuestionsStepHeadline({ headline: 'Will or Trust Information' }),
1485
- WillsAndTrustsQuestions("true", 'CrossSell:Wills_and_Trusts'),
1486
- comments(
1487
- {
1488
- label: 'Description:',
1489
- placeholder: 'Please describe your situation in a few words...',
1490
- inputClass: '!t-h-16'
1491
- },
1492
- 'CrossSell:Wills_and_Trusts'
1493
- )
1494
- ],
1495
- updates.nextOnEnter
1496
- )
1497
- }
1498
1637
 
1499
- function childAndFamilyTOLPQuestions(updates = {}) {
1500
- return step(
1638
+ const nextStepsMapLegalLegacy = {
1639
+ '*': [
1501
1640
  'TOLPQuestions',
1502
- [
1503
- questionsStepHeadline(updates),
1504
- AdoptionQuestions(),
1505
- ChildCustodyAndSupportQuestions(),
1506
- ChildCustodyQuestions(),
1507
- ChildSupportQuestions(),
1508
- FamilyIssuesQuestions(),
1509
- GuardianshipQuestions(),
1510
- DivorceQuestions(),
1511
- NotSureOrOtherQuestions()
1512
- ],
1513
- updates.nextOnEnter
1514
- )
1515
- }
1516
-
1517
- function legalCrossSells(updates = {}) {
1518
- return step(
1641
+ 'commentsWithBankruptcy',
1519
1642
  'legalCrossSells',
1520
- [
1521
- legalCrossSellsStepHeadline(updates),
1522
- legalCrossSells$1(),
1523
- ],
1524
- updates.nextOnEnter,
1525
- false,
1526
- // Note: we should probably scope this stepKey to this step name
1527
- '$get(Type_Of_Legal_Problem).value'
1528
- )
1529
- }
1530
-
1531
- const formNavigationV2 = () => ({
1532
- $el: 'div',
1533
- attrs: {
1534
- class: 'step-nav'
1535
- },
1536
- children: [
1537
- {
1538
- $formkit: 'button',
1539
- name: 'back_button',
1540
- onClick: '$setPreviousStep($prevStepFunc($get(form)))',
1541
- children: 'Back',
1542
- style: {
1543
- if: '$activeStep === $firstStep()',
1544
- then: 'visibility: hidden;'
1545
- }
1546
- },
1547
- {
1548
- $formkit: 'button',
1549
- name: 'next_button',
1550
- onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
1551
- children: {
1552
- if: '$activeStep === $firstStep()',
1553
- then: 'Start',
1554
- else: 'Next'
1555
- },
1556
- outerClass: {
1557
- if: '$activeStep === $lastStep()',
1558
- then: 't-hidden',
1559
- else: ''
1560
- },
1561
- style: {
1562
- if: '$activeStep === $lastStep()',
1563
- then: 'display: none;'
1564
- }
1565
- },
1566
- {
1567
- $formkit: 'submit',
1568
- name: 'submit_button',
1569
- label: 'Submit',
1570
- if: '$activeStep === $lastStep()',
1571
- style: {
1572
- if: '$activeStep !== $lastStep()',
1573
- then: 'display: none;'
1574
- }
1575
- }
1643
+ 'firstAndLast',
1644
+ 'contactInfo',
1576
1645
  ]
1577
- });
1646
+ };
1578
1647
 
1579
- const formDetails = () => ({
1580
- $el: 'pre',
1581
- if: '$urlParam("fdbg", "") == 1',
1582
- children: [
1583
- {
1584
- $el: 'pre',
1585
- children: '$stringify( $get(form).value )',
1586
- attrs: {
1587
- class: 't-text-xs',
1588
- style: 'overflow: scroll'
1589
- }
1590
- },
1591
- {
1592
- $el: 'pre',
1593
- children: ['activeStep: ', '$activeStep'],
1594
- attrs: {
1595
- class: 't-text-xs',
1596
- style: 'overflow: scroll'
1597
- }
1598
- },
1599
- {
1600
- $el: 'pre',
1601
- children: ['stepHistory: ', '$stepHistory'],
1602
- attrs: {
1603
- class: 't-text-xs',
1604
- style: 'overflow: scroll'
1605
- }
1606
- },
1607
- {
1608
- $el: 'pre',
1609
- children: ['stepQueue: ', '$stepQueue'],
1610
- attrs: {
1611
- class: 't-text-xs',
1612
- style: 'overflow: scroll'
1613
- }
1614
- },
1615
- {
1616
- $el: 'pre',
1617
- children: ['steps: ', '$stepKeys()'],
1618
- attrs: {
1619
- class: 't-text-xs',
1620
- style: 'overflow: scroll'
1621
- }
1622
- }
1623
- ]
1624
- });
1648
+ const meta = defaultMetaProps();
1649
+
1650
+ meta.data.dynamicSchema = [
1651
+ childAndFamilyTOLPQuestions(),
1652
+ commentsWithBankruptcy(),
1653
+ legalCrossSells(),
1654
+ // Note: this is purposefully limited to a subset of values
1655
+ // that could show up in the Legal_CrossSells input because
1656
+ // this form only allows a handful of TOLPs on stage 1!
1657
+ autoAndCarAccidentCrossSellQuestions(),
1658
+ personalInjuryCrossSellQuestions(),
1659
+ duiAndDWICrossSellQuestions(),
1660
+ ssdiCrossSellQuestions(),
1661
+ powerOfAttorneyCrossSellQuestions(),
1662
+ willsAndTrustsCrossSellQuestions(),
1663
+ firstAndLastV2(),
1664
+ ];
1625
1665
 
1626
1666
  const schema = [
1627
- defaultMetaProps(),
1667
+ meta,
1628
1668
  formAnchor(),
1629
1669
  {
1630
1670
  $cmp: 'FormKit',
@@ -1648,26 +1688,12 @@ const schema = [
1648
1688
  class: 'form-body'
1649
1689
  },
1650
1690
  children: [
1651
- childAndFamilyTOLPAndZip(),
1652
- childAndFamilyTOLPQuestions(),
1653
- commentsWithBankruptcyV2({
1654
- nextOnEnter: false
1655
- }),
1656
- legalCrossSells(),
1657
- // Note: this is purposefully limited to a subset of values
1658
- // that could show up in the Legal_CrossSells input because
1659
- // this form only allows a handful of TOLPs on stage 1!
1660
- autoAndCarAccidentCrossSellQuestions(),
1661
- personalInjuryCrossSellQuestions(),
1662
- duiAndDWICrossSellQuestions(),
1663
- ssdiCrossSellQuestions(),
1664
- powerOfAttorneyCrossSellQuestions(),
1665
- willsAndTrustsCrossSellQuestions(),
1666
- firstAndLastV2(),
1667
- contactInfoTF({
1668
- nextOnEnter: false
1691
+ childAndFamilyTOLPAndZip({
1692
+ nextStepMap: nextStepsMapLegalLegacy
1669
1693
  }),
1670
- formNavigationV2(),
1694
+ dynamicSchemaNode,
1695
+ contactInfo(),
1696
+ formNavigation(),
1671
1697
  formDetails()
1672
1698
  ]
1673
1699
  }