bhl-forms 0.9.5 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/bhl-forms.es.js +3262 -3005
  2. package/dist/bhl-forms.iife.js +4 -4
  3. package/dist/bhl-forms.modern.es.js +5191 -4927
  4. package/dist/bhl-forms.modern.iife.js +7 -7
  5. package/dist/bhl-forms.modern.umd.js +7 -7
  6. package/dist/bhl-forms.umd.js +4 -4
  7. package/dist/forms/accidentsAndInjuries.es.js +13 -8
  8. package/dist/forms/accidentsAndInjuries.iife.js +1 -1
  9. package/dist/forms/applianceRepairMinimal.es.js +96 -164
  10. package/dist/forms/applianceRepairMinimal.iife.js +1 -1
  11. package/dist/forms/business.es.js +13 -8
  12. package/dist/forms/business.iife.js +1 -1
  13. package/dist/forms/childAndFamily.es.js +13 -8
  14. package/dist/forms/childAndFamily.iife.js +1 -1
  15. package/dist/forms/childAndFamilySingle.es.js +13 -8
  16. package/dist/forms/childAndFamilySingle.iife.js +1 -1
  17. package/dist/forms/civilLawsuit.es.js +13 -8
  18. package/dist/forms/civilLawsuit.iife.js +1 -1
  19. package/dist/forms/contracts.es.js +13 -8
  20. package/dist/forms/contracts.iife.js +1 -1
  21. package/dist/forms/criminal.es.js +13 -8
  22. package/dist/forms/criminal.iife.js +1 -1
  23. package/dist/forms/divorce.es.js +13 -8
  24. package/dist/forms/divorce.iife.js +1 -1
  25. package/dist/forms/employmentAndWorkplace.es.js +13 -8
  26. package/dist/forms/employmentAndWorkplace.iife.js +1 -1
  27. package/dist/forms/foreclosure.es.js +13 -8
  28. package/dist/forms/foreclosure.iife.js +1 -1
  29. package/dist/forms/generalContractors.es.js +14 -9
  30. package/dist/forms/generalContractors.iife.js +1 -1
  31. package/dist/forms/generalHomeImprovement.es.js +14 -9
  32. package/dist/forms/generalHomeImprovement.iife.js +1 -1
  33. package/dist/forms/generalHomeImprovementThankYou.es.js +14 -9
  34. package/dist/forms/generalHomeImprovementThankYou.iife.js +1 -1
  35. package/dist/forms/generalLegal.es.js +13 -8
  36. package/dist/forms/generalLegal.iife.js +1 -1
  37. package/dist/forms/generalLegalJustAnswer.es.js +13 -8
  38. package/dist/forms/generalLegalJustAnswer.iife.js +1 -1
  39. package/dist/forms/generalLegalPopUnder.es.js +13 -8
  40. package/dist/forms/generalLegalPopUnder.iife.js +1 -1
  41. package/dist/forms/generalLegalPopUnderSingle.es.js +13 -8
  42. package/dist/forms/generalLegalPopUnderSingle.iife.js +1 -1
  43. package/dist/forms/generalLegalSingle.es.js +13 -8
  44. package/dist/forms/generalLegalSingle.iife.js +1 -1
  45. package/dist/forms/generalLegalThankYou.es.js +13 -8
  46. package/dist/forms/generalLegalThankYou.iife.js +1 -1
  47. package/dist/forms/generalLegalThankYouConsultation.es.js +13 -8
  48. package/dist/forms/generalLegalThankYouConsultation.iife.js +1 -1
  49. package/dist/forms/harassmentAndDiscrimination.es.js +13 -8
  50. package/dist/forms/harassmentAndDiscrimination.iife.js +1 -1
  51. package/dist/forms/landlordTenant.es.js +13 -8
  52. package/dist/forms/landlordTenant.iife.js +1 -1
  53. package/dist/forms/malpractice.es.js +13 -8
  54. package/dist/forms/malpractice.iife.js +1 -1
  55. package/dist/forms/mechanics.es.js +13 -8
  56. package/dist/forms/mechanics.iife.js +1 -1
  57. package/dist/forms/patentsAndIP.es.js +13 -8
  58. package/dist/forms/patentsAndIP.iife.js +1 -1
  59. package/dist/forms/realEstate.es.js +13 -8
  60. package/dist/forms/realEstate.iife.js +1 -1
  61. package/dist/forms/repossession.es.js +13 -8
  62. package/dist/forms/repossession.iife.js +1 -1
  63. package/dist/forms/ssdi.es.js +13 -8
  64. package/dist/forms/ssdi.iife.js +1 -1
  65. package/dist/forms/testForm.es.js +13 -8
  66. package/dist/forms/testForm.iife.js +1 -1
  67. package/dist/forms/willsAndTrusts.es.js +13 -8
  68. package/dist/forms/willsAndTrusts.iife.js +1 -1
  69. package/dist/forms/windows.es.js +14 -9
  70. package/dist/forms/windows.iife.js +1 -1
  71. package/dist/forms/workersCompensation.es.js +13 -8
  72. package/dist/forms/workersCompensation.iife.js +1 -1
  73. package/dist/main.css +1 -1
  74. package/package.json +2 -2
@@ -52,55 +52,66 @@ const verticalText = (updates) => {
52
52
  return text(updates)
53
53
  };
54
54
 
55
- const firstName = (scope, vertical, updates = {}) => {
56
- const func = vertical ? verticalText : sbsText;
57
- const label = vertical ? updates.label : "First Name:";
58
- return func({
59
- label,
60
- placeholder: "First",
55
+ const firstNameFL = (scope, updates = {}) => {
56
+ return text({
57
+ $formkit: "FloatingLabelText",
58
+ placeholder: "First Name",
61
59
  name: scope ? scope + ":" + "First_Name" : "First_Name",
62
60
  autocomplete: "given-name",
63
61
  validationMessages: {
64
62
  required: "First Name is required",
65
63
  },
64
+ inputClass: "t-text-center",
66
65
  ...updates,
67
66
  })
68
67
  };
69
68
 
70
- const lastName = (scope, vertical, updates = {}) => {
71
- const func = vertical ? verticalText : sbsText;
72
- const label = vertical ? updates.label : "Last Name:";
73
- return func({
74
- label,
75
- placeholder: "Last",
69
+ const lastNameFL = (scope, updates = {}) => {
70
+ return text({
71
+ $formkit: "FloatingLabelText",
72
+ placeholder: "Last Name",
76
73
  name: scope ? scope + ":" + "Last_Name" : "Last_Name",
77
74
  autocomplete: "family-name",
78
75
  validationMessages: {
79
76
  required: "Last Name is required",
80
77
  },
78
+ inputClass: "t-text-center",
81
79
  ...updates,
82
80
  })
83
81
  };
84
82
 
85
- const phone = (scope, vertical, updates = {}) => {
86
- const func = vertical ? verticalText : sbsText;
87
- const label = vertical ? updates.label : "Phone Number:";
88
- return func({
89
- $formkit: "tel",
83
+ const fullNameFL = (scope, updates = {}) => {
84
+ return {
85
+ $el: "div",
86
+ attrs: {
87
+ class: "t-flex t-flex-row t-flex-wrap t-gap-x-[2%] t-justify-center t-max-w-[95%] sm:!t-max-w-[70%]",
88
+ },
89
+ children: [
90
+ firstNameFL(scope, { outerClass: "!t-max-w-[48%] sm:!t-max-w-[49%]", ...updates }),
91
+ lastNameFL(scope, { outerClass: "!t-max-w-[48%] sm:!t-max-w-[49%]", ...updates }),
92
+ ],
93
+ }
94
+ };
95
+
96
+ const phoneFL = (scope, updates = {}) => {
97
+ return text({
98
+ $formkit: "FloatingLabelText",
99
+ datatype: "tel",
90
100
  name: scope ? scope + ":" + "Primary_Phone" : "Primary_Phone",
91
- label,
92
- placeholder: "###-###-####",
93
- maxlength: 12,
94
- help: "10-digit phone number, hyphens optional",
101
+ placeholder: updates.placeholder || "Phone Number",
102
+ maxlength: 14,
103
+ help: updates.help || null,
95
104
  autocomplete: "tel-national",
96
105
  "data-tf-sensitive": "false",
97
- validation: "required|matches:/^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$/|valid_phone",
106
+ validation: "required|matches:/^[0-9]{3}[0-9]{3}[0-9]{4}$/|valid_phone",
98
107
  validationMessages: {
99
108
  required: "Phone Number is required",
100
- matches: "Invalid Phone Format, use ###-###-####",
109
+ matches: "Invalid Phone Format, use (XXX) YYY-ZZZZ",
101
110
  valid_phone: "Invalid Phone Number",
102
111
  },
103
112
  helpClass: "t-mt-2.5 md:t-text-right md:t-mt-[-2px]",
113
+ inputClass: "t-text-center",
114
+ wrapperClass: "t-flex t-justify-center",
104
115
  ...updates,
105
116
  })
106
117
  };
@@ -126,7 +137,7 @@ const zipcode = (scope, vertical, updates = {}) => {
126
137
  })
127
138
  };
128
139
 
129
- const TCPAConsent = (scope) => ({
140
+ const TCPAConsent = (scope, updates = {}) => ({
130
141
  $formkit: "checkbox",
131
142
  label: "$meta.tcpaLanguage",
132
143
  // Necessary to get links to work in the tcpa language
@@ -141,7 +152,12 @@ const TCPAConsent = (scope) => ({
141
152
  accepted: "Consent is required",
142
153
  },
143
154
  classes: {
144
- label: "t-text-xs t-text-slate-500 t-font-normal !t-leading-[0.9rem]",
155
+ outer: updates.outerClass ? updates.outerClass : "",
156
+ wrapper: updates.wrapperClass ? updates.wrapperClass : "",
157
+ messages: updates.messagesClass ? updates.messagesClass : "",
158
+ label:
159
+ "t-text-xs t-text-slate-500 t-font-normal !t-leading-[0.9rem]" +
160
+ (updates.labelClass ? " " + updates.labelClass : ""),
145
161
  },
146
162
  });
147
163
 
@@ -202,33 +218,25 @@ const secureIconDefault = {
202
218
  ],
203
219
  };
204
220
 
205
- function secureIcon(updates) {
221
+ function secureIcon(updates = {}) {
206
222
  return merge(secureIconDefault, updates)
207
223
  }
208
224
 
209
- function verticalStepSubHeadline(updates) {
225
+ function secureIconStandalone(updates = {}) {
210
226
  return {
211
- $el: "h5",
212
- children: updates.subheadline || "",
213
- attrs: {
214
- class:
215
- "t-flex t-justify-center t-text-center !t-text-lg t-font-normal t-text-dark t-pb-5 t-pt-0 t-px-1" +
216
- " " +
217
- (updates.subheadlineClass || ""),
218
- },
219
- }
220
- }
221
-
222
- function firstAndLastStepHeadline(updates) {
223
- return {
224
- $el: "h3",
225
- children: updates.headline || "Please Provide a Contact Name",
226
- attrs: {
227
- class:
228
- "t-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1" +
229
- " " +
230
- (updates.headlineClass || ""),
227
+ if: "$activeStep === $lastStep()",
228
+ style: {
229
+ if: "$activeStep !== $lastStep()",
230
+ then: "display: none;",
231
231
  },
232
+ children: [
233
+ secureIcon({
234
+ attrs: {
235
+ class: "t-flex t-justify-center t-items-center t-text-sm t-text-gray-500 t-pb-4 sm:t-pb-8",
236
+ },
237
+ ...updates,
238
+ }),
239
+ ],
232
240
  }
233
241
  }
234
242
 
@@ -252,7 +260,7 @@ function contactStepSubHeadline(updates) {
252
260
  children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC_LEGAL,
253
261
  attrs: {
254
262
  class:
255
- "t-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3" +
263
+ "t-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-6 t-pt-0 t-px-3" +
256
264
  " " +
257
265
  (updates.subheadlineClass || "") +
258
266
  " f-contact-info-subheadline",
@@ -328,37 +336,33 @@ function step(name, inputs, updates = {}) {
328
336
  })
329
337
  }
330
338
 
331
- function contactInfoNoEmail(updates = {}) {
339
+ function contactInfoNameNoEmail(updates = {}) {
332
340
  return step(
333
341
  "contactInfo",
334
342
  [
335
343
  contactStepHeadline(updates),
336
344
  contactStepSubHeadline(updates),
337
345
  trustedFormScript(),
338
- phone(updates.scope, true),
339
- TCPAConsent(updates.scope),
340
- secureIcon(),
341
- ],
342
- { nextOnEnter: false }
343
- )
344
- }
345
-
346
- function firstAndLastV3(updates = {}) {
347
- return step(
348
- "firstAndLast",
349
- [
350
- firstAndLastStepHeadline({
351
- headline: updates.headline ?? "Who is looking for help?",
352
- headlineClass: updates.headlineClass,
353
- }),
354
- verticalStepSubHeadline({
355
- subheadline: updates.subheadline ?? "Note: we never share info without consent",
356
- subheadlineClass: "!t-text-sm !t-text-gray-500",
346
+ {
347
+ $el: "div",
348
+ attrs: {
349
+ class: "t-flex t-flex-col t-justify-center t-items-center",
350
+ },
351
+ children: [
352
+ fullNameFL(updates.scope),
353
+ phoneFL(updates.scope, {
354
+ outerClass: "!t-max-w-[95%] !t-w-[96%] sm:!t-w-[70%]",
355
+ innerClass: "!t-w-[98%] !t-max-w-[98%] sm:!t-w-[100%] sm:!t-max-w-[100%]",
356
+ }),
357
+ ],
358
+ },
359
+ TCPAConsent(updates.scope, {
360
+ outerClass: "!t-flex !t-flex-col !t-justify-center !t-items-center",
361
+ wrapperClass: "t-w-[95%] sm:t-w-[75%]",
362
+ messagesClass: "t-w-[95%] sm:t-w-[75%]",
357
363
  }),
358
- firstName(updates.scope),
359
- lastName(updates.scope),
360
364
  ],
361
- updates
365
+ { nextOnEnter: false }
362
366
  )
363
367
  }
364
368
 
@@ -378,13 +382,17 @@ function applianceRepairFirstStep(updates = {}) {
378
382
  )
379
383
  }
380
384
 
381
- const formNavigation = (updates = {}) => ({
385
+ const formNavigationNoFinalBack = (updates = {}) => ({
382
386
  $el: "div",
383
387
  attrs: {
384
388
  class: {
385
389
  if: "$activeStep === $firstStep()",
386
390
  then: "step-nav " + (updates.firstStepButtonClass || "!t-justify-center sm:!t-justify-between"),
387
- else: "step-nav !t-justify-between",
391
+ else: {
392
+ if: "$activeStep === $lastStep()",
393
+ then: "step-nav !t-justify-center ",
394
+ else: "step-nav !t-justify-between",
395
+ },
388
396
  },
389
397
  },
390
398
  children: [
@@ -396,11 +404,19 @@ const formNavigation = (updates = {}) => ({
396
404
  outerClass: {
397
405
  if: "$activeStep === $firstStep()",
398
406
  then: "t-hidden sm:t-block",
399
- else: "",
407
+ else: {
408
+ if: "$activeStep === $lastStep()",
409
+ then: "t-hidden sm:t-block",
410
+ else: "",
411
+ },
400
412
  },
401
413
  style: {
402
414
  if: "$activeStep === $firstStep()",
403
415
  then: "display: none;",
416
+ else: {
417
+ if: "$activeStep === $lastStep()",
418
+ then: "display: none;",
419
+ },
404
420
  },
405
421
  classes: {
406
422
  input: (updates.inputClass || "") + " f-navigation-input",
@@ -438,7 +454,8 @@ const formNavigation = (updates = {}) => ({
438
454
  then: "display: none;",
439
455
  },
440
456
  classes: {
441
- input: (updates.inputClass || "") + " !t-ml-2 sm:!t-ml-auto f-navigation-input",
457
+ input: (updates.inputClass || "") + " f-navigation-input !t-w-60",
458
+ outer: "!t-mt-0 !t-mb-0",
442
459
  },
443
460
  },
444
461
  ],
@@ -560,17 +577,6 @@ function defaultMetaPropsHomeImprovement(category = null) {
560
577
  })
561
578
  }
562
579
 
563
- function dynamicSchemaNode(field = "Type_Of_Legal_Problem") {
564
- return {
565
- $cmp: "FormKitSchema",
566
- if: "$get(" + field + ").value",
567
- props: {
568
- schema: "$meta.dynamicSchema",
569
- data: "$buildData($meta)",
570
- },
571
- }
572
- }
573
-
574
580
  const formAnchorDefaults = {
575
581
  $el: "div",
576
582
  children: [
@@ -592,58 +598,6 @@ function formAnchor(updates) {
592
598
  return merge(formAnchorDefaults, updates)
593
599
  }
594
600
 
595
- const progressBarDefaults = {
596
- $el: "div",
597
- attrs: {
598
- class: "t-mt-7 t-mb-5 t-w-full t-flex t-flex-col t-justify-center t-items-center",
599
- style: {
600
- if: "$fns.eq($activeStep, $firstStep()) || $fns.eq($activeStep, $lastStep())",
601
- then: "display: none",
602
- },
603
- },
604
- children: [
605
- {
606
- $el: "div",
607
- attrs: {
608
- class: "t-flex t-justify-center",
609
- },
610
- children: [
611
- {
612
- $el: "span",
613
- attrs: {
614
- id: "progress-bar-text",
615
- class: "t-text-sm t-mb-1",
616
- },
617
- children: ["0% Complete"],
618
- },
619
- ],
620
- },
621
- {
622
- $el: "div",
623
- attrs: {
624
- class: "t-bg-gray-100 t-w-9/12 t-rounded",
625
- },
626
- children: [
627
- {
628
- $el: "div",
629
- attrs: {
630
- id: "progress-bar",
631
- class:
632
- "t-flex t-flex-col t-justify-center t-text-center t-whitespace-nowrap t-w-[10%] t-h-1.5 t-rounded t-text-white t-bg-[#007bff]",
633
- style: {
634
- transition: "width 0.5s ease",
635
- },
636
- },
637
- },
638
- ],
639
- },
640
- ],
641
- };
642
-
643
- function progressBar(updates) {
644
- return merge(progressBarDefaults, updates)
645
- }
646
-
647
601
  function headlineDefaults(updates = {}) {
648
602
  return {
649
603
  $el: "h1",
@@ -830,7 +784,7 @@ const HomeImprovementFinalHeadlines = {
830
784
 
831
785
  const HomeImprovementFinalSubHeadlines = {
832
786
  // 'Additions': '',
833
- Appliances: "What is the best number to reach you?",
787
+ Appliances: "Who needs appliance help?",
834
788
  // 'Appraisals': '',
835
789
  // 'Cabinets': '',
836
790
  // 'Carpentry': '',
@@ -885,28 +839,8 @@ const HomeImprovementFinalSubHeadlines = {
885
839
  // 'Windows': '',
886
840
  };
887
841
 
888
- const nextStepsMapApplianceRepairMinimal = {
889
- values: {
890
- // Custom because we ask zip on s1
891
- "*": ["firstAndLast", "contactInfo"],
892
- },
893
- };
894
-
895
842
  const meta = defaultMetaPropsHomeImprovement();
896
843
 
897
- meta.data.dynamicSchema = [
898
- // steps.commentsHeadline({
899
- // label: null,
900
- // headline: "Please describe your appliance issue:",
901
- // headlineClass: "!t-text-dark",
902
- // }),
903
- firstAndLastV3({
904
- headline: "Who needs appliance help?",
905
- headlineClass: "!t-text-dark",
906
- subheadline: "",
907
- }),
908
- ];
909
-
910
844
  const schema = [
911
845
  meta,
912
846
  formAnchor(),
@@ -919,7 +853,6 @@ const schema = [
919
853
  },
920
854
  }),
921
855
  children: [
922
- progressBar(),
923
856
  headline({
924
857
  children: '$urlParam("hl", "Get Started Here!")',
925
858
  if: "$activeStep === $firstStep()",
@@ -939,23 +872,22 @@ const schema = [
939
872
  applianceRepairFirstStep({
940
873
  nextOnInput: false,
941
874
  headlineClass: "t-text-lg",
942
- nextStepMap: nextStepsMapApplianceRepairMinimal,
943
875
  input: {
944
876
  help: null,
945
877
  },
946
878
  }),
947
- dynamicSchemaNode("Category"),
948
- contactInfoNoEmail({
879
+ contactInfoNameNoEmail({
949
880
  headlineClass: "!t-text-[#465f87]",
950
881
  subheadlineClass: "!t-text-[#353739]",
951
882
  headline: DEFAULT_FINAL_HEADLINE_DYNAMIC_HOME_IMPROVEMENT,
952
883
  subheadline: DEFAULT_FINAL_SUBHEADLINE_DYNAMIC_HOME_IMPROVEMENT,
953
884
  }),
954
- formNavigation({
885
+ formNavigationNoFinalBack({
955
886
  startText: "Schedule Now",
956
887
  inputClass: "!t-text-black !t-font-extrabold !t-bg-[#ffce51]",
957
888
  firstStepButtonClass: "!t-justify-center",
958
889
  }),
890
+ secureIconStandalone(),
959
891
  formDetails(),
960
892
  ],
961
893
  },
@@ -1 +1 @@
1
- var applianceRepairMinimal=function(){"use strict";const e='$getKey($meta, "finalHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalHeadline)',t='$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';function a(){return Object.assign({},...arguments)}const n=e=>(e.name&&!e.id&&(e.id=e.name),a({$formkit:"text",validation:"required",validationMessages:{required:"Field is required"},labelClass:"required"},e)),i=e=>(e.wrapperClass="side-by-side t-items-center",n(e)),r=e=>(e.wrapperClass="t-flex t-justify-center",e.messagesClass="t-flex t-justify-center",e.inputClass="t-text-center",e.helpClass="t-mt-2.5 !t-text-sm t-text-center",n(e)),l=(e,t,a={})=>(t?r:i)({label:t?a.label:"First Name:",placeholder:"First",name:e?e+":First_Name":"First_Name",autocomplete:"given-name",validationMessages:{required:"First Name is required"},...a}),s=(e,t,a={})=>(t?r:i)({label:t?a.label:"Last Name:",placeholder:"Last",name:e?e+":Last_Name":"Last_Name",autocomplete:"family-name",validationMessages:{required:"Last Name is required"},...a}),o=(e,t,a={})=>(t?r:i)({$formkit:"tel",name:e?e+":Primary_Phone":"Primary_Phone",label:t?a.label:"Phone Number:",placeholder:"###-###-####",maxlength:12,help:"10-digit phone number, hyphens optional",autocomplete:"tel-national","data-tf-sensitive":"false",validation:"required|matches:/^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$/|valid_phone",validationMessages:{required:"Phone Number is required",matches:"Invalid Phone Format, use ###-###-####",valid_phone:"Invalid Phone Number"},helpClass:"t-mt-2.5 md:t-text-right md:t-mt-[-2px]",...a}),d=(e,t,a={})=>(t?r:i)({label:t?a.label:"Zip Code:",help:t?a.help??"We try to match you with local help":null,placeholder:"#####",name:e?e+":Zip":"Zip",maxlength:5,inputmode:"numeric",autocomplete:"postal-code",validation:"required|matches:/^[0-9]{5}$/",validationMessages:{required:"Zip Code is required",matches:"Invalid Zip Code"},...a}),c="$onEnter($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))",m="$onInput($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))",p=e=>"group"!==e.type&&"section"!==e.type&&"form"!==e.type&&"hidden"!==e.$formkit&&!e.children,u=e=>{if(p(e))return e;for(var t=e.children.length-1;t>=0;t--){if("string"==typeof e.children)continue;const a=e.children[t];if(p(a))return a;const n=u(a);if(n)return n}return null},f={$el:"div",if:"$activeStep === $lastStep()",attrs:{class:"t-flex t-justify-center t-items-center t-text-sm t-text-gray-500"},children:[{$el:"img",attrs:{loading:"lazy",alt:"",style:{border:0},width:"25",height:"25",src:"https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg"}},{$el:"span",children:"Secure & Encrypted",attrs:{class:"t-pl-2 t-pt-1 t-font-medium"}}]};function h(e){return a(f,e)}function x(e){return{$el:"h5",children:e.subheadline||"",attrs:{class:"t-flex t-justify-center t-text-center !t-text-lg t-font-normal t-text-dark t-pb-5 t-pt-0 t-px-1 "+(e.subheadlineClass||"")}}}function y(e){return{$el:"h3",children:e.headline||"Please Provide a Contact Name",attrs:{class:"t-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1 "+(e.headlineClass||"")}}}function g(t){return{$el:"h3",children:t.headline||e,attrs:{class:"t-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-3 t-pt-0 t-px-1 "+(t.headlineClass||"")+" f-contact-info-headline"}}}function $(e){return{$el:"h5",children:e.subheadline||t,attrs:{class:"t-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3 "+(e.subheadlineClass||"")+" f-contact-info-subheadline"}}}const b="(function() {\n if (window.xxTrustedFormLoaded) {\n return\n }\n var vid = '';\n if (typeof window.zar !== 'undefined') {\n vid = window.zar.getVID();\n }\n window.xxTrustedFormLoaded = true;\n var sandbox = document.location.hostname.indexOf('localhost') > -1 ? 'true' : 'false'\n var tf = document.createElement('script');\n tf.type = 'text/javascript'; tf.async = true;\n tf.src = (\"https:\" == document.location.protocol ? 'https' : 'http') + \"://api.trustedform.com/trustedform.js?field=xxTrustedFormCertUrl&identifier=\" + vid + \"&ping_field=xxTrustedFormPingUrl&provideReferrer=false&invert_field_sensitivity=true&sandbox=\" + sandbox + \"&l=\" + new Date().getTime() + Math.random();\n var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(tf, s);\n})();";const v=(e,t)=>({$el:"section",if:'$stepEnabled("'+e+'")',attrs:{hidden:'$activeStep !== "'+e+'"',key:t||e}});function w(e,t,n={}){const{nextOnEnter:i=!0,nextOnInput:r=!1,stepKey:l,nextStepMap:s,triggerRedirectMap:o,autoFocus:d}=n;if(t&&t.length&&(i||r)){const e=u(t[t.length-1]);e&&!0===i&&(e.onKeypress=c),e&&!0===r&&(e.onInput=m)}return a(v(e,l),{children:[{$formkit:"group",id:e,name:e,nextStepMap:s,triggerRedirectMap:o,autoFocus:d,children:t}]})}const I={type:"form",id:"form",config:{validationVisibility:"submit"},onSubmit:'$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',plugins:"$plugins",actions:!1,anchorElement:"form-anchor",useLocalStorage:!0,prepop:{fromURL:!0},errorCodes:{403:{message:"An Error Occurred",abort:!1},409:{abort:!1},429:"An Error Occurred",504:{message:"An Error Occurred",abort:!1}},formClass:"!t-max-w-[40rem]"};function S(e,t){return Object.fromEntries(Object.entries(e).filter((([e])=>t.includes(e))))}const E={};const C={$el:"div",children:[{$el:"div",attrs:{id:"form-anchor",class:"t-absolute",style:{top:"-30px",left:0}}}],attrs:{class:"t-relative"}};const k={$el:"div",attrs:{class:"t-mt-7 t-mb-5 t-w-full t-flex t-flex-col t-justify-center t-items-center",style:{if:"$fns.eq($activeStep, $firstStep()) || $fns.eq($activeStep, $lastStep())",then:"display: none"}},children:[{$el:"div",attrs:{class:"t-flex t-justify-center"},children:[{$el:"span",attrs:{id:"progress-bar-text",class:"t-text-sm t-mb-1"},children:["0% Complete"]}]},{$el:"div",attrs:{class:"t-bg-gray-100 t-w-9/12 t-rounded"},children:[{$el:"div",attrs:{id:"progress-bar",class:"t-flex t-flex-col t-justify-center t-text-center t-whitespace-nowrap t-w-[10%] t-h-1.5 t-rounded t-text-white t-bg-[#007bff]",style:{transition:"width 0.5s ease"}}}]}]};const P=[{$formkit:"hidden",name:"vertical",value:"HomeImprovement"},{$formkit:"hidden",name:"TCPA_Language",value:"$meta.tcpaLanguage"},{$formkit:"hidden",name:"gclid",value:null},{$formkit:"hidden",name:"campaignid",value:null},{$formkit:"hidden",name:"s",value:null}],_={Additions:'Example: "I would like to add a sunroom to my home"',Appliances:'Example: "I need to repair a dishwasher"',Appraisals:'Example: "I need to get my home appraised"',Cabinets:'Example: "I want to install new kitchen cabinets"',Carpentry:'Example: "I need someone to build custom shelves"',Carpets:'Example: "I want to replace the carpets in my living room"',Cleaning:'Example: "I need a professional cleaning service for my home"',Countertops:'Example: "I want to install granite countertops in my kitchen"',"Decks and Porches":'Example: "I want to build a new deck in my backyard"',Demolition:'Example: "I need to demolish a wall in my home"',Doors:'Example: "I want to replace the front door of my house"',Driveways:'Example: "I need to repair my driveway"',"Drywall and Plaster":'Example: "I need to repair a hole in my drywall"',Electrical:'Example: "I need an electrician to install new light fixtures"',Fencing:'Example: "I want to install a privacy fence in my backyard"',Flooring:'Example: "I want to install hardwood flooring in my living room"',Foundations:'Example: "I need to repair the foundation of my house"',"Garage Doors":'Example: "I want to replace my garage door"',"General Contractors":'Example: "I need a general contractor for a home renovation"',Gutters:'Example: "I need to clean and repair my gutters"',Handyman:'Example: "I need a handyman to fix various things around my house"',"Holiday Decorators":'Example: "I want to hire someone to decorate my home for the holidays"',"Smart Home":'Example: "I want to install a smart home automation system"',"Home Builders":'Example: "I want to build a custom home"',"Home Inspection":'Example: "I need a home inspection before buying a house"',"Home Organization":'Example: "I need help organizing my closets and storage"',"Home Security":'Example: "I want to install a home security system"',"Home Staging":'Example: "I need a home staging service to prepare my house for sale"',"Home Theater":'Example: "I want to set up a home theater system"',"Home Warranties":'Example: "I want to purchase a home warranty"',"Hot Tubs":'Example: "I want to install a hot tub in my backyard"',"Heating and Cooling":'Example: "I need to repair my air conditioning unit"',Insulation:'Example: "I want to improve the insulation in my home"',"Junk Removal":'Example: "I need a service to remove junk and debris from my property"',Landscaping:'Example: "I want to redesign my backyard landscaping"',Locksmiths:'Example: "I need a locksmith to change the locks on my doors"',"Masonry and Concrete":'Example: "I need to repair a cracked concrete driveway"',Restoration:'Example: "I need water damage restoration services"',Moving:'Example: "I need a moving company to help me relocate"',Painting:'Example: "I want to paint the interior walls of my house"',"Pest Control":'Example: "I need pest control services for my home"',Pools:'Example: "I want to install a swimming pool in my backyard"',Plumbing:'Example: "I need a plumber to fix a leaky faucet"',"Pressure Washing":'Example: "I want to pressure wash the exterior of my house"',Remodeling:'Example: "I want to remodel my kitchen"',Roofing:'Example: "I need to repair a leaky roof"',Sheds:'Example: "I want to build a storage shed in my backyard"',Siding:'Example: "I want to replace the siding on my house"',Solar:'Example: "I want to install solar panels on my roof"',Tiling:'Example: "I want to install new tiles in my bathroom"',"Tree Services":'Example: "I need a large tree removed"',"Walk-in Tubs":'Example: "I want to install a walk-in tub in my bathroom"',Waterproofing:'Example: "I need to waterproof my basement"',"Window Cleaning":'Example: "I need a professional window cleaning service"',Windows:'Example: "I want to replace 3 windows in my house"',"Not Sure or Other":'Example: "I need general handyman services"'},F={Appliances:"We Have Appliance Pros Standing By!"},H={Appliances:"What is the best number to reach you?"},j=function(e=null){let t=_,n=F,i=H;return e&&(t=S(_,e),n=S(F,e),i=S(H,e)),{type:"meta",data:a(E,{tcpaLanguage:"By checking this box, I a) agree to the Terms of Use, and b) consent to be contacted by contractors and partners of this website using live, autodialed, pre-recorded, or artificial voice calls, as well as text messages. Your consent is not required as a condition of purchasing any goods or services.",defaultCommentsPlaceholder:'$getKey($meta, "commentsPlaceholders." + $get(Category).value, $meta.defaultCommentsPlaceholder)',commentsPlaceholders:t,defaultFinalHeadline:"We Found Contractors!",finalHeadlines:n,defaultFinalSubHeadline:"Compare quotes and save. Verify contact info:",finalSubHeadlines:i})}}();j.data.dynamicSchema=[function(e={}){return w("firstAndLast",[y({headline:e.headline??"Who is looking for help?",headlineClass:e.headlineClass}),x({subheadline:e.subheadline??"Note: we never share info without consent",subheadlineClass:"!t-text-sm !t-text-gray-500"}),l(e.scope),s(e.scope)],e)}({headline:"Who needs appliance help?",headlineClass:"!t-text-dark",subheadline:""})];const q=[j,a(C,L),{$cmp:"FormKit",props:function(e){const t=a(I,e);return t.formId&&!t.name&&(t.name=t.formId),t}({formId:"applianceRepairMinimal",redirectMap:{"*":"/thank-you"}}),children:[function(e){return a(k,e)}(),function(e={}){return a(function(e={}){return{$el:"h1",attrs:{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 "+(e.headlineClass||"")+" f-first-headline"}}}(e),e)}({children:'$urlParam("hl", "Get Started Here!")',if:"$activeStep === $firstStep()"}),function(e={}){return a(function(e={}){return{$el:"h3",attrs:{class:"t-flex t-justify-center t-text-center t-text-[1.1rem] md:t-text-[1.2rem] t-font-medium t-text-blue-500 t-px-10 "+(e.subheadlineClass||"")+" f-first-subheadline"}}}(e),e)}({children:'$urlParam("shl", "Please Enter Your Zip Code:")',if:"$activeStep === $firstStep()",subheadlineClass:"!t-font-bold !t-text-[#465f87]"}),...P,{$el:"div",attrs:{class:"form-body"},children:[function(e={}){return w("applianceRepairFirstStep",[{$formkit:"hidden",name:"Category",id:"Category",value:"Appliances"},d(e.scope,!0,e.input)],e)}({nextOnInput:!1,headlineClass:"t-text-lg",nextStepMap:{values:{"*":["firstAndLast","contactInfo"]}},input:{help:null}}),function(e="Type_Of_Legal_Problem"){return{$cmp:"FormKitSchema",if:"$get("+e+").value",props:{schema:"$meta.dynamicSchema",data:"$buildData($meta)"}}}("Category"),function(e={}){return w("contactInfo",[g(e),$(e),{$el:"script",if:"$activeStep === $lastStep()",children:b},o(e.scope,!0),(t=e.scope,{$formkit:"checkbox",label:"$meta.tcpaLanguage",__raw__sectionsSchema:{label:{attrs:{innerHTML:"$label"}}},name:t?t+":TCPA_Opt_In":"TCPA_Opt_In","data-tf-sensitive":"false",validation:"required|accepted",validationMessages:{required:"Consent is required",accepted:"Consent is required"},classes:{label:"t-text-xs t-text-slate-500 t-font-normal !t-leading-[0.9rem]"}}),h()],{nextOnEnter:!1});var t}({headlineClass:"!t-text-[#465f87]",subheadlineClass:"!t-text-[#353739]",headline:'$getKey($meta, "finalHeadlines." + $get(Category).value, $meta.defaultFinalHeadline)',subheadline:'$getKey($meta, "finalSubHeadlines." + $get(Category).value, $meta.defaultFinalSubHeadline)'}),((e={})=>({$el:"div",attrs:{class:{if:"$activeStep === $firstStep()",then:"step-nav "+(e.firstStepButtonClass||"!t-justify-center sm:!t-justify-between"),else:"step-nav !t-justify-between"}},children:[{$formkit:"button",name:"back_button",onClick:"$setPreviousStep($prevStepFunc($get(form)))",children:"Back",outerClass:{if:"$activeStep === $firstStep()",then:"t-hidden sm:t-block",else:""},style:{if:"$activeStep === $firstStep()",then:"display: none;"},classes:{input:(e.inputClass||"")+" f-navigation-input"}},{$formkit:"button",name:"next_button",onClick:"$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))",children:{if:"$activeStep === $firstStep()",then:e.startText||"Start",else:"Next"},outerClass:{if:"$activeStep === $lastStep()",then:"t-hidden",else:""},style:{if:"$activeStep === $lastStep()",then:"display: none;"},classes:{input:(e.inputClass||"")+" f-navigation-input"}},{$formkit:"submit",name:"submit_button",label:e.submitLabel||"Submit",if:"$activeStep === $lastStep()",style:{if:"$activeStep !== $lastStep()",then:"display: none;"},classes:{input:(e.inputClass||"")+" !t-ml-2 sm:!t-ml-auto f-navigation-input"}}]}))({startText:"Schedule Now",inputClass:"!t-text-black !t-font-extrabold !t-bg-[#ffce51]",firstStepButtonClass:"!t-justify-center"}),{$el:"pre",if:'$urlParam("fdbg", "") == 1',children:[{$el:"pre",children:"$stringify( $get(form).value )",attrs:{class:"t-text-xs",style:"overflow: scroll"}},{$el:"pre",children:["activeStep: ","$activeStep"],attrs:{class:"t-text-xs",style:"overflow: scroll"}},{$el:"pre",children:["stepHistory: ","$stepHistory"],attrs:{class:"t-text-xs",style:"overflow: scroll"}},{$el:"pre",children:["stepQueue: ","$stepQueue"],attrs:{class:"t-text-xs",style:"overflow: scroll"}},{$el:"pre",children:["steps: ","$stepKeys()"],attrs:{class:"t-text-xs",style:"overflow: scroll"}}]}]}]}];var L;return q}();
1
+ var applianceRepairMinimal=function(){"use strict";const e='$getKey($meta, "finalHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalHeadline)',t='$getKey($meta, "finalSubHeadlines." + $get(Type_Of_Legal_Problem).value, $meta.defaultFinalSubHeadline)';function a(){return Object.assign({},...arguments)}const n=e=>(e.name&&!e.id&&(e.id=e.name),a({$formkit:"text",validation:"required",validationMessages:{required:"Field is required"},labelClass:"required"},e)),s=e=>(e.wrapperClass="side-by-side t-items-center",n(e)),r=e=>(e.wrapperClass="t-flex t-justify-center",e.messagesClass="t-flex t-justify-center",e.inputClass="t-text-center",e.helpClass="t-mt-2.5 !t-text-sm t-text-center",n(e)),i=(e,t={})=>n({$formkit:"FloatingLabelText",placeholder:"First Name",name:e?e+":First_Name":"First_Name",autocomplete:"given-name",validationMessages:{required:"First Name is required"},inputClass:"t-text-center",...t}),l=(e,t={})=>n({$formkit:"FloatingLabelText",placeholder:"Last Name",name:e?e+":Last_Name":"Last_Name",autocomplete:"family-name",validationMessages:{required:"Last Name is required"},inputClass:"t-text-center",...t}),o=(e,t={})=>({$el:"div",attrs:{class:"t-flex t-flex-row t-flex-wrap t-gap-x-[2%] t-justify-center t-max-w-[95%] sm:!t-max-w-[70%]"},children:[i(e,{outerClass:"!t-max-w-[48%] sm:!t-max-w-[49%]",...t}),l(e,{outerClass:"!t-max-w-[48%] sm:!t-max-w-[49%]",...t})]}),m=(e,t={})=>n({$formkit:"FloatingLabelText",datatype:"tel",name:e?e+":Primary_Phone":"Primary_Phone",placeholder:t.placeholder||"Phone Number",maxlength:14,help:t.help||null,autocomplete:"tel-national","data-tf-sensitive":"false",validation:"required|matches:/^[0-9]{3}[0-9]{3}[0-9]{4}$/|valid_phone",validationMessages:{required:"Phone Number is required",matches:"Invalid Phone Format, use (XXX) YYY-ZZZZ",valid_phone:"Invalid Phone Number"},helpClass:"t-mt-2.5 md:t-text-right md:t-mt-[-2px]",inputClass:"t-text-center",wrapperClass:"t-flex t-justify-center",...t}),p=(e,t,a={})=>(t?r:s)({label:t?a.label:"Zip Code:",help:t?a.help??"We try to match you with local help":null,placeholder:"#####",name:e?e+":Zip":"Zip",maxlength:5,inputmode:"numeric",autocomplete:"postal-code",validation:"required|matches:/^[0-9]{5}$/",validationMessages:{required:"Zip Code is required",matches:"Invalid Zip Code"},...a}),c=(e,t={})=>({$formkit:"checkbox",label:"$meta.tcpaLanguage",__raw__sectionsSchema:{label:{attrs:{innerHTML:"$label"}}},name:e?e+":TCPA_Opt_In":"TCPA_Opt_In","data-tf-sensitive":"false",validation:"required|accepted",validationMessages:{required:"Consent is required",accepted:"Consent is required"},classes:{outer:t.outerClass?t.outerClass:"",wrapper:t.wrapperClass?t.wrapperClass:"",messages:t.messagesClass?t.messagesClass:"",label:"t-text-xs t-text-slate-500 t-font-normal !t-leading-[0.9rem]"+(t.labelClass?" "+t.labelClass:"")}}),d="$onEnter($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))",u="$onInput($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))",f=e=>"group"!==e.type&&"section"!==e.type&&"form"!==e.type&&"hidden"!==e.$formkit&&!e.children,h=e=>{if(f(e))return e;for(var t=e.children.length-1;t>=0;t--){if("string"==typeof e.children)continue;const a=e.children[t];if(f(a))return a;const n=h(a);if(n)return n}return null},x={$el:"div",if:"$activeStep === $lastStep()",attrs:{class:"t-flex t-justify-center t-items-center t-text-sm t-text-gray-500"},children:[{$el:"img",attrs:{loading:"lazy",alt:"",style:{border:0},width:"25",height:"25",src:"https://d27hmee62k45vz.cloudfront.net/lock_icon_1.jpeg"}},{$el:"span",children:"Secure & Encrypted",attrs:{class:"t-pl-2 t-pt-1 t-font-medium"}}]};function g(e={}){return a(x,e)}function y(t){return{$el:"h3",children:t.headline||e,attrs:{class:"t-flex t-justify-center t-text-center t-text-2xl t-font-bold t-text-blue-500 t-pb-3 t-pt-0 t-px-1 "+(t.headlineClass||"")+" f-contact-info-headline"}}}function $(e){return{$el:"h5",children:e.subheadline||t,attrs:{class:"t-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-6 t-pt-0 t-px-3 "+(e.subheadlineClass||"")+" f-contact-info-subheadline"}}}const v="(function() {\n if (window.xxTrustedFormLoaded) {\n return\n }\n var vid = '';\n if (typeof window.zar !== 'undefined') {\n vid = window.zar.getVID();\n }\n window.xxTrustedFormLoaded = true;\n var sandbox = document.location.hostname.indexOf('localhost') > -1 ? 'true' : 'false'\n var tf = document.createElement('script');\n tf.type = 'text/javascript'; tf.async = true;\n tf.src = (\"https:\" == document.location.protocol ? 'https' : 'http') + \"://api.trustedform.com/trustedform.js?field=xxTrustedFormCertUrl&identifier=\" + vid + \"&ping_field=xxTrustedFormPingUrl&provideReferrer=false&invert_field_sensitivity=true&sandbox=\" + sandbox + \"&l=\" + new Date().getTime() + Math.random();\n var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(tf, s);\n})();";const b=(e,t)=>({$el:"section",if:'$stepEnabled("'+e+'")',attrs:{hidden:'$activeStep !== "'+e+'"',key:t||e}});function w(e,t,n={}){const{nextOnEnter:s=!0,nextOnInput:r=!1,stepKey:i,nextStepMap:l,triggerRedirectMap:o,autoFocus:m}=n;if(t&&t.length&&(s||r)){const e=h(t[t.length-1]);e&&!0===s&&(e.onKeypress=d),e&&!0===r&&(e.onInput=u)}return a(b(e,i),{children:[{$formkit:"group",id:e,name:e,nextStepMap:l,triggerRedirectMap:o,autoFocus:m,children:t}]})}const S={type:"form",id:"form",config:{validationVisibility:"submit"},onSubmit:'$submit($submitUrl, $prepData, $handleRedirect, "text/plain; charset=UTF-8")',plugins:"$plugins",actions:!1,anchorElement:"form-anchor",useLocalStorage:!0,prepop:{fromURL:!0},errorCodes:{403:{message:"An Error Occurred",abort:!1},409:{abort:!1},429:"An Error Occurred",504:{message:"An Error Occurred",abort:!1}},formClass:"!t-max-w-[40rem]"};function C(e,t){return Object.fromEntries(Object.entries(e).filter((([e])=>t.includes(e))))}const I={};const E={$el:"div",children:[{$el:"div",attrs:{id:"form-anchor",class:"t-absolute",style:{top:"-30px",left:0}}}],attrs:{class:"t-relative"}};const k=[{$formkit:"hidden",name:"vertical",value:"HomeImprovement"},{$formkit:"hidden",name:"TCPA_Language",value:"$meta.tcpaLanguage"},{$formkit:"hidden",name:"gclid",value:null},{$formkit:"hidden",name:"campaignid",value:null},{$formkit:"hidden",name:"s",value:null}],F={Additions:'Example: "I would like to add a sunroom to my home"',Appliances:'Example: "I need to repair a dishwasher"',Appraisals:'Example: "I need to get my home appraised"',Cabinets:'Example: "I want to install new kitchen cabinets"',Carpentry:'Example: "I need someone to build custom shelves"',Carpets:'Example: "I want to replace the carpets in my living room"',Cleaning:'Example: "I need a professional cleaning service for my home"',Countertops:'Example: "I want to install granite countertops in my kitchen"',"Decks and Porches":'Example: "I want to build a new deck in my backyard"',Demolition:'Example: "I need to demolish a wall in my home"',Doors:'Example: "I want to replace the front door of my house"',Driveways:'Example: "I need to repair my driveway"',"Drywall and Plaster":'Example: "I need to repair a hole in my drywall"',Electrical:'Example: "I need an electrician to install new light fixtures"',Fencing:'Example: "I want to install a privacy fence in my backyard"',Flooring:'Example: "I want to install hardwood flooring in my living room"',Foundations:'Example: "I need to repair the foundation of my house"',"Garage Doors":'Example: "I want to replace my garage door"',"General Contractors":'Example: "I need a general contractor for a home renovation"',Gutters:'Example: "I need to clean and repair my gutters"',Handyman:'Example: "I need a handyman to fix various things around my house"',"Holiday Decorators":'Example: "I want to hire someone to decorate my home for the holidays"',"Smart Home":'Example: "I want to install a smart home automation system"',"Home Builders":'Example: "I want to build a custom home"',"Home Inspection":'Example: "I need a home inspection before buying a house"',"Home Organization":'Example: "I need help organizing my closets and storage"',"Home Security":'Example: "I want to install a home security system"',"Home Staging":'Example: "I need a home staging service to prepare my house for sale"',"Home Theater":'Example: "I want to set up a home theater system"',"Home Warranties":'Example: "I want to purchase a home warranty"',"Hot Tubs":'Example: "I want to install a hot tub in my backyard"',"Heating and Cooling":'Example: "I need to repair my air conditioning unit"',Insulation:'Example: "I want to improve the insulation in my home"',"Junk Removal":'Example: "I need a service to remove junk and debris from my property"',Landscaping:'Example: "I want to redesign my backyard landscaping"',Locksmiths:'Example: "I need a locksmith to change the locks on my doors"',"Masonry and Concrete":'Example: "I need to repair a cracked concrete driveway"',Restoration:'Example: "I need water damage restoration services"',Moving:'Example: "I need a moving company to help me relocate"',Painting:'Example: "I want to paint the interior walls of my house"',"Pest Control":'Example: "I need pest control services for my home"',Pools:'Example: "I want to install a swimming pool in my backyard"',Plumbing:'Example: "I need a plumber to fix a leaky faucet"',"Pressure Washing":'Example: "I want to pressure wash the exterior of my house"',Remodeling:'Example: "I want to remodel my kitchen"',Roofing:'Example: "I need to repair a leaky roof"',Sheds:'Example: "I want to build a storage shed in my backyard"',Siding:'Example: "I want to replace the siding on my house"',Solar:'Example: "I want to install solar panels on my roof"',Tiling:'Example: "I want to install new tiles in my bathroom"',"Tree Services":'Example: "I need a large tree removed"',"Walk-in Tubs":'Example: "I want to install a walk-in tub in my bathroom"',Waterproofing:'Example: "I need to waterproof my basement"',"Window Cleaning":'Example: "I need a professional window cleaning service"',Windows:'Example: "I want to replace 3 windows in my house"',"Not Sure or Other":'Example: "I need general handyman services"'},P={Appliances:"We Have Appliance Pros Standing By!"},_={Appliances:"Who needs appliance help?"},H=[function(e=null){let t=F,n=P,s=_;return e&&(t=C(F,e),n=C(P,e),s=C(_,e)),{type:"meta",data:a(I,{tcpaLanguage:"By checking this box, I a) agree to the Terms of Use, and b) consent to be contacted by contractors and partners of this website using live, autodialed, pre-recorded, or artificial voice calls, as well as text messages. Your consent is not required as a condition of purchasing any goods or services.",defaultCommentsPlaceholder:'$getKey($meta, "commentsPlaceholders." + $get(Category).value, $meta.defaultCommentsPlaceholder)',commentsPlaceholders:t,defaultFinalHeadline:"We Found Contractors!",finalHeadlines:n,defaultFinalSubHeadline:"Compare quotes and save. Verify contact info:",finalSubHeadlines:s})}}(),a(E,j),{$cmp:"FormKit",props:function(e){const t=a(S,e);return t.formId&&!t.name&&(t.name=t.formId),t}({formId:"applianceRepairMinimal",redirectMap:{"*":"/thank-you"}}),children:[function(e={}){return a(function(e={}){return{$el:"h1",attrs:{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 "+(e.headlineClass||"")+" f-first-headline"}}}(e),e)}({children:'$urlParam("hl", "Get Started Here!")',if:"$activeStep === $firstStep()"}),function(e={}){return a(function(e={}){return{$el:"h3",attrs:{class:"t-flex t-justify-center t-text-center t-text-[1.1rem] md:t-text-[1.2rem] t-font-medium t-text-blue-500 t-px-10 "+(e.subheadlineClass||"")+" f-first-subheadline"}}}(e),e)}({children:'$urlParam("shl", "Please Enter Your Zip Code:")',if:"$activeStep === $firstStep()",subheadlineClass:"!t-font-bold !t-text-[#465f87]"}),...k,{$el:"div",attrs:{class:"form-body"},children:[function(e={}){return w("applianceRepairFirstStep",[{$formkit:"hidden",name:"Category",id:"Category",value:"Appliances"},p(e.scope,!0,e.input)],e)}({nextOnInput:!1,headlineClass:"t-text-lg",input:{help:null}}),function(e={}){return w("contactInfo",[y(e),$(e),{$el:"script",if:"$activeStep === $lastStep()",children:v},{$el:"div",attrs:{class:"t-flex t-flex-col t-justify-center t-items-center"},children:[o(e.scope),m(e.scope,{outerClass:"!t-max-w-[95%] !t-w-[96%] sm:!t-w-[70%]",innerClass:"!t-w-[98%] !t-max-w-[98%] sm:!t-w-[100%] sm:!t-max-w-[100%]"})]},c(e.scope,{outerClass:"!t-flex !t-flex-col !t-justify-center !t-items-center",wrapperClass:"t-w-[95%] sm:t-w-[75%]",messagesClass:"t-w-[95%] sm:t-w-[75%]"})],{nextOnEnter:!1})}({headlineClass:"!t-text-[#465f87]",subheadlineClass:"!t-text-[#353739]",headline:'$getKey($meta, "finalHeadlines." + $get(Category).value, $meta.defaultFinalHeadline)',subheadline:'$getKey($meta, "finalSubHeadlines." + $get(Category).value, $meta.defaultFinalSubHeadline)'}),((e={})=>({$el:"div",attrs:{class:{if:"$activeStep === $firstStep()",then:"step-nav "+(e.firstStepButtonClass||"!t-justify-center sm:!t-justify-between"),else:{if:"$activeStep === $lastStep()",then:"step-nav !t-justify-center ",else:"step-nav !t-justify-between"}}},children:[{$formkit:"button",name:"back_button",onClick:"$setPreviousStep($prevStepFunc($get(form)))",children:"Back",outerClass:{if:"$activeStep === $firstStep()",then:"t-hidden sm:t-block",else:{if:"$activeStep === $lastStep()",then:"t-hidden sm:t-block",else:""}},style:{if:"$activeStep === $firstStep()",then:"display: none;",else:{if:"$activeStep === $lastStep()",then:"display: none;"}},classes:{input:(e.inputClass||"")+" f-navigation-input"}},{$formkit:"button",name:"next_button",onClick:"$setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form)))",children:{if:"$activeStep === $firstStep()",then:e.startText||"Start",else:"Next"},outerClass:{if:"$activeStep === $lastStep()",then:"t-hidden",else:""},style:{if:"$activeStep === $lastStep()",then:"display: none;"},classes:{input:(e.inputClass||"")+" f-navigation-input"}},{$formkit:"submit",name:"submit_button",label:e.submitLabel||"Submit",if:"$activeStep === $lastStep()",style:{if:"$activeStep !== $lastStep()",then:"display: none;"},classes:{input:(e.inputClass||"")+" f-navigation-input !t-w-60",outer:"!t-mt-0 !t-mb-0"}}]}))({startText:"Schedule Now",inputClass:"!t-text-black !t-font-extrabold !t-bg-[#ffce51]",firstStepButtonClass:"!t-justify-center"}),function(e={}){return{if:"$activeStep === $lastStep()",style:{if:"$activeStep !== $lastStep()",then:"display: none;"},children:[g({attrs:{class:"t-flex t-justify-center t-items-center t-text-sm t-text-gray-500 t-pb-4 sm:t-pb-8"},...e})]}}(),{$el:"pre",if:'$urlParam("fdbg", "") == 1',children:[{$el:"pre",children:"$stringify( $get(form).value )",attrs:{class:"t-text-xs",style:"overflow: scroll"}},{$el:"pre",children:["activeStep: ","$activeStep"],attrs:{class:"t-text-xs",style:"overflow: scroll"}},{$el:"pre",children:["stepHistory: ","$stepHistory"],attrs:{class:"t-text-xs",style:"overflow: scroll"}},{$el:"pre",children:["stepQueue: ","$stepQueue"],attrs:{class:"t-text-xs",style:"overflow: scroll"}},{$el:"pre",children:["steps: ","$stepKeys()"],attrs:{class:"t-text-xs",style:"overflow: scroll"}}]}]}]}];var j;return H}();
@@ -387,7 +387,7 @@ const firstName = (scope, vertical, updates = {}) => {
387
387
  const label = vertical ? updates.label : "First Name:";
388
388
  return func({
389
389
  label,
390
- placeholder: "First",
390
+ placeholder: "First Name",
391
391
  name: scope ? scope + ":" + "First_Name" : "First_Name",
392
392
  autocomplete: "given-name",
393
393
  validationMessages: {
@@ -402,7 +402,7 @@ const lastName = (scope, vertical, updates = {}) => {
402
402
  const label = vertical ? updates.label : "Last Name:";
403
403
  return func({
404
404
  label,
405
- placeholder: "Last",
405
+ placeholder: "Last Name",
406
406
  name: scope ? scope + ":" + "Last_Name" : "Last_Name",
407
407
  autocomplete: "family-name",
408
408
  validationMessages: {
@@ -419,9 +419,9 @@ const phone = (scope, vertical, updates = {}) => {
419
419
  $formkit: "tel",
420
420
  name: scope ? scope + ":" + "Primary_Phone" : "Primary_Phone",
421
421
  label,
422
- placeholder: "###-###-####",
422
+ placeholder: updates.placeholder || "###-###-####",
423
423
  maxlength: 12,
424
- help: "10-digit phone number, hyphens optional",
424
+ help: updates.help || "10-digit phone number, hyphens optional",
425
425
  autocomplete: "tel-national",
426
426
  "data-tf-sensitive": "false",
427
427
  validation: "required|matches:/^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$/|valid_phone",
@@ -963,7 +963,7 @@ const socialSecurityDisabilityReceivingBenefits = (scope, vertical, updates = {}
963
963
  )
964
964
  };
965
965
 
966
- const TCPAConsent = (scope) => ({
966
+ const TCPAConsent = (scope, updates = {}) => ({
967
967
  $formkit: "checkbox",
968
968
  label: "$meta.tcpaLanguage",
969
969
  // Necessary to get links to work in the tcpa language
@@ -978,7 +978,12 @@ const TCPAConsent = (scope) => ({
978
978
  accepted: "Consent is required",
979
979
  },
980
980
  classes: {
981
- label: "t-text-xs t-text-slate-500 t-font-normal !t-leading-[0.9rem]",
981
+ outer: updates.outerClass ? updates.outerClass : "",
982
+ wrapper: updates.wrapperClass ? updates.wrapperClass : "",
983
+ messages: updates.messagesClass ? updates.messagesClass : "",
984
+ label:
985
+ "t-text-xs t-text-slate-500 t-font-normal !t-leading-[0.9rem]" +
986
+ (updates.labelClass ? " " + updates.labelClass : ""),
982
987
  },
983
988
  });
984
989
 
@@ -1220,7 +1225,7 @@ const secureIconDefault = {
1220
1225
  ],
1221
1226
  };
1222
1227
 
1223
- function secureIcon(updates) {
1228
+ function secureIcon(updates = {}) {
1224
1229
  return merge(secureIconDefault, updates)
1225
1230
  }
1226
1231
 
@@ -1336,7 +1341,7 @@ function contactStepSubHeadline(updates) {
1336
1341
  children: updates.subheadline || DEFAULT_FINAL_SUBHEADLINE_DYNAMIC_LEGAL,
1337
1342
  attrs: {
1338
1343
  class:
1339
- "t-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-7 t-pt-0 t-px-3" +
1344
+ "t-flex t-justify-center t-text-center !t-text-lg t-font-semibold t-pb-6 t-pt-0 t-px-3" +
1340
1345
  " " +
1341
1346
  (updates.subheadlineClass || "") +
1342
1347
  " f-contact-info-subheadline",