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
  }
@@ -232,6 +243,163 @@ const legalRealEstateValueOverrideMap = {
232
243
  }
233
244
  };
234
245
 
246
+
247
+ const TOLPCommentsPlaceholders = {
248
+ 'Adoption': 'Example: "I need help with adoption forms"',
249
+ 'Asbestos and Mesothelioma': 'Example: "I was exposed to asbestos at work and would like to file a claim"',
250
+ '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"',
251
+ 'Bankruptcy': 'Example: "I need help filing for bankruptcy"',
252
+ 'Birth Certificate and Name Change': 'Example: "Just married and would like to change my last name"',
253
+ 'Business Lawyers': 'Example: "I need help incorporating a business" or "I would like a legal contract reviewed"',
254
+ 'Child Custody and Support': 'Example: "Need help getting custody" or "Issues with child support payments"',
255
+ 'Civil Rights and Discrimination': 'Example: "Police brutality" or "Coworker keeps harassing me"',
256
+ 'Civil Lawsuit': 'Example: "A contractor took my money and never completed the job" or "I am being sued by a neighbor"',
257
+ 'Consumer Lawyers': 'Example: "Someone committed fraud against me" or "A contractor took my money and never completed the job"',
258
+ 'Copyrights and Trademarks': 'Example: "I would like to register a trademark or copyright a name"',
259
+ 'Criminal and Felony': 'Example: "I was arrested for DUI and need legal defense" or "I am being charged with assault"',
260
+ 'Debt and Collections': 'Example: "I would like to consolidate my debt" or "A collection agency is harassing me"',
261
+ 'Divorce and Separation': 'Example: "I would like to file for an uncontested divorce"',
262
+ 'DUI and DWI': 'Example: "I was arrested for DUI and need legal defense"',
263
+ 'Elder Law': 'Example: "I would like help with Estate Planning" or "I need help with a guardianship"',
264
+ 'Employment and Workplace': 'Example: "I was injured while on the job" or "My company is discriminating against me"',
265
+ 'Expungement': 'Example: "I would like to file for an expungement and clear my record"',
266
+ 'Family Issues': 'Example: "I need help with guardianship" or "I need a simple will created"',
267
+ 'Foreclosure': 'Example: "I need help to avoid foreclosure on my house"',
268
+ 'Guardianship': 'Example: "I need help with guardianship documents"',
269
+ 'Harassment and Discrimination': 'Example: "I am being discriminated at work" or "My neighbor is harassing me"',
270
+ 'Identity Theft': 'Example: "Someone stole my identity and I need help fixing the issue"',
271
+ 'Immigration and Visas': 'Example: "I need help filing for a visa" or "Help with a green card"',
272
+ 'Insurance': 'Example: "I need help filing an insurance claim for damage to my house"',
273
+ 'Landlord and Tenant': 'Example: "I need help to fight an eviction" or "I would like a lawyer to review a rental contract"',
274
+ 'Lemon Law': 'Example: "I purchased a new vehicle that broke down already and seller will not assist"',
275
+ '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"',
276
+ 'Medical Malpractice': 'Example: "A doctor performed surgery on the wrong limb and I would like to file a lawsuit"',
277
+ 'Nursing Home Abuse': 'Example: "My mother\'s nursing home is physically abusing her"',
278
+ 'Patents and Intellectual Property': 'Example: "I would like to file for a patent" or "I need to copyright a name"',
279
+ 'Personal Injury': 'Example: "I was bit by the neighbor\'s dog" or "I fell in the icy grocery store parking lot"',
280
+ 'Power of Attorney': 'Example: "I need help with a limited or general power of attorney"',
281
+ 'Probate and Estates': 'Example: "I need help with planning for my estate" or "A family member passed without a will in place"',
282
+ 'Product Liability': 'Example: "My car battery caught on fire" or "I purchased a faulty product"',
283
+ 'Property Damage': 'Example: "The neighbor\'s tree fell on my fence" or "My car was hit in the parking lot"',
284
+ 'Real Estate': 'Example: "I need help with a quitclaim deed" or "I need a lawyer to review a purchase and sales agreement"',
285
+ '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"',
286
+ 'Tax and IRS': 'Example: "I need help fighting an IRS tax claim" or "I need audit defense"',
287
+ 'Traffic and Tickets': 'Example: "I need help reinstating a supsended license" or "I would like to fight a traffic ticket"',
288
+ 'Unemployment': 'Example: "I need help filing for unemployment benefits"',
289
+ 'Vaccination Injury': 'Example: "I was injured after receiving a vaccine and would like to file a lawsuit"',
290
+ 'Veteran\'s Disability': 'Example: "I would like help filing for disability benefits"',
291
+ 'Victim of a Crime': 'Example: "I was assaulted in the store" or "I am being discriminated against at work"',
292
+ 'Wills and Trusts': 'Example: "I need a simple will created" or "I would like guidance on creating a trust fund"',
293
+ 'Workers Compensation': 'Example: "I was injured at work and would like to file for workers compensation benefits"',
294
+ 'Wrongful Death': 'Example: "A family member was killed on the job and we need legal representation"',
295
+ 'Wrongful Termination': 'Example: "I was fired by my employer without cause"',
296
+ 'Not Sure or Other': 'Example: "I was involved in a car accident" or "I need help setting up power of attorney"'
297
+ };
298
+
299
+ const TOLPFinalHeadlines = {
300
+ // 'Adoption': '',
301
+ // 'Asbestos and Mesothelioma': '',
302
+ // 'Auto and Car Accidents': '',
303
+ // 'Bankruptcy': '',
304
+ // 'Birth Certificate and Name Change': '',
305
+ // 'Business Lawyers': '',
306
+ // 'Child Custody and Support': '',
307
+ // 'Civil Rights and Discrimination': '',
308
+ // 'Civil Lawsuit': '',
309
+ // 'Consumer Lawyers': '',
310
+ // 'Copyrights and Trademarks': '',
311
+ // 'Criminal and Felony': '',
312
+ // 'Debt and Collections': '',
313
+ // 'Divorce and Separation': '',
314
+ // 'DUI and DWI': '',
315
+ // 'Elder Law': '',
316
+ // 'Employment and Workplace': '',
317
+ // 'Expungement': '',
318
+ // 'Family Issues': '',
319
+ // 'Foreclosure': '',
320
+ // 'Guardianship': '',
321
+ // 'Harassment and Discrimination': '',
322
+ // 'Identity Theft': '',
323
+ // 'Immigration and Visas': '',
324
+ // 'Insurance': '',
325
+ // 'Landlord and Tenant': '',
326
+ // 'Lemon Law': '',
327
+ // 'Long Term Disability': '',
328
+ // 'Medical Malpractice': '',
329
+ // 'Nursing Home Abuse': '',
330
+ // 'Patents and Intellectual Property': '',
331
+ // 'Personal Injury': '',
332
+ // 'Power of Attorney': '',
333
+ // 'Probate and Estates': '',
334
+ // 'Product Liability': '',
335
+ // 'Property Damage': '',
336
+ // 'Real Estate': '',
337
+ // 'Social Security Disability and Insurance': '',
338
+ // 'Tax and IRS': '',
339
+ // 'Traffic and Tickets': '',
340
+ // 'Unemployment': '',
341
+ // 'Vaccination Injury': '',
342
+ // 'Veteran\'s Disability': '',
343
+ // 'Victim of a Crime': '',
344
+ // 'Wills and Trusts': '',
345
+ // 'Workers Compensation': '',
346
+ // 'Wrongful Death': '',
347
+ // 'Wrongful Termination': '',
348
+ // 'Not Sure or Other': ''
349
+ };
350
+
351
+ const TOLPFinalSubHeadlines = {
352
+ 'Adoption': 'You may benefit from speaking with an adoption professional. Please verify your contact information.',
353
+ // 'Asbestos and Mesothelioma': '',
354
+ 'Auto and Car Accidents': 'You may benefit from speaking with an accident professional. Please verify your contact information.',
355
+ 'Bankruptcy': 'You may benefit from speaking with a bankruptcy professional. Please verify your contact information.',
356
+ // 'Birth Certificate and Name Change': '',
357
+ // 'Business Lawyers': '',
358
+ // 'Child Custody and Support': '',
359
+ // 'Civil Rights and Discrimination': '',
360
+ // 'Civil Lawsuit': '',
361
+ // 'Consumer Lawyers': '',
362
+ 'Copyrights and Trademarks': 'You may benefit from speaking with a copyright and trademark professional. Please verify your contact information.',
363
+ // 'Criminal and Felony': '',
364
+ // 'Debt and Collections': '',
365
+ 'Divorce and Separation': 'You may benefit from speaking with a divorce professional. Please verify your contact information.',
366
+ 'DUI and DWI': 'You may benefit from speaking with a DUI professional. Please verify your contact information.',
367
+ 'Elder Law': 'You may benefit from speaking with an elder law professional. Please verify your contact information.',
368
+ // 'Employment and Workplace': '',
369
+ // 'Expungement': '',
370
+ // 'Family Issues': '',
371
+ 'Foreclosure': 'You may benefit from speaking with a foreclosure professional. Please verify your contact information.',
372
+ 'Guardianship': 'You may benefit from speaking with a guardianship professional. Please verify your contact information.',
373
+ // 'Harassment and Discrimination': '',
374
+ // 'Identity Theft': '',
375
+ 'Immigration and Visas': 'You may benefit from speaking with a immigration professional. Please verify your contact information.',
376
+ // 'Insurance': '',
377
+ 'Landlord and Tenant': 'You may benefit from speaking with a landlord and tenant legal professional. Please verify your contact information.',
378
+ // 'Lemon Law': '',
379
+ 'Long Term Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
380
+ 'Medical Malpractice': 'You may benefit from speaking with a malpractice professional. Please verify your contact information.',
381
+ // 'Nursing Home Abuse': '',
382
+ 'Patents and Intellectual Property': 'You may benefit from speaking with a patent professional. Please verify your contact information.',
383
+ 'Personal Injury': 'You may benefit from speaking with a personal injury professional. Please verify your contact information.',
384
+ // 'Power of Attorney': '',
385
+ 'Probate and Estates': 'You may benefit from speaking with a probate and estate professional. Please verify your contact information.',
386
+ // 'Product Liability': '',
387
+ // 'Property Damage': '',
388
+ 'Real Estate': 'You may benefit from speaking with a real estate professional. Please verify your contact information.',
389
+ 'Social Security Disability and Insurance': 'You may benefit from speaking with an SSDI professional. Please verify your contact information.',
390
+ 'Tax and IRS': 'You may benefit from speaking with a tax professional. Please verify your contact information.',
391
+ // 'Traffic and Tickets': '',
392
+ 'Unemployment': 'You may benefit from speaking with an unemployment professional. Please verify your contact information.',
393
+ // 'Vaccination Injury': '',
394
+ 'Veteran\'s Disability': 'You may benefit from speaking with a disability legal professional. Please verify your contact information.',
395
+ // 'Victim of a Crime': '',
396
+ // 'Wills and Trusts': '',
397
+ 'Workers Compensation': 'You may benefit from speaking with a workers compensation professional. Please verify your contact information.',
398
+ // 'Wrongful Death': '',
399
+ // 'Wrongful Termination': '',
400
+ // 'Not Sure or Other': ''
401
+ };
402
+
235
403
  // ------ Common Base Settings
236
404
 
237
405
  const checkbox = (updates) => {
@@ -965,7 +1133,7 @@ const firstName = () => sbsText({
965
1133
 
966
1134
  const haveAttorney = () => sbsYesNoRadio({
967
1135
  name: 'Have_Attorney',
968
- label: 'Are You Currently Working with An Attorney?'
1136
+ label: 'Are You Already Working with An Attorney?'
969
1137
  });
970
1138
 
971
1139
  const haveChildren = () => sbsYesNoRadio({
@@ -2288,48 +2456,72 @@ function step(name, inputs, nextOnEnter = true) {
2288
2456
  }
2289
2457
 
2290
2458
  const DEFAULT_COMMENTS_PLACEHOLDER = 'For Example: "I\'ve been involved in an auto accident" or "I need Power of Attorney"';
2459
+ const DEFAULT_COMMENTS_PLACEHOLDER_V2 = '$getKey($meta, "commentsPlaceholders." + $get(Type_Of_Legal_Problem).value, $meta.defaultCommentsPlaceholder)';
2291
2460
  const DEFAULT_COMMENTS_LABEL = 'Please briefly describe your legal issue in a few words:';
2292
2461
 
2293
- function commentsWithBankruptcy(updates = {}) {
2462
+ function commentsWithBankruptcyV2(updates = {}) {
2294
2463
  return step(
2295
2464
  'commentsWithBankruptcy',
2296
2465
  [
2466
+ {
2467
+ $el: 'h3',
2468
+ children: 'Additional Case Details',
2469
+ attrs: {
2470
+ 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'
2471
+ }
2472
+ },
2297
2473
  comments({
2298
2474
  label: updates.label || DEFAULT_COMMENTS_LABEL,
2299
- placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER
2475
+ placeholder: updates.placeholder || DEFAULT_COMMENTS_PLACEHOLDER_V2
2300
2476
  }),
2301
2477
  bankruptcyCrossSell()
2302
2478
  ],
2303
2479
  updates.nextOnEnter
2304
2480
  )
2305
2481
  }
2482
+ const DEFAULT_FINAL_HEADLINE_V2 = 'We Found Matches For Your Case!';
2483
+ const DEFAULT_FINAL_HEADLINE_V2_b = '$getKey($meta, "finalHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalHeadline)';
2484
+ const DEFAULT_FINAL_SUBHEADLINE_V2 = 'You may benefit from speaking with a legal professional. Please verify your contact information.';
2485
+ const DEFAULT_FINAL_SUBHEADLINE_V2_b = '$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';
2306
2486
 
2307
- const DEFAULT_FINAL_HEADLINE = "Based on your input, you may benefit from speaking with a legal professional. Please verify your contact information.";
2308
-
2309
- function contactInfo(updates = {}) {
2487
+ function contactInfoV2(updates = {}) {
2310
2488
  return step(
2311
2489
  'contactInfo',
2312
2490
  [
2313
2491
  {
2314
2492
  $el: 'h3',
2315
- children: updates.headline || DEFAULT_FINAL_HEADLINE,
2493
+ children: updates.headline || DEFAULT_FINAL_HEADLINE_V2_b,
2316
2494
  attrs: {
2317
- class: 't-flex t-justify-center t-text-center t-text-lg t-font-bold t-pb-5 t-pt-0 t-px-3'
2495
+ 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'
2496
+ }
2497
+ },
2498
+ {
2499
+ $el: 'h5',
2500
+ children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_V2_b,
2501
+ attrs: {
2502
+ class: 't-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3'
2318
2503
  }
2319
2504
  },
2320
2505
  email(),
2321
2506
  phone(),
2322
2507
  TCPAConsent(),
2323
- privacyIcons()
2508
+ secureIcon()
2324
2509
  ],
2325
2510
  updates.nextOnEnter
2326
2511
  )
2327
2512
  }
2328
2513
 
2329
- function firstAndLast(updates = {}) {
2514
+ function firstAndLastV2(updates = {}) {
2330
2515
  return step(
2331
2516
  'firstAndLast',
2332
2517
  [
2518
+ {
2519
+ $el: 'h3',
2520
+ children: 'Please Provide a Contact Name',
2521
+ attrs: {
2522
+ 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'
2523
+ }
2524
+ },
2333
2525
  firstName(),
2334
2526
  lastName()
2335
2527
  ],
@@ -2397,7 +2589,7 @@ function generalLegalTOLPQuestions(updates = {}) {
2397
2589
  questions.unshift(
2398
2590
  {
2399
2591
  $el: 'h3',
2400
- children: updates.headline || "Please Complete the Following:",
2592
+ children: updates.headline || 'Tell Us More About Your Case',
2401
2593
  attrs: {
2402
2594
  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'
2403
2595
  }
@@ -2430,9 +2622,7 @@ function realEstateTOLPAndZip(updates = {}) {
2430
2622
  )
2431
2623
  }
2432
2624
 
2433
- // ------ Utilities
2434
-
2435
- const formNavigation = () => ({
2625
+ const formNavigationV2 = () => ({
2436
2626
  $el: 'div',
2437
2627
  attrs: {
2438
2628
  class: 'step-nav'
@@ -2452,7 +2642,16 @@ const formNavigation = () => ({
2452
2642
  $formkit: 'button',
2453
2643
  name: 'next_button',
2454
2644
  onClick: '$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))',
2455
- children: 'Next',
2645
+ children: {
2646
+ if: '$activeStep === $firstStep()',
2647
+ then: 'Get Help',
2648
+ else: 'Next'
2649
+ },
2650
+ outerClass: {
2651
+ if: '$activeStep === $lastStep()',
2652
+ then: 't-hidden',
2653
+ else: ''
2654
+ },
2456
2655
  style: {
2457
2656
  if: '$activeStep === $lastStep()',
2458
2657
  then: 'display: none;'
@@ -2511,24 +2710,31 @@ const formDetails = () => ({
2511
2710
  });
2512
2711
 
2513
2712
  const schema = [
2514
- metaProps(),
2713
+ metaProps({
2714
+ defaultCommentsPlaceholder: DEFAULT_COMMENTS_PLACEHOLDER,
2715
+ commentsPlaceholders: TOLPCommentsPlaceholders,
2716
+ defaultFinalHeadline: DEFAULT_FINAL_HEADLINE_V2,
2717
+ finalHeadlines: TOLPFinalHeadlines,
2718
+ defaultFinalSubHeadline: DEFAULT_FINAL_SUBHEADLINE_V2,
2719
+ finalSubHeadlines: TOLPFinalSubHeadlines
2720
+ }),
2515
2721
  formAnchor(),
2516
2722
  {
2517
2723
  $cmp: 'FormKit',
2518
2724
  props: formProps({
2519
2725
  formId: 'realEstate',
2520
- onSubmit: '$submit($submitUrl, $prepData, $handleRedirect)',
2726
+ onSubmit: '$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',
2521
2727
  redirectMap: legalRedirectMap(),
2522
2728
  anchorElement: 'form-anchor',
2523
2729
  valueOverrideMap: legalRealEstateValueOverrideMap
2524
2730
  }),
2525
2731
  children: [
2526
2732
  headline({
2527
- children: 'Start Here For a Free Consultation!',
2733
+ children: '$urlParam("hl", "Start Here For a Free Consultation")',
2528
2734
  if: '$activeStep === $firstStep()'
2529
2735
  }),
2530
2736
  subHeadline({
2531
- children: 'A Fast and Free Service Connecting You With Legal Help.',
2737
+ children: '$urlParam("shl", "Our Service is Fast, Easy, and Free!")',
2532
2738
  if: '$activeStep === $firstStep()'
2533
2739
  }),
2534
2740
  ...hiddenInputs,
@@ -2540,18 +2746,14 @@ const schema = [
2540
2746
  children: [
2541
2747
  realEstateTOLPAndZip(),
2542
2748
  generalLegalTOLPQuestions(),
2543
- commentsWithBankruptcy({
2544
- nextOnEnter: false,
2545
- placeholder: 'For Example: "I need to dispute a real estate contract" or "I need help with an inherited estate"'
2749
+ commentsWithBankruptcyV2({
2750
+ nextOnEnter: false
2546
2751
  }),
2547
- firstAndLast(),
2548
- contactInfo({
2549
- headline: [
2550
- 'Based on your input, you may benefit from speaking with a Legal Professional. Please verify your contact information.'
2551
- ],
2752
+ firstAndLastV2(),
2753
+ contactInfoV2({
2552
2754
  nextOnEnter: false
2553
2755
  }),
2554
- formNavigation(),
2756
+ formNavigationV2(),
2555
2757
  formDetails()
2556
2758
  ]
2557
2759
  }