bhl-forms 0.0.80 → 0.0.81

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.
@@ -12,16 +12,17 @@ const formPropDefaults = {
12
12
  type: 'form',
13
13
  id: 'form',
14
14
  config: { validationVisibility: 'submit' },
15
- onSubmit: '$submit("https://httpbin.org/post", $prepData, $handleRedirect)',
15
+ onSubmit: '$submit("https://httpbin.org/post", $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
16
16
  plugins: '$plugins',
17
17
  actions: false,
18
18
  prepop: {
19
19
  fromURL: true
20
20
  },
21
21
  errorCodes: {
22
- 403: "An Error Occurred",
22
+ 403: { message: "An Error Occurred", abort: false },
23
23
  409: { abort: false },
24
- 429: "An Error Occurred"
24
+ 429: "An Error Occurred",
25
+ 504: { message: "An Error Occurred", abort: false },
25
26
  },
26
27
  formClass: '!t-max-w-[38rem]'
27
28
  };
@@ -101,11 +102,11 @@ function subHeadline(updates) {
101
102
  )
102
103
  }
103
104
 
104
- const privacyIconsDefault = {
105
+ const secureIconDefault = {
105
106
  $el: 'div',
106
107
  if: '$activeStep === $lastStep()',
107
108
  attrs: {
108
- class: 't-flex t-justify-center'
109
+ class: 't-flex t-justify-center t-items-center t-text-sm t-text-gray-500'
109
110
  },
110
111
  children: [
111
112
  {
@@ -113,18 +114,28 @@ const privacyIconsDefault = {
113
114
  attrs: {
114
115
  loading: 'lazy',
115
116
  alt: '',
116
- style: { border: 0 },
117
- src: 'https://d27hmee62k45vz.cloudfront.net/form-secure-privacy.png',
118
- width: '320',
119
- height: '100'
117
+ style: {
118
+ border: 0
119
+ },
120
+ width: '25',
121
+ height: '25',
122
+ src: 'https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg',
123
+ }
124
+ },
125
+ {
126
+ $el: 'span',
127
+ children: 'Secure & Encrypted',
128
+ attrs: {
129
+ class: 't-pl-2 t-pt-1 t-font-medium'
120
130
  }
121
131
  }
122
132
  ]
123
133
  };
124
134
 
125
- function privacyIcons(updates) {
135
+
136
+ function secureIcon(updates) {
126
137
  return merge(
127
- privacyIconsDefault,
138
+ secureIconDefault,
128
139
  updates
129
140
  )
130
141
  }
@@ -223,6 +234,163 @@ const legalCriminalValueOverrideMap = {
223
234
  }
224
235
  };
225
236
 
237
+
238
+ const TOLPCommentsPlaceholders = {
239
+ 'Adoption': 'Example: "I need help with adoption forms"',
240
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
241
+ '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"',
242
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
243
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
244
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
245
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
246
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
247
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
248
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
249
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
250
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
251
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
252
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
253
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
254
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
255
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
256
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
257
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
258
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
259
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
260
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
261
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
262
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
263
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
264
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
265
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
266
+ '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"',
267
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
268
+ 'Nursing Home Abuse': 'Example: "My mother\'s nursing home is physically abusing her"',
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
+ 'Vaccination Injury': 'Example: "I was injured after receiving a vaccine and would like to file a lawsuit"',
281
+ 'Veteran\'s Disability': 'Example: "I would like help filing for disability benefits"',
282
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
283
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
284
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
285
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
286
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
287
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
288
+ };
289
+
290
+ const TOLPFinalHeadlines = {
291
+ // 'Adoption': '',
292
+ // 'Asbestos and Mesothelioma': '',
293
+ // 'Auto and Car Accidents': '',
294
+ // 'Bankruptcy': '',
295
+ // 'Birth Certificate and Name Change': '',
296
+ // 'Business Lawyers': '',
297
+ // 'Child Custody and Support': '',
298
+ // 'Civil Rights and Discrimination': '',
299
+ // 'Civil Lawsuit': '',
300
+ // 'Consumer Lawyers': '',
301
+ // 'Copyrights and Trademarks': '',
302
+ // 'Criminal and Felony': '',
303
+ // 'Debt and Collections': '',
304
+ // 'Divorce and Separation': '',
305
+ // 'DUI and DWI': '',
306
+ // 'Elder Law': '',
307
+ // 'Employment and Workplace': '',
308
+ // 'Expungement': '',
309
+ // 'Family Issues': '',
310
+ // 'Foreclosure': '',
311
+ // 'Guardianship': '',
312
+ // 'Harassment and Discrimination': '',
313
+ // 'Identity Theft': '',
314
+ // 'Immigration and Visas': '',
315
+ // 'Insurance': '',
316
+ // 'Landlord and Tenant': '',
317
+ // 'Lemon Law': '',
318
+ // 'Long Term Disability': '',
319
+ // 'Medical Malpractice': '',
320
+ // 'Nursing Home Abuse': '',
321
+ // 'Patents and Intellectual Property': '',
322
+ // 'Personal Injury': '',
323
+ // 'Power of Attorney': '',
324
+ // 'Probate and Estates': '',
325
+ // 'Product Liability': '',
326
+ // 'Property Damage': '',
327
+ // 'Real Estate': '',
328
+ // 'Social Security Disability and Insurance': '',
329
+ // 'Tax and IRS': '',
330
+ // 'Traffic and Tickets': '',
331
+ // 'Unemployment': '',
332
+ // 'Vaccination Injury': '',
333
+ // 'Veteran\'s Disability': '',
334
+ // 'Victim of a Crime': '',
335
+ // 'Wills and Trusts': '',
336
+ // 'Workers Compensation': '',
337
+ // 'Wrongful Death': '',
338
+ // 'Wrongful Termination': '',
339
+ // 'Not Sure or Other': ''
340
+ };
341
+
342
+ const TOLPFinalSubHeadlines = {
343
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
344
+ // 'Asbestos and Mesothelioma': '',
345
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
346
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
347
+ // 'Birth Certificate and Name Change': '',
348
+ // 'Business Lawyers': '',
349
+ // 'Child Custody and Support': '',
350
+ // 'Civil Rights and Discrimination': '',
351
+ // 'Civil Lawsuit': '',
352
+ // 'Consumer Lawyers': '',
353
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
354
+ // 'Criminal and Felony': '',
355
+ // 'Debt and Collections': '',
356
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
357
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
358
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
359
+ // 'Employment and Workplace': '',
360
+ // 'Expungement': '',
361
+ // 'Family Issues': '',
362
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
363
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
364
+ // 'Harassment and Discrimination': '',
365
+ // 'Identity Theft': '',
366
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
367
+ // 'Insurance': '',
368
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
369
+ // 'Lemon Law': '',
370
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
371
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
372
+ // 'Nursing Home Abuse': '',
373
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
374
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
375
+ // 'Power of Attorney': '',
376
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
377
+ // 'Product Liability': '',
378
+ // 'Property Damage': '',
379
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
380
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
381
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
382
+ // 'Traffic and Tickets': '',
383
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
384
+ // 'Vaccination Injury': '',
385
+ 'Veteran\'s Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
386
+ // 'Victim of a Crime': '',
387
+ // 'Wills and Trusts': '',
388
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
389
+ // 'Wrongful Death': '',
390
+ // 'Wrongful Termination': '',
391
+ // 'Not Sure or Other': ''
392
+ };
393
+
226
394
  // ------ Common Base Settings
227
395
 
228
396
  const checkbox = (updates) => {
@@ -956,7 +1124,7 @@ const firstName = () => sbsText({
956
1124
 
957
1125
  const haveAttorney = () => sbsYesNoRadio({
958
1126
  name: 'Have_Attorney',
959
- label: 'Are You Currently Working with An Attorney?'
1127
+ label: 'Are You Already Working with An Attorney?'
960
1128
  });
961
1129
 
962
1130
  const haveChildren = () => sbsYesNoRadio({
@@ -2276,39 +2444,56 @@ function step(name, inputs, nextOnEnter = true) {
2276
2444
  }
2277
2445
 
2278
2446
  const DEFAULT_COMMENTS_PLACEHOLDER = 'For Example: "I\'ve been involved in an auto accident" or "I need Power of Attorney"';
2447
+ const DEFAULT_COMMENTS_PLACEHOLDER_V2 = '$getKey($meta, "commentsPlaceholders." + $get(Type_Of_Legal_Problem).value, $meta.defaultCommentsPlaceholder)';
2279
2448
  const DEFAULT_COMMENTS_LABEL = 'Please briefly describe your legal issue in a few words:';
2280
2449
 
2281
- function commentsWithBankruptcy(updates = {}) {
2450
+ function commentsWithBankruptcyV2(updates = {}) {
2282
2451
  return step(
2283
2452
  'commentsWithBankruptcy',
2284
2453
  [
2454
+ {
2455
+ $el: 'h3',
2456
+ children: 'Additional Case Details',
2457
+ attrs: {
2458
+ 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-3'
2459
+ }
2460
+ },
2285
2461
  comments({
2286
2462
  label: updates.label || DEFAULT_COMMENTS_LABEL,
2287
- placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER
2463
+ placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_V2
2288
2464
  }),
2289
2465
  bankruptcyCrossSell()
2290
2466
  ],
2291
2467
  updates.nextOnEnter
2292
2468
  )
2293
2469
  }
2470
+ const DEFAULT_FINAL_HEADLINE_V2 = 'We Found Matches For Your Case!';
2471
+ const DEFAULT_FINAL_HEADLINE_V2_b = '$getKey($meta, "finalHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalHeadline)';
2472
+ const DEFAULT_FINAL_SUBHEADLINE_V2 = 'You may benefit from speaking with a legal professional. Please verify your contact information.';
2473
+ const DEFAULT_FINAL_SUBHEADLINE_V2_b = '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
2294
2474
 
2295
- const DEFAULT_FINAL_HEADLINE = "Based on your input, you may benefit from speaking with a legal professional. Please verify your contact information.";
2296
-
2297
- function contactInfo(updates = {}) {
2475
+ function contactInfoV2(updates = {}) {
2298
2476
  return step(
2299
2477
  'contactInfo',
2300
2478
  [
2301
2479
  {
2302
2480
  $el: 'h3',
2303
- children: updates.headline || DEFAULT_FINAL_HEADLINE,
2481
+ children: updates.headline || DEFAULT_FINAL_HEADLINE_V2_b,
2304
2482
  attrs: {
2305
- class: 't-flex t-justify-center t-text-center t-text-lg t-font-bold t-pb-5 t-pt-0 t-px-3'
2483
+ 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-3'
2484
+ }
2485
+ },
2486
+ {
2487
+ $el: 'h5',
2488
+ children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_V2_b,
2489
+ attrs: {
2490
+ class: 't-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3'
2306
2491
  }
2307
2492
  },
2308
2493
  email(),
2309
2494
  phone(),
2310
2495
  TCPAConsent(),
2311
- privacyIcons()
2496
+ secureIcon()
2312
2497
  ],
2313
2498
  updates.nextOnEnter
2314
2499
  )
@@ -2333,10 +2518,17 @@ function criminalTOLPAndZip(updates = {}) {
2333
2518
  )
2334
2519
  }
2335
2520
 
2336
- function firstAndLast(updates = {}) {
2521
+ function firstAndLastV2(updates = {}) {
2337
2522
  return step(
2338
2523
  'firstAndLast',
2339
2524
  [
2525
+ {
2526
+ $el: 'h3',
2527
+ children: 'Please Provide a Contact Name',
2528
+ attrs: {
2529
+ 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-3'
2530
+ }
2531
+ },
2340
2532
  firstName(),
2341
2533
  lastName()
2342
2534
  ],
@@ -2404,7 +2596,7 @@ function generalLegalTOLPQuestions(updates = {}) {
2404
2596
  questions.unshift(
2405
2597
  {
2406
2598
  $el: 'h3',
2407
- children: updates.headline || "Please Complete the Following:",
2599
+ children: updates.headline || 'Tell Us More About Your Case',
2408
2600
  attrs: {
2409
2601
  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-3'
2410
2602
  }
@@ -2418,9 +2610,7 @@ function generalLegalTOLPQuestions(updates = {}) {
2418
2610
  )
2419
2611
  }
2420
2612
 
2421
- // ------ Utilities
2422
-
2423
- const formNavigation = () => ({
2613
+ const formNavigationV2 = () => ({
2424
2614
  $el: 'div',
2425
2615
  attrs: {
2426
2616
  class: 'step-nav'
@@ -2440,7 +2630,16 @@ const formNavigation = () => ({
2440
2630
  $formkit: 'button',
2441
2631
  name: 'next_button',
2442
2632
  onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2443
- children: 'Next',
2633
+ children: {
2634
+ if: '$activeStep === $firstStep()',
2635
+ then: 'Get Help',
2636
+ else: 'Next'
2637
+ },
2638
+ outerClass: {
2639
+ if: '$activeStep === $lastStep()',
2640
+ then: 't-hidden',
2641
+ else: ''
2642
+ },
2444
2643
  style: {
2445
2644
  if: '$activeStep === $lastStep()',
2446
2645
  then: 'display: none;'
@@ -2499,24 +2698,31 @@ const formDetails = () => ({
2499
2698
  });
2500
2699
 
2501
2700
  const schema = [
2502
- metaProps(),
2701
+ metaProps({
2702
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER,
2703
+ commentsPlaceholders: TOLPCommentsPlaceholders,
2704
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE_V2,
2705
+ finalHeadlines: TOLPFinalHeadlines,
2706
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE_V2,
2707
+ finalSubHeadlines: TOLPFinalSubHeadlines
2708
+ }),
2503
2709
  formAnchor(),
2504
2710
  {
2505
2711
  $cmp: 'FormKit',
2506
2712
  props: formProps({
2507
2713
  formId: 'criminal',
2508
- onSubmit: '$submit($submitUrl, $prepData, $handleRedirect)',
2714
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
2509
2715
  redirectMap: legalRedirectMap(),
2510
2716
  anchorElement: 'form-anchor',
2511
2717
  valueOverrideMap: legalCriminalValueOverrideMap
2512
2718
  }),
2513
2719
  children: [
2514
2720
  headline({
2515
- children: 'Start Here For a Free Consultation!',
2721
+ children: '$urlParam("hl", "Start Here For a Free Consultation")',
2516
2722
  if: '$activeStep === $firstStep()'
2517
2723
  }),
2518
2724
  subHeadline({
2519
- children: 'A Fast and Free Service Connecting You With Legal Help.',
2725
+ children: '$urlParam("shl", "Our Service is Fast, Easy, and Free!")',
2520
2726
  if: '$activeStep === $firstStep()'
2521
2727
  }),
2522
2728
  ...hiddenInputs,
@@ -2528,18 +2734,14 @@ const schema = [
2528
2734
  children: [
2529
2735
  criminalTOLPAndZip(),
2530
2736
  generalLegalTOLPQuestions(),
2531
- commentsWithBankruptcy({
2532
- nextOnEnter: false,
2533
- placeholder: 'For Example: "I was arrested for drug charges" or "I was pulled over for a DUI"'
2737
+ commentsWithBankruptcyV2({
2738
+ nextOnEnter: false
2534
2739
  }),
2535
- firstAndLast(),
2536
- contactInfo({
2537
- headline: [
2538
- 'Based on your input, you may benefit from speaking with a Legal Professional. Please verify your contact information.'
2539
- ],
2740
+ firstAndLastV2(),
2741
+ contactInfoV2({
2540
2742
  nextOnEnter: false
2541
2743
  }),
2542
- formNavigation(),
2744
+ formNavigationV2(),
2543
2745
  formDetails()
2544
2746
  ]
2545
2747
  }