bhl-forms 0.13.0 → 0.13.2

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 (46) hide show
  1. package/dist/bhl-forms.es.js +35 -35
  2. package/dist/bhl-forms.iife.js +4 -4
  3. package/dist/bhl-forms.modern.es.js +524 -522
  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/applianceRepair.es.js +6 -6
  8. package/dist/forms/applianceRepair.iife.js +1 -1
  9. package/dist/forms/applianceRepairMinimal.es.js +6 -6
  10. package/dist/forms/applianceRepairMinimal.iife.js +1 -1
  11. package/dist/forms/applianceRepairMinimal.json +1 -1
  12. package/dist/forms/electrical.es.js +49 -291
  13. package/dist/forms/electrical.iife.js +1 -1
  14. package/dist/forms/electrical.json +1 -1
  15. package/dist/forms/generalContractors.es.js +6 -6
  16. package/dist/forms/generalContractors.iife.js +1 -1
  17. package/dist/forms/generalContractors.json +1 -1
  18. package/dist/forms/generalHomeImprovement.es.js +6 -6
  19. package/dist/forms/generalHomeImprovement.iife.js +1 -1
  20. package/dist/forms/generalHomeImprovement.json +1 -1
  21. package/dist/forms/generalHomeImprovementThankYou.es.js +6 -6
  22. package/dist/forms/generalHomeImprovementThankYou.iife.js +1 -1
  23. package/dist/forms/generalHomeImprovementThankYou.json +1 -1
  24. package/dist/forms/painting.es.js +6 -6
  25. package/dist/forms/painting.iife.js +1 -1
  26. package/dist/forms/painting.json +1 -1
  27. package/dist/forms/plumbing.es.js +50 -291
  28. package/dist/forms/plumbing.iife.js +1 -1
  29. package/dist/forms/plumbing.json +1 -1
  30. package/dist/forms/remodeling.es.js +6 -6
  31. package/dist/forms/remodeling.iife.js +1 -1
  32. package/dist/forms/remodeling.json +1 -1
  33. package/dist/forms/restoration.es.js +1553 -0
  34. package/dist/forms/restoration.iife.js +1 -0
  35. package/dist/forms/restoration.json +1 -0
  36. package/dist/forms/restorationCall.es.js +6 -6
  37. package/dist/forms/restorationCall.iife.js +1 -1
  38. package/dist/forms/restorationCall.json +1 -1
  39. package/dist/forms/roofing.es.js +49 -286
  40. package/dist/forms/roofing.iife.js +1 -1
  41. package/dist/forms/roofing.json +1 -1
  42. package/dist/forms/windows.es.js +6 -6
  43. package/dist/forms/windows.iife.js +1 -1
  44. package/dist/forms/windows.json +1 -1
  45. package/dist/main.css +1 -1
  46. package/package.json +1 -1
@@ -2,6 +2,10 @@ function merge() {
2
2
  return Object.assign({}, ...arguments)
3
3
  }
4
4
 
5
+ function HomeImprovementRedirectUrl() {
6
+ return 'https://listings.zipcontractor.com/api/v1/redirect?zone_id=4&vertical=HomeImprovement&category=${properties.Category}&zip_code=${properties.Zip}&sub_id=${properties.vid}'
7
+ }
8
+
5
9
  const DEFAULT_COMMENTS_PLACEHOLDER_DYNAMIC =
6
10
  '$getKey($meta, "commentsPlaceholders." + $get(Category).value, $meta.defaultCommentsPlaceholder)';
7
11
  const DEFAULT_FINAL_HEADLINE_DYNAMIC =
@@ -26,76 +30,6 @@ const ensureIds = (cfg) => {
26
30
  return cfg
27
31
  };
28
32
 
29
- const radio = (updates) => {
30
- ensureIds(updates);
31
- return merge(
32
- {
33
- $formkit: "radio",
34
- validation: "required",
35
- validationMessages: {
36
- required: "Field is required",
37
- },
38
- optionsClass: "t-pt-3 t-pl-1",
39
- legendClass: "required",
40
- },
41
- updates
42
- )
43
- };
44
-
45
- const sbsRadio = (updates) => {
46
- updates.legendClass = "legend-left required";
47
- updates.fieldsetClass = "$reset side-by-side";
48
- updates.optionsClass = "t-pl-1";
49
- updates.innerClass = "t-flex t-items-center";
50
- updates.wrapperClass = "t-mb-3";
51
- return radio(updates)
52
- };
53
-
54
- const verticalRadio = (updates) => {
55
- updates.legendClass = "required";
56
- updates.fieldsetClass = "$reset t-flex t-justify-center";
57
- updates.optionsClass = "t-pl-2 t-pt-3";
58
- updates.innerClass = "t-items-center";
59
- updates.wrapperClass = "$reset t-flex t-cursor-pointer t-mb-3";
60
- updates.optionClass = "t-pl-4 md:t-pl-12";
61
- updates.messagesClass = "t-flex t-justify-center";
62
- return radio(updates)
63
- };
64
-
65
- const select = (updates) => {
66
- ensureIds(updates);
67
- return merge(
68
- {
69
- $formkit: "select",
70
- placeholder: "Please Select",
71
- validation: "required",
72
- validationMessages: {
73
- required: "Field is required",
74
- },
75
- inputClass: "t-bg-white",
76
- labelClass: "required",
77
- },
78
- updates
79
- )
80
- };
81
-
82
- const sbsSelect = (updates) => {
83
- updates.labelClass = "required";
84
- updates.wrapperClass = "side-by-side t-items-center";
85
- updates.innerClass = "select-height-content";
86
- updates.helpClass = "t-mt-2.5 md:t-text-right md:t-mt-[-5px]";
87
- return select(updates)
88
- };
89
-
90
- const verticalSelect = (updates) => {
91
- updates.labelClass = "required";
92
- updates.wrapperClass = "t-flex t-justify-center";
93
- updates.messagesClass = "t-flex t-justify-center";
94
- updates.inputClass = "t-min-w-[150px] t-bg-white " + (updates.inputClass || "");
95
- updates.helpClass = "t-mt-2.5 t-text-center";
96
- return select(updates)
97
- };
98
-
99
33
  const text = (updates) => {
100
34
  ensureIds(updates);
101
35
  return merge(
@@ -124,31 +58,6 @@ const verticalText = (updates) => {
124
58
  return text(updates)
125
59
  };
126
60
 
127
- // ------ Common Inputs
128
-
129
- const address$1 = (scope, vertical, updates = {}) => {
130
- const func = vertical ? verticalText : sbsText;
131
- const label = vertical ? updates.label : "Street Address:";
132
- return func({
133
- label,
134
- placeholder: "10 Example St",
135
- name: scope ? scope + ":" + "Address" : "Address",
136
- autocomplete: "street-address",
137
- "data-tf-sensitive": "false",
138
- minlength: 5,
139
- maxlength: 100,
140
- validation: [
141
- ["required"],
142
- ["matches", /^(?=.*\d)(?=.*[A-Za-z])(?=.*\s).{6,100}$/], // digit + space + letter, N chars
143
- ],
144
- validationMessages: {
145
- matches: "Invalid Address",
146
- required: "Address is required",
147
- },
148
- ...updates,
149
- })
150
- };
151
-
152
61
  const emailFL = (scope, updates = {}) => {
153
62
  return text({
154
63
  $formkit: "FloatingLabelText",
@@ -252,104 +161,6 @@ const zipcode = (scope, vertical, updates = {}) => {
252
161
  })
253
162
  };
254
163
 
255
- const TCPAConsent = (scope, updates = {}) => ({
256
- $formkit: "checkbox",
257
- label: "$meta.tcpaLanguage",
258
- // Necessary to get links to work in the tcpa language
259
- __raw__sectionsSchema: {
260
- label: { attrs: { innerHTML: "$label" } },
261
- },
262
- name: scope ? scope + ":" + "TCPA_Opt_In" : "TCPA_Opt_In",
263
- "data-tf-sensitive": "false",
264
- validation: "required|accepted",
265
- validationMessages: {
266
- required: "Consent is required",
267
- accepted: "Consent is required",
268
- },
269
- classes: {
270
- outer: updates.outerClass ? updates.outerClass : "",
271
- wrapper: updates.wrapperClass ? updates.wrapperClass : "",
272
- messages: updates.messagesClass ? updates.messagesClass : "",
273
- label:
274
- "!t-text-[0.7rem] t-text-slate-500 t-font-normal !t-leading-[0.9rem]" +
275
- (updates.labelClass ? " " + updates.labelClass : ""),
276
- },
277
- });
278
-
279
- const timeframe$1 = (scope, vertical, updates = {}) => {
280
- const func = vertical ? verticalRadio : sbsRadio;
281
- const label = vertical ? updates.label : "What is the project timeframe?";
282
- return func(
283
- merge(
284
- {
285
- label,
286
- name: scope ? scope + ":" + "Timeframe" : "Timeframe",
287
- options: ["Immediate", "1-6 Months", "More than 6 Months"],
288
- },
289
- updates
290
- )
291
- )
292
- };
293
-
294
- const ownHome$1 = (scope, vertical, updates = {}) => {
295
- const func = vertical ? verticalRadio : sbsRadio;
296
- const label = vertical ? updates.label : "Do you own the home?";
297
- return func(
298
- merge(
299
- {
300
- label,
301
- name: scope ? scope + ":" + "Own_Home" : "Own_Home",
302
- options: ["Yes", "No", "No but authorized"],
303
- },
304
- updates
305
- )
306
- )
307
- };
308
-
309
- const homeImprovementWorkType$1 = (scope, vertical, updates = {}) => {
310
- const func = vertical ? verticalRadio : sbsRadio;
311
- const label = vertical ? updates.label : "What type of work?";
312
- return func(
313
- merge(
314
- {
315
- label,
316
- name: scope ? scope + ":" + "Work_Type" : "Work_Type",
317
- options: ["Install or Replace", "Repair", "Not Sure or Other"],
318
- },
319
- updates
320
- )
321
- )
322
- };
323
-
324
- const plumbingSubtype$1 = (scope, vertical, updates = {}) => {
325
- const func = vertical ? verticalSelect : sbsSelect;
326
- const label = vertical ? updates.label : "Select a plumbing job type:";
327
- return func(
328
- merge(
329
- {
330
- label,
331
- name: scope ? scope + ":" + "Plumbing_Subtype" : "Plumbing_Subtype",
332
- options: [
333
- "Additions and Remodels",
334
- "Boiler",
335
- "Drain",
336
- "Hot Tub",
337
- "Piping",
338
- "Septic",
339
- "Sink",
340
- "Sump Pump",
341
- "Toilet",
342
- "Tub or Shower",
343
- "Water Heater",
344
- "Water Main",
345
- "Not Sure or Other",
346
- ],
347
- },
348
- updates
349
- )
350
- )
351
- };
352
-
353
164
  const NEXT_ON_ENTER = "$onEnter($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))";
354
165
  const NEXT_ON_INPUT = "$onInput($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))";
355
166
 
@@ -429,16 +240,23 @@ function secureIconStandalone(updates = {}) {
429
240
  }
430
241
  }
431
242
 
432
- function verticalStepHeadline(updates) {
243
+ function tcpaLanguageStandalone(updates = {}) {
433
244
  return {
434
- $el: "h3",
435
- children: updates.headline || "Tell Us About Your Situation",
436
- attrs: {
437
- class:
438
- "t-flex t-justify-center t-text-center t-text-lg sm:t-text-xl t-font-bold t-text-dark t-pb-5 t-pt-0 t-px-1" +
439
- " " +
440
- (updates.headlineClass || ""),
245
+ if: "$activeStep === $lastStep()",
246
+ style: {
247
+ if: "$activeStep !== $lastStep()",
248
+ then: "display: none;",
441
249
  },
250
+ children: [
251
+ {
252
+ $el: "div",
253
+ attrs: {
254
+ class:
255
+ "!t-text-[0.7rem] t-text-slate-500 t-font-normal !t-leading-tight !t-pt-0 !t-pb-3 !t-max-w-[95%] !t-w-[96%] sm:!t-w-[70%] !t-mx-auto",
256
+ innerHTML: "$meta.tcpaLanguage",
257
+ },
258
+ },
259
+ ],
442
260
  }
443
261
  }
444
262
 
@@ -557,38 +375,7 @@ function step(name, inputs, updates = {}) {
557
375
  return merge(stepDefaults(name, stepKey), mergeUpdates)
558
376
  }
559
377
 
560
- // Single question step
561
- function sqstep(name, input, defaultHeadline, updates = {}) {
562
- if (typeof updates.nextOnInput === "undefined") {
563
- updates.nextOnInput = true;
564
- }
565
-
566
- return step(
567
- name,
568
- [
569
- verticalStepHeadline({
570
- headline: updates.headline ?? defaultHeadline,
571
- headlineClass: updates.headlineClass,
572
- }),
573
- ...(Array.isArray(input) ? input : [input]),
574
- ],
575
- updates
576
- )
577
- }
578
-
579
- // ------ Common Steps
580
-
581
- function address(updates = {}) {
582
- updates.nextOnInput = typeof updates.nextOnInput === "undefined" ? false : updates.nextOnInput;
583
- return sqstep(
584
- "address",
585
- address$1(updates.scope, true, updates.input),
586
- "What is the street address of the home?",
587
- updates
588
- )
589
- }
590
-
591
- function contactInfoV2(updates = {}) {
378
+ function contactInfoNoTCPA(updates = {}) {
592
379
  return step(
593
380
  "contactInfo",
594
381
  [
@@ -611,11 +398,6 @@ function contactInfoV2(updates = {}) {
611
398
  }),
612
399
  ],
613
400
  },
614
- TCPAConsent(updates.scope, {
615
- outerClass: "!t-flex !t-flex-col !t-justify-center !t-items-center",
616
- wrapperClass: "t-w-[95%] sm:t-w-[80%]",
617
- messagesClass: "t-w-[95%] sm:t-w-[80%]",
618
- }),
619
401
  ],
620
402
  { nextOnEnter: false }
621
403
  )
@@ -641,28 +423,6 @@ function firstAndLastV4(updates = {}) {
641
423
  )
642
424
  }
643
425
 
644
- function timeframe(updates = {}) {
645
- return sqstep(
646
- "timeframe",
647
- timeframe$1(updates.scope, true, updates.input),
648
- "What is the project timeframe?",
649
- updates
650
- )
651
- }
652
-
653
- function ownHome(updates = {}) {
654
- return sqstep("ownHome", ownHome$1(updates.scope, true, updates.input), "Do you own the home?", updates)
655
- }
656
-
657
- function homeImprovementWorkType(updates = {}) {
658
- return sqstep(
659
- "homeImprovementWorkType",
660
- homeImprovementWorkType$1(updates.scope, true, updates.input),
661
- "Is it a repair or install job?",
662
- updates
663
- )
664
- }
665
-
666
426
  function plumbingFirstStep(updates = {}) {
667
427
  return step(
668
428
  "plumbingFirstStep",
@@ -679,15 +439,6 @@ function plumbingFirstStep(updates = {}) {
679
439
  )
680
440
  }
681
441
 
682
- function plumbingSubtype(updates = {}) {
683
- return sqstep(
684
- "plumbingSubtype",
685
- plumbingSubtype$1(updates.scope, true, updates.input),
686
- "Select a plumbing job type:",
687
- updates
688
- )
689
- }
690
-
691
442
  const formNavigationNoFinalBack = (updates = {}) => ({
692
443
  $el: "div",
693
444
  attrs: {
@@ -1000,12 +751,17 @@ const hiddenInputsBase = [
1000
751
  },
1001
752
  ];
1002
753
 
1003
- const hiddenInputsHomeImprovement = [
754
+ const hiddenInputsHomeImprovementTCPA = [
1004
755
  {
1005
756
  $formkit: "hidden",
1006
757
  name: "vertical",
1007
758
  value: "HomeImprovement",
1008
759
  },
760
+ {
761
+ $formkit: "hidden",
762
+ name: "TCPA_Opt_In",
763
+ value: true,
764
+ },
1009
765
  {
1010
766
  $formkit: "hidden",
1011
767
  name: "TCPA_Language",
@@ -1527,7 +1283,7 @@ const HomeImprovementFinalHeadlines = {
1527
1283
  // 'Landscaping': '',
1528
1284
  // 'Locksmiths': '',
1529
1285
  // 'Masonry and Concrete': '',
1530
- // 'Restoration': '',
1286
+ Restoration: "Restoration Pros Are Standing By!",
1531
1287
  // 'Moving': '',
1532
1288
  // 'Painting': '',
1533
1289
  // 'Pest Control': '',
@@ -1560,7 +1316,7 @@ const HomeImprovementFinalSubHeadlines = {
1560
1316
  Doors: "Enhance your home with new doors.",
1561
1317
  Driveways: "Repair or install a new driveway.",
1562
1318
  "Drywall and Plaster": "Expert drywall and plaster services.",
1563
- Electrical: "Get a quote from a trusted pro.",
1319
+ Electrical: "Confirm your contact information:",
1564
1320
  Fencing: "Secure your property with new fencing.",
1565
1321
  Flooring: "Install stunning new floors.",
1566
1322
  Foundations: "Foundation repair and maintenance.",
@@ -1578,21 +1334,21 @@ const HomeImprovementFinalSubHeadlines = {
1578
1334
  "Home Theater": "Create the ultimate home theater.",
1579
1335
  "Home Warranties": "Get a warranty for your home.",
1580
1336
  "Hot Tubs": "Install a relaxing hot tub.",
1581
- "Heating and Cooling": "HVAC repair and installation.",
1337
+ "Heating and Cooling": "Confirm your contact information:",
1582
1338
  Insulation: "Improve your home's insulation.",
1583
1339
  "Junk Removal": "Remove unwanted junk from your property.",
1584
1340
  Landscaping: "Transform your yard with expert landscaping.",
1585
1341
  Locksmiths: "Professional locksmith services.",
1586
1342
  "Masonry and Concrete": "Expert masonry and concrete work.",
1587
- Restoration: "Restore your home after damage.",
1343
+ Restoration: "Confirm your contact information:",
1588
1344
  Moving: "Reliable moving services.",
1589
1345
  Painting: "Professional painting services.",
1590
1346
  "Pest Control": "Effective pest control solutions.",
1591
1347
  Pools: "Install or repair your pool.",
1592
- Plumbing: "Get a quote from a trusted pro.",
1348
+ Plumbing: "Confirm your contact information:",
1593
1349
  "Pressure Washing": "Pressure wash your home's exterior.",
1594
1350
  Remodeling: "Remodel your home with top professionals.",
1595
- Roofing: "Get a quote from a local roofer.",
1351
+ Roofing: "Confirm your contact information:",
1596
1352
  Sheds: "Build a new shed for extra storage.",
1597
1353
  Siding: "Upgrade your home's siding.",
1598
1354
  Solar: "Install solar panels and save on energy.",
@@ -1603,7 +1359,7 @@ const HomeImprovementFinalSubHeadlines = {
1603
1359
  Windows: "Replace your windows with energy-efficient options.",
1604
1360
  };
1605
1361
 
1606
- const meta = defaultMetaPropsHomeImprovement();
1362
+ const meta = defaultMetaPropsHomeImprovement("Plumbing", true);
1607
1363
 
1608
1364
  const schema = [
1609
1365
  meta,
@@ -1625,13 +1381,14 @@ const schema = [
1625
1381
  props: formProps({
1626
1382
  formId: "plumbing",
1627
1383
  redirectMap: {
1628
- "*": "/thank-you?zip_code=${properties.Zip}&s=${properties.s}",
1384
+ // "*": "/thank-you?zip_code=${properties.Zip}&s=${properties.s}",
1385
+ "*": HomeImprovementRedirectUrl(),
1629
1386
  },
1630
1387
  }),
1631
1388
  children: [
1632
1389
  progressBar(),
1633
1390
  headline({
1634
- children: '$urlParam("hl", "Get Plumbing Quotes")',
1391
+ children: '$urlParam("hl", "Compare Quotes and Save")',
1635
1392
  if: "$activeStep === $firstStep()",
1636
1393
  }),
1637
1394
  subHeadline({
@@ -1639,7 +1396,7 @@ const schema = [
1639
1396
  if: "$activeStep === $firstStep()",
1640
1397
  subheadlineClass: "!t-font-bold !t-text-[#465f87]",
1641
1398
  }),
1642
- ...hiddenInputsHomeImprovement,
1399
+ ...hiddenInputsHomeImprovementTCPA,
1643
1400
  {
1644
1401
  $el: "div",
1645
1402
  attrs: {
@@ -1653,29 +1410,31 @@ const schema = [
1653
1410
  help: null,
1654
1411
  },
1655
1412
  }),
1656
- plumbingSubtype({
1657
- input: {
1658
- inputClass: "t-text-center",
1659
- },
1660
- }),
1661
- homeImprovementWorkType(),
1662
- timeframe(),
1663
- ownHome(),
1664
- address(),
1413
+ // steps.plumbingSubtype({
1414
+ // input: {
1415
+ // inputClass: "t-text-center",
1416
+ // },
1417
+ // }),
1418
+ // steps.homeImprovementWorkType(),
1419
+ // steps.timeframe(),
1420
+ // steps.ownHome(),
1421
+ // steps.address(),
1665
1422
  firstAndLastV4({
1666
1423
  headlineClass: "!t-text-dark",
1667
1424
  headline: "Who is looking for a plumber?",
1668
1425
  }),
1669
- contactInfoV2({
1426
+ contactInfoNoTCPA({
1670
1427
  headlineClass: "!t-text-[#465f87]",
1671
1428
  subheadlineClass: "!t-text-[#353739]",
1672
1429
  }),
1673
1430
  formNavigationNoFinalBack({
1674
- startText: "Get Quotes Now",
1431
+ startText: "Click To Start",
1675
1432
  submitLabel: "Get A Quote",
1676
1433
  inputClass: "!t-text-black !t-font-extrabold !t-bg-[#ffce51]",
1677
1434
  firstStepButtonClass: "!t-justify-center",
1435
+ lastStepButtonClass: "!t-justify-center !t-my-0 !t-py-0",
1678
1436
  }),
1437
+ tcpaLanguageStandalone(),
1679
1438
  secureIconStandalone(),
1680
1439
  formDetails(),
1681
1440
  ],
@@ -1 +1 @@
1
- var plumbing=function(){"use strict";function e(){return Object.assign({},...arguments)}const t=e=>(e.name&&!e.id&&(e.id=e.name),e),a=a=>(t(a),e({$formkit:"radio",validation:"required",validationMessages:{required:"Field is required"},optionsClass:"t-pt-3 t-pl-1",legendClass:"required"},a)),n=e=>(e.legendClass="legend-left required",e.fieldsetClass="$reset side-by-side",e.optionsClass="t-pl-1",e.innerClass="t-flex t-items-center",e.wrapperClass="t-mb-3",a(e)),s=e=>(e.legendClass="required",e.fieldsetClass="$reset t-flex t-justify-center",e.optionsClass="t-pl-2 t-pt-3",e.innerClass="t-items-center",e.wrapperClass="$reset t-flex t-cursor-pointer t-mb-3",e.optionClass="t-pl-4 md:t-pl-12",e.messagesClass="t-flex t-justify-center",a(e)),r=a=>(t(a),e({$formkit:"select",placeholder:"Please Select",validation:"required",validationMessages:{required:"Field is required"},inputClass:"t-bg-white",labelClass:"required"},a)),i=e=>(e.labelClass="required",e.wrapperClass="side-by-side t-items-center",e.innerClass="select-height-content",e.helpClass="t-mt-2.5 md:t-text-right md:t-mt-[-5px]",r(e)),l=e=>(e.labelClass="required",e.wrapperClass="t-flex t-justify-center",e.messagesClass="t-flex t-justify-center",e.inputClass="t-min-w-[150px] t-bg-white "+(e.inputClass||""),e.helpClass="t-mt-2.5 t-text-center",r(e)),o=a=>(t(a),e({$formkit:"text",validation:"required",validationMessages:{required:"Field is required"},labelClass:"required"},a)),m=e=>(e.wrapperClass="side-by-side t-items-center",o(e)),c=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",o(e)),d=(e,t={})=>o({$formkit:"FloatingLabelText",name:e?e+":Email":"Email",placeholder:"Email Address",autocomplete:"email","data-tf-sensitive":"false",validation:"required|email",validationMessages:{required:"Email is required",email:"Invalid Email"},inputClass:"t-text-center",wrapperClass:"t-flex t-justify-center",...t}),p=(e,t={})=>o({$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}),u=(e,t={})=>o({$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}),f=(e,t={})=>({$el:"div",attrs:{class:"t-flex t-flex-col sm:t-flex-row t-flex-wrap t-gap-x-[2%] t-justify-center sm:!t-max-w-[70%]"},children:[p(e,{outerClass:"sm:!t-max-w-[49%]",...t}),u(e,{outerClass:"sm:!t-max-w-[49%]",...t})]}),y=(e,t={})=>o({$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}),h=(e,t,a={})=>(t?c:m)({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}),g=(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-[0.7rem] t-text-slate-500 t-font-normal !t-leading-[0.9rem]"+(t.labelClass?" "+t.labelClass:"")}}),x=e=>"group"!==e.type&&"section"!==e.type&&"form"!==e.type&&"hidden"!==e.$formkit&&!e.children,b=e=>{if(x(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(x(a))return a;const n=b(a);if(n)return n}return null},v={$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 C(t={}){return e(v,t)}function w(e){return{$el:"h3",children:e.headline||"Tell Us About Your Situation",attrs:{class:"t-flex t-justify-center t-text-center t-text-lg sm:t-text-xl t-font-bold t-text-dark t-pb-5 t-pt-0 t-px-1 "+(e.headlineClass||"")}}}function $(e){return{$el:"h3",children:e.headline||"Please Provide a Contact Name",attrs:{class:"t-flex t-justify-center t-text-center t-text-xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1 "+(e.headlineClass||"")}}}function S(e){return{$el:"h3",children:e.headline||'$getKey($meta, "finalHeadlines." + ($get(Type_Of_Legal_Problem).value || $get(Category).value), $meta.defaultFinalHeadline)',attrs:{class:"t-flex t-justify-center t-text-center !t-text-xl md:!t-text-2xl t-font-bold t-text-blue-500 t-pb-3 t-pt-4 t-px-1 "+(e.headlineClass||"")+" f-contact-info-headline"}}}function I(e){return{$el:"h5",children:e.subheadline||'$getKey($meta, "finalSubHeadlines." + ($get(Type_Of_Legal_Problem).value || $get(Category).value), $meta.defaultFinalSubHeadline)',attrs:{class:"t-flex t-justify-center t-text-center !t-text-base md:!t-text-lg t-font-semibold t-pb-6 t-pt-0 t-px-3 "+(e.subheadlineClass||"")+" f-contact-info-subheadline"}}}function E(t,a,n={}){const{nextOnEnter:s=!0,nextOnInput:r=!1,stepKey:i,nextStepMap:l,triggerRedirectMap:o,autoFocus:m}=n;if(a&&a.length&&(s||r)){const e=b(a[a.length-1]);e&&!0===s&&(e.onKeypress="$onEnter($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))"),e&&!0===r&&(e.onInput="$onInput($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))")}const c={children:[{$formkit:"group",id:t,name:t,nextStepMap:l,triggerRedirectMap:o,autoFocus:m,children:a}]};return void 0!==n.if&&(c.if=n.if),e(((e,t)=>({$el:"section",if:'$stepEnabled("'+e+'")',attrs:{hidden:'$activeStep !== "'+e+'"',key:t||e}}))(t,i),c)}function P(e,t,a,n={}){return void 0===n.nextOnInput&&(n.nextOnInput=!0),E(e,[w({headline:n.headline??a,headlineClass:n.headlineClass}),...Array.isArray(t)?t:[t]],n)}const k={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 T(e,t){return Object.fromEntries(Object.entries(e).filter((([e])=>t.includes(e))))}const D={};const L={$el:"div",children:[{$el:"div",attrs:{id:"form-anchor",class:"t-absolute",style:{top:"-30px",left:0}}}],attrs:{class:"t-relative"}};const A={$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 O=[{$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}],_=["haveAttorney","degreeOfInterest","commentsWithBankruptcy","zipcode","legalCrossSells","firstAndLast","contactInfo"],W=["haveAttorney","degreeOfInterest","lawyerPaymentMethod","commentsWithBankruptcy","zipcode","legalCrossSells","firstAndLast","contactInfo"],j=["haveAttorney","commentsWithBankruptcy","zipcode","legalCrossSells","firstAndLast","contactInfo"],F={values:{Type_Of_Legal_Problem:{Adoption:["maritalStatus","haveChildren",...W],"Asbestos and Mesothelioma":["incidentDate","doctorTreatment",..._],"Auto and Car Accidents":["incidentDate","atFault","primaryInjury","doctorTreatment","policeReportFiled",...j],Bankruptcy:["totalMonthlyIncome","totalDebt","ownRealEstate","valueOfAssets",..._],"Business Lawyers":["businessServices","businessType","numEmployeesOfBusiness",..._],"Child Custody":["childRelationship","childHome","childPrimaryCaregiver",...W],"Child Support":["childRelationship","childHome","childPrimaryCaregiver",...W],"Civil Rights and Discrimination":["civilRightsType",..._],"Civil Lawsuit":["civilDefense","lawsuitOtherParty",..._],"File a Lawsuit":["civilLawsuitTOLPDisplay","lawsuitOtherParty",..._],"Defend a Lawsuit":["lawsuitOtherParty",..._],"Consumer Lawyers":["consumerLawyerType","incidentDate","lawsuitOtherParty",..._],"Criminal and Felony":["criminalTOLPDisplay","crimeCommittedDate","roleInMatterCriminal","pendingCharges",...W],"Debt and Collections":["totalMonthlyIncome","totalDebt","ownRealEstate","valueOfAssets",..._],"Divorce and Separation":["maritalStatus","haveChildren",...W],"DUI and DWI":["incidentDate","priorAlcoholOffenses","typeOfAlcoholTest","bloodContentAlcoholTest","pendingCharges",..._],"Employment and Workplace":["employmentAndWorkplaceTOLPDisplay","numEmployeesOfBusiness","employerType","employeeAtCompany",..._],Expungement:["incidentDate","criminalChargeType",...W],"Family Issues":["maritalStatus","haveChildren",...W],Foreclosure:["ownRealEstate","typeOfProperty","amountPaymentsPastDue","loanAmount","defaultNotice",..._],Guardianship:["maritalStatus","haveChildren",...W],"Immigration and Visas":["countryOfCitizenship","immigrationLocation","immigrationEntry","immigrationType","immigrationStatus","immigrationDetails",..._],"Landlord and Tenant":["landlordTenantIssue","landlordTenantParty",..._],"Lemon Law":["incidentDate","lawsuitOtherParty",..._],"Long Term Disability":["applicantOccupation","applicantAge","applicantLTDisabilityPolicy","applicantDisabilityHowObtain","applicantPreviouslyAppliedLtdBenefits","applicantReceivedDisabilityBenefits","applicantMonthlySalary",...j],"Medical Malpractice":["incidentDate","claimStatus","doctorTreatment","medicalMalpracticeInjuries",..._],"Patents and Intellectual Property":["patentAssistanceType","patentFor",..._],"Personal Injury":["incidentDate","claimStatus","atFault","primaryInjury","doctorTreatment",...j],"Probate and Estates":["valueOfAssets","typeOfAssets","roleInMatterProbate","estateLegalServicesNeeded",..._],"Property Damage":["wouldLikeLawyerTo",..._],"Real Estate":["realEstateTOLPDisplay","realEstateArea","wouldLikeLawyerTo",..._],"Social Security Disability and Insurance":["applicantAge","disabilityConditionStopWork","disabilityWorkHistory","socialSecurityDisabilityReceivingBenefits","doctorTreatment",...j],"Tax and IRS":["totalDebt","taxProblemDetails","taxLevel","taxIssueType",..._],"Traffic and Tickets":["driversLicenseType","trafficViolations","haveCourtDate",..._],Unemployment:["numEmployeesOfBusiness","employerType","degreeOfInterest","commentsWithBankruptcy","zipcode","legalCrossSells","firstAndLast","contactInfo"],"Victim of a Crime":["crimeCommittedDate","roleInMatterCriminal","pendingCharges",...W],"Wills and Trusts":["valueOfAssets","typeOfAssets","roleInMatterProbate","estateLegalServicesNeeded",..._],"Workers Compensation":["incidentDate","claimStatus","primaryInjury","causeOfInjury","doctorTreatment",...j],"Workplace Harassment":["numEmployeesOfBusiness","employerType","employeeAtCompany",..._],"Workplace Discrimination":["numEmployeesOfBusiness","employerType","employeeAtCompany",..._],"Wrongful Death":["incidentDate","relationshipToVictim","criminalChargesFiled","causeOfDeath",...j],"Wrongful Termination":["numEmployeesOfBusiness","employerType",..._]},"*":_}};function H(e,t=[],a={}){const n={...e};return n.values=function e(n){const s={};for(const r in n)Array.isArray(n[r])?s[r]=n[r].filter((e=>!t.includes(e))).map((e=>a[e]||e)):"object"==typeof n[r]?s[r]=e(n[r]):s[r]=n[r];return s}(e.values),n}H(F,["legalCrossSells"],{commentsWithBankruptcy:"comments"});const q=F.values.Type_Of_Legal_Problem;q["Auto and Car Accidents"].filter((e=>"legalCrossSells"!==e)),q["Workers Compensation"].filter((e=>"legalCrossSells"!==e)),q["Personal Injury"].filter((e=>"legalCrossSells"!==e)),q["Personal Injury"].filter((e=>"legalCrossSells"!==e)),q["Auto and Car Accidents"].filter((e=>"legalCrossSells"!==e)),q["Auto and Car Accidents"].filter((e=>"legalCrossSells"!==e)),q["Personal Injury"].filter((e=>"legalCrossSells"!==e)),q["Personal Injury"].filter((e=>"legalCrossSells"!==e)),q["Child Custody"],q["Child Support"],F.values["*"],q["Family Issues"],q["Child Support"],q["Child Custody"],F.values["*"],q["Divorce and Separation"],q["Defend a Lawsuit"],q["File a Lawsuit"];H({values:{Type_Of_Legal_Problem:{"Defend a Lawsuit":q["Defend a Lawsuit"],"File a Lawsuit":q["File a Lawsuit"]},"*":["lawsuitOtherParty",..._]}},["legalCrossSells"],{commentsWithBankruptcy:"comments"});H({values:{Type_Of_Legal_Problem_Display:{"Automobile Accident":q["Auto and Car Accidents"],"Contract Disputes":q["Business Lawyers"],"Dog Bite":q["Personal Injury"],"Employment and Workplace":q["Employment and Workplace"],Fraud:q["Consumer Lawyers"],"Medical Malpractice":q["Medical Malpractice"],"Personal Injury":q["Personal Injury"],"Property Damage":q["Property Damage"],"Real Estate":q["Real Estate"],"Not Sure or Other":F.values["*"]},"*":["lawsuitOtherParty",..._]}},["legalCrossSells"],{commentsWithBankruptcy:"comments"});H({values:{Type_Of_Legal_Problem_Display:{"Victim of a Crime":q["Victim of a Crime"],"DUI and DWI":q["DUI and DWI"],Expungement:q.Expungement,"Not Sure or Other":F.values["*"]},"*":["crimeCommittedDate","roleInMatterCriminal","pendingCharges",...W]}},["legalCrossSells"],{commentsWithBankruptcy:"comments"});H({values:{Type_Of_Legal_Problem_Display:{"Wrongful Termination":q["Wrongful Termination"],"Workers Compensation":q["Workers Compensation"],"Personal Injury":q["Personal Injury"],Unemployment:q.Unemployment},"*":["numEmployeesOfBusiness","employerType","employeeAtCompany",..._]}},["legalCrossSells"],{commentsWithBankruptcy:"comments"}),q["Workplace Harassment"],q["Workplace Discrimination"],q["Probate and Estates"],q["Wills and Trusts"],q["Wrongful Death"],q["Patents and Intellectual Property"],q["Business Lawyers"],q["Business Lawyers"],F.values["*"];H({values:{Type_Of_Legal_Problem_Display:{Foreclosure:q.Foreclosure,"Landlord and Tenant":q["Landlord and Tenant"],"Wills, Trusts, and Estates":q["Wills and Trusts"],"Property Damage":q["Property Damage"]},"*":["realEstateArea","wouldLikeLawyerTo",..._]}},["legalCrossSells"],{commentsWithBankruptcy:"comments"});const M={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:'Examples: "I need two rooms painted" or "I need to replace a faucet", etc',"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: "My basement is flooded and needs restoration"',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"'},B={Appliances:"Our Pros Are Ready To Help",Electrical:"Electricians Are Standing By!",Plumbing:"Plumbers Are Standing By!",Roofing:"Roofers Are Standing By!"},R={Additions:"Get your dream addition started today!",Appliances:"Confirm your contact information:",Appraisals:"Accurate home appraisals at your service.",Cabinets:"Transform your kitchen with new cabinets.",Carpentry:"Custom carpentry solutions for your home.",Carpets:"Upgrade your home with new carpets.",Cleaning:"Professional cleaning services for a spotless home.",Countertops:"Install beautiful countertops in your kitchen.","Decks and Porches":"Build the perfect outdoor space.",Demolition:"Safe and efficient demolition services.",Doors:"Enhance your home with new doors.",Driveways:"Repair or install a new driveway.","Drywall and Plaster":"Expert drywall and plaster services.",Electrical:"Get a quote from a trusted pro.",Fencing:"Secure your property with new fencing.",Flooring:"Install stunning new floors.",Foundations:"Foundation repair and maintenance.","Garage Doors":"Upgrade your garage with new doors.","General Contractors":"Top contractors for your home projects.",Gutters:"Clean and repair your gutters.",Handyman:"Handyman services for all your needs.","Holiday Decorators":"Get your home ready for the holidays.","Smart Home":"Upgrade to a smart home today.","Home Builders":"Build your custom dream home.","Home Inspection":"Thorough home inspections for peace of mind.","Home Organization":"Organize your home with expert help.","Home Security":"Protect your home with a security system.","Home Staging":"Stage your home for a quick sale.","Home Theater":"Create the ultimate home theater.","Home Warranties":"Get a warranty for your home.","Hot Tubs":"Install a relaxing hot tub.","Heating and Cooling":"HVAC repair and installation.",Insulation:"Improve your home's insulation.","Junk Removal":"Remove unwanted junk from your property.",Landscaping:"Transform your yard with expert landscaping.",Locksmiths:"Professional locksmith services.","Masonry and Concrete":"Expert masonry and concrete work.",Restoration:"Restore your home after damage.",Moving:"Reliable moving services.",Painting:"Professional painting services.","Pest Control":"Effective pest control solutions.",Pools:"Install or repair your pool.",Plumbing:"Get a quote from a trusted pro.","Pressure Washing":"Pressure wash your home's exterior.",Remodeling:"Remodel your home with top professionals.",Roofing:"Get a quote from a local roofer.",Sheds:"Build a new shed for extra storage.",Siding:"Upgrade your home's siding.",Solar:"Install solar panels and save on energy.",Tiling:"Install beautiful new tiles.","Walk-in Tubs":"Install a convenient walk-in tub.",Waterproofing:"Waterproof your home to prevent damage.","Window Cleaning":"Professional window cleaning services.",Windows:"Replace your windows with energy-efficient options."};var N;return[function(t=null,a=!1){let n=M,s=B,r=R;return t&&(n=T(M,t),s=T(B,t),r=T(R,t)),{type:"meta",data:e(D,{tcpaLanguage:a?'By clicking this button, I agree to the Terms of Use, and consent to be contacted by up to four home service <a href="/providers" target="_blank" class="t-underline">companies and partners</a> 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.':'By checking this box, I a) agree to the Terms of Use, and b) consent to be contacted by up to four home service <a href="/providers" target="_blank" class="t-underline">companies and partners</a> 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:n,defaultFinalHeadline:"We Found Matching Contractors!",finalHeadlines:s,defaultFinalSubHeadline:"Compare quotes and save. Verify contact info:",finalSubHeadlines:r})}}(),(N={children:[{$el:"div",attrs:{id:"form-anchor",class:"t-absolute",style:{top:"-80px",left:0}}}]},e(L,N)),{$cmp:"FormKit",props:function(t){const a=e(k,t);return a.formId&&!a.name&&(a.name=a.formId),a}({formId:"plumbing",redirectMap:{"*":"/thank-you?zip_code=${properties.Zip}&s=${properties.s}"}}),children:[function(t){return e(A,t)}(),function(t={}){return e(function(e={}){return{$el:"h1",attrs:{class:"t-flex t-justify-center t-text-center t-text-[1.7rem] sm:t-text-[2rem] t-font-semibold t-pt-5 t-px-7 md:t-px-3 "+(e.headlineClass||"")+" f-first-headline"}}}(t),t)}({children:'$urlParam("hl", "Get Plumbing Quotes")',if:"$activeStep === $firstStep()"}),function(t={}){return e(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 t-pb-3 "+(e.subheadlineClass||"")+" f-first-subheadline"}}}(t),t)}({children:'$urlParam("shl", "Please Enter Your Zip Code:")',if:"$activeStep === $firstStep()",subheadlineClass:"!t-font-bold !t-text-[#465f87]"}),...O,{$el:"div",attrs:{class:"form-body"},children:[function(e={}){return E("plumbingFirstStep",[{$formkit:"hidden",name:"Category",id:"Category",value:"Plumbing"},h(e.scope,!0,e.input)],e)}({nextOnInput:!1,headlineClass:"t-text-lg",input:{help:null}}),function(t={}){return P("plumbingSubtype",((t,a,n={})=>(a?l:i)(e({label:a?n.label:"Select a plumbing job type:",name:t?t+":Plumbing_Subtype":"Plumbing_Subtype",options:["Additions and Remodels","Boiler","Drain","Hot Tub","Piping","Septic","Sink","Sump Pump","Toilet","Tub or Shower","Water Heater","Water Main","Not Sure or Other"]},n)))(t.scope,!0,t.input),"Select a plumbing job type:",t)}({input:{inputClass:"t-text-center"}}),function(t={}){return P("homeImprovementWorkType",((t,a,r={})=>(a?s:n)(e({label:a?r.label:"What type of work?",name:t?t+":Work_Type":"Work_Type",options:["Install or Replace","Repair","Not Sure or Other"]},r)))(t.scope,!0,t.input),"Is it a repair or install job?",t)}(),function(t={}){return P("timeframe",((t,a,r={})=>(a?s:n)(e({label:a?r.label:"What is the project timeframe?",name:t?t+":Timeframe":"Timeframe",options:["Immediate","1-6 Months","More than 6 Months"]},r)))(t.scope,!0,t.input),"What is the project timeframe?",t)}(),function(t={}){return P("ownHome",((t,a,r={})=>(a?s:n)(e({label:a?r.label:"Do you own the home?",name:t?t+":Own_Home":"Own_Home",options:["Yes","No","No but authorized"]},r)))(t.scope,!0,t.input),"Do you own the home?",t)}(),function(e={}){return e.nextOnInput=void 0!==e.nextOnInput&&e.nextOnInput,P("address",((e,t,a={})=>(t?c:m)({label:t?a.label:"Street Address:",placeholder:"10 Example St",name:e?e+":Address":"Address",autocomplete:"street-address","data-tf-sensitive":"false",minlength:5,maxlength:100,validation:[["required"],["matches",/^(?=.*\d)(?=.*[A-Za-z])(?=.*\s).{6,100}$/]],validationMessages:{matches:"Invalid Address",required:"Address is required"},...a}))(e.scope,!0,e.input),"What is the street address of the home?",e)}(),function(e={}){return E("firstAndLast",[$({headline:e.headline??"Who is looking for help?",headlineClass:e.headlineClass}),{$el:"div",attrs:{class:"t-flex t-flex-col t-justify-center t-items-center t-pt-3"},children:[f(e.scope)]}],e)}({headlineClass:"!t-text-dark",headline:"Who is looking for a plumber?"}),function(e={}){return E("contactInfo",[S(e),I(e),{$el:"script",if:"$activeStep === $lastStep()",children:"(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})();"},{$el:"div",attrs:{class:"t-flex t-flex-col t-justify-center t-items-center"},children:[d(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%]"}),y(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%]"})]},g(e.scope,{outerClass:"!t-flex !t-flex-col !t-justify-center !t-items-center",wrapperClass:"t-w-[95%] sm:t-w-[80%]",messagesClass:"t-w-[95%] sm:t-w-[80%]"})],{nextOnEnter:!1})}({headlineClass:"!t-text-[#465f87]",subheadlineClass:"!t-text-[#353739]"}),((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 "+(e.lastStepButtonClass||"!t-justify-center"),else:"step-nav !t-justify-between"}}},children:[{$formkit:"button",name:"back_button",onClick:"$setPreviousStep($prevStepFunc($get(form)))",children:"Back",outerClass:{if:"$fns.eq($activeStep, $firstStep()) || $fns.eq($activeStep, $lastStep())",then:"t-hidden sm:t-block",else:""},style:{if:"$fns.eq($activeStep, $firstStep()) || $fns.eq($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:"Get Quotes Now",submitLabel:"Get A Quote",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:[C({attrs:{class:"t-flex t-justify-center t-items-center t-text-sm t-text-gray-500 t-pb-6 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"}}]}]}]}]}();
1
+ var plumbing=function(){"use strict";function e(){return Object.assign({},...arguments)}const t=t=>{var a;return(a=t).name&&!a.id&&(a.id=a.name),e({$formkit:"text",validation:"required",validationMessages:{required:"Field is required"},labelClass:"required"},t)},a=e=>(e.wrapperClass="side-by-side t-items-center",t(e)),n=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",t(e)),r=(e,a={})=>t({$formkit:"FloatingLabelText",name:e?e+":Email":"Email",placeholder:"Email Address",autocomplete:"email","data-tf-sensitive":"false",validation:"required|email",validationMessages:{required:"Email is required",email:"Invalid Email"},inputClass:"t-text-center",wrapperClass:"t-flex t-justify-center",...a}),i=(e,a={})=>t({$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",...a}),s=(e,a={})=>t({$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",...a}),o=(e,t={})=>({$el:"div",attrs:{class:"t-flex t-flex-col sm:t-flex-row t-flex-wrap t-gap-x-[2%] t-justify-center sm:!t-max-w-[70%]"},children:[i(e,{outerClass:"sm:!t-max-w-[49%]",...t}),s(e,{outerClass:"sm:!t-max-w-[49%]",...t})]}),l=(e,a={})=>t({$formkit:"FloatingLabelText",datatype:"tel",name:e?e+":Primary_Phone":"Primary_Phone",placeholder:a.placeholder||"Phone Number",maxlength:14,help:a.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",...a}),m=(e,t,r={})=>(t?n:a)({label:t?r.label:"Zip Code:",help:t?r.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"},...r}),c=e=>"group"!==e.type&&"section"!==e.type&&"form"!==e.type&&"hidden"!==e.$formkit&&!e.children,p=e=>{if(c(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(c(a))return a;const n=p(a);if(n)return n}return null},d={$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 u(t={}){return e(d,t)}function f(e){return{$el:"h3",children:e.headline||"Please Provide a Contact Name",attrs:{class:"t-flex t-justify-center t-text-center t-text-xl t-font-bold t-text-blue-500 t-pb-5 t-pt-0 t-px-1 "+(e.headlineClass||"")}}}function y(e){return{$el:"h3",children:e.headline||'$getKey($meta, "finalHeadlines." + ($get(Type_Of_Legal_Problem).value || $get(Category).value), $meta.defaultFinalHeadline)',attrs:{class:"t-flex t-justify-center t-text-center !t-text-xl md:!t-text-2xl t-font-bold t-text-blue-500 t-pb-3 t-pt-4 t-px-1 "+(e.headlineClass||"")+" f-contact-info-headline"}}}function h(e){return{$el:"h5",children:e.subheadline||'$getKey($meta, "finalSubHeadlines." + ($get(Type_Of_Legal_Problem).value || $get(Category).value), $meta.defaultFinalSubHeadline)',attrs:{class:"t-flex t-justify-center t-text-center !t-text-base md:!t-text-lg t-font-semibold t-pb-6 t-pt-0 t-px-3 "+(e.subheadlineClass||"")+" f-contact-info-subheadline"}}}function g(t,a,n={}){const{nextOnEnter:r=!0,nextOnInput:i=!1,stepKey:s,nextStepMap:o,triggerRedirectMap:l,autoFocus:m}=n;if(a&&a.length&&(r||i)){const e=p(a[a.length-1]);e&&!0===r&&(e.onKeypress="$onEnter($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))"),e&&!0===i&&(e.onInput="$onInput($setNextStep($fireStepEvent($get(form)), $preStepFunc($get(form))))")}const c={children:[{$formkit:"group",id:t,name:t,nextStepMap:o,triggerRedirectMap:l,autoFocus:m,children:a}]};return void 0!==n.if&&(c.if=n.if),e(((e,t)=>({$el:"section",if:'$stepEnabled("'+e+'")',attrs:{hidden:'$activeStep !== "'+e+'"',key:t||e}}))(t,s),c)}const x={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 v(e,t){return Object.fromEntries(Object.entries(e).filter((([e])=>t.includes(e))))}const w={};const b={$el:"div",children:[{$el:"div",attrs:{id:"form-anchor",class:"t-absolute",style:{top:"-30px",left:0}}}],attrs:{class:"t-relative"}};const C={$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 $=[{$formkit:"hidden",name:"vertical",value:"HomeImprovement"},{$formkit:"hidden",name:"TCPA_Opt_In",value:!0},{$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}],S=["haveAttorney","degreeOfInterest","commentsWithBankruptcy","zipcode","legalCrossSells","firstAndLast","contactInfo"],I=["haveAttorney","degreeOfInterest","lawyerPaymentMethod","commentsWithBankruptcy","zipcode","legalCrossSells","firstAndLast","contactInfo"],E=["haveAttorney","commentsWithBankruptcy","zipcode","legalCrossSells","firstAndLast","contactInfo"],P={values:{Type_Of_Legal_Problem:{Adoption:["maritalStatus","haveChildren",...I],"Asbestos and Mesothelioma":["incidentDate","doctorTreatment",...S],"Auto and Car Accidents":["incidentDate","atFault","primaryInjury","doctorTreatment","policeReportFiled",...E],Bankruptcy:["totalMonthlyIncome","totalDebt","ownRealEstate","valueOfAssets",...S],"Business Lawyers":["businessServices","businessType","numEmployeesOfBusiness",...S],"Child Custody":["childRelationship","childHome","childPrimaryCaregiver",...I],"Child Support":["childRelationship","childHome","childPrimaryCaregiver",...I],"Civil Rights and Discrimination":["civilRightsType",...S],"Civil Lawsuit":["civilDefense","lawsuitOtherParty",...S],"File a Lawsuit":["civilLawsuitTOLPDisplay","lawsuitOtherParty",...S],"Defend a Lawsuit":["lawsuitOtherParty",...S],"Consumer Lawyers":["consumerLawyerType","incidentDate","lawsuitOtherParty",...S],"Criminal and Felony":["criminalTOLPDisplay","crimeCommittedDate","roleInMatterCriminal","pendingCharges",...I],"Debt and Collections":["totalMonthlyIncome","totalDebt","ownRealEstate","valueOfAssets",...S],"Divorce and Separation":["maritalStatus","haveChildren",...I],"DUI and DWI":["incidentDate","priorAlcoholOffenses","typeOfAlcoholTest","bloodContentAlcoholTest","pendingCharges",...S],"Employment and Workplace":["employmentAndWorkplaceTOLPDisplay","numEmployeesOfBusiness","employerType","employeeAtCompany",...S],Expungement:["incidentDate","criminalChargeType",...I],"Family Issues":["maritalStatus","haveChildren",...I],Foreclosure:["ownRealEstate","typeOfProperty","amountPaymentsPastDue","loanAmount","defaultNotice",...S],Guardianship:["maritalStatus","haveChildren",...I],"Immigration and Visas":["countryOfCitizenship","immigrationLocation","immigrationEntry","immigrationType","immigrationStatus","immigrationDetails",...S],"Landlord and Tenant":["landlordTenantIssue","landlordTenantParty",...S],"Lemon Law":["incidentDate","lawsuitOtherParty",...S],"Long Term Disability":["applicantOccupation","applicantAge","applicantLTDisabilityPolicy","applicantDisabilityHowObtain","applicantPreviouslyAppliedLtdBenefits","applicantReceivedDisabilityBenefits","applicantMonthlySalary",...E],"Medical Malpractice":["incidentDate","claimStatus","doctorTreatment","medicalMalpracticeInjuries",...S],"Patents and Intellectual Property":["patentAssistanceType","patentFor",...S],"Personal Injury":["incidentDate","claimStatus","atFault","primaryInjury","doctorTreatment",...E],"Probate and Estates":["valueOfAssets","typeOfAssets","roleInMatterProbate","estateLegalServicesNeeded",...S],"Property Damage":["wouldLikeLawyerTo",...S],"Real Estate":["realEstateTOLPDisplay","realEstateArea","wouldLikeLawyerTo",...S],"Social Security Disability and Insurance":["applicantAge","disabilityConditionStopWork","disabilityWorkHistory","socialSecurityDisabilityReceivingBenefits","doctorTreatment",...E],"Tax and IRS":["totalDebt","taxProblemDetails","taxLevel","taxIssueType",...S],"Traffic and Tickets":["driversLicenseType","trafficViolations","haveCourtDate",...S],Unemployment:["numEmployeesOfBusiness","employerType","degreeOfInterest","commentsWithBankruptcy","zipcode","legalCrossSells","firstAndLast","contactInfo"],"Victim of a Crime":["crimeCommittedDate","roleInMatterCriminal","pendingCharges",...I],"Wills and Trusts":["valueOfAssets","typeOfAssets","roleInMatterProbate","estateLegalServicesNeeded",...S],"Workers Compensation":["incidentDate","claimStatus","primaryInjury","causeOfInjury","doctorTreatment",...E],"Workplace Harassment":["numEmployeesOfBusiness","employerType","employeeAtCompany",...S],"Workplace Discrimination":["numEmployeesOfBusiness","employerType","employeeAtCompany",...S],"Wrongful Death":["incidentDate","relationshipToVictim","criminalChargesFiled","causeOfDeath",...E],"Wrongful Termination":["numEmployeesOfBusiness","employerType",...S]},"*":S}};function k(e,t=[],a={}){const n={...e};return n.values=function e(n){const r={};for(const i in n)Array.isArray(n[i])?r[i]=n[i].filter((e=>!t.includes(e))).map((e=>a[e]||e)):"object"==typeof n[i]?r[i]=e(n[i]):r[i]=n[i];return r}(e.values),n}k(P,["legalCrossSells"],{commentsWithBankruptcy:"comments"});const T=P.values.Type_Of_Legal_Problem;T["Auto and Car Accidents"].filter((e=>"legalCrossSells"!==e)),T["Workers Compensation"].filter((e=>"legalCrossSells"!==e)),T["Personal Injury"].filter((e=>"legalCrossSells"!==e)),T["Personal Injury"].filter((e=>"legalCrossSells"!==e)),T["Auto and Car Accidents"].filter((e=>"legalCrossSells"!==e)),T["Auto and Car Accidents"].filter((e=>"legalCrossSells"!==e)),T["Personal Injury"].filter((e=>"legalCrossSells"!==e)),T["Personal Injury"].filter((e=>"legalCrossSells"!==e)),T["Child Custody"],T["Child Support"],P.values["*"],T["Family Issues"],T["Child Support"],T["Child Custody"],P.values["*"],T["Divorce and Separation"],T["Defend a Lawsuit"],T["File a Lawsuit"];k({values:{Type_Of_Legal_Problem:{"Defend a Lawsuit":T["Defend a Lawsuit"],"File a Lawsuit":T["File a Lawsuit"]},"*":["lawsuitOtherParty",...S]}},["legalCrossSells"],{commentsWithBankruptcy:"comments"});k({values:{Type_Of_Legal_Problem_Display:{"Automobile Accident":T["Auto and Car Accidents"],"Contract Disputes":T["Business Lawyers"],"Dog Bite":T["Personal Injury"],"Employment and Workplace":T["Employment and Workplace"],Fraud:T["Consumer Lawyers"],"Medical Malpractice":T["Medical Malpractice"],"Personal Injury":T["Personal Injury"],"Property Damage":T["Property Damage"],"Real Estate":T["Real Estate"],"Not Sure or Other":P.values["*"]},"*":["lawsuitOtherParty",...S]}},["legalCrossSells"],{commentsWithBankruptcy:"comments"});k({values:{Type_Of_Legal_Problem_Display:{"Victim of a Crime":T["Victim of a Crime"],"DUI and DWI":T["DUI and DWI"],Expungement:T.Expungement,"Not Sure or Other":P.values["*"]},"*":["crimeCommittedDate","roleInMatterCriminal","pendingCharges",...I]}},["legalCrossSells"],{commentsWithBankruptcy:"comments"});k({values:{Type_Of_Legal_Problem_Display:{"Wrongful Termination":T["Wrongful Termination"],"Workers Compensation":T["Workers Compensation"],"Personal Injury":T["Personal Injury"],Unemployment:T.Unemployment},"*":["numEmployeesOfBusiness","employerType","employeeAtCompany",...S]}},["legalCrossSells"],{commentsWithBankruptcy:"comments"}),T["Workplace Harassment"],T["Workplace Discrimination"],T["Probate and Estates"],T["Wills and Trusts"],T["Wrongful Death"],T["Patents and Intellectual Property"],T["Business Lawyers"],T["Business Lawyers"],P.values["*"];k({values:{Type_Of_Legal_Problem_Display:{Foreclosure:T.Foreclosure,"Landlord and Tenant":T["Landlord and Tenant"],"Wills, Trusts, and Estates":T["Wills and Trusts"],"Property Damage":T["Property Damage"]},"*":["realEstateArea","wouldLikeLawyerTo",...S]}},["legalCrossSells"],{commentsWithBankruptcy:"comments"});const D={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:'Examples: "I need two rooms painted" or "I need to replace a faucet", etc',"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: "My basement is flooded and needs restoration"',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"'},L={Appliances:"Our Pros Are Ready To Help",Electrical:"Electricians Are Standing By!",Restoration:"Restoration Pros Are Standing By!",Plumbing:"Plumbers Are Standing By!",Roofing:"Roofers Are Standing By!"},A={Additions:"Get your dream addition started today!",Appliances:"Confirm your contact information:",Appraisals:"Accurate home appraisals at your service.",Cabinets:"Transform your kitchen with new cabinets.",Carpentry:"Custom carpentry solutions for your home.",Carpets:"Upgrade your home with new carpets.",Cleaning:"Professional cleaning services for a spotless home.",Countertops:"Install beautiful countertops in your kitchen.","Decks and Porches":"Build the perfect outdoor space.",Demolition:"Safe and efficient demolition services.",Doors:"Enhance your home with new doors.",Driveways:"Repair or install a new driveway.","Drywall and Plaster":"Expert drywall and plaster services.",Electrical:"Confirm your contact information:",Fencing:"Secure your property with new fencing.",Flooring:"Install stunning new floors.",Foundations:"Foundation repair and maintenance.","Garage Doors":"Upgrade your garage with new doors.","General Contractors":"Top contractors for your home projects.",Gutters:"Clean and repair your gutters.",Handyman:"Handyman services for all your needs.","Holiday Decorators":"Get your home ready for the holidays.","Smart Home":"Upgrade to a smart home today.","Home Builders":"Build your custom dream home.","Home Inspection":"Thorough home inspections for peace of mind.","Home Organization":"Organize your home with expert help.","Home Security":"Protect your home with a security system.","Home Staging":"Stage your home for a quick sale.","Home Theater":"Create the ultimate home theater.","Home Warranties":"Get a warranty for your home.","Hot Tubs":"Install a relaxing hot tub.","Heating and Cooling":"Confirm your contact information:",Insulation:"Improve your home's insulation.","Junk Removal":"Remove unwanted junk from your property.",Landscaping:"Transform your yard with expert landscaping.",Locksmiths:"Professional locksmith services.","Masonry and Concrete":"Expert masonry and concrete work.",Restoration:"Confirm your contact information:",Moving:"Reliable moving services.",Painting:"Professional painting services.","Pest Control":"Effective pest control solutions.",Pools:"Install or repair your pool.",Plumbing:"Confirm your contact information:","Pressure Washing":"Pressure wash your home's exterior.",Remodeling:"Remodel your home with top professionals.",Roofing:"Confirm your contact information:",Sheds:"Build a new shed for extra storage.",Siding:"Upgrade your home's siding.",Solar:"Install solar panels and save on energy.",Tiling:"Install beautiful new tiles.","Walk-in Tubs":"Install a convenient walk-in tub.",Waterproofing:"Waterproof your home to prevent damage.","Window Cleaning":"Professional window cleaning services.",Windows:"Replace your windows with energy-efficient options."};var O;return[function(t=null,a=!1){let n=D,r=L,i=A;return t&&(n=v(D,t),r=v(L,t),i=v(A,t)),{type:"meta",data:e(w,{tcpaLanguage:a?'By clicking this button, I agree to the Terms of Use, and consent to be contacted by up to four home service <a href="/providers" target="_blank" class="t-underline">companies and partners</a> 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.':'By checking this box, I a) agree to the Terms of Use, and b) consent to be contacted by up to four home service <a href="/providers" target="_blank" class="t-underline">companies and partners</a> 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:n,defaultFinalHeadline:"We Found Matching Contractors!",finalHeadlines:r,defaultFinalSubHeadline:"Compare quotes and save. Verify contact info:",finalSubHeadlines:i})}}("Plumbing",!0),(O={children:[{$el:"div",attrs:{id:"form-anchor",class:"t-absolute",style:{top:"-80px",left:0}}}]},e(b,O)),{$cmp:"FormKit",props:function(t){const a=e(x,t);return a.formId&&!a.name&&(a.name=a.formId),a}({formId:"plumbing",redirectMap:{"*":"https://listings.zipcontractor.com/api/v1/redirect?zone_id=4&vertical=HomeImprovement&category=${properties.Category}&zip_code=${properties.Zip}&sub_id=${properties.vid}"}}),children:[function(t){return e(C,t)}(),function(t={}){return e(function(e={}){return{$el:"h1",attrs:{class:"t-flex t-justify-center t-text-center t-text-[1.7rem] sm:t-text-[2rem] t-font-semibold t-pt-5 t-px-7 md:t-px-3 "+(e.headlineClass||"")+" f-first-headline"}}}(t),t)}({children:'$urlParam("hl", "Compare Quotes and Save")',if:"$activeStep === $firstStep()"}),function(t={}){return e(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 t-pb-3 "+(e.subheadlineClass||"")+" f-first-subheadline"}}}(t),t)}({children:'$urlParam("shl", "Please Enter Your Zip Code:")',if:"$activeStep === $firstStep()",subheadlineClass:"!t-font-bold !t-text-[#465f87]"}),...$,{$el:"div",attrs:{class:"form-body"},children:[function(e={}){return g("plumbingFirstStep",[{$formkit:"hidden",name:"Category",id:"Category",value:"Plumbing"},m(e.scope,!0,e.input)],e)}({nextOnInput:!1,headlineClass:"t-text-lg",input:{help:null}}),function(e={}){return g("firstAndLast",[f({headline:e.headline??"Who is looking for help?",headlineClass:e.headlineClass}),{$el:"div",attrs:{class:"t-flex t-flex-col t-justify-center t-items-center t-pt-3"},children:[o(e.scope)]}],e)}({headlineClass:"!t-text-dark",headline:"Who is looking for a plumber?"}),function(e={}){return g("contactInfo",[y(e),h(e),{$el:"script",if:"$activeStep === $lastStep()",children:"(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})();"},{$el:"div",attrs:{class:"t-flex t-flex-col t-justify-center t-items-center"},children:[r(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%]"}),l(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%]"})]}],{nextOnEnter:!1})}({headlineClass:"!t-text-[#465f87]",subheadlineClass:"!t-text-[#353739]"}),((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 "+(e.lastStepButtonClass||"!t-justify-center"),else:"step-nav !t-justify-between"}}},children:[{$formkit:"button",name:"back_button",onClick:"$setPreviousStep($prevStepFunc($get(form)))",children:"Back",outerClass:{if:"$fns.eq($activeStep, $firstStep()) || $fns.eq($activeStep, $lastStep())",then:"t-hidden sm:t-block",else:""},style:{if:"$fns.eq($activeStep, $firstStep()) || $fns.eq($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:"Click To Start",submitLabel:"Get A Quote",inputClass:"!t-text-black !t-font-extrabold !t-bg-[#ffce51]",firstStepButtonClass:"!t-justify-center",lastStepButtonClass:"!t-justify-center !t-my-0 !t-py-0"}),{if:"$activeStep === $lastStep()",style:{if:"$activeStep !== $lastStep()",then:"display: none;"},children:[{$el:"div",attrs:{class:"!t-text-[0.7rem] t-text-slate-500 t-font-normal !t-leading-tight !t-pt-0 !t-pb-3 !t-max-w-[95%] !t-w-[96%] sm:!t-w-[70%] !t-mx-auto",innerHTML:"$meta.tcpaLanguage"}}]},function(e={}){return{if:"$activeStep === $lastStep()",style:{if:"$activeStep !== $lastStep()",then:"display: none;"},children:[u({attrs:{class:"t-flex t-justify-center t-items-center t-text-sm t-text-gray-500 t-pb-6 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"}}]}]}]}]}();